summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjmbills <jason.m.bills@intel.com>2022-01-18 21:55:05 +0300
committerGitHub <noreply@github.com>2022-01-18 21:55:05 +0300
commit7cf0c1cd0ce835d1833509b7b911e8a97380278b (patch)
tree0b45c3beaa9874facc4ed1a2395a31e42be0135d
parent4dac5fcd49b5e2de1074f1363775ec0f19041072 (diff)
parent1fc0d70f658da30091bcd49f9bf29aecd6b99ba7 (diff)
downloadopenbmc-7cf0c1cd0ce835d1833509b7b911e8a97380278b.tar.xz
Merge pull request #76 from Intel-BMC/update1-0.86
Update
-rw-r--r--.eslintrc.json3
-rw-r--r--meta-alibaba/OWNERS2
-rw-r--r--meta-alibaba/conf/layer.conf7
-rw-r--r--meta-alibaba/meta-comm-oem/recipes-phosphor/packagegroups/packagegroup-alibaba-apps.bb32
-rw-r--r--meta-alibaba/meta-thor/conf/bblayers.conf.sample29
-rw-r--r--meta-alibaba/meta-thor/conf/conf-notes.txt2
-rw-r--r--meta-alibaba/meta-thor/conf/layer.conf9
-rw-r--r--meta-alibaba/meta-thor/conf/local.conf.sample198
-rw-r--r--meta-alibaba/meta-thor/conf/machine/thor.conf14
-rw-r--r--meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed/alibaba.cfg1
-rw-r--r--meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed/aspeed-alibaba-thor.dts292
-rw-r--r--meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed_%.bbappend17
-rw-r--r--meta-amd/meta-ethanolx/conf/machine/ethanolx.conf2
-rw-r--r--meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet.bb30
-rw-r--r--meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet/ampere_add_usbnet_gadget.service13
-rw-r--r--meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet/ampere_add_usbnet_gadget.sh93
-rwxr-xr-xmeta-ampere/meta-common/recipes-phosphor/flash/phosphor-software-manager/firmware_update.sh37
-rw-r--r--meta-ampere/meta-common/recipes-phosphor/ipmi/ampere-ipmi-oem.bb2
-rw-r--r--meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet.bb28
-rw-r--r--meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet/00-bmc-usb0.network (renamed from meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet/00-bmc-usb0.network)0
-rw-r--r--meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet/ampere-usbnet.service12
-rw-r--r--meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet/ampere_usbnet.sh21
-rw-r--r--meta-ampere/meta-jade/conf/machine/mtjade.conf3
-rwxr-xr-xmeta-ampere/meta-jade/recipes-ampere/flash/ampere-flash-utils/ampere_flash_bios.sh19
-rw-r--r--meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update/ampere_update_mac.sh33
-rw-r--r--meta-ampere/meta-jade/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh3
-rw-r--r--meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere_gpio_utils.sh50
-rw-r--r--meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_host_check.sh51
-rw-r--r--meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_power_util.sh191
-rw-r--r--meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/gpio-defs.sh3
-rw-r--r--meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/gpio-lib.sh32
-rw-r--r--meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0001-aspeed-scu-Switch-PWM-pin-to-GPIO-input-mode.patch87
-rw-r--r--meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0002-aspeed-Disable-internal-PD-resistors-for-GPIOs.patch45
-rw-r--r--meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0003-aspeed-support-passing-system-reset-status-to-kernel.patch180
-rw-r--r--meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0004-aspeed-add-gpio-support.patch518
-rw-r--r--meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0005-aspeed-Enable-SPI-master-mode.patch33
-rw-r--r--meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0006-aspeed-support-Mt.Jade-platform-init.patch175
-rw-r--r--meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend10
-rwxr-xr-xmeta-ampere/meta-jade/recipes-phosphor/console/obmc-console/ampere_uartmux_ctrl.sh25
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/console/obmc-console/obmc-console-server-setup.sh4
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/toggle_fault_led.sh10
-rwxr-xr-xmeta-ampere/meta-jade/recipes-phosphor/gpio/id-button/toggle_identify_led.sh20
-rwxr-xr-x[-rw-r--r--]meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/ampere_psu_reset_hotswap.sh14
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend1
-rw-r--r--meta-arm/COPYING.MIT17
-rw-r--r--meta-arm/COPYING.apache-2.0175
-rw-r--r--meta-arm/LICENSE12
-rw-r--r--meta-arm/conf/layer.conf12
-rw-r--r--meta-arm/conf/machine/include/arm.inc17
-rw-r--r--meta-arm/recipes-phosphor/packagegroups/packagegroup-arm-apps.bb28
-rw-r--r--meta-aspeed/conf/machine/evb-ast2500.conf1
-rw-r--r--meta-aspeed/conf/machine/evb-ast2600.conf1
-rw-r--r--meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb2
-rw-r--r--meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc8
-rw-r--r--meta-aspeed/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_2019.04.bb12
-rw-r--r--meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb6
-rw-r--r--meta-asrock/meta-e3c246d4i/conf/machine/e3c246d4i.conf8
-rw-r--r--meta-asrock/meta-e3c246d4i/recipes-x86/chassis/x86-power-control/power-config-host0.json93
-rw-r--r--meta-asrock/meta-e3c246d4i/recipes-x86/chassis/x86-power-control_%.bbappend10
-rw-r--r--meta-bytedance/meta-g220a/conf/machine/g220a.conf2
-rw-r--r--meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0003-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch521
-rw-r--r--meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0004-ARM-dts-aspeed-Add-uart-routing-node.patch48
-rw-r--r--meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed_%.bbappend2
-rw-r--r--meta-bytedance/meta-g220a/recipes-phosphor/console/obmc-console/obmc-console@.service16
-rw-r--r--meta-bytedance/meta-g220a/recipes-phosphor/images/obmc-phosphor-image.bbappend1
-rw-r--r--meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy/0001-Remove-Total_Power-sensor.patch35
-rw-r--r--meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb23
-rw-r--r--meta-evb/meta-evb-enclustra/conf/layer.conf6
-rw-r--r--meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/bblayers.conf.sample37
-rw-r--r--meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/conf-notes.txt2
-rw-r--r--meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf10
-rw-r--r--meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/local.conf.sample20
-rw-r--r--meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/machine/evb-zx3-pm3.conf37
-rw-r--r--meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config-native.bb18
-rw-r--r--meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config/led.yaml37
-rw-r--r--meta-evb/meta-evb-raspberrypi/conf/local.conf.sample1
-rw-r--r--meta-facebook/conf/machine/include/facebook-compute-multihost.inc4
-rw-r--r--meta-facebook/conf/machine/include/facebook-compute-singlehost.inc4
-rw-r--r--meta-facebook/conf/machine/include/facebook-compute.inc4
-rw-r--r--meta-facebook/conf/machine/include/facebook-nohost.inc4
-rw-r--r--meta-facebook/conf/machine/include/facebook-withhost.inc5
-rw-r--r--meta-facebook/conf/machine/include/facebook.inc7
-rw-r--r--meta-facebook/meta-bletchley/conf/machine/bletchley.conf2
-rw-r--r--meta-facebook/meta-tiogapass/conf/machine/tiogapass.conf2
-rw-r--r--meta-facebook/meta-yosemitev2/conf/machine/yosemitev2.conf2
-rw-r--r--meta-facebook/recipes-extended/timezone/tzdata.bbappend3
-rwxr-xr-xmeta-facebook/recipes-fb/fb-powerctrl/files/power-util88
-rwxr-xr-xmeta-facebook/recipes-fb/fb-powerctrl/files/setup_gpio.sh8
-rwxr-xr-xmeta-facebook/recipes-fb/ipmi/fb-ipmi-oem_git.bb2
-rw-r--r--meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb1
-rwxr-xr-xmeta-facebook/recipes-phosphor/flash/phosphor-software-manager/bios-update.sh35
-rw-r--r--meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host1.json52
-rw-r--r--meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host2.json52
-rw-r--r--meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host3.json52
-rw-r--r--meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host4.json52
-rw-r--r--meta-facebook/recipes-x86/chassis/x86-power-control_%.bbappend11
-rw-r--r--meta-fii/meta-kudo/conf/layer.conf1
-rw-r--r--meta-fii/meta-kudo/conf/machine/kudo.conf8
-rw-r--r--meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate10
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb11
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-chassis-powercycle.service8
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-power-cycle.service2
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-reset-ack.service11
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-shutdown-ack.service12
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh138
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb2
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh12
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service2
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh13
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json6
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager/xyz.openbmc_project.State.Chassis.service18
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager/xyz.openbmc_project.State.Host.service16
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend39
-rw-r--r--meta-google/MAINTAINERS1
-rw-r--r--meta-google/OWNERS1
-rw-r--r--meta-google/classes/image_types_hoth.bbclass5
-rw-r--r--meta-google/conf/distro/gbmc.conf3
-rw-r--r--meta-google/conf/layer.conf1
-rw-r--r--meta-google/recipes-connectivity/dhcp/dhcp-relay_%.bbappend4
-rw-r--r--meta-google/recipes-core/os-release/os-release.bbappend3
-rw-r--r--meta-google/recipes-extended/networking/files/mstpd.service2
-rw-r--r--meta-google/recipes-google/console/glome_git.bb (renamed from meta-google/recipes-phosphor/console/glome_git.bb)2
-rw-r--r--meta-google/recipes-google/google-bios-key/google-bios-key.bb26
-rw-r--r--meta-google/recipes-google/google-bios-key/google-bios-key/platforms_bringup.pem14
-rw-r--r--meta-google/recipes-google/google-bios-key/google-bios-key/platforms_secure.pem14
-rw-r--r--meta-google/recipes-google/google-misc/google-misc.inc2
-rw-r--r--meta-google/recipes-google/ipmi/google-ipmi-i2c_git.bb2
-rw-r--r--meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb2
-rw-r--r--meta-google/recipes-google/ipmi/ipmi-fru-sh/lib.sh116
-rw-r--r--meta-google/recipes-google/libcr51sign/libcr51sign_git.bb11
-rw-r--r--meta-google/recipes-google/ncsi/files/-bmc-gbmcbrncsidhcp.netdev5
-rw-r--r--meta-google/recipes-google/ncsi/files/-bmc-gbmcbrncsidhcp.network4
-rw-r--r--meta-google/recipes-google/ncsi/files/-bmc-gbmcncsidhcp.netdev5
-rw-r--r--meta-google/recipes-google/ncsi/files/-bmc-gbmcncsidhcp.network9
-rw-r--r--meta-google/recipes-google/ncsi/files/50-gbmc-ncsi.rules.in7
-rw-r--r--meta-google/recipes-google/ncsi/files/gbmc-ncsi-br-pub-addr.sh.in27
-rw-r--r--meta-google/recipes-google/ncsi/files/gbmc-ncsi-dhcrelay.service.in13
-rw-r--r--meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.service.in15
-rwxr-xr-xmeta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.sh.in133
-rw-r--r--meta-google/recipes-google/ncsi/files/gbmc-ncsi-nft.sh.in9
-rw-r--r--meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb40
-rw-r--r--meta-google/recipes-google/ncsi/ncsid_git.bb3
-rwxr-xr-xmeta-google/recipes-google/networking/files/gbmc-ip-monitor.sh23
-rw-r--r--meta-google/recipes-google/networking/files/gbmc-mac-config.sh.in2
-rw-r--r--meta-google/recipes-google/networking/gbmc-bridge/-bmc-gbmcbr.network.in2
-rw-r--r--meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-from-ra.sh10
-rw-r--r--meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-nft.sh4
-rw-r--r--meta-google/recipes-kernel/linux/files/gbmc.cfg1
-rw-r--r--meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist1
-rw-r--r--meta-google/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend2
-rw-r--r--meta-hpe/MAINTAINERS12
-rw-r--r--meta-hpe/OWNERS4
-rw-r--r--meta-hpe/conf/machine/include/hpe.inc2
-rw-r--r--meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend2
-rw-r--r--meta-hxt/MAINTAINERS47
-rw-r--r--meta-hxt/OWNERS3
-rw-r--r--meta-hxt/conf/layer.conf7
-rw-r--r--meta-hxt/conf/machine/include/hxt.inc3
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample37
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/conf/conf-notes.txt2
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/conf/layer.conf9
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample21
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/conf/machine/stardragon4800-rep2.conf17
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/obmc-console/obmc-console.conf2
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/obmc-console_%.bbappend2
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client.bb10
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client/stardragon4800-rep2-console-client.sh5
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client/stardragon4800-rep2-console-client@.service9
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@12.conf7
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@42.conf5
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@44.conf5
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@46.conf5
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@48.conf5
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@02.conf5
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@04.conf5
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/nvt210@4c.conf7
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1d.conf7
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1f.conf3
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4d.conf3
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4f.conf3
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@10.conf27
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@11.conf27
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/adm1278@12.conf27
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/ds1100@58.conf17
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@20.conf47
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@23.conf47
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/tmp421@1d.conf7
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1c.conf3
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1e.conf7
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@2a.conf3
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@4e.conf3
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/flash-controller@1e631000/spi2@0.conf73
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf30
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend34
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/files/socupdate.sh129
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/socupdate.bb13
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb38
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config/Stardragon4800-rep2.py81
-rw-r--r--meta-ibm/conf/machine/p10bmc.conf3
-rw-r--r--meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg1
-rw-r--r--meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/client.2201.conf2
-rw-r--r--meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf2
-rw-r--r--meta-ibm/recipes-phosphor/console/obmc-console/witherspoon-tacoma/client.2201.conf2
-rw-r--r--meta-ibm/recipes-phosphor/console/obmc-console/witherspoon-tacoma/server.ttyVUART1.conf2
-rw-r--r--meta-ibm/recipes-phosphor/console/obmc-console_%.bbappend4
-rw-r--r--meta-ibm/recipes-phosphor/dbus/ibm-dbus-interfaces_git.bb2
-rw-r--r--meta-ibm/recipes-phosphor/fans/phosphor-fan/witherspoon/phosphor-fan-control@.service6
-rw-r--r--meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend4
-rw-r--r--meta-ibm/recipes-phosphor/interfaces/bmcweb_%.bbappend1
-rw-r--r--meta-ibm/recipes-phosphor/ipmi/phosphor-ipmi-config/mihawk/dcmi_sensors.json2
-rw-r--r--meta-ibm/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend5
-rw-r--r--meta-ibm/recipes-phosphor/ipmi/wistron-ipmi-oem_git.bb2
-rw-r--r--meta-ibm/recipes-phosphor/leds/phosphor-led-manager/obmc-led-set-all-groups-asserted@.service4
-rw-r--r--meta-ibm/recipes-phosphor/logging/ibm-logging_git.bb2
-rw-r--r--meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend4
-rw-r--r--meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend4
-rw-r--r--meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/70-max31785-hwmon.rules1
-rw-r--r--meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/max31785-hwmon-helper@.service9
-rwxr-xr-xmeta-ibm/recipes-phosphor/sensors/phosphor-hwmon/start_max31785_hwmon.sh26
-rw-r--r--meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52.conf (renamed from meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf)0
-rw-r--r--meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf9
-rw-r--r--meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon-tacoma/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@200/max31785@52.conf (renamed from meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon-tacoma/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@200/max31785@52_air.conf)0
-rw-r--r--meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon-tacoma/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@200/max31785@52_water.conf13
-rw-r--r--meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52.conf (renamed from meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf)0
-rw-r--r--meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf13
-rw-r--r--meta-ibm/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend20
-rw-r--r--meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json28
-rw-r--r--meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/ibm_settings.override.yml30
-rw-r--r--meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf9
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml14
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru.yaml184
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend3
-rw-r--r--meta-intel-openbmc/conf/machine/include/intel.inc2
-rw-r--r--meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb2
-rw-r--r--meta-intel-openbmc/meta-common/recipes-core/libpeci/libpeci_git.bb2
-rwxr-xr-xmeta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb2
-rw-r--r--meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb2
-rw-r--r--meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces_git.bb2
-rw-r--r--meta-inventec/MAINTAINERS (renamed from meta-portwell/MAINTAINERS)4
-rw-r--r--meta-inventec/OWNERS3
-rw-r--r--meta-inventec/conf/layer.conf12
-rw-r--r--meta-inventec/conf/machine/include/inventec.inc27
-rw-r--r--meta-inventec/meta-common/conf/layer.conf11
-rw-r--r--meta-inventec/meta-common/recipes-inventec/packagegroups/packagegroup-inventec-apps.bb56
-rw-r--r--meta-inventec/meta-common/recipes-inventec/packagegroups/packagegroup-obmc-apps.bbappend14
-rw-r--r--meta-inventec/meta-lanyang/conf/conf-notes.txt2
-rw-r--r--meta-inventec/meta-lanyang/conf/local.conf.sample21
-rw-r--r--meta-inventec/meta-lanyang/conf/machine/lanyang.conf14
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control.bb29
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service15
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service16
-rwxr-xr-xmeta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/lanyang_avsbus.sh98
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/console/obmc-console/obmc-console.conf4
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/console/obmc-console_%.bbappend1
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/host/p9-host-start.bbappend1
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/image/obmc-phosphor-image.bbappend1
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map-native.bb24
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map/config.yaml938
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties%.bbappend1
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties%/extra-properties.yaml295
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru/obmc/eeproms/system/chassis/motherboard2
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend20
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config-native.bb19
-rwxr-xr-xmeta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config/led.yaml31
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/mboxd/mboxd_%.bbappend1
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json78
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend1
-rwxr-xr-x[-rw-r--r--]meta-inventec/meta-transformers/conf/bblayers.conf.sample (renamed from meta-inventec/meta-lanyang/conf/bblayers.conf.sample)15
-rwxr-xr-xmeta-inventec/meta-transformers/conf/conf-notes.txt2
-rwxr-xr-x[-rw-r--r--]meta-inventec/meta-transformers/conf/layer.conf (renamed from meta-inventec/meta-lanyang/conf/layer.conf)6
-rwxr-xr-x[-rw-r--r--]meta-inventec/meta-transformers/conf/local.conf.sample (renamed from meta-portwell/meta-neptune/conf/local.conf.sample)105
-rw-r--r--meta-inventec/meta-transformers/conf/machine/platform_configs.inc21
-rwxr-xr-xmeta-inventec/meta-transformers/conf/machine/transformers.conf18
-rw-r--r--meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-aspeed-sdk/transformers-ast2600.cfg2
-rw-r--r--meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend5
-rw-r--r--meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_%.bbappend15
-rw-r--r--meta-inventec/meta-transformers/recipes-kernel/linux/linux-aspeed/transformers.cfg318
-rw-r--r--meta-inventec/meta-transformers/recipes-kernel/linux/linux-aspeed_%.bbappend4
-rw-r--r--meta-inventec/meta-transformers/recipes-phosphor/image/obmc-phosphor-image.bbappend13
-rw-r--r--meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init.bb24
-rw-r--r--meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init/transformers-init.service10
-rw-r--r--meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init/transformers-init.sh8
-rw-r--r--meta-lenovo/COPYING.MIT20
-rw-r--r--meta-lenovo/LICENSE14
-rw-r--r--meta-lenovo/MAINTAINERS46
-rw-r--r--meta-lenovo/OWNERS3
-rw-r--r--meta-lenovo/README.md1
-rw-r--r--meta-lenovo/conf/layer.conf18
-rw-r--r--meta-lenovo/conf/machine/include/lenovo.inc14
-rw-r--r--meta-lenovo/meta-common/recipes-lenovo/packagegroups/packagegroup-lenovo-apps.bb58
-rw-r--r--meta-lenovo/meta-hr630/conf/bblayers.conf.sample24
-rw-r--r--meta-lenovo/meta-hr630/conf/conf-notes.txt5
-rw-r--r--meta-lenovo/meta-hr630/conf/distro/openbmc-hr630.conf7
-rw-r--r--meta-lenovo/meta-hr630/conf/layer.conf14
-rw-r--r--meta-lenovo/meta-hr630/conf/local.conf.sample23
-rw-r--r--meta-lenovo/meta-hr630/conf/machine/hr630.conf25
-rw-r--r--meta-lenovo/meta-hr630/recipes-kernel/linux/linux-aspeed/hr630.cfg16
-rw-r--r--meta-lenovo/meta-hr630/recipes-kernel/linux/linux-aspeed_%.bbappend5
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/leds/hr630-led-manager-config-native.bb21
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/leds/hr630-led-manager-config/led.yaml14
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/network/phosphor-network_%.bbappend4
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@40/tmp75@4e.conf8
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp75@4d.conf8
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf33
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf25
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend18
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json25
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend4
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample25
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/conf-notes.txt5
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/distro/openbmc-hr855xg2.conf7
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/layer.conf14
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/local.conf.sample24
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/machine/hr855xg2.conf19
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed/hr855xg2.cfg20
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed_%.bbappend5
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config.bb36
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru-properties.yaml226
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru.yaml766
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-sensors.yaml1739
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-leds.yaml14
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend4
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json11
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json2
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend7
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend9
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend9
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend6
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/network/phosphor-network_%.bbappend4
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@49.conf8
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@4d.conf9
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf40
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf12
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf27
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend15
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json35
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend4
-rw-r--r--meta-microsoft/COPYING.MIT17
-rw-r--r--meta-microsoft/COPYING.apache-2.0175
-rw-r--r--meta-microsoft/LICENSE13
-rw-r--r--meta-microsoft/README.md2
-rwxr-xr-xmeta-microsoft/conf/layer.conf6
-rwxr-xr-xmeta-microsoft/meta-olympus/conf/bblayers.conf.sample31
-rwxr-xr-xmeta-microsoft/meta-olympus/conf/conf-notes.txt2
-rwxr-xr-xmeta-microsoft/meta-olympus/conf/layer.conf12
-rwxr-xr-xmeta-microsoft/meta-olympus/conf/local.conf.sample240
-rwxr-xr-xmeta-microsoft/meta-olympus/conf/machine/olympus.conf12
-rwxr-xr-xmeta-microsoft/meta-olympus/recipes.txt2
-rw-r--r--meta-nuvoton/conf/machine/evb-npcm750.conf1
-rw-r--r--meta-openbmc-mods/conf/machine/include/intel.inc18
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0036-Disable-BMC-MMIO-Decode-on-VGA-SCU-register-bit.patch62
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0037-Enable-I2C-clock-stretching-and-multi-master-support.patch143
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0001-serial-8250-Add-Aspeed-UART-driver-with-DMA-supporte.patch1184
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0002-serial-8250-Fix-RX-DMA-time-out-property.patch29
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0003-serial-8250_aspeed-Make-port-type-fixed.patch57
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0004-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch (renamed from meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0001-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch)125
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/intel-ast2600.cfg4
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed_%.bbappend5
-rw-r--r--meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass9
-rw-r--r--meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass1
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.sh3
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/at-scale-debug_git.bb10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/files/asm/rwonce.h90
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/dropbear/dropbear_%.bbappend22
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/dropbear/files/0001-Enable-UART-mux-setting-before-SOL-activation-via-SS.patch43
-rwxr-xr-xmeta-openbmc-mods/meta-common/recipes-core/dropbear/files/enable-ssh.sh33
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/fw-update/intel-fw-update.bb10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/host-error-monitor/host-error-monitor_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/asm/rwonce.h89
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp_git.bb12
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/libpeci/libpeci_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/os-release/version-vars.inc16
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/safec/safec_3.4.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/systemd/systemd/0001-Modfiy-system.conf-DefaultTimeoutStopSec.patch28
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/systemd/systemd/systemd-time-wait-sync.service36
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/systemd/systemd_%.bbappend17
-rw-r--r--meta-openbmc-mods/meta-common/recipes-devtools/boost-url/boost-url_%.bbappend4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-devtools/mtd-util/mtd-util.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-extended/sdbusplus/sdbusplus_%.bbappend3
-rw-r--r--meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/host-misc-comm-manager/host-misc-comm-manager_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/hsbp/hsbp-manager_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb1
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb20
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-signing-utility-native.bb20
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-peci-Add-debug-printing-to-check-caller-PID.patch43
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0002-soc-aspeed-add-AST2600-A0-specific-fix-into-mbox-dri.patch42
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0003-Fix-libmctp-build-error.patch116
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0004-Add-a-quick-fix-to-resolve-USB-gadget-DMA-issue.patch33
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-Die_CPU-filter-first-zero-from-GetTemp.patch61
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0006-DTS_CPU-filter-first-zero-from-RdPkgConfig-10.patch66
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0007-peci-cputemp-filter-the-first-zero-from-RdPkgConfig-.patch70
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0008-vegman-kernel-add-RTC-driver-for-PCHC620.patch205
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0009-ARM-dts-add-rtc-pch-node-into-aspeed-bmc-intel-ast2x.patch49
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend17
-rw-r--r--meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0003-Adding-channel-specific-privilege-to-network.patch52
-rw-r--r--meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0004-Fix-for-updating-MAC-address-from-RedFish.patch40
-rw-r--r--meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0005-Added-debug-logs-to-isolate-the-coredump-issue-of-RT.patch261
-rw-r--r--meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network_%.bbappend3
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/biosconfig-manager/biosconfig-manager_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager/0007-Add-HSBP-FRU-details-in-json-configuration.patch78
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend3
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/console/obmc-console/obmc-console@.service2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0019-log-redfish-errors-on-all-pfr-image-auth-failures.patch100
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend1
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/host/phosphor-host-postd_git.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0001-Firmware-update-configuration-changes.patch72
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0013-Add-UART-routing-logic-into-host-console-connection-.patch2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0015-Add-state-sensor-messages-to-the-registry.patch14
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0017-Add-msg-registry-for-subscription-related-actions.patch10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0018-bmcweb-Add-BMC-Time-update-log-to-the-registry.patch12
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0019-Add-generic-message-PropertySizeExceeded.patch25
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0021-Add-message-registry-entry-for-FirmwareResiliencyErr.patch84
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0024-Add-count-sensor-type.patch10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0025-Add-Model-CoreCount-to-ProcessorSummary.patch288
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0001-Define-Redfish-interface-Registries-Bios.patch260
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0003-Add-support-to-ResetBios-action.patch64
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0004-Add-support-to-ChangePassword-action.patch39
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0006-Add-fix-for-broken-feature-Pending-Attributes.patch149
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0001-Add-unmerged-changes-for-http-retry-support.patch121
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0001-EventService-Fix-retry-handling-for-http-client.patch546
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0002-EventService-https-client-support.patch166
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch56
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0005-Add-SSE-style-subscription-support-to-eventservice.patch50
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0006-Add-EventService-SSE-filter-support.patch18
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0010-Remove-Terminated-Event-Subscriptions.patch34
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0011-Fix-bmcweb-crash-while-deleting-terminated-subscriptions.patch141
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/README28
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0001-Add-asyncResp-support-during-handleUpgrade.patch202
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0002-Move-privileges-to-separate-entity.patch109
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0003-Add-Support-for-privilege-check-in-handleUpgrade.patch218
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0004-Add-Privileges-to-Websockets.patch140
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0005-Add-Privileges-to-SseSockets.patch63
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0001-Add-support-for-MetricDefinition-scheme.patch489
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0002-Sync-Telmetry-service-with-EventService.patch9
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0003-Switched-bmcweb-to-use-new-telemetry-service-API.patch2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0004-Add-support-for-MetricDefinition-property-in-MetricReport.patch21
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0006-Revert-Remove-LogService-from-TelemetryService.patch22
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0008-Generalize-ReadingType-in-MetricDefinition.patch93
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/README8
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/vm/0001-Revert-Disable-nbd-proxy-from-the-build.patch26
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/vm/0003-Add-ConnectedVia-property-to-virtual-media-item-temp.patch10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend21
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend3
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/network/phosphor-snmp_%.bbappend4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/peci/peci-pcie_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libmctp-intel_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libpldm-intel_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctp-emulator.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctp-wrapper.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpd.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpwplus.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/pmci/nvmemi-daemon.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/pmci/pldmd.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/pmci/pmci-launcher.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/prov-mode-mgr/prov-mode-mgr_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0004-Fan-Tach-Sensor-Threshold-Ignore-Zero.patch18
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0006-CPUSensor-create-RequirediTempSensor-if-defined.patch33
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0007-Add-support-for-the-energy-hwmon-type.patch49
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/special-mode-mgr/special-mode-mgr_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-post-code-manager_git.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/system/callback-manager.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/telemetry/telemetry_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager_%.bbappend6
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog.bb31
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/.clang-format98
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/CMakeLists.txt52
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/cmake-format.json12
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/frb2-watchdog.cpp264
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/0001-Undo-the-unrelated-package-changes-from-the-axios-up.patch125
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/login-company-logo.svg32
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/logo-header.svg31
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue_%.bbappend7
-rw-r--r--meta-openbmc-mods/meta-common/recipes-support/curl/curl_7.79.1.bb (renamed from meta-openbmc-mods/meta-common/recipes-support/curl/curl_7.78.0.bb)2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0002-Add-support-for-ssl-config.patch66
-rw-r--r--meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0003-Add-support-for-tls13-ciphers.patch39
-rw-r--r--meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0004-Handle-empty-CAInfo-in-curl-plugin-correctly.patch35
-rw-r--r--meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit_git.bb7
-rw-r--r--meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control/0001-Extend-VR-Watchdog-timeout.patch16
-rwxr-xr-xmeta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-wht/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bbappend2
-rw-r--r--meta-openbmc-mods/meta-wht/recipes-intel/intel-pfr/obmc-intel-pfr-image-native/rk_cert.pem15
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.2.bb2
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.2.bb (renamed from meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.1.bb)2
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb2
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb2
-rw-r--r--meta-openembedded/meta-gnome/README6
-rw-r--r--meta-openembedded/meta-gnome/recipes-gimp/mypaint/libmypaint_git.bb2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.36.3.bb2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb2
-rw-r--r--meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.18.bb2
-rw-r--r--meta-openembedded/meta-gnome/site/arm-6413
-rw-r--r--meta-openembedded/meta-gnome/site/riscv64-linux16
-rw-r--r--meta-openembedded/meta-gnome/site/x86_64-linux17
-rw-r--r--meta-openembedded/meta-initramfs/README3
-rw-r--r--meta-openembedded/meta-multimedia/README6
-rw-r--r--meta-openembedded/meta-multimedia/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.7.0.bb2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/libuvc/libuvc.bb2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpc_0.33.bb2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.45.bb2
-rw-r--r--meta-openembedded/meta-networking/README9
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/autossh/autossh_1.4g.bb6
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.1.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.9.4.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.12.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.7.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.5.bb)6
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.18.1.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.18.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc4
-rw-r--r--meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.20.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb4
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.14.bb (renamed from meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.0.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.2.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.45.1.bb (renamed from meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.44.0.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ntopng/ntopng_5.0.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.5.3.bb (renamed from meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.4.4.bb)4
-rw-r--r--meta-openembedded/meta-networking/site/endian-big2
-rw-r--r--meta-openembedded/meta-networking/site/endian-little2
-rw-r--r--meta-openembedded/meta-oe/README3
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.6.bb (renamed from meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.5.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.28.bb (renamed from meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.27.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/chipsec/chipsec_git.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch53
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb9
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch57
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/pahole/files/0003-CMakeList.txt-don-t-download-libbpf-source-when-syst.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.22.bb8
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch12
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.18.0.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.17.3.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch65
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20210808.bb (renamed from meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20200910.bb)5
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch56
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb37
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libqb/libqb_2.0.3.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.4.bb (renamed from meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.3.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch126
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc30
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConscript-Correct-the-installation-of-gpsd.hotplug.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.1.bb (renamed from meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.bb)10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.10.2.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cmark/cmark_0.30.2.bb (renamed from meta-openembedded/meta-oe/recipes-support/cmark/cmark_0.30.1.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gd/gd/0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch170
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.3.bb (renamed from meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb)8
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch72
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb42
-rw-r--r--meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch41
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Add-support-of-arch-riscv32.patch47
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-missing-expat-definition.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.0.bb (renamed from meta-openembedded/meta-oe/recipes-support/poco/poco_1.10.1.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.18.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/smarty/smarty_3.1.39.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.1.bb (renamed from meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r89690-5.14-fixes.patch442
-rw-r--r--meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r90497-regops-5.14-fix.patch118
-rw-r--r--meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.16.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-test/bats/bats_1.4.1.bb6
-rw-r--r--meta-openembedded/meta-perl/README2
-rw-r--r--meta-openembedded/meta-python/README2
-rw-r--r--meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python3-pyro4_4.81.bb (renamed from meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python3-pyro4_4.80.bb)3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.10.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.9.3.bb)5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.3.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.3.3.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.2.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.1.2.bb)3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.10.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.1.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.9.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.4.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_2.5.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.4.7.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.40.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.39.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.40.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.39.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.4.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.0.bb)9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_10.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_9.2.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.7.2.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.27.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal_1.4.1.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.3.2.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.3.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-mpmath_1.2.1.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.8.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.7.bb)13
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-parallax_1.0.6.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.9.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.5.18.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.2.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.2.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.8.2.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.3.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.2.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.1.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.1.bb)5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.8.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.2.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.1.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.7.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb2
-rw-r--r--meta-openembedded/meta-webserver/README6
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.49.bb (renamed from meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.48.bb)3
-rw-r--r--meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.1.1.bb (renamed from meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.1.0.bb)4
-rw-r--r--meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service12
-rw-r--r--meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.22.1.bb (renamed from meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb)16
-rw-r--r--meta-openembedded/meta-xfce/README7
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb2
-rw-r--r--meta-openpower/classes/openpower-software-manager-mmc.bbclass3
-rw-r--r--meta-openpower/classes/openpower-software-manager-pldm.bbclass6
-rw-r--r--meta-openpower/conf/distro/include/openpower-hostfw-over-pldm.inc2
-rw-r--r--meta-openpower/conf/machine/include/openpower.inc2
-rw-r--r--meta-openpower/conf/machine/include/p8.inc2
-rw-r--r--meta-openpower/conf/machine/include/p9.inc2
-rw-r--r--meta-openpower/recipes-bsp/ecmd-pdbg/ecmd-pdbg_1.0.bb23
-rw-r--r--meta-openpower/recipes-bsp/ekb/ekb.inc2
-rw-r--r--meta-openpower/recipes-bsp/guard/guard_git.bb6
-rw-r--r--meta-openpower/recipes-bsp/ipl/ipl_git.bb8
-rw-r--r--meta-openpower/recipes-bsp/libekb/libekb_git.bb2
-rw-r--r--meta-openpower/recipes-bsp/pdata/pdata_git.bb2
-rw-r--r--meta-openpower/recipes-phosphor/debug/openpower-debug-collector-systemd-links.inc4
-rw-r--r--meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc2
-rw-r--r--meta-openpower/recipes-phosphor/debug/openpower-debug-collector_git.bb7
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb10
-rw-r--r--meta-openpower/recipes-phosphor/host/op-proc-control-systemd-links.bb4
-rw-r--r--meta-openpower/recipes-phosphor/host/op-proc-control_git.bb28
-rw-r--r--meta-openpower/recipes-phosphor/ipmi/openpower-host-ipmi-flash_git.bb2
-rw-r--r--meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc2
-rw-r--r--meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb8
-rw-r--r--meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc2
-rw-r--r--meta-openpower/recipes-phosphor/logging/openpower-libhei_git.bb2
-rw-r--r--meta-openpower/recipes-phosphor/logging/python3-sbe-log-parsers_git.bb15
-rw-r--r--meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc2
-rw-r--r--meta-openpower/recipes-phosphor/occ/openpower-occ-control_git.bb14
-rw-r--r--meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc2
-rw-r--r--meta-phosphor/aspeed-layer/recipes-bsp/u-boot/files/0006-aspeed-Enable-SPI-master-mode-by-default.patch34
-rw-r--r--meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed.inc4
-rw-r--r--meta-phosphor/classes/dbus-dir.bbclass2
-rw-r--r--meta-phosphor/classes/image_types_phosphor.bbclass2
-rw-r--r--meta-phosphor/classes/image_version.bbclass20
-rw-r--r--meta-phosphor/classes/obmc-phosphor-image.bbclass5
-rw-r--r--meta-phosphor/classes/obmc-phosphor-systemd.bbclass2
-rw-r--r--meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass73
-rw-r--r--meta-phosphor/classes/skeleton-rev.bbclass2
-rw-r--r--meta-phosphor/conf/distro/include/phosphor-aspeed-spi-master-mode.inc2
-rw-r--r--meta-phosphor/conf/distro/include/phosphor-base.inc4
-rw-r--r--meta-phosphor/conf/distro/include/phosphor-defaults.inc2
-rw-r--r--meta-phosphor/conf/machine/include/obmc-evb-common.inc4
-rw-r--r--meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb2
-rw-r--r--meta-phosphor/recipes-core/os-release/os-release.bbappend1
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0001-conf-parse-make-config_parse_many-optionally-save-st.patch379
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0001-journal-network-timesync-fix-segfault-on-32bit-timev.patch66
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0001-socket-util-introduce-CMSG_SPACE_TIMEVAL-TIMESPEC-ma.patch89
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd_249.3.bbappend13
-rw-r--r--meta-phosphor/recipes-devtools/python/pyphosphor_git.bb2
-rw-r--r--meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb2
-rw-r--r--meta-phosphor/recipes-extended/pam/pam-ipmi_git.bb2
-rw-r--r--meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc2
-rw-r--r--meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb2
-rw-r--r--meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb2
-rw-r--r--meta-phosphor/recipes-extended/stdplus/stdplus_git.bb2
-rw-r--r--meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config.bb30
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config/env12
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager/phosphor-certificate-manager@.service11
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb21
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config.bb30
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config/env12
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config.bb30
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config/env9
-rw-r--r--meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-buttons_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-power_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/console/obmc-console_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/dbus-perms.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb1
-rw-r--r--meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh25
-rw-r--r--meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/interfaces/rest-dbus_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/interfaces/slpd-lite_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb5
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-bt_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb72
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ssif_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/libmctp/libmctp_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/pldm/pldm.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/power/phosphor-power.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb6
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/smbios/smbios-mdr_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb3
-rw-r--r--meta-phosphor/recipes-phosphor/system/files/obmc-phosphor-sysd.py29
-rw-r--r--meta-phosphor/recipes-phosphor/system/files/obmc-phosphor-sysd.service10
-rw-r--r--meta-phosphor/recipes-phosphor/system/obmc-phosphor-sysd.bb13
-rw-r--r--meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb7
-rw-r--r--meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb2
-rwxr-xr-xmeta-phosphor/recipes-x86/chassis/x86-power-control_git.bb2
-rw-r--r--meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb2
-rwxr-xr-xmeta-phosphor/scripts/run-repotest227
-rwxr-xr-xmeta-phosphor/scripts/run-repotest.sh86
-rw-r--r--meta-portwell/OWNERS3
-rw-r--r--meta-portwell/meta-neptune/conf/bblayers.conf.sample20
-rw-r--r--meta-portwell/meta-neptune/conf/conf-notes.txt2
-rw-r--r--meta-portwell/meta-neptune/conf/layer.conf11
-rw-r--r--meta-portwell/meta-neptune/conf/machine/neptune.conf21
-rw-r--r--meta-portwell/meta-neptune/recipes-kernel/linux/linux-aspeed/neptune.cfg5
-rw-r--r--meta-portwell/meta-neptune/recipes-kernel/linux/linux-aspeed_%.bbappend2
-rw-r--r--meta-portwell/meta-neptune/recipes.txt2
-rw-r--r--meta-qualcomm/COPYING.MIT17
-rw-r--r--meta-qualcomm/COPYING.apache-2.0175
-rw-r--r--meta-qualcomm/LICENSE12
-rw-r--r--meta-qualcomm/conf/layer.conf7
-rw-r--r--meta-qualcomm/conf/machine/include/qualcomm.inc3
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/conf/bblayers.conf.sample37
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/conf/conf-notes.txt2
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/conf/layer.conf9
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/conf/local.conf.sample21
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/conf/machine/centriq2400-rep.conf17
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-kernel/linux/linux-aspeed/centriq2400-rep.cfg25
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-kernel/linux/linux-aspeed_%.bbappend2
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround.bb31
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir-add@.service16
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir-remove@.service13
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir38163_workaround.sh19
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client.bb11
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client/centriq-2400rep-console-client.sh7
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client/centriq-2400rep-console-client@.service9
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/obmc-console/obmc-console.conf2
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/obmc-console_%.bbappend2
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config-native.bb18
-rwxr-xr-xmeta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config/led.yaml15
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@12.conf7
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@42.conf5
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@44.conf5
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@46.conf5
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@48.conf5
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@02.conf5
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@04.conf5
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/nvt210@4c.conf7
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1d.conf7
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1f.conf3
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4d.conf3
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4f.conf3
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@10.conf27
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@11.conf27
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/adm1278@12.conf27
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/ds1100@58.conf17
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@20.conf47
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@23.conf47
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/tmp421@1d.conf7
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1c.conf3
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1e.conf7
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@2a.conf3
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@4e.conf3
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/flash-controller@1e631000/spi2@0.conf73
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf30
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend34
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/files/socupdate.sh129
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/socupdate.bb14
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config.bb38
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config/Centriq2400-rep.py81
-rw-r--r--meta-quanta/conf/layer.conf1
-rw-r--r--meta-quanta/meta-gbs/conf/layer.conf1
-rw-r--r--meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/gbs.cfg5
-rw-r--r--meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend3
-rw-r--r--meta-quanta/meta-gsj/conf/layer.conf1
-rw-r--r--meta-quanta/meta-gsj/conf/machine/gsj.conf2
-rw-r--r--meta-quanta/meta-olympus-nuvoton/conf/machine/olympus-nuvoton.conf2
-rw-r--r--meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf2
-rw-r--r--meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb8
-rw-r--r--meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb8
-rw-r--r--meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc6
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb6
-rw-r--r--meta-security/classes/dm-verity-img.bbclass5
-rw-r--r--meta-security/meta-parsec/recipes-parsec/parsec-service/files/cryptoki.patch18
-rw-r--r--meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.inc147
-rw-r--r--meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb (renamed from meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.bb)15
-rw-r--r--meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.inc246
-rw-r--r--meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.inc127
-rw-r--r--meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.4.0.bb (renamed from meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.bb)3
-rw-r--r--meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.4.0.inc216
-rw-r--r--meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.7.bb (renamed from meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.2.bb)2
-rw-r--r--meta-security/meta-tpm/recipes-tpm/tpm-quote-tools/tpm-quote-tools_1.0.4.bb7
-rw-r--r--meta-security/meta-tpm/recipes-tpm/trousers/trousers_git.bb2
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1661.bb2
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb2
-rw-r--r--meta-security/recipes-core/initrdscripts/initramfs-framework-dm/dmverity3
-rw-r--r--meta-security/recipes-scanners/checksec/checksec_2.4.0.bb2
-rw-r--r--meta-security/recipes-scanners/clamav/clamav_0.104.0.bb9
-rw-r--r--meta-security/recipes-scanners/rootkits/chkrootkit_0.55.bb (renamed from meta-security/recipes-scanners/rootkits/chkrootkit_0.53.bb)3
-rw-r--r--meta-security/recipes-security/cryfs/cryfs_0.10.3.bb10
-rw-r--r--meta-security/recipes-security/fscrypt/fscrypt_1.0.0.bb49
-rw-r--r--meta-security/recipes-security/isic/isic_0.07.bb2
-rw-r--r--meta-security/recipes-security/opendnssec/opendnssec_2.1.9.bb2
-rw-r--r--meta-security/recipes-security/sssd/files/CVE-2021-3621.patch288
-rw-r--r--meta-security/recipes-security/sssd/sssd_2.5.2.bb (renamed from meta-security/recipes-security/sssd/sssd_2.5.1.bb)3
-rw-r--r--meta-supermicro/conf/layer.conf8
-rw-r--r--meta-supermicro/conf/machine/include/supermicro.inc12
-rw-r--r--meta-supermicro/meta-common/recipes-extended/pam/libpam/pam.d/common-password30
-rw-r--r--meta-supermicro/meta-common/recipes-extended/pam/libpam_%.bbappend4
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service9
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh10
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf2
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf79
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate22
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend24
-rw-r--r--meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed/smci.cfg83
-rw-r--r--meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend3
-rw-r--r--meta-supermicro/meta-common/recipes-supermicro/packagegroups/packagegroup-supermicro-apps.bb27
-rw-r--r--meta-supermicro/meta-x11spi/conf/layer.conf4
-rw-r--r--meta-supermicro/meta-x11spi/conf/local.conf.sample95
-rw-r--r--meta-supermicro/meta-x11spi/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json42
-rw-r--r--meta-supermicro/meta-x11spi/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend1
-rw-r--r--meta-xilinx/COPYING.MIT17
-rw-r--r--meta-xilinx/README.md4
-rw-r--r--meta-xilinx/meta-microblaze/conf/layer.conf17
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0001-Patch-microblaze-Add-config-microblaze.mt-for-target.patch91
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0002-Patch-microblaze-Modified-_exceptional_handler.patch25
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0003-LOCAL-Add-missing-declarations-for-xil_printf-to-std.patch28
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0004-Local-deleting-the-xil_printf.c-file-as-now-it-part-.patch304
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0005-Local-deleting-the-xil_printf.o-from-MAKEFILE.patch25
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0006-MB-X-intial-commit.patch194
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0007-Patch-Microblaze-newlib-port-for-microblaze-m64-flag.patch1137
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0008-fixing-the-bug-in-crt-files-added-addlik-instead-of-.patch102
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0009-Patch-MicroBlaze-Added-MB-64-support-to-strcmp-strcp.patch230
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0010-Removing-the-Assembly-implementation-of-64bit-string.patch334
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0011-Fixed-the-bug-in-crtinit.s-for-MB-64.patch25
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/files/0012-libc-machine-microblaze-strcmp.c-Fix-missing-end-of-.patch26
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/libgloss_4.1.%.bbappend6
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/microblaze-newlib.inc16
-rw-r--r--meta-xilinx/meta-microblaze/recipes-core/newlib/newlib_4.1.%.bbappend7
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend4
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-cross_%.bbappend4
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc64
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch65
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0002-Add-mlittle-endian-and-mbig-endian-flags.patch64
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0003-Disable-the-warning-message-for-eh_frame_hdr.patch31
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0004-LOCAL-Fix-relaxation-of-assembler-resolved-reference.patch304
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0005-upstream-change-to-garbage-collection-sweep-causes-m.patch39
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0006-Fix-bug-in-TLSTPREL-Relocation.patch33
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0007-Added-Address-extension-instructions.patch101
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0008-fixing-the-MAX_OPCODES-to-correct-value.patch25
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0009-Add-new-bit-field-instructions.patch237
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0010-fixing-the-imm-bug.patch27
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0011-Patch-Microblaze-fixed-bug-in-GCC-so-that-It-will-su.patch33
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0012-fixing-the-constant-range-check-issue.patch26
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0013-Patch-Microblaze-Compiler-will-give-error-messages-i.patch36
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0014-intial-commit-of-MB-64-bit.patch4760
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0015-MB-X-initial-commit.patch684
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0016-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch36
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0017-Added-relocations-for-MB-X.patch346
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0018-Fixed-MB-x-relocation-issues.patch373
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0019-Fixing-the-branch-related-issues.patch28
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0020-Fixed-address-computation-issues-with-64bit-address.patch223
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0021-Adding-new-relocation-to-support-64bit-rodata.patch166
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0022-fixing-the-.bss-relocation-issue.patch76
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0023-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch44
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0024-Revert-ld-Remove-unused-expression-state.patch76
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0025-fixing-the-long-long-long-mingw-toolchain-issue.patch57
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0026-Added-support-to-new-arithmetic-single-register-inst.patch364
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0027-Patch-MicroBlaze-double-imml-generation-for-64-bit-v.patch551
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0028-Fixed-bug-in-generation-of-IMML-instruction-for-the.patch86
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0029-Patch-MicroBlaze-m64-This-patch-will-remove-imml-0-a.patch38
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0030-Patch-MicroBlaze-improper-address-mapping-of-PROVIDE.patch39
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0031-gas-revert-moving-of-md_pseudo_table-from-const.patch83
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0032-ld-emulparams-elf64microblaze-Fix-emulation-generati.patch43
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch435
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0034-Initial-port-of-core-reading-support-Added-support-f.patch388
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0035-Fix-debug-message-when-register-is-unavailable.patch40
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0036-revert-master-rebase-changes-to-gdbserver.patch31
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0037-revert-master-rebase-changes-to-gdbserver-previous-c.patch36
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0038-microblaze-Add-build_gdbserver-yes-to-top-level-conf.patch32
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0039-Initial-support-for-native-gdb.patch495
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0040-Fixing-the-issues-related-to-GDB-7.12-added-all-the-.patch309
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0041-Adding-64-bit-MB-support-Added-new-architecture-to-M.patch1008
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0042-porting-GDB-for-linux.patch155
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0043-Binutils-security-check-is-causing-build-error-for-w.patch41
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0044-Correcting-the-register-names-from-slr-shr-to-rslr-r.patch146
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0045-Removing-the-header-gdb_assert.h-from-MB-target-file.patch24
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0046-bfd-cpu-microblaze.c-Enhance-disassembler.patch39
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0047-bfd-elf64-microblaze.c-Fix-build-failures.patch87
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0048-bfd-elf-microblaze.c-Remove-obsolete-entries.patch75
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0049-bfd-elf64-microblaze.c-Resolve-various-compiler-warn.patch45
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0050-opcodes-microblaze-dis.c-Fix-compile-warnings.patch37
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch99
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0052-sim-Allow-microblaze-architecture.patch40
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0053-gdb-Fix-microblaze-target-compilation.patch288
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils_%.bbappend4
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch35
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch31
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch35
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch35
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch43
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch67
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch28
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0008-Patch-microblaze-Fix-atomic-side-effects.patch68
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch40
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch33
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch48
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch26
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0013-Patch-microblaze-Removed-moddi3-routinue.patch157
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch101
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0015-Patch-microblaze-Add-optimized-lshrsi3.patch81
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0016-Patch-microblaze-Add-cbranchsi4_reg.patch147
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch58
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch63
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch72
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch178
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch58
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch36
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch45
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0024-Patch-microblaze-Add-new-bit-field-instructions.patch162
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch247
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0026-Fixing-the-issue-with-the-builtin_alloc.patch44
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch84
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch38
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch845
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0030-Intial-commit-for-64bit-MB-sources.patch2459
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0031-re-arrangement-of-the-compare-branches.patch268
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch28
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch73
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0034-Fixed-issues-like.patch70
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0035-Fixed-below-issues.patch307
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0036-Added-double-arith-instructions.patch135
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch37
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch256
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch25
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0040-fixing-the-typo-errors-in-umodsi3-file.patch29
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0041-fixing-the-32bit-LTO-related-issue9-1014024.patch68
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch25
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch29
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0044-fixing-the-long-long-long-mingw-toolchain-issue.patch59
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch47
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch87
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch466
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0048-Author-Nagaraju-nmekala-xilinx.com.patch479
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0049-Added-new-MB-64-single-register-arithmetic-instructi.patch107
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch44
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch86
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch45
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch198
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/microblaze-mulitlib-hack.patch58
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-source_10.%.bbappend59
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-9.2.inc21
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-common.inc62
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian.inc42
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend4
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian_9.2.bb3
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross.inc30
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross_%.bbappend4
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross_9.2.bb2
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc58
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb.inc14
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch65
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch25
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch32
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0003-Disable-the-warning-message-for-eh_frame_hdr.patch28
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch49
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch911
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0004-LOCAL-Fix-relaxation-of-assembler-resolved-reference.patch261
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch47
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0005-upstream-change-to-garbage-collection-sweep-causes-m.patch36
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0006-Fix-bug-in-TLSTPREL-Relocation.patch30
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch33
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0007-Added-Address-extension-instructions.patch97
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch47
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch27
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0008-fixing-the-MAX_OPCODES-to-correct-value.patch22
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0009-Add-new-bit-field-instructions.patch144
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch45
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch46
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0010-fixing-the-imm-bug.patch24
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch39
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0014-intial-commit-of-MB-64-bit.patch4277
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0015-MB-X-initial-commit.patch359
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0016-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch33
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0017-Added-relocations-for-MB-X.patch113
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0018-Fixed-MB-x-relocation-issues.patch114
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0019-Fixing-the-branch-related-issues.patch25
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0020-Fixed-address-computation-issues-with-64bit-address.patch98
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0021-Adding-new-relocation-to-support-64bit-rodata.patch67
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0022-fixing-the-.bss-relocation-issue.patch73
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0023-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch41
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0025-fixing-the-long-long-long-mingw-toolchain-issue.patch25
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0026-Added-support-to-new-arithmetic-single-register-inst.patch169
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0027-Patch-MicroBlaze-double-imml-generation-for-64-bit-v.patch26
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0032-ld-emulparams-elf64microblaze-Fix-emulation-generati.patch40
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch429
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0034-Initial-port-of-core-reading-support-Added-support-f.patch385
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0035-Fix-debug-message-when-register-is-unavailable.patch37
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0036-revert-master-rebase-changes-to-gdbserver.patch28
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0037-revert-master-rebase-changes-to-gdbserver-previous-c.patch30
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0038-microblaze-Add-build_gdbserver-yes-to-top-level-conf.patch29
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0039-Initial-support-for-native-gdb.patch490
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0040-Fixing-the-issues-related-to-GDB-7.12-added-all-the-.patch306
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0041-Adding-64-bit-MB-support-Added-new-architecture-to-M.patch953
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0042-porting-GDB-for-linux.patch151
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0043-Binutils-security-check-is-causing-build-error-for-w.patch32
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0044-Correcting-the-register-names-from-slr-shr-to-rslr-r.patch143
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0045-Removing-the-header-gdb_assert.h-from-MB-target-file.patch21
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0046-bfd-cpu-microblaze.c-Enhance-disassembler.patch36
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0047-bfd-elf64-microblaze.c-Fix-build-failures.patch84
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0048-bfd-elf-microblaze.c-Remove-obsolete-entries.patch72
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0049-bfd-elf64-microblaze.c-Resolve-various-compiler-warn.patch42
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0050-opcodes-microblaze-dis.c-Fix-compile-warnings.patch34
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch96
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0052-sim-Allow-microblaze-architecture.patch37
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0053-gdb-Fix-microblaze-target-compilation.patch288
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb_%.bbappend4
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb_9.2.bb28
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-microblaze.inc2
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-native_%.bbappend1
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-system-native_%.bbappend1
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu_%.bbappend1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/COPYING.MIT17
-rw-r--r--meta-xilinx/meta-xilinx-bsp/README.booting.md266
-rw-r--r--meta-xilinx/meta-xilinx-bsp/README.building.md100
-rw-r--r--meta-xilinx/meta-xilinx-bsp/README.md88
-rw-r--r--meta-xilinx/meta-xilinx-bsp/README.qemu.md25
-rw-r--r--meta-xilinx/meta-xilinx-bsp/classes/image-types-xilinx-qemu.bbclass10
-rw-r--r--meta-xilinx/meta-xilinx-bsp/classes/image-wic-utils.bbclass51
-rw-r--r--meta-xilinx/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/classes/qemuboot-xilinx.bbclass27
-rw-r--r--meta-xilinx/meta-xilinx-bsp/classes/xilinx-fetch-restricted.bbclass35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/classes/xilinx-platform-init.bbclass14
-rw-r--r--meta-xilinx/meta-xilinx-bsp/classes/xilinx-testimage.bbclass11
-rw-r--r--meta-xilinx/meta-xilinx-bsp/classes/xlnx-standalone.bbclass16
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/0001-local.conf.sample-PMU_ROM-to-use-pmu-rom.elf-from-pr.patch27
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/bblayers.conf.sample35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/layer.conf18
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/local.conf.sample235
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/aarch32-tc.conf220
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/aarch64-tc.conf29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf264
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa53-zynqmp.conf3
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa72-versal.conf3
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa9-zynq.conf1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-versal.conf3
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-zynqmp.conf3
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf7
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc79
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc55
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc14
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-versal.inc19
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynq.inc24
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynqmp.inc28
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-cortexrm.inc21
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/xilinx-board.inc12
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/xilinx-soc-family.inc10
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf22
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-plm.conf10
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-pmu.conf10
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-tc.conf541
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf17
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf17
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf31
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf27
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf40
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf23
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/system-zcu102.conf61
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/ultra96-zynqmp.conf38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/v350-versal.conf29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/vc-p-a2197-00-versal.conf72
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/vck-sc-zynqmp.conf32
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/vck190-versal.conf78
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/vck5000-versal.conf29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/versal-generic.conf83
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/versal-mb.conf10
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/vmk180-versal.conf70
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf58
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf58
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf74
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf36
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1275-zynqmp.conf35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf34
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf40
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf41
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf84
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/multiconfig/fsblmc.conf8
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/multiconfig/pmumc.conf8
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc97
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2020.2.bb6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/bootgen/bootgen_1.0.bb31
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb41
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/kc705-microblazeel.dts56
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/pl.dtsi445
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/system-conf.dtsi43
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/picozed-zynq7.dts98
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/qemu-zynq7.dts85
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pcw.dtsi63
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pl.dtsi215
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.dts184
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zynq-7000-qspi-dummy.dtsi4
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init.bb38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init/picozed-zynq7/ps7_init_gpl.c13191
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init/picozed-zynq7/ps7_init_gpl.h130
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/pmu-firmware/pmu-rom_2018.1.bb41
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2020.2.bb48
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/files/0001-Remove-redundant-YYLOC-global-declaration.patch28
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc70
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx-dev.bb28
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc20
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2020.2.bb23
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb96
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi.versal1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.versal3
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq7
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp9
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe4
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-uenv.bb110
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot_%.bbappend11
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-core/glibc/glibc-locale_%.bbappend4
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0001-Add-enable-disable-udev.patch31
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch93
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/flash_stripe.c176
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch68
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/flashstrip_1.0.bb25
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees.inc40
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees/0001-Makefile-Use-python3-instead-of-python.patch30
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2020.2.bb4
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-native.inc11
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-targets.inc28
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb30
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-multiarch-helper-native_1.0.bb20
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc11
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.2.bb6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2020.2.bb17
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc44
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2020.2.bb16
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu.inc197
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch141
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch31
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-target-mips-Increase-number-of-TLB-entries-on-the-34.patch59
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch34
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch28
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch241
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch44
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch137
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch91
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-24352.patch52
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-25624.patch101
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-25723.patch51
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-28916.patch49
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-29129-CVE-2020-29130.patch64
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/find_datadir.patch39
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/powerpc_rom.binbin4096 -> 0 bytes
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/run-ptest10
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/usb-fix-setup_len-init.patch89
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/run-postinsts/run-postinsts_%.bbappend7
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/cairo/cairo_%.bbappend9
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/egl.pc12
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/gbm.pc12
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1.pc12
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1_cm.pc12
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv2.pc12
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb201
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/libglu/libglu_%.bbappend1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali.bb53
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch47
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch52
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch47
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch90
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch31
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch153
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch34
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch156
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch17
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch47
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch146
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch32
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch36
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mesa/mesa-demos_%.bbappend9
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mesa/mesa-gl_%.bbappend3
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/wayland/weston_%.bbappend9
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/weston.ini6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/weston-init%.bbappend7
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/weston_%.bbappend3
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-armsoc_driver.c-Bypass-the-exa-layer-to-free-the-roo.patch33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-src-drmmode_xilinx-Add-the-dumb-gem-support-for-Xili.patch141
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend5
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config/zynqmp/xorg.conf27
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend1
-rwxr-xr-xmeta-xilinx/meta-xilinx-bsp/recipes-kernel/dp/kernel-module-dp_git.bb26
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/dtc/python3-dtc_1.5.1.bb27
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/hdmi/kernel-module-hdmi_git.bb26
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux-firmware/linux-firmware_%.bbappend29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-microblaze.inc5
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx-dev.bb18
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc65
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-libtraceevent-Fix-build-with-binutils-2.35.patch39
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-bench-Share-some-global-variables-to-fix-build-.patch241
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch70
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-tests-bp_account-Make-global-variable-static.patch44
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch51
-rwxr-xr-xmeta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/perf-fix-build-with-binutils.patch60
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.2.bb15
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-tiny_%.bbappend1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-xilinx.inc21
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto_%.bbappend1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/lopper/lopper.bb42
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend9
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb30
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb50
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb42
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb39
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-support/libgpg-error/files/lock-obj-pub.microblazeel-unknown-linux-gnu.h23
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-support/libgpg-error/libgpg-error_%.bbappend8
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-headers/opencl-headers_%.bbappend1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb56
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-xrt/zocl/zocl_git.bb25
-rw-r--r--meta-xilinx/meta-xilinx-contrib/COPYING.MIT17
-rw-r--r--meta-xilinx/meta-xilinx-contrib/README.md43
-rw-r--r--meta-xilinx/meta-xilinx-contrib/conf/layer.conf17
-rw-r--r--meta-xilinx/meta-xilinx-contrib/conf/machine/minized-zynq7.conf27
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-bsp/device-tree/device-tree.bbappend6
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-bsp/device-tree/files/minized-zynq7.dts254
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-bsp/reference-design/zybo-linux-bd.bb66
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux-firmware/linux-firmware_%.bbappend41
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch305
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch607
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch54
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0004-minized-wifi-bluetooth.cfg33
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2020.2.bbappend9
-rw-r--r--meta-xilinx/meta-xilinx-pynq/COPYING.MIT17
-rw-r--r--meta-xilinx/meta-xilinx-pynq/README.md26
-rw-r--r--meta-xilinx/meta-xilinx-pynq/classes/xilinx-pynq.bbclass38
-rw-r--r--meta-xilinx/meta-xilinx-pynq/conf/layer.conf15
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc53
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch25
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch35
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch25
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/pl_server_init109
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.5.1.bb3
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/libcma/libcma_1.0.bb33
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/LICENSE23
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/generic-uio.conf1
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq.dtsi16
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq_symbols.dtsi15
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp.dtsi17
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp_symbols.dtsi15
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb45
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn/0001-BNN-Notebooks-changed-default-picture-location.patch3577
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn/0001-Update-default-notebooks-path-from-home-xilinx-to-us.patch68
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn_1.0.bb58
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld/0001-fix-repo_board_folder-variable.patch33
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld/0001-resizer_PL-notebooks-for-ZCU104-and-Ultra96-changed.patch61
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld_1.0.bb40
-rw-r--r--meta-xilinx/meta-xilinx-standalone/README.md62
-rw-r--r--meta-xilinx/meta-xilinx-standalone/classes/esw.bbclass106
-rw-r--r--meta-xilinx/meta-xilinx-standalone/classes/esw_examples.bbclass27
-rw-r--r--meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-freertos.conf9
-rw-r--r--meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone-nolto.conf1
-rw-r--r--meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf14
-rw-r--r--meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc47
-rw-r--r--meta-xilinx/meta-xilinx-standalone/conf/layer.conf19
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb33
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb41
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb41
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb41
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb41
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb41
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/hello-world/hello-world_git.bb35
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb41
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb41
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb41
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb41
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb41
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/pmufw/pmufw_git.bb30
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-applications/zynqmp-fsbl/zynqmp-fsbl_git.bb40
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-bsp/device-tree/device-tree.bbappend28
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/meta/gnu-toolchain-canadian.bb25
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend12
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/libgloss_4.%.bbappend12
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/newlib_4.%.bbappend20
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend14
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb13
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend1
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross_%.bbappend1
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-xilinx-standalone.inc19
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-10/additional-microblaze-multilibs.patch86
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-configure-xilinx-standalone.inc7
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend20
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross_%.bbappend6
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend74
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_10.%.bbappend15
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc31
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend29
-rwxr-xr-xmeta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert-head.sh16
-rwxr-xr-xmeta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert.sh60
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend1
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/axicdma_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/axidma_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/axiethernet_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/axivdma_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/can_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/canfd_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/canps_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/clockps_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/csudma_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/devcfg_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/dmaps_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/emaclite_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/emacps_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/gpio_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/gpiops_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/ipipsu_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/llfifo_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/mbox_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/mcdma_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/mutex_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/nandpsu_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/ospipsv_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/qspips_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/qspipsu_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/resetps_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/rtcpsu_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/scugic_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/sdps_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/spips_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/sysmon_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/tmrctr_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/ttcps_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/uartlite_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/uartps_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/usbpsu_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/wdtps_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/xadcps_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/xxvethernet_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-drivers/zdma_git.bb3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend1
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/freertos10-xilinx_git.bb12
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/libxil_git.bb27
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/lwip_git.bb23
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilffs_git.bb10
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilfpga_git.bb7
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilloader_git.bb6
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilmailbox_git.bb6
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilmem_git.bb6
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpdi_git.bb6
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilplmi_git.bb6
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpm_git.bb7
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpuf_git.bb6
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilsecure_git.bb6
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilsem_git.bb6
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilskey_git.bb6
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilstandalone_git.bb12
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-libraries/xiltimer_git.bb12
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-standalone/plm/plm-standalone_git.bb32
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-standalone/plm/plm_2020.2.bb69
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware/fix-zynqmp-assert.patch68
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2020.2.bb67
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-standalone/psm-firmware/psm-firmware_2020.2.bb69
-rw-r--r--meta-xilinx/meta-xilinx-standalone/scripts/microblaze_dtb.py170
-rw-r--r--meta-yadro/meta-nicole/conf/local.conf.sample6
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/images/obmc-phosphor-image.bbappend1
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/users/admin-account.bb38
-rw-r--r--meta-yadro/recipes-yadro/cli/obmc-yadro-backup_git.bb2
-rw-r--r--meta-yadro/recipes-yadro/cli/obmc-yadro-fwupdate_git.bb2
-rw-r--r--meta-yadro/recipes-yadro/cli/obmc-yadro-lsinventory_git.bb2
-rw-r--r--meta-yadro/recipes-yadro/cli/obmc-yadro-lssensors_git.bb2
-rw-r--r--meta-yadro/recipes-yadro/cli/obmc-yadro-netconfig_git.bb2
-rw-r--r--openbmc-env18
-rwxr-xr-xpoky/bitbake/bin/bitbake2
-rwxr-xr-xpoky/bitbake/bin/bitbake-diffsigs1
-rwxr-xr-xpoky/bitbake/bin/bitbake-getvar2
-rwxr-xr-xpoky/bitbake/bin/bitbake-hashclient2
-rwxr-xr-xpoky/bitbake/bin/bitbake-hashserv2
-rwxr-xr-xpoky/bitbake/bin/bitbake-layers2
-rwxr-xr-xpoky/bitbake/bin/bitbake-prserv2
-rwxr-xr-xpoky/bitbake/bin/bitbake-selftest2
-rwxr-xr-xpoky/bitbake/bin/bitbake-server1
-rwxr-xr-xpoky/bitbake/bin/bitbake-worker19
-rwxr-xr-xpoky/bitbake/bin/git-make-shallow2
-rwxr-xr-xpoky/bitbake/bin/toaster-eventreplay2
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst7
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst7
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst2
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst6
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst4
-rw-r--r--poky/bitbake/lib/bb/build.py82
-rw-r--r--poky/bitbake/lib/bb/cache.py3
-rw-r--r--poky/bitbake/lib/bb/command.py10
-rw-r--r--poky/bitbake/lib/bb/cooker.py12
-rw-r--r--poky/bitbake/lib/bb/cookerdata.py7
-rw-r--r--poky/bitbake/lib/bb/data.py2
-rw-r--r--poky/bitbake/lib/bb/data_smart.py18
-rw-r--r--poky/bitbake/lib/bb/fetch2/__init__.py10
-rw-r--r--poky/bitbake/lib/bb/fetch2/git.py21
-rw-r--r--poky/bitbake/lib/bb/fetch2/svn.py10
-rw-r--r--poky/bitbake/lib/bb/fetch2/wget.py2
-rwxr-xr-xpoky/bitbake/lib/bb/main.py7
-rw-r--r--poky/bitbake/lib/bb/parse/parse_py/BBHandler.py3
-rw-r--r--poky/bitbake/lib/bb/persist_data.py55
-rw-r--r--poky/bitbake/lib/bb/process.py3
-rw-r--r--poky/bitbake/lib/bb/runqueue.py52
-rw-r--r--poky/bitbake/lib/bb/server/process.py2
-rw-r--r--poky/bitbake/lib/bb/siggen.py14
-rw-r--r--poky/bitbake/lib/bb/tests/fetch.py61
-rw-r--r--poky/bitbake/lib/bb/ui/knotty.py2
-rw-r--r--poky/bitbake/lib/bb/ui/uihelper.py4
-rw-r--r--poky/bitbake/lib/bblayers/query.py6
-rw-r--r--poky/bitbake/lib/layerindexlib/__init__.py1
-rw-r--r--poky/documentation/README27
-rw-r--r--poky/documentation/boilerplate.rst2
-rw-r--r--poky/documentation/bsp-guide/history.rst73
-rw-r--r--poky/documentation/bsp-guide/index.rst1
-rw-r--r--poky/documentation/dev-manual/common-tasks.rst122
-rw-r--r--poky/documentation/dev-manual/history.rst67
-rw-r--r--poky/documentation/dev-manual/index.rst1
-rw-r--r--poky/documentation/dev-manual/intro.rst24
-rw-r--r--poky/documentation/dev-manual/start.rst2
-rw-r--r--poky/documentation/kernel-dev/history.rst58
-rw-r--r--poky/documentation/kernel-dev/index.rst1
-rw-r--r--poky/documentation/overview-manual/concepts.rst4
-rw-r--r--poky/documentation/overview-manual/history.rst28
-rw-r--r--poky/documentation/overview-manual/index.rst1
-rw-r--r--poky/documentation/poky.yaml8
-rw-r--r--poky/documentation/profile-manual/history.rst58
-rw-r--r--poky/documentation/profile-manual/index.rst1
-rw-r--r--poky/documentation/ref-manual/classes.rst51
-rw-r--r--poky/documentation/ref-manual/devtool-reference.rst73
-rw-r--r--poky/documentation/ref-manual/history.rst74
-rw-r--r--poky/documentation/ref-manual/index.rst1
-rw-r--r--poky/documentation/ref-manual/qa-checks.rst4
-rw-r--r--poky/documentation/ref-manual/resources.rst13
-rw-r--r--poky/documentation/ref-manual/system-requirements.rst5
-rw-r--r--poky/documentation/ref-manual/tasks.rst31
-rw-r--r--poky/documentation/ref-manual/terms.rst8
-rw-r--r--poky/documentation/ref-manual/variables.rst117
-rw-r--r--poky/documentation/releases.rst2
-rw-r--r--poky/documentation/sdk-manual/history.rst40
-rw-r--r--poky/documentation/sdk-manual/index.rst1
-rw-r--r--poky/documentation/sphinx-static/switchers.js4
-rw-r--r--poky/documentation/test-manual/history.rst16
-rw-r--r--poky/documentation/test-manual/index.rst1
-rw-r--r--poky/documentation/toaster-manual/history.rst46
-rw-r--r--poky/documentation/toaster-manual/index.rst1
-rw-r--r--poky/meta-poky/conf/distro/poky-tiny.conf2
-rw-r--r--poky/meta-poky/conf/distro/poky.conf4
-rw-r--r--poky/meta-poky/conf/local.conf.sample6
-rw-r--r--poky/meta-selftest/recipes-devtools/python/python-async-test.inc2
-rw-r--r--poky/meta-selftest/recipes-test/logging-test/logging-test.bb24
-rw-r--r--poky/meta-selftest/wic/test_efi_plugin.wks6
-rw-r--r--poky/meta-skeleton/recipes-kernel/hello-mod/files/hello.c10
-rw-r--r--poky/meta-yocto-bsp/README.hardware.md4
-rw-r--r--poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf2
-rw-r--r--poky/meta-yocto-bsp/conf/machine/edgerouter.conf2
-rw-r--r--poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc2
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend16
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.13.bbappend23
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.14.bbappend23
-rw-r--r--poky/meta/classes/autotools.bbclass5
-rw-r--r--poky/meta/classes/cpan-base.bbclass2
-rw-r--r--poky/meta/classes/create-spdx.bbclass948
-rw-r--r--poky/meta/classes/cross-canadian.bbclass2
-rw-r--r--poky/meta/classes/cross.bbclass4
-rw-r--r--poky/meta/classes/externalsrc.bbclass9
-rw-r--r--poky/meta/classes/image-artifact-names.bbclass9
-rw-r--r--poky/meta/classes/image.bbclass6
-rw-r--r--poky/meta/classes/image_types_wic.bbclass39
-rw-r--r--poky/meta/classes/insane.bbclass2
-rw-r--r--poky/meta/classes/kernel.bbclass15
-rw-r--r--poky/meta/classes/libc-package.bbclass2
-rw-r--r--poky/meta/classes/meta.bbclass4
-rw-r--r--poky/meta/classes/mirrors.bbclass3
-rw-r--r--poky/meta/classes/multilib.bbclass2
-rw-r--r--poky/meta/classes/package.bbclass54
-rw-r--r--poky/meta/classes/package_deb.bbclass6
-rw-r--r--poky/meta/classes/package_ipk.bbclass9
-rw-r--r--poky/meta/classes/package_rpm.bbclass5
-rw-r--r--poky/meta/classes/populate_sdk_base.bbclass4
-rw-r--r--poky/meta/classes/reproducible_build.bbclass66
-rw-r--r--poky/meta/classes/rm_work.bbclass8
-rw-r--r--poky/meta/classes/rootfs-postcommands.bbclass4
-rw-r--r--poky/meta/classes/rust-common.bbclass2
-rw-r--r--poky/meta/classes/siteinfo.bbclass34
-rw-r--r--poky/meta/classes/sstate.bbclass51
-rw-r--r--poky/meta/classes/staging.bbclass1
-rw-r--r--poky/meta/classes/testimage.bbclass14
-rw-r--r--poky/meta/classes/toolchain-scripts.bbclass5
-rw-r--r--poky/meta/classes/useradd.bbclass4
-rw-r--r--poky/meta/classes/utils.bbclass35
-rw-r--r--poky/meta/conf/abi_version.conf2
-rw-r--r--poky/meta/conf/bitbake.conf2
-rw-r--r--poky/meta/conf/distro/include/cve-extra-exclusions.inc4
-rw-r--r--poky/meta/conf/distro/include/maintainers.inc3
-rw-r--r--poky/meta/conf/distro/include/rust_versions.inc13
-rw-r--r--poky/meta/conf/distro/include/tcmode-default.inc15
-rw-r--r--poky/meta/conf/licenses.conf30
-rw-r--r--poky/meta/conf/machine/include/mips/feature-mips-mips16e.inc2
-rw-r--r--poky/meta/conf/machine/include/qemu.inc2
-rw-r--r--poky/meta/conf/machine/include/x86/x86-base.inc2
-rw-r--r--poky/meta/conf/machine/qemuarm.conf2
-rw-r--r--poky/meta/conf/machine/qemuarm64.conf2
-rw-r--r--poky/meta/conf/machine/qemuarmv5.conf5
-rw-r--r--poky/meta/files/common-licenses/0BSD5
-rw-r--r--poky/meta/files/common-licenses/ADSL1
-rw-r--r--poky/meta/files/common-licenses/AFL-1.127
-rw-r--r--poky/meta/files/common-licenses/AGPL-1.0-only (renamed from meta-lenovo/COPYING.GPL)213
-rw-r--r--poky/meta/files/common-licenses/AGPL-1.0-or-later86
-rw-r--r--poky/meta/files/common-licenses/AMDPLPA20
-rw-r--r--poky/meta/files/common-licenses/AML9
-rw-r--r--poky/meta/files/common-licenses/AMPAS13
-rw-r--r--poky/meta/files/common-licenses/ANTLR-PD-fallback7
-rw-r--r--poky/meta/files/common-licenses/APAFML3
-rw-r--r--poky/meta/files/common-licenses/Abstyles11
-rw-r--r--poky/meta/files/common-licenses/Adobe-200612
-rw-r--r--poky/meta/files/common-licenses/Adobe-Glyph10
-rw-r--r--poky/meta/files/common-licenses/Afmparse10
-rw-r--r--poky/meta/files/common-licenses/Aladdin62
-rw-r--r--poky/meta/files/common-licenses/Artistic-1.0-Perl51
-rw-r--r--poky/meta/files/common-licenses/Artistic-1.0-cl851
-rw-r--r--poky/meta/files/common-licenses/BSD-0-Clause12
-rw-r--r--poky/meta/files/common-licenses/BSD-2-Clause-Views (renamed from meta-lenovo/COPYING.BSD)22
-rw-r--r--poky/meta/files/common-licenses/BSD-3-Clause-Attribution11
-rw-r--r--poky/meta/files/common-licenses/BSD-3-Clause-LBNL12
-rw-r--r--poky/meta/files/common-licenses/BSD-3-Clause-Modification35
-rw-r--r--poky/meta/files/common-licenses/BSD-3-Clause-No-Military-License16
-rw-r--r--poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-License14
-rw-r--r--poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-License-201416
-rw-r--r--poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-Warranty14
-rw-r--r--poky/meta/files/common-licenses/BSD-3-Clause-Open-MPI34
-rw-r--r--poky/meta/files/common-licenses/BSD-4-Clause-Shortened13
-rw-r--r--poky/meta/files/common-licenses/BSD-4-Clause-UC15
-rw-r--r--poky/meta/files/common-licenses/BSD-Protection53
-rw-r--r--poky/meta/files/common-licenses/BSD-Source-Code10
-rw-r--r--poky/meta/files/common-licenses/BUSL-1.172
-rw-r--r--poky/meta/files/common-licenses/Bahyph11
-rw-r--r--poky/meta/files/common-licenses/Barr1
-rw-r--r--poky/meta/files/common-licenses/Beerware1
-rw-r--r--poky/meta/files/common-licenses/BitTorrent-1.0330
-rw-r--r--poky/meta/files/common-licenses/BitTorrent-1.1137
-rw-r--r--poky/meta/files/common-licenses/BlueOak-1.0.055
-rw-r--r--poky/meta/files/common-licenses/Borceux19
-rw-r--r--poky/meta/files/common-licenses/C-UDA-1.047
-rw-r--r--poky/meta/files/common-licenses/CAL-1.0354
-rw-r--r--poky/meta/files/common-licenses/CAL-1.0-Combined-Work-Exception354
-rw-r--r--poky/meta/files/common-licenses/CC-BY-2.5-AU112
-rw-r--r--poky/meta/files/common-licenses/CC-BY-3.0-AT111
-rw-r--r--poky/meta/files/common-licenses/CC-BY-3.0-DE109
-rw-r--r--poky/meta/files/common-licenses/CC-BY-3.0-NL97
-rw-r--r--poky/meta/files/common-licenses/CC-BY-3.0-US83
-rw-r--r--poky/meta/files/common-licenses/CC-BY-4.0156
-rw-r--r--poky/meta/files/common-licenses/CC-BY-NC-3.0-DE110
-rw-r--r--poky/meta/files/common-licenses/CC-BY-NC-4.0158
-rw-r--r--poky/meta/files/common-licenses/CC-BY-NC-ND-3.0-DE101
-rw-r--r--poky/meta/files/common-licenses/CC-BY-NC-ND-3.0-IGO99
-rw-r--r--poky/meta/files/common-licenses/CC-BY-NC-ND-4.0155
-rw-r--r--poky/meta/files/common-licenses/CC-BY-NC-SA-2.0-FR93
-rw-r--r--poky/meta/files/common-licenses/CC-BY-NC-SA-2.0-UK149
-rw-r--r--poky/meta/files/common-licenses/CC-BY-NC-SA-3.0-DE126
-rw-r--r--poky/meta/files/common-licenses/CC-BY-NC-SA-3.0-IGO105
-rw-r--r--poky/meta/files/common-licenses/CC-BY-NC-SA-4.0170
-rw-r--r--poky/meta/files/common-licenses/CC-BY-ND-3.0-DE101
-rw-r--r--poky/meta/files/common-licenses/CC-BY-ND-4.0154
-rw-r--r--poky/meta/files/common-licenses/CC-BY-SA-2.0-UK147
-rw-r--r--poky/meta/files/common-licenses/CC-BY-SA-2.1-JP83
-rw-r--r--poky/meta/files/common-licenses/CC-BY-SA-3.0-AT139
-rw-r--r--poky/meta/files/common-licenses/CC-BY-SA-3.0-DE136
-rw-r--r--poky/meta/files/common-licenses/CC-PDDC8
-rw-r--r--poky/meta/files/common-licenses/CDDL-1.1123
-rw-r--r--poky/meta/files/common-licenses/CDL-1.053
-rw-r--r--poky/meta/files/common-licenses/CDLA-Permissive-1.085
-rw-r--r--poky/meta/files/common-licenses/CDLA-Permissive-2.035
-rw-r--r--poky/meta/files/common-licenses/CDLA-Sharing-1.089
-rw-r--r--poky/meta/files/common-licenses/CECILL-1.1229
-rw-r--r--poky/meta/files/common-licenses/CECILL-2.1518
-rw-r--r--poky/meta/files/common-licenses/CERN-OHL-1.147
-rw-r--r--poky/meta/files/common-licenses/CERN-OHL-1.249
-rw-r--r--poky/meta/files/common-licenses/CERN-OHL-P-2.0199
-rw-r--r--poky/meta/files/common-licenses/CERN-OHL-S-2.0289
-rw-r--r--poky/meta/files/common-licenses/CERN-OHL-W-2.0310
-rw-r--r--poky/meta/files/common-licenses/CNRI-Jython12
-rw-r--r--poky/meta/files/common-licenses/CNRI-Python25
-rw-r--r--poky/meta/files/common-licenses/CNRI-Python-GPL-Compatible23
-rw-r--r--poky/meta/files/common-licenses/CPOL-1.0298
-rw-r--r--poky/meta/files/common-licenses/Caldera25
-rw-r--r--poky/meta/files/common-licenses/Condor-1.140
-rw-r--r--poky/meta/files/common-licenses/Crossword5
-rw-r--r--poky/meta/files/common-licenses/CrystalStacker7
-rw-r--r--poky/meta/files/common-licenses/Cube17
-rw-r--r--poky/meta/files/common-licenses/D-FSL-1.0147
-rw-r--r--poky/meta/files/common-licenses/DOC15
-rw-r--r--poky/meta/files/common-licenses/DRL-1.012
-rw-r--r--poky/meta/files/common-licenses/DSDP18
-rw-r--r--poky/meta/files/common-licenses/Dotseqn5
-rw-r--r--poky/meta/files/common-licenses/EPICS32
-rw-r--r--poky/meta/files/common-licenses/EUPL-1.2190
-rw-r--r--poky/meta/files/common-licenses/Eurosym18
-rw-r--r--poky/meta/files/common-licenses/FSFAP1
-rw-r--r--poky/meta/files/common-licenses/FSFUL3
-rw-r--r--poky/meta/files/common-licenses/FSFULLR3
-rw-r--r--poky/meta/files/common-licenses/FTL79
-rw-r--r--poky/meta/files/common-licenses/FreeBSD-DOC23
-rw-r--r--poky/meta/files/common-licenses/FreeImage117
-rw-r--r--poky/meta/files/common-licenses/FreeType170
-rw-r--r--poky/meta/files/common-licenses/GD24
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.1-invariants-only119
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.1-invariants-or-later119
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.1-no-invariants-only119
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.1-no-invariants-or-later119
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.1-only119
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.1-or-later119
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.2-invariants-only130
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.2-invariants-or-later130
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.2-no-invariants-only130
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.2-no-invariants-or-later130
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.2-only130
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.2-or-later130
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.3-invariants-only149
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.3-invariants-or-later149
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.3-no-invariants-only149
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.3-no-invariants-or-later149
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.3-only149
-rw-r--r--poky/meta/files/common-licenses/GFDL-1.3-or-later149
-rw-r--r--poky/meta/files/common-licenses/GL2PS13
-rw-r--r--poky/meta/files/common-licenses/GLWTPL25
-rw-r--r--poky/meta/files/common-licenses/Giftware9
-rw-r--r--poky/meta/files/common-licenses/Glide95
-rw-r--r--poky/meta/files/common-licenses/Glulxe3
-rw-r--r--poky/meta/files/common-licenses/HPND-sell-variant19
-rw-r--r--poky/meta/files/common-licenses/HTMLTIDY13
-rw-r--r--poky/meta/files/common-licenses/HaskellReport6
-rw-r--r--poky/meta/files/common-licenses/Hippocratic-2.133
-rw-r--r--poky/meta/files/common-licenses/IBM-pibs8
-rw-r--r--poky/meta/files/common-licenses/IJG38
-rw-r--r--poky/meta/files/common-licenses/ImageMagick98
-rw-r--r--poky/meta/files/common-licenses/Imlib29
-rw-r--r--poky/meta/files/common-licenses/Info-ZIP16
-rw-r--r--poky/meta/files/common-licenses/Intel-ACPI34
-rw-r--r--poky/meta/files/common-licenses/Interbase-1.0199
-rw-r--r--poky/meta/files/common-licenses/JPNIC40
-rw-r--r--poky/meta/files/common-licenses/JSON11
-rw-r--r--poky/meta/files/common-licenses/JasPer-2.017
-rw-r--r--poky/meta/files/common-licenses/LAL-1.267
-rw-r--r--poky/meta/files/common-licenses/LAL-1.388
-rw-r--r--poky/meta/files/common-licenses/LGPLLR89
-rw-r--r--poky/meta/files/common-licenses/LPL-1.081
-rw-r--r--poky/meta/files/common-licenses/LPPL-1.3a175
-rw-r--r--poky/meta/files/common-licenses/Latex2e9
-rw-r--r--poky/meta/files/common-licenses/Leptonica9
-rw-r--r--poky/meta/files/common-licenses/LiLiQ-P-1.170
-rw-r--r--poky/meta/files/common-licenses/LiLiQ-R-1.194
-rw-r--r--poky/meta/files/common-licenses/LiLiQ-Rplus-1.188
-rw-r--r--poky/meta/files/common-licenses/Linux-OpenIB18
-rw-r--r--poky/meta/files/common-licenses/MIT-016
-rw-r--r--poky/meta/files/common-licenses/MIT-CMU7
-rw-r--r--poky/meta/files/common-licenses/MIT-Modern-Variant17
-rw-r--r--poky/meta/files/common-licenses/MIT-advertising7
-rw-r--r--poky/meta/files/common-licenses/MIT-enna9
-rw-r--r--poky/meta/files/common-licenses/MIT-feh5
-rw-r--r--poky/meta/files/common-licenses/MIT-open-group23
-rw-r--r--poky/meta/files/common-licenses/MITNFA7
-rw-r--r--poky/meta/files/common-licenses/MPL-2.0-no-copyleft-exception144
-rw-r--r--poky/meta/files/common-licenses/MTLL24
-rw-r--r--poky/meta/files/common-licenses/MakeIndex19
-rw-r--r--poky/meta/files/common-licenses/MulanPSL-1.0116
-rw-r--r--poky/meta/files/common-licenses/MulanPSL-2.0131
-rw-r--r--poky/meta/files/common-licenses/Mup13
-rw-r--r--poky/meta/files/common-licenses/NAIST-200370
-rw-r--r--poky/meta/files/common-licenses/NBPL-1.059
-rw-r--r--poky/meta/files/common-licenses/NCGL-UK-2.067
-rw-r--r--poky/meta/files/common-licenses/NIST-PD15
-rw-r--r--poky/meta/files/common-licenses/NIST-PD-fallback5
-rw-r--r--poky/meta/files/common-licenses/NLOD-1.079
-rw-r--r--poky/meta/files/common-licenses/NLOD-2.080
-rw-r--r--poky/meta/files/common-licenses/NLPL14
-rw-r--r--poky/meta/files/common-licenses/NOSL150
-rw-r--r--poky/meta/files/common-licenses/NPL-1.0102
-rw-r--r--poky/meta/files/common-licenses/NPL-1.1186
-rw-r--r--poky/meta/files/common-licenses/NRL28
-rw-r--r--poky/meta/files/common-licenses/NTP-05
-rw-r--r--poky/meta/files/common-licenses/Nauman50
-rw-r--r--poky/meta/files/common-licenses/Naumen21
-rw-r--r--poky/meta/files/common-licenses/Net-SNMP107
-rw-r--r--poky/meta/files/common-licenses/NetCDF7
-rw-r--r--poky/meta/files/common-licenses/Newsletr7
-rw-r--r--poky/meta/files/common-licenses/Noweb9
-rw-r--r--poky/meta/files/common-licenses/O-UDA-1.047
-rw-r--r--poky/meta/files/common-licenses/OCCT-PL112
-rw-r--r--poky/meta/files/common-licenses/ODC-By-1.0195
-rw-r--r--poky/meta/files/common-licenses/OFL-1.049
-rw-r--r--poky/meta/files/common-licenses/OFL-1.0-RFN49
-rw-r--r--poky/meta/files/common-licenses/OFL-1.0-no-RFN49
-rw-r--r--poky/meta/files/common-licenses/OFL-1.1-RFN43
-rw-r--r--poky/meta/files/common-licenses/OFL-1.1-no-RFN43
-rw-r--r--poky/meta/files/common-licenses/OGC-1.017
-rw-r--r--poky/meta/files/common-licenses/OGDL-Taiwan-1.0141
-rw-r--r--poky/meta/files/common-licenses/OGL-Canada-2.051
-rw-r--r--poky/meta/files/common-licenses/OGL-UK-1.069
-rw-r--r--poky/meta/files/common-licenses/OGL-UK-2.072
-rw-r--r--poky/meta/files/common-licenses/OGL-UK-3.069
-rw-r--r--poky/meta/files/common-licenses/OLDAP-1.160
-rw-r--r--poky/meta/files/common-licenses/OLDAP-1.260
-rw-r--r--poky/meta/files/common-licenses/OLDAP-1.362
-rw-r--r--poky/meta/files/common-licenses/OLDAP-1.462
-rw-r--r--poky/meta/files/common-licenses/OLDAP-2.018
-rw-r--r--poky/meta/files/common-licenses/OLDAP-2.0.118
-rw-r--r--poky/meta/files/common-licenses/OLDAP-2.120
-rw-r--r--poky/meta/files/common-licenses/OLDAP-2.222
-rw-r--r--poky/meta/files/common-licenses/OLDAP-2.2.122
-rw-r--r--poky/meta/files/common-licenses/OLDAP-2.2.224
-rw-r--r--poky/meta/files/common-licenses/OLDAP-2.324
-rw-r--r--poky/meta/files/common-licenses/OLDAP-2.422
-rw-r--r--poky/meta/files/common-licenses/OLDAP-2.522
-rw-r--r--poky/meta/files/common-licenses/OLDAP-2.620
-rw-r--r--poky/meta/files/common-licenses/OLDAP-2.720
-rw-r--r--poky/meta/files/common-licenses/OML5
-rw-r--r--poky/meta/files/common-licenses/OPL-1.0136
-rw-r--r--poky/meta/files/common-licenses/OPUBL-1.078
-rw-r--r--poky/meta/files/common-licenses/OSET-PL-2.1161
-rw-r--r--poky/meta/files/common-licenses/OSL-1.147
-rw-r--r--poky/meta/files/common-licenses/OSL-2.147
-rw-r--r--poky/meta/files/common-licenses/PDDL-1.0136
-rw-r--r--poky/meta/files/common-licenses/PHP-3.0127
-rw-r--r--poky/meta/files/common-licenses/Parity-6.0.044
-rw-r--r--poky/meta/files/common-licenses/Parity-7.0.071
-rw-r--r--poky/meta/files/common-licenses/Plexus15
-rw-r--r--poky/meta/files/common-licenses/PolyForm-Noncommercial-1.0.0131
-rw-r--r--poky/meta/files/common-licenses/PolyForm-Small-Business-1.0.0121
-rw-r--r--poky/meta/files/common-licenses/Qhull17
-rw-r--r--poky/meta/files/common-licenses/RPL-1.1177
-rw-r--r--poky/meta/files/common-licenses/RSA-MD9
-rw-r--r--poky/meta/files/common-licenses/Rdisc13
-rw-r--r--poky/meta/files/common-licenses/SCEA60
-rw-r--r--poky/meta/files/common-licenses/SGI-B-1.082
-rw-r--r--poky/meta/files/common-licenses/SGI-B-1.184
-rw-r--r--poky/meta/files/common-licenses/SGI-B-2.012
-rw-r--r--poky/meta/files/common-licenses/SHL-0.564
-rw-r--r--poky/meta/files/common-licenses/SHL-0.5165
-rw-r--r--poky/meta/files/common-licenses/SISSL116
-rw-r--r--poky/meta/files/common-licenses/SISSL-1.2114
-rw-r--r--poky/meta/files/common-licenses/SMLNJ7
-rw-r--r--poky/meta/files/common-licenses/SMPPL29
-rw-r--r--poky/meta/files/common-licenses/SNIA122
-rw-r--r--poky/meta/files/common-licenses/SSH-OpenSSH67
-rw-r--r--poky/meta/files/common-licenses/SSH-short5
-rw-r--r--poky/meta/files/common-licenses/SSPL-1.0557
-rw-r--r--poky/meta/files/common-licenses/SWL7
-rw-r--r--poky/meta/files/common-licenses/Saxpath19
-rw-r--r--poky/meta/files/common-licenses/Sendmail36
-rw-r--r--poky/meta/files/common-licenses/Sendmail-8.2336
-rw-r--r--poky/meta/files/common-licenses/SimPL-2.037
-rw-r--r--poky/meta/files/common-licenses/Spencer-8611
-rw-r--r--poky/meta/files/common-licenses/Spencer-9412
-rw-r--r--poky/meta/files/common-licenses/Spencer-999
-rw-r--r--poky/meta/files/common-licenses/TAPR-OHL-1.0266
-rw-r--r--poky/meta/files/common-licenses/TCL9
-rw-r--r--poky/meta/files/common-licenses/TCP-wrappers7
-rw-r--r--poky/meta/files/common-licenses/TMate21
-rw-r--r--poky/meta/files/common-licenses/TORQUE-1.125
-rw-r--r--poky/meta/files/common-licenses/TOSL9
-rw-r--r--poky/meta/files/common-licenses/TU-Berlin-1.010
-rw-r--r--poky/meta/files/common-licenses/TU-Berlin-2.020
-rw-r--r--poky/meta/files/common-licenses/UCL-1.048
-rw-r--r--poky/meta/files/common-licenses/UPL-1.017
-rw-r--r--poky/meta/files/common-licenses/Unicode-DFS-201519
-rw-r--r--poky/meta/files/common-licenses/Unicode-DFS-201622
-rw-r--r--poky/meta/files/common-licenses/Unicode-TOU51
-rw-r--r--poky/meta/files/common-licenses/VOSTROM27
-rw-r--r--poky/meta/files/common-licenses/Vim30
-rw-r--r--poky/meta/files/common-licenses/W3C-1998072023
-rw-r--r--poky/meta/files/common-licenses/W3C-2015051317
-rw-r--r--poky/meta/files/common-licenses/WTFPL11
-rw-r--r--poky/meta/files/common-licenses/Wsuipa5
-rw-r--r--poky/meta/files/common-licenses/X1113
-rw-r--r--poky/meta/files/common-licenses/XSkat10
-rw-r--r--poky/meta/files/common-licenses/Xerox5
-rw-r--r--poky/meta/files/common-licenses/YPL-1.047
-rw-r--r--poky/meta/files/common-licenses/Zed3
-rw-r--r--poky/meta/files/common-licenses/Zend-2.018
-rw-r--r--poky/meta/files/common-licenses/Zimbra-1.447
-rw-r--r--poky/meta/files/common-licenses/blessing5
-rw-r--r--poky/meta/files/common-licenses/bzip2-1.0.518
-rw-r--r--poky/meta/files/common-licenses/copyleft-next-0.3.0219
-rw-r--r--poky/meta/files/common-licenses/copyleft-next-0.3.1220
-rw-r--r--poky/meta/files/common-licenses/curl10
-rw-r--r--poky/meta/files/common-licenses/diffmark2
-rw-r--r--poky/meta/files/common-licenses/dvipdfm1
-rw-r--r--poky/meta/files/common-licenses/eGenix40
-rw-r--r--poky/meta/files/common-licenses/etalab-2.0179
-rw-r--r--poky/meta/files/common-licenses/gnuplot14
-rw-r--r--poky/meta/files/common-licenses/iMatix39
-rw-r--r--poky/meta/files/common-licenses/libpng-2.033
-rw-r--r--poky/meta/files/common-licenses/libselinux-1.021
-rw-r--r--poky/meta/files/common-licenses/libtiff8
-rw-r--r--poky/meta/files/common-licenses/mpich218
-rw-r--r--poky/meta/files/common-licenses/psfrag5
-rw-r--r--poky/meta/files/common-licenses/psutils29
-rw-r--r--poky/meta/files/common-licenses/tcl40
-rw-r--r--poky/meta/files/common-licenses/vim81
-rw-r--r--poky/meta/files/common-licenses/xinetd25
-rw-r--r--poky/meta/files/common-licenses/xpp21
-rw-r--r--poky/meta/files/common-licenses/zlib-acknowledgement15
-rw-r--r--poky/meta/files/spdx-licenses.json5937
-rw-r--r--poky/meta/lib/buildstats.py4
-rw-r--r--poky/meta/lib/oe/maketype.py7
-rw-r--r--poky/meta/lib/oe/packagedata.py12
-rw-r--r--poky/meta/lib/oe/rootfs.py2
-rw-r--r--poky/meta/lib/oe/sbom.py74
-rw-r--r--poky/meta/lib/oe/spdx.py335
-rw-r--r--poky/meta/lib/oe/sstatesig.py52
-rw-r--r--poky/meta/lib/oeqa/core/target/ssh.py4
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/parselogs.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/bblogging.py104
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/bbtests.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/devtool.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/gotoolchain.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oescripts.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/recipetool.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/recipeutils.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/tinfoil.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/wic.py40
-rw-r--r--poky/meta/lib/oeqa/utils/buildproject.py3
-rw-r--r--poky/meta/lib/oeqa/utils/qemurunner.py2
-rw-r--r--poky/meta/lib/oeqa/utils/targetbuild.py4
-rw-r--r--poky/meta/recipes-bsp/acpid/acpid.inc6
-rw-r--r--poky/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb6
-rw-r--r--poky/meta/recipes-connectivity/avahi/avahi_0.8.bb4
-rw-r--r--poky/meta/recipes-connectivity/bind/bind_9.16.20.bb6
-rw-r--r--poky/meta/recipes-connectivity/connman/connman.inc8
-rw-r--r--poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb4
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/CVE-2021-40491.patch88
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb1
-rw-r--r--poky/meta/recipes-connectivity/neard/neard_0.16.bb2
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb20
-rw-r--r--poky/meta/recipes-connectivity/ofono/ofono_1.32.bb2
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh_8.7p1.bb14
-rw-r--r--poky/meta/recipes-connectivity/ppp/ppp_2.4.9.bb10
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb4
-rw-r--r--poky/meta/recipes-core/busybox/busybox.inc14
-rw-r--r--poky/meta/recipes-core/coreutils/coreutils_8.32.bb1
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear.inc10
-rw-r--r--poky/meta/recipes-core/expat/expat_2.4.1.bb6
-rw-r--r--poky/meta/recipes-core/glibc/glibc-package.inc6
-rw-r--r--poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig.patch2
-rw-r--r--poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb2
-rw-r--r--poky/meta/recipes-core/images/core-image-ptest-all.bb4
-rw-r--r--poky/meta/recipes-core/meta/buildtools-tarball.bb1
-rw-r--r--poky/meta/recipes-core/meta/meta-environment.bb5
-rw-r--r--poky/meta/recipes-core/meta/meta-ide-support.bb8
-rw-r--r--poky/meta/recipes-core/meta/testexport-tarball.bb1
-rw-r--r--poky/meta/recipes-core/meta/uninative-tarball.bb1
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf_git.bb11
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb1
-rw-r--r--poky/meta/recipes-core/psplash/psplash_git.bb6
-rw-r--r--poky/meta/recipes-core/readline/readline.inc1
-rw-r--r--poky/meta/recipes-core/systemd/systemd-compat-units.bb2
-rw-r--r--poky/meta/recipes-core/systemd/systemd-conf_1.0.bb6
-rw-r--r--poky/meta/recipes-core/systemd/systemd-serialgetty.bb18
-rwxr-xr-xpoky/meta/recipes-core/systemd/systemd-systemctl/systemctl5
-rw-r--r--poky/meta/recipes-core/systemd/systemd_249.3.bb84
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb7
-rw-r--r--poky/meta/recipes-core/volatile-binds/volatile-binds.bb6
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils.inc2
-rw-r--r--poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb2
-rw-r--r--poky/meta/recipes-devtools/cargo/cargo.inc2
-rw-r--r--poky/meta/recipes-devtools/distcc/distcc_3.4.bb6
-rw-r--r--poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb1
-rw-r--r--poky/meta/recipes-devtools/flex/flex_2.6.4.bb5
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc1
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-cross.inc2
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb.inc2
-rw-r--r--poky/meta/recipes-devtools/go/go-1.16.7.inc (renamed from poky/meta/recipes-devtools/go/go-1.16.5.inc)9
-rw-r--r--poky/meta/recipes-devtools/go/go-binary-native_1.16.7.bb (renamed from poky/meta/recipes-devtools/go/go-binary-native_1.16.5.bb)4
-rw-r--r--poky/meta/recipes-devtools/go/go-cross-canadian_1.16.7.bb (renamed from poky/meta/recipes-devtools/go/go-cross-canadian_1.16.5.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-cross_1.16.7.bb (renamed from poky/meta/recipes-devtools/go/go-cross_1.16.5.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-crosssdk_1.16.7.bb (renamed from poky/meta/recipes-devtools/go/go-crosssdk_1.16.5.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-native_1.16.7.bb (renamed from poky/meta/recipes-devtools/go/go-native_1.16.5.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-runtime_1.16.7.bb (renamed from poky/meta/recipes-devtools/go/go-runtime_1.16.5.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go_1.16.7.bb (renamed from poky/meta/recipes-devtools/go/go_1.16.5.bb)0
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb2
-rw-r--r--poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc1
-rw-r--r--poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb2
-rw-r--r--poky/meta/recipes-devtools/perl/files/CVE-2021-36770.patch40
-rw-r--r--poky/meta/recipes-devtools/perl/perl_5.34.0.bb8
-rw-r--r--poky/meta/recipes-devtools/pseudo/pseudo_git.bb2
-rw-r--r--poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.2.bb2
-rw-r--r--poky/meta/recipes-devtools/python/python3-packaging_21.0.bb2
-rw-r--r--poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py2
-rw-r--r--poky/meta/recipes-devtools/python/python3_3.9.6.bb17
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb2
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb2
-rw-r--r--poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb1
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch28
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch25
-rw-r--r--poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb6
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch35
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch28
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch28
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch67
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb4
-rw-r--r--poky/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb6
-rw-r--r--poky/meta/recipes-devtools/strace/strace_5.14.bb (renamed from poky/meta/recipes-devtools/strace/strace_5.13.bb)2
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb1
-rw-r--r--poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb2
-rw-r--r--poky/meta/recipes-devtools/tcf-agent/tcf-agent/0001-Fixed-copyright-messages.patch56
-rw-r--r--poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb9
-rw-r--r--poky/meta/recipes-devtools/tcltk/tcl_8.6.11.bb4
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb2
-rw-r--r--poky/meta/recipes-extended/acpica/acpica_20210730.bb2
-rw-r--r--poky/meta/recipes-extended/at/at_3.2.2.bb6
-rw-r--r--poky/meta/recipes-extended/bash/bash.inc5
-rw-r--r--poky/meta/recipes-extended/bzip2/bzip2/Makefile.am2
-rw-r--r--poky/meta/recipes-extended/cronie/cronie_1.5.7.bb6
-rw-r--r--poky/meta/recipes-extended/findutils/findutils_4.8.0.bb1
-rw-r--r--poky/meta/recipes-extended/hdparm/hdparm_9.62.bb7
-rw-r--r--poky/meta/recipes-extended/iputils/iputils_20210722.bb8
-rw-r--r--poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb6
-rw-r--r--poky/meta/recipes-extended/lsof/lsof_4.91.bb5
-rw-r--r--poky/meta/recipes-extended/man-db/man-db_2.9.4.bb2
-rw-r--r--poky/meta/recipes-extended/mdadm/mdadm_4.1.bb2
-rw-r--r--poky/meta/recipes-extended/quota/quota_4.06.bb2
-rw-r--r--poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb2
-rw-r--r--poky/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb2
-rw-r--r--poky/meta/recipes-extended/sysstat/sysstat.inc6
-rw-r--r--poky/meta/recipes-extended/tar/tar_1.34.bb2
-rw-r--r--poky/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch58
-rw-r--r--poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb1
-rw-r--r--poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb10
-rw-r--r--poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb2
-rw-r--r--poky/meta/recipes-graphics/glew/glew/notempdir.patch19
-rw-r--r--poky/meta/recipes-graphics/glew/glew_2.2.0.bb1
-rw-r--r--poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb2
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa.inc2
-rw-r--r--poky/meta/recipes-graphics/shaderc/shaderc_2021.1.bb2
-rw-r--r--poky/meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch32
-rw-r--r--poky/meta/recipes-graphics/vulkan/assimp/0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch1664
-rw-r--r--poky/meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch257
-rw-r--r--poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb26
-rw-r--r--poky/meta/recipes-graphics/waffle/waffle_1.6.1.bb2
-rw-r--r--poky/meta/recipes-graphics/wayland/weston-init.bb2
-rw-r--r--poky/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb6
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb2
-rw-r--r--poky/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb2
-rw-r--r--poky/meta/recipes-kernel/dtc/dtc.inc2
-rw-r--r--poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb6
-rw-r--r--poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.14.bb (renamed from poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb)6
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-dev.bb2
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb4
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_5.14.bb (renamed from poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb)10
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb6
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.14.bb (renamed from poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb)14
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb22
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.14.bb (renamed from poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb)50
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch394
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch829
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb9
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0001-src-common-correct-header-location.patch41
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch55
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-wait-some-more-before-analysing-traces-or-star.patch88
-rwxr-xr-xpoky/meta/recipes-kernel/lttng/lttng-tools/run-ptest1
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools_2.13.0.bb (renamed from poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb)28
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch35
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch25
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch22
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust_2.13.0.bb (renamed from poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb)10
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch26
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap_git.bb2
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap_git.inc3
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg/fix-CVE-2021-38171.patch42
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb5
-rw-r--r--poky/meta/recipes-multimedia/libsamplerate/libsamplerate0/shared_version_info.patch13
-rw-r--r--poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb1
-rw-r--r--poky/meta/recipes-sato/images/core-image-sato.bb1
-rw-r--r--poky/meta/recipes-sato/webkit/libwpe_1.10.1.bb4
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb2
-rw-r--r--poky/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb4
-rw-r--r--poky/meta/recipes-support/apr/apr/CVE-2021-35940.patch58
-rw-r--r--poky/meta/recipes-support/apr/apr_1.7.0.bb1
-rw-r--r--poky/meta/recipes-support/consolekit/consolekit_0.4.6.bb2
-rw-r--r--poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb1
-rw-r--r--poky/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch28
-rw-r--r--poky/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch81
-rw-r--r--poky/meta/recipes-support/libevent/libevent/run-ptest10
-rw-r--r--poky/meta/recipes-support/libevent/libevent_2.1.12.bb6
-rw-r--r--poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.4.bb (renamed from poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb)2
-rw-r--r--poky/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb2
-rw-r--r--poky/meta/recipes-support/lz4/lz4_1.9.3.bb2
-rw-r--r--poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb (renamed from poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb)2
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/rngd.service1
-rw-r--r--poky/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb2
-rw-r--r--poky/meta/recipes-support/sqlite/sqlite3_3.36.0.bb2
-rw-r--r--poky/meta/recipes-support/vim/files/CVE-2021-3778.patch46
-rw-r--r--poky/meta/recipes-support/vim/files/b7081e135a16091c93f6f5f7525a5c58fb7ca9f9.patch207
-rw-r--r--poky/meta/recipes-support/vim/vim.inc4
-rw-r--r--poky/meta/site/arm-3214
-rw-r--r--poky/meta/site/arm-6414
-rw-r--r--poky/meta/site/arm-common3
-rw-r--r--poky/meta/site/ix86-common17
-rw-r--r--poky/meta/site/mips-common14
-rw-r--r--poky/meta/site/mips-linux3
-rw-r--r--poky/meta/site/mips64-linux3
-rw-r--r--poky/meta/site/mips64el-linux3
-rw-r--r--poky/meta/site/mipsel-linux3
-rw-r--r--poky/meta/site/mipsisa32r6-linux3
-rw-r--r--poky/meta/site/mipsisa32r6el-linux3
-rw-r--r--poky/meta/site/mipsisa64r6-linux3
-rw-r--r--poky/meta/site/mipsisa64r6el-linux3
-rw-r--r--poky/meta/site/nios2-linux18
-rw-r--r--poky/meta/site/powerpc32-linux17
-rw-r--r--poky/meta/site/sh-common17
-rw-r--r--poky/meta/site/x86_64-linux17
-rw-r--r--poky/scripts/lib/build_perf/report.py3
-rw-r--r--poky/scripts/lib/devtool/standard.py4
-rw-r--r--poky/scripts/lib/recipetool/create_buildsys_python.py2
-rw-r--r--poky/scripts/lib/scriptutils.py3
-rw-r--r--poky/scripts/lib/wic/partition.py2
-rw-r--r--poky/scripts/lib/wic/plugins/imager/direct.py9
-rw-r--r--poky/scripts/lib/wic/plugins/source/bootimg-efi.py74
-rwxr-xr-xpoky/scripts/oe-publish-sdk4
-rw-r--r--poky/scripts/pybootchartgui/pybootchartgui/draw.py5
-rwxr-xr-xpoky/scripts/wic2
-rwxr-xr-xsetup12
2126 files changed, 40884 insertions, 88315 deletions
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 000000000..abd78539b
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": ["plugin:json/recommended-with-comments"]
+}
diff --git a/meta-alibaba/OWNERS b/meta-alibaba/OWNERS
deleted file mode 100644
index d8b39a308..000000000
--- a/meta-alibaba/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-owners:
-- SnowYang@linux.alibaba.com
diff --git a/meta-alibaba/conf/layer.conf b/meta-alibaba/conf/layer.conf
deleted file mode 100644
index 715ba5142..000000000
--- a/meta-alibaba/conf/layer.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-# We have recipes-* directories, add to BBFILES
-
-BBFILE_COLLECTIONS += "alibaba-layer"
-BBFILE_PATTERN_alibaba-layer = "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_alibaba-layer = "hardknott"
diff --git a/meta-alibaba/meta-comm-oem/recipes-phosphor/packagegroups/packagegroup-alibaba-apps.bb b/meta-alibaba/meta-comm-oem/recipes-phosphor/packagegroups/packagegroup-alibaba-apps.bb
deleted file mode 100644
index ac6f99b40..000000000
--- a/meta-alibaba/meta-comm-oem/recipes-phosphor/packagegroups/packagegroup-alibaba-apps.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "OpenBMC for Alibaba - Applications"
-PR = "r1"
-
-inherit packagegroup
-
-PROVIDES = "${PACKAGES}"
-PACKAGES = " \
- ${PN}-system \
- ${PN}-tools \
- "
-
-PROVIDES += "virtual/obmc-system-mgmt"
-RPROVIDES_${PN}-system += "virtual-obmc-system-mgmt"
-
-SUMMARY_${PN}-system = "Alibaba System"
-RDEPENDS_${PN}-system = " \
- entity-manager \
- dbus-sensors \
- phosphor-ipmi-ipmb \
- phosphor-hostlogger \
- phosphor-sel-logger \
- phosphor-post-code-manager \
- phosphor-host-postd \
- "
-PROVIDES += "virtual/obmc-tools-mgmt"
-RPROVIDES_${PN}-tools += "virtual-obmc-tools-mgmt"
-
-SUMMARY_${PN}-tools = "Alibaba Tools"
-RDEPENDS_${PN}-tools = " \
- ipmitool \
- "
-
diff --git a/meta-alibaba/meta-thor/conf/bblayers.conf.sample b/meta-alibaba/meta-thor/conf/bblayers.conf.sample
deleted file mode 100644
index 1884f55ef..000000000
--- a/meta-alibaba/meta-thor/conf/bblayers.conf.sample
+++ /dev/null
@@ -1,29 +0,0 @@
-# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
-# changes incompatibly
-LCONF_VERSION = "8"
-BBPATH = "${TOPDIR}"
-BBFILES ?= ""
-BBLAYERS ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-aspeed \
- ##OEROOT##/meta-alibaba \
- ##OEROOT##/meta-alibaba/meta-thor \
- "
-BBLAYERS_NON_REMOVABLE ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-aspeed \
- ##OEROOT##/meta-alibaba \
- ##OEROOT##/meta-alibaba/meta-thor \
- "
diff --git a/meta-alibaba/meta-thor/conf/conf-notes.txt b/meta-alibaba/meta-thor/conf/conf-notes.txt
deleted file mode 100644
index 9b3c01a55..000000000
--- a/meta-alibaba/meta-thor/conf/conf-notes.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Common targets are:
- obmc-phosphor-image
diff --git a/meta-alibaba/meta-thor/conf/layer.conf b/meta-alibaba/meta-thor/conf/layer.conf
deleted file mode 100644
index 6ae627170..000000000
--- a/meta-alibaba/meta-thor/conf/layer.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += ""
-BBFILE_PATTERN := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT = "hardknott"
diff --git a/meta-alibaba/meta-thor/conf/local.conf.sample b/meta-alibaba/meta-thor/conf/local.conf.sample
deleted file mode 100644
index 0f82735a1..000000000
--- a/meta-alibaba/meta-thor/conf/local.conf.sample
+++ /dev/null
@@ -1,198 +0,0 @@
-#
-# This file is your local configuration file and is where all local user settings
-# are placed. The comments in this file give some guide to the options a new user
-# to the system might want to change but pretty much any configuration option can
-# be set in this file.
-#
-# Lines starting with the '#' character are commented out and in some cases the
-# default values are provided as comments to show people example syntax. Enabling
-# the option is a question of removing the # character and making any change to the
-# variable as required.
-#
-# Machine Selection
-#
-MACHINE ??= "template"
-#
-# Where to place downloads
-#
-# During a first build the system will download many different source code tarballs
-# from various upstream projects. This can take a while, particularly if your network
-# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
-# can preserve this directory to speed up this part of subsequent builds. This directory
-# is safe to share between multiple builds on the same machine too.
-#
-# The default is a downloads directory under TOPDIR which is the build directory.
-#
-DL_DIR ?= "${TOPDIR}/../downloads"
-#
-# Where to place shared-state files
-#
-# BitBake has the capability to accelerate builds based on previously built output.
-# This is done using "shared state" files which can be thought of as cache objects
-# and this option determines where those files are placed.
-#
-# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
-# from these files if no changes were made to the configuration. If changes were made
-# to the configuration, only shared state files where the state was still valid would
-# be used (done using checksums).
-#
-# The default is a sstate-cache directory under TOPDIR.
-#
-#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
-#
-# Where to place the build output
-#
-# This option specifies where the bulk of the building work should be done and
-# where BitBake should place its temporary files and output. Keep in mind that
-# this includes the extraction and compilation of many applications and the toolchain
-# which can use Gigabytes of hard disk space.
-#
-# The default is a tmp directory under TOPDIR.
-#
-#TMPDIR = "${TOPDIR}/tmp"
-#
-# Default policy config
-#
-# The distribution setting controls which policy settings are used as defaults.
-# The default value is fine for general Yocto project use, at least initially.
-# Ultimately when creating custom policy, people will likely end up subclassing
-# these defaults.
-#
-DISTRO ?= "openbmc-phosphor"
-# As an example of a subclass there is a "bleeding" edge policy configuration
-# where many versions are set to the absolute latest code from the upstream
-# source control systems. This is just mentioned here as an example, its not
-# useful to most new users.
-# DISTRO ?= "poky-bleeding"
-#
-# Package Management configuration
-#
-# This variable lists which packaging formats to enable. Multiple package backends
-# can be enabled at once and the first item listed in the variable will be used
-# to generate the root filesystems.
-# Options are:
-# - 'package_deb' for debian style deb files
-# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
-# - 'package_rpm' for rpm style packages
-# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
-# We default to ipk:
-PACKAGE_CLASSES ?= "package_ipk"
-#
-# SDK/ADT target architecture
-#
-# This variable specifies the architecture to build SDK/ADT items for and means
-# you can build the SDK packages for architectures other than the machine you are
-# running the build on (i.e. building i686 packages on an x86_64 host).
-# Supported values are i686 and x86_64
-#SDKMACHINE ?= "i686"
-SANITY_TESTED_DISTROS_append ?= " *"
-#
-# Extra image configuration defaults
-#
-# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
-# images. Some of these options are added to certain image types automatically. The
-# variable can contain the following options:
-# "dbg-pkgs" - add -dbg packages for all installed packages
-# (adds symbol information for debugging/profiling)
-# "dev-pkgs" - add -dev packages for all installed packages
-# (useful if you want to develop against libs in the image)
-# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
-# (useful if you want to run the package test suites)
-# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
-# "tools-debug" - add debugging tools (gdb, strace)
-# "eclipse-debug" - add Eclipse remote debugging support
-# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind)
-# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
-# "debug-tweaks" - make an image suitable for development
-# e.g. ssh root access has a blank password
-# There are other application targets that can be used here too, see
-# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
-# We default to enabling the debugging tweaks.
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
-#
-# Additional image features
-#
-# The following is a list of additional classes to use when building images which
-# enable extra features. Some available options which can be included in this variable
-# are:
-# - 'buildstats' collect build statistics
-# - 'image-prelink' in order to prelink the filesystem image
-# - 'image-swab' to perform host system intrusion detection
-# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
-# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
-USER_CLASSES ?= "buildstats image-prelink"
-#
-# Runtime testing of images
-#
-# The build system can test booting virtual machine images under qemu (an emulator)
-# after any root filesystems are created and run tests against those images. To
-# enable this uncomment this line. See classes/testimage(-auto).bbclass for
-# further details.
-#TEST_IMAGE = "1"
-#
-# Interactive shell configuration
-#
-# Under certain circumstances the system may need input from you and to do this it
-# can launch an interactive shell. It needs to do this since the build is
-# multithreaded and needs to be able to handle the case where more than one parallel
-# process may require the user's attention. The default is iterate over the available
-# terminal types to find one that works.
-#
-# Examples of the occasions this may happen are when resolving patches which cannot
-# be applied, to use the devshell or the kernel menuconfig
-#
-# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
-# Note: currently, Konsole support only works for KDE 3.x due to the way
-# newer Konsole versions behave
-#OE_TERMINAL = "auto"
-# By default disable interactive patch resolution (tasks will just fail instead):
-PATCHRESOLVE = "noop"
-#
-# Disk Space Monitoring during the build
-#
-# Monitor the disk space during the build. If there is less that 1GB of space or less
-# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
-# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
-# of the build. The reason for this is that running completely out of space can corrupt
-# files and damages the build in ways which may not be easily recoverable.
-# It's necessary to monitor /tmp, if there is no space left the build will fail
-# with very exotic errors.
-BB_DISKMON_DIRS = "\
- STOPTASKS,${TMPDIR},1G,100K \
- STOPTASKS,${DL_DIR},1G,100K \
- STOPTASKS,${SSTATE_DIR},1G,100K \
- STOPTASKS,/tmp,100M,100K \
- ABORT,${TMPDIR},100M,1K \
- ABORT,${DL_DIR},100M,1K \
- ABORT,${SSTATE_DIR},100M,1K \
- ABORT,/tmp,10M,1K"
-#
-# Shared-state files from other locations
-#
-# As mentioned above, shared state files are prebuilt cache data objects which can
-# used to accelerate build time. This variable can be used to configure the system
-# to search other mirror locations for these objects before it builds the data itself.
-#
-# This can be a filesystem directory, or a remote url such as http or ftp. These
-# would contain the sstate-cache results from previous builds (possibly from other
-# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
-# cache locations to check for the shared objects.
-# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
-# at the end as shown in the examples below. This will be substituted with the
-# correct path within the directory structure.
-#SSTATE_MIRRORS ?= "\
-#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
-#file://.* file:///some/local/dir/sstate/PATH"
-#
-# Qemu configuration
-#
-# By default qemu will build with a builtin VNC server where graphical output can be
-# seen. The two lines below enable the SDL backend too. This assumes there is a
-# libsdl library available on your build system.
-#PACKAGECONFIG_append_pn-qemu-native = " sdl"
-#PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
-#ASSUME_PROVIDED += "libsdl-native"
-# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
-# track the version of this file when it was generated. This can safely be ignored if
-# this doesn't mean anything to you.
-CONF_VERSION = "1"
diff --git a/meta-alibaba/meta-thor/conf/machine/thor.conf b/meta-alibaba/meta-thor/conf/machine/thor.conf
deleted file mode 100644
index e20a2c741..000000000
--- a/meta-alibaba/meta-thor/conf/machine/thor.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-KERNEL_DEVICETREE = "${KMACHINE}-alibaba-${MACHINE}.dtb"
-KMACHINE = "aspeed"
-require conf/machine/include/ast2500.inc
-
-
-UBOOT_MACHINE = "ast_g5_phy_config"
-FLASH_SIZE = "32768"
-
-# below contents will be gathered by macro 'MACHINE_FEATURES' which defined in phosphor-base.inc file
-OBMC_MACHINE_FEATURES += "\
- "
-VIRTUAL-RUNTIME_skeleton_workbook = "alibaba-ast2500-config"
-PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-alibaba-apps"
-PREFERRED_PROVIDER_virtual/obmc-tools-mgmt = "packagegroup-alibaba-apps"
diff --git a/meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed/alibaba.cfg b/meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed/alibaba.cfg
deleted file mode 100644
index 174a3f203..000000000
--- a/meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed/alibaba.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DEVMEM=y
diff --git a/meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed/aspeed-alibaba-thor.dts b/meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed/aspeed-alibaba-thor.dts
deleted file mode 100644
index c05075d05..000000000
--- a/meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed/aspeed-alibaba-thor.dts
+++ /dev/null
@@ -1,292 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/dts-v1/;
-#include "aspeed-g5.dtsi"
-#include <dt-bindings/gpio/aspeed-gpio.h>
-/ {
- model = "Alibaba AST2500 BMC";
- compatible = "alibaba,thor", "aspeed,ast2500";
- aliases {
- serial4 = &uart5;
- spi2 = &spi2;
- };
- chosen {
- stdout-path = &uart5;
- bootargs = "console=tty0 console=ttyS4,115200 earlyprintk";
- };
- memory@80000000 {
- device_type = "memory";
- reg = <0x80000000 0x20000000>;
- };
- reserved-memory {
- #address-cells = <1>;
- #size-cells = <1>;
- ranges;
- vga_memory: framebuffer@9f000000 {
- no-map;
- reg = <0x9f000000 0x01000000>; /* 16M */
- };
- lpc_memory: region@98000000 {
- no-map;
- reg = <0x98000000 0x02000000>; /* 32M */
- };
- pci_memory: region@9A000000 {
- no-map;
- reg = <0x9A000000 0x00010000>; /* 64K */
- };
- video_engine_memory: jpegbuffer {
- size = <0x02800000>; /* 40M */
- alignment = <0x01000000>;
- compatible = "shared-dma-pool";
- reusable;
- };
- gfx_memory: framebuffer {
- size = <0x01000000>;
- alignment = <0x01000000>;
- compatible = "shared-dma-pool";
- reusable;
- };
- };
-};
-&fmc {
- status = "okay";
- flash@0 {
- status = "okay";
- m25p,fast-read;
- label = "bmc";
- spi-max-frequency = <50000000>;
- };
-};
-&spi1 {
- status = "disabled";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_spi1_default>;
- flash@0 {
- status = "okay";
- m25p,fast-read;
- label = "pnor";
- spi-max-frequency = <100000000>;
- };
-};
-&spi2 {
- compatible = "aspeed,spi-dev";
- status = "okay";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_spi2ck_default
- &pinctrl_spi2cs0_default
- &pinctrl_spi2cs1_default
- &pinctrl_spi2miso_default
- &pinctrl_spi2mosi_default>;
- flash@0 {
- compatible = "rohm,dh2228fv";
- status = "okay";
- spi-max-frequency = <25000000>;
- };
-};
-&espi {
- status = "okay";
-};
-&kcs3 {
- kcs_addr = <0xca2>;
- status = "okay";
-};
-&lpc_ctrl {
- status = "okay";
- memory-region = <&lpc_memory>;
- flash = <&spi1>;
-};
-&p2a {
- status = "okay";
- memory-region = <&pci_memory>;
-};
-&mbox {
- status = "okay";
-};
-&uart1 {
- /* Rear RS-232 connector */
- status = "okay";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_txd1_default
- &pinctrl_rxd1_default
- &pinctrl_nrts1_default
- &pinctrl_ndtr1_default
- &pinctrl_ndsr1_default
- &pinctrl_ncts1_default
- &pinctrl_ndcd1_default
- &pinctrl_nri1_default>;
-};
-&uart2 {
- /* Rear RS-232 connector */
- status = "okay";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_txd2_default
- &pinctrl_rxd2_default
- &pinctrl_nrts2_default
- &pinctrl_ndtr2_default
- &pinctrl_ndsr2_default
- &pinctrl_ncts2_default
- &pinctrl_ndcd2_default
- &pinctrl_nri2_default>;
-};
-&uart4 {
- status = "okay";
-};
-&uart5 {
- status = "okay";
-};
-&mac0 {
- status = "okay";
- use-ncsi;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_rmii1_default>;
-};
-&mac1 {
- status = "okay";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
-};
-&adc {
- status = "okay";
-};
-&i2c0 {
- status = "okay";
-};
-&i2c1 {
- status = "okay";
-};
-&i2c2 {
- status = "okay";
-};
-&i2c3 {
- status = "okay";
-};
-&i2c4 {
- status = "okay";
-};
-&i2c5 {
- status = "okay";
-};
-&i2c6 {
- status = "okay";
-};
-&i2c7 {
- status = "okay";
-};
-&i2c8 {
- status = "okay";
-};
-&i2c9 {
- status = "okay";
-};
-&i2c10 {
- status = "okay";
-};
-&i2c11 {
- status = "okay";
-};
-&i2c12 {
- status = "okay";
-};
-&i2c13 {
- status = "okay";
-};
-&vuart {
- status = "disabled";
-};
-&gfx {
- status = "okay";
-};
-&pinctrl {
- aspeed,external-nodes = <&gfx &lhc>;
-};
-&pwm_tacho {
- status = "okay";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_pwm0_default
- &pinctrl_pwm1_default
- &pinctrl_pwm2_default
- &pinctrl_pwm3_default
- &pinctrl_pwm4_default
- &pinctrl_pwm5_default
- &pinctrl_pwm6_default
- &pinctrl_pwm7_default>;
- fan@0 {
- reg = <0x00>;
- aspeed,fan-tach-ch = /bits/ 8 <0x00 0x01>;
- };
- fan@1 {
- reg = <0x01>;
- aspeed,fan-tach-ch = /bits/ 8 <0x02 0x03>;
- };
- fan@2 {
- reg = <0x02>;
- aspeed,fan-tach-ch = /bits/ 8 <0x04 0x05>;
- };
- fan@3 {
- reg = <0x03>;
- aspeed,fan-tach-ch = /bits/ 8 <0x06 0x07>;
- };
- fan@4 {
- reg = <0x04>;
- aspeed,fan-tach-ch = /bits/ 8 <0x08 0x09>;
- };
- fan@5 {
- reg = <0x05>;
- aspeed,fan-tach-ch = /bits/ 8 <0x0a 0x0b>;
- };
- fan@6 {
- reg = <0x06>;
- aspeed,fan-tach-ch = /bits/ 8 <0x0c 0x0d>;
- };
- fan@7 {
- reg = <0x07>;
- aspeed,fan-tach-ch = /bits/ 8 <0x0e 0x0f>;
- };
-};
-&lpc_uart {
- status = "okay";
-};
-&ibt {
- status = "disabled";
-};
-&lpc_snoop {
- status = "okay";
- snoop-ports = <0x80>;
-};
-&sdmmc {
- status = "okay";
-};
-&sdhci1 {
- status = "okay";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_sd2_default>;
-};
-/*
- * Enable port A as device (via the virtual hub) and port B as
- * host by default on the eval board. This can be easily changed
- * by replacing the override below with &ehci0 { ... } to enable
- * host on both ports.
- */
-&vhub {
- status = "okay";
-};
-&ehci1 {
- status = "okay";
-};
-&uhci {
- status = "okay";
-};
-&video {
- status = "okay";
- memory-region = <&video_engine_memory>;
-};
-&gfx {
- status = "okay";
- memory-region = <&gfx_memory>;
-};
-&peci0 {
- status = "okay";
-};
-&rtc {
- status = "okay";
-};
-
diff --git a/meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed_%.bbappend b/meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed_%.bbappend
deleted file mode 100644
index 18de4ac11..000000000
--- a/meta-alibaba/meta-thor/recipes-bsp/linux/linux-aspeed_%.bbappend
+++ /dev/null
@@ -1,17 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-KERNEL_VERSION_SANITY_SKIP="1"
-SRC_URI += "\
- file://aspeed-alibaba-thor.dts \
- file://alibaba.cfg \
- "
-
-do_patch_append(){
- for DTB in "${KERNEL_DEVICETREE}"; do
- DT=`basename ${DTB} .dtb`
- if [ -r "${WORKDIR}/${DT}.dts" ]; then
- echo "debug: ${STAGING_KERNEL_DIR}"
- cp ${WORKDIR}/aspeed-alibaba-thor.dts \
- ${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts
- fi
- done
-}
diff --git a/meta-amd/meta-ethanolx/conf/machine/ethanolx.conf b/meta-amd/meta-ethanolx/conf/machine/ethanolx.conf
index 2ac82cade..91ca5bb1b 100644
--- a/meta-amd/meta-ethanolx/conf/machine/ethanolx.conf
+++ b/meta-amd/meta-ethanolx/conf/machine/ethanolx.conf
@@ -11,7 +11,7 @@ SERIAL_CONSOLES = "115200;ttyS4"
FLASH_SIZE = "32768"
-OBMC_MACHINE_FEATURES += "\
+MACHINE_FEATURES += "\
obmc-bmc-state-mgmt \
obmc-chassis-state-mgmt \
obmc-host-state-mgmt \
diff --git a/meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet.bb b/meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet.bb
deleted file mode 100644
index 3045fa557..000000000
--- a/meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Ampere Computing LLC Add Ethernet over USB gadget device"
-DESCRIPTION = "Add Ethernet over USB gadget device for Ampere systems"
-PR = "r1"
-
-LICENSE = "Apache-2.0"
-S = "${WORKDIR}"
-
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit systemd
-inherit obmc-phosphor-systemd
-
-DEPENDS = "systemd"
-RDEPENDS:${PN} = "bash"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE:${PN} = " \
- ampere_add_usbnet_gadget.service \
- "
-
-SRC_URI += "file://00-bmc-usb0.network"
-SRC_URI += "file://ampere_add_usbnet_gadget.sh"
-
-do_install:append() {
- install -d ${D}${sbindir}
- install -d ${D}/etc/systemd/network
- install -m 744 ${WORKDIR}/ampere_add_usbnet_gadget.sh ${D}${sbindir}/
- install -m 644 ${WORKDIR}/00-bmc-usb0.network \
- ${D}/etc/systemd/network/
-}
diff --git a/meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet/ampere_add_usbnet_gadget.service b/meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet/ampere_add_usbnet_gadget.service
deleted file mode 100644
index 428263a89..000000000
--- a/meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet/ampere_add_usbnet_gadget.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Ampere adds Ethernet over USB gadget device
-Wants=systemd-networkd.service
-Before=systemd-networkd.service
-After=phosphor-ipmi-host.service
-
-[Service]
-ExecStart=/usr/bin/env ampere_add_usbnet_gadget.sh
-SyslogIdentifier=ampere_add_usbnet_gadget.sh
-Type=oneshot
-
-[Install]
-WantedBy=systemd-networkd.service
diff --git a/meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet/ampere_add_usbnet_gadget.sh b/meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet/ampere_add_usbnet_gadget.sh
deleted file mode 100644
index c4c2c273f..000000000
--- a/meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet/ampere_add_usbnet_gadget.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/sh
-
-# Add an Ethernet over USB gadget device and connect to a port of Aspeed USB
-# virtual hub. If can't find any free port on virtual hub, exit with failure.
-# If can't find the virtual hub, exit with failure.
-
-# Author: Thinh Hung Pham <thinh.pham@amperecomputing.com>
-# Signed-off-by: Chanh Nguyen <chnguyen@amperecomputing.com>
-
-UDC_SYSPATH=/sys/class/udc
-VHUB_DEVICE=1e6a0000.usb-vhub:p
-GADGET_CONFIG_SYSPATH=/sys/kernel/config/usb_gadget
-USBNET=usbnet
-# The number of port on AST2500 USB virtual hub
-NUM_PORT_USB_HUB=5
-# idVendor = 0x1d6b: Linux Foundation
-VENDORID=0x1d6b
-# idProduct = 0x0103: NCM (Ethernet) Gadget
-PRODUCTID=0x0103
-# Language code = 0x409: English – United States
-LANGUAGEID=0x409
-SERIALNUMBER=cafecafe
-MANUFACTURER=Aspeed
-FUNCTION=ecm.usb0
-
-if [ ! -d ${GADGET_CONFIG_SYSPATH} ]; then
- # GADGET_CONFIG_SYSPATH is not exist
- # Return 1 so that systemd knows the service failed to start
- echo "ERROR: ${GADGET_CONFIG_SYSPATH} : doesn't exist!"
- exit 1
-fi
-
-find_free_vhub_port(){
- for ((i=1;i<=${NUM_PORT_USB_HUB};i++))
- do
- state=$(cat ${UDC_SYSPATH}/${VHUB_DEVICE}${i}/state)
- func=$(cat ${UDC_SYSPATH}/${VHUB_DEVICE}${i}/function)
- if [ "${state}" == "not attached" -a "${func}" == "" ]; then
- FREEUDC=${VHUB_DEVICE}${i}
- break
- fi
- done
- if [ ${i} -eq 6 ]; then
- # Can't find a free port
- # Return 1 so that systemd knows the service failed to start
- echo "ERROR: Can't find a free port !"
- exit 1
- fi
-}
-
-if [ -d ${GADGET_CONFIG_SYSPATH}/${USBNET} ]; then
- cd ${GADGET_CONFIG_SYSPATH}/${USBNET}
-else
- # Create the gadget
- mkdir ${GADGET_CONFIG_SYSPATH}/${USBNET}
- cd ${GADGET_CONFIG_SYSPATH}/${USBNET}
-
- # Configure the gadget
- echo ${VENDORID} > idVendor
- echo ${PRODUCTID} > idProduct
- mkdir strings/${LANGUAGEID}
- echo ${SERIALNUMBER} > strings/${LANGUAGEID}/serialnumber
- echo ${MANUFACTURER} > strings/${LANGUAGEID}/manufacturer
- echo ${USBNET} > strings/${LANGUAGEID}/product
-
- # Create the configuration
- mkdir configs/c.1
- mkdir configs/c.1/strings/${LANGUAGEID}
-
- # Create the function
- mkdir functions/${FUNCTION}
-
- # Associate the function with its configuration
- ln -s functions/${FUNCTION} configs/c.1
-fi
-
-# Find an available virtual hub port
-find_free_vhub_port
-
-# Enable the gadget
-echo ${FREEUDC} > UDC
-
-if [[ $? -ne 0 ]]; then
- # End
- cd - > /dev/null
- # Virtual HUB is not available
- # Return 1 so that systemd knows the service failed to start
- exit 1
-fi
-
-# End
-cd - > /dev/null
-
diff --git a/meta-ampere/meta-common/recipes-phosphor/flash/phosphor-software-manager/firmware_update.sh b/meta-ampere/meta-common/recipes-phosphor/flash/phosphor-software-manager/firmware_update.sh
index af3e2bead..cc39f30fc 100755
--- a/meta-ampere/meta-common/recipes-phosphor/flash/phosphor-software-manager/firmware_update.sh
+++ b/meta-ampere/meta-common/recipes-phosphor/flash/phosphor-software-manager/firmware_update.sh
@@ -21,31 +21,29 @@
usage () {
echo "Usage:"
- echo " $(basename $0) <image path> "
+ echo " $(basename "$0") <image path> "
echo "Where:"
echo " <image path>: the path link to folder, which include image file and MANIFEST"
echo "Example:"
- echo " $(basename $0) /tmp/images/ghdh1393"
+ echo " $(basename "$0") /tmp/images/ghdh1393"
}
IMG_PATH="$1"
-if [ ! -d $IMG_PATH ]; then
- echo $IMG_PATH
+if [ ! -d "$IMG_PATH" ]; then
echo "The folder $IMG_PATH does not exist"
usage
exit 1
fi
MANIFEST_PATH="${IMG_PATH}/MANIFEST"
-if [ ! -f $MANIFEST_PATH ]; then
- echo $MANIFEST_PATH
+if [ ! -f "$MANIFEST_PATH" ]; then
echo "The MANIFEST file $MANIFEST_PATH does not exist"
usage
exit 1
fi
-EXTENDED_VERSION=$(awk '/ExtendedVersion/ {print}' ${MANIFEST_PATH} | cut -d "=" -f 2)
+EXTENDED_VERSION=$(awk '/ExtendedVersion/ {print}' "${MANIFEST_PATH}" | cut -d "=" -f 2)
# If the ExtendedVersion is empty, set default to update UEFI/EDKII on primary device
if [ -z "$EXTENDED_VERSION" ]
@@ -56,28 +54,28 @@ fi
# Assign the command based on the ExtendedVersion
case ${EXTENDED_VERSION} in
"primary")
- export IMAGE=$(find ${IMG_PATH} -type f \( -name "*.img" -o -name "*.bin" -o -name "*.rom" \))
- export CMD='/usr/sbin/ampere_flash_bios.sh $IMAGE 1'
+ IMAGE=$(find "${IMG_PATH}" -type f \( -name "*.img" -o -name "*.bin" -o -name "*.rom" \))
+ CMD="/usr/sbin/ampere_flash_bios.sh $IMAGE 1"
;;
"secondary")
- export IMAGE=$(find ${IMG_PATH} -type f \( -name "*.img" -o -name "*.bin" -o -name "*.rom" \))
- export CMD='/usr/sbin/ampere_flash_bios.sh $IMAGE 2'
+ IMAGE=$(find "${IMG_PATH}" -type f \( -name "*.img" -o -name "*.bin" -o -name "*.rom" \))
+ CMD="/usr/sbin/ampere_flash_bios.sh $IMAGE 2"
;;
"scp-primary")
- export IMAGE=$(find ${IMG_PATH} -type f \( -name "*.img" -o -name "*.slim" -o -name "*.rom" \))
- export CMD='/usr/sbin/ampere_firmware_upgrade.sh smpmpro $IMAGE 1'
+ IMAGE=$(find "${IMG_PATH}" -type f \( -name "*.img" -o -name "*.slim" -o -name "*.rom" \))
+ CMD="/usr/sbin/ampere_firmware_upgrade.sh smpmpro $IMAGE 1"
;;
"scp-secondary")
- export IMAGE=$(find ${IMG_PATH} -type f \( -name "*.img" -o -name "*.slim" -o -name "*.rom" \))
- export CMD='/usr/sbin/ampere_firmware_upgrade.sh smpmpro $IMAGE 2'
+ IMAGE=$(find "${IMG_PATH}" -type f \( -name "*.img" -o -name "*.slim" -o -name "*.rom" \))
+ CMD="/usr/sbin/ampere_firmware_upgrade.sh smpmpro $IMAGE 2"
;;
"fru")
- export IMAGE=$(find ${IMG_PATH} -type f \( -name "*.bin" \))
- export CMD='/usr/sbin/ampere_firmware_upgrade.sh fru $IMAGE'
+ IMAGE=$(find "${IMG_PATH}" -type f \( -name "*.bin" \))
+ CMD="/usr/sbin/ampere_firmware_upgrade.sh fru $IMAGE"
;;
*)
@@ -91,11 +89,10 @@ if [ -z "$IMAGE" ]
then
echo "ERROR: The image file: No such file or directory"
exit 1
-else
- eval $CMD
fi
-if [[ $? -ne 0 ]]; then
+if ! eval "$CMD";
+then
echo "ERROR: The firmware update not successfull"
exit 1
fi
diff --git a/meta-ampere/meta-common/recipes-phosphor/ipmi/ampere-ipmi-oem.bb b/meta-ampere/meta-common/recipes-phosphor/ipmi/ampere-ipmi-oem.bb
index e0a6819b6..68852b4ae 100644
--- a/meta-ampere/meta-common/recipes-phosphor/ipmi/ampere-ipmi-oem.bb
+++ b/meta-ampere/meta-common/recipes-phosphor/ipmi/ampere-ipmi-oem.bb
@@ -16,7 +16,7 @@ LIBRARY_NAMES = "libzampoemcmds.so"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/ampere-ipmi-oem.git"
-SRCREV = "1463f7013a17699081c1fbf506ee8d57827d1088"
+SRCREV = "4c556399c7161d3742cad978fd64e8ad0fd0aa0a"
HOSTIPMI_PROVIDER_LIBRARY += "${LIBRARY_NAMES}"
NETIPMI_PROVIDER_LIBRARY += "${LIBRARY_NAMES}"
diff --git a/meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet.bb b/meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet.bb
new file mode 100644
index 000000000..d1dff35ec
--- /dev/null
+++ b/meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Enable USB ethernet"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS += "systemd"
+RDEPENDS:${PN} += "libsystemd bash"
+
+inherit allarch systemd
+
+SRC_URI += "file://ampere-usbnet.service \
+ file://ampere_usbnet.sh \
+ file://00-bmc-usb0.network"
+
+do_install() {
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/ampere-usbnet.service ${D}${systemd_unitdir}/system
+
+ install -d ${D}${sysconfdir_native}/systemd/network/
+ install -m 0644 ${WORKDIR}/00-bmc-usb0.network ${D}${sysconfdir_native}/systemd/network
+
+ install -d ${D}/${sbindir}
+ install -m 755 ${WORKDIR}/ampere_usbnet.sh ${D}/${sbindir}
+}
+
+NATIVE_SYSTEMD_SUPPORT = "1"
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "ampere-usbnet.service"
diff --git a/meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet/00-bmc-usb0.network b/meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet/00-bmc-usb0.network
index 640fe04b9..640fe04b9 100644
--- a/meta-ampere/meta-common/recipes-ac01/usbnet/ampere-usbnet/00-bmc-usb0.network
+++ b/meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet/00-bmc-usb0.network
diff --git a/meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet/ampere-usbnet.service b/meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet/ampere-usbnet.service
new file mode 100644
index 000000000..349954325
--- /dev/null
+++ b/meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet/ampere-usbnet.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Ampere Ethernet over USB gadget device
+After=phosphor-ipmi-host.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/sbin/ampere_usbnet.sh
+ExecStop=/usr/bin/usb-ctrl ecm usbnet off
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet/ampere_usbnet.sh b/meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet/ampere_usbnet.sh
new file mode 100644
index 000000000..fd2dce610
--- /dev/null
+++ b/meta-ampere/meta-common/recipes-phosphor/network/ampere-usbnet/ampere_usbnet.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+ENV_MAC_ADDR=$(fw_printenv eth1addr)
+if [ -z "$ENV_MAC_ADDR" ]; then
+ ENV_MAC_ADDR=$(fw_printenv ethaddr)
+fi
+
+MAC_ADDR=$(echo "$ENV_MAC_ADDR" | cut -d "=" -f 2)
+
+if [ -n "$MAC_ADDR" ]; then
+ # Generate MAC Address from eth1addr using locally administered MAC
+ # https://en.wikipedia.org/wiki/MAC_address#Universal_vs._local_(U/L_bit
+ SUBMAC=$(echo "$MAC_ADDR" | cut -d ":" -f 2-6)
+ /usr/bin/usb-ctrl ecm usbnet on "06:$SUBMAC" "02:$SUBMAC"
+else
+ /usr/bin/usb-ctrl ecm usbnet on
+fi
+
+# Use NCM (Ethernet) Gadget instead of FunctionFS Gadget
+echo 0x0103 > /sys/kernel/config/usb_gadget/usbnet/idProduct
+echo "OpenBMC usbnet Device" > /sys/kernel/config/usb_gadget/usbnet/strings/0x409/product
diff --git a/meta-ampere/meta-jade/conf/machine/mtjade.conf b/meta-ampere/meta-jade/conf/machine/mtjade.conf
index b42557566..633efa012 100644
--- a/meta-ampere/meta-jade/conf/machine/mtjade.conf
+++ b/meta-ampere/meta-jade/conf/machine/mtjade.conf
@@ -5,6 +5,7 @@ UBOOT_MACHINE = "ast_g5_phy_config"
require conf/machine/include/ast2500.inc
require conf/machine/include/obmc-bsp-common.inc
require conf/distro/include/phosphor-isolation.inc
+require conf/distro/include/phosphor-aspeed-spi-master-mode.inc
# Reformat SPI flash layout to 64MB
FLASH_SIZE = "65536"
@@ -15,7 +16,7 @@ FLASH_RWFS_OFFSET = "43008"
OBMC_POWER_SUPPLY_INSTANCES = "0 1"
-OBMC_MACHINE_FEATURES += "\
+MACHINE_FEATURES += "\
obmc-phosphor-chassis-mgmt \
obmc-phosphor-flash-mgmt \
obmc-chassis-state-mgmt \
diff --git a/meta-ampere/meta-jade/recipes-ampere/flash/ampere-flash-utils/ampere_flash_bios.sh b/meta-ampere/meta-jade/recipes-ampere/flash/ampere-flash-utils/ampere_flash_bios.sh
index 7a9ace30e..b7f4bc52e 100755
--- a/meta-ampere/meta-jade/recipes-ampere/flash/ampere-flash-utils/ampere_flash_bios.sh
+++ b/meta-ampere/meta-jade/recipes-ampere/flash/ampere-flash-utils/ampere_flash_bios.sh
@@ -18,7 +18,7 @@ do_flash () {
OFFSET=$1
# Check the PNOR partition available
- HOST_MTD=$(cat /proc/mtd | grep "pnor" | sed -n 's/^\(.*\):.*/\1/p')
+ HOST_MTD=$(< /proc/mtd grep "pnor" | sed -n 's/^\(.*\):.*/\1/p')
if [ -z "$HOST_MTD" ];
then
# If the PNOR partition is not available, then bind again driver
@@ -26,7 +26,7 @@ do_flash () {
echo 1e630000.spi > /sys/bus/platform/drivers/aspeed-smc/bind
sleep 2
- HOST_MTD=$(cat /proc/mtd | grep "pnor" | sed -n 's/^\(.*\):.*/\1/p')
+ HOST_MTD=$(< /proc/mtd grep "pnor" | sed -n 's/^\(.*\):.*/\1/p')
if [ -z "$HOST_MTD" ];
then
echo "Fail to probe Host SPI-NOR device"
@@ -35,18 +35,17 @@ do_flash () {
fi
echo "--- Flashing firmware to @/dev/$HOST_MTD offset=$OFFSET"
- flashcp -v $IMAGE /dev/$HOST_MTD $OFFSET
+ flashcp -v "$IMAGE" /dev/"$HOST_MTD" "$OFFSET"
}
if [ $# -eq 0 ]; then
- echo "Usage: $(basename $0) <BIOS image file>"
+ echo "Usage: $(basename "$0") <BIOS image file>"
exit 0
fi
IMAGE="$1"
-if [ ! -f $IMAGE ]; then
- echo $IMAGE
+if [ ! -f "$IMAGE" ]; then
echo "The image file $IMAGE does not exist"
exit 1
fi
@@ -70,9 +69,7 @@ fi
# Switch the host SPI bus to BMC"
echo "--- Switch the host SPI bus to BMC."
-gpioset 0 226=0
-
-if [[ $? -ne 0 ]]; then
+if ! gpioset 0 226=0; then
echo "ERROR: Switch the host SPI bus to BMC. Please check gpio state"
exit 1
fi
@@ -82,9 +79,7 @@ do_flash 0x400000
# Switch the host SPI bus to HOST."
echo "--- Switch the host SPI bus to HOST."
-gpioset 0 226=1
-
-if [[ $? -ne 0 ]]; then
+if ! gpioset 0 226=1; then
echo "ERROR: Switch the host SPI bus to HOST. Please check gpio state"
exit 1
fi
diff --git a/meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update/ampere_update_mac.sh b/meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update/ampere_update_mac.sh
index 4e4d6f3e7..8182b4c8d 100644
--- a/meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update/ampere_update_mac.sh
+++ b/meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update/ampere_update_mac.sh
@@ -5,43 +5,44 @@
ETHERNET_INTERFACE="eth1"
ETHERNET_NCSI="eth0"
ENV_ETH="eth1addr"
-ENV_MAC_ADDR=`fw_printenv | grep $ENV_ETH`
+ENV_MAC_ADDR=$(fw_printenv | grep $ENV_ETH)
# Workaround to dhcp NC-SI eth0 interface when BMC boot up
ifconfig ${ETHERNET_NCSI} down
ifconfig ${ETHERNET_NCSI} up
# Read FRU Board Custom Field 1 to get the MAC address
-CUSTOM_FIELD_1=`busctl get-property xyz.openbmc_project.FruDevice /xyz/openbmc_project/FruDevice/Mt_Jade_Motherboard xyz.openbmc_project.FruDevice BOARD_INFO_AM1`
-MAC_ADDR=`echo $CUSTOM_FIELD_1 | cut -d "\"" -f 2`
+CUSTOM_FIELD_1=$(busctl get-property xyz.openbmc_project.FruDevice /xyz/openbmc_project/FruDevice/Mt_Jade_Motherboard xyz.openbmc_project.FruDevice BOARD_INFO_AM1)
+MAC_ADDR=$(echo "$CUSTOM_FIELD_1" | cut -d "\"" -f 2)
# Check if BMC MAC address is exported
if [ -z "${MAC_ADDR}" ]; then
- echo "ERROR: No BMC MAC address is detected from FRU Inventory information!"
- # Return 1 so that systemd knows the service failed to start
- exit 1
+ echo "ERROR: No BMC MAC address is detected from FRU Inventory information!"
+ # Return 1 so that systemd knows the service failed to start
+ exit 1
fi
# Check if BMC MAC address is exported
if [[ $ENV_MAC_ADDR =~ $MAC_ADDR ]]; then
- echo "WARNING: BMC MAC address already exist!"
- exit 0
+ echo "WARNING: BMC MAC address already exist!"
+ exit 0
fi
# Request to update the MAC address
-fw_setenv ${ENV_ETH} ${MAC_ADDR}
+fw_setenv ${ENV_ETH} "${MAC_ADDR}"
-if [[ $? -ne 0 ]]; then
- echo "ERROR: Fail to set MAC address to ${ENV_ETH}"
- exit 1
+if fw_setenv ${ENV_ETH} "${MAC_ADDR}";
+then
+ echo "ERROR: Fail to set MAC address to ${ENV_ETH}"
+ exit 1
fi
# Request to restart the service
ifconfig ${ETHERNET_INTERFACE} down
-ifconfig ${ETHERNET_INTERFACE} hw ether ${MAC_ADDR}
-if [[ $? -ne 0 ]]; then
- echo "ERROR: Can not update MAC ADDR to ${ETHERNET_INTERFACE}"
- exit 1
+if ! ifconfig ${ETHERNET_INTERFACE} hw ether "${MAC_ADDR}";
+then
+ echo "ERROR: Can not update MAC ADDR to ${ETHERNET_INTERFACE}"
+ exit 1
fi
ifconfig ${ETHERNET_INTERFACE} up
diff --git a/meta-ampere/meta-jade/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh b/meta-ampere/meta-jade/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh
index a2578fa2f..c3772fb9a 100644
--- a/meta-ampere/meta-jade/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh
+++ b/meta-ampere/meta-jade/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh
@@ -1,5 +1,6 @@
#!/bin/bash
+# shellcheck source=/dev/null
source /usr/sbin/gpio-lib.sh
# GPIOAC3 BMC_SPI0_BACKUP_SEL Boot from MAIN SPI-HOST
@@ -29,7 +30,7 @@ gpio_configure_output 229 1
# =======================================================
# Below GPIOs are controlled by other services so just
# initialize in A/C power only.
-cmdline=`cat /proc/cmdline`
+cmdline=$(cat /proc/cmdline)
if [[ $cmdline == *resetreason=power* ]]; then
# BMC_GPIOR2_EXT_HIGHTEMP_L
gpio_configure_output 138 1
diff --git a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere_gpio_utils.sh b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere_gpio_utils.sh
index 8e4f455bf..1a098f446 100644
--- a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere_gpio_utils.sh
+++ b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere_gpio_utils.sh
@@ -1,43 +1,45 @@
#!/bin/bash
+
+# shellcheck source=/dev/null
source /usr/sbin/gpio-defs.sh
source /usr/sbin/gpio-lib.sh
function usage() {
- echo "usage: ampere_gpio_utils.sh [power] [on|off]";
+ echo "usage: ampere_gpio_utils.sh [power] [on|off]";
}
set_gpio_power_off() {
- echo "Setting GPIO before Power off"
- gpio_configure_output $OCP_AUX_PWREN 1
- gpio_configure_output $OCP_MAIN_PWREN 0
- gpio_configure_output $SPI0_PROGRAM_SEL 0
+ echo "Setting GPIO before Power off"
+ gpio_configure_output "$OCP_AUX_PWREN" 1
+ gpio_configure_output "$OCP_MAIN_PWREN" 0
+ gpio_configure_output "$SPI0_PROGRAM_SEL" 0
}
set_gpio_power_on() {
- echo "Setting GPIO before Power on"
- gpio_configure_output $OCP_AUX_PWREN 1
- gpio_configure_output $OCP_MAIN_PWREN 1
- gpio_configure_output $SPI0_PROGRAM_SEL 1
- gpio_configure_output $SPI0_BACKUP_SEL 0
+ echo "Setting GPIO before Power on"
+ gpio_configure_output "$OCP_AUX_PWREN" 1
+ gpio_configure_output "$OCP_MAIN_PWREN" 1
+ gpio_configure_output "$SPI0_PROGRAM_SEL" 1
+ gpio_configure_output "$SPI0_BACKUP_SEL" 0
}
if [ $# -lt 2 ]; then
- echo "Total number of parameter=$#"
- echo "Insufficient parameter"
- usage;
- exit 0;
+ echo "Total number of parameter=$#"
+ echo "Insufficient parameter"
+ usage;
+ exit 0;
fi
-if [ $1 == "power" ]; then
- if [ $2 == "on" ]; then
- set_gpio_power_on
- elif [ $2 == "off" ]; then
- set_gpio_power_off
- fi
- exit 0;
+if [ "$1" == "power" ]; then
+ if [ "$2" == "on" ]; then
+ set_gpio_power_on
+ elif [ "$2" == "off" ]; then
+ set_gpio_power_off
+ fi
+ exit 0;
else
- echo "Invalid parameter1=$1"
- usage;
- exit 0;
+ echo "Invalid parameter1=$1"
+ usage;
+ exit 0;
fi
exit 0;
diff --git a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_host_check.sh b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_host_check.sh
index 9eeeeca5a..024336d20 100644
--- a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_host_check.sh
+++ b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_host_check.sh
@@ -1,45 +1,38 @@
#!/bin/bash
+# shellcheck source=/dev/null
source /usr/sbin/gpio-defs.sh
source /usr/sbin/gpio-lib.sh
-host_status() {
- st=$(busctl get-property xyz.openbmc_project.State.Host /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.Host CurrentHostState | cut -d"." -f6)
- if [ "$st" == "Running\"" ]; then
- echo "on"
- else
- echo "off"
- fi
-}
-
createFile=$1
-setState=$2
-if [ $(host_status) == "on" ]; then
- exit 0
+# Check current Host status. Do nothing when the Host is currently ON
+st=$(busctl get-property xyz.openbmc_project.State.Host \
+ /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.Host \
+ CurrentHostState | cut -d"." -f6)
+if [ "$st" == "Running\"" ]; then
+ exit 0
fi
# Time out to check S0_FW_BOOT_OK is 60 seconds
cnt=60
val=0
-while [ $cnt -gt 0 ];
+while [ "$cnt" -gt 0 ];
do
- val=$(gpio_get_val $S0_CPU_FW_BOOT_OK)
- cnt=$((cnt - 1))
- echo "$cnt S0_CPU_FW_BOOT_OK = $val"
- if [ $val == 1 ]; then
- # Sleep 5 second before the host is ready
- sleep 5
- if [ $createFile == 1 ]; then
- if [ ! -d "/run/openbmc" ]; then
- mkdir -p /run/openbmc
- fi
- echo "Creating /run/openbmc/host@0-on"
- touch /run/openbmc/host@0-on
- fi
- exit 0
- fi
- sleep 1
+ val=$(gpio_get_val "$S0_CPU_FW_BOOT_OK")
+ cnt=$((cnt - 1))
+ echo "$cnt S0_CPU_FW_BOOT_OK = $val"
+ if [ "$val" == 1 ]; then
+ # Sleep 5 second before the host is ready
+ sleep 5
+ if [ "$createFile" == 1 ]; then
+ mkdir -p /run/openbmc
+ echo "Creating /run/openbmc/host@0-on"
+ touch /run/openbmc/host@0-on
+ fi
+ exit 0
+ fi
+ sleep 1
done
exit 1
diff --git a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_power_util.sh b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_power_util.sh
index 2c8ba3d91..d9ca2ed08 100644
--- a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_power_util.sh
+++ b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_power_util.sh
@@ -1,131 +1,120 @@
#!/bin/bash
-#ampere_platform_config.sh is platform configuration file
+
+# shellcheck source=/dev/null
source /usr/sbin/gpio-defs.sh
# Usage of this utility
function usage() {
- echo "usage: power-util mb [status|shutdown_ack|force_reset|soft_off]";
+ echo "Usage:"
+ echo " ampere_power_util.sh mb [status|shutdown_ack|force_reset|soft_off]";
}
power_status() {
- st=$(busctl get-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis CurrentPowerState | cut -d"." -f6)
- if [ "$st" == "On\"" ]; then
- echo "on"
- else
- echo "off"
- fi
+ st=$(busctl get-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis CurrentPowerState | cut -d"." -f6)
+ if [ "$st" == "On\"" ]; then
+ echo "on"
+ else
+ echo "off"
+ fi
}
shutdown_ack() {
- if [ -f "/run/openbmc/host@0-softpoweroff" ]; then
- echo "Receive shutdown ACK triggered after softportoff the host."
- touch /run/openbmc/host@0-softpoweroff-shutdown-ack
- else
- echo "Receive shutdown ACK triggered"
- sleep 3
- systemctl start obmc-chassis-poweroff@0.target
- fi
+ if [ -f "/run/openbmc/host@0-softpoweroff" ]; then
+ echo "Receive shutdown ACK triggered after softportoff the host."
+ touch /run/openbmc/host@0-softpoweroff-shutdown-ack
+ else
+ echo "Receive shutdown ACK triggered"
+ sleep 3
+ systemctl start obmc-chassis-poweroff@0.target
+ fi
}
soft_off() {
- # Trigger shutdown_req
- touch /run/openbmc/host@0-softpoweroff
- gpioset -l $GPIO_CHIP0_IDX $S0_SHD_REQ_L=1
- sleep 1s
- gpioset -l $GPIO_CHIP0_IDX $S0_SHD_REQ_L=0
+ # Trigger shutdown_req
+ touch /run/openbmc/host@0-softpoweroff
+ gpioset -l 0 "$S0_SHD_REQ_L"=1
+ sleep 1s
+ gpioset -l 0 "$S0_SHD_REQ_L"=0
- # Wait for shutdown_ack from the host in 30 seconds
- cnt=30
- while [ $cnt -gt 0 ];
- do
- # Wait for SHUTDOWN_ACK and create the host@0-softpoweroff-shutdown-ack
- if [ -f "/run/openbmc/host@0-softpoweroff-shutdown-ack" ]; then
- break
- fi
- sleep 1
- cnt=$((cnt - 1))
- done
- # Softpoweroff is successed
- sleep 2
- rm -rf /run/openbmc/host@0-softpoweroff
- if [ -f "/run/openbmc/host@0-softpoweroff-shutdown-ack" ]; then
- rm -rf /run/openbmc/host@0-softpoweroff-shutdown-ack
- fi
- echo 0
+ # Wait for shutdown_ack from the host in 30 seconds
+ cnt=30
+ while [ $cnt -gt 0 ];
+ do
+ # Wait for SHUTDOWN_ACK and create the host@0-softpoweroff-shutdown-ack
+ if [ -f "/run/openbmc/host@0-softpoweroff-shutdown-ack" ]; then
+ break
+ fi
+ sleep 1
+ cnt=$((cnt - 1))
+ done
+ # Softpoweroff is successed
+ sleep 2
+ rm -rf /run/openbmc/host@0-softpoweroff
+ if [ -f "/run/openbmc/host@0-softpoweroff-shutdown-ack" ]; then
+ rm -rf /run/openbmc/host@0-softpoweroff-shutdown-ack
+ fi
+ echo 0
}
force_reset() {
- if [ -f "/run/openbmc/host@0-softpoweroff" ]; then
- # In graceful host reset, after trigger os shutdown,
- # the phosphor-state-manager will call force-warm-reset
- # in this case the force_reset should wait for shutdown_ack from host
- cnt=30
- while [ $cnt -gt 0 ];
- do
- if [ -f "/run/openbmc/host@0-softpoweroff-shutdown-ack" ]; then
- break
- fi
- echo "Waiting for shutdown-ack count down $cnt"
- sleep 1
- cnt=$((cnt - 1))
- done
- # The host OS is failed to shutdown
- if [ $cnt == 0 ]; then
- echo "Shutdown-ack time out after 30s."
- exit 0
- fi
- fi
- echo "Triggering sysreset pin"
- gpioset -l $GPIO_CHIP0_IDX $S0_SYSRESET_L=1
- sleep 1
- gpioset -l $GPIO_CHIP0_IDX $S0_SYSRESET_L=0
+ if [ -f "/run/openbmc/host@0-softpoweroff" ]; then
+ # In graceful host reset, after trigger os shutdown,
+ # the phosphor-state-manager will call force-warm-reset
+ # in this case the force_reset should wait for shutdown_ack from host
+ cnt=30
+ while [ $cnt -gt 0 ];
+ do
+ if [ -f "/run/openbmc/host@0-softpoweroff-shutdown-ack" ]; then
+ break
+ fi
+ echo "Waiting for shutdown-ack count down $cnt"
+ sleep 1
+ cnt=$((cnt - 1))
+ done
+ # The host OS is failed to shutdown
+ if [ $cnt == 0 ]; then
+ echo "Shutdown-ack time out after 30s."
+ exit 0
+ fi
+ fi
+ echo "Triggering sysreset pin"
+ gpioset -l 0 "$S0_SYSRESET_L"=1
+ sleep 1
+ gpioset -l 0 "$S0_SYSRESET_L"=0
}
if [ $# -lt 2 ]; then
- echo "Total number of parameter=$#"
- echo "Insufficient parameter"
- usage;
- exit 0;
+ echo "Total number of parameter=$#"
+ echo "Insufficient parameter"
+ usage;
+ exit 0;
fi
-if [ $1 != "mb" ]; then
- echo "Invalid parameter1=$1"
- usage;
- exit 0;
+if [ "$1" != "mb" ]; then
+ echo "Invalid parameter1=$1"
+ usage;
+ exit 0;
fi
-# check if power guard enabled
-dir="/run/systemd/system/"
-file="reboot-guard.conf"
-units=("reboot" "poweroff" "halt")
-for unit in "${units[@]}"; do
- if [ -f ${dir}${unit}.target.d/${file} ]; then
- echo "PowerGuard enabled, cannot do power control, exit!!!"
- exit -1
- fi
-done
-
-if [ ! -d "/run/openbmc/" ]; then
- mkdir -p "/run/openbmc/"
-fi
+mkdir -p /run/openbmc/
-if [ $2 == "shutdown_ack" ]; then
- shutdown_ack
-elif [ $2 == "status" ]; then
- power_status
-elif [ $2 == "force_reset" ]; then
- force_reset
-elif [ $2 == "soft_off" ]; then
- ret=$(soft_off)
- if [ $ret == 0 ]; then
- echo "The host is already softoff"
- else
- echo "Failed to softoff the host"
- fi
- exit $ret;
+if [ "$2" == "shutdown_ack" ]; then
+ shutdown_ack
+elif [ "$2" == "status" ]; then
+ power_status
+elif [ "$2" == "force_reset" ]; then
+ force_reset
+elif [ "$2" == "soft_off" ]; then
+ ret=$(soft_off)
+ if [ "$ret" == 0 ]; then
+ echo "The host is already softoff"
+ else
+ echo "Failed to softoff the host"
+ fi
+ exit "$ret";
else
- echo "Invalid parameter2=$2"
- usage;
+ echo "Invalid parameter2=$2"
+ usage;
fi
exit 0;
diff --git a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/gpio-defs.sh b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/gpio-defs.sh
index 7c887d409..fc0edd6fc 100644
--- a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/gpio-defs.sh
+++ b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/gpio-defs.sh
@@ -1,3 +1,6 @@
+#!/bin/sh
+
+# shellcheck disable=SC2034
# Index of GPIO device in gpioget/gpioset
GPIO_CHIP0_IDX=0
GPIO_CHIP1_IDX=1
diff --git a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/gpio-lib.sh b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/gpio-lib.sh
index 8d1aa61d7..c8721fe97 100644
--- a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/gpio-lib.sh
+++ b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/gpio-lib.sh
@@ -1,31 +1,33 @@
#!/bin/bash
+
+# shellcheck source=/dev/null
source /usr/sbin/gpio-defs.sh
function gpio_number() {
- GPIO_BASE=$(cat /sys/class/gpio/gpiochip$GPIO_CHIP0_BASE/base)
- echo $((${GPIO_BASE} + $1))
+ GPIO_BASE=$(cat /sys/class/gpio/gpiochip"$GPIO_CHIP0_BASE"/base)
+ echo $((GPIO_BASE + $1))
}
# Configure GPIO as output and set its value
function gpio_configure_output() {
- gpioId=$(gpio_number $1)
- echo $gpioId > /sys/class/gpio/export
- echo out > /sys/class/gpio/gpio${gpioId}/direction
- echo $2 > /sys/class/gpio/gpio${gpioId}/value
- echo $gpioId > /sys/class/gpio/unexport
+ gpioId=$(gpio_number "$1")
+ echo "$gpioId" > /sys/class/gpio/export
+ echo out > /sys/class/gpio/gpio"${gpioId}"/direction
+ echo "$2" > /sys/class/gpio/gpio"${gpioId}"/value
+ echo "$gpioId" > /sys/class/gpio/unexport
}
function gpio_get_val() {
- gpioId=$(gpio_number $1)
- echo $gpioId > /sys/class/gpio/export
- echo $(cat /sys/class/gpio/gpio$gpioId/value)
- echo $gpioId > /sys/class/gpio/unexport
+ gpioId=$(gpio_number "$1")
+ echo "$gpioId" > /sys/class/gpio/export
+ cat /sys/class/gpio/gpio"$gpioId"/value
+ echo "$gpioId" > /sys/class/gpio/unexport
}
# Configure GPIO as input
function gpio_configure_input() {
- gpioId=$(gpio_number $1)
- echo $gpioId > /sys/class/gpio/export
- echo "in" > /sys/class/gpio/gpio${gpioId}/direction
- echo $gpioId > /sys/class/gpio/unexport
+ gpioId=$(gpio_number "$1")
+ echo "$gpioId" > /sys/class/gpio/export
+ echo "in" > /sys/class/gpio/gpio"${gpioId}"/direction
+ echo "$gpioId" > /sys/class/gpio/unexport
}
diff --git a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0001-aspeed-scu-Switch-PWM-pin-to-GPIO-input-mode.patch b/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0001-aspeed-scu-Switch-PWM-pin-to-GPIO-input-mode.patch
deleted file mode 100644
index b714be4c6..000000000
--- a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0001-aspeed-scu-Switch-PWM-pin-to-GPIO-input-mode.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 03dcf584823b8b7db7d437257dbb45bd4b7f95b4 Mon Sep 17 00:00:00 2001
-From: Chanh Nguyen <chnguyen@amperecomputing.com>
-Date: Mon, 21 Dec 2020 07:01:14 +0000
-Subject: [PATCH] aspeed/scu : Switch PWM pin to GPIO input mode
-
-In hardware design, the PWM pins will be at a high level if they are
-configured in GPIO Input mode. This commit configures all PWM function
-pins to input GPIO mode. This will allow fans to run at full speed when BMC resets or in U-boot.
-
-Signed-off-by: Chanh Nguyen <chnguyen@amperecomputing.com>
----
- arch/arm/include/asm/arch-aspeed/ast_scu.h | 1 +
- arch/arm/mach-aspeed/ast-scu.c | 12 ++++++++++++
- board/aspeed/ast-g5/ast-g5.c | 10 ++++++++++
- include/configs/ast-g5-phy.h | 3 +++
- 4 files changed, 26 insertions(+)
-
-diff --git a/arch/arm/include/asm/arch-aspeed/ast_scu.h b/arch/arm/include/asm/arch-aspeed/ast_scu.h
-index dcbc6730d4..d2c010a0dc 100644
---- a/arch/arm/include/asm/arch-aspeed/ast_scu.h
-+++ b/arch/arm/include/asm/arch-aspeed/ast_scu.h
-@@ -45,5 +45,6 @@ extern u32 ast_scu_get_vga_memsize(void);
- extern void ast_scu_init_eth(u8 num);
- extern void ast_scu_multi_func_eth(u8 num);
- extern void ast_scu_multi_func_romcs(u8 num);
-+extern void ast_scu_switch_pwm_to_gpio_mode(void);
-
- #endif
-diff --git a/arch/arm/mach-aspeed/ast-scu.c b/arch/arm/mach-aspeed/ast-scu.c
-index 12de9b8036..ef90ef3805 100644
---- a/arch/arm/mach-aspeed/ast-scu.c
-+++ b/arch/arm/mach-aspeed/ast-scu.c
-@@ -443,6 +443,18 @@ void ast_scu_multi_func_eth(u8 num)
- }
- }
-
-+void ast_scu_switch_pwm_to_gpio_mode(void)
-+{
-+ ast_scu_write(ast_scu_read(AST_SCU_FUN_PIN_CTRL3) &
-+ ~SCU_FUN_PIN_VPIG2 &
-+ ~SCU_FUN_PIN_VPIG3 &
-+ ~SCU_FUN_PIN_VPIG4 &
-+ ~SCU_FUN_PIN_VPIG5 &
-+ ~SCU_FUN_PIN_VPIG6 &
-+ ~SCU_FUN_PIN_VPIG7,
-+ AST_SCU_FUN_PIN_CTRL3);
-+}
-+
- void ast_scu_multi_func_romcs(u8 num)
- {
- ast_scu_write(ast_scu_read(AST_SCU_FUN_PIN_CTRL3) |
-diff --git a/board/aspeed/ast-g5/ast-g5.c b/board/aspeed/ast-g5/ast-g5.c
-index e67a4bf8b2..fba22a728e 100644
---- a/board/aspeed/ast-g5/ast-g5.c
-+++ b/board/aspeed/ast-g5/ast-g5.c
-@@ -24,6 +24,16 @@ int board_init(void)
- return 0;
- }
-
-+#ifdef CONFIG_BOARD_LATE_INIT
-+int board_late_init(void)
-+{
-+ /* Switch PWM to GPIO mode to make FAN run in max speed */
-+ ast_scu_switch_pwm_to_gpio_mode();
-+
-+ return 0;
-+}
-+#endif
-+
- int dram_init(void)
- {
- u32 vga = ast_scu_get_vga_memsize();
-diff --git a/include/configs/ast-g5-phy.h b/include/configs/ast-g5-phy.h
-index 62ddb841e5..5443a26cab 100644
---- a/include/configs/ast-g5-phy.h
-+++ b/include/configs/ast-g5-phy.h
-@@ -30,4 +30,7 @@
- /* platform.S */
- #define CONFIG_DRAM_ECC_SIZE 0x10000000
-
-+/* Call board_late_init */
-+#define CONFIG_BOARD_LATE_INIT 1
-+
- #endif /* __AST_G5_PHY_CONFIG_H */
---
-2.25.1
-
diff --git a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0002-aspeed-Disable-internal-PD-resistors-for-GPIOs.patch b/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0002-aspeed-Disable-internal-PD-resistors-for-GPIOs.patch
deleted file mode 100644
index 249d4398f..000000000
--- a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0002-aspeed-Disable-internal-PD-resistors-for-GPIOs.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From c6e0470d82417b79b23f218c6db1099eb6e160af Mon Sep 17 00:00:00 2001
-From: "Thang Q. Nguyen" <thang@os.amperecomputing.com>
-Date: Wed, 23 Dec 2020 04:42:21 +0000
-Subject: [PATCH] aspeed: Disable internal PD resistors for GPIOs
-
-Configure SCU8C - Multi-function pin control 4 to disable internal pull
-down resistors for GPIOJ, GPIOG/GPIOAB, GPIOD/GPIOY, GPIOC/GPIOS as
-external resistors are already installed.
-
-Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
----
- board/aspeed/ast-g5/ast-g5.c | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/board/aspeed/ast-g5/ast-g5.c b/board/aspeed/ast-g5/ast-g5.c
-index fba22a728e..9bf6c905fe 100644
---- a/board/aspeed/ast-g5/ast-g5.c
-+++ b/board/aspeed/ast-g5/ast-g5.c
-@@ -27,9 +27,23 @@ int board_init(void)
- #ifdef CONFIG_BOARD_LATE_INIT
- int board_late_init(void)
- {
-+ u32 val;
-+
- /* Switch PWM to GPIO mode to make FAN run in max speed */
- ast_scu_switch_pwm_to_gpio_mode();
-
-+ /*
-+ * Disable internal pull down resistor for GPIOJ,
-+ * GPIOG/GPIOAB, GPIOD/GPIOY, GPIOC/GPIOS as external pull up/down
-+ * resistors are installed already. Unlock SCU regs before writing.
-+ */
-+ writel(SCU_PROTECT_UNLOCK, AST_SCU_BASE);
-+ val = readl(AST_SCU_BASE + AST_SCU_FUN_PIN_CTRL4) | 0x024C0000;
-+ writel(val, AST_SCU_BASE + AST_SCU_FUN_PIN_CTRL4);
-+#ifdef CONFIG_AST_SCU_LOCK
-+ writel(0xaa, AST_SCU_BASE);
-+#endif
-+
- return 0;
- }
- #endif
---
-2.25.1
-
diff --git a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0003-aspeed-support-passing-system-reset-status-to-kernel.patch b/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0003-aspeed-support-passing-system-reset-status-to-kernel.patch
deleted file mode 100644
index 0381b5d84..000000000
--- a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0003-aspeed-support-passing-system-reset-status-to-kernel.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From af4353ab19aaf29dc68ff89a0d581102ca5be43c Mon Sep 17 00:00:00 2001
-From: "Thang Q. Nguyen" <thang@os.amperecomputing.com>
-Date: Wed, 6 Jan 2021 06:33:36 +0000
-Subject: [PATCH] aspeed: support passing system reset status to kernel via
- bootargs
-
-This is a backport of the patch file from
-openbmc/meta-yadro/meta-nicole/recipes-bsp/u-boot/
-to add the Aspeed reset reason to bootargs so kernel applications
-can query it.
-
-Test case: /proc/cmdline must contain:
- - resetreason=power after cold bmc boot
- - resetreason=watchdog after warm bmc reboot
-
-Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
-Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
----
- arch/arm/include/asm/arch-aspeed/ast_scu.h | 2 +-
- arch/arm/mach-aspeed/ast-scu.c | 6 +-
- board/aspeed/ast-g5/ast-g5.c | 81 ++++++++++++++++++++++
- 3 files changed, 87 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/include/asm/arch-aspeed/ast_scu.h b/arch/arm/include/asm/arch-aspeed/ast_scu.h
-index d2c010a0dc..f5c9126ec0 100644
---- a/arch/arm/include/asm/arch-aspeed/ast_scu.h
-+++ b/arch/arm/include/asm/arch-aspeed/ast_scu.h
-@@ -29,7 +29,7 @@
- #define __AST_SCU_H
-
- extern void ast_scu_show_system_info (void);
--extern void ast_scu_sys_rest_info(void);
-+extern u32 ast_scu_sys_rest_info(void);
- extern void ast_scu_security_info(void);
- extern u32 ast_scu_revision_id(void);
- extern u32 ast_scu_get_vga_memsize(void);
-diff --git a/arch/arm/mach-aspeed/ast-scu.c b/arch/arm/mach-aspeed/ast-scu.c
-index ef90ef3805..c7ab66415f 100644
---- a/arch/arm/mach-aspeed/ast-scu.c
-+++ b/arch/arm/mach-aspeed/ast-scu.c
-@@ -494,22 +494,26 @@ void ast_scu_security_info(void)
- }
- }
-
--void ast_scu_sys_rest_info(void)
-+u32 ast_scu_sys_rest_info(void)
- {
- u32 rest = ast_scu_read(AST_SCU_SYS_CTRL);
-
- if (rest & SCU_SYS_EXT_RESET_FLAG) {
- printf("RST : External\n");
- ast_scu_write(SCU_SYS_EXT_RESET_FLAG, AST_SCU_SYS_CTRL);
-+ rest = SCU_SYS_EXT_RESET_FLAG;
- } else if (rest & SCU_SYS_WDT_RESET_FLAG) {
- printf("RST : Watchdog\n");
- ast_scu_write(SCU_SYS_WDT_RESET_FLAG, AST_SCU_SYS_CTRL);
-+ rest = SCU_SYS_WDT_RESET_FLAG;
- } else if (rest & SCU_SYS_PWR_RESET_FLAG) {
- printf("RST : Power On\n");
- ast_scu_write(SCU_SYS_PWR_RESET_FLAG, AST_SCU_SYS_CTRL);
-+ rest = SCU_SYS_PWR_RESET_FLAG;
- } else {
- printf("RST : CLK en\n");
- }
-+ return rest;
- }
-
- u32 ast_scu_get_vga_memsize(void)
-diff --git a/board/aspeed/ast-g5/ast-g5.c b/board/aspeed/ast-g5/ast-g5.c
-index 9bf6c905fe..9e27bce0f5 100644
---- a/board/aspeed/ast-g5/ast-g5.c
-+++ b/board/aspeed/ast-g5/ast-g5.c
-@@ -8,6 +8,8 @@
- */
-
- #include <common.h>
-+#include <stdlib.h>
-+#include <asm/arch/regs-scu.h>
- #include <netdev.h>
-
- #include <asm/arch/ast_scu.h>
-@@ -25,9 +27,76 @@ int board_init(void)
- }
-
- #ifdef CONFIG_BOARD_LATE_INIT
-+static void update_bootargs_cmd(const char *key, const char *value)
-+{
-+ int buf_len;
-+ char *buf;
-+ char *cmdline;
-+ char *end = NULL;
-+
-+ if (!key || (key[0] == '\0')) {
-+ printf("%s: Empty key not allowed\n", __func__);
-+ return;
-+ }
-+
-+ cmdline = getenv("bootargs");
-+
-+ /* Allocate space for maximum possible new command line */
-+ buf_len = (cmdline ? strlen(cmdline) : 0)
-+ + 1 /* spacebar as delimiter */
-+ + strlen(key)
-+ + (value ? 1 /* equal sign */ + strlen(value) : 0)
-+ + 1 /* terminating null */;
-+
-+ buf = calloc(buf_len, sizeof(char));
-+ if (!buf) {
-+ printf("%s: out of memory\n", __func__);
-+ return;
-+ }
-+
-+ if (cmdline)
-+ {
-+ char *start = strstr(cmdline, key);
-+
-+ /* Check for full word match. Match should be start of cmdline
-+ * or there should be space before match
-+ **/
-+ if (start && ((start == cmdline) || (*(start - 1) == ' '))) {
-+ strncat(buf, cmdline, (start - cmdline));
-+
-+ /* Find the end of the keyword[=value] pair,
-+ * including a single training space character, if any.
-+ * Skip the found substring, mark the tail of cmdline.
-+ **/
-+ end = strchr(start, ' ');
-+ if (end) {
-+ end++;
-+ }
-+ } else {
-+ strcat(buf, cmdline);
-+ strcat(buf, " ");
-+ }
-+ }
-+
-+ strcat(buf, key);
-+ if (value) {
-+ strcat(buf, "=");
-+ strcat(buf, value);
-+ }
-+
-+ if (end) {
-+ strcat(buf, " ");
-+ strcat(buf, end);
-+ }
-+
-+ setenv("bootargs", buf);
-+ free(buf);
-+}
-+
- int board_late_init(void)
- {
- u32 val;
-+ u32 reset_reason = ast_scu_sys_rest_info();
-
- /* Switch PWM to GPIO mode to make FAN run in max speed */
- ast_scu_switch_pwm_to_gpio_mode();
-@@ -44,6 +113,18 @@ int board_late_init(void)
- writel(0xaa, AST_SCU_BASE);
- #endif
-
-+ if (reset_reason & SCU_SYS_EXT_RESET_FLAG) {
-+ update_bootargs_cmd("resetreason", "external");
-+ } else if (reset_reason & SCU_SYS_WDT_RESET_FLAG) {
-+ update_bootargs_cmd("resetreason", "watchdog");
-+ } else if (reset_reason & SCU_SYS_PWR_RESET_FLAG) {
-+ update_bootargs_cmd("resetreason", "power");
-+ } else {
-+ char value[32];
-+ snprintf(value, sizeof(value) - 1, "0x%x", reset_reason);
-+ update_bootargs_cmd("resetreason", value);
-+ }
-+
- return 0;
- }
- #endif
---
-2.25.1
-
diff --git a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0004-aspeed-add-gpio-support.patch b/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0004-aspeed-add-gpio-support.patch
deleted file mode 100644
index 2f8ff45bd..000000000
--- a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0004-aspeed-add-gpio-support.patch
+++ /dev/null
@@ -1,518 +0,0 @@
-From 7372552ae247e4870fb6dc80df7610f86d736a57 Mon Sep 17 00:00:00 2001
-From: Chanh Nguyen <chanh@os.amperecomputing.com>
-Date: Tue, 9 Mar 2021 11:04:56 +0700
-Subject: [PATCH] aspeed: add gpio support
-
-This is an initial support for the parallel GPIO pins directly connected
-to the AHB on the Aspeed 2400/2500.
-
-This brings the functions and a shell command to manipulate the GPIO
-state. The GPIO value reading and writing work in non interrupt mode
-only.
-
-This is back ported from the patch file from
-meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0003-aspeed-add-gpio-support.patch
-to support GPIO configuration
-
-Signed-off-by: Alexander Filippov <a.filippov@yadro.com>
-Signed-off-by: Thang Q. Nguyen <thangqn@amperecomputing.com>
-Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
----
- arch/arm/include/asm/arch-aspeed/gpio.h | 65 ++++
- drivers/gpio/Makefile | 2 +
- drivers/gpio/aspeed_gpio.c | 386 ++++++++++++++++++++++++
- include/configs/ast-g5-phy.h | 1 +
- 4 files changed, 454 insertions(+)
- create mode 100644 arch/arm/include/asm/arch-aspeed/gpio.h
- create mode 100644 drivers/gpio/aspeed_gpio.c
-
-diff --git a/arch/arm/include/asm/arch-aspeed/gpio.h b/arch/arm/include/asm/arch-aspeed/gpio.h
-new file mode 100644
-index 0000000000..c63987e917
---- /dev/null
-+++ b/arch/arm/include/asm/arch-aspeed/gpio.h
-@@ -0,0 +1,65 @@
-+/*
-+ * SPDX-License-Identifier: GPL-2.0+
-+ * Copyright (C) 2020 YADRO.
-+ */
-+#ifndef _ASPEED_GPIO_H
-+#define _ASPEED_GPIO_H
-+
-+#define ASPEED_GPIO_PORT_A 0
-+#define ASPEED_GPIO_PORT_B 1
-+#define ASPEED_GPIO_PORT_C 2
-+#define ASPEED_GPIO_PORT_D 3
-+#define ASPEED_GPIO_PORT_E 4
-+#define ASPEED_GPIO_PORT_F 5
-+#define ASPEED_GPIO_PORT_G 6
-+#define ASPEED_GPIO_PORT_H 7
-+#define ASPEED_GPIO_PORT_I 8
-+#define ASPEED_GPIO_PORT_J 9
-+#define ASPEED_GPIO_PORT_K 10
-+#define ASPEED_GPIO_PORT_L 11
-+#define ASPEED_GPIO_PORT_M 12
-+#define ASPEED_GPIO_PORT_N 13
-+#define ASPEED_GPIO_PORT_O 14
-+#define ASPEED_GPIO_PORT_P 15
-+#define ASPEED_GPIO_PORT_Q 16
-+#define ASPEED_GPIO_PORT_R 17
-+#define ASPEED_GPIO_PORT_S 18
-+#define ASPEED_GPIO_PORT_T 19
-+#define ASPEED_GPIO_PORT_U 20
-+#define ASPEED_GPIO_PORT_V 21
-+#define ASPEED_GPIO_PORT_W 22
-+#define ASPEED_GPIO_PORT_X 23
-+#define ASPEED_GPIO_PORT_Y 24
-+#define ASPEED_GPIO_PORT_Z 25
-+#define ASPEED_GPIO_PORT_AA 26
-+#define ASPEED_GPIO_PORT_AB 27
-+#define ASPEED_GPIO_PORT_AC 28
-+
-+#define ASPEED_GPIO_PORT_SHIFT 3
-+#define ASPEED_GPIO_PIN_MASK 0x7
-+#define ASPEED_GPIO(port, pin) \
-+ ((ASPEED_GPIO_PORT_##port << ASPEED_GPIO_PORT_SHIFT) | \
-+ (pin & ASPEED_GPIO_PIN_MASK))
-+
-+/* Direction values */
-+#define ASPEED_GPIO_INPUT 0
-+#define ASPEED_GPIO_OUTPUT 1
-+
-+/* Trigger values */
-+#define ASPEED_GPIO_FALLING_EDGE 0
-+#define ASPEED_GPIO_RISING_EDGE 1
-+#define ASPEED_GPIO_LOW_LEVEL 2
-+#define ASPEED_GPIO_HIGH_LEVEL 3
-+#define ASPEED_GPIO_DUAL_EDGE 4
-+
-+/* Debounce values */
-+#define ASPEED_GPIO_DEBOUNCE_NONE 0
-+#define ASPEED_GPIO_DEBOUNCE_1 1
-+#define ASPEED_GPIO_DEBOUNCE_2 2
-+#define ASPEED_GPIO_DEBOUNCE_3 3
-+
-+#define gpio_status() gpio_info()
-+
-+extern void gpio_info(void);
-+
-+#endif /* #ifndef _ASPEED_GPIO_H */
-diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
-index 792d19186a..5f043e07ce 100644
---- a/drivers/gpio/Makefile
-+++ b/drivers/gpio/Makefile
-@@ -14,6 +14,8 @@ obj-$(CONFIG_DM_GPIO) += gpio-uclass.o
- obj-$(CONFIG_DM_PCA953X) += pca953x_gpio.o
- obj-$(CONFIG_DM_74X164) += 74x164_gpio.o
-
-+obj-$(CONFIG_ARCH_AST2400) += aspeed_gpio.o
-+obj-$(CONFIG_ARCH_AST2500) += aspeed_gpio.o
- obj-$(CONFIG_AT91_GPIO) += at91_gpio.o
- obj-$(CONFIG_ATMEL_PIO4) += atmel_pio4.o
- obj-$(CONFIG_INTEL_ICH6_GPIO) += intel_ich6_gpio.o
-diff --git a/drivers/gpio/aspeed_gpio.c b/drivers/gpio/aspeed_gpio.c
-new file mode 100644
-index 0000000000..dc07f5a520
---- /dev/null
-+++ b/drivers/gpio/aspeed_gpio.c
-@@ -0,0 +1,386 @@
-+/*
-+ * SPDX-License-Identifier: GPL-2.0+
-+ * Copyright (C) 2020 YADRO.
-+ */
-+
-+#include <common.h>
-+
-+#include <asm/arch/gpio.h>
-+#include <asm/arch/platform.h>
-+#include <asm/io.h>
-+#include <linux/ctype.h>
-+
-+typedef struct _ast_gpio_regs
-+{
-+ uint32_t base; /* data and direction registers */
-+ uint32_t intcfg; /* interrupt config */
-+ uint32_t debounce; /* debounce config */
-+ uint32_t cmdsrc; /* command source config */
-+ uint32_t data; /* data read register */
-+} ast_gpio_regs_t;
-+
-+static ast_gpio_regs_t ast_gpio_regs[] = {
-+ /* A/B/C/D */
-+ {AST_GPIO_BASE + 0x0000, AST_GPIO_BASE + 0x0008, AST_GPIO_BASE + 0x0040,
-+ AST_GPIO_BASE + 0x0060, AST_GPIO_BASE + 0x00C0},
-+ /* E/F/G/H */
-+ {AST_GPIO_BASE + 0x0020, AST_GPIO_BASE + 0x0028, AST_GPIO_BASE + 0x0048,
-+ AST_GPIO_BASE + 0x0068, AST_GPIO_BASE + 0x00C4},
-+ /* I/J/K/L */
-+ {AST_GPIO_BASE + 0x0070, AST_GPIO_BASE + 0x0098, AST_GPIO_BASE + 0x00B0,
-+ AST_GPIO_BASE + 0x0090, AST_GPIO_BASE + 0x00C8},
-+ /* M/N/O/P */
-+ {AST_GPIO_BASE + 0x0078, AST_GPIO_BASE + 0x00E8, AST_GPIO_BASE + 0x0100,
-+ AST_GPIO_BASE + 0x00E0, AST_GPIO_BASE + 0x00CC},
-+ /* Q/R/S/T */
-+ {AST_GPIO_BASE + 0x0080, AST_GPIO_BASE + 0x0118, AST_GPIO_BASE + 0x0130,
-+ AST_GPIO_BASE + 0x0110, AST_GPIO_BASE + 0x00D0},
-+ /* U/V/W/X */
-+ {AST_GPIO_BASE + 0x0088, AST_GPIO_BASE + 0x0148, AST_GPIO_BASE + 0x0160,
-+ AST_GPIO_BASE + 0x0140, AST_GPIO_BASE + 0x00D4},
-+ /* Y/Z/AA/AB */
-+ {AST_GPIO_BASE + 0x01E0, AST_GPIO_BASE + 0x0178, AST_GPIO_BASE + 0x0190,
-+ AST_GPIO_BASE + 0x0170, AST_GPIO_BASE + 0x00D8},
-+ /* AC */
-+ {AST_GPIO_BASE + 0x01E8, AST_GPIO_BASE + 0x01A8, AST_GPIO_BASE + 0x01C0,
-+ AST_GPIO_BASE + 0x01A0, AST_GPIO_BASE + 0x00DC},
-+};
-+
-+#define AST_GPIO_PINS_PER_PORT 8
-+#define AST_GPIO_PORTS_PER_REGISTER 4
-+
-+#define AST_GPIO_PORT(gpio) (gpio >> ASPEED_GPIO_PORT_SHIFT)
-+#define AST_GPIO_PIN(gpio) (gpio & ASPEED_GPIO_PIN_MASK)
-+#define AST_GPIO_SHIFT(gpio) \
-+ ((AST_GPIO_PORT(gpio) % AST_GPIO_PORTS_PER_REGISTER) * \
-+ AST_GPIO_PINS_PER_PORT + \
-+ AST_GPIO_PIN(gpio))
-+
-+#define AST_GPIO_REG_INDEX(gpio) \
-+ (AST_GPIO_PORT(gpio) / AST_GPIO_PORTS_PER_REGISTER)
-+
-+/**
-+ * @return Pointer to corresponding item from ast_gpio_regs table.
-+ */
-+#define AST_GPIO_REGS(gpio) \
-+ ((AST_GPIO_REG_INDEX(gpio) < ARRAY_SIZE(ast_gpio_regs)) \
-+ ? (ast_gpio_regs + AST_GPIO_REG_INDEX(gpio)) \
-+ : NULL)
-+
-+/**
-+ * @brief Set a corresponding bit in specified register.
-+ *
-+ * @param val - Required bit value
-+ * @param base - Register address
-+ * @param shift - Bit index.
-+ */
-+#define AST_GPIO_WRITE(val, base, shift) \
-+ writel(((val) ? readl(base) | (1 << (shift)) \
-+ : readl(base) & ~(1 << (shift))), \
-+ base)
-+
-+/**
-+ * @brief Get value of corresponging bit from specified register.
-+ *
-+ * @param base - Register address
-+ * @param shift - Bit index
-+ *
-+ * @return Bit value
-+ */
-+#define AST_GPIO_READ(base, shift) ((readl(base) >> (shift)) & 1)
-+
-+#define IS_VALID_GPIO(gpio) \
-+ ((gpio) >= ASPEED_GPIO(A, 0) && (gpio) <= ASPEED_GPIO(AC, 7))
-+
-+#define AST_GPIO_DIRECTION 0x04
-+#define AST_GPIO_INT_SENS0 0x04
-+#define AST_GPIO_INT_SENS1 0x08
-+#define AST_GPIO_INT_SENS2 0x0C
-+#define AST_GPIO_INT_STATUS 0x10
-+#define AST_GPIO_DEBOUNCE0 0x00
-+#define AST_GPIO_DEBOUNCE1 0x04
-+#define AST_GPIO_CMD_SRC0 0x00
-+#define AST_GPIO_CMD_SRC1 0x04
-+
-+/**
-+ * @brief Set a GPIO direction
-+ *
-+ * @param gpio GPIO line
-+ * @param direction GPIO direction (0 for input or 1 for output)
-+ *
-+ * @return 0 if ok, -1 on error
-+ */
-+static int ast_gpio_set_direction(unsigned gpio, unsigned direction)
-+{
-+ ast_gpio_regs_t *regs = AST_GPIO_REGS(gpio);
-+ if (!regs)
-+ {
-+ printf("%s: Invalid GPIO!\n", __func__);
-+ return -1;
-+ }
-+
-+ AST_GPIO_WRITE(direction, regs->base + AST_GPIO_DIRECTION,
-+ AST_GPIO_SHIFT(gpio));
-+ return 0;
-+}
-+
-+/**
-+ * The 6 following functions are generic u-boot gpio implementation.
-+ * They are declared in `include/asm-generic/gpio.h`
-+ */
-+
-+int gpio_request(unsigned gpio, const char *label)
-+{
-+ return (IS_VALID_GPIO(gpio) ? 0 : -1);
-+}
-+
-+int gpio_free(unsigned gpio)
-+{
-+ return (IS_VALID_GPIO(gpio) ? 0 : -1);
-+}
-+
-+int gpio_get_value(unsigned gpio)
-+{
-+ ast_gpio_regs_t *regs = AST_GPIO_REGS(gpio);
-+ if (!regs)
-+ {
-+ printf("%s: Invalid GPIO!\n", __func__);
-+ return -1;
-+ }
-+
-+ return AST_GPIO_READ(regs->base, AST_GPIO_SHIFT(gpio));
-+}
-+
-+int gpio_set_value(unsigned gpio, int value)
-+{
-+ ast_gpio_regs_t *regs = AST_GPIO_REGS(gpio);
-+ if (!regs)
-+ {
-+ printf("%s: Invalid GPIO!\n", __func__);
-+ return -1;
-+ }
-+
-+ AST_GPIO_WRITE(value, regs->base, AST_GPIO_SHIFT(gpio));
-+ return 0;
-+}
-+
-+int gpio_direction_input(unsigned gpio)
-+{
-+ return ast_gpio_set_direction(gpio, ASPEED_GPIO_INPUT);
-+}
-+
-+int gpio_direction_output(unsigned gpio, int value)
-+{
-+ int rc = ast_gpio_set_direction(gpio, ASPEED_GPIO_OUTPUT);
-+ return (rc == 0 ? gpio_set_value(gpio, value) : rc);
-+}
-+
-+/**
-+ * @brief Convert a string to GPIO line. Used by `do_gpio()` from `cmd/gpio.c`
-+ *
-+ * @param str a GPIO name or line number
-+ *
-+ * @return GPIO line if ok, -1 on error
-+ */
-+int name_to_gpio(const char *str)
-+{
-+ int gpio = -1;
-+
-+ if (str)
-+ {
-+ if (isalpha(*str))
-+ {
-+ gpio = (toupper(*str) - 'A') << ASPEED_GPIO_PORT_SHIFT;
-+
-+ if (toupper(*str) == 'A' && toupper(*(str + 1)) >= 'A' &&
-+ toupper(*(str + 1)) <= 'C')
-+ {
-+ str++;
-+ gpio = (ASPEED_GPIO_PORT_AA + toupper(*str) - 'A')
-+ << ASPEED_GPIO_PORT_SHIFT;
-+ }
-+
-+ str++;
-+ if (*str >= '0' && *str <= '7' && !*(str + 1))
-+ {
-+ gpio += *str - '0';
-+ }
-+ else
-+ {
-+ gpio = -1;
-+ }
-+ }
-+ else if (isdigit(*str))
-+ {
-+ gpio = simple_strtoul(str, NULL, 0);
-+ }
-+ }
-+
-+ return gpio;
-+}
-+
-+/**
-+ * @return A GPIO direction in human readable format.
-+ */
-+static const char *ast_gpio_direction(unsigned gpio)
-+{
-+ ast_gpio_regs_t *regs = AST_GPIO_REGS(gpio);
-+ if (regs)
-+ {
-+ int direction = AST_GPIO_READ(regs->base + AST_GPIO_DIRECTION,
-+ AST_GPIO_SHIFT(gpio));
-+ switch (direction)
-+ {
-+ case ASPEED_GPIO_INPUT:
-+ return "input";
-+ case ASPEED_GPIO_OUTPUT:
-+ return "output";
-+ default:
-+ break;
-+ }
-+ }
-+ return "error";
-+}
-+
-+/**
-+ * @return An interrupt trigger settings in human readable format.
-+ */
-+static const char *ast_gpio_trigger(unsigned gpio)
-+{
-+ ast_gpio_regs_t *regs = AST_GPIO_REGS(gpio);
-+ if (regs)
-+ {
-+ unsigned shift = AST_GPIO_SHIFT(gpio);
-+ unsigned trigger =
-+ (AST_GPIO_READ(regs->intcfg + AST_GPIO_INT_SENS0, shift) << 0) |
-+ (AST_GPIO_READ(regs->intcfg + AST_GPIO_INT_SENS1, shift) << 1) |
-+ (AST_GPIO_READ(regs->intcfg + AST_GPIO_INT_SENS2, shift) << 2);
-+
-+ switch (trigger)
-+ {
-+ case ASPEED_GPIO_FALLING_EDGE:
-+ return "fall";
-+ case ASPEED_GPIO_RISING_EDGE:
-+ return "rise";
-+ case ASPEED_GPIO_LOW_LEVEL:
-+ return "low ";
-+ case ASPEED_GPIO_HIGH_LEVEL:
-+ return "high";
-+ default:
-+ return "both";
-+ }
-+ }
-+ return "error";
-+}
-+
-+/**
-+ * @return An interrupt status in human readable format.
-+ */
-+static const char *ast_gpio_int_status(unsigned gpio)
-+{
-+ ast_gpio_regs_t *regs = AST_GPIO_REGS(gpio);
-+ if (regs)
-+ {
-+ unsigned shift = AST_GPIO_SHIFT(gpio);
-+ if (AST_GPIO_READ(regs->intcfg, shift))
-+ {
-+ return AST_GPIO_READ(regs->intcfg + AST_GPIO_INT_STATUS, shift)
-+ ? "pending"
-+ : "cleaned";
-+ }
-+ return "disabled";
-+ }
-+
-+ return "error";
-+}
-+
-+/**
-+ * @return A debounce value in human readable format.
-+ */
-+static const char *ast_gpio_debounce(unsigned gpio)
-+{
-+ ast_gpio_regs_t *regs = AST_GPIO_REGS(gpio);
-+ if (regs)
-+ {
-+ unsigned shift = AST_GPIO_SHIFT(gpio);
-+ unsigned debounce =
-+ (AST_GPIO_READ(regs->debounce + AST_GPIO_DEBOUNCE0, shift) << 0) |
-+ (AST_GPIO_READ(regs->debounce + AST_GPIO_DEBOUNCE1, shift) << 1);
-+ switch (debounce)
-+ {
-+ case ASPEED_GPIO_DEBOUNCE_NONE:
-+ return "none";
-+ case ASPEED_GPIO_DEBOUNCE_1:
-+ return "timer1";
-+ case ASPEED_GPIO_DEBOUNCE_2:
-+ return "timer2";
-+ case ASPEED_GPIO_DEBOUNCE_3:
-+ return "timer3";
-+ default:
-+ break;
-+ }
-+ }
-+
-+ return "error";
-+}
-+
-+/**
-+ * @return A command source value in human readable format.
-+ */
-+static const char *ast_gpio_command_source(unsigned gpio)
-+{
-+ ast_gpio_regs_t *regs = AST_GPIO_REGS(gpio);
-+ if (regs)
-+ {
-+ /* Used one bit per gpio port */
-+ unsigned shift = AST_GPIO_SHIFT(gpio) - AST_GPIO_PIN(gpio);
-+ unsigned cmdsrc =
-+ (AST_GPIO_READ(regs->cmdsrc + AST_GPIO_CMD_SRC0, shift) << 0) |
-+ (AST_GPIO_READ(regs->cmdsrc + AST_GPIO_CMD_SRC1, shift) << 1);
-+
-+ switch (cmdsrc)
-+ {
-+ /* The single place where these values are used is here. */
-+ case 0x0:
-+ return "ARM";
-+ case 0x1:
-+ return "LPC";
-+ case 0x2:
-+ return "CoCPU";
-+ default:
-+ return "Unknown";
-+ }
-+ }
-+
-+ return "error";
-+}
-+
-+/**
-+ * @brief Show all GPIO pins statuses. Used by `do_gpio()` in `cmd/gpio.c`
-+ */
-+void gpio_info(void)
-+{
-+ unsigned first = ASPEED_GPIO(A, 0);
-+ unsigned last = ASPEED_GPIO(AC, 7);
-+ for (unsigned gpio = first; gpio <= last; gpio++)
-+ {
-+ unsigned port = AST_GPIO_PORT(gpio);
-+ unsigned pin = AST_GPIO_PIN(gpio);
-+ unsigned shift = AST_GPIO_SHIFT(gpio);
-+ ast_gpio_regs_t *regs = AST_GPIO_REGS(gpio);
-+ if (!regs)
-+ {
-+ printf("gpio %u is invalid!\n", gpio);
-+ continue;
-+ }
-+
-+ printf("gpio %c%c%c line %3d: %s, int: %s, %s, deb: %s, src: %s, "
-+ "val: %d/%d\n",
-+ (port >= ASPEED_GPIO_PORT_AA ? 'A' : ' '),
-+ ('A' + port % ASPEED_GPIO_PORT_AA), ('0' + pin), gpio,
-+ ast_gpio_direction(gpio), ast_gpio_trigger(gpio),
-+ ast_gpio_int_status(gpio), ast_gpio_debounce(gpio),
-+ ast_gpio_command_source(gpio), gpio_get_value(gpio),
-+ AST_GPIO_READ(regs->data, shift));
-+ }
-+}
-diff --git a/include/configs/ast-g5-phy.h b/include/configs/ast-g5-phy.h
-index 5443a26cab..ea7c66716a 100644
---- a/include/configs/ast-g5-phy.h
-+++ b/include/configs/ast-g5-phy.h
-@@ -32,5 +32,6 @@
-
- /* Call board_late_init */
- #define CONFIG_BOARD_LATE_INIT 1
-+#define CONFIG_CMD_GPIO 1 /* Enable gpio command in shell */
-
- #endif /* __AST_G5_PHY_CONFIG_H */
---
-2.17.1
-
diff --git a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0005-aspeed-Enable-SPI-master-mode.patch b/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0005-aspeed-Enable-SPI-master-mode.patch
deleted file mode 100644
index 0dd736fba..000000000
--- a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0005-aspeed-Enable-SPI-master-mode.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0bf84de2a9db749bd61064cd47b96ef457725f54 Mon Sep 17 00:00:00 2001
-From: Chanh Nguyen <chanh@os.amperecomputing.com>
-Date: Wed, 10 Mar 2021 00:02:17 +0700
-Subject: [PATCH] aspeed: Enable SPI master mode
-
-Currently, some systems design the strap pin,
-which was shared pin with another function.
-That makes the board strapping does not reflect the intended use of the system.
-
-This patch will enable SPI master mode by default.
-
-Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
----
- board/aspeed/ast-g5/ast-g5.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/board/aspeed/ast-g5/ast-g5.c b/board/aspeed/ast-g5/ast-g5.c
-index 9e27bce0f5..ed83d65136 100644
---- a/board/aspeed/ast-g5/ast-g5.c
-+++ b/board/aspeed/ast-g5/ast-g5.c
-@@ -125,6 +125,9 @@ int board_late_init(void)
- update_bootargs_cmd("resetreason", value);
- }
-
-+ /* enable SPI master */
-+ ast_scu_spi_master(1);
-+
- return 0;
- }
- #endif
---
-2.17.1
-
diff --git a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0006-aspeed-support-Mt.Jade-platform-init.patch b/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0006-aspeed-support-Mt.Jade-platform-init.patch
deleted file mode 100644
index 02a478362..000000000
--- a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0006-aspeed-support-Mt.Jade-platform-init.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From 2c9ab641f2a7ea146a468ec4301c416010badff7 Mon Sep 17 00:00:00 2001
-From: Chanh Nguyen <chanh@os.amperecomputing.com>
-Date: Wed, 17 Mar 2021 14:11:18 +0700
-Subject: [PATCH] aspeed: support Mt.Jade platform init
-
-This commit adds platform init for Mt.Jade platform.
-
-Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
-Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
----
- arch/arm/include/asm/arch-aspeed/ast_scu.h | 1 +
- arch/arm/include/asm/arch-aspeed/regs-scu.h | 4 ++
- arch/arm/mach-aspeed/ast-scu.c | 18 +++++
- board/aspeed/ast-g5/ast-g5.c | 76 +++++++++++++++++++++
- include/configs/ast-g5-phy.h | 3 +
- 5 files changed, 102 insertions(+)
-
-diff --git a/arch/arm/include/asm/arch-aspeed/ast_scu.h b/arch/arm/include/asm/arch-aspeed/ast_scu.h
-index f5c9126ec0..e2d06ccc1f 100644
---- a/arch/arm/include/asm/arch-aspeed/ast_scu.h
-+++ b/arch/arm/include/asm/arch-aspeed/ast_scu.h
-@@ -46,5 +46,6 @@ extern void ast_scu_init_eth(u8 num);
- extern void ast_scu_multi_func_eth(u8 num);
- extern void ast_scu_multi_func_romcs(u8 num);
- extern void ast_scu_switch_pwm_to_gpio_mode(void);
-+extern void ast_scu_switch_espi_to_gpio_mode(void);
-
- #endif
-diff --git a/arch/arm/include/asm/arch-aspeed/regs-scu.h b/arch/arm/include/asm/arch-aspeed/regs-scu.h
-index b714fa9234..704ad75b4e 100644
---- a/arch/arm/include/asm/arch-aspeed/regs-scu.h
-+++ b/arch/arm/include/asm/arch-aspeed/regs-scu.h
-@@ -76,6 +76,7 @@
- #define AST_SCU_FUN_PIN_CTRL7 0xA0 /* Multi-function Pin Control#7*/
- #define AST_SCU_FUN_PIN_CTRL8 0xA4 /* Multi-function Pin Control#8*/
- #define AST_SCU_FUN_PIN_CTRL9 0xA8 /* Multi-function Pin Control#9*/
-+#define AST_SCU_FUN_PIN_CTRL10 0xAC /* Multi-function Pin Control#10*/
- #define AST_SCU_MAC_CLK_DELAY_100M 0xB8 /* MAC interface clock delay 100M setting*/
- #define AST_SCU_MAC_CLK_DELAY_10M 0xBC /* MAC interface clock delay 10M setting*/
- #define AST_SCU_PWR_SAVING_EN 0xC0 /* Power Saving Wakeup Enable*/
-@@ -921,6 +922,9 @@
- #define SCU_FUN_PIN_ROMA19 (0x1 << 1)
- #define SCU_FUN_PIN_ROMA18 (0x1)
-
-+/* AST_SCU_FUN_PIN_CTRL10 0xAC - Multi-function Pin Control#10 */
-+#define SCU_FUN_PIN_ESPI(x) (0x1 << (x))
-+
- /* AST_SCU_PWR_SAVING_EN 0xC0 - Power Saving Wakeup Enable */
- /* AST_SCU_PWR_SAVING_CTRL 0xC4 - Power Saving Wakeup Control */
- /* AST_SCU_HW_STRAP2 0xD0 - Haardware strapping register set 2 */
-diff --git a/arch/arm/mach-aspeed/ast-scu.c b/arch/arm/mach-aspeed/ast-scu.c
-index c7ab66415f..71c043d3e8 100644
---- a/arch/arm/mach-aspeed/ast-scu.c
-+++ b/arch/arm/mach-aspeed/ast-scu.c
-@@ -554,3 +554,21 @@ void ast_scu_get_who_init_dram(void)
- break;
- }
- }
-+
-+void ast_scu_switch_espi_to_gpio_mode(void)
-+{
-+ /*
-+ * This Function to set the ESPI pin to GPIO mode
-+ * This allow to setting AC5_READY
-+ */
-+ ast_scu_write(ast_scu_read(AST_SCU_FUN_PIN_CTRL10) &
-+ ~SCU_FUN_PIN_ESPI(0) &
-+ ~SCU_FUN_PIN_ESPI(1) &
-+ ~SCU_FUN_PIN_ESPI(2) &
-+ ~SCU_FUN_PIN_ESPI(3) &
-+ ~SCU_FUN_PIN_ESPI(4) &
-+ ~SCU_FUN_PIN_ESPI(5) &
-+ ~SCU_FUN_PIN_ESPI(6) &
-+ ~SCU_FUN_PIN_ESPI(7),
-+ AST_SCU_FUN_PIN_CTRL10);
-+}
-diff --git a/board/aspeed/ast-g5/ast-g5.c b/board/aspeed/ast-g5/ast-g5.c
-index ed83d65136..edf7f050a8 100644
---- a/board/aspeed/ast-g5/ast-g5.c
-+++ b/board/aspeed/ast-g5/ast-g5.c
-@@ -163,3 +163,79 @@ void hw_watchdog_reset(void)
- writel(0x4755, AST_WDT2_BASE + 0x08);
- }
- #endif /* CONFIG_WATCHDOG */
-+
-+#ifdef CONFIG_BOARD_EARLY_INIT_F
-+int board_gpio_init(void)
-+{
-+ int pgood = 0;
-+
-+ /* GPIO_BMC_PSU_PG */
-+ pgood = gpio_get_value(44);
-+ /* GPIO_BMC_OCP_AUX_PWREN */
-+ gpio_direction_output(139, 1);
-+
-+ if (pgood)
-+ {
-+ /* GPIO_BMC_SYS_ATX_PSON_L */
-+ gpio_direction_output(42, 0);
-+ /* GPIO_BMC_OCP_MAIN_PWREN */
-+ gpio_direction_output(140, 1);
-+ }
-+ else
-+ {
-+ /* GPIO_BMC_SYS_ATX_PSON_L */
-+ gpio_direction_output(42, 1);
-+ /* GPIO_BMC_OCP_MAIN_PWREN */
-+ gpio_direction_output(140, 0);
-+ }
-+
-+ /* GPIOH7 GPIO_BMC_I2C6_RESET_L */
-+ gpio_direction_output(63, 1);
-+
-+ /* GPIOM4 S0_I2C9_ALERT_L */
-+ gpio_direction_input(100);
-+
-+ /* GPIOM5 S1_I2C9_ALERT_L */
-+ gpio_direction_input(101);
-+
-+ /* GPIOQ7 GPIO_BMC_VGA_FRONT_PRES_L */
-+ gpio_direction_input(135);
-+
-+ /* GPIOR1 GPIO_BMC_JTAG_SRST_L */
-+ gpio_direction_output(137, 1);
-+
-+ /* BMC_GPIOR2_EXT_HIGHTEMP_L */
-+ gpio_direction_output(138, 1);
-+
-+ /* GPIOS0 GPIO_S0_VRHOT_L */
-+ gpio_direction_input(144);
-+
-+ /* GPIOS1 GPIO_S1_VRHOT_L */
-+ gpio_direction_input(145);
-+
-+ /* GPIOS5 GPIO_BMC_VR_PMBUS_SEL_L */
-+ gpio_direction_output(149, 1);
-+
-+ /* GPIOY3 BMC_VGA_SEL */
-+ gpio_direction_output(195, 1);
-+
-+ /* GPIOAC1 GPIO_BMC_PCA9554_INT_L */
-+ gpio_direction_input(225);
-+
-+ /* GPIO_BMC_READY */
-+ gpio_direction_output(229, 1);
-+
-+ /* Enable I2C4 device access */
-+ gpio_direction_output(194, 1);
-+
-+ return 0;
-+}
-+
-+int board_early_init_f(void)
-+{
-+ ast_scu_switch_espi_to_gpio_mode();
-+ board_gpio_init();
-+
-+ return 0;
-+}
-+#endif /* CONFIG_BOARD_EARLY_INIT_F */
-diff --git a/include/configs/ast-g5-phy.h b/include/configs/ast-g5-phy.h
-index ea7c66716a..a5e389616b 100644
---- a/include/configs/ast-g5-phy.h
-+++ b/include/configs/ast-g5-phy.h
-@@ -34,4 +34,7 @@
- #define CONFIG_BOARD_LATE_INIT 1
- #define CONFIG_CMD_GPIO 1 /* Enable gpio command in shell */
-
-+/* Call board_early_init_f */
-+#define CONFIG_BOARD_EARLY_INIT_F 1
-+
- #endif /* __AST_G5_PHY_CONFIG_H */
---
-2.17.1
-
diff --git a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend b/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend
deleted file mode 100644
index bda3d9d71..000000000
--- a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend
+++ /dev/null
@@ -1,10 +0,0 @@
-FILESEXTRAPATHS:append:mtjade := "${THISDIR}/${PN}:"
-
-SRC_URI += " \
- file://0001-aspeed-scu-Switch-PWM-pin-to-GPIO-input-mode.patch \
- file://0002-aspeed-Disable-internal-PD-resistors-for-GPIOs.patch \
- file://0003-aspeed-support-passing-system-reset-status-to-kernel.patch \
- file://0004-aspeed-add-gpio-support.patch \
- file://0005-aspeed-Enable-SPI-master-mode.patch \
- file://0006-aspeed-support-Mt.Jade-platform-init.patch \
- "
diff --git a/meta-ampere/meta-jade/recipes-phosphor/console/obmc-console/ampere_uartmux_ctrl.sh b/meta-ampere/meta-jade/recipes-phosphor/console/obmc-console/ampere_uartmux_ctrl.sh
index 58fffd8fe..f28589894 100755
--- a/meta-ampere/meta-jade/recipes-phosphor/console/obmc-console/ampere_uartmux_ctrl.sh
+++ b/meta-ampere/meta-jade/recipes-phosphor/console/obmc-console/ampere_uartmux_ctrl.sh
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2020 Ampere Computing LLC
+# Copyright (c) 2021 Ampere Computing LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -19,24 +19,13 @@
# <UARTx_MODE> of 1 sets CPU To HDR_CONN
# <UARTx_MODE> of 2 sets BMC to CPU (eg dropbear ssh server on port 2200)
+# shellcheck source=/dev/null
+source /usr/sbin/gpio-lib.sh
+
if [ $# -lt 2 ]; then
exit 1
fi
-function set_gpio_active_low() {
- if [ $# -ne 2 ]; then
- echo "set_gpio_active_low: need both GPIO# and initial level";
- return;
- fi
-
- if [ ! -d /sys/class/gpio/gpio$1 ]; then
- echo $1 > /sys/class/gpio/export
- fi
- echo $2 > /sys/class/gpio/gpio$1/direction
-}
-
-GPIO_BASE=$(cat /sys/class/gpio/gpio*/base)
-
case "$1" in
1) GPIO_UARTx_MODE0=56
# CPU0 UART0 connects to BMC UART1
@@ -65,17 +54,17 @@ esac
# of requested console port.
# Example format: Accepted: 1; Connected: 1;
CONNECTED=$(systemctl --no-pager status obmc-console-ttyS${CONSOLE_PORT}-ssh.socket | grep -w Connected | cut -d ':' -f 3 | tr -d ' ;')
-if [ ! $CONNECTED -le 1 ]; then
+if [ ! "$CONNECTED" -le 1 ]; then
exit 0
fi
echo "Ampere UART MUX CTRL UART port $1 to mode $2"
case "$2" in
- 1) set_gpio_active_low $((${GPIO_BASE} + ${GPIO_UARTx_MODE0})) low
+ 1) gpio_configure_output "${GPIO_UARTx_MODE0}" 0
exit 0
;;
- 2) set_gpio_active_low $((${GPIO_BASE} + ${GPIO_UARTx_MODE0})) high
+ 2) gpio_configure_output "${GPIO_UARTx_MODE0}" 1
exit 0
;;
*) echo "Invalid UART mode selection"
diff --git a/meta-ampere/meta-jade/recipes-phosphor/console/obmc-console/obmc-console-server-setup.sh b/meta-ampere/meta-jade/recipes-phosphor/console/obmc-console/obmc-console-server-setup.sh
index fe2d5ab03..4e0a01350 100644
--- a/meta-ampere/meta-jade/recipes-phosphor/console/obmc-console/obmc-console-server-setup.sh
+++ b/meta-ampere/meta-jade/recipes-phosphor/console/obmc-console/obmc-console-server-setup.sh
@@ -14,8 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-set -euo pipefail
-
tty="$1"
uart=0
@@ -39,4 +37,4 @@ esac
# this value should be set to 1
/usr/sbin/ampere_uartmux_ctrl.sh ${uart} 2
-/usr/sbin/obmc-console-server --config /etc/obmc-console/server.${tty}.conf ${tty}
+/usr/sbin/obmc-console-server --config /etc/obmc-console/server."${tty}".conf "${tty}"
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/toggle_fault_led.sh b/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/toggle_fault_led.sh
index 8d3d54374..1e1cbc588 100644
--- a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/toggle_fault_led.sh
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/toggle_fault_led.sh
@@ -22,14 +22,14 @@ PROPERTY="Asserted"
# Get current state
object=$(busctl tree $SERVICE --list | grep system_fault)
-state=$(busctl get-property $SERVICE $object $INTERFACE $PROPERTY \
+state=$(busctl get-property $SERVICE "$object" $INTERFACE $PROPERTY \
| awk '{print $NF;}')
-if [ "$state" == "false" ]; then
- target='true'
+if [ "$state" = "false" ]; then
+ target='true'
else
- target='false'
+ target='false'
fi
# Set target state
-busctl set-property $SERVICE $object $INTERFACE $PROPERTY b $target
+busctl set-property $SERVICE "$object" $INTERFACE $PROPERTY b $target
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button/toggle_identify_led.sh b/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button/toggle_identify_led.sh
index d62c84ae1..06b2d55f1 100755
--- a/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button/toggle_identify_led.sh
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button/toggle_identify_led.sh
@@ -22,24 +22,24 @@ PROPERTY="Asserted"
# Get enclosure_identify state
identify_object=$(busctl tree $SERVICE --list | grep -m 1 identify)
-identify_state=$(busctl get-property $SERVICE $identify_object $INTERFACE $PROPERTY \
- | awk '{print $NF;}')
+identify_state=$(busctl get-property $SERVICE "$identify_object" $INTERFACE $PROPERTY \
+ | awk '{print $NF;}')
# Get enclosure_identify_blink state
identify_blink_object=$(busctl tree $SERVICE --list | grep identify_blink)
-identify_blink_state=$(busctl get-property $SERVICE $identify_blink_object $INTERFACE $PROPERTY \
- | awk '{print $NF;}')
+identify_blink_state=$(busctl get-property $SERVICE "$identify_blink_object" $INTERFACE $PROPERTY \
+ | awk '{print $NF;}')
# Set state
-if [[ "$identify_state" == "false" && "$identify_blink_state" == "false" ]]; then
+if [ "$identify_state" = "false" ] && [ "$identify_blink_state" = "false" ]; then
# Turn on the UID LED
- busctl set-property $SERVICE $identify_object $INTERFACE $PROPERTY b true
-elif [[ "$identify_state" == "false" && "$identify_blink_state" == "true" ]]; then
+ busctl set-property $SERVICE "$identify_object" $INTERFACE $PROPERTY b true
+elif [ "$identify_state" = "false" ] && [ "$identify_blink_state" = "true" ]; then
# Turn off the UID LED when LED is blinking state
- busctl set-property $SERVICE $identify_blink_object $INTERFACE $PROPERTY b false
-elif [[ "$identify_state" == "true" && "$identify_blink_state" == "false" ]]; then
+ busctl set-property $SERVICE "$identify_blink_object" $INTERFACE $PROPERTY b false
+elif [ "$identify_state" = "true" ] && [ "$identify_blink_state" = "false" ]; then
# Turn off the UID LED
- busctl set-property $SERVICE $identify_object $INTERFACE $PROPERTY b false
+ busctl set-property $SERVICE "$identify_object" $INTERFACE $PROPERTY b false
else
echo "Invalid case! When identify_blink_state is true, the identify_state will set to false"
fi
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/ampere_psu_reset_hotswap.sh b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/ampere_psu_reset_hotswap.sh
index 65bff9dc1..37a3ce301 100644..100755
--- a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/ampere_psu_reset_hotswap.sh
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/ampere_psu_reset_hotswap.sh
@@ -29,10 +29,10 @@ STATUS_MFR_SPECIFIC=0x80
# $1 will be the name of the psu
PSU=$1
-if [[ $PSU == 1 ]]; then
+if [ "$PSU" = 1 ]; then
HSC_PMBUS_NUM=$HSC1_PMBUS_NUM
HSC_SLAVE_ADDR=$HSC1_SLAVE_ADDR
-elif [[ $PSU == 2 ]]; then
+elif [ "$PSU" = 2 ]; then
HSC_PMBUS_NUM=$HSC2_PMBUS_NUM
HSC_SLAVE_ADDR=$HSC2_SLAVE_ADDR
else
@@ -43,22 +43,20 @@ fi
# Check HOST state
chassisstate=$(obmcutil chassisstate | awk -F. '{print $NF}')
-if [[ "$chassisstate" == 'Off' ]]; then
+if [ "$chassisstate" = 'Off' ]; then
echo "HOST is being OFF, so can't access the i2c $HSC_PMBUS_NUM. Please Turn ON HOST !"
exit 1
fi
# Check FET health problems
-data=$(i2cget -f -y $HSC_PMBUS_NUM $HSC_SLAVE_ADDR $STATUS_MFR_SPECIFIC)
-
-if [[ $? -ne 0 ]]; then
+if ! data=$(i2cget -f -y $HSC_PMBUS_NUM $HSC_SLAVE_ADDR $STATUS_MFR_SPECIFIC); then
echo "ERROR: Can't access the i2c. Please check /dev/i2c-$HSC_PMBUS_NUM"
exit 1
fi
psu_sts=$(((data & 0x80) != 0))
-if [[ $psu_sts == 1 ]]; then
+if [ $psu_sts = 1 ]; then
echo "PSU $PSU: FET health problems have been detected"
echo "Reset Hot swap output on PSU $PSU"
# Disable Hot swap output
@@ -71,4 +69,4 @@ if [[ $psu_sts == 1 ]]; then
else
echo "PSU $PSU: FET health problems have not been detected"
-fi \ No newline at end of file
+fi
diff --git a/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index 7136be64f..56db56883 100644
--- a/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -2,6 +2,7 @@ RDEPENDS:${PN}-extras:append:mtjade = " \
webui-vue \
phosphor-image-signing \
phosphor-virtual-sensor \
+ phosphor-misc-usb-ctrl \
"
RDEPENDS:${PN}-inventory:append:mtjade = " \
diff --git a/meta-arm/COPYING.MIT b/meta-arm/COPYING.MIT
deleted file mode 100644
index 89de35479..000000000
--- a/meta-arm/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/meta-arm/COPYING.apache-2.0 b/meta-arm/COPYING.apache-2.0
deleted file mode 100644
index 67db85882..000000000
--- a/meta-arm/COPYING.apache-2.0
+++ /dev/null
@@ -1,175 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
diff --git a/meta-arm/LICENSE b/meta-arm/LICENSE
deleted file mode 100644
index 7cb3e432f..000000000
--- a/meta-arm/LICENSE
+++ /dev/null
@@ -1,12 +0,0 @@
-Different components of meta-arm are under different licenses (a mix
-of MIT and Apache-2.0). Please see:
-
-COPYING.Apache-2.0
-COPYING.MIT (MIT)
-
-All metadata is MIT licensed unless otherwise stated. Source code
-included in tree for individual recipes is under the LICENSE stated in
-the associated recipe (.bb file) unless otherwise stated.
-
-License information for any other files is either explicitly stated
-or defaults to Apache-2.0.
diff --git a/meta-arm/conf/layer.conf b/meta-arm/conf/layer.conf
deleted file mode 100644
index 102a0ccd9..000000000
--- a/meta-arm/conf/layer.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "arm"
-BBFILE_PATTERN_arm = "^${LAYERDIR}/"
-LAYERVERSION_arm = "1"
-
-LAYERSERIES_COMPAT_arm = "hardknott"
diff --git a/meta-arm/conf/machine/include/arm.inc b/meta-arm/conf/machine/include/arm.inc
deleted file mode 100644
index d11d11152..000000000
--- a/meta-arm/conf/machine/include/arm.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-
-VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config"
-
-PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-bt"
-PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-arm-apps"
-PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-arm-apps"
-PREFERRED_PROVIDER_virtual/obmc-host-ctl ?= "obmc-op-control-host"
-PREFERRED_PROVIDER_virtual/obmc-inventory-data ?= \
- "${VIRTUAL-RUNTIME_skeleton_workbook}"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-hostfw-config ?= \
- "hostboot-inventory-config-native"
-PREFERRED_PROVIDER_virtual/openpower-fru-vpd-layout ?= \
- "openpower-fru-vpd-layout-native"
-PREFERRED_PROVIDER_virtual/openpower-fru-inventory ?= \
- "openpower-fru-inventory-example-native"
-PREFERRED_PROVIDER_virtual/openpower-fru-properties ?= \
- "openpower-fru-properties-example-native"
diff --git a/meta-arm/recipes-phosphor/packagegroups/packagegroup-arm-apps.bb b/meta-arm/recipes-phosphor/packagegroups/packagegroup-arm-apps.bb
deleted file mode 100644
index ada7e5e29..000000000
--- a/meta-arm/recipes-phosphor/packagegroups/packagegroup-arm-apps.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "OpenBMC for ARM Server - Applications"
-PR = "r1"
-
-inherit packagegroup
-
-PROVIDES = "${PACKAGES}"
-PACKAGES = " \
- ${PN}-chassis \
- ${PN}-flash \
- "
-
-PROVIDES += "virtual/obmc-chassis-mgmt"
-
-RPROVIDES_${PN}-chassis += "virtual-obmc-chassis-mgmt"
-RPROVIDES_${PN}-flash += "virtual-obmc-flash-mgmt"
-
-SUMMARY_${PN}-chassis = "ARM Server Chassis"
-RDEPENDS_${PN}-chassis = " \
- obmc-button-power \
- obmc-control-chassis \
- obmc-op-control-power \
- "
-SUMMARY_${PN}-flash = "ARM Server Flash"
-RDEPENDS_${PN}-flash = " \
- obmc-flash-bmc \
- obmc-mgr-download \
- obmc-control-bmc \
- "
diff --git a/meta-aspeed/conf/machine/evb-ast2500.conf b/meta-aspeed/conf/machine/evb-ast2500.conf
index e8aebd18f..1ee80f8be 100644
--- a/meta-aspeed/conf/machine/evb-ast2500.conf
+++ b/meta-aspeed/conf/machine/evb-ast2500.conf
@@ -2,5 +2,6 @@ KERNEL_DEVICETREE = "aspeed-ast2500-evb.dtb"
UBOOT_MACHINE = "ast_g5_phy_config"
require conf/machine/include/ast2500.inc
+require conf/machine/include/obmc-evb-common.inc
SERIAL_CONSOLES = "115200;ttyS4"
diff --git a/meta-aspeed/conf/machine/evb-ast2600.conf b/meta-aspeed/conf/machine/evb-ast2600.conf
index d3ee47b9c..e0aa2cdce 100644
--- a/meta-aspeed/conf/machine/evb-ast2600.conf
+++ b/meta-aspeed/conf/machine/evb-ast2600.conf
@@ -4,6 +4,7 @@ UBOOT_DEVICETREE = "ast2600a1-evb"
SPL_BINARY = "spl/u-boot-spl.bin"
require conf/machine/include/ast2600.inc
+require conf/machine/include/obmc-evb-common.inc
SERIAL_CONSOLES = "115200;ttyS4"
diff --git a/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb b/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb
index 6f2d979bc..8cf4a19fb 100644
--- a/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb
+++ b/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb
@@ -2,7 +2,7 @@ require u-boot-common-aspeed-sdk_${PV}.inc
UBOOT_MAKE_TARGET ?= "DEVICE_TREE=${UBOOT_DEVICETREE}"
-require u-boot-aspeed.inc
+require recipes-bsp/u-boot/u-boot.inc
PROVIDES += "u-boot"
DEPENDS += "bc-native dtc-native"
diff --git a/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc b/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc
index 553d52dd8..2aa4ad2f9 100644
--- a/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc
+++ b/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc
@@ -8,10 +8,14 @@ PE = "1"
# We use the revision in order to avoid having to fetch it from the
# repo during parse
-SRCREV = "e5902174d9e0d9611619a8b468a5a9b73ab402b5"
-
+SRCREV = "a570745a1a836e351bd4b1131f23a4fa5013d6dd"
SRC_URI = "git://git@github.com/openbmc/u-boot.git;nobranch=1;protocol=https"
S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
+
+# We don't have 'u-boot-initial-env' target in our u-boot version
+UBOOT_INITIAL_ENV=""
PV = "v2019.04+git${SRCPV}"
diff --git a/meta-aspeed/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_2019.04.bb b/meta-aspeed/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_2019.04.bb
index 6c1470a5f..90e120677 100644
--- a/meta-aspeed/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_2019.04.bb
+++ b/meta-aspeed/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_2019.04.bb
@@ -19,23 +19,23 @@ EXTRA_OEMAKE:class-cross = 'HOSTCC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
inherit uboot-config
do_compile () {
- oe_runmake ${UBOOT_MACHINE}
+ oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
oe_runmake envtools
}
do_install () {
install -d ${D}${base_sbindir}
- install -d ${D}${sysconfdir}
- install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
- install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
+ install -m 755 ${B}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
+ ln -sf fw_printenv ${D}${base_sbindir}/fw_setenv
+ install -d ${D}${sysconfdir}
install -m 644 ${WORKDIR}/${ENV_CONFIG_FILE} ${D}${sysconfdir}/fw_env.config
}
do_install:class-cross () {
install -d ${D}${bindir_cross}
- install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
- install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
+ install -m 755 ${B}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
+ ln -sf fw_printenv ${D}${bindir_cross}/fw_setenv
}
SYSROOT_DIRS:append:class-cross = " ${bindir_cross}"
diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
index 8b25d74d7..a11f9ace0 100644
--- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
+++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
@@ -1,6 +1,6 @@
-KBRANCH ?= "dev-5.14"
-LINUX_VERSION ?= "5.14.6"
+KBRANCH ?= "dev-5.15"
+LINUX_VERSION ?= "5.15"
-SRCREV="41a83df4a3b9bd62bc508fd528c6f5a01014aede"
+SRCREV="781a66e81bbb9081e74d9ba0fcee095fefa1048e"
require linux-aspeed.inc
diff --git a/meta-asrock/meta-e3c246d4i/conf/machine/e3c246d4i.conf b/meta-asrock/meta-e3c246d4i/conf/machine/e3c246d4i.conf
index ad67ece3f..ab79b520f 100644
--- a/meta-asrock/meta-e3c246d4i/conf/machine/e3c246d4i.conf
+++ b/meta-asrock/meta-e3c246d4i/conf/machine/e3c246d4i.conf
@@ -8,5 +8,13 @@ FLASH_SIZE = "32768"
require conf/machine/include/ast2500.inc
require conf/machine/include/obmc-bsp-common.inc
+# This is necessary for the host to boot properly -- without it, the ast2500
+# Super-IO is left enabled (SCU70[20]=0), which causes the host boot sequence
+# to hang during POST.
+require conf/distro/include/phosphor-isolation.inc
+
PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-asrock-apps"
PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-asrock-apps"
+
+VIRTUAL-RUNTIME_obmc-host-state-manager = "x86-power-control"
+VIRTUAL-RUNTIME_obmc-chassis-state-manager = "x86-power-control"
diff --git a/meta-asrock/meta-e3c246d4i/recipes-x86/chassis/x86-power-control/power-config-host0.json b/meta-asrock/meta-e3c246d4i/recipes-x86/chassis/x86-power-control/power-config-host0.json
new file mode 100644
index 000000000..e46faca11
--- /dev/null
+++ b/meta-asrock/meta-e3c246d4i/recipes-x86/chassis/x86-power-control/power-config-host0.json
@@ -0,0 +1,93 @@
+{
+ "gpio_configs": [
+ {
+ "Name" : "IdButton",
+ "LineName" : "",
+ "Type" : "GPIO",
+ "Polarity": "ActiveLow"
+ },
+ {
+ "Name" : "NMIButton",
+ "LineName" : "NMI_BTN_N",
+ "Type" : "GPIO",
+ "Polarity": "ActiveLow"
+ },
+ {
+ "Name" : "NMIOut",
+ "LineName" : "BMC_NMI",
+ "Type" : "GPIO",
+ "Polarity": "ActiveHigh"
+ },
+ {
+ "Name" : "PostComplete",
+ "LineName" : "FM_BIOS_POST_CMPLT_N",
+ "Type" : "GPIO",
+ "Polarity": "ActiveLow"
+ },
+ {
+ "Name" : "PowerButton",
+ "LineName" : "BMC_PSIN",
+ "Type" : "GPIO",
+ "Polarity": "ActiveLow"
+ },
+ {
+ "Name" : "PowerOk",
+ /*
+ * The e3c246d4i doesn't have a PS_PWROK signal as far as
+ * I can tell. It does have an O_PWROK line that's driven
+ * by the SuperIO chip, which may "actually" be
+ * SioPowerGood, but it seems to work for this, so...?
+ */
+ "LineName" : "O_PWROK",
+ "Type" : "GPIO",
+ "Polarity": "ActiveHigh"
+ },
+ {
+ "Name" : "PowerOut",
+ "LineName" : "BMC_PSOUT",
+ "Type" : "GPIO",
+ "Polarity": "ActiveLow"
+ },
+ {
+ "Name" : "ResetButton",
+ "LineName" : "BMC_RESETCON",
+ "Type" : "GPIO",
+ "Polarity": "ActiveLow"
+ },
+ {
+ "Name" : "ResetOut",
+ "LineName" : "RESETCON",
+ "Type" : "GPIO",
+ "Polarity": "ActiveLow"
+ },
+ {
+ "Name" : "SioOnControl",
+ "LineName" : "",
+ "Type" : "GPIO",
+ "Polarity": "ActiveLow"
+ },
+ {
+ "Name" : "SioPowerGood",
+ "LineName" : "",
+ "Type" : "GPIO",
+ "Polarity": "ActiveHigh"
+ },
+ {
+ "Name" : "SIOS5",
+ "LineName" : "SLP_S5",
+ "Type" : "GPIO",
+ "Polarity": "ActiveLow"
+ }
+ ],
+ "timing_configs": {
+ "PowerPulseMs": 200,
+ "ForceOffPulseMs": 15000,
+ "ResetPulseMs": 500,
+ "PowerCycleMs": 5000,
+ "SioPowerGoodWatchdogMs": 1000,
+ "PsPowerOKWatchdogMs": 8000,
+ "GracefulPowerOffS": 300,
+ "WarmResetCheckMs": 500,
+ "PowerOffSaveMs": 7000
+ }
+}
diff --git a/meta-asrock/meta-e3c246d4i/recipes-x86/chassis/x86-power-control_%.bbappend b/meta-asrock/meta-e3c246d4i/recipes-x86/chassis/x86-power-control_%.bbappend
new file mode 100644
index 000000000..f54fe0695
--- /dev/null
+++ b/meta-asrock/meta-e3c246d4i/recipes-x86/chassis/x86-power-control_%.bbappend
@@ -0,0 +1,10 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += " \
+ file://power-config-host0.json \
+ "
+
+do_install:append() {
+ install -d ${D}/${datadir}/${PN}
+ install -m 0644 ${WORKDIR}/power-config-host0.json ${D}/${datadir}/${PN}
+}
diff --git a/meta-bytedance/meta-g220a/conf/machine/g220a.conf b/meta-bytedance/meta-g220a/conf/machine/g220a.conf
index ba7a253e3..516e31683 100644
--- a/meta-bytedance/meta-g220a/conf/machine/g220a.conf
+++ b/meta-bytedance/meta-g220a/conf/machine/g220a.conf
@@ -10,7 +10,7 @@ require conf/machine/include/ast2500.inc
require conf/machine/include/obmc-bsp-common.inc
require conf/distro/include/phosphor-aspeednic-use-mac2.inc
-OBMC_MACHINE_FEATURES += "\
+MACHINE_FEATURES += "\
obmc-bmc-state-mgmt \
obmc-chassis-state-mgmt \
obmc-host-ipmi \
diff --git a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0003-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch b/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0003-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch
deleted file mode 100644
index 317f94b05..000000000
--- a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0003-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch
+++ /dev/null
@@ -1,521 +0,0 @@
-From e0769dda0adcabc41d322726b16148e3960473c1 Mon Sep 17 00:00:00 2001
-From: Oskar Senft <osk@google.com>
-Date: Wed, 8 Aug 2018 10:15:05 -0400
-Subject: [PATCH] misc: aspeed: Add Aspeed UART routing control driver.
-
-This driver adds sysfs files that allow the BMC userspace to configure
-how UARTs and physical serial I/O ports are routed.
-
-Tested: Checked correct behavior (both read & write) on TYAN S7106
-board by manually changing routing settings and confirming that bits
-flow as expected. Tested for UART1 and UART3 as this board doesn't have
-the other UARTs wired up in a testable way.
-
-Signed-off-by: Oskar Senft <osk@google.com>
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
-Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
-Signed-off-by: John Wang <wangzhiqiang.bj@bytedance.com>
----
- .../stable/sysfs-driver-aspeed-uart-routing | 14 +
- .../misc-devices/aspeed-uart-routing.txt | 49 +++
- drivers/misc/Kconfig | 6 +
- drivers/misc/Makefile | 1 +
- drivers/misc/aspeed-uart-routing.c | 383 ++++++++++++++++++
- 5 files changed, 453 insertions(+)
- create mode 100644 Documentation/ABI/stable/sysfs-driver-aspeed-uart-routing
- create mode 100644 Documentation/misc-devices/aspeed-uart-routing.txt
- create mode 100644 drivers/misc/aspeed-uart-routing.c
-
-diff --git a/Documentation/ABI/stable/sysfs-driver-aspeed-uart-routing b/Documentation/ABI/stable/sysfs-driver-aspeed-uart-routing
-new file mode 100644
-index 000000000000..5068737d9c12
---- /dev/null
-+++ b/Documentation/ABI/stable/sysfs-driver-aspeed-uart-routing
-@@ -0,0 +1,14 @@
-+What: /sys/bus/platform/drivers/aspeed-uart-routing/*/io*
-+Date: August 2018
-+Contact: Oskar Senft <osk@google.com>
-+Description: Configures the input source for the specific physical
-+ serial I/O port.
-+Users: OpenBMC. Proposed changes should be mailed to
-+ openbmc@lists.ozlabs.org
-+
-+What: /sys/bus/platform/drivers/aspeed-uart-routing/*/uart*
-+Date: August 2018
-+Contact: Oskar Senft <osk@google.com>
-+Description: Configures the input source for the specific UART.
-+Users: OpenBMC. Proposed changes should be mailed to
-+ openbmc@lists.ozlabs.org
-diff --git a/Documentation/misc-devices/aspeed-uart-routing.txt b/Documentation/misc-devices/aspeed-uart-routing.txt
-new file mode 100644
-index 000000000000..cf1c2a466875
---- /dev/null
-+++ b/Documentation/misc-devices/aspeed-uart-routing.txt
-@@ -0,0 +1,49 @@
-+Kernel driver aspeed-uart-routing
-+=================================
-+
-+Supported chips:
-+ASPEED AST2500/AST2600
-+
-+Author:
-+Google LLC
-+
-+Description
-+-----------
-+
-+The Aspeed AST2500/AST2600 allows to dynamically route the inputs for the
-+built-in UARTS and physical serial I/O ports.
-+
-+This allows, for example, to connect the output of UART to another UART.
-+This can be used to enable host<->BMC communication via UARTs, e.g. to allow
-+access to the host's serial console.
-+
-+This driver is for the BMC side. The sysfs files allow the BMC userspace
-+which owns the system configuration policy, to configure how UARTs and
-+physical serial I/O ports are routed.
-+
-+The driver provides the following files in sysfs:
-+uart1 Configure the input signal to UART1.
-+uart2 Configure the input signal to UART2.
-+uart3 Configure the input signal to UART3.
-+uart4 Configure the input signal to UART4.
-+uart5 Configure the input signal to UART5.
-+io1 Configure the input signal to physical serial port 1.
-+io2 Configure the input signal to physical serial port 2.
-+io3 Configure the input signal to physical serial port 3.
-+io4 Configure the input signal to physical serial port 4.
-+io5 Configure the input signal to physical serial port 5.
-+
-+When read, each file shows the list of available options with the currently
-+selected option marked by square brackets "[]". The list of available options
-+depends on the selected file.
-+
-+Example:
-+$ cat /sys/bus/platform/drivers/aspeed-uart-routing/*.uart_routing/uart1
-+[io1] io2 io3 io4 uart2 uart3 uart4 io6
-+
-+In this case, UART1 gets its input signal from IO1 (physical serial port 1).
-+
-+$ echo -n "uart3" \
-+ >/sys/bus/platform/drivers/aspeed-uart-routing/*.uart_routing/uart1
-+$ cat /sys/bus/platform/drivers/aspeed-uart-routing/*.uart_routing/uart1
-+io1 io2 io3 io4 uart2 [uart3] uart4 io6
-diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index 54cfb599cd3e..9d2d95ab313a 100644
---- a/drivers/misc/Kconfig
-+++ b/drivers/misc/Kconfig
-@@ -487,6 +487,12 @@ config NPCM7XX_JTAG_MASTER
- help
- Control PSPI/GPIO to transmit jtag signals to support jtag master function.
-
-+config ASPEED_UART_ROUTING
-+ tristate "Aspeed ast2500 UART routing control"
-+ help
-+ If you want to configure UART routing on Aspeed BMC platforms, enable
-+ this option.
-+
- source "drivers/misc/c2port/Kconfig"
- source "drivers/misc/eeprom/Kconfig"
- source "drivers/misc/cb710/Kconfig"
-diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index 39e5ba5d0985..77e95db728da 100644
---- a/drivers/misc/Makefile
-+++ b/drivers/misc/Makefile
-@@ -60,3 +60,4 @@ obj-$(CONFIG_HISI_HIKEY_USB) += hisi_hikey_usb.o
- obj-$(CONFIG_NPCM7XX_LPC_BPC) += npcm7xx-lpc-bpc.o
- obj-$(CONFIG_NPCM7XX_PCI_MBOX) += npcm7xx-pci-mbox.o
- obj-$(CONFIG_NPCM7XX_JTAG_MASTER) += npcm7xx-jtag-master.o
-+obj-$(CONFIG_ASPEED_UART_ROUTING) += aspeed-uart-routing.o
-diff --git a/drivers/misc/aspeed-uart-routing.c b/drivers/misc/aspeed-uart-routing.c
-new file mode 100644
-index 000000000000..21ef5d98c317
---- /dev/null
-+++ b/drivers/misc/aspeed-uart-routing.c
-@@ -0,0 +1,383 @@
-+/*
-+ * UART Routing driver for Aspeed AST2500
-+ *
-+ * Copyright (c) 2018 Google LLC
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * version 2 as published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ */
-+#include <linux/device.h>
-+#include <linux/module.h>
-+#include <linux/of_address.h>
-+#include <linux/of_platform.h>
-+
-+/* The Aspeed AST2500 allows to dynamically route the inputs for the built-in
-+ * UARTS and physical serial I/O ports.
-+ *
-+ * This allows, for example, to connect the output of UART to another UART.
-+ * This can be used to enable host<->BMC communication via UARTs, e.g. to allow
-+ * access to the host's serial console.
-+ *
-+ * This driver is for the BMC side. The sysfs files allow the BMC userspace
-+ * which owns the system configuration policy, to configure how UARTs and
-+ * physical serial I/O ports are routed.
-+ */
-+
-+#define ASPEED_HICRA_IO1 "io1"
-+#define ASPEED_HICRA_IO2 "io2"
-+#define ASPEED_HICRA_IO3 "io3"
-+#define ASPEED_HICRA_IO4 "io4"
-+#define ASPEED_HICRA_IO5 "io5"
-+#define ASPEED_HICRA_IO6 "io6"
-+#define ASPEED_HICRA_UART1 "uart1"
-+#define ASPEED_HICRA_UART2 "uart2"
-+#define ASPEED_HICRA_UART3 "uart3"
-+#define ASPEED_HICRA_UART4 "uart4"
-+#define ASPEED_HICRA_UART5 "uart5"
-+
-+struct aspeed_uart_routing {
-+ struct device *dev;
-+ void __iomem *regs;
-+ spinlock_t lock;
-+};
-+
-+struct aspeed_uart_routing_selector {
-+ struct device_attribute dev_attr;
-+ int shift;
-+ int mask;
-+ const char * const options[];
-+};
-+
-+#define to_routing_selector(_dev_attr) \
-+ container_of(_dev_attr, struct aspeed_uart_routing_selector, dev_attr)
-+
-+
-+static ssize_t aspeed_uart_routing_show(struct device *dev,
-+ struct device_attribute *attr,
-+ char *buf);
-+
-+static ssize_t aspeed_uart_routing_store(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count);
-+
-+#define ROUTING_ATTR(_name) { \
-+ .attr = {.name = _name, \
-+ .mode = VERIFY_OCTAL_PERMISSIONS(S_IWUSR | S_IRUGO) }, \
-+ .show = aspeed_uart_routing_show, \
-+ .store = aspeed_uart_routing_store, \
-+}
-+
-+static struct aspeed_uart_routing_selector uart5_sel = {
-+ .dev_attr = ROUTING_ATTR(ASPEED_HICRA_UART5),
-+ .shift = 28,
-+ .mask = 0xf,
-+ .options = {
-+ ASPEED_HICRA_IO5, // 0
-+ ASPEED_HICRA_IO1, // 1
-+ ASPEED_HICRA_IO2, // 2
-+ ASPEED_HICRA_IO3, // 3
-+ ASPEED_HICRA_IO4, // 4
-+ ASPEED_HICRA_UART1, // 5
-+ ASPEED_HICRA_UART2, // 6
-+ ASPEED_HICRA_UART3, // 7
-+ ASPEED_HICRA_UART4, // 8
-+ ASPEED_HICRA_IO6, // 9
-+ NULL, // NULL termination
-+ },
-+};
-+
-+static struct aspeed_uart_routing_selector uart4_sel = {
-+ .dev_attr = ROUTING_ATTR(ASPEED_HICRA_UART4),
-+ .shift = 25,
-+ .mask = 0x7,
-+ .options = {
-+ ASPEED_HICRA_IO4, // 0
-+ ASPEED_HICRA_IO1, // 1
-+ ASPEED_HICRA_IO2, // 2
-+ ASPEED_HICRA_IO3, // 3
-+ ASPEED_HICRA_UART1, // 4
-+ ASPEED_HICRA_UART2, // 5
-+ ASPEED_HICRA_UART3, // 6
-+ ASPEED_HICRA_IO6, // 7
-+ NULL, // NULL termination
-+ },
-+};
-+
-+static struct aspeed_uart_routing_selector uart3_sel = {
-+ .dev_attr = ROUTING_ATTR(ASPEED_HICRA_UART3),
-+ .shift = 22,
-+ .mask = 0x7,
-+ .options = {
-+ ASPEED_HICRA_IO3, // 0
-+ ASPEED_HICRA_IO4, // 1
-+ ASPEED_HICRA_IO1, // 2
-+ ASPEED_HICRA_IO2, // 3
-+ ASPEED_HICRA_UART4, // 4
-+ ASPEED_HICRA_UART1, // 5
-+ ASPEED_HICRA_UART2, // 6
-+ ASPEED_HICRA_IO6, // 7
-+ NULL, // NULL termination
-+ },
-+};
-+
-+static struct aspeed_uart_routing_selector uart2_sel = {
-+ .dev_attr = ROUTING_ATTR(ASPEED_HICRA_UART2),
-+ .shift = 19,
-+ .mask = 0x7,
-+ .options = {
-+ ASPEED_HICRA_IO2, // 0
-+ ASPEED_HICRA_IO3, // 1
-+ ASPEED_HICRA_IO4, // 2
-+ ASPEED_HICRA_IO1, // 3
-+ ASPEED_HICRA_UART3, // 4
-+ ASPEED_HICRA_UART4, // 5
-+ ASPEED_HICRA_UART1, // 6
-+ ASPEED_HICRA_IO6, // 7
-+ NULL, // NULL termination
-+ },
-+};
-+
-+static struct aspeed_uart_routing_selector uart1_sel = {
-+ .dev_attr = ROUTING_ATTR(ASPEED_HICRA_UART1),
-+ .shift = 16,
-+ .mask = 0x7,
-+ .options = {
-+ ASPEED_HICRA_IO1, // 0
-+ ASPEED_HICRA_IO2, // 1
-+ ASPEED_HICRA_IO3, // 2
-+ ASPEED_HICRA_IO4, // 3
-+ ASPEED_HICRA_UART2, // 4
-+ ASPEED_HICRA_UART3, // 5
-+ ASPEED_HICRA_UART4, // 6
-+ ASPEED_HICRA_IO6, // 7
-+ NULL, // NULL termination
-+ },
-+};
-+
-+static struct aspeed_uart_routing_selector io5_sel = {
-+ .dev_attr = ROUTING_ATTR(ASPEED_HICRA_IO5),
-+ .shift = 12,
-+ .mask = 0x7,
-+ .options = {
-+ ASPEED_HICRA_UART5, // 0
-+ ASPEED_HICRA_UART1, // 1
-+ ASPEED_HICRA_UART2, // 2
-+ ASPEED_HICRA_UART3, // 3
-+ ASPEED_HICRA_UART4, // 4
-+ ASPEED_HICRA_IO1, // 5
-+ ASPEED_HICRA_IO3, // 6
-+ ASPEED_HICRA_IO6, // 7
-+ NULL, // NULL termination
-+ },
-+};
-+
-+static struct aspeed_uart_routing_selector io4_sel = {
-+ .dev_attr = ROUTING_ATTR(ASPEED_HICRA_IO4),
-+ .shift = 9,
-+ .mask = 0x7,
-+ .options = {
-+ ASPEED_HICRA_UART4, // 0
-+ ASPEED_HICRA_UART5, // 1
-+ ASPEED_HICRA_UART1, // 2
-+ ASPEED_HICRA_UART2, // 3
-+ ASPEED_HICRA_UART3, // 4
-+ ASPEED_HICRA_IO1, // 5
-+ ASPEED_HICRA_IO2, // 6
-+ ASPEED_HICRA_IO6, // 7
-+ NULL, // NULL termination
-+ },
-+};
-+
-+static struct aspeed_uart_routing_selector io3_sel = {
-+ .dev_attr = ROUTING_ATTR(ASPEED_HICRA_IO3),
-+ .shift = 6,
-+ .mask = 0x7,
-+ .options = {
-+ ASPEED_HICRA_UART3, // 0
-+ ASPEED_HICRA_UART4, // 1
-+ ASPEED_HICRA_UART5, // 2
-+ ASPEED_HICRA_UART1, // 3
-+ ASPEED_HICRA_UART2, // 4
-+ ASPEED_HICRA_IO1, // 5
-+ ASPEED_HICRA_IO2, // 6
-+ ASPEED_HICRA_IO6, // 7
-+ NULL, // NULL termination
-+ },
-+};
-+
-+static struct aspeed_uart_routing_selector io2_sel = {
-+ .dev_attr = ROUTING_ATTR(ASPEED_HICRA_IO2),
-+ .shift = 3,
-+ .mask = 0x7,
-+ .options = {
-+ ASPEED_HICRA_UART2, // 0
-+ ASPEED_HICRA_UART3, // 1
-+ ASPEED_HICRA_UART4, // 2
-+ ASPEED_HICRA_UART5, // 3
-+ ASPEED_HICRA_UART1, // 4
-+ ASPEED_HICRA_IO3, // 5
-+ ASPEED_HICRA_IO4, // 6
-+ ASPEED_HICRA_IO6, // 7
-+ NULL, // NULL termination
-+ },
-+};
-+
-+static struct aspeed_uart_routing_selector io1_sel = {
-+ .dev_attr = ROUTING_ATTR(ASPEED_HICRA_IO1),
-+ .shift = 0,
-+ .mask = 0x7,
-+ .options = {
-+ ASPEED_HICRA_UART1, // 0
-+ ASPEED_HICRA_UART2, // 1
-+ ASPEED_HICRA_UART3, // 2
-+ ASPEED_HICRA_UART4, // 3
-+ ASPEED_HICRA_UART5, // 4
-+ ASPEED_HICRA_IO3, // 5
-+ ASPEED_HICRA_IO4, // 6
-+ ASPEED_HICRA_IO6, // 7
-+ NULL, // NULL termination
-+ },
-+};
-+
-+
-+static struct attribute *aspeed_uart_routing_attrs[] = {
-+ &uart1_sel.dev_attr.attr,
-+ &uart2_sel.dev_attr.attr,
-+ &uart3_sel.dev_attr.attr,
-+ &uart4_sel.dev_attr.attr,
-+ &uart5_sel.dev_attr.attr,
-+ &io1_sel.dev_attr.attr,
-+ &io2_sel.dev_attr.attr,
-+ &io3_sel.dev_attr.attr,
-+ &io4_sel.dev_attr.attr,
-+ &io5_sel.dev_attr.attr,
-+ NULL,
-+};
-+
-+static const struct attribute_group aspeed_uart_routing_attr_group = {
-+ .attrs = aspeed_uart_routing_attrs,
-+};
-+
-+static ssize_t aspeed_uart_routing_show(struct device *dev,
-+ struct device_attribute *attr,
-+ char *buf)
-+{
-+ struct aspeed_uart_routing *uart_routing = dev_get_drvdata(dev);
-+ struct aspeed_uart_routing_selector *sel = to_routing_selector(attr);
-+ int val, pos, len;
-+
-+ val = (readl(uart_routing->regs) >> sel->shift) & sel->mask;
-+
-+ len = 0;
-+ for (pos = 0; sel->options[pos] != NULL; ++pos) {
-+ if (pos == val) {
-+ len += snprintf(buf + len, PAGE_SIZE - 1 - len,
-+ "[%s] ", sel->options[pos]);
-+ } else {
-+ len += snprintf(buf + len, PAGE_SIZE - 1 - len,
-+ "%s ", sel->options[pos]);
-+ }
-+ }
-+
-+ if (val >= pos) {
-+ len += snprintf(buf + len, PAGE_SIZE - 1 - len,
-+ "[unknown(%d)]", val);
-+ }
-+
-+ len += snprintf(buf + len, PAGE_SIZE - 1 - len, "\n");
-+
-+ return len;
-+}
-+
-+static ssize_t aspeed_uart_routing_store(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ struct aspeed_uart_routing *uart_routing = dev_get_drvdata(dev);
-+ struct aspeed_uart_routing_selector *sel = to_routing_selector(attr);
-+ int val;
-+ u32 reg;
-+
-+ val = match_string(sel->options, -1, buf);
-+ if (val < 0) {
-+ dev_err(dev, "invalid value \"%s\"\n", buf);
-+ return -EINVAL;
-+ }
-+
-+ spin_lock(&uart_routing->lock);
-+ reg = readl(uart_routing->regs);
-+ // Zero out existing value in specified bits.
-+ reg &= ~(sel->mask << sel->shift);
-+ // Set new value in specified bits.
-+ reg |= (val & sel->mask) << sel->shift;
-+ writel(reg, uart_routing->regs);
-+ spin_unlock(&uart_routing->lock);
-+
-+ return count;
-+}
-+
-+static int aspeed_uart_routing_probe(struct platform_device *pdev)
-+{
-+ struct aspeed_uart_routing *uart_routing;
-+ struct resource *res;
-+ int rc;
-+
-+ uart_routing = devm_kzalloc(&pdev->dev,
-+ sizeof(*uart_routing),
-+ GFP_KERNEL);
-+ if (!uart_routing)
-+ return -ENOMEM;
-+
-+ spin_lock_init(&uart_routing->lock);
-+ uart_routing->dev = &pdev->dev;
-+
-+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ uart_routing->regs = devm_ioremap_resource(&pdev->dev, res);
-+ if (IS_ERR(uart_routing->regs))
-+ return PTR_ERR(uart_routing->regs);
-+
-+ rc = sysfs_create_group(&uart_routing->dev->kobj,
-+ &aspeed_uart_routing_attr_group);
-+ if (rc < 0)
-+ return rc;
-+
-+ platform_set_drvdata(pdev, uart_routing);
-+
-+ return 0;
-+}
-+
-+static int aspeed_uart_routing_remove(struct platform_device *pdev)
-+{
-+ struct aspeed_uart_routing *uart_routing = platform_get_drvdata(pdev);
-+
-+ sysfs_remove_group(&uart_routing->dev->kobj,
-+ &aspeed_uart_routing_attr_group);
-+
-+ return 0;
-+}
-+
-+static const struct of_device_id aspeed_uart_routing_table[] = {
-+ { .compatible = "aspeed,ast2500-uart-routing" },
-+ { },
-+};
-+
-+static struct platform_driver aspeed_uart_routing_driver = {
-+ .driver = {
-+ .name = "aspeed-uart-routing",
-+ .of_match_table = aspeed_uart_routing_table,
-+ },
-+ .probe = aspeed_uart_routing_probe,
-+ .remove = aspeed_uart_routing_remove,
-+};
-+
-+module_platform_driver(aspeed_uart_routing_driver);
-+
-+MODULE_AUTHOR("Oskar Senft <osk@google.com>");
-+MODULE_LICENSE("GPL v2");
-+MODULE_DESCRIPTION("Driver to configure Aspeed UART routing");
---
-2.25.1
-
diff --git a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0004-ARM-dts-aspeed-Add-uart-routing-node.patch b/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0004-ARM-dts-aspeed-Add-uart-routing-node.patch
deleted file mode 100644
index 79fbb7469..000000000
--- a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0004-ARM-dts-aspeed-Add-uart-routing-node.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 120b607efb7b4dbc86add041decf3253b8b5e1fe Mon Sep 17 00:00:00 2001
-From: John Wang <wangzhiqiang.bj@bytedance.com>
-Date: Wed, 30 Sep 2020 12:41:30 +0800
-Subject: [PATCH] ARM: dts: aspeed: Add uart-routing node
-
-Signed-off-by: John Wang <wangzhiqiang.bj@bytedance.com>
----
- arch/arm/boot/dts/aspeed-g5.dtsi | 6 ++++++
- arch/arm/boot/dts/aspeed-g6.dtsi | 6 ++++++
- 2 files changed, 12 insertions(+)
-
-diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index 73ca1ec6fc24..39d128c0545b 100644
---- a/arch/arm/boot/dts/aspeed-g5.dtsi
-+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -503,6 +503,12 @@ ibt: ibt@140 {
- interrupts = <8>;
- status = "disabled";
- };
-+
-+ uart_routing: uart_routing@9c {
-+ compatible = "aspeed,ast2500-uart-routing";
-+ reg = <0x9c 0x4>;
-+ status = "disabled";
-+ };
- };
-
- uart2: serial@1e78d000 {
-diff --git a/arch/arm/boot/dts/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed-g6.dtsi
-index ee171b3364fa..aac382367109 100644
---- a/arch/arm/boot/dts/aspeed-g6.dtsi
-+++ b/arch/arm/boot/dts/aspeed-g6.dtsi
-@@ -317,6 +317,12 @@ pinctrl: pinctrl {
- compatible = "aspeed,ast2600-pinctrl";
- };
-
-+ uart_routing: uart_routing@9c {
-+ compatible = "aspeed,ast2500-uart-routing";
-+ reg = <0x9c 0x4>;
-+ status = "disabled";
-+ };
-+
- silicon-id@14 {
- compatible = "aspeed,ast2600-silicon-id", "aspeed,silicon-id";
- reg = <0x14 0x4 0x5b0 0x8>;
---
-2.25.1
-
diff --git a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed_%.bbappend
index bcbe7ce6c..e962940a6 100644
--- a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ b/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -1,7 +1,5 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI:append:g220a = " file://g220a.cfg \
- file://0003-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch \
- file://0004-ARM-dts-aspeed-Add-uart-routing-node.patch \
file://0005-ARM-dts-aspeed-Enable-g220a-uart-route.patch \
"
diff --git a/meta-bytedance/meta-g220a/recipes-phosphor/console/obmc-console/obmc-console@.service b/meta-bytedance/meta-g220a/recipes-phosphor/console/obmc-console/obmc-console@.service
index 1a1dfffa1..a4eed736d 100644
--- a/meta-bytedance/meta-g220a/recipes-phosphor/console/obmc-console/obmc-console@.service
+++ b/meta-bytedance/meta-g220a/recipes-phosphor/console/obmc-console/obmc-console@.service
@@ -4,15 +4,15 @@ BindsTo=dev-%i.device
After=dev-%i.device
[Service]
-ExecStartPre=/bin/sh -c 'echo -n "uart3" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart_routing/uart1'
-ExecStartPre=/bin/sh -c 'echo -n "uart1" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart_routing/uart3'
-ExecStartPre=/bin/sh -c 'echo -n "io1" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart_routing/uart4'
-ExecStartPre=/bin/sh -c 'echo -n "uart4" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart_routing/io1'
+ExecStartPre=/bin/sh -c 'echo -n "uart3" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart-routing/uart1'
+ExecStartPre=/bin/sh -c 'echo -n "uart1" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart-routing/uart3'
+ExecStartPre=/bin/sh -c 'echo -n "io1" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart-routing/uart4'
+ExecStartPre=/bin/sh -c 'echo -n "uart4" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart-routing/io1'
ExecStart=/usr/bin/env obmc-console-server --config {sysconfdir}/obmc-console.conf %i
-ExecStopPost=/bin/sh -c 'echo -n "io1" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart_routing/uart1'
-ExecStopPost=/bin/sh -c 'echo -n "io3" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart_routing/uart3'
-ExecStopPost=/bin/sh -c 'echo -n "io4" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart_routing/uart4'
-ExecStopPost=/bin/sh -c 'echo -n "uart1" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart_routing/io1'
+ExecStopPost=/bin/sh -c 'echo -n "io1" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart-routing/uart1'
+ExecStopPost=/bin/sh -c 'echo -n "io3" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart-routing/uart3'
+ExecStopPost=/bin/sh -c 'echo -n "io4" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart-routing/uart4'
+ExecStopPost=/bin/sh -c 'echo -n "uart1" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart-routing/io1'
SyslogIdentifier=obmc-console-server
Restart=always
diff --git a/meta-bytedance/meta-g220a/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-bytedance/meta-g220a/recipes-phosphor/images/obmc-phosphor-image.bbappend
index 038e65ec8..4759a8db6 100644
--- a/meta-bytedance/meta-g220a/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ b/meta-bytedance/meta-g220a/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -2,6 +2,5 @@ OBMC_IMAGE_EXTRA_INSTALL:append:g220a = " \
webui-vue \
me-time-sync \
static-mac-addr \
- phosphor-node-manager-proxy \
phosphor-virtual-sensor \
"
diff --git a/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy/0001-Remove-Total_Power-sensor.patch b/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy/0001-Remove-Total_Power-sensor.patch
deleted file mode 100644
index 837982da2..000000000
--- a/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy/0001-Remove-Total_Power-sensor.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 086b098ea4160963cd09405fbdf6816bef095d16 Mon Sep 17 00:00:00 2001
-From: Lei YU <yulei.sh@bytedance.com>
-Date: Tue, 15 Dec 2020 16:50:31 +0800
-Subject: [PATCH] Remove Total_Power sensor
-
-The Total_Power sensor is not used on g220a system. Remove it.
-The sensor will be replaced by a virtual sensor.
-
-Tested: Verify the Total_Power sensor is gone on DBus.
-
-Signed-off-by: Lei YU <yulei.sh@bytedance.com>
----
- NodeManagerProxy.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/NodeManagerProxy.cpp b/NodeManagerProxy.cpp
-index d9fb760..9dbd5da 100644
---- a/NodeManagerProxy.cpp
-+++ b/NodeManagerProxy.cpp
-@@ -120,9 +120,9 @@ void createSensors()
- // NM Statistics
- // Global power statistics
- configuredSensors.push_back(std::make_unique<PowerMetric>(server));
-- configuredSensors.push_back(std::make_unique<GlobalPowerPlatform>(
-- server, 0, 2040, "power", "Total_Power", globalPowerStats,
-- entirePlatform, 0));
-+// configuredSensors.push_back(std::make_unique<GlobalPowerPlatform>(
-+// server, 0, 2040, "power", "Total_Power", globalPowerStats,
-+// entirePlatform, 0));
- configuredSensors.push_back(
- std::make_unique<GlobalPowerCpu>(server, 0, 510, "power", "CPU_Power",
- globalPowerStats, cpuSubsystem, 0));
---
-2.25.1
-
diff --git a/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb b/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb
deleted file mode 100644
index 4d9dd1b99..000000000
--- a/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Node Manager Proxy"
-DESCRIPTION = "The Node Manager Proxy provides a simple interface for communicating \
-with Management Engine via IPMB"
-
-SRC_URI = "git://github.com/Intel-BMC/node-manager;protocol=ssh"
-SRCREV = "23590b428ea26e0ed4b8225015471b962e3b3704"
-PV = "0.1+git${SRCPV}"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-
-SYSTEMD_SERVICE:${PN} = "node-manager-proxy.service"
-
-DEPENDS = "sdbusplus \
- phosphor-logging \
- boost"
-
-S = "${WORKDIR}/git/"
-inherit cmake systemd
-
-SRC_URI:append = " \
- file://0001-Remove-Total_Power-sensor.patch \
-"
diff --git a/meta-evb/meta-evb-enclustra/conf/layer.conf b/meta-evb/meta-evb-enclustra/conf/layer.conf
deleted file mode 100644
index 278b6b5f1..000000000
--- a/meta-evb/meta-evb-enclustra/conf/layer.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-BBFILE_COLLECTIONS += "evb-enclustra"
-BBFILE_PATTERN_evb-enclustra = ""
-LAYERSERIES_COMPAT_evb-enclustra = "hardknott honister"
diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/bblayers.conf.sample b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/bblayers.conf.sample
deleted file mode 100644
index 122192f9a..000000000
--- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/bblayers.conf.sample
+++ /dev/null
@@ -1,37 +0,0 @@
-# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
-# changes incompatibly
-LCONF_VERSION = "8"
-
-BBPATH = "${TOPDIR}"
-BBFILES ?= ""
-
-BBLAYERS ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-poky \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-openembedded/meta-webserver \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-xilinx/meta-xilinx-bsp/ \
- ##OEROOT##/meta-evb \
- ##OEROOT##/meta-evb/meta-evb-enclustra \
- ##OEROOT##/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3 \
- "
-BBLAYERS_NON_REMOVABLE ?= " \
-##OEROOT##/meta \
-##OEROOT##/meta-poky \
-##OEROOT##/meta-openembedded/meta-oe \
-##OEROOT##/meta-openembedded/meta-networking \
-##OEROOT##/meta-openembedded/meta-perl \
-##OEROOT##/meta-openembedded/meta-python \
-##OEROOT##/meta-openembedded/meta-webserver \
-##OEROOT##/meta-security \
-##OEROOT##/meta-phosphor \
-##OEROOT##/meta-xilinx/meta-xilinx-bsp/ \
-##OEROOT##/meta-evb \
-##OEROOT##/meta-evb/meta-evb-enclustra \
-##OEROOT##/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3 \
- "
diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/conf-notes.txt b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/conf-notes.txt
deleted file mode 100644
index 9b3c01a55..000000000
--- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/conf-notes.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Common targets are:
- obmc-phosphor-image
diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf
deleted file mode 100644
index d9944132d..000000000
--- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "evb-zx3-pm3"
-BBFILE_PATTERN_evb-zx3-pm3 = ""
-LAYERSERIES_COMPAT_evb-zx3-pm3 = "hardknott honister"
diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/local.conf.sample b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/local.conf.sample
deleted file mode 100644
index bd13d5717..000000000
--- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/local.conf.sample
+++ /dev/null
@@ -1,20 +0,0 @@
-MACHINE ??= "evb-zx3-pm3"
-DISTRO ?= "openbmc-phosphor"
-PACKAGE_CLASSES ?= "package_ipk"
-SANITY_TESTED_DISTROS:append ?= " *"
-EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
-USER_CLASSES ?= "buildstats"
-PATCHRESOLVE = "noop"
-BB_DISKMON_DIRS ??= "\
- STOPTASKS,${TMPDIR},1G,100K \
- STOPTASKS,${DL_DIR},1G,100K \
- STOPTASKS,${SSTATE_DIR},1G,100K \
- STOPTASKS,/tmp,100M,100K \
- ABORT,${TMPDIR},100M,1K \
- ABORT,${DL_DIR},100M,1K \
- ABORT,${SSTATE_DIR},100M,1K \
- ABORT,/tmp,10M,1K"
-CONF_VERSION = "2"
-
-# Set the root password to '0penBmc'
-# Defaults from meta-phosphor/conf/distro/include/phosphor-defaults.inc
diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/machine/evb-zx3-pm3.conf b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/machine/evb-zx3-pm3.conf
deleted file mode 100644
index 62716cd42..000000000
--- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/machine/evb-zx3-pm3.conf
+++ /dev/null
@@ -1,37 +0,0 @@
-SOC_VARIANT ?= "7z"
-
-require conf/machine/include/tune-zynq.inc
-require conf/machine/include/machine-xilinx-overrides.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-require conf/machine/include/obmc-bsp-common.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-# u-boot configuration
-UBOOT_MACHINE = "zynq_zc702_config"
-SPL_BINARY = "spl/boot.bin"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- "
-
-SERIAL_CONSOLE = "115200 ttyPS0"
-
-KERNEL_DEVICETREE = "zynq-zc702.dtb"
-
-IMAGE_BOOT_FILES += "boot.bin uEnv.txt ${KERNEL_IMAGETYPE}-zynq-zc702.dtb"
-
-# Overwrite flash offsets
-FLASH_UBOOT_OFFSET = "0"
-FLASH_KERNEL_OFFSET = "6144"
-FLASH_UBI_OFFSET = "${FLASH_KERNEL_OFFSET}"
-FLASH_ROFS_OFFSET = "12288"
-FLASH_RWFS_OFFSET = "65024"
-FLASH_SIZE = "65536"
-
-PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "evb-zx3-pm3-led-manager-config-native"
-PREFERRED_PROVIDER_u-boot = "u-boot-xlnx"
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config-native.bb b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config-native.bb
deleted file mode 100644
index 64e0318ae..000000000
--- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config-native.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Phosphor LED Group Management for Enclustra Mars ZX3"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit native
-
-PROVIDES += "virtual/phosphor-led-manager-config-native"
-
-SRC_URI += "file://led.yaml"
-S = "${WORKDIR}"
-
-# Copies example led layout yaml file
-do_install() {
- SRC=${S}
- DEST=${D}${datadir}/phosphor-led-manager
- install -D ${SRC}/led.yaml ${DEST}/led.yaml
-}
diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config/led.yaml b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config/led.yaml
deleted file mode 100644
index 38eb7697f..000000000
--- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config/led.yaml
+++ /dev/null
@@ -1,37 +0,0 @@
-enclosure_identify:
- led1:
- Action: 'Blink'
- DutyOn: 20
- Period: 100
-
-bmc_booted:
- led2:
- Action: 'Blink'
- DutyOn: 50
- Period: 1000
-
-power_on:
- led3:
- Action: 'Blink'
- DutyOn: 50
- Period: 1000
-
-enclosure_fault:
- led3:
- Action: 'Blink'
- DutyOn: 50
- Period: 30
-
-lamp_test:
- led1:
- Action: 'Blink'
- DutyOn: 20
- Period: 50
- led2:
- Action: 'Blink'
- DutyOn: 20
- Period: 100
- led3:
- Action: 'Blink'
- DutyOn: 20
- Period: 150
diff --git a/meta-evb/meta-evb-raspberrypi/conf/local.conf.sample b/meta-evb/meta-evb-raspberrypi/conf/local.conf.sample
index 88b639111..b46503e67 100644
--- a/meta-evb/meta-evb-raspberrypi/conf/local.conf.sample
+++ b/meta-evb/meta-evb-raspberrypi/conf/local.conf.sample
@@ -20,3 +20,4 @@ CONF_VERSION = "2"
# Defaults from meta-phosphor/conf/distro/include/phosphor-defaults.inc
require conf/machine/include/obmc-bsp-common.inc
+require conf/machine/include/obmc-evb-common.inc
diff --git a/meta-facebook/conf/machine/include/facebook-compute-multihost.inc b/meta-facebook/conf/machine/include/facebook-compute-multihost.inc
index f472cfa47..e668d4bf9 100644
--- a/meta-facebook/conf/machine/include/facebook-compute-multihost.inc
+++ b/meta-facebook/conf/machine/include/facebook-compute-multihost.inc
@@ -1,3 +1,3 @@
-require conf/machine/include/facebook-compute.inc
+MACHINEOVERRIDES =. "fb-compute-multihost:"
-OVERRIDES .= ":fb-compute-multihost"
+require conf/machine/include/facebook-compute.inc
diff --git a/meta-facebook/conf/machine/include/facebook-compute-singlehost.inc b/meta-facebook/conf/machine/include/facebook-compute-singlehost.inc
index f6a868329..7b642c3c5 100644
--- a/meta-facebook/conf/machine/include/facebook-compute-singlehost.inc
+++ b/meta-facebook/conf/machine/include/facebook-compute-singlehost.inc
@@ -1,3 +1,3 @@
-require conf/machine/include/facebook-compute.inc
+MACHINEOVERRIDES =. "fb-compute-singlehost:"
-OVERRIDES .= ":fb-compute-singlehost"
+require conf/machine/include/facebook-compute.inc
diff --git a/meta-facebook/conf/machine/include/facebook-compute.inc b/meta-facebook/conf/machine/include/facebook-compute.inc
index 7d61f81e1..748a1feb4 100644
--- a/meta-facebook/conf/machine/include/facebook-compute.inc
+++ b/meta-facebook/conf/machine/include/facebook-compute.inc
@@ -1,3 +1,3 @@
-require conf/machine/include/facebook-withhost.inc
+MACHINEOVERRIDES =. "fb-compute:"
-OVERRIDES .= ":fb-compute"
+require conf/machine/include/facebook-withhost.inc
diff --git a/meta-facebook/conf/machine/include/facebook-nohost.inc b/meta-facebook/conf/machine/include/facebook-nohost.inc
index e9af8e94d..a98da9979 100644
--- a/meta-facebook/conf/machine/include/facebook-nohost.inc
+++ b/meta-facebook/conf/machine/include/facebook-nohost.inc
@@ -1,3 +1,3 @@
-require conf/machine/include/facebook.inc
+MACHINEOVERRIDES =. "fb-nohost:"
-OVERRIDES .= ":fb-nohost"
+require conf/machine/include/facebook.inc
diff --git a/meta-facebook/conf/machine/include/facebook-withhost.inc b/meta-facebook/conf/machine/include/facebook-withhost.inc
index ebe79d1a4..861d35f86 100644
--- a/meta-facebook/conf/machine/include/facebook-withhost.inc
+++ b/meta-facebook/conf/machine/include/facebook-withhost.inc
@@ -1,6 +1,8 @@
+MACHINEOVERRIDES =. "fb-withhost:"
+
require conf/machine/include/facebook.inc
-OBMC_MACHINE_FEATURES += "\
+MACHINE_FEATURES += "\
obmc-chassis-state-mgmt \
obmc-host-ipmi \
obmc-host-state-mgmt \
@@ -12,4 +14,3 @@ VIRTUAL-RUNTIME_obmc-chassis-state-manager ?= "x86-power-control"
PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw ?= "phosphor-ipmi-kcs"
-OVERRIDES .= ":fb-withhost"
diff --git a/meta-facebook/conf/machine/include/facebook.inc b/meta-facebook/conf/machine/include/facebook.inc
index d18a66bf5..47b641dfc 100644
--- a/meta-facebook/conf/machine/include/facebook.inc
+++ b/meta-facebook/conf/machine/include/facebook.inc
@@ -1,4 +1,6 @@
-OBMC_MACHINE_FEATURES += "\
+DISTROOVERRIDES .= ":facebook"
+
+MACHINE_FEATURES += "\
obmc-bmc-state-mgmt \
obmc-phosphor-fan-mgmt \
obmc-phosphor-flash-mgmt \
@@ -14,4 +16,5 @@ PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-fb-apps"
IMAGE_FEATURES:remove = "obmc-ikvm"
-OVERRIDES .= ":facebook"
+# Most of our hardware uses the default ttyS4 but at 57600.
+SERIAL_CONSOLES:facebook = "57600;ttyS4"
diff --git a/meta-facebook/meta-bletchley/conf/machine/bletchley.conf b/meta-facebook/meta-bletchley/conf/machine/bletchley.conf
index 03af91001..9427df28a 100644
--- a/meta-facebook/meta-bletchley/conf/machine/bletchley.conf
+++ b/meta-facebook/meta-bletchley/conf/machine/bletchley.conf
@@ -11,6 +11,4 @@ require conf/machine/include/ast2600.inc
require conf/machine/include/obmc-bsp-common.inc
require conf/machine/include/facebook-tpm2.inc
-SERIAL_CONSOLES = "57600;ttyS4"
-
FLASH_SIZE = "131072"
diff --git a/meta-facebook/meta-tiogapass/conf/machine/tiogapass.conf b/meta-facebook/meta-tiogapass/conf/machine/tiogapass.conf
index 1e6ee084b..fce4b93f2 100644
--- a/meta-facebook/meta-tiogapass/conf/machine/tiogapass.conf
+++ b/meta-facebook/meta-tiogapass/conf/machine/tiogapass.conf
@@ -7,7 +7,5 @@ require conf/machine/include/facebook-compute-singlehost.inc
require conf/machine/include/ast2500.inc
require conf/machine/include/obmc-bsp-common.inc
-SERIAL_CONSOLES = "57600;ttyS4"
-
PREFERRED_PROVIDER_virtual/obmc-host-ctl ?= ""
FLASH_SIZE = "32768"
diff --git a/meta-facebook/meta-yosemitev2/conf/machine/yosemitev2.conf b/meta-facebook/meta-yosemitev2/conf/machine/yosemitev2.conf
index d246cc9b3..f57383b8c 100644
--- a/meta-facebook/meta-yosemitev2/conf/machine/yosemitev2.conf
+++ b/meta-facebook/meta-yosemitev2/conf/machine/yosemitev2.conf
@@ -7,8 +7,6 @@ require conf/machine/include/facebook-compute-multihost.inc
require conf/machine/include/ast2500.inc
require conf/machine/include/obmc-bsp-common.inc
-SERIAL_CONSOLES = "57600;ttyS4"
-
PREFERRED_PROVIDER_virtual/obmc-host-ctl ?= ""
FLASH_SIZE = "32768"
OBMC_HOST_INSTANCES = "1 2 3 4"
diff --git a/meta-facebook/recipes-extended/timezone/tzdata.bbappend b/meta-facebook/recipes-extended/timezone/tzdata.bbappend
new file mode 100644
index 000000000..9e6694239
--- /dev/null
+++ b/meta-facebook/recipes-extended/timezone/tzdata.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+DEFAULT_TIMEZONE = "PST8PDT"
diff --git a/meta-facebook/recipes-fb/fb-powerctrl/files/power-util b/meta-facebook/recipes-fb/fb-powerctrl/files/power-util
index 30fa34cc8..d00dfde7f 100755
--- a/meta-facebook/recipes-fb/fb-powerctrl/files/power-util
+++ b/meta-facebook/recipes-fb/fb-powerctrl/files/power-util
@@ -1,83 +1,83 @@
#!/bin/bash
# Usage of this utility
function usage() {
- echo "usage: power-util mb [on|off|status|cycle|reset]";
- echo " power-util sled-cycle"
+ echo "usage: power-util mb [on|off|status|cycle|reset]";
+ echo " power-util sled-cycle"
}
power_off() {
- echo "Shutting down Server $2"
- busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.Off
+ echo "Shutting down Server"
+ busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.Off
}
power_on() {
- echo "Powering on Server $2"
- busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.On
+ echo "Powering on Server"
+ busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.On
}
power_status() {
- st=$(busctl get-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis CurrentPowerState | cut -d"." -f6)
- if [ "$st" == "On\"" ]; then
- echo "on"
- else
- echo "off"
- fi
+ st=$(busctl get-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis CurrentPowerState | cut -d"." -f6)
+ if [ "$st" == "On\"" ]; then
+ echo "on"
+ else
+ echo "off"
+ fi
}
power_reset() {
- echo "Reset on server $2"
- busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.Reset
+ echo "Reset on server"
+ busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.Reset
}
sled_cycle() {
- i2cset -y 7 0x45 0xd9 c
+ i2cset -y 7 0x45 0xd9 c
}
-if [ $1 == "sled-cycle" ]; then
- echo "SLED_CYCLE starting at $(date)"
- sled_cycle
- exit 0;
+if [ "$1" == "sled-cycle" ]; then
+ echo "SLED_CYCLE starting at $(date)"
+ sled_cycle
+ exit 0;
fi
if [ $# -lt 2 ]; then
- echo "Total number of parameter=$#"
- echo "Insufficient parameter"
- usage;
- exit 0;
+ echo "Total number of parameter=$#"
+ echo "Insufficient parameter"
+ usage;
+ exit 0;
fi
-if [ $1 != "mb" ]; then
- echo "Invalid parameter1=$1"
- usage;
- exit 0;
+if [ "$1" != "mb" ]; then
+ echo "Invalid parameter1=$1"
+ usage;
+ exit 0;
fi
-if [ $2 = "on" ]; then
- if [ $(power_status) == "off" ]; then
- power_on
+if [ "$2" = "on" ]; then
+ if [ "$(power_status)" == "off" ]; then
+ power_on
fi
-elif [ $2 = "off" ]; then
- if [ $(power_status) == "on" ]; then
- power_off
+elif [ "$2" = "off" ]; then
+ if [ "$(power_status)" == "on" ]; then
+ power_off
fi
-elif [ $2 == "cycle" ]; then
- if [ $(power_status) == "on" ]; then
- power_off
+elif [ "$2" == "cycle" ]; then
+ if [ "$(power_status)" == "on" ]; then
+ power_off
else
echo "WARNING: Powering on server"
fi
- power_on
-elif [ $2 == "reset" ]; then
- if [ $(power_status) == "on" ]; then
- power_reset
+ power_on
+elif [ "$2" == "reset" ]; then
+ if [ "$(power_status)" == "on" ]; then
+ power_reset
else
echo "ERROR: Server not powered on"
fi
-elif [ $2 == "status" ]; then
- power_status
+elif [ "$2" == "status" ]; then
+ power_status
else
- echo "Invalid parameter2=$2"
- usage;
+ echo "Invalid parameter2=$2"
+ usage;
fi
exit 0;
diff --git a/meta-facebook/recipes-fb/fb-powerctrl/files/setup_gpio.sh b/meta-facebook/recipes-fb/fb-powerctrl/files/setup_gpio.sh
index 2624abd0d..cac3b20c7 100755
--- a/meta-facebook/recipes-fb/fb-powerctrl/files/setup_gpio.sh
+++ b/meta-facebook/recipes-fb/fb-powerctrl/files/setup_gpio.sh
@@ -7,16 +7,16 @@ function set_gpio_active_low() {
return;
fi
- echo $1 > /sys/class/gpio/export
- echo $2 > /sys/class/gpio/gpio$1/direction
+ echo "$1" > /sys/class/gpio/export
+ echo "$2" > "/sys/class/gpio/gpio$1/direction"
}
GPIO_BASE=$(cat /sys/class/gpio/gpio*/base)
# FM_BMC_READY_N, GPIO S1, active low
-set_gpio_active_low $((${GPIO_BASE} + 144 +1)) low
+set_gpio_active_low $((GPIO_BASE + 144 +1)) low
# FP_PECI_MUX, active low
-set_gpio_active_low $((${GPIO_BASE} + 212)) high
+set_gpio_active_low $((GPIO_BASE + 212)) high
exit 0;
diff --git a/meta-facebook/recipes-fb/ipmi/fb-ipmi-oem_git.bb b/meta-facebook/recipes-fb/ipmi/fb-ipmi-oem_git.bb
index ceade37d2..5dc4a60c7 100755
--- a/meta-facebook/recipes-fb/ipmi/fb-ipmi-oem_git.bb
+++ b/meta-facebook/recipes-fb/ipmi/fb-ipmi-oem_git.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=9e69ba356fa59848ffd865152a3ccc13"
SRC_URI = "git://github.com/openbmc/fb-ipmi-oem"
-SRCREV = "485f9b31cbdc8e8aebdfb18729f541f41227522d"
+SRCREV = "dd0415b50776fade388ac7523f8aabe6a8a9fb68"
S = "${WORKDIR}/git"
PV = "0.1+git${SRCPV}"
diff --git a/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb b/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb
index d9c2abd53..4b8704321 100644
--- a/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb
+++ b/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb
@@ -53,6 +53,7 @@ RDEPENDS_PN_SYSTEM_EXTRAS:fb-withhost = " \
ipmitool \
phosphor-post-code-manager \
phosphor-host-postd \
+ tzdata-core \
"
SUMMARY:${PN}-system = "Facebook System"
diff --git a/meta-facebook/recipes-phosphor/flash/phosphor-software-manager/bios-update.sh b/meta-facebook/recipes-phosphor/flash/phosphor-software-manager/bios-update.sh
index fd1c52b2a..4b99f0be4 100755
--- a/meta-facebook/recipes-phosphor/flash/phosphor-software-manager/bios-update.sh
+++ b/meta-facebook/recipes-phosphor/flash/phosphor-software-manager/bios-update.sh
@@ -20,16 +20,16 @@ set_gpio_to_bmc()
echo "switch bios GPIO to bmc"
if [ ! -d /sys/class/gpio/gpio$GPIO ]; then
cd /sys/class/gpio
- echo $GPIO > export
+ echo $GPIO > "export"
cd gpio$GPIO
else
cd /sys/class/gpio/gpio$GPIO
fi
- direc=`cat direction`
- if [ $direc == "in" ]; then
+ direc=$(cat direction)
+ if [ "$direc" == "in" ]; then
echo "out" > direction
fi
- data=`cat value`
+ data=$(cat value)
if [ "$data" == "0" ]; then
echo 1 > value
fi
@@ -41,16 +41,16 @@ set_gpio_to_pch()
echo "switch bios GPIO to pch"
if [ ! -d /sys/class/gpio/gpio$GPIO ]; then
cd /sys/class/gpio
- echo $GPIO > export
+ echo $GPIO > "export"
cd gpio$GPIO
else
cd /sys/class/gpio/gpio$GPIO
fi
- direc=`cat direction`
- if [ $direc == "in" ]; then
+ direc=$(cat direction)
+ if [ "$direc" == "in" ]; then
echo "out" > direction
fi
- data=`cat value`
+ data=$(cat value)
if [ "$data" == "1" ]; then
echo 0 > value
fi
@@ -65,17 +65,18 @@ echo "Bios upgrade started at $(date)"
echo "Power off host server"
$POWER_CMD off
sleep 15
-if [ $($POWER_CMD status) != "off" ];
+if [ "$($POWER_CMD status)" != "off" ];
then
echo "Host server didn't power off"
echo "Bios upgrade failed"
- exit -1
+ exit 1
fi
echo "Host server powered off"
#Set ME to recovery mode
echo "Set ME to recovery mode"
-busctl call $IPMB_OBJ $IPMB_PATH $IPMB_INTF $IPMB_CALL $ME_CMD_RECOVER
+# shellcheck disable=SC2086
+busctl call "$IPMB_OBJ" "$IPMB_PATH" "$IPMB_INTF" $IPMB_CALL $ME_CMD_RECOVER
sleep 5
#Flip GPIO to access SPI flash used by host.
@@ -93,11 +94,10 @@ then
echo "Bios image is $IMAGE_FILE"
for d in mtd6 mtd7 ; do
if [ -e "/dev/$d" ]; then
- mtd=`cat /sys/class/mtd/$d/name`
- if [ $mtd == "pnor" ]; then
+ mtd=$(cat /sys/class/mtd/$d/name)
+ if [ "$mtd" == "pnor" ]; then
echo "Flashing bios image to $d..."
- flashcp -v $IMAGE_FILE /dev/$d
- if [ $? -eq 0 ]; then
+ if flashcp -v "$IMAGE_FILE" /dev/$d; then
echo "bios updated successfully..."
else
echo "bios update failed..."
@@ -125,7 +125,8 @@ sleep 5
#Reset ME to boot from new bios
echo "Reset ME to boot from new bios"
-busctl call $IPMB_OBJ $IPMB_PATH $IPMB_INTF $IPMB_CALL $ME_CMD_RESET
+# shellcheck disable=SC2086
+busctl call "$IPMB_OBJ" "$IPMB_PATH" "$IPMB_INTF" $IPMB_CALL $ME_CMD_RESET
sleep 10
#Power on server
@@ -134,7 +135,7 @@ $POWER_CMD on
sleep 5
# Retry to power on once again if server didn't powered on
-if [ $($POWER_CMD status) != "on" ];
+if [ "$($POWER_CMD status)" != "on" ];
then
sleep 5
echo "Powering on server again"
diff --git a/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host1.json b/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host1.json
new file mode 100644
index 000000000..8c8379e1e
--- /dev/null
+++ b/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host1.json
@@ -0,0 +1,52 @@
+{
+ "gpio_configs":[
+ {
+ "Name" : "PostComplete",
+ "LineName" : "POST_COMPLETE",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "SlotPower",
+ "LineName" : "SLOT1_POWER",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "PowerOut",
+ "LineName" : "POWER_OUT1",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "ResetOut",
+ "LineName" : "RESET_OUT1",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "PowerOk",
+ "DbusName" : "xyz.openbmc_project.IpmbSensor",
+ "Path" : "/xyz/openbmc_project/gpio/volt/1_CPU_Good",
+ "Interface" : "xyz.openbmc_project.Chassis.Control.Power",
+ "Property" : "PGood",
+ "Type" : "DBUS"
+ }
+],
+"timing_configs":{
+ "PowerPulseMs": 200,
+ "ForceOffPulseMs": 15000,
+ "ResetPulseMs": 500,
+ "PowerCycleMs": 5000,
+ "SioPowerGoodWatchdogMs": 1000,
+ "PsPowerOKWatchdogMs": 8000,
+ "GracefulPowerOffS": 300,
+ "WarmResetCheckMs": 500,
+ "PowerOffSaveMs": 7000,
+ "slotPowerCycleTimeMs": 200
+}
+}
diff --git a/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host2.json b/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host2.json
new file mode 100644
index 000000000..ebf7bf029
--- /dev/null
+++ b/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host2.json
@@ -0,0 +1,52 @@
+{
+ "gpio_configs":[
+ {
+ "Name" : "PostComplete",
+ "LineName" : "POST_COMPLETE",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "SlotPower",
+ "LineName" : "SLOT1_POWER",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "PowerOut",
+ "LineName" : "POWER_OUT1",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "ResetOut",
+ "LineName" : "RESET_OUT1",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "PowerOk",
+ "DbusName" : "xyz.openbmc_project.IpmbSensor",
+ "Path" : "/xyz/openbmc_project/gpio/volt/2_CPU_Good",
+ "Interface" : "xyz.openbmc_project.Chassis.Control.Power",
+ "Property" : "PGood",
+ "Type" : "DBUS"
+ }
+],
+"timing_configs":{
+ "PowerPulseMs": 200,
+ "ForceOffPulseMs": 15000,
+ "ResetPulseMs": 500,
+ "PowerCycleMs": 5000,
+ "SioPowerGoodWatchdogMs": 1000,
+ "PsPowerOKWatchdogMs": 8000,
+ "GracefulPowerOffS": 300,
+ "WarmResetCheckMs": 500,
+ "PowerOffSaveMs": 7000,
+ "slotPowerCycleTimeMs": 200
+}
+}
diff --git a/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host3.json b/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host3.json
new file mode 100644
index 000000000..3631dc392
--- /dev/null
+++ b/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host3.json
@@ -0,0 +1,52 @@
+{
+ "gpio_configs":[
+ {
+ "Name" : "PostComplete",
+ "LineName" : "POST_COMPLETE",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "SlotPower",
+ "LineName" : "SLOT1_POWER",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "PowerOut",
+ "LineName" : "POWER_OUT1",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "ResetOut",
+ "LineName" : "RESET_OUT1",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "PowerOk",
+ "DbusName" : "xyz.openbmc_project.IpmbSensor",
+ "Path" : "/xyz/openbmc_project/gpio/volt/3_CPU_Good",
+ "Interface" : "xyz.openbmc_project.Chassis.Control.Power",
+ "Property" : "PGood",
+ "Type" : "DBUS"
+ }
+],
+"timing_configs":{
+ "PowerPulseMs": 200,
+ "ForceOffPulseMs": 15000,
+ "ResetPulseMs": 500,
+ "PowerCycleMs": 5000,
+ "SioPowerGoodWatchdogMs": 1000,
+ "PsPowerOKWatchdogMs": 8000,
+ "GracefulPowerOffS": 300,
+ "WarmResetCheckMs": 500,
+ "PowerOffSaveMs": 7000,
+ "slotPowerCycleTimeMs": 200
+}
+}
diff --git a/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host4.json b/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host4.json
new file mode 100644
index 000000000..dac58ae34
--- /dev/null
+++ b/meta-facebook/recipes-x86/chassis/x86-power-control/yosemitev2/power-config-host4.json
@@ -0,0 +1,52 @@
+{
+ "gpio_configs":[
+ {
+ "Name" : "PostComplete",
+ "LineName" : "POST_COMPLETE",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "SlotPower",
+ "LineName" : "SLOT1_POWER",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "PowerOut",
+ "LineName" : "POWER_OUT1",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "ResetOut",
+ "LineName" : "RESET_OUT1",
+ "Type" : "GPIO",
+ "Polarity" : "ActiveLow"
+ },
+
+ {
+ "Name" : "PowerOk",
+ "DbusName" : "xyz.openbmc_project.IpmbSensor",
+ "Path" : "/xyz/openbmc_project/gpio/volt/4_CPU_Good",
+ "Interface" : "xyz.openbmc_project.Chassis.Control.Power",
+ "Property" : "PGood",
+ "Type" : "DBUS"
+ }
+],
+"timing_configs":{
+ "PowerPulseMs": 200,
+ "ForceOffPulseMs": 15000,
+ "ResetPulseMs": 500,
+ "PowerCycleMs": 5000,
+ "SioPowerGoodWatchdogMs": 1000,
+ "PsPowerOKWatchdogMs": 8000,
+ "GracefulPowerOffS": 300,
+ "WarmResetCheckMs": 500,
+ "PowerOffSaveMs": 7000,
+ "slotPowerCycleTimeMs": 200
+}
+}
diff --git a/meta-facebook/recipes-x86/chassis/x86-power-control_%.bbappend b/meta-facebook/recipes-x86/chassis/x86-power-control_%.bbappend
index c119baca9..862f2f179 100644
--- a/meta-facebook/recipes-x86/chassis/x86-power-control_%.bbappend
+++ b/meta-facebook/recipes-x86/chassis/x86-power-control_%.bbappend
@@ -1,2 +1,13 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
EXTRA_OECMAKE += "-DCHASSIS_SYSTEM_RESET=ON"
+
+SRC_URI:append:yosemitev2 = " file://power-config-host1.json"
+SRC_URI:append:yosemitev2 = " file://power-config-host2.json"
+SRC_URI:append:yosemitev2 = " file://power-config-host3.json"
+SRC_URI:append:yosemitev2 = " file://power-config-host4.json"
+
+do_install:append:yosemitev2() {
+ install -m 0755 -d ${D}/${datadir}/${BPN}
+ install -m 0644 -D ${WORKDIR}/*.json \
+ ${D}/${datadir}/${BPN}/
+}
diff --git a/meta-fii/meta-kudo/conf/layer.conf b/meta-fii/meta-kudo/conf/layer.conf
index d2b0e57e2..09535e909 100644
--- a/meta-fii/meta-kudo/conf/layer.conf
+++ b/meta-fii/meta-kudo/conf/layer.conf
@@ -8,3 +8,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "kudo-layer"
BBFILE_PATTERN_kudo-layer = "^${LAYERDIR}/"
LAYERSERIES_COMPAT_kudo-layer = "hardknott honister"
+LAYERDEPENDS_kudo-layer = "core phosphor-layer google-layer fii-layer"
diff --git a/meta-fii/meta-kudo/conf/machine/kudo.conf b/meta-fii/meta-kudo/conf/machine/kudo.conf
index 9f64c476b..b53cc46df 100644
--- a/meta-fii/meta-kudo/conf/machine/kudo.conf
+++ b/meta-fii/meta-kudo/conf/machine/kudo.conf
@@ -22,7 +22,7 @@ IMAGE_FSTYPES += " cpio.${INITRAMFS_CTYPE}.u-boot"
SERIAL_CONSOLES = "115200;ttyS0"
-OBMC_MACHINE_FEATURES += " \
+MACHINE_FEATURES += " \
obmc-host-ipmi \
obmc-phosphor-fan-mgmt \
obmc-phosphor-flash-mgmt \
@@ -37,4 +37,8 @@ PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-kudo-apps"
PREFERRED_PROVIDER_virtual/bmc-update = "kudo-bmc-update"
PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-kudo-apps"
# Remove unneeded binaries from image
-IMAGE_FEATURES:remove = "obmc-health-monitor"
+IMAGE_FEATURES:remove = "obmc-health-monitor \
+ obmc-fan-control \
+ obmc-inventory \
+ "
+
diff --git a/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
index a6ba28d86..a4119a392 100644
--- a/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
+++ b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
@@ -20,3 +20,13 @@
systemctl reload rsyslog 2> /dev/null || true
endscript
}
+# Keep up to two 2k files for gpio log (4k total)
+/usr/share/kudo-vrlog/gpio.log
+{
+ rotate 1
+ size 2k
+ missingok
+ postrotate
+ systemctl reload rsyslog 2> /dev/null || true
+ endscript
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb
index f7daa94a8..327053cc9 100644
--- a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb
@@ -14,7 +14,8 @@ SRC_URI = "file://ampere-host-shutdown.service \
file://ampere_power_util.sh \
file://ampere-chassis-poweroff.service \
file://ampere-chassis-poweron.service \
- file://ampere-host-reset-ack.service \
+ file://ampere-chassis-powercycle.service \
+ file://ampere-host-shutdown-ack.service \
file://ampere-host-force-reset.service \
file://ampere-host-power-cycle.service \
"
@@ -28,7 +29,8 @@ SYSTEMD_SERVICE:${PN} = " \
ampere-host-reset.service \
ampere-chassis-poweroff.service \
ampere-chassis-poweron.service \
- ampere-host-reset-ack.service \
+ ampere-chassis-powercycle.service \
+ ampere-host-shutdown-ack.service \
ampere-host-force-reset.service \
ampere-host-power-cycle.service \
"
@@ -68,6 +70,11 @@ CHASSIS_POWEROFF_TGTFMT = "obmc-chassis-poweroff@{0}.target"
CHASSIS_POWEROFF_FMT = "../${CHASSIS_POWEROFF_SVC}:${CHASSIS_POWEROFF_TGTFMT}.requires/${CHASSIS_POWEROFF_SVC}"
SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'CHASSIS_POWEROFF_FMT', 'OBMC_CHASSIS_INSTANCES')}"
+CHASSIS_POWERCYCLE_SVC = "ampere-chassis-powercycle.service"
+CHASSIS_POWERCYCLE_TGTFMT = "obmc-chassis-powercycle@{0}.target"
+CHASSIS_POWERCYCLE_FMT = "../${CHASSIS_POWERCYCLE_SVC}:${CHASSIS_POWERCYCLE_TGTFMT}.requires/${CHASSIS_POWERCYCLE_SVC}"
+SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'CHASSIS_POWERCYCLE_FMT', 'OBMC_CHASSIS_INSTANCES')}"
+
TMPL = "phosphor-gpio-monitor@.service"
INSTFMT = "phosphor-gpio-monitor@{0}.service"
TGT = "multi-user.target"
diff --git a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-chassis-powercycle.service b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-chassis-powercycle.service
new file mode 100644
index 000000000..c55fcd3db
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-chassis-powercycle.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Ampere Computing LLC Power OFF Chassis
+
+[Service]
+RemainAfterExit=no
+Type=oneshot
+ExecStart=/usr/bin/env ampere_power_util.sh mb hotswap
+SyslogIdentifier=ampere_power_util.sh
diff --git a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-power-cycle.service b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-power-cycle.service
index 0b32aa158..3e03e07df 100644
--- a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-power-cycle.service
+++ b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-power-cycle.service
@@ -2,6 +2,8 @@
Description=Ampere Computing LLC power cycle service
Conflicts=obmc-host-start@0.target
OnFailure=obmc-chassis-powerreset@0.target
+Wants=kudo-bios-verify.service
+After=kudo-bios-verify.service
[Service]
RemainAfterExit=no
diff --git a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-reset-ack.service b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-reset-ack.service
deleted file mode 100644
index a5338797a..000000000
--- a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-reset-ack.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Ampere Computing LLC triggering reset ACK
-Conflicts=obmc-host-start@0.target
-OnFailure=obmc-chassis-powerreset@0.target
-
-[Service]
-RemainAfterExit=no
-Type=oneshot
-ExecStart=/usr/bin/env ampere_power_util.sh mb force_reset
-SyslogIdentifier=ampere_power_util.sh
-
diff --git a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-shutdown-ack.service b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-shutdown-ack.service
new file mode 100644
index 000000000..fe05915ac
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-host-shutdown-ack.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Ampere Computing LLC host shutdown ACK
+Requires=op-wait-power-off@%i.service
+Before=op-wait-power-off@%i.service
+Conflicts=obmc-chassis-poweron@0.target
+
+[Service]
+RemainAfterExit=no
+Type=oneshot
+ExecStart=/usr/bin/env ampere_power_util.sh mb shutdown_ack
+SyslogIdentifier=ampere_power_util.sh
+
diff --git a/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh b/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh
index 420abfb8c..19ccc0e8e 100644
--- a/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh
+++ b/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh
@@ -1,24 +1,40 @@
#!/bin/bash
+
+source /usr/sbin/kudo-lib.sh
+
# Usage of this utility
function usage() {
- echo "usage: power-util mb [on|off|status|cycle|reset|graceful_shutdown|graceful_reset|force_reset]";
+ echo "usage: power-util mb [on|off|graceful_shutdown|force_reset|shutdown_ack|hotswap|power_button]";
+}
+
+hotswap() {
+ kudo.sh rst hotswap
+}
+
+force_off() {
+ echo "Powering down Server"
+
+ set_gpio_ctrl 203 out 1
+ sleep 6
+ set_gpio_ctrl 203 out 0
}
power_off() {
- echo "Shutting down Server $2"
+ busctl set-property xyz.openbmc_project.Watchdog /xyz/openbmc_project/watchdog/host0 xyz.openbmc_project.State.Watchdog ExpireAction s xyz.openbmc_project.State.Watchdog.Action.None
busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.Off
}
power_on() {
- echo "Powering on Server $2"
- gpioset 6 11=1
+ echo "Powering on Server"
+
+ set_gpio_ctrl 203 out 1
sleep 1
- gpioset 6 11=0
+ set_gpio_ctrl 203 out 0
busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.On
}
power_status() {
- st=$(busctl get-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis CurrentPowerState | cut -d"." -f6)
+ st=$(busctl get-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis CurrentPowerState | cut -d "." -f6)
if [ "$st" == "On\"" ]; then
echo "on"
else
@@ -26,33 +42,73 @@ power_status() {
fi
}
-power_reset() {
- echo "Reset on server $2"
- busctl set-property xyz.openbmc_project.State.Host /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.Host RequestedHostTransition s xyz.openbmc_project.State.Host.Transition.Reboot
+host_status() {
+ BOOT_OK=$(get_gpio_ctrl 194)
+ S5_N=$(get_gpio_ctrl 204)
+ if [ $S5_N == 1 ] || [ $BOOT_OK == 1 ]; then
+ echo "on"
+ else
+ echo "off"
+ fi
+}
+
+timestamp() {
+ date +"%s" # current time
}
graceful_shutdown() {
if [ -f "/run/openbmc/host@0-request" ]; then
- echo "shutdown host immediately"
- gpioset 6 11=1
- sleep 6
- gpioset 6 11=0
+ echo "Shutdown host immediately"
power_off
else
echo "Triggering graceful shutdown"
- gpioset -l 2 6=0
+ mkdir /run/openbmc
+ echo "$(timestamp)" > "/run/openbmc/host@0-shutdown-req-time"
+ set_gpio_ctrl 70 out 0
sleep 3
- gpioset -l 2 6=1
- sleep 30s
- power_off
+ set_gpio_ctrl 70 out 1
fi
}
force_reset() {
- echo "Triggering sysreset pin"
- gpioset -l 2 1=0
- sleep 1
- gpioset -l 2 1=1
+ if [ $(host_status) == "on" ]; then
+ echo "Triggering sysreset pin"
+ busctl set-property xyz.openbmc_project.Watchdog /xyz/openbmc_project/watchdog/host0 xyz.openbmc_project.State.Watchdog ExpireAction s xyz.openbmc_project.State.Watchdog.Action.None
+ set_gpio_ctrl 65 out 0
+ sleep 1
+ set_gpio_ctrl 65 out 1
+ else
+ echo "Host is off, cannot reset."
+ fi
+}
+
+shutdown_ack() {
+ echo "Receive shutdown ACK triggered"
+ power_off
+
+ if [ -f "/run/openbmc/host@0-shutdown-req-time" ]; then
+ rm -rf "/run/openbmc/host@0-shutdown-req-time"
+ fi
+}
+
+power_button() {
+ echo "Power button trigger event."
+ current_time="$(timestamp)"
+ if [ -f "/run/openbmc/power-button" ]; then
+ echo "Power button released"
+ press_time="$(cat /run/openbmc/power-button)"
+ if [[ "$current_time" -le "(($press_time + 1))" ]]; then
+ power_on
+ elif [[ "$current_time" -ge "(($press_time + 5))" ]]; then
+ power_off
+ else
+ echo "Button press did not match interval."
+ fi
+ rm "/run/openbmc/power-button"
+ else
+ echo "Power button pressed"
+ echo "$(timestamp)" > "/run/openbmc/power-button"
+ fi
}
if [ $# -lt 2 ]; then
@@ -69,49 +125,31 @@ if [ $1 != "mb" ]; then
fi
if [ $2 = "on" ]; then
+ sleep 3
if [ $(power_status) == "off" ]; then
power_on
fi
elif [ $2 = "off" ]; then
if [ $(power_status) == "on" ]; then
power_off
+ sleep 6
+ if [ $(host_status) == "on" ]; then
+ force_off
+ fi
fi
- # If any request of graceful reset, need to power on
- if [ -f "/run/openbmc/host@0-graceful-reset" ]; then
- sleep 20s
- power_on
- rm -f "/run/openbmc/host@0-graceful-reset"
- fi
-elif [ $2 == "cycle" ]; then
- if [ $(power_status) == "on" ]; then
- echo "Power cycling server"
- power_off
- sleep 20s
- power_on
- else
- echo "Host is already off, do nothing"
- fi
-elif [ $2 == "reset" ]; then
- if [ $(power_status) == "on" ]; then
- power_reset
- else
- echo "ERROR: Server not powered on"
- fi
+elif [[ $2 == "hotswap" ]]; then
+ hotswap
elif [[ $2 == "graceful_shutdown" ]]; then
graceful_shutdown
-elif [ $2 == "graceful_reset" ]; then
- mkdir -p "/run/openbmc/"
- touch "/run/openbmc/host@0-graceful-reset"
- graceful_shutdown
- sleep 20s
-elif [ $2 == "status" ]; then
- power_status
elif [ $2 == "force_reset" ]; then
force_reset
+elif [ $2 == "shutdown_ack" ]; then
+ shutdown_ack
+elif [ $2 == "power_button" ]; then
+ power_button
else
echo "Invalid parameter2=$2"
usage;
fi
exit 0;
-
diff --git a/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb b/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb
index b56ce441e..682d567ed 100644
--- a/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb
@@ -15,7 +15,7 @@ EXTRA_OECMAKE="-DENABLE_TEST=0 -DYOCTO=1"
LIBRARY_NAMES = "libfiioemcmds.so"
SRC_URI = "git://github.com/openbmc/foxconn-ipmi-oem.git"
-SRCREV = "35c1ac40e476caa19c84a546d4f85ba96cb5dbbd"
+SRCREV = "da2cf0d2b0f4cd56bc93575a435a5ee1c848f7b0"
HOSTIPMI_PROVIDER_LIBRARY += "${LIBRARY_NAMES}"
NETIPMI_PROVIDER_LIBRARY += "${LIBRARY_NAMES}"
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh
index 5e0763a64..bb35b29be 100644
--- a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh
@@ -40,11 +40,15 @@ function fwbios() {
fi
i2cset -y -f -a 13 0x76 0x10 0x00
- # Disable LPI mode NV_SI_CPU_LPI_FREQ_DISABLE.
- # Moved to before SCP as fwscp function returns 0 on success
+ # Disable LPI mode NV_SI_CPU_LPI_FREQ_DISABLE for SCP 1.06 and older.
nvparm -s 0x1 -o 0x114090
- # TODO: Disabled toggling of SMPro heartbeat (require CPLD v 1.12.0.0+)
- # nvparm -s 0x1 -o 0x5F0638
+
+ # Disable LPI mode NV_SI_CPU_LPI_FREQ_DISABLE for SCP 1.07 and newer
+ nvparm -s 0x1 -o 0x02A8
+
+ # Disable toggling of SMPro heartbeat
+ nvparm -s 0x0 -o 0x5F0638
+
if [ $? -ne 0 ]; then
echo "Setting default nvparms failed " >&2
return 1
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service
index 54c7c7aa1..8a8d46f14 100644
--- a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service
@@ -2,6 +2,8 @@
Description = Host Power Control Sequence
Wants=ssifbridge.service
After=ssifbridge.service
+Wants=kudo-bios-verify.service
+After=kudo-bios-verify.service
[Service]
Restart=no
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh
index 8231e3de8..55661df80 100644
--- a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh
@@ -35,10 +35,6 @@ if [[ $boardver -lt 64 ]]; then
# Power control
# S0_BMC_OK, GPIO 69
set_gpio_ctrl 69 out 1
-
- # MON_BMC_ALIVE, GPIO 10(EVT), GPIO137(DVT)
- set_gpio_ctrl 137 out 0 # setting unused GPIO
- set_gpio_ctrl 10 out 1
else
echo "DVT or PVT system"
# sleep so that FRU and all ipmitool Devices are ready before HOST OS
@@ -49,11 +45,7 @@ else
# Power control
# S0_BMC_OK, GPIO 69
set_gpio_ctrl 69 out 1
-
- # MON_BMC_ALIVE GPIO137(DVT)
- set_gpio_ctrl 10 out 0 # setting unused GPIO
- set_gpio_ctrl 137 out 1
-fi
+fi
# Disable CPU 1 CLK when cpu not detected
# echo init_once cpu $CPU1_STATUS > /dev/ttyS0
@@ -72,3 +64,6 @@ if [[ $CPU1_STATUS_N == 1 ]]; then
i2cset -y -a -f 16 0x6a 11 1 0x01 i
i2cset -y -a -f 17 0x67 1 2 0x3f 0x0c i
fi
+
+# Create /run/openbmc for system power files
+mkdir "/run/openbmc"
diff --git a/meta-fii/meta-kudo/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json b/meta-fii/meta-kudo/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
index 2dccd42e8..47cb2cc60 100644
--- a/meta-fii/meta-kudo/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
+++ b/meta-fii/meta-kudo/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
@@ -6,7 +6,6 @@
"power_up_outs": [
],
"reset_outs": [
- {"name": "BMC_S0_SYSRESET_N", "polarity": false}
]
}
},
@@ -16,11 +15,6 @@
"name": "PGOOD",
"num": 200,
"direction": "in"
- },
- {
- "name": "BMC_S0_SYSRESET_N",
- "num": 65,
- "direction": "out"
}
]
}
diff --git a/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager/xyz.openbmc_project.State.Chassis.service b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager/xyz.openbmc_project.State.Chassis.service
new file mode 100644
index 000000000..d8df56164
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager/xyz.openbmc_project.State.Chassis.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Phosphor Chassis State Manager
+Before=mapper-wait@-xyz-openbmc_project-state-chassis.service
+Wants=obmc-mapper.target
+After=obmc-mapper.target
+After=org.openbmc.control.Power@0.service
+After=host-powerctrl.service
+
+[Service]
+ExecStartPre=/bin/sleep 5
+ExecStart=/usr/bin/phosphor-chassis-state-manager
+Restart=always
+Type=dbus
+BusName=xyz.openbmc_project.State.Chassis
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager/xyz.openbmc_project.State.Host.service b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager/xyz.openbmc_project.State.Host.service
new file mode 100644
index 000000000..3455aeea2
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager/xyz.openbmc_project.State.Host.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Phosphor Host State Manager
+Wants=mapper-wait@-xyz-openbmc_project-control-host0-auto_reboot.service
+After=mapper-wait@-xyz-openbmc_project-control-host0-auto_reboot.service
+Before=mapper-wait@-xyz-openbmc_project-state-host.service
+Wants=obmc-mapper.target
+After=obmc-mapper.target
+
+[Service]
+ExecStart=/usr/bin/phosphor-host-state-manager
+Restart=always
+Type=dbus
+BusName=xyz.openbmc_project.State.Host
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend
new file mode 100644
index 000000000..39106e8c1
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend
@@ -0,0 +1,39 @@
+FILESEXTRAPATHS:prepend:kudo := "${THISDIR}/${PN}:"
+
+CHASSIS_ACTION_TARGETS:append:kudo = " powercycle"
+
+STATE_MGR_PACKAGES:remove:kudo = " ${PN}-host-check ${PN}-reset-sensor-states"
+SYSTEMD_PACKAGES:remove:kudo = " ${PN}-reset-sensor-states"
+RRECOMMENDS:${PN}-host:remove:kudo = " ${PN}-host-check ${PN}-reset-sensor-states"
+
+pkg_postinst:${PN}-obmc-targets:append:kudo() {
+ rm "$D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires/obmc-chassis-poweroff@0.target"
+
+ rm "$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service"
+ rm "$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/obmc-host-force-warm-reboot@0.target"
+
+ rm "$D$systemd_system_unitdir/obmc-host-reboot@0.target.requires/phosphor-reboot-host@0.service"
+ rm "$D$systemd_system_unitdir/obmc-host-reboot@0.target.requires/obmc-host-shutdown@0.target"
+
+ rm "$D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires/obmc-host-stop@0.target"
+ rm "$D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires/phosphor-reboot-host@0.service"
+
+ rm "$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-host-running@0.service"
+ rm "$D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants/phosphor-reset-sensor-states@0.service"
+ rm "$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/phosphor-reset-sensor-states@0.service"
+}
+
+SRC_URI:append:kudo = " \
+ file://xyz.openbmc_project.State.Chassis.service \
+ file://xyz.openbmc_project.State.Host.service \
+ "
+
+do_install:append:kudo() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/xyz.openbmc_project.State.Chassis.service ${D}${systemd_system_unitdir}/xyz.openbmc_project.State.Chassis.service
+ install -m 0644 ${WORKDIR}/xyz.openbmc_project.State.Host.service ${D}${systemd_system_unitdir}/xyz.openbmc_project.State.Host.service
+ rm -f ${D}${systemd_system_unitdir}/phosphor-reset-host-check@.service
+ rm -f ${D}${systemd_system_unitdir}/phosphor-reset-sensor-states@.service
+ rm -f ${D}${systemd_system_unitdir}/phosphor-reset-host-running@.service
+}
+
diff --git a/meta-google/MAINTAINERS b/meta-google/MAINTAINERS
index 52bbc037e..27ea1b5e9 100644
--- a/meta-google/MAINTAINERS
+++ b/meta-google/MAINTAINERS
@@ -48,5 +48,4 @@ M: Benjamin Fair <benjaminfair@google.com> <benjaminfair!>
M: Ed Tanous <edtanous@google.com> <edtanous!>
M: Brandon Kim <brandonkim@google.com> <brandonk!>
M: Willy Tu <wltu@google.com> <wltu!>
-M: Zhenfei Tai <ztai@google.com> <ztai!>
M: Nan Zhou <nanzhoumails@gmail.com> <fighternan!>
diff --git a/meta-google/OWNERS b/meta-google/OWNERS
index 44cdb497d..1972513e6 100644
--- a/meta-google/OWNERS
+++ b/meta-google/OWNERS
@@ -5,5 +5,4 @@ owners:
- edtanous@google.com
- brandonkim@google.com
- wltu@google.com
-- ztai@google.com
- nanzhoumails@gmail.com
diff --git a/meta-google/classes/image_types_hoth.bbclass b/meta-google/classes/image_types_hoth.bbclass
index 0db4183a1..78d339142 100644
--- a/meta-google/classes/image_types_hoth.bbclass
+++ b/meta-google/classes/image_types_hoth.bbclass
@@ -1,8 +1,13 @@
# The offsets of the partitions that change when Hoth is enabled
# From the device tree, in kB
+# Nuvoton NPCM7XX family
FLASH_IMAGE_DESC_OFFSET:npcm7xx:hoth = "${@960 if FLASH_SIZE == '65536' else 7232}"
FLASH_HOTH_UPDATE_OFFSET:npcm7xx:hoth = "${@1024 if FLASH_SIZE == '65536' else 31744}"
FLASH_HOTH_MAILBOX_OFFSET:npcm7xx:hoth = "${@65472 if FLASH_SIZE == '65536' else 7168}"
+# Aspeed 26XX family
+FLASH_IMAGE_DESC_OFFSET:aspeed-g6:hoth = "${@960 if FLASH_SIZE == '65536' else 7232}"
+FLASH_HOTH_UPDATE_OFFSET:aspeed-g6:hoth = "${@1024 if FLASH_SIZE == '65536' else 31744}"
+FLASH_HOTH_MAILBOX_OFFSET:aspeed-g6:hoth = "${@65472 if FLASH_SIZE == '65536' else 7168}"
unset FLASH_UBOOT_ENV_OFFSET
python do_generate_static:append() {
diff --git a/meta-google/conf/distro/gbmc.conf b/meta-google/conf/distro/gbmc.conf
index bbba7efed..69fdda421 100644
--- a/meta-google/conf/distro/gbmc.conf
+++ b/meta-google/conf/distro/gbmc.conf
@@ -25,3 +25,6 @@ WATCHDOG_PKG ?= "watchdog"
SANITY_TESTED_DISTROS:append = " Debian-rodete \n debian-rodete \n "
PREFERRED_PROVIDER_virtual/bmc-update ?= "inplace-gbmc-update"
+
+# Provides reasonable data integrity and faster than sha*
+FIT_HASH_ALG = "crc32"
diff --git a/meta-google/conf/layer.conf b/meta-google/conf/layer.conf
index 47379e427..80486584d 100644
--- a/meta-google/conf/layer.conf
+++ b/meta-google/conf/layer.conf
@@ -15,3 +15,4 @@ BBFILE_COLLECTIONS += "google-layer"
BBFILE_PATTERN_google-layer := "^${LAYERDIR}/"
LAYERVERSION_google-layer = "1"
LAYERSERIES_COMPAT_google-layer = "hardknott honister"
+LAYERDEPENDS_google-layer += "core phosphor-layer"
diff --git a/meta-google/recipes-connectivity/dhcp/dhcp-relay_%.bbappend b/meta-google/recipes-connectivity/dhcp/dhcp-relay_%.bbappend
new file mode 100644
index 000000000..4efa9f24c
--- /dev/null
+++ b/meta-google/recipes-connectivity/dhcp/dhcp-relay_%.bbappend
@@ -0,0 +1,4 @@
+# LTO and static enabled to reduce image size, saves ~50%
+CFLAGS:append:gbmc = " -flto"
+EXTRA_OECONF:remove:gbmc = "--disable-static"
+EXTRA_OECONF:append:gbmc = " --enable-relay-port --disable-shared"
diff --git a/meta-google/recipes-core/os-release/os-release.bbappend b/meta-google/recipes-core/os-release/os-release.bbappend
index 8c61bbccf..f6b7cc152 100644
--- a/meta-google/recipes-core/os-release/os-release.bbappend
+++ b/meta-google/recipes-core/os-release/os-release.bbappend
@@ -7,4 +7,5 @@ python() {
d.setVar("BUILD_MEMO", memo)
}
-OS_RELEASE_FIELDS:append = " BUILD_MEMO"
+IMAGE_TYPE = "${GBMC_CONFIG}"
+OS_RELEASE_FIELDS:append = " BUILD_MEMO IMAGE_TYPE"
diff --git a/meta-google/recipes-extended/networking/files/mstpd.service b/meta-google/recipes-extended/networking/files/mstpd.service
index ef8303416..a7b1fc8a8 100644
--- a/meta-google/recipes-extended/networking/files/mstpd.service
+++ b/meta-google/recipes-extended/networking/files/mstpd.service
@@ -6,7 +6,7 @@ Wants=network-pre.target
[Service]
Restart=always
Type=simple
-ExecStart=/usr/sbin/mstpd -d -v 3
+ExecStart=/usr/sbin/mstpd -d -v 2
[Install]
WantedBy=multi-user.target
diff --git a/meta-google/recipes-phosphor/console/glome_git.bb b/meta-google/recipes-google/console/glome_git.bb
index 4750de8be..b302e72ef 100644
--- a/meta-google/recipes-phosphor/console/glome_git.bb
+++ b/meta-google/recipes-google/console/glome_git.bb
@@ -15,7 +15,7 @@ DEPENDS += " \
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/google/glome.git"
-SRCREV = "b7084b5c60682a0b4f4ae3f2ec6048e65212c377"
+SRCREV = "02f7d2722a2eb303f1f02d0c2ce97a65f8273662"
FILES_${PN} += "${libdir}/security"
diff --git a/meta-google/recipes-google/google-bios-key/google-bios-key.bb b/meta-google/recipes-google/google-bios-key/google-bios-key.bb
new file mode 100644
index 000000000..5e41a7977
--- /dev/null
+++ b/meta-google/recipes-google/google-bios-key/google-bios-key.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Google BIOS Public Keys"
+DESCRIPTION = "Google BIOS Public Keys"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+FILESEXTRAPATHS:prepend:gbmc := "${THISDIR}/${PN}:"
+
+SRC_URI:append:gbmc = " \
+ file://platforms_secure.pem \
+ file://platforms_bringup.pem \
+"
+
+
+FILES:${PN} += "${datadir}/google-bios-key/platforms_secure.pem"
+FILES:${PN} += "${datadir}/google-bios-key/platforms_bringup.pem"
+FILES:${PN} += "${datadir}/platforms_secure.pem"
+FILES:${PN} += "${datadir}/platforms_bringup.pem"
+
+do_install() {
+ install -d ${D}${datadir}/google-bios-key
+ install -m 0644 ${WORKDIR}/platforms_secure.pem ${D}${datadir}/google-bios-key
+ install -m 0644 ${WORKDIR}/platforms_bringup.pem ${D}${datadir}/google-bios-key
+
+ ln -s -r ${D}${datadir}/google-bios-key/platforms_secure.pem ${D}${datadir}/platforms_secure.pem
+ ln -s -r ${D}${datadir}/google-bios-key/platforms_bringup.pem ${D}${datadir}/platforms_bringup.pem
+}
diff --git a/meta-google/recipes-google/google-bios-key/google-bios-key/platforms_bringup.pem b/meta-google/recipes-google/google-bios-key/google-bios-key/platforms_bringup.pem
new file mode 100644
index 000000000..85fbd5b54
--- /dev/null
+++ b/meta-google/recipes-google/google-bios-key/google-bios-key/platforms_bringup.pem
@@ -0,0 +1,14 @@
+-----BEGIN PUBLIC KEY-----
+MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq1licj5L+p5orm2eQsjW
+7z1L5As2q0ZbyFtE/xeH/8NAbKfTA1LSKiqElcPTM47oFDixGtCm7bubcClWT8Uq
+Ol6t4CITlgRLFPP06z63mnE83EKj1ZBTATgtO+PN1P/RrQXp0pCPy0AFYtWZPT4J
+GzxACBwVI/XEuUnCOG4ErXLfgfPZadOMUmP9X5pXeyBgN/al0vThIVpQ7DUix6jd
+awYd2AwM1TG9qRX1Fmlsut9zUGDoqEOCAdIgx5z9GOTfwzbIg1NWk12iLQyufJ4P
+FAa4a5QVZYTKcDUNYadx7Qwg/gNspiAIdtB/1ORz1ew1d1csCHqUZcgkCwtaqMYg
+ZiQ6+7tpJY0vnWyaNXcylOvmZjOlovV3i5NUJ/r74bDC8U+5XKH3ZSmhA6AsnA54
+QnNHLgsnG89JvfBP2c9UJqb49sw6VkEE3Y8lc134QBaLU3N3LmRVmM4zzPRGbbEK
++nmZtBztbKiSHTqMoYGCY5aN1peQdzgNYk5P8mnVWzAIh5y1MzxkEVeu82/zCj+/
+T54D3jS+a/jxAGnUUmTMYsOYXNqJsPKz36qvrFLstSjrjHVEZjniaetjAuWtVGsO
+DziPDyywN14iIeR5HdNpqeJ6mCZnY2rLtBzIZRK/JK0LpCvqdEmqg2u/J2Vx2ClE
+DnNnPSr8XSpsFkaxGYyFjEUCAwEAAQ==
+-----END PUBLIC KEY-----
diff --git a/meta-google/recipes-google/google-bios-key/google-bios-key/platforms_secure.pem b/meta-google/recipes-google/google-bios-key/google-bios-key/platforms_secure.pem
new file mode 100644
index 000000000..6519411e9
--- /dev/null
+++ b/meta-google/recipes-google/google-bios-key/google-bios-key/platforms_secure.pem
@@ -0,0 +1,14 @@
+-----BEGIN PUBLIC KEY-----
+MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzCYi0R3IiNenOlVNlpOC
+mIZ/0nq6OGS5Dt1Yex5nr7/bIr+Phk7mct+V7gMJzfdyCOI3n2S2sGDWADUNfvDJ
+LQgV4xOfoUwhzQ292cp2UFUrPblfZaz0C5x7BRVtj7yfBp8FRFVSpZTNI6QjEQ6m
+JxVh5C8CYjdQQJLz+wayVZTk72z0iaSBdua+eZYrAc3+ckTvTWJ9V7yO40iyJOXQ
+ixxHo/p49oHoNp4+q0a6DYYmjka6MESeFbbkND5PkyNV4+vAbgtzkoGnnutk+zQ3
+K374d9+aOqXlbLBXAUaNkfnF1XjUYQFLrNkFbvOqYura1mBxWuz/OIAfbWxQltzo
+6cYl0YNw7zbHzSwiTPvt31wxg9EqqIV7QD4hXLAgoclJIK5vhUqIbn3kjSwOv2Rv
+MQ17wLeCkYaxL4Ovscx6lDnOw+Y76KGia5zky0GvidjaDgzUZTt46/uOtjxxXy5k
+KhDwqs1QoU0LKBvJL8O7bYj6t0LLQTsI2UW9szVGGsiKB3l0SfIzfvz6eNNng7Uf
+T9zLPW9jq0BGG61KiYK+Dy/0JwauPub3WzcZwSXnl1OCMLD90HIA2/YsFtfE+mm/
+Wlta+cR3REHd//DiRlkT59K0H5H8JBrJKhkAVi/gzqoAYhLAOj9irWzsZ2Assm74
+oa3/lWlmVsKQTAGOCQFeAHsCAwEAAQ==
+-----END PUBLIC KEY-----
diff --git a/meta-google/recipes-google/google-misc/google-misc.inc b/meta-google/recipes-google/google-misc/google-misc.inc
index 36ad141de..49535873b 100644
--- a/meta-google/recipes-google/google-misc/google-misc.inc
+++ b/meta-google/recipes-google/google-misc/google-misc.inc
@@ -6,7 +6,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://../../LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
SRC_URI += "git://github.com/openbmc/google-misc"
-SRCREV = "d237c6cc59e731c2a8a3a1bdcd91ad39bd67e182"
+SRCREV = "379b061ffdd797d00c07acf0b5cb81e1f6513bca"
S = "${WORKDIR}/git/subprojects/${GOOGLE_MISC_PROJ}"
inherit meson
diff --git a/meta-google/recipes-google/ipmi/google-ipmi-i2c_git.bb b/meta-google/recipes-google/ipmi/google-ipmi-i2c_git.bb
index 3d5504ea1..c58382ab6 100644
--- a/meta-google/recipes-google/ipmi/google-ipmi-i2c_git.bb
+++ b/meta-google/recipes-google/ipmi/google-ipmi-i2c_git.bb
@@ -14,7 +14,7 @@ DEPENDS += "phosphor-ipmi-host"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/google-ipmi-i2c"
-SRCREV = "b7d431199ac519e7c3cd5f3341d67f2ff0e09e10"
+SRCREV = "d78cbec9efb29526d913cc02d61e0b9bf5cff5ae"
FILES:${PN}:append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES:${PN}:append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
diff --git a/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb b/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb
index 1310f7e00..d136eb245 100644
--- a/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb
+++ b/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb
@@ -19,7 +19,7 @@ DEPENDS += " \
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/google-ipmi-sys"
-SRCREV = "b69209b498bf9b1c009c528e40280d13e68f8dbd"
+SRCREV = "40fe52225515f6ec82858795638add0b4c8e94af"
FILES:${PN} += "${libdir}/ipmid-providers"
diff --git a/meta-google/recipes-google/ipmi/ipmi-fru-sh/lib.sh b/meta-google/recipes-google/ipmi/ipmi-fru-sh/lib.sh
index 335e0b21c..d02eeab47 100644
--- a/meta-google/recipes-google/ipmi/ipmi-fru-sh/lib.sh
+++ b/meta-google/recipes-google/ipmi/ipmi-fru-sh/lib.sh
@@ -23,6 +23,20 @@ IPMI_FRU_COMMON_HEADER_MULTI_RECORD_OFFSET_IDX=5
IPMI_FRU_AREA_HEADER_SIZE_IDX=1
IPMI_FRU_CHECKSUM_IDX=-1
+offset_1bw() {
+ local addr="$1"
+ local off="$2"
+ local extra="${3-0}"
+ echo w$((1+extra))@$addr $(( off & 0xff ))
+}
+
+offset_2bw() {
+ local addr="$1"
+ local off="$2"
+ local extra="${3-0}"
+ echo w$((2+extra))@$addr $(( (off >> 8) & 0xff )) $(( off & 0xff ))
+}
+
of_name_to_eeproms() {
local names
if ! names="$(grep -xl "$1" /sys/bus/i2c/devices/*/of_node/name)"; then
@@ -42,6 +56,78 @@ of_name_to_eeprom() {
echo "$eeproms"
}
+# Each element is a `filename`
+declare -A IPMI_FRU_EEPROM_FILE=()
+# Each element is a `bus` + `addr` + `offset_bytes_func`
+declare -A IPMI_FRU_EEPROM_BUSADDR=()
+
+ipmi_fru_device_alloc() {
+ local fdn="$1"
+ local idx="$2"
+
+ local json
+ json="$(busctl -j call xyz.openbmc_project.FruDevice \
+ /xyz/openbmc_project/FruDevice/"$fdn" org.freedesktop.DBus.Properties \
+ GetAll s xyz.openbmc_project.FruDevice)" || return 80
+
+ local jqq='.data[0] | (.BUS.data | tostring) + " " + (.ADDRESS.data | tostring)'
+ local busaddr
+ busaddr=($(echo "$json" | jq -r "$jqq")) || return
+
+ # FRU 0 is hardcoded and FruDevice does not report the correct bus for it
+ # Hardcode a workaround for this specifically known bus
+ if (( busaddr[0] == 0 && busaddr[1] == 0 )); then
+ IPMI_FRU_EEPROM_FILE["$idx"]=/etc/fru/baseboard.fru.bin
+ else
+ local offset_bw=offset_2bw
+ local rsp
+ rsp=$(i2ctransfer -f -y ${busaddr[0]} $(offset_1bw ${busaddr[1]} 0) r1) || return
+ # FRUs never start with 0xff bytes, so we can figure out addressing mode
+ if (( rsp != 0xff )); then
+ offset_bw=offset_1bw
+ fi
+ IPMI_FRU_EEPROM_BUSADDR["$idx"]="${busaddr[*]} $offset_bw"
+ fi
+}
+
+ipmi_fru_alloc() {
+ local name="$1"
+ local -n ret="$2"
+
+ # Pick the first free index to return as the allocated entry
+ for (( ret = 0; ret < "${#IPMI_FRU_EEPROM_FILE[@]}"; ++ret )); do
+ [ -n "${IPMI_FRU_EEPROM_FILE[@]+1}" ] || \
+ [ -n "${IPMI_FRU_EEPROM_BUSADDR[@]+1}" ]|| break
+ done
+
+ if [[ "$name" =~ ^of-name:(.*)$ || "$name" =~ ^([^:]*)$ ]]; then
+ local ofn="${BASH_REMATCH[1]}"
+ local file
+ file="$(of_name_to_eeprom "$ofn")" || return
+ IPMI_FRU_EEPROM_FILE["$ret"]="$file"
+ elif [[ "$name" =~ ^frudev-name:(.*)$ ]]; then
+ local fdn="${BASH_REMATCH[1]}"
+ local start=$SECONDS
+ local file
+ while (( SECONDS - start < 60 )); do
+ local rc=0
+ ipmi_fru_device_alloc "$fdn" "$ret" || rc=$?
+ (( rc == 0 )) && break
+ # Immediately return any errors, 80 is special to signify retry
+ (( rc != 80 )) && return $rc
+ sleep 1
+ done
+ else
+ echo "Invalid IPMI FRU eeprom specification: $name" >&2
+ return 1
+ fi
+}
+
+ipmi_fru_free() {
+ unset 'IPMI_FRU_EEPROM_FILE[$1]'
+ unset 'IPMI_FRU_EEPROM_BUSADDR[$1]'
+}
+
checksum() {
local -n checksum_arr="$1"
local checksum=0
@@ -61,24 +147,36 @@ fix_checksum() {
}
read_bytes() {
- local file="$1"
+ local busaddr=(${IPMI_FRU_EEPROM_BUSADDR["$1"]-})
+ local file="${IPMI_FRU_EEPROM_FILE["$1"]-$1}"
local offset="$2"
local size="$3"
- echo "Reading $file at $offset for $size" >&2
- dd if="$file" bs=1 count="$size" skip="$offset" 2>/dev/null | \
- hexdump -v -e '1/1 "%d "'
+ if (( "${#busaddr[@]}" > 0)); then
+ echo "Reading ${busaddr[*]} at $offset for $size" >&2
+ i2ctransfer -f -y ${busaddr[0]} $(${busaddr[2]} ${busaddr[1]} $offset) r$size
+ else
+ echo "Reading $file at $offset for $size" >&2
+ dd if="$file" bs=1 count="$size" skip="$offset" 2>/dev/null | \
+ hexdump -v -e '1/1 "%d "'
+ fi
}
write_bytes() {
- local file="$1"
+ local busaddr=(${IPMI_FRU_EEPROM_BUSADDR["$1"]-})
+ local file="${IPMI_FRU_EEPROM_FILE["$1"]-$1}"
local offset="$2"
local -n bytes_arr="$3"
- local hexstr
- hexstr="$(printf '\\x%x' "${bytes_arr[@]}")" || return
- echo "Writing $file at $offset for ${#bytes_arr[@]}" >&2
- printf "$hexstr" | dd of="$file" bs=1 seek=$offset 2>/dev/null
+ if (( "${#busaddr[@]}" > 0)); then
+ echo "Writing ${busaddr[*]} at $offset for ${#bytes_arr[@]}" >&2
+ i2ctransfer -f -y ${busaddr[0]} $(${busaddr[2]} ${busaddr[1]} $offset ${#bytes_arr[@]}) ${bytes_arr[@]}
+ else
+ local hexstr
+ hexstr="$(printf '\\x%x' "${bytes_arr[@]}")" || return
+ echo "Writing $file at $offset for ${#bytes_arr[@]}" >&2
+ printf "$hexstr" | dd of="$file" bs=1 seek=$offset 2>/dev/null
+ fi
}
read_header() {
diff --git a/meta-google/recipes-google/libcr51sign/libcr51sign_git.bb b/meta-google/recipes-google/libcr51sign/libcr51sign_git.bb
new file mode 100644
index 000000000..c4fd78ca0
--- /dev/null
+++ b/meta-google/recipes-google/libcr51sign/libcr51sign_git.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Google libcr51sign"
+DESCRIPTION = "Google libcr51sign"
+GOOGLE_MISC_PROJ = "libcr51sign"
+
+require ../google-misc/google-misc.inc
+
+inherit pkgconfig
+
+DEPENDS += " \
+ openssl \
+"
diff --git a/meta-google/recipes-google/ncsi/files/-bmc-gbmcbrncsidhcp.netdev b/meta-google/recipes-google/ncsi/files/-bmc-gbmcbrncsidhcp.netdev
new file mode 100644
index 000000000..58f13bd46
--- /dev/null
+++ b/meta-google/recipes-google/ncsi/files/-bmc-gbmcbrncsidhcp.netdev
@@ -0,0 +1,5 @@
+[NetDev]
+Name=gbmcbrncsidhcp
+Kind=veth
+[Peer]
+Name=gbmcncsidhcp
diff --git a/meta-google/recipes-google/ncsi/files/-bmc-gbmcbrncsidhcp.network b/meta-google/recipes-google/ncsi/files/-bmc-gbmcbrncsidhcp.network
new file mode 100644
index 000000000..5474bffab
--- /dev/null
+++ b/meta-google/recipes-google/ncsi/files/-bmc-gbmcbrncsidhcp.network
@@ -0,0 +1,4 @@
+[Match]
+Name=gbmcbrncsidhcp
+[Network]
+Bridge=gbmcbr
diff --git a/meta-google/recipes-google/ncsi/files/-bmc-gbmcncsidhcp.netdev b/meta-google/recipes-google/ncsi/files/-bmc-gbmcncsidhcp.netdev
new file mode 100644
index 000000000..08235aac0
--- /dev/null
+++ b/meta-google/recipes-google/ncsi/files/-bmc-gbmcncsidhcp.netdev
@@ -0,0 +1,5 @@
+[NetDev]
+Name=gbmcncsidhcp
+Kind=veth
+[Peer]
+Name=gbmcbrncsidhcp
diff --git a/meta-google/recipes-google/ncsi/files/-bmc-gbmcncsidhcp.network b/meta-google/recipes-google/ncsi/files/-bmc-gbmcncsidhcp.network
new file mode 100644
index 000000000..868d24b7e
--- /dev/null
+++ b/meta-google/recipes-google/ncsi/files/-bmc-gbmcncsidhcp.network
@@ -0,0 +1,9 @@
+[Match]
+Name=gbmcncsidhcp
+[Network]
+DHCP=false
+IPv6AcceptRA=false
+LLMNR=false
+MulticastDNS=false
+LinkLocalAddressing=ipv6
+Address=fdb5:0481:10ce::1/64
diff --git a/meta-google/recipes-google/ncsi/files/50-gbmc-ncsi.rules.in b/meta-google/recipes-google/ncsi/files/50-gbmc-ncsi.rules.in
index 938dca34b..e2ade6e5b 100644
--- a/meta-google/recipes-google/ncsi/files/50-gbmc-ncsi.rules.in
+++ b/meta-google/recipes-google/ncsi/files/50-gbmc-ncsi.rules.in
@@ -8,6 +8,7 @@ table inet filter {
}
chain ncsi_gbmc_br_pub_input {
jump gbmc_br_pub_input
+ jump ncsi_legacy_input
reject
}
chain gbmc_br_pub_input {
@@ -31,4 +32,10 @@ table inet filter {
ip6 daddr fdb5:0481:10ce::/64 drop
ip6 saddr fdb5:0481:10ce::/64 drop
}
+ chain ncsi_dhcp_input {
+ type filter hook input priority 0; policy drop;
+ iifname != ncsigbmc accept
+ ip6 nexthdr icmpv6 accept
+ udp dport 547 accept
+ }
}
diff --git a/meta-google/recipes-google/ncsi/files/gbmc-ncsi-br-pub-addr.sh.in b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-br-pub-addr.sh.in
index 961da5095..5adc41328 100644
--- a/meta-google/recipes-google/ncsi/files/gbmc-ncsi-br-pub-addr.sh.in
+++ b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-br-pub-addr.sh.in
@@ -16,9 +16,12 @@
gbmc_ncsi_br_pub_addr_init=
gbmc_ncsi_br_pub_addr_lastip=
+gbmc_ncsi_br_pub_addr_confip=
gbmc_ncsi_br_pub_addr_update() {
[ -n "$gbmc_ncsi_br_pub_addr_init" ] || return
+ [ "$gbmc_ncsi_br_pub_addr_confip" != "$gbmc_ncsi_br_pub_addr_lastip" ] || return
+ gbmc_ncsi_br_pub_addr_confip="$gbmc_ncsi_br_pub_addr_lastip"
printf 'gBMC Bridge Pub Addr from NCSI: %s\n' \
"${gbmc_ncsi_br_pub_addr_lastip:-(deleted)}" >&2
@@ -36,14 +39,14 @@ gbmc_ncsi_br_pub_addr_update() {
done
fi
- local contents='[Network]'$'\n'
+ local contents=
if (( ${#pfx_bytes[@]} != 0 )); then
pfx_bytes[8]=0xfd
local stateless_pfx="$(ip_bytes_to_str pfx_bytes)"
pfx_bytes[9]=0x01
local ncsi_pfx="$(ip_bytes_to_str pfx_bytes)"
- local here=
- read -r -d '' here <<EOF
+ read -r -d '' contents <<EOF
+[Network]
Address=$ncsi_pfx/128
IPv6PrefixDelegation=yes
[IPv6PrefixDelegation]
@@ -56,17 +59,20 @@ ValidLifetimeSec=60
Route=$ncsi_pfx/80
LifetimeSec=60
[Route]
-Destination=$stateless_pfx/72
+Destination=$stateless_pfx/76
Type=unreachable
Metric=1024
EOF
- contents+="$here"$'\n'
fi
local file
for file in /run/systemd/network/{00,}-bmc-gbmcbr.network.d/50-public.conf; do
mkdir -p -m 755 "$(dirname "$file")"
- printf '%s' "$contents" >"$file"
+ if [ -z "$contents" ]; then
+ rm -f "$file"
+ else
+ printf '%s' "$contents" >"$file"
+ fi
done
# Ensure that systemd-networkd performs a reconfiguration as it doesn't
@@ -82,16 +88,19 @@ EOF
gbmc_ncsi_br_pub_addr_hook() {
if [ "$change" = 'init' ]; then
gbmc_ncsi_br_pub_addr_init=1
+ gbmc_ip_monitor_defer
+ elif [ "$change" = 'defer' ]; then
gbmc_ncsi_br_pub_addr_update
elif [ "$change" = 'addr' -a "$intf" = '@NCSI_IF@' ] &&
- [ "$scope" = 'global' -a "$fam" = 'inet6' ]; then
+ [ "$scope" = 'global' -a "$fam" = 'inet6' ] &&
+ [[ "$flags" != *deprecated* ]]; then
if [ "$action" = 'add' -a "$ip" != "$gbmc_ncsi_br_pub_addr_lastip" ]; then
gbmc_ncsi_br_pub_addr_lastip="$ip"
- gbmc_ncsi_br_pub_addr_update
+ gbmc_ip_monitor_defer
fi
if [ "$action" = 'del' -a "$ip" = "$gbmc_ncsi_br_pub_addr_lastip" ]; then
gbmc_ncsi_br_pub_addr_lastip=
- gbmc_ncsi_br_pub_addr_update
+ gbmc_ip_monitor_defer
fi
fi
}
diff --git a/meta-google/recipes-google/ncsi/files/gbmc-ncsi-dhcrelay.service.in b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-dhcrelay.service.in
new file mode 100644
index 000000000..5e0345542
--- /dev/null
+++ b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-dhcrelay.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=gBMC DHCP Relay Agent Daemon
+After=network.target
+StartLimitIntervalSec=10
+StartLimitBurst=3
+
+[Service]
+Restart=always
+RestartSec=5
+ExecStart=/usr/sbin/dhcrelay -d --no-pid -rp 3967 -l gbmcncsidhcp -u @NCSI_IF@
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.service.in b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.service.in
new file mode 100644
index 000000000..82972fffc
--- /dev/null
+++ b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.service.in
@@ -0,0 +1,15 @@
+[Unit]
+Description=gBMC NCSI RA Discovery
+After=network.target
+StartLimitIntervalSec=10
+StartLimitBurst=3
+Conflicts=nic-hostless@@NCSI_IF@.target
+Conflicts=nic-hostful@@NCSI_IF@.target
+
+[Service]
+Restart=always
+RestartSec=5
+ExecStart=/usr/libexec/gbmc-ncsi-ip-from-ra.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.sh.in b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.sh.in
new file mode 100755
index 000000000..80bd34f04
--- /dev/null
+++ b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.sh.in
@@ -0,0 +1,133 @@
+#!/bin/bash
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+source /usr/share/network/lib.sh || exit
+source /usr/libexec/ncsid_lib.sh || exit
+
+NCSI_IF='@NCSI_IF@'
+
+old_pfx=
+old_fqdn=
+old_rtr=
+
+set_host() {
+ [ -n "$host" -a -n "$domain" -a -n "$hextet" ] || return
+
+ local fqdn="$host-n$hextet.$domain"
+ [ "$fqdn" != "$old_fqdn" ] || return
+ old_fqdn="$fqdn"
+
+ echo "Found hostname $fqdn" >&2
+ hostnamectl set-hostname "$fqdn" || true
+}
+
+set_net() {
+ [ -n "$pfx" -a -n "$rtr" ] || return
+ [[ "$pfx" != "$old_pfx" || "$rtr" != "$old_rtr" ]] || return
+ old_pfx="$pfx"
+ old_rtr="$rtr"
+
+ echo "Found prefix $pfx from $rtr" >&2
+
+ # Delete any stale IP Addresses from the primary interface as we won't use them
+ UpdateIP xyz.openbmc_project.Network "$NCSI_IF" '0.0.0.0' '0' || true
+ UpdateIP xyz.openbmc_project.Network "$NCSI_IF" '::' '0' || true
+
+ read -r -d '' contents <<EOF
+[Network]
+Address=$pfx/128
+IPv6PrefixDelegation=yes
+[IPv6PrefixDelegation]
+RouterLifetimeSec=60
+[IPv6Prefix]
+Prefix=$stateless_pfx/80
+PreferredLifetimeSec=60
+ValidLifetimeSec=60
+[IPv6RoutePrefix]
+Route=$pfx/80
+LifetimeSec=60
+[Route]
+Destination=$stateless_pfx/76
+Type=unreachable
+Metric=1024
+EOF
+ for file in /run/systemd/network/{00,}-bmc-gbmcbr.network.d/49-public-ra.conf; do
+ mkdir -p -m 755 "$(dirname "$file")"
+ printf '%s' "$contents" >"$file"
+ done
+ touch -c /lib/systemd/network/*-bmc-gbmcbr.network || true
+
+ contents='[Network]'$'\n'
+ contents+="Address=$pfx/128"$'\n'
+ contents+="Gateway=$rtr"$'\n'
+ for file in /run/systemd/network/{00,}-bmc-"$NCSI_IF".network.d/49-public-ra.conf; do
+ mkdir -p -m 755 "$(dirname "$file")"
+ printf '%s' "$contents" >"$file"
+ done
+ touch -c /etc/systemd/network/*-bmc-"$NCSI_IF".network || true
+
+ if [ "$(systemctl is-active systemd-networkd)" != 'inactive' ]; then
+ networkctl reload && networkctl reconfigure gbmcbr "$NCSI_IF" || true
+ fi
+
+ read -r -d '' contents <<EOF
+table inet filter {
+ chain ncsi_input {
+ ip6 saddr != $pfx/76 ip6 daddr $pfx/76 goto ncsi_gbmc_br_pub_input
+ }
+ chain ncsi_forward {
+ ip6 saddr != $pfx/76 ip6 daddr $pfx/76 accept
+ }
+}
+EOF
+ rfile=/run/nftables/40-gbmc-ncsi-ra.rules
+ mkdir -p -m 755 "$(dirname "$rfile")"
+ printf '%s' "$contents" >"$rfile"
+ systemctl reset-failed nftables && systemctl --no-block restart nftables || true
+}
+
+w=60
+while true; do
+ start=$SECONDS
+ while read line; do
+ if [ -z "$line" ]; then
+ hextet=
+ pfx=
+ host=
+ domain=
+ elif [[ "$line" =~ ^Prefix' '*:' '*(.*)/([0-9]+)$ ]]; then
+ t_pfx="${BASH_REMATCH[1]}"
+ t_pfx_len="${BASH_REMATCH[2]}"
+ ip_to_bytes t_pfx_b "$t_pfx" || continue
+ (( t_pfx_len == 76 && t_pfx_b[8] & 0xfd == 0xfd )) || continue
+ (( t_pfx_b[9] |= 1 ))
+ hextet="fd$(printf '%02x' ${t_pfx_b[9]})"
+ pfx="$(ip_bytes_to_str t_pfx_b)"
+ (( t_pfx_b[9] &= 0xf0 ))
+ stateless_pfx="$(ip_bytes_to_str t_pfx_b)"
+ elif [[ "$line" =~ ^'DNS search list'' '*:' '*([^.-]*)[^.]*[.](.*.google.com)$ ]]; then
+ host="${BASH_REMATCH[1]}"
+ domain="${BASH_REMATCH[2]}"
+ elif [[ "$line" =~ ^from' '(.*)$ ]]; then
+ rtr="${BASH_REMATCH[1]}"
+ set_net || true
+ set_host || true
+ fi
+ done < <(rdisc6 -d -m "$NCSI_IF" -w $(( w * 1000 )) 2>/dev/null)
+ # If rdisc6 exits early we still want to wait the full `w` time before
+ # starting again.
+ (( timeout = start + w - SECONDS ))
+ sleep $(( timeout < 0 ? 0 : timeout ))
+done
diff --git a/meta-google/recipes-google/ncsi/files/gbmc-ncsi-nft.sh.in b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-nft.sh.in
index d07b9e2f0..7a630f5fe 100644
--- a/meta-google/recipes-google/ncsi/files/gbmc-ncsi-nft.sh.in
+++ b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-nft.sh.in
@@ -54,15 +54,15 @@ gbmc_ncsi_nft_update() {
if (( ${#ip_bytes[@]} != 0 )); then
ip_bytes[8]=0xfd
pfx="$(ip_bytes_to_str ip_bytes)"
- contents+=" ip6 saddr != $pfx/72 ip6 daddr"
- contents+=" $pfx/72 goto ncsi_gbmc_br_pub_input"$'\n'
+ contents+=" ip6 saddr != $pfx/76 ip6 daddr"
+ contents+=" $pfx/76 goto ncsi_gbmc_br_pub_input"$'\n'
fi
fi
contents+=' }'$'\n'
contents+=' chain ncsi_forward {'$'\n'
if [ -n "$pfx" ]; then
- contents+=" ip6 saddr != $pfx/72 ip6 daddr $pfx/72 accept"$'\n'
+ contents+=" ip6 saddr != $pfx/76 ip6 daddr $pfx/76 accept"$'\n'
fi
contents+=' }'$'\n'
contents+='}'$'\n'
@@ -80,7 +80,8 @@ gbmc_ncsi_nft_hook() {
if [ "$change" = 'init' ]; then
gbmc_ncsi_nft_init=1
gbmc_ncsi_nft_update
- elif [ "$change" = 'addr' -a "$intf" = '@NCSI_IF@' -a "$scope" = 'global' ]; then
+ elif [ "$change" = 'addr' -a "$intf" = '@NCSI_IF@' -a "$scope" = 'global' ] &&
+ [[ "$flags" != *deprecated* ]]; then
if [ "$fam" = 'inet6' ]; then
local -n lastip='gbmc_ncsi_nft_lastip6'
else
diff --git a/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb b/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb
index 6480be1da..10ef56a76 100644
--- a/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb
+++ b/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb
@@ -6,7 +6,14 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5
inherit systemd
SRC_URI += " \
+ file://-bmc-gbmcbrncsidhcp.netdev \
+ file://-bmc-gbmcbrncsidhcp.network \
+ file://-bmc-gbmcncsidhcp.netdev \
+ file://-bmc-gbmcncsidhcp.network \
file://50-gbmc-ncsi.rules.in \
+ file://gbmc-ncsi-dhcrelay.service.in \
+ file://gbmc-ncsi-ip-from-ra.service.in \
+ file://gbmc-ncsi-ip-from-ra.sh.in \
file://gbmc-ncsi-sslh.socket.in \
file://gbmc-ncsi-sslh.service \
file://gbmc-ncsi-nft.sh.in \
@@ -17,10 +24,14 @@ SRC_URI += " \
S = "${WORKDIR}"
RDEPENDS:${PN} += " \
+ bash \
+ dhcp-relay \
gbmc-ip-monitor \
ncsid \
+ network-sh \
nftables-systemd \
sslh \
+ ndisc6-rdisc6 \
"
FILES:${PN} += " \
@@ -29,9 +40,11 @@ FILES:${PN} += " \
"
SYSTEMD_SERVICE:${PN} += " \
+ gbmc-ncsi-dhcrelay.service \
gbmc-ncsi-sslh.service \
gbmc-ncsi-sslh.socket \
gbmc-ncsi-set-nicenabled.service \
+ gbmc-ncsi-ip-from-ra.service \
"
do_install:append() {
@@ -47,6 +60,16 @@ do_install:append() {
echo "net.ipv6.conf.$if_name.dad_transmits=0" \
>>${D}${sysconfdir}/sysctl.d/25-gbmc-ncsi.conf
+ install -d -m0755 ${D}${systemd_unitdir}/network
+ install -m0644 ${WORKDIR}/-bmc-gbmcbrncsidhcp.netdev \
+ ${D}${systemd_unitdir}/network/
+ install -m0644 ${WORKDIR}/-bmc-gbmcbrncsidhcp.network \
+ ${D}${systemd_unitdir}/network/
+ install -m0644 ${WORKDIR}/-bmc-gbmcncsidhcp.netdev \
+ ${D}${systemd_unitdir}/network/
+ install -m0644 ${WORKDIR}/-bmc-gbmcncsidhcp.network \
+ ${D}${systemd_unitdir}/network/
+
netdir=${D}${systemd_unitdir}/network/00-bmc-$if_name.network.d
install -d -m0755 "$netdir"
echo '[Network]' >>"$netdir"/gbmc-ncsi.conf
@@ -80,4 +103,21 @@ do_install:append() {
sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-set-nicenabled.service.in \
>${D}${systemd_system_unitdir}/gbmc-ncsi-set-nicenabled.service
+
+ sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-dhcrelay.service.in \
+ >${D}${systemd_system_unitdir}/gbmc-ncsi-dhcrelay.service
+
+ sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-ip-from-ra.service.in \
+ >${WORKDIR}/gbmc-ncsi-ip-from-ra.service
+ install -m0644 ${WORKDIR}/gbmc-ncsi-ip-from-ra.service ${D}${systemd_system_unitdir}
+ sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-ip-from-ra.sh.in \
+ >${WORKDIR}/gbmc-ncsi-ip-from-ra.sh
+ install -d -m0755 ${D}${libexecdir}
+ install -m0755 ${WORKDIR}/gbmc-ncsi-ip-from-ra.sh ${D}${libexecdir}/
+}
+
+do_rm_work:prepend() {
+ # HACK: Work around broken do_rm_work not properly calling rm with `--`
+ # It doesn't like filenames that start with `-`
+ rm -rf -- ${WORKDIR}/-*
}
diff --git a/meta-google/recipes-google/ncsi/ncsid_git.bb b/meta-google/recipes-google/ncsi/ncsid_git.bb
index a67a3104b..967f45f79 100644
--- a/meta-google/recipes-google/ncsi/ncsid_git.bb
+++ b/meta-google/recipes-google/ncsi/ncsid_git.bb
@@ -16,6 +16,9 @@ SYSTEMD_SERVICE:${PN} += " \
ncsid@.service \
nic-hostful@.target \
nic-hostless@.target \
+ update-ra-gw@.service \
+ update-ra-neighbor@.service \
+ update-ra-neighbor@.timer \
update-static-neighbors@.service \
update-static-neighbors@.timer \
"
diff --git a/meta-google/recipes-google/networking/files/gbmc-ip-monitor.sh b/meta-google/recipes-google/networking/files/gbmc-ip-monitor.sh
index e64c8675e..9da090f47 100755
--- a/meta-google/recipes-google/networking/files/gbmc-ip-monitor.sh
+++ b/meta-google/recipes-google/networking/files/gbmc-ip-monitor.sh
@@ -44,6 +44,17 @@ gbmc_ip_monitor_generate_init() {
echo '[INIT]'
}
+GBMC_IP_MONITOR_DEFER_OUTSTANDING=
+gbmc_ip_monitor_defer_() {
+ sleep 1
+ printf '[DEFER]\n' >&$GBMC_IP_MONITOR_DEFER
+}
+gbmc_ip_monitor_defer() {
+ [ -z "$GBMC_IP_MONITOR_DEFER_OUTSTANDING" ] || return 0
+ gbmc_ip_monitor_defer_ &
+ GBMC_IP_MONITOR_DEFER_OUTSTANDING=1
+}
+
gbmc_ip_monitor_parse_line() {
local line="$1"
if [[ "$line" == '[INIT]'* ]]; then
@@ -98,11 +109,16 @@ gbmc_ip_monitor_parse_line() {
read line || break
data=($line)
mac="${data[1]}"
+ elif [[ "$line" == '[DEFER]'* ]]; then
+ GBMC_IP_MONITOR_DEFER_OUTSTANDING=
+ change=defer
else
return 2
fi
}
+return 0 2>/dev/null
+
cleanup() {
local st="$?"
trap - HUP INT QUIT ABRT TERM EXIT
@@ -111,7 +127,10 @@ cleanup() {
}
trap cleanup HUP INT QUIT ABRT TERM EXIT
-return 0 2>/dev/null
+FIFODIR="$(mktemp -d)"
+mkfifo "$FIFODIR"/fifo
+exec {GBMC_IP_MONITOR_DEFER}<>"$FIFODIR"/fifo
+rm -rf "$FIFODIR"
while read line; do
gbmc_ip_monitor_parse_line "$line" || continue
@@ -119,4 +138,4 @@ while read line; do
if [ "$change" = 'init' ]; then
systemd-notify --ready
fi
-done < <(gbmc_ip_monitor_generate_init; exec ip monitor link addr route label)
+done < <(gbmc_ip_monitor_generate_init; ip monitor link addr route label & cat <&$GBMC_IP_MONITOR_DEFER)
diff --git a/meta-google/recipes-google/networking/files/gbmc-mac-config.sh.in b/meta-google/recipes-google/networking/files/gbmc-mac-config.sh.in
index a3430a65e..fa2f4bffe 100644
--- a/meta-google/recipes-google/networking/files/gbmc-mac-config.sh.in
+++ b/meta-google/recipes-google/networking/files/gbmc-mac-config.sh.in
@@ -15,7 +15,7 @@
source /usr/share/ipmi-fru/lib.sh || exit
-eeprom="$(of_name_to_eeprom '@EEPROM@')" || exit
+ipmi_fru_alloc '@EEPROM@' eeprom || exit
header=()
read_header "$eeprom" header || exit
diff --git a/meta-google/recipes-google/networking/gbmc-bridge/-bmc-gbmcbr.network.in b/meta-google/recipes-google/networking/gbmc-bridge/-bmc-gbmcbr.network.in
index c6097bbdb..afea5cca7 100644
--- a/meta-google/recipes-google/networking/gbmc-bridge/-bmc-gbmcbr.network.in
+++ b/meta-google/recipes-google/networking/gbmc-bridge/-bmc-gbmcbr.network.in
@@ -7,3 +7,5 @@ IPv6AcceptRA=true
LLMNR=true
MulticastDNS=true
LinkLocalAddressing=ipv6
+[IPv6AcceptRA]
+DHCPv6Client=false
diff --git a/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-from-ra.sh b/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-from-ra.sh
index 18341fefb..a9bfd74af 100644
--- a/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-from-ra.sh
+++ b/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-from-ra.sh
@@ -67,26 +67,28 @@ gbmc_br_from_ra_update() {
gbmc_br_from_ra_hook() {
if [ "$change" = 'init' ]; then
gbmc_br_from_ra_init=1
+ gbmc_ip_monitor_defer
+ elif [ "$change" = 'defer' ]; then
gbmc_br_from_ra_update
elif [[ "$change" == 'route' && "$route" != *' via '* ]] &&
[[ "$route" =~ ^(.* dev gbmcbr proto ra .*)( +expires +([^ ]+)sec).*$ ]]; then
pfx="${route%% *}"
if [ "$action" = 'add' ]; then
gbmc_br_from_ra_pfxs["$pfx"]="${BASH_REMATCH[3]}"
- gbmc_br_from_ra_update
+ gbmc_ip_monitor_defer
elif [ "$action" = 'del' ]; then
gbmc_br_from_ra_pfxs["$pfx"]=0
- gbmc_br_from_ra_update
+ gbmc_ip_monitor_defer
fi
elif [ "$change" = 'link' -a "$intf" = 'gbmcbr' ]; then
rdisc6 -m gbmcbr -r 1 -w 100 >/dev/null 2>&1
if [ "$action" = 'add' -a "$mac" != "$gbmc_br_from_ra_mac" ]; then
gbmc_br_from_ra_mac="$mac"
- gbmc_br_from_ra_update
+ gbmc_ip_monitor_defer
fi
if [ "$action" = 'del' -a "$mac" = "$gbmc_br_from_ra_mac" ]; then
gbmc_br_from_ra_mac=
- gbmc_br_from_ra_update
+ gbmc_ip_monitor_defer
fi
fi
}
diff --git a/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-nft.sh b/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-nft.sh
index 19b8f64a1..980f7b6d6 100644
--- a/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-nft.sh
+++ b/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-nft.sh
@@ -48,7 +48,7 @@ gbmc_br_nft_hook() {
gbmc_br_nft_update
# Match only global IP addresses on the bridge that match the BMC prefix
# (<mpfx>:fdxx:). So 2002:af4:3480:2248:fd02:6345:3069:9186 would become
- # a 2002:af4:3480:2248:fd00/72 rule.
+ # a 2002:af4:3480:2248:fd00/76 rule.
elif [ "$change" = 'addr' -a "$intf" = 'gbmcbr' -a "$scope" = 'global' ] &&
[[ "$fam" == 'inet6' && "$flags" != *tentative* ]]; then
local ip_bytes=()
@@ -63,7 +63,7 @@ gbmc_br_nft_hook() {
for (( i=9; i<16; i++ )); do
ip_bytes[$i]=0
done
- pfx="$(ip_bytes_to_str ip_bytes)/72"
+ pfx="$(ip_bytes_to_str ip_bytes)/76"
if [ "$action" = "add" -a "$pfx" != "$gbmc_br_nft_pfx" ]; then
gbmc_br_nft_pfx="$pfx"
gbmc_br_nft_update
diff --git a/meta-google/recipes-kernel/linux/files/gbmc.cfg b/meta-google/recipes-kernel/linux/files/gbmc.cfg
index 89e1ef9a7..056ee9161 100644
--- a/meta-google/recipes-kernel/linux/files/gbmc.cfg
+++ b/meta-google/recipes-kernel/linux/files/gbmc.cfg
@@ -36,6 +36,7 @@ CONFIG_DUMMY=y
CONFIG_BRIDGE_NETFILTER=y
CONFIG_NF_TABLES_BRIDGE=y
CONFIG_BRIDGE_NF_EBTABLES=y
+CONFIG_VETH=y
# Remove features we won't use
CONFIG_WLAN=n
diff --git a/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist
index a2244cca8..f91495077 100644
--- a/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist
+++ b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist
@@ -4,3 +4,4 @@
/etc/systemd/network
/var/google
/var/lib/phosphor-inventory-manager
+/var/lib/smbios/smbios2
diff --git a/meta-google/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-google/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index 46135c3d5..76ec9a53c 100644
--- a/meta-google/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-google/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -8,4 +8,4 @@ RDEPENDS:${PN}-extras:remove:gbmc = "phosphor-nslcd-authority-cert-config"
RDEPENDS:${PN}-extrasdev:remove:gbmc = "rest-dbus"
# Disable bmcweb for gbmc machines without redfish.
-RDEPENDS:${PN}-extras:remove:gbmc = '${@bb.utils.contains:any("MACHINE_FEATURES", ['redfish'], "", "bmcweb phosphor-bmcweb-cert-config", d)}'
+RDEPENDS:${PN}-extras:remove:gbmc = '${@bb.utils.contains:any("MACHINE_FEATURES", ['redfish'], "", "bmcweb", d)}'
diff --git a/meta-hpe/MAINTAINERS b/meta-hpe/MAINTAINERS
index 4b79d6650..3fbcd3845 100644
--- a/meta-hpe/MAINTAINERS
+++ b/meta-hpe/MAINTAINERS
@@ -14,7 +14,7 @@ Description of section entries:
Section entries are structured according to the following scheme:
- X: NAME <EMAIL_USERNAME@DOMAIN> <IRC_USERNAME!>
+ X: NAME <EMAIL_USERNAME@DOMAIN> <DISCORD_USERNAME!>
X: ...
.
.
@@ -24,10 +24,10 @@ Description of section entries:
organization; FILE_PATH is a file path within the repository, possibly with
wildcards; X is a tag of one of the following types:
- M: Denotes maintainer; has fields NAME <EMAIL_USERNAME@DOMAIN> <IRC_USERNAME!>;
+ M: Denotes maintainer; has fields NAME <EMAIL_USERNAME@DOMAIN> <DISCORD_USERNAME!>;
if omitted from an entry, assume one of the maintainers from the
MAINTAINERS entry.
- R: Denotes reviewer; has fields NAME <EMAIL_USERNAME@DOMAIN> <IRC_USERNAME!>;
+ R: Denotes reviewer; has fields NAME <EMAIL_USERNAME@DOMAIN> <DISCORD_USERNAME!>;
these people are to be added as reviewers for a change matching the repo
path.
F: Denotes forked from an external repository; has fields URL.
@@ -42,9 +42,7 @@ Description of section entries:
START OF MAINTAINERS LIST
-------------------------
-# THIS REPOSITORY HAS A DIFFERENT SUBMISSION PROCESS: this is a subtree in
-# @openbmc and is synced by the maintainer using git-subtree. Please submit
-# changes against @openbmc.
-M: Jorge Cisneros <jorge.cisneros@hpe.com>
M: Mike Garrett <mike.garrett@hpe.com>
M: Jean-Marie Verdun <jean-marie.verdun@hpe.com>
+M: Nick Hawkins <nhawkins48@gmail.com>
+M: Nick Pedrana <allan.pedrana@gmail.com>
diff --git a/meta-hpe/OWNERS b/meta-hpe/OWNERS
index bd8c07562..a911d417e 100644
--- a/meta-hpe/OWNERS
+++ b/meta-hpe/OWNERS
@@ -1,4 +1,6 @@
owners:
-- jorge.cisneros@hpe.com
- mike.garrett@hpe.com
- jean-marie.verdun@hpe.com
+- nhawkins48@gmail.com
+- allan.pedrana@gmail.com
+
diff --git a/meta-hpe/conf/machine/include/hpe.inc b/meta-hpe/conf/machine/include/hpe.inc
index 74b1a2c6d..281d2d544 100644
--- a/meta-hpe/conf/machine/include/hpe.inc
+++ b/meta-hpe/conf/machine/include/hpe.inc
@@ -1,4 +1,4 @@
-OBMC_MACHINE_FEATURES += "\
+MACHINE_FEATURES += "\
obmc-phosphor-fan-mgmt \
obmc-phosphor-chassis-mgmt \
obmc-phosphor-flash-mgmt \
diff --git a/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend
index 721ad10ad..5cc1192f9 100644
--- a/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend
+++ b/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend
@@ -10,7 +10,7 @@ def do_get_version(d):
import io
path = d.getVar('STAGING_DIR_TARGET', True) + d.getVar('sysconfdir', True)
path = os.path.join(path, 'os-release')
- parser = configparser.SafeConfigParser(strict=False)
+ parser = configparser.ConfigParser(strict=False)
parser.optionxform = str
version = ''
try:
diff --git a/meta-hxt/MAINTAINERS b/meta-hxt/MAINTAINERS
deleted file mode 100644
index 5a497df66..000000000
--- a/meta-hxt/MAINTAINERS
+++ /dev/null
@@ -1,47 +0,0 @@
-How to use this list:
- Find the most specific section entry (described below) that matches where
- your change lives and add the reviewers (R) and maintainers (M) as
- reviewers. You can use the same method to track down who knows a particular
- code base best.
-
- Your change/query may span multiple entries; that is okay.
-
- If you do not find an entry that describes your request at all, someone
- forgot to update this list; please at least file an issue or send an email
- to a maintainer, but preferably you should just update this document.
-
-Description of section entries:
-
- Section entries are structured according to the following scheme:
-
- X: NAME <EMAIL_USERNAME@DOMAIN> <IRC_USERNAME!>
- X: ...
- .
- .
- .
-
- Where REPO_NAME is the name of the repository within the OpenBMC GitHub
- organization; FILE_PATH is a file path within the repository, possibly with
- wildcards; X is a tag of one of the following types:
-
- M: Denotes maintainer; has fields NAME <EMAIL_USERNAME@DOMAIN> <IRC_USERNAME!>;
- if omitted from an entry, assume one of the maintainers from the
- MAINTAINERS entry.
- R: Denotes reviewer; has fields NAME <EMAIL_USERNAME@DOMAIN> <IRC_USERNAME!>;
- these people are to be added as reviewers for a change matching the repo
- path.
- F: Denotes forked from an external repository; has fields URL.
-
- Line comments are to be denoted "# SOME COMMENT" (typical shell style
- comment); it is important to follow the correct syntax and semantics as we
- may want to use automated tools with this file in the future.
-
- A change cannot be added to an OpenBMC repository without a MAINTAINER's
- approval; thus, a MAINTAINER should always be listed as a reviewer.
-
-START OF MAINTAINERS LIST
--------------------------
-
-M: Yuan Yao <yao.yuan@hxt-semitech.com> <yyaocs!>
-M: Brad Bishop <bradleyb@fuzziesquirrel.com> <radsquirrel!>
-R: Patrick Venture <venture@google.com> <venture!>
diff --git a/meta-hxt/OWNERS b/meta-hxt/OWNERS
deleted file mode 100644
index 55d6f16f5..000000000
--- a/meta-hxt/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-owners:
-- yao.yuan@hxt-semitech.com
-- bradleyb@fuzziesquirrel.com
diff --git a/meta-hxt/conf/layer.conf b/meta-hxt/conf/layer.conf
deleted file mode 100644
index 96be31b7b..000000000
--- a/meta-hxt/conf/layer.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-BBFILE_COLLECTIONS += "hxt"
-BBFILE_PATTERN_hxt = ""
-
-LAYERSERIES_COMPAT_hxt = "hardknott"
diff --git a/meta-hxt/conf/machine/include/hxt.inc b/meta-hxt/conf/machine/include/hxt.inc
deleted file mode 100644
index 976e2d09d..000000000
--- a/meta-hxt/conf/machine/include/hxt.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-require conf/machine/include/arm.inc
-
-VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config"
diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample b/meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample
deleted file mode 100644
index 9a25461b3..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample
+++ /dev/null
@@ -1,37 +0,0 @@
-# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
-# changes incompatibly
-LCONF_VERSION = "8"
-
-BBPATH = "${TOPDIR}"
-BBFILES ?= ""
-
-BBLAYERS ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-poky \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-openembedded/meta-webserver \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-aspeed \
- ##OEROOT##/meta-arm \
- ##OEROOT##/meta-hxt \
- ##OEROOT##/meta-hxt/meta-stardragon4800-rep2 \
- "
-BBLAYERS_NON_REMOVABLE ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-poky \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-openembedded/meta-webserver \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-aspeed \
- ##OEROOT##/meta-arm \
- ##OEROOT##/meta-hxt \
- ##OEROOT##/meta-hxt/meta-stardragon4800-rep2 \
- "
diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/conf-notes.txt b/meta-hxt/meta-stardragon4800-rep2/conf/conf-notes.txt
deleted file mode 100644
index 9b3c01a55..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/conf/conf-notes.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Common targets are:
- obmc-phosphor-image
diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/layer.conf b/meta-hxt/meta-stardragon4800-rep2/conf/layer.conf
deleted file mode 100644
index 1232072fe..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/conf/layer.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "stardragon4800-rep2"
-BBFILE_PATTERN_stardragon4800-rep2 = ""
diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample b/meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample
deleted file mode 100644
index b02199a66..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample
+++ /dev/null
@@ -1,21 +0,0 @@
-MACHINE ??= "stardragon4800-rep2"
-DISTRO ?= "openbmc-phosphor"
-PACKAGE_CLASSES ?= "package_ipk"
-SANITY_TESTED_DISTROS_append ?= " *"
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
-USER_CLASSES ?= "buildstats image-prelink"
-PATCHRESOLVE = "noop"
-BB_DISKMON_DIRS = "\
- STOPTASKS,${TMPDIR},1G,100K \
- STOPTASKS,${DL_DIR},1G,100K \
- STOPTASKS,${SSTATE_DIR},1G,100K \
- STOPTASKS,/tmp,100M,100K \
- ABORT,${TMPDIR},100M,1K \
- ABORT,${DL_DIR},100M,1K \
- ABORT,${SSTATE_DIR},100M,1K \
- ABORT,/tmp,10M,1K"
-CONF_VERSION = "1"
-INHERIT += "extrausers"
-EXTRA_USERS_PARAMS = " \
- usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \
- "
diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/machine/stardragon4800-rep2.conf b/meta-hxt/meta-stardragon4800-rep2/conf/machine/stardragon4800-rep2.conf
deleted file mode 100644
index fa39cc9cc..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/conf/machine/stardragon4800-rep2.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-KMACHINE = "aspeed"
-KERNEL_DEVICETREE = "${KMACHINE}-ast2500-evb.dtb"
-
-UBOOT_MACHINE = "ast_g5_ncsi_config"
-
-FLASH_SIZE = "32768"
-
-
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-hostfw-config= ""
-require conf/machine/include/ast2500.inc
-require conf/machine/include/obmc-bsp-common.inc
-require conf/machine/include/hxt.inc
-
-IMAGE_INSTALL_append = " ir38163-workaround \
- stardragon4800-rep2-console-client \
- socupdate \
-"
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/obmc-console/obmc-console.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/obmc-console/obmc-console.conf
deleted file mode 100644
index 85f35c190..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/obmc-console/obmc-console.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-local-tty = ttyS2
-local-tty-baud = 115200
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/obmc-console_%.bbappend b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/obmc-console_%.bbappend
deleted file mode 100644
index 91909f129..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/obmc-console_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-FILESEXTRAPATHS_prepend_stardragon4800-rep2 := "${THISDIR}/${PN}:"
-OBMC_CONSOLE_HOST_TTY = "ttyS2"
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client.bb b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client.bb
deleted file mode 100644
index a0194c81b..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-FILESEXTRAPATHS_prepend_stardragon4800-rep2 := "${THISDIR}/${PN}:"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-SRC_URI += "file://stardragon4800-rep2-console-client.sh"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/stardragon4800-rep2-console-client.sh ${D}${bindir}/stardragon4800-rep2-console-client.sh
-}
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client/stardragon4800-rep2-console-client.sh b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client/stardragon4800-rep2-console-client.sh
deleted file mode 100644
index a95c1a656..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client/stardragon4800-rep2-console-client.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh -e
-#Control UART mux for obmc-console-client
-echo 0 > /sys/class/gpio/gpio325/value
-obmc-console-client
-echo 1 > /sys/class/gpio/gpio325/value
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client/stardragon4800-rep2-console-client@.service b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client/stardragon4800-rep2-console-client@.service
deleted file mode 100644
index 0e2772c7e..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client/stardragon4800-rep2-console-client@.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Control UART mux for obmc-console-client
-
-[Service]
-ExecStart=/usr/bin/env stardragon4800-rep2-console-client.sh
-SyslogIdentifier=stardragon4800-rep2-console-client.sh
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@12.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@12.conf
deleted file mode 100644
index e968f08e7..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@12.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-LABEL_temp1=SYS_SOC_TEMP_L
-CRITLO_temp1=0
-CRITHI_temp1=100000
-
-LABEL_temp2=SYS_SOC_TEMP_R
-CRITLO_temp2=0
-CRITHI_temp2=100000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@42.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@42.conf
deleted file mode 100644
index a1ba06196..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@42.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=VREG_5P0
-WARNLO_in1=4758
-WARNHI_in1=5258
-CRITLO_in1=4507
-CRITHI_in1=5509
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@44.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@44.conf
deleted file mode 100644
index 8edf80c69..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@44.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=VREG_3P3
-WARNLO_in1=3130
-WARNHI_in1=3474
-CRITLO_in1=2974
-CRITHI_in1=3631
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@46.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@46.conf
deleted file mode 100644
index b083035d3..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@46.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=VREG_3P3_AUX
-WARNLO_in1=3130
-WARNHI_in1=3474
-CRITLO_in1=2974
-CRITHI_in1=3631
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@48.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@48.conf
deleted file mode 100644
index fc0896b0f..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@48.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=VREG_5P0_USB
-WARNLO_in1=4758
-WARNHI_in1=5258
-CRITLO_in1=4507
-CRITHI_in1=5509
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@02.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@02.conf
deleted file mode 100644
index 91a38eec8..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@02.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=PVDDQ_510
-WARNLO_in1=1144
-WARNHI_in1=1264
-CRITLO_in1=1080
-CRITHI_in1=1320
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@04.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@04.conf
deleted file mode 100644
index d86a58890..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@04.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=PVDDQ_423
-WARNLO_in1=1144
-WARNHI_in1=1264
-CRITLO_in1=1080
-CRITHI_in1=1320
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/nvt210@4c.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/nvt210@4c.conf
deleted file mode 100644
index e968f08e7..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/nvt210@4c.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-LABEL_temp1=SYS_SOC_TEMP_L
-CRITLO_temp1=0
-CRITHI_temp1=100000
-
-LABEL_temp2=SYS_SOC_TEMP_R
-CRITLO_temp2=0
-CRITHI_temp2=100000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1d.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1d.conf
deleted file mode 100644
index 6a0bab548..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1d.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-LABEL_temp1=SYS_INLET_0_L
-CRITLO_temp1=0
-CRITHI_temp1=50000
-
-LABEL_temp2=SYS_INLET_0_R
-CRITLO_temp2=0
-CRITHI_temp2=50000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1f.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1f.conf
deleted file mode 100644
index b85648222..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1f.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_INLET_1
-CRITLO_temp1=0
-CRITHI_temp1=50000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4d.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4d.conf
deleted file mode 100644
index 2ed024e34..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4d.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_INLET_2
-CRITLO_temp1=0
-CRITHI_temp1=50000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4f.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4f.conf
deleted file mode 100644
index ee3b5d5e5..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4f.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_INLET_3
-CRITLO_temp1=0
-CRITHI_temp1=50000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@10.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@10.conf
deleted file mode 100644
index 2805cadb2..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@10.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-LABEL_in1=HSC_AUX_VIN
-WARNLO_in1=11431
-WARNHI_in1=12567
-CRITLO_in1=10792
-CRITHI_in1=13206
-
-LABEL_in2=HSC_AUX_VOUT
-WARNLO_in2=11431
-WARNHI_in2=12567
-CRITLO_in2=10792
-CRITHI_in2=13206
-
-LABEL_curr1=HSC_AUX_IOUT
-WARNLO_curr1=0
-WARNHI_curr1=50058
-CRITLO_curr1=0
-CRITHI_curr1=60021
-
-LABEL_power1=HSC_AUX_PIN
-WARNLO_power1=0
-WARNHI_power1=601520
-CRITLO_power1=0
-CRITHI_power1=721240
-
-LABEL_temp1=HSC_AUX_TEMP
-CRITLO_temp1=0
-CRITHI_temp1=105000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@11.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@11.conf
deleted file mode 100644
index 3c4ebbae6..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@11.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-LABEL_in1=HSC_HDD_VIN
-WARNLO_in1=11431
-WARNHI_in1=12567
-CRITLO_in1=10792
-CRITHI_in1=13206
-
-LABEL_in2=HSC_HDD_VOUT
-WARNLO_in2=11431
-WARNHI_in2=12567
-CRITLO_in2=10792
-CRITHI_in2=13206
-
-LABEL_curr1=HSC_HDD_IOUT
-WARNLO_curr1=0
-WARNHI_curr1=11993
-CRITLO_curr1=0
-CRITHI_curr1=15008
-
-LABEL_power1=HSC_HDD_PIN
-WARNLO_power1=0
-WARNHI_power1=143200
-CRITLO_power1=0
-CRITHI_power1=179200
-
-LABEL_temp1=HSC_HDD_TEMP
-CRITLO_temp1=0
-CRITHI_temp1=60000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/adm1278@12.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/adm1278@12.conf
deleted file mode 100644
index 01b32101d..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/adm1278@12.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-LABEL_in1=HSC_FAN_VIN
-WARNLO_in1=11431
-WARNHI_in1=12567
-CRITLO_in1=10792
-CRITHI_in1=13206
-
-LABEL_in2=HSC_FAN_VOUT
-WARNLO_in2=11431
-WARNHI_in2=12567
-CRITLO_in2=10792
-CRITHI_in2=13206
-
-LABEL_curr1=HSC_FAN_IOUT
-WARNLO_curr1=0
-WARNHI_curr1=24948
-CRITLO_curr1=0
-CRITHI_curr1=29988
-
-LABEL_power1=HSC_FAN_PIN
-WARNLO_power1=0
-WARNHI_power1=298980
-CRITLO_power1=0
-CRITHI_power1=359380
-
-LABEL_temp1=HSC_FAN_TEMP
-CRITLO_temp1=0
-CRITHI_temp1=105000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/ds1100@58.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/ds1100@58.conf
deleted file mode 100644
index 5a6fe7ec3..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/ds1100@58.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-LABEL_fan1=PSU_FAN
-CRITLO_fan1=535
-CRITHI_fan1=13054
-
-LABEL_temp3=PSU_TEMP_AMB
-CRITLO_temp3=0
-CRITHI_temp3=50000
-
-LABEL_temp1=PSU_TEMP_HS
-CRITLO_temp1=0
-CRITHI_temp1=100000
-
-LABEL_in1=PSU_VIN
-WARNLO_in1=96000
-WARNHI_in1=0
-CRITLO_in1=0
-CRITHI_in1=253000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@20.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@20.conf
deleted file mode 100644
index 1e21d96d6..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@20.conf
+++ /dev/null
@@ -1,47 +0,0 @@
-LABEL_fan1=SYS_FAN_1_F
-CRITLO_fan1=535
-CRITHI_fan1=26964
-GAIN_fan1=0.85
-OFFSET_fan1=0
-
-LABEL_fan2=SYS_FAN_1_R
-CRITLO_fan2=535
-CRITHI_fan2=26964
-GAIN_fan2=0.8
-OFFSET_fan2=0
-
-LABEL_fan8=SYS_FAN_2_F
-CRITLO_fan8=535
-CRITHI_fan8=26964
-GAIN_fan8=0.85
-OFFSET_fan8=0
-
-LABEL_fan3=SYS_FAN_2_R
-CRITLO_fan3=535
-CRITHI_fan3=26964
-GAIN_fan3=0.8
-OFFSET_fan3=0
-
-LABEL_fan4=SYS_FAN_3_F
-CRITLO_fan4=535
-CRITHI_fan4=26964
-GAIN_fan4=0.85
-OFFSET_fan4=0
-
-LABEL_fan5=SYS_FAN_3_R
-CRITLO_fan5=535
-CRITHI_fan5=26964
-GAIN_fan5=0.8
-OFFSET_fan5=0
-
-LABEL_fan11=SYS_FAN_4_F
-CRITLO_fan11=535
-CRITHI_fan11=26964
-GAIN_fan11=0.85
-OFFSET_fan11=0
-
-LABEL_fan6=SYS_FAN_4_R
-CRITLO_fan6=535
-CRITHI_fan6=26964
-GAIN_fan6=0.8
-OFFSET_fan6=0
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@23.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@23.conf
deleted file mode 100644
index 20dad4b44..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@23.conf
+++ /dev/null
@@ -1,47 +0,0 @@
-LABEL_fan1=SYS_FAN_5_F
-CRITLO_fan1=535
-CRITHI_fan1=26964
-GAIN_fan1=0.85
-OFFSET_fan1=0
-
-LABEL_fan2=SYS_FAN_5_R
-CRITLO_fan2=535
-CRITHI_fan2=26964
-GAIN_fan2=0.8
-OFFSET_fan2=0
-
-LABEL_fan8=SYS_FAN_6_F
-CRITLO_fan8=535
-CRITHI_fan8=26964
-GAIN_fan8=0.85
-OFFSET_fan8=0
-
-LABEL_fan3=SYS_FAN_6_R
-CRITLO_fan3=535
-CRITHI_fan3=26964
-GAIN_fan3=0.8
-OFFSET_fan3=0
-
-LABEL_fan4=SYS_FAN_7_F
-CRITLO_fan4=535
-CRITHI_fan4=26964
-GAIN_fan4=0.85
-OFFSET_fan4=0
-
-LABEL_fan5=SYS_FAN_7_R
-CRITLO_fan5=535
-CRITHI_fan5=26964
-GAIN_fan5=0.8
-OFFSET_fan5=0
-
-LABEL_fan11=SYS_FAN_8_F
-CRITLO_fan11=535
-CRITHI_fan11=26964
-GAIN_fan11=0.85
-OFFSET_fan11=0
-
-LABEL_fan6=SYS_FAN_8_R
-CRITLO_fan6=535
-CRITHI_fan6=26964
-GAIN_fan6=0.8
-OFFSET_fan6=0
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/tmp421@1d.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/tmp421@1d.conf
deleted file mode 100644
index 1c85be91a..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/tmp421@1d.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-LABEL_temp1=FAN_BD_TEMP_L
-CRITLO_temp1=0
-CRITHI_temp1=60000
-
-LABEL_temp2=FAN_BD_TEMP_R
-CRITLO_temp2=0
-CRITHI_temp2=60000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1c.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1c.conf
deleted file mode 100644
index a7e74da32..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1c.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_OUTLET_3
-CRITLO_temp1=0
-CRITHI_temp1=100000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1e.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1e.conf
deleted file mode 100644
index 0bb21b236..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1e.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-LABEL_temp1=SYS_OUTLET_0_L
-CRITLO_temp1=0
-CRITHI_temp1=100000
-
-LABEL_temp2=SYS_OUTLET_0_R
-CRITLO_temp2=0
-CRITHI_temp2=100000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@2a.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@2a.conf
deleted file mode 100644
index f794c0e7b..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@2a.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_OUTLET_1
-CRITLO_temp1=0
-CRITHI_temp1=100000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@4e.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@4e.conf
deleted file mode 100644
index 3834fc2dd..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@4e.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_OUTLET_2
-CRITLO_temp1=0
-CRITHI_temp1=100000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/flash-controller@1e631000/spi2@0.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/flash-controller@1e631000/spi2@0.conf
deleted file mode 100644
index 1311e52bb..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/flash-controller@1e631000/spi2@0.conf
+++ /dev/null
@@ -1,73 +0,0 @@
-LABEL_temp1=SOC_TEMP
-CRITLO_temp1=0
-CRITHI_temp1=94000
-
-LABEL_temp2=PMF2432_TEMP
-CRITLO_temp2=0
-CRITHI_temp2=103000
-
-LABEL_temp3=PMF2433_TEMP
-CRITLO_temp3=0
-CRITHI_temp3=103000
-
-LABEL_temp4=CVR_APC_TEMP
-CRITLO_temp4=0
-CRITHI_temp4=103000
-
-LABEL_temp5=CVR_CBF_TEMP
-CRITLO_temp5=0
-CRITHI_temp5=103000
-
-LABEL_temp6=DIMM_C0D0_TEMP
-CRITLO_temp6=0
-CRITHI_temp6=83000
-
-LABEL_temp7=DIMM_C0D1_TEMP
-CRITLO_temp7=0
-CRITHI_temp7=83000
-
-LABEL_temp8=DIMM_C1D0_TEMP
-CRITLO_temp8=0
-CRITHI_temp8=83000
-
-LABEL_temp9=DIMM_C1D1_TEMP
-CRITLO_temp9=0
-CRITHI_temp9=83000
-
-LABEL_temp10=DIMM_C2D0_TEMP
-CRITLO_temp10=0
-CRITHI_temp10=83000
-
-LABEL_temp11=DIMM_C2D1_TEMP
-CRITLO_temp11=0
-CRITHI_temp11=83000
-
-LABEL_temp12=DIMM_C3D0_TEMP
-CRITLO_temp12=0
-CRITHI_temp12=83000
-
-LABEL_temp13=DIMM_C3D1_TEMP
-CRITLO_temp13=0
-CRITHI_temp13=83000
-
-LABEL_temp14=DIMM_C4D0_TEMP
-CRITLO_temp14=0
-CRITHI_temp14=83000
-
-LABEL_temp15=DIMM_C4D1_TEMP
-CRITLO_temp15=0
-CRITHI_temp15=83000
-
-LABEL_temp16=DIMM_C5D0_TEMP
-CRITLO_temp16=0
-CRITHI_temp16=83000
-
-LABEL_temp17=DIMM_C5D1_TEMP
-CRITLO_temp17=0
-CRITHI_temp17=83000
-
-LABEL_power1=SOC_PWR
-WARNLO_power1=0
-WARNHI_power1=120000
-CRITLO_power1=0
-CRITHI_power1=130000
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf
deleted file mode 100644
index 86d33962d..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-LABEL_in1=SYS_3V3
-GAIN_in1=2.40
-WARNLO_in1=3132
-WARNHI_in1=3463
-CRITLO_in1=2975
-CRITHI_in1=3637
-LABEL_in2=SYS_5V0
-GAIN_in2=3.86
-WARNLO_in2=4744
-WARNHI_in2=5253
-CRITLO_in2=4502
-CRITHI_in2=5494
-LABEL_in3=SYS_12V0
-GAIN_in3=8.82
-WARNLO_in3=11408
-WARNHI_in3=12586
-CRITLO_in3=10850
-CRITHI_in3=13206
-LABEL_in6=SYS_3V3_AUX
-GAIN_in6=2.40
-WARNLO_in6=3132
-WARNHI_in6=3463
-CRITLO_in6=2975
-CRITHI_in6=3637
-LABEL_in8=SYS_3V0_Battery
-GAIN_in8=1.66
-WARNLO_in8=2849
-WARNHI_in8=3460
-CRITLO_in8=2701
-CRITHI_in8=3629
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
deleted file mode 100644
index 27d7ae216..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
+++ /dev/null
@@ -1,34 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-NAMES = " apb/bus@1e78a000/i2c-bus@1c0/tmp421@1d \
- apb/bus@1e78a000/i2c-bus@1c0/tmp421@1f \
- apb/bus@1e78a000/i2c-bus@1c0/tmp421@4d \
- apb/bus@1e78a000/i2c-bus@1c0/tmp421@4f \
- apb/bus@1e78a000/i2c-bus@1c0/nvt210@4c \
- apb/bus@1e78a000/i2c-bus@180/ir38163@42 \
- apb/bus@1e78a000/i2c-bus@180/ir38163@44 \
- apb/bus@1e78a000/i2c-bus@180/ir38163@46 \
- apb/bus@1e78a000/i2c-bus@180/ir38163@48 \
- apb/bus@1e78a000/i2c-bus@180/pxm1310@02 \
- apb/bus@1e78a000/i2c-bus@180/pxm1310@04 \
- apb/bus@1e78a000/i2c-bus@80/tmp421@1c \
- apb/bus@1e78a000/i2c-bus@80/tmp421@1e \
- apb/bus@1e78a000/i2c-bus@80/tmp421@2a \
- apb/bus@1e78a000/i2c-bus@80/tmp421@4e \
- apb/bus@1e78a000/i2c-bus@300/adm1278@10 \
- apb/bus@1e78a000/i2c-bus@300/adm1278@11 \
- apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/adm1278@12 \
- apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@20 \
- apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@23 \
- apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/tmp421@1d \
- apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/ds1100@58 \
- flash-controller@1e631000/spi2@0 \
-"
-
-ITEMSFMT = "ahb/{0}.conf"
-
-ITEMS = "${@compose_list(d, 'ITEMSFMT', 'NAMES')}"
-ITEMS += "iio-hwmon.conf"
-
-ENVS = "obmc/hwmon/{0}"
-SYSTEMD_ENVIRONMENT_FILE:${PN} += "${@compose_list(d, 'ENVS', 'ITEMS')}"
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/files/socupdate.sh b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/files/socupdate.sh
deleted file mode 100644
index 640ad767b..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/files/socupdate.sh
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/bin/sh -e
-# SOC update tool, need two parameter(soc update file name and TFTP ip)
-
-if [ ! -n "$1" -o ! -n "$2" ] ;then
- echo "Please enter SOC-ImageName and TFTP-IP."
- echo "Format: socupdate.sh FileName IP"
- echo "Example: socupdate.sh 0ACJAXXX.ROM 192.168.1.1"
- exit
-fi
-
-echo "SOC update start."
-
-echo "Check BMC status."
-checkbmc='gpioutil -p Q4'
-if $checkbmc = "1"; then
- echo "BMC is ready."
-else
- echo "BMC isn't ready."
- exit
-fi
-
-echo "Check SOC image does it exist."
-cd /tmp/
-FILEEXIST=0
-if [ -f "/tmp/$1" ]; then
- GETFILE=`du -k $1 | awk '{print $1}'`
- if [ "$GETFILE" -eq "65536" ]; then
- FILEEXIST=1
- echo "SOC image is exist."
- else
- FILEEXIST=0
- fi
-fi
-
-if [ $FILEEXIST -eq 0 ]; then
- echo "Get SOC image from TFTP server."
- echo "Please wait a few minutes."
- tftp -g -r $1 $2 &
- sleep 2
- LENGTH=0
- ERRCOUNT=0
- while true
- do
- echo -ne "\r["
- usleep 500000
- while [ $LENGTH -le 30 ]
- do
- usleep 500000
- echo -n ">"
- LENGTH=$(($LENGTH+1))
- if [ -f "/tmp/$1" ]; then
- GETFILE=`du -k $1 | awk '{print $1}'`
- if [ $GETFILE -eq 65536 ]; then
- echo -en "\r"
- echo -en "--- Image download completed --- \n"
- usleep 1000000
- break 2
- fi
- else
- ERRCOUNT=$(($ERRCOUNT+1))
- if [ $ERRCOUNT -le 10 ]; then
- echo -en "\r"
- echo -en "SOC-ImageName or TFTP-IP is ERROR. \n"
- usleep 500000
- exit
- fi
- fi
- done
- echo -n "]"
- LENGTH=0
- usleep 500000
- echo -en "\r "
- done
-fi
-sleep 3
-
-echo "Switch the host SPI bus to BMC."
-cmd='gpioutil -p C7 -v 1'
-if $cmd 1>/dev/null 2>&1; then
- echo "Switch completed."
-else
- echo "Switch failed."
-fi
-echo "Load the ASpeed SMC driver"
-echo 1e630000.flash-controller > /sys/bus/platform/drivers/aspeed-smc/bind
-sleep 2
-chassisstate=$(obmcutil chassisstate | awk -F. '{print $NF}')
-echo "---Current Chassisstate $chassisstate---"
-if [ "$chassisstate" == 'On' ];
-then
- echo "---Chassis on turning it off---"
- obmcutil chassisoff
- sleep 10
-fi
-
-echo "Flashcp to update SOC."
-echo "Please wait a few minutes."
-flashcp -v /tmp/$1 /dev/mtd6
-sleep 3
-
-echo "Switch the host SPI bus to HOST."
-cmd1='gpioutil -p C7 -v 0'
-if $cmd1 1>/dev/null 2>&1; then
- echo "Switch completed."
-else
- echo "Switch failed."
-fi
-echo "unLoad the ASpeed SMC driver"
-echo 1e630000.flash-controller > /sys/bus/platform/drivers/aspeed-smc/unbind
-echo -ne "SOC update steps is complete.\n"
-if [ "$chassisstate" == 'On' ];
-then
- echo "5 sec later will be power-on."
- echo "If wantn't power-on, please CTRL + C leave script."
- WAITSEC=5
- while [ $WAITSEC -ge 0 ]
- do
- echo -n "Countdown seconds:$WAITSEC"
- sleep 1
- echo -en "\r"
- WAITSEC=$(($WAITSEC-1))
- if [ $WAITSEC -eq 0 ]; then
- echo -en "\r"
- echo -en "--- Power-on --- \n"
- obmcutil chassison
- break 1
- fi
- done
-fi
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/socupdate.bb b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/socupdate.bb
deleted file mode 100644
index 66a075551..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/socupdate.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "HXT SOC update"
-DESCRIPTION = "A sample script to help update the host(soc) firmware"
-HOMEPAGE = ""
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-SRC_URI += "file://socupdate.sh"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/socupdate.sh ${D}${bindir}/socupdate.sh
-}
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb
deleted file mode 100644
index ec8f0de13..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "HXT Rep board wiring"
-DESCRIPTION = "Board wiring information for the HXT Rep system."
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit allarch
-inherit setuptools
-inherit pythonnative
-
-PROVIDES += "virtual/obmc-inventory-data"
-RPROVIDES_${PN} += "virtual-obmc-inventory-data"
-
-DEPENDS += "python"
-
-S = "${WORKDIR}"
-SRC_URI += "file://Stardragon4800-rep2.py"
-
-python() {
- machine = d.getVar('MACHINE', True).capitalize() + '.py'
- d.setVar('_config_in_skeleton', machine)
-}
-
-do_make_setup() {
- cp ${S}/${_config_in_skeleton} \
- ${S}/obmc_system_config.py
- cat <<EOF > ${S}/setup.py
-from distutils.core import setup
-
-setup(name='${BPN}',
- version='${PR}',
- py_modules=['obmc_system_config'],
- )
-EOF
-}
-
-addtask make_setup after do_patch before do_configure
-
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config/Stardragon4800-rep2.py b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config/Stardragon4800-rep2.py
deleted file mode 100644
index 01cff570b..000000000
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config/Stardragon4800-rep2.py
+++ /dev/null
@@ -1,81 +0,0 @@
-## System states
-## state can change to next state in 2 ways:
-## - a process emits a GotoSystemState signal with state name to goto
-## - objects specified in EXIT_STATE_DEPEND have started
-SYSTEM_STATES = [
- 'BASE_APPS',
- 'BMC_STARTING',
- 'BMC_READY',
- 'HOST_POWERING_ON',
- 'HOST_POWERED_ON',
- 'HOST_BOOTING',
- 'HOST_BOOTED',
- 'HOST_POWERED_OFF',
-]
-
-EXIT_STATE_DEPEND = {
- 'BASE_APPS' : {
- '/org/openbmc/sensors': 0,
- },
- 'BMC_STARTING' : {
- '/org/openbmc/control/power0' : 0,
- '/org/openbmc/control/host0' : 0,
- '/org/openbmc/control/chassis0' : 0,
- },
-}
-
-FRU_INSTANCES = {
-'<inventory_root>/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 'manufacturer' : 'ASPEED' },
-}
-# I believe these numbers need to match the yaml file used to create the c++ ipmi map.
-# the devices have types, but I don't believe that factors in here, I think these are
-# just unique IDs.
-ID_LOOKUP = {
- 'FRU' : {},
- # The number at the end needs to match the FRU ID.
- # https://github.com/openbmc/skeleton/blob/master/pysystemmgr/system_manager.py#L143
- # The paramter for it is of type 'y' (unsigned 8-bit integer) presumably decimal?
- 'FRU_STR' : {},
- 'SENSOR' : {},
- 'GPIO_PRESENT' : {}
-}
-
-GPIO_CONFIG = {}
-GPIO_CONFIG['POWER_BUTTON'] = { 'gpio_pin': 'D3', 'direction': 'out' }
-GPIO_CONFIG['PGOOD'] = { 'gpio_pin': 'E2', 'direction': 'in' }
-GPIO_CONFIG['BMC_READY'] = { 'gpio_pin': 'Q4', 'direction': 'out' }
-GPIO_CONFIG['HOST_SPI_SWITCH'] = { 'gpio_pin': 'C7', 'direction': 'out'}
-GPIO_CONFIG['IMC_READY'] = { 'gpio_pin': 'O3', 'direction': 'both' }
-GPIO_CONFIG['IMC_INTERRUPT'] = { 'gpio_pin': 'O4', 'direction': 'both' }
-GPIO_CONFIG['RESET_BUTTON'] = { 'gpio_pin': 'G5', 'direction': 'both' }
-GPIO_CONFIG['QDF_RAS_ERROR_0'] = { 'gpio_pin': 'D6', 'direction': 'in' }
-GPIO_CONFIG['QDF_RAS_ERROR_1'] = { 'gpio_pin': 'D7', 'direction': 'in' }
-GPIO_CONFIG['QDF_RAS_ERROR_2'] = { 'gpio_pin': 'F1', 'direction': 'in' }
-
-GPIO_CONFIGS = {
- 'power_config' : {
- 'power_good_in' : 'PGOOD',
- 'power_up' : [
-#delay in ms
- ('POWER_BUTTON', 'LOW_HIGH',1000),
- ],
- 'power_out' : [
- ('POWER_BUTTON', 'LOW_HIGH',8000),
- ],
- }}
- 'host_config' : {
- 'imc_ready' : 'IMC_READY',
- 'imc_interrupt': 'IMC_INTERRUPT',
- 'bmc_ready' : 'BMC_READY',
- 'host_spi_switch' : 'HOST_SPI_SWITCH',
- },
-}
-
-# Miscellaneous non-poll sensor with system specific properties.
-# The sensor id is the same as those defined in ID_LOOKUP['SENSOR'].
-
-MISC_SENSORS = {
-
-}
-
-# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/meta-ibm/conf/machine/p10bmc.conf b/meta-ibm/conf/machine/p10bmc.conf
index 4956f8772..b714f78d3 100644
--- a/meta-ibm/conf/machine/p10bmc.conf
+++ b/meta-ibm/conf/machine/p10bmc.conf
@@ -10,11 +10,12 @@ require conf/machine/include/obmc-bsp-common.inc
require conf/machine/include/openpower.inc
include conf/machine/include/ibm-power10-cpu.inc
require conf/distro/include/openpower-virtual-pnor.inc
+require conf/distro/include/openpower-hostfw-over-pldm.inc
require conf/distro/include/phosphor-mmc.inc
require conf/distro/include/ibm-mpreboot.inc
require conf/distro/include/ibm-yaml.inc
DISTRO_FEATURES += "ibm-service-account-policy"
-OBMC_MACHINE_FEATURES += 'phal'
+MACHINE_FEATURES += 'phal'
SERIAL_CONSOLES = "115200;ttyS4"
diff --git a/meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg b/meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg
index 5cda19abb..2714966c1 100644
--- a/meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg
+++ b/meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg
@@ -8,7 +8,6 @@ CONFIG_IIO=y
CONFIG_SI7020=y
CONFIG_BMP280=y
CONFIG_PSTORE=y
-CONFIG_PSTORE_CONSOLE=y
CONFIG_PSTORE_PMSG=y
CONFIG_PSTORE_RAM=y
CONFIG_MAGIC_SYSRQ=y
diff --git a/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/client.2201.conf b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/client.2201.conf
index 7264e8278..7a4459123 100644
--- a/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/client.2201.conf
+++ b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/client.2201.conf
@@ -1 +1 @@
-socket-id = guests
+socket-id = hypervisor
diff --git a/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf
index 32e8bd467..8b3e8caee 100644
--- a/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf
+++ b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf
@@ -1,5 +1,5 @@
lpc-address = 0x2f8
sirq = 3
-socket-id = guests
+socket-id = hypervisor
logsize = 256k
logfile = /var/log/obmc-console1.log
diff --git a/meta-ibm/recipes-phosphor/console/obmc-console/witherspoon-tacoma/client.2201.conf b/meta-ibm/recipes-phosphor/console/obmc-console/witherspoon-tacoma/client.2201.conf
index 7264e8278..7a4459123 100644
--- a/meta-ibm/recipes-phosphor/console/obmc-console/witherspoon-tacoma/client.2201.conf
+++ b/meta-ibm/recipes-phosphor/console/obmc-console/witherspoon-tacoma/client.2201.conf
@@ -1 +1 @@
-socket-id = guests
+socket-id = hypervisor
diff --git a/meta-ibm/recipes-phosphor/console/obmc-console/witherspoon-tacoma/server.ttyVUART1.conf b/meta-ibm/recipes-phosphor/console/obmc-console/witherspoon-tacoma/server.ttyVUART1.conf
index e98587f15..0bc52cc85 100644
--- a/meta-ibm/recipes-phosphor/console/obmc-console/witherspoon-tacoma/server.ttyVUART1.conf
+++ b/meta-ibm/recipes-phosphor/console/obmc-console/witherspoon-tacoma/server.ttyVUART1.conf
@@ -1,3 +1,3 @@
lpc-address = 0x2f8
sirq = 3
-socket-id = guests
+socket-id = hypervisor
diff --git a/meta-ibm/recipes-phosphor/console/obmc-console_%.bbappend b/meta-ibm/recipes-phosphor/console/obmc-console_%.bbappend
index 2ca97e165..436be4d74 100644
--- a/meta-ibm/recipes-phosphor/console/obmc-console_%.bbappend
+++ b/meta-ibm/recipes-phosphor/console/obmc-console_%.bbappend
@@ -30,7 +30,7 @@ install_concurrent_console_config() {
SRC_URI:append:p10bmc = " file://client.2201.conf"
SRC_URI:append:p10bmc = " file://server.ttyVUART1.conf"
-REGISTERED_SERVICES:${PN}:append:p10bmc = " obmc_console_guests:tcp:2201:"
+REGISTERED_SERVICES:${PN}:append:p10bmc = " obmc_console_hypervisor:tcp:2201:"
SYSTEMD_SERVICE:${PN}:append:p10bmc = " obmc-console-ssh@2200.service \
obmc-console-ssh@2201.service \
@@ -48,7 +48,7 @@ do_install:append:p10bmc() {
SRC_URI:append:witherspoon-tacoma = " file://client.2201.conf"
SRC_URI:append:witherspoon-tacoma = " file://server.ttyVUART1.conf"
-REGISTERED_SERVICES:${PN}:append:witherspoon-tacoma = " obmc_console_guests:tcp:2201:"
+REGISTERED_SERVICES:${PN}:append:witherspoon-tacoma = " obmc_console_hypervisor:tcp:2201:"
SYSTEMD_SERVICE:${PN}:append:witherspoon-tacoma = " obmc-console-ssh@2200.service \
obmc-console-ssh@2201.service \
diff --git a/meta-ibm/recipes-phosphor/dbus/ibm-dbus-interfaces_git.bb b/meta-ibm/recipes-phosphor/dbus/ibm-dbus-interfaces_git.bb
index f8b3da2a5..129be3563 100644
--- a/meta-ibm/recipes-phosphor/dbus/ibm-dbus-interfaces_git.bb
+++ b/meta-ibm/recipes-phosphor/dbus/ibm-dbus-interfaces_git.bb
@@ -15,7 +15,7 @@ DEPENDS += "autoconf-archive-native"
DEPENDS += "${PYTHON_PN}-sdbus++-native"
SRC_URI += "git://github.com/openbmc/ibm-dbus-interfaces"
-SRCREV = "109271bb4de159b9cf13c56acded3eb79bff61fb"
+SRCREV = "89d04feb5d05a8ac01d734eed8889f6800324459"
PACKAGECONFIG ??= "libibm_dbus"
PACKAGECONFIG[libibm_dbus] = " \
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/witherspoon/phosphor-fan-control@.service b/meta-ibm/recipes-phosphor/fans/phosphor-fan/witherspoon/phosphor-fan-control@.service
index 267907776..95c34d3dc 100644
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/witherspoon/phosphor-fan-control@.service
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/witherspoon/phosphor-fan-control@.service
@@ -1,7 +1,9 @@
[Unit]
Description=Phosphor Fan Control Daemon
-Requires=max31785-hwmon-helper@ahb-apb-bus\x401e78a000-i2c\x2dbus\x40{ADDR}-max31785\x4052.service
-After=max31785-hwmon-helper@ahb-apb-bus\x401e78a000-i2c\x2dbus\x40{ADDR}-max31785\x4052.service
+Requires=xyz.openbmc_project.Hwmon@-ahb-apb-bus\x401e78a000-i2c\x2dbus\x40{ADDR}-max31785\x4052.service
+After=xyz.openbmc_project.Hwmon@-ahb-apb-bus\x401e78a000-i2c\x2dbus\x40{ADDR}-max31785\x4052.service
+Requires=phosphor-cooling-type@%i.service
+After=phosphor-cooling-type@%i.service
[Service]
Restart=on-failure
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend b/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend
index f9b26135f..a6d0357b0 100644
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend
@@ -67,3 +67,7 @@ FAN_PACKAGES:append:p10bmc = " sensor-monitor"
# file that's used for witherspoon type(including witherspoon-tacoma) machines
SYSTEMD_SUBSTITUTIONS:witherspoon = "ADDR:100:phosphor-fan-control@.service"
SYSTEMD_SUBSTITUTIONS:witherspoon-tacoma = "ADDR:200:phosphor-fan-control@.service"
+
+# Set the PKG_DEFAULT_MACHINE name to "witherspoon" for tacoma so witherspoon's
+# JSON config files are installed on tacoma machines (since they use the same ones)
+PKG_DEFAULT_MACHINE:witherspoon-tacoma = "witherspoon"
diff --git a/meta-ibm/recipes-phosphor/interfaces/bmcweb_%.bbappend b/meta-ibm/recipes-phosphor/interfaces/bmcweb_%.bbappend
index 9b8ae3182..deb76361d 100644
--- a/meta-ibm/recipes-phosphor/interfaces/bmcweb_%.bbappend
+++ b/meta-ibm/recipes-phosphor/interfaces/bmcweb_%.bbappend
@@ -2,6 +2,7 @@ EXTRA_OEMESON:append = " \
-Dinsecure-tftp-update=enabled \
-Dibm-management-console=enabled \
-Dredfish-new-powersubsystem-thermalsubsystem=enabled \
+ -Dredfish-dump-log=enabled \
"
inherit obmc-phosphor-discovery-service
diff --git a/meta-ibm/recipes-phosphor/ipmi/phosphor-ipmi-config/mihawk/dcmi_sensors.json b/meta-ibm/recipes-phosphor/ipmi/phosphor-ipmi-config/mihawk/dcmi_sensors.json
index cd72656e2..ed4cb0b28 100644
--- a/meta-ibm/recipes-phosphor/ipmi/phosphor-ipmi-config/mihawk/dcmi_sensors.json
+++ b/meta-ibm/recipes-phosphor/ipmi/phosphor-ipmi-config/mihawk/dcmi_sensors.json
@@ -3,7 +3,7 @@
{"instance": 1, "dbus": "/xyz/openbmc_project/sensors/temperature/ambient_temp", "record_id": 255}
],
"baseboard": [
- {"instance": 1, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_pcie_temp", "record_id": 253}
+ {"instance": 1, "dbus": "/xyz/openbmc_project/sensors/temperature/p0_pcie_temp", "record_id": 253},
{"instance": 2, "dbus": "/xyz/openbmc_project/sensors/temperature/p1_pcie_temp", "record_id": 254}
],
"cpu": [
diff --git a/meta-ibm/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-ibm/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
index 38fbd717c..45678d981 100644
--- a/meta-ibm/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
+++ b/meta-ibm/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -1,6 +1,9 @@
DEPENDS:append:ibm-ac-server = " acx22-yaml-config"
DEPENDS:append:mihawk = " acx22-yaml-config"
+# host watchdog does not work with witherspoon-tacoma host firmware
+RDEPENDS:${PN}:remove:witherspoon-tacoma = "virtual/obmc-watchdog"
+
EXTRA_OECONF:ibm-ac-server = " \
SENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-sensors.yaml \
INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-inventory-sensors.yaml \
@@ -10,4 +13,4 @@ EXTRA_OECONF:mihawk = " \
SENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-sensors.yaml \
INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-inventory-sensors.yaml \
FRU_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-fru-read.yaml \
- " \ No newline at end of file
+ "
diff --git a/meta-ibm/recipes-phosphor/ipmi/wistron-ipmi-oem_git.bb b/meta-ibm/recipes-phosphor/ipmi/wistron-ipmi-oem_git.bb
index e72755d0c..91dbfe031 100644
--- a/meta-ibm/recipes-phosphor/ipmi/wistron-ipmi-oem_git.bb
+++ b/meta-ibm/recipes-phosphor/ipmi/wistron-ipmi-oem_git.bb
@@ -14,7 +14,7 @@ DEPENDS += "autoconf-archive-native"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/wistron-ipmi-oem"
-SRCREV = "ba89a1ea570cb010c2e929ac11ada3714878ca7d"
+SRCREV = "572a22ad0a72142db434b5b78ec28182e27a57fd"
FILES:${PN}:append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES:${PN}:append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
diff --git a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager/obmc-led-set-all-groups-asserted@.service b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager/obmc-led-set-all-groups-asserted@.service
index 82763ea20..69d9bb0f4 100644
--- a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager/obmc-led-set-all-groups-asserted@.service
+++ b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager/obmc-led-set-all-groups-asserted@.service
@@ -1,7 +1,7 @@
[Unit]
Description=Set the Asserted property of all the LED groups to %i
-Wants=xyz.openbmc_project.LED.GroupManager
-After=xyz.openbmc_project.LED.GroupManager
+Wants=xyz.openbmc_project.LED.GroupManager.service
+After=xyz.openbmc_project.LED.GroupManager.service
After=op-reset-chassis-running@0.service
ConditionPathExists=!/run/openbmc/chassis@0-on
diff --git a/meta-ibm/recipes-phosphor/logging/ibm-logging_git.bb b/meta-ibm/recipes-phosphor/logging/ibm-logging_git.bb
index ec9edcc18..498d9fd8a 100644
--- a/meta-ibm/recipes-phosphor/logging/ibm-logging_git.bb
+++ b/meta-ibm/recipes-phosphor/logging/ibm-logging_git.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/openbmc/ibm-logging"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI += "git://github.com/openbmc/ibm-logging"
-SRCREV = "1eb63675af793e9c183c89afdb6e0d5a428b727d"
+SRCREV = "e841b05fc724c691c2f1bab0427de6168cd57f7a"
inherit autotools
inherit pkgconfig
diff --git a/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend b/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend
index 361417410..034b43ac5 100644
--- a/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend
+++ b/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend
@@ -11,8 +11,8 @@ FILES:${PN}:append:p10bmc = " ${datadir}/phosphor-logging/pels/ibm,rainier-4u_de
FILES:${PN}:append:p10bmc = " ${datadir}/phosphor-logging/pels/ibm,everest_dev_callouts.json"
#Enable phal feature, if available.
-PACKAGECONFIG:append = " ${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}"
-PACKAGECONFIG[phal] = "-Dphal=enabled, -Dphal=disabled, pdata libekb pdbg"
+PACKAGECONFIG:append = " ${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}"
+PACKAGECONFIG[phal] = "-Dphal=enabled, -Dphal=disabled, pdata libekb pdbg ipl"
do_install:append:p10bmc() {
install -d ${D}/${datadir}/phosphor-logging/pels
diff --git a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index acd8c6ba2..e40e15280 100644
--- a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -21,7 +21,9 @@ EXTRA_IBM_LOGGING_PKGS = ""
EXTRA_IBM_LOGGING_PKGS:witherspoon = "ibm-logging"
EXTRA_IBM_LOGGING_PKGS:witherspoon-tacoma = ""
EXTRA_IBM_LOGGING_PKGS:mihawk = "ibm-logging"
-
+EXTRA_IBM_LOGGING_PKGS:p10bmc = " \
+ python3-sbe-log-parsers \
+"
RDEPENDS:${PN}-inventory:append:ibm-ac-server = " openpower-fru-vpd openpower-occ-control phosphor-cooling-type virtual/obmc-gpio-presence"
RDEPENDS:${PN}-inventory:append:p10bmc = " openpower-fru-vpd openpower-occ-control virtual/obmc-gpio-presence"
RDEPENDS:${PN}-inventory:append:mihawk = " openpower-fru-vpd openpower-occ-control virtual/obmc-gpio-presence id-button phosphor-cooling-type"
diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/70-max31785-hwmon.rules b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/70-max31785-hwmon.rules
deleted file mode 100644
index fd63e0549..000000000
--- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/70-max31785-hwmon.rules
+++ /dev/null
@@ -1 +0,0 @@
-SUBSYSTEM=="hwmon", ACTION=="add", ENV{OF_NAME}=="max31785", PROGRAM="/bin/systemd-escape -p '%E{OF_FULLNAME}'", RUN="/bin/systemctl start max31785-hwmon-helper@%c.service"
diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/max31785-hwmon-helper@.service b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/max31785-hwmon-helper@.service
deleted file mode 100644
index c7ed6f113..000000000
--- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/max31785-hwmon-helper@.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=MAX31785 hwmon helper
-Wants=phosphor-cooling-type@0.service
-After=phosphor-cooling-type@0.service
-
-[Service]
-Type=oneshot
-ExecStart=/usr/bin/env start_max31785_hwmon.sh %i
-SyslogIdentifier=max31785-hwmon-helper
diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/start_max31785_hwmon.sh b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/start_max31785_hwmon.sh
deleted file mode 100755
index 5eff17450..000000000
--- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/start_max31785_hwmon.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-# Copy in the correct MAX31785 phosphor-hwmon config file to use based on the
-# WaterCooled property, and then start the hwmon service.
-
-# $1: The escaped OF_FULLNAME udev attribute for the MAX31785
-
-base="/etc/default/obmc/hwmon/"$(systemd-escape -u "$1")
-target=$base".conf"
-
-service=$(mapper get-service /xyz/openbmc_project/inventory/system/chassis)
-
-if [ $(busctl get-property $service \
- /xyz/openbmc_project/inventory/system/chassis \
- xyz.openbmc_project.Inventory.Decorator.CoolingType \
- WaterCooled | grep true | wc -l) != 0 ];
-then
- source=$base'_water.conf'
-else
- source=$base'_air.conf'
-fi
-
-cp $source $target
-
-instance='-'$1
-systemctl start xyz.openbmc_project.Hwmon@$instance.service
diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52.conf
index 0b97ed559..0b97ed559 100644
--- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf
+++ b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52.conf
diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf
deleted file mode 100644
index 0b97ed559..000000000
--- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-LABEL_fan1 = "fan0_0"
-
-LABEL_fan2 = "fan1_0"
-
-LABEL_fan3 = "fan2_0"
-
-LABEL_fan4 = "fan3_0"
-
-TARGET_MODE = "RPM"
diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon-tacoma/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@200/max31785@52_air.conf b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon-tacoma/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@200/max31785@52.conf
index d3df21599..d3df21599 100644
--- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon-tacoma/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@200/max31785@52_air.conf
+++ b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon-tacoma/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@200/max31785@52.conf
diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon-tacoma/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@200/max31785@52_water.conf b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon-tacoma/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@200/max31785@52_water.conf
deleted file mode 100644
index c96bfa76b..000000000
--- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon-tacoma/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@200/max31785@52_water.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-LABEL_fan1 = "fan0_0"
-
-LABEL_fan3 = "fan2_0"
-
-LABEL_fan4 = "fan3_0"
-
-LABEL_fan5 = "fan0_1"
-
-LABEL_fan7 = "fan2_1"
-
-LABEL_fan8 = "fan3_1"
-
-TARGET_MODE = "RPM"
diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52.conf
index d3df21599..d3df21599 100644
--- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf
+++ b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52.conf
diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf
deleted file mode 100644
index c96bfa76b..000000000
--- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-LABEL_fan1 = "fan0_0"
-
-LABEL_fan3 = "fan2_0"
-
-LABEL_fan4 = "fan3_0"
-
-LABEL_fan5 = "fan0_1"
-
-LABEL_fan7 = "fan2_1"
-
-LABEL_fan8 = "fan3_1"
-
-TARGET_MODE = "RPM"
diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
index 7932eb3a0..e4b8e27eb 100644
--- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
+++ b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
@@ -4,13 +4,10 @@ EXTRA_OEMESON:append:mihawk = "-Dnegative-errno-on-fail=true"
SRC_URI:append:ibm-ac-server = " \
file://70-hwmon.rules \
- file://70-max31785-hwmon.rules \
- file://start_max31785_hwmon.sh \
"
CHIPS:witherspoon = " \
- bus@1e78a000/i2c-bus@100/max31785@52_air \
- bus@1e78a000/i2c-bus@100/max31785@52_water \
+ bus@1e78a000/i2c-bus@100/max31785@52 \
bus@1e78a000/i2c-bus@100/power-supply@68 \
bus@1e78a000/i2c-bus@100/power-supply@69 \
bus@1e78a000/i2c-bus@100/bmp280@77 \
@@ -22,8 +19,7 @@ CHIPS:witherspoon = " \
bus@1e78a000/i2c-bus@380/tmp275@4a \
"
CHIPS:swift = " \
- bus@1e78a000/i2c-bus@100/max31785@52_air \
- bus@1e78a000/i2c-bus@100/max31785@52_water \
+ bus@1e78a000/i2c-bus@100/max31785@52 \
bus@1e78a000/i2c-bus@100/power-supply@68 \
bus@1e78a000/i2c-bus@100/power-supply@69 \
bus@1e78a000/i2c-bus@440/tmp275@4a \
@@ -61,8 +57,7 @@ CHIPS:mihawk = " \
"
CHIPS:witherspoon-tacoma = " \
- bus@1e78a000/i2c-bus@200/max31785@52_air \
- bus@1e78a000/i2c-bus@200/max31785@52_water \
+ bus@1e78a000/i2c-bus@200/max31785@52 \
bus@1e78a000/i2c-bus@200/power-supply@68 \
bus@1e78a000/i2c-bus@200/power-supply@69 \
bus@1e78a000/i2c-bus@200/bmp280@77 \
@@ -117,12 +112,3 @@ PACKAGECONFIG:append:ibm-ac-server = " max31785-msl"
SYSTEMD_ENVIRONMENT_FILE:max31785-msl:append:ibm-ac-server = " obmc/hwmon-max31785/max31785.conf"
SYSTEMD_LINK:max31785-msl:append:ibm-ac-server = " ../phosphor-max31785-msl@.service:multi-user.target.wants/phosphor-max31785-msl@${MACHINE}.service"
-SYSTEMD_SERVICE:${PN}:append:ibm-ac-server = " max31785-hwmon-helper@.service"
-
-do_install:append:ibm-ac-server() {
- install -d ${D}/${nonarch_base_libdir}/udev/rules.d/
- install -m 0644 ${WORKDIR}/70-max31785-hwmon.rules ${D}/${nonarch_base_libdir}/udev/rules.d/
-
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/start_max31785_hwmon.sh ${D}${bindir}
-}
diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json b/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json
index 8df08f94e..15bf45607 100644
--- a/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json
+++ b/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json
@@ -2,31 +2,9 @@
{
"Desc":
{
- "Name": "Ambient_Virtual_Temp",
- "SensorType": "temperature"
- },
- "Threshold" :
- {
- "CriticalHigh": 100,
- "CriticalLow": 0,
- "WarningHigh": 100,
- "WarningLow": 0
- },
- "Params":
- {
- "DbusParam":
- [
- {
- "ParamName": "T0",
- "Desc":
- {
- "Name": "Ambient_0_Temp",
- "SensorType": "temperature"
- }
- }
- ]
- },
- "Expression": "T0"
+ "Config" : "D-Bus",
+ "Type" : "ModifiedMedian"
+ }
},
{
"Desc":
diff --git a/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/ibm_settings.override.yml b/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/ibm_settings.override.yml
index 37dace693..4cd176842 100644
--- a/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/ibm_settings.override.yml
+++ b/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/ibm_settings.override.yml
@@ -16,6 +16,36 @@
PowerMode:
Default: Mode::PowerMode::MaximumPerformance
+/xyz/openbmc_project/control/host0/power_ips:
+ - Interface: xyz.openbmc_project.Control.Power.IdlePowerSaver
+ Properties:
+ Enabled:
+ Default: 'false'
+ EnterUtilizationPercent:
+ Default: 8
+ Validation:
+ Type: "range"
+ Validator: 1..95
+ Unit: "percent"
+ EnterDwellTime:
+ Default: 240000
+ Validation:
+ Type: "range"
+ Validator: 10000..600000
+ Unit: "milliseconds"
+ ExitUtilizationPercent:
+ Default: 12
+ Validation:
+ Type: "range"
+ Validator: 5..95
+ Unit: "percent"
+ ExitDwellTime:
+ Default: 12000
+ Validation:
+ Type: "range"
+ Validator: 10000..600000
+ Unit: "milliseconds"
+
/xyz/openbmc_project/hardware_isolation/allow_hw_isolation:
- Interface: xyz.openbmc_project.Object.Enable
Properties:
diff --git a/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf b/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
index 86663753e..5bc0b4ded 100644
--- a/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
+++ b/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
@@ -1,7 +1,10 @@
KMACHINE = "aspeed"
KERNEL_DEVICETREE = "${KMACHINE}-bmc-inspur-${MACHINE}.dtb"
-UBOOT_MACHINE = "ast_g5_ncsi_config"
+UBOOT_MACHINE = "evb-ast2500_defconfig"
+UBOOT_DEVICETREE = "ast2500-evb"
+
+FLASH_SIZE = "65536"
OBMC_POWER_SUPPLY_INSTANCES = "0 1"
@@ -14,3 +17,7 @@ require conf/machine/include/openpower.inc
require conf/machine/include/p9.inc
require conf/distro/include/phosphor-aspeednic-use-mac2.inc
+
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot-aspeed-sdk"
+PREFERRED_PROVIDER_u-boot = "u-boot-aspeed-sdk"
+PREFERRED_PROVIDER_u-boot-fw-utils = "u-boot-fw-utils-aspeed-sdk"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml
index a4eab8a6d..7fbd3b100 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml
@@ -138,3 +138,17 @@
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
+/system/chassis/motherboard/powersupply0:
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+/system/chassis/motherboard/powersupply1:
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true' \ No newline at end of file
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru.yaml
index 7fc2d157f..feea6302e 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru.yaml
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru.yaml
@@ -1,35 +1,35 @@
-1:
- /system/chassis/motherboard/cpu0:
- entityID: 3
+0:
+ /system:
+ entityID: 6
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
+ IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
- IPMIFruSection: Board
+ IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
- IPMIFruSection: Board
+ IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
- IPMIFruProperty: Custom Field 2
- IPMIFruSection: Board
- IPMIFruValueDelimiter: 58
+ IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Item.Cpu:
-2:
- /system/chassis/motherboard/cpu1:
- entityID: 3
- entityInstance: 2
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Item.System:
+ /system/chassis/motherboard/bmc:
+ entityID: 7
+ entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
@@ -44,49 +44,56 @@
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Custom Field 2
- IPMIFruSection: Board
- IPMIFruValueDelimiter: 58
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
- Value: false
- xyz.openbmc_project.Inventory.Item.Cpu:
-3:
- /system:
- entityID: 6
+ /system/chassis:
+ entityID: 7
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Chassis
+ PartNumber:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Chassis
+ Model:
+ IPMIFruProperty: Type
+ IPMIFruSection: Chassis
+1:
+ /system/chassis/motherboard/cpu0:
+ entityID: 3
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
+ IPMIFruSection: Board
Manufacturer:
IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
+ IPMIFruSection: Board
PartNumber:
IPMIFruProperty: Part Number
- IPMIFruSection: Product
+ IPMIFruSection: Board
SerialNumber:
IPMIFruProperty: Serial Number
- IPMIFruSection: Product
+ IPMIFruSection: Board
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
- IPMIFruProperty: Version
+ IPMIFruProperty: Custom Field 2
+ IPMIFruSection: Board
+ IPMIFruValueDelimiter: 58
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Item.System:
- /system/chassis/motherboard/bmc:
- entityID: 7
- entityInstance: 1
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Item.Cpu:
+2:
+ /system/chassis/motherboard/cpu1:
+ entityID: 3
+ entityInstance: 2
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
@@ -101,11 +108,18 @@
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Custom Field 2
+ IPMIFruSection: Board
+ IPMIFruValueDelimiter: 58
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
-4:
+ Value: false
+ xyz.openbmc_project.Inventory.Item.Cpu:
+3:
/system/chassis/motherboard/dimm0:
entityID: 32
entityInstance: 1
@@ -134,7 +148,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-5:
+4:
/system/chassis/motherboard/dimm1:
entityID: 32
entityInstance: 2
@@ -163,7 +177,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-6:
+5:
/system/chassis/motherboard/dimm2:
entityID: 32
entityInstance: 3
@@ -192,7 +206,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-7:
+6:
/system/chassis/motherboard/dimm3:
entityID: 32
entityInstance: 4
@@ -221,7 +235,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-8:
+7:
/system/chassis/motherboard/dimm4:
entityID: 32
entityInstance: 5
@@ -250,7 +264,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-9:
+8:
/system/chassis/motherboard/dimm5:
entityID: 32
entityInstance: 6
@@ -279,7 +293,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-10:
+9:
/system/chassis/motherboard/dimm6:
entityID: 32
entityInstance: 7
@@ -308,7 +322,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-11:
+10:
/system/chassis/motherboard/dimm7:
entityID: 32
entityInstance: 8
@@ -337,7 +351,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-12:
+11:
/system/chassis/motherboard/dimm8:
entityID: 32
entityInstance: 9
@@ -366,7 +380,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-13:
+12:
/system/chassis/motherboard/dimm9:
entityID: 32
entityInstance: 10
@@ -395,7 +409,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-14:
+13:
/system/chassis/motherboard/dimm10:
entityID: 32
entityInstance: 11
@@ -424,7 +438,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-15:
+14:
/system/chassis/motherboard/dimm11:
entityID: 32
entityInstance: 12
@@ -453,7 +467,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-16:
+15:
/system/chassis/motherboard/dimm12:
entityID: 32
entityInstance: 13
@@ -482,7 +496,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-17:
+16:
/system/chassis/motherboard/dimm13:
entityID: 32
entityInstance: 14
@@ -511,7 +525,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-18:
+17:
/system/chassis/motherboard/dimm14:
entityID: 32
entityInstance: 15
@@ -540,7 +554,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-19:
+18:
/system/chassis/motherboard/dimm15:
entityID: 32
entityInstance: 16
@@ -569,7 +583,7 @@
IPMIFruProperty: Name
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Dimm:
-20:
+19:
/system/chassis/motherboard/bmc/ethernet:
entityID: 7
entityInstance: 2
@@ -579,3 +593,61 @@
IPMIFruProperty: MACAddress
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Item.Ethernet:
+20:
+ /system/chassis/motherboard/powersupply0:
+ entityID: 19
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Item.PowerSupply:
+21:
+ /system/chassis/motherboard/powersupply1:
+ entityID: 19
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Item.PowerSupply:
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index dc8135f27..563b4a540 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -21,6 +21,9 @@ RDEPENDS:${PN}-extras:append:fp5280g2 = " \
phosphor-fp5280g2-psu-update \
phosphor-psu-software-manager \
biosconfig-manager \
+ srvcfg-manager \
+ phosphor-sel-logger \
+ tzdata \
webui-vue \
"
diff --git a/meta-intel-openbmc/conf/machine/include/intel.inc b/meta-intel-openbmc/conf/machine/include/intel.inc
index 738d103e5..623cd7910 100644
--- a/meta-intel-openbmc/conf/machine/include/intel.inc
+++ b/meta-intel-openbmc/conf/machine/include/intel.inc
@@ -1,4 +1,4 @@
-OBMC_MACHINE_FEATURES += "\
+MACHINE_FEATURES += "\
obmc-phosphor-fan-mgmt \
obmc-phosphor-chassis-mgmt \
obmc-phosphor-flash-mgmt \
diff --git a/meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb b/meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb
index 7d30a7d83..5b0e733b7 100644
--- a/meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb
+++ b/meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb
@@ -7,7 +7,7 @@ SRC_URI = "git://github.com/openbmc/host-error-monitor"
DEPENDS = "boost sdbusplus libgpiod libpeci"
PV = "0.1+git${SRCPV}"
-SRCREV = "4a6e45c4c2f38bc64afe5faac05ea82b3adb8d93"
+SRCREV = "1c208480e6de77a5a41b0733c595e8d4a99e5311"
S = "${WORKDIR}/git"
diff --git a/meta-intel-openbmc/meta-common/recipes-core/libpeci/libpeci_git.bb b/meta-intel-openbmc/meta-common/recipes-core/libpeci/libpeci_git.bb
index 417705148..15ef4be42 100644
--- a/meta-intel-openbmc/meta-common/recipes-core/libpeci/libpeci_git.bb
+++ b/meta-intel-openbmc/meta-common/recipes-core/libpeci/libpeci_git.bb
@@ -8,6 +8,6 @@ inherit cmake
SRC_URI = "git://github.com/openbmc/libpeci"
PV = "0.1+git${SRCPV}"
-SRCREV = "ff44e549c44c7658ec11e0c19c13c4c45900cfe4"
+SRCREV = "6a00e9aa72f75d66eb8b9572c7fd3894f91c6bba"
S = "${WORKDIR}/git"
diff --git a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
index 44838fdc2..5dbb750d5 100755
--- a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
+++ b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a4edad4aed50f39a66d098d74b265b"
SRC_URI = "git://github.com/openbmc/intel-ipmi-oem"
-SRCREV = "e83c70aab0479a8103638166b330a06e499f4449"
+SRCREV = "9e58cfe1ba5ca5bcd5263b50730c5a231eabdd4f"
S = "${WORKDIR}/git"
PV = "0.1+git${SRCPV}"
diff --git a/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb
index 76d125ce8..c20344c92 100644
--- a/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb
+++ b/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb
@@ -8,7 +8,7 @@ inherit cmake systemd
SRC_URI = "git://github.com/openbmc/pfr-manager"
PV = "0.1+git${SRCPV}"
-SRCREV = "bcc7ce1f418c1a16a7868fee62499fa677242254"
+SRCREV = "8491692089f9295cf2efab456d4747f3cf1fb098"
S = "${WORKDIR}/git"
diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces_git.bb b/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces_git.bb
index ea2fe75bb..637b70b22 100644
--- a/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces_git.bb
+++ b/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces_git.bb
@@ -15,7 +15,7 @@ DEPENDS += "autoconf-archive-native"
DEPENDS += "${PYTHON_PN}-sdbus++-native"
SRC_URI = "git://github.com/openbmc/intel-dbus-interfaces"
-SRCREV = "b5f2dd444c5d3808d005452417e4ae2ea28624ff"
+SRCREV = "2b1255c47fdaaee6fd2db8f38f32abc13a7edf05"
PACKAGECONFIG ??= "libintel_dbus"
PACKAGECONFIG[libintel_dbus] = " \
diff --git a/meta-portwell/MAINTAINERS b/meta-inventec/MAINTAINERS
index a27fe9035..83ff5a04c 100644
--- a/meta-portwell/MAINTAINERS
+++ b/meta-inventec/MAINTAINERS
@@ -42,5 +42,5 @@ Description of section entries:
START OF MAINTAINERS LIST
-------------------------
-M: Amithash Prasad <amithash@fb.com>
-M: Patrick Williams <patrick@stwcx.xyz> <stwcx!>
+M: Habeeb Mohammed <mohammed.habeeb@inventec.com>
+M: Ye Vic <ye.vic@inventec.com>
diff --git a/meta-inventec/OWNERS b/meta-inventec/OWNERS
new file mode 100644
index 000000000..d97fcae53
--- /dev/null
+++ b/meta-inventec/OWNERS
@@ -0,0 +1,3 @@
+owners:
+- mohammed.habeeb@inventec.com
+- ye.vic@inventec.com
diff --git a/meta-inventec/conf/layer.conf b/meta-inventec/conf/layer.conf
index 2b5eade4c..e390573be 100644
--- a/meta-inventec/conf/layer.conf
+++ b/meta-inventec/conf/layer.conf
@@ -1,7 +1,15 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \
+ ${LAYERDIR}/meta-common/recipes-*/*/*.bbappend"
+
BBFILE_COLLECTIONS += "inventec"
-BBFILE_PATTERN_inventec = ""
+BBFILE_PATTERN_inventec := "^${LAYERDIR}/"
+LAYERSERIES_COMPAT_inventec = "hardknott honister"
+BBFILE_PRIORITY_inventec = "6"
+
+# Provide a variable that points the base of the hpe layer.
+INVENTECBASE = '${@os.path.normpath("${LAYERDIR}/")}'
-LAYERSERIES_COMPAT_inventec = "hardknott"
diff --git a/meta-inventec/conf/machine/include/inventec.inc b/meta-inventec/conf/machine/include/inventec.inc
index c79ddd777..9a9e9f574 100644
--- a/meta-inventec/conf/machine/include/inventec.inc
+++ b/meta-inventec/conf/machine/include/inventec.inc
@@ -1 +1,26 @@
-require conf/machine/include/openpower.inc
+MACHINE_FEATURES += "\
+ obmc-phosphor-fan-mgmt \
+ obmc-phosphor-chassis-mgmt \
+ obmc-phosphor-flash-mgmt \
+ obmc-host-ipmi \
+ obmc-host-ctl \
+ obmc-host-state-mgmt \
+ obmc-chassis-state-mgmt \
+ obmc-bmc-state-mgmt \
+ "
+# since we use x86-power-control service, we don't need below three services
+VIRTUAL-RUNTIME_obmc-host-state-manager = "x86-power-control"
+VIRTUAL-RUNTIME_obmc-chassis-state-manager = "x86-power-control"
+VIRTUAL-RUNTIME_obmc-discover-system-state = "x86-power-control"
+
+
+PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-inventec-apps"
+PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-inventec-apps"
+PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-inventec-apps"
+PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-inventec-apps"
+PREFERRED_PROVIDER_virtual/obmc-host-ctl ?= "obmc-op-control-host"
+PREFERRED_PROVIDER_virtual/obmc-inventory-data ?= "${VIRTUAL-RUNTIME_skeleton_workbook}"
+PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-kcs"
+PREFERRED_PROVIDER_virtual/obmc-gpio-monitor ?= "phosphor-gpio-monitor"
+
+OVERRIDES .= ":inventec"
diff --git a/meta-inventec/meta-common/conf/layer.conf b/meta-inventec/meta-common/conf/layer.conf
new file mode 100644
index 000000000..07788f69e
--- /dev/null
+++ b/meta-inventec/meta-common/conf/layer.conf
@@ -0,0 +1,11 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "common"
+BBFILE_PATTERN_common = "^${LAYERDIR}/"
+BBFILE_PRIORITY_common = "10"
+LAYERSERIES_COMPAT_common = "hardknott honister"
diff --git a/meta-inventec/meta-common/recipes-inventec/packagegroups/packagegroup-inventec-apps.bb b/meta-inventec/meta-common/recipes-inventec/packagegroups/packagegroup-inventec-apps.bb
new file mode 100644
index 000000000..7996cda5b
--- /dev/null
+++ b/meta-inventec/meta-common/recipes-inventec/packagegroups/packagegroup-inventec-apps.bb
@@ -0,0 +1,56 @@
+SUMMARY = "OpenBMC for Inventec - Applications"
+PR = "r1"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = " \
+ ${PN}-chassis \
+ ${PN}-fans \
+ ${PN}-flash \
+ ${PN}-system \
+ ${PN}-ipmi-oem \
+ "
+
+PROVIDES += "virtual/obmc-chassis-mgmt"
+PROVIDES += "virtual/obmc-fan-mgmt"
+PROVIDES += "virtual/obmc-flash-mgmt"
+PROVIDES += "virtual/obmc-system-mgmt"
+PROVIDES += "virtual/obmc-ipmi-oem"
+
+RPROVIDES:${PN}-chassis += "virtual-obmc-chassis-mgmt"
+RPROVIDES:${PN}-fans += "virtual-obmc-fan-mgmt"
+RPROVIDES:${PN}-flash += "virtual-obmc-flash-mgmt"
+RPROVIDES:${PN}-system += "virtual-obmc-system-mgmt"
+RPROVIDES:${PN}-ipmi-oem += "virtual-obmc-ipmi-oem"
+
+SUMMARY:${PN}-chassis = "Inventec Chassis"
+RDEPENDS:${PN}-chassis = " \
+ x86-power-control \
+ obmc-host-failure-reboots \
+ "
+
+SUMMARY:${PN}-fans = "Inventec Fans"
+RDEPENDS:${PN}-fans = " \
+ phosphor-pid-control \
+ "
+
+SUMMARY:${PN}-flash = "Inventec Flash"
+RDEPENDS:${PN}-flash = " \
+ obmc-control-bmc \
+ phosphor-ipmi-blobs \
+ phosphor-ipmi-flash \
+ "
+
+SUMMARY:${PN}-system = "Inventec System"
+RDEPENDS:${PN}-system = " \
+ bmcweb \
+ entity-manager \
+ dbus-sensors \
+ webui-vue \
+ phosphor-snmp \
+ phosphor-sel-logger \
+ phosphor-gpio-monitor \
+ phosphor-gpio-monitor-monitor \
+ vlan \
+ "
diff --git a/meta-inventec/meta-common/recipes-inventec/packagegroups/packagegroup-obmc-apps.bbappend b/meta-inventec/meta-common/recipes-inventec/packagegroups/packagegroup-obmc-apps.bbappend
new file mode 100644
index 000000000..73a788c03
--- /dev/null
+++ b/meta-inventec/meta-common/recipes-inventec/packagegroups/packagegroup-obmc-apps.bbappend
@@ -0,0 +1,14 @@
+RDEPENDS:${PN}-extras:remove = " \
+ phosphor-rest \
+ phosphor-gevent \
+ "
+
+#Add python utility.(e.g gpioutil,...)
+RDEPENDS:${PN}-extrasdevtools:append += " ipmitool"
+RDEPENDS:${PN}-extrasdevtools:append += " openssh-sftp-server"
+RDEPENDS:${PN}-extras += " python3-smbus"
+
+#Install publickey for image file verification
+RDEPENDS:${PN}-extras += " phosphor-image-signing"
+
+RDEPENDS:${PN}-health-monitor:remove:transformers = "phosphor-health-monitor"
diff --git a/meta-inventec/meta-lanyang/conf/conf-notes.txt b/meta-inventec/meta-lanyang/conf/conf-notes.txt
deleted file mode 100644
index 9b3c01a55..000000000
--- a/meta-inventec/meta-lanyang/conf/conf-notes.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Common targets are:
- obmc-phosphor-image
diff --git a/meta-inventec/meta-lanyang/conf/local.conf.sample b/meta-inventec/meta-lanyang/conf/local.conf.sample
deleted file mode 100644
index 65a634665..000000000
--- a/meta-inventec/meta-lanyang/conf/local.conf.sample
+++ /dev/null
@@ -1,21 +0,0 @@
-MACHINE ??= "lanyang"
-DISTRO ?= "openbmc-openpower"
-PACKAGE_CLASSES ?= "package_ipk"
-SANITY_TESTED_DISTROS_append ?= " *"
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
-USER_CLASSES ?= "buildstats image-prelink"
-PATCHRESOLVE = "noop"
-BB_DISKMON_DIRS = "\
- STOPTASKS,${TMPDIR},1G,100K \
- STOPTASKS,${DL_DIR},1G,100K \
- STOPTASKS,${SSTATE_DIR},1G,100K \
- STOPTASKS,/tmp,100M,100K \
- ABORT,${TMPDIR},100M,1K \
- ABORT,${DL_DIR},100M,1K \
- ABORT,${SSTATE_DIR},100M,1K \
- ABORT,/tmp,10M,1K"
-CONF_VERSION = "1"
-INHERIT += "extrausers"
-EXTRA_USERS_PARAMS = " \
- usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \
- "
diff --git a/meta-inventec/meta-lanyang/conf/machine/lanyang.conf b/meta-inventec/meta-lanyang/conf/machine/lanyang.conf
deleted file mode 100644
index 4ca08b1fb..000000000
--- a/meta-inventec/meta-lanyang/conf/machine/lanyang.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-KMACHINE = "aspeed"
-KERNEL_DEVICETREE = "${KMACHINE}-bmc-opp-${MACHINE}.dtb"
-
-UBOOT_MACHINE = "ast_g5_ncsi_config"
-
-FLASH_SIZE = "65536"
-
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-inventory = "lanyang-ipmi-inventory-map-native"
-PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "lanyang-led-manager-config-native"
-
-require conf/machine/include/ast2500.inc
-require conf/machine/include/obmc-bsp-common.inc
-require conf/machine/include/inventec.inc
-require conf/machine/include/p9.inc
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control.bb b/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control.bb
deleted file mode 100644
index 89b5b83e6..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Lanyang AVSBus control"
-DESCRIPTION = "Voltage regulator module (VRM) AVSBus control for Lanyang"
-PR = "r0"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit obmc-phosphor-systemd
-
-TMPL_OFF = "avsbus-disable@.service"
-TMPL_ON = "avsbus-enable@.service"
-INSTFMT_OFF = "avsbus-disable@{0}.service"
-INSTFMT_ON = "avsbus-enable@{0}.service"
-TGTFMT_OFF = "obmc-host-stop@{0}.target"
-TGTFMT_ON = "obmc-chassis-poweron@{0}.target"
-FMT_OFF = "../${TMPL_OFF}:${TGTFMT_OFF}.wants/${INSTFMT_OFF}"
-FMT_ON = "../${TMPL_ON}:${TGTFMT_ON}.requires/${INSTFMT_ON}"
-
-SYSTEMD_SERVICE_${PN} += "${TMPL_OFF}"
-SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT_OFF', 'OBMC_CHASSIS_INSTANCES')}"
-SYSTEMD_SERVICE_${PN} += "${TMPL_ON}"
-SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT_ON', 'OBMC_CHASSIS_INSTANCES')}"
-
-SRC_URI += "file://lanyang_avsbus.sh"
-RDEPENDS_${PN} += "i2c-tools"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/lanyang_avsbus.sh ${D}${bindir}/lanyang_avsbus.sh
-}
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service b/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service
deleted file mode 100644
index add5f224e..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=Disable AVSBus on VRMs
-Wants=obmc-power-stop-pre@%i.target
-Before=obmc-power-stop-pre@%i.target
-Conflicts=obmc-host-startmin@%i.target
-ConditionPathExists=!/run/openbmc/chassis@%i-on
-
-[Service]
-ExecStart=/usr/bin/env lanyang_avsbus.sh disable
-SyslogIdentifier=lanyang_avsbus.sh
-Type=oneshot
-RemainAfterExit=yes
-
-[Install]
-WantedBy=obmc-host-stop@%i.target
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service b/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service
deleted file mode 100644
index 787ec4cbf..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service
+++ /dev/null
@@ -1,16 +0,0 @@
-[Unit]
-Description=Enable AVSBus on VRMs
-Wants=obmc-host-start-pre@%i.target
-Before=obmc-host-start-pre@%i.target
-Conflicts=obmc-host-stop@%i.target
-ConditionPathExists=!/run/openbmc/chassis@%i-on
-
-[Service]
-ExecStart=/usr/bin/env lanyang_avsbus.sh vdn_max
-ExecStart=/usr/bin/env lanyang_avsbus.sh enable
-SyslogIdentifier=lanyang_avsbus.sh
-Type=oneshot
-RemainAfterExit=yes
-
-[Install]
-RequiredBy=obmc-chassis-poweron@%i.target
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/lanyang_avsbus.sh b/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/lanyang_avsbus.sh
deleted file mode 100755
index 31ebd8ff6..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/lanyang_avsbus.sh
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/bin/sh -e
-# AVSBus control for PMBUS voltage regulator modules (VRMs)
-# Switches output voltage target between
-# - VOUT_COMMAND register (AVSBus disabled, default on Zaius)
-# - AVSBus target output (AVSBus enabled, voltage set by host)
-
-cpu0_i2c_bus="5"
-cpu1_i2c_bus="6"
-buses="$cpu0_i2c_bus $cpu1_i2c_bus"
-vdd_i2c_addr_page="0x60:0x01"
-vdn_i2c_addr_page="0x64:0x01"
-vcs_i2c_addr_page="0x64:0x00"
-addrs_pages="$vdd_i2c_addr_page $vdn_i2c_addr_page $vcs_i2c_addr_page"
-
-# Usage: vrm_set_page <bus> <i2c_address> <page>
-vrm_set_page()
-{
- i2cset -y $1 $2 0x00 $3 b
-}
-
-# Usage: vrm_avs_enable <bus> <i2c_address> <page>
-# Initializes the AVSBus VOUT setpoint to the value in PMBus VOUT_COMMAND
-# Sets OPERATION PMBUS register to
-# - Enable/Disable: On
-# - VOUT Source: AVSBus Target Rail Voltage
-# - AVSBus Copy: VOUT_COMMAND remains unchanged
-# Writes to VOUT setpoint over AVSBus will persist after the VRM is switched to
-# PMBus control. Switching back to AVSBus control restores this persisted
-# setpoint rather than re-initializing to PMBus VOUT_COMMAND. This behavior is
-# known to Intersil and writing VOUT_COMMAND over PMBus is the only workaround.
-vrm_avs_enable()
-{
- vrm_set_page "$@"
- echo Enabling AVSBus on bus $1 VRM @$2 rail $3...
- local vout_command=`i2cget -y $1 $2 0x21 w`
- i2cset -y $1 $2 0x21 $vout_command w
- i2cset -y $1 $2 0x01 0xb0 b
-}
-
-# Usage: vrm_avs_disable <bus> <i2c_address> <page>
-# Sets OPERATION PMBUS register to
-# - Enable/Disable: On
-# - VOUT Source: VOUT_COMMAND
-# - AVSBus Copy: VOUT_COMMAND remains unchanged
-vrm_avs_disable()
-{
- vrm_set_page "$@"
- echo Disabling AVSBus on bus $1 VRM @$2 rail $3...
- i2cset -y $1 $2 0x01 0x80 b
-}
-
-# Usage: vrm_vout_max_1v1 <bus> <i2c_address> <page>
-# Sets VOUT_MAX to 1.1V
-vrm_vout_max_1v1()
-{
- vrm_set_page "$@"
- echo Setting VOUT_MAX=[1.1V] on bus $1 VRM @$2 rail $3...
- i2cset -y $1 $2 0x24 0x44c w
-}
-
-# Usage: vrm_print <bus> <i2c_address> <page>
-vrm_print()
-{
- vrm_set_page "$@"
- local operation=`i2cget -y $1 $2 0x01 b`
- local vout=`i2cget -y $1 $2 0x8b w`
- local iout=`i2cget -y $1 $2 0x8c w`
- echo VRM on bus $1 @$2 rail $3: OPERATION=$operation VOUT=$vout IOUT=$iout
-}
-
-# Usage: for_each_rail <command>
-# <command> will be invoked with <bus> <i2c_address> <page>
-for_each_rail()
-{
- for bus in $buses
- do
- for addr_page in $addrs_pages
- do
- $1 $bus `echo $addr_page | tr : " "`
- done
- done
-}
-
-if [ "$1" == "enable" ]
-then
- for_each_rail vrm_avs_enable
-elif [ "$1" == "disable" ]
-then
- for_each_rail vrm_avs_disable
-elif [ "$1" == "vdn_max" ]
-then
- addrs_pages="$vdn_i2c_addr_page"
- for_each_rail vrm_vout_max_1v1
-else
- for_each_rail vrm_print
- echo "\"$0 <enable|disable>\" to control whether VRMs use AVSBus"
- echo "\"$0 <vdn_max>\" to set VDN rails VOUT_MAX to 1.1V"
-fi
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/console/obmc-console/obmc-console.conf b/meta-inventec/meta-lanyang/recipes-phosphor/console/obmc-console/obmc-console.conf
deleted file mode 100644
index a5ba3f328..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/console/obmc-console/obmc-console.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-lpc-address = 0x3f8
-sirq = 4
-local-tty = ttyS0
-local-tty-baud = 115200
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/console/obmc-console_%.bbappend b/meta-inventec/meta-lanyang/recipes-phosphor/console/obmc-console_%.bbappend
deleted file mode 100644
index ab94de866..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/console/obmc-console_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-FILESEXTRAPATHS_prepend_lanyang := "${THISDIR}/${PN}:"
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/host/p9-host-start.bbappend b/meta-inventec/meta-lanyang/recipes-phosphor/host/p9-host-start.bbappend
deleted file mode 100644
index 15030a8f2..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/host/p9-host-start.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-RDEPENDS_${PN} += 'avsbus-control'
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-inventec/meta-lanyang/recipes-phosphor/image/obmc-phosphor-image.bbappend
deleted file mode 100644
index aa57bbfe6..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/image/obmc-phosphor-image.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-OBMC_IMAGE_EXTRA_INSTALL_append = " mboxd"
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map-native.bb b/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map-native.bb
deleted file mode 100644
index 56e5dd259..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map-native.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Lanyang IPMI to DBus Inventory mapping."
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit native
-inherit phosphor-ipmi-fru
-
-SRC_URI += "file://config.yaml"
-
-PROVIDES += "virtual/phosphor-ipmi-fru-inventory"
-
-S = "${WORKDIR}"
-
-do_install() {
- # TODO: install this to inventory_datadir
- # after ipmi-fru-parser untangles the host
- # firmware config from the machine inventory.
- DEST=${D}${config_datadir}
-
- install -d ${DEST}
- install config.yaml ${DEST}
-}
-
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map/config.yaml b/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map/config.yaml
deleted file mode 100644
index 4f53193a1..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map/config.yaml
+++ /dev/null
@@ -1,938 +0,0 @@
-1:
- /system/chassis/motherboard/cpu0:
- entityID: 3
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Custom Field 2
- IPMIFruSection: Board
- IPMIFruValueDelimiter: 58
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
-2:
- /system/chassis/motherboard/cpu1:
- entityID: 3
- entityInstance: 2
- interfaces:
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Custom Field 2
- IPMIFruSection: Board
- IPMIFruValueDelimiter: 58
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
-4:
- /system/chassis/motherboard/dimm0:
- entityID: 8
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-5:
- /system/chassis/motherboard/dimm1:
- entityID: 8
- entityInstance: 2
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-6:
- /system/chassis/motherboard/dimm2:
- entityID: 8
- entityInstance: 3
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-7:
- /system/chassis/motherboard/dimm3:
- entityID: 8
- entityInstance: 4
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-8:
- /system/chassis/motherboard/dimm4:
- entityID: 8
- entityInstance: 5
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-9:
- /system/chassis/motherboard/dimm5:
- entityID: 8
- entityInstance: 6
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-10:
- /system/chassis/motherboard/dimm6:
- entityID: 8
- entityInstance: 7
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-11:
- /system/chassis/motherboard/dimm7:
- entityID: 8
- entityInstance: 8
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-12:
- /system/chassis/motherboard/dimm8:
- entityID: 8
- entityInstance: 9
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-13:
- /system/chassis/motherboard/dimm9:
- entityID: 8
- entityInstance: 10
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-14:
- /system/chassis/motherboard/dimm10:
- entityID: 8
- entityInstance: 11
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-15:
- /system/chassis/motherboard/dimm11:
- entityID: 8
- entityInstance: 12
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-16:
- /system/chassis/motherboard/dimm12:
- entityID: 8
- entityInstance: 13
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-17:
- /system/chassis/motherboard/dimm13:
- entityID: 8
- entityInstance: 14
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-18:
- /system/chassis/motherboard/dimm14:
- entityID: 8
- entityInstance: 15
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-19:
- /system/chassis/motherboard/dimm15:
- entityID: 8
- entityInstance: 16
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-20:
- /system/chassis/motherboard/dimm16:
- entityID: 8
- entityInstance: 17
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-21:
- /system/chassis/motherboard/dimm17:
- entityID: 8
- entityInstance: 18
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-22:
- /system/chassis/motherboard/dimm18:
- entityID: 8
- entityInstance: 19
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-23:
- /system/chassis/motherboard/dimm19:
- entityID: 8
- entityInstance: 20
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-24:
- /system/chassis/motherboard/dimm20:
- entityID: 8
- entityInstance: 21
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-25:
- /system/chassis/motherboard/dimm21:
- entityID: 8
- entityInstance: 22
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-26:
- /system/chassis/motherboard/dimm22:
- entityID: 8
- entityInstance: 23
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-27:
- /system/chassis/motherboard/dimm23:
- entityID: 8
- entityInstance: 24
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-28:
- /system/chassis/motherboard/dimm24:
- entityID: 8
- entityInstance: 25
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-29:
- /system/chassis/motherboard/dimm25:
- entityID: 8
- entityInstance: 26
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-30:
- /system/chassis/motherboard/dimm26:
- entityID: 8
- entityInstance: 27
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-31:
- /system/chassis/motherboard/dimm27:
- entityID: 8
- entityInstance: 28
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-32:
- /system/chassis/motherboard/dimm28:
- entityID: 8
- entityInstance: 29
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-33:
- /system/chassis/motherboard/dimm29:
- entityID: 8
- entityInstance: 30
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-34:
- /system/chassis/motherboard/dimm30:
- entityID: 8
- entityInstance: 31
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-35:
- /system/chassis/motherboard/dimm31:
- entityID: 8
- entityInstance: 32
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
-0x55:
- /system/chassis/motherboard:
- entityID: 7
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
- /system/chassis:
- entityID: 7
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: chassis
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Chassis
- Model:
- IPMIFruProperty: Part Number
- IPMIFruSection: Chassis
- /system:
- entityID: 7
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties%.bbappend b/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties%.bbappend
deleted file mode 100644
index 72d991c7e..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties%/extra-properties.yaml b/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties%/extra-properties.yaml
deleted file mode 100644
index 05011daca..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties%/extra-properties.yaml
+++ /dev/null
@@ -1,295 +0,0 @@
-/system/chassis/motherboard/cpu0:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/cpu1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm0:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm3:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm4:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm5:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm6:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm7:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm8:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm9:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm10:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm11:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm12:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm13:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm14:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm15:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm16:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm17:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm18:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm19:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm20:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm21:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm22:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm23:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm24:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm25:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm26:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm27:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm28:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm29:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm30:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm31:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru/obmc/eeproms/system/chassis/motherboard b/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru/obmc/eeproms/system/chassis/motherboard
deleted file mode 100644
index 4caa0b3ff..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru/obmc/eeproms/system/chassis/motherboard
+++ /dev/null
@@ -1,2 +0,0 @@
-SYSFS_PATH=/sys/bus/i2c/devices/0-0055/eeprom
-FRUID=55
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
deleted file mode 100644
index deeb2f9eb..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
+++ /dev/null
@@ -1,20 +0,0 @@
-inherit obmc-phosphor-systemd
-
-FILESEXTRAPATHS_prepend_lanyang := "${THISDIR}/${PN}:"
-
-EEPROM_NAMES = "motherboard"
-
-EEPROMFMT = "system/chassis/{0}"
-EEPROM_ESCAPEDFMT = "system-chassis-{0}"
-EEPROMS = "${@compose_list(d, 'EEPROMFMT', 'EEPROM_NAMES')}"
-EEPROMS_ESCAPED = "${@compose_list(d, 'EEPROM_ESCAPEDFMT', 'EEPROM_NAMES')}"
-
-ENVFMT = "obmc/eeproms/{0}"
-SYSTEMD_ENVIRONMENT_FILE:${PN}_append_lanyang := " ${@compose_list(d, 'ENVFMT', 'EEPROMS')}"
-
-TMPL = "obmc-read-eeprom@.service"
-TGT = "multi-user.target"
-INSTFMT = "obmc-read-eeprom@{0}.service"
-FMT = "../${TMPL}:${TGT}.wants/${INSTFMT}"
-
-SYSTEMD_LINK:${PN}_append_lanyang := " ${@compose_list(d, 'FMT', 'EEPROMS_ESCAPED')}"
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config-native.bb b/meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config-native.bb
deleted file mode 100644
index 81c6731d8..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config-native.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Phosphor LED Group Management for Lanyang"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit native
-
-PROVIDES += "virtual/phosphor-led-manager-config-native"
-
-SRC_URI += "file://led.yaml"
-S = "${WORKDIR}"
-
-# Overwrite the example led layout yaml file prior
-# to building the phosphor-led-manager package
-do_install() {
- SRC=${S}
- DEST=${D}${datadir}/phosphor-led-manager
- install -D ${SRC}/led.yaml ${DEST}/led.yaml
-}
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config/led.yaml b/meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config/led.yaml
deleted file mode 100755
index 5eb11f173..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config/led.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
-bmc_booted:
- sys_boot_status:
- Action: 'Blink'
- DutyOn: 50
- Period: 1000
- Priority: 'On'
-
-power_on:
- sys_boot_status:
- Action: 'On'
- DutyOn: 50
- Period: 0
- Priority: 'On'
-
-enclosure_fault:
- plt_fault:
- Action: 'On'
-
-enclosure_identify:
- attention:
- Action: 'Blink'
- DutyOn: 50
- Period: 1000
-
-lamp_test:
- plt_fault:
- Action: 'Blink'
- DutyOn: 50
- Period: 1000
- attention:
- Action: 'On'
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/mboxd/mboxd_%.bbappend b/meta-inventec/meta-lanyang/recipes-phosphor/mboxd/mboxd_%.bbappend
deleted file mode 100644
index 8b6248a46..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/mboxd/mboxd_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-MBOXD_FLASH_SIZE = "64M"
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json b/meta-inventec/meta-lanyang/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
deleted file mode 100644
index 0bb36c66b..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "gpio_configs": {
-
- "power_config": {
- "power_good_in": "SYS_PWROK_BUFF",
- "latch_out": "BMC_UCD_LATCH_LE",
- "power_up_outs": [
- {"name": "SOFTWARE_PGOOD", "polarity": true},
- {"name": "BMC_POWER_UP", "polarity": false}
- ],
- "reset_outs": [
- ]
- }
- },
-
- "gpio_definitions": [
- {
- "name": "SOFTWARE_PGOOD",
- "pin": "M6",
- "direction": "out"
- },
- {
- "name": "BMC_POWER_UP",
- "pin": "E2",
- "direction": "out"
- },
- {
- "name": "SYS_PWROK_BUFF",
- "pin": "F6",
- "direction": "in"
- },
- {
- "name": "PHY_RST_N",
- "pin": "D6",
- "direction": "out"
- },
- {
- "name": "HDD_PWR_EN",
- "pin": "B0",
- "direction": "out"
- },
- {
- "name": "CP0_DEVICES_RESET_N",
- "pin": "AA6",
- "direction": "out"
- },
- {
- "name": "BMC_CP0_PERST_ENABLE",
- "pin": "H3",
- "direction": "out"
- },
- {
- "name": "BMC_UCD_LATCH_LE",
- "pin": "P4",
- "direction": "out"
- },
- {
- "name": "POWER_BUTTON",
- "pin": "E4",
- "direction": "both"
- },
- {
- "name": "RESET_BUTTON",
- "pin": "E3",
- "direction": "both"
- },
- {
- "name": "PE_MEZZB_PRSNT_N",
- "pin": "P6",
- "direction": "in"
- },
- {
- "name": "CHECKSTOP",
- "pin": "F3",
- "direction": "falling"
- }
- ]
-}
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend b/meta-inventec/meta-lanyang/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
deleted file mode 100644
index 72d991c7e..000000000
--- a/meta-inventec/meta-lanyang/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/meta-inventec/meta-lanyang/conf/bblayers.conf.sample b/meta-inventec/meta-transformers/conf/bblayers.conf.sample
index a0962fa0e..c779683e2 100644..100755
--- a/meta-inventec/meta-lanyang/conf/bblayers.conf.sample
+++ b/meta-inventec/meta-transformers/conf/bblayers.conf.sample
@@ -12,13 +12,14 @@ BBLAYERS ?= " \
##OEROOT##/meta-openembedded/meta-networking \
##OEROOT##/meta-openembedded/meta-perl \
##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-security \
+ ##OEROOT##/meta-openembedded/meta-webserver \
##OEROOT##/meta-phosphor \
##OEROOT##/meta-aspeed \
+ ##OEROOT##/meta-x86 \
##OEROOT##/meta-openpower \
##OEROOT##/meta-inventec \
- ##OEROOT##/meta-inventec/meta-lanyang \
- "
+ ##OEROOT##/meta-inventec/meta-transformers \
+"
BBLAYERS_NON_REMOVABLE ?= " \
##OEROOT##/meta \
##OEROOT##/meta-poky \
@@ -26,10 +27,12 @@ BBLAYERS_NON_REMOVABLE ?= " \
##OEROOT##/meta-openembedded/meta-networking \
##OEROOT##/meta-openembedded/meta-perl \
##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-security \
+ ##OEROOT##/meta-openembedded/meta-webserver \
##OEROOT##/meta-phosphor \
##OEROOT##/meta-aspeed \
+ ##OEROOT##/meta-x86 \
##OEROOT##/meta-openpower \
##OEROOT##/meta-inventec \
- ##OEROOT##/meta-inventec/meta-lanyang \
- "
+ ##OEROOT##/meta-inventec/meta-transformers \
+"
+
diff --git a/meta-inventec/meta-transformers/conf/conf-notes.txt b/meta-inventec/meta-transformers/conf/conf-notes.txt
new file mode 100755
index 000000000..43d4ab099
--- /dev/null
+++ b/meta-inventec/meta-transformers/conf/conf-notes.txt
@@ -0,0 +1,2 @@
+Common targets are:
+ obmc-phosphor-image
diff --git a/meta-inventec/meta-lanyang/conf/layer.conf b/meta-inventec/meta-transformers/conf/layer.conf
index 64223a210..35ae68d30 100644..100755
--- a/meta-inventec/meta-lanyang/conf/layer.conf
+++ b/meta-inventec/meta-transformers/conf/layer.conf
@@ -5,5 +5,7 @@ BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
-BBFILE_COLLECTIONS += "lanyang"
-BBFILE_PATTERN_lanyang = ""
+BBFILE_COLLECTIONS += "transformers"
+BBFILE_PATTERN_transformers = "^${LAYERDIR}/"
+BBFILE_PRIORITY_transformers = "7"
+LAYERSERIES_COMPAT_transformers = "hardknott honister"
diff --git a/meta-portwell/meta-neptune/conf/local.conf.sample b/meta-inventec/meta-transformers/conf/local.conf.sample
index 504241448..f3ac2e226 100644..100755
--- a/meta-portwell/meta-neptune/conf/local.conf.sample
+++ b/meta-inventec/meta-transformers/conf/local.conf.sample
@@ -2,7 +2,9 @@
# This file is your local configuration file and is where all local user settings
# are placed. The comments in this file give some guide to the options a new user
# to the system might want to change but pretty much any configuration option can
-# be set in this file.
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
#
# Lines starting with the '#' character are commented out and in some cases the
# default values are provided as comments to show people example syntax. Enabling
@@ -12,7 +14,7 @@
#
# Machine Selection
#
-MACHINE ??= "neptune"
+MACHINE ??= "transformers"
#
# Where to place downloads
@@ -63,9 +65,9 @@ MACHINE ??= "neptune"
# Ultimately when creating custom policy, people will likely end up subclassing
# these defaults.
#
-DISTRO ?= "openbmc-phosphor"
+DISTRO ?= "openbmc-openpower"
# As an example of a subclass there is a "bleeding" edge policy configuration
-# where many versions are set to the absolute latest code from the upstream
+# where many versions are set to the absolute latest code from the upstream
# source control systems. This is just mentioned here as an example, its not
# useful to most new users.
# DISTRO ?= "poky-bleeding"
@@ -81,19 +83,19 @@ DISTRO ?= "openbmc-phosphor"
# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
# - 'package_rpm' for rpm style packages
# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
-# We default to ipk:
-PACKAGE_CLASSES ?= "package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_rpm"
#
-# SDK/ADT target architecture
+# SDK target architecture
#
-# This variable specifies the architecture to build SDK/ADT items for and means
+# This variable specifies the architecture to build SDK items for and means
# you can build the SDK packages for architectures other than the machine you are
# running the build on (i.e. building i686 packages on an x86_64 host).
-# Supported values are i686 and x86_64
+# Supported values are i686, x86_64, aarch64
#SDKMACHINE ?= "i686"
-SANITY_TESTED_DISTROS_append ?= " *"
+SANITY_TESTED_DISTROS:append ?= " RedHatEnterpriseWorkstation-6.*"
#
# Extra image configuration defaults
@@ -103,6 +105,8 @@ SANITY_TESTED_DISTROS_append ?= " *"
# variable can contain the following options:
# "dbg-pkgs" - add -dbg packages for all installed packages
# (adds symbol information for debugging/profiling)
+# "src-pkgs" - add -src packages for all installed packages
+# (adds source code for debugging)
# "dev-pkgs" - add -dev packages for all installed packages
# (useful if you want to develop against libs in the image)
# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
@@ -110,14 +114,14 @@ SANITY_TESTED_DISTROS_append ?= " *"
# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
# "tools-debug" - add debugging tools (gdb, strace)
# "eclipse-debug" - add Eclipse remote debugging support
-# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind)
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
# "debug-tweaks" - make an image suitable for development
# e.g. ssh root access has a blank password
# There are other application targets that can be used here too, see
# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
# We default to enabling the debugging tweaks.
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
#
# Additional image features
@@ -126,20 +130,18 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks"
# enable extra features. Some available options which can be included in this variable
# are:
# - 'buildstats' collect build statistics
-# - 'image-prelink' in order to prelink the filesystem image
-# - 'image-swab' to perform host system intrusion detection
-# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
-# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
-USER_CLASSES ?= "buildstats image-prelink"
+USER_CLASSES ?= "buildstats"
#
# Runtime testing of images
#
# The build system can test booting virtual machine images under qemu (an emulator)
-# after any root filesystems are created and run tests against those images. To
-# enable this uncomment this line. See classes/testimage(-auto).bbclass for
-# further details.
-#TEST_IMAGE = "1"
+# after any root filesystems are created and run tests against those images. It can also
+# run tests against any SDK that are built. To enable this uncomment these lines.
+# See classes/test{image,sdk}.bbclass for further details.
+#IMAGE_CLASSES += "testimage testsdk"
+#TESTIMAGE_AUTO:qemuall = "1"
+
#
# Interactive shell configuration
#
@@ -164,12 +166,12 @@ PATCHRESOLVE = "noop"
#
# Monitor the disk space during the build. If there is less that 1GB of space or less
# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
-# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort
# of the build. The reason for this is that running completely out of space can corrupt
# files and damages the build in ways which may not be easily recoverable.
# It's necessary to monitor /tmp, if there is no space left the build will fail
# with very exotic errors.
-BB_DISKMON_DIRS = "\
+BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
@@ -182,7 +184,7 @@ BB_DISKMON_DIRS = "\
#
# Shared-state files from other locations
#
-# As mentioned above, shared state files are prebuilt cache data objects which can
+# As mentioned above, shared state files are prebuilt cache data objects which can be
# used to accelerate build time. This variable can be used to configure the system
# to search other mirror locations for these objects before it builds the data itself.
#
@@ -197,22 +199,57 @@ BB_DISKMON_DIRS = "\
#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
#file://.* file:///some/local/dir/sstate/PATH"
+#
+# Yocto Project SState Mirror
+#
+# The Yocto Project has prebuilt artefacts available for its releases, you can enable
+# use of these by uncommenting the following line. This will mean the build uses
+# the network to check for artefacts at the start of builds, which does slow it down
+# equally, it will also speed up the builds by not having to build things if they are
+# present in the cache. It assumes you can download something faster than you can build it
+# which will depend on your network.
+#
+#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH"
#
# Qemu configuration
#
-# By default qemu will build with a builtin VNC server where graphical output can be
-# seen. The two lines below enable the SDL backend too. This assumes there is a
-# libsdl library available on your build system.
-#PACKAGECONFIG_append_pn-qemu-native = " sdl"
-#PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
-#ASSUME_PROVIDED += "libsdl-native"
+# By default native qemu will build with a builtin VNC server where graphical output can be
+# seen. The line below enables the SDL UI frontend too.
+PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
+# By default libsdl2-native will be built, if you want to use your host's libSDL instead of
+# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
+#ASSUME_PROVIDED += "libsdl2-native"
+
+# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds
+# a handy set of menus for controlling the emulator.
+#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"
+
+#
+# Hash Equivalence
+#
+# Enable support for automatically running a local hash equivalence server and
+# instruct bitbake to use a hash equivalence aware signature generator. Hash
+# equivalence improves reuse of sstate by detecting when a given sstate
+# artifact can be reused as equivalent, even if the current task hash doesn't
+# match the one that generated the artifact.
+#
+# A shared hash equivalent server can be set with "<HOSTNAME>:<PORT>" format
+#
+#BB_HASHSERVE = "auto"
+#BB_SIGNATURE_HANDLER = "OEEquivHash"
+#
+# Memory Resident Bitbake
+#
+# Bitbake's server component can stay in memory after the UI for the current command
+# has completed. This means subsequent commands can run faster since there is no need
+# for bitbake to reload cache files and so on. Number is in seconds, after which the
+# server will shut down.
+#
+#BB_SERVER_TIMEOUT = "60"
# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
# track the version of this file when it was generated. This can safely be ignored if
# this doesn't mean anything to you.
-CONF_VERSION = "1"
-
-# Set the root password to '0penBmc'
-# Defaults from meta-phosphor/conf/distro/include/phosphor-defaults.inc
+CONF_VERSION = "2"
diff --git a/meta-inventec/meta-transformers/conf/machine/platform_configs.inc b/meta-inventec/meta-transformers/conf/machine/platform_configs.inc
new file mode 100644
index 000000000..48f106538
--- /dev/null
+++ b/meta-inventec/meta-transformers/conf/machine/platform_configs.inc
@@ -0,0 +1,21 @@
+# This include file is aim to pass variables to bb/bb.apppend files,
+# such as sysguid tool, and easily maintain platform settings
+
+
+##################### Configure default EEPROM setting #####################
+### The I2C bus is "0 based, decimal"
+### The address and offset are "hexcimal"
+### e.g.
+### EEPROM_GUID_I2C_BUS = "3"
+### EEPROM_GUID_I2C_ADDRESS = "0x54"
+### EEPROM_GUID_OFFSET = "0x1F00"
+
+EEPROM_GUID_I2C_BUS= "3"
+EEPROM_GUID_I2C_ADDRESS = "0x54"
+EEPROM_GUID_OFFSET = "0x1F00"
+
+EEPROM_MAC_I2C_BUS = "14"
+EEPROM_MAC_I2C_ADDRESS = "0x50"
+EEPROM_MAC_OFFSET = "0x1000"
+
+############################################################################
diff --git a/meta-inventec/meta-transformers/conf/machine/transformers.conf b/meta-inventec/meta-transformers/conf/machine/transformers.conf
new file mode 100755
index 000000000..24cc267b8
--- /dev/null
+++ b/meta-inventec/meta-transformers/conf/machine/transformers.conf
@@ -0,0 +1,18 @@
+KMACHINE = "aspeed"
+KERNEL_DEVICETREE = "${KMACHINE}-bmc-inventec-${MACHINE}.dtb"
+
+require conf/machine/include/ast2600.inc
+require conf/machine/include/obmc-bsp-common.inc
+require conf/machine/include/inventec.inc
+
+UBOOT_MACHINE = "transformers-ast2600_defconfig"
+UBOOT_DEVICETREE = "ast2600-transformers"
+
+# To build a 64MB image, set FLASH_SIZE value to "65536".
+FLASH_SIZE = "65536"
+# Overwrite flash offsets
+FLASH_UBOOT_OFFSET = "0"
+FLASH_KERNEL_OFFSET = "1024"
+FLASH_ROFS_OFFSET = "10240"
+FLASH_RWFS_OFFSET = "43008"
+
diff --git a/meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-aspeed-sdk/transformers-ast2600.cfg b/meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-aspeed-sdk/transformers-ast2600.cfg
new file mode 100644
index 000000000..2add540b7
--- /dev/null
+++ b/meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-aspeed-sdk/transformers-ast2600.cfg
@@ -0,0 +1,2 @@
+CONFIG_CMD_EEPROM=y
+CONFIG_DEFAULT_DEVICE_TREE="ast2600-transformers"
diff --git a/meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend b/meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
new file mode 100644
index 000000000..fc3f35425
--- /dev/null
+++ b/meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
@@ -0,0 +1,5 @@
+FILESEXTRAPATHS:append := "${THISDIR}/${BPN}:"
+
+
+SRC_URI:append = " file://transformers-ast2600.cfg \
+ "
diff --git a/meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_%.bbappend b/meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_%.bbappend
new file mode 100644
index 000000000..405f9a514
--- /dev/null
+++ b/meta-inventec/meta-transformers/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_%.bbappend
@@ -0,0 +1,15 @@
+FILESEXTRAPATHS:append := "${THISDIR}/${BPN}:"
+# In order to reuse and easily maintain, we use the same patch files among u-boot-aspeed-sdk
+FILESEXTRAPATHS:append := "${THISDIR}/u-boot-aspeed-sdk:"
+
+
+SRC_URI:append += "file://fw_env.config \
+ file://transformers-ast2600.cfg \
+ "
+
+do_install:append () {
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
+ install -m 0644 ${WORKDIR}/fw_env.config ${S}/tools/env/fw_env.config
+}
+
diff --git a/meta-inventec/meta-transformers/recipes-kernel/linux/linux-aspeed/transformers.cfg b/meta-inventec/meta-transformers/recipes-kernel/linux/linux-aspeed/transformers.cfg
new file mode 100644
index 000000000..5facc5e41
--- /dev/null
+++ b/meta-inventec/meta-transformers/recipes-kernel/linux/linux-aspeed/transformers.cfg
@@ -0,0 +1,318 @@
+CONFIG_KERNEL_XZ=y
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PSI=y
+CONFIG_PSI_DEFAULT_DISABLED=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=16
+CONFIG_CGROUPS=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+# CONFIG_UID16 is not set
+# CONFIG_SYSFS_SYSCALL is not set
+# CONFIG_AIO is not set
+CONFIG_BPF_SYSCALL=y
+CONFIG_EMBEDDED=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+CONFIG_SLAB_FREELIST_RANDOM=y
+CONFIG_ARCH_MULTI_V6=y
+CONFIG_ARCH_ASPEED=y
+CONFIG_MACH_ASPEED_G6=y
+# CONFIG_CACHE_L2X0 is not set
+CONFIG_SMP=y
+# CONFIG_ARM_CPU_TOPOLOGY is not set
+CONFIG_VMSPLIT_2G=y
+CONFIG_NR_CPUS=2
+CONFIG_HIGHMEM=y
+CONFIG_UACCESS_WITH_MEMCPY=y
+CONFIG_SECCOMP=y
+# CONFIG_ATAGS is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_KEXEC=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_KERNEL_MODE_NEON=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_JUMP_LABEL=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEBUG_FS is not set
+# CONFIG_MQ_IOSCHED_DEADLINE is not set
+# CONFIG_MQ_IOSCHED_KYBER is not set
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_COMPACTION is not set
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=y
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_DIAG is not set
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_ADVANCED is not set
+CONFIG_VLAN_8021Q=y
+CONFIG_NET_NCSI=y
+# CONFIG_WIRELESS is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_MTD=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_PARTITIONED_MASTER=y
+CONFIG_MTD_SPI_NOR=y
+# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
+CONFIG_SPI_ASPEED_SMC=y
+CONFIG_SPI_ASPEED=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_FASTMAP=y
+CONFIG_MTD_UBI_BLOCK=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_NBD=y
+CONFIG_EEPROM_AT24=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_DM=y
+CONFIG_DM_VERITY=y
+CONFIG_NETDEVICES=y
+CONFIG_NETCONSOLE=y
+# CONFIG_NET_VENDOR_ALACRITECH is not set
+# CONFIG_NET_VENDOR_AMAZON is not set
+# CONFIG_NET_VENDOR_AQUANTIA is not set
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_AURORA is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_CADENCE is not set
+# CONFIG_NET_VENDOR_CAVIUM is not set
+# CONFIG_NET_VENDOR_CIRRUS is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
+# CONFIG_NET_VENDOR_EZCHIP is not set
+CONFIG_FTGMAC100=y
+# CONFIG_NET_VENDOR_HISILICON is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MELLANOX is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_MICROSEMI is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_NETRONOME is not set
+# CONFIG_NET_VENDOR_NI is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_RENESAS is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SOLARFLARE is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
+# CONFIG_NET_VENDOR_STMICRO is not set
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
+# CONFIG_NET_VENDOR_VIA is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+CONFIG_BROADCOM_PHY=y
+CONFIG_REALTEK_PHY=y
+# CONFIG_USB_NET_DRIVERS is not set
+# CONFIG_WLAN is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_GPIO_POLLED=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_SERIO is not set
+# CONFIG_VT is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=6
+CONFIG_SERIAL_8250_RUNTIME_UARTS=6
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_ASPEED_VUART=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_ASPEED_KCS_IPMI_BMC=y
+CONFIG_ASPEED_BT_IPMI_BMC=y
+CONFIG_IPMB_DEVICE_INTERFACE=y
+CONFIG_HW_RANDOM_TIMERIOMEM=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+CONFIG_I2C_MUX_PCA9541=y
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_ASPEED=y
+CONFIG_I2C_FSI=y
+CONFIG_I2C_SLAVE=y
+CONFIG_SPI=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_ASPEED=y
+CONFIG_GPIO_ASPEED_SGPIO=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_W1=y
+CONFIG_W1_MASTER_GPIO=y
+CONFIG_W1_SLAVE_THERM=y
+CONFIG_SENSORS_ASPEED=y
+CONFIG_SENSORS_IIO_HWMON=y
+CONFIG_SENSORS_LM75=y
+CONFIG_SENSORS_NCT7904=y
+CONFIG_SENSORS_OCC_P8_I2C=y
+CONFIG_SENSORS_OCC_P9_SBE=y
+//CONFIG_SENSORS_PECI_CPUTEMP is not set
+//CONFIG_SENSORS_PECI_DIMMTEMP is not set
+CONFIG_PMBUS=y
+CONFIG_SENSORS_ADM1275=y
+CONFIG_SENSORS_IBM_CFFPS=y
+CONFIG_SENSORS_IR35221=y
+CONFIG_SENSORS_IR38064=y
+CONFIG_SENSORS_ISL68137=y
+CONFIG_SENSORS_LM25066=y
+CONFIG_SENSORS_MAX31785=y
+CONFIG_SENSORS_UCD9000=y
+CONFIG_SENSORS_UCD9200=y
+CONFIG_SENSORS_TMP421=y
+CONFIG_SENSORS_TMP468=y
+CONFIG_SENSORS_W83773G=y
+CONFIG_WATCHDOG_SYSFS=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_ASPEED=y
+CONFIG_DRM=y
+CONFIG_DRM_ASPEED_GFX=y
+CONFIG_USB=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DYNAMIC_MINORS=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ASPEED_VHUB=y
+CONFIG_USB_CONFIGFS=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ASPEED=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_CLASS_FLASH=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PCA955X=y
+CONFIG_LEDS_PCA955X_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_EDAC=y
+# CONFIG_EDAC_LEGACY_SYSFS is not set
+CONFIG_EDAC_ASPEED=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_DS1307=y
+CONFIG_RTC_DRV_PCF8523=y
+CONFIG_RTC_DRV_RV8803=y
+CONFIG_RTC_DRV_ASPEED=y
+# CONFIG_VIRTIO_MENU is not set
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_ASPEED_LPC_CTRL=y
+CONFIG_ASPEED_LPC_SNOOP=y
+CONFIG_ASPEED_P2A_CTRL=y
+CONFIG_IIO=y
+CONFIG_ASPEED_ADC=y
+CONFIG_MAX1363=y
+CONFIG_BMP280=y
+CONFIG_DPS310=y
+CONFIG_RAS=y
+CONFIG_FSI=y
+CONFIG_FSI_MASTER_HUB=y
+CONFIG_FSI_MASTER_ASPEED=y
+CONFIG_FSI_SCOM=y
+CONFIG_FSI_SBEFIFO=y
+CONFIG_FSI_OCC=y
+CONFIG_PECI=y
+CONFIG_PECI_ASPEED=y
+CONFIG_PECI_CHARDEV=y
+CONFIG_MFD_INTEL_PECI_CLIENT=y
+CONFIG_SENSORS_PECI_CPUTEMP=y
+CONFIG_SENSORS_PECI_DIMMTEMP=y
+CONFIG_EXT4_FS=y
+CONFIG_FANOTIFY=y
+CONFIG_OVERLAY_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+# CONFIG_JFFS2_FS_WRITEBUFFER is not set
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_FS_XATTR=y
+CONFIG_UBIFS_FS=y
+CONFIG_SQUASHFS=y
+CONFIG_SQUASHFS_XZ=y
+CONFIG_SQUASHFS_ZSTD=y
+# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_FORTIFY_SOURCE=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_USER_API_HASH=y
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_XZ_DEC_X86 is not set
+# CONFIG_XZ_DEC_POWERPC is not set
+# CONFIG_XZ_DEC_IA64 is not set
+# CONFIG_XZ_DEC_SPARC is not set
+CONFIG_PRINTK_TIME=y
+CONFIG_DYNAMIC_DEBUG=y
+CONFIG_DEBUG_INFO=y
+CONFIG_DEBUG_INFO_REDUCED=y
+CONFIG_DEBUG_INFO_DWARF4=y
+CONFIG_GDB_SCRIPTS=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_SOFTLOCKUP_DETECTOR=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
+CONFIG_WQ_WATCHDOG=y
+CONFIG_PANIC_ON_OOPS=y
+CONFIG_PANIC_TIMEOUT=-1
+# CONFIG_SCHED_DEBUG is not set
+CONFIG_SCHED_STACK_END_CHECK=y
+CONFIG_FUNCTION_TRACER=y
+# CONFIG_RUNTIME_TESTING_MENU is not set
+CONFIG_DEBUG_WX=y
+CONFIG_DEBUG_USER=y
+#CONFIG_ASPEED_JTAG is not set
+CONFIG_SENSORS_ASPEED_PWM_TECHOMETER=y
+CONFIG_THERMAL=y
+#CONFIG_MDIO_DEVICE=y
+#CONFIG_MDIO_BUS=y
+CONFIG_MDIO_ASPEED=y
+CONFIG_ASPEED_ESPI_SLAVE=y
+CONFIG_MMC_SDHCI_IO_ACCESSORS=y
+CONFIG_SPI_ASPEED=y
+CONFIG_JTAG=y
+CONFIG_JTAG_ASPEED=y
+CONFIG_VIRTUAL=y
+
+CONFIG_USB_U_ETHER=y
+CONFIG_USB_F_ECM=y
+CONFIG_USB_F_SUBSET=y
+CONFIG_USB_F_RNDIS=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_ETH=y
+CONFIG_USB_ETH_RNDIS=y
diff --git a/meta-inventec/meta-transformers/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-inventec/meta-transformers/recipes-kernel/linux/linux-aspeed_%.bbappend
new file mode 100644
index 000000000..dd8698d73
--- /dev/null
+++ b/meta-inventec/meta-transformers/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS:append := "${THISDIR}/${PN}:"
+
+SRC_URI:append = " file://transformers.cfg \
+ "
diff --git a/meta-inventec/meta-transformers/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-inventec/meta-transformers/recipes-phosphor/image/obmc-phosphor-image.bbappend
new file mode 100644
index 000000000..39a681ea2
--- /dev/null
+++ b/meta-inventec/meta-transformers/recipes-phosphor/image/obmc-phosphor-image.bbappend
@@ -0,0 +1,13 @@
+inherit extrausers
+
+EXTRA_USERS_PARAMS:append = " \
+useradd -e '' -ou 0 -d /home/root -G priv-admin,root,sudo,ipmi,web,redfish -p 'gzW59equAcJAg' sysadmin; \
+useradd -e '' -ou 0 -d /home/root -G priv-admin,root,sudo,ipmi,web,redfish -p 'kFdHdjRkot8KQ' admin; \
+"
+OBMC_IMAGE_EXTRA_INSTALL:append += " openssh-sftp-server"
+OBMC_IMAGE_EXTRA_INSTALL:append += " phosphor-ipmi-ipmb"
+OBMC_IMAGE_EXTRA_INSTALL:append += " python3-smbus"
+OBMC_IMAGE_EXTRA_INSTALL:append += " ipmitool"
+#BMC_IMAGE_EXTRA_INSTALL:append += " rest-dbus"
+OBMC_IMAGE_EXTRA_INSTALL:append += " mmc-utils"
+OBMC_IMAGE_EXTRA_INSTALL:append += " transformers-init"
diff --git a/meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init.bb b/meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init.bb
new file mode 100644
index 000000000..3e403f797
--- /dev/null
+++ b/meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init.bb
@@ -0,0 +1,24 @@
+SUMMARY = "transformers init service"
+DESCRIPTION = "Essential init commands for transformers"
+PR = "r1"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit obmc-phosphor-systemd
+
+DEPENDS += "systemd"
+RDEPENDS:${PN} += "libsystemd"
+
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/transformers-init:"
+SRC_URI += "file://transformers-init.sh"
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 0755 transformers-init.sh ${D}${sbindir}
+}
+
+SYSTEMD_SERVICE:${PN} += "transformers-init.service"
diff --git a/meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init/transformers-init.service b/meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init/transformers-init.service
new file mode 100644
index 000000000..235cd7e42
--- /dev/null
+++ b/meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init/transformers-init.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Essential init commands for transformers
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/usr/sbin/transformers-init.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init/transformers-init.sh b/meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init/transformers-init.sh
new file mode 100644
index 000000000..669a39984
--- /dev/null
+++ b/meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init/transformers-init.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# Init GPIO setting
+
+gpioset `gpiofind BMC_READY`=0
+echo BMC ready !!
+gpioset `gpiofind RST_BMC_SGPIO`=1
+echo Release reset SGPIO !!
diff --git a/meta-lenovo/COPYING.MIT b/meta-lenovo/COPYING.MIT
deleted file mode 100644
index 96449462b..000000000
--- a/meta-lenovo/COPYING.MIT
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright © 2019 – present Lenovo
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
diff --git a/meta-lenovo/LICENSE b/meta-lenovo/LICENSE
deleted file mode 100644
index b182e4019..000000000
--- a/meta-lenovo/LICENSE
+++ /dev/null
@@ -1,14 +0,0 @@
-Different components of meta-lenovo are under different licenses (a mix
-of MIT, GPL version 2 and BSD-3 license). Please see:
-
-COPYING.GPL
-COPYING.MIT
-COPYING.BSD
-
-All metadata is license under an MIT licensed unless otherwise stated. Source code included in tree for individual recipes is under the LICENSE stated in
-the associated recipe (.bb file) unless otherwise stated.
-
-License information for any other files is either explicitly stated
-or defaults to BSD license.
-
-The software code or recipe (.bb file) developed by Lenovo in the meta-lenovo folder, the licenses use BSD license.
diff --git a/meta-lenovo/MAINTAINERS b/meta-lenovo/MAINTAINERS
deleted file mode 100644
index 21fe75ef6..000000000
--- a/meta-lenovo/MAINTAINERS
+++ /dev/null
@@ -1,46 +0,0 @@
-How to use this list:
- Find the most specific section entry (described below) that matches where
- your change lives and add the reviewers (R) and maintainers (M) as
- reviewers. You can use the same method to track down who knows a particular
- code base best.
-
- Your change/query may span multiple entries; that is okay.
-
- If you do not find an entry that describes your request at all, someone
- forgot to update this list; please at least file an issue or send an email
- to a maintainer, but preferably you should just update this document.
-
-Description of section entries:
-
- Section entries are structured according to the following scheme:
-
- X: NAME <EMAIL_USERNAME@DOMAIN> <IRC_USERNAME!>
- X: ...
- .
- .
- .
-
- Where REPO_NAME is the name of the repository within the OpenBMC GitHub
- organization; FILE_PATH is a file path within the repository, possibly with
- wildcards; X is a tag of one of the following types:
-
- M: Denotes maintainer; has fields NAME <EMAIL_USERNAME@DOMAIN> <IRC_USERNAME!>;
- if omitted from an entry, assume one of the maintainers from the
- MAINTAINERS entry.
- R: Denotes reviewer; has fields NAME <EMAIL_USERNAME@DOMAIN> <IRC_USERNAME!>;
- these people are to be added as reviewers for a change matching the repo
- path.
- F: Denotes forked from an external repository; has fields URL.
-
- Line comments are to be denoted "# SOME COMMENT" (typical shell style
- comment); it is important to follow the correct syntax and semantics as we
- may want to use automated tools with this file in the future.
-
- A change cannot be added to an OpenBMC repository without a MAINTAINER's
- approval; thus, a MAINTAINER should always be listed as a reviewer.
-
-START OF MAINTAINERS LIST
--------------------------
-
-M: Benjamin Fair <benjaminfair@google.com> <benjaminfair!>
-M: Lisa Liu <liuyj19@lenovo.com>
diff --git a/meta-lenovo/OWNERS b/meta-lenovo/OWNERS
deleted file mode 100644
index a6b66783a..000000000
--- a/meta-lenovo/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-owners:
-- benjaminfair@google.com
-- liuyj19@lenovo.com
diff --git a/meta-lenovo/README.md b/meta-lenovo/README.md
deleted file mode 100644
index 723fde2d4..000000000
--- a/meta-lenovo/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# meta-lenovo \ No newline at end of file
diff --git a/meta-lenovo/conf/layer.conf b/meta-lenovo/conf/layer.conf
deleted file mode 100644
index 0b7cb4fe9..000000000
--- a/meta-lenovo/conf/layer.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-#"Copyright ? 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \
- ${LAYERDIR}/meta-common/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "lenovo-layer"
-BBFILE_PATTERN_lenovo-layer = ""
-LAYERVERSION_lenovo-layer = "1"
-LAYERSERIES_COMPAT_lenovo-layer = "hardknott"
-
-# Provide a variable that points the base of the lenovo layer.
-LENOVOBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-lenovo/conf/machine/include/lenovo.inc b/meta-lenovo/conf/machine/include/lenovo.inc
deleted file mode 100644
index 9ae182a76..000000000
--- a/meta-lenovo/conf/machine/include/lenovo.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-#"Copyright ? 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-OBMC_MACHINE_FEATURES += "\
- obmc-phosphor-fan-mgmt \
- obmc-phosphor-chassis-mgmt \
- obmc-phosphor-flash-mgmt \
- obmc-host-ipmi \
- obmc-host-state-mgmt \
- obmc-chassis-state-mgmt \
- obmc-bmc-state-mgmt \
- "
-
-VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config"
diff --git a/meta-lenovo/meta-common/recipes-lenovo/packagegroups/packagegroup-lenovo-apps.bb b/meta-lenovo/meta-common/recipes-lenovo/packagegroups/packagegroup-lenovo-apps.bb
deleted file mode 100644
index 9defef22a..000000000
--- a/meta-lenovo/meta-common/recipes-lenovo/packagegroups/packagegroup-lenovo-apps.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-#"Copyright ? 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-SUMMARY = "OpenBMC for Lenovo - Applications"
-PR = "r1"
-
-inherit packagegroup
-
-PROVIDES = "${PACKAGES}"
-PACKAGES = " \
- ${PN}-chassis \
- ${PN}-fans \
- ${PN}-flash \
- ${PN}-system \
- "
-
-PROVIDES += "virtual/obmc-chassis-mgmt"
-PROVIDES += "virtual/obmc-fan-mgmt"
-PROVIDES += "virtual/obmc-flash-mgmt"
-PROVIDES += "virtual/obmc-system-mgmt"
-
-RPROVIDES_${PN}-chassis += "virtual-obmc-chassis-mgmt"
-RPROVIDES_${PN}-fans += "virtual-obmc-fan-mgmt"
-RPROVIDES_${PN}-flash += "virtual-obmc-flash-mgmt"
-RPROVIDES_${PN}-system += "virtual-obmc-system-mgmt"
-
-SUMMARY_${PN}-chassis = "Lenovo Chassis"
-RDEPENDS_${PN}-chassis = " \
- obmc-control-chassis \
- obmc-op-control-power \
- lenovo-powerctrl \
- "
-
-SUMMARY_${PN}-fans = "Lenovo Fans"
-RDEPENDS_${PN}-fans = " \
- obmc-control-fan \
- "
-
-SUMMARY_${PN}-flash = "Lenovo Flash"
-RDEPENDS_${PN}-flash = " \
- obmc-flash-bmc \
- obmc-mgr-download \
- obmc-control-bmc \
- "
-
-SUMMARY_${PN}-system = "Lenovo System"
-RDEPENDS_${PN}-system = " \
- ipmitool \
- tree \
- obmc-pydevtools \
- spitools \
- bmcweb \
- entity-manager \
- phosphor-webui \
- google-ipmi-sys \
- phosphor-ipmi-ethstats \
- uart-routing \
- "
diff --git a/meta-lenovo/meta-hr630/conf/bblayers.conf.sample b/meta-lenovo/meta-hr630/conf/bblayers.conf.sample
deleted file mode 100644
index 0443211c5..000000000
--- a/meta-lenovo/meta-hr630/conf/bblayers.conf.sample
+++ /dev/null
@@ -1,24 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
-# changes incompatibly
-LCONF_VERSION = "8"
-
-BBPATH = "${TOPDIR}"
-BBFILES ?= ""
-
-BBLAYERS ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-aspeed \
- ##OEROOT##/meta-x86 \
- ##OEROOT##/meta-google \
- ##OEROOT##/meta-lenovo \
- ##OEROOT##/meta-lenovo/meta-hr630 \
-"
diff --git a/meta-lenovo/meta-hr630/conf/conf-notes.txt b/meta-lenovo/meta-hr630/conf/conf-notes.txt
deleted file mode 100644
index c0087e2a7..000000000
--- a/meta-lenovo/meta-hr630/conf/conf-notes.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-Common targets are:
- obmc-phosphor-image
diff --git a/meta-lenovo/meta-hr630/conf/distro/openbmc-hr630.conf b/meta-lenovo/meta-hr630/conf/distro/openbmc-hr630.conf
deleted file mode 100644
index ea25cdd48..000000000
--- a/meta-lenovo/meta-hr630/conf/distro/openbmc-hr630.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-require conf/distro/openbmc-phosphor.conf
-
-DISTRO_NAME = "Lenovo Hr630 OpenBMC"
-DISTRO_VERSION = "0.1.2"
diff --git a/meta-lenovo/meta-hr630/conf/layer.conf b/meta-lenovo/meta-hr630/conf/layer.conf
deleted file mode 100644
index 2c6117c74..000000000
--- a/meta-lenovo/meta-hr630/conf/layer.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "hr630-layer"
-BBFILE_PATTERN_hr630-layer = ""
-BBFILE_PRIORITY_hr630-layer = "5"
-LAYERSERIES_COMPAT_hr630-layer = "hardknott"
diff --git a/meta-lenovo/meta-hr630/conf/local.conf.sample b/meta-lenovo/meta-hr630/conf/local.conf.sample
deleted file mode 100644
index 4b5eff3c5..000000000
--- a/meta-lenovo/meta-hr630/conf/local.conf.sample
+++ /dev/null
@@ -1,23 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-MACHINE ??= "hr630"
-DISTRO ?= "openbmc-hr630"
-PACKAGE_CLASSES ?= "package_ipk"
-SANITY_TESTED_DISTROS_append ?= " *"
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
-USER_CLASSES ?= "buildstats image-prelink"
-PATCHRESOLVE = "noop"
-BB_DISKMON_DIRS = "\
- STOPTASKS,${TMPDIR},1G,100K \
- STOPTASKS,${DL_DIR},1G,100K \
- STOPTASKS,${SSTATE_DIR},1G,100K \
- STOPTASKS,/tmp,100M,100K \
- ABORT,${TMPDIR},100M,1K \
- ABORT,${DL_DIR},100M,1K \
- ABORT,${SSTATE_DIR},100M,1K \
- ABORT,/tmp,10M,1K"
-CONF_VERSION = "1"
-INHERIT += "extrausers"
-EXTRA_USERS_PARAMS = " \
- usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \
- "
diff --git a/meta-lenovo/meta-hr630/conf/machine/hr630.conf b/meta-lenovo/meta-hr630/conf/machine/hr630.conf
deleted file mode 100644
index 04080de3d..000000000
--- a/meta-lenovo/meta-hr630/conf/machine/hr630.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-KMACHINE = "aspeed"
-KERNEL_DEVICETREE = "${KMACHINE}-bmc-lenovo-${MACHINE}.dtb"
-
-UBOOT_MACHINE = "ast_g5_phy_config"
-
-require conf/machine/include/ast2500.inc
-require conf/machine/include/obmc-bsp-common.inc
-require conf/machine/include/lenovo.inc
-
-FLASH_SIZE = "32768"
-
-PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-kcs"
-PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "hr630-led-manager-config-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-sensor-inventory = "hr630-ipmi-sensor-inventory-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-read-inventory = "hr630-ipmi-fru-read-inventory-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-inventory = "hr630-ipmi-inventory-map-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-properties = "hr630-ipmi-fru-properties-native"
-PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-lenovo-apps"
-PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-lenovo-apps"
-PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-lenovo-apps"
-PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-lenovo-apps"
-PREFERRED_PROVIDER_virtual/obmc-inventory-data ?= "${VIRTUAL-RUNTIME_skeleton_workbook}"
diff --git a/meta-lenovo/meta-hr630/recipes-kernel/linux/linux-aspeed/hr630.cfg b/meta-lenovo/meta-hr630/recipes-kernel/linux/linux-aspeed/hr630.cfg
deleted file mode 100644
index 7f8d07b5e..000000000
--- a/meta-lenovo/meta-hr630/recipes-kernel/linux/linux-aspeed/hr630.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-//"Copyright (c) 2019-present Lenovo
-//Licensed under GPL v2, see COPYING file for details."
-
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_PCA9541=y
-CONFIG_I2C_MUX_PCA954x=y
-CONFIG_SENSORS_ASPEED=y
-CONFIG_SENSORS_TMP421=y
-CONFIG_ASPEED_ADC=y
-CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_I2C_SLAVE=y
-CONFIG_PMBUS=y
-CONFIG_SPI=y
-CONFIG_SENSORS_MAX31790=y
-CONFIG_EEPROM_AT24=y
-CONFIG_DEVMEM=y
diff --git a/meta-lenovo/meta-hr630/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-lenovo/meta-hr630/recipes-kernel/linux/linux-aspeed_%.bbappend
deleted file mode 100644
index d4d8b818a..000000000
--- a/meta-lenovo/meta-hr630/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-FILESEXTRAPATHS_prepend_hr630 := "${THISDIR}/${PN}:"
-SRC_URI_append_hr630 = " file://hr630.cfg"
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/leds/hr630-led-manager-config-native.bb b/meta-lenovo/meta-hr630/recipes-phosphor/leds/hr630-led-manager-config-native.bb
deleted file mode 100644
index e3efa3d6d..000000000
--- a/meta-lenovo/meta-hr630/recipes-phosphor/leds/hr630-led-manager-config-native.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-#"Copyright (c) 2019-present Lenovo"
-
-SUMMARY = "Phosphor LED Group Management for hr630"
-PR = "r1"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${LENOVOBASE}/COPYING.BSD;md5=efc72ac5d37ea632ccf0001f56126210"
-
-inherit native
-inherit obmc-phosphor-utils
-
-PROVIDES += "virtual/phosphor-led-manager-config-native"
-
-SRC_URI += "file://led.yaml"
-S = "${WORKDIR}"
-
-# Copies example led layout yaml file
-do_install() {
- SRC=${S}
- DEST=${D}${datadir}/phosphor-led-manager
- install -D ${SRC}/led.yaml ${DEST}/led.yaml
-}
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/leds/hr630-led-manager-config/led.yaml b/meta-lenovo/meta-hr630/recipes-phosphor/leds/hr630-led-manager-config/led.yaml
deleted file mode 100644
index b8b9ff620..000000000
--- a/meta-lenovo/meta-hr630/recipes-phosphor/leds/hr630-led-manager-config/led.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-bmc_booted:
- heartbeat:
- Action: 'Blink'
- DutyOn: 50
- Period: 1000
-
-enclosure_fault:
- fault:
- Action: 'On'
- DutyOn: 50
- Period: 0
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/network/phosphor-network_%.bbappend b/meta-lenovo/meta-hr630/recipes-phosphor/network/phosphor-network_%.bbappend
deleted file mode 100644
index 7d3b0eddf..000000000
--- a/meta-lenovo/meta-hr630/recipes-phosphor/network/phosphor-network_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-PACKAGECONFIG_remove_hr630 = "default-link-local-autoconf"
-PACKAGECONFIG_remove_hr630 = "default-ipv6-accept-ra"
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@40/tmp75@4e.conf b/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@40/tmp75@4e.conf
deleted file mode 100644
index ef316c193..000000000
--- a/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@40/tmp75@4e.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-LABEL_temp1 = "inlet"
-WARNHI_temp1 = "60000"
-WARNLO_temp1 = "0"
-CRITHI_temp1 = "70000"
-CRITLO_temp1 = "0"
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp75@4d.conf b/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp75@4d.conf
deleted file mode 100644
index 98ed39b49..000000000
--- a/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp75@4d.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-LABEL_temp1 = "outlet"
-WARNHI_temp1 = "60000"
-WARNLO_temp1 = "0"
-CRITHI_temp1 = "70000"
-CRITLO_temp1 = "0"
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf b/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf
deleted file mode 100644
index d91006d54..000000000
--- a/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf
+++ /dev/null
@@ -1,33 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-# hr630x has 14 fan ports
-LABEL_fan1 = "fan1"
-LABEL_fan2 = "fan2"
-LABEL_fan3 = "fan3"
-LABEL_fan4 = "fan4"
-LABEL_fan5 = "fan5"
-LABEL_fan6 = "fan6"
-LABEL_fan7 = "fan7"
-LABEL_fan8 = "fan8"
-LABEL_fan9 = "fan9"
-LABEL_fan10 = "fan10"
-LABEL_fan11 = "fan11"
-LABEL_fan12 = "fan12"
-LABEL_fan13 = "fan13"
-LABEL_fan14 = "fan14"
-
-PWM_TARGET_fan1 = "1"
-PWM_TARGET_fan2 = "1"
-PWM_TARGET_fan3 = "2"
-PWM_TARGET_fan4 = "2"
-PWM_TARGET_fan5 = "3"
-PWM_TARGET_fan6 = "3"
-PWM_TARGET_fan7 = "4"
-PWM_TARGET_fan8 = "4"
-PWM_TARGET_fan9 = "5"
-PWM_TARGET_fan10 = "5"
-PWM_TARGET_fan11 = "6"
-PWM_TARGET_fan12 = "6"
-PWM_TARGET_fan13 = "7"
-PWM_TARGET_fan14 = "7"
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf b/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf
deleted file mode 100644
index 299d23698..000000000
--- a/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-LABEL_in1=P12V_AUX
-GAIN_in1=8.90
-LABEL_in2=P5V_AUX
-GAIN_in2=3.68
-LABEL_in3=P3V3_AUX
-GAIN_in3=2.47
-LABEL_in4=P1V8_PCH_AUX
-GAIN_in4=1.50
-LABEL_in5=PVNN_PCH_AUX
-LABEL_in6=P1V05_PCH_AUX
-LABEL_in7=P1V2_DDR_BMC
-LABEL_in8=P1V15_BMC
-LABEL_in9=PVCCIO_CPU2
-LABEL_in10=PVCCIO_CPU1
-LABEL_in11=P12V_STBY
-GAIN_in11=8.90
-LABEL_in12=P12V
-GAIN_in12=8.90
-LABEL_in13=P5V
-GAIN_in13=3.68
-LABEL_in14=P3V3
-GAIN_in14=2.47
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
deleted file mode 100644
index 4098609cb..000000000
--- a/meta-lenovo/meta-hr630/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
+++ /dev/null
@@ -1,18 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-FILESEXTRAPATHS_prepend_hr630 := "${THISDIR}/${PN}:"
-EXTRA_OEMESON_append_hr630 = " -Dnegative-errno-on-fail=true"
-
-CHIPS = " \
- bus@1e78a000/i2c-bus@40/tmp75@4e \
- bus@1e78a000/i2c-bus@80/tmp75@4d \
- pwm-tacho-controller@1e786000 \
- "
-ITEMSFMT = "ahb/apb/{0}.conf"
-
-ITEMS = "${@compose_list(d, 'ITEMSFMT', 'CHIPS')}"
-ITEMS += "iio-hwmon.conf"
-
-ENVS = "obmc/hwmon/{0}"
-SYSTEMD_ENVIRONMENT_FILE:${PN}_append_hr630 := "${@compose_list(d, 'ENVS', 'ITEMS')}"
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json b/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
deleted file mode 100644
index d0441a69b..000000000
--- a/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "gpio_configs": {
-
- "power_config": {
- "power_good_in": "PGOOD",
- "power_up_outs": [
- ],
- "reset_outs": [
- ]
- }
- },
-
- "gpio_definitions": [
- {
- "name": "PGOOD",
- "pin": "Z1",
- "direction": "in"
- },
- {
- "name": "POWER_UP_PIN",
- "pin": "I0",
- "direction": "both"
- }
- ]
-}
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend b/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
deleted file mode 100644
index 5bb2557a2..000000000
--- a/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-FILESEXTRAPATHS_prepend_hr630 := "${THISDIR}/${PN}:"
diff --git a/meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample b/meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample
deleted file mode 100644
index 744edb7e6..000000000
--- a/meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample
+++ /dev/null
@@ -1,25 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
-# changes incompatibly
-LCONF_VERSION = "8"
-
-BBPATH = "${TOPDIR}"
-BBFILES ?= ""
-
-BBLAYERS ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-openembedded/meta-webserver \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-aspeed \
- ##OEROOT##/meta-x86 \
- ##OEROOT##/meta-google \
- ##OEROOT##/meta-lenovo \
- ##OEROOT##/meta-lenovo/meta-hr855xg2 \
- "
diff --git a/meta-lenovo/meta-hr855xg2/conf/conf-notes.txt b/meta-lenovo/meta-hr855xg2/conf/conf-notes.txt
deleted file mode 100644
index 96eed07df..000000000
--- a/meta-lenovo/meta-hr855xg2/conf/conf-notes.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-Common targets are:
- obmc-phosphor-image
diff --git a/meta-lenovo/meta-hr855xg2/conf/distro/openbmc-hr855xg2.conf b/meta-lenovo/meta-hr855xg2/conf/distro/openbmc-hr855xg2.conf
deleted file mode 100644
index 82bea29a8..000000000
--- a/meta-lenovo/meta-hr855xg2/conf/distro/openbmc-hr855xg2.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-require conf/distro/openbmc-phosphor.conf
-
-DISTRO_NAME = "Lenovo Hr855xg2 OpenBMC"
-DISTRO_VERSION = "0.05"
diff --git a/meta-lenovo/meta-hr855xg2/conf/layer.conf b/meta-lenovo/meta-hr855xg2/conf/layer.conf
deleted file mode 100644
index 2af2de166..000000000
--- a/meta-lenovo/meta-hr855xg2/conf/layer.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "hr855xg2-layer"
-BBFILE_PATTERN_hr855xg2-layer := "^${LAYERDIR}/"
-BBFILE_PRIORITY_hr855xg2-layer = "5"
-LAYERSERIES_COMPAT_hr855xg2-layer = "hardknott"
diff --git a/meta-lenovo/meta-hr855xg2/conf/local.conf.sample b/meta-lenovo/meta-hr855xg2/conf/local.conf.sample
deleted file mode 100644
index c714f2f18..000000000
--- a/meta-lenovo/meta-hr855xg2/conf/local.conf.sample
+++ /dev/null
@@ -1,24 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-MACHINE ??= "hr855xg2"
-DISTRO ?= "openbmc-hr855xg2"
-PACKAGE_CLASSES ?= "package_ipk"
-SANITY_TESTED_DISTROS_append ?= " *"
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
-USER_CLASSES ?= "buildstats image-prelink"
-PATCHRESOLVE = "noop"
-BB_DISKMON_DIRS = "\
- STOPTASKS,${TMPDIR},1G,100K \
- STOPTASKS,${DL_DIR},1G,100K \
- STOPTASKS,${SSTATE_DIR},1G,100K \
- STOPTASKS,/tmp,100M,100K \
- ABORT,${TMPDIR},100M,1K \
- ABORT,${DL_DIR},100M,1K \
- ABORT,${SSTATE_DIR},100M,1K \
- ABORT,/tmp,10M,1K"
-CONF_VERSION = "1"
-INHERIT += "extrausers"
-EXTRA_USERS_PARAMS = " \
- usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \
- "
diff --git a/meta-lenovo/meta-hr855xg2/conf/machine/hr855xg2.conf b/meta-lenovo/meta-hr855xg2/conf/machine/hr855xg2.conf
deleted file mode 100644
index 73cff747c..000000000
--- a/meta-lenovo/meta-hr855xg2/conf/machine/hr855xg2.conf
+++ /dev/null
@@ -1,19 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-KMACHINE = "aspeed"
-KERNEL_DEVICETREE = "${KMACHINE}-bmc-lenovo-${MACHINE}.dtb"
-
-UBOOT_MACHINE = "ast_g5_phy_config"
-
-require conf/machine/include/ast2500.inc
-require conf/machine/include/obmc-bsp-common.inc
-require conf/machine/include/lenovo.inc
-
-FLASH_SIZE = "32768"
-
-PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-bt"
-PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-lenovo-apps"
-PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-lenovo-apps"
-PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-lenovo-apps"
-PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-lenovo-apps"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed/hr855xg2.cfg b/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed/hr855xg2.cfg
deleted file mode 100644
index a7303364f..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed/hr855xg2.cfg
+++ /dev/null
@@ -1,20 +0,0 @@
-//"Copyright (c) 2019-present Lenovo
-//Licensed under GPL v2, see COPYING file for details."
-
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_PCA9541=y
-CONFIG_I2C_MUX_PCA954x=y
-CONFIG_SENSORS_ASPEED=y
-CONFIG_SENSORS_TMP421=y
-CONFIG_ASPEED_ADC=y
-CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_I2C_SLAVE=y
-CONFIG_PMBUS=y
-CONFIG_SPI=y
-CONFIG_SENSORS_MAX31790=y
-CONFIG_EEPROM_AT24=y
-CONFIG_PECI=y
-CONFIG_MFD_INTEL_PECI_CLIENT=y
-CONFIG_PECI_ASPEED=y
-CONFIG_SENSORS_PECI_CPUTEMP=y
-CONFIG_SENSORS_PECI_DIMMTEMP=y
diff --git a/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed_%.bbappend
deleted file mode 100644
index 330800ab4..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-FILESEXTRAPATHS_prepend_hr855xg2 := "${THISDIR}/${PN}:"
-SRC_URI_append_hr855xg2 = " file://hr855xg2.cfg"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config.bb b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config.bb
deleted file mode 100644
index fcf97f9f8..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-#"Copyright (c) 2019-present Lenovo"
-
-SUMMARY = "YAML configuration for hr855xg2"
-PR = "r1"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${LENOVOBASE}/COPYING.BSD;md5=efc72ac5d37ea632ccf0001f56126210"
-
-inherit allarch
-
-SRC_URI_append_hr855xg2 = "file://hr855xg2-ipmi-fru.yaml \
- file://hr855xg2-ipmi-fru-properties.yaml \
- file://hr855xg2-ipmi-sensors.yaml \
- file://hr855xg2-leds.yaml \
- "
-
-S = "${WORKDIR}"
-
-do_install() {
- install -m 0644 -D hr855xg2-ipmi-fru-properties.yaml \
- ${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
- install -m 0644 -D hr855xg2-ipmi-fru.yaml \
- ${D}${datadir}/${BPN}/ipmi-fru-read.yaml
- install -m 0644 -D hr855xg2-ipmi-sensors.yaml \
- ${D}${datadir}/${BPN}/ipmi-sensors.yaml
- install -m 0644 -D hr855xg2-leds.yaml \
- ${D}${datadir}/${BPN}/led.yaml
-}
-
-FILES_${PN}-dev = " \
- ${datadir}/${BPN}/ipmi-extra-properties.yaml \
- ${datadir}/${BPN}/ipmi-fru-read.yaml \
- ${datadir}/${BPN}/ipmi-sensors.yaml \
- ${datadir}/${BPN}/led.yaml \
- "
-
-ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru-properties.yaml b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru-properties.yaml
deleted file mode 100644
index 4c52b8cf4..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru-properties.yaml
+++ /dev/null
@@ -1,226 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-/system/chassis/motherboard/cpu0:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/cpu1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMMA1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMMA2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMMB1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMMB2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMMC1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMMC2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMMD1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMMD2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMME1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMME2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMMF1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU1_DIMMF2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMMA1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMMA2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMMB1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMMB2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMMC1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMMC2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMMD1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMMD2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMME1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMME2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMMF1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/CPU2_DIMMF2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru.yaml b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru.yaml
deleted file mode 100644
index fd626a319..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru.yaml
+++ /dev/null
@@ -1,766 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-
-1:
- /system/chassis/motherboard/cpu0:
- entityID: 3
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Custom Field 2
- IPMIFruSection: Board
- IPMIFruValueDelimiter: 58
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Board
-2:
- /system/chassis/motherboard/cpu1:
- entityID: 3
- entityInstance: 2
- interfaces:
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Custom Field 2
- IPMIFruSection: Board
- IPMIFruValueDelimiter: 58
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Board
- Value: False
-3:
- /system/chassis/motherboard:
- entityID: 7
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Board
- /system:
- entityID: 7
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Chassis
- Model:
- IPMIFruProperty: Part Number
- IPMIFruSection: Chassis
-
-
-4:
- /system/chassis/motherboard/CPU1_DIMMA1:
- entityID: 32
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-5:
- /system/chassis/motherboard/CPU1_DIMMA2:
- entityID: 32
- entityInstance: 2
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-6:
- /system/chassis/motherboard/CPU1_DIMMB1:
- entityID: 32
- entityInstance: 3
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-7:
- /system/chassis/motherboard/CPU1_DIMMB2:
- entityID: 32
- entityInstance: 4
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-8:
- /system/chassis/motherboard/CPU1_DIMMC1:
- entityID: 32
- entityInstance: 5
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-9:
- /system/chassis/motherboard/CPU1_DIMMC2:
- entityID: 32
- entityInstance: 6
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-10:
- /system/chassis/motherboard/CPU1_DIMMD1:
- entityID: 32
- entityInstance: 7
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-11:
- /system/chassis/motherboard/CPU1_DIMMD2:
- entityID: 32
- entityInstance: 8
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-12:
- /system/chassis/motherboard/CPU1_DIMME1:
- entityID: 32
- entityInstance: 9
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-13:
- /system/chassis/motherboard/CPU1_DIMME2:
- entityID: 32
- entityInstance: 10
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-14:
- /system/chassis/motherboard/CPU1_DIMMF1:
- entityID: 32
- entityInstance: 11
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-15:
- /system/chassis/motherboard/CPU1_DIMMF1:
- entityID: 32
- entityInstance: 12
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-16:
- /system/chassis/motherboard/CPU2_DIMMA1:
- entityID: 32
- entityInstance: 13
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-17:
- /system/chassis/motherboard/CPU2_DIMMA2:
- entityID: 32
- entityInstance: 14
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-18:
- /system/chassis/motherboard/CPU2_DIMMB1:
- entityID: 32
- entityInstance: 15
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-19:
- /system/chassis/motherboard/CPU2_DIMMB2:
- entityID: 32
- entityInstance: 16
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-20:
- /system/chassis/motherboard/CPU2_DIMMC1:
- entityID: 32
- entityInstance: 16
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-21:
- /system/chassis/motherboard/CPU2_DIMMC2:
- entityID: 32
- entityInstance: 16
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-22:
- /system/chassis/motherboard/CPU2_DIMMD1:
- entityID: 32
- entityInstance: 16
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-23:
- /system/chassis/motherboard/CPU2_DIMMD2:
- entityID: 32
- entityInstance: 16
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-24:
- /system/chassis/motherboard/CPU2_DIMME1:
- entityID: 32
- entityInstance: 16
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-25:
- /system/chassis/motherboard/CPU2_DIMME2:
- entityID: 32
- entityInstance: 16
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-26:
- /system/chassis/motherboard/CPU2_DIMMF1:
- entityID: 32
- entityInstance: 16
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-27:
- /system/chassis/motherboard/CPU2_DIMMF2:
- entityID: 32
- entityInstance: 16
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version \ No newline at end of file
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-sensors.yaml b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-sensors.yaml
deleted file mode 100644
index a853f0b55..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-sensors.yaml
+++ /dev/null
@@ -1,1739 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-
-0x01:
- entityID: 0x37
- sensorType: 0x01
- path: /xyz/openbmc_project/sensors/temperature/Ambient_Temp
- sensorReadingType: 0x01
- multiplierM: 1
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x02:
- entityID: 0x40
- sensorType: 0x01
- path: /xyz/openbmc_project/sensors/temperature/Outlet_Temp
- sensorReadingType: 0x01
- multiplierM: 1
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-0x03:
- sensorType: 0x01
- entityID: 0x03
- path: /xyz/openbmc_project/sensors/temperature/Die_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x04:
- sensorType: 0x01
- entityID: 0x03
- path: /xyz/openbmc_project/sensors/temperature/Die_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x05:
- sensorType: 0x01
- entityID: 0x03
- path: /xyz/openbmc_project/sensors/temperature/Die_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x06:
- sensorType: 0x01
- entityID: 0x03
- path: /xyz/openbmc_project/sensors/temperature/Die_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-0x0B:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x0C:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_A2_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x0D:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x0E:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_B2_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x0F:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_C1_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x10:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_C2_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x11:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x38:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_D2_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x39:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x3A:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_E2_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x3B:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_F1_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x3C:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_F2_CPU1
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x3D:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x3E:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_A2_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x3F:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x51:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_B2_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x52:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_C1_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x53:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_C2_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x54:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x55:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_D2_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x56:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x57:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_E2_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x58:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_F1_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x59:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_F2_CPU2
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x5A:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x5B:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_A2_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x5C:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x5D:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_B2_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x5E:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_C1_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x5F:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_C2_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x60:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x61:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_D2_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x62:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x63:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_E2_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x64:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_F1_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x65:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_F2_CPU3
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x66:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x67:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_A2_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x68:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x69:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_B2_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x6A:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_C1_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x6B:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_C2_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x6C:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x6D:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_D2_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x6E:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x82:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_E2_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x83:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_F1_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x84:
- sensorType: 0x01
- entityID: 0x20
- path: /xyz/openbmc_project/sensors/temperature/DIMM_F2_CPU4
- sensorReadingType: 0x01
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x21:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P12V_AUX_1
- sensorReadingType: 0x01
- multiplierM: 63
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -3
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x22:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P5V_AUX
- sensorReadingType: 0x01
- multiplierM: 5
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -2
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x23:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P3V3_AUX
- sensorReadingType: 0x01
- multiplierM: 25
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -3
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x24:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P1V8_PCH_AUX
- sensorReadingType: 0x01
- multiplierM: 105
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -4
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x25:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/PVNN_PCH_AUX
- sensorReadingType: 0x01
- multiplierM: 105
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -4
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-
-0x26:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P1V05_PCH_AUX
- sensorReadingType: 0x01
- multiplierM: 70
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -4
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x27:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P1V2_AUX
- sensorReadingType: 0x01
- multiplierM: 1
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -2
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x28:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P1V15_BMC_AUX
- sensorReadingType: 0x01
- multiplierM: 1
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -2
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x2C:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/PVDDQ_CPU1
- sensorReadingType: 0x01
- multiplierM: 1
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -2
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x2A:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/PVCCIO_CPU1
- sensorReadingType: 0x01
- multiplierM: 1
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -2
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-0x29:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P12V_AUX_2
- sensorReadingType: 0x01
- multiplierM: 63
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -3
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x2D:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P12V
- sensorReadingType: 0x01
- multiplierM: 63
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -3
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x2E:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P5V
- sensorReadingType: 0x01
- multiplierM: 5
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -2
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x2F:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P3V3
- sensorReadingType: 0x01
- multiplierM: 25
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -3
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x2B:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P12V_AUX_3
- sensorReadingType: 0x01
- multiplierM: 63
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -3
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x30:
- entityID: 0x07
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/P3V_BAT
- sensorReadingType: 0x01
- multiplierM: 248
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- rExp: -4
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x40:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN0_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-
-0x41:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN1_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-
-0x42:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN2_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-
-0x43:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN3_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x44:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN4_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x45:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN5_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x46:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN6_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-0x47:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN7_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x48:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN8_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-0x49:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN9_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-0x4A:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN10_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x4B:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN11_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x4C:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN12_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-0x4D:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/FAN13_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x4E:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/PDB_FAN0_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x4F:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/PDB_FAN1_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
-
-0x50:
- entityID: 0x1D
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/PDB_FAN2_Speed
- sensorReadingType: 0x01
- multiplierM: 115
- offsetB: 0
- bExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- rExp: 0
- mutability: Mutability::Read
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0x0:
- type: double
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-leds.yaml b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-leds.yaml
deleted file mode 100644
index b8b9ff620..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-leds.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-bmc_booted:
- heartbeat:
- Action: 'Blink'
- DutyOn: 50
- Period: 1000
-
-enclosure_fault:
- fault:
- Action: 'On'
- DutyOn: 50
- Period: 0
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
deleted file mode 100644
index 41eb4e204..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-FILESEXTRAPATHS_prepend_hr855xg2 := "${THISDIR}/${PN}:"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json
deleted file mode 100644
index 0c53f576e..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "inlet": [
-
- ],
- "baseboard": [
-
- ],
- "cpu": [
-
- ]
-}
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json
deleted file mode 100644
index 071c45b88..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json
+++ /dev/null
@@ -1,2 +0,0 @@
-{"id": 32, "revision": 1, "addn_dev_support": 141,
- "manuf_id": 19046, "prod_id": 502 , "aux": 5}
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend
deleted file mode 100644
index 585250667..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-PACKAGECONFIG_append_hr855xg2 = " static-bmc"
-PACKAGECONFIG_append_hr855xg2 = " aspeed-lpc"
-PACKAGECONFIG_append_hr855xg2 = " reboot-update"
-IPMI_FLASH_BMC_ADDRESS_hr855xg2 = "0x98000000"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
deleted file mode 100644
index fcc0afb34..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-DEPENDS_append_hr855xg2 = " hr855xg2-yaml-config"
-
-EXTRA_OECONF_append_hr855xg2 = " \
- YAML_GEN=${STAGING_DIR_HOST}${datadir}/hr855xg2-yaml-config/ipmi-fru-read.yaml \
- PROP_YAML=${STAGING_DIR_HOST}${datadir}/hr855xg2-yaml-config/ipmi-extra-properties.yaml \
- "
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
deleted file mode 100644
index 98129d588..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-DEPENDS_append_hr855xg2 = " hr855xg2-yaml-config"
-
-EXTRA_OECONF_append_hr855xg2 = " \
- SENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/hr855xg2-yaml-config/ipmi-sensors.yaml \
- FRU_YAML_GEN=${STAGING_DIR_HOST}${datadir}/hr855xg2-yaml-config/ipmi-fru-read.yaml \
- "
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
deleted file mode 100644
index 1a96799d0..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-DEPENDS_append_hr855xg2 = " hr855xg2-yaml-config"
-
-EXTRA_OECONF_append_hr855xg2 = "YAML_PATH=${STAGING_DIR_HOST}${datadir}/hr855xg2-yaml-config/" \ No newline at end of file
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/network/phosphor-network_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/network/phosphor-network_%.bbappend
deleted file mode 100644
index 88d07339b..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/network/phosphor-network_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-PACKAGECONFIG_remove_hr855xg2 = "default-link-local-autoconf"
-PACKAGECONFIG_remove_hr855xg2 = "default-ipv6-accept-ra"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@49.conf b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@49.conf
deleted file mode 100644
index 1dcd8cbfb..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@49.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-LABEL_temp1 = "Outlet_Temp"
-WARNHI_temp1 = "60000"
-WARNLO_temp1 = "0"
-CRITHI_temp1 = "70000"
-CRITLO_temp1 = "0"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@4d.conf b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@4d.conf
deleted file mode 100644
index 31e44e6db..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@4d.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-
-LABEL_temp1 = "Ambient_Temp"
-WARNHI_temp1 = "35000"
-WARNLO_temp1 = "0"
-CRITHI_temp1 = "37000"
-CRITLO_temp1 = "0"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf
deleted file mode 100644
index e84c0162a..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf
+++ /dev/null
@@ -1,40 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-
-# hr855xg2 has 14 fan ports
-LABEL_fan1 = "FAN0_Speed"
-LABEL_fan2 = "FAN1_Speed"
-LABEL_fan3 = "FAN2_Speed"
-LABEL_fan4 = "FAN3_Speed"
-LABEL_fan5 = "FAN4_Speed"
-LABEL_fan6 = "FAN5_Speed"
-LABEL_fan7 = "FAN6_Speed"
-LABEL_fan8 = "FAN7_Speed"
-LABEL_fan9 = "FAN8_Speed"
-LABEL_fan10 = "FAN9_Speed"
-LABEL_fan11 = "FAN10_Speed"
-LABEL_fan12 = "FAN11_Speed"
-LABEL_fan13 = "FAN12_Speed"
-LABEL_fan14 = "FAN13_Speed"
-LABEL_fan15 = "PDB_FAN0_Speed"
-LABEL_fan16 = "PDB_FAN1_Speed"
-LABEL_fan16 = "PDB_FAN2_Speed"
-
-PWM_TARGET_fan1 = "1"
-PWM_TARGET_fan2 = "1"
-PWM_TARGET_fan3 = "2"
-PWM_TARGET_fan4 = "2"
-PWM_TARGET_fan5 = "3"
-PWM_TARGET_fan6 = "3"
-PWM_TARGET_fan7 = "4"
-PWM_TARGET_fan8 = "4"
-PWM_TARGET_fan9 = "5"
-PWM_TARGET_fan10 = "5"
-PWM_TARGET_fan11 = "6"
-PWM_TARGET_fan12 = "6"
-PWM_TARGET_fan13 = "7"
-PWM_TARGET_fan14 = "7"
-PWM_TARGET_fan15 = "8"
-PWM_TARGET_fan16 = "8"
-
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf
deleted file mode 100644
index 8c69aa5d1..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-LABEL_in1=P3V_BAT
-GAIN_in1=2.00
-
-# GPIOS4 needs to be pulled high for battery voltage reading
-GPIOCHIP_in1=0
-GPIO_in1=148
-
-# Read it every day so it does not impact battery life
-INTERVAL=10
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf
deleted file mode 100644
index f96313837..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-LABEL_in1=P12V_AUX_1
-GAIN_in1=8.90
-LABEL_in2=P5V_AUX
-GAIN_in2=3.68
-LABEL_in3=P3V3_AUX
-GAIN_in3=2.435
-LABEL_in4=P1V8_PCH_AUX
-GAIN_in4=1.50
-LABEL_in5=PVNN_PCH_AUX
-LABEL_in6=P1V05_PCH_AUX
-LABEL_in7=P1V2_AUX
-LABEL_in8=P1V15_BMC_AUX
-LABEL_in9=P12V_AUX_2
-GAIN_in9=8.90
-LABEL_in10=PVCCIO_CPU1
-LABEL_in11=P12V_AUX_3
-GAIN_in11=8.90
-LABEL_in12=PVDDQ_CPU1
-LABEL_in13=P12V
-GAIN_in13=8.90
-LABEL_in14=P5V
-GAIN_in14=3.68
-LABEL_in15=P3V3
-GAIN_in15=2.435
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
deleted file mode 100644
index 1e0803c06..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
+++ /dev/null
@@ -1,15 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-FILESEXTRAPATHS_prepend_hr855xg2 := "${THISDIR}/${PN}:"
-
-CHIPS = " bus@1e78a000/i2c-bus@1c0/tmp75@49 bus@1e78a000/i2c-bus@1c0/tmp75@4d pwm-tacho-controller@1e786000 "
-ITEMSFMT = "ahb/apb/{0}.conf"
-
-HR855XG2_ITEMS = "${@compose_list(d, 'ITEMSFMT', 'CHIPS')}"
-HR855XG2_ITEMS += "iio-hwmon.conf"
-
-HR855XG2_ITEMS += "iio-hwmon-battery.conf"
-
-ENVS = "obmc/hwmon/{0}"
-SYSTEMD_ENVIRONMENT_FILE:${PN}_append_hr855xg2 := "${@compose_list(d, 'ENVS', 'HR855XG2_ITEMS')}"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json b/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
deleted file mode 100644
index d8213fdae..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "gpio_configs": {
-
- "power_config": {
- "power_good_in": "PGOOD",
- "power_up_outs": [
- ],
- "reset_outs": [
- ]
- }
- },
-
- "gpio_definitions": [
- {
- "name": "PGOOD",
- "pin": "H7",
- "direction": "in"
- },
- {
- "name": "POWER_BUTTON",
- "pin": "I1",
- "direction": "both"
- },
- {
- "name": "RESET_BUTTON",
- "pin": "R0",
- "direction": "both"
- },
- {
- "name": "ID_BTN",
- "pin": "Y2",
- "direction": "both"
- }
- ]
-}
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
deleted file mode 100644
index 41eb4e204..000000000
--- a/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-#"Copyright (c) 2019-present Lenovo
-#Licensed under BSD-3, see COPYING.BSD file for details."
-
-FILESEXTRAPATHS_prepend_hr855xg2 := "${THISDIR}/${PN}:"
diff --git a/meta-microsoft/COPYING.MIT b/meta-microsoft/COPYING.MIT
deleted file mode 100644
index 89de35479..000000000
--- a/meta-microsoft/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/meta-microsoft/COPYING.apache-2.0 b/meta-microsoft/COPYING.apache-2.0
deleted file mode 100644
index 67db85882..000000000
--- a/meta-microsoft/COPYING.apache-2.0
+++ /dev/null
@@ -1,175 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
diff --git a/meta-microsoft/LICENSE b/meta-microsoft/LICENSE
deleted file mode 100644
index 8e1727d08..000000000
--- a/meta-microsoft/LICENSE
+++ /dev/null
@@ -1,13 +0,0 @@
-Full Description:
-Different components of meta-microsoft are under different licenses (a mix
-of MIT and Apache-2.0). Please see:
-
-COPYING.Apache-2.0
-COPYING.MIT (MIT)
-
-All metadata is MIT licensed unless otherwise stated. Source code
-included in tree for individual recipes is under the LICENSE stated in
-the associated recipe (.bb file) unless otherwise stated.
-
-License information for any other files is either explicitly stated
-or defaults to Apache-2.0.
diff --git a/meta-microsoft/README.md b/meta-microsoft/README.md
deleted file mode 100644
index 1980d6070..000000000
--- a/meta-microsoft/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# meta-microsoft
-The meta-olympus OCP project is committed by AMI.
diff --git a/meta-microsoft/conf/layer.conf b/meta-microsoft/conf/layer.conf
deleted file mode 100755
index 498b391ed..000000000
--- a/meta-microsoft/conf/layer.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-BBFILE_COLLECTIONS += "microsoft-layer"
-BBFILE_PATTERN_microsoft-layer = ""
-LAYERSERIES_COMPAT_microsoft-layer = "hardknott"
diff --git a/meta-microsoft/meta-olympus/conf/bblayers.conf.sample b/meta-microsoft/meta-olympus/conf/bblayers.conf.sample
deleted file mode 100755
index 4d15ac629..000000000
--- a/meta-microsoft/meta-olympus/conf/bblayers.conf.sample
+++ /dev/null
@@ -1,31 +0,0 @@
-# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
-# changes incompatibly
-LCONF_VERSION = "8"
-
-BBPATH = "${TOPDIR}"
-BBFILES ?= ""
-
-BBLAYERS ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-aspeed \
- ##OEROOT##/meta-microsoft \
- ##OEROOT##/meta-microsoft/meta-olympus \
- "
-BBLAYERS_NON_REMOVABLE ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-aspeed \
- ##OEROOT##/meta-microsoft \
- ##OEROOT##/meta-microsoft/meta-olympus \
- "
diff --git a/meta-microsoft/meta-olympus/conf/conf-notes.txt b/meta-microsoft/meta-olympus/conf/conf-notes.txt
deleted file mode 100755
index 9b3c01a55..000000000
--- a/meta-microsoft/meta-olympus/conf/conf-notes.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Common targets are:
- obmc-phosphor-image
diff --git a/meta-microsoft/meta-olympus/conf/layer.conf b/meta-microsoft/meta-olympus/conf/layer.conf
deleted file mode 100755
index db4714534..000000000
--- a/meta-microsoft/meta-olympus/conf/layer.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "olympus-layer"
-BBFILE_PATTERN_olympus-layer = "^${LAYERDIR}/"
-BBFILE_PRIORITY_olympus-layer = "6"
-
-LAYERSERIES_COMPAT_olympus-layer = "hardknott"
diff --git a/meta-microsoft/meta-olympus/conf/local.conf.sample b/meta-microsoft/meta-olympus/conf/local.conf.sample
deleted file mode 100755
index 176b78b4e..000000000
--- a/meta-microsoft/meta-olympus/conf/local.conf.sample
+++ /dev/null
@@ -1,240 +0,0 @@
-#
-# This file is your local configuration file and is where all local user settings
-# are placed. The comments in this file give some guide to the options a new user
-# to the system might want to change but pretty much any configuration option can
-# be set in this file. More adventurous users can look at local.conf.extended
-# which contains other examples of configuration which can be placed in this file
-# but new users likely won't need any of them initially.
-#
-# Lines starting with the '#' character are commented out and in some cases the
-# default values are provided as comments to show people example syntax. Enabling
-# the option is a question of removing the # character and making any change to the
-# variable as required.
-
-#
-# Machine Selection
-#
-# You need to select a specific machine to target the build with. There are a selection
-# of emulated machines available which can boot and run in the QEMU emulator:
-#
-#MACHINE ?= "qemuarm"
-#MACHINE ?= "qemuarm64"
-#MACHINE ?= "qemumips"
-#MACHINE ?= "qemuppc"
-#MACHINE ?= "qemux86"
-#MACHINE ?= "qemux86-64"
-#
-# There are also the following hardware board target machines included for
-# demonstration purposes:
-#
-#MACHINE ?= "beaglebone"
-#MACHINE ?= "genericx86"
-#MACHINE ?= "genericx86-64"
-#MACHINE ?= "mpc8315e-rdb"
-#MACHINE ?= "edgerouter"
-#
-# This sets the default machine to be qemux86 if no other machine is selected:
-MACHINE ??= "olympus"
-
-#
-# Where to place downloads
-#
-# During a first build the system will download many different source code tarballs
-# from various upstream projects. This can take a while, particularly if your network
-# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
-# can preserve this directory to speed up this part of subsequent builds. This directory
-# is safe to share between multiple builds on the same machine too.
-#
-# The default is a downloads directory under TOPDIR which is the build directory.
-#
-#DL_DIR ?= "${TOPDIR}/downloads"
-
-#
-# Where to place shared-state files
-#
-# BitBake has the capability to accelerate builds based on previously built output.
-# This is done using "shared state" files which can be thought of as cache objects
-# and this option determines where those files are placed.
-#
-# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
-# from these files if no changes were made to the configuration. If changes were made
-# to the configuration, only shared state files where the state was still valid would
-# be used (done using checksums).
-#
-# The default is a sstate-cache directory under TOPDIR.
-#
-#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
-
-#
-# Where to place the build output
-#
-# This option specifies where the bulk of the building work should be done and
-# where BitBake should place its temporary files and output. Keep in mind that
-# this includes the extraction and compilation of many applications and the toolchain
-# which can use Gigabytes of hard disk space.
-#
-# The default is a tmp directory under TOPDIR.
-#
-#TMPDIR = "${TOPDIR}/tmp"
-
-#
-# Default policy config
-#
-# The distribution setting controls which policy settings are used as defaults.
-# The default value is fine for general Yocto project use, at least initially.
-# Ultimately when creating custom policy, people will likely end up subclassing
-# these defaults.
-#
-DISTRO ?= "openbmc-phosphor"
-# As an example of a subclass there is a "bleeding" edge policy configuration
-# where many versions are set to the absolute latest code from the upstream
-# source control systems. This is just mentioned here as an example, its not
-# useful to most new users.
-# DISTRO ?= "poky-bleeding"
-
-#
-# Package Management configuration
-#
-# This variable lists which packaging formats to enable. Multiple package backends
-# can be enabled at once and the first item listed in the variable will be used
-# to generate the root filesystems.
-# Options are:
-# - 'package_deb' for debian style deb files
-# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
-# - 'package_rpm' for rpm style packages
-# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
-# We default to ipk:
-PACKAGE_CLASSES ?= "package_ipk"
-
-#
-# SDK/ADT target architecture
-#
-# This variable specifies the architecture to build SDK/ADT items for and means
-# you can build the SDK packages for architectures other than the machine you are
-# running the build on (i.e. building i686 packages on an x86_64 host).
-# Supported values are i686 and x86_64
-#SDKMACHINE ?= "i686"
-
-SANITY_TESTED_DISTROS_append ?= " RedHatEnterpriseWorkstation-6.*"
-
-#
-# Extra image configuration defaults
-#
-# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
-# images. Some of these options are added to certain image types automatically. The
-# variable can contain the following options:
-# "dbg-pkgs" - add -dbg packages for all installed packages
-# (adds symbol information for debugging/profiling)
-# "dev-pkgs" - add -dev packages for all installed packages
-# (useful if you want to develop against libs in the image)
-# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
-# (useful if you want to run the package test suites)
-# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
-# "tools-debug" - add debugging tools (gdb, strace)
-# "eclipse-debug" - add Eclipse remote debugging support
-# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind)
-# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
-# "debug-tweaks" - make an image suitable for development
-# e.g. ssh root access has a blank password
-# There are other application targets that can be used here too, see
-# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
-# We default to enabling the debugging tweaks.
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
-
-#
-# Additional image features
-#
-# The following is a list of additional classes to use when building images which
-# enable extra features. Some available options which can be included in this variable
-# are:
-# - 'buildstats' collect build statistics
-# - 'image-prelink' in order to prelink the filesystem image
-# - 'image-swab' to perform host system intrusion detection
-# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
-# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
-USER_CLASSES ?= "buildstats image-prelink"
-
-#
-# Runtime testing of images
-#
-# The build system can test booting virtual machine images under qemu (an emulator)
-# after any root filesystems are created and run tests against those images. To
-# enable this uncomment this line. See classes/testimage(-auto).bbclass for
-# further details.
-#TEST_IMAGE = "1"
-#
-# Interactive shell configuration
-#
-# Under certain circumstances the system may need input from you and to do this it
-# can launch an interactive shell. It needs to do this since the build is
-# multithreaded and needs to be able to handle the case where more than one parallel
-# process may require the user's attention. The default is iterate over the available
-# terminal types to find one that works.
-#
-# Examples of the occasions this may happen are when resolving patches which cannot
-# be applied, to use the devshell or the kernel menuconfig
-#
-# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
-# Note: currently, Konsole support only works for KDE 3.x due to the way
-# newer Konsole versions behave
-#OE_TERMINAL = "auto"
-# By default disable interactive patch resolution (tasks will just fail instead):
-PATCHRESOLVE = "noop"
-
-#
-# Disk Space Monitoring during the build
-#
-# Monitor the disk space during the build. If there is less that 1GB of space or less
-# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
-# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
-# of the build. The reason for this is that running completely out of space can corrupt
-# files and damages the build in ways which may not be easily recoverable.
-# It's necesary to monitor /tmp, if there is no space left the build will fail
-# with very exotic errors.
-BB_DISKMON_DIRS = "\
- STOPTASKS,${TMPDIR},1G,100K \
- STOPTASKS,${DL_DIR},1G,100K \
- STOPTASKS,${SSTATE_DIR},1G,100K \
- STOPTASKS,/tmp,100M,100K \
- ABORT,${TMPDIR},100M,1K \
- ABORT,${DL_DIR},100M,1K \
- ABORT,${SSTATE_DIR},100M,1K \
- ABORT,/tmp,10M,1K"
-
-#
-# Shared-state files from other locations
-#
-# As mentioned above, shared state files are prebuilt cache data objects which can
-# used to accelerate build time. This variable can be used to configure the system
-# to search other mirror locations for these objects before it builds the data itself.
-#
-# This can be a filesystem directory, or a remote url such as http or ftp. These
-# would contain the sstate-cache results from previous builds (possibly from other
-# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
-# cache locations to check for the shared objects.
-# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
-# at the end as shown in the examples below. This will be substituted with the
-# correct path within the directory structure.
-#SSTATE_MIRRORS ?= "\
-#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
-#file://.* file:///some/local/dir/sstate/PATH"
-
-
-#
-# Qemu configuration
-#
-# By default qemu will build with a builtin VNC server where graphical output can be
-# seen. The two lines below enable the SDL backend too. This assumes there is a
-# libsdl library available on your build system.
-PACKAGECONFIG_append_pn-qemu-native = " sdl"
-PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
-#ASSUME_PROVIDED += "libsdl-native"
-
-
-# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
-# track the version of this file when it was generated. This can safely be ignored if
-# this doesn't mean anything to you.
-CONF_VERSION = "1"
-
-# Set the root password to '0penBmc'
-# Defaults from meta-phosphor/conf/distro/include/phosphor-defaults.inc
diff --git a/meta-microsoft/meta-olympus/conf/machine/olympus.conf b/meta-microsoft/meta-olympus/conf/machine/olympus.conf
deleted file mode 100755
index 6d4406e31..000000000
--- a/meta-microsoft/meta-olympus/conf/machine/olympus.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-
-KMACHINE = "aspeed"
-KERNEL_DEVICETREE = "${KMACHINE}-bmc-microsoft-${MACHINE}.dtb"
-
-require conf/machine/include/ast2400.inc
-require conf/machine/include/obmc-bsp-common.inc
-
-UBOOT_MACHINE_olympus = "ast_g4_phy_config"
-UBOOT_ENTRYPOINT = "0x40008000"
-UBOOT_LOADADDRESS = "0x40008000"
-
-FLASH_SIZE = "32768"
diff --git a/meta-microsoft/meta-olympus/recipes.txt b/meta-microsoft/meta-olympus/recipes.txt
deleted file mode 100755
index 3ec3f4a42..000000000
--- a/meta-microsoft/meta-olympus/recipes.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-recipes-kernel - The kernel and generic applications/libraries with strong kernel dependencies
-recipes-phosphor - Phosphor OpenBMC applications and configuration
diff --git a/meta-nuvoton/conf/machine/evb-npcm750.conf b/meta-nuvoton/conf/machine/evb-npcm750.conf
index 74f70adbc..f0216eada 100644
--- a/meta-nuvoton/conf/machine/evb-npcm750.conf
+++ b/meta-nuvoton/conf/machine/evb-npcm750.conf
@@ -8,5 +8,6 @@ FLASH_SIZE = "32768"
require conf/machine/include/npcm7xx.inc
require conf/machine/include/obmc-bsp-common.inc
+require conf/machine/include/obmc-evb-common.inc
IMAGE_FSTYPES = "cpio.${INITRAMFS_CTYPE}.u-boot mtd-static"
diff --git a/meta-openbmc-mods/conf/machine/include/intel.inc b/meta-openbmc-mods/conf/machine/include/intel.inc
index 8f1c9403e..bab124a06 100644
--- a/meta-openbmc-mods/conf/machine/include/intel.inc
+++ b/meta-openbmc-mods/conf/machine/include/intel.inc
@@ -1,12 +1,12 @@
-OBMC_MACHINE_FEATURES += "\
- obmc-phosphor-fan-mgmt \
- obmc-phosphor-chassis-mgmt \
- obmc-phosphor-flash-mgmt \
- obmc-host-ipmi \
- obmc-host-state-mgmt \
- obmc-chassis-state-mgmt \
- obmc-bmc-state-mgmt \
- "
+MACHINE_FEATURES += "\
+ obmc-phosphor-fan-mgmt \
+ obmc-phosphor-chassis-mgmt \
+ obmc-phosphor-flash-mgmt \
+ obmc-host-ipmi \
+ obmc-host-state-mgmt \
+ obmc-chassis-state-mgmt \
+ obmc-bmc-state-mgmt \
+ "
VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config"
VIRTUAL-RUNTIME_obmc-inventory-manager = "entity-manager"
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0036-Disable-BMC-MMIO-Decode-on-VGA-SCU-register-bit.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0036-Disable-BMC-MMIO-Decode-on-VGA-SCU-register-bit.patch
new file mode 100644
index 000000000..f48532102
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0036-Disable-BMC-MMIO-Decode-on-VGA-SCU-register-bit.patch
@@ -0,0 +1,62 @@
+From 700d71d2c9ef669583acb6900a913620bbb68ce0 Mon Sep 17 00:00:00 2001
+From: sureshv1 <suresh.vijayakumar@intel.com>
+Date: Mon, 20 Sep 2021 11:27:46 +0530
+Subject: [PATCH] Disable BMC MMIO Decode on VGA SCU register bit
+
+This patch is required to avoid un-necessary logging of
+redfish log(P2A Bridge Enabled) as the default value of
+SCUC20 has this bit set causing the default/init value
+to be taken into consideration and logging the event.
+
+Tested:
+Flashed the image and performed AC Power cycle multiple
+times also to check whether any critical events related
+to P2A Bridge enabled log, this redfish log is not being
+logged after this changes.
+
+Change-Id: If24fbea338ce17e3b4f1ba93b4d11c7843ddb952
+Signed-off-by: sureshv1 <suresh.vijayakumar@intel.com>
+---
+ board/aspeed/ast2600_intel/intel.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/board/aspeed/ast2600_intel/intel.c b/board/aspeed/ast2600_intel/intel.c
+index 1791045ee8..103bf538b5 100644
+--- a/board/aspeed/ast2600_intel/intel.c
++++ b/board/aspeed/ast2600_intel/intel.c
+@@ -478,6 +478,23 @@ static void pwm_init(void)
+ }
+ }
+
++/*
++ * Description: Disable BMC MMIO Decode on VGA
++ * which is not being used.
++ */
++void disable_bmc_mmio_decode_vga()
++{
++#define AST_SCU_BASE 0x1E6E2000
++#define AST_PCI_CONFIG_REG 0xC20
++
++ u32 pcie_config_val = readl(AST_SCU_BASE + AST_PCI_CONFIG_REG);
++
++ if (pcie_config_val & BIT(1)) {
++ writel(pcie_config_val & ~BIT(1),
++ AST_SCU_BASE + AST_PCI_CONFIG_REG);
++ }
++}
++
+ int board_early_init_f(void)
+ {
+ /* This is called before relocation; beware! */
+@@ -680,6 +697,8 @@ int board_late_init(void)
+
+ pwm_init();
+
++ disable_bmc_mmio_decode_vga();
++
+ /* Add reset reason to bootargs */
+ snprintf(value, sizeof(value), "0x%x", gd->reset_reason);
+ update_bootargs_cmd("resetreason", value);
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0037-Enable-I2C-clock-stretching-and-multi-master-support.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0037-Enable-I2C-clock-stretching-and-multi-master-support.patch
new file mode 100644
index 000000000..014915772
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0037-Enable-I2C-clock-stretching-and-multi-master-support.patch
@@ -0,0 +1,143 @@
+From 292700faccff983b60a6bf210af36d9bf7a0ac1a Mon Sep 17 00:00:00 2001
+From: Jan Sowinski <jan.sowinski@intel.com>
+Date: Fri, 15 Oct 2021 23:34:10 +0200
+Subject: [PATCH] Enable I2C clock stretching and multi-master support for
+ AST2600
+
+Enabled I2C clock stretching by default to
+improve general compatibility with various devices.
+
+Added support for multi-master mode enabled with
+"multi-master" property set in DTS for every i2c node.
+
+Signed-off-by: Jan Sowinski <jan.sowinski@intel.com>
+---
+ arch/arm/dts/ast2600-intel.dts | 8 ++++++++
+ drivers/i2c/ast_i2c.c | 19 ++++++++++++-------
+ 2 files changed, 20 insertions(+), 7 deletions(-)
+
+diff --git a/arch/arm/dts/ast2600-intel.dts b/arch/arm/dts/ast2600-intel.dts
+index a76193716d..dba62fd254 100644
+--- a/arch/arm/dts/ast2600-intel.dts
++++ b/arch/arm/dts/ast2600-intel.dts
+@@ -168,6 +168,7 @@
+
+ &i2c4 {
+ status = "okay";
++ multi-master;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c5_default>;
+@@ -175,6 +176,7 @@
+
+ &i2c5 {
+ status = "okay";
++ multi-master;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c6_default>;
+@@ -182,6 +184,7 @@
+
+ &i2c6 {
+ status = "okay";
++ multi-master;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c7_default>;
+@@ -189,6 +192,7 @@
+
+ &i2c7 {
+ status = "okay";
++ multi-master;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c8_default>;
+@@ -196,6 +200,7 @@
+
+ &i2c8 {
+ status = "okay";
++ multi-master;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c9_default>;
+@@ -203,6 +208,7 @@
+
+ &i2c9 {
+ status = "okay";
++ multi-master;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c10_default>;
+@@ -210,6 +216,7 @@
+
+ &i2c12 {
+ status = "okay";
++ multi-master;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c13_default>;
+@@ -217,6 +224,7 @@
+
+ &i2c13 {
+ status = "okay";
++ multi-master;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c14_default>;
+diff --git a/drivers/i2c/ast_i2c.c b/drivers/i2c/ast_i2c.c
+index bbc32d6cdb..974641220b 100644
+--- a/drivers/i2c/ast_i2c.c
++++ b/drivers/i2c/ast_i2c.c
+@@ -31,6 +31,8 @@ struct ast_i2c_priv {
+ struct ast_i2c_regs *regs;
+ /* I2C speed in Hz */
+ int speed;
++ /* Multi-master mode */
++ bool multi_master;
+ };
+
+ /*
+@@ -67,14 +69,14 @@ static void ast_i2c_clear_interrupts(struct udevice *dev)
+ static void ast_i2c_init_bus(struct udevice *dev)
+ {
+ struct ast_i2c_priv *priv = dev_get_priv(dev);
++ u32 fun_ctrl_reg = I2CD_MASTER_EN;
+
+ /* Reset device */
+ writel(0, &priv->regs->fcr);
+- /* Enable Master Mode. Assuming single-master */
+- writel(I2CD_MASTER_EN
+- | I2CD_M_SDA_LOCK_EN
+- | I2CD_MULTI_MASTER_DIS | I2CD_M_SCL_DRIVE_EN,
+- &priv->regs->fcr);
++ /* Enable Single-Master or Multi-Master Mode. */
++ if (!priv->multi_master)
++ fun_ctrl_reg |= I2CD_MULTI_MASTER_DIS;
++ writel(fun_ctrl_reg, &priv->regs->fcr);
+ /* Enable Interrupts */
+ writel(I2CD_INTR_TX_ACK
+ | I2CD_INTR_TX_NAK
+@@ -100,6 +102,9 @@ static int ast_i2c_ofdata_to_platdata(struct udevice *dev)
+ return ret;
+ }
+
++ if (dev_read_bool(dev, "multi-master"))
++ priv->multi_master = true;
++
+ return 0;
+ }
+
+@@ -246,8 +251,8 @@ static int ast_i2c_deblock(struct udevice *dev)
+ bool scl_high = csr & I2CD_SCL_LINE_STS;
+ int ret = 0;
+
+- if (sda_high && scl_high) {
+- /* Bus is idle, no deblocking needed. */
++ if ((sda_high && scl_high) || priv->multi_master) {
++ /* Bus is idle or multi-master mode enabled, no deblocking needed. */
+ return 0;
+ } else if (sda_high) {
+ /* Send stop command */
+--
+2.25.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
index 5b4885c2e..1e20585bc 100644
--- a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
@@ -39,6 +39,8 @@ SRC_URI:append:intel-ast2600 = " \
file://0032-Disable-eSPI-initialization-in-u-boot-for-normal-boo.patch \
file://0033-Disable-debug-interfaces.patch \
file://0034-Implement-the-IPMI-commands-in-FFUJ-mode-in-u-boot.patch \
+ file://0036-Disable-BMC-MMIO-Decode-on-VGA-SCU-register-bit.patch \
+ file://0037-Enable-I2C-clock-stretching-and-multi-master-support.patch \
"
# CVE-2020-10648 vulnerability fix
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0001-serial-8250-Add-Aspeed-UART-driver-with-DMA-supporte.patch b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0001-serial-8250-Add-Aspeed-UART-driver-with-DMA-supporte.patch
new file mode 100644
index 000000000..525b910d0
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0001-serial-8250-Add-Aspeed-UART-driver-with-DMA-supporte.patch
@@ -0,0 +1,1184 @@
+From a4897aed25195742ec9fd992a52a6e7bf872f318 Mon Sep 17 00:00:00 2001
+From: "Chia-Wei, Wang" <chiawei_wang@aspeedtech.com>
+Date: Wed, 22 Jul 2020 13:46:21 +0800
+Subject: [PATCH] serial: 8250: Add Aspeed UART driver with DMA supported
+
+This patch adds drivers for Aspeed UARTs, which are 16550A compatible.
+The drivers includes an wrapper to support the extended DMA feature of
+UART devices and another UDMA driver to control the UART DMA engine.
+
+Signed-off-by: Chia-Wei, Wang <chiawei_wang@aspeedtech.com>
+---
+ arch/arm/boot/dts/aspeed-ast2600-evb.dts | 5 -
+ .../arm/boot/dts/aspeed-bmc-intel-ast2600.dts | 2 -
+ arch/arm/boot/dts/aspeed-g6.dtsi | 28 +-
+ drivers/soc/aspeed/Kconfig | 8 +
+ drivers/soc/aspeed/Makefile | 1 +
+ drivers/soc/aspeed/aspeed-udma.c | 441 ++++++++++++++++
+ drivers/tty/serial/8250/8250_aspeed.c | 494 ++++++++++++++++++
+ drivers/tty/serial/8250/Kconfig | 8 +
+ drivers/tty/serial/8250/Makefile | 1 +
+ include/linux/soc/aspeed/aspeed-udma.h | 30 ++
+ 10 files changed, 997 insertions(+), 21 deletions(-)
+ create mode 100644 drivers/soc/aspeed/aspeed-udma.c
+ create mode 100644 drivers/tty/serial/8250/8250_aspeed.c
+ create mode 100644 include/linux/soc/aspeed/aspeed-udma.h
+
+diff --git a/arch/arm/boot/dts/aspeed-ast2600-evb.dts b/arch/arm/boot/dts/aspeed-ast2600-evb.dts
+index acbd1c947465..913749205c1d 100644
+--- a/arch/arm/boot/dts/aspeed-ast2600-evb.dts
++++ b/arch/arm/boot/dts/aspeed-ast2600-evb.dts
+@@ -180,11 +180,6 @@
+ };
+ };
+
+-&uart5 {
+- // Workaround for A0
+- compatible = "snps,dw-apb-uart";
+-};
+-
+ &i2c0 {
+ status = "okay";
+
+diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
+index 02c837c3e2c4..210d2bbdf836 100644
+--- a/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
++++ b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
+@@ -427,8 +427,6 @@
+
+ &uart5 {
+ status = "okay";
+- // Workaround for A0
+- compatible = "snps,dw-apb-uart";
+ };
+
+ &uart_routing {
+diff --git a/arch/arm/boot/dts/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed-g6.dtsi
+index e76dfb73430e..001ecf9ad33c 100644
+--- a/arch/arm/boot/dts/aspeed-g6.dtsi
++++ b/arch/arm/boot/dts/aspeed-g6.dtsi
+@@ -524,23 +524,22 @@
+ };
+
+ uart1: serial@1e783000 {
+- compatible = "ns16550a";
++ compatible = "aspeed,ast2600-uart";
+ reg = <0x1e783000 0x20>;
+- reg-shift = <2>;
+- reg-io-width = <4>;
+ interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&syscon ASPEED_CLK_GATE_UART1CLK>;
+ resets = <&lpc_reset 4>;
+ no-loopback-test;
++ dma-mode;
++ dma-channel = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_txd1_default &pinctrl_rxd1_default>;
+ status = "disabled";
+ };
+
+ uart5: serial@1e784000 {
+- compatible = "ns16550a";
++ compatible = "aspeed,ast2600-uart";
+ reg = <0x1e784000 0x1000>;
+- reg-shift = <2>;
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&syscon ASPEED_CLK_GATE_UART5CLK>;
+ no-loopback-test;
+@@ -754,10 +753,8 @@
+ };
+
+ uart2: serial@1e78d000 {
+- compatible = "ns16550a";
++ compatible = "aspeed,ast2600-uart";
+ reg = <0x1e78d000 0x20>;
+- reg-shift = <2>;
+- reg-io-width = <4>;
+ interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&syscon ASPEED_CLK_GATE_UART2CLK>;
+ resets = <&lpc_reset 5>;
+@@ -768,10 +765,8 @@
+ };
+
+ uart3: serial@1e78e000 {
+- compatible = "ns16550a";
++ compatible = "aspeed,ast2600-uart";
+ reg = <0x1e78e000 0x20>;
+- reg-shift = <2>;
+- reg-io-width = <4>;
+ interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&syscon ASPEED_CLK_GATE_UART3CLK>;
+ resets = <&lpc_reset 6>;
+@@ -782,10 +777,8 @@
+ };
+
+ uart4: serial@1e78f000 {
+- compatible = "ns16550a";
++ compatible = "aspeed,ast2600-uart";
+ reg = <0x1e78f000 0x20>;
+- reg-shift = <2>;
+- reg-io-width = <4>;
+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&syscon ASPEED_CLK_GATE_UART4CLK>;
+ resets = <&lpc_reset 7>;
+@@ -834,6 +827,13 @@
+ clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
+ status = "disabled";
+ };
++
++ udma: uart-dma@1e79e000 {
++ compatible = "aspeed,ast2600-udma";
++ reg = <0x1e79e000 0x400>;
++ interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
++ };
++
+ };
+ };
+ };
+diff --git a/drivers/soc/aspeed/Kconfig b/drivers/soc/aspeed/Kconfig
+index d36ee43451a5..ca284ac2f0ab 100644
+--- a/drivers/soc/aspeed/Kconfig
++++ b/drivers/soc/aspeed/Kconfig
+@@ -90,6 +90,14 @@ config ASPEED_XDMA
+ SoCs. The XDMA engine can perform PCIe DMA operations between the BMC
+ and a host processor.
+
++config ASPEED_UDMA
++ tristate "Aspeed UDMA Engine Driver"
++ depends on SOC_ASPEED && REGMAP && MFD_SYSCON && HAS_DMA
++ help
++ Enable support for the Aspeed UDMA Engine found on the Aspeed AST2XXX
++ SOCs. The UDMA engine can perform UART DMA operations between the memory
++ buffer and the UART/VUART devices.
++
+ config ASPEED_VGA_SHAREDMEM
+ tristate "Aspeed VGA Shared memory"
+ help
+diff --git a/drivers/soc/aspeed/Makefile b/drivers/soc/aspeed/Makefile
+index f3afc32b58b9..e6248ecdeee3 100644
+--- a/drivers/soc/aspeed/Makefile
++++ b/drivers/soc/aspeed/Makefile
+@@ -8,5 +8,6 @@ obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o
+ obj-$(CONFIG_ASPEED_P2A_CTRL) += aspeed-p2a-ctrl.o
+ obj-$(CONFIG_ASPEED_SOCINFO) += aspeed-socinfo.o
+ obj-$(CONFIG_ASPEED_XDMA) += aspeed-xdma.o
++obj-$(CONFIG_ASPEED_UDMA) += aspeed-udma.o
+ obj-$(CONFIG_ASPEED_VGA_SHAREDMEM) += aspeed-vga-sharedmem.o
+ obj-$(CONFIG_ASPEED_MCTP) += aspeed-mctp.o
+diff --git a/drivers/soc/aspeed/aspeed-udma.c b/drivers/soc/aspeed/aspeed-udma.c
+new file mode 100644
+index 000000000000..01b73ebe1880
+--- /dev/null
++++ b/drivers/soc/aspeed/aspeed-udma.c
+@@ -0,0 +1,441 @@
++#include <linux/io.h>
++#include <linux/module.h>
++#include <linux/interrupt.h>
++#include <linux/module.h>
++#include <linux/of.h>
++#include <linux/of_device.h>
++#include <linux/platform_device.h>
++#include <linux/dma-mapping.h>
++#include <linux/spinlock.h>
++#include <linux/soc/aspeed/aspeed-udma.h>
++
++#define DEVICE_NAME "aspeed-udma"
++
++/* UART DMA registers offset */
++#define UDMA_TX_DMA_EN 0x000
++#define UDMA_RX_DMA_EN 0x004
++#define UDMA_TIMEOUT_TIMER 0x00c
++#define UDMA_TX_DMA_RST 0x020
++#define UDMA_RX_DMA_RST 0x024
++#define UDMA_TX_DMA_INT_EN 0x030
++#define UDMA_TX_DMA_INT_STAT 0x034
++#define UDMA_RX_DMA_INT_EN 0x038
++#define UDMA_RX_DMA_INT_STAT 0x03c
++
++#define UDMA_CHX_OFF(x) ((x) * 0x20)
++#define UDMA_CHX_TX_RD_PTR(x) (0x040 + UDMA_CHX_OFF(x))
++#define UDMA_CHX_TX_WR_PTR(x) (0x044 + UDMA_CHX_OFF(x))
++#define UDMA_CHX_TX_BUF_BASE(x) (0x048 + UDMA_CHX_OFF(x))
++#define UDMA_CHX_TX_CTRL(x) (0x04c + UDMA_CHX_OFF(x))
++#define UDMA_TX_CTRL_TMOUT_DISABLE BIT(4)
++#define UDMA_TX_CTRL_BUFSZ_MASK GENMASK(3, 0)
++#define UDMA_TX_CTRL_BUFSZ_SHIFT 0
++#define UDMA_CHX_RX_RD_PTR(x) (0x050 + UDMA_CHX_OFF(x))
++#define UDMA_CHX_RX_WR_PTR(x) (0x054 + UDMA_CHX_OFF(x))
++#define UDMA_CHX_RX_BUF_BASE(x) (0x058 + UDMA_CHX_OFF(x))
++#define UDMA_CHX_RX_CTRL(x) (0x05c + UDMA_CHX_OFF(x))
++#define UDMA_RX_CTRL_TMOUT_DISABLE BIT(4)
++#define UDMA_RX_CTRL_BUFSZ_MASK GENMASK(3, 0)
++#define UDMA_RX_CTRL_BUFSZ_SHIFT 0
++
++#define UDMA_MAX_CHANNEL 14
++#define UDMA_TIMEOUT 0x200
++
++enum aspeed_udma_bufsz_code {
++ UDMA_BUFSZ_CODE_1KB,
++ UDMA_BUFSZ_CODE_4KB,
++ UDMA_BUFSZ_CODE_16KB,
++ UDMA_BUFSZ_CODE_64KB,
++
++ /*
++ * 128KB and above are supported ONLY for
++ * virtual UARTs. For physical UARTs, the
++ * size code is wrapped around at the 64K
++ * boundary.
++ */
++ UDMA_BUFSZ_CODE_128KB,
++ UDMA_BUFSZ_CODE_256KB,
++ UDMA_BUFSZ_CODE_512KB,
++ UDMA_BUFSZ_CODE_1024KB,
++ UDMA_BUFSZ_CODE_2048KB,
++ UDMA_BUFSZ_CODE_4096KB,
++ UDMA_BUFSZ_CODE_8192KB,
++ UDMA_BUFSZ_CODE_16384KB,
++};
++
++struct aspeed_udma_chan {
++ dma_addr_t dma_addr;
++
++ struct circ_buf *rb;
++ u32 rb_sz;
++
++ aspeed_udma_cb_t cb;
++ void *cb_arg;
++
++ bool dis_tmout;
++};
++
++struct aspeed_udma {
++ struct device *dev;
++ u8 __iomem *regs;
++ u32 irq;
++ struct aspeed_udma_chan tx_chs[UDMA_MAX_CHANNEL];
++ struct aspeed_udma_chan rx_chs[UDMA_MAX_CHANNEL];
++ spinlock_t lock;
++};
++
++struct aspeed_udma udma[1];
++
++static int aspeed_udma_get_bufsz_code(u32 buf_sz)
++{
++ switch (buf_sz) {
++ case 0x400:
++ return UDMA_BUFSZ_CODE_1KB;
++ case 0x1000:
++ return UDMA_BUFSZ_CODE_4KB;
++ case 0x4000:
++ return UDMA_BUFSZ_CODE_16KB;
++ case 0x10000:
++ return UDMA_BUFSZ_CODE_64KB;
++ case 0x20000:
++ return UDMA_BUFSZ_CODE_128KB;
++ case 0x40000:
++ return UDMA_BUFSZ_CODE_256KB;
++ case 0x80000:
++ return UDMA_BUFSZ_CODE_512KB;
++ case 0x100000:
++ return UDMA_BUFSZ_CODE_1024KB;
++ case 0x200000:
++ return UDMA_BUFSZ_CODE_2048KB;
++ case 0x400000:
++ return UDMA_BUFSZ_CODE_4096KB;
++ case 0x800000:
++ return UDMA_BUFSZ_CODE_8192KB;
++ case 0x1000000:
++ return UDMA_BUFSZ_CODE_16384KB;
++ default:
++ return -1;
++ }
++
++ return -1;
++}
++
++static u32 aspeed_udma_get_tx_rptr(u32 ch_no)
++{
++ return readl(udma->regs + UDMA_CHX_TX_RD_PTR(ch_no));
++}
++
++static u32 aspeed_udma_get_rx_wptr(u32 ch_no)
++{
++ return readl(udma->regs + UDMA_CHX_RX_WR_PTR(ch_no));
++}
++
++static void aspeed_udma_set_ptr(u32 ch_no, u32 ptr, bool is_tx)
++{
++ writel(ptr, udma->regs +
++ ((is_tx) ?
++ UDMA_CHX_TX_WR_PTR(ch_no) :
++ UDMA_CHX_RX_RD_PTR(ch_no)));
++}
++
++void aspeed_udma_set_tx_wptr(u32 ch_no, u32 wptr)
++{
++ aspeed_udma_set_ptr(ch_no, wptr, true);
++}
++EXPORT_SYMBOL(aspeed_udma_set_tx_wptr);
++
++void aspeed_udma_set_rx_rptr(u32 ch_no, u32 rptr)
++{
++ aspeed_udma_set_ptr(ch_no, rptr, false);
++}
++EXPORT_SYMBOL(aspeed_udma_set_rx_rptr);
++
++static int aspeed_udma_free_chan(u32 ch_no, bool is_tx)
++{
++ u32 reg;
++ unsigned long flags;
++
++ if (ch_no > UDMA_MAX_CHANNEL)
++ return -EINVAL;
++
++ spin_lock_irqsave(&udma->lock, flags);
++
++ reg = readl(udma->regs +
++ ((is_tx) ? UDMA_TX_DMA_INT_EN : UDMA_RX_DMA_INT_EN));
++ reg &= ~(0x1 << ch_no);
++
++ writel(reg, udma->regs +
++ ((is_tx) ? UDMA_TX_DMA_INT_EN : UDMA_RX_DMA_INT_EN));
++
++ spin_unlock_irqrestore(&udma->lock, flags);
++
++ return 0;
++}
++
++int aspeed_udma_free_tx_chan(u32 ch_no)
++{
++ return aspeed_udma_free_chan(ch_no, true);
++}
++EXPORT_SYMBOL(aspeed_udma_free_tx_chan);
++
++int aspeed_udma_free_rx_chan(u32 ch_no)
++{
++ return aspeed_udma_free_chan(ch_no, false);
++}
++EXPORT_SYMBOL(aspeed_udma_free_rx_chan);
++
++static int aspeed_udma_request_chan(u32 ch_no, dma_addr_t addr,
++ struct circ_buf *rb, u32 rb_sz,
++ aspeed_udma_cb_t cb, void *id, bool dis_tmout, bool is_tx)
++{
++ int retval = 0;
++ int rbsz_code;
++
++ u32 reg;
++ unsigned long flags;
++ struct aspeed_udma_chan *ch;
++
++ if (ch_no > UDMA_MAX_CHANNEL) {
++ retval = -EINVAL;
++ goto out;
++ }
++
++ if (IS_ERR_OR_NULL(rb) || IS_ERR_OR_NULL(rb->buf)) {
++ retval = -EINVAL;
++ goto out;
++ }
++
++ rbsz_code = aspeed_udma_get_bufsz_code(rb_sz);
++ if (rbsz_code < 0) {
++ retval = -EINVAL;
++ goto out;
++ }
++
++ spin_lock_irqsave(&udma->lock, flags);
++
++ if (is_tx) {
++ reg = readl(udma->regs + UDMA_TX_DMA_INT_EN);
++ if (reg & (0x1 << ch_no)) {
++ retval = -EBUSY;
++ goto unlock_n_out;
++ }
++
++ reg |= (0x1 << ch_no);
++ writel(reg, udma->regs + UDMA_TX_DMA_INT_EN);
++
++ reg = readl(udma->regs + UDMA_CHX_TX_CTRL(ch_no));
++ reg |= (dis_tmout) ? UDMA_TX_CTRL_TMOUT_DISABLE : 0;
++ reg |= (rbsz_code << UDMA_TX_CTRL_BUFSZ_SHIFT) & UDMA_TX_CTRL_BUFSZ_MASK;
++ writel(reg, udma->regs + UDMA_CHX_TX_CTRL(ch_no));
++
++ writel(addr, udma->regs + UDMA_CHX_TX_BUF_BASE(ch_no));
++ }
++ else {
++ reg = readl(udma->regs + UDMA_RX_DMA_INT_EN);
++ if (reg & (0x1 << ch_no)) {
++ retval = -EBUSY;
++ goto unlock_n_out;
++ }
++
++ reg |= (0x1 << ch_no);
++ writel(reg, udma->regs + UDMA_RX_DMA_INT_EN);
++
++ reg = readl(udma->regs + UDMA_CHX_RX_CTRL(ch_no));
++ reg |= (dis_tmout) ? UDMA_RX_CTRL_TMOUT_DISABLE : 0;
++ reg |= (rbsz_code << UDMA_RX_CTRL_BUFSZ_SHIFT) & UDMA_RX_CTRL_BUFSZ_MASK;
++ writel(reg, udma->regs + UDMA_CHX_RX_CTRL(ch_no));
++
++ writel(addr, udma->regs + UDMA_CHX_RX_BUF_BASE(ch_no));
++ }
++
++ ch = (is_tx) ? &udma->tx_chs[ch_no] : &udma->rx_chs[ch_no];
++ ch->rb = rb;
++ ch->rb_sz = rb_sz;
++ ch->cb = cb;
++ ch->cb_arg = id;
++ ch->dma_addr = addr;
++ ch->dis_tmout = dis_tmout;
++
++unlock_n_out:
++ spin_unlock_irqrestore(&udma->lock, flags);
++out:
++ return 0;
++}
++
++int aspeed_udma_request_tx_chan(u32 ch_no, dma_addr_t addr,
++ struct circ_buf *rb, u32 rb_sz,
++ aspeed_udma_cb_t cb, void *id, bool dis_tmout)
++{
++ return aspeed_udma_request_chan(ch_no, addr, rb, rb_sz, cb, id,
++ dis_tmout, true);
++}
++EXPORT_SYMBOL(aspeed_udma_request_tx_chan);
++
++int aspeed_udma_request_rx_chan(u32 ch_no, dma_addr_t addr,
++ struct circ_buf *rb, u32 rb_sz,
++ aspeed_udma_cb_t cb, void *id, bool dis_tmout)
++{
++ return aspeed_udma_request_chan(ch_no, addr, rb, rb_sz, cb, id,
++ dis_tmout, false);
++}
++EXPORT_SYMBOL(aspeed_udma_request_rx_chan);
++
++static void aspeed_udma_chan_ctrl(u32 ch_no, u32 op, bool is_tx)
++{
++ unsigned long flags;
++ u32 reg_en, reg_rst;
++ u32 reg_en_off = (is_tx) ? UDMA_TX_DMA_EN : UDMA_RX_DMA_EN;
++ u32 reg_rst_off = (is_tx) ? UDMA_TX_DMA_RST : UDMA_TX_DMA_RST;
++
++ if (ch_no > UDMA_MAX_CHANNEL)
++ return;
++
++ spin_lock_irqsave(&udma->lock, flags);
++
++ reg_en = readl(udma->regs + reg_en_off);
++ reg_rst = readl(udma->regs + reg_rst_off);
++
++ switch (op) {
++ case ASPEED_UDMA_OP_ENABLE:
++ reg_en |= (0x1 << ch_no);
++ writel(reg_en, udma->regs + reg_en_off);
++ break;
++ case ASPEED_UDMA_OP_DISABLE:
++ reg_en &= ~(0x1 << ch_no);
++ writel(reg_en, udma->regs + reg_en_off);
++ break;
++ case ASPEED_UDMA_OP_RESET:
++ reg_en &= ~(0x1 << ch_no);
++ writel(reg_en, udma->regs + reg_en_off);
++ reg_rst |= (0x1 << ch_no);
++ writel(reg_rst, udma->regs + reg_rst_off);
++ reg_rst &= ~(0x1 << ch_no);
++ writel(reg_rst, udma->regs + reg_rst_off);
++ break;
++ default:
++ break;
++ }
++
++ spin_unlock_irqrestore(&udma->lock, flags);
++}
++
++void aspeed_udma_tx_chan_ctrl(u32 ch_no, enum aspeed_udma_ops op)
++{
++ aspeed_udma_chan_ctrl(ch_no, op, true);
++}
++EXPORT_SYMBOL(aspeed_udma_tx_chan_ctrl);
++
++void aspeed_udma_rx_chan_ctrl(u32 ch_no, enum aspeed_udma_ops op)
++{
++ aspeed_udma_chan_ctrl(ch_no, op, false);
++}
++EXPORT_SYMBOL(aspeed_udma_rx_chan_ctrl);
++
++static irqreturn_t aspeed_udma_isr(int irq, void *arg)
++{
++ u32 bit;
++ unsigned long tx_stat = readl(udma->regs + UDMA_TX_DMA_INT_STAT);
++ unsigned long rx_stat = readl(udma->regs + UDMA_RX_DMA_INT_STAT);
++
++ if (udma != (struct aspeed_udma *)arg)
++ return IRQ_NONE;
++
++ if (tx_stat == 0 && rx_stat == 0)
++ return IRQ_NONE;
++
++ for_each_set_bit(bit, &tx_stat, UDMA_MAX_CHANNEL) {
++ writel((0x1 << bit), udma->regs + UDMA_TX_DMA_INT_STAT);
++ if (udma->tx_chs[bit].cb)
++ udma->tx_chs[bit].cb(aspeed_udma_get_tx_rptr(bit),
++ udma->tx_chs[bit].cb_arg);
++ }
++
++ for_each_set_bit(bit, &rx_stat, UDMA_MAX_CHANNEL) {
++ writel((0x1 << bit), udma->regs + UDMA_RX_DMA_INT_STAT);
++ if (udma->rx_chs[bit].cb)
++ udma->rx_chs[bit].cb(aspeed_udma_get_rx_wptr(bit),
++ udma->rx_chs[bit].cb_arg);
++ }
++
++ return IRQ_HANDLED;
++}
++
++static int aspeed_udma_probe(struct platform_device *pdev)
++{
++ int i, rc;
++ struct resource *res;
++ struct device *dev = &pdev->dev;
++
++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ if (IS_ERR_OR_NULL(res)) {
++ dev_err(dev, "failed to get register base\n");
++ return -ENODEV;
++ }
++
++ udma->regs = devm_ioremap_resource(dev, res);
++ if (IS_ERR_OR_NULL(udma->regs)) {
++ dev_err(dev, "failed to map registers\n");
++ return PTR_ERR(udma->regs);
++ }
++
++ /* disable for safety */
++ writel(0x0, udma->regs + UDMA_TX_DMA_EN);
++ writel(0x0, udma->regs + UDMA_RX_DMA_EN);
++
++ udma->irq = platform_get_irq(pdev, 0);
++ if (udma->irq < 0) {
++ dev_err(dev, "failed to get IRQ number\n");
++ return -ENODEV;
++ }
++
++ rc = devm_request_irq(dev, udma->irq, aspeed_udma_isr,
++ IRQF_SHARED, DEVICE_NAME, udma);
++ if (rc) {
++ dev_err(dev, "failed to request IRQ handler\n");
++ return rc;
++ }
++
++ for (i = 0; i < UDMA_MAX_CHANNEL; ++i) {
++ writel(0, udma->regs + UDMA_CHX_TX_WR_PTR(i));
++ writel(0, udma->regs + UDMA_CHX_RX_RD_PTR(i));
++ }
++
++ writel(0xffffffff, udma->regs + UDMA_TX_DMA_RST);
++ writel(0x0, udma->regs + UDMA_TX_DMA_RST);
++
++ writel(0xffffffff, udma->regs + UDMA_RX_DMA_RST);
++ writel(0x0, udma->regs + UDMA_RX_DMA_RST);
++
++ writel(0x0, udma->regs + UDMA_TX_DMA_INT_EN);
++ writel(0xffffffff, udma->regs + UDMA_TX_DMA_INT_STAT);
++ writel(0x0, udma->regs + UDMA_RX_DMA_INT_EN);
++ writel(0xffffffff, udma->regs + UDMA_RX_DMA_INT_STAT);
++
++ writel(UDMA_TIMEOUT, udma->regs + UDMA_TIMEOUT_TIMER);
++
++ spin_lock_init(&udma->lock);
++
++ dev_set_drvdata(dev, udma);
++
++ return 0;
++}
++
++static const struct of_device_id aspeed_udma_match[] = {
++ { .compatible = "aspeed,ast2500-udma" },
++ { .compatible = "aspeed,ast2600-udma" },
++};
++
++static struct platform_driver aspeed_udma_driver = {
++ .driver = {
++ .name = DEVICE_NAME,
++ .of_match_table = aspeed_udma_match,
++
++ },
++ .probe = aspeed_udma_probe,
++};
++
++module_platform_driver(aspeed_udma_driver);
++
++MODULE_AUTHOR("Chia-Wei Wang <chiawei_wang@aspeedtech.com>");
++MODULE_LICENSE("GPL");
++MODULE_DESCRIPTION("Aspeed UDMA Engine Driver");
+diff --git a/drivers/tty/serial/8250/8250_aspeed.c b/drivers/tty/serial/8250/8250_aspeed.c
+new file mode 100644
+index 000000000000..1dc798298fca
+--- /dev/null
++++ b/drivers/tty/serial/8250/8250_aspeed.c
+@@ -0,0 +1,494 @@
++// SPDX-License-Identifier: GPL-2.0
++/*
++ * Copyright (C) ASPEED Technology Inc.
++ */
++#include <linux/device.h>
++#include <linux/io.h>
++#include <linux/module.h>
++#include <linux/serial_8250.h>
++#include <linux/serial_reg.h>
++#include <linux/of.h>
++#include <linux/of_irq.h>
++#include <linux/of_platform.h>
++#include <linux/platform_device.h>
++#include <linux/clk.h>
++#include <linux/reset.h>
++#include <linux/dma-mapping.h>
++#include <linux/circ_buf.h>
++#include <linux/tty_flip.h>
++#include <linux/pm_runtime.h>
++#include <linux/soc/aspeed/aspeed-udma.h>
++
++#include "8250.h"
++
++#define DEVICE_NAME "aspeed-uart"
++
++/* offsets for the aspeed virtual uart registers */
++#define VUART_GCRA 0x20
++#define VUART_GCRA_VUART_EN BIT(0)
++#define VUART_GCRA_SIRQ_POLARITY BIT(1)
++#define VUART_GCRA_DISABLE_HOST_TX_DISCARD BIT(5)
++#define VUART_GCRB 0x24
++#define VUART_GCRB_HOST_SIRQ_MASK GENMASK(7, 4)
++#define VUART_GCRB_HOST_SIRQ_SHIFT 4
++#define VUART_ADDRL 0x28
++#define VUART_ADDRH 0x2c
++
++#define DMA_TX_BUFSZ PAGE_SIZE
++#define DMA_RX_BUFSZ (64 * 1024)
++
++struct uart_ops ast8250_pops;
++
++struct ast8250_vuart {
++ u32 port;
++ u32 sirq;
++ u32 sirq_pol;
++};
++
++struct ast8250_udma {
++ u32 ch;
++
++ u32 tx_rbsz;
++ u32 rx_rbsz;
++
++ dma_addr_t tx_addr;
++ dma_addr_t rx_addr;
++
++ struct circ_buf *tx_rb;
++ struct circ_buf *rx_rb;
++
++ bool tx_tmout_dis;
++ bool rx_tmout_dis;
++};
++
++struct ast8250_data {
++ int line;
++
++ u8 __iomem *regs;
++
++ bool is_vuart;
++ bool use_dma;
++
++ struct reset_control *rst;
++ struct clk *clk;
++
++ struct ast8250_vuart vuart;
++ struct ast8250_udma dma;
++};
++
++static void ast8250_dma_tx_complete(int tx_rb_rptr, void *id)
++{
++ u32 count;
++ unsigned long flags;
++ struct uart_port *port = (struct uart_port*)id;
++ struct ast8250_data *data = port->private_data;
++
++ spin_lock_irqsave(&port->lock, flags);
++
++ count = CIRC_CNT(tx_rb_rptr, port->state->xmit.tail, data->dma.tx_rbsz);
++ port->state->xmit.tail = tx_rb_rptr;
++ port->icount.tx += count;
++
++ if (uart_circ_chars_pending(&port->state->xmit) < WAKEUP_CHARS)
++ uart_write_wakeup(port);
++
++ spin_unlock_irqrestore(&port->lock, flags);
++}
++
++static void ast8250_dma_rx_complete(int rx_rb_wptr, void *id)
++{
++ unsigned long flags;
++ struct uart_port *up = (struct uart_port*)id;
++ struct tty_port *tp = &up->state->port;
++ struct ast8250_data *data = up->private_data;
++ struct ast8250_udma *dma = &data->dma;
++ struct circ_buf *rx_rb = dma->rx_rb;
++ u32 rx_rbsz = dma->rx_rbsz;
++ u32 count = 0;
++
++ spin_lock_irqsave(&up->lock, flags);
++
++ rx_rb->head = rx_rb_wptr;
++
++ dma_sync_single_for_cpu(up->dev,
++ dma->rx_addr, dma->rx_rbsz, DMA_FROM_DEVICE);
++
++ while (CIRC_CNT(rx_rb->head, rx_rb->tail, rx_rbsz)) {
++ count = CIRC_CNT_TO_END(rx_rb->head, rx_rb->tail, rx_rbsz);
++
++ tty_insert_flip_string(tp, rx_rb->buf + rx_rb->tail, count);
++
++ rx_rb->tail += count;
++ rx_rb->tail %= rx_rbsz;
++
++ up->icount.rx += count;
++ }
++
++ if (count) {
++ aspeed_udma_set_rx_rptr(data->dma.ch, rx_rb->tail);
++ tty_flip_buffer_push(tp);
++ }
++
++ spin_unlock_irqrestore(&up->lock, flags);
++}
++
++static void ast8250_dma_start_tx(struct uart_port *port)
++{
++ struct ast8250_data *data = port->private_data;
++ struct ast8250_udma *dma = &data->dma;
++ struct circ_buf *tx_rb = dma->tx_rb;
++
++ dma_sync_single_for_device(port->dev,
++ dma->tx_addr, dma->tx_rbsz, DMA_TO_DEVICE);
++
++ aspeed_udma_set_tx_wptr(dma->ch, tx_rb->head);
++}
++
++static void ast8250_dma_pops_hook(struct uart_port *port)
++{
++ static int first = 1;
++
++ if (first) {
++ ast8250_pops = *port->ops;
++ ast8250_pops.start_tx = ast8250_dma_start_tx;
++ }
++
++ first = 0;
++ port->ops = &ast8250_pops;
++}
++
++static void ast8250_vuart_init(struct ast8250_data *data)
++{
++ u8 reg;
++ struct ast8250_vuart *vuart = &data->vuart;
++
++ /* IO port address */
++ writeb((u8)(vuart->port >> 0), data->regs + VUART_ADDRL);
++ writeb((u8)(vuart->port >> 8), data->regs + VUART_ADDRH);
++
++ /* SIRQ number */
++ reg = readb(data->regs + VUART_GCRB);
++ reg &= ~VUART_GCRB_HOST_SIRQ_MASK;
++ reg |= ((vuart->sirq << VUART_GCRB_HOST_SIRQ_SHIFT) & VUART_GCRB_HOST_SIRQ_MASK);
++ writeb(reg, data->regs + VUART_GCRB);
++
++ /* SIRQ polarity */
++ reg = readb(data->regs + VUART_GCRA);
++ if (vuart->sirq_pol)
++ reg |= VUART_GCRA_SIRQ_POLARITY;
++ else
++ reg &= ~VUART_GCRA_SIRQ_POLARITY;
++ writeb(reg, data->regs + VUART_GCRA);
++}
++
++static void ast8250_vuart_set_host_tx_discard(struct ast8250_data *data, bool discard)
++{
++ u8 reg;
++
++ reg = readb(data->regs + VUART_GCRA);
++ if (discard)
++ reg &= ~VUART_GCRA_DISABLE_HOST_TX_DISCARD;
++ else
++ reg |= VUART_GCRA_DISABLE_HOST_TX_DISCARD;
++ writeb(reg, data->regs + VUART_GCRA);
++}
++
++static void ast8250_vuart_set_enable(struct ast8250_data *data, bool enable)
++{
++ u8 reg;
++
++ reg = readb(data->regs + VUART_GCRA);
++ if (enable)
++ reg |= VUART_GCRA_VUART_EN;
++ else
++ reg &= ~VUART_GCRA_VUART_EN;
++ writeb(reg, data->regs + VUART_GCRA);
++}
++
++static int ast8250_handle_irq(struct uart_port *port)
++{
++ u32 iir = port->serial_in(port, UART_IIR);
++ return serial8250_handle_irq(port, iir);
++}
++
++static int ast8250_startup(struct uart_port *port)
++{
++ int rc = 0;
++ struct ast8250_data *data = port->private_data;
++ struct ast8250_udma *dma;
++
++ if (data->is_vuart)
++ ast8250_vuart_set_host_tx_discard(data, false);
++
++ if (data->use_dma) {
++ dma = &data->dma;
++
++ dma->tx_rbsz = DMA_TX_BUFSZ;
++ dma->rx_rbsz = DMA_RX_BUFSZ;
++
++ /*
++ * We take the xmit buffer passed from upper layers as
++ * the DMA TX buffer and allocate a new buffer for the
++ * RX use.
++ *
++ * To keep the TX/RX operation consistency, we use the
++ * streaming DMA interface instead of the coherent one
++ */
++ dma->tx_rb = &port->state->xmit;
++ dma->rx_rb->buf = kzalloc(data->dma.rx_rbsz, GFP_KERNEL);
++ if (IS_ERR_OR_NULL(dma->rx_rb->buf)) {
++ dev_err(port->dev, "failed to allcoate RX DMA buffer\n");
++ rc = -ENOMEM;
++ goto out;
++ }
++
++ dma->tx_addr = dma_map_single(port->dev, dma->tx_rb->buf,
++ dma->tx_rbsz, DMA_TO_DEVICE);
++ if (dma_mapping_error(port->dev, dma->tx_addr)) {
++ dev_err(port->dev, "failed to map streaming TX DMA region\n");
++ rc = -ENOMEM;
++ goto free_dma_n_out;
++ }
++
++ dma->rx_addr = dma_map_single(port->dev, dma->rx_rb->buf,
++ dma->rx_rbsz, DMA_FROM_DEVICE);
++ if (dma_mapping_error(port->dev, dma->rx_addr)) {
++ dev_err(port->dev, "failed to map streaming RX DMA region\n");
++ rc = -ENOMEM;
++ goto free_dma_n_out;
++ }
++
++ rc = aspeed_udma_request_tx_chan(dma->ch, dma->tx_addr,
++ dma->tx_rb, dma->tx_rbsz, ast8250_dma_tx_complete, port, dma->tx_tmout_dis);
++ if (rc) {
++ dev_err(port->dev, "failed to request DMA TX channel\n");
++ goto free_dma_n_out;
++ }
++
++ rc = aspeed_udma_request_rx_chan(dma->ch, dma->rx_addr,
++ dma->rx_rb, dma->rx_rbsz, ast8250_dma_rx_complete, port, dma->tx_tmout_dis);
++ if (rc) {
++ dev_err(port->dev, "failed to request DMA RX channel\n");
++ goto free_dma_n_out;
++ }
++
++ ast8250_dma_pops_hook(port);
++
++ aspeed_udma_tx_chan_ctrl(dma->ch, ASPEED_UDMA_OP_ENABLE);
++ aspeed_udma_rx_chan_ctrl(dma->ch, ASPEED_UDMA_OP_ENABLE);
++ }
++
++ memset(&port->icount, 0, sizeof(port->icount));
++ return serial8250_do_startup(port);
++
++free_dma_n_out:
++ kfree(dma->rx_rb->buf);
++out:
++ return rc;
++}
++
++static void ast8250_shutdown(struct uart_port *port)
++{
++ int rc;
++ struct ast8250_data *data = port->private_data;
++ struct ast8250_udma *dma;
++
++ if (data->use_dma) {
++ dma = &data->dma;
++
++ aspeed_udma_tx_chan_ctrl(dma->ch, ASPEED_UDMA_OP_DISABLE);
++ aspeed_udma_rx_chan_ctrl(dma->ch, ASPEED_UDMA_OP_DISABLE);
++
++ rc = aspeed_udma_free_tx_chan(dma->ch);
++ if (rc)
++ dev_err(port->dev, "failed to free DMA TX channel, rc=%d\n", rc);
++
++ rc = aspeed_udma_free_rx_chan(dma->ch);
++ if (rc)
++ dev_err(port->dev, "failed to free DMA TX channel, rc=%d\n", rc);
++
++ dma_unmap_single(port->dev, dma->tx_addr,
++ dma->tx_rbsz, DMA_TO_DEVICE);
++ dma_unmap_single(port->dev, dma->rx_addr,
++ dma->rx_rbsz, DMA_FROM_DEVICE);
++
++ if (dma->rx_rb->buf)
++ kfree(dma->rx_rb->buf);
++ }
++
++ if (data->is_vuart)
++ ast8250_vuart_set_host_tx_discard(data, true);
++
++ serial8250_do_shutdown(port);
++}
++
++static int __maybe_unused ast8250_suspend(struct device *dev)
++{
++ struct ast8250_data *data = dev_get_drvdata(dev);
++ serial8250_suspend_port(data->line);
++ return 0;
++}
++
++static int __maybe_unused ast8250_resume(struct device *dev)
++{
++ struct ast8250_data *data = dev_get_drvdata(dev);
++ serial8250_resume_port(data->line);
++ return 0;
++}
++
++static int ast8250_probe(struct platform_device *pdev)
++{
++ int rc;
++ struct uart_8250_port uart = {};
++ struct uart_port *port = &uart.port;
++ struct device *dev = &pdev->dev;
++ struct ast8250_data *data;
++
++ struct resource *res;
++ u32 irq;
++
++ data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
++ if (data == NULL)
++ return -ENOMEM;
++
++ data->dma.rx_rb = devm_kzalloc(dev, sizeof(data->dma.rx_rb), GFP_KERNEL);
++ if (data->dma.rx_rb == NULL)
++ return -ENOMEM;
++
++ irq = platform_get_irq(pdev, 0);
++ if (irq < 0) {
++ if (irq != -EPROBE_DEFER)
++ dev_err(dev, "failed to get IRQ number\n");
++ return irq;
++ }
++
++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ if (res == NULL) {
++ dev_err(dev, "failed to get register base\n");
++ return -ENODEV;
++ }
++
++ data->regs = devm_ioremap(dev, res->start, resource_size(res));
++ if (IS_ERR(data->regs)) {
++ dev_err(dev, "failed to map registers\n");
++ return PTR_ERR(data->regs);
++ }
++
++ data->clk = devm_clk_get(dev, NULL);
++ if (IS_ERR(data->clk)) {
++ dev_err(dev, "failed to get clocks\n");
++ return -ENODEV;
++ }
++
++ rc = clk_prepare_enable(data->clk);
++ if (rc) {
++ dev_err(dev, "failed to enable clock\n");
++ return rc;
++ }
++
++ data->rst = devm_reset_control_get_optional_exclusive(dev, NULL);
++ if (!IS_ERR(data->rst))
++ reset_control_deassert(data->rst);
++
++ data->is_vuart = of_property_read_bool(dev->of_node, "virtual");
++ if (data->is_vuart) {
++ rc = of_property_read_u32(dev->of_node, "port", &data->vuart.port);
++ if (rc) {
++ dev_err(dev, "failed to get VUART port address\n");
++ return -ENODEV;
++ }
++
++ rc = of_property_read_u32(dev->of_node, "sirq", &data->vuart.sirq);
++ if (rc) {
++ dev_err(dev, "failed to get VUART SIRQ number\n");
++ return -ENODEV;
++ }
++
++ rc = of_property_read_u32(dev->of_node, "sirq-polarity", &data->vuart.sirq_pol);
++ if (rc) {
++ dev_err(dev, "failed to get VUART SIRQ polarity\n");
++ return -ENODEV;
++ }
++
++ ast8250_vuart_init(data);
++ ast8250_vuart_set_host_tx_discard(data, true);
++ ast8250_vuart_set_enable(data, true);
++ }
++
++ data->use_dma = of_property_read_bool(dev->of_node, "dma-mode");
++ if (data->use_dma) {
++ rc = of_property_read_u32(dev->of_node, "dma-channel", &data->dma.ch);
++ if (rc) {
++ dev_err(dev, "failed to get DMA channel\n");
++ return -ENODEV;
++ }
++
++ data->dma.tx_tmout_dis = of_property_read_bool(dev->of_node, "dma-tx-timeout-disable");
++ data->dma.rx_tmout_dis = of_property_read_bool(dev->of_node, "dma-rx-timeout-disable");
++ }
++
++ spin_lock_init(&port->lock);
++ port->dev = dev;
++ port->type = PORT_16550;
++ port->irq = irq;
++ port->line = of_alias_get_id(dev->of_node, "serial");
++ port->handle_irq = ast8250_handle_irq;
++ port->mapbase = res->start;
++ port->mapsize = resource_size(res);
++ port->membase = data->regs;
++ port->uartclk = clk_get_rate(data->clk);
++ port->regshift = 2;
++ port->iotype = UPIO_MEM32;
++ port->flags = UPF_FIXED_PORT | UPF_SHARE_IRQ;
++ port->startup = ast8250_startup;
++ port->shutdown = ast8250_shutdown;
++ port->private_data = data;
++
++ data->line = serial8250_register_8250_port(&uart);
++ if (data->line < 0) {
++ dev_err(dev, "failed to register 8250 port\n");
++ return data->line;
++ }
++
++ pm_runtime_set_active(&pdev->dev);
++ pm_runtime_enable(&pdev->dev);
++
++ platform_set_drvdata(pdev, data);
++ return 0;
++}
++
++static int ast8250_remove(struct platform_device *pdev)
++{
++ struct ast8250_data *data = platform_get_drvdata(pdev);
++
++ if (data->is_vuart)
++ ast8250_vuart_set_enable(data, false);
++
++ serial8250_unregister_port(data->line);
++ return 0;
++}
++
++static const struct dev_pm_ops ast8250_pm_ops = {
++ SET_SYSTEM_SLEEP_PM_OPS(ast8250_suspend, ast8250_resume)
++};
++
++static const struct of_device_id ast8250_of_match[] = {
++ { .compatible = "aspeed,ast2500-uart" },
++ { .compatible = "aspeed,ast2600-uart" },
++};
++
++static struct platform_driver ast8250_platform_driver = {
++ .driver = {
++ .name = DEVICE_NAME,
++ .pm = &ast8250_pm_ops,
++ .of_match_table = ast8250_of_match,
++ },
++ .probe = ast8250_probe,
++ .remove = ast8250_remove,
++};
++
++module_platform_driver(ast8250_platform_driver);
++
++MODULE_AUTHOR("Chia-Wei Wang <chiawei_wang@aspeedtech.com>");
++MODULE_LICENSE("GPL");
++MODULE_DESCRIPTION("Aspeed UART Driver");
+diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
+index d1b3c2373fa4..b62a972c9c97 100644
+--- a/drivers/tty/serial/8250/Kconfig
++++ b/drivers/tty/serial/8250/Kconfig
+@@ -249,6 +249,14 @@ config SERIAL_8250_ACCENT
+ To compile this driver as a module, choose M here: the module
+ will be called 8250_accent.
+
++config SERIAL_8250_ASPEED
++ tristate "Aspeed serial port support"
++ depends on SERIAL_8250 && ARCH_ASPEED
++ select ASPEED_UDMA
++ help
++ If you have a system using an Aspeed ASTXXXX SoCs and wish to make use
++ of its UARTs, say Y to this option. If unsure, say N.
++
+ config SERIAL_8250_ASPEED_VUART
+ tristate "Aspeed Virtual UART"
+ depends on SERIAL_8250
+diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile
+index b9bcd73c8997..310375fe8d7e 100644
+--- a/drivers/tty/serial/8250/Makefile
++++ b/drivers/tty/serial/8250/Makefile
+@@ -16,6 +16,7 @@ obj-$(CONFIG_SERIAL_8250_EXAR) += 8250_exar.o
+ obj-$(CONFIG_SERIAL_8250_HP300) += 8250_hp300.o
+ obj-$(CONFIG_SERIAL_8250_CS) += serial_cs.o
+ obj-$(CONFIG_SERIAL_8250_ACORN) += 8250_acorn.o
++obj-$(CONFIG_SERIAL_8250_ASPEED) += 8250_aspeed.o
+ obj-$(CONFIG_SERIAL_8250_ASPEED_VUART) += 8250_aspeed_vuart.o
+ obj-$(CONFIG_SERIAL_8250_BCM2835AUX) += 8250_bcm2835aux.o
+ obj-$(CONFIG_SERIAL_8250_CONSOLE) += 8250_early.o
+diff --git a/include/linux/soc/aspeed/aspeed-udma.h b/include/linux/soc/aspeed/aspeed-udma.h
+new file mode 100644
+index 000000000000..33acea745f1c
+--- /dev/null
++++ b/include/linux/soc/aspeed/aspeed-udma.h
+@@ -0,0 +1,30 @@
++#ifndef __ASPEED_UDMA_H__
++#define __ASPEED_UDMA_H__
++
++#include <linux/circ_buf.h>
++
++typedef void (*aspeed_udma_cb_t)(int rb_rwptr, void *id);
++
++enum aspeed_udma_ops {
++ ASPEED_UDMA_OP_ENABLE,
++ ASPEED_UDMA_OP_DISABLE,
++ ASPEED_UDMA_OP_RESET,
++};
++
++void aspeed_udma_set_tx_wptr(u32 ch_no, u32 wptr);
++void aspeed_udma_set_rx_rptr(u32 ch_no, u32 rptr);
++
++void aspeed_udma_tx_chan_ctrl(u32 ch_no, enum aspeed_udma_ops op);
++void aspeed_udma_rx_chan_ctrl(u32 ch_no, enum aspeed_udma_ops op);
++
++int aspeed_udma_request_tx_chan(u32 ch_no, dma_addr_t addr,
++ struct circ_buf *rb, u32 rb_sz,
++ aspeed_udma_cb_t cb, void *id, bool en_tmout);
++int aspeed_udma_request_rx_chan(u32 ch_no, dma_addr_t addr,
++ struct circ_buf *rb, u32 rb_sz,
++ aspeed_udma_cb_t cb, void *id, bool en_tmout);
++
++int aspeed_udma_free_tx_chan(u32 ch_no);
++int aspeed_udma_free_rx_chan(u32 ch_no);
++
++#endif
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0002-serial-8250-Fix-RX-DMA-time-out-property.patch b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0002-serial-8250-Fix-RX-DMA-time-out-property.patch
new file mode 100644
index 000000000..bbadb8b01
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0002-serial-8250-Fix-RX-DMA-time-out-property.patch
@@ -0,0 +1,29 @@
+From 64897e97edeefc7fbc89b07aaece760009ba76a0 Mon Sep 17 00:00:00 2001
+From: "Chia-Wei, Wang" <chiawei_wang@aspeedtech.com>
+Date: Mon, 21 Dec 2020 16:27:20 +0800
+Subject: [PATCH] serial: 8250: Fix RX DMA time out property
+
+Fix the typo that passing the TX DMA time out property
+to the RX configuration.
+
+Signed-off-by: Chia-Wei, Wang <chiawei_wang@aspeedtech.com>
+---
+ drivers/tty/serial/8250/8250_aspeed.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/tty/serial/8250/8250_aspeed.c b/drivers/tty/serial/8250/8250_aspeed.c
+index 1dc798298fca..fc14c86d3761 100644
+--- a/drivers/tty/serial/8250/8250_aspeed.c
++++ b/drivers/tty/serial/8250/8250_aspeed.c
+@@ -266,7 +266,7 @@ static int ast8250_startup(struct uart_port *port)
+ }
+
+ rc = aspeed_udma_request_rx_chan(dma->ch, dma->rx_addr,
+- dma->rx_rb, dma->rx_rbsz, ast8250_dma_rx_complete, port, dma->tx_tmout_dis);
++ dma->rx_rb, dma->rx_rbsz, ast8250_dma_rx_complete, port, dma->rx_tmout_dis);
+ if (rc) {
+ dev_err(port->dev, "failed to request DMA RX channel\n");
+ goto free_dma_n_out;
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0003-serial-8250_aspeed-Make-port-type-fixed.patch b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0003-serial-8250_aspeed-Make-port-type-fixed.patch
new file mode 100644
index 000000000..4a0e221b6
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0003-serial-8250_aspeed-Make-port-type-fixed.patch
@@ -0,0 +1,57 @@
+From a7a8bf2f7df17f69a407abe21a14b3f0f2c7338c Mon Sep 17 00:00:00 2001
+From: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
+Date: Mon, 31 May 2021 15:39:59 +0800
+Subject: [PATCH] serial/8250_aspeed: Make port type fixed
+
+Make the UART port type fixed to 16550A to
+avoid redundant probing.
+
+Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
+Change-Id: Id179725b1cd475cd52c18c43b6c312dcd912fc20
+---
+ drivers/tty/serial/8250/8250_aspeed.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/tty/serial/8250/8250_aspeed.c b/drivers/tty/serial/8250/8250_aspeed.c
+index fc14c86d3761..bb3955bb8c24 100644
+--- a/drivers/tty/serial/8250/8250_aspeed.c
++++ b/drivers/tty/serial/8250/8250_aspeed.c
+@@ -25,12 +25,12 @@
+
+ /* offsets for the aspeed virtual uart registers */
+ #define VUART_GCRA 0x20
+-#define VUART_GCRA_VUART_EN BIT(0)
+-#define VUART_GCRA_SIRQ_POLARITY BIT(1)
+-#define VUART_GCRA_DISABLE_HOST_TX_DISCARD BIT(5)
++#define VUART_GCRA_VUART_EN BIT(0)
++#define VUART_GCRA_SIRQ_POLARITY BIT(1)
++#define VUART_GCRA_DISABLE_HOST_TX_DISCARD BIT(5)
+ #define VUART_GCRB 0x24
+-#define VUART_GCRB_HOST_SIRQ_MASK GENMASK(7, 4)
+-#define VUART_GCRB_HOST_SIRQ_SHIFT 4
++#define VUART_GCRB_HOST_SIRQ_MASK GENMASK(7, 4)
++#define VUART_GCRB_HOST_SIRQ_SHIFT 4
+ #define VUART_ADDRL 0x28
+ #define VUART_ADDRH 0x2c
+
+@@ -429,7 +429,7 @@ static int ast8250_probe(struct platform_device *pdev)
+
+ spin_lock_init(&port->lock);
+ port->dev = dev;
+- port->type = PORT_16550;
++ port->type = PORT_16550A;
+ port->irq = irq;
+ port->line = of_alias_get_id(dev->of_node, "serial");
+ port->handle_irq = ast8250_handle_irq;
+@@ -439,7 +439,7 @@ static int ast8250_probe(struct platform_device *pdev)
+ port->uartclk = clk_get_rate(data->clk);
+ port->regshift = 2;
+ port->iotype = UPIO_MEM32;
+- port->flags = UPF_FIXED_PORT | UPF_SHARE_IRQ;
++ port->flags = UPF_FIXED_TYPE | UPF_FIXED_PORT | UPF_SHARE_IRQ;
+ port->startup = ast8250_startup;
+ port->shutdown = ast8250_shutdown;
+ port->private_data = data;
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0001-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0004-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch
index 05e40afb3..757b00a25 100644
--- a/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0001-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch
+++ b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/0004-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch
@@ -1,4 +1,4 @@
-From a136d2c30b850f94ee7b39f842eaede8c0a1c490 Mon Sep 17 00:00:00 2001
+From a9b43dbf68a4b5650dd98332243d4a2951717eb5 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Mon, 27 Apr 2020 12:11:06 -0700
Subject: [PATCH] Add a workaround to cover UART interrupt bug in AST2600 A0
@@ -9,51 +9,142 @@ register for clearing abnormal interrupts in every milli-second.
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- .../arm/boot/dts/aspeed-bmc-intel-ast2600.dts | 8 +++
+ .../arm/boot/dts/aspeed-bmc-intel-ast2600.dts | 4 ++
+ drivers/tty/serial/8250/8250_aspeed.c | 56 ++++++++++++++++-
drivers/tty/serial/8250/8250_early.c | 1 +
drivers/tty/serial/8250/8250_of.c | 63 +++++++++++++++++++
- 3 files changed, 72 insertions(+)
+ 4 files changed, 123 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
-index 3218884b90f4..08e1f060341e 100644
+index c648c123c315..bf375634082c 100644
--- a/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
-@@ -375,6 +375,8 @@
+@@ -392,6 +392,7 @@
};
&uart1 {
-+ compatible = "aspeed,ast2600-uart";
+ reg = <0x1e783000 0x20>, <0x1e6e2014 0x4>, <0x1e78307c 0x4>;
status = "okay";
pinctrl-0 = <&pinctrl_txd1_default
&pinctrl_rxd1_default
-@@ -387,6 +389,8 @@
+@@ -404,6 +405,7 @@
};
&uart2 {
-+ compatible = "aspeed,ast2600-uart";
+ reg = <0x1e78d000 0x20>, <0x1e6e2014 0x4>, <0x1e78d07c 0x4>;
status = "okay";
pinctrl-0 = <&pinctrl_txd2_default
&pinctrl_rxd2_default
-@@ -399,11 +403,15 @@
+@@ -416,11 +418,13 @@
};
&uart3 {
-+ compatible = "aspeed,ast2600-uart";
+ reg = <0x1e78e000 0x20>, <0x1e6e2014 0x4>, <0x1e78e07c 0x4>;
status = "okay";
pinctrl-0 = <>;
};
&uart4 {
-+ compatible = "aspeed,ast2600-uart";
+ reg = <0x1e78f000 0x20>, <0x1e6e2014 0x4>, <0x1e78f07c 0x4>;
status = "okay";
pinctrl-0 = <>;
};
+diff --git a/drivers/tty/serial/8250/8250_aspeed.c b/drivers/tty/serial/8250/8250_aspeed.c
+index bb3955bb8c24..1ba4423d5e2f 100644
+--- a/drivers/tty/serial/8250/8250_aspeed.c
++++ b/drivers/tty/serial/8250/8250_aspeed.c
+@@ -74,6 +74,10 @@ struct ast8250_data {
+
+ struct ast8250_vuart vuart;
+ struct ast8250_udma dma;
++
++ struct workqueue_struct *work_queue;
++ struct delayed_work work_handler;
++ void __iomem *wa_base;
+ };
+
+ static void ast8250_dma_tx_complete(int tx_rb_rptr, void *id)
+@@ -336,12 +340,25 @@ static int __maybe_unused ast8250_resume(struct device *dev)
+ return 0;
+ }
+
++#define WA_DELAY_JIFFIES msecs_to_jiffies(1)
++static void ast8250_clear_abnormal_int_flags(struct work_struct *work)
++{
++ struct delayed_work *dwork = to_delayed_work(work);
++ struct ast8250_data *data = container_of(dwork, struct ast8250_data,
++ work_handler);
++
++ (void) readl(data->wa_base);
++ queue_delayed_work(data->work_queue, &data->work_handler,
++ WA_DELAY_JIFFIES);
++}
++
+ static int ast8250_probe(struct platform_device *pdev)
+ {
+ int rc;
+ struct uart_8250_port uart = {};
+ struct uart_port *port = &uart.port;
+ struct device *dev = &pdev->dev;
++ void __iomem *chip_id_base;
+ struct ast8250_data *data;
+
+ struct resource *res;
+@@ -454,6 +471,37 @@ static int ast8250_probe(struct platform_device *pdev)
+ pm_runtime_enable(&pdev->dev);
+
+ platform_set_drvdata(pdev, data);
++
++ #define REV_ID_AST2600A0 0x05000303
++ res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
++ if (!res || resource_size(res) < 2)
++ return 0;
++
++ data->wa_base = devm_platform_ioremap_resource(pdev, 2);
++ if (IS_ERR(data->wa_base))
++ return 0;
++
++ chip_id_base = devm_ioremap_resource(dev, res);
++ if (IS_ERR(chip_id_base))
++ return 0;
++
++ if (readl(chip_id_base) == REV_ID_AST2600A0) {
++ data->work_queue = alloc_ordered_workqueue(pdev->name, 0);
++ if (data->work_queue) {
++ INIT_DELAYED_WORK(&data->work_handler,
++ ast8250_clear_abnormal_int_flags);
++ queue_delayed_work(data->work_queue,
++ &data->work_handler,
++ WA_DELAY_JIFFIES);
++ dev_info(dev, "AST2600 A0 WA initiated\n");
++ } else {
++ dev_err(dev, "Can't enable AST2600 A0 UART WA\n");
++ }
++ }
++
++ devm_iounmap(dev, chip_id_base);
++ devm_release_mem_region(dev, res->start, resource_size(res));
++
+ return 0;
+ }
+
+@@ -464,7 +512,13 @@ static int ast8250_remove(struct platform_device *pdev)
+ if (data->is_vuart)
+ ast8250_vuart_set_enable(data, false);
+
+- serial8250_unregister_port(data->line);
++ if (data->work_queue) {
++ cancel_delayed_work_sync(&data->work_handler);
++ destroy_workqueue(data->work_queue);
++ }
++
++ serial8250_unregister_port(data->line);
++
+ return 0;
+ }
+
diff --git a/drivers/tty/serial/8250/8250_early.c b/drivers/tty/serial/8250/8250_early.c
-index 70d7826788f5..56c4725e1b04 100644
+index c171ce6db691..6d7bb63fe0c6 100644
--- a/drivers/tty/serial/8250/8250_early.c
+++ b/drivers/tty/serial/8250/8250_early.c
@@ -180,6 +180,7 @@ OF_EARLYCON_DECLARE(ns16550, "ns16550", early_serial8250_setup);
@@ -65,7 +156,7 @@ index 70d7826788f5..56c4725e1b04 100644
#ifdef CONFIG_SERIAL_8250_OMAP
diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c
-index 65e9045dafe6..4d94c9f6a422 100644
+index bce28729dd7b..6159d8af6fef 100644
--- a/drivers/tty/serial/8250/8250_of.c
+++ b/drivers/tty/serial/8250/8250_of.c
@@ -15,6 +15,7 @@
@@ -105,7 +196,7 @@ index 65e9045dafe6..4d94c9f6a422 100644
/*
* Try to register a serial port
*/
-@@ -229,6 +245,47 @@ static int of_platform_serial_probe(struct platform_device *ofdev)
+@@ -233,6 +249,47 @@ static int of_platform_serial_probe(struct platform_device *ofdev)
if (ret < 0)
goto err_dispose;
@@ -153,7 +244,7 @@ index 65e9045dafe6..4d94c9f6a422 100644
info->type = port_type;
info->line = ret;
platform_set_drvdata(ofdev, info);
-@@ -250,6 +307,11 @@ static int of_platform_serial_remove(struct platform_device *ofdev)
+@@ -254,6 +311,11 @@ static int of_platform_serial_remove(struct platform_device *ofdev)
{
struct of_serial_info *info = platform_get_drvdata(ofdev);
@@ -165,9 +256,9 @@ index 65e9045dafe6..4d94c9f6a422 100644
serial8250_unregister_port(info->line);
reset_control_assert(info->rst);
-@@ -319,6 +381,7 @@ static const struct of_device_id of_platform_serial_table[] = {
- .data = (void *)PORT_XSCALE, },
+@@ -324,6 +386,7 @@ static const struct of_device_id of_platform_serial_table[] = {
{ .compatible = "ti,da830-uart", .data = (void *)PORT_DA830, },
+ { .compatible = "nuvoton,wpcm450-uart", .data = (void *)PORT_NPCM, },
{ .compatible = "nuvoton,npcm750-uart", .data = (void *)PORT_NPCM, },
+ { .compatible = "aspeed,ast2600-uart", .data = (void *)PORT_16550A, },
{ /* end of list */ },
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/intel-ast2600.cfg b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/intel-ast2600.cfg
index 4770e5825..9bd1535be 100644
--- a/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/intel-ast2600.cfg
+++ b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed/intel-ast2600.cfg
@@ -4,7 +4,6 @@ CONFIG_SPI_ASPEED_SMC=y
CONFIG_SPI_FMC=y
CONFIG_I3C=y
CONFIG_DW_I3C_MASTER=y
-CONFIG_ASPEED_I3C_MASTER=y
CONFIG_I3CDEV=y
CONFIG_U_SERIAL_CONSOLE=n
CONFIG_HIGHMEM=n
@@ -19,3 +18,6 @@ CONFIG_SUSPEND=n
CONFIG_ASPEED_MCTP=y
CONFIG_KERNEL_LZO=n
CONFIG_KERNEL_XZ=y
+CONFIG_SERIAL_8250_DW=n
+CONFIG_SERIAL_8250_ASPEED=y
+CONFIG_ASPEED_UDMA=y
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed_%.bbappend
index e5687d4d1..df3901d77 100644
--- a/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ b/meta-openbmc-mods/meta-ast2600/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -3,5 +3,8 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI += " \
file://intel-ast2600.cfg \
- file://0001-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch \
+ file://0001-serial-8250-Add-Aspeed-UART-driver-with-DMA-supporte.patch \
+ file://0002-serial-8250-Fix-RX-DMA-time-out-property.patch \
+ file://0003-serial-8250_aspeed-Make-port-type-fixed.patch \
+ file://0004-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch \
"
diff --git a/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass b/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass
index 470d5a10d..866766f2a 100644
--- a/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass
+++ b/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass
@@ -2,7 +2,7 @@
inherit obmc-phosphor-full-fitimage
inherit image_types_phosphor_auto
-DEPENDS += "obmc-intel-pfr-image-native python3-native intel-blocksign-native"
+DEPENDS += "obmc-intel-pfr-image-native python3-native intel-pfr-signing-utility-native"
require recipes-core/os-release/version-vars.inc
@@ -41,13 +41,14 @@ do_image_pfr_internal () {
local unsigned_cap_bin="bmc_unsigned_cap${bld_suffix}.bin"
local unsigned_cap_align_bin="bmc_unsigned_cap${bld_suffix}.bin_aligned"
local output_bin="image-mtd-pfr${bld_suffix}"
+ local SIGN_UTILITY=${PFR_SCRIPT_DIR}/intel-pfr-signing-utility
# python script that does creating PFM & BMC unsigned, compressed image (from BMC 128MB raw binary file).
${PFR_SCRIPT_DIR}/pfr_image.py -m ${PFR_CFG_DIR}/${manifest_json} -i ${DEPLOY_DIR_IMAGE}/image-mtd -n ${build_version} -b ${build_number} \
-h ${build_hash} -s ${SHA} -o ${output_bin}
# sign the PFM region
- ${PFR_SCRIPT_DIR}/blocksign -c ${PFR_CFG_DIR}/${pfmconfig_xml} -o ${PFR_IMAGES_DIR}/${pfm_signed_bin} ${PFR_IMAGES_DIR}/pfm.bin -v
+ ${SIGN_UTILITY} -c ${PFR_CFG_DIR}/${pfmconfig_xml} -o ${PFR_IMAGES_DIR}/${pfm_signed_bin} ${PFR_IMAGES_DIR}/pfm.bin -v
# Add the signed PFM to rom image
dd bs=1k conv=notrunc seek=${PFM_OFFSET_PAGE} if=${PFR_IMAGES_DIR}/${pfm_signed_bin} of=${PFR_IMAGES_DIR}/${output_bin}
@@ -60,7 +61,7 @@ do_image_pfr_internal () {
dd if=${PFR_IMAGES_DIR}/bmc_compressed.bin bs=1k >> ${PFR_IMAGES_DIR}/${unsigned_cap_bin}
# Sign the BMC update capsule
- ${PFR_SCRIPT_DIR}/blocksign -c ${PFR_CFG_DIR}/${bmcconfig_xml} -o ${PFR_IMAGES_DIR}/${signed_cap_bin} ${PFR_IMAGES_DIR}/${unsigned_cap_bin} -v
+ ${SIGN_UTILITY} -c ${PFR_CFG_DIR}/${bmcconfig_xml} -o ${PFR_IMAGES_DIR}/${signed_cap_bin} ${PFR_IMAGES_DIR}/${unsigned_cap_bin} -v
# Add the signed bmc update capsule to full rom image @ 0x2a00000
dd bs=1k conv=notrunc seek=${RC_IMAGE_PAGE} if=${PFR_IMAGES_DIR}/${signed_cap_bin} of=${PFR_IMAGES_DIR}/${output_bin}
@@ -118,7 +119,7 @@ do_image_pfr[vardepsexclude] += "do_image_pfr_internal DATE DATETIME BUILD_SEGD"
do_image_pfr[vardeps] += "IPMI_MAJOR IPMI_MINOR IPMI_AUX13 IPMI_AUX14 IPMI_AUX15 IPMI_AUX16"
do_image_pfr[depends] += " \
obmc-intel-pfr-image-native:do_populate_sysroot \
- intel-blocksign-native:do_populate_sysroot \
+ intel-pfr-signing-utility-native:do_populate_sysroot \
"
python() {
diff --git a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass
index 6de324049..bc20e5a29 100644
--- a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass
+++ b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass
@@ -47,7 +47,6 @@ IMAGE_INSTALL:append = " \
smbios-mdrv2 \
obmc-ikvm \
system-watchdog \
- frb2-watchdog \
srvcfg-manager \
callback-manager \
phosphor-post-code-manager \
diff --git a/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.sh b/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.sh
index b9ea1127c..bf5377482 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.sh
+++ b/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.sh
@@ -21,3 +21,6 @@ done < /proc/cmdline
busctl set-property xyz.openbmc_project.Settings /xyz/openbmc_project/control/host0/ac_boot xyz.openbmc_project.Common.ACBoot ACBoot s "$ACBOOT"
+source /etc/os-release
+
+echo "VERSION INFO - BMC - ${VERSION_ID}"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/at-scale-debug_git.bb b/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/at-scale-debug_git.bb
index 2c18cc0ec..74db92917 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/at-scale-debug_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/at-scale-debug_git.bb
@@ -30,4 +30,12 @@ SYSTEMD_SERVICE:${PN} += "com.intel.AtScaleDebug.service"
EXTRA_OECMAKE = "-DBUILD_UT=OFF"
CFLAGS:append = " -I ${STAGING_KERNEL_DIR}/include/uapi"
-CFLAGS:append = " -I ${STAGING_KERNEL_DIR}/include/"
+CFLAGS:append = " -I ${STAGING_KERNEL_DIR}/include"
+
+# Copying the depricated header from kernel as a temporary fix to resolve build breaks.
+# It should be removed later after fixing the header dependency in this repository.
+SRC_URI += "file://asm/rwonce.h"
+do_configure:prepend() {
+ cp -r ${WORKDIR}/asm ${S}/asm
+}
+CFLAGS:append = " -I ${S}"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/files/asm/rwonce.h b/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/files/asm/rwonce.h
new file mode 100644
index 000000000..11619bdbe
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/files/asm/rwonce.h
@@ -0,0 +1,90 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Prevent the compiler from merging or refetching reads or writes. The
+ * compiler is also forbidden from reordering successive instances of
+ * READ_ONCE and WRITE_ONCE, but only when the compiler is aware of some
+ * particular ordering. One way to make the compiler aware of ordering is to
+ * put the two invocations of READ_ONCE or WRITE_ONCE in different C
+ * statements.
+ *
+ * These two macros will also work on aggregate data types like structs or
+ * unions.
+ *
+ * Their two major use cases are: (1) Mediating communication between
+ * process-level code and irq/NMI handlers, all running on the same CPU,
+ * and (2) Ensuring that the compiler does not fold, spindle, or otherwise
+ * mutilate accesses that either do not require ordering or that interact
+ * with an explicit memory barrier or atomic instruction that provides the
+ * required ordering.
+ */
+#ifndef __ASM_GENERIC_RWONCE_H
+#define __ASM_GENERIC_RWONCE_H
+
+#ifndef __ASSEMBLY__
+
+#include <linux/compiler_types.h>
+#include <linux/kasan-checks.h>
+#include <linux/kcsan-checks.h>
+
+/*
+ * Yes, this permits 64-bit accesses on 32-bit architectures. These will
+ * actually be atomic in some cases (namely Armv7 + LPAE), but for others we
+ * rely on the access being split into 2x32-bit accesses for a 32-bit quantity
+ * (e.g. a virtual address) and a strong prevailing wind.
+ */
+#define compiletime_assert_rwonce_type(t) \
+ compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
+ "Unsupported access size for {READ,WRITE}_ONCE().")
+
+/*
+ * Use __READ_ONCE() instead of READ_ONCE() if you do not require any
+ * atomicity. Note that this may result in tears!
+ */
+#ifndef __READ_ONCE
+#define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x))
+#endif
+
+#define READ_ONCE(x) \
+({ \
+ compiletime_assert_rwonce_type(x); \
+ __READ_ONCE(x); \
+})
+
+#define __WRITE_ONCE(x, val) \
+do { \
+ *(volatile typeof(x) *)&(x) = (val); \
+} while (0)
+
+#define WRITE_ONCE(x, val) \
+do { \
+ compiletime_assert_rwonce_type(x); \
+ __WRITE_ONCE(x, val); \
+} while (0)
+
+static __always_inline
+unsigned long __read_once_word_nocheck(const void *addr)
+{
+ return __READ_ONCE(*(unsigned long *)addr);
+}
+
+/*
+ * Use READ_ONCE_NOCHECK() instead of READ_ONCE() if you need to load a
+ * word from memory atomically but without telling KASAN/KCSAN. This is
+ * usually used by unwinding code when walking the stack of a running process.
+ */
+#define READ_ONCE_NOCHECK(x) \
+({ \
+ compiletime_assert(sizeof(x) == sizeof(unsigned long), \
+ "Unsupported access size for READ_ONCE_NOCHECK()."); \
+ (typeof(x))__read_once_word_nocheck(&(x)); \
+})
+
+static __always_inline
+unsigned long read_word_at_a_time(const void *addr)
+{
+ kasan_check_read(addr, 1);
+ return *(unsigned long *)addr;
+}
+
+#endif /* __ASSEMBLY__ */
+#endif /* __ASM_GENERIC_RWONCE_H */
diff --git a/meta-openbmc-mods/meta-common/recipes-core/dropbear/dropbear_%.bbappend b/meta-openbmc-mods/meta-common/recipes-core/dropbear/dropbear_%.bbappend
index 9d5dcf6b0..029defb67 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/dropbear/dropbear_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-core/dropbear/dropbear_%.bbappend
@@ -1,22 +1,12 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI += "file://enable-ssh.sh"
-
-add_manual_ssh_enable() {
- install -d ${D}/usr/share/misc
- install -m 0755 ${D}/${systemd_unitdir}/system/dropbear@.service ${D}/usr/share/misc/dropbear@.service
- install -m 0755 ${D}/${systemd_unitdir}/system/dropbear.socket ${D}/usr/share/misc/dropbear.socket
- install -m 0755 ${WORKDIR}/enable-ssh.sh ${D}${bindir}/enable-ssh.sh
- # Remove dropbear service and socket by default, if debug-tweaks is disabled
- rm ${D}/${systemd_unitdir}/system/dropbear@.service
- rm ${D}/${systemd_unitdir}/system/dropbear.socket
-}
+SRC_URI += "file://enable-ssh.sh \
+ file://0001-Enable-UART-mux-setting-before-SOL-activation-via-SS.patch \
+ "
do_install:append() {
- # Add manual ssh enable script if debug-tweaks is disabled
- ${@bb.utils.contains('EXTRA_IMAGE_FEATURES', 'debug-tweaks', '', 'add_manual_ssh_enable', d)}
+ install -m 0755 ${WORKDIR}/enable-ssh.sh ${D}${bindir}/
}
-FILES:${PN} += "/usr/share/misc"
-SYSTEMD_SERVICE:${PN} += "dropbearkey.service"
-SYSTEMD_SERVICE:${PN}:remove += " ${@bb.utils.contains('EXTRA_IMAGE_FEATURES', 'debug-tweaks', '', 'dropbear.socket', d)}"
+# Enable dropbear.socket and dropbearkey.service only for debug-tweaks
+SYSTEMD_AUTO_ENABLE:${PN} = "${@bb.utils.contains('EXTRA_IMAGE_FEATURES', 'debug-tweaks', 'enable', 'disable', d)}"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/dropbear/files/0001-Enable-UART-mux-setting-before-SOL-activation-via-SS.patch b/meta-openbmc-mods/meta-common/recipes-core/dropbear/files/0001-Enable-UART-mux-setting-before-SOL-activation-via-SS.patch
new file mode 100644
index 000000000..22aed3a07
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/dropbear/files/0001-Enable-UART-mux-setting-before-SOL-activation-via-SS.patch
@@ -0,0 +1,43 @@
+From 41a43e4b149af0bbfa82ca1b9479dd7dfb2455de Mon Sep 17 00:00:00 2001
+From: Chalapathi Venkataramashetty <chalapathix.venkataramashetty@intel.com>
+Date: Wed, 13 Oct 2021 22:52:34 +0000
+Subject: [PATCH] Enable UART mux setting before SOL activation via SSH
+
+Switching UART routing when starting obmc-service introduces garbled
+character printing out on physical host serial output and it's
+inevitable so this commit moves the routing logic into host console
+connection flow in SSH SOL to avoid the issue until SOL is actually
+activated.
+
+Tested: SOL activation is working fine via SSH
+
+Signed-off-by: Chalapathi Venkataramashetty <chalapathix.venkataramashetty@intel.com>
+---
+ svr-runopts.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/svr-runopts.c b/svr-runopts.c
+index 2c905dd..6fc25e8 100644
+--- a/svr-runopts.c
++++ b/svr-runopts.c
+@@ -414,6 +414,17 @@ void svr_getopts(int argc, char ** argv) {
+ }
+
+ if (svr_opts.forced_command) {
++ if (strcmp(svr_opts.forced_command, "/usr/bin/obmc-console-client") == 0) {
++ FILE *fp;
++ fp = fopen("/sys/bus/platform/drivers/aspeed-uart-routing/"
++ "1e789098.uart-routing/hicra",
++ "w");
++ if (fp != NULL) {
++ char *uartMuxCtrlVal = "0x03450003";
++ fprintf(fp, "%s", uartMuxCtrlVal);
++ fclose(fp);
++ }
++ }
+ dropbear_log(LOG_INFO, "Forced command set to '%s'", svr_opts.forced_command);
+ }
+ #if DROPBEAR_PLUGIN
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-core/dropbear/files/enable-ssh.sh b/meta-openbmc-mods/meta-common/recipes-core/dropbear/files/enable-ssh.sh
index 922aa09f5..01ebe098f 100755
--- a/meta-openbmc-mods/meta-common/recipes-core/dropbear/files/enable-ssh.sh
+++ b/meta-openbmc-mods/meta-common/recipes-core/dropbear/files/enable-ssh.sh
@@ -1,38 +1,21 @@
#!/bin/sh
-usage="$(basename "$0") [-h] [-d] -- Enable/Disable ssh for root user
+usage="$(basename $0) [-h] [-d] -- Enable/Disable ssh for root user
where:
-h help
-d disable ssh and remove priv-admin permission for root user"
enable_ssh() {
- if [ -e /etc/systemd/system/dropbear@.service ] &&
- [ -e /etc/systemd/system/sockets.target.wants/dropbear.socket ]; then
- echo "SSH is already enabled"
- else
- cp /usr/share/misc/dropbear@.service /etc/systemd/system/dropbear@.service
- cp /usr/share/misc/dropbear.socket /etc/systemd/system/dropbear.socket
- ln -s /etc/systemd/system/dropbear.socket /etc/systemd/system/sockets.target.wants/dropbear.socket
- groupmems -g priv-admin -a root
- systemctl daemon-reload
- systemctl restart dropbear.socket
- echo "Enabled SSH service for root user successful"
- fi
+ systemctl enable --now dropbear.socket
+ groupmems -g priv-admin -a root
+ echo "Enabled SSH service for root user successful"
}
disable_ssh() {
- if [ -e /etc/systemd/system/dropbear@.service ] &&
- [ -e /etc/systemd/system/sockets.target.wants/dropbear.socket ]; then
- systemctl stop dropbear.socket
- systemctl stop dropbear@*.service
- rm -rf /etc/systemd/system/sockets.target.wants/dropbear.socket
- rm -rf /etc/systemd/system/dropbear.socket
- rm -rf /etc/systemd/system/dropbear@.service
- groupmems -g priv-admin -d root
- echo "SSH disabled"
- else
- echo "SSH is already disabled"
- fi
+ systemctl disable --now dropbear.socket
+ systemctl stop dropbear@*.service
+ groupmems -g priv-admin -d root
+ echo "Disabled SSH service"
}
case "$1" in
diff --git a/meta-openbmc-mods/meta-common/recipes-core/fw-update/intel-fw-update.bb b/meta-openbmc-mods/meta-common/recipes-core/fw-update/intel-fw-update.bb
index df7d6e7f1..fb76cfb3c 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/fw-update/intel-fw-update.bb
+++ b/meta-openbmc-mods/meta-common/recipes-core/fw-update/intel-fw-update.bb
@@ -18,7 +18,11 @@ PFR_EN = "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'pfr', '', d)}"
SRC_URI += "file://fwupd.sh"
SRC_URI += "file://usb-ctrl"
-FILES:${PN} += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', '${datadir}/pfr', '', d)}"
+DEPENDS += "obmc-intel-pfr-image-native"
+
+# runtime authentication of some features requires the root key certificate
+FILES:${PN} += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', '${datadir}/pfr/rk_cert.pem', '', d)}"
+PFR_CFG_DIR = "${STAGING_DIR_NATIVE}${datadir}/pfrconfig"
do_install() {
install -d ${D}${bindir}
@@ -26,7 +30,7 @@ do_install() {
install -m 0755 ${WORKDIR}/usb-ctrl ${D}${bindir}
if [ "${PFR_EN}" = "pfr" ]; then
- install -d ${D}${datadir}
- touch ${D}${datadir}/pfr
+ install -d ${D}${datadir}/pfr
+ install -m 0644 ${PFR_CFG_DIR}/rk_cert.pem ${D}${datadir}/pfr
fi
}
diff --git a/meta-openbmc-mods/meta-common/recipes-core/host-error-monitor/host-error-monitor_%.bbappend b/meta-openbmc-mods/meta-common/recipes-core/host-error-monitor/host-error-monitor_%.bbappend
index eec234e96..4b0ce63f9 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/host-error-monitor/host-error-monitor_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-core/host-error-monitor/host-error-monitor_%.bbappend
@@ -1,4 +1,4 @@
SRC_URI = "git://github.com/openbmc/host-error-monitor"
-SRCREV = "4a6e45c4c2f38bc64afe5faac05ea82b3adb8d93"
+SRCREV = "1c208480e6de77a5a41b0733c595e8d4a99e5311"
EXTRA_OECMAKE = "-DYOCTO=1"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/asm/rwonce.h b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/asm/rwonce.h
new file mode 100644
index 000000000..c8beb875d
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/asm/rwonce.h
@@ -0,0 +1,89 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Prevent the compiler from merging or refetching reads or writes. The
+ * compiler is also forbidden from reordering successive instances of
+ * READ_ONCE and WRITE_ONCE, but only when the compiler is aware of some
+ * particular ordering. One way to make the compiler aware of ordering is to
+ * put the two invocations of READ_ONCE or WRITE_ONCE in different C
+ * statements.
+ *
+ * These two macros will also work on aggregate data types like structs or
+ * unions.
+ *
+ * Their two major use cases are: (1) Mediating communication between
+ * process-level code and irq/NMI handlers, all running on the same CPU,
+ * and (2) Ensuring that the compiler does not fold, spindle, or otherwise
+ * mutilate accesses that either do not require ordering or that interact
+ * with an explicit memory barrier or atomic instruction that provides the
+ * required ordering.
+ */
+#ifndef __ASM_GENERIC_RWONCE_H
+#define __ASM_GENERIC_RWONCE_H
+
+#ifndef __ASSEMBLY__
+
+#include <linux/compiler_types.h>
+#include <linux/kasan-checks.h>
+#include <linux/kcsan-checks.h>
+
+/*
+ * Yes, this permits 64-bit accesses on 32-bit architectures. These will
+ * actually be atomic in some cases (namely Armv7 + LPAE), but for others we
+ * rely on the access being split into 2x32-bit accesses for a 32-bit quantity
+ * (e.g. a virtual address) and a strong prevailing wind.
+ */
+#define compiletime_assert_rwonce_type(t) \
+ compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
+ "Unsupported access size for {READ,WRITE}_ONCE().")
+
+/*
+ * Use __READ_ONCE() instead of READ_ONCE() if you do not require any
+ * atomicity. Note that this may result in tears!
+ */
+#ifndef __READ_ONCE
+#define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x))
+#endif
+
+#define READ_ONCE(x) \
+ ({ \
+ compiletime_assert_rwonce_type(x); \
+ __READ_ONCE(x); \
+ })
+
+#define __WRITE_ONCE(x, val) \
+ do { \
+ *(volatile typeof(x) *)&(x) = (val); \
+ } while (0)
+
+#define WRITE_ONCE(x, val) \
+ do { \
+ compiletime_assert_rwonce_type(x); \
+ __WRITE_ONCE(x, val); \
+ } while (0)
+
+static __always_inline unsigned long __read_once_word_nocheck(const void *addr)
+{
+ return __READ_ONCE(*(unsigned long *)addr);
+}
+
+/*
+ * Use READ_ONCE_NOCHECK() instead of READ_ONCE() if you need to load a
+ * word from memory atomically but without telling KASAN/KCSAN. This is
+ * usually used by unwinding code when walking the stack of a running process.
+ */
+#define READ_ONCE_NOCHECK(x) \
+ ({ \
+ compiletime_assert( \
+ sizeof(x) == sizeof(unsigned long), \
+ "Unsupported access size for READ_ONCE_NOCHECK()."); \
+ (typeof(x)) __read_once_word_nocheck(&(x)); \
+ })
+
+static __always_inline unsigned long read_word_at_a_time(const void *addr)
+{
+ kasan_check_read(addr, 1);
+ return *(unsigned long *)addr;
+}
+
+#endif /* __ASSEMBLY__ */
+#endif /* __ASM_GENERIC_RWONCE_H */
diff --git a/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp_git.bb b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp_git.bb
index 5ca73964c..eba56f829 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "libmctp"
DESCRIPTION = "Implementation of MCTP (DTMF DSP0236)"
SRC_URI = "git://github.com/openbmc/libmctp.git"
-SRCREV = "ae59f4fe3a3ceaf52a682ada2a2b54855fad2408"
+SRCREV = "663ec39ea107c2a736f9bcb20cbfdfa623092ab1"
PV = "0.1+git${SRCPV}"
@@ -15,9 +15,6 @@ S = "${WORKDIR}/git"
DEPENDS += "i2c-tools"
-CFLAGS:append = " -I ${STAGING_KERNEL_DIR}/include/uapi"
-CFLAGS:append = " -I ${STAGING_KERNEL_DIR}/include"
-
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://0001-Smbus-changes-for-libmctp.patch \
@@ -41,3 +38,10 @@ CXXFLAGS:append = " -I ${STAGING_KERNEL_DIR}/include/uapi"
CXXFLAGS:append = " -I ${STAGING_KERNEL_DIR}/include"
do_configure[depends] += "virtual/kernel:do_shared_workdir"
+
+# Copying the depricated header from kernel as a temporary fix to resolve build breaks.
+# It should be removed later after fixing the header dependency in this repository.
+SRC_URI += "file://asm/rwonce.h"
+do_configure:prepend() {
+ cp -r ${WORKDIR}/asm ${S}/asm
+}
diff --git a/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend b/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend
index 4811778ca..ac61d983c 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend
@@ -2,7 +2,7 @@ EXTRA_OECMAKE += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', '-DINTEL_PF
EXTRA_OECMAKE += "${@bb.utils.contains('EXTRA_IMAGE_FEATURES', 'validation-unsecure', '-DBMC_VALIDATION_UNSECURE_FEATURE=ON', '', d)}"
EXTRA_OECMAKE += "-DUSING_ENTITY_MANAGER_DECORATORS=OFF"
SRC_URI = "git://github.com/openbmc/intel-ipmi-oem.git"
-SRCREV = "e83c70aab0479a8103638166b330a06e499f4449"
+SRCREV = "9e58cfe1ba5ca5bcd5263b50730c5a231eabdd4f"
FILESEXTRAPATHS:append := ":${THISDIR}/${PN}"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/libpeci/libpeci_%.bbappend b/meta-openbmc-mods/meta-common/recipes-core/libpeci/libpeci_%.bbappend
index 817e164a4..cea8fd6ed 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/libpeci/libpeci_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-core/libpeci/libpeci_%.bbappend
@@ -1,3 +1,3 @@
# Enable downstream autobump
SRC_URI = "git://github.com/openbmc/libpeci"
-SRCREV = "ff44e549c44c7658ec11e0c19c13c4c45900cfe4"
+SRCREV = "6a00e9aa72f75d66eb8b9572c7fd3894f91c6bba"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/os-release/version-vars.inc b/meta-openbmc-mods/meta-common/recipes-core/os-release/version-vars.inc
index 872e78eba..df43dae89 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/os-release/version-vars.inc
+++ b/meta-openbmc-mods/meta-common/recipes-core/os-release/version-vars.inc
@@ -55,12 +55,24 @@ python() {
# If no tag, provide default version
if meta_vers.startswith('fatal:'):
- meta_vers = '{}-0.0-0-g0'.format(gen)
+ ver_list = obmc_vers.split('-')
+ obmc_tag_list = ver_list[1].split('.')
+ obmc_major_revision = 0
+ obmc_minor_revision = 0
+ obmc_minor_spare = 0
+ try:
+ obmc_major_revision = int(obmc_tag_list[0])
+ obmc_minor_revision = int(obmc_tag_list[1])
+ obmc_minor_spare = int(ver_list[2])
+ except ValueError:
+ bb.warn("Invalid obmc_vers: {}".format(obmc_vers))
+ meta_vers = '{}-{}.{}-{}-g{}'.format(gen,obmc_major_revision,
+ obmc_minor_revision,obmc_minor_spare,obmc_hash[0:6])
meta_hash = irun_git(d, mibase, 'rev-parse HEAD')
# If no hash, provide default
if meta_hash.startswith('fatal:'):
- meta_hash = '00000000'
+ meta_hash = obmc_hash[0:7]
version_id = '{}-{}'.format(meta_vers, obmc_hash[0:7])
if version_id:
d.setVar('VERSION_ID', version_id)
diff --git a/meta-openbmc-mods/meta-common/recipes-core/safec/safec_3.4.bb b/meta-openbmc-mods/meta-common/recipes-core/safec/safec_3.4.bb
index 92d0f7cd2..cf83203ec 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/safec/safec_3.4.bb
+++ b/meta-openbmc-mods/meta-common/recipes-core/safec/safec_3.4.bb
@@ -7,7 +7,7 @@ SECTION = "lib"
inherit autotools pkgconfig
S = "${WORKDIR}/git"
-SRCREV = "bfc9f8bb8a9bfd02fde8ef3fd78fcd61411d070d"
+SRCREV = "e8bf1fff157ba931692130a0ec6f2833fa7d5f87"
SRC_URI = "git://github.com/rurban/safeclib.git"
COMPATIBLE_HOST = '(x86_64|i.86|powerpc|powerpc64|arm|aarch64).*-linux'
diff --git a/meta-openbmc-mods/meta-common/recipes-core/systemd/systemd/0001-Modfiy-system.conf-DefaultTimeoutStopSec.patch b/meta-openbmc-mods/meta-common/recipes-core/systemd/systemd/0001-Modfiy-system.conf-DefaultTimeoutStopSec.patch
deleted file mode 100644
index 5b9f17006..000000000
--- a/meta-openbmc-mods/meta-common/recipes-core/systemd/systemd/0001-Modfiy-system.conf-DefaultTimeoutStopSec.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From e02932693f92d6230b5520f431e127f7b6e2183e Mon Sep 17 00:00:00 2001
-From: James Feist <james.feist@linux.intel.com>
-Date: Tue, 6 Mar 2018 16:06:33 -0800
-Subject: [PATCH 1/1] Modfiy system.conf DefaultTimeoutStopSec
-
-Current time is 5 minutes, change it to 10 seconds.
-
-Signed-off-by: James Feist <james.feist@linux.intel.com>
----
- src/core/system.conf.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/system.conf.in b/src/core/system.conf.in
-index 8112125468..f7a35a56bb 100644
---- a/src/core/system.conf.in
-+++ b/src/core/system.conf.in
-@@ -39,7 +39,7 @@
- #DefaultStandardOutput=journal
- #DefaultStandardError=inherit
- #DefaultTimeoutStartSec=90s
--#DefaultTimeoutStopSec=90s
-+DefaultTimeoutStopSec=10s
- #DefaultTimeoutAbortSec=
- #DefaultRestartSec=100ms
- #DefaultStartLimitIntervalSec=10s
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-core/systemd/systemd/systemd-time-wait-sync.service b/meta-openbmc-mods/meta-common/recipes-core/systemd/systemd/systemd-time-wait-sync.service
deleted file mode 100644
index f71aea39d..000000000
--- a/meta-openbmc-mods/meta-common/recipes-core/systemd/systemd/systemd-time-wait-sync.service
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1+
-#
-# This file is part of systemd.
-#
-# systemd is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2.1 of the License, or
-# (at your option) any later version.
-
-[Unit]
-Description=Wait Until Kernel Time Synchronized
-Documentation=man:systemd-time-wait-sync.service(8)
-
-# Note that this tool doesn't need CAP_SYS_TIME itself, but it's primary
-# usecase is to run in conjunction with a local NTP service such as
-# systemd-timesyncd.service, which is conditioned this way. There might be
-# niche usecases where running this service independently is desired, but let's
-# make this all "just work" for the general case, and leave it to local
-# modifications to make it work in the remaining cases.
-
-ConditionCapability=CAP_SYS_TIME
-ConditionVirtualization=!container
-
-DefaultDependencies=no
-Before=time-sync.target shutdown.target
-Wants=time-sync.target
-Conflicts=shutdown.target
-
-[Service]
-Type=oneshot
-ExecStart=/lib/systemd/systemd-time-wait-sync
-TimeoutStartSec=10
-RemainAfterExit=yes
-
-[Install]
-WantedBy=sysinit.target
diff --git a/meta-openbmc-mods/meta-common/recipes-core/systemd/systemd_%.bbappend b/meta-openbmc-mods/meta-common/recipes-core/systemd/systemd_%.bbappend
index 50f82d21e..2eb5330d8 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-core/systemd/systemd_%.bbappend
@@ -1,20 +1,11 @@
# add some configuration overrides for systemd defaults
-LICENSE = "GPL-2.0"
-
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-SRC_URI += "file://0001-Modfiy-system.conf-DefaultTimeoutStopSec.patch \
- file://systemd-time-wait-sync.service \
- file://0002-Add-event-log-for-system-time-synchronization.patch \
+SRC_URI += "file://0002-Add-event-log-for-system-time-synchronization.patch \
"
-USERADD_PACKAGES:remove = "${PN}-journal-gateway ${PN}-journal-upload ${PN}-journal-remote"
-
-do_install:append(){
- rm -rf ${D}/lib/udev/rules.d/80-drivers.rules
- cp -f ${WORKDIR}/systemd-time-wait-sync.service ${D}/lib/systemd/system/
-}
-
-PACKAGECONFIG:remove = " kmod"
+# We don't support loadable modules in kernel config
+PACKAGECONFIG:remove = "kmod"
+# Add systemd-logind service to get shutdown inhibition support
PACKAGECONFIG:append = " logind"
diff --git a/meta-openbmc-mods/meta-common/recipes-devtools/boost-url/boost-url_%.bbappend b/meta-openbmc-mods/meta-common/recipes-devtools/boost-url/boost-url_%.bbappend
new file mode 100644
index 000000000..323788fe8
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-devtools/boost-url/boost-url_%.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS:append := ":${THISDIR}/${PN}"
+
+# Temporary pin to resolve build breaks
+SRCREV = "2c867fbe284ae532f1329b87a86ad3f8cd382867"
diff --git a/meta-openbmc-mods/meta-common/recipes-devtools/mtd-util/mtd-util.bb b/meta-openbmc-mods/meta-common/recipes-devtools/mtd-util/mtd-util.bb
index fc7577db4..5b59dd909 100644
--- a/meta-openbmc-mods/meta-common/recipes-devtools/mtd-util/mtd-util.bb
+++ b/meta-openbmc-mods/meta-common/recipes-devtools/mtd-util/mtd-util.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b77c43ae4eaf67bd73fb6452b2f113a3"
SRC_URI = "git://github.com/Intel-BMC/mtd-util;protocol=ssh"
PV = "1.0+git${SRCPV}"
-SRCREV = "3e12f8493b8f261c2e6df607b3ffab2f5875e642"
+SRCREV = "708072b62a3cecb520eeaacac88b4f2c2e101fe4"
S = "${WORKDIR}/git"
diff --git a/meta-openbmc-mods/meta-common/recipes-extended/sdbusplus/sdbusplus_%.bbappend b/meta-openbmc-mods/meta-common/recipes-extended/sdbusplus/sdbusplus_%.bbappend
index 8413ae3bc..a33c265f6 100644
--- a/meta-openbmc-mods/meta-common/recipes-extended/sdbusplus/sdbusplus_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-extended/sdbusplus/sdbusplus_%.bbappend
@@ -4,3 +4,6 @@ SRC_URI += " \
file://0001-Revert-server-Check-return-code-for-sd_bus_add_objec.patch \
file://0002-Skip-decoding-some-dbus-identifiers.patch \
"
+
+# Temporary pin to resolve build breaks
+SRCREV="dfb5642201699dc42a7dda12d72718a8b9568151"
diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend b/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend
index d687b1124..dbd591c86 100644
--- a/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend
@@ -2,4 +2,4 @@ FILESEXTRAPATHS:append := ":${THISDIR}/${PN}"
# Use the latest to support obmc-ikvm properly
SRC_URI = "git://github.com/LibVNC/libvncserver"
-SRCREV = "b889248659efa83cadf313e10493f4c9a3ac61ad"
+SRCREV = "c1f29b73e4f111fc3d4b5941936218be0c6c430f"
diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm_%.bbappend b/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm_%.bbappend
index ba7a7821c..faee3bf4c 100644
--- a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm_%.bbappend
@@ -1,4 +1,4 @@
FILESEXTRAPATHS:append := ":${THISDIR}/${PN}"
#SRC_URI = "git://github.com/openbmc/obmc-ikvm"
-SRCREV = "2d2f3dab4253a3d6edf6bef98c5f880f51d2394b"
+SRCREV = "f90f68d1e9bc6c53f49ebac6d0b8e11257de77a9"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/host-misc-comm-manager/host-misc-comm-manager_git.bb b/meta-openbmc-mods/meta-common/recipes-intel/host-misc-comm-manager/host-misc-comm-manager_git.bb
index 2bd500677..6b54189e6 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/host-misc-comm-manager/host-misc-comm-manager_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/host-misc-comm-manager/host-misc-comm-manager_git.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/Intel-BMC/host-misc-comm-manager.git;protocol=ssh"
-SRCREV = "da65b239e6622fbf913a904480fe3ff87ee02dec"
+SRCREV = "470facc6e94ecbd01ca9c3f0749ae603dffff0e9"
inherit cmake systemd
SYSTEMD_SERVICE:${PN} = "xyz.openbmc_project.Host.Misc.Manager.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/hsbp/hsbp-manager_git.bb b/meta-openbmc-mods/meta-common/recipes-intel/hsbp/hsbp-manager_git.bb
index 7c7c483c2..a2ce25369 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/hsbp/hsbp-manager_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/hsbp/hsbp-manager_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "HSBP Manager"
DESCRIPTION = "HSBP Manager monitors HSBPs through SMBUS"
SRC_URI = "git://github.com/openbmc/s2600wf-misc.git"
-SRCREV = "1a9dde9b193a34392ab11a14d9cd0310f9abb930"
+SRCREV = "0c5059f685f6df0704a4b773f2e617cf10d03210"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb b/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb
index 086832b9e..d0b324239 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb
@@ -7,6 +7,7 @@ inherit ${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'image_types_intel_pf
DEPENDS += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'obmc-intel-pfr-image-native', '', d)}"
DEPENDS += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'pfr-manager', '', d)}"
+DEPENDS += "dtc-native"
FEATURE_PACKAGES_obmc-sensors = ""
FEATURE_PACKAGES_obmc-debug-collector = ""
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb
deleted file mode 100644
index 51c5fdf74..000000000
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Intel Blocksign tool for PFR image"
-DESCRIPTION = "Image signing tool for BMC PFR image"
-
-inherit cmake native
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-DEPENDS = "openssl-native libxml2-native "
-
-SRC_URI = "git://git@github.com/Intel-BMC/blocksign;protocol=ssh"
-
-SRCREV = "966d16f680c1b14c338640d35a12d5e2f9a6937a"
-
-S = "${WORKDIR}/git"
-
-do_install:append() {
- install -d ${D}/${bindir}
- install -m 775 ${B}/blocksign ${D}/${bindir}
-}
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-signing-utility-native.bb b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-signing-utility-native.bb
new file mode 100644
index 000000000..72e7857ef
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-signing-utility-native.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Intel(R) Platform Firmware Resilience Signing Utility"
+DESCRIPTION = "Image signing tool for building Intel(R) PFR image"
+
+inherit cmake native
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+DEPENDS = "openssl-native libxml2-native "
+
+SRC_URI = "git://github.com/Intel-BMC/intel-pfr-signing-utility;protocol=ssh"
+
+SRCREV = "33b8e02e9b25d5150b744fcbda4cf1e508813194"
+
+S = "${WORKDIR}/git"
+
+do_install:append() {
+ install -d ${D}/${bindir}
+ install -m 775 ${B}/intel-pfr-signing-utility ${D}/${bindir}
+}
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb
index bb0f9ba7e..be7251555 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fe
inherit native
-DEPENDS += " intel-blocksign-native"
+DEPENDS += " intel-pfr-signing-utility-native"
SRC_URI = " \
file://pfr_image.py \
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager_%.bbappend
index 020c8d53f..2ae1e372b 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager_%.bbappend
@@ -1,5 +1,5 @@
# Enable downstream autobump
SRC_URI = "git://github.com/openbmc/pfr-manager"
-SRCREV = "bcc7ce1f418c1a16a7868fee62499fa677242254"
+SRCREV = "8491692089f9295cf2efab456d4747f3cf1fb098"
DEPENDS += " libgpiod \
"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb b/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb
index d957147de..9cd2eec6f 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb
@@ -2,7 +2,7 @@ SUMMARY = "Power supply manager for Intel based platform"
DESCRIPTION = "Power supply manager which include PSU Cold Redundancy service"
SRC_URI = "git://github.com/Intel-BMC/psu-manager.git;protocol=ssh"
-SRCREV = "139981b813f2d480ca55f60e6b129d55d6adcbc3"
+SRCREV = "30788892792c302b1317bac4e7f837ca1374d789"
S = "${WORKDIR}/git"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
index e40148a91..683497208 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
@@ -2,7 +2,7 @@ SUMMARY = "SMBIOS MDR version 2 service for Intel based platform"
DESCRIPTION = "SMBIOS MDR version 2 service for Intel based platfrom"
SRC_URI = "git://github.com/openbmc/smbios-mdr.git"
-SRCREV = "ecbd71baa68d0c2834614d84f24de7d369a51ce4"
+SRCREV = "631388e621abad855abbe4abbfb20111da9056f1"
S = "${WORKDIR}/git"
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-peci-Add-debug-printing-to-check-caller-PID.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-peci-Add-debug-printing-to-check-caller-PID.patch
deleted file mode 100644
index fbd51df7a..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-peci-Add-debug-printing-to-check-caller-PID.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 7474fe190f770e064a5ce5e939bd713ce2aa1de5 Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Wed, 3 Feb 2021 16:18:37 -0800
-Subject: [PATCH] peci: Add debug printing to check caller PID
-
-This commit adds debug printing out to check caller PID for traffic
-profiling.
-
-The printing can be enabled by this command:
-echo -n 'file drivers/peci/peci-core.c line 218 +p' > /sys/kernel/debug/dynamic_debug/control
-echo '8' > /proc/sys/kernel/printk
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- drivers/peci/peci-core.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/drivers/peci/peci-core.c b/drivers/peci/peci-core.c
-index 10375e6087a5..02c8502fd846 100644
---- a/drivers/peci/peci-core.c
-+++ b/drivers/peci/peci-core.c
-@@ -194,6 +194,7 @@ static int __peci_xfer(struct peci_adapter *adapter, struct peci_xfer_msg *msg,
- bool do_retry, bool has_aw_fcs)
- {
- uint interval_us = PECI_DEV_RETRY_INTERVAL_MIN_USEC;
-+ char task_name[TASK_COMM_LEN];
- ulong timeout = jiffies;
- u8 aw_fcs;
- int ret;
-@@ -214,6 +215,10 @@ static int __peci_xfer(struct peci_adapter *adapter, struct peci_xfer_msg *msg,
- }
- }
-
-+ get_task_comm(task_name, current);
-+ dev_dbg(&adapter->dev, "%s is called by %s(%d) through %s\n",
-+ __func__, task_name, current->pid, adapter->name);
-+
- /*
- * For some commands, the PECI originator may need to retry a command if
- * the processor PECI client responds with a 0x8x completion code. In
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0002-soc-aspeed-add-AST2600-A0-specific-fix-into-mbox-dri.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0002-soc-aspeed-add-AST2600-A0-specific-fix-into-mbox-dri.patch
deleted file mode 100644
index 1e1dac7a8..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0002-soc-aspeed-add-AST2600-A0-specific-fix-into-mbox-dri.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From ae96ce5f2a5bd76b234cea6fc3f0bf1df74387f3 Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Thu, 4 Feb 2021 00:29:55 -0800
-Subject: [PATCH] soc: aspeed: add AST2600 A0 specific fix into mbox driver
-
-AST2600 A0 has the same LPC mbox register structure with AST2500
-but AST2600 A1 and later revision is different so this commit adds
-AST2600 A0 specific fix into the mbox driver.
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- drivers/soc/aspeed/aspeed-lpc-mbox.c | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/drivers/soc/aspeed/aspeed-lpc-mbox.c b/drivers/soc/aspeed/aspeed-lpc-mbox.c
-index 8dd3345682c7..12bb436dda78 100644
---- a/drivers/soc/aspeed/aspeed-lpc-mbox.c
-+++ b/drivers/soc/aspeed/aspeed-lpc-mbox.c
-@@ -363,6 +363,20 @@ static int aspeed_mbox_probe(struct platform_device *pdev)
- return -EINVAL;
-
- config = match->data;
-+
-+ if (of_device_is_compatible(pdev->dev.of_node,
-+ "aspeed,ast2600-mbox")) {
-+ #define REV_ID_IO_OFFSET 0x1e6e2014
-+ #define REV_ID_AST2600A0 0x05000303
-+ void __iomem *chip_id_base = devm_ioremap(&pdev->dev,
-+ REV_ID_IO_OFFSET,
-+ sizeof(u32));
-+
-+ if (!IS_ERR(chip_id_base) &&
-+ readl(chip_id_base) == REV_ID_AST2600A0)
-+ config = &ast2500_config;
-+ }
-+
- memcpy(&mbox->configs, config, sizeof(mbox->configs));
-
- rc = of_property_read_u32(dev->of_node, "reg", &mbox->base);
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0003-Fix-libmctp-build-error.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0003-Fix-libmctp-build-error.patch
deleted file mode 100644
index b9a6ca527..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0003-Fix-libmctp-build-error.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From af414e45bade3cf7277215d82b59a31c9b459cea Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Mon, 22 Feb 2021 15:27:22 -0800
-Subject: [PATCH] Fix libmctp build error
-
-This is a quick fix for libmctp building which includes staging
-kernel headers. It's a temporary fix until kernel tree fixes the
-rwonce.h including issue.
-
-Note: Do not upstream it.
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- include/asm/rwonce.h | 90 ++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 90 insertions(+)
- create mode 100644 include/asm/rwonce.h
-
-diff --git a/include/asm/rwonce.h b/include/asm/rwonce.h
-new file mode 100644
-index 000000000000..11619bdbebae
---- /dev/null
-+++ b/include/asm/rwonce.h
-@@ -0,0 +1,90 @@
-+/* SPDX-License-Identifier: GPL-2.0 */
-+/*
-+ * Prevent the compiler from merging or refetching reads or writes. The
-+ * compiler is also forbidden from reordering successive instances of
-+ * READ_ONCE and WRITE_ONCE, but only when the compiler is aware of some
-+ * particular ordering. One way to make the compiler aware of ordering is to
-+ * put the two invocations of READ_ONCE or WRITE_ONCE in different C
-+ * statements.
-+ *
-+ * These two macros will also work on aggregate data types like structs or
-+ * unions.
-+ *
-+ * Their two major use cases are: (1) Mediating communication between
-+ * process-level code and irq/NMI handlers, all running on the same CPU,
-+ * and (2) Ensuring that the compiler does not fold, spindle, or otherwise
-+ * mutilate accesses that either do not require ordering or that interact
-+ * with an explicit memory barrier or atomic instruction that provides the
-+ * required ordering.
-+ */
-+#ifndef __ASM_GENERIC_RWONCE_H
-+#define __ASM_GENERIC_RWONCE_H
-+
-+#ifndef __ASSEMBLY__
-+
-+#include <linux/compiler_types.h>
-+#include <linux/kasan-checks.h>
-+#include <linux/kcsan-checks.h>
-+
-+/*
-+ * Yes, this permits 64-bit accesses on 32-bit architectures. These will
-+ * actually be atomic in some cases (namely Armv7 + LPAE), but for others we
-+ * rely on the access being split into 2x32-bit accesses for a 32-bit quantity
-+ * (e.g. a virtual address) and a strong prevailing wind.
-+ */
-+#define compiletime_assert_rwonce_type(t) \
-+ compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
-+ "Unsupported access size for {READ,WRITE}_ONCE().")
-+
-+/*
-+ * Use __READ_ONCE() instead of READ_ONCE() if you do not require any
-+ * atomicity. Note that this may result in tears!
-+ */
-+#ifndef __READ_ONCE
-+#define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x))
-+#endif
-+
-+#define READ_ONCE(x) \
-+({ \
-+ compiletime_assert_rwonce_type(x); \
-+ __READ_ONCE(x); \
-+})
-+
-+#define __WRITE_ONCE(x, val) \
-+do { \
-+ *(volatile typeof(x) *)&(x) = (val); \
-+} while (0)
-+
-+#define WRITE_ONCE(x, val) \
-+do { \
-+ compiletime_assert_rwonce_type(x); \
-+ __WRITE_ONCE(x, val); \
-+} while (0)
-+
-+static __always_inline
-+unsigned long __read_once_word_nocheck(const void *addr)
-+{
-+ return __READ_ONCE(*(unsigned long *)addr);
-+}
-+
-+/*
-+ * Use READ_ONCE_NOCHECK() instead of READ_ONCE() if you need to load a
-+ * word from memory atomically but without telling KASAN/KCSAN. This is
-+ * usually used by unwinding code when walking the stack of a running process.
-+ */
-+#define READ_ONCE_NOCHECK(x) \
-+({ \
-+ compiletime_assert(sizeof(x) == sizeof(unsigned long), \
-+ "Unsupported access size for READ_ONCE_NOCHECK()."); \
-+ (typeof(x))__read_once_word_nocheck(&(x)); \
-+})
-+
-+static __always_inline
-+unsigned long read_word_at_a_time(const void *addr)
-+{
-+ kasan_check_read(addr, 1);
-+ return *(unsigned long *)addr;
-+}
-+
-+#endif /* __ASSEMBLY__ */
-+#endif /* __ASM_GENERIC_RWONCE_H */
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0004-Add-a-quick-fix-to-resolve-USB-gadget-DMA-issue.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0004-Add-a-quick-fix-to-resolve-USB-gadget-DMA-issue.patch
deleted file mode 100644
index 2d435c796..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0004-Add-a-quick-fix-to-resolve-USB-gadget-DMA-issue.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From cdd7104850d34cfe22902c45d69dac6cb506b087 Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Fri, 26 Feb 2021 11:00:54 -0800
-Subject: [PATCH] Add a quick fix to resolve USB gadget DMA issue.
-
-This is a quick fix to resolve USB gadget DMA issue and it should
-be removed when a real fix is added.
-
-Tested: Keyboard and mouse in KVM feature worked.
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- kernel/dma/mapping.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c
-index 51bb8fa8eb89..7bcfedeb1e30 100644
---- a/kernel/dma/mapping.c
-+++ b/kernel/dma/mapping.c
-@@ -146,8 +146,10 @@ dma_addr_t dma_map_page_attrs(struct device *dev, struct page *page,
-
- BUG_ON(!valid_dma_direction(dir));
-
-+#if 0 /* Quick fix to resolve USB gadget issue */
- if (WARN_ON_ONCE(!dev->dma_mask))
- return DMA_MAPPING_ERROR;
-+#endif
-
- if (dma_map_direct(dev, ops))
- addr = dma_direct_map_page(dev, page, offset, size, dir, attrs);
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-Die_CPU-filter-first-zero-from-GetTemp.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-Die_CPU-filter-first-zero-from-GetTemp.patch
deleted file mode 100644
index 54dced64f..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-Die_CPU-filter-first-zero-from-GetTemp.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From b0740cbafa468ece35d26a797e7cf80f04fb5102 Mon Sep 17 00:00:00 2001
-From: Zhikui Ren <zhikui.ren@intel.com>
-Date: Mon, 11 Jan 2021 16:31:36 -0800
-Subject: [PATCH] Die_CPU: filter first zero from GetTemp
-
-Peci command GetTemp can return 0 during CPU reset.
-It does not have a have completion code either.
-Discard the first zero reading and return -ENODATA.
-Consecutive zeros will be returned so that real hot
-condition will still be detected and logged but possibly delayed
-by the sensor polling period, which is normally 500ms-1s.
-
-Signed-off-by: Zhikui Ren <zhikui.ren@intel.com>
----
- drivers/hwmon/peci-cputemp.c | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/drivers/hwmon/peci-cputemp.c b/drivers/hwmon/peci-cputemp.c
-index c5d92d1d2c25..49670bc80530 100644
---- a/drivers/hwmon/peci-cputemp.c
-+++ b/drivers/hwmon/peci-cputemp.c
-@@ -15,6 +15,7 @@
-
- struct temp_group {
- struct peci_sensor_data die;
-+ u32 die_raw_prev;
- struct peci_sensor_data dts;
- struct peci_sensor_data tcontrol;
- struct peci_sensor_data tthrottle;
-@@ -119,6 +120,7 @@ static int get_die_temp(struct peci_cputemp *priv)
- {
- struct peci_get_temp_msg msg;
- int ret;
-+ bool discard = false;
-
- if (!peci_sensor_need_update(&priv->temp.die))
- return 0;
-@@ -129,6 +131,20 @@ static int get_die_temp(struct peci_cputemp *priv)
- if (ret)
- return ret;
-
-+ /*
-+ * GET_TEMP command does not have cc and can return zero during
-+ * cpu reset. Treat the first zero reading as data not available.
-+ * Consecutive zeros will be returned so true hot condition
-+ * is not be missed.
-+ */
-+ if (msg.temp_raw == 0 && priv->temp.die_raw_prev != 0) {
-+ dev_err(priv->dev, "discard first 0 reading from GetTemp\n");
-+ discard = true;
-+ }
-+ priv->temp.die_raw_prev = msg.temp_raw;
-+ if (discard)
-+ return -ENODATA;
-+
- /* Note that the tjmax should be available before calling it */
- priv->temp.die.value = priv->temp.tjmax.value +
- (msg.temp_raw * 1000 / 64);
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0006-DTS_CPU-filter-first-zero-from-RdPkgConfig-10.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0006-DTS_CPU-filter-first-zero-from-RdPkgConfig-10.patch
deleted file mode 100644
index a498f9c19..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0006-DTS_CPU-filter-first-zero-from-RdPkgConfig-10.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 4d4e68e0eed7ccf899bc1b3799a93ed8eb44270d Mon Sep 17 00:00:00 2001
-From: Zhikui Ren <zhikui.ren@intel.com>
-Date: Tue, 2 Feb 2021 14:49:28 -0800
-Subject: [PATCH] DTS_CPU: filter first zero from RdPkgConfig 10
-
-Peci command GetPkgConfig 10 can return 0 (hot) with cc 0x40
-after cpu reset. Once pcode run time image is loaded
-and it returns 0x8000 as DTS margin data not ready
-Discard the first zero reading and return -ENODATA.
-Consecutive zeros will be returned so that real hot
-condition will still be detected and logged but possibly delayed
-by the sensor polling period, which is normally one second.
-
-Signed-off-by: Zhikui Ren <zhikui.ren@intel.com>
----
- drivers/hwmon/peci-cputemp.c | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/drivers/hwmon/peci-cputemp.c b/drivers/hwmon/peci-cputemp.c
-index 49670bc80530..af1c09741120 100644
---- a/drivers/hwmon/peci-cputemp.c
-+++ b/drivers/hwmon/peci-cputemp.c
-@@ -17,6 +17,7 @@ struct temp_group {
- struct peci_sensor_data die;
- u32 die_raw_prev;
- struct peci_sensor_data dts;
-+ u32 dts_raw_prev;
- struct peci_sensor_data tcontrol;
- struct peci_sensor_data tthrottle;
- struct peci_sensor_data tjmax;
-@@ -159,6 +160,7 @@ static int get_dts(struct peci_cputemp *priv)
- s32 dts_margin;
- u8 pkg_cfg[4];
- int ret;
-+ bool discard = false;
-
- if (!peci_sensor_need_update(&priv->temp.dts))
- return 0;
-@@ -172,6 +174,24 @@ static int get_dts(struct peci_cputemp *priv)
-
- dts_margin = le16_to_cpup((__le16 *)pkg_cfg);
-
-+ /*
-+ * There is a small window (500us) for read dts_margin (RdPkgConfig 10)
-+ * to return cc 0x40, and dts_margin of 0 after cpu reset, before
-+ * runtime image is loaded to set it to 0x8000 (dts reading not ready).
-+ * DTS sensor is polled by user application at a slower rate than this
-+ * window. Treat the first zero reading as data not available.
-+ * Consecutive zeros will be returned so true hot condition is not be
-+ * missed.
-+ */
-+ if (dts_margin == 0 && priv->temp.dts_raw_prev != 0) {
-+ dev_err(priv->dev,
-+ "discard first 0 reading from RdPkgConfig 10\n");
-+ discard = true;
-+ }
-+ priv->temp.dts_raw_prev = dts_margin;
-+ if (discard)
-+ return -ENODATA;
-+
- /**
- * Processors return a value of DTS reading in 10.6 format
- * (10 bits signed decimal, 6 bits fractional).
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0007-peci-cputemp-filter-the-first-zero-from-RdPkgConfig-.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0007-peci-cputemp-filter-the-first-zero-from-RdPkgConfig-.patch
deleted file mode 100644
index 1ee3be689..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0007-peci-cputemp-filter-the-first-zero-from-RdPkgConfig-.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From d622c220351def5c8b3fa5540473a4d3ca685233 Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Thu, 29 Jul 2021 11:07:31 -0700
-Subject: [PATCH] peci: cputemp: filter the first zero from RdPkgConfig 16
-
-Peci command GetPkgConfig 16 can return 0 with cc 0x40 after a CPU
-reset. Once pcode run time image is loaded and it returns 0x8000
-as a data not ready. This commit makes it discard the first zero
-reading and return -ENODATA. Consecutive zeros will be returned
-so that real invalid temperature target setting condition will
-still be detected and logged but possibly delayed by the sensor
-polling period which is one second (UPDATE_INTERVAL_DEFAULT).
-
-Signed-off-by: Zhikui Ren <zhikui.ren@intel.com>
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- drivers/hwmon/peci-cputemp.c | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
-
-diff --git a/drivers/hwmon/peci-cputemp.c b/drivers/hwmon/peci-cputemp.c
-index af1c09741120..8d5d579ccb1a 100644
---- a/drivers/hwmon/peci-cputemp.c
-+++ b/drivers/hwmon/peci-cputemp.c
-@@ -21,6 +21,7 @@ struct temp_group {
- struct peci_sensor_data tcontrol;
- struct peci_sensor_data tthrottle;
- struct peci_sensor_data tjmax;
-+ u32 temp_target_raw_prev;
- struct peci_sensor_data module[MODTEMP_CHANNEL_NUMS];
- };
-
-@@ -89,6 +90,8 @@ static int get_temp_targets(struct peci_cputemp *priv)
- s32 tcontrol_margin;
- u8 pkg_cfg[4];
- int ret;
-+ bool discard = false;
-+ u32 temp_target_raw;
-
- /*
- * Just use only the tcontrol marker to determine if target values need
-@@ -103,6 +106,26 @@ static int get_temp_targets(struct peci_cputemp *priv)
- if (ret)
- return ret;
-
-+ /*
-+ * There is a small window (500us) for read temperature target
-+ * (RdPkgConfig 16) to return cc 0x40, and temperature target of 0 after
-+ * cpu reset, before runtime image is loaded to set it to 0x8000
-+ * Since update interval of the temperature target value is slower than
-+ * this window, treat the first zero reading as data not available.
-+ * Consecutive zeros will be returned so true invalid temperature target
-+ * setting condition will not be missed.
-+ */
-+ temp_target_raw = le32_to_cpup((__le32 *)pkg_cfg);
-+ if (temp_target_raw == 0 &&
-+ priv->temp.temp_target_raw_prev != 0) {
-+ dev_err(priv->dev,
-+ "discard first 0 reading from RdPkgConfig 16\n");
-+ discard = true;
-+ }
-+ priv->temp.temp_target_raw_prev = temp_target_raw;
-+ if (discard)
-+ return -ENODATA;
-+
- priv->temp.tjmax.value = pkg_cfg[2] * 1000;
-
- tcontrol_margin = pkg_cfg[1];
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0008-vegman-kernel-add-RTC-driver-for-PCHC620.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0008-vegman-kernel-add-RTC-driver-for-PCHC620.patch
deleted file mode 100644
index 1622a01e5..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0008-vegman-kernel-add-RTC-driver-for-PCHC620.patch
+++ /dev/null
@@ -1,205 +0,0 @@
-From b80e1dea7595519edbabf3e12b6d31f0e128f901 Mon Sep 17 00:00:00 2001
-From: Ivan Mikhaylov <i.mikhaylov@yadro.com>
-Date: Mon, 12 Jul 2021 10:46:22 +0300
-Subject: [PATCH] vegman: kernel: add RTC driver for PCHC620
-
-Signed-off-by: Ivan Mikhaylov <i.mikhaylov@yadro.com>
----
- drivers/rtc/Kconfig | 10 +++
- drivers/rtc/Makefile | 1 +
- drivers/rtc/rtc-pchc620.c | 150 ++++++++++++++++++++++++++++++++++++++
- 3 files changed, 161 insertions(+)
- create mode 100644 drivers/rtc/rtc-pchc620.c
-
-diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
-index 1adf9f815652..79aba84dd19f 100644
---- a/drivers/rtc/Kconfig
-+++ b/drivers/rtc/Kconfig
-@@ -564,6 +564,16 @@ config RTC_DRV_PALMAS
- This driver can also be built as a module. If so, the module
- will be called rtc-palma.
-
-+config RTC_DRV_PCHC620
-+ tristate "PCH C620 RTC driver"
-+ help
-+ If you say yes here you get support for the Intel C620 Series PCH
-+ built-in read-only RTC. This driver is not for in-system use on x86,
-+ but rather is for external access over I2C from a BMC.
-+
-+ This driver can also be built as a module. If so, the module
-+ will be called rtc-pchc620.
-+
- config RTC_DRV_TPS6586X
- tristate "TI TPS6586X RTC driver"
- depends on MFD_TPS6586X
-diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
-index 4ac8f19fb631..87ab76563a59 100644
---- a/drivers/rtc/Makefile
-+++ b/drivers/rtc/Makefile
-@@ -118,6 +118,7 @@ obj-$(CONFIG_RTC_DRV_MXC_V2) += rtc-mxc_v2.o
- obj-$(CONFIG_RTC_DRV_OMAP) += rtc-omap.o
- obj-$(CONFIG_RTC_DRV_OPAL) += rtc-opal.o
- obj-$(CONFIG_RTC_DRV_PALMAS) += rtc-palmas.o
-+obj-$(CONFIG_RTC_DRV_PCHC620) += rtc-pchc620.o
- obj-$(CONFIG_RTC_DRV_PCAP) += rtc-pcap.o
- obj-$(CONFIG_RTC_DRV_PCF2123) += rtc-pcf2123.o
- obj-$(CONFIG_RTC_DRV_PCF2127) += rtc-pcf2127.o
-diff --git a/drivers/rtc/rtc-pchc620.c b/drivers/rtc/rtc-pchc620.c
-new file mode 100644
-index 000000000000..a944b327ca67
---- /dev/null
-+++ b/drivers/rtc/rtc-pchc620.c
-@@ -0,0 +1,150 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * RTC driver for PCHC620
-+ * Copyright (C) 2021 YADRO
-+ */
-+
-+#include <linux/i2c.h>
-+#include <linux/slab.h>
-+#include <linux/rtc.h>
-+#include <linux/bcd.h>
-+#include <linux/module.h>
-+#include <linux/regmap.h>
-+
-+#define PCH_REG_FORCE_OFF 0x00
-+#define PCH_REG_SC 0x09
-+#define PCH_REG_MN 0x0a
-+#define PCH_REG_HR 0x0b
-+#define PCH_REG_DW 0x0c
-+#define PCH_REG_DM 0x0d
-+#define PCH_REG_MO 0x0e
-+#define PCH_REG_YR 0x0f
-+
-+#define NUM_TIME_REGS (PCH_REG_YR - PCH_REG_SC + 1)
-+
-+struct pch {
-+ struct rtc_device *rtc;
-+ struct regmap *regmap;
-+};
-+
-+static int pchc620_rtc_read_time(struct device *dev, struct rtc_time *tm)
-+{
-+ struct i2c_client *client = to_i2c_client(dev);
-+ struct pch *pch = i2c_get_clientdata(client);
-+ unsigned char rtc_data[NUM_TIME_REGS] = {0};
-+ int rc;
-+
-+ rc = regmap_bulk_read(pch->regmap, PCH_REG_SC, rtc_data, NUM_TIME_REGS);
-+ if (rc < 0) {
-+ dev_err(dev, "Fail to read time reg(%d)\n", rc);
-+ return rc;
-+ }
-+
-+ tm->tm_sec = bcd2bin(rtc_data[0]);
-+ tm->tm_min = bcd2bin(rtc_data[1]);
-+ tm->tm_hour = bcd2bin(rtc_data[2]);
-+ tm->tm_wday = rtc_data[3];
-+ tm->tm_mday = bcd2bin(rtc_data[4]);
-+ tm->tm_mon = bcd2bin(rtc_data[5]) - 1;
-+ tm->tm_year = bcd2bin(rtc_data[6]) + 100;
-+
-+ return 0;
-+}
-+
-+static ssize_t pch_force_off(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ struct i2c_client *client = to_i2c_client(dev);
-+ struct pch *pch = i2c_get_clientdata(client);
-+ unsigned long val;
-+ int rc;
-+
-+ if (kstrtoul(buf, 10, &val))
-+ return -EINVAL;
-+
-+ if (val) {
-+ /* 0x02 host force off */
-+ rc = regmap_write(pch->regmap, PCH_REG_FORCE_OFF, 0x2);
-+ if (rc < 0) {
-+ dev_err(dev, "Fail to read time reg(%d)\n", rc);
-+ return rc;
-+ }
-+ }
-+
-+ return 0;
-+}
-+static DEVICE_ATTR(force_off, S_IWUSR | S_IWGRP, NULL, pch_force_off);
-+
-+static const struct rtc_class_ops pchc620_rtc_ops = {
-+ .read_time = pchc620_rtc_read_time,
-+};
-+
-+static const struct regmap_config pchc620_rtc_regmap_config = {
-+ .reg_bits = 8,
-+ .val_bits = 8,
-+ .use_single_read = true,
-+};
-+
-+static int pchc620_rtc_probe(struct i2c_client *client,
-+ const struct i2c_device_id *id)
-+{
-+ struct pch *pch;
-+ int rc;
-+
-+ pch = devm_kzalloc(&client->dev, sizeof(*pch), GFP_KERNEL);
-+ if (!pch)
-+ return -ENOMEM;
-+
-+ pch->regmap = devm_regmap_init_i2c(client, &pchc620_rtc_regmap_config);
-+ if (IS_ERR(pch->regmap)) {
-+ dev_err(&client->dev, "regmap_init failed\n");
-+ return PTR_ERR(pch->regmap);
-+ }
-+
-+ i2c_set_clientdata(client, pch);
-+
-+ pch->rtc = devm_rtc_device_register(&client->dev, "pch-rtc",
-+ &pchc620_rtc_ops, THIS_MODULE);
-+ if (IS_ERR(pch->rtc))
-+ return PTR_ERR(pch->rtc);
-+
-+ rc = sysfs_create_file(&client->dev.kobj, &dev_attr_force_off.attr);
-+ if (rc)
-+ return rc;
-+
-+ return 0;
-+}
-+
-+static int pchc620_rtc_remove(struct i2c_client *client)
-+{
-+ sysfs_remove_file(&client->dev.kobj, &dev_attr_force_off.attr);
-+ return 0;
-+}
-+
-+static const struct i2c_device_id pchc620_rtc_id[] = {
-+ { "pchc620-rtc", 0 },
-+ { }
-+};
-+MODULE_DEVICE_TABLE(i2c, pchc620_rtc_id);
-+
-+static const struct of_device_id pchc620_rtc_of_match[] = {
-+ { .compatible = "rtc,pchc620", },
-+ { }
-+};
-+MODULE_DEVICE_TABLE(of, pchc620_rtc_of_match);
-+
-+static struct i2c_driver pchc620_rtc_driver = {
-+ .driver = {
-+ .name = "pchc620-rtc",
-+ .of_match_table = pchc620_rtc_of_match,
-+ },
-+ .probe = pchc620_rtc_probe,
-+ .remove = pchc620_rtc_remove,
-+ .id_table = pchc620_rtc_id,
-+};
-+module_i2c_driver(pchc620_rtc_driver);
-+
-+MODULE_DESCRIPTION("RTC PCHC620 driver");
-+MODULE_AUTHOR("Ivan Mikhaylov <i.mikhaylov@yadro.com>");
-+MODULE_LICENSE("GPL");
---
-2.31.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0009-ARM-dts-add-rtc-pch-node-into-aspeed-bmc-intel-ast2x.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0009-ARM-dts-add-rtc-pch-node-into-aspeed-bmc-intel-ast2x.patch
deleted file mode 100644
index ef2196c44..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0009-ARM-dts-add-rtc-pch-node-into-aspeed-bmc-intel-ast2x.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From aed87d1ffe2d22986e38b22b1c77beadcd3376c8 Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Fri, 30 Jul 2021 14:17:24 -0700
-Subject: [PATCH] ARM: dts: add rtc-pch node into aspeed-bmc-intel-ast2xxx
-
-This commit adds rtc-pch node into aspeed-bmc-intel-ast2500 and
-aspeed-bmc-intel-ast2600 to enable PCH RTC driver.
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts | 5 +++++
- arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts | 5 +++++
- 2 files changed, 10 insertions(+)
-
-diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts b/arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts
-index 2efa67f08dcb..a460169e1b7b 100644
---- a/arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts
-+++ b/arch/arm/boot/dts/aspeed-bmc-intel-ast2500.dts
-@@ -383,6 +383,11 @@
- aspeed,dma-buf-size = <4095>;
- aspeed,hw-timeout-ms = <300>;
- status = "okay";
-+
-+ rtc-pch@44 {
-+ compatible = "rtc,pchc620";
-+ reg = <0x44>;
-+ };
- };
-
- &i2c4 {
-diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
-index 02a671ca0f19..9bc859f69307 100644
---- a/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
-+++ b/arch/arm/boot/dts/aspeed-bmc-intel-ast2600.dts
-@@ -491,6 +491,11 @@
- multi-master;
- aspeed,hw-timeout-ms = <300>;
- status = "okay";
-+
-+ rtc-pch@44 {
-+ compatible = "rtc,pchc620";
-+ reg = <0x44>;
-+ };
- };
-
- &i2c12 {
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
index b5165c73c..fb05aa1a0 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -1,12 +1,12 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-LINUX_VERSION = "5.10.60"
+LINUX_VERSION = "5.15"
-KBRANCH = "dev-5.10-intel"
+KBRANCH = "dev-5.15-intel"
KSRC = "git://github.com/Intel-BMC/linux;protocol=ssh;branch=${KBRANCH}"
# Include this as a comment only for downstream auto-bump
-# SRC_URI = "git://github.com/Intel-BMC/linux;protocol=ssh;branch=dev-5.10-intel"
-SRCREV="c6e2963874ca7454eb901b4ac668f05b36cf03c8"
+# SRC_URI = "git://github.com/Intel-BMC/linux;protocol=ssh;branch=dev-5.15-intel"
+SRCREV="c7981259e359523e74044f926b69a804c61c86b1"
do_compile:prepend(){
# device tree compiler flags
@@ -15,15 +15,6 @@ do_compile:prepend(){
SRC_URI += " \
file://intel.cfg \
- file://0001-peci-Add-debug-printing-to-check-caller-PID.patch \
- file://0002-soc-aspeed-add-AST2600-A0-specific-fix-into-mbox-dri.patch \
- file://0003-Fix-libmctp-build-error.patch \
- file://0004-Add-a-quick-fix-to-resolve-USB-gadget-DMA-issue.patch \
- file://0005-Die_CPU-filter-first-zero-from-GetTemp.patch \
- file://0006-DTS_CPU-filter-first-zero-from-RdPkgConfig-10.patch \
- file://0007-peci-cputemp-filter-the-first-zero-from-RdPkgConfig-.patch \
- file://0008-vegman-kernel-add-RTC-driver-for-PCHC620.patch \
- file://0009-ARM-dts-add-rtc-pch-node-into-aspeed-bmc-intel-ast2x.patch \
"
SRC_URI += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'file://1000-128MB-flashmap-for-PFR.patch', '', d)}"
diff --git a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0003-Adding-channel-specific-privilege-to-network.patch b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0003-Adding-channel-specific-privilege-to-network.patch
index 2cfa380ef..f21283a75 100644
--- a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0003-Adding-channel-specific-privilege-to-network.patch
+++ b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0003-Adding-channel-specific-privilege-to-network.patch
@@ -1,4 +1,4 @@
-From 29c6b0a294e2c32c9617d243d71d202e926262d0 Mon Sep 17 00:00:00 2001
+From 145778897e36f407773844b3b96847ff10306ee8 Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Thu, 2 Apr 2020 17:06:07 +0530
Subject: [PATCH] Adding channel specific privilege to network
@@ -18,18 +18,19 @@ Change-Id: I3b592a19363eef684e31d5f7c34dad8f2f9211df
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
+Signed-off-by: Ramya Narayana <ramyax.narayana@intel.com>
---
src/ethernet_interface.cpp | 124 +++++++++++++++++++++++++++++++++++++
- src/ethernet_interface.hpp | 36 ++++++++++-
+ src/ethernet_interface.hpp | 37 ++++++++++-
src/network_manager.cpp | 102 ++++++++++++++++++++++++++++++
src/network_manager.hpp | 9 +++
- 4 files changed, 270 insertions(+), 1 deletion(-)
+ 4 files changed, 271 insertions(+), 1 deletion(-)
diff --git a/src/ethernet_interface.cpp b/src/ethernet_interface.cpp
-index 5ce4349..4c52fc8 100644
+index 2e15803..1145773 100644
--- a/src/ethernet_interface.cpp
+++ b/src/ethernet_interface.cpp
-@@ -49,6 +49,10 @@ constexpr auto PROPERTY_INTERFACE = "org.freedesktop.DBus.Properties";
+@@ -48,6 +48,10 @@ constexpr auto PROPERTY_INTERFACE = "org.freedesktop.DBus.Properties";
constexpr auto RESOLVED_SERVICE_PATH = "/org/freedesktop/resolve1/link/";
constexpr auto METHOD_GET = "Get";
@@ -40,7 +41,7 @@ index 5ce4349..4c52fc8 100644
struct EthernetIntfSocket
{
EthernetIntfSocket(int domain, int type, int protocol)
-@@ -133,6 +137,7 @@ EthernetInterface::EthernetInterface(sdbusplus::bus::bus& bus,
+@@ -132,6 +136,7 @@ EthernetInterface::EthernetInterface(sdbusplus::bus::bus& bus,
EthernetInterfaceIntf::autoNeg(std::get<2>(ifInfo));
EthernetInterfaceIntf::speed(std::get<0>(ifInfo));
#endif
@@ -48,8 +49,8 @@ index 5ce4349..4c52fc8 100644
// Emit deferred signal.
if (emitSignal)
-@@ -1248,5 +1253,124 @@ std::string EthernetInterface::defaultGateway6(std::string gateway)
- manager.writeToConfigurationFile();
+@@ -1322,5 +1327,124 @@ std::string EthernetInterface::defaultGateway6(std::string gateway)
+
return gw;
}
+
@@ -174,7 +175,7 @@ index 5ce4349..4c52fc8 100644
} // namespace network
} // namespace phosphor
diff --git a/src/ethernet_interface.hpp b/src/ethernet_interface.hpp
-index 12d307f..d764b2b 100644
+index 0fe3778..fa5c889 100644
--- a/src/ethernet_interface.hpp
+++ b/src/ethernet_interface.hpp
@@ -2,11 +2,14 @@
@@ -190,9 +191,9 @@ index 12d307f..d764b2b 100644
#include <sdbusplus/bus.hpp>
+#include <sdbusplus/bus/match.hpp>
#include <sdbusplus/server/object.hpp>
- #include <sdbusplus/timer.hpp>
#include <string>
-@@ -35,7 +38,8 @@ using Ifaces = sdbusplus::server::object::object<
+ #include <xyz/openbmc_project/Collection/DeleteAll/server.hpp>
+@@ -23,7 +26,8 @@ using Ifaces = sdbusplus::server::object::object<
sdbusplus::xyz::openbmc_project::Network::server::MACAddress,
sdbusplus::xyz::openbmc_project::Network::IP::server::Create,
sdbusplus::xyz::openbmc_project::Network::Neighbor::server::CreateStatic,
@@ -202,7 +203,7 @@ index 12d307f..d764b2b 100644
using IP = sdbusplus::xyz::openbmc_project::Network::server::IP;
-@@ -43,11 +47,14 @@ using EthernetInterfaceIntf =
+@@ -31,11 +35,14 @@ using EthernetInterfaceIntf =
sdbusplus::xyz::openbmc_project::Network::server::EthernetInterface;
using MacAddressIntf =
sdbusplus::xyz::openbmc_project::Network::server::MACAddress;
@@ -217,7 +218,7 @@ index 12d307f..d764b2b 100644
class Manager; // forward declaration of network manager.
-@@ -247,6 +254,14 @@ class EthernetInterface : public Ifaces
+@@ -240,6 +247,14 @@ class EthernetInterface : public Ifaces
std::string defaultGateway6(std::string gateway) override;
using EthernetInterfaceIntf::dhcpEnabled;
@@ -231,11 +232,12 @@ index 12d307f..d764b2b 100644
+ using ChannelAccessIntf::maxPrivilege;
using EthernetInterfaceIntf::interfaceName;
using EthernetInterfaceIntf::linkUp;
- using EthernetInterfaceIntf::nicEnabled;
-@@ -374,6 +389,25 @@ class EthernetInterface : public Ifaces
+ using EthernetInterfaceIntf::mtu;
+@@ -372,6 +387,26 @@ class EthernetInterface : public Ifaces
* @returns true/false value if the NIC is enabled
*/
bool queryNicEnabled() const;
++
+ /** @brief gets the channel privilege.
+ * @param[in] interfaceName - Network interface name.
+ * @returns privilege of the interface
@@ -259,10 +261,10 @@ index 12d307f..d764b2b 100644
} // namespace network
diff --git a/src/network_manager.cpp b/src/network_manager.cpp
-index 9ae9c5b..2f5097a 100644
+index fe59f0b..01a99a3 100644
--- a/src/network_manager.cpp
+++ b/src/network_manager.cpp
-@@ -36,6 +36,13 @@ extern std::unique_ptr<Timer> restartTimer;
+@@ -39,6 +39,13 @@ extern std::unique_ptr<Timer> refreshObjectTimer;
using namespace phosphor::logging;
using namespace sdbusplus::xyz::openbmc_project::Common::Error;
@@ -276,7 +278,7 @@ index 9ae9c5b..2f5097a 100644
Manager::Manager(sdbusplus::bus::bus& bus, const char* objPath,
const std::string& path) :
details::VLANCreateIface(bus, objPath, true),
-@@ -43,6 +50,101 @@ Manager::Manager(sdbusplus::bus::bus& bus, const char* objPath,
+@@ -46,6 +53,101 @@ Manager::Manager(sdbusplus::bus::bus& bus, const char* objPath,
{
fs::path confDir(path);
setConfDir(confDir);
@@ -379,11 +381,11 @@ index 9ae9c5b..2f5097a 100644
bool Manager::createDefaultNetworkFiles(bool force)
diff --git a/src/network_manager.hpp b/src/network_manager.hpp
-index 227955c..9f5b7a9 100644
+index fb3cc32..0c3d49b 100644
--- a/src/network_manager.hpp
+++ b/src/network_manager.hpp
-@@ -155,6 +155,12 @@ class Manager : public details::VLANCreateIface
- return (interfaces.find(intf) != interfaces.end());
+@@ -156,6 +156,12 @@ class Manager : public details::VLANCreateIface
+ return routeTable;
}
+ /** supported privilege list **/
@@ -395,10 +397,10 @@ index 227955c..9f5b7a9 100644
protected:
/** @brief Persistent sdbusplus DBus bus connection. */
sdbusplus::bus::bus& bus;
-@@ -177,6 +183,9 @@ class Manager : public details::VLANCreateIface
+@@ -181,6 +187,9 @@ class Manager : public details::VLANCreateIface
- /** @brief Network Configuration directory. */
- fs::path confDir;
+ /** @brief The routing table */
+ route::Table routeTable;
+
+ /** Get the user management service name dynamically **/
+ std::string getUserServiceName();
@@ -406,5 +408,5 @@ index 227955c..9f5b7a9 100644
} // namespace network
--
-2.17.1
+2.25.1
diff --git a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0004-Fix-for-updating-MAC-address-from-RedFish.patch b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0004-Fix-for-updating-MAC-address-from-RedFish.patch
index fe7c45532..90bbc1d5b 100644
--- a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0004-Fix-for-updating-MAC-address-from-RedFish.patch
+++ b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0004-Fix-for-updating-MAC-address-from-RedFish.patch
@@ -1,4 +1,4 @@
-From f6240a81c0ed87c128d454fa9c4023b9062efe5e Mon Sep 17 00:00:00 2001
+From cbd034daf844529eb7f098c990dc8f44c12f6b97 Mon Sep 17 00:00:00 2001
From: sunitakx <sunitax.kumari@linux.intel.com>
Date: Tue, 13 Jul 2021 12:54:01 +0000
Subject: [PATCH] Fix for updating MAC address from RedFish
@@ -25,16 +25,17 @@ Body:
Response code: {"200 OK"} received.
Signed-off-by: sunitakx <sunitax.kumari@linux.intel.com>
+Signed-off-by: Ramya Narayana <ramyax.narayana@intel.com>
---
- src/ethernet_interface.cpp | 19 +++++++++++++------
+ src/ethernet_interface.cpp | 17 ++++++++++++-----
src/ethernet_interface.hpp | 5 +++++
- 2 files changed, 18 insertions(+), 6 deletions(-)
+ 2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/src/ethernet_interface.cpp b/src/ethernet_interface.cpp
-index 666173e6587e..95bc8db9cd3a 100644
+index 1145773..129905e 100644
--- a/src/ethernet_interface.cpp
+++ b/src/ethernet_interface.cpp
-@@ -144,6 +144,8 @@ EthernetInterface::EthernetInterface(sdbusplus::bus::bus& bus,
+@@ -143,6 +143,8 @@ EthernetInterface::EthernetInterface(sdbusplus::bus::bus& bus,
{
this->emit_object_added();
}
@@ -43,18 +44,17 @@ index 666173e6587e..95bc8db9cd3a 100644
}
static IP::Protocol convertFamily(int family)
-@@ -1129,8 +1131,18 @@ void EthernetInterface::writeDHCPSection(std::fstream& stream)
+@@ -1209,8 +1211,17 @@ void EthernetInterface::writeDHCPSection(std::fstream& stream)
}
}
+void EthernetInterface::macAddressTimeoutHandler()
+{
+ macUpdateTimer->stop();
-+ // TODO: would remove the call below and
-+ // just restart systemd-netwokd
-+ // through https://github.com/systemd/systemd/issues/6696
-+ execute("/sbin/ip", "ip", "link", "set", "dev", interfaceName().c_str(),
-+ "down");
++ // The MAC and LLADDRs will only update if the NIC is already down
++ EthernetIntfSocket eifSocket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
++ setNICAdminState(eifSocket.sock, interfaceName().c_str(), false);
++ manager.reloadConfigs();
+}
std::string EthernetInterface::macAddress(std::string value)
{
@@ -62,22 +62,22 @@ index 666173e6587e..95bc8db9cd3a 100644
ether_addr newMAC;
try
{
-@@ -1164,12 +1176,7 @@ std::string EthernetInterface::macAddress(std::string value)
+@@ -1244,12 +1255,8 @@ std::string EthernetInterface::macAddress(std::string value)
intf->MacAddressIntf::macAddress(validMAC);
}
MacAddressIntf::macAddress(validMAC);
-
-- // TODO: would remove the call below and
-- // just restart systemd-netwokd
-- // through https://github.com/systemd/systemd/issues/6696
-- execute("/sbin/ip", "ip", "link", "set", "dev", interface.c_str(),
-- "down");
+ macUpdateTimer->start(usec);
- manager.writeToConfigurationFile();
+ writeConfigurationFile();
+- // The MAC and LLADDRs will only update if the NIC is already down
+- EthernetIntfSocket eifSocket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
+- setNICAdminState(eifSocket.sock, interface.c_str(), false);
+- manager.reloadConfigs();
}
+ #ifdef HAVE_UBOOT_ENV
diff --git a/src/ethernet_interface.hpp b/src/ethernet_interface.hpp
-index 6c7bd69ef987..acf6b6792b75 100644
+index fa5c889..70f4756 100644
--- a/src/ethernet_interface.hpp
+++ b/src/ethernet_interface.hpp
@@ -11,11 +11,14 @@
@@ -95,7 +95,7 @@ index 6c7bd69ef987..acf6b6792b75 100644
namespace phosphor
{
namespace network
-@@ -83,6 +86,8 @@ class EthernetInterface : public Ifaces
+@@ -84,6 +87,8 @@ class EthernetInterface : public Ifaces
EthernetInterface& operator=(EthernetInterface&&) = delete;
virtual ~EthernetInterface() = default;
diff --git a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0005-Added-debug-logs-to-isolate-the-coredump-issue-of-RT.patch b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0005-Added-debug-logs-to-isolate-the-coredump-issue-of-RT.patch
deleted file mode 100644
index 255ae4836..000000000
--- a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0005-Added-debug-logs-to-isolate-the-coredump-issue-of-RT.patch
+++ /dev/null
@@ -1,261 +0,0 @@
-From f898e4512e7907ba185a1178ad36cb7af6ad0811 Mon Sep 17 00:00:00 2001
-From: sureshv1 <suresh.vijayakumar@intel.com>
-Date: Tue, 10 Aug 2021 16:38:42 +0530
-Subject: [PATCH] Added Debug logs to isolate coredump of RTNETLink Packet
- Processing Clang Format updated
-
-Tested:
-Flashed the BMC firmware image with logs included and observed that
-the logs are logged during the boot up time and not flooding serial
-console.After the BMC is booted up, logs were logged in when ever a
-RT Net Link Packet is received and not flooding the journalctl logs.
-
-Change-Id: I5e1d152b18df17e5351c498210dae5c45f551f7b
-Signed-off-by: sureshv1 <suresh.vijayakumar@intel.com>
----
- src/network_manager.cpp | 15 ++++++++
- src/network_manager_main.cpp | 12 +++++++
- src/rtnetlink_server.cpp | 70 ++++++++++++++++++++++++++++++++++++
- 3 files changed, 97 insertions(+)
-
-diff --git a/src/network_manager.cpp b/src/network_manager.cpp
-index 2f5097a..ec48f2a 100644
---- a/src/network_manager.cpp
-+++ b/src/network_manager.cpp
-@@ -15,6 +15,7 @@
- #include <bitset>
- #include <filesystem>
- #include <fstream>
-+#include <iostream>
- #include <map>
- #include <phosphor-logging/elog-errors.hpp>
- #include <phosphor-logging/log.hpp>
-@@ -26,6 +27,8 @@ constexpr char SYSTEMD_PATH[] = "/org/freedesktop/systemd1";
- constexpr char SYSTEMD_INTERFACE[] = "org.freedesktop.systemd1.Manager";
- constexpr auto FirstBootFile = "/var/lib/network/firstBoot_";
-
-+constexpr bool debug = true;
-+
- namespace phosphor
- {
- namespace network
-@@ -273,6 +276,12 @@ void Manager::createInterfaces()
-
- void Manager::createChildObjects()
- {
-+ if (debug)
-+ {
-+ std::cout
-+ << "Create Child Objects called(restart system conf and DHCP conf)"
-+ << "\n";
-+ }
- // creates the ethernet interface dbus object.
- createInterfaces();
-
-@@ -289,6 +298,12 @@ void Manager::createChildObjects()
- objPath /= "dhcp";
- dhcpConf = std::make_unique<phosphor::network::dhcp::Configuration>(
- bus, objPath.string(), *this);
-+
-+ if (debug)
-+ {
-+ std::cout << "Create Child Objects Exiting"
-+ << "\n";
-+ }
- }
-
- ObjectPath Manager::vlan(IntfName interfaceName, uint32_t id)
-diff --git a/src/network_manager_main.cpp b/src/network_manager_main.cpp
-index 983616f..c9bdb15 100644
---- a/src/network_manager_main.cpp
-+++ b/src/network_manager_main.cpp
-@@ -10,6 +10,7 @@
- #include <filesystem>
- #include <fstream>
- #include <functional>
-+#include <iostream>
- #include <memory>
- #ifdef SYNC_MAC_FROM_INVENTORY
- #include <nlohmann/json.hpp>
-@@ -41,6 +42,8 @@ constexpr auto configFile = "/usr/share/network/config.json";
- constexpr auto invNetworkIntf =
- "xyz.openbmc_project.Inventory.Item.NetworkInterface";
-
-+constexpr bool debug = true;
-+
- namespace phosphor
- {
- namespace network
-@@ -255,10 +258,19 @@ void restartNetwork()
-
- void initializeTimers()
- {
-+ if (debug)
-+ std::cout
-+ << "Initialize Timer for Refresh Object Timer and Restart Timer"
-+ << "\n";
-+
- auto event = sdeventplus::Event::get_default();
- refreshObjectTimer =
- std::make_unique<Timer>(event, std::bind(refreshObjects));
- restartTimer = std::make_unique<Timer>(event, std::bind(restartNetwork));
-+
-+ if (debug)
-+ std::cout << "Initialize Timer Exiting"
-+ << "\n";
- }
-
- } // namespace network
-diff --git a/src/rtnetlink_server.cpp b/src/rtnetlink_server.cpp
-index 07ca08c..74f08b3 100644
---- a/src/rtnetlink_server.cpp
-+++ b/src/rtnetlink_server.cpp
-@@ -11,12 +11,15 @@
- #include <systemd/sd-daemon.h>
- #include <unistd.h>
-
-+#include <iostream>
- #include <memory>
- #include <phosphor-logging/elog-errors.hpp>
- #include <phosphor-logging/log.hpp>
- #include <string_view>
- #include <xyz/openbmc_project/Common/error.hpp>
-
-+constexpr bool debug = true;
-+
- namespace phosphor
- {
- namespace network
-@@ -29,6 +32,9 @@ namespace rtnetlink
-
- static bool shouldRefresh(const struct nlmsghdr& hdr, std::string_view data)
- {
-+ if (debug)
-+ std::cout << "Should Refresh the Received Header with Data"
-+ << "\n";
- switch (hdr.nlmsg_type)
- {
- case RTM_NEWADDR:
-@@ -36,22 +42,43 @@ static bool shouldRefresh(const struct nlmsghdr& hdr, std::string_view data)
- case RTM_NEWROUTE:
- case RTM_DELROUTE:
- {
-+ if (debug)
-+ std::cout << "Don't Copy Data as the Message Type is:"
-+ << hdr.nlmsg_type << "\n";
- return true;
- }
- case RTM_NEWNEIGH:
- case RTM_DELNEIGH:
- {
-+ if (debug)
-+ std::cout << "Message Type is" << hdr.nlmsg_type << "\n";
- struct ndmsg ndm;
- if (data.size() < sizeof(ndm))
- {
-+ if (debug)
-+ std::cout << "Data Size:" << data.size()
-+ << " NDM Size:" << sizeof(ndm) << "\n";
- return false;
- }
-+ if (debug)
-+ std::cout
-+ << "Processing/Copying the received Data for MLMSG_TYPE:"
-+ << hdr.nlmsg_type << " Data Size:" << data.size() << "\n";
- memcpy(&ndm, data.data(), sizeof(ndm));
-+ if (debug)
-+ std::cout << "Copied the received Data for MLMSG_TYPE:"
-+ << hdr.nlmsg_type
-+ << " and NDM Message Size is:" << sizeof(ndm) << "\n";
- // We only want to refresh for static neighbors
- return ndm.ndm_state & NUD_PERMANENT;
- }
- }
-
-+ if (debug)
-+ std::cout << "Should Refresh Object is verified and done without any "
-+ "known header type"
-+ << "\n";
-+
- return false;
- }
-
-@@ -62,25 +89,58 @@ static int eventHandler(sd_event_source* /*es*/, int fd, uint32_t /*revents*/,
- char buffer[phosphor::network::rtnetlink::BUFSIZE]{};
- int len{};
-
-+ if (debug)
-+ std::cout << "\n"
-+ << "RTNETLINK event Handler is called to read the RTNETLINK "
-+ "Packet and Refresh it for a buffer size:"
-+ << phosphor::network::rtnetlink::BUFSIZE << "\n";
- auto netLinkHeader = reinterpret_cast<struct nlmsghdr*>(buffer);
- while ((len = recv(fd, netLinkHeader, phosphor::network::rtnetlink::BUFSIZE,
- 0)) > 0)
- {
-+ if (debug)
-+ {
-+ std::cout << "Received the Packet with a Length:" << len << "\n";
-+ }
- for (; (NLMSG_OK(netLinkHeader, len)) &&
- (netLinkHeader->nlmsg_type != NLMSG_DONE);
- netLinkHeader = NLMSG_NEXT(netLinkHeader, len))
- {
-+ if (debug)
-+ std::cout << "NetLinkHeader Message Type is:"
-+ << netLinkHeader->nlmsg_type
-+ << " with total length(len):" << len
-+ << " and block data packet "
-+ "length(netLinkHeader->nlmsg_len - NLMSG_HDRLEN):"
-+ << netLinkHeader->nlmsg_len - NLMSG_HDRLEN
-+ << " and Message Length(netLinkHeader->nlmsg_len):"
-+ << netLinkHeader->nlmsg_len << "\n";
- std::string_view data(
- reinterpret_cast<const char*>(NLMSG_DATA(netLinkHeader)),
- netLinkHeader->nlmsg_len - NLMSG_HDRLEN);
-+ if (debug)
-+ {
-+ if (netLinkHeader)
-+ std::cout << "NetLinkHeader is valid"
-+ << "\n";
-+ }
- if (shouldRefresh(*netLinkHeader, data))
- {
- // starting the timer here to make sure that we don't want
- // create the child objects multiple times.
-+ if (debug)
-+ std::cout << "Check Refresh Object Timer is enabled?"
-+ << "\n";
- if (!refreshObjectTimer->isEnabled())
- {
- // if start timer throws exception then let the application
- // crash
-+ if (debug)
-+ std::cout
-+ << "Call Restart Once with a Timeout seconds:"
-+ << std::chrono::seconds(refreshTimeout).count()
-+ << "\n";
-+
- refreshObjectTimer->restartOnce(refreshTimeout);
- } // end if
- } // end if
-@@ -89,6 +149,16 @@ static int eventHandler(sd_event_source* /*es*/, int fd, uint32_t /*revents*/,
-
- } // end while
-
-+ if (debug)
-+ {
-+ std::cout << "RTNETLINK Event Handler completed read of packets and "
-+ "processed it"
-+ << " with an length(exit):" << len << "\n";
-+
-+ if (errno)
-+ std::cout << "Error Number:" << errno << "\n";
-+ }
-+
- return 0;
- }
-
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network_%.bbappend b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network_%.bbappend
index 63746d8be..4828c9ea0 100644
--- a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network_%.bbappend
@@ -3,11 +3,10 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
DEPENDS += "nlohmann-json boost"
SRC_URI = "git://github.com/openbmc/phosphor-networkd"
-SRCREV = "2c0fc568057c5575a75ad638ea91bc8c65b57160"
+SRCREV = "ee2cba8a7d22ef4a251181087e9ef9bfc5c4b165"
SRC_URI += " file://0003-Adding-channel-specific-privilege-to-network.patch \
file://0004-Fix-for-updating-MAC-address-from-RedFish.patch \
- file://0005-Added-debug-logs-to-isolate-the-coredump-issue-of-RT.patch \
"
EXTRA_OECONF:append = " --enable-nic-ethtool=yes"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/biosconfig-manager/biosconfig-manager_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/biosconfig-manager/biosconfig-manager_git.bb
index 53ba2eeac..711e4eced 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/biosconfig-manager/biosconfig-manager_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/biosconfig-manager/biosconfig-manager_git.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fe
inherit meson systemd
SRC_URI = "git://github.com/openbmc/bios-settings-mgr.git"
-SRCREV = "b5984b87eb93f57f8bc2c123717527076a560753"
+SRCREV = "29656f07b7e81c0bb13ca119b4c6ef62f5e79a18"
SYSTEMD_SERVICE:${PN} += " \
xyz.openbmc_project.biosconfig_manager.service \
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager/0007-Add-HSBP-FRU-details-in-json-configuration.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager/0007-Add-HSBP-FRU-details-in-json-configuration.patch
new file mode 100644
index 000000000..9ad2641bc
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager/0007-Add-HSBP-FRU-details-in-json-configuration.patch
@@ -0,0 +1,78 @@
+From ff4b6cab1dead31bad114321c211797ac28b36b1 Mon Sep 17 00:00:00 2001
+From: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
+Date: Wed, 10 Nov 2021 15:17:13 +0000
+Subject: [PATCH] Add HSBP FRU details in json configuration
+
+Added Intel specific HSBP CPLD FRU details in json configuration file.
+
+Tested:
+1. Detected and read the HSBP FRU with new address on reworked board.
+2. busctl tree xyz.openbmc_project.HsbpManager
+└─/xyz
+ └─/xyz/openbmc_project
+ ├─/xyz/openbmc_project/inventory
+ │ └─/xyz/openbmc_project/inventory/item
+ │ ├─/xyz/openbmc_project/inventory/item/drive
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_1
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_10
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_11
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_12
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_13
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_14
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_15
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_16
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_2
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_3
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_4
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_5
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_6
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_7
+ │ │ ├─/xyz/openbmc_project/inventory/item/drive/Drive_8
+ │ │ └─/xyz/openbmc_project/inventory/item/drive/Drive_9
+ │ └─/xyz/openbmc_project/inventory/item/hsbp
+ │ ├─/xyz/openbmc_project/inventory/item/hsbp/HSBP_1
+ │ └─/xyz/openbmc_project/inventory/item/hsbp/HSBP_2
+ └─/xyz/openbmc_project/software
+ ├─/xyz/openbmc_project/software/HSBP_1
+ └─/xyz/openbmc_project/software/HSBP_2
+
+Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
+---
+ configurations/F2U8X25 HSBP.json | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/configurations/F2U8X25 HSBP.json b/configurations/F2U8X25 HSBP.json
+index 60e7817..cdf9076 100644
+--- a/configurations/F2U8X25 HSBP.json
++++ b/configurations/F2U8X25 HSBP.json
+@@ -7,6 +7,13 @@
+ "Name": "F2U8X25 HSBP1 FRU",
+ "Type": "EEPROM"
+ },
++ {
++ "Address": "0x68",
++ "Bus": "$bus",
++ "Index": 1,
++ "Name": "HSBP 1",
++ "Type": "Intel HSBP CPLD"
++ },
+ {
+ "Address": "0x70",
+ "Bus": "$bus",
+@@ -84,6 +91,13 @@
+ "Name": "F2U8X25 HSBP2 FRU",
+ "Type": "EEPROM"
+ },
++ {
++ "Address": "0x69",
++ "Bus": "$bus",
++ "Index": 2,
++ "Name": "HSBP 2",
++ "Type": "Intel HSBP CPLD"
++ },
+ {
+ "Address": "0x73",
+ "Bus": "$bus",
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend
index a31b5ba93..ba51f9454 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend
@@ -1,6 +1,6 @@
# this is here just to bump faster than upstream
# SRC_URI = "git://github.com/openbmc/entity-manager.git"
-SRCREV = "8bb94ed6c9d64042ef367b5ff679336ff4d75093"
+SRCREV = "2c412eef8eb76bf2a998c9d193f2dc92aaec39f8"
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
@@ -9,5 +9,6 @@ SRC_URI += " file://0002-Entity-manager-Add-support-to-update-assetTag.patch \
file://0004-Adding-MUX-and-Drives-present-in-HSBP-in-json-config.patch \
file://0005-Allow-MUX-idle-state-to-be-configured-as-DISCONNECT.patch \
file://0006-Change-HSBP-FRU-address-and-add-MUX-mode-configurati.patch \
+ file://0007-Add-HSBP-FRU-details-in-json-configuration.patch \
"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/console/obmc-console/obmc-console@.service b/meta-openbmc-mods/meta-common/recipes-phosphor/console/obmc-console/obmc-console@.service
index a242dba08..4ec453d9e 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/console/obmc-console/obmc-console@.service
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/console/obmc-console/obmc-console@.service
@@ -6,7 +6,7 @@ After=dev-%i.device
[Service]
ExecStartPre=/usr/bin/sol-option-check.sh
ExecStart=/usr/bin/env obmc-console-server --config {sysconfdir}/obmc-console.conf %i
-ExecStopPost=/bin/sh -c 'echo -n "0" > /sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart_routing/raw'
+ExecStopPost=/bin/sh -c 'echo -n "0" > /sys/bus/platform/drivers/aspeed-uart-routing/1e789098.uart-routing/hicra'
SyslogIdentifier=obmc-console-server
Restart=always
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend
index ba07f4736..b8e0e7741 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend
@@ -1,7 +1,7 @@
# Keep this as a comment to enable the auto-bump script without
# stomping on SRC_URI from previous .bbappend files
#SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces.git"
-SRCREV = "3a665b28dcc0d9f6926a1f5eb20bc0d9d768418d"
+SRCREV = "e0764cf41d16b823a519e9d4f508b588e3e84aba"
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
index 41e824545..328176aca 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
@@ -5,7 +5,7 @@ SYSTEMD_SERVICE:${PN} = "phosphor-pid-control.service"
EXTRA_OECONF = "--enable-configure-dbus=yes"
SRC_URI = "git://github.com/openbmc/phosphor-pid-control.git"
-SRCREV = "e7507a8b55136accc501408d691bd816abc4833f"
+SRCREV = "cca9c659889d149c06e95bab4b8808db4f1e3eab"
SRC_URI += "\
file://0001-allow-dbus-sensors-without-thresholds.patch \
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0019-log-redfish-errors-on-all-pfr-image-auth-failures.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0019-log-redfish-errors-on-all-pfr-image-auth-failures.patch
new file mode 100644
index 000000000..3a245c944
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0019-log-redfish-errors-on-all-pfr-image-auth-failures.patch
@@ -0,0 +1,100 @@
+From 8d3eb2a57a70715b2cc6088904e8be007ab921b2 Mon Sep 17 00:00:00 2001
+From: Vernon Mauery <vernon.mauery@intel.com>
+Date: Fri, 27 Aug 2021 11:44:02 -0700
+Subject: [PATCH 1/4] log redfish errors on all pfr image auth failures
+
+Previous code was doing a 'mtd-util pfr authenticate' prior to manually
+calculating and comparing the hashes. This is incorrect behavior. There
+is no need to manually calculate hashes since that is part of the pfr
+authentication process.
+
+An unintended side effect of this is that if pfr authenticate fails for
+some reason other than hash compare, the redfish log does not happen.
+
+Tested: phosphor-version-software-mananger logs a redfish log on rom id
+ mismatch as expected.
+
+Signed-off-by: Vernon Mauery <vernon.mauery@intel.com>
+---
+ pfr_image_manager.cpp | 51 +++++--------------------------------------
+ 1 file changed, 5 insertions(+), 46 deletions(-)
+
+diff --git a/pfr_image_manager.cpp b/pfr_image_manager.cpp
+index ce850cb..aa96a99 100644
+--- a/pfr_image_manager.cpp
++++ b/pfr_image_manager.cpp
+@@ -53,13 +53,10 @@ int Manager::verifyImage(const std::filesystem::path imgPath,
+ uint8_t imgType = 0;
+ uint32_t imgMagic = 0;
+ uint8_t verData[2] = {0};
+- uint32_t hashLen = 0;
+ struct pfrImgBlock0 block0Data = {};
+
+ std::string imageName;
+
+- EVP_MD_CTX* ctx;
+-
+ if (std::filesystem::exists(imgPath))
+ {
+ try
+@@ -227,52 +224,14 @@ int Manager::verifyImage(const std::filesystem::path imgPath,
+ ImageFail::FAIL(
+ "Security violation: image authentication failure"),
+ ImageFail::PATH(imgPath.c_str()));
+- return -1;
+- }
+-
+- imgFile.seekg(pfmPos,
+- std::ios::beg); // Version is at 0x806 in the PFM
+- imgFile.read(reinterpret_cast<char*>(&verData), sizeof(verData));
+- imgFile.close();
+-
+- auto size = std::filesystem::file_size(imgPath);
+-
+- phosphor::logging::log<phosphor::logging::level::INFO>(
+- "Image Size", phosphor::logging::entry("IMAGESIZE=0x%x",
+- static_cast<int>(size)));
+-
+- // Adds all digest algorithms to the internal table
+- OpenSSL_add_all_digests();
+-
+- ctx = EVP_MD_CTX_create();
+- EVP_DigestInit(ctx, EVP_sha256());
+
+- // Hash the image file and update the digest
+- auto dataPtr = mapFile(imgPath, size);
+-
+- EVP_DigestUpdate(ctx, ((uint8_t*)dataPtr() + lengthBlk0Blk1),
+- (size - lengthBlk0Blk1));
+-
+- std::vector<uint8_t> digest(EVP_MD_size(EVP_sha256()));
+- std::vector<uint8_t> expectedDigest(block0Data.hash256,
+- &block0Data.hash256[0] + 32);
+-
+- EVP_DigestFinal(ctx, digest.data(), &hashLen);
+- EVP_MD_CTX_destroy(ctx);
+-
+- std::string redfishMsgID = "OpenBMC.0.1";
+-
+- if (expectedDigest != digest)
+- {
+- redfishMsgID += ".GeneralFirmwareSecurityViolation";
++ constexpr const char* redfishMsgID =
++ "OpenBMC.0.1.GeneralFirmwareSecurityViolation";
+ sd_journal_send("MESSAGE=%s",
+- "Firmware image HASH verification failed",
++ "Firmware image authentication failed",
+ "PRIORITY=%i", LOG_ERR, "REDFISH_MESSAGE_ID=%s",
+- redfishMsgID.c_str(), "REDFISH_MESSAGE_ARGS=%s",
+- "Image HASH check fail", NULL);
+- phosphor::logging::report<ImageFailure>(
+- ImageFail::FAIL("Security violation: hash mismatch"),
+- ImageFail::PATH(imgPath.c_str()));
++ redfishMsgID, "REDFISH_MESSAGE_ARGS=%s",
++ "Image authentication check fail", NULL);
+ return -1;
+ }
+
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
index 5745cb87c..53d09387b 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
@@ -24,6 +24,7 @@ SRC_URI_PFR = " \
file://0016-Process-PLDM-image-type.patch \
file://0017-Fix-build-error.patch \
file://0018-Fix-delete-image-by-ID-and-inhibit-removal-of-bmc_ac.patch \
+ file://0019-log-redfish-errors-on-all-pfr-image-auth-failures.patch \
"
SRC_URI += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', SRC_URI_PFR, '', d)}"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/host/phosphor-host-postd_git.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/host/phosphor-host-postd_git.bbappend
index ff30bacfb..0c97b0b86 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/host/phosphor-host-postd_git.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/host/phosphor-host-postd_git.bbappend
@@ -1,4 +1,4 @@
DEPENDS += " gtest"
#SRC_URI = "git://github.com/openbmc/phosphor-host-postd.git"
-SRCREV = "2a744b2d70ce9de8519a7c716da5009cb049db17"
+SRCREV = "996facb65d554f7c0f14c10e3c9252d67a01e21a"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0001-Firmware-update-configuration-changes.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0001-Firmware-update-configuration-changes.patch
index b689748ea..6621d2512 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0001-Firmware-update-configuration-changes.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0001-Firmware-update-configuration-changes.patch
@@ -1,4 +1,4 @@
-From c65d6f4a6d2939335608957fba25e5c8a445813e Mon Sep 17 00:00:00 2001
+From 7c005c318a12c53ed887b3081bd4b34ea0213053 Mon Sep 17 00:00:00 2001
From: Vikram Bodireddy <vikram.bodireddy@intel.com>
Date: Mon, 28 Jun 2021 21:56:18 +0530
Subject: [PATCH] Firmware update configuration changes
@@ -39,18 +39,20 @@ Tested:
- Successfully ran redfish validater with no new errors.
+Change-Id: I25ef6d64af3f1dcea3acba93d7fd2b505130142e
Signed-off-by: Vikram Bodireddy <vikram.bodireddy@intel.com>
+Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
---
- redfish-core/lib/update_service.hpp | 456 ++++++++++++++----
+ redfish-core/lib/update_service.hpp | 462 ++++++++++++++----
static/redfish/v1/$metadata/index.xml | 3 +
.../JsonSchemas/OemUpdateService/index.json | 69 +++
.../redfish/v1/schema/OemUpdateService_v1.xml | 40 ++
- 4 files changed, 481 insertions(+), 87 deletions(-)
+ 4 files changed, 484 insertions(+), 90 deletions(-)
create mode 100644 static/redfish/v1/JsonSchemas/OemUpdateService/index.json
create mode 100644 static/redfish/v1/schema/OemUpdateService_v1.xml
diff --git a/redfish-core/lib/update_service.hpp b/redfish-core/lib/update_service.hpp
-index 663d48b..70c58d4 100644
+index e420130..b3270f0 100644
--- a/redfish-core/lib/update_service.hpp
+++ b/redfish-core/lib/update_service.hpp
@@ -26,7 +26,9 @@
@@ -211,9 +213,9 @@ index 663d48b..70c58d4 100644
softwareInterfaceAdded(const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
+ const std::vector<std::string> imgUriTargets,
sdbusplus::message::message& m,
- const crow::Request& req)
+ task::Payload&& payload)
{
-@@ -76,22 +181,24 @@ static void
+@@ -76,23 +181,25 @@ static void
m.read(objPath, interfacesProperties);
@@ -228,11 +230,15 @@ index 663d48b..70c58d4 100644
{
// Retrieve service and activate
crow::connections::systemBus->async_method_call(
-- [objPath, asyncResp,
+- [objPath, asyncResp, payload(std::move(payload))](
+ [objPath, asyncResp, imgTargets{imgUriTargets},
- req](const boost::system::error_code errorCode,
- const std::vector<std::pair<
- std::string, std::vector<std::string>>>& objInfo) {
++ payload(std::move(payload))](
+ const boost::system::error_code errorCode,
+- const std::vector<
+- std::pair<std::string, std::vector<std::string>>>&
+- objInfo) mutable {
++ const std::vector<std::pair<
++ std::string, std::vector<std::string>>>& objInfo) {
if (errorCode)
{
- BMCWEB_LOG_DEBUG << "error_code = " << errorCode;
@@ -242,7 +248,7 @@ index 663d48b..70c58d4 100644
BMCWEB_LOG_DEBUG << "error msg = "
<< errorCode.message();
if (asyncResp)
-@@ -118,7 +225,7 @@ static void
+@@ -119,7 +226,7 @@ static void
// is added
fwAvailableTimer = nullptr;
@@ -251,7 +257,7 @@ index 663d48b..70c58d4 100644
if (asyncResp)
{
std::shared_ptr<task::TaskData> task =
-@@ -250,8 +357,7 @@ static void
+@@ -251,8 +358,7 @@ static void
"xyz.openbmc_project.ObjectMapper",
"/xyz/openbmc_project/object_mapper",
"xyz.openbmc_project.ObjectMapper", "GetObject", objPath.str,
@@ -261,7 +267,7 @@ index 663d48b..70c58d4 100644
}
}
}
-@@ -261,7 +367,7 @@ static void
+@@ -262,7 +368,7 @@ static void
static void monitorForSoftwareAvailable(
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
const crow::Request& req, const std::string& url,
@@ -270,20 +276,22 @@ index 663d48b..70c58d4 100644
{
// Only allow one FW update at a time
if (fwUpdateInProgress != false)
-@@ -301,9 +407,10 @@ static void monitorForSoftwareAvailable(
+@@ -301,11 +407,12 @@ static void monitorForSoftwareAvailable(
+ redfish::messages::internalError(asyncResp->res);
}
});
-
-- auto callback = [asyncResp, req](sdbusplus::message::message& m) {
++
+ task::Payload payload(req);
+- auto callback = [asyncResp,
+ auto callback = [asyncResp, imgTargets{imgUriTargets},
-+ req](sdbusplus::message::message& m) {
+ payload](sdbusplus::message::message& m) mutable {
BMCWEB_LOG_DEBUG << "Match fired";
-- softwareInterfaceAdded(asyncResp, m, req);
-+ softwareInterfaceAdded(asyncResp, imgTargets, m, req);
+- softwareInterfaceAdded(asyncResp, m, std::move(payload));
++ softwareInterfaceAdded(asyncResp, imgTargets, m, std::move(payload));
};
fwUpdateInProgress = true;
-@@ -468,12 +575,15 @@ inline void requestRoutesUpdateServiceActionsSimpleUpdate(App& app)
+@@ -470,12 +577,15 @@ inline void requestRoutesUpdateServiceActionsSimpleUpdate(App& app)
std::string fwFile = imageURI.substr(separator + 1);
BMCWEB_LOG_DEBUG << "Server: " << tftpServer + " File: " << fwFile;
@@ -300,7 +308,7 @@ index 663d48b..70c58d4 100644
// TFTP can take up to 10 minutes depending on image size and
// connection speed. Return to caller as soon as the TFTP operation
-@@ -522,6 +632,9 @@ inline void requestRoutesUpdateService(App& app)
+@@ -524,6 +634,9 @@ inline void requestRoutesUpdateService(App& app)
asyncResp->res.jsonValue["Name"] = "Update Service";
asyncResp->res.jsonValue["HttpPushUri"] =
"/redfish/v1/UpdateService";
@@ -310,7 +318,7 @@ index 663d48b..70c58d4 100644
// UpdateService cannot be disabled
asyncResp->res.jsonValue["ServiceEnabled"] = true;
asyncResp->res.jsonValue["FirmwareInventory"] = {
-@@ -536,7 +649,8 @@ inline void requestRoutesUpdateService(App& app)
+@@ -538,7 +651,8 @@ inline void requestRoutesUpdateService(App& app)
asyncResp->res
.jsonValue["Actions"]["#UpdateService.SimpleUpdate"];
updateSvcSimpleUpdate["target"] =
@@ -320,7 +328,7 @@ index 663d48b..70c58d4 100644
updateSvcSimpleUpdate["TransferProtocol@Redfish.AllowableValues"] =
{"TFTP"};
#endif
-@@ -578,89 +692,258 @@ inline void requestRoutesUpdateService(App& app)
+@@ -580,89 +694,258 @@ inline void requestRoutesUpdateService(App& app)
"/xyz/openbmc_project/software/apply_time",
"org.freedesktop.DBus.Properties", "Get",
"xyz.openbmc_project.Software.ApplyTime", "RequestedApplyTime");
@@ -457,13 +465,13 @@ index 663d48b..70c58d4 100644
- applyTime))
+ std::string applyTimeNewVal;
+ if (applyTime == "Immediate")
-+ {
+ {
+ applyTimeNewVal =
+ "xyz.openbmc_project.Software.ApplyTime."
+ "RequestedApplyTimes.Immediate";
+ }
+ else if (applyTime == "OnReset")
- {
++ {
+ applyTimeNewVal =
+ "xyz.openbmc_project.Software.ApplyTime."
+ "RequestedApplyTimes.OnReset";
@@ -636,7 +644,7 @@ index 663d48b..70c58d4 100644
BMCWEB_ROUTE(app, "/redfish/v1/UpdateService/")
.privileges(redfish::privileges::postUpdateService)
.methods(boost::beast::http::verb::post)(
-@@ -670,7 +953,8 @@ inline void requestRoutesUpdateService(App& app)
+@@ -672,7 +955,8 @@ inline void requestRoutesUpdateService(App& app)
// Setup callback for when new software detected
monitorForSoftwareAvailable(asyncResp, req,
@@ -646,7 +654,7 @@ index 663d48b..70c58d4 100644
std::string filepath("/tmp/images/" +
boost::uuids::to_string(
-@@ -683,7 +967,7 @@ inline void requestRoutesUpdateService(App& app)
+@@ -685,7 +969,7 @@ inline void requestRoutesUpdateService(App& app)
out.close();
BMCWEB_LOG_DEBUG << "file upload complete!!";
});
@@ -655,7 +663,7 @@ index 663d48b..70c58d4 100644
inline void requestRoutesSoftwareInventoryCollection(App& app)
{
-@@ -746,8 +1030,7 @@ inline void requestRoutesSoftwareInventoryCollection(App& app)
+@@ -748,8 +1032,7 @@ inline void requestRoutesSoftwareInventoryCollection(App& app)
"/xyz/openbmc_project/object_mapper",
"xyz.openbmc_project.ObjectMapper", "GetSubTree",
"/xyz/openbmc_project/software", static_cast<int32_t>(0),
@@ -665,7 +673,7 @@ index 663d48b..70c58d4 100644
});
}
/* Fill related item links (i.e. bmc, bios) in for inventory */
-@@ -911,7 +1194,7 @@ inline void requestRoutesSoftwareInventory(App& app)
+@@ -913,7 +1196,7 @@ inline void requestRoutesSoftwareInventory(App& app)
},
obj.second[0].first, obj.first,
"org.freedesktop.DBus.Properties", "GetAll",
@@ -674,7 +682,7 @@ index 663d48b..70c58d4 100644
}
if (!found)
{
-@@ -935,8 +1218,7 @@ inline void requestRoutesSoftwareInventory(App& app)
+@@ -937,8 +1220,7 @@ inline void requestRoutesSoftwareInventory(App& app)
"/xyz/openbmc_project/object_mapper",
"xyz.openbmc_project.ObjectMapper", "GetSubTree", "/",
static_cast<int32_t>(0),
@@ -685,10 +693,10 @@ index 663d48b..70c58d4 100644
}
diff --git a/static/redfish/v1/$metadata/index.xml b/static/redfish/v1/$metadata/index.xml
-index eba38bf..876ebfb 100644
+index 66b6faf..f0919c9 100644
--- a/static/redfish/v1/$metadata/index.xml
+++ b/static/redfish/v1/$metadata/index.xml
-@@ -2346,6 +2346,9 @@
+@@ -2444,6 +2444,9 @@
<edmx:Reference Uri="/redfish/v1/schema/OemComputerSystem_v1.xml">
<edmx:Include Namespace="OemComputerSystem"/>
</edmx:Reference>
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0013-Add-UART-routing-logic-into-host-console-connection-.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0013-Add-UART-routing-logic-into-host-console-connection-.patch
index 8b0d90fe0..41acb6057 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0013-Add-UART-routing-logic-into-host-console-connection-.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0013-Add-UART-routing-logic-into-host-console-connection-.patch
@@ -25,7 +25,7 @@ index cdb19901e82d..9c4ae8821074 100644
static bool doingWrite = false;
-+constexpr char const* uartMuxCtrlPath = "/sys/bus/platform/drivers/aspeed-uart-routing/1e78909c.uart_routing/raw";
++constexpr char const* uartMuxCtrlPath = "/sys/bus/platform/drivers/aspeed-uart-routing/1e789098.uart-routing/hicra";
+constexpr char const* uartMuxCtrlVal = "0x03450003";
+
inline void doWrite()
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0015-Add-state-sensor-messages-to-the-registry.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0015-Add-state-sensor-messages-to-the-registry.patch
index b171a8b2c..1193fe9d1 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0015-Add-state-sensor-messages-to-the-registry.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0015-Add-state-sensor-messages-to-the-registry.patch
@@ -1,4 +1,4 @@
-From df571ddf0596f73c0318da3a90b9813e6df19dd9 Mon Sep 17 00:00:00 2001
+From b468b508176dfffe2e8e4adb3052577b9ff70d2f Mon Sep 17 00:00:00 2001
From: "Arun P. Mohanan" <arun.p.m@linux.intel.com>
Date: Wed, 27 Jan 2021 18:22:58 +0530
Subject: [PATCH] Add state sensor messages to the registry
@@ -34,19 +34,19 @@ Signed-off-by: Arun P. Mohanan <arun.p.m@linux.intel.com>
1 file changed, 34 insertions(+), 2 deletions(-)
diff --git a/redfish-core/include/registries/openbmc_message_registry.hpp b/redfish-core/include/registries/openbmc_message_registry.hpp
-index 5eb9380..dbea97c 100644
+index 6cf503f..87b2913 100644
--- a/redfish-core/include/registries/openbmc_message_registry.hpp
+++ b/redfish-core/include/registries/openbmc_message_registry.hpp
@@ -29,7 +29,7 @@ const Header header = {
- "0.1.0",
+ "0.2.0",
"OpenBMC",
};
--constexpr std::array<MessageEntry, 187> registry = {
-+constexpr std::array<MessageEntry, 190> registry = {
+-constexpr std::array<MessageEntry, 188> registry = {
++constexpr std::array<MessageEntry, 191> registry = {
MessageEntry{
"ADDDCCorrectable",
{
-@@ -2318,6 +2318,39 @@ constexpr std::array<MessageEntry, 187> registry = {
+@@ -2331,6 +2331,39 @@ constexpr std::array<MessageEntry, 188> registry = {
{},
"None.",
}},
@@ -86,7 +86,7 @@ index 5eb9380..dbea97c 100644
MessageEntry{"SystemInterfaceDisabledProvisioned",
{
"Indicates that the system interface is in the disabled "
-@@ -2410,6 +2443,5 @@ constexpr std::array<MessageEntry, 187> registry = {
+@@ -2423,6 +2456,5 @@ constexpr std::array<MessageEntry, 188> registry = {
{"string"},
"None.",
}},
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0017-Add-msg-registry-for-subscription-related-actions.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0017-Add-msg-registry-for-subscription-related-actions.patch
index d0cfd1c44..35ac7a114 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0017-Add-msg-registry-for-subscription-related-actions.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0017-Add-msg-registry-for-subscription-related-actions.patch
@@ -1,4 +1,4 @@
-From 7282ab7756cdb8c844bef9affd8a8e894828678c Mon Sep 17 00:00:00 2001
+From 40895934bdedb978e8cfd47930ae5a190e19b440 Mon Sep 17 00:00:00 2001
From: Ayushi Smriti <smriti.ayushi@intel.com>
Date: Mon, 10 May 2021 12:32:30 +0530
Subject: [PATCH] Add msg registry for subscription related actions
@@ -18,19 +18,19 @@ Signed-off-by: Ayushi Smriti <smriti.ayushi@intel.com>
1 file changed, 40 insertions(+), 1 deletion(-)
diff --git a/redfish-core/include/registries/openbmc_message_registry.hpp b/redfish-core/include/registries/openbmc_message_registry.hpp
-index e12a138..2f981db 100644
+index 87b2913..1e493ca 100644
--- a/redfish-core/include/registries/openbmc_message_registry.hpp
+++ b/redfish-core/include/registries/openbmc_message_registry.hpp
@@ -29,7 +29,7 @@ const Header header = {
"0.2.0",
"OpenBMC",
};
--constexpr std::array<MessageEntry, 190> registry = {
-+constexpr std::array<MessageEntry, 193> registry = {
+-constexpr std::array<MessageEntry, 191> registry = {
++constexpr std::array<MessageEntry, 194> registry = {
MessageEntry{
"ADDDCCorrectable",
{
-@@ -417,6 +417,45 @@ constexpr std::array<MessageEntry, 190> registry = {
+@@ -417,6 +417,45 @@ constexpr std::array<MessageEntry, 191> registry = {
{},
"None.",
}},
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0018-bmcweb-Add-BMC-Time-update-log-to-the-registry.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0018-bmcweb-Add-BMC-Time-update-log-to-the-registry.patch
index 829384305..54636cb3d 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0018-bmcweb-Add-BMC-Time-update-log-to-the-registry.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0018-bmcweb-Add-BMC-Time-update-log-to-the-registry.patch
@@ -1,7 +1,7 @@
-From 3ec1f79d1cb29724e345586f0baefca81d98d3ae Mon Sep 17 00:00:00 2001
+From eeac51ebaaad82bb4ac65a029c81c221e32b33ea Mon Sep 17 00:00:00 2001
From: mansijos <mansi.joshi@intel.com>
Date: Wed, 26 May 2021 17:40:04 +0530
-Subject: [PATCH] [bmcweb] Add BMC Time update log to the registry
+Subject: [PATCH] Add BMC Time update log to the registry
Add message in registry to log an event that indicates BMC time
is set via NTP, Host or Manually.
@@ -20,19 +20,19 @@ Signed-off-by: mansijos <mansi.joshi@intel.com>
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/redfish-core/include/registries/openbmc_message_registry.hpp b/redfish-core/include/registries/openbmc_message_registry.hpp
-index 2f981db..a00d235 100644
+index 1e493ca..967713f 100644
--- a/redfish-core/include/registries/openbmc_message_registry.hpp
+++ b/redfish-core/include/registries/openbmc_message_registry.hpp
@@ -29,7 +29,7 @@ const Header header = {
"0.2.0",
"OpenBMC",
};
--constexpr std::array<MessageEntry, 193> registry = {
-+constexpr std::array<MessageEntry, 196> registry = {
+-constexpr std::array<MessageEntry, 194> registry = {
++constexpr std::array<MessageEntry, 197> registry = {
MessageEntry{
"ADDDCCorrectable",
{
-@@ -286,6 +286,39 @@ constexpr std::array<MessageEntry, 193> registry = {
+@@ -286,6 +286,39 @@ constexpr std::array<MessageEntry, 194> registry = {
{},
"None.",
}},
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0019-Add-generic-message-PropertySizeExceeded.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0019-Add-generic-message-PropertySizeExceeded.patch
index 028119249..522f04886 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0019-Add-generic-message-PropertySizeExceeded.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0019-Add-generic-message-PropertySizeExceeded.patch
@@ -1,6 +1,6 @@
-From 2b865ad20ce0616b79a453d1571976bb2303050c Mon Sep 17 00:00:00 2001
-From: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
-Date: Wed, 14 Jul 2021 13:55:27 +0000
+From 6bc3ec77e062e8f2108f755e9f0089a014031f91 Mon Sep 17 00:00:00 2001
+From: AppaRao Puli <apparao.puli@linux.intel.com>
+Date: Wed, 6 Oct 2021 21:51:16 +0000
Subject: [PATCH] Add generic message - PropertySizeExceeded
Adding a generic error message "PropertySizeExceeded"
@@ -12,6 +12,7 @@ Verified by explicitly sending this message as a response.
Change-Id: I0e9f85f82a69c598e169fc8e9a68c3f66c0084d8
Signed-off-by: Nitin Wankhade <nitinx.arunrao.wankhade@intel.com>
+Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
---
redfish-core/include/error_messages.hpp | 12 +++++++++
.../registries/base_message_registry.hpp | 17 +++++++++++-
@@ -19,7 +20,7 @@ Signed-off-by: Nitin Wankhade <nitinx.arunrao.wankhade@intel.com>
3 files changed, 55 insertions(+), 1 deletion(-)
diff --git a/redfish-core/include/error_messages.hpp b/redfish-core/include/error_messages.hpp
-index 922dae9..f29e326 100644
+index 3d11cc4..051cff1 100644
--- a/redfish-core/include/error_messages.hpp
+++ b/redfish-core/include/error_messages.hpp
@@ -222,6 +222,18 @@ nlohmann::json propertyValueFormatError(const std::string& arg1,
@@ -42,19 +43,19 @@ index 922dae9..f29e326 100644
* @brief Formats PropertyValueNotInList message into JSON
* Message body: "The value <arg1> for the property <arg2> is not in the list of
diff --git a/redfish-core/include/registries/base_message_registry.hpp b/redfish-core/include/registries/base_message_registry.hpp
-index 58156c8..ab9b046 100644
+index 702cd6f..193df16 100644
--- a/redfish-core/include/registries/base_message_registry.hpp
+++ b/redfish-core/include/registries/base_message_registry.hpp
-@@ -36,7 +36,7 @@ const Header header = {
+@@ -22,7 +22,7 @@ const Header header = {
constexpr const char* url =
- "https://redfish.dmtf.org/registries/Base.1.10.0.json";
+ "https://redfish.dmtf.org/registries/Base.1.11.0.json";
--constexpr std::array<MessageEntry, 87> registry = {
-+constexpr std::array<MessageEntry, 88> registry = {
+-constexpr std::array<MessageEntry, 93> registry = {
++constexpr std::array<MessageEntry, 94> registry = {
MessageEntry{
"AccessDenied",
{
-@@ -664,6 +664,21 @@ constexpr std::array<MessageEntry, 87> registry = {
+@@ -692,6 +692,21 @@ constexpr std::array<MessageEntry, 93> registry = {
"Remove the property from the request body and resubmit "
"the request if the operation failed.",
}},
@@ -77,7 +78,7 @@ index 58156c8..ab9b046 100644
{
"Indicates that an unknown property was included in the "
diff --git a/redfish-core/src/error_messages.cpp b/redfish-core/src/error_messages.cpp
-index 409adb1..bebb6d8 100644
+index 9c28e8f..854a1a5 100644
--- a/redfish-core/src/error_messages.cpp
+++ b/redfish-core/src/error_messages.cpp
@@ -514,6 +514,33 @@ void propertyValueFormatError(crow::Response& res, const std::string& arg1,
@@ -115,5 +116,5 @@ index 409adb1..bebb6d8 100644
* @internal
* @brief Formats PropertyValueNotInList message into JSON for the specified
--
-2.25.1
+2.17.1
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0021-Add-message-registry-entry-for-FirmwareResiliencyErr.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0021-Add-message-registry-entry-for-FirmwareResiliencyErr.patch
deleted file mode 100644
index 2b8f8987c..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0021-Add-message-registry-entry-for-FirmwareResiliencyErr.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 35c9f6f0f4e1254f0512154cc46116d8047fe19b Mon Sep 17 00:00:00 2001
-From: Chalapathi Venkataramashetty <chalapathix.venkataramashetty@intel.com>
-Date: Wed, 14 Jul 2021 20:44:06 +0000
-Subject: [PATCH] Add message registry entry for FirmwareResiliencyError
-
-Add an event log in redfish when firmware update failed due to
-FirmwareResiliencyError.
-
-The existing message entries BMCFirmwareResiliencyError(for BMC update
-failures) and BIOSFirmwareResiliencyError(for BIOS update failures) are
-not useful for the new platform. The new platform's CPLD report common
-error code for BMC, PCH or CPLD firmware update failures. Hence a common
-message entry is required to capture the firmware update failure events.
-
-This event is Implemented in the following review.
-https://gerrit.openbmc-project.xyz/c/openbmc/pfr-manager/+/43281
-
-Tested:
-Redfish Service Validator passed for this change.
-
-Update BMC firmware with mismatched SVN
-POST: https://<BMC_IP>/redfish/v1/UpdateService/
- with <BMC_Update_Capsule> binary file
-After BMC reboots check for Event log in Redfish
-Command: GET: https://<BMC_IP>/redfish/v1/Systems/system/LogServices/
- EventLog/Entries
-Response:
-{
- "@odata.id": "/redfish/v1/Systems/system/LogServices/
- EventLog/Entries/1621435142_1",
- "@odata.type": "#LogEntry.v1_4_0.LogEntry",
- "Created": "2021-05-19T14:39:02+00:00",
- "EntryType": "Event",
- "Id": "1621435142_1",
- "Message": "Firmware resiliency error. Error reason:
- Firmware update failed(MinorCode:0x02).",
- "MessageArgs": [
- "Firmware update failed(MinorCode:0x02)"
- ],
- "MessageId": "OpenBMC.0.1.FirmwareResiliencyError",
- "Name": "System Event Log Entry",
- "Severity": "Critical"
- },
-
-Signed-off-by: Chalapathi Venkataramashetty <chalapathix.venkataramashetty@intel.com>
----
- .../registries/openbmc_message_registry.hpp | 14 +++++++++++++-
- 1 file changed, 13 insertions(+), 1 deletion(-)
-
-diff --git a/redfish-core/include/registries/openbmc_message_registry.hpp b/redfish-core/include/registries/openbmc_message_registry.hpp
-index a00d235..967713f 100644
---- a/redfish-core/include/registries/openbmc_message_registry.hpp
-+++ b/redfish-core/include/registries/openbmc_message_registry.hpp
-@@ -29,7 +29,7 @@ const Header header = {
- "0.2.0",
- "OpenBMC",
- };
--constexpr std::array<MessageEntry, 196> registry = {
-+constexpr std::array<MessageEntry, 197> registry = {
- MessageEntry{
- "ADDDCCorrectable",
- {
-@@ -560,6 +560,18 @@ constexpr std::array<MessageEntry, 196> registry = {
- {"string"},
- "None.",
- }},
-+ MessageEntry{"FirmwareResiliencyError",
-+ {
-+ "Indicates firmware encountered resilience error.",
-+ "Firmware resiliency error. Error reason: %1.",
-+ "Critical",
-+ "Critical",
-+ 1,
-+ {
-+ "string",
-+ },
-+ "None.",
-+ }},
- MessageEntry{"FirmwareUpdateCompleted",
- {
- "Indicates a firmware update has completed successfully.",
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0024-Add-count-sensor-type.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0024-Add-count-sensor-type.patch
index a9a4ab151..22ae05fa3 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0024-Add-count-sensor-type.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0024-Add-count-sensor-type.patch
@@ -1,4 +1,4 @@
-From fb337f868543f72bd8ba24db3c4b09b4c1d888ab Mon Sep 17 00:00:00 2001
+From 94a0ae774933b7801d0c8d843b3ac3a39a5e5646 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrian=20Ambro=C5=BCewicz?= <adrian.ambrozewicz@intel.com>
Date: Fri, 30 Jul 2021 15:25:29 +0200
Subject: [PATCH] Add 'count' sensor type
@@ -13,7 +13,7 @@ Testing:
1 file changed, 1 insertion(+)
diff --git a/redfish-core/lib/sensors.hpp b/redfish-core/lib/sensors.hpp
-index cb7ea15..d72a572 100644
+index 45a1eb6..7405e5a 100644
--- a/redfish-core/lib/sensors.hpp
+++ b/redfish-core/lib/sensors.hpp
@@ -63,6 +63,7 @@ static const boost::container::flat_map<std::string_view,
@@ -22,8 +22,8 @@ index cb7ea15..d72a572 100644
"/xyz/openbmc_project/sensors/current",
+ "/xyz/openbmc_project/sensors/count",
"/xyz/openbmc_project/sensors/airflow",
- "/xyz/openbmc_project/sensors/utilization"}},
- {node::thermal,
+ #ifdef BMCWEB_NEW_POWERSUBSYSTEM_THERMALSUBSYSTEM
+ "/xyz/openbmc_project/sensors/voltage",
--
-2.25.1
+2.17.1
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0025-Add-Model-CoreCount-to-ProcessorSummary.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0025-Add-Model-CoreCount-to-ProcessorSummary.patch
new file mode 100644
index 000000000..edf4d219e
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/0025-Add-Model-CoreCount-to-ProcessorSummary.patch
@@ -0,0 +1,288 @@
+From f4f15a52610d1a199ddac948c8f849df05d86151 Mon Sep 17 00:00:00 2001
+From: Ali Ahmed <ama213000@gmail.com>
+Date: Fri, 3 Sep 2021 02:33:43 -0500
+Subject: [PATCH] Add Model & CoreCount to ProcessorSummary
+
+In Redfish ComputerSystem schema, the ProcessorSummary parameter
+lists summary information of the Processors on the system. This commit
+adds the 'Model' and 'CoreCount' properties to ProcessorSummary.
+
+If the CPU Models are different, then the 'Model' field takes the first
+entry in alphabetical order.
+
+Testing:
+1. Redfish Validator Testing successfully passed.
+2. Curl testing:
+
+curl -k -H "X-Auth-Token: $tok" https://$bmc/redfish/v1/Systems/system
+
+...
+ "ProcessorSummary": {
+ "CoreCount": 24,
+ "Count": 2,
+ "Model": "test_name",
+ "Status": {
+ "Health": "OK",
+ "HealthRollup": "OK",
+ "State": "Disabled"
+ }
+ },
+...
+
+Change-Id: I39cbf6ed35c35ce3a3551c9689237d5023775326
+Signed-off-by: Ali Ahmed <ama213000@gmail.com>
+Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+---
+ redfish-core/lib/systems.hpp | 229 ++++++++++++++++++++++-------------
+ 1 file changed, 147 insertions(+), 82 deletions(-)
+
+diff --git a/redfish-core/lib/systems.hpp b/redfish-core/lib/systems.hpp
+index 680a0ee..3b5f9e4 100644
+--- a/redfish-core/lib/systems.hpp
++++ b/redfish-core/lib/systems.hpp
+@@ -139,6 +139,152 @@ inline void
+ }
+ }
+
++inline void getProcessorProperties(
++ const std::shared_ptr<bmcweb::AsyncResp>& aResp, const std::string& service,
++ const std::string& path,
++ const std::vector<std::pair<
++ std::string, std::variant<std::string, uint64_t, uint32_t, uint16_t>>>&
++ properties)
++{
++
++ BMCWEB_LOG_DEBUG << "Got " << properties.size() << " Cpu properties.";
++
++ auto getCpuPresenceState =
++ [aResp](const boost::system::error_code ec3,
++ const std::variant<bool>& cpuPresenceCheck) {
++ if (ec3)
++ {
++ BMCWEB_LOG_ERROR << "DBUS response error " << ec3;
++ return;
++ }
++ modifyCpuPresenceState(aResp, cpuPresenceCheck);
++ };
++
++ auto getCpuFunctionalState =
++ [aResp](const boost::system::error_code ec3,
++ const std::variant<bool>& cpuFunctionalCheck) {
++ if (ec3)
++ {
++ BMCWEB_LOG_ERROR << "DBUS response error " << ec3;
++ return;
++ }
++ modifyCpuFunctionalState(aResp, cpuFunctionalCheck);
++ };
++
++ // Get the Presence of CPU
++ crow::connections::systemBus->async_method_call(
++ std::move(getCpuPresenceState), service, path,
++ "org.freedesktop.DBus.Properties", "Get",
++ "xyz.openbmc_project.Inventory.Item", "Present");
++
++ // Get the Functional State
++ crow::connections::systemBus->async_method_call(
++ std::move(getCpuFunctionalState), service, path,
++ "org.freedesktop.DBus.Properties", "Get",
++ "xyz.openbmc_project.State.Decorator.OperationalStatus", "Functional");
++
++ for (const auto& property : properties)
++ {
++ if (property.first == "Family")
++ {
++ // Get the CPU Model
++ const std::string* modelStr =
++ std::get_if<std::string>(&property.second);
++ if (!modelStr)
++ {
++ BMCWEB_LOG_DEBUG << "Failed to get CPU Family";
++ // Skip it and continue with other properties
++ continue;
++ }
++ if ((*modelStr).size() < 1)
++ {
++ BMCWEB_LOG_DEBUG << "Empty CPU Family info, skipping...";
++ continue;
++ }
++ nlohmann::json& prevModel =
++ aResp->res.jsonValue["ProcessorSummary"]["Model"];
++ std::string* prevModelPtr = prevModel.get_ptr<std::string*>();
++
++ // If CPU Models are different, use the first entry in
++ // alphabetical order
++
++ // If Model has never been set
++ // before, set it to *modelStr
++ if (prevModelPtr == nullptr)
++ {
++ prevModel = *modelStr;
++ }
++ // If Model has been set before, only change if new Model is
++ // higher in alphabetical order
++ else
++ {
++ if (*modelStr < *prevModelPtr)
++ {
++ prevModel = *modelStr;
++ }
++ }
++ }
++ else if (property.first == "CoreCount")
++ {
++ // Get CPU CoreCount and add it to the total
++ const uint16_t* coreCountVal =
++ std::get_if<uint16_t>(&property.second);
++
++ if (!coreCountVal)
++ {
++ BMCWEB_LOG_DEBUG << "Failed to get CPU Core count";
++ // Skip it and continue with other properties
++ continue;
++ }
++
++ nlohmann::json& coreCount =
++ aResp->res.jsonValue["ProcessorSummary"]["CoreCount"];
++ uint64_t* coreCountPtr = coreCount.get_ptr<uint64_t*>();
++
++ if (coreCountPtr == nullptr)
++ {
++ coreCount = *coreCountVal;
++ }
++ else
++ {
++ *coreCountPtr += *coreCountVal;
++ }
++ }
++ }
++}
++
++/*
++ * @brief Get ProcessorSummary fields
++ *
++ * @param[in] aResp Shared pointer for completing asynchronous calls
++ * @param[in] service dbus service for Cpu Information
++ * @param[in] path dbus path for Cpu
++ *
++ * @return None.
++ */
++inline void getProcessorSummary(const std::shared_ptr<bmcweb::AsyncResp>& aResp,
++ const std::string& service,
++ const std::string& path)
++{
++
++ crow::connections::systemBus->async_method_call(
++ [aResp, service,
++ path](const boost::system::error_code ec2,
++ const std::vector<std::pair<
++ std::string, std::variant<std::string, uint64_t, uint32_t,
++ uint16_t>>>& properties) {
++ if (ec2)
++ {
++ BMCWEB_LOG_ERROR << "DBUS response error " << ec2;
++ messages::internalError(aResp->res);
++ return;
++ }
++ getProcessorProperties(aResp, service, path, properties);
++ },
++ service, path, "org.freedesktop.DBus.Properties", "GetAll",
++ "xyz.openbmc_project.Inventory.Item.Cpu");
++}
++
+ /*
+ * @brief Retrieves computer system properties over dbus
+ *
+@@ -309,88 +455,7 @@ inline void
+ BMCWEB_LOG_DEBUG
+ << "Found Cpu, now get its properties.";
+
+- crow::connections::systemBus->async_method_call(
+- [aResp, service{connection.first},
+- path](const boost::system::error_code ec2,
+- const std::vector<
+- std::pair<std::string, VariantType>>&
+- properties) {
+- if (ec2)
+- {
+- BMCWEB_LOG_ERROR
+- << "DBUS response error " << ec2;
+- messages::internalError(aResp->res);
+- return;
+- }
+- BMCWEB_LOG_DEBUG << "Got "
+- << properties.size()
+- << " Cpu properties.";
+-
+- auto getCpuPresenceState =
+- [aResp](
+- const boost::system::error_code ec3,
+- const std::variant<bool>&
+- cpuPresenceCheck) {
+- if (ec3)
+- {
+- BMCWEB_LOG_ERROR
+- << "DBUS response error "
+- << ec3;
+- return;
+- }
+- modifyCpuPresenceState(
+- aResp, cpuPresenceCheck);
+- };
+-
+- auto getCpuFunctionalState =
+- [aResp](
+- const boost::system::error_code ec3,
+- const std::variant<bool>&
+- cpuFunctionalCheck) {
+- if (ec3)
+- {
+- BMCWEB_LOG_ERROR
+- << "DBUS response error "
+- << ec3;
+- return;
+- }
+- modifyCpuFunctionalState(
+- aResp, cpuFunctionalCheck);
+- };
+-
+- // Get the Presence of CPU
+- crow::connections::systemBus
+- ->async_method_call(
+- std::move(getCpuPresenceState),
+- service, path,
+- "org.freedesktop.DBus."
+- "Properties",
+- "Get",
+- "xyz.openbmc_project.Inventory."
+- "Item",
+- "Present");
+-
+- // Get the Functional State
+- crow::connections::systemBus
+- ->async_method_call(
+- std::move(getCpuFunctionalState),
+- service, path,
+- "org.freedesktop.DBus."
+- "Properties",
+- "Get",
+- "xyz.openbmc_project.State."
+- "Decorator."
+- "OperationalStatus",
+- "Functional");
+-
+- // Get the MODEL from
+- // xyz.openbmc_project.Inventory.Decorator.Asset
+- // support it later as Model is Empty
+- // currently.
+- },
+- connection.first, path,
+- "org.freedesktop.DBus.Properties", "GetAll",
+- "xyz.openbmc_project.Inventory.Item.Cpu");
++ getProcessorSummary(aResp, connection.first, path);
+
+ cpuHealth->inventory.emplace_back(path);
+ }
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0001-Define-Redfish-interface-Registries-Bios.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0001-Define-Redfish-interface-Registries-Bios.patch
index 93bbb7494..19a392873 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0001-Define-Redfish-interface-Registries-Bios.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0001-Define-Redfish-interface-Registries-Bios.patch
@@ -1,7 +1,7 @@
-From 501003876765f51799152bace657d97b7fa2b60e Mon Sep 17 00:00:00 2001
+From bde7f728d5a87522674bcd5515baaa02bf7b9373 Mon Sep 17 00:00:00 2001
From: Kuiying Wang <kuiying.wang@intel.com>
Date: Fri, 4 Sep 2020 19:24:25 +0800
-Subject: [PATCH 1/5] Define Redfish interface "/Registries/Bios" and enable
+Subject: [PATCH] Define Redfish interface "/Registries/Bios" and enable
Attributes property
1. Define Redfish interface "/Registries/Bios" for BIOS Attribute Registry
@@ -225,33 +225,36 @@ Oem - Resource.Oem No Optional
Change-Id: Iecc61018c350f0b8c89df59b2864b941508b1916
Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
+Signed-off-by: Snehalatha Venkatesh <snehalathax.v@intel.com>
---
- redfish-core/include/redfish.hpp | 2 +
- .../include/registries/bios_registry.hpp | 31 +
- redfish-core/lib/bios.hpp | 528 ++++++++++++++++++
- redfish-core/lib/message_registries.hpp | 6 +
- 4 files changed, 567 insertions(+)
+ redfish-core/include/redfish.hpp | 3 +
+ .../include/registries/bios_registry.hpp | 41 ++
+ redfish-core/lib/bios.hpp | 511 ++++++++++++++++++
+ redfish-core/lib/message_registries.hpp | 11 +-
+ 4 files changed, 565 insertions(+), 1 deletion(-)
create mode 100644 redfish-core/include/registries/bios_registry.hpp
diff --git a/redfish-core/include/redfish.hpp b/redfish-core/include/redfish.hpp
-index c15062d..3388498 100644
+index 0a97150..07a9417 100644
--- a/redfish-core/include/redfish.hpp
+++ b/redfish-core/include/redfish.hpp
-@@ -152,6 +152,8 @@ class RedfishService
+@@ -148,7 +148,10 @@ class RedfishService
requestRoutesSystemActionsReset(app);
requestRoutesSystemResetActionInfo(app);
requestRoutesBiosService(app);
+ requestRoutesBiosSettings(app);
+ requestRoutesBiosAttributeRegistry(app);
requestRoutesBiosReset(app);
++ requestRoutesBiosChangePassword(app);
#ifdef BMCWEB_ENABLE_VM_NBDPROXY
+ requestNBDVirtualMediaRoutes(app);
diff --git a/redfish-core/include/registries/bios_registry.hpp b/redfish-core/include/registries/bios_registry.hpp
new file mode 100644
-index 0000000..88ef782
+index 0000000..c80937a
--- /dev/null
+++ b/redfish-core/include/registries/bios_registry.hpp
-@@ -0,0 +1,31 @@
+@@ -0,0 +1,41 @@
+/*
+// Copyright (c) 2020 Intel Corporation
+//
@@ -268,6 +271,7 @@ index 0000000..88ef782
+// limitations under the License.
+*/
+#pragma once
++#include <registries.hpp>
+
+namespace redfish::message_registries::bios
+{
@@ -282,10 +286,18 @@ index 0000000..88ef782
+ "1.0.0",
+ "OpenBMC",
+};
++// BiosAttributeRegistry registry is not defined in DMTF, We should use
++// OEM defined registries for this purpose.
++// Below link is wrong - We need to define OEM registries and use
++// appropriate data here.
++constexpr const char* url =
++ "https://redfish.dmtf.org/registries/BiosAttributeRegistry.1.0.0.json";
++
++constexpr std::array<MessageEntry, 0> registry = {
++};
+} // namespace redfish::message_registries::bios
-\ No newline at end of file
diff --git a/redfish-core/lib/bios.hpp b/redfish-core/lib/bios.hpp
-index 604b8e7..c1a5c56 100644
+index c2fb284..87536d6 100644
--- a/redfish-core/lib/bios.hpp
+++ b/redfish-core/lib/bios.hpp
@@ -3,8 +3,140 @@
@@ -429,109 +441,96 @@ index 604b8e7..c1a5c56 100644
/**
* BiosService class supports handle get method for bios.
*/
-@@ -29,8 +161,404 @@ inline void requestRoutesBiosService(App& app)
- // Get the ActiveSoftwareImage and SoftwareImages
- fw_util::populateFirmwareInformation(
- asyncResp, fw_util::biosPurpose, "", true);
-+ asyncResp->res.jsonValue["@Redfish.Settings"] = {
-+ {"@odata.type", "#Settings.v1_3_0.Settings"},
-+ {"SettingsObject",
-+ {{"@odata.id",
-+ "/redfish/v1/Systems/system/Bios/Settings"}}}};
-+ asyncResp->res.jsonValue["AttributeRegistry"] =
-+ "BiosAttributeRegistry";
-+ asyncResp->res.jsonValue["Attributes"] = {};
+@@ -23,6 +155,85 @@ inline void
+ // Get the ActiveSoftwareImage and SoftwareImages
+ fw_util::populateFirmwareInformation(asyncResp, fw_util::biosPurpose, "",
+ true);
+
-+ crow::connections::systemBus->async_method_call(
-+ [asyncResp](const boost::system::error_code ec,
-+ const GetObjectType& getObjectType) {
-+ if (ec)
++ asyncResp->res.jsonValue["@Redfish.Settings"] = {
++ {"@odata.type", "#Settings.v1_3_0.Settings"},
++ {"SettingsObject",
++ {{"@odata.id", "/redfish/v1/Systems/system/Bios/Settings"}}}};
++ asyncResp->res.jsonValue["AttributeRegistry"] = "BiosAttributeRegistry";
++ asyncResp->res.jsonValue["Attributes"] = {};
++
++ crow::connections::systemBus->async_method_call(
++ [asyncResp](const boost::system::error_code ec,
++ const GetObjectType& getObjectType) {
++ if (ec)
++ {
++ BMCWEB_LOG_ERROR << "ObjectMapper::GetObject call failed: "
++ << ec;
++ messages::internalError(asyncResp->res);
++
++ return;
++ }
++ const std::string& service = getObjectType.begin()->first;
++
++ crow::connections::systemBus->async_method_call(
++ [asyncResp](
++ const boost::system::error_code ec,
++ const std::variant<BiosBaseTableType>& retBiosTable) {
++ if (ec)
++ {
++ BMCWEB_LOG_ERROR << "getBiosAttributes DBUS error: "
++ << ec;
++ messages::internalError(asyncResp->res);
++ return;
++ }
++ const BiosBaseTableType* baseBiosTable =
++ std::get_if<BiosBaseTableType>(&retBiosTable);
++ nlohmann::json& attributesJson =
++ asyncResp->res.jsonValue["Attributes"];
++ if (baseBiosTable == nullptr)
++ {
++ BMCWEB_LOG_ERROR << "baseBiosTable == nullptr ";
++ messages::internalError(asyncResp->res);
++ return;
++ }
++ for (const BiosBaseTableItemType& item : *baseBiosTable)
++ {
++ const std::string& key = item.first;
++ const std::string& itemType =
++ std::get<biosBaseAttrType>(item.second);
++ std::string attrType = mapAttrTypeToRedfish(itemType);
++ if (attrType == "String")
+ {
-+ BMCWEB_LOG_ERROR
-+ << "ObjectMapper::GetObject call failed: "
-+ << ec;
++ const std::string* currValue =
++ std::get_if<std::string>(
++ &std::get<biosBaseCurrValue>(item.second));
++ attributesJson.emplace(
++ key, currValue != nullptr ? *currValue : "");
++ }
++ else if (attrType == "Integer")
++ {
++ const int64_t* currValue = std::get_if<int64_t>(
++ &std::get<biosBaseCurrValue>(item.second));
++ attributesJson.emplace(
++ key, currValue != nullptr ? *currValue : 0);
++ }
++ else
++ {
++ BMCWEB_LOG_ERROR << "Unsupported attribute type.";
+ messages::internalError(asyncResp->res);
-+
-+ return;
+ }
-+ const std::string& service =
-+ getObjectType.begin()->first;
-+
-+ crow::connections::systemBus->async_method_call(
-+ [asyncResp](const boost::system::error_code ec,
-+ const std::variant<BiosBaseTableType>&
-+ retBiosTable) {
-+ if (ec)
-+ {
-+ BMCWEB_LOG_ERROR
-+ << "getBiosAttributes DBUS error: "
-+ << ec;
-+ messages::internalError(asyncResp->res);
-+ return;
-+ }
-+ const BiosBaseTableType* baseBiosTable =
-+ std::get_if<BiosBaseTableType>(
-+ &retBiosTable);
-+ nlohmann::json& attributesJson =
-+ asyncResp->res.jsonValue["Attributes"];
-+ if (baseBiosTable == nullptr)
-+ {
-+ BMCWEB_LOG_ERROR
-+ << "baseBiosTable == nullptr ";
-+ messages::internalError(asyncResp->res);
-+ return;
-+ }
-+ for (const BiosBaseTableItemType& item :
-+ *baseBiosTable)
-+ {
-+ const std::string& key = item.first;
-+ const std::string& itemType =
-+ std::get<biosBaseAttrType>(item.second);
-+ std::string attrType =
-+ mapAttrTypeToRedfish(itemType);
-+ if (attrType == "String")
-+ {
-+ const std::string* currValue =
-+ std::get_if<std::string>(
-+ &std::get<biosBaseCurrValue>(
-+ item.second));
-+ attributesJson.emplace(
-+ key, currValue != nullptr
-+ ? *currValue
-+ : "");
-+ }
-+ else if (attrType == "Integer")
-+ {
-+ const int64_t* currValue =
-+ std::get_if<int64_t>(
-+ &std::get<biosBaseCurrValue>(
-+ item.second));
-+ attributesJson.emplace(
-+ key, currValue != nullptr
-+ ? *currValue
-+ : 0);
-+ }
-+ else
-+ {
-+ BMCWEB_LOG_ERROR
-+ << "Unsupported attribute type.";
-+ messages::internalError(asyncResp->res);
-+ }
-+ }
-+ },
-+ service, "/xyz/openbmc_project/bios_config/manager",
-+ "org.freedesktop.DBus.Properties", "Get",
-+ "xyz.openbmc_project.BIOSConfig.Manager",
-+ "BaseBIOSTable");
-+ },
-+ "xyz.openbmc_project.ObjectMapper",
-+ "/xyz/openbmc_project/object_mapper",
-+ "xyz.openbmc_project.ObjectMapper", "GetObject",
-+ "/xyz/openbmc_project/bios_config/manager",
-+ std::array<const char*, 0>());
- });
++ }
++ },
++ service, "/xyz/openbmc_project/bios_config/manager",
++ "org.freedesktop.DBus.Properties", "Get",
++ "xyz.openbmc_project.BIOSConfig.Manager", "BaseBIOSTable");
++ },
++ "xyz.openbmc_project.ObjectMapper",
++ "/xyz/openbmc_project/object_mapper",
++ "xyz.openbmc_project.ObjectMapper", "GetObject",
++ "/xyz/openbmc_project/bios_config/manager",
++ std::array<const char*, 0>());
}
-+
+ inline void requestRoutesBiosService(App& app)
+ {
+@@ -31,6 +242,306 @@ inline void requestRoutesBiosService(App& app)
+ .methods(boost::beast::http::verb::get)(handleBiosServiceGet);
+ }
+
+/**
+ * BiosSettings class supports handle GET/PATCH method for
+ * BIOS configuration pending settings.
@@ -831,11 +830,12 @@ index 604b8e7..c1a5c56 100644
+ std::array<const char*, 0>());
+ });
+}
++
/**
* BiosReset class supports handle POST method for Reset bios.
* The class retrieves and sends data directly to D-Bus.
diff --git a/redfish-core/lib/message_registries.hpp b/redfish-core/lib/message_registries.hpp
-index e3bd5bf..f1f130a 100644
+index 43359e3..b2fb43c 100644
--- a/redfish-core/lib/message_registries.hpp
+++ b/redfish-core/lib/message_registries.hpp
@@ -17,6 +17,7 @@
@@ -846,18 +846,30 @@ index e3bd5bf..f1f130a 100644
#include "registries/openbmc_message_registry.hpp"
#include "registries/resource_event_message_registry.hpp"
#include "registries/task_event_message_registry.hpp"
-@@ -87,6 +88,11 @@ inline void requestRoutesMessageRegistryFile(App& app)
- header = &message_registries::resource_event::header;
- url = message_registries::resource_event::url;
- }
-+ else if (registry == "BiosAttributeRegistry")
-+ {
-+ header = &message_registries::bios::header;
-+ dmtf.clear();
-+ }
- else
- {
- messages::resourceNotFound(
+@@ -125,7 +126,6 @@ inline void requestRoutesMessageRegistryFile(App& app)
+ inline void handleMessageRegistryGet(
+ const crow::Request&, const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
+ const std::string& registry, const std::string& registryMatch)
+-
+ {
+ const message_registries::Header* header;
+ std::vector<const message_registries::MessageEntry*> registryEntries;
+@@ -165,6 +165,15 @@ inline void handleMessageRegistryGet(
+ registryEntries.emplace_back(&entry);
+ }
+ }
++ else if (registry == "BiosAttributeRegistry")
++ {
++ header = &message_registries::bios::header;
++ for (const message_registries::MessageEntry& entry :
++ message_registries::bios::registry)
++ {
++ registryEntries.emplace_back(&entry);
++ }
++ }
+ else
+ {
+ messages::resourceNotFound(
--
2.17.1
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0003-Add-support-to-ResetBios-action.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0003-Add-support-to-ResetBios-action.patch
index a5c55afd1..5ed92cc3e 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0003-Add-support-to-ResetBios-action.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0003-Add-support-to-ResetBios-action.patch
@@ -1,6 +1,6 @@
-From 415b5079ff45c1dabad15e0f751001a6265412e4 Mon Sep 17 00:00:00 2001
+From b7adca60dd69ac9566dc8f417065e244198fc711 Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
-Date: Fri, 27 Aug 2021 13:02:20 +0000
+Date: Wed, 6 Oct 2021 22:27:20 +0000
Subject: [PATCH] Add support to ResetBios action
Tested:
@@ -11,43 +11,43 @@ POST https://IP_ADDR/redfish/v1/Systems/system/Bios/Actions/Bios.ResetBios
Change-Id: Ic719c55705e5f634539b3dd858b60922e505a8d0
Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+
+Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
---
- redfish-core/lib/bios.hpp | 14 ++++++++++----
- 1 file changed, 10 insertions(+), 4 deletions(-)
+ redfish-core/lib/bios.hpp | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/redfish-core/lib/bios.hpp b/redfish-core/lib/bios.hpp
-index 85ccaaa..360a749 100644
+index f5aa7b7..f613613 100644
--- a/redfish-core/lib/bios.hpp
+++ b/redfish-core/lib/bios.hpp
-@@ -737,18 +737,24 @@ inline void requestRoutesBiosReset(App& app)
- .methods(boost::beast::http::verb::post)(
- [](const crow::Request&,
- const std::shared_ptr<bmcweb::AsyncResp>& asyncResp) {
-+ std::string resetFlag = "xyz.openbmc_project.BIOSConfig."
-+ "Manager.ResetFlag.FactoryDefaults";
+@@ -648,17 +648,23 @@ inline void
+ handleBiosResetPost(const crow::Request&,
+ const std::shared_ptr<bmcweb::AsyncResp>& asyncResp)
+ {
++ std::string resetFlag =
++ "xyz.openbmc_project.BIOSConfig.Manager.ResetFlag.FactoryDefaults";
+
- crow::connections::systemBus->async_method_call(
- [asyncResp](const boost::system::error_code ec) {
- if (ec)
- {
-- BMCWEB_LOG_ERROR << "Failed to reset bios: " << ec;
-+ BMCWEB_LOG_ERROR << "doPost bios reset got error "
-+ << ec;
- messages::internalError(asyncResp->res);
- return;
- }
- },
-- "org.open_power.Software.Host.Updater",
-- "/xyz/openbmc_project/software",
-- "xyz.openbmc_project.Common.FactoryReset", "Reset");
-+ "xyz.openbmc_project.BIOSConfigManager",
-+ "/xyz/openbmc_project/bios_config/manager",
-+ "org.freedesktop.DBus.Properties", "Set",
-+ "xyz.openbmc_project.BIOSConfig.Manager",
-+ "ResetBIOSSettings", std::variant<std::string>(resetFlag));
- });
+ crow::connections::systemBus->async_method_call(
+ [asyncResp](const boost::system::error_code ec) {
+ if (ec)
+ {
+- BMCWEB_LOG_ERROR << "Failed to reset bios: " << ec;
++ BMCWEB_LOG_ERROR << "doPost bios reset got error " << ec;
+ messages::internalError(asyncResp->res);
+ return;
+ }
+ },
+- "org.open_power.Software.Host.Updater", "/xyz/openbmc_project/software",
+- "xyz.openbmc_project.Common.FactoryReset", "Reset");
++ "xyz.openbmc_project.BIOSConfigManager",
++ "/xyz/openbmc_project/bios_config/manager",
++ "org.freedesktop.DBus.Properties", "Set",
++ "xyz.openbmc_project.BIOSConfig.Manager", "ResetBIOSSettings",
++ std::variant<std::string>(resetFlag));
}
- } // namespace redfish
+
+ inline void requestRoutesBiosReset(App& app)
--
2.17.1
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0004-Add-support-to-ChangePassword-action.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0004-Add-support-to-ChangePassword-action.patch
index 9a2fada9e..4bfca3006 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0004-Add-support-to-ChangePassword-action.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0004-Add-support-to-ChangePassword-action.patch
@@ -1,7 +1,7 @@
-From 34f8680b21a134e2133bdcf41e1e83e4b4a05d28 Mon Sep 17 00:00:00 2001
-From: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
-Date: Wed, 30 Jun 2021 15:37:47 +0000
-Subject: [PATCH 4/5] Add support to ChangePassword action
+From 22956921a228f6f1cbbbd3045a3cc3969732dca3 Mon Sep 17 00:00:00 2001
+From: Arun Lal K M <arun.lal@intel.com>
+Date: Fri, 8 Oct 2021 20:56:00 +0000
+Subject: [PATCH] Add support to ChangePassword action
Tested:
@@ -29,28 +29,29 @@ root@intel-obmc:~# cat /var/lib/bios-settings-manager/passwordData
"UserName": "Administrator"
}
-Change-Id: I90319a68da0b0a7f9c5cd65a8cb8cf52269a5f52
+Signed-off-by: Arun Lal K M <arun.lal@intel.com>
Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
---
- redfish-core/lib/bios.hpp | 58 +++++++++++++++++++++++++++++++++++++++
- 1 file changed, 58 insertions(+)
+ redfish-core/lib/bios.hpp | 59 +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 59 insertions(+)
diff --git a/redfish-core/lib/bios.hpp b/redfish-core/lib/bios.hpp
-index 49c0fd0..0250c59 100644
+index f613613..b06a904 100644
--- a/redfish-core/lib/bios.hpp
+++ b/redfish-core/lib/bios.hpp
-@@ -180,6 +180,9 @@ inline void requestRoutesBiosService(App& app)
- asyncResp->res.jsonValue["Actions"]["#Bios.ResetBios"] = {
- {"target",
- "/redfish/v1/Systems/system/Bios/Actions/Bios.ResetBios"}};
-+ asyncResp->res.jsonValue["Actions"]["#Bios.ChangePassword"] = {
-+ {"target", "/redfish/v1/Systems/system/Bios/Actions/"
-+ "Bios.ChangePassword"}};
+@@ -175,6 +175,10 @@ inline void
+ asyncResp->res.jsonValue["Actions"]["#Bios.ResetBios"] = {
+ {"target", "/redfish/v1/Systems/system/Bios/Actions/Bios.ResetBios"}};
- // Get the ActiveSoftwareImage and SoftwareImages
- fw_util::populateFirmwareInformation(
-@@ -283,6 +286,61 @@ inline void requestRoutesBiosService(App& app)
- });
++ asyncResp->res.jsonValue["Actions"]["#Bios.ChangePassword"] = {
++ {"target", "/redfish/v1/Systems/system/Bios/Actions/"
++ "Bios.ChangePassword"}};
++
+ // Get the ActiveSoftwareImage and SoftwareImages
+ fw_util::populateFirmwareInformation(asyncResp, fw_util::biosPurpose, "",
+ true);
+@@ -265,6 +269,61 @@ inline void requestRoutesBiosService(App& app)
+ .methods(boost::beast::http::verb::get)(handleBiosServiceGet);
}
+/**
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0006-Add-fix-for-broken-feature-Pending-Attributes.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0006-Add-fix-for-broken-feature-Pending-Attributes.patch
index 0e4fc4903..2e72a639d 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0006-Add-fix-for-broken-feature-Pending-Attributes.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/biosconfig/0006-Add-fix-for-broken-feature-Pending-Attributes.patch
@@ -1,6 +1,6 @@
-From 9814f83f36afafffa55bd19481654c064840e73d Mon Sep 17 00:00:00 2001
+From f75beb0472a42d5af512661470aadf12ac460470 Mon Sep 17 00:00:00 2001
From: Arun Lal K M <arun.lal@intel.com>
-Date: Mon, 16 Aug 2021 17:49:11 +0000
+Date: Fri, 8 Oct 2021 21:30:33 +0000
Subject: [PATCH] Add fix for broken feature 'Pending Attributes'.
Fix is added for the following:
@@ -8,6 +8,8 @@ Fix is added for the following:
2) PATCH to 'redfish/v1/Systems/system/Bios/Settings'.
3) GET to 'redfish/v1/Systems/system/Bios/Settings'.
4) Fix for incremental duplicate values in BiosAttributeRegistry.
+5) POST to '/redfish/v1/Systems/system/Bios/Actions
+ /Bios.ChangePassword/'.
Tested:
By giving PATCH to 'redfish/v1/Systems/system/Bios/Settings'
@@ -105,6 +107,10 @@ Response:
"Name": "Bios Settings Version 1"
}
+By giving POST to '/redfish/v1/Systems/system/Bios/Actions
+/Bios.ChangePassword/'
+Response: Success
+
By running Redfish-Service-Validator
Result:
Elapsed time: 0:09:36
@@ -124,14 +130,14 @@ warnDeprecated: 230
warningPresent: 54
Validation has succeeded.
-Change-Id: Ib92eb7a1b81bef5adaf432b9225a183d7a78ebef
Signed-off-by: Arun Lal K M <arun.lal@intel.com>
+Signed-off-by: Snehalatha Venkatesh <snehalathax.v@intel.com>
---
- redfish-core/lib/bios.hpp | 583 ++++++++++++++++++++++++--------------
- 1 file changed, 374 insertions(+), 209 deletions(-)
+ redfish-core/lib/bios.hpp | 586 ++++++++++++++++++++++++--------------
+ 1 file changed, 376 insertions(+), 210 deletions(-)
diff --git a/redfish-core/lib/bios.hpp b/redfish-core/lib/bios.hpp
-index 360a749..a927772 100644
+index 0bb0b9e..de79be2 100644
--- a/redfish-core/lib/bios.hpp
+++ b/redfish-core/lib/bios.hpp
@@ -12,13 +12,15 @@ map{attributeName,struct{attributeType,readonlyStatus,displayname,
@@ -249,49 +255,52 @@ index 360a749..a927772 100644
static std::string mapBoundTypeToRedfish(const std::string_view typeDbus)
{
std::string ret;
-@@ -208,6 +170,15 @@ inline void requestRoutesBiosService(App& app)
+@@ -201,6 +163,15 @@ inline void
- return;
- }
+ return;
+ }
+
-+ if (getObjectType.empty())
-+ {
-+ BMCWEB_LOG_ERROR << "getObjectType is empty.";
-+ messages::internalError(asyncResp->res);
++ if (getObjectType.empty())
++ {
++ BMCWEB_LOG_ERROR << "getObjectType is empty.";
++ messages::internalError(asyncResp->res);
+
-+ return;
-+ }
++ return;
++ }
+
- const std::string& service =
- getObjectType.begin()->first;
+ const std::string& service = getObjectType.begin()->first;
-@@ -231,7 +202,7 @@ inline void requestRoutesBiosService(App& app)
- if (baseBiosTable == nullptr)
- {
- BMCWEB_LOG_ERROR
-- << "baseBiosTable == nullptr ";
-+ << "baseBiosTable is empty";
- messages::internalError(asyncResp->res);
- return;
- }
-@@ -269,7 +240,6 @@ inline void requestRoutesBiosService(App& app)
- {
- BMCWEB_LOG_ERROR
- << "Unsupported attribute type.";
-- messages::internalError(asyncResp->res);
- }
- }
- },
-@@ -293,7 +263,7 @@ inline void requestRoutesBiosService(App& app)
+ crow::connections::systemBus->async_method_call(
+@@ -220,7 +191,7 @@ inline void
+ asyncResp->res.jsonValue["Attributes"];
+ if (baseBiosTable == nullptr)
+ {
+- BMCWEB_LOG_ERROR << "baseBiosTable == nullptr ";
++ BMCWEB_LOG_ERROR << "baseBiosTable is empty";
+ messages::internalError(asyncResp->res);
+ return;
+ }
+@@ -248,7 +219,6 @@ inline void
+ else
+ {
+ BMCWEB_LOG_ERROR << "Unsupported attribute type.";
+- messages::internalError(asyncResp->res);
+ }
+ }
+ },
+@@ -275,8 +245,9 @@ inline void requestRoutesBiosService(App& app)
+ */
inline void requestRoutesBiosChangePassword(App& app)
{
- BMCWEB_ROUTE(app, "/redfish/v1/Systems/system/Bios/")
+- BMCWEB_ROUTE(app, "/redfish/v1/Systems/system/Bios/")
- .privileges({{"ConfigureComponents"}})
++ BMCWEB_ROUTE(app,
++ "/redfish/v1/Systems/system/Bios/Actions/Bios.ChangePassword/")
+ .privileges(redfish::privileges::postBios)
.methods(boost::beast::http::verb::post)(
[](const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp) {
-@@ -359,180 +329,298 @@ inline void requestRoutesBiosSettings(App& app)
+@@ -342,180 +313,298 @@ inline void requestRoutesBiosSettings(App& app)
{
BMCWEB_ROUTE(app, "/redfish/v1/Systems/system/Bios/Settings")
.privileges(redfish::privileges::getBios)
@@ -341,9 +350,7 @@ index 360a749..a927772 100644
- return;
- }
- std::string service = getObjectType.begin()->first;
-+ return;
-+ }
-
+-
- crow::connections::systemBus->async_method_call(
- [asyncResp](
- const boost::system::error_code ec,
@@ -372,6 +379,9 @@ index 360a749..a927772 100644
- }
- for (const PendingAttributesItemType& item :
- *pendingAttributes)
++ return;
++ }
++
+ if (getObjectType.empty())
+ {
+ BMCWEB_LOG_ERROR << "getObjectType is empty.";
@@ -525,32 +535,24 @@ index 360a749..a927772 100644
- [](const crow::Request& req,
- const std::shared_ptr<bmcweb::AsyncResp>& asyncResp) {
- nlohmann::json inpJson;
--
-- if (!redfish::json_util::readJson(req, asyncResp->res, "data",
-- inpJson))
-- {
-- return;
-- }
+ .privileges(redfish::privileges::patchBios)
+ .methods(
+ boost::beast::http::verb::
+ patch)([](const crow::Request& req,
+ const std::shared_ptr<bmcweb::AsyncResp>& asyncResp) {
+ nlohmann::json inpJson;
-+
+
+- if (!redfish::json_util::readJson(req, asyncResp->res, "data",
+- inpJson))
+- {
+- return;
+- }
+ if (!redfish::json_util::readJson(req, asyncResp->res, "data",
+ inpJson))
+ {
+ BMCWEB_LOG_ERROR << "No 'data' in req!";
+ return;
+ }
-+
-+ if (inpJson.empty())
-+ {
-+ messages::invalidObject(asyncResp->res, "data");
-+ BMCWEB_LOG_ERROR << "No input in req!";
-+ return;
-+ }
- for (auto& attrInfo : inpJson)
- {
@@ -573,6 +575,13 @@ index 360a749..a927772 100644
- }
- if (!json_util::getValueFromJsonObject(
- attrInfo, "AttributeValue", attrValue))
++ if (inpJson.empty())
++ {
++ messages::invalidObject(asyncResp->res, "data");
++ BMCWEB_LOG_ERROR << "No input in req!";
++ return;
++ }
++
+ crow::connections::systemBus->async_method_call(
+ [asyncResp, inpJson](const boost::system::error_code ec,
+ const GetObjectType& getObjectType) {
@@ -616,9 +625,9 @@ index 360a749..a927772 100644
BMCWEB_LOG_ERROR
- << "doPatch resp_handler got error " << ec;
+ << "getBiosAttributes DBUS error: " << ec;
- messages::internalError(asyncResp->res);
- return;
- }
++ messages::internalError(asyncResp->res);
++ return;
++ }
+
+ const BiosBaseTableType* baseBiosTable =
+ std::get_if<BiosBaseTableType>(&retBiosTable);
@@ -626,9 +635,9 @@ index 360a749..a927772 100644
+ if (baseBiosTable == nullptr)
+ {
+ BMCWEB_LOG_ERROR << "baseBiosTable is empty.";
-+ messages::internalError(asyncResp->res);
-+ return;
-+ }
+ messages::internalError(asyncResp->res);
+ return;
+ }
+
+ PendingAttributesType pendingAttributes{};
+
@@ -732,7 +741,7 @@ index 360a749..a927772 100644
}
/**
* BiosAttributeRegistry class supports handle get method for BIOS attribute
-@@ -572,6 +660,15 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
+@@ -555,6 +644,15 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
return;
}
@@ -748,7 +757,7 @@ index 360a749..a927772 100644
std::string service = getObjectType.begin()->first;
crow::connections::systemBus->async_method_call(
-@@ -592,8 +689,6 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
+@@ -575,8 +673,6 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
nlohmann::json& attributeArray =
asyncResp->res
.jsonValue["RegistryEntries"]["Attributes"];
@@ -757,7 +766,7 @@ index 360a749..a927772 100644
if (baseBiosTable == nullptr)
{
BMCWEB_LOG_ERROR << "baseBiosTable == nullptr ";
-@@ -609,10 +704,11 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
+@@ -592,10 +688,11 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
mapAttrTypeToRedfish(itemType);
if (attrType == "UNKNOWN")
{
@@ -772,7 +781,7 @@ index 360a749..a927772 100644
nlohmann::json attributeItem;
attributeItem["AttributeName"] = item.first;
attributeItem["Type"] = attrType;
-@@ -632,10 +728,30 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
+@@ -615,10 +712,30 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
std::get_if<std::string>(
&std::get<biosBaseCurrValue>(
item.second));
@@ -803,7 +812,7 @@ index 360a749..a927772 100644
attributeItem["CurrentValue"] =
currValue != nullptr ? *currValue : "";
attributeItem["DefaultValue"] =
-@@ -647,10 +763,30 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
+@@ -630,10 +747,30 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
std::get_if<int64_t>(
&std::get<biosBaseCurrValue>(
item.second));
@@ -834,7 +843,7 @@ index 360a749..a927772 100644
attributeItem["CurrentValue"] =
currValue != nullptr ? *currValue : 0;
attributeItem["DefaultValue"] =
-@@ -658,12 +794,13 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
+@@ -641,12 +778,13 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
}
else
{
@@ -852,7 +861,7 @@ index 360a749..a927772 100644
const std::vector<OptionsItemType>&
optionsVector =
std::get<biosBaseOptions>(item.second);
-@@ -678,9 +815,9 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
+@@ -661,9 +799,9 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
if (optItemTypeRedfish == "UNKNOWN")
{
BMCWEB_LOG_ERROR
@@ -865,7 +874,7 @@ index 360a749..a927772 100644
}
if (optItemTypeRedfish == "OneOf")
{
-@@ -688,6 +825,17 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
+@@ -671,6 +809,17 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
std::get_if<std::string>(
&std::get<optItemValue>(
optItem));
@@ -883,7 +892,7 @@ index 360a749..a927772 100644
optItemJson[optItemTypeRedfish] =
currValue != nullptr ? *currValue
: "";
-@@ -698,6 +846,17 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
+@@ -681,6 +830,17 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
std::get_if<int64_t>(
&std::get<optItemValue>(
optItem));
@@ -901,7 +910,7 @@ index 360a749..a927772 100644
optItemJson[optItemTypeRedfish] =
currValue != nullptr ? *currValue
: 0;
-@@ -706,6 +865,12 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
+@@ -689,6 +849,12 @@ inline void requestRoutesBiosAttributeRegistry(App& app)
optionsArray.push_back(optItemJson);
}
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0001-Add-unmerged-changes-for-http-retry-support.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0001-Add-unmerged-changes-for-http-retry-support.patch
new file mode 100644
index 000000000..52135e255
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0001-Add-unmerged-changes-for-http-retry-support.patch
@@ -0,0 +1,121 @@
+From 6ff897d2b5513f15445f18aae16d8439ed94f377 Mon Sep 17 00:00:00 2001
+From: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+Date: Mon, 11 Oct 2021 18:41:27 +0530
+Subject: [PATCH] Add unmerged changes for http retry support
+
+The http retry support added upstream as a single patch was slpit into
+3 patches, but only 2 of them was merged.
+This commit pulls in the differentail changes required to complete the
+entire http retry support. and also allow for other subsequent patches
+to be appplied easily.
+
+Change-Id: Id8ccd991b7ffc505196b1a92b23e1cd51e00bc89
+Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+---
+ http/http_client.hpp | 44 +++++++++++--------
+ .../include/event_service_manager.hpp | 2 +-
+ 2 files changed, 27 insertions(+), 19 deletions(-)
+
+diff --git a/http/http_client.hpp b/http/http_client.hpp
+index ab20eb0..aad1cce 100644
+--- a/http/http_client.hpp
++++ b/http/http_client.hpp
+@@ -68,7 +68,6 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+ std::optional<
+ boost::beast::http::response_parser<boost::beast::http::string_body>>
+ parser;
+- std::vector<std::pair<std::string, std::string>> headers;
+ boost::circular_buffer_space_optimized<std::string> requestDataQueue{};
+
+ ConnState state;
+@@ -137,18 +136,6 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+
+ BMCWEB_LOG_DEBUG << __FUNCTION__ << "(): " << host << ":" << port;
+
+- req.version(static_cast<int>(11)); // HTTP 1.1
+- req.target(uri);
+- req.method(boost::beast::http::verb::post);
+-
+- // Set headers
+- for (const auto& [key, value] : headers)
+- {
+- req.set(key, value);
+- }
+- req.set(boost::beast::http::field::host, host);
+- req.keep_alive(true);
+-
+ req.body() = data;
+ req.prepare_payload();
+
+@@ -204,6 +191,17 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+ BMCWEB_LOG_DEBUG << "recvMessage() data: "
+ << self->parser->get();
+
++ // Check if the response and header are received
++ if (!self->parser->is_done())
++ {
++ // The parser failed to receive the response
++ BMCWEB_LOG_ERROR
++ << "recvMessage() parser failed to receive response";
++ self->state = ConnState::recvFailed;
++ self->handleConnState();
++ return;
++ }
++
+ unsigned int respCode = self->parser->get().result_int();
+ BMCWEB_LOG_DEBUG << "recvMessage() Header Response Code: "
+ << respCode;
+@@ -398,11 +396,17 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+ const std::string& destIP, const std::string& destPort,
+ const std::string& destUri) :
+ conn(ioc),
+- timer(ioc), subId(id), host(destIP), port(destPort), uri(destUri),
+- retryCount(0), maxRetryAttempts(5), retryIntervalSecs(0),
++ timer(ioc), req(boost::beast::http::verb::post, destUri, 11),
++ state(ConnState::initialized), subId(id), host(destIP), port(destPort),
++ uri(destUri), retryCount(0), maxRetryAttempts(5), retryIntervalSecs(0),
+ retryPolicyAction("TerminateAfterRetries"), runningTimer(false)
+ {
+- state = ConnState::initialized;
++ // Set the request header
++ req.set(boost::beast::http::field::host, host);
++ req.set(boost::beast::http::field::content_type, "application/json");
++ req.keep_alive(true);
++
++ requestDataQueue.set_capacity(maxRequestQueueSize);
+ }
+
+ void sendData(const std::string& data)
+@@ -425,10 +429,14 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+ return;
+ }
+
+- void setHeaders(
++ void addHeaders(
+ const std::vector<std::pair<std::string, std::string>>& httpHeaders)
+ {
+- headers = httpHeaders;
++ // Set custom headers
++ for (const auto& [key, value] : httpHeaders)
++ {
++ req.set(key, value);
++ }
+ }
+
+ void setRetryConfig(const uint32_t retryAttempts,
+diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
+index 8042803..0a63b8c 100644
+--- a/redfish-core/include/event_service_manager.hpp
++++ b/redfish-core/include/event_service_manager.hpp
+@@ -412,7 +412,7 @@ class Subscription : public persistent_data::UserSubscription
+ reqHeaders.emplace_back(std::pair(key, val));
+ }
+ }
+- conn->setHeaders(reqHeaders);
++ conn->addHeaders(reqHeaders);
+ conn->sendData(msg);
+ this->eventSeqNum++;
+ }
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0001-EventService-Fix-retry-handling-for-http-client.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0001-EventService-Fix-retry-handling-for-http-client.patch
deleted file mode 100644
index 7a6818008..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0001-EventService-Fix-retry-handling-for-http-client.patch
+++ /dev/null
@@ -1,546 +0,0 @@
-From f74393a9bca899e353be3d0e2dc5c224539fe432 Mon Sep 17 00:00:00 2001
-From: Sunitha Harish <sunithaharish04@gmail.com>
-Date: Fri, 19 Feb 2021 13:38:31 +0530
-Subject: [PATCH] EventService : Fix retry handling for http-client
-
-When the event send/receive is failed, the bmcweb does not handle
-the failure to tear-down the complete connection and start a fresh
-
-The keep-alive header from the event listener is read to update
-the connection states, so that the connection will be kept alive
-or closed as per the subscriber's specifications
-
-Updated the connection state machine to handle retry logic properly.
-Avoided multiple simultaneous async calls which crashes the bmcweb. So
-added connBusy flag which protects simultaneous async calls.
-
-Used boost http response parser as parser for producing the response
-message. Set the parser skip option to handle the empty response message
-from listening server.
-
-Tested by:
- - Subscribe for the events at BMC using DMTF event listener
- - Generate an event and see the same is received at the listener's console
- - Update the listner to change the keep-alive to true/false and
- observe the http-client connection states at bmcweb
- - Changed listener client to return non success HTTP status code
- and observed retry logic gets trigrred in http-client.
- - Gave wrong fqdn and observed async resolve failure and retry logc.
- - Stopped listener after connect and verified timeouts on http-client
- side.
-
-Change-Id: Ibb45691f139916ba2954da37beda9d4f91c7cef3
-Signed-off-by: Sunitha Harish <sunithaharish04@gmail.com>
-Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
----
- http/http_client.hpp | 288 ++++++++++--------
- .../include/event_service_manager.hpp | 2 +-
- 2 files changed, 162 insertions(+), 128 deletions(-)
-
-diff --git a/http/http_client.hpp b/http/http_client.hpp
-index 992ac2b..feabbba 100644
---- a/http/http_client.hpp
-+++ b/http/http_client.hpp
-@@ -34,22 +34,28 @@ namespace crow
- {
-
- static constexpr uint8_t maxRequestQueueSize = 50;
-+static constexpr unsigned int httpReadBodyLimit = 8192;
-
- enum class ConnState
- {
- initialized,
- resolveInProgress,
- resolveFailed,
-+ resolved,
- connectInProgress,
- connectFailed,
- connected,
- sendInProgress,
- sendFailed,
-+ recvInProgress,
- recvFailed,
- idle,
-- suspended,
-+ closeInProgress,
- closed,
-- terminated
-+ suspended,
-+ terminated,
-+ abortConnection,
-+ retry
- };
-
- class HttpClient : public std::enable_shared_from_this<HttpClient>
-@@ -58,11 +64,13 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
- crow::async_resolve::Resolver resolver;
- boost::beast::tcp_stream conn;
- boost::asio::steady_timer timer;
-- boost::beast::flat_buffer buffer;
-+ boost::beast::flat_static_buffer<httpReadBodyLimit> buffer;
- boost::beast::http::request<boost::beast::http::string_body> req;
-- boost::beast::http::response<boost::beast::http::string_body> res;
-- std::vector<std::pair<std::string, std::string>> headers;
-- std::queue<std::string> requestDataQueue;
-+ std::optional<
-+ boost::beast::http::response_parser<boost::beast::http::string_body>>
-+ parser;
-+ boost::circular_buffer_space_optimized<std::string> requestDataQueue{};
-+ std::vector<boost::asio::ip::tcp::endpoint> endPoints;
- ConnState state;
- std::string subId;
- std::string host;
-@@ -76,12 +84,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
-
- void doResolve()
- {
-- if (state == ConnState::resolveInProgress)
-- {
-- return;
-- }
- state = ConnState::resolveInProgress;
--
- BMCWEB_LOG_DEBUG << "Trying to resolve: " << host << ":" << port;
-
- auto respHandler =
-@@ -89,78 +92,56 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
- const boost::beast::error_code ec,
- const std::vector<boost::asio::ip::tcp::endpoint>&
- endpointList) {
-- if (ec)
-+ if (ec || (endpointList.size() == 0))
- {
- BMCWEB_LOG_ERROR << "Resolve failed: " << ec.message();
- self->state = ConnState::resolveFailed;
-- self->checkQueue();
-+ self->handleConnState();
- return;
- }
- BMCWEB_LOG_DEBUG << "Resolved";
-- self->doConnect(endpointList);
-+ self->endPoints.assign(endpointList.begin(),
-+ endpointList.end());
-+ self->state = ConnState::resolved;
-+ self->handleConnState();
- };
- resolver.asyncResolve(host, port, std::move(respHandler));
- }
-
-- void doConnect(
-- const std::vector<boost::asio::ip::tcp::endpoint>& endpointList)
-+ void doConnect()
- {
-- if (state == ConnState::connectInProgress)
-- {
-- return;
-- }
- state = ConnState::connectInProgress;
-
- BMCWEB_LOG_DEBUG << "Trying to connect to: " << host << ":" << port;
-
- conn.expires_after(std::chrono::seconds(30));
- conn.async_connect(
-- endpointList, [self(shared_from_this())](
-- const boost::beast::error_code ec,
-- const boost::asio::ip::tcp::endpoint& endpoint) {
-+ endPoints, [self(shared_from_this())](
-+ const boost::beast::error_code ec,
-+ const boost::asio::ip::tcp::endpoint& endpoint) {
- if (ec)
- {
- BMCWEB_LOG_ERROR << "Connect " << endpoint
- << " failed: " << ec.message();
- self->state = ConnState::connectFailed;
-- self->checkQueue();
-+ self->handleConnState();
- return;
- }
-- self->state = ConnState::connected;
- BMCWEB_LOG_DEBUG << "Connected to: " << endpoint;
--
-- self->checkQueue();
-+ self->state = ConnState::connected;
-+ self->handleConnState();
- });
- }
-
- void sendMessage(const std::string& data)
- {
-- if (state == ConnState::sendInProgress)
-- {
-- return;
-- }
- state = ConnState::sendInProgress;
-
- BMCWEB_LOG_DEBUG << __FUNCTION__ << "(): " << host << ":" << port;
-
-- req.version(static_cast<int>(11)); // HTTP 1.1
-- req.target(uri);
-- req.method(boost::beast::http::verb::post);
--
-- // Set headers
-- for (const auto& [key, value] : headers)
-- {
-- req.set(key, value);
-- }
-- req.set(boost::beast::http::field::host, host);
-- req.keep_alive(true);
--
- req.body() = data;
- req.prepare_payload();
-
-- // Set a timeout on the operation
-- conn.expires_after(std::chrono::seconds(30));
--
- // Send the HTTP request to the remote host
- boost::beast::http::async_write(
- conn, req,
-@@ -171,7 +152,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
- BMCWEB_LOG_ERROR << "sendMessage() failed: "
- << ec.message();
- self->state = ConnState::sendFailed;
-- self->checkQueue();
-+ self->handleConnState();
- return;
- }
- BMCWEB_LOG_DEBUG << "sendMessage() bytes transferred: "
-@@ -184,9 +165,17 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
-
- void recvMessage()
- {
-+ state = ConnState::recvInProgress;
-+
-+ parser.emplace(std::piecewise_construct, std::make_tuple());
-+ parser->body_limit(httpReadBodyLimit);
-+
-+ // Check only for the response header
-+ parser->skip(true);
-+
- // Receive the HTTP response
- boost::beast::http::async_read(
-- conn, buffer, res,
-+ conn, buffer, *parser,
- [self(shared_from_this())](const boost::beast::error_code& ec,
- const std::size_t& bytesTransferred) {
- if (ec)
-@@ -194,30 +183,47 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
- BMCWEB_LOG_ERROR << "recvMessage() failed: "
- << ec.message();
- self->state = ConnState::recvFailed;
-- self->checkQueue();
-+ self->handleConnState();
- return;
- }
- BMCWEB_LOG_DEBUG << "recvMessage() bytes transferred: "
- << bytesTransferred;
-- boost::ignore_unused(bytesTransferred);
--
-- // Discard received data. We are not interested.
-- BMCWEB_LOG_DEBUG << "recvMessage() data: " << self->res;
-+ BMCWEB_LOG_DEBUG << "recvMessage() data: "
-+ << self->parser->get();
-
- // Send is successful, Lets remove data from queue
- // check for next request data in queue.
-- self->requestDataQueue.pop();
-+ if (!self->requestDataQueue.empty())
-+ {
-+ self->requestDataQueue.pop_front();
-+ }
- self->state = ConnState::idle;
-- self->checkQueue();
-+
-+ // Keep the connection alive if server supports it
-+ // Else close the connection
-+ BMCWEB_LOG_DEBUG << "recvMessage() keepalive : "
-+ << self->parser->keep_alive();
-+ if (!self->parser->keep_alive())
-+ {
-+ // Abort the connection since server is not keep-alive
-+ // enabled
-+ self->state = ConnState::abortConnection;
-+ }
-+
-+ // Returns ownership of the parsed message
-+ self->parser->release();
-+
-+ self->handleConnState();
- });
- }
-
- void doClose()
- {
-+ state = ConnState::closeInProgress;
- boost::beast::error_code ec;
- conn.socket().shutdown(boost::asio::ip::tcp::socket::shutdown_both, ec);
-+ conn.close();
-
-- state = ConnState::closed;
- // not_connected happens sometimes so don't bother reporting it.
- if (ec && ec != boost::beast::errc::not_connected)
- {
-@@ -225,112 +231,139 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
- return;
- }
- BMCWEB_LOG_DEBUG << "Connection closed gracefully";
-- }
--
-- void checkQueue(const bool newRecord = false)
-- {
-- if (requestDataQueue.empty())
-+ if ((state != ConnState::suspended) && (state != ConnState::terminated))
- {
-- // TODO: Having issue in keeping connection alive. So lets close if
-- // nothing to be transferred.
-- doClose();
--
-- BMCWEB_LOG_DEBUG << "requestDataQueue is empty\n";
-- return;
-+ state = ConnState::closed;
-+ handleConnState();
- }
-+ }
-
-+ void waitAndRetry()
-+ {
- if (retryCount >= maxRetryAttempts)
- {
-- BMCWEB_LOG_ERROR << "Maximum number of retries is reached.";
-+ BMCWEB_LOG_ERROR << "Maximum number of retries reached.";
-
- // Clear queue.
- while (!requestDataQueue.empty())
- {
-- requestDataQueue.pop();
-+ requestDataQueue.pop_front();
- }
-
-- BMCWEB_LOG_DEBUG << "Retry policy is set to " << retryPolicyAction;
-+ BMCWEB_LOG_DEBUG << "Retry policy: " << retryPolicyAction;
- if (retryPolicyAction == "TerminateAfterRetries")
- {
- // TODO: delete subscription
- state = ConnState::terminated;
-- return;
- }
- if (retryPolicyAction == "SuspendRetries")
- {
- state = ConnState::suspended;
-- return;
- }
-- // keep retrying, reset count and continue.
-+ // Reset the retrycount to zero so that client can try connecting
-+ // again if needed
- retryCount = 0;
-+ handleConnState();
-+ return;
- }
-
-- if ((state == ConnState::connectFailed) ||
-- (state == ConnState::sendFailed) ||
-- (state == ConnState::recvFailed))
-+ if (runningTimer)
- {
-- if (newRecord)
-- {
-- // We are already running async wait and retry.
-- // Since record is added to queue, it gets the
-- // turn in FIFO.
-- return;
-- }
--
-- if (runningTimer)
-- {
-- BMCWEB_LOG_DEBUG << "Retry timer is already running.";
-- return;
-- }
-- runningTimer = true;
--
-- retryCount++;
--
-- BMCWEB_LOG_DEBUG << "Attempt retry after " << retryIntervalSecs
-- << " seconds. RetryCount = " << retryCount;
-- timer.expires_after(std::chrono::seconds(retryIntervalSecs));
-- timer.async_wait(
-- [self = shared_from_this()](const boost::system::error_code&) {
-- self->runningTimer = false;
-- self->connStateCheck();
-- });
-+ BMCWEB_LOG_DEBUG << "Retry timer is already running.";
- return;
- }
-- // reset retry count.
-- retryCount = 0;
-- connStateCheck();
-+ runningTimer = true;
-+
-+ retryCount++;
-+
-+ BMCWEB_LOG_DEBUG << "Attempt retry after " << retryIntervalSecs
-+ << " seconds. RetryCount = " << retryCount;
-+ timer.expires_after(std::chrono::seconds(retryIntervalSecs));
-+ timer.async_wait(
-+ [self = shared_from_this()](const boost::system::error_code ec) {
-+ if (ec)
-+ {
-+ BMCWEB_LOG_ERROR << "async_wait failed: " << ec.message();
-+ // Ignore the error and continue the retry loop to attempt
-+ // sending the event as per the retry policy
-+ }
-+ self->runningTimer = false;
-
-+ // Lets close connection and start from resolve.
-+ self->doClose();
-+ });
- return;
- }
-
-- void connStateCheck()
-+ void handleConnState()
- {
- switch (state)
- {
- case ConnState::resolveInProgress:
- case ConnState::connectInProgress:
- case ConnState::sendInProgress:
-- case ConnState::suspended:
-- case ConnState::terminated:
-- // do nothing
-+ case ConnState::recvInProgress:
-+ case ConnState::closeInProgress:
-+ {
-+ BMCWEB_LOG_DEBUG << "Async operation is already in progress";
- break;
-+ }
- case ConnState::initialized:
- case ConnState::closed:
-+ {
-+ if (requestDataQueue.empty())
-+ {
-+ BMCWEB_LOG_DEBUG << "requestDataQueue is empty";
-+ return;
-+ }
-+ doResolve();
-+ break;
-+ }
-+ case ConnState::resolved:
-+ {
-+ doConnect();
-+ break;
-+ }
-+ case ConnState::suspended:
-+ case ConnState::terminated:
-+ {
-+ doClose();
-+ break;
-+ }
-+ case ConnState::resolveFailed:
- case ConnState::connectFailed:
- case ConnState::sendFailed:
- case ConnState::recvFailed:
-- case ConnState::resolveFailed:
-+ case ConnState::retry:
- {
-- doResolve();
-+ // In case of failures during connect and handshake
-+ // the retry policy will be applied
-+ waitAndRetry();
- break;
- }
- case ConnState::connected:
- case ConnState::idle:
- {
-+ // State idle means, previous attempt is successful
-+ // State connected means, client connection is established
-+ // successfully
-+ if (requestDataQueue.empty())
-+ {
-+ BMCWEB_LOG_DEBUG << "requestDataQueue is empty";
-+ return;
-+ }
- std::string data = requestDataQueue.front();
- sendMessage(data);
- break;
- }
-+ case ConnState::abortConnection:
-+ {
-+ // Server did not want to keep alive the session
-+ doClose();
-+ break;
-+ }
-+ default:
-+ break;
- }
- }
-
-@@ -339,37 +372,38 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
- const std::string& destIP, const std::string& destPort,
- const std::string& destUri) :
- conn(ioc),
-- timer(ioc), subId(id), host(destIP), port(destPort), uri(destUri),
-- retryCount(0), maxRetryAttempts(5), retryIntervalSecs(0),
-+ timer(ioc), req(boost::beast::http::verb::post, destUri, 11),
-+ state(ConnState::initialized), subId(id), host(destIP), port(destPort),
-+ uri(destUri), retryCount(0), maxRetryAttempts(5), retryIntervalSecs(0),
- retryPolicyAction("TerminateAfterRetries"), runningTimer(false)
- {
-- state = ConnState::initialized;
-+ // Set the request header
-+ req.set(boost::beast::http::field::host, host);
-+ req.set(boost::beast::http::field::content_type, "application/json");
-+ req.keep_alive(true);
-+
-+ requestDataQueue.set_capacity(maxRequestQueueSize);
- }
-
- void sendData(const std::string& data)
- {
-- if (state == ConnState::suspended)
-+ if ((state == ConnState::suspended) || (state == ConnState::terminated))
- {
- return;
- }
--
-- if (requestDataQueue.size() <= maxRequestQueueSize)
-- {
-- requestDataQueue.push(data);
-- checkQueue(true);
-- }
-- else
-- {
-- BMCWEB_LOG_ERROR << "Request queue is full. So ignoring data.";
-- }
--
-+ requestDataQueue.push_back(data);
-+ handleConnState();
- return;
- }
-
-- void setHeaders(
-+ void addHeaders(
- const std::vector<std::pair<std::string, std::string>>& httpHeaders)
- {
-- headers = httpHeaders;
-+ // Set custom headers
-+ for (const auto& [key, value] : httpHeaders)
-+ {
-+ req.set(key, value);
-+ }
- }
-
- void setRetryConfig(const uint32_t retryAttempts,
-diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
-index 11190ef..a8f7517 100644
---- a/redfish-core/include/event_service_manager.hpp
-+++ b/redfish-core/include/event_service_manager.hpp
-@@ -422,7 +422,7 @@ class Subscription
- reqHeaders.emplace_back(std::pair(key, val));
- }
- }
-- conn->setHeaders(reqHeaders);
-+ conn->addHeaders(reqHeaders);
- conn->sendData(msg);
- this->eventSeqNum++;
- }
---
-2.25.1
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0002-EventService-https-client-support.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0002-EventService-https-client-support.patch
index eef0ff065..aeeafc421 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0002-EventService-https-client-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0002-EventService-https-client-support.patch
@@ -1,28 +1,27 @@
-From 4df4a36d6d2cc11c51cc9d53cd441178cc97e39b Mon Sep 17 00:00:00 2001
+From 3f2ad28e6e124249cde3df50c9e18c283fbcbf3e Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Mon, 22 Feb 2021 17:07:47 +0000
Subject: [PATCH] EventService: https client support
-Add https client support for push style
-eventing. Using this BMC can push the event
-logs/telemetry data to event listener over
-secure http channel.
+Add https client support for push style eventing. Using this BMC can
+push the event logs/telemetry data to event listener over secure http
+channel.
Tested:
- - Created subscription with https destination
- url. Using SubmitTestEvent action set the
- event and can see event on event listener.
+ - Created subscription with https destination url. Using
+ SubmitTestEvent action set the event and can see event on event
+ listener.
- Validator passed.
Change-Id: I44c3918b39baa2eb5fddda9d635f99aa280a422a
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
---
- http/http_client.hpp | 257 ++++++++++++------
+ http/http_client.hpp | 307 ++++++++++++------
.../include/event_service_manager.hpp | 2 +-
- 2 files changed, 176 insertions(+), 83 deletions(-)
+ 2 files changed, 202 insertions(+), 107 deletions(-)
diff --git a/http/http_client.hpp b/http/http_client.hpp
-index feabbba..aaf1b2d 100644
+index aad1cce..5e7ff47 100644
--- a/http/http_client.hpp
+++ b/http/http_client.hpp
@@ -20,6 +20,7 @@
@@ -33,8 +32,8 @@ index feabbba..aaf1b2d 100644
#include <boost/beast/version.hpp>
#include <include/async_resolve.hpp>
-@@ -44,6 +45,8 @@ enum class ConnState
- resolved,
+@@ -43,6 +44,8 @@ enum class ConnState
+ resolveFailed,
connectInProgress,
connectFailed,
+ handshakeInProgress,
@@ -42,7 +41,7 @@ index feabbba..aaf1b2d 100644
connected,
sendInProgress,
sendFailed,
-@@ -62,7 +65,9 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -61,7 +64,9 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
{
private:
crow::async_resolve::Resolver resolver;
@@ -52,8 +51,8 @@ index feabbba..aaf1b2d 100644
boost::asio::steady_timer timer;
boost::beast::flat_static_buffer<httpReadBodyLimit> buffer;
boost::beast::http::request<boost::beast::http::string_body> req;
-@@ -111,23 +116,52 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
- void doConnect()
+@@ -108,23 +113,52 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+ const std::vector<boost::asio::ip::tcp::endpoint>& endpointList)
{
state = ConnState::connectInProgress;
+ sslConn.emplace(conn, ctx);
@@ -83,10 +82,10 @@ index feabbba..aaf1b2d 100644
+ };
conn.expires_after(std::chrono::seconds(30));
- conn.async_connect(
-- endPoints, [self(shared_from_this())](
-- const boost::beast::error_code ec,
-- const boost::asio::ip::tcp::endpoint& endpoint) {
-+ conn.async_connect(endPoints, std::move(respHandler));
+- endpointList, [self(shared_from_this())](
+- const boost::beast::error_code ec,
+- const boost::asio::ip::tcp::endpoint& endpoint) {
++ conn.async_connect(endpointList, std::move(respHandler));
+ }
+
+ void performHandshake()
@@ -113,7 +112,7 @@ index feabbba..aaf1b2d 100644
self->state = ConnState::connected;
self->handleConnState();
});
-@@ -135,106 +169,159 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -132,132 +166,187 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
void sendMessage(const std::string& data)
{
@@ -125,6 +124,19 @@ index feabbba..aaf1b2d 100644
req.body() = data;
req.prepare_payload();
+- // Set a timeout on the operation
+- conn.expires_after(std::chrono::seconds(30));
++ auto respHandler = [self(shared_from_this())](
++ const boost::beast::error_code ec,
++ const std::size_t& bytesTransferred) {
++ if (ec)
++ {
++ BMCWEB_LOG_ERROR << "sendMessage() failed: " << ec.message();
++ self->state = ConnState::sendFailed;
++ self->handleConnState();
++ return;
++ }
+
- // Send the HTTP request to the remote host
- boost::beast::http::async_write(
- conn, req,
@@ -141,26 +153,15 @@ index feabbba..aaf1b2d 100644
- BMCWEB_LOG_DEBUG << "sendMessage() bytes transferred: "
- << bytesTransferred;
- boost::ignore_unused(bytesTransferred);
-+ auto respHandler = [self(shared_from_this())](
-+ const boost::beast::error_code ec,
-+ const std::size_t& bytesTransferred) {
-+ if (ec)
-+ {
-+ BMCWEB_LOG_ERROR << "sendMessage() failed: " << ec.message();
-+ self->state = ConnState::sendFailed;
-+ self->handleConnState();
-+ return;
-+ }
-
-- self->recvMessage();
-- });
-- }
+ BMCWEB_LOG_DEBUG << "sendMessage() bytes transferred: "
+ << bytesTransferred;
+ boost::ignore_unused(bytesTransferred);
+ self->recvMessage();
+ };
+- self->recvMessage();
+- });
++ // Set a timeout on the operation
+ conn.expires_after(std::chrono::seconds(30));
+ if (sslConn)
+ {
@@ -171,7 +172,8 @@ index feabbba..aaf1b2d 100644
+ {
+ boost::beast::http::async_write(conn, req, std::move(respHandler));
+ }
-+ }
+ }
+-
void recvMessage()
{
state = ConnState::recvInProgress;
@@ -191,6 +193,33 @@ index feabbba..aaf1b2d 100644
+ BMCWEB_LOG_DEBUG << "recvMessage() bytes transferred: "
+ << bytesTransferred;
+ boost::ignore_unused(bytesTransferred);
++
++ // Check if the response and header are received
++ if (!self->parser->is_done())
++ {
++ // The parser failed to receive the response
++ BMCWEB_LOG_ERROR
++ << "recvMessage() parser failed to receive response";
++ self->state = ConnState::recvFailed;
++ self->handleConnState();
++ return;
++ }
++
++ unsigned int respCode = self->parser->get().result_int();
++ BMCWEB_LOG_DEBUG << "recvMessage() Header Response Code: "
++ << respCode;
++
++ // 2XX response is considered to be successful
++ if ((respCode < 200) || (respCode >= 300))
++ {
++ // The listener failed to receive the Sent-Event
++ BMCWEB_LOG_ERROR << "recvMessage() Listener Failed to "
++ "receive Sent-Event";
++ self->state = ConnState::recvFailed;
++ self->handleConnState();
++ return;
++ }
++
+ // Send is successful, Lets remove data from queue
+ // check for next request data in queue.
+ if (!self->requestDataQueue.empty())
@@ -271,34 +300,56 @@ index feabbba..aaf1b2d 100644
- BMCWEB_LOG_DEBUG << "recvMessage() data: "
- << self->parser->get();
-
-- // Send is successful, Lets remove data from queue
-- // check for next request data in queue.
-- if (!self->requestDataQueue.empty())
+- // Check if the response and header are received
+- if (!self->parser->is_done())
+ else
{
-- self->requestDataQueue.pop_front();
+- // The parser failed to receive the response
+- BMCWEB_LOG_ERROR
+- << "recvMessage() parser failed to receive response";
+- self->state = ConnState::recvFailed;
+- self->handleConnState();
+- return;
+ BMCWEB_LOG_DEBUG << "Connection closed gracefully...";
}
-- self->state = ConnState::idle;
+ self->conn.close();
+- unsigned int respCode = self->parser->get().result_int();
+- BMCWEB_LOG_DEBUG << "recvMessage() Header Response Code: "
+- << respCode;
+-
+- // 2XX response is considered to be successful
+- if ((respCode < 200) || (respCode >= 300))
++ if ((self->state != ConnState::suspended) &&
++ (self->state != ConnState::terminated))
+ {
+- // The listener failed to receive the Sent-Event
+- BMCWEB_LOG_ERROR << "recvMessage() Listener Failed to "
+- "receive Sent-Event";
+- self->state = ConnState::recvFailed;
++ self->state = ConnState::closed;
+ self->handleConnState();
+- return;
+ }
+-
+- // Send is successful, Lets remove data from queue
+- // check for next request data in queue.
+- if (!self->requestDataQueue.empty())
+- {
+- self->requestDataQueue.pop_front();
+- }
+- self->state = ConnState::idle;
+-
- // Keep the connection alive if server supports it
- // Else close the connection
- BMCWEB_LOG_DEBUG << "recvMessage() keepalive : "
- << self->parser->keep_alive();
- if (!self->parser->keep_alive())
-+ if ((self->state != ConnState::suspended) &&
-+ (self->state != ConnState::terminated))
- {
+- {
- // Abort the connection since server is not keep-alive
- // enabled
- self->state = ConnState::abortConnection;
-+ self->state = ConnState::closed;
-+ self->handleConnState();
- }
--
-- // Returns ownership of the parsed message
-- self->parser->release();
+- }
-
- self->handleConnState();
});
@@ -345,7 +396,7 @@ index feabbba..aaf1b2d 100644
}
}
-@@ -301,6 +388,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -330,6 +419,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
{
case ConnState::resolveInProgress:
case ConnState::connectInProgress:
@@ -353,7 +404,7 @@ index feabbba..aaf1b2d 100644
case ConnState::sendInProgress:
case ConnState::recvInProgress:
case ConnState::closeInProgress:
-@@ -332,6 +420,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -356,6 +446,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
}
case ConnState::resolveFailed:
case ConnState::connectFailed:
@@ -361,7 +412,7 @@ index feabbba..aaf1b2d 100644
case ConnState::sendFailed:
case ConnState::recvFailed:
case ConnState::retry:
-@@ -370,7 +459,8 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -394,7 +485,8 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
public:
explicit HttpClient(boost::asio::io_context& ioc, const std::string& id,
const std::string& destIP, const std::string& destPort,
@@ -371,7 +422,7 @@ index feabbba..aaf1b2d 100644
conn(ioc),
timer(ioc), req(boost::beast::http::verb::post, destUri, 11),
state(ConnState::initialized), subId(id), host(destIP), port(destPort),
-@@ -383,8 +473,11 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -407,8 +499,11 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
req.keep_alive(true);
requestDataQueue.set_capacity(maxRequestQueueSize);
@@ -385,10 +436,10 @@ index feabbba..aaf1b2d 100644
{
if ((state == ConnState::suspended) || (state == ConnState::terminated))
diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
-index a8f7517..d4a5bc5 100644
+index 08d0b98..f1ce0c0 100644
--- a/redfish-core/include/event_service_manager.hpp
+++ b/redfish-core/include/event_service_manager.hpp
-@@ -397,7 +397,7 @@ class Subscription
+@@ -385,7 +385,7 @@ class Subscription : public persistent_data::UserSubscription
{
conn = std::make_shared<crow::HttpClient>(
crow::connections::systemBus->get_io_context(), id, host, port,
@@ -398,4 +449,5 @@ index a8f7517..d4a5bc5 100644
Subscription(const std::shared_ptr<boost::beast::tcp_stream>& adaptor) :
--
-2.25.1
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch
index da281467e..ea521a7e4 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch
@@ -1,4 +1,4 @@
-From 54bdd897bd416fef4c043224b398b1b6d47fd271 Mon Sep 17 00:00:00 2001
+From d7a2660f200c38e74bfcbfe55b8da1b8bed08833 Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Fri, 12 Mar 2021 18:53:25 +0000
Subject: [PATCH] Add Server-Sent-Events support
@@ -21,47 +21,37 @@ Tested:
Change-Id: I36956565cbba30c2007852c9471f477f6d1736e9
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
---
- http/http_connection.hpp | 14 +-
+ http/http_connection.hpp | 10 +-
http/http_response.hpp | 7 +-
http/routing.hpp | 71 ++++++++++
http/server_sent_event.hpp | 279 +++++++++++++++++++++++++++++++++++++
- 4 files changed, 365 insertions(+), 6 deletions(-)
+ 4 files changed, 362 insertions(+), 5 deletions(-)
create mode 100644 http/server_sent_event.hpp
diff --git a/http/http_connection.hpp b/http/http_connection.hpp
-index a1a7045..90535c5 100644
+index 8e53afa..a1bbfce 100644
--- a/http/http_connection.hpp
+++ b/http/http_connection.hpp
-@@ -331,7 +331,7 @@ class Connection :
- BMCWEB_LOG_INFO << "Request: "
- << " " << this << " HTTP/" << req->version() / 10 << "."
- << req->version() % 10 << ' ' << req->methodString()
-- << " " << req->target() << " " << req->ipAddress;
-+ << " " << req->url << " " << req->ipAddress;
+@@ -378,11 +378,13 @@ class Connection :
+ [self] { self->completeRequest(); });
+ });
- needToCallAfterHandlers = false;
-
-@@ -350,11 +350,15 @@ class Connection :
- boost::asio::post(self->adaptor.get_executor(),
- [self] { self->completeRequest(); });
- });
-- if (req->isUpgrade() &&
-- boost::iequals(
-- req->getHeaderValue(boost::beast::http::field::upgrade),
-- "websocket"))
-+
-+ if ((req->isUpgrade() &&
-+ boost::iequals(req->getHeaderValue(
-+ boost::beast::http::field::upgrade),
-+ "websocket")) ||
-+ (req->url == "/sse"))
- {
-+ BMCWEB_LOG_DEBUG << "Request: " << this
-+ << " is getting upgraded";
- handler->handleUpgrade(*req, res, std::move(adaptor));
- // delete lambda with self shared_ptr
- // to enable connection destruction
+- if (thisReq.isUpgrade() &&
+- boost::iequals(
+- thisReq.getHeaderValue(boost::beast::http::field::upgrade),
+- "websocket"))
++ if ((thisReq.isUpgrade() &&
++ boost::iequals(
++ thisReq.getHeaderValue(boost::beast::http::field::upgrade),
++ "websocket")) ||
++ (req->url == "/sse"))
+ {
++ BMCWEB_LOG_DEBUG << "Request: " << this << " is getting upgraded";
+ handler->handleUpgrade(thisReq, res, std::move(adaptor));
+ // delete lambda with self shared_ptr
+ // to enable connection destruction
diff --git a/http/http_response.hpp b/http/http_response.hpp
index a983d4a..07b0265 100644
--- a/http/http_response.hpp
@@ -93,7 +83,7 @@ index a983d4a..07b0265 100644
// In case of a JSON object, set the Content-Type header
void jsonMode()
diff --git a/http/routing.hpp b/http/routing.hpp
-index d2a10b2..25e4ce8 100644
+index 5d9c8e3..bfff107 100644
--- a/http/routing.hpp
+++ b/http/routing.hpp
@@ -6,6 +6,7 @@
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0005-Add-SSE-style-subscription-support-to-eventservice.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0005-Add-SSE-style-subscription-support-to-eventservice.patch
index 42a1ebbf0..ee69081ef 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0005-Add-SSE-style-subscription-support-to-eventservice.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0005-Add-SSE-style-subscription-support-to-eventservice.patch
@@ -1,4 +1,4 @@
-From 36c1391749e19e4a25ca6e57d369457f48e6bb11 Mon Sep 17 00:00:00 2001
+From 799e47842e179f7c752712004f0e96d3219eee11 Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Tue, 16 Mar 2021 15:37:24 +0000
Subject: [PATCH] Add SSE style subscription support to eventservice
@@ -18,33 +18,33 @@ Tested:
response.
- Ran RedfishValidation and its passed.
-Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
-Signed-off-by: Nitin Wankhade <nitinx.arunrao.wankhade@intel.com>
Change-Id: I7f4b7a34974080739c4ba968ed570489af0474de
+Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
---
http/http_connection.hpp | 2 +-
include/eventservice_sse.hpp | 75 +++++
- .../include/event_service_manager.hpp | 111 +++++--
+ .../include/event_service_manager.hpp | 109 +++++--
redfish-core/include/server_sent_events.hpp | 290 ------------------
redfish-core/lib/event_service.hpp | 8 +-
src/webserver_main.cpp | 2 +
- 6 files changed, 165 insertions(+), 323 deletions(-)
+ 6 files changed, 164 insertions(+), 322 deletions(-)
create mode 100644 include/eventservice_sse.hpp
delete mode 100644 redfish-core/include/server_sent_events.hpp
diff --git a/http/http_connection.hpp b/http/http_connection.hpp
-index 90535c5..37c0a0b 100644
+index a1bbfce..2d08501 100644
--- a/http/http_connection.hpp
+++ b/http/http_connection.hpp
-@@ -355,7 +355,7 @@ class Connection :
- boost::iequals(req->getHeaderValue(
- boost::beast::http::field::upgrade),
- "websocket")) ||
-- (req->url == "/sse"))
-+ (req->url == "/redfish/v1/EventService/Subscriptions/SSE"))
- {
- BMCWEB_LOG_DEBUG << "Request: " << this
- << " is getting upgraded";
+@@ -382,7 +382,7 @@ class Connection :
+ boost::iequals(
+ thisReq.getHeaderValue(boost::beast::http::field::upgrade),
+ "websocket")) ||
+- (req->url == "/sse"))
++ (req->url == "/redfish/v1/EventService/Subscriptions/SSE"))
+ {
+ BMCWEB_LOG_DEBUG << "Request: " << this << " is getting upgraded";
+ handler->handleUpgrade(thisReq, res, std::move(adaptor));
diff --git a/include/eventservice_sse.hpp b/include/eventservice_sse.hpp
new file mode 100644
index 0000000..14daf00
@@ -127,7 +127,7 @@ index 0000000..14daf00
+} // namespace eventservice_sse
+} // namespace redfish
diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
-index ca46aa7..9397271 100644
+index 3f398d7..dd833ce 100644
--- a/redfish-core/include/event_service_manager.hpp
+++ b/redfish-core/include/event_service_manager.hpp
@@ -22,15 +22,17 @@
@@ -217,23 +217,23 @@ index ca46aa7..9397271 100644
~Subscription() = default;
-@@ -412,13 +412,14 @@ class Subscription : public persistent_data::UserSubscription
- }
- conn->addHeaders(reqHeaders);
- conn->sendData(msg);
-- this->eventSeqNum++;
- }
+@@ -417,7 +417,7 @@ class Subscription : public persistent_data::UserSubscription
if (sseConn != nullptr)
{
- sseConn->sendData(eventSeqNum, msg);
+ sseConn->sendEvent(std::to_string(eventSeqNum), msg);
}
-+
+ }
+
+@@ -508,6 +508,7 @@ class Subscription : public persistent_data::UserSubscription
+
+ this->sendEvent(
+ msg.dump(2, ' ', true, nlohmann::json::error_handler_t::replace));
+ this->eventSeqNum++;
}
+ #endif
- void sendTestEventLog()
@@ -578,14 +579,39 @@ class Subscription : public persistent_data::UserSubscription
return eventSeqNum;
}
@@ -622,7 +622,7 @@ index 7613d7b..0000000
-
-} // namespace crow
diff --git a/redfish-core/lib/event_service.hpp b/redfish-core/lib/event_service.hpp
-index 67ad014..f8a2dac 100644
+index 8609862..249e594 100644
--- a/redfish-core/lib/event_service.hpp
+++ b/redfish-core/lib/event_service.hpp
@@ -37,8 +37,6 @@ static constexpr const std::array<const char*, 1> supportedResourceTypes = {
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0006-Add-EventService-SSE-filter-support.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0006-Add-EventService-SSE-filter-support.patch
index 9043bd0b9..3914cc81a 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0006-Add-EventService-SSE-filter-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0006-Add-EventService-SSE-filter-support.patch
@@ -1,4 +1,4 @@
-From 22c6b6cfb468f8de9ff3ea051dffdba05778645e Mon Sep 17 00:00:00 2001
+From 769f0e20d0a7e786d7091ffb7ee57d35204dfa28 Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Wed, 17 Mar 2021 01:16:50 +0000
Subject: [PATCH] Add EventService SSE filter support
@@ -41,7 +41,7 @@ Change-Id: I55c6f53bb5e57aa1f2d1601f1a16525a33b13bd2
5 files changed, 181 insertions(+), 9 deletions(-)
diff --git a/include/eventservice_sse.hpp b/include/eventservice_sse.hpp
-index 14daf00..2f22f98 100644
+index 14daf00..fed7fec 100644
--- a/include/eventservice_sse.hpp
+++ b/include/eventservice_sse.hpp
@@ -23,16 +23,153 @@ static bool createSubscription(std::shared_ptr<crow::SseConnection>& conn,
@@ -203,7 +203,7 @@ index 14daf00..2f22f98 100644
std::string id =
redfish::EventServiceManager::getInstance().addSubscription(subValue,
diff --git a/redfish-core/include/error_messages.hpp b/redfish-core/include/error_messages.hpp
-index 10567d1..f29e326 100644
+index 3d11cc4..90084e3 100644
--- a/redfish-core/include/error_messages.hpp
+++ b/redfish-core/include/error_messages.hpp
@@ -971,6 +971,15 @@ nlohmann::json mutualExclusiveProperties(const std::string& arg1,
@@ -223,10 +223,10 @@ index 10567d1..f29e326 100644
} // namespace redfish
diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
-index 5886d81..c3e7f61 100644
+index dd833ce..861f4cb 100644
--- a/redfish-core/include/event_service_manager.hpp
+++ b/redfish-core/include/event_service_manager.hpp
-@@ -56,6 +56,11 @@ static constexpr const char* eventServiceFile =
+@@ -55,6 +55,11 @@ static constexpr const char* eventServiceFile =
static constexpr const uint8_t maxNoOfSubscriptions = 20;
static constexpr const uint8_t maxNoOfSSESubscriptions = 10;
@@ -239,10 +239,10 @@ index 5886d81..c3e7f61 100644
static std::optional<boost::asio::posix::stream_descriptor> inotifyConn;
static constexpr const char* redfishEventLogDir = "/var/log";
diff --git a/redfish-core/lib/event_service.hpp b/redfish-core/lib/event_service.hpp
-index 2e7c3f3..9def549 100644
+index 249e594..6f01707 100644
--- a/redfish-core/lib/event_service.hpp
+++ b/redfish-core/lib/event_service.hpp
-@@ -25,11 +25,6 @@
+@@ -21,11 +21,6 @@
namespace redfish
{
@@ -255,10 +255,10 @@ index 2e7c3f3..9def549 100644
"TerminateAfterRetries", "SuspendRetries", "RetryForever"};
diff --git a/redfish-core/src/error_messages.cpp b/redfish-core/src/error_messages.cpp
-index 48edaf1..bebb6d8 100644
+index 9c28e8f..2394398 100644
--- a/redfish-core/src/error_messages.cpp
+++ b/redfish-core/src/error_messages.cpp
-@@ -2174,6 +2174,32 @@ void mutualExclusiveProperties(crow::Response& res, const std::string& arg1,
+@@ -2173,6 +2173,32 @@ void mutualExclusiveProperties(crow::Response& res, const std::string& arg1,
addMessageToErrorJson(res.jsonValue, mutualExclusiveProperties(arg1, arg2));
}
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0010-Remove-Terminated-Event-Subscriptions.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0010-Remove-Terminated-Event-Subscriptions.patch
index 7fcc235d2..9af5a066b 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0010-Remove-Terminated-Event-Subscriptions.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0010-Remove-Terminated-Event-Subscriptions.patch
@@ -1,6 +1,6 @@
-From adaa5cb4c494148430b90edb248260eb2e66bca7 Mon Sep 17 00:00:00 2001
-From: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
-Date: Wed, 8 Sep 2021 15:42:52 +0530
+From f665ba085bb2310f008b7534f827fb401ad973c2 Mon Sep 17 00:00:00 2001
+From: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
+Date: Tue, 12 Oct 2021 08:19:51 +0000
Subject: [PATCH] Delete/Remove Terminated Event Subscription(s)
Added functionality to delete/remove event subscription(s) which are
@@ -23,14 +23,14 @@ Change-Id: If447acb2db74fb29a5d1cfe6194b77cda82bc8a1
Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
---
http/http_client.hpp | 43 +++++++++++++++----
- .../include/event_service_manager.hpp | 37 ++++++++++++++++
- 2 files changed, 71 insertions(+), 9 deletions(-)
+ .../include/event_service_manager.hpp | 36 ++++++++++++++++
+ 2 files changed, 70 insertions(+), 9 deletions(-)
diff --git a/http/http_client.hpp b/http/http_client.hpp
-index aaf1b2d..4f62c40 100644
+index 5e7ff47..54ae2c3 100644
--- a/http/http_client.hpp
+++ b/http/http_client.hpp
-@@ -56,6 +56,8 @@ enum class ConnState
+@@ -55,6 +55,8 @@ enum class ConnState
closeInProgress,
closed,
suspended,
@@ -39,7 +39,7 @@ index aaf1b2d..4f62c40 100644
terminated,
abortConnection,
retry
-@@ -263,7 +265,14 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -288,7 +290,14 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
}
void doClose()
{
@@ -55,7 +55,7 @@ index aaf1b2d..4f62c40 100644
// Set the timeout on the tcp stream socket for the async operation
conn.expires_after(std::chrono::seconds(30));
-@@ -293,8 +302,11 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -318,8 +327,11 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
}
self->conn.close();
@@ -69,7 +69,7 @@ index aaf1b2d..4f62c40 100644
{
self->state = ConnState::closed;
self->handleConnState();
-@@ -316,8 +328,11 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -341,8 +353,11 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
}
conn.close();
@@ -83,7 +83,7 @@ index aaf1b2d..4f62c40 100644
{
state = ConnState::closed;
handleConnState();
-@@ -340,8 +355,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -365,8 +380,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
BMCWEB_LOG_DEBUG << "Retry policy: " << retryPolicyAction;
if (retryPolicyAction == "TerminateAfterRetries")
{
@@ -93,7 +93,7 @@ index aaf1b2d..4f62c40 100644
}
if (retryPolicyAction == "SuspendRetries")
{
-@@ -392,6 +406,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -423,6 +437,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
case ConnState::sendInProgress:
case ConnState::recvInProgress:
case ConnState::closeInProgress:
@@ -101,7 +101,7 @@ index aaf1b2d..4f62c40 100644
{
BMCWEB_LOG_DEBUG << "Async operation is already in progress";
break;
-@@ -413,7 +428,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -439,7 +454,7 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
break;
}
case ConnState::suspended:
@@ -110,7 +110,7 @@ index aaf1b2d..4f62c40 100644
{
doClose();
break;
-@@ -480,7 +495,8 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -506,7 +521,8 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
}
void sendData(const std::string& data)
{
@@ -120,7 +120,7 @@ index aaf1b2d..4f62c40 100644
{
return;
}
-@@ -489,6 +505,15 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+@@ -524,6 +540,15 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
return;
}
@@ -137,7 +137,7 @@ index aaf1b2d..4f62c40 100644
const std::vector<std::pair<std::string, std::string>>& httpHeaders)
{
diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
-index 8d7067b..79618f6 100644
+index 6f60a31..363adb0 100644
--- a/redfish-core/include/event_service_manager.hpp
+++ b/redfish-core/include/event_service_manager.hpp
@@ -591,6 +591,14 @@ class Subscription : public persistent_data::UserSubscription
@@ -254,5 +254,5 @@ index 8d7067b..79618f6 100644
{
std::shared_ptr<Subscription> entry = it.second;
--
-2.17.1
+2.25.1
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0011-Fix-bmcweb-crash-while-deleting-terminated-subscriptions.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0011-Fix-bmcweb-crash-while-deleting-terminated-subscriptions.patch
new file mode 100644
index 000000000..585f7bf09
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0011-Fix-bmcweb-crash-while-deleting-terminated-subscriptions.patch
@@ -0,0 +1,141 @@
+From 5b87bb61b58e92a8c5af37a7959347747409a65c Mon Sep 17 00:00:00 2001
+From: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+Date: Thu, 14 Oct 2021 02:56:11 +0530
+Subject: [PATCH] Fix bmcweb crash while deleting terminated subscriptions
+
+This commit fixes bmcweb crash while deleting the terminated
+subscriptions. In the earlier implementation, detection of subscription
+to be deleted and the deletion(erase) was happening in the same loop.
+Due to this, if the Subscription to be deleted is the last one in the
+list, the loop will enter into infinite loop. The fix is to keep the
+detection and deletion loop separate.
+Also, this commit adds code to :
+ - Delete from persistent storage
+ - Add journal entry for deleted entry
+ - update number of subcribers and update persistent storage.
+
+Apart from this, this commit also moves the retry timer check to the top
+to avoid multiple calls to close when the retry count is 3 and timer is
+running.
+
+Tested:
+ - Checked journal logs to confirm each retry is actually spanned to be
+ 30 secs
+ - Verified Journal entry for deleted subscription after retires.
+ - Verified Event service functionality by making three subscriptions:
+ retry for ever, terminate after retires and suspend after retries.
+
+Change-Id: I425a6c749923ce86c457a36394deb0fbbee232db
+Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+---
+ http/http_client.hpp | 11 ++--
+ .../include/event_service_manager.hpp | 59 ++++++++++++++++---
+ 2 files changed, 58 insertions(+), 12 deletions(-)
+
+diff --git a/http/http_client.hpp b/http/http_client.hpp
+index 54ae2c3..162cb09 100644
+--- a/http/http_client.hpp
++++ b/http/http_client.hpp
+@@ -367,6 +367,12 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+
+ void waitAndRetry()
+ {
++ if (runningTimer)
++ {
++ BMCWEB_LOG_DEBUG << "Retry timer is already running.";
++ return;
++ }
++
+ if (retryCount >= maxRetryAttempts)
+ {
+ BMCWEB_LOG_ERROR << "Maximum number of retries reached.";
+@@ -393,11 +399,6 @@ class HttpClient : public std::enable_shared_from_this<HttpClient>
+ return;
+ }
+
+- if (runningTimer)
+- {
+- BMCWEB_LOG_DEBUG << "Retry timer is already running.";
+- return;
+- }
+ runningTimer = true;
+
+ retryCount++;
+diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
+index 363adb0..7af7a4d 100644
+--- a/redfish-core/include/event_service_manager.hpp
++++ b/redfish-core/include/event_service_manager.hpp
+@@ -857,18 +857,63 @@ class EventServiceManager
+
+ void deleteTerminatedSubcriptions()
+ {
+- boost::container::flat_map<std::string,
+- std::shared_ptr<Subscription>>::iterator it =
+- subscriptionsMap.begin();
+- while (it != subscriptionsMap.end())
++ BMCWEB_LOG_ERROR << "Map size Before Delete : "
++ << subscriptionsMap.size();
++
++ std::vector<std::string> deleteIds;
++
++ // Determine Subscription ID's to be deleted.
++ for (const auto& it : subscriptionsMap)
+ {
+- std::shared_ptr<Subscription> entry = it->second;
++ std::shared_ptr<Subscription> entry = it.second;
+ if (entry->isTerminated())
+ {
+- subscriptionsMap.erase(it);
++ deleteIds.emplace_back(it.first);
++ }
++ }
++
++ // Delete the Terminated Subcriptions
++ for (std::string& id : deleteIds)
++ {
++ auto map1 = subscriptionsMap.find(id);
++ if (map1 != subscriptionsMap.end())
++ {
++ subscriptionsMap.erase(map1);
++ auto map2 = persistent_data::EventServiceStore::getInstance()
++ .subscriptionsConfigMap.find(id);
++ if (map2 != persistent_data::EventServiceStore::getInstance()
++ .subscriptionsConfigMap.end())
++ {
++ persistent_data::EventServiceStore::getInstance()
++ .subscriptionsConfigMap.erase(map2);
++ }
++ else
++ {
++ BMCWEB_LOG_ERROR << "Couldn't find ID: " << id
++ << " in subscriptionsConfigMap";
++ }
++
++ /* Log event for subscription delete. */
++ sd_journal_send("MESSAGE=Event subscription removed.(Id = %s)",
++ id.c_str(), "PRIORITY=%i", LOG_INFO,
++ "REDFISH_MESSAGE_ID=%s",
++ "OpenBMC.0.1.EventSubscriptionRemoved",
++ "REDFISH_MESSAGE_ARGS=%s", id.c_str(), NULL);
++ }
++ else
++ {
++ BMCWEB_LOG_ERROR << "Couldn't find ID: " << id
++ << " in subscriptionsMap";
+ }
+- it++;
+ }
++ if (deleteIds.size())
++ {
++ updateNoOfSubscribersCount();
++ persistSubscriptionData();
++ }
++
++ BMCWEB_LOG_ERROR << "Map size After Delete : "
++ << subscriptionsMap.size();
+ }
+
+ void updateNoOfSubscribersCount()
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/README b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/README
index cd2e1c2bc..c09967456 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/README
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/README
@@ -3,26 +3,32 @@ the upstream patches. These will be remove as soon as
thee gets merged upstream.
Upstream revision information:
- - EventService : Fix retry handling for http-client
- https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/40731/21
+ - EventService : Add unmerged changes for http retry support (Downstream patch)
+ file://eventservice/0001-Add-unmerged-changes-for-http-retry-support.patch
- EventService: https client support
- https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/31735/40
+ https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/31735/40 (Rebased on latest bmcweb)
- Add Server-Sent-Events support
- https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/41258/7
+ https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/41258/9
- Add SSE style subscription support to eventservice
- https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/41319/8
+ https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/41319/10
- Add EventService SSE filter support
- https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/41349/5
+ https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/41349/7 (Modified boost::urls::query_params_view to boost::urls::url_view::params_type)
- - EventService Log events for subscription actions
- file://telemetry/0007-EventService-Log-events-for-subscription-actions.patch
+ - EventService Log events for subscription actions (Downstream patch)
+ file://eventservice/0007-EventService-Log-events-for-subscription-actions.patch
- - Add checks on Event-Subscription input parameters
- file://telemetry/0008-Add-checks-on-Event-Subscription-input-parameters.patch
+ - Add checks on Event-Subscription input parameters (Downstream patch)
+ file://eventservice//0008-Add-checks-on-Event-Subscription-input-parameters.patch
- Restructure Redifsh EventLog Transmit code flow
- file://telemetry/0009-Restructure-Redifsh-EventLog-Transmit-code-flow.patch
+ https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/44449/3
+
+ - Remove Terminated Event Subscriptions (Downstream patch)
+ file://eventservice/0010-Remove-Terminated-Event-Subscriptions.patch
+
+ - Fix bmcweb crash while deleting terminated subscriptions (Downstream patch)
+ file://eventservice/0011-Fix-bmcweb-crash-while-deleting-terminated-subscriptions.patch
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0001-Add-asyncResp-support-during-handleUpgrade.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0001-Add-asyncResp-support-during-handleUpgrade.patch
new file mode 100644
index 000000000..b3aa11774
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0001-Add-asyncResp-support-during-handleUpgrade.patch
@@ -0,0 +1,202 @@
+From f2c3271c8eb405a05a3ec383791e1adc3c4a7f86 Mon Sep 17 00:00:00 2001
+From: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+Date: Mon, 18 Oct 2021 22:45:37 +0530
+Subject: [PATCH] Add asyncResp support during handleUpgrade
+
+The current implementation uses the earlier method of using the response
+object and calling response.end() to initiate completion handler.
+This commit modifies the implementation to use asyncResp, where the
+completion handler gets called asynchronously as the response object
+goes out of scope.
+
+Tested :
+ - websocket_test.py Passed
+ - KVM was functional in WebUI.
+ - POST to /redfish/v1/EventService/Subscriptions/SSE returned an error
+ message as expected and the connection was kept alive.
+ - GET on /redfish/v1/EventService/Subscriptions/SSE (SSE subscription)
+ was successful. The existing connection was successfully closed and
+ upgraded to SSE connection.
+
+Change-Id: I2d76b34a49a6432c507d939b21b37c1ced761f8e
+Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+---
+ http/app.hpp | 6 ++++--
+ http/http_connection.hpp | 30 +++++++++++++++++++++++++-----
+ http/routing.hpp | 37 +++++++++++++++++++++----------------
+ 3 files changed, 50 insertions(+), 23 deletions(-)
+
+diff --git a/http/app.hpp b/http/app.hpp
+index 4735197..c46dcf7 100644
+--- a/http/app.hpp
++++ b/http/app.hpp
+@@ -45,9 +45,11 @@ class App
+ }
+
+ template <typename Adaptor>
+- void handleUpgrade(const Request& req, Response& res, Adaptor&& adaptor)
++ void handleUpgrade(const Request& req,
++ const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
++ Adaptor&& adaptor)
+ {
+- router.handleUpgrade(req, res, std::move(adaptor));
++ router.handleUpgrade(req, asyncResp, std::move(adaptor));
+ }
+
+ void handle(Request& req,
+diff --git a/http/http_connection.hpp b/http/http_connection.hpp
+index 9d53c17..cdd3707 100644
+--- a/http/http_connection.hpp
++++ b/http/http_connection.hpp
+@@ -361,6 +361,7 @@ class Connection :
+ boost::asio::post(self->adaptor.get_executor(),
+ [self] { self->completeRequest(); });
+ });
++ auto asyncResp = std::make_shared<bmcweb::AsyncResp>(res);
+
+ if ((thisReq.isUpgrade() &&
+ boost::iequals(
+@@ -369,13 +370,32 @@ class Connection :
+ (req->url == "/redfish/v1/EventService/Subscriptions/SSE"))
+ {
+ BMCWEB_LOG_DEBUG << "Request: " << this << " is getting upgraded";
+- handler->handleUpgrade(thisReq, res, std::move(adaptor));
+- // delete lambda with self shared_ptr
+- // to enable connection destruction
+- res.setCompleteRequestHandler(nullptr);
++ res.setCompleteRequestHandler([self(shared_from_this())] {
++ if (self->res.resultInt() != 200)
++ {
++ // When any error occurs during handle upgradation,
++ // the result in response will be set to respective
++ // error. By default the Result will be OK (200),
++ // which implies successful handle upgrade. Response
++ // needs to be sent over this connection only on
++ // failure.
++ boost::asio::post(self->adaptor.get_executor(),
++ [self] { self->completeRequest(); });
++ }
++ else
++ {
++ // Set Complete request handler to NULL to remove
++ // the shared pointer of connection to enable
++ // connection destruction. As the connection would
++ // get upgraded, we wouldn't need this connection
++ // any longer
++ self->res.setCompleteRequestHandler(nullptr);
++ }
++ });
++ handler->handleUpgrade(thisReq, asyncResp, std::move(adaptor));
+ return;
+ }
+- auto asyncResp = std::make_shared<bmcweb::AsyncResp>(res);
++
+ handler->handle(thisReq, asyncResp);
+ }
+
+diff --git a/http/routing.hpp b/http/routing.hpp
+index 25e4ce8..858f146 100644
+--- a/http/routing.hpp
++++ b/http/routing.hpp
+@@ -1202,12 +1202,13 @@ class Router
+ }
+
+ template <typename Adaptor>
+- void handleUpgrade(const Request& req, Response& res, Adaptor&& adaptor)
++ void handleUpgrade(const Request& req,
++ const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
++ Adaptor&& adaptor)
+ {
+ if (static_cast<size_t>(req.method()) >= perMethods.size())
+ {
+- res.result(boost::beast::http::status::not_found);
+- res.end();
++ asyncResp->res.result(boost::beast::http::status::not_found);
+ return;
+ }
+
+@@ -1220,8 +1221,7 @@ class Router
+ if (!ruleIndex)
+ {
+ BMCWEB_LOG_DEBUG << "Cannot match rules " << req.url;
+- res.result(boost::beast::http::status::not_found);
+- res.end();
++ asyncResp->res.result(boost::beast::http::status::not_found);
+ return;
+ }
+
+@@ -1234,23 +1234,24 @@ class Router
+ {
+ BMCWEB_LOG_INFO << "Redirecting to a url with trailing slash: "
+ << req.url;
+- res.result(boost::beast::http::status::moved_permanently);
++ asyncResp->res.result(
++ boost::beast::http::status::moved_permanently);
+
+ // TODO absolute url building
+ if (req.getHeaderValue("Host").empty())
+ {
+- res.addHeader("Location", std::string(req.url) + "/");
++ asyncResp->res.addHeader("Location",
++ std::string(req.url) + "/");
+ }
+ else
+ {
+- res.addHeader(
++ asyncResp->res.addHeader(
+ "Location",
+ req.isSecure
+ ? "https://"
+ : "http://" + std::string(req.getHeaderValue("Host")) +
+ std::string(req.url) + "/");
+ }
+- res.end();
+ return;
+ }
+
+@@ -1261,8 +1262,7 @@ class Router
+ << " with " << req.methodString() << "("
+ << static_cast<uint32_t>(req.method()) << ") / "
+ << rules[ruleIndex]->getMethods();
+- res.result(boost::beast::http::status::not_found);
+- res.end();
++ asyncResp->res.result(boost::beast::http::status::not_found);
+ return;
+ }
+
+@@ -1273,13 +1273,18 @@ class Router
+ // any uncaught exceptions become 500s
+ try
+ {
+- rules[ruleIndex]->handleUpgrade(req, res, std::move(adaptor));
++ // Creating temporary response object to call handleUpgrade
++ // We cannot pass the asyncResp as it will be destroyed
++ // The response object is not initialized as handleUpgrade wouldn't
++ // be using this object
++ crow::Response resp;
++ rules[ruleIndex]->handleUpgrade(req, resp, std::move(adaptor));
+ }
+ catch (std::exception& e)
+ {
+ BMCWEB_LOG_ERROR << "An uncaught exception occurred: " << e.what();
+- res.result(boost::beast::http::status::internal_server_error);
+- res.end();
++ asyncResp->res.result(
++ boost::beast::http::status::internal_server_error);
+ return;
+ }
+ catch (...)
+@@ -1287,8 +1292,8 @@ class Router
+ BMCWEB_LOG_ERROR
+ << "An uncaught exception occurred. The type was unknown "
+ "so no information was available.";
+- res.result(boost::beast::http::status::internal_server_error);
+- res.end();
++ asyncResp->res.result(
++ boost::beast::http::status::internal_server_error);
+ return;
+ }
+ }
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0002-Move-privileges-to-separate-entity.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0002-Move-privileges-to-separate-entity.patch
new file mode 100644
index 000000000..1217147b4
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0002-Move-privileges-to-separate-entity.patch
@@ -0,0 +1,109 @@
+From 6483f0af926391e8d1f256ba0f23f3640260cfd1 Mon Sep 17 00:00:00 2001
+From: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+Date: Mon, 18 Oct 2021 22:52:17 +0530
+Subject: [PATCH] Move privileges to separate entity
+
+The privilege property of a rule is currently part of RuleParameterTraits
+structure. Moving this property (member function) out into a separate
+entity PrivilegeParameterTraits.
+This move is required to enable inheriting this entity into Weksockets
+and SseSockets.
+
+Tested:
+ - bmcweb is functional and is responding to Redfish URI's
+ - User Privilege check for URI's is functional.
+
+Change-Id: I288ab12258c15ae5a626f4409fc3b4a9cc574ea3
+Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+---
+ http/routing.hpp | 53 +++++++++++++++++++++++++++---------------------
+ 1 file changed, 30 insertions(+), 23 deletions(-)
+
+diff --git a/http/routing.hpp b/http/routing.hpp
+index 858f146..acc99dc 100644
+--- a/http/routing.hpp
++++ b/http/routing.hpp
+@@ -102,6 +102,8 @@ class BaseRule
+ friend class Router;
+ template <typename T>
+ friend struct RuleParameterTraits;
++ template <typename T>
++ friend struct PrivilegeParameterTraits;
+ };
+
+ namespace detail
+@@ -316,6 +318,33 @@ struct Wrapped
+ } // namespace routing_handler_call_helper
+ } // namespace detail
+
++template <typename T>
++struct PrivilegeParameterTraits
++{
++ using self_t = T;
++ self_t& privileges(
++ const std::initializer_list<std::initializer_list<const char*>>& p)
++ {
++ self_t* self = static_cast<self_t*>(this);
++ for (const std::initializer_list<const char*>& privilege : p)
++ {
++ self->privilegesSet.emplace_back(privilege);
++ }
++ return *self;
++ }
++
++ template <size_t N, typename... MethodArgs>
++ self_t& privileges(const std::array<redfish::Privileges, N>& p)
++ {
++ self_t* self = static_cast<self_t*>(this);
++ for (const redfish::Privileges& privilege : p)
++ {
++ self->privilegesSet.emplace_back(privilege);
++ }
++ return *self;
++ }
++};
++
+ class WebSocketRule : public BaseRule
+ {
+ using self_t = WebSocketRule;
+@@ -462,7 +491,7 @@ class SseSocketRule : public BaseRule
+ };
+
+ template <typename T>
+-struct RuleParameterTraits
++struct RuleParameterTraits : public PrivilegeParameterTraits<T>
+ {
+ using self_t = T;
+ WebSocketRule& websocket()
+@@ -503,28 +532,6 @@ struct RuleParameterTraits
+ self->methodsBitfield |= 1U << static_cast<size_t>(method);
+ return *self;
+ }
+-
+- self_t& privileges(
+- const std::initializer_list<std::initializer_list<const char*>>& p)
+- {
+- self_t* self = static_cast<self_t*>(this);
+- for (const std::initializer_list<const char*>& privilege : p)
+- {
+- self->privilegesSet.emplace_back(privilege);
+- }
+- return *self;
+- }
+-
+- template <size_t N, typename... MethodArgs>
+- self_t& privileges(const std::array<redfish::Privileges, N>& p)
+- {
+- self_t* self = static_cast<self_t*>(this);
+- for (const redfish::Privileges& privilege : p)
+- {
+- self->privilegesSet.emplace_back(privilege);
+- }
+- return *self;
+- }
+ };
+
+ class DynamicRule : public BaseRule, public RuleParameterTraits<DynamicRule>
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0003-Add-Support-for-privilege-check-in-handleUpgrade.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0003-Add-Support-for-privilege-check-in-handleUpgrade.patch
new file mode 100644
index 000000000..1ba584616
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0003-Add-Support-for-privilege-check-in-handleUpgrade.patch
@@ -0,0 +1,218 @@
+From aabe4718b8e6c1f7b91af29cbaf85d5fa1fa0a99 Mon Sep 17 00:00:00 2001
+From: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+Date: Mon, 18 Oct 2021 22:55:38 +0530
+Subject: [PATCH] Add Support for privilege check in handleUpgrade
+
+This commit enables privilege check for user(s) in case of upgraded
+connections.
+Currently users with no privileges will also be able to access
+Websockets connections (Ex: KVM).
+
+Tested:
+ - websocket_test.py Passed
+ - Admin and Operator users were able to access KVM on WebUI
+ - Readonly User was unable to access KVM on WebUI
+
+Change-Id: Id9d33aeca24d8fafb2e9dcc28c46a48930740cd6
+Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+---
+ http/app.hpp | 2 +-
+ http/routing.hpp | 162 +++++++++++++++++++++++++++++++++++++++--------
+ 2 files changed, 136 insertions(+), 28 deletions(-)
+
+diff --git a/http/app.hpp b/http/app.hpp
+index c46dcf7..dd51eee 100644
+--- a/http/app.hpp
++++ b/http/app.hpp
+@@ -45,7 +45,7 @@ class App
+ }
+
+ template <typename Adaptor>
+- void handleUpgrade(const Request& req,
++ void handleUpgrade(Request& req,
+ const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
+ Adaptor&& adaptor)
+ {
+diff --git a/http/routing.hpp b/http/routing.hpp
+index acc99dc..e2a8fbb 100644
+--- a/http/routing.hpp
++++ b/http/routing.hpp
+@@ -1209,7 +1209,7 @@ class Router
+ }
+
+ template <typename Adaptor>
+- void handleUpgrade(const Request& req,
++ void handleUpgrade(Request& req,
+ const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
+ Adaptor&& adaptor)
+ {
+@@ -1277,32 +1277,140 @@ class Router
+ << "' " << static_cast<uint32_t>(req.method()) << " / "
+ << rules[ruleIndex]->getMethods();
+
+- // any uncaught exceptions become 500s
+- try
+- {
+- // Creating temporary response object to call handleUpgrade
+- // We cannot pass the asyncResp as it will be destroyed
+- // The response object is not initialized as handleUpgrade wouldn't
+- // be using this object
+- crow::Response resp;
+- rules[ruleIndex]->handleUpgrade(req, resp, std::move(adaptor));
+- }
+- catch (std::exception& e)
+- {
+- BMCWEB_LOG_ERROR << "An uncaught exception occurred: " << e.what();
+- asyncResp->res.result(
+- boost::beast::http::status::internal_server_error);
+- return;
+- }
+- catch (...)
+- {
+- BMCWEB_LOG_ERROR
+- << "An uncaught exception occurred. The type was unknown "
+- "so no information was available.";
+- asyncResp->res.result(
+- boost::beast::http::status::internal_server_error);
+- return;
+- }
++ crow::connections::systemBus->async_method_call(
++ [&req, asyncResp, &rules, ruleIndex, &adaptor](
++ const boost::system::error_code ec,
++ std::map<std::string, std::variant<bool, std::string,
++ std::vector<std::string>>>
++ userInfo) {
++ if (ec)
++ {
++ BMCWEB_LOG_ERROR << "GetUserInfo failed...";
++ asyncResp->res.result(
++ boost::beast::http::status::internal_server_error);
++ return;
++ }
++
++ const std::string* userRolePtr = nullptr;
++ auto userInfoIter = userInfo.find("UserPrivilege");
++ if (userInfoIter != userInfo.end())
++ {
++ userRolePtr =
++ std::get_if<std::string>(&userInfoIter->second);
++ }
++
++ std::string userRole{};
++ if (userRolePtr != nullptr)
++ {
++ userRole = *userRolePtr;
++ BMCWEB_LOG_DEBUG << "userName = " << req.session->username
++ << " userRole = " << *userRolePtr;
++ }
++
++ bool* remoteUserPtr = nullptr;
++ auto remoteUserIter = userInfo.find("RemoteUser");
++ if (remoteUserIter != userInfo.end())
++ {
++ remoteUserPtr = std::get_if<bool>(&remoteUserIter->second);
++ }
++ if (remoteUserPtr == nullptr)
++ {
++ BMCWEB_LOG_ERROR
++ << "RemoteUser property missing or wrong type";
++ asyncResp->res.result(
++ boost::beast::http::status::internal_server_error);
++ return;
++ }
++ bool remoteUser = *remoteUserPtr;
++
++ bool passwordExpired = false; // default for remote user
++ if (!remoteUser)
++ {
++ bool* passwordExpiredPtr = nullptr;
++ auto passwordExpiredIter =
++ userInfo.find("UserPasswordExpired");
++ if (passwordExpiredIter != userInfo.end())
++ {
++ passwordExpiredPtr =
++ std::get_if<bool>(&passwordExpiredIter->second);
++ }
++ if (passwordExpiredPtr != nullptr)
++ {
++ passwordExpired = *passwordExpiredPtr;
++ }
++ else
++ {
++ BMCWEB_LOG_ERROR
++ << "UserPasswordExpired property is expected for"
++ " local user but is missing or wrong type";
++ asyncResp->res.result(
++ boost::beast::http::status::internal_server_error);
++ return;
++ }
++ }
++
++ // Get the userprivileges from the role
++ redfish::Privileges userPrivileges =
++ redfish::getUserPrivileges(userRole);
++
++ // Set isConfigureSelfOnly based on D-Bus results. This
++ // ignores the results from both pamAuthenticateUser and the
++ // value from any previous use of this session.
++ req.session->isConfigureSelfOnly = passwordExpired;
++
++ // Modifyprivileges if isConfigureSelfOnly.
++ if (req.session->isConfigureSelfOnly)
++ {
++ // Remove allprivileges except ConfigureSelf
++ userPrivileges = userPrivileges.intersection(
++ redfish::Privileges{"ConfigureSelf"});
++ BMCWEB_LOG_DEBUG << "Operation limited to ConfigureSelf";
++ }
++
++ if (!rules[ruleIndex]->checkPrivileges(userPrivileges))
++ {
++ asyncResp->res.result(
++ boost::beast::http::status::forbidden);
++ if (req.session->isConfigureSelfOnly)
++ {
++ redfish::messages::passwordChangeRequired(
++ asyncResp->res,
++ "/redfish/v1/AccountService/Accounts/" +
++ req.session->username);
++ }
++ return;
++ }
++
++ req.userRole = userRole;
++
++ // any uncaught exceptions become 500s
++ try
++ {
++ crow::Response resp;
++ rules[ruleIndex]->handleUpgrade(req, resp,
++ std::move(adaptor));
++ }
++ catch (std::exception& e)
++ {
++ BMCWEB_LOG_ERROR << "An uncaught exception occurred: "
++ << e.what();
++ asyncResp->res.result(
++ boost::beast::http::status::internal_server_error);
++ return;
++ }
++ catch (...)
++ {
++ BMCWEB_LOG_ERROR
++ << "An uncaught exception occurred. The type was "
++ "unknown so no information was available.";
++ asyncResp->res.result(
++ boost::beast::http::status::internal_server_error);
++ return;
++ }
++ },
++ "xyz.openbmc_project.User.Manager", "/xyz/openbmc_project/user",
++ "xyz.openbmc_project.User.Manager", "GetUserInfo",
++ req.session->username);
+ }
+
+ void handle(Request& req,
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0004-Add-Privileges-to-Websockets.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0004-Add-Privileges-to-Websockets.patch
new file mode 100644
index 000000000..64e235ce3
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0004-Add-Privileges-to-Websockets.patch
@@ -0,0 +1,140 @@
+From 9b27d3e7c1670d53cfb1c0a88cc75155ebfba71a Mon Sep 17 00:00:00 2001
+From: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+Date: Mon, 18 Oct 2021 22:58:29 +0530
+Subject: [PATCH] Add Privileges to Websockets
+
+This commit adds Privileges to Websockets.
+In the current implementation, once a rule is upgraded (i.e. from
+BaseRule to WebSocket), there is no provosion to add priviliges.
+In this commit, WebSocket inherits PrivilegeParameterTraits to enable
+privileges.
+
+Also, in the earlier implementation, .privilege() was called after
+BMCWEB_ROUTE(). This results in adding those privileges to the Base rule
+that is created. By moving the privileges() below websocket(), the
+privileges are applied to the websocket.
+
+Tested:
+ - websocket_test.py Passed
+ - Admin and Operator users were able to access KVM on WebUI
+ - Readonly User was unable to access KVM on WebUI
+
+Change-Id: Iff2051dbb7d363c902fd463fa446f280adc6d648
+Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+---
+ http/routing.hpp | 4 +++-
+ include/dbus_monitor.hpp | 3 ++-
+ include/kvm_websocket.hpp | 4 +++-
+ include/obmc_console.hpp | 4 +++-
+ include/vm_websocket.hpp | 4 +++-
+ 5 files changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/http/routing.hpp b/http/routing.hpp
+index e2a8fbb..6ea3185 100644
+--- a/http/routing.hpp
++++ b/http/routing.hpp
+@@ -345,7 +345,9 @@ struct PrivilegeParameterTraits
+ }
+ };
+
+-class WebSocketRule : public BaseRule
++class WebSocketRule :
++ public BaseRule,
++ public PrivilegeParameterTraits<WebSocketRule>
+ {
+ using self_t = WebSocketRule;
+
+diff --git a/include/dbus_monitor.hpp b/include/dbus_monitor.hpp
+index a6c86c6..163f884 100644
+--- a/include/dbus_monitor.hpp
++++ b/include/dbus_monitor.hpp
+@@ -5,6 +5,7 @@
+ #include <boost/container/flat_set.hpp>
+ #include <dbus_singleton.hpp>
+ #include <openbmc_dbus_rest.hpp>
++#include <registries/privilege_registry.hpp>
+ #include <sdbusplus/bus/match.hpp>
+ #include <sdbusplus/message/types.hpp>
+ #include <websocket.hpp>
+@@ -105,8 +106,8 @@ inline int onPropertyUpdate(sd_bus_message* m, void* userdata,
+ inline void requestRoutes(App& app)
+ {
+ BMCWEB_ROUTE(app, "/subscribe")
+- .privileges({{"Login"}})
+ .websocket()
++ .privileges(redfish::privileges::privilegeSetLogin)
+ .onopen([&](crow::websocket::Connection& conn,
+ const std::shared_ptr<bmcweb::AsyncResp>&) {
+ BMCWEB_LOG_DEBUG << "Connection " << &conn << " opened";
+diff --git a/include/kvm_websocket.hpp b/include/kvm_websocket.hpp
+index a9dc8ea..3f124a2 100644
+--- a/include/kvm_websocket.hpp
++++ b/include/kvm_websocket.hpp
+@@ -4,6 +4,7 @@
+ #include <app.hpp>
+ #include <async_resp.hpp>
+ #include <boost/container/flat_map.hpp>
++#include <registries/privilege_registry.hpp>
+ #include <websocket.hpp>
+
+ namespace crow
+@@ -159,8 +160,9 @@ inline void requestRoutes(App& app)
+ sessions.reserve(maxSessions);
+
+ BMCWEB_ROUTE(app, "/kvm/0")
+- .privileges({{"ConfigureComponents", "ConfigureManager"}})
+ .websocket()
++ .privileges(redfish::privileges::
++ privilegeSetConfigureManagerOrConfigureComponents)
+ .onopen([](crow::websocket::Connection& conn,
+ const std::shared_ptr<bmcweb::AsyncResp>&) {
+ BMCWEB_LOG_DEBUG << "Connection " << &conn << " opened";
+diff --git a/include/obmc_console.hpp b/include/obmc_console.hpp
+index ff0a51f..22a49a8 100644
+--- a/include/obmc_console.hpp
++++ b/include/obmc_console.hpp
+@@ -6,6 +6,7 @@
+ #include <boost/asio/local/stream_protocol.hpp>
+ #include <boost/container/flat_map.hpp>
+ #include <boost/container/flat_set.hpp>
++#include <registries/privilege_registry.hpp>
+ #include <websocket.hpp>
+
+ namespace crow
+@@ -136,8 +137,9 @@ inline void connectHandler(const boost::system::error_code& ec)
+ inline void requestRoutes(App& app)
+ {
+ BMCWEB_ROUTE(app, "/console0")
+- .privileges({{"ConfigureComponents", "ConfigureManager"}})
+ .websocket()
++ .privileges(redfish::privileges::
++ privilegeSetConfigureManagerOrConfigureComponents)
+ .onopen([](crow::websocket::Connection& conn,
+ const std::shared_ptr<bmcweb::AsyncResp>&) {
+ BMCWEB_LOG_DEBUG << "Connection " << &conn << " opened";
+diff --git a/include/vm_websocket.hpp b/include/vm_websocket.hpp
+index 02f958a..ebbe68f 100644
+--- a/include/vm_websocket.hpp
++++ b/include/vm_websocket.hpp
+@@ -3,6 +3,7 @@
+ #include <app.hpp>
+ #include <boost/beast/core/flat_static_buffer.hpp>
+ #include <boost/process.hpp>
++#include <registries/privilege_registry.hpp>
+ #include <websocket.hpp>
+
+ #include <csignal>
+@@ -156,8 +157,9 @@ static std::shared_ptr<Handler> handler;
+ inline void requestRoutes(App& app)
+ {
+ BMCWEB_ROUTE(app, "/vm/0/0")
+- .privileges({{"ConfigureComponents", "ConfigureManager"}})
+ .websocket()
++ .privileges(redfish::privileges::
++ privilegeSetConfigureManagerOrConfigureComponents)
+ .onopen([](crow::websocket::Connection& conn,
+ const std::shared_ptr<bmcweb::AsyncResp>&) {
+ BMCWEB_LOG_DEBUG << "Connection " << &conn << " opened";
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0005-Add-Privileges-to-SseSockets.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0005-Add-Privileges-to-SseSockets.patch
new file mode 100644
index 000000000..06ffb3a46
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/http_routing/0005-Add-Privileges-to-SseSockets.patch
@@ -0,0 +1,63 @@
+From 0ceb343809ff498cbfa389c54a158d255a2cca88 Mon Sep 17 00:00:00 2001
+From: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+Date: Mon, 18 Oct 2021 23:02:00 +0530
+Subject: [PATCH] Add Privileges to SseSockets
+
+This commit adds Privileges to Ssesockets.
+In the current implementation, once a rule is upgraded (i.e. from
+BaseRule to SseSocket), there is no provision to add priviliges.
+In this commit, SseSocket inherits PrivilegeParameterTraits to
+enable privileges.
+
+Also, in the earlier implementation, .privilege() was called after
+BMCWEB_ROUTE(). This results in adding those privileges to the Base
+rule that is created. By moving the privileges() below websocket(),
+the privileges are applied to the Ssesocket.
+
+Tested:
+ - SSE Subscription was successful with Admin and Operator Users
+ - SSE Subscription was rejected while using Readonly User
+ - websocket_test.py Passed
+ - Admin and Operator users were able to access KVM on WebUI
+ - Readonly User was unable to access KVM on WebUI
+
+Change-Id: I41739401893b1c2bf718e11ec7676d69f954c98f
+Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+---
+ http/routing.hpp | 4 +++-
+ include/eventservice_sse.hpp | 3 ++-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/http/routing.hpp b/http/routing.hpp
+index 6ea3185..13174b2 100644
+--- a/http/routing.hpp
++++ b/http/routing.hpp
+@@ -430,7 +430,9 @@ class WebSocketRule :
+ std::function<void(crow::websocket::Connection&)> errorHandler;
+ };
+
+-class SseSocketRule : public BaseRule
++class SseSocketRule :
++ public BaseRule,
++ public PrivilegeParameterTraits<SseSocketRule>
+ {
+ using self_t = SseSocketRule;
+
+diff --git a/include/eventservice_sse.hpp b/include/eventservice_sse.hpp
+index 2f22f98..f880344 100644
+--- a/include/eventservice_sse.hpp
++++ b/include/eventservice_sse.hpp
+@@ -192,8 +192,9 @@ static void deleteSubscription(std::shared_ptr<crow::SseConnection>& conn)
+ inline void requestRoutes(App& app)
+ {
+ BMCWEB_ROUTE(app, "/redfish/v1/EventService/Subscriptions/SSE")
+- .privileges({{"ConfigureComponents", "ConfigureManager"}})
+ .serverSentEvent()
++ .privileges(redfish::privileges::
++ privilegeSetConfigureManagerOrConfigureComponents)
+ .onopen([](std::shared_ptr<crow::SseConnection>& conn,
+ const crow::Request& req, crow::Response& res) {
+ BMCWEB_LOG_DEBUG << "Connection " << conn << " opened.";
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0001-Add-support-for-MetricDefinition-scheme.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0001-Add-support-for-MetricDefinition-scheme.patch
index c19691cdc..f5226fe6e 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0001-Add-support-for-MetricDefinition-scheme.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0001-Add-support-for-MetricDefinition-scheme.patch
@@ -1,4 +1,4 @@
-From 80608f0d72da62426bb00e03a42fbf5daed931c9 Mon Sep 17 00:00:00 2001
+From 32e557279450226ed9c06312649d90b802f3d4c5 Mon Sep 17 00:00:00 2001
From: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Date: Tue, 13 Apr 2021 13:00:18 +0000
Subject: [PATCH] Add support for MetricDefinition scheme
@@ -11,10 +11,11 @@ MetricDefinitions contains all physical sensors supported by redfish,
algorithm iterates through all chassis and collects results for each
node available in that chassis (Power, Thermal, Sensors).
-When https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/40169 will
-be merge it will be possible to optimize this algorithm to only get
-sensors from Sensors node. Currently Sensors node doesn't contain all
-available sensors.
+When BMCWEB_NEW_POWERSUBSYSTEM_THERMALSUBSYSTEM will be enabled by
+default (meson option redfish-new-powersubsystem-thermalsubsystem) it
+will be possible to optimize this algorithm to only get sensors from
+Sensors node. Currently Sensors node doesn't contain all available
+sensors.
Tested:
- MetricDefinitions response is filled with existing sensors, it works
@@ -30,47 +31,54 @@ GET /redfish/v1/TelemetryService/MetricDefinitions
"@odata.type": "#MetricDefinitionCollection.MetricDefinitionCollection",
"Members": [
{
- "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Rotational"
+ "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Fan_Pwm"
},
{
- "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Percent"
+ "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Fan_Tach"
},
{
- "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Temperature"
+ "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/HostCpuUtilization"
},
{
- "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Power"
+ "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/HostMemoryBandwidthUtilization"
},
{
- "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/AirFlow"
+ "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/HostPciBandwidthUtilization"
+ },
+ {
+ "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Inlet_BRD_Temp"
+ },
+ {
+ "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Left_Rear_Board_Temp"
}
],
- "Members@odata.count": 5,
+ "Members@odata.count": 7,
"Name": "Metric Definition Collection"
}
-GET /redfish/v1/TelemetryService/MetricDefinitions/Rotational
+GET /redfish/v1/TelemetryService/MetricDefinitions/Fan_Tach
{
- "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Rotational",
+ "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Fan_Tach",
"@odata.type": "#MetricDefinition.v1_0_3.MetricDefinition",
- "Id": "Rotational",
- "Implementation": "PhysicalSensor",
+ "Id": "Fan_Tach",
"IsLinear": true,
+ "MaxReadingRange": 25000.0,
"MetricDataType": "Decimal",
"MetricProperties": [
- "/redfish/v1/Chassis/Chassis0/Thermal#/Fans/0/Reading",
- "/redfish/v1/Chassis/Chassis0/Thermal#/Fans/1/Reading",
- "/redfish/v1/Chassis/Chassis0/Thermal#/Fans/2/Reading",
- "/redfish/v1/Chassis/Chassis0/Thermal#/Fans/3/Reading",
- "/redfish/v1/Chassis/Chassis0/Thermal#/Fans/4/Reading",
- "/redfish/v1/Chassis/Chassis0/Thermal#/Fans/5/Reading",
- "/redfish/v1/Chassis/Chassis0/Thermal#/Fans/6/Reading",
- "/redfish/v1/Chassis/Chassis0/Thermal#/Fans/7/Reading",
- "/redfish/v1/Chassis/Chassis0/Thermal#/Fans/8/Reading",
- "/redfish/v1/Chassis/Chassis0/Thermal#/Fans/9/Reading"
+ "/redfish/v1/Chassis/AC_Baseboard/Thermal#/Fans/0/Reading",
+ "/redfish/v1/Chassis/AC_Baseboard/Thermal#/Fans/1/Reading",
+ "/redfish/v1/Chassis/AC_Baseboard/Thermal#/Fans/2/Reading",
+ "/redfish/v1/Chassis/AC_Baseboard/Thermal#/Fans/3/Reading",
+ "/redfish/v1/Chassis/AC_Baseboard/Thermal#/Fans/4/Reading",
+ "/redfish/v1/Chassis/AC_Baseboard/Thermal#/Fans/5/Reading",
+ "/redfish/v1/Chassis/AC_Baseboard/Thermal#/Fans/6/Reading",
+ "/redfish/v1/Chassis/AC_Baseboard/Thermal#/Fans/7/Reading",
+ "/redfish/v1/Chassis/AC_Baseboard/Thermal#/Fans/8/Reading",
+ "/redfish/v1/Chassis/AC_Baseboard/Thermal#/Fans/9/Reading"
],
- "MetricType": "Numeric",
- "Name": "Rotational",
+ "MetricType": "Gauge",
+ "MinReadingRange": 0.0,
+ "Name": "Fan_Tach",
"Units": "RPM"
}
@@ -109,16 +117,16 @@ Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Change-Id: I3086e1302e1ba2e5442d1367939fd5507a0cbc00
---
redfish-core/include/redfish.hpp | 3 +
- .../include/utils/get_chassis_names.hpp | 58 ++++
+ .../include/utils/get_chassis_names.hpp | 58 +++
.../include/utils/telemetry_utils.hpp | 2 +
- redfish-core/lib/metric_definition.hpp | 258 ++++++++++++++++++
- redfish-core/lib/telemetry_service.hpp | 2 +
- 5 files changed, 323 insertions(+)
+ redfish-core/lib/metric_definition.hpp | 368 ++++++++++++++++++
+ redfish-core/lib/telemetry_service.hpp | 3 +-
+ 5 files changed, 433 insertions(+), 1 deletion(-)
create mode 100644 redfish-core/include/utils/get_chassis_names.hpp
create mode 100644 redfish-core/lib/metric_definition.hpp
diff --git a/redfish-core/include/redfish.hpp b/redfish-core/include/redfish.hpp
-index 1c7b695..9983b88 100644
+index 0a97150..67c5af2 100644
--- a/redfish-core/include/redfish.hpp
+++ b/redfish-core/include/redfish.hpp
@@ -26,6 +26,7 @@
@@ -129,7 +137,7 @@ index 1c7b695..9983b88 100644
#include "../lib/metric_report.hpp"
#include "../lib/metric_report_definition.hpp"
#include "../lib/network_protocol.hpp"
-@@ -199,6 +200,8 @@ class RedfishService
+@@ -200,6 +201,8 @@ class RedfishService
requestRoutesMetricReportDefinition(app);
requestRoutesMetricReportCollection(app);
requestRoutesMetricReport(app);
@@ -217,10 +225,10 @@ index 5872350..1b4f75d 100644
constexpr const char* metricReportUri =
diff --git a/redfish-core/lib/metric_definition.hpp b/redfish-core/lib/metric_definition.hpp
new file mode 100644
-index 0000000..019168b
+index 0000000..347c297
--- /dev/null
+++ b/redfish-core/lib/metric_definition.hpp
-@@ -0,0 +1,258 @@
+@@ -0,0 +1,368 @@
+#pragma once
+
+#include "async_resp.hpp"
@@ -236,55 +244,160 @@ index 0000000..019168b
+namespace telemetry
+{
+
-+bool containsOdata(const nlohmann::json& json, const std::string& odataId)
++struct ValueVisitor
+{
-+ const auto it = std::find_if(
-+ json.begin(), json.end(), [&odataId](const nlohmann::json& item) {
-+ auto kt = item.find("@odata.id");
-+ if (kt == item.end())
++ ValueVisitor(boost::system::error_code& ec) : ec(ec)
++ {}
++
++ template <class T>
++ double operator()(T value) const
++ {
++ return static_cast<double>(value);
++ }
++
++ double operator()(std::monostate) const
++ {
++ ec = boost::system::errc::make_error_code(
++ boost::system::errc::invalid_argument);
++ return double{};
++ }
++
++ boost::system::error_code& ec;
++};
++
++inline void getReadingRange(
++ const std::string& service, const std::string& path,
++ const std::string& property,
++ std::function<void(boost::system::error_code, double)> callback)
++{
++ crow::connections::systemBus->async_method_call(
++ [callback = std::move(callback)](
++ boost::system::error_code ec,
++ const std::variant<std::monostate, double, uint64_t, int64_t,
++ uint32_t, int32_t, uint16_t, int16_t>&
++ valueVariant) {
++ if (ec)
+ {
-+ return false;
++ callback(ec, double{});
++ return;
+ }
-+ const std::string* value = kt->get_ptr<const std::string*>();
-+ if (!value)
++
++ const double value = std::visit(ValueVisitor(ec), valueVariant);
++
++ callback(ec, value);
++ },
++ service, path, "org.freedesktop.DBus.Properties", "Get",
++ "xyz.openbmc_project.Sensor.Value", property);
++}
++
++inline void
++ fillMinMaxReadingRange(const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
++ const std::string& serviceName,
++ const std::string& sensorPath)
++{
++ asyncResp->res.jsonValue["MetricType"] = "Numeric";
++
++ telemetry::getReadingRange(
++ serviceName, sensorPath, "MinValue",
++ [asyncResp](boost::system::error_code ec, double readingRange) {
++ if (ec)
+ {
-+ return false;
++ messages::internalError(asyncResp->res);
++ return;
++ }
++
++ if (std::isfinite(readingRange))
++ {
++ asyncResp->res.jsonValue["MetricType"] = "Gauge";
++
++ asyncResp->res.jsonValue["MinReadingRange"] = readingRange;
+ }
-+ return *value == odataId;
+ });
+
-+ return it != json.end();
++ telemetry::getReadingRange(
++ serviceName, sensorPath, "MaxValue",
++ [asyncResp](boost::system::error_code ec, double readingRange) {
++ if (ec)
++ {
++ messages::internalError(asyncResp->res);
++ return;
++ }
++
++ if (std::isfinite(readingRange))
++ {
++ asyncResp->res.jsonValue["MetricType"] = "Gauge";
++
++ asyncResp->res.jsonValue["MaxReadingRange"] = readingRange;
++ }
++ });
+}
+
-+void addMembers(crow::Response& res,
-+ const boost::container::flat_map<std::string, std::string>& el)
++inline void getSensorService(
++ const std::string& sensorPath,
++ std::function<void(boost::system::error_code, const std::string&)> callback)
+{
-+ for (const auto& [_, dbusSensor] : el)
-+ {
-+ sdbusplus::message::object_path path(dbusSensor);
-+ sdbusplus::message::object_path parentPath = path.parent_path();
-+ const std::string type = parentPath.filename();
++ using ResultType = std::pair<
++ std::string,
++ std::vector<std::pair<std::string, std::vector<std::string>>>>;
+
-+ if (type.empty())
-+ {
-+ BMCWEB_LOG_ERROR << "Received invalid DBus Sensor Path = "
-+ << dbusSensor;
-+ continue;
-+ }
++ crow::connections::systemBus->async_method_call(
++ [sensorPath, callback = std::move(callback)](
++ boost::system::error_code ec,
++ const std::vector<ResultType>& result) {
++ if (ec)
++ {
++ callback(ec, std::string{});
++ return;
++ }
++
++ for (const auto& [path, serviceToInterfaces] : result)
++ {
++ if (path == sensorPath)
++ {
++ for (const auto& [service, interfaces] :
++ serviceToInterfaces)
++ {
++ callback(boost::system::errc::make_error_code(
++ boost::system::errc::success),
++ service);
++ return;
++ }
++ }
++ }
+
-+ nlohmann::json& members = res.jsonValue["Members"];
++ callback(boost::system::errc::make_error_code(
++ boost::system::errc::no_such_file_or_directory),
++ std::string{});
++ },
++ "xyz.openbmc_project.ObjectMapper",
++ "/xyz/openbmc_project/object_mapper",
++ "xyz.openbmc_project.ObjectMapper", "GetSubTree",
++ "/xyz/openbmc_project/sensors", 2,
++ std::array{"xyz.openbmc_project.Sensor.Value"});
++}
+
-+ const std::string odataId =
-+ std::string(telemetry::metricDefinitionUri) +
-+ sensors::toReadingType(type);
++constexpr auto metricDefinitionMapping = std::array{
++ std::pair{"fan_pwm", "Fan_Pwm"}, std::pair{"fan_tach", "Fan_Tach"}};
+
-+ if (!containsOdata(members, odataId))
-+ {
-+ members.push_back({{"@odata.id", odataId}});
-+ }
++std::string mapSensorToMetricDefinition(const std::string& sensorPath)
++{
++ sdbusplus::message::object_path sensorObjectPath{sensorPath};
++
++ const auto it = std::find_if(
++ metricDefinitionMapping.begin(), metricDefinitionMapping.end(),
++ [&sensorObjectPath](const auto& item) {
++ return item.first == sensorObjectPath.parent_path().filename();
++ });
++
++ const char* metricDefinitionPath =
++ "/redfish/v1/TelemetryService/MetricDefinitions/";
+
-+ res.jsonValue["Members@odata.count"] = members.size();
++ if (it != metricDefinitionMapping.end())
++ {
++ return std::string{metricDefinitionPath} + it->second;
+ }
++
++ return metricDefinitionPath + sensorObjectPath.filename();
+}
+
+template <class Callback>
@@ -300,8 +413,11 @@ index 0000000..019168b
+ return;
+ }
+
++ auto counter = std::make_shared<std::pair<
++ boost::container::flat_map<std::string, std::string>, size_t>>();
++
+ auto handleRetrieveUriToDbusMap =
-+ [callback = std::move(callback)](
++ [counter, callback = std::move(callback)](
+ const boost::beast::http::status status,
+ const boost::container::flat_map<std::string, std::string>&
+ uriToDbus) {
@@ -310,21 +426,31 @@ index 0000000..019168b
+ BMCWEB_LOG_ERROR << "Failed to retrieve URI to dbus "
+ "sensors map with err "
+ << static_cast<unsigned>(status);
++ counter->second = 0u;
+ callback(boost::system::errc::make_error_code(
+ boost::system::errc::io_error),
+ {});
+ return;
+ }
+
-+ callback(boost::system::errc::make_error_code(
-+ boost::system::errc::success),
-+ uriToDbus);
++ for (const auto& [key, value] : uriToDbus)
++ {
++ counter->first[key] = value;
++ }
++
++ if (--counter->second == 0u)
++ {
++ callback(boost::system::errc::make_error_code(
++ boost::system::errc::success),
++ counter->first);
++ }
+ };
+
+ for (const std::string& chassisName : chassisNames)
+ {
+ for (const auto& [sensorNode, dbusPaths] : sensors::dbus::paths)
+ {
++ ++counter->second;
+ retrieveUriToDbusMap(chassisName, sensorNode.data(),
+ handleRetrieveUriToDbusMap);
+ }
@@ -354,7 +480,23 @@ index 0000000..019168b
+ return;
+ }
+
-+ telemetry::addMembers(asyncResp->res, uriToDbus);
++ std::set<std::string> members;
++
++ for (const auto& [uri, dbusPath] : uriToDbus)
++ {
++ members.insert(
++ telemetry::mapSensorToMetricDefinition(
++ dbusPath));
++ }
++
++ for (const std::string& odataId : members)
++ {
++ asyncResp->res.jsonValue["Members"].push_back(
++ {{"@odata.id", odataId}});
++ }
++
++ asyncResp->res.jsonValue["Members@odata.count"] =
++ asyncResp->res.jsonValue["Members"].size();
+ });
+
+ asyncResp->res.jsonValue["@odata.type"] =
@@ -369,128 +511,109 @@ index 0000000..019168b
+ });
+}
+
-+namespace telemetry
-+{
-+
-+bool isSensorIdSupported(std::string_view readingType)
-+{
-+ for (const std::pair<std::string_view, std::vector<const char*>>&
-+ typeToPaths : sensors::dbus::paths)
-+ {
-+ for (const char* supportedPath : typeToPaths.second)
-+ {
-+ if (readingType ==
-+ sensors::toReadingType(
-+ sdbusplus::message::object_path(supportedPath).filename()))
-+ {
-+ return true;
-+ }
-+ }
-+ }
-+ return false;
-+}
-+
-+void addMetricProperty(
-+ bmcweb::AsyncResp& asyncResp, const std::string& readingType,
-+ const boost::container::flat_map<std::string, std::string>& el)
-+{
-+ nlohmann::json& metricProperties =
-+ asyncResp.res.jsonValue["MetricProperties"];
-+
-+ for (const auto& [redfishSensor, dbusSensor] : el)
-+ {
-+ std::string sensorId;
-+ if (dbus::utility::getNthStringFromPath(dbusSensor, 3, sensorId))
-+ {
-+ if (sensors::toReadingType(sensorId) == readingType)
-+ {
-+ metricProperties.push_back(redfishSensor);
-+ }
-+ }
-+ }
-+}
-+
-+inline const char* readingTypeToReadingUnits(const std::string& readingType)
-+{
-+ for (const auto& [node, paths] : sensors::dbus::paths)
-+ {
-+ for (const char* path : paths)
-+ {
-+ const sdbusplus::message::object_path sensorPath =
-+ sdbusplus::message::object_path(path);
-+ if (sensors::toReadingType(sensorPath.filename()) == readingType)
-+ {
-+ return sensors::toReadingUnits(sensorPath.filename());
-+ }
-+ }
-+ }
-+ return "";
-+}
-+
-+} // namespace telemetry
-+
+inline void requestRoutesMetricDefinition(App& app)
+{
+ BMCWEB_ROUTE(app, "/redfish/v1/TelemetryService/MetricDefinitions/<str>/")
+ .privileges(privileges::getTelemetryService)
-+ .methods(boost::beast::http::verb::get)(
-+ [](const crow::Request&,
-+ const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
-+ const std::string& readingType) {
-+ if (!telemetry::isSensorIdSupported(readingType))
-+ {
-+ messages::resourceNotFound(asyncResp->res,
-+ "MetricDefinition", readingType);
-+ return;
-+ }
-+
-+ telemetry::mapRedfishUriToDbusPath(
-+ [asyncResp,
-+ readingType](boost::system::error_code ec,
-+ const boost::container::flat_map<
-+ std::string, std::string>& uriToDbus) {
-+ if (ec)
++ .methods(
++ boost::beast::http::verb::get)([](const crow::Request&,
++ const std::shared_ptr<
++ bmcweb::AsyncResp>& asyncResp,
++ const std::string& name) {
++ telemetry::mapRedfishUriToDbusPath(
++ [asyncResp, name](
++ boost::system::error_code ec,
++ const boost::container::flat_map<std::string, std::string>&
++ uriToDbus) {
++ if (ec)
++ {
++ messages::internalError(asyncResp->res);
++ BMCWEB_LOG_ERROR << "mapRedfishUriToDbusPath error: "
++ << ec.value();
++ return;
++ }
++
++ std::string odataId = telemetry::metricDefinitionUri + name;
++ boost::container::flat_map<std::string, std::string>
++ matchingUris;
++
++ for (const auto& [uri, dbusPath] : uriToDbus)
++ {
++ if (telemetry::mapSensorToMetricDefinition(dbusPath) ==
++ odataId)
+ {
-+ messages::internalError(asyncResp->res);
-+ BMCWEB_LOG_ERROR
-+ << "mapRedfishUriToDbusPath error: "
-+ << ec.value();
-+ return;
++ matchingUris.emplace(uri, dbusPath);
+ }
-+
-+ asyncResp->res.jsonValue["Id"] = readingType;
-+ asyncResp->res.jsonValue["Name"] = readingType;
-+ asyncResp->res.jsonValue["@odata.id"] =
-+ telemetry::metricDefinitionUri + readingType;
-+ asyncResp->res.jsonValue["@odata.type"] =
-+ "#MetricDefinition.v1_0_3.MetricDefinition";
-+ asyncResp->res.jsonValue["MetricDataType"] = "Decimal";
-+ asyncResp->res.jsonValue["MetricType"] = "Numeric";
-+ asyncResp->res.jsonValue["IsLinear"] = true;
-+ asyncResp->res.jsonValue["Implementation"] =
-+ "PhysicalSensor";
-+ asyncResp->res.jsonValue["Units"] =
-+ telemetry::readingTypeToReadingUnits(readingType);
-+
-+ telemetry::addMetricProperty(*asyncResp, readingType,
-+ uriToDbus);
-+ });
-+ });
++ }
++
++ if (matchingUris.empty())
++ {
++ messages::resourceNotFound(asyncResp->res,
++ "MetricDefinition", name);
++ return;
++ }
++
++ std::string sensorPath = matchingUris.begin()->second;
++
++ telemetry::getSensorService(
++ sensorPath,
++ [asyncResp, name, odataId = std::move(odataId),
++ sensorPath, matchingUris = std::move(matchingUris)](
++ boost::system::error_code ec,
++ const std::string& serviceName) {
++ if (ec)
++ {
++ messages::internalError(asyncResp->res);
++ BMCWEB_LOG_ERROR << "getServiceSensorFailed: "
++ << ec.value();
++ return;
++ }
++
++ asyncResp->res.jsonValue["Id"] = name;
++ asyncResp->res.jsonValue["Name"] = name;
++ asyncResp->res.jsonValue["@odata.id"] = odataId;
++ asyncResp->res.jsonValue["@odata.type"] =
++ "#MetricDefinition.v1_0_3.MetricDefinition";
++ asyncResp->res.jsonValue["MetricDataType"] =
++ "Decimal";
++ asyncResp->res.jsonValue["IsLinear"] = true;
++ asyncResp->res.jsonValue["Units"] =
++ sensors::toReadingUnits(
++ sdbusplus::message::object_path{sensorPath}
++ .parent_path()
++ .filename());
++
++ for (const auto& [uri, dbusPath] : matchingUris)
++ {
++ asyncResp->res.jsonValue["MetricProperties"]
++ .push_back(uri);
++ }
++
++ telemetry::fillMinMaxReadingRange(
++ asyncResp, serviceName, sensorPath);
++ });
++ });
++ });
+}
+
+} // namespace redfish
diff --git a/redfish-core/lib/telemetry_service.hpp b/redfish-core/lib/telemetry_service.hpp
-index ad86d5c..c4962e9 100644
+index 8ecc591..027b51b 100644
--- a/redfish-core/lib/telemetry_service.hpp
+++ b/redfish-core/lib/telemetry_service.hpp
-@@ -29,6 +29,8 @@ inline void requestRoutesTelemetryService(App& app)
- "/redfish/v1/TelemetryService/MetricReportDefinitions";
- asyncResp->res.jsonValue["MetricReports"]["@odata.id"] =
- "/redfish/v1/TelemetryService/MetricReports";
-+ asyncResp->res.jsonValue["MetricDefinitions"]["@odata.id"] =
-+ "/redfish/v1/TelemetryService/MetricDefinitions";
+@@ -18,11 +18,12 @@ inline void handleTelemetryServiceGet(
+ asyncResp->res.jsonValue["@odata.id"] = "/redfish/v1/TelemetryService";
+ asyncResp->res.jsonValue["Id"] = "TelemetryService";
+ asyncResp->res.jsonValue["Name"] = "Telemetry Service";
+-
+ asyncResp->res.jsonValue["MetricReportDefinitions"]["@odata.id"] =
+ "/redfish/v1/TelemetryService/MetricReportDefinitions";
+ asyncResp->res.jsonValue["MetricReports"]["@odata.id"] =
+ "/redfish/v1/TelemetryService/MetricReports";
++ asyncResp->res.jsonValue["MetricDefinitions"]["@odata.id"] =
++ "/redfish/v1/TelemetryService/MetricDefinitions";
- crow::connections::systemBus->async_method_call(
- [asyncResp](
+ crow::connections::systemBus->async_method_call(
+ [asyncResp](const boost::system::error_code ec,
--
2.25.1
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0002-Sync-Telmetry-service-with-EventService.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0002-Sync-Telmetry-service-with-EventService.patch
index d32c85356..3088a7f9d 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0002-Sync-Telmetry-service-with-EventService.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0002-Sync-Telmetry-service-with-EventService.patch
@@ -1,4 +1,4 @@
-From 77e8a0b5037a555b1520823b667595ac8780c675 Mon Sep 17 00:00:00 2001
+From 541353a4e4b06de42b6a9a400629f5a5fba04e86 Mon Sep 17 00:00:00 2001
From: "Wludzik, Jozef" <jozef.wludzik@intel.com>
Date: Tue, 15 Dec 2020 12:30:31 +0100
Subject: [PATCH] Sync Telmetry service with EventService
@@ -16,13 +16,14 @@ Tested:
Change-Id: I2fc1841a6c9259a8bff30b34bddc0d4aabd41912
Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com>
+Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com>
---
.../include/event_service_manager.hpp | 156 ++++++------------
redfish-core/lib/metric_report.hpp | 28 ++--
2 files changed, 69 insertions(+), 115 deletions(-)
diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
-index d89b789..4faaddd 100644
+index 3f398d7..cf9f658 100644
--- a/redfish-core/include/event_service_manager.hpp
+++ b/redfish-core/include/event_service_manager.hpp
@@ -14,6 +14,7 @@
@@ -212,12 +213,12 @@ index d89b789..4faaddd 100644
+ });
+ if (found == props.end())
+ {
-+ BMCWEB_LOG_ERROR
++ BMCWEB_LOG_INFO
+ << "Failed to get Readings from Report properties";
+ return;
+ }
+
-+ std::variant<telemetry::TimestampReadings>& readings =
++ const std::variant<telemetry::TimestampReadings>& readings =
+ found->second;
+ for (const auto& it :
+ EventServiceManager::getInstance().subscriptionsMap)
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0003-Switched-bmcweb-to-use-new-telemetry-service-API.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0003-Switched-bmcweb-to-use-new-telemetry-service-API.patch
index 20bcbabfa..5dd2f51bc 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0003-Switched-bmcweb-to-use-new-telemetry-service-API.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0003-Switched-bmcweb-to-use-new-telemetry-service-API.patch
@@ -1,4 +1,4 @@
-From fca6f5b951a363916a83a25f6578f95a6cf32a3e Mon Sep 17 00:00:00 2001
+From 8ba1bcc3503cafb33b1a06356d4f8f92ae23e39a Mon Sep 17 00:00:00 2001
From: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Date: Thu, 17 Jun 2021 13:37:57 +0000
Subject: [PATCH] Switched bmcweb to use new telemetry service API
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0004-Add-support-for-MetricDefinition-property-in-MetricReport.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0004-Add-support-for-MetricDefinition-property-in-MetricReport.patch
index 3d60ae293..bf5a09d9d 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0004-Add-support-for-MetricDefinition-property-in-MetricReport.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0004-Add-support-for-MetricDefinition-property-in-MetricReport.patch
@@ -1,6 +1,6 @@
-From 79b3d35b864a2b545b4c9b2ac9390ea5dec169f5 Mon Sep 17 00:00:00 2001
-From: Szymon Dompke <szymon.dompke@intel.com>
-Date: Mon, 28 Jun 2021 11:10:23 +0200
+From dab3c96f9e39a89d7c359e22655650c7c16952ec Mon Sep 17 00:00:00 2001
+From: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
+Date: Tue, 12 Oct 2021 08:06:13 +0000
Subject: [PATCH] Add support for MetricDefinition property in MetricReport
Added MetricDefinition as part of MetricValues array returned by
@@ -73,19 +73,19 @@ Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
4 files changed, 95 insertions(+), 15 deletions(-)
diff --git a/meson.build b/meson.build
-index f6a66f1..6b5d9af 100644
+index 6b6a8ab..218ea49 100644
--- a/meson.build
+++ b/meson.build
-@@ -355,6 +355,8 @@ srcfiles_unittest = ['include/ut/dbus_utility_test.cpp',
- 'redfish-core/ut/time_utils_test.cpp',
- 'http/ut/utility_test.cpp']
+@@ -377,6 +377,8 @@ srcfiles_unittest = [
+ 'http/ut/utility_test.cpp'
+ ]
-+srcfiles_unittest_dependencies = ['redfish-core/src/error_messages.cpp']
++srcfiles_unittest_dependencies = ['redfish-core/src/error_messages.cpp', 'src/boost_url.cpp']
+
# Gather the Configuration data
conf_data = configuration_data()
-@@ -412,7 +414,7 @@ executable('bmcweb',srcfiles_bmcweb,
+@@ -434,7 +436,7 @@ executable('bmcweb',srcfiles_bmcweb,
if(get_option('tests').enabled())
foreach src_test : srcfiles_unittest
testname = src_test.split('/')[-1].split('.')[0]
@@ -251,7 +251,7 @@ index 7fe281d..13bf792 100644
}
} // namespace telemetry
diff --git a/redfish-core/lib/sensors.hpp b/redfish-core/lib/sensors.hpp
-index cb7ea15..44c2129 100644
+index 7405e5a..9850b24 100644
--- a/redfish-core/lib/sensors.hpp
+++ b/redfish-core/lib/sensors.hpp
@@ -21,6 +21,8 @@
@@ -265,3 +265,4 @@ index cb7ea15..44c2129 100644
--
2.25.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0006-Revert-Remove-LogService-from-TelemetryService.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0006-Revert-Remove-LogService-from-TelemetryService.patch
index 987a43b4c..a80ac61c7 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0006-Revert-Remove-LogService-from-TelemetryService.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0006-Revert-Remove-LogService-from-TelemetryService.patch
@@ -1,6 +1,6 @@
-From 472ac5f15a19917042852b243e8b668b3ab49e32 Mon Sep 17 00:00:00 2001
+From da575aaf0bdcb15be261d58314cf7bbbcd92dd74 Mon Sep 17 00:00:00 2001
From: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
-Date: Tue, 22 Jun 2021 13:59:48 +0000
+Date: Tue, 12 Oct 2021 08:08:06 +0000
Subject: [PATCH] Revert "Remove LogService from TelemetryService"
This reverts commit 2b3da45876aac57a36d3093379a992d699e7e396.
@@ -9,18 +9,18 @@ This reverts commit 2b3da45876aac57a36d3093379a992d699e7e396.
1 file changed, 2 insertions(+)
diff --git a/redfish-core/lib/telemetry_service.hpp b/redfish-core/lib/telemetry_service.hpp
-index 37221c3..f3a1efb 100644
+index 027b51b..49471fe 100644
--- a/redfish-core/lib/telemetry_service.hpp
+++ b/redfish-core/lib/telemetry_service.hpp
-@@ -30,6 +30,8 @@ inline void requestRoutesTelemetryService(App& app)
- "/redfish/v1/TelemetryService/MetricReports";
- asyncResp->res.jsonValue["MetricDefinitions"]["@odata.id"] =
- "/redfish/v1/TelemetryService/MetricDefinitions";
-+ asyncResp->res.jsonValue["LogService"]["@odata.id"] =
-+ "/redfish/v1/Managers/bmc/LogServices/Journal";
+@@ -24,6 +24,8 @@ inline void handleTelemetryServiceGet(
+ "/redfish/v1/TelemetryService/MetricReports";
+ asyncResp->res.jsonValue["MetricDefinitions"]["@odata.id"] =
+ "/redfish/v1/TelemetryService/MetricDefinitions";
++ asyncResp->res.jsonValue["LogService"]["@odata.id"] =
++ "/redfish/v1/Managers/bmc/LogServices/Journal";
- crow::connections::systemBus->async_method_call(
- [asyncResp](
+ crow::connections::systemBus->async_method_call(
+ [asyncResp](const boost::system::error_code ec,
--
2.25.1
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0008-Generalize-ReadingType-in-MetricDefinition.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0008-Generalize-ReadingType-in-MetricDefinition.patch
deleted file mode 100644
index bd6e64346..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/0008-Generalize-ReadingType-in-MetricDefinition.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From d9baec3ccdff5ed4d1620f374a252c769de5b45b Mon Sep 17 00:00:00 2001
-From: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
-Date: Thu, 19 Aug 2021 10:55:38 +0000
-Subject: [PATCH] Generalize ReadingType in MetricDefinition
-
-Recent addition of PMT required adding new type of sensor 'count', which
-doesnt comply with any of Redfish-defined Sensor.ReadingType values.
-
-To support property of this kind MetricDefinition implementation was
-altered to support sensor types not covered by Redfish types by
-a 'fallback' to direct usage of sensor type. Populating 'Units' was also
-modified, so it won't be shown if value does not have any units mapped.
-
-Testing:
-- PMT counters are shown properly in MetricDefinitions/Count
-- Redfish Validator passes
----
- redfish-core/lib/metric_definition.hpp | 25 ++++++++++++++++++-------
- 1 file changed, 18 insertions(+), 7 deletions(-)
-
-diff --git a/redfish-core/lib/metric_definition.hpp b/redfish-core/lib/metric_definition.hpp
-index 019168b..df29b65 100644
---- a/redfish-core/lib/metric_definition.hpp
-+++ b/redfish-core/lib/metric_definition.hpp
-@@ -33,6 +33,18 @@ bool containsOdata(const nlohmann::json& json, const std::string& odataId)
- return it != json.end();
- }
-
-+std::string groupName(const std::string& sensorType)
-+{
-+ std::string group = sensors::toReadingType(sensorType);
-+ if (group.empty())
-+ {
-+ // Fallback for types not covered by standard Redfish Sensor.ReadingType
-+ group = sensorType;
-+ group[0] = static_cast<char>(std::toupper(group[0]));
-+ }
-+ return group;
-+}
-+
- void addMembers(crow::Response& res,
- const boost::container::flat_map<std::string, std::string>& el)
- {
-@@ -52,8 +64,7 @@ void addMembers(crow::Response& res,
- nlohmann::json& members = res.jsonValue["Members"];
-
- const std::string odataId =
-- std::string(telemetry::metricDefinitionUri) +
-- sensors::toReadingType(type);
-+ std::string(telemetry::metricDefinitionUri) + groupName(type);
-
- if (!containsOdata(members, odataId))
- {
-@@ -149,15 +160,15 @@ inline void requestRoutesMetricDefinitionCollection(App& app)
- namespace telemetry
- {
-
--bool isSensorIdSupported(std::string_view readingType)
-+bool isSensorIdSupported(std::string_view group)
- {
- for (const std::pair<std::string_view, std::vector<const char*>>&
- typeToPaths : sensors::dbus::paths)
- {
- for (const char* supportedPath : typeToPaths.second)
- {
-- if (readingType ==
-- sensors::toReadingType(
-+ if (group ==
-+ groupName(
- sdbusplus::message::object_path(supportedPath).filename()))
- {
- return true;
-@@ -168,7 +179,7 @@ bool isSensorIdSupported(std::string_view readingType)
- }
-
- void addMetricProperty(
-- bmcweb::AsyncResp& asyncResp, const std::string& readingType,
-+ bmcweb::AsyncResp& asyncResp, const std::string& group,
- const boost::container::flat_map<std::string, std::string>& el)
- {
- nlohmann::json& metricProperties =
-@@ -179,7 +190,7 @@ void addMetricProperty(
- std::string sensorId;
- if (dbus::utility::getNthStringFromPath(dbusSensor, 3, sensorId))
- {
-- if (sensors::toReadingType(sensorId) == readingType)
-+ if (groupName(sensorId) == group)
- {
- metricProperties.push_back(redfishSensor);
- }
---
-2.25.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/README b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/README
index fd88e9e18..90916ecec 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/README
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/telemetry/README
@@ -3,16 +3,16 @@ Until change is integrated they will be manually merged here to enable feature i
Current revisions:
- Add support for MetricDefinition scheme
- https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/33363/93
+ https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/33363/102
- Sync Telmetry service with EventService
- https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/38798/40
+ https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/38798/53
- Switched bmcweb to use new telemetry service API
- https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/44270/5
+ https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/44270/19
- Add support for MetricDefinition property in MetricReport
- https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/44512/9
+ https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/44512/24
- Add GET method for TriggerCollection
file://telemetry/0005-Add-GET-method-for-TriggerCollection.patch
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/vm/0001-Revert-Disable-nbd-proxy-from-the-build.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/vm/0001-Revert-Disable-nbd-proxy-from-the-build.patch
index d41383836..de316c4fa 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/vm/0001-Revert-Disable-nbd-proxy-from-the-build.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/vm/0001-Revert-Disable-nbd-proxy-from-the-build.patch
@@ -1,4 +1,4 @@
-From 3ee7fe58b2acec0a6ae4eabad91a9dd609268870 Mon Sep 17 00:00:00 2001
+From b6863f9a0c1c36705eba0c3181541f67cd1a202a Mon Sep 17 00:00:00 2001
From: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Date: Wed, 14 Jul 2021 09:04:42 +0000
Subject: [PATCH] Revert "Disable nbd proxy from the build"
@@ -15,21 +15,21 @@ Change-Id: I19a88b30c1074dd376f2df8f5668245b638b881f
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/meson.build b/meson.build
-index bdc514b..19364a8 100644
+index 650a5ec..5738b10 100644
--- a/meson.build
+++ b/meson.build
-@@ -78,7 +78,8 @@ feature_map = {
- 'rest' : '-DBMCWEB_ENABLE_DBUS_REST',
- 'static-hosting' : '-DBMCWEB_ENABLE_STATIC_HOSTING',
- 'insecure-tftp-update' : '-DBMCWEB_INSECURE_ENABLE_REDFISH_FW_TFTP_UPDATE',
--#'vm-nbdproxy' : '-DBMCWEB_ENABLE_VM_NBDPROXY',
-+'validate-unsecure-feature' : '-DBMCWEB_ENABLE_VALIDATION_UNSECURE_FEATURE',
-+'vm-nbdproxy' : '-DBMCWEB_ENABLE_VM_NBDPROXY',
- 'vm-websocket' : '-DBMCWEB_ENABLE_VM_WEBSOCKET',
+@@ -83,7 +83,8 @@ feature_map = {
+ 'rest' : '-DBMCWEB_ENABLE_DBUS_REST',
+ 'static-hosting' : '-DBMCWEB_ENABLE_STATIC_HOSTING',
+ 'insecure-tftp-update' : '-DBMCWEB_INSECURE_ENABLE_REDFISH_FW_TFTP_UPDATE',
+- #'vm-nbdproxy' : '-DBMCWEB_ENABLE_VM_NBDPROXY',
++ 'validate-unsecure-feature' : '-DBMCWEB_ENABLE_VALIDATION_UNSECURE_FEATURE',
++ 'vm-nbdproxy' : '-DBMCWEB_ENABLE_VM_NBDPROXY',
+ 'vm-websocket' : '-DBMCWEB_ENABLE_VM_WEBSOCKET',
}
diff --git a/meson_options.txt b/meson_options.txt
-index 0ab31b8..ea0f2fc 100644
+index ff5b887..645f224 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -3,14 +3,7 @@ option('yocto-deps', type: 'feature', value: 'disabled', description : 'Use YOCT
@@ -48,7 +48,7 @@ index 0ab31b8..ea0f2fc 100644
option('rest', type : 'feature', value : 'enabled', description : '''Enable Phosphor REST (D-Bus) APIs. Paths directly map Phosphor D-Bus object paths, for example, \'/xyz/openbmc_project/logging/entry/enumerate\'. See https://github.com/openbmc/docs/blob/master/rest-api.md.''')
option('redfish', type : 'feature',value : 'enabled', description: 'Enable Redfish APIs. Paths are under \'/redfish/v1/\'. See https://github.com/openbmc/bmcweb/blob/master/DEVELOPING.md#redfish.')
option('host-serial-socket', type : 'feature', value : 'enabled', description : 'Enable host serial console WebSocket. Path is \'/console0\'. See https://github.com/openbmc/docs/blob/master/console.md.')
-@@ -37,6 +30,7 @@ option ('https_port', type : 'integer', min : 1, max : 65535, value : 443, descr
+@@ -39,6 +32,7 @@ option ('https_port', type : 'integer', min : 1, max : 65535, value : 443, descr
# the implications of doing so.In general, enabling these options will cause security
# problems of varying degrees
@@ -57,5 +57,5 @@ index 0ab31b8..ea0f2fc 100644
option ('insecure-disable-ssl', type : 'feature', value : 'disabled', description : 'Disable SSL ports. Should be set to false for production systems.')
option ('insecure-disable-auth', type : 'feature', value : 'disabled', description : 'Disable authentication on all ports. Should be set to false for production systems')
--
-2.25.1
+2.17.1
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/vm/0003-Add-ConnectedVia-property-to-virtual-media-item-temp.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/vm/0003-Add-ConnectedVia-property-to-virtual-media-item-temp.patch
index 41c1c9836..c8af3a659 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/vm/0003-Add-ConnectedVia-property-to-virtual-media-item-temp.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/vm/0003-Add-ConnectedVia-property-to-virtual-media-item-temp.patch
@@ -1,4 +1,4 @@
-From d303bfdd6778c43096401ff78fab70f9041cd4cf Mon Sep 17 00:00:00 2001
+From 1abf9a1d336eed835472fe933210d3be7ad5ba7a Mon Sep 17 00:00:00 2001
From: Karol Wachowski <karol.wachowski@intel.com>
Date: Thu, 11 Feb 2021 08:35:41 +0000
Subject: [PATCH] Add ConnectedVia property to virtual media item template
@@ -12,12 +12,12 @@ Signed-off-by: Karol Wachowski <karol.wachowski@intel.com>
1 file changed, 1 insertion(+)
diff --git a/redfish-core/lib/virtual_media.hpp b/redfish-core/lib/virtual_media.hpp
-index c45fed2..aa7c639 100644
+index 57c2bd2..de1cc94 100644
--- a/redfish-core/lib/virtual_media.hpp
+++ b/redfish-core/lib/virtual_media.hpp
-@@ -193,6 +193,7 @@ static nlohmann::json vmItemTemplate(const std::string& name,
- item["@odata.id"] =
- "/redfish/v1/Managers/" + name + "/VirtualMedia/" + resName;
+@@ -200,6 +200,7 @@ inline nlohmann::json vmItemTemplate(const std::string& name,
+ item["@odata.id"] = std::move(id);
+
item["@odata.type"] = "#VirtualMedia.v1_3_0.VirtualMedia";
+ item["ConnectedVia"] = "NotConnected";
item["Name"] = "Virtual Removable Media";
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend
index 7806b5481..a716e612d 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend
@@ -1,8 +1,7 @@
SRC_URI = "git://github.com/openbmc/bmcweb.git"
-SRCREV = "abb93cdd0a49be03bf2fe95f07823686b289ecd5"
+SRCREV = "b7ff344535c42af074c60bfb272ef66a2ba157b4"
DEPENDS += "boost-url"
-RDEPENDS:${PN} += "phosphor-nslcd-authority-cert-config"
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
@@ -25,9 +24,9 @@ SRC_URI += "file://0001-Firmware-update-configuration-changes.patch \
file://0018-bmcweb-Add-BMC-Time-update-log-to-the-registry.patch \
file://0019-Add-generic-message-PropertySizeExceeded.patch \
file://0020-Redfish-Deny-set-AccountLockDuration-to-zero.patch \
- file://0021-Add-message-registry-entry-for-FirmwareResiliencyErr.patch \
file://0023-Add-get-IPMI-session-id-s-to-Redfish.patch \
file://0024-Add-count-sensor-type.patch \
+ file://0025-Add-Model-CoreCount-to-ProcessorSummary.patch \
"
# OOB Bios Config:
@@ -50,7 +49,7 @@ SRC_URI += "file://vm/0001-Revert-Disable-nbd-proxy-from-the-build.patch \
"
# EventService: Temporary pulled to downstream. See eventservice\README for details
-SRC_URI += "file://eventservice/0001-EventService-Fix-retry-handling-for-http-client.patch \
+SRC_URI += "file://eventservice/0001-Add-unmerged-changes-for-http-retry-support.patch \
file://eventservice/0002-EventService-https-client-support.patch \
file://eventservice/0004-Add-Server-Sent-Events-support.patch \
file://eventservice/0005-Add-SSE-style-subscription-support-to-eventservice.patch \
@@ -59,6 +58,7 @@ SRC_URI += "file://eventservice/0001-EventService-Fix-retry-handling-for-http-cl
file://eventservice/0008-Add-checks-on-Event-Subscription-input-parameters.patch \
file://eventservice/0009-Restructure-Redifsh-EventLog-Transmit-code-flow.patch \
file://eventservice/0010-Remove-Terminated-Event-Subscriptions.patch \
+ file://eventservice/0011-Fix-bmcweb-crash-while-deleting-terminated-subscriptions.patch \
"
# Temporary downstream mirror of upstream patches, see telemetry\README for details
@@ -69,20 +69,23 @@ SRC_URI += " file://telemetry/0001-Add-support-for-MetricDefinition-scheme.patch
file://telemetry/0005-Add-GET-method-for-TriggerCollection.patch \
file://telemetry/0006-Revert-Remove-LogService-from-TelemetryService.patch \
file://telemetry/0007-event-service-fix-added-Context-field-to-response.patch \
- file://telemetry/0008-Generalize-ReadingType-in-MetricDefinition.patch \
file://telemetry/0009-Add-support-for-deleting-terminated-subscriptions.patch \
"
+# Temporary downstream patch for routing and privilege changes
+SRC_URI += " file://http_routing/0001-Add-asyncResp-support-during-handleUpgrade.patch \
+ file://http_routing/0002-Move-privileges-to-separate-entity.patch \
+ file://http_routing/0003-Add-Support-for-privilege-check-in-handleUpgrade.patch \
+ file://http_routing/0004-Add-Privileges-to-Websockets.patch \
+ file://http_routing/0005-Add-Privileges-to-SseSockets.patch \
+"
+
# Temporary fix: Move it to service file
do_install:append() {
install -d ${D}/var/lib/bmcweb
install -d ${D}/etc/ssl/certs/authority
}
-# Temporary fix:Enable new power and thermal subsystem
-EXTRA_OEMESON += " -Dredfish-new-powersubsystem-thermalsubsystem=enabled"
-EXTRA_OEMESON += " -Dredfish-allow-deprecated-power-thermal=disabled"
-
# Enable PFR support
EXTRA_OEMESON += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', '-Dredfish-provisioning-feature=enabled', '', d)}"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
index fd45b0e1c..87aab6f79 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -1,6 +1,9 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
PROJECT_SRC_DIR := "${THISDIR}/${PN}"
+#SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
+SRCREV = "78fe1b14f60d55ae335369fb2c6e81ed9ac6d865"
+
SRC_URI += "file://phosphor-ipmi-host.service \
file://0010-fix-get-system-GUID-ipmi-command.patch \
file://0053-Fix-keep-looping-issue-when-entering-OS.patch \
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
index 1ddd13477..caf25fdd6 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
@@ -1,5 +1,5 @@
SRC_URI = "git://github.com/openbmc/ipmbbridge.git"
-SRCREV = "bd78df6be9f677136ca190d50101c328267ddcd2"
+SRCREV = "8227626764edf13350c5f5a5857298a905fb43f7"
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://0001-Add-dbus-method-SlotIpmbRequest.patch \
file://0002-Add-log-count-limitation-to-requestAdd.patch \
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend
index 08b96ad71..fd1677543 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend
@@ -11,7 +11,7 @@ SMM_DEVICE = "ipmi_kcs4"
SYSTEMD_SERVICE:${PN}:append = " ${PN}@${SMM_DEVICE}.service "
SRC_URI = "git://github.com/openbmc/kcsbridge.git"
-SRCREV = "03e6defcbca99c9c00cd37c4afb1d2b415a92acd"
+SRCREV = "7580a8e60d868b5bcb1a8f8d276374afe7c0983a"
SRC_URI += "file://99-ipmi-kcs.rules"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
index bde839859..a0b507cb8 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
@@ -3,7 +3,7 @@ inherit useradd
# TODO: This should be removed, once up-stream bump up
# issue is resolved
SRC_URI += "git://github.com/openbmc/phosphor-net-ipmid"
-SRCREV = "1c5b3ab05817d62a11f75c2a90b6891b18bf62cc"
+SRCREV = "5819666c23ee1d01a54fc5fb2c068bb1da1f29c7"
USERADD_PACKAGES = "${PN}"
# add a group called ipmi
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb
index 3be0d30b4..14093cf3e 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "The Node Manager Proxy provides a simple interface for communicat
with Management Engine via IPMB"
SRC_URI = "git://github.com/Intel-BMC/node-manager;protocol=ssh"
-SRCREV = "928d0994c7d8c1cc20dc69b763ecd62dcf8ab276"
+SRCREV = "9aca80fa2a405938de99aae777e6cfcf08525563"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/network/phosphor-snmp_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/network/phosphor-snmp_%.bbappend
new file mode 100644
index 000000000..6d9294635
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/network/phosphor-snmp_%.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS:append := ":${THISDIR}/${PN}"
+
+# SRC_URI = "git://github.com/openbmc/phosphor-snmp"
+SRCREV = "d560529eb7e22c0b78fb0def20f57c6f35be9dfe"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/peci/peci-pcie_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/peci/peci-pcie_%.bbappend
index 119cd9657..e7c5d1af3 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/peci/peci-pcie_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/peci/peci-pcie_%.bbappend
@@ -1,5 +1,5 @@
SRC_URI = "git://github.com/openbmc/peci-pcie"
-SRCREV = "8e96603605eebd574bb00cd35e7fa118071aeeae"
+SRCREV = "de624395a587be555463a14a3db90500b4e0521c"
EXTRA_OECMAKE += "-DWAIT_FOR_OS_STANDBY=1 -DUSE_RDENDPOINTCFG=1"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libmctp-intel_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libmctp-intel_git.bb
index 770870f1e..592d6ae0c 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libmctp-intel_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libmctp-intel_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "libmctp:intel"
DESCRIPTION = "Implementation of MCTP(DMTF DSP0236)"
SRC_URI = "git://github.com/Intel-BMC/libmctp.git;protocol=ssh"
-SRCREV = "52117fa04e6afabe8eb1285c702f1400fecfb992"
+SRCREV = "d530c2271e1f9ff5d76a170c0abd64bd03ef40fd"
S = "${WORKDIR}/git"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libpldm-intel_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libpldm-intel_git.bb
index 3e2bfc603..162b4ed74 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libpldm-intel_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/libpldm-intel_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "libpldm_intel"
DESCRIPTION = "Provides encode/decode APIs for PLDM specifications"
SRC_URI = "git://github.com/Intel-BMC/pmci.git;protocol=ssh"
-SRCREV = "c76742e725d7a1ebbee8a2d95168da8a53f0b2e1"
+SRCREV = "94437a678a1d23b22dc179b5cb7b165e52a429c0"
S = "${WORKDIR}/git/libpldm_intel"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctp-emulator.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctp-emulator.bb
index 128f6b544..fda4d6b79 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctp-emulator.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctp-emulator.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bcd9ada3a943f58551867d72893cc9ab"
SRC_URI = "git://github.com/Intel-BMC/pmci.git;protocol=ssh"
-SRCREV = "c76742e725d7a1ebbee8a2d95168da8a53f0b2e1"
+SRCREV = "94437a678a1d23b22dc179b5cb7b165e52a429c0"
S = "${WORKDIR}/git/mctp_emulator"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctp-wrapper.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctp-wrapper.bb
index 10dd1cf29..05e64ed46 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctp-wrapper.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctp-wrapper.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bcd9ada3a943f58551867d72893cc9ab"
SRC_URI = "git://github.com/Intel-BMC/pmci.git;protocol=ssh"
-SRCREV = "c76742e725d7a1ebbee8a2d95168da8a53f0b2e1"
+SRCREV = "94437a678a1d23b22dc179b5cb7b165e52a429c0"
S = "${WORKDIR}/git/mctp_wrapper"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpd.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpd.bb
index 4ab99cae9..8b088be23 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpd.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpd.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${PN}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/Intel-BMC/pmci.git;protocol=ssh"
-SRCREV = "c76742e725d7a1ebbee8a2d95168da8a53f0b2e1"
+SRCREV = "94437a678a1d23b22dc179b5cb7b165e52a429c0"
S = "${WORKDIR}/git"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpwplus.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpwplus.bb
index 87ac63624..b1c40ab61 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpwplus.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/mctpwplus.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=615045c30a05cde5c0e924854d43c327"
SRC_URI = "git://github.com/Intel-BMC/pmci.git;protocol=ssh"
-SRCREV = "c76742e725d7a1ebbee8a2d95168da8a53f0b2e1"
+SRCREV = "94437a678a1d23b22dc179b5cb7b165e52a429c0"
S = "${WORKDIR}/git/mctpwplus"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/nvmemi-daemon.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/nvmemi-daemon.bb
index 351d584d1..84c2c8066 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/nvmemi-daemon.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/nvmemi-daemon.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI = "git://github.com/Intel-BMC/nvme-mi.git;protocol=ssh"
-SRCREV = "29b49789236b89910af816e4606aab4126a56a4b"
+SRCREV = "c3d5021fb60cd46d5c948c69f3d57ac9648b5be5"
S = "${WORKDIR}/git"
PV = "1.0+git${SRCPV}"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/pldmd.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/pldmd.bb
index 091865b39..16253b5d0 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/pldmd.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/pldmd.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI += "git://github.com/Intel-BMC/pmci.git;protocol=ssh"
-SRCREV = "c76742e725d7a1ebbee8a2d95168da8a53f0b2e1"
+SRCREV = "94437a678a1d23b22dc179b5cb7b165e52a429c0"
S = "${WORKDIR}/git/pldmd"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/pmci-launcher.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/pmci-launcher.bb
index dc4c03ae8..c640c5664 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/pmci-launcher.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/pmci/pmci-launcher.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/Intel-BMC/pmci.git;protocol=ssh"
-SRCREV = "c76742e725d7a1ebbee8a2d95168da8a53f0b2e1"
+SRCREV = "94437a678a1d23b22dc179b5cb7b165e52a429c0"
S = "${WORKDIR}/git/pmci_launcher"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/prov-mode-mgr/prov-mode-mgr_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/prov-mode-mgr/prov-mode-mgr_git.bb
index a7df530cd..79971942a 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/prov-mode-mgr/prov-mode-mgr_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/prov-mode-mgr/prov-mode-mgr_git.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/Intel-BMC/provisioning-mode-manager.git;protocol=ssh"
-SRCREV = "ea03e4e87f5d5f0d873624b46ebc3deabb8d6ebe"
+SRCREV = "0aca01b4ce9b303e12ba0f757f56390da139c8bb"
inherit cmake systemd
SYSTEMD_SERVICE:${PN} = "xyz.openbmc_project.RestrictionMode.Manager.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend
index 1fcbd958e..8c2eeb83f 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend
@@ -1,4 +1,4 @@
# Enable downstream autobump
SRC_URI = "git://github.com/openbmc/phosphor-sel-logger.git"
-SRCREV = "a138ebd3c759f95c53d61170c05e69bf31718114"
+SRCREV = "87e3fcf439f2b943272365e1d294984f39bb52b8"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0004-Fan-Tach-Sensor-Threshold-Ignore-Zero.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0004-Fan-Tach-Sensor-Threshold-Ignore-Zero.patch
index 65558aba5..214fbe888 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0004-Fan-Tach-Sensor-Threshold-Ignore-Zero.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0004-Fan-Tach-Sensor-Threshold-Ignore-Zero.patch
@@ -1,4 +1,4 @@
-From 8f850ea8745aa7aafcb504aa50686ba00fdfcfee Mon Sep 17 00:00:00 2001
+From 221aaf1431a01fefb5e7df2461a1c691738a50a7 Mon Sep 17 00:00:00 2001
From: Zhikui Ren <zhikui.ren@intel.com>
Date: Fri, 19 Feb 2021 12:14:05 -0800
Subject: [PATCH] Fan Tach Sensor Threshold Ignore Zero
@@ -22,22 +22,18 @@ No cr event for the missing fans.
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com>
---
- src/TachSensor.cpp | 16 +++++++++++-----
- 1 file changed, 11 insertions(+), 5 deletions(-)
+ src/TachSensor.cpp | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/TachSensor.cpp b/src/TachSensor.cpp
-index 1ec979f..b17be98 100644
+index c375dbf..e85a2a2 100644
--- a/src/TachSensor.cpp
+++ b/src/TachSensor.cpp
-@@ -185,12 +185,18 @@ void TachSensor::handleResponse(const boost::system::error_code& err)
+@@ -186,10 +186,16 @@ void TachSensor::checkThresholds(void)
+ // WA - treat value <= 0 as not present
+ bool status = false;
- void TachSensor::checkThresholds(void)
- {
-- bool status = thresholds::checkThresholds(this);
--
- if (redundancy && *redundancy)
-+ // WA - treat value <= 0 as not present
-+ bool status = false;
+ if (value > 0)
{
- (*redundancy)
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0006-CPUSensor-create-RequirediTempSensor-if-defined.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0006-CPUSensor-create-RequirediTempSensor-if-defined.patch
index 0a6e73708..2083adfef 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0006-CPUSensor-create-RequirediTempSensor-if-defined.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0006-CPUSensor-create-RequirediTempSensor-if-defined.patch
@@ -1,4 +1,4 @@
-From ba069b63307352ae0dc0a94a837306dc0bc51e94 Mon Sep 17 00:00:00 2001
+From 6ace96be5a7b6763545c1dfc572f8e2790d99d4b Mon Sep 17 00:00:00 2001
From: Zhikui Ren <zhikui.ren@intel.com>
Date: Tue, 11 May 2021 11:14:55 -0700
Subject: [PATCH] CPUSensor: create RequiredTempSensor if defined
@@ -23,12 +23,12 @@ failure case. More work will follow to support a more generic
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com>
---
include/CPUSensor.hpp | 9 ++++++
- src/CPUSensor.cpp | 69 +++++++++++++++++++++++++++++++++++++++++++
- src/CPUSensorMain.cpp | 54 ++++++++++++++++++++++++++++-----
- 3 files changed, 124 insertions(+), 8 deletions(-)
+ src/CPUSensor.cpp | 68 +++++++++++++++++++++++++++++++++++++++++++
+ src/CPUSensorMain.cpp | 54 +++++++++++++++++++++++++++++-----
+ 3 files changed, 123 insertions(+), 8 deletions(-)
diff --git a/include/CPUSensor.hpp b/include/CPUSensor.hpp
-index 29b8209..5d09e4e 100644
+index 8b51b76..93b7fcc 100644
--- a/include/CPUSensor.hpp
+++ b/include/CPUSensor.hpp
@@ -26,6 +26,15 @@ class CPUSensor : public Sensor
@@ -48,10 +48,10 @@ index 29b8209..5d09e4e 100644
static constexpr unsigned int sensorScaleFactor = 1000;
static constexpr unsigned int sensorPollMs = 1000;
diff --git a/src/CPUSensor.cpp b/src/CPUSensor.cpp
-index c882698..277dd3f 100644
+index c330088..3861ade 100644
--- a/src/CPUSensor.cpp
+++ b/src/CPUSensor.cpp
-@@ -99,6 +99,75 @@ CPUSensor::CPUSensor(const std::string& path, const std::string& objectType,
+@@ -98,6 +98,74 @@ CPUSensor::CPUSensor(const std::string& path, const std::string& objectType,
setupRead();
}
@@ -64,9 +64,8 @@ index c882698..277dd3f 100644
+ boost::asio::io_service& io, const std::string& sensorName,
+ std::vector<thresholds::Threshold>&& thresholdsIn,
+ const std::string& sensorConfiguration) :
-+ Sensor(boost::replace_all_copy(sensorName, " ", "_"),
-+ std::move(thresholdsIn), sensorConfiguration, objectType, false, 0,
-+ 0, conn, PowerState::on),
++ Sensor(escapeName(sensorName), std::move(thresholdsIn), sensorConfiguration,
++ objectType, false, false, 0, 0, conn, PowerState::on),
+ objServer(objectServer), inputDev(io), waitTimer(io),
+ privTcontrol(std::numeric_limits<double>::quiet_NaN()), dtsOffset(0),
+ show(true), pollTime(CPUSensor::sensorPollMs), minMaxReadCounter(0)
@@ -128,10 +127,10 @@ index c882698..277dd3f 100644
{
// close the input dev to cancel async operations
diff --git a/src/CPUSensorMain.cpp b/src/CPUSensorMain.cpp
-index c565890..a28a5be 100644
+index 0d94e4b..1d12fa6 100644
--- a/src/CPUSensorMain.cpp
+++ b/src/CPUSensorMain.cpp
-@@ -333,10 +333,9 @@ bool createSensors(boost::asio::io_service& io,
+@@ -332,10 +332,9 @@ bool createSensors(boost::asio::io_service& io,
{
if (debug)
{
@@ -144,7 +143,7 @@ index c565890..a28a5be 100644
}
// check hidden properties
-@@ -637,9 +636,9 @@ void detectCpuAsync(
+@@ -636,9 +635,9 @@ void detectCpuAsync(
});
}
@@ -156,7 +155,7 @@ index c565890..a28a5be 100644
sdbusplus::asio::object_server& objectServer)
{
bool useCache = false;
-@@ -701,6 +700,45 @@ bool getCpuConfig(const std::shared_ptr<sdbusplus::asio::connection>& systemBus,
+@@ -700,6 +699,45 @@ bool getCpuConfig(const std::shared_ptr<sdbusplus::asio::connection>& systemBus,
iface->register_property("Present", *present);
iface->initialize();
inventoryIfaces[name] = std::move(iface);
@@ -202,7 +201,7 @@ index c565890..a28a5be 100644
}
auto findBus = config.second.find("Bus");
-@@ -729,7 +767,6 @@ bool getCpuConfig(const std::shared_ptr<sdbusplus::asio::connection>& systemBus,
+@@ -728,7 +766,6 @@ bool getCpuConfig(const std::shared_ptr<sdbusplus::asio::connection>& systemBus,
std::cout << "name: " << name << "\n";
std::cout << "type: " << type << "\n";
}
@@ -210,7 +209,7 @@ index c565890..a28a5be 100644
cpuConfigs.emplace(bus, addr, name, State::OFF);
}
}
-@@ -765,7 +802,8 @@ int main()
+@@ -764,7 +801,8 @@ int main()
return; // we're being canceled
}
@@ -220,7 +219,7 @@ index c565890..a28a5be 100644
{
detectCpuAsync(pingTimer, creationTimer, io, objectServer,
systemBus, cpuConfigs, sensorConfigs);
-@@ -793,7 +831,7 @@ int main()
+@@ -792,7 +830,7 @@ int main()
return; // we're being canceled
}
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0007-Add-support-for-the-energy-hwmon-type.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0007-Add-support-for-the-energy-hwmon-type.patch
index dbe851fde..daaca7fae 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0007-Add-support-for-the-energy-hwmon-type.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0007-Add-support-for-the-energy-hwmon-type.patch
@@ -1,4 +1,4 @@
-From b839028a4dda6fcec027f3a26887e0de0e8172bb Mon Sep 17 00:00:00 2001
+From 9f5ef2e8d9c34d9d9ddce34d450aaedd5c122b22 Mon Sep 17 00:00:00 2001
From: Szymon Dompke <szymon.dompke@intel.com>
Date: Tue, 18 May 2021 05:22:33 +0200
Subject: [PATCH] Add support for the energy hwmon type
@@ -31,13 +31,13 @@ Tested:
Authored-by: Zbigniew Kurzynski <zbigniew.kurzynski@intel.com>
Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
---
- include/CPUSensor.hpp | 13 ++++++--
- src/CPUSensor.cpp | 69 +++++++++++++++----------------------------
+ include/CPUSensor.hpp | 13 +++++++--
+ src/CPUSensor.cpp | 68 +++++++++++++++----------------------------
src/CPUSensorMain.cpp | 30 ++++++++++++++++---
- 3 files changed, 60 insertions(+), 52 deletions(-)
+ 3 files changed, 60 insertions(+), 51 deletions(-)
diff --git a/include/CPUSensor.hpp b/include/CPUSensor.hpp
-index 5d09e4e..cb3742a 100644
+index 93b7fcc..76e43dc 100644
--- a/include/CPUSensor.hpp
+++ b/include/CPUSensor.hpp
@@ -16,6 +16,15 @@
@@ -82,21 +82,20 @@ index 5d09e4e..cb3742a 100644
void handleResponse(const boost::system::error_code& err);
void checkThresholds(void) override;
diff --git a/src/CPUSensor.cpp b/src/CPUSensor.cpp
-index 277dd3f..0621e04 100644
+index 3861ade..6737151 100644
--- a/src/CPUSensor.cpp
+++ b/src/CPUSensor.cpp
-@@ -39,59 +39,37 @@ CPUSensor::CPUSensor(const std::string& path, const std::string& objectType,
+@@ -39,58 +39,37 @@ CPUSensor::CPUSensor(const std::string& path, const std::string& objectType,
boost::asio::io_service& io, const std::string& sensorName,
std::vector<thresholds::Threshold>&& thresholdsIn,
const std::string& sensorConfiguration, int cpuId,
- bool show, double dtsOffset) :
+ bool show, double dtsOffset,
+ const SensorProperties& sensorProperties) :
- Sensor(boost::replace_all_copy(sensorName, " ", "_"),
-- std::move(thresholdsIn), sensorConfiguration, objectType, false, 0,
-- 0, conn, PowerState::on),
-+ std::move(thresholdsIn), sensorConfiguration, objectType, false,
-+ sensorProperties.max, sensorProperties.min, conn, PowerState::on),
+ Sensor(escapeName(sensorName), std::move(thresholdsIn), sensorConfiguration,
+- objectType, false, false, 0, 0, conn, PowerState::on),
++ objectType, false, false, sensorProperties.max, sensorProperties.min,
++ conn, PowerState::on),
objServer(objectServer), inputDev(io), waitTimer(io), path(path),
privTcontrol(std::numeric_limits<double>::quiet_NaN()),
dtsOffset(dtsOffset), show(show), pollTime(CPUSensor::sensorPollMs),
@@ -152,12 +151,12 @@ index 277dd3f..0621e04 100644
- setInitialProperties(conn, units);
+ thresholdInterfaceWarning = objectServer.add_interface(
+ interfacePath, "xyz.openbmc_project.Sensor.Threshold.Warning");
-+ }
+ }
+ if (thresholds::hasCriticalInterface(thresholds))
+ {
+ thresholdInterfaceCritical = objectServer.add_interface(
+ interfacePath, "xyz.openbmc_project.Sensor.Threshold.Critical");
- }
++ }
+ association =
+ objectServer.add_interface(interfacePath, association::interface);
+
@@ -165,7 +164,7 @@ index 277dd3f..0621e04 100644
}
// call setup always as not all sensors call setInitialProperties
-@@ -248,7 +226,7 @@ void CPUSensor::updateMinMaxValues(void)
+@@ -248,7 +227,7 @@ void CPUSensor::updateMinMaxValues(void)
auto& [suffix, oldValue, dbusName, newValue] = vectorItem;
auto attrPath = boost::replace_all_copy(path, fileItem, suffix);
@@ -174,7 +173,7 @@ index 277dd3f..0621e04 100644
{
newValue.get() = *tmp;
}
-@@ -302,7 +280,7 @@ void CPUSensor::handleResponse(const boost::system::error_code& err)
+@@ -302,7 +281,7 @@ void CPUSensor::handleResponse(const boost::system::error_code& err)
std::getline(responseStream, response);
rawValue = std::stod(response);
responseStream.clear();
@@ -183,7 +182,7 @@ index 277dd3f..0621e04 100644
if (show)
{
-@@ -328,8 +306,7 @@ void CPUSensor::handleResponse(const boost::system::error_code& err)
+@@ -328,8 +307,7 @@ void CPUSensor::handleResponse(const boost::system::error_code& err)
{
std::vector<thresholds::Threshold> newThresholds;
if (parseThresholdsFromAttr(newThresholds, path,
@@ -194,12 +193,12 @@ index 277dd3f..0621e04 100644
if (!std::equal(thresholds.begin(), thresholds.end(),
newThresholds.begin(),
diff --git a/src/CPUSensorMain.cpp b/src/CPUSensorMain.cpp
-index a28a5be..baa2bb6 100644
+index 1d12fa6..e348aa7 100644
--- a/src/CPUSensorMain.cpp
+++ b/src/CPUSensorMain.cpp
-@@ -94,6 +94,18 @@ static constexpr std::array<const char*, 1> sensorTypes = {"XeonCPU"};
- static constexpr std::array<const char*, 3> hiddenProps = {
- CPUSensor::labelTcontrol, "Tthrottle", "Tjmax"};
+@@ -94,6 +94,18 @@ static constexpr auto sensorTypes{std::to_array<const char*>({"XeonCPU"})};
+ static constexpr auto hiddenProps{std::to_array<const char*>(
+ {CPUSensor::labelTcontrol, "Tthrottle", "Tjmax"})};
+static const boost::container::flat_map<std::string, SensorProperties>
+ sensorPropertiesMap = {
@@ -216,7 +215,7 @@ index a28a5be..baa2bb6 100644
void detectCpuAsync(
boost::asio::deadline_timer& pingTimer,
boost::asio::deadline_timer& creationTimer, boost::asio::io_service& io,
-@@ -297,7 +309,8 @@ bool createSensors(boost::asio::io_service& io,
+@@ -296,7 +308,8 @@ bool createSensors(boost::asio::io_service& io,
auto directory = hwmonNamePath.parent_path();
std::vector<fs::path> inputPaths;
@@ -226,7 +225,7 @@ index a28a5be..baa2bb6 100644
inputPaths, 0))
{
std::cerr << "No temperature sensors in system\n";
-@@ -365,6 +378,16 @@ bool createSensors(boost::asio::io_service& io,
+@@ -364,6 +377,16 @@ bool createSensors(boost::asio::io_service& io,
}
}
@@ -243,7 +242,7 @@ index a28a5be..baa2bb6 100644
std::vector<thresholds::Threshold> sensorThresholds;
std::string labelHead = label.substr(0, label.find(' '));
parseThresholdsFromConfig(*sensorData, sensorThresholds,
-@@ -372,8 +395,7 @@ bool createSensors(boost::asio::io_service& io,
+@@ -371,8 +394,7 @@ bool createSensors(boost::asio::io_service& io,
if (sensorThresholds.empty())
{
if (!parseThresholdsFromAttr(sensorThresholds, inputPathStr,
@@ -253,7 +252,7 @@ index a28a5be..baa2bb6 100644
{
std::cerr << "error populating thresholds for "
<< sensorName << "\n";
-@@ -385,7 +407,7 @@ bool createSensors(boost::asio::io_service& io,
+@@ -384,7 +406,7 @@ bool createSensors(boost::asio::io_service& io,
sensorPtr = std::make_unique<CPUSensor>(
inputPathStr, sensorType, objectServer, dbusConnection, io,
sensorName, std::move(sensorThresholds), *interfacePath, cpuId,
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend
index ccffb1e58..765ad3739 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend
@@ -1,7 +1,7 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
PROJECT_SRC_DIR := "${THISDIR}/${PN}"
-SRCREV = "1e34cecad498e89fb52b4c73cb19e62a297f2329"
+SRCREV = "77518b28db824e01af18351094680a99b1ba3cae"
#SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
SRC_URI += "\
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/special-mode-mgr/special-mode-mgr_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/special-mode-mgr/special-mode-mgr_git.bb
index 7820d805b..d17aebf00 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/special-mode-mgr/special-mode-mgr_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/special-mode-mgr/special-mode-mgr_git.bb
@@ -9,7 +9,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/Intel-BMC/special-mode-manager.git;protocol=ssh"
-SRCREV = "5f413eec673f3e6e5e754e2c55048abf0a146e5b"
+SRCREV = "42a0ba3c61ae38cc84b06705159065860492fc2e"
EXTRA_OECMAKE += "${@bb.utils.contains('EXTRA_IMAGE_FEATURES', 'validation-unsecure', '-DBMC_VALIDATION_UNSECURE_FEATURE=ON', '', d)}"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-post-code-manager_git.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-post-code-manager_git.bbappend
index 8732ccd40..a4e894cbc 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-post-code-manager_git.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-post-code-manager_git.bbappend
@@ -1,2 +1,2 @@
#SRC_URI = "git://github.com/openbmc/phosphor-post-code-manager.git"
-SRCREV = "aed7b3de090005433b16ca986ed3df4dbc81446f"
+SRCREV = "9ce5a645f50c0ab94e582abbf95474f636aba678"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/system/callback-manager.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/system/callback-manager.bb
index 0483ced61..b123ddb35 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/system/callback-manager.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/system/callback-manager.bb
@@ -7,7 +7,7 @@ inherit cmake systemd
DEPENDS = "boost sdbusplus"
PV = "0.1+git${SRCPV}"
-SRCREV = "1a9dde9b193a34392ab11a14d9cd0310f9abb930"
+SRCREV = "0c5059f685f6df0704a4b773f2e617cf10d03210"
S = "${WORKDIR}/git/callback-manager"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/telemetry/telemetry_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/telemetry/telemetry_%.bbappend
index 68e8ee6ac..ebd808168 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/telemetry/telemetry_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/telemetry/telemetry_%.bbappend
@@ -1,5 +1,5 @@
SRC_URI = "git://github.com/openbmc/telemetry.git"
-SRCREV = "93064d8fcef2c6fde1f61c0cedacb46b21eab039"
+SRCREV = "e28aa53dc1492f09a64dc9f1dbfd5b6dba06e31f"
EXTRA_OEMESON += " -Dmax-reports=10"
EXTRA_OEMESON += " -Dmax-reading-parameters=200"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager_%.bbappend
index 718829194..21c7991bd 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager_%.bbappend
@@ -1,7 +1,7 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI = "git://github.com/openbmc/phosphor-user-manager"
-SRCREV = "372c5668c0ed893f53edc0f9fa880cb50b48f203"
+SRCREV = "c0760c9109a0d847fd77d54c6b7948322a375d1d"
EXTRA_OECONF += "${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-root-login' ], '', '--disable-root_user_mgmt', d)}"
@@ -10,7 +10,7 @@ SRC_URI += " \
file://0006-Use-groupmems-instead-of-getgrnam_r-due-to-overlay.patch \
"
-FILES:${PN} += "/dbus-1/system.d/phosphor-nslcd-cert-config.conf"
+FILES:${PN} += "${datadir}/dbus-1/system.d/phosphor-nslcd-cert-config.conf"
FILES:${PN} += "/usr/share/phosphor-certificate-manager/nslcd"
FILES:${PN} += "\
- /lib/systemd/system/multi-user.target.wants/phosphor-certificate-manager@nslcd.service" \ No newline at end of file
+ /lib/systemd/system/multi-user.target.wants/phosphor-certificate-manager@nslcd.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog.bb
deleted file mode 100644
index f8ddf7892..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-
-SUMMARY = "FRB2 timer service"
-DESCRIPTION = "The FRB2 timer service will monitor the mailbox register 0\
-and start a watchdog for FRB2 if the data is 1(BIOS will write this value)"
-
-SRC_URI = "\
- file://CMakeLists.txt;subdir=${BP} \
- file://frb2-watchdog.cpp;subdir=${BP} \
- "
-PV = "0.1"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit cmake
-inherit pkgconfig
-
-DEPENDS += " \
- systemd \
- sdbusplus \
- phosphor-logging \
- phosphor-dbus-interfaces \
- boost \
- "
-
-RDEPENDS:${PN} += " \
- libsystemd \
- sdbusplus \
- phosphor-logging \
- phosphor-dbus-interfaces \
- "
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/.clang-format b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/.clang-format
deleted file mode 100644
index dd2770837..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/.clang-format
+++ /dev/null
@@ -1,98 +0,0 @@
----
-Language: Cpp
-# BasedOnStyle: LLVM
-AccessModifierOffset: -2
-AlignAfterOpenBracket: Align
-AlignConsecutiveAssignments: false
-AlignConsecutiveDeclarations: false
-AlignEscapedNewlinesLeft: false
-AlignOperands: true
-AlignTrailingComments: true
-AllowAllParametersOfDeclarationOnNextLine: true
-AllowShortBlocksOnASingleLine: false
-AllowShortCaseLabelsOnASingleLine: false
-AllowShortFunctionsOnASingleLine: None
-AllowShortIfStatementsOnASingleLine: false
-AllowShortLoopsOnASingleLine: false
-AlwaysBreakAfterDefinitionReturnType: None
-AlwaysBreakAfterReturnType: None
-AlwaysBreakBeforeMultilineStrings: false
-AlwaysBreakTemplateDeclarations: false
-BinPackArguments: true
-BinPackParameters: true
-BraceWrapping:
- AfterClass: true
- AfterControlStatement: true
- AfterEnum: true
- AfterFunction: true
- AfterNamespace: true
- AfterObjCDeclaration: true
- AfterStruct: true
- AfterUnion: true
- BeforeCatch: true
- BeforeElse: true
- IndentBraces: false
-BreakBeforeBinaryOperators: None
-BreakBeforeBraces: Custom
-BreakBeforeTernaryOperators: true
-BreakConstructorInitializers: AfterColon
-ColumnLimit: 80
-CommentPragmas: '^ IWYU pragma:'
-ConstructorInitializerAllOnOneLineOrOnePerLine: false
-ConstructorInitializerIndentWidth: 4
-ContinuationIndentWidth: 4
-Cpp11BracedListStyle: true
-DerivePointerAlignment: true
-PointerAlignment: Left
-DisableFormat: false
-ExperimentalAutoDetectBinPacking: false
-FixNamespaceComments: true
-ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
-IncludeBlocks: Regroup
-IncludeCategories:
- - Regex: '^[<"](gtest|gmock)'
- Priority: 5
- - Regex: '^"config.h"'
- Priority: -1
- - Regex: '^".*\.hpp"'
- Priority: 1
- - Regex: '^<.*\.h>'
- Priority: 2
- - Regex: '^<.*'
- Priority: 3
- - Regex: '.*'
- Priority: 4
-IndentCaseLabels: true
-IndentWidth: 4
-IndentWrappedFunctionNames: true
-KeepEmptyLinesAtTheStartOfBlocks: true
-MacroBlockBegin: ''
-MacroBlockEnd: ''
-MaxEmptyLinesToKeep: 1
-NamespaceIndentation: None
-ObjCBlockIndentWidth: 2
-ObjCSpaceAfterProperty: false
-ObjCSpaceBeforeProtocolList: true
-PenaltyBreakBeforeFirstCallParameter: 19
-PenaltyBreakComment: 300
-PenaltyBreakFirstLessLess: 120
-PenaltyBreakString: 1000
-PenaltyExcessCharacter: 1000000
-PenaltyReturnTypeOnItsOwnLine: 60
-PointerAlignment: Right
-ReflowComments: true
-SortIncludes: true
-SpaceAfterCStyleCast: false
-SpaceBeforeAssignmentOperators: true
-SpaceBeforeParens: ControlStatements
-SpaceInEmptyParentheses: false
-SpacesBeforeTrailingComments: 1
-SpacesInAngles: false
-SpacesInContainerLiterals: true
-SpacesInCStyleCastParentheses: false
-SpacesInParentheses: false
-SpacesInSquareBrackets: false
-Standard: Cpp11
-TabWidth: 4
-UseTab: Never
-...
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/CMakeLists.txt b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/CMakeLists.txt
deleted file mode 100644
index bd5567d31..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/CMakeLists.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-cmake_minimum_required (VERSION 3.5 FATAL_ERROR)
-project (frb2-watchdog CXX)
-set (CMAKE_CXX_STANDARD 17)
-set (CMAKE_CXX_STANDARD_REQUIRED ON)
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
-set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-rtti")
-
-include_directories (${CMAKE_CURRENT_SOURCE_DIR})
-
-# boost support
-find_package (Boost REQUIRED)
-# pkg_check_modules(Boost boost REQUIRED)
-include_directories (${Boost_INCLUDE_DIRS})
-add_definitions (-DBOOST_ERROR_CODE_HEADER_ONLY)
-add_definitions (-DBOOST_SYSTEM_NO_DEPRECATED)
-add_definitions (-DBOOST_ALL_NO_LIB)
-add_definitions (-DBOOST_NO_RTTI)
-add_definitions (-DBOOST_NO_TYPEID)
-add_definitions (-DBOOST_ASIO_DISABLE_THREADS)
-
-# import libsystemd
-find_package (PkgConfig REQUIRED)
-pkg_check_modules (SYSTEMD libsystemd REQUIRED)
-include_directories (${SYSTEMD_INCLUDE_DIRS})
-link_directories (${SYSTEMD_LIBRARY_DIRS})
-
-# import sdbusplus
-find_package (PkgConfig REQUIRED)
-pkg_check_modules (SDBUSPLUSPLUS sdbusplus REQUIRED)
-include_directories (${SDBUSPLUSPLUS_INCLUDE_DIRS})
-link_directories (${SDBUSPLUSPLUS_LIBRARY_DIRS})
-
-# import phosphor-logging
-find_package (PkgConfig REQUIRED)
-pkg_check_modules (LOGGING phosphor-logging REQUIRED)
-include_directories (${LOGGING_INCLUDE_DIRS})
-link_directories (${LOGGING_LIBRARY_DIRS})
-
-# import phosphor-dbus-interfaces
-find_package (PkgConfig REQUIRED)
-pkg_check_modules (DBUSINTERFACE phosphor-dbus-interfaces REQUIRED)
-include_directories (${DBUSINTERFACE_INCLUDE_DIRS})
-link_directories (${DBUSINTERFACE_LIBRARY_DIRS})
-
-add_executable (frb2-watchdog frb2-watchdog.cpp)
-
-target_link_libraries (${PROJECT_NAME} systemd)
-target_link_libraries (${PROJECT_NAME} ${Boost_LIBRARIES})
-target_link_libraries (${PROJECT_NAME} ${SDBUSPLUSPLUS_LIBRARIES})
-target_link_libraries (${PROJECT_NAME} ${DBUSINTERFACE_LIBRARIES}
- phosphor_logging)
-install (TARGETS frb2-watchdog DESTINATION bin)
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/cmake-format.json b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/cmake-format.json
deleted file mode 100644
index 583c255a3..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/cmake-format.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "enum_char": ".",
- "line_ending": "unix",
- "bullet_char": "*",
- "max_subargs_per_line": 99,
- "command_case": "lower",
- "tab_size": 4,
- "line_width": 80,
- "separate_fn_name_with_space": true,
- "dangle_parens": true,
- "separate_ctrl_name_with_space": true
-} \ No newline at end of file
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/frb2-watchdog.cpp b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/frb2-watchdog.cpp
deleted file mode 100644
index bae54f335..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/frb2-watchdog/frb2-watchdog.cpp
+++ /dev/null
@@ -1,264 +0,0 @@
-/* Copyright 2018 Intel
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <fcntl.h>
-#include <stdlib.h>
-#include <sys/ioctl.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include <boost/asio/buffers_iterator.hpp>
-#include <boost/asio/deadline_timer.hpp>
-#include <boost/asio/io_service.hpp>
-#include <boost/asio/ip/tcp.hpp>
-#include <boost/asio/posix/stream_descriptor.hpp>
-#include <boost/asio/read_until.hpp>
-#include <boost/asio/streambuf.hpp>
-#include <boost/container/flat_set.hpp>
-#include <cassert>
-#include <cstdint>
-#include <cstring>
-#include <iostream>
-#include <memory>
-#include <optional>
-#include <phosphor-logging/log.hpp>
-#include <sdbusplus/asio/object_server.hpp>
-#include <sdbusplus/bus.hpp>
-#include <sdbusplus/bus/match.hpp>
-#include <sdbusplus/message.hpp>
-#include <sdbusplus/timer.hpp>
-#include <vector>
-#include <xyz/openbmc_project/State/Watchdog/server.hpp>
-
-void handleResponse(const boost::system::error_code &err,
- std::size_t bytes_transferred);
-
-static int mailboxDevFd = -1;
-
-static boost::asio::io_service io;
-static auto conn = std::make_shared<sdbusplus::asio::connection>(io);
-boost::asio::ip::tcp::socket mailBoxDevSocket(io);
-boost::asio::deadline_timer pollTimer(io);
-boost::asio::posix::stream_descriptor inputDevice(io);
-
-// mailbox registre data[0:0] for FRB2 enable bit
-boost::asio::streambuf readBuf(1);
-std::string dataRead;
-
-// FRB2 watchdog timeout is 6 minutes
-static constexpr unsigned int frb2TimerIntervalMs = 360 * 1000;
-
-// mailbox device polling time interval is 2 seconds
-static constexpr unsigned int pollMs = 2000;
-
-static constexpr unsigned int frb2Started = 1;
-static constexpr unsigned int frb2Stopped = 0;
-
-// FRB2 status
-static uint8_t frb2Status = frb2Stopped;
-
-static constexpr const char *mailboxDevName = "/dev/aspeed-mbox";
-
-static constexpr const char frb2Bus[] = "xyz.openbmc_project.FRB2";
-static constexpr const char frb2Obj[] = "/xyz/openbmc_project/FRB2";
-static constexpr const char frb2Intf[] = "xyz.openbmc_project.FRB2";
-
-static constexpr char powerBus[] = "xyz.openbmc_project.Chassis.Control.Power";
-static constexpr char powerPath[] =
- "/xyz/openbmc_project/Chassis/Control/Power0";
-static constexpr char powerIntf[] = "xyz.openbmc_project.Chassis.Control.Power";
-
-static constexpr char wdBus[] = "xyz.openbmc_project.Watchdog";
-static constexpr char wdPath[] = "/xyz/openbmc_project/watchdog/host0";
-static constexpr char wdIntf[] = "xyz.openbmc_project.State.Watchdog";
-static constexpr char propIntf[] = "org.freedesktop.DBus.Properties";
-
-typedef boost::asio::buffers_iterator<boost::asio::const_buffers_1> iterator;
-
-// check if FRB2 bit is 0x1
-std::pair<iterator, bool> matchFRB2(iterator begin, iterator end)
-{
- unsigned char ch = 0;
- iterator i = begin;
-
- while (i != end)
- {
- ch = static_cast<unsigned char>(*i);
- if (ch & 0x1)
- {
- return std::make_pair(i, true);
- }
- i++;
- }
-
- return std::make_pair(i, false);
-}
-
-static void startRead()
-{
- boost::asio::async_read_until(inputDevice, readBuf, matchFRB2,
- [&](const boost::system::error_code &ec,
- std::size_t bytes_transferred) {
- handleResponse(ec, bytes_transferred);
- });
-}
-
-template <typename T> void setProperty(const std::string &key, const T &val)
-{
- phosphor::logging::log<phosphor::logging::level::DEBUG>(
- "setProperty", phosphor::logging::entry("KEY=%s", key.c_str()));
-
- try
- {
- conn->async_method_call(
- [](const boost::system::error_code &err) {
- if (err)
- {
- phosphor::logging::log<phosphor::logging::level::ERR>(
- "async_method_call error!",
- phosphor::logging::entry(
- "ERROR=%s",
- boost::system::system_error(err).what()));
- }
- },
- wdBus, wdPath, propIntf, "Set", wdIntf, key, std::variant<T>(val));
- }
- catch (sdbusplus::exception::SdBusError &e)
- {
- phosphor::logging::log<phosphor::logging::level::ERR>(
- "Dbus error!", phosphor::logging::entry("ERROR=%s", e.what()));
- }
-}
-void handleResponse(const boost::system::error_code &err,
- std::size_t bytes_transferred)
-{
- std::istream responseStream(&readBuf);
- std::string response;
- int n = 0;
- uint64_t interval = frb2TimerIntervalMs;
-
- std::getline(responseStream, response);
- responseStream.clear();
-
- if (err == boost::system::errc::bad_file_descriptor)
- {
-
- phosphor::logging::log<phosphor::logging::level::DEBUG>(
- "bad file descriptor");
- return; // we're being destroyed
- }
-
- if (!err)
- {
- // FRB2 is set by BIOS
- if (frb2Stopped == frb2Status)
- {
- // start FRB2 watchdog
- frb2Status = frb2Started;
- phosphor::logging::log<phosphor::logging::level::DEBUG>(
- "FRB2 enable, start FRB2 watchdog");
- setProperty(
- "ExpireAction",
- std::string(
- "xyz.openbmc_project.State.Watchdog.Action.HardReset"));
- setProperty("Interval", interval);
- setProperty("TimeRemaining", interval);
- setProperty("Initialized", true);
- setProperty("Enabled", true);
- }
- }
- else if (err == boost::asio::error::misc_errors::not_found)
- {
- // FRB2 is clear, stop FRB2 watchdog if it is started
- if (frb2Started == frb2Status)
- {
- frb2Status = frb2Stopped;
- phosphor::logging::log<phosphor::logging::level::DEBUG>(
- "FRB2 is unset, stop FRB2 watchdog");
- setProperty("Enabled", false);
- }
- }
- else
- {
- phosphor::logging::log<phosphor::logging::level::ERR>(
- "handleResponse error!",
- phosphor::logging::entry("ERROR=%s",
- boost::system::system_error(err).what()));
- }
-
- pollTimer.expires_from_now(boost::posix_time::milliseconds(pollMs));
- pollTimer.async_wait(
- [](const boost::system::error_code &ec) { startRead(); });
-}
-
-int main(int argc, char **argv)
-{
- phosphor::logging::log<phosphor::logging::level::DEBUG>(
- "Monitor FRB2 signal");
-
- sdbusplus::bus::match_t biosPostSignal(
- static_cast<sdbusplus::bus::bus &>(*conn),
- sdbusplus::bus::match::rules::type::signal() +
- sdbusplus::bus::match::rules::member("PostCompleted") +
- sdbusplus::bus::match::rules::path(powerPath) +
- sdbusplus::bus::match::rules::interface(powerIntf),
- [](sdbusplus::message::message &msg) {
- uint8_t value = 0;
- ssize_t rc = 0;
- phosphor::logging::log<phosphor::logging::level::INFO>(
- "BIOS post completed signal");
- // stop FRB2 and clean mailbox
- value = 0;
- rc = ::pwrite(mailboxDevFd, &value, 1, 0);
- if (rc != 1)
- {
- phosphor::logging::log<phosphor::logging::level::ERR>(
- "mailbox write error!");
- }
- setProperty("Enabled", false);
- frb2Status = frb2Stopped;
- return;
- });
-
- conn->request_name(frb2Bus);
-
- auto server = sdbusplus::asio::object_server(conn);
-
- std::shared_ptr<sdbusplus::asio::dbus_interface> frb2Iface =
- server.add_interface(frb2Obj, frb2Intf);
-
- frb2Iface->register_property("frb2Status", frb2Status);
-
- frb2Iface->initialize();
-
- mailboxDevFd = ::open(mailboxDevName, O_RDWR | O_CLOEXEC);
- if (mailboxDevFd < 0)
- {
- phosphor::logging::log<phosphor::logging::level::ERR>(
- "mailbox device open fail!");
- return -1;
- }
-
- inputDevice.assign(mailboxDevFd);
-
- startRead();
-
- io.run();
-
- ::close(mailboxDevFd);
-
- return 0;
-}
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
index a403c4ec8..19db93805 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
@@ -1,4 +1,4 @@
SRC_URI = "git://github.com/Intel-BMC/phosphor-webui;protocol=ssh;branch=intel2"
FILESEXTRAPATHS:prepend:intel := "${THISDIR}/${PN}:"
-SRCREV = "2397c142c0d75c7705757a52848945b00928232d"
+SRCREV = "b5707d7648de19350b3f308b9602c888c6418d6f"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/0001-Undo-the-unrelated-package-changes-from-the-axios-up.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/0001-Undo-the-unrelated-package-changes-from-the-axios-up.patch
deleted file mode 100644
index 1068f8518..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/0001-Undo-the-unrelated-package-changes-from-the-axios-up.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 3b32612a73088b48486d38f46c780dfe3b8d463f Mon Sep 17 00:00:00 2001
-From: "Jason M. Bills" <jason.m.bills@linux.intel.com>
-Date: Fri, 24 Sep 2021 14:46:36 -0700
-Subject: [PATCH] Undo the unrelated package changes from the axios update
-
-When I pushed the update to axios, the npm commands changed other
-packages as well. I assumed this was expected but have since been
-seeing issues with nlf able to get license information.
-
-This reverts the non-axios changes from the previous update.
-
-Tested:
-Built and logged into the web UI successfully. Also successfully
-ran nlf a few times to get node license info.
-
-Change-Id: Idc03c1154861ccd493322e226814b20cc988bb00
-Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
----
- package-lock.json | 62 ++++++++++++++++++++---------------------------
- 1 file changed, 26 insertions(+), 36 deletions(-)
-
-diff --git a/package-lock.json b/package-lock.json
-index df71815..413dd62 100644
---- a/package-lock.json
-+++ b/package-lock.json
-@@ -4155,6 +4155,18 @@
- "supports-color": "^7.0.0"
- }
- },
-+ "loader-utils": {
-+ "version": "2.0.0",
-+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
-+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
-+ "dev": true,
-+ "optional": true,
-+ "requires": {
-+ "big.js": "^5.2.2",
-+ "emojis-list": "^3.0.0",
-+ "json5": "^2.1.2"
-+ }
-+ },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-@@ -4188,6 +4200,18 @@
- "webpack-sources": "^1.4.3"
- }
- },
-+ "vue-loader-v16": {
-+ "version": "npm:vue-loader@16.1.2",
-+ "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.2.tgz",
-+ "integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==",
-+ "dev": true,
-+ "optional": true,
-+ "requires": {
-+ "chalk": "^4.1.0",
-+ "hash-sum": "^2.0.0",
-+ "loader-utils": "^2.0.0"
-+ }
-+ },
- "wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
-@@ -5552,14 +5576,7 @@
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
- "requires": {
-- "follow-redirects": "^1.14.0"
-- },
-- "dependencies": {
-- "follow-redirects": {
-- "version": "1.14.4",
-- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz",
-- "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g=="
-- }
-+ "follow-redirects": "^1.10.0"
- }
- },
- "babel-code-frame": {
-@@ -10030,8 +10047,7 @@
- "follow-redirects": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz",
-- "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==",
-- "dev": true
-+ "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg=="
- },
- "for-each": {
- "version": "0.3.3",
-@@ -19486,32 +19502,6 @@
- }
- }
- },
-- "vue-loader-v16": {
-- "version": "npm:vue-loader@16.8.1",
-- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.1.tgz",
-- "integrity": "sha512-V53TJbHmzjBhCG5OYI2JWy/aYDspz4oVHKxS43Iy212GjGIG1T3EsB3+GWXFm/1z5VwjdjLmdZUFYM70y77vtQ==",
-- "dev": true,
-- "optional": true,
-- "requires": {
-- "chalk": "^4.1.0",
-- "hash-sum": "^2.0.0",
-- "loader-utils": "^2.0.0"
-- },
-- "dependencies": {
-- "loader-utils": {
-- "version": "2.0.0",
-- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
-- "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
-- "dev": true,
-- "optional": true,
-- "requires": {
-- "big.js": "^5.2.2",
-- "emojis-list": "^3.0.0",
-- "json5": "^2.1.2"
-- }
-- }
-- }
-- },
- "vue-router": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz",
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/login-company-logo.svg b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/login-company-logo.svg
new file mode 100644
index 000000000..0976f72e8
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/login-company-logo.svg
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 395.4 155.9" style="enable-background:new 0 0 395.4 155.9;" xml:space="preserve">
+<style type="text/css">
+ .st0{fill:#0068B5;}
+</style>
+<rect x="4.7" y="5.2" class="st0" width="28.1" height="28.1"/>
+<g>
+ <path d="M32.1,151.6V50.4H5.5v101.2H32.1z M208.9,152.6v-24.8c-3.9,0-7.2-0.2-9.6-0.6c-2.8-0.4-4.9-1.4-6.3-2.8
+ c-1.4-1.4-2.3-3.4-2.8-6c-0.4-2.5-0.6-5.8-0.6-9.8V73.2h19.3V50.4h-19.3V10.9h-26.7v97.9c0,8.3,0.7,15.3,2.1,20.9
+ c1.4,5.5,3.8,10,7.1,13.4s7.7,5.8,13,7.3c5.4,1.5,12.2,2.2,20.3,2.2L208.9,152.6L208.9,152.6z M361.7,151.6V3.1H335v148.5H361.7z
+ M137.2,60.3c-7.4-8-17.8-12-31-12c-6.4,0-12.2,1.3-17.5,3.9C83.5,54.8,79,58.4,75.5,63L74,64.9v-1.7V50.4H47.7v101.2h26.5V97.7
+ v3.7c0-0.6,0-1.2,0-1.8c0.3-9.5,2.6-16.5,7-21c4.7-4.8,10.4-7.2,16.9-7.2c7.7,0,13.6,2.4,17.5,7c3.8,4.6,5.8,11.1,5.8,19.4l0,0V98
+ l0,0l0,0v53.5h26.9V94.1C148.4,79.7,144.6,68.3,137.2,60.3z M321.2,100.8c0-7.3-1.3-14.1-3.8-20.5c-2.6-6.3-6.2-11.9-10.7-16.7
+ c-4.6-4.8-10.1-8.5-16.5-11.2s-13.5-4-21.2-4c-7.3,0-14.2,1.4-20.6,4.1c-6.4,2.8-12,6.5-16.7,11.2s-8.5,10.3-11.2,16.7
+ c-2.8,6.4-4.1,13.3-4.1,20.6c0,7.3,1.3,14.2,3.9,20.6c2.6,6.4,6.3,12,10.9,16.7c4.6,4.7,10.3,8.5,16.9,11.2
+ c6.6,2.8,13.9,4.2,21.7,4.2c22.6,0,36.6-10.3,45-19.9l-19.2-14.6c-4,4.8-13.6,11.3-25.6,11.3c-7.5,0-13.7-1.7-18.4-5.2
+ c-4.7-3.4-7.9-8.2-9.6-14.1l-0.3-0.9h79.5L321.2,100.8L321.2,100.8z M241.9,91.5c0-7.4,8.5-20.3,26.8-20.4
+ c18.3,0,26.9,12.9,26.9,20.3L241.9,91.5z"/>
+ <path d="M392.1,138.4c-0.5-1.2-1.2-2.2-2.1-3.1c-0.9-0.9-1.9-1.6-3.1-2.1s-2.5-0.8-3.8-0.8c-1.4,0-2.6,0.3-3.8,0.8
+ c-1.2,0.5-2.2,1.2-3.1,2.1c-0.9,0.9-1.6,1.9-2.1,3.1c-0.5,1.2-0.8,2.5-0.8,3.8c0,1.4,0.3,2.6,0.8,3.8s1.2,2.2,2.1,3.1
+ c0.9,0.9,1.9,1.6,3.1,2.1s2.5,0.8,3.8,0.8c1.4,0,2.6-0.3,3.8-0.8c1.2-0.5,2.2-1.2,3.1-2.1c0.9-0.9,1.6-1.9,2.1-3.1
+ c0.5-1.2,0.8-2.5,0.8-3.8S392.6,139.6,392.1,138.4z M390.5,145.4c-0.4,1-1,1.9-1.7,2.6c-0.7,0.7-1.6,1.3-2.6,1.7s-2,0.6-3.2,0.6
+ c-1.1,0-2.2-0.2-3.2-0.6c-1-0.4-1.9-1-2.6-1.7s-1.3-1.6-1.7-2.6c-0.4-1-0.6-2-0.6-3.2c0-1.1,0.2-2.2,0.6-3.2s1-1.9,1.7-2.6
+ c0.7-0.7,1.6-1.3,2.6-1.7s2-0.6,3.2-0.6c1.1,0,2.2,0.2,3.2,0.6c1,0.4,1.9,1,2.6,1.7s1.3,1.6,1.7,2.6c0.4,1,0.6,2,0.6,3.2
+ C391.2,143.4,390.9,144.4,390.5,145.4z M384.9,143c0.8-0.1,1.4-0.4,1.9-0.9s0.8-1.2,0.8-2.2c0-1.1-0.3-1.9-1-2.5
+ c-0.6-0.6-1.7-0.9-3-0.9h-4.4v11.3h2.1v-4.6h1.5l2.8,4.6h2.2L384.9,143z M383.8,141.4c-0.3,0-0.6,0-1,0h-1.5v-3.2h1.5
+ c0.3,0,0.6,0,1,0c0.3,0,0.6,0.1,0.9,0.2c0.3,0.1,0.5,0.3,0.6,0.5s0.2,0.5,0.2,0.9s-0.1,0.7-0.2,0.9c-0.2,0.2-0.4,0.4-0.6,0.5
+ C384.4,141.3,384.1,141.4,383.8,141.4z"/>
+</g>
+</svg>
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/logo-header.svg b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/logo-header.svg
new file mode 100644
index 000000000..dc449a1b6
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue/logo-header.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="81px" height="32px"
+ viewBox="0 0 395.4 155.9" style="enable-background:new 0 0 395.4 155.9;" xml:space="preserve">
+<style type="text/css">
+ .st0{fill:#00C7FD;}
+ .st1{fill:#FFFFFF;}
+</style>
+<rect x="4.7" y="5.2" class="st0" width="28.1" height="28.1"/>
+<path class="st1" d="M32.1,151.6V50.3H5.4v101.2H32.1z M208.9,152.6v-24.8c-3.9,0-7.2-0.2-9.6-0.6c-2.8-0.4-4.9-1.4-6.3-2.8
+ c-1.4-1.4-2.3-3.4-2.8-6.1c-0.4-2.5-0.6-5.8-0.6-9.8V73.2h19.3V50.3h-19.3V10.9h-26.7v97.9c0,8.3,0.7,15.3,2.1,20.9
+ c1.4,5.5,3.8,10,7.1,13.4c3.3,3.4,7.7,5.8,13,7.3c5.4,1.5,12.2,2.2,20.3,2.2H208.9z M361.7,151.6V3.1h-26.7v148.5H361.7z
+ M137.2,60.3c-7.4-8-17.8-12-31-12c-6.4,0-12.3,1.3-17.5,3.9C83.4,54.8,79,58.4,75.4,63L74,64.9l0-1.7V50.3H47.7v101.2h26.5V97.6
+ l0,3.7c0-0.6,0-1.2,0-1.8c0.3-9.5,2.6-16.5,7-21c4.7-4.8,10.4-7.2,16.9-7.2c7.7,0,13.6,2.4,17.5,7c3.8,4.6,5.8,11.1,5.8,19.4l0,0V98
+ c0,0,0,0,0,0l0,0l0,53.5h26.9V94.1C148.4,79.7,144.6,68.3,137.2,60.3z M321.2,100.8c0-7.3-1.3-14.1-3.8-20.5
+ c-2.6-6.3-6.2-11.9-10.7-16.7c-4.6-4.8-10.1-8.5-16.5-11.2c-6.4-2.7-13.5-4-21.2-4c-7.3,0-14.2,1.4-20.6,4.1
+ c-6.4,2.8-12,6.5-16.7,11.2c-4.7,4.7-8.5,10.3-11.2,16.7c-2.8,6.4-4.1,13.3-4.1,20.6c0,7.3,1.3,14.2,3.9,20.6
+ c2.6,6.4,6.3,12,10.9,16.7c4.6,4.7,10.3,8.5,16.9,11.2c6.6,2.8,13.9,4.2,21.7,4.2c22.6,0,36.6-10.3,45-19.9l-19.2-14.6
+ c-4,4.8-13.6,11.3-25.6,11.3c-7.5,0-13.7-1.7-18.4-5.2c-4.7-3.4-7.9-8.2-9.6-14.1l-0.3-0.9h79.5V100.8z M241.9,91.5
+ c0-7.4,8.5-20.3,26.8-20.4c18.3,0,26.9,12.9,26.9,20.3L241.9,91.5z M392.1,138.8c-0.5-1.2-1.2-2.2-2.1-3.1c-0.9-0.9-1.9-1.6-3.1-2.1
+ c-1.2-0.5-2.5-0.8-3.8-0.8c-1.4,0-2.6,0.3-3.8,0.8c-1.2,0.5-2.2,1.2-3.1,2.1c-0.9,0.9-1.6,1.9-2.1,3.1c-0.5,1.2-0.8,2.5-0.8,3.8
+ c0,1.4,0.3,2.6,0.8,3.8s1.2,2.2,2.1,3.1c0.9,0.9,1.9,1.6,3.1,2.1c1.2,0.5,2.5,0.8,3.8,0.8c1.4,0,2.6-0.3,3.8-0.8
+ c1.2-0.5,2.2-1.2,3.1-2.1c0.9-0.9,1.6-1.9,2.1-3.1c0.5-1.2,0.8-2.5,0.8-3.8C392.9,141.3,392.6,140,392.1,138.8z M390.5,145.8
+ c-0.4,1-1,1.9-1.7,2.6c-0.7,0.7-1.6,1.3-2.6,1.7c-1,0.4-2,0.6-3.2,0.6c-1.1,0-2.2-0.2-3.2-0.6c-1-0.4-1.9-1-2.6-1.7
+ c-0.7-0.7-1.3-1.6-1.7-2.6c-0.4-1-0.6-2-0.6-3.2c0-1.1,0.2-2.2,0.6-3.2c0.4-1,1-1.9,1.7-2.6c0.7-0.7,1.6-1.3,2.6-1.7
+ c1-0.4,2-0.6,3.2-0.6c1.1,0,2.2,0.2,3.2,0.6c1,0.4,1.9,1,2.6,1.7c0.7,0.7,1.3,1.6,1.7,2.6c0.4,1,0.6,2,0.6,3.2
+ C391.1,143.8,390.9,144.8,390.5,145.8z M384.9,143.5c0.8-0.1,1.4-0.4,1.9-0.9c0.5-0.5,0.8-1.2,0.8-2.2c0-1.1-0.3-1.9-1-2.5
+ c-0.6-0.6-1.7-0.9-3-0.9h-4.4v11.3h2.1v-4.6h1.5l2.8,4.6h2.2L384.9,143.5z M383.8,141.8c-0.3,0-0.6,0-1,0h-1.5v-3.2h1.5
+ c0.3,0,0.6,0,1,0c0.3,0,0.6,0.1,0.9,0.2c0.3,0.1,0.5,0.3,0.6,0.5c0.2,0.2,0.2,0.5,0.2,0.9c0,0.4-0.1,0.7-0.2,0.9
+ c-0.2,0.2-0.4,0.4-0.6,0.5C384.4,141.7,384.1,141.8,383.8,141.8z"/>
+</svg>
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue_%.bbappend
index ed29c89df..1273ebb29 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/webui-vue_%.bbappend
@@ -1,12 +1,15 @@
# Enable downstream autobump
SRC_URI = "git://github.com/openbmc/webui-vue.git"
-SRCREV = "6a192d526c9efebf7a614a9aa473eee62e555fc5"
+SRCREV = "2a2e1021f48e2a939859ba7f4ae86c5de6df5655"
FILESEXTRAPATHS:append := "${THISDIR}/${PN}:"
SRC_URI += " \
- file://0001-Undo-the-unrelated-package-changes-from-the-axios-up.patch \
+ file://login-company-logo.svg \
+ file://logo-header.svg \
"
do_compile:prepend() {
cp -vf ${S}/.env.intel ${S}/.env
+ cp -vf ${WORKDIR}/login-company-logo.svg ${S}/src/assets/images
+ cp -vf ${WORKDIR}/logo-header.svg ${S}/src/assets/images
}
diff --git a/meta-openbmc-mods/meta-common/recipes-support/curl/curl_7.78.0.bb b/meta-openbmc-mods/meta-common/recipes-support/curl/curl_7.79.1.bb
index 5b62fe2e7..365873e15 100644
--- a/meta-openbmc-mods/meta-common/recipes-support/curl/curl_7.78.0.bb
+++ b/meta-openbmc-mods/meta-common/recipes-support/curl/curl_7.79.1.bb
@@ -13,7 +13,7 @@ SRC_URI = "https://curl.haxx.se/download/curl-${PV}.tar.bz2 \
file://0001-replace-krb5-config-with-pkg-config.patch \
"
-SRC_URI[sha256sum] = "98530b317dc95ccb324bbe4f834f07bb642fbc393b794ddf3434f246a71ea44a"
+SRC_URI[sha256sum] = "de62c4ab9a9316393962e8b94777a570bb9f71feb580fb4475e412f2f9387851"
# Curl has used many names over the years...
CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
diff --git a/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0002-Add-support-for-ssl-config.patch b/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0002-Add-support-for-ssl-config.patch
deleted file mode 100644
index cec2813e9..000000000
--- a/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0002-Add-support-for-ssl-config.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff --git a/plugins/curl/curl.c b/plugins/curl/curl.c
-index 610511f7..92be4656 100644
---- a/plugins/curl/curl.c
-+++ b/plugins/curl/curl.c
-@@ -69,6 +69,8 @@ static const char *proxy = NULL;
- char *proxy_password = NULL;
- const char *proxy_user = NULL;
- bool sslverify = true;
-+const char *ssl_version = NULL;
-+const char *ssl_cipher_list = NULL;
- bool tcp_keepalive = false;
- bool tcp_nodelay = true;
- uint32_t timeout = 0;
-@@ -232,6 +234,12 @@ curl_config (const char *key, const char *value)
- sslverify = r;
- }
-
-+ else if (strcmp (key, "ssl-version") == 0)
-+ ssl_version = value;
-+
-+ else if (strcmp (key, "ssl-cipher-list") == 0)
-+ ssl_cipher_list = value;
-+
- else if (strcmp (key, "tcp-keepalive") == 0) {
- r = nbdkit_parse_bool (value);
- if (r == -1)
-@@ -302,6 +310,8 @@ curl_config_complete (void)
- "proxy-user=<USER> The proxy user.\n" \
- "timeout=<TIMEOUT> Set the timeout for requests (seconds).\n" \
- "sslverify=false Do not verify SSL certificate of remote host.\n" \
-+ "ssl-version=<VERSION> Specify preferred TLS/SSL version.\n " \
-+ "ssl-cipher-list=C1:C2:.. Specify TLS/SSL cipher suites to be used.\n" \
- "tcp-keepalive=true Enable TCP keepalives.\n" \
- "tcp-nodelay=false Disable Nagle’s algorithm.\n" \
- "unix-socket-path=<PATH> Open Unix domain socket instead of TCP/IP.\n" \
-@@ -418,6 +428,30 @@ curl_open (int readonly)
- curl_easy_setopt (h->c, CURLOPT_SSL_VERIFYPEER, 0L);
- curl_easy_setopt (h->c, CURLOPT_SSL_VERIFYHOST, 0L);
- }
-+ if (ssl_version) {
-+ if (strcmp (ssl_version, "tlsv1") == 0)
-+ curl_easy_setopt (h->c, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
-+ else if (strcmp (ssl_version, "sslv2") == 0)
-+ curl_easy_setopt (h->c, CURLOPT_SSLVERSION, CURL_SSLVERSION_SSLv2);
-+ else if (strcmp (ssl_version, "sslv3") == 0)
-+ curl_easy_setopt (h->c, CURLOPT_SSLVERSION, CURL_SSLVERSION_SSLv3);
-+ else if (strcmp (ssl_version, "tlsv1.0") == 0)
-+ curl_easy_setopt (h->c, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_0);
-+ else if (strcmp (ssl_version, "tlsv1.1") == 0)
-+ curl_easy_setopt (h->c, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_1);
-+ else if (strcmp (ssl_version, "tlsv1.2") == 0)
-+ curl_easy_setopt (h->c, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
-+ else if (strcmp (ssl_version, "tlsv1.3") == 0)
-+ curl_easy_setopt (h->c, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_3);
-+ else {
-+ display_curl_error (h, r, "curl_easy_setopt: CURLOPT_SSLVERSION [%s]",
-+ ssl_version);
-+ goto err;
-+ }
-+
-+ }
-+ if (ssl_cipher_list)
-+ curl_easy_setopt (h->c, CURLOPT_SSL_CIPHER_LIST, ssl_cipher_list);
- if (tcp_keepalive)
- curl_easy_setopt (h->c, CURLOPT_TCP_KEEPALIVE, 1L);
- if (!tcp_nodelay)
diff --git a/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0003-Add-support-for-tls13-ciphers.patch b/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0003-Add-support-for-tls13-ciphers.patch
deleted file mode 100644
index 398cef63c..000000000
--- a/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0003-Add-support-for-tls13-ciphers.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/plugins/curl/curl.c b/plugins/curl/curl.c
-index fad84140..d3dc3bde 100644
---- a/plugins/curl/curl.c
-+++ b/plugins/curl/curl.c
-@@ -85,6 +85,7 @@ const char *proxy_user = NULL;
- bool sslverify = true;
- const char *ssl_version = NULL;
- const char *ssl_cipher_list = NULL;
-+const char *tls13_ciphers = NULL;
- bool tcp_keepalive = false;
- bool tcp_nodelay = true;
- uint32_t timeout = 0;
-@@ -309,6 +310,9 @@ curl_config (const char *key, const char *value)
- else if (strcmp (key, "ssl-cipher-list") == 0)
- ssl_cipher_list = value;
-
-+ else if (strcmp (key, "tls13-ciphers") == 0)
-+ tls13_ciphers = value;
-+
- else if (strcmp (key, "tcp-keepalive") == 0) {
- r = nbdkit_parse_bool (value);
- if (r == -1)
-@@ -413,6 +417,7 @@ curl_config_complete (void)
- "sslverify=false Do not verify SSL certificate of remote host.\n" \
- "ssl-version=<VERSION> Specify preferred TLS/SSL version.\n " \
- "ssl-cipher-list=C1:C2:.. Specify TLS/SSL cipher suites to be used.\n" \
-+ "tls13-ciphers=C1:C2:.. Specify TLS 1.3 cipher suites to be used.\n" \
- "tcp-keepalive=true Enable TCP keepalives.\n" \
- "tcp-nodelay=false Disable Nagle’s algorithm.\n" \
- "unix-socket-path=<PATH> Open Unix domain socket instead of TCP/IP.\n" \
-@@ -550,6 +555,8 @@ curl_open (int readonly)
- }
- if (ssl_cipher_list)
- curl_easy_setopt (h->c, CURLOPT_SSL_CIPHER_LIST, ssl_cipher_list);
-+ if (tls13_ciphers)
-+ curl_easy_setopt (h->c, CURLOPT_TLS13_CIPHERS, tls13_ciphers);
- if (tcp_keepalive)
- curl_easy_setopt (h->c, CURLOPT_TCP_KEEPALIVE, 1L);
- if (!tcp_nodelay)
diff --git a/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0004-Handle-empty-CAInfo-in-curl-plugin-correctly.patch b/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0004-Handle-empty-CAInfo-in-curl-plugin-correctly.patch
deleted file mode 100644
index 867f2e166..000000000
--- a/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit/0004-Handle-empty-CAInfo-in-curl-plugin-correctly.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From f86b22a450589cdcac6bb3afa1818dfa6d2eefe4 Mon Sep 17 00:00:00 2001
-From: Wiktor Golgowski <wiktor.golgowski@intel.com>
-Date: Fri, 27 Aug 2021 17:39:59 +0200
-Subject: [PATCH] Handle empty CAInfo in curl plugin correctly.
-
-Recent change in libcurl causes CAINFO option to be set when
-the library is compiled. If we do not want to use the default
-certificate store, we set the option to an empty string.
-This change recognizes zero-length CAInfo and clears the libcurl
-option.
-
-Signed-off-by: Wiktor Golgowski <wiktor.golgowski@intel.com>
----
- plugins/curl/curl.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/plugins/curl/curl.c b/plugins/curl/curl.c
-index fad84140..176f9a1f 100644
---- a/plugins/curl/curl.c
-+++ b/plugins/curl/curl.c
-@@ -498,8 +498,12 @@ curl_open (int readonly)
- curl_easy_setopt (h->c, CURLOPT_FAILONERROR, 1L);
-
- /* Options. */
-- if (cainfo)
-- curl_easy_setopt (h->c, CURLOPT_CAINFO, cainfo);
-+ if (cainfo) {
-+ if (strlen (cainfo) == 0)
-+ curl_easy_setopt (h->c, CURLOPT_CAINFO, NULL);
-+ else
-+ curl_easy_setopt (h->c, CURLOPT_CAINFO, cainfo);
-+ }
- if (capath)
- curl_easy_setopt (h->c, CURLOPT_CAPATH, capath);
- if (cookie)
diff --git a/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit_git.bb b/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit_git.bb
index f7d690ff8..d1b5e1b22 100644
--- a/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-utilities/nbdkit/nbdkit_git.bb
@@ -11,12 +11,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f9dcc2d8acdde215fa4bd6ac12bb14f0"
SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https"
SRC_URI += "file://0001-Force-nbdkit-to-send-PATCH-as-upload-method.patch"
-SRC_URI += "file://0002-Add-support-for-ssl-config.patch"
-SRC_URI += "file://0003-Add-support-for-tls13-ciphers.patch"
-SRC_URI += "file://0004-Handle-empty-CAInfo-in-curl-plugin-correctly.patch"
-PV = "1.25.5+git${SRCPV}"
-SRCREV = "c828c6d48ff6b69454cad98054a1920d03c4b4c7"
+PV = "1.28.0+git${SRCPV}"
+SRCREV = "676c193ba05e479c145cf872e4912c576d1461d3"
S = "${WORKDIR}/git"
diff --git a/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control/0001-Extend-VR-Watchdog-timeout.patch b/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control/0001-Extend-VR-Watchdog-timeout.patch
index 15de955c0..20b930fe6 100644
--- a/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control/0001-Extend-VR-Watchdog-timeout.patch
+++ b/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control/0001-Extend-VR-Watchdog-timeout.patch
@@ -1,4 +1,4 @@
-From 540836801f4ab5e8be9703d2c1350e988b2ccc1f Mon Sep 17 00:00:00 2001
+From df6782d834b3c502a9b71e946fdbbfb4513b4d96 Mon Sep 17 00:00:00 2001
From: "Jason M. Bills" <jason.m.bills@linux.intel.com>
Date: Thu, 11 Jun 2020 13:00:15 -0700
Subject: [PATCH] Extend VR Watchdog timeout
@@ -11,14 +11,14 @@ City.
Change-Id: I9658b4ead6d9bf8eaa30e4aeb9f1d56c2f2187d3
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
---
- power-control-x86/config/power-config-host0.json | 2 +-
+ config/power-config-host0.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/power-control-x86/config/power-config-host0.json b/power-control-x86/config/power-config-host0.json
-index ca9a86a..f579c2b 100644
---- a/power-control-x86/config/power-config-host0.json
-+++ b/power-control-x86/config/power-config-host0.json
-@@ -18,7 +18,7 @@
+diff --git a/config/power-config-host0.json b/config/power-config-host0.json
+index ed91470..12c3309 100644
+--- a/config/power-config-host0.json
++++ b/config/power-config-host0.json
+@@ -78,7 +78,7 @@
"ForceOffPulseMs": 15000,
"ResetPulseMs": 500,
"PowerCycleMs": 5000,
@@ -28,5 +28,5 @@ index ca9a86a..f579c2b 100644
"GracefulPowerOffS": 300,
"WarmResetCheckMs": 500,
--
-2.17.1
+2.25.1
diff --git a/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control_%.bbappend b/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control_%.bbappend
index 896439fc2..daac0ecb8 100755
--- a/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-x86/chassis/x86-power-control_%.bbappend
@@ -1,6 +1,6 @@
# Enable downstream autobump
SRC_URI = "git://github.com/openbmc/x86-power-control.git;protocol=ssh"
-SRCREV = "676ef2c425b4e7748bea43d5c94ee6d3239fa7a9"
+SRCREV = "48c94c59728023cdbff3bd62f203de3434af8b8a"
FILESEXTRAPATHS:append := "${THISDIR}/${PN}:"
diff --git a/meta-openbmc-mods/meta-wht/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bbappend b/meta-openbmc-mods/meta-wht/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bbappend
index 2955dabd3..aa512fd0f 100644
--- a/meta-openbmc-mods/meta-wht/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bbappend
+++ b/meta-openbmc-mods/meta-wht/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bbappend
@@ -8,6 +8,7 @@ SRC_URI:append = " \
file://csk_pub.pem \
file://rk_pub.pem \
file://rk_prv.pem \
+ file://rk_cert.pem \
"
do_install:append () {
@@ -18,5 +19,6 @@ do_install:append () {
install -m 400 ${WORKDIR}/csk_pub.pem ${D}/${datadir}/pfrconfig/csk_pub.pem
install -m 400 ${WORKDIR}/rk_pub.pem ${D}/${datadir}/pfrconfig/rk_pub.pem
install -m 400 ${WORKDIR}/rk_prv.pem ${D}/${datadir}/pfrconfig/rk_prv.pem
+ install -m 0644 ${WORKDIR}/rk_cert.pem ${D}/${datadir}/pfrconfig/rk_cert.pem
}
diff --git a/meta-openbmc-mods/meta-wht/recipes-intel/intel-pfr/obmc-intel-pfr-image-native/rk_cert.pem b/meta-openbmc-mods/meta-wht/recipes-intel/intel-pfr/obmc-intel-pfr-image-native/rk_cert.pem
new file mode 100644
index 000000000..4f9776f18
--- /dev/null
+++ b/meta-openbmc-mods/meta-wht/recipes-intel/intel-pfr/obmc-intel-pfr-image-native/rk_cert.pem
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICQjCCAemgAwIBAgIUfTMHDoCGQ2wj+ZVBx0SYFOQ7PFEwCgYIKoZIzj0EAwIw
+dzELMAkGA1UEBhMCVVMxDzANBgNVBAgMBk9yZWdvbjESMBAGA1UEBwwJSGlsbHNi
+b3JvMRowGAYDVQQKDBFJbnRlbCBDb3Jwb3JhdGlvbjEMMAoGA1UECwwDRFBHMRkw
+FwYDVQQDDBBJbnRlbCBPcGVuQk1DIEZXMB4XDTIxMDkyMTIwMDI0OFoXDTMxMDkx
+OTIwMDI0OFowdzELMAkGA1UEBhMCVVMxDzANBgNVBAgMBk9yZWdvbjESMBAGA1UE
+BwwJSGlsbHNib3JvMRowGAYDVQQKDBFJbnRlbCBDb3Jwb3JhdGlvbjEMMAoGA1UE
+CwwDRFBHMRkwFwYDVQQDDBBJbnRlbCBPcGVuQk1DIEZXMFkwEwYHKoZIzj0CAQYI
+KoZIzj0DAQcDQgAEZUL6ZcF0YN590Pq/bKPYjfa3F4E44XiKcqvS6+l2GfSdCLRh
+XWHwiV803vFkTsZ1CfpzFdZGwfbwg7nvG5UpSaNTMFEwHQYDVR0OBBYEFFILKRsX
+S66KNT7j3MnuxvHiLl+DMB8GA1UdIwQYMBaAFFILKRsXS66KNT7j3MnuxvHiLl+D
+MA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwIDRwAwRAIgOUGKxkh8SsEbH1zH
+SYIbR7Vv4ksodnm4cH+pHtOp3wgCIBvwM0HST0k63MfoJcPsOIdnZn/sXf7CJbA7
+ReiaxMGg
+-----END CERTIFICATE-----
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.2.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.2.bb
index 251f03b07..60b664ff5 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.2.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.2.bb
@@ -10,7 +10,7 @@ SRC_URI = "git://github.com/libfuse/sshfs"
SRCREV = "9700b353700589dcc462205c638bcb40219a49c2"
S = "${WORKDIR}/git"
-inherit meson ptest
+inherit meson pkgconfig ptest
SRC_URI += " \
file://run-ptest \
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.1.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.2.bb
index 3dd5c82ee..0cc02983d 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.1.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.2.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8a
SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master \
file://0001-support-cross-compiling.patch \
"
-SRCREV = "8d732962423c3ca5be1f14b7ec139ff464e10a51"
+SRCREV = "b0e3805d3d84d44ddf3e4e5238ae0332145d8157"
DEPENDS = "fuse"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb b/meta-openembedded/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb
index 1e88ced90..3591a4f6d 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb
@@ -11,7 +11,7 @@ RDEPENDS:${PN} = "udev bash"
LICENSE = "GPL-3.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-inherit autotools systemd
+inherit autotools pkgconfig systemd
SRC_URI = "https://github.com/IgnorantGuru/udevil/raw/pkg/${PV}/udevil-${PV}.tar.xz \
file://0001-udevil-0.4.3-fix-compile-with-gcc6.patch \
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb
index 64873ac03..df5f764e1 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb
@@ -13,7 +13,7 @@ SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
file://0001-support-usrmerge.patch \
"
SRC_URI[sha256sum] = "4e142d4babe086adf9016d8c606c805829da08e46389a4433f40346204f90cdb"
-inherit autotools-brokensep
+inherit autotools-brokensep pkgconfig
PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
diff --git a/meta-openembedded/meta-gnome/README b/meta-openembedded/meta-gnome/README
index 1a9105000..fbb0d7247 100644
--- a/meta-openembedded/meta-gnome/README
+++ b/meta-openembedded/meta-gnome/README
@@ -2,13 +2,11 @@ Dependencies
------------
This layer depends on:
-URI: git://github.com/openembedded/oe-core.git
+URI: git://git.openembedded.org/openembedded-core
branch: master
-revision: HEAD
-URI: git://github.com/openembedded/meta-oe.git
+URI: git://git.openembedded.org/meta-openembedded
branch: master
-revision: HEAD
Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome]' in the subject'
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/mypaint/libmypaint_git.bb b/meta-openembedded/meta-gnome/recipes-gimp/mypaint/libmypaint_git.bb
index e123ef5fc..d509aa3dd 100644
--- a/meta-openembedded/meta-gnome/recipes-gimp/mypaint/libmypaint_git.bb
+++ b/meta-openembedded/meta-gnome/recipes-gimp/mypaint/libmypaint_git.bb
@@ -10,7 +10,7 @@ DEPENDS = " \
json-c \
"
-inherit autotools gobject-introspection gettext python3native
+inherit autotools gobject-introspection gettext pkgconfig python3native
SRC_URI = "git://github.com/mypaint/libmypaint.git;protocol=https;branch=libmypaint-v1 \
file://0001-make-build-compatible-w.-autoconf-2.7.patch \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.36.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.36.3.bb
index 74e2bd677..e4c590e48 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.36.3.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.36.3.bb
@@ -10,7 +10,7 @@ DEPENDS = " \
libpam \
"
-REQUIRED_DISTRO_FEATURES = "x11 systemd pam"
+REQUIRED_DISTRO_FEATURES = "x11 systemd pam polkit"
inherit gnomebase gsettings gobject-introspection gettext systemd useradd upstream-version-is-even features_check
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb b/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb
index 24312c78a..9b99bbc4e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb
@@ -3,7 +3,7 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
DEPENDS = "glib-2.0 gtk+3 gdk-pixbuf clutter-1.0 clutter-gtk-1.0 libsoup-2.4"
-inherit features_check gobject-introspection meson
+inherit features_check gobject-introspection meson pkgconfig
REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.18.bb b/meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.18.bb
index 11d144278..3488fb568 100644
--- a/meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.18.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.18.bb
@@ -17,7 +17,7 @@ DEPENDS = " \
libstemmer \
"
-inherit meson gobject-introspection gettext bash-completion
+inherit meson gobject-introspection gettext bash-completion pkgconfig
SRC_URI = "https://people.freedesktop.org/~hughsient/${BPN}/releases/${BP}.tar.xz"
SRC_URI[sha256sum] = "ca1ed22e3bde3912cb903aaa7de085d55771da454f1c0573fd9608e1de9c4002"
diff --git a/meta-openembedded/meta-gnome/site/arm-64 b/meta-openembedded/meta-gnome/site/arm-64
deleted file mode 100644
index f474d2cc4..000000000
--- a/meta-openembedded/meta-gnome/site/arm-64
+++ /dev/null
@@ -1,13 +0,0 @@
-# ORBit2
-ac_cv_alignof_CORBA_boolean=1
-ac_cv_alignof_CORBA_char=1
-ac_cv_alignof_CORBA_double=8
-ac_cv_alignof_CORBA_float=4
-ac_cv_alignof_CORBA_long=4
-ac_cv_alignof_CORBA_long_double=8
-ac_cv_alignof_CORBA_long_long=8
-ac_cv_alignof_CORBA_octet=1
-ac_cv_alignof_CORBA_pointer=4
-ac_cv_alignof_CORBA_short=2
-ac_cv_alignof_CORBA_struct=1
-ac_cv_alignof_CORBA_wchar=2
diff --git a/meta-openembedded/meta-gnome/site/riscv64-linux b/meta-openembedded/meta-gnome/site/riscv64-linux
deleted file mode 100644
index e3a41ea0e..000000000
--- a/meta-openembedded/meta-gnome/site/riscv64-linux
+++ /dev/null
@@ -1,16 +0,0 @@
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
-# ORBit2
-ac_cv_alignof_CORBA_boolean=1
-ac_cv_alignof_CORBA_char=1
-ac_cv_alignof_CORBA_double=8
-ac_cv_alignof_CORBA_float=4
-ac_cv_alignof_CORBA_long=4
-ac_cv_alignof_CORBA_long_double=8
-ac_cv_alignof_CORBA_long_long=8
-ac_cv_alignof_CORBA_octet=1
-ac_cv_alignof_CORBA_pointer=4
-ac_cv_alignof_CORBA_short=2
-ac_cv_alignof_CORBA_struct=1
-ac_cv_alignof_CORBA_wchar=2
diff --git a/meta-openembedded/meta-gnome/site/x86_64-linux b/meta-openembedded/meta-gnome/site/x86_64-linux
deleted file mode 100644
index eba1fee2b..000000000
--- a/meta-openembedded/meta-gnome/site/x86_64-linux
+++ /dev/null
@@ -1,17 +0,0 @@
-# ORBit2
-ac_cv_alignof_CORBA_boolean=1
-ac_cv_alignof_CORBA_char=1
-ac_cv_alignof_CORBA_double=8
-ac_cv_alignof_CORBA_float=4
-ac_cv_alignof_CORBA_long=4
-ac_cv_alignof_CORBA_long_double=8
-ac_cv_alignof_CORBA_long_long=8
-ac_cv_alignof_CORBA_octet=1
-ac_cv_alignof_CORBA_pointer=8
-ac_cv_alignof_CORBA_short=2
-ac_cv_alignof_CORBA_struct=1
-ac_cv_alignof_CORBA_wchar=2
-
-lf_cv_sane_realloc=yes
-as_cv_unaligned_access=${as_cv_unaligned_access=yes}
-
diff --git a/meta-openembedded/meta-initramfs/README b/meta-openembedded/meta-initramfs/README
index a8f17ba85..119293a74 100644
--- a/meta-openembedded/meta-initramfs/README
+++ b/meta-openembedded/meta-initramfs/README
@@ -11,9 +11,8 @@ Dependencies
This layer depends on:
-URI: git://github.com/openembedded/oe-core.git
+URI: git://git.openembedded.org/meta-openembedded
branch: master
-revision: HEAD
Maintenance
diff --git a/meta-openembedded/meta-multimedia/README b/meta-openembedded/meta-multimedia/README
index 9c649ff87..235c34331 100644
--- a/meta-openembedded/meta-multimedia/README
+++ b/meta-openembedded/meta-multimedia/README
@@ -1,13 +1,11 @@
This layer depends on:
-URI: git://github.com/openembedded/oe-core.git
+URI: git://git.openembedded.org/openembedded-core
branch: master
-revision: HEAD
-URI: git://github.com/openembedded/meta-oe.git
+URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
branch: master
-revision: HEAD
Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia]' in the subject
diff --git a/meta-openembedded/meta-multimedia/conf/layer.conf b/meta-openembedded/meta-multimedia/conf/layer.conf
index 5a17a5048..56c3569d0 100644
--- a/meta-openembedded/meta-multimedia/conf/layer.conf
+++ b/meta-openembedded/meta-multimedia/conf/layer.conf
@@ -29,6 +29,6 @@ BBFILE_PRIORITY_multimedia-layer = "6"
# cause compatibility issues with other layers
LAYERVERSION_multimedia-layer = "1"
-LAYERDEPENDS_multimedia-layer = "core meta-python"
+LAYERDEPENDS_multimedia-layer = "core openembedded-layer meta-python"
LAYERSERIES_COMPAT_multimedia-layer = "honister"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.7.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.7.0.bb
index 045746aa6..f7d9c7637 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.7.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.7.0.bb
@@ -15,7 +15,7 @@ DEPENDS = "expat fmt spdlog pugixml libebml libmatroska zlib curl libupnp e2fspr
SYSTEMD_SERVICE:${PN} = "gerbera.service"
-inherit cmake systemd
+inherit cmake pkgconfig systemd
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=TRUE,-DWITH_SYSTEMD=FALSE,systemd"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb
index fe4bd3744..baf75aa51 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb
@@ -32,4 +32,4 @@ FILES:${PN} += "\
${libdir}/gstreamer-1.0/libgstsharktracers.la \
"
-inherit autotools gettext
+inherit autotools gettext pkgconfig
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libuvc/libuvc.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libuvc/libuvc.bb
index 4d301fb2f..b34479f38 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libuvc/libuvc.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libuvc/libuvc.bb
@@ -11,4 +11,4 @@ PV = "v0.0.6+git${SRCPV}"
S = "${WORKDIR}/git"
-inherit cmake
+inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb
index f4e26d52c..412a272ee 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb
@@ -25,7 +25,7 @@ SRC_URI = "git://github.com/MycroftAI/mimic1.git \
file://0001-cmu_indic_lang-Make-cst_rx_not_indic-as-extern-decla.patch \
"
-inherit autotools
+inherit autotools pkgconfig
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpc_0.33.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpc_0.33.bb
index dcfc3df0b..32ec15def 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpc_0.33.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpc_0.33.bb
@@ -3,7 +3,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
HOMEPAGE = "https://www.musicpd.org/clients/mpc/"
-inherit meson
+inherit meson pkgconfig
DEPENDS += "libmpdclient"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.45.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.45.bb
index b81129709..aa1a234a6 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.45.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.45.bb
@@ -3,7 +3,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
HOMEPAGE = "https://www.musicpd.org/clients/ncmpc/"
-inherit meson
+inherit meson pkgconfig
DEPENDS += " \
boost \
diff --git a/meta-openembedded/meta-networking/README b/meta-openembedded/meta-networking/README
index e1ba27d83..1aea8a661 100644
--- a/meta-openembedded/meta-networking/README
+++ b/meta-openembedded/meta-networking/README
@@ -17,21 +17,18 @@ Dependencies
This layer depends on:
-URI: git://github.com/openembedded/openembedded-core.git
+URI: git://git.openembedded.org/openembedded-core
branch: master
-revision: HEAD
For some recipes, the meta-oe layer is required:
-URI: git://github.com/openembedded/meta-openembedded.git
+URI: git://git.openembedded.org/meta-openembedded
subdirectory: meta-oe
branch: master
-revision: HEAD
-URI: git://github.com/openembedded/meta-openembedded.git
+URI: git://git.openembedded.org/meta-openembedded
subdirectory: meta-python
branch: master
-revision: HEAD
Maintenance
-----------
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/autossh/autossh_1.4g.bb b/meta-openembedded/meta-networking/recipes-connectivity/autossh/autossh_1.4g.bb
index 125dfaaa9..3dc304b23 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/autossh/autossh_1.4g.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/autossh/autossh_1.4g.bb
@@ -1,8 +1,10 @@
DESCRIPTION = "autossh is a program to start a copy of ssh and monitor it, restarting it as necessary should it die or stop passing traffic"
HOMEPAGE = "https://www.harding.motd.ca/autossh/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://autossh.spec;md5=80a6701134723fd3420e733b46a0eb97"
+LICENSE = "BSD-1-Clause & BSD-4-Clause"
+LIC_FILES_CHKSUM = "file://autossh.spec;md5=80a6701134723fd3420e733b46a0eb97 \
+ file://autossh.c;md5=76c37acd40ac45050a4ced145b1e2707;startline=7;endline=23 \
+ file://daemon.h;md5=6bbeaac616b9bc8de7b40049004f4289;startline=7;endline=39"
SRC_URI = "https://www.harding.motd.ca/autossh/${BP}.tgz"
SRC_URI[md5sum] = "2b804bc1bf6d2f2afaa526d02df7c0a2"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.1.bb
index 6ccb425e3..8e874edd5 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.1.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.1.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "bluez5 python3-pygobject python3-cython-native python3-setuptools-native intltool-native"
-inherit autotools gettext systemd gsettings python3native gtk-icon-cache
+inherit autotools gettext systemd gsettings pkgconfig python3native gtk-icon-cache
SRC_URI = " \
https://github.com/blueman-project/blueman/releases/download/${PV}/blueman-${PV}.tar.xz \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb b/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
index 7b663cdbb..f99dfd66f 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
@@ -19,7 +19,7 @@ SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a"
SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf"
-inherit python3-dir python3native siteinfo
+inherit pkgconfig python3-dir python3native siteinfo
# Recursive make problem
EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg' \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.9.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.9.4.bb
index 7aed5105c..7d29bf1ed 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.9.4.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.9.4.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "52c5e3d5b1e2efc0e86c22b2bc1f7fd80908cc2d8130157dc2a3517a59
# glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4
DEPENDS = "intltool-native glib-2.0-native nftables"
-inherit gettext autotools bash-completion python3native gsettings systemd update-rc.d
+inherit gettext autotools bash-completion pkgconfig python3native gsettings systemd update-rc.d
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.12.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.12.bb
index 2df400846..d2fa9cf32 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.12.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.12.bb
@@ -21,7 +21,7 @@ SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
SRC_URI[sha256sum] = "31cf0065cb431d6f4e57a5f4d56663e839c9d177362eff89582d7cfde191c933"
-inherit systemd update-rc.d useradd cmake
+inherit systemd update-rc.d useradd cmake pkgconfig
PACKAGECONFIG ??= "ssl dlt websockets \
${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.7.bb
index 2bc43e714..47fcd3a00 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.5.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.7.bb
@@ -34,12 +34,12 @@ SRC_URI:append:libc-musl = " \
file://samba-fix-musl-lib-without-innetgr.patch \
"
-SRC_URI[md5sum] = "96d275e31387e6c403d6c16465d15b7e"
-SRC_URI[sha256sum] = "bb6ef5d2f16b85288d823578abc453d9a80514c42e5a2ea2c4e3c60dc42335c3"
+SRC_URI[md5sum] = "f0db8302944bb861b31f4163fd302f66"
+SRC_URI[sha256sum] = "6f50353f9602aa20245eb18ceb00e7e5ec793df0974aebd5254c38f16d8f1906"
UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.14(\.\d+)+).tar.gz"
-inherit systemd waf-samba cpan-base perlnative update-rc.d perl-version
+inherit systemd waf-samba cpan-base perlnative update-rc.d perl-version pkgconfig
# CVE-2011-2411 is valnerble only on HP NonStop Servers.
CVE_CHECK_WHITELIST += "CVE-2011-2411"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.18.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.18.1.bb
index 47c201fa1..1e2495406 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.18.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.18.1.bb
@@ -14,7 +14,7 @@ SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \
file://disable-run-test-program-while-cross-compiling.patch \
file://configure.in-disable-tirpc-checking-for-fedora.patch \
"
-SRC_URI[sha256sum] = "d0308642f69e0d36f70db9703e5766afce2f44ff05b7d2c9cc8e3ac8323b2c77"
+SRC_URI[sha256sum] = "da8af0f1b2e4f247d970c6a3c0e83fb6dcd5c84faa21aea49f306f269e8e28aa"
UPSTREAM_CHECK_URI = "https://www.snort.org/downloads"
UPSTREAM_CHECK_REGEX = "snort-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
index 7bf258374..8a4428c50 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
+++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
@@ -6,7 +6,7 @@ has a definite Sendmail-ish flavor, but the inside is completely different."
HOMEPAGE= "http://www.postfix.org"
SECTION = "mail"
-DEPENDS = "db icu libpcre libnsl2 openssl postfix-native \
+DEPENDS = "db icu libpcre libnsl2 m4-native openssl postfix-native \
${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \
"
@@ -20,7 +20,7 @@ CLEANBROKEN = "1"
BBCLASSEXTEND = "native"
-inherit update-rc.d useradd update-alternatives systemd lib_package
+inherit pkgconfig update-rc.d useradd update-alternatives systemd lib_package
INITSCRIPT_NAME = "postfix"
INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ."
diff --git a/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.20.bb b/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.20.bb
index edbca246d..b19482c79 100644
--- a/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.20.bb
+++ b/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.20.bb
@@ -16,7 +16,7 @@ SRC_URI = "git://github.com/kronosnet/kronosnet;protocol=https;branch=stable1"
UPSTREAM_CHECK_URI = "https://github.com/kronosnet/kronosnet/releases"
-inherit autotools
+inherit autotools pkgconfig
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb
index e6ea2ddae..e5a28de40 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb
@@ -151,6 +151,10 @@ do_install:append() {
-i ${D}${bindir}/net-snmp-config
oe_multilib_header net-snmp/net-snmp-config.h
+
+ if [ "${HAS_PERL}" = "1" ]; then
+ find ${D}${libdir}/ -type f -name "perllocal.pod" | xargs rm -f
+ fi
}
do_install_ptest() {
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb
index 344aa33de..363eeeb56 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb
@@ -26,6 +26,8 @@ SRC_URI[sha256sum] = "8cd6bc71ba46bd5f6eb4daf60220ccdcd991a8525111dee466501b1b97
inherit autotools-brokensep update-rc.d systemd
+CACHED_CONFIGUREVARS += "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', 'rpppoe_cv_pack_bitfields=normal', 'rpppoe_cv_pack_bitfields=rev', d)}"
+
do_install:append() {
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/pppoe-server.service ${D}${systemd_unitdir}/system
diff --git a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.14.bb
index a8d3e91eb..5fafb4ef6 100644
--- a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb
+++ b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.14.bb
@@ -4,7 +4,7 @@ SECTION = "otherosfs"
LICENSE = "GPLv3 & LGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SRCREV = "464a60344a324311a6f5bb326fdf5f422a3c9005"
+SRCREV = "8c06dce7d596e478c20bc54bdcec87ad97f80a1b"
SRC_URI = "git://git.samba.org/cifs-utils.git"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb
index 33a05ed61..892e02844 100644
--- a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb
+++ b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb
@@ -14,7 +14,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \
"
SRC_URI[sha256sum] = "6a459c1cafd7a1daa5cd137140da60c18c84b5699cd8e7249a79c33342c99d1d"
-inherit autotools gettext python3-dir python3native
+inherit autotools gettext pkgconfig python3-dir python3native
EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}"
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.0.bb b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.0.bb
index 719353058..f1b8cd606 100644
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.0.bb
@@ -34,7 +34,7 @@ LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9ada
SRC_URI[md5sum] = "fe4b1f17f77e2ea52b4e1320d927844c"
SRC_URI[sha256sum] = "a4d308b3d0922ef01f3661a69ebc373e772374defa76cf0979ad21b21f91922d"
-inherit waf-samba
+inherit pkgconfig waf-samba
S = "${WORKDIR}/ldb-${PV}"
diff --git a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.2.bb b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.2.bb
index fa5b4ade8..5d7e1a0d6 100644
--- a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.2.bb
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=4e458d658cb25e21efc16f720e78b
SRC_URI[md5sum] = "105c7a4dbb96f1751eb27dfd05e7fa84"
SRC_URI[sha256sum] = "f8427822e5b2878fb8b28d6f50d96848734f3f3130612fb574fdd2d2148a6696"
-inherit waf-samba
+inherit pkgconfig waf-samba
PACKAGECONFIG ??= "\
${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
diff --git a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.44.0.bb b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.45.1.bb
index 6e133ec20..e4a17cbdd 100644
--- a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.44.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.45.1.bb
@@ -11,7 +11,7 @@ SRC_URI = "\
https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.xz \
file://0001-fetch-ocsp-response-use-python3.patch \
"
-SRC_URI[sha256sum] = "5699473b29941e8dafed10de5c8cb37a3581edf62ba7d04b911ca247d4de3c5d"
+SRC_URI[sha256sum] = "abdc4addccadbc7d89abe27c4d6427d78e57d139f69c1f45749227393c68bf79"
inherit cmake manpages python3native
PACKAGECONFIG[manpages] = ""
diff --git a/meta-openembedded/meta-networking/recipes-support/ntopng/ntopng_5.0.bb b/meta-openembedded/meta-networking/recipes-support/ntopng/ntopng_5.0.bb
index 89107430e..0ddc59678 100644
--- a/meta-openembedded/meta-networking/recipes-support/ntopng/ntopng_5.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ntopng/ntopng_5.0.bb
@@ -29,7 +29,7 @@ export LUA_LIB = "${STAGING_LIBDIR}/liblua.a"
LDFLAGS:append:mipsarch = " -latomic"
LDFLAGS:append:powerpc = " -latomic"
LDFLAGS:append:riscv32 = " -latomic"
-inherit autotools-brokensep gettext systemd
+inherit autotools-brokensep gettext pkgconfig systemd
do_install:append() {
install -d ${D}${systemd_unitdir}/system/
diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb
index 097144d35..bcb6c0e10 100644
--- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb
@@ -26,7 +26,7 @@ FILES_SOLIBSDEV = ""
FILES:${PN} += "${libdir}/*"
INSANE_SKIP:${PN} += "dev-so"
-inherit cmake cpan-base python3native systemd
+inherit cmake cpan-base pkgconfig python3native systemd
SYSTEMD_SERVICE:${PN} = " \
srp_daemon.service \
diff --git a/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.4.4.bb b/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.5.3.bb
index 0b63f79ac..8e62f588f 100644
--- a/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.4.4.bb
+++ b/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.5.3.bb
@@ -5,9 +5,9 @@ SECTION = "net"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRCREV = "a8e5847e5f7e411be424f9b52a6cdf9d2ed4aeb5"
+SRCREV = "d998043dc39cb763c9adec3eda3cc8b1d79f444c"
SRC_URI = "git://github.com/troglobit/smcroute.git;branch=master;protocol=git"
S = "${WORKDIR}/git"
-inherit autotools
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-networking/site/endian-big b/meta-openembedded/meta-networking/site/endian-big
deleted file mode 100644
index 3a968e326..000000000
--- a/meta-openembedded/meta-networking/site/endian-big
+++ /dev/null
@@ -1,2 +0,0 @@
-# rp-pppoe
-rpppoe_cv_pack_bitfields=${rpppoe_cv_pack_bitfields=normal}
diff --git a/meta-openembedded/meta-networking/site/endian-little b/meta-openembedded/meta-networking/site/endian-little
deleted file mode 100644
index 0bcd966ea..000000000
--- a/meta-openembedded/meta-networking/site/endian-little
+++ /dev/null
@@ -1,2 +0,0 @@
-# rp-pppoe
-rpppoe_cv_pack_bitfields=${rpppoe_cv_pack_bitfields=rev}
diff --git a/meta-openembedded/meta-oe/README b/meta-openembedded/meta-oe/README
index 98f671d7c..676a2c892 100644
--- a/meta-openembedded/meta-oe/README
+++ b/meta-openembedded/meta-oe/README
@@ -5,7 +5,6 @@ This layer depends on:
URI: git://github.com/openembedded/openembedded-core.git
branch: master
-revision: HEAD
luajit recipe requires host compiler to be able to generate 32bit code when target is 32bit
e.g. arm, so ensure that $CC -m32 is functional on build host, if building this recipe, needed
@@ -15,7 +14,7 @@ e.g. on archlinux based distributions install prerequisites like below
pacman -S lib32-gcc-libs lib32-glibc
Ubuntu
-sudo apt-get install gcc-multilib
+sudo apt-get install gcc-multilib linux-libc-dev:i386
Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe]' in the subject'
diff --git a/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.5.bb b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.6.bb
index 9b6f19f58..a57aaf08a 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.5.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.6.bb
@@ -4,7 +4,7 @@ LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=015106c62262b2383f6c72063f0998f2"
SRC_URI = "git://github.com/tristanpenman/valijson.git"
-SRCREV = "c5487c39eb900b97535f8b3a38a17af098c784e3"
+SRCREV = "2dfc7499a31b84edef71189f4247919268ebc74e"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.27.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.28.bb
index 96791948b..6e4b648d2 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.27.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.28.bb
@@ -22,7 +22,7 @@ PACKAGECONFIG_NUMA:armeb = ""
PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
PACKAGECONFIG[numa] = ",--disable-numa,numactl"
-SRCREV = "0313e938c9c8bb37d71dade239f1f5326677b079"
+SRCREV = "d83ac9d3d30d5f5dc6d0e425e4ba945a772839f6"
SRC_URI = "git://git.kernel.dk/fio.git \
"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/chipsec/chipsec_git.bb b/meta-openembedded/meta-oe/recipes-bsp/chipsec/chipsec_git.bb
new file mode 100644
index 000000000..3339dc142
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/chipsec/chipsec_git.bb
@@ -0,0 +1,35 @@
+SUMMARY = "CHIPSEC: Platform Security Assessment Framework"
+
+DESCRIPTION = "CHIPSEC is a framework for analyzing the security \
+ of PC platforms including hardware, system firmware \
+ (BIOS/UEFI), and platform components."
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bc2d1f9b427be5fb63f6af9da56f7c5d"
+
+SRC_URI = "git://github.com/chipsec/chipsec.git;branch=master \
+ "
+
+SRCREV = "b2a61684826dc8b9f622a844a40efea579cd7e7d"
+
+COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+
+S = "${WORKDIR}/git"
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}' CFLAGS='${CFLAGS}'"
+
+DEPENDS = "virtual/kernel nasm-native python3-setuptools-native"
+RDEPENDS:${PN} += "python3 python3-modules"
+
+inherit module distutils3
+
+do_compile:append() {
+ cd ${S}/drivers/linux
+ oe_runmake KSRC=${STAGING_KERNEL_BUILDDIR}
+}
+
+do_install:append() {
+ install -m 0644 ${S}/drivers/linux/chipsec.ko ${D}${PYTHON_SITEPACKAGES_DIR}/chipsec/helper/linux
+}
+
+FILES:${PN} += "${exec_prefix} \
+"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch b/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch
deleted file mode 100644
index ffe0a0067..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 63dc2d0c9384d85482dc4cbb3c179b4b0bb18d4e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 19 Dec 2019 22:32:01 -0800
-Subject: [PATCH] cmake: Use GNUInstallDirs
-
-Helps install cmakefiles in right libdir
-
-Upstream-Status: Submitted [https://github.com/labapart/gattlib/pull/139]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- CMakeLists.txt | 5 +++--
- dbus/CMakeLists.txt | 18 ++++++++++--------
- 2 files changed, 13 insertions(+), 10 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 12d8d71..ded7239 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -152,7 +152,8 @@ endif()
- #
- # List of file to install
- #
--install(FILES include/gattlib.h DESTINATION include)
--install(FILES ${PROJECT_BINARY_DIR}/gattlib.pc DESTINATION lib/pkgconfig)
-+include(GNUInstallDirs)
-+install(FILES include/gattlib.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+install(FILES ${PROJECT_BINARY_DIR}/gattlib.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
- include(CPack)
-diff --git a/dbus/CMakeLists.txt b/dbus/CMakeLists.txt
-index f5096ce..cef031f 100644
---- a/dbus/CMakeLists.txt
-+++ b/dbus/CMakeLists.txt
-@@ -19,7 +19,7 @@
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- #
-
--cmake_minimum_required(VERSION 2.6)
-+cmake_minimum_required(VERSION 3.0)
-
- find_package(PkgConfig REQUIRED)
-
-@@ -119,4 +119,6 @@ endif()
- add_library(gattlib SHARED ${gattlib_SRCS})
- target_link_libraries(gattlib ${gattlib_LIBS})
-
--install(TARGETS gattlib LIBRARY DESTINATION lib)
-+include(GNUInstallDirs)
-+
-+install(TARGETS gattlib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
---
-2.24.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb
index 234f840f9..ea4f4d546 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb
@@ -1,8 +1,8 @@
DESCRIPTION = "Bluetooth library with attribute support"
SECTION = "libs/network"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://CMakeLists.txt;beginline=1;endline=20;md5=8d5efeb9189b60866baff80ff791bf00"
+LICENSE = "GPL-2.0+ | BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://CMakeLists.txt;beginline=1;endline=6;md5=71fdd2be76b4e95fe28324a70d4981c5"
DEPENDS = "bluez5 glib-2.0"
DEPENDS += "glib-2.0-native"
@@ -11,11 +11,10 @@ PV = "0.2+git${SRCPV}"
SRC_URI = "git://github.com/labapart/gattlib.git \
file://dbus-avoid-strange-chars-from-the-build-dir.patch \
- file://0001-cmake-Use-GNUInstallDirs.patch \
"
SRCBRANCH = "master"
-SRCREV = "5c7ee43bd70ee09a7170ddd55b9fdbdef69e9080"
+SRCREV = "fa54ae42ccb3d8f911e00b02ed1e581537e47f79"
S = "${WORKDIR}/git"
@@ -29,4 +28,4 @@ EXTRA_OECMAKE += "-DGATTLIB_BUILD_DOCS=OFF"
inherit pkgconfig cmake
FILES:${PN} = "${libdir}/*"
-FILES:${PN}-dev = "${includedir}/*"
+FILES:${PN}-dev = "${includedir}/* ${libdir}/pkgconfig"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb
index 74902500d..43b000e7d 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb
@@ -18,7 +18,7 @@ PV = "3.00"
S = "${WORKDIR}/git"
-inherit autotools-brokensep gettext update-rc.d systemd mime-xdg
+inherit autotools-brokensep gettext update-rc.d pkgconfig systemd mime-xdg
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
index 270df6f0e..d234d0185 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
@@ -4,8 +4,8 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94"
DEPENDS = "zeromq"
-SRCREV = "267d300d1c99381a0fbc7e060ae2899e51f5e425"
-PV = "4.8.0"
+SRCREV = "dd663fafd830466d34cba278c2cfd0f92eb67614"
+PV = "4.8.1"
SRC_URI = "git://github.com/zeromq/cppzmq.git;branch=master"
diff --git a/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb b/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb
index 71ab4d45a..7d0182978 100644
--- a/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb
+++ b/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb
@@ -13,6 +13,6 @@ SRCREV = "28202692d0b441000f4ddb8f347f72d1355021aa"
S = "${WORKDIR}/git"
-inherit autotools vala
+inherit autotools pkgconfig vala
EXTRA_OECONF += "--enable-vala"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index efa7b7a66..dab983b94 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -823,6 +823,7 @@ RDEPENDS:packagegroup-meta-oe-support ="\
remmina \
neon \
nmon \
+ libjs-jquery-icheck \
libtinyxml \
libusbg \
libutempter \
@@ -874,6 +875,7 @@ RDEPENDS:packagegroup-meta-oe-support ="\
spitools \
libsass \
sassc \
+ smarty \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "synergy", "", d)} \
syslog-ng \
system-config-keyboard \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
index 3c6ffe04e..fb1b18c18 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
@@ -13,7 +13,7 @@ SRC_URI = "git://github.com/LMDB/lmdb.git;nobranch=1 \
file://0001-Makefile-use-libprefix-instead-of-libdir.patch \
"
-SRCREV = "LMDB_${PV}"
+SRCREV = "8ad7be2510414b9506ec9f9e24f24d04d9b04a1a"
inherit base ptest
diff --git a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch
deleted file mode 100644
index 4c996656c..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 329e27c8ad30e76ab50c7949cc95ba8eb0efabd2 Mon Sep 17 00:00:00 2001
-From: Anton Blanchard <anton@ozlabs.org>
-Date: Tue, 17 Aug 2021 09:53:41 +1000
-Subject: [PATCH] Use GNUInstallDirs instead of hard wiring install directories
-
-On a multilib setup cmake files should go into lib64.
-
-Upstream-Status: Submitted [https://github.com/CPPAlliance/url/pull/38]
----
- CMakeLists.txt | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5b53f31..ebb7346 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -109,20 +109,22 @@ else()
- endif()
-
- if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR AND NOT BOOST_URL_IN_BOOST_TREE)
-+ include(GNUInstallDirs)
-+
- set_target_properties(boost_url PROPERTIES EXPORT_NAME url)
- install(TARGETS boost_url EXPORT boost_url_targets)
-
- install(EXPORT boost_url_targets
- FILE boost_url-targets.cmake
- NAMESPACE Boost::
-- DESTINATION lib/cmake/boost_url
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boost_url
- )
-
- include(CMakePackageConfigHelpers)
-
- configure_package_config_file(cmake/config.cmake.in
- ${CMAKE_CURRENT_BINARY_DIR}/boost_url-config.cmake
-- INSTALL_DESTINATION lib/cmake/boost_url
-+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boost_url
- )
-
- write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/boost_url-config-version.cmake
-@@ -132,10 +134,10 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR AND NOT BOOST_URL_IN_BOOST
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/boost_url-config.cmake
- ${CMAKE_CURRENT_BINARY_DIR}/boost_url-config-version.cmake
-- DESTINATION lib/cmake/boost_url
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boost_url
- )
-
-- install(DIRECTORY include/ DESTINATION include)
-+ install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- endif()
-
- if(BOOST_URL_BUILD_TESTS)
---
-2.31.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
index cb3664fe3..9f759100b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
@@ -4,16 +4,17 @@ SECTION = "libs"
LICENSE = "BSL-1.0"
LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-SRC_URI = "git://github.com/CPPAlliance/url.git;branch=develop \
- file://0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch \
- "
+SRC_URI = "git://github.com/CPPAlliance/url.git;branch=develop"
-SRCREV = "2c867fbe284ae532f1329b87a86ad3f8cd382867"
+SRCREV = "4f712ed69a04a344957d22efa5dc111b415b3aff"
S = "${WORKDIR}/git"
-inherit cmake
-
DEPENDS = "boost"
BBCLASSEXTEND = "native nativesdk"
+
+do_install() {
+ mkdir -p ${D}/${includedir}
+ cp -r ${S}/include/** ${D}/${includedir}/
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb
index d4fed864d..7cd06f102 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb
@@ -7,7 +7,7 @@ DESCRIPTION = "jemalloc is a general purpose malloc(3) implementation that empha
fragmentation avoidance and scalable concurrency support."
HOMEPAGE = "https://github.com/jemalloc/jemalloc"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
SECTION = "libs"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb b/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
index 7dbefa115..76d1c8bf3 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
@@ -24,7 +24,7 @@ PV = "1.0.1+git${SRCPV}"
S = "${WORKDIR}/git"
-inherit cmake
+inherit cmake pkgconfig
DEPENDS = "json-c"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch b/meta-openembedded/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch
new file mode 100644
index 000000000..54cd096e4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch
@@ -0,0 +1,35 @@
+From 436163ab845c263312cf3d4717a43727cf5f0747 Mon Sep 17 00:00:00 2001
+From: Matteo Croce <mcroce@microsoft.com>
+Date: Wed, 15 Sep 2021 17:54:01 +0200
+Subject: [PATCH] Use /usr/bin/env python3 instead of just /usr/bin/python3
+
+Upstream-Status: inappropriate [OE specific]
+
+---
+ ostra/ostra-cg | 2 +-
+ ostra/python/ostra.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ostra/ostra-cg b/ostra/ostra-cg
+index 52c902e..8142e67 100755
+--- a/ostra/ostra-cg
++++ b/ostra/ostra-cg
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python3
++#!/usr/bin/env python3
+ # ostra-cg - generate callgraphs from encoded trace
+ #
+ # Arnaldo Carvalho de Melo <acme@redhat.com>
+diff --git a/ostra/python/ostra.py b/ostra/python/ostra.py
+index 86fe079..9bb5ad1 100755
+--- a/ostra/python/ostra.py
++++ b/ostra/python/ostra.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python3
++#!/usr/bin/env python3
+ #
+ # Copyright (C) 2005, 2006, 2007 Arnaldo Carvalho de Melo
+ #
+--
+2.31.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pahole/files/0003-CMakeList.txt-don-t-download-libbpf-source-when-syst.patch b/meta-openembedded/meta-oe/recipes-devtools/pahole/files/0003-CMakeList.txt-don-t-download-libbpf-source-when-syst.patch
new file mode 100644
index 000000000..3d491e2ef
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/pahole/files/0003-CMakeList.txt-don-t-download-libbpf-source-when-syst.patch
@@ -0,0 +1,34 @@
+From 3d20210d84f61ee2189927e2d9de9ce3e5a0a9c5 Mon Sep 17 00:00:00 2001
+From: Matteo Croce <mcroce@microsoft.com>
+Date: Mon, 20 Sep 2021 18:44:52 +0200
+Subject: [PATCH] CMakeList.txt: Don't download libbpf source when system
+ library is used
+
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/devel/pahole/pahole.git/commit/?id=3d20210d84f61ee2189927e2d9de9ce3e5a0a9c5]
+
+The build system always download the libbpf submodule, regardless if
+we're using the embedded or the system version.
+Download the libbpf source only if we're using the embedded one.
+
+Signed-off-by: Matteo Croce <mcroce@microsoft.com>
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8523bce..2ab66e4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -65,7 +65,7 @@ find_package(Python3 QUIET)
+
+ # make sure git submodule(s) are checked out
+ find_package(Git QUIET)
+-if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
++if(LIBBPF_EMBEDDED AND GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
+ # Update submodules as needed
+ option(GIT_SUBMODULE "Check submodules during build" ON)
+ if(GIT_SUBMODULE)
+--
+2.31.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.22.bb b/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.22.bb
index db7d88cdf..66f776135 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.22.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.22.bb
@@ -5,15 +5,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "elfutils zlib libbpf"
+# Depends on MACHINE_ARCH libbpf
+PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_HOST = "(x86_64|i.86|aarch64).*-linux"
SRCREV = "f02af2553ea58ae1186226af0d0ec835a248358f"
SRC_URI = "git://git.kernel.org/pub/scm/devel/pahole/pahole.git \
- file://0001-CMakeList.txt-make-python-optional.patch"
+ file://0001-CMakeList.txt-make-python-optional.patch \
+ file://0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch \
+ file://0003-CMakeList.txt-don-t-download-libbpf-source-when-syst.patch"
S = "${WORKDIR}/git"
-inherit cmake
+inherit cmake pkgconfig
PACKAGECONFIG[python3] = ",,python3-core,python3-core"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
index fc7286122..bd3a277a3 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
@@ -1,7 +1,8 @@
-From 321709837f412e2f590e36e3fe33571bb40036a7 Mon Sep 17 00:00:00 2001
+From 8515ceec5ba3e2fcdbc819b5bf10fe742d7c9d5d Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Thu, 27 Jun 2019 13:27:18 +0000
-Subject: [PATCH] Makefile.am: include descriptor.pb.cc when building libprotoc.so
+Subject: [PATCH] Makefile.am: include descriptor.pb.cc when building
+ libprotoc.so
* otherwise plugin.pb.o has undefined symbol scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto
and build with gold fails with:
@@ -10,19 +11,20 @@ Subject: [PATCH] Makefile.am: include descriptor.pb.cc when building libprotoc.s
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
---
src/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/Makefile.am b/src/Makefile.am
-index be18ba761..57e3daec1 100644
+index d4f11ce79..96d911746 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
-@@ -313,6 +313,7 @@ libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map
+@@ -323,6 +323,7 @@ libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map
EXTRA_libprotoc_la_DEPENDENCIES = libprotoc.map
endif
libprotoc_la_SOURCES = \
+ google/protobuf/descriptor.pb.cc \
google/protobuf/compiler/code_generator.cc \
google/protobuf/compiler/command_line_interface.cc \
- google/protobuf/compiler/plugin.cc \
+ google/protobuf/compiler/cpp/cpp_enum.cc \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.17.3.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.18.0.bb
index 4de2c93d4..9f501124a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.17.3.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.18.0.bb
@@ -10,14 +10,14 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b"
DEPENDS = "zlib"
DEPENDS:append:class-target = " protobuf-native"
-SRCREV = "909a0f36a10075c4b4bc70fdee2c7e32dd612a72"
+SRCREV = "89b14b1d16eba4d44af43256fc45b24a6a348557"
-SRC_URI = "git://github.com/protocolbuffers/protobuf.git \
+SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=3.18.x \
file://run-ptest \
file://0001-protobuf-fix-configure-error.patch \
file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \
file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
-"
+ "
S = "${WORKDIR}/git"
inherit autotools-brokensep pkgconfig ptest
diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
index 5dcc6afdf..8365da0f9 100644
--- a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
@@ -18,16 +18,19 @@ Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Update for 20200910.
Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+
+Update for 20210808.
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
---
aclocal.m4 | 1 -
configure | 259 -----------------------------------------------------
2 files changed, 260 deletions(-)
diff --git a/aclocal.m4 b/aclocal.m4
-index 1c6a3ee..2f7e9b5 100644
+index 7a9a8fb..108b6cc 100644
--- a/aclocal.m4
+++ b/aclocal.m4
-@@ -1317,7 +1317,6 @@ CF_GCC_VERSION
+@@ -1401,7 +1401,6 @@ CF_GCC_VERSION
CF_ACVERSION_CHECK(2.52,
[AC_PROG_CC_STDC],
[CF_ANSI_CC_REQD])
@@ -36,20 +39,20 @@ index 1c6a3ee..2f7e9b5 100644
dnl ---------------------------------------------------------------------------
dnl CF_PROG_GROFF version: 3 updated: 2018/01/07 13:16:19
diff --git a/configure b/configure
-index 378f27d..8f40229 100755
+index 5b98a03..e3a4237 100755
--- a/configure
+++ b/configure
-@@ -2066,265 +2066,6 @@ esac
+@@ -2146,265 +2146,6 @@ esac
# This should have been defined by AC_PROG_CC
- : ${CC:=cc}
+ : "${CC:=cc}"
--echo "$as_me:2069: checking \$CFLAGS variable" >&5
+-echo "$as_me:2149: checking \$CFLAGS variable" >&5
-echo $ECHO_N "checking \$CFLAGS variable... $ECHO_C" >&6
-case "x$CFLAGS" in
-(*-[IUD]*)
-- echo "$as_me:2073: result: broken" >&5
+- echo "$as_me:2153: result: broken" >&5
-echo "${ECHO_T}broken" >&6
-- { echo "$as_me:2075: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5
+- { echo "$as_me:2155: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5
-echo "$as_me: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&2;}
- cf_flags="$CFLAGS"
- CFLAGS=
@@ -63,19 +66,19 @@ index 378f27d..8f40229 100755
-
-for cf_add_cflags in $cf_arg
-do
--case $cf_fix_cppflags in
+-case "$cf_fix_cppflags" in
-(no)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-D*)
-- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+- cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
-
- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
- && test -z "${cf_tst_cflags}" \
- && cf_fix_cppflags=yes
-
-- if test $cf_fix_cppflags = yes ; then
+- if test "$cf_fix_cppflags" = yes ; then
-
- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
@@ -94,7 +97,7 @@ index 378f27d..8f40229 100755
- (*$cf_add_cflags)
- ;;
- (*)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-D*)
- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
-
@@ -124,7 +127,7 @@ index 378f27d..8f40229 100755
- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
-
-- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+- cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'`
-
- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
- && test -z "${cf_tst_cflags}" \
@@ -157,18 +160,18 @@ index 378f27d..8f40229 100755
- done
- ;;
-(*)
-- echo "$as_me:2183: result: ok" >&5
+- echo "$as_me:2263: result: ok" >&5
-echo "${ECHO_T}ok" >&6
- ;;
-esac
-
--echo "$as_me:2188: checking \$CC variable" >&5
+-echo "$as_me:2268: checking \$CC variable" >&5
-echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
-case "$CC" in
-(*[\ \ ]-*)
-- echo "$as_me:2192: result: broken" >&5
+- echo "$as_me:2272: result: broken" >&5
-echo "${ECHO_T}broken" >&6
-- { echo "$as_me:2194: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
+- { echo "$as_me:2274: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
-echo "$as_me: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
- # humor him...
- cf_prog=`echo "$CC" | sed -e 's/ / /g' -e 's/[ ]* / /g' -e 's/[ ]*[ ]-[^ ].*//'`
@@ -186,19 +189,19 @@ index 378f27d..8f40229 100755
-
-for cf_add_cflags in $cf_arg
-do
--case $cf_fix_cppflags in
+-case "$cf_fix_cppflags" in
-(no)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-D*)
-- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+- cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
-
- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
- && test -z "${cf_tst_cflags}" \
- && cf_fix_cppflags=yes
-
-- if test $cf_fix_cppflags = yes ; then
+- if test "$cf_fix_cppflags" = yes ; then
-
- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
@@ -217,7 +220,7 @@ index 378f27d..8f40229 100755
- (*$cf_add_cflags)
- ;;
- (*)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-D*)
- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
-
@@ -247,7 +250,7 @@ index 378f27d..8f40229 100755
- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
-
-- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+- cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'`
-
- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
- && test -z "${cf_tst_cflags}" \
@@ -285,24 +288,24 @@ index 378f27d..8f40229 100755
- done
- test -n "$verbose" && echo " resulting CC: '$CC'" 1>&6
-
--echo "${as_me:-configure}:2311: testing resulting CC: '$CC' ..." 1>&5
+-echo "${as_me:-configure}:2391: testing resulting CC: '$CC' ..." 1>&5
-
- test -n "$verbose" && echo " resulting CFLAGS: '$CFLAGS'" 1>&6
-
--echo "${as_me:-configure}:2315: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2395: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
-
- test -n "$verbose" && echo " resulting CPPFLAGS: '$CPPFLAGS'" 1>&6
-
--echo "${as_me:-configure}:2319: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2399: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
-
- ;;
-(*)
-- echo "$as_me:2323: result: ok" >&5
+- echo "$as_me:2403: result: ok" >&5
-echo "${ECHO_T}ok" >&6
- ;;
-esac
-
- echo "$as_me:2328: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo "$as_me:2408: checking whether ${MAKE-make} sets \${MAKE}" >&5
echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
--
diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20200910.bb b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20210808.bb
index b7640ffca..eeed39f63 100644
--- a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20200910.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20210808.bb
@@ -4,8 +4,7 @@
# Setting to PD as this is what the upstream has it as.
LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=262857ec5923f073fa06a1f1812225ea"
+LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=80ce98c6ab91cc4a93a9d2cfb7c14463"
require byacc.inc
-SRC_URI[md5sum] = "5726a5a655c6fd4e8f950552cceeae29"
-SRC_URI[sha256sum] = "0a5906073aeaf23ddc20aaac0ea61cb5ccc18572870b113375dec4ffe85ecf30"
+SRC_URI[sha256sum] = "f158529be9d0594263c7f11a87616a49ea23e55ac63691252a2304fbbc7d3a83"
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb
index 94df01506..6b906a21c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb
@@ -43,7 +43,7 @@ PACKAGECONFIG[dlt-adaptor] = "-DWITH_DLT_ADAPTOR=ON,-DWITH_DLT_ADAPTOR=OFF,,dlt-
PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF"
PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF,,dlt-daemon-systemd"
-inherit autotools gettext cmake systemd
+inherit autotools gettext cmake pkgconfig systemd
EXTRA_OECMAKE += "-DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb
index 14168e6bb..7325b26e3 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb
@@ -8,7 +8,7 @@ SECTION = "devel/lib"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
-inherit autotools gobject-introspection
+inherit autotools gobject-introspection pkgconfig
SRC_URI = "git://github.com/storaged-project/libblockdev;branch=2.x-branch"
SRCREV = "47ff12242c89e36a33259d18b7068b26c3bb1c64"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch
deleted file mode 100644
index c82f3bf01..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 73d2aea33e32272bac693550e8a3b0e3ad89707f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com>
-Date: Tue, 26 Dec 2017 00:02:26 +0100
-Subject: [PATCH] build: fix configure script neglecting, re-enable out-of-tree
- builds
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-For the former, a prototype and the final code got (hm, mysteriously)
-intertwisted. For the latter, I am clearly guilty of (rare, anyway)
-testing of the out-of-tree builds only with libqb-already-system-wide
-scenario, which is rather shortsighted.
-
-Thanks Fabio and his ci.kronosnet.org project for spotting that.
-
-X-mas-present-for: Fabio M. Di Nitto <fdinitto@redhat.com>
-Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
----
-Upstream-Status: Backport
-
- configure.ac | 2 +-
- lib/Makefile.am | 4 +++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9900310..f9761cc 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -710,7 +710,7 @@ if test "x${GCC}" = xyes; then
- | grep __stop___verbose | cut -d" " -f 3)
- test "${verbose_start_addr}" = "${verbose_stop_addr}" \
- && gcc_has_attribute_section_visible=no \
-- || { verbose_start_type=$(${READELF} -s backup \
-+ || { verbose_start_type=$(${READELF} -s "conftest${shrext_cmds}" \
- | sed -n '/__start___verbose/{s/^\s*//p;q}' \
- | tr -s ' ' \
- | cut -d" " -f6)
-diff --git a/lib/Makefile.am b/lib/Makefile.am
-index 6ca6b15..b035f0b 100644
---- a/lib/Makefile.am
-+++ b/lib/Makefile.am
-@@ -101,7 +101,9 @@ endif
- endif
-
- qblog_script.ld: %.ld: %.ld.in
-- $(AM_V_GEN)$(CPP) -xc -I$(top_srcdir)/include -D_GNU_SOURCE -C -P $< \
-+ $(AM_V_GEN)$(CPP) -C -D_GNU_SOURCE -P \
-+ -I$(top_srcdir)/include -I$(top_builddir)/include \
-+ -xc $< \
- | sed -n "/$$(sed -n '/^[^#]/{s/[*\/]/\\&/g;p;q;}' $<)/,$$ p" \
- > $@
-
---
-2.16.2
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb
deleted file mode 100644
index d14fbaed3..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "An IPC library for high performance servers"
-DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \
-It provides high performance logging, tracing, ipc, and poll."
-
-HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki"
-SECTION = "libs"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
-
-inherit autotools pkgconfig
-
-# v1.0.5
-SRCREV = "d08dbcf08b0da418bce9b5427dfd89522916322a"
-SRC_URI = "git://github.com/ClusterLabs/${BPN}.git;branch=version_1 \
- file://0001-build-fix-configure-script-neglecting-re-enable-out-.patch \
- "
-S = "${WORKDIR}/git"
-
-# otherwise do_configure fails
-# configure:21609: checking whether linker workaround for orphan sections usable
-# configure:21639: i586-oe-linux-gcc -m32 -march=i586 --sysroot=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot -o conftest -O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0=/usr/src/debug/libqb/1.0.3+gitAUTOINC+c235284b5f-r0 -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot= -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native= -pipe -pthread -D_REENTRANT -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,conftest.ld conftest.c >&5
-# WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native/usr/bin/i586-oe-linux/../../libexec/i586-oe-linux/gcc/i586-oe-linux/8.1.0/ld: error: conftest.ld: SECTIONS seen after other input files; try -T/--script
-# WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native/usr/bin/i586-oe-linux/../../libexec/i586-oe-linux/gcc/i586-oe-linux/8.1.0/ld: internal error in write_sections, at ../../gold/reloc.cc:791
-# collect2: error: ld returned 1 exit status
-NOSECTION_FALLBACK = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--enable-nosection-fallback', '', d)}"
-NOSECTION_FALLBACK:toolchain-clang:mips64 = "--enable-nosection-fallback"
-
-EXTRA_OECONF += "${NOSECTION_FALLBACK}"
-
-CFLAGS += "-pthread -D_REENTRANT"
-
-do_configure:prepend() {
- ( cd ${S}
- ${S}/autogen.sh )
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_2.0.3.bb b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_2.0.3.bb
new file mode 100644
index 000000000..18d6a4f27
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_2.0.3.bb
@@ -0,0 +1,26 @@
+SUMMARY = "An IPC library for high performance servers"
+DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \
+It provides high performance logging, tracing, ipc, and poll."
+
+HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki"
+SECTION = "libs"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
+
+inherit autotools pkgconfig
+
+SRCREV = "404adbcd998ec83643e47d92b3ea8d9c3970e68b"
+SRC_URI = "git://github.com/ClusterLabs/${BPN}.git \
+ "
+S = "${WORKDIR}/git"
+
+DEPENDS += "libxml2"
+
+CFLAGS += "-pthread -D_REENTRANT"
+
+do_configure:prepend() {
+ ( cd ${S}
+ ${S}/autogen.sh )
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
index a1919e740..e96138ea8 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
@@ -15,7 +15,7 @@ SRC_URI = "\
S = "${WORKDIR}/git"
-inherit cpan autotools-brokensep gettext python3native python3-dir systemd
+inherit cpan autotools-brokensep gettext pkgconfig python3native python3-dir systemd
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.3.bb b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.4.bb
index 11a165ed7..fa08d0f98 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.4.bb
@@ -16,7 +16,7 @@ PV .= "+git${SRCPV}"
SRC_URI = "git://pagure.io/sanlock.git;protocol=http \
file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch;patchdir=../ \
"
-SRCREV = "3a750fed849405c745dcb7b4ceb85f662c53d8d0"
+SRCREV = "a181e951376d49a82eef17920c8ebedec80b4823"
S = "${WORKDIR}/git/python"
diff --git a/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
index bfecc7ebd..ef1ae2c0b 100644
--- a/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "6ca3748fc1dad22c450bbf6601d4e706cb11c5e662d11bb4aeb473a9cd
SRCNAME = "volume_key"
S = "${WORKDIR}/${SRCNAME}-${PV}"
-inherit autotools python3native gettext
+inherit autotools python3native gettext pkgconfig
DEPENDS += " \
util-linux \
diff --git a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb
index f1e87ba22..9d9fab2ea 100644
--- a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb
@@ -10,7 +10,7 @@ LICENSE = "wxWidgets"
LIC_FILES_CHKSUM = "file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6"
inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake', d)}
-inherit features_check lib_package binconfig
+inherit features_check lib_package binconfig pkgconfig
# All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake)
REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'no_gui', '', 'x11', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb
index 62d4cba5f..be5b6013f 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb
@@ -15,7 +15,7 @@ DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native"
RDEPENDS:${PN} = "libxcb xcb-util-keysyms"
-inherit cmake python3native features_check
+inherit cmake pkgconfig python3native features_check
REQUIRED_DISTRO_FEATURES = "x11 opengl"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb
index 057a1772a..e7673c58d 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb
@@ -9,10 +9,10 @@ LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3"
S = "${WORKDIR}/git"
-inherit features_check
+inherit autotools cmake features_check pkgconfig
+
REQUIRED_DISTRO_FEATURES = "x11 pam"
-inherit autotools cmake
B = "${S}"
SRCREV = "540bfc3278e396321124d4b18a798ac2bc18b6ca"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb
index ec2d10608..64dd3ea78 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb
@@ -10,7 +10,7 @@ SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
S = "${WORKDIR}/git"
-inherit features_check meson
+inherit features_check meson pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch
new file mode 100644
index 000000000..cb396c37d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch
@@ -0,0 +1,126 @@
+From acd25c4b8d5b7e420a7a89bdfd6551c70de828b3 Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Thu, 23 Sep 2021 19:36:43 -0400
+Subject: [PATCH] use library sonames for linking
+
+The recommended "best practices" for applications is to link to library
+sonames (e.g. libGL.so.1) instead of library names (e.g. libGL.so). This
+ensures that applications don't try to use libraries if an incompatible ABI
+change occurs.
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/288]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ framework/egl/egluGLContextFactory.cpp | 4 ++--
+ framework/egl/wrapper/eglwLibrary.cpp | 2 +-
+ framework/platform/android/tcuAndroidPlatform.cpp | 2 +-
+ framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | 2 +-
+ .../platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | 2 +-
+ framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | 6 +++---
+ 6 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/framework/egl/egluGLContextFactory.cpp b/framework/egl/egluGLContextFactory.cpp
+index 8fbea2af1..8d42f19eb 100644
+--- a/framework/egl/egluGLContextFactory.cpp
++++ b/framework/egl/egluGLContextFactory.cpp
+@@ -63,7 +63,7 @@ using std::vector;
+ # if (DE_OS == DE_OS_WIN32)
+ # define DEQP_GLES2_LIBRARY_PATH "libGLESv2.dll"
+ # else
+-# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so"
++# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2"
+ # endif
+ #endif
+
+@@ -75,7 +75,7 @@ using std::vector;
+ # if (DE_OS == DE_OS_WIN32)
+ # define DEQP_OPENGL_LIBRARY_PATH "opengl32.dll"
+ # else
+-# define DEQP_OPENGL_LIBRARY_PATH "libGL.so"
++# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1"
+ # endif
+ #endif
+
+diff --git a/framework/egl/wrapper/eglwLibrary.cpp b/framework/egl/wrapper/eglwLibrary.cpp
+index d7e07fe18..ebdf68b14 100644
+--- a/framework/egl/wrapper/eglwLibrary.cpp
++++ b/framework/egl/wrapper/eglwLibrary.cpp
+@@ -148,7 +148,7 @@ DefaultLibrary::~DefaultLibrary (void)
+ const char* DefaultLibrary::getLibraryFileName (void)
+ {
+ #if (DE_OS == DE_OS_ANDROID) || (DE_OS == DE_OS_UNIX)
+- return "libEGL.so";
++ return "libEGL.so.1";
+ #elif (DE_OS == DE_OS_WIN32)
+ return "libEGL.dll";
+ #else
+diff --git a/framework/platform/android/tcuAndroidPlatform.cpp b/framework/platform/android/tcuAndroidPlatform.cpp
+index b9a4c716f..05cec0b49 100644
+--- a/framework/platform/android/tcuAndroidPlatform.cpp
++++ b/framework/platform/android/tcuAndroidPlatform.cpp
+@@ -57,7 +57,7 @@ static const eglu::NativeWindow::Capability WINDOW_CAPABILITIES = (eglu::Nativ
+ class NativeDisplay : public eglu::NativeDisplay
+ {
+ public:
+- NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so") {}
++ NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so.1") {}
+ virtual ~NativeDisplay (void) {}
+
+ virtual EGLNativeDisplayType getLegacyNative (void) { return EGL_DEFAULT_DISPLAY; }
+diff --git a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
+index 009c05e18..237c5e16f 100644
+--- a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
++++ b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
+@@ -75,7 +75,7 @@ class Library : public eglw::DefaultLibrary
+ {
+ public:
+ Library (void)
+- : eglw::DefaultLibrary("libEGL.so")
++ : eglw::DefaultLibrary("libEGL.so.1")
+ {
+ }
+
+diff --git a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
+index 97bc3a0ed..3a20d63d3 100644
+--- a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
++++ b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
+@@ -66,7 +66,7 @@ public:
+ EGL_PLATFORM_WAYLAND_KHR,
+ "EGL_KHR_platform_wayland")
+ , m_display (waylandDisplay)
+- , m_library ("libEGL.so") {}
++ , m_library ("libEGL.so.1") {}
+
+ ~Display(void) {}
+ wayland::Display& getWaylandDisplay (void) { return *m_display; }
+diff --git a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
+index 9783eaeab..a1d8ac667 100644
+--- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
++++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
+@@ -69,7 +69,7 @@ using std::vector;
+
+ // Default library names
+ #if !defined(DEQP_GLES2_LIBRARY_PATH)
+-# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so"
++# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2"
+ #endif
+
+ #if !defined(DEQP_GLES3_LIBRARY_PATH)
+@@ -77,7 +77,7 @@ using std::vector;
+ #endif
+
+ #if !defined(DEQP_OPENGL_LIBRARY_PATH)
+-# define DEQP_OPENGL_LIBRARY_PATH "libGL.so"
++# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1"
+ #endif
+
+ namespace tcu
+@@ -238,7 +238,7 @@ glu::RenderContext* ContextFactory::createContext(const glu::RenderConfig& confi
+ }
+
+ EglRenderContext::EglRenderContext(const glu::RenderConfig& config, const tcu::CommandLine& cmdLine)
+- : m_egl("libEGL.so")
++ : m_egl("libEGL.so.1")
+ , m_contextType(config.type)
+ , m_eglDisplay(EGL_NO_DISPLAY)
+ , m_eglContext(EGL_NO_CONTEXT)
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
index f61921473..1faee4d3a 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
+++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
@@ -18,13 +18,14 @@ S = "${WORKDIR}/git"
inherit pkgconfig cmake features_check
-REQUIRED_DISTRO_FEATURES += "opengl"
+ANY_OF_DISTRO_FEATURES += "opengl wayland"
-DEPENDS += "libpng zlib virtual/libgles2 virtual/egl"
+DEPENDS += "libpng zlib virtual/libgles2"
SRC_URI += "file://0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch;patchdir=external/amber/src \
file://0001-Include-limits-header-for-numeric_limits.patch;patchdir=external/vulkancts \
file://0001-vulkancts.patch \
+ file://0001-use-library-sonames-for-linking.patch \
"
SRC_URI:append:libc-musl = "\
@@ -36,7 +37,30 @@ SRC_URI:append:toolchain-clang = "\
file://fix-clang-private-operator.patch \
"
-EXTRA_OECMAKE:append = " -DDEQP_TARGET=surfaceless"
+# The best thing for the user to do is to not specify any of the following
+# PACKAGECONFIGs (i.e. leave it blank) which tells the project to do its own
+# probing and build what it thinks is appropriate.
+# However, if you want, you can specify one of the following PACKAGECONFIGs
+# to override this behaviour.
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[surfaceless] = "-DDEQP_TARGET=surfaceless,,,,,wayland x11_egl x11_glx x11_egl_glx"
+PACKAGECONFIG[wayland] = "-DDEQP_TARGET=wayland,,wayland,,,surfaceless x11_egl x11_glx x11_egl_glx"
+PACKAGECONFIG[x11_egl] = "-DDEQP_TARGET=x11_egl,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_glx x11_egl_glx"
+PACKAGECONFIG[x11_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11,,,surfaceless wayland x11_egl x11_egl_glx"
+PACKAGECONFIG[x11_egl_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_egl x11_glx"
+
+python __anonymous() {
+ # if the user doesn't specify any PACKAGECONFIG then the cts build system
+ # is going to probe the sysroot to try to figure out what to build
+ # in this case we try to guess whether the user is building for wayland
+ # or x11 and add the required dependencies automatically
+ distrofeatures = (d.getVar("DISTRO_FEATURES") or "")
+ if not bb.utils.contains_any("PACKAGECONFIG", ["surfaceless", "wayland", "x11_egl", "x11_glx", "x11_egl_glx"], True, False, d):
+ if "wayland" in distrofeatures:
+ d.appendVar("DEPENDS", " wayland ")
+ if "x11" in distrofeatures:
+ d.appendVar("DEPENDS", " virtual/libx11 virtual/egl ")
+}
CTSDIR = "/usr/lib/${BPN}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb
index 46ce67131..6ede557c7 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "git://github.com/v1cont/yad.git"
SRCREV = "a5b1a7a3867bc7dffbbc539f586f301687b6ec02"
-inherit autotools gsettings features_check
+inherit autotools gsettings features_check pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
index 3e98e71c6..591703e86 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
# mind when doing version upgrades).
DEPENDS = "libxml-parser-perl-native intltool-native glib-2.0-native gtkmm3 libcanberra pulseaudio"
-inherit autotools features_check perlnative
+inherit autotools features_check perlnative pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
index d2058ba57..8d74eb4a2 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
@@ -1,5 +1,5 @@
SUMMARY = "Machine specific gpsd config"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD;md5=3775480a712fc46a69647678acb234cb"
# empty by default
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConscript-Correct-the-installation-of-gpsd.hotplug.patch b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConscript-Correct-the-installation-of-gpsd.hotplug.patch
deleted file mode 100644
index 172f47825..000000000
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConscript-Correct-the-installation-of-gpsd.hotplug.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From c7183b2cc4a42f6ca7c2dc687ee7881efe9aeb73 Mon Sep 17 00:00:00 2001
-From: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
-Date: Sat, 28 Aug 2021 14:22:02 +0200
-Subject: [PATCH] SConscript: Correct the installation of gpsd.hotplug
-
-Without this, `scons systemd=false && scons udev-install` fails with:
-
- cp .../gpsd/gpsd-3.23.1~dev/gpsd.hotplug /home/pkj/gpsd/foobar/lib/udev
- cp: cannot stat '.../gpsd/gpsd-3.23.1~dev/gpsd.hotplug': No such file or directory
-
-Upstream-Status: Submitted [https://gitlab.com/gpsd/gpsd/-/merge_requests/277]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- SConscript | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/SConscript b/SConscript
-index 1cd3354e1..e578012f5 100644
---- a/SConscript
-+++ b/SConscript
-@@ -3060,7 +3060,7 @@ if env['systemd']:
- hotplug_wrapper_install = []
- else:
- hotplug_wrapper_install = [
-- 'cp $SRCDIR/gpsd.hotplug ' + DESTDIR + env['udevdir'],
-+ 'cp $SRCDIR/../gpsd.hotplug ' + DESTDIR + env['udevdir'],
- 'chmod a+x ' + DESTDIR + env['udevdir'] + '/gpsd.hotplug'
- ]
-
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.bb b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.1.bb
index aaf742929..4740e0c98 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.1.bb
@@ -6,13 +6,11 @@ DEPENDS = "dbus ncurses python3 pps-tools"
PROVIDES = "virtual/gpsd"
SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
- file://0001-SConscript-Correct-the-installation-of-gpsd.hotplug.patch \
- file://gpsd.init \
-"
-SRC_URI[md5sum] = "b4f96cb01cbc06542b1cb66b3296078d"
-SRC_URI[sha256sum] = "522c2362a7eb2d7ac37eaa1504f12aded1c373479a87ba06cc6795974b567bbc"
+ file://gpsd.init \
+ "
+SRC_URI[sha256sum] = "0b991ce9a46538c4ea450f7a8ee428ff44fb4f8d665fddf2ffe40fe0ae9a6c09"
-inherit scons update-rc.d python3-dir python3native systemd update-alternatives
+inherit scons update-rc.d python3-dir python3native systemd update-alternatives pkgconfig
INITSCRIPT_PACKAGES = "gpsd-conf"
INITSCRIPT_NAME = "gpsd"
diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.10.2.bb b/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.10.2.bb
index b86bfead7..98f464fd0 100644
--- a/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.10.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.10.2.bb
@@ -14,4 +14,4 @@ SRC_URI = "git://github.com/apache/avro;branch=${BRANCH} \
S = "${WORKDIR}/git/lang/c"
-inherit cmake
+inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/cmark/cmark_0.30.1.bb b/meta-openembedded/meta-oe/recipes-support/cmark/cmark_0.30.2.bb
index e2db8aa76..6669c6e50 100644
--- a/meta-openembedded/meta-oe/recipes-support/cmark/cmark_0.30.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/cmark/cmark_0.30.2.bb
@@ -4,7 +4,7 @@ LICENSE = "BSD-2-Clause & MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=81f9cae6293cc0345a9144b78152ab62"
SRC_URI = "git://github.com/commonmark/cmark.git"
-SRCREV = "977b128291c0cf6c5053cdcf2ac72e627f09c105"
+SRCREV = "a8da5a2f252b96eca60ae8bada1a9ba059a38401"
S = "${WORKDIR}/git"
inherit cmake lib_package
diff --git a/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb b/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
index 0511f4a30..a1076ccf9 100644
--- a/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
@@ -21,4 +21,4 @@ do_install() {
oe_runmake 'DESTDIR=${D}' install
}
-RDEPENDS:${PN} += "python3-core python3-misc python3-resource python3-shell python3-unixadmin"
+RDEPENDS:${PN} += "python3-core python3-misc python3-resource python3-shell python3-six python3-unixadmin"
diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb
index a91c465c1..193cd0012 100644
--- a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb
@@ -24,8 +24,7 @@ EXTRA_OECONF = " --with-x=no --with-dumping=none"
DEPENDS = "ncurses"
DEPENDS:append:class-target = " emacs-native"
-inherit autotools mime-xdg
-
+inherit autotools mime-xdg pkgconfig
do_compile:class-native (){
cd ${B}/lib-src
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch b/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch
deleted file mode 100644
index 6152a1184..000000000
--- a/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8b111b2b4a4842179be66db68d84dda91a246032 Mon Sep 17 00:00:00 2001
-From: maryam ebrahimzadeh <maryam.ebr@student.sharif.edu>
-Date: Mon, 19 Jul 2021 10:07:13 +0430
-Subject: [PATCH] fix read out-of-bands in reading tga header file
-
----
- src/gd_tga.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/gd_tga.c b/src/gd_tga.c
-index cae9428..286febb 100644
---- a/src/gd_tga.c
-+++ b/src/gd_tga.c
-@@ -191,7 +191,11 @@ int read_header_tga(gdIOCtx *ctx, oTga *tga)
- return -1;
- }
-
-- gdGetBuf(tga->ident, tga->identsize, ctx);
-+
-+ if (gdGetBuf(tga->ident, tga->identsize, ctx) != tga->identsize) {
-+ gd_error("fail to read header ident");
-+ return -1;
-+ }
- }
-
- return 1;
---
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch b/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch
deleted file mode 100644
index faf349b0b..000000000
--- a/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch
+++ /dev/null
@@ -1,170 +0,0 @@
-From 4ae9904a10f61ed60f4d4ee02eb1994a95664d7b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 22 Apr 2021 22:48:59 -0700
-Subject: [PATCH] replace uint32 with uint32_t and uint16 with uint16_6
-
-uint16 and uint32 are now deprecated in libtiff and suggestion is to use
-standard C99 types
-
-Upstream-Status: Submitted [https://github.com/libgd/libgd/pull/694]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/gd_tiff.c | 52 +++++++++++++++++++++++++--------------------------
- 1 file changed, 26 insertions(+), 26 deletions(-)
-
-diff --git a/src/gd_tiff.c b/src/gd_tiff.c
-index b22ee6c..699d719 100644
---- a/src/gd_tiff.c
-+++ b/src/gd_tiff.c
-@@ -237,10 +237,10 @@ void tiffWriter(gdImagePtr image, gdIOCtx *out, int bitDepth)
- int transparentColorR = -1;
- int transparentColorG = -1;
- int transparentColorB = -1;
-- uint16 extraSamples[1];
-- uint16 *colorMapRed = NULL;
-- uint16 *colorMapGreen = NULL;
-- uint16 *colorMapBlue = NULL;
-+ uint16_t extraSamples[1];
-+ uint16_t *colorMapRed = NULL;
-+ uint16_t *colorMapGreen = NULL;
-+ uint16_t *colorMapBlue = NULL;
-
- tiff_handle *th;
-
-@@ -292,18 +292,18 @@ void tiffWriter(gdImagePtr image, gdIOCtx *out, int bitDepth)
-
- /* build the color map for 8 bit images */
- if(bitDepth != 24) {
-- colorMapRed = (uint16 *) gdMalloc(3 * (1 << bitsPerSample));
-+ colorMapRed = (uint16_t *) gdMalloc(3 * (1 << bitsPerSample));
- if (!colorMapRed) {
- gdFree(th);
- return;
- }
-- colorMapGreen = (uint16 *) gdMalloc(3 * (1 << bitsPerSample));
-+ colorMapGreen = (uint16_t *) gdMalloc(3 * (1 << bitsPerSample));
- if (!colorMapGreen) {
- gdFree(colorMapRed);
- gdFree(th);
- return;
- }
-- colorMapBlue = (uint16 *) gdMalloc(3 * (1 << bitsPerSample));
-+ colorMapBlue = (uint16_t *) gdMalloc(3 * (1 << bitsPerSample));
- if (!colorMapBlue) {
- gdFree(colorMapRed);
- gdFree(colorMapGreen);
-@@ -448,7 +448,7 @@ BGD_DECLARE(void) gdImageTiffCtx(gdImagePtr image, gdIOCtx *out)
- /* Check if we are really in 8bit mode */
- static int checkColorMap(n, r, g, b)
- int n;
--uint16 *r, *g, *b;
-+uint16_t *r, *g, *b;
- {
- while (n-- > 0)
- if (*r++ >= 256 || *g++ >= 256 || *b++ >= 256)
-@@ -460,8 +460,8 @@ uint16 *r, *g, *b;
- /* Read and convert a TIFF colormap */
- static int readTiffColorMap(gdImagePtr im, TIFF *tif, char is_bw, int photometric)
- {
-- uint16 *redcmap, *greencmap, *bluecmap;
-- uint16 bps;
-+ uint16_t *redcmap, *greencmap, *bluecmap;
-+ uint16_t bps;
- int i;
-
- if (is_bw) {
-@@ -473,7 +473,7 @@ static int readTiffColorMap(gdImagePtr im, TIFF *tif, char is_bw, int photometri
- gdImageColorAllocate(im, 255,255,255);
- }
- } else {
-- uint16 min_sample_val, max_sample_val;
-+ uint16_t min_sample_val, max_sample_val;
-
- if (!TIFFGetField(tif, TIFFTAG_MINSAMPLEVALUE, &min_sample_val)) {
- min_sample_val = 0;
-@@ -515,7 +515,7 @@ static int readTiffColorMap(gdImagePtr im, TIFF *tif, char is_bw, int photometri
-
- static void readTiffBw (const unsigned char *src,
- gdImagePtr im,
-- uint16 photometric,
-+ uint16_t photometric,
- int startx,
- int starty,
- int width,
-@@ -547,7 +547,7 @@ static void readTiffBw (const unsigned char *src,
-
- static void readTiff8bit (const unsigned char *src,
- gdImagePtr im,
-- uint16 photometric,
-+ uint16_t photometric,
- int startx,
- int starty,
- int width,
-@@ -634,10 +634,10 @@ static void readTiff8bit (const unsigned char *src,
- }
- }
-
--static int createFromTiffTiles(TIFF *tif, gdImagePtr im, uint16 bps, uint16 photometric,
-+static int createFromTiffTiles(TIFF *tif, gdImagePtr im, uint16_t bps, uint16_t photometric,
- char has_alpha, char is_bw, int extra)
- {
-- uint16 planar;
-+ uint16_t planar;
- int im_width, im_height;
- int tile_width, tile_height;
- int x, y, height, width;
-@@ -682,11 +682,11 @@ end:
- return success;
- }
-
--static int createFromTiffLines(TIFF *tif, gdImagePtr im, uint16 bps, uint16 photometric,
-+static int createFromTiffLines(TIFF *tif, gdImagePtr im, uint16_t bps, uint16_t photometric,
- char has_alpha, char is_bw, int extra)
- {
-- uint16 planar;
-- uint32 im_height, im_width, y;
-+ uint16_t planar;
-+ uint32_t im_height, im_width, y;
-
- unsigned char *buffer;
- int success = GD_SUCCESS;
-@@ -761,11 +761,11 @@ static int createFromTiffRgba(TIFF * tif, gdImagePtr im)
- int color;
- int width = im->sx;
- int height = im->sy;
-- uint32 *buffer;
-- uint32 rgba;
-+ uint32_t *buffer;
-+ uint32_t rgba;
- int success;
-
-- buffer = (uint32 *) gdCalloc(sizeof(uint32), width * height);
-+ buffer = (uint32_t *) gdCalloc(sizeof(uint32_t), width * height);
- if (!buffer) {
- return GD_FAILURE;
- }
-@@ -810,11 +810,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromTiffCtx(gdIOCtx *infile)
- TIFF *tif;
- tiff_handle *th;
-
-- uint16 bps, spp, photometric;
-- uint16 orientation;
-+ uint16_t bps, spp, photometric;
-+ uint16_t orientation;
- int width, height;
-- uint16 extra, *extra_types;
-- uint16 planar;
-+ uint16_t extra, *extra_types;
-+ uint16_t planar;
- char has_alpha, is_bw, is_gray;
- char force_rgba = FALSE;
- char save_transparent;
-@@ -867,7 +867,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromTiffCtx(gdIOCtx *infile)
- }
-
- if (!TIFFGetField (tif, TIFFTAG_PHOTOMETRIC, &photometric)) {
-- uint16 compression;
-+ uint16_t compression;
- if (TIFFGetField(tif, TIFFTAG_COMPRESSION, &compression) &&
- (compression == COMPRESSION_CCITTFAX3 ||
- compression == COMPRESSION_CCITTFAX4 ||
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.3.bb
index 32484ce79..cbd45c088 100644
--- a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.3.bb
@@ -9,16 +9,14 @@ HOMEPAGE = "http://libgd.github.io/"
SECTION = "libs"
LICENSE = "GD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8e5bc8627b9494741c905d65238c66b7"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ace63adfdac78400fc30fa22ee9c1bb1"
DEPENDS = "freetype libpng jpeg zlib tiff"
-SRC_URI = "git://github.com/libgd/libgd.git;branch=master \
- file://0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch \
- file://0001-fix-read-out-of-bands-in-reading-tga-header-file.patch \
+SRC_URI = "git://github.com/libgd/libgd.git;nobranch=1 \
"
-SRCREV = "2e40f55bfb460fc9d8cbcd290a0c9eb908d5af7e"
+SRCREV = "b5319a41286107b53daa0e08e402aa1819764bdc"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb
index 118259e4f..7b8d4a3f9 100644
--- a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb
@@ -12,7 +12,7 @@ B = "${S}"
SRCREV = "c9864f4dd03736839f40d225da494cb1eb64e654"
SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master"
-inherit gettext autotools python3native
+inherit gettext autotools pkgconfig python3native
DEPENDS += " \
libpcre2 \
diff --git a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch
new file mode 100644
index 000000000..84b5a4da9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch
@@ -0,0 +1,72 @@
+From cb507309937958c632147de87e8f1231d6698847 Mon Sep 17 00:00:00 2001
+From: Antonio Sanchez <cantonios@google.com>
+Date: Tue, 14 Sep 2021 10:57:22 -0700
+Subject: [PATCH] Default eigen_packet_wrapper constructor.
+
+This makes it trivial, allowing use of `memcpy`.
+
+Fixes #2326
+
+Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/merge_requests/645/diffs?commit_id=cb507309937958c632147de87e8f1231d6698847]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+* fixes build failures for arm targets with NEON enabled (e.g. -mfpu=neon-vfpv4)
+ for recipes with -Werror enabled and gcc-11, e.g. fuse-core, robot-localization,
+ prbt-ikfast-manipulator-plugin, rm-chassis-controllers in meta-ros1-noetic:
+
+In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:214,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h: In function 'Packet Eigen::internal::pload(const typename Eigen::internal::unpacket_traits<T>::type*) [with Packet = Eigen::internal::eigen_packet_wrapper<int, 2>; typename Eigen::internal::unpacket_traits<T>::type = signed char]':
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h:1671:9: error: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} from an array of 'const int8_t' {aka 'const signed char'} [-Werror=class-memaccess]
+ 1671 | memcpy(&res, from, sizeof(Packet4c));
+ | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:172,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:159:8: note: 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} declared here
+ 159 | struct eigen_packet_wrapper
+ | ^~~~~~~~~~~~~~~~~~~~
+In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:214,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h: In function 'Packet Eigen::internal::ploadu(const typename Eigen::internal::unpacket_traits<T>::type*) [with Packet = Eigen::internal::eigen_packet_wrapper<int, 2>; typename Eigen::internal::unpacket_traits<T>::type = signed char]':
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h:1716:9: error: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} from an array of 'const int8_t' {aka 'const signed char'} [-Werror=class-memaccess]
+ 1716 | memcpy(&res, from, sizeof(Packet4c));
+ | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:172,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:159:8: note: 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} declared here
+ 159 | struct eigen_packet_wrapper
+ | ^~~~~~~~~~~~~~~~~~~~
+cc1plus: all warnings being treated as errors
+
+---
+ Eigen/src/Core/GenericPacketMath.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h
+index 8f8f64f15..72234288e 100644
+--- a/Eigen/src/Core/GenericPacketMath.h
++++ b/Eigen/src/Core/GenericPacketMath.h
+@@ -162,7 +162,7 @@ struct eigen_packet_wrapper
+ {
+ EIGEN_ALWAYS_INLINE operator T&() { return m_val; }
+ EIGEN_ALWAYS_INLINE operator const T&() const { return m_val; }
+- EIGEN_ALWAYS_INLINE eigen_packet_wrapper() {}
++ EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
+ EIGEN_ALWAYS_INLINE eigen_packet_wrapper(const T &v) : m_val(v) {}
+ EIGEN_ALWAYS_INLINE eigen_packet_wrapper& operator=(const T &v) {
+ m_val = v;
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
index 54b6f74d8..9682f7a8e 100644
--- a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
@@ -9,7 +9,9 @@ LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad \
file://COPYING.MINPACK;md5=71d91b0f75ce79a75d3108a72bef8116 \
"
-SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;nobranch=1"
+SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;branch=3.4 \
+ file://0001-Default-eigen_packet_wrapper-constructor.patch \
+"
SRCREV = "3147391d946bb4b6c68edd901f2add6ac1f31f8c"
diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
index 748633d9d..488d4e3b0 100644
--- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -18,7 +18,6 @@ DISTUTILS_SETUP_PATH ?= "${B}/bindings/python/"
DEPENDS = " \
flex-native bison-native libaio \
- ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
"
inherit cmake python3native systemd setuptools3
@@ -31,14 +30,22 @@ EXTRA_OECMAKE = " \
PACKAGECONFIG ??= "usb_backend network_backend serial_backend"
+NETWORK_BACKEND_DEPENDENCIES = "\
+ libxml2 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
+"
+
PACKAGECONFIG[usb_backend] = "-DWITH_USB_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1 libxml2"
-PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2"
+PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF, ${NETWORK_BACKEND_DEPENDENCIES}"
PACKAGECONFIG[serial_backend] = "-DWITH_SERIAL_BACKEND=ON,-DWITH_SERIAL_BACKEND=off,libserialport libxml2"
PACKAGECONFIG[libiio-python3] = "-DPYTHON_BINDINGS=ON,-DPYTHON_BINDINGS=OFF"
PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}"
-RDEPENDS:${PN}-${PYTHON_PN} = "${PN} ${PYTHON_PN}-ctypes ${PYTHON_PN}-stringold"
+# Inheriting setuptools3 incorrectly adds the dependency on ${PYTHON_PN}-core
+# to ${PN} instead of to ${PN}-${PYTHON_PN} where it belongs.
+RDEPENDS:${PN}:remove = "${PYTHON_PN}-core"
+RDEPENDS:${PN}-${PYTHON_PN} = "${PN} ${PYTHON_PN}-core ${PYTHON_PN}-ctypes ${PYTHON_PN}-stringold"
FILES:${PN}-iiod = " \
${sbindir}/iiod \
diff --git a/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb
new file mode 100644
index 000000000..f14b619a9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "Highly customizable checkboxes and radio buttons (jQuery & Zepto)"
+SECTION = "console/network"
+HOMEPAGE = "http://fronteed.com/iCheck"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://icheck.js;start_line=1;end_line=8;md5=404078d7de9f05ed64d364274f790055"
+
+DEPENDS = "virtual/libc"
+
+SRC_URI = "git://github.com/fronteed/icheck.git;protocol=https;branch=${PV};tag=${PV}"
+
+FILES:${PN} += "${datadir}/javascript/jquery-icheck"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${datadir}/javascript/jquery-icheck/
+ install -m 0644 ${S}/icheck.js ${D}${datadir}/javascript/jquery-icheck/
+ install -m 0644 ${S}/icheck.min.js ${D}${datadir}/javascript/jquery-icheck/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/
+ install -m 0644 ${S}/skins/all.css ${D}${datadir}/javascript/jquery-icheck/skins/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/flat/
+ install -m 0644 ${S}/skins/flat/* ${D}${datadir}/javascript/jquery-icheck/skins/flat/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/futurico/
+ install -m 0644 ${S}/skins/futurico/* ${D}${datadir}/javascript/jquery-icheck/skins/futurico/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/line/
+ install -m 0644 ${S}/skins/line/* ${D}${datadir}/javascript/jquery-icheck/skins/line/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/minimal/
+ install -m 0644 ${S}/skins/minimal/* ${D}${datadir}/javascript/jquery-icheck/skins/minimal/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/polaris/
+ install -m 0644 ${S}/skins/polaris/* ${D}${datadir}/javascript/jquery-icheck/skins/polaris/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/square/
+ install -m 0644 ${S}/skins/square/* ${D}${datadir}/javascript/jquery-icheck/skins/square/
+}
+
diff --git a/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb b/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
index 25cfafafa..da8ea35d2 100644
--- a/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
+++ b/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
@@ -11,7 +11,7 @@ SRC_URI[sha256sum] = "3c3481ae0599e1c2d30b7ed54ab45249127533ab2f20e768a0ae58d855
DEPENDS = "gd "
-inherit autotools gettext
+inherit autotools gettext pkgconfig
do_configure:prepend() {
sed -i "s#AC_PATH_PROG(GDLIB_CONFIG,gdlib-config)#AC_PATH_PROG([GDLIB_CONFIG],[gdlib-config], ,[${STAGING_BINDIR_CROSS}])#" ${S}/configure.ac
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch
new file mode 100644
index 000000000..5d88d1a6a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch
@@ -0,0 +1,41 @@
+From 9cfa84313c5833d7295fcf57be93d5d2aaadfd88 Mon Sep 17 00:00:00 2001
+From: Vincent Rabaud <vrabaud@google.com>
+Date: Sat, 10 Jul 2021 00:21:52 +0200
+Subject: [PATCH] Use the one argument version of SetTotalBytesLimit.
+
+The two argument versions has been deprecated, cf
+https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.io.coded_stream
+
+Upstream-Status: Backport [9cfa84313c5833d7295fcf57be93d5d2aaadfd88 - from master after 4.5.3 tag]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ modules/dnn/src/caffe/caffe_io.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
+index 2fc4d84f46..ebecf95eea 100644
+--- a/modules/dnn/src/caffe/caffe_io.cpp
++++ b/modules/dnn/src/caffe/caffe_io.cpp
+@@ -92,6 +92,7 @@
+ #ifdef HAVE_PROTOBUF
+ #include <google/protobuf/io/coded_stream.h>
+ #include <google/protobuf/io/zero_copy_stream_impl.h>
++#include <google/protobuf/stubs/common.h>
+ #include <google/protobuf/text_format.h>
+
+ #include <opencv2/core.hpp>
+@@ -1111,7 +1112,11 @@ static const int kProtoReadBytesLimit = INT_MAX; // Max size of 2 GB minus 1 by
+
+ bool ReadProtoFromBinary(ZeroCopyInputStream* input, Message *proto) {
+ CodedInputStream coded_input(input);
++#if GOOGLE_PROTOBUF_VERSION >= 3006000
++ coded_input.SetTotalBytesLimit(kProtoReadBytesLimit);
++#else
+ coded_input.SetTotalBytesLimit(kProtoReadBytesLimit, 536870912);
++#endif
+
+ return proto->ParseFromCodedStream(&coded_input);
+ }
+--
+2.32.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb
index 7eefbccfe..361ac0cb9 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb
@@ -52,6 +52,7 @@ SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
file://download.patch \
file://0001-Make-ts-module-external.patch \
file://0001-sfm-link-with-Glog_LIBS.patch;patchdir=../contrib \
+ file://0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch \
"
SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
index 7c9a2cbf6..2450d3196 100644
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
@@ -5,7 +5,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=c9a1abacd0166f595a9fbe6afb1f0d5e"
DEPENDS = "glib-2.0 ncurses libxml2 glib-2.0-native"
-inherit meson
+inherit meson pkgconfig
# SRCREV = "0a44b1d01c41"
# SRC_URI = "hg://keep.imfreedom.org/${BPN};module=${BPN}
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Add-support-of-arch-riscv32.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Add-support-of-arch-riscv32.patch
deleted file mode 100644
index e6b673b11..000000000
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Add-support-of-arch-riscv32.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 98d277655e411f56fba705c0bf2efc6562c23807 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Nov 2020 11:37:33 -0800
-Subject: [PATCH] Add support of arch riscv32
-
-Upstream-Status: Submitted [https://github.com/pocoproject/poco/pull/3138]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Foundation/include/Poco/Platform.h | 13 +++++++++----
- 1 file changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/Foundation/include/Poco/Platform.h b/Foundation/include/Poco/Platform.h
-index 799db417e..b8506a248 100644
---- a/Foundation/include/Poco/Platform.h
-+++ b/Foundation/include/Poco/Platform.h
-@@ -135,6 +135,7 @@
- #define POCO_ARCH_AARCH64 0x0f
- #define POCO_ARCH_ARM64 0x0f // same as POCO_ARCH_AARCH64
- #define POCO_ARCH_RISCV64 0x10
-+#define POCO_ARCH_RISCV32 0x11
-
-
- #if defined(__ALPHA) || defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA)
-@@ -225,12 +226,16 @@
- #elif defined(__AARCH64EB__)
- #define POCO_ARCH POCO_ARCH_AARCH64
- #define POCO_ARCH_BIG_ENDIAN 1
--#elif defined(__riscv) && (__riscv_xlen == 64)
-- #define POCO_ARCH POCO_ARCH_RISCV64
-- #define POCO_ARCH_LITTLE_ENDIAN 1
-+#elif defined(__riscv)
-+ #if (__riscv_xlen == 64)
-+ #define POCO_ARCH POCO_ARCH_RISCV64
-+ #define POCO_ARCH_LITTLE_ENDIAN 1
-+ #elif(__riscv_xlen == 32)
-+ #define POCO_ARCH POCO_ARCH_RISCV32
-+ #define POCO_ARCH_LITTLE_ENDIAN 1
-+ #endif
- #endif
-
--
- #if defined(__clang__)
- #define POCO_COMPILER_CLANG
- #elif defined(_MSC_VER)
---
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-missing-expat-definition.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-missing-expat-definition.patch
new file mode 100644
index 000000000..625aa3191
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-missing-expat-definition.patch
@@ -0,0 +1,27 @@
+From 3f288fefbd683d687bde3fc63964da64bc3c8a40 Mon Sep 17 00:00:00 2001
+From: Pascal Bach <pascal.bach@siemens.com>
+Date: Wed, 11 Aug 2021 15:11:49 +0200
+Subject: [PATCH] fix missing expat definition
+
+Upstream-Status: Submitted [https://github.com/pocoproject/poco/pull/3414]
+Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
+---
+ XML/src/ParserEngine.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/XML/src/ParserEngine.cpp b/XML/src/ParserEngine.cpp
+index 82d477478..6213e555b 100644
+--- a/XML/src/ParserEngine.cpp
++++ b/XML/src/ParserEngine.cpp
+@@ -504,7 +504,7 @@ void ParserEngine::init()
+ XML_SetParamEntityParsing(_parser, _externalParameterEntities ? XML_PARAM_ENTITY_PARSING_ALWAYS : XML_PARAM_ENTITY_PARSING_NEVER);
+ XML_SetUnknownEncodingHandler(_parser, handleUnknownEncoding, this);
+
+-#if XML_MAJOR_VERSION > 2 || (XML_MAJOR_VERSION == 2 && XML_MINOR_VERSION >= 4)
++#if XML_DTD && (XML_MAJOR_VERSION > 2 || (XML_MAJOR_VERSION == 2 && XML_MINOR_VERSION >= 4))
+ if (_maximumAmplificationFactor > 1.0)
+ {
+ XML_SetBillionLaughsAttackProtectionMaximumAmplification(_parser, _maximumAmplificationFactor);
+--
+2.32.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.10.1.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.0.bb
index 5db518cbb..5f6391098 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.10.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.0.bb
@@ -9,11 +9,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
DEPENDS = "libpcre zlib"
SRC_URI = " \
- git://github.com/pocoproject/poco.git;branch=poco-${PV} \
- file://0001-Add-support-of-arch-riscv32.patch \
+ git://github.com/pocoproject/poco.git;branch=master \
+ file://0001-fix-missing-expat-definition.patch \
file://run-ptest \
"
-SRCREV = "a3d827d80eb7f3329c58e73eb2906cb7ba829019"
+SRCREV = "f81a38057f1d240fe7b7a069612776f788bc88ea"
UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)"
diff --git a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb
index c0b32e725..ac360659a 100644
--- a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb
@@ -13,7 +13,7 @@ SRC_URI = " \
SRCREV = "147dd722548358763a8b649b3e4b41dfffbcfbb6"
S = "${WORKDIR}/git"
-inherit cmake
+inherit cmake pkgconfig
PACKAGECONFIG ??= "alsa jack"
PACKAGECONFIG[alsa] = ",,alsa-lib"
diff --git a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.18.bb b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.18.bb
index f52378b4b..5a915c476 100644
--- a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.18.bb
+++ b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.18.bb
@@ -29,7 +29,7 @@ SRCREV = "045862cc7d7dd986b349c68131df2f86b9b1cd9c"
SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https"
S = "${WORKDIR}/git"
-inherit cmake features_check mime mime-xdg gtk-icon-cache
+inherit cmake features_check mime mime-xdg gtk-icon-cache pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF"
diff --git a/meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb b/meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb
index 9cba3a890..bc2ec805e 100644
--- a/meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb
@@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8f34396ca205f5e119ee77aae91fa27d"
inherit autotools
SRC_URI = "git://github.com/sass/libsass.git;branch=master"
-SRCREV = "8d312a1c91bb7dd22883ebdfc829003f75a82396"
-PV = "3.6.4"
+SRCREV = "f6afdbb9288d20d1257122e71d88e53348a53af3"
+PV = "3.6.5"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb b/meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb
index 3c7a55cc3..407cbbddd 100644
--- a/meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb
@@ -7,8 +7,8 @@ DEPENDS = "libsass"
inherit autotools pkgconfig
SRC_URI = "git://github.com/sass/sassc.git"
-SRCREV = "46748216ba0b60545e814c07846ca10c9fefc5b6"
+SRCREV = "66f0ef37e7f0ad3a65d2f481eff09d09408f42d0"
S = "${WORKDIR}/git"
-PV = "3.6.1"
+PV = "3.6.2"
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/smarty/smarty_3.1.39.bb b/meta-openembedded/meta-oe/recipes-support/smarty/smarty_3.1.39.bb
new file mode 100644
index 000000000..50d995838
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/smarty/smarty_3.1.39.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "the compiling PHP template engine"
+SECTION = "console/network"
+HOMEPAGE = "https://www.smarty.net/"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2c0f216b2120ffc367e20f2b56df51b3"
+
+DEPENDS = "php"
+
+SRC_URI = "git://github.com/smarty-php/smarty.git;protocol=https;tag=v${PV}"
+
+FILES:${PN} = "${datadir}/php/smarty3/"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${datadir}/php/smarty3/libs/
+ install -m 0644 ${S}/libs/*.php ${D}${datadir}/php/smarty3/libs/
+
+ install -d ${D}${datadir}/php/smarty3/libs/plugins
+ install -m 0644 ${S}/libs/plugins/*.php ${D}${datadir}/php/smarty3/libs/plugins/
+
+ install -d ${D}${datadir}/php/smarty3/libs/sysplugins
+ install -m 0644 ${S}/libs/sysplugins/*.php ${D}${datadir}/php/smarty3/libs/sysplugins/
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.0.bb b/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.1.bb
index 4cf0dee11..15ba09982 100644
--- a/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.1.bb
@@ -4,7 +4,7 @@ LICENSE = "BSL-1.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
SRC_URI += "git://github.com/martinmoene/span-lite"
-SRCREV = "2987dd8d3b8fe7c861e3c3f879234cc1c412f03f"
+SRCREV = "da49b231a25600b4431e00b564a6a20be95c1108"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r89690-5.14-fixes.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r89690-5.14-fixes.patch
new file mode 100644
index 000000000..951bd5013
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r89690-5.14-fixes.patch
@@ -0,0 +1,442 @@
+Subject: Fix build errors with linux 5.14
+
+Upstream-Status: backport
+
+svn-id: r89690
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+
+Index: a/src/VBox/Additions/linux/drm/vbox_drv.h
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_drv.h (revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_drv.h (revision 90498)
+@@ -227,6 +227,15 @@
+ sizeof(HGSMIHOSTFLAGS))
+ #define HOST_FLAGS_OFFSET GUEST_HEAP_USABLE_SIZE
+
++/** Field @pdev of struct drm_device was removed in 5.14. This macro
++ * transparently handles this change. Input argument is a pointer
++ * to struct drm_device. */
++#if RTLNX_VER_MIN(5,14,0)
++# define VBOX_DRM_TO_PCI_DEV(_dev) to_pci_dev(_dev->dev)
++#else
++# define VBOX_DRM_TO_PCI_DEV(_dev) _dev->pdev
++#endif
++
+ /** How frequently we refresh if the guest is not providing dirty rectangles. */
+ #define VBOX_REFRESH_PERIOD (HZ / 2)
+
+Index: a/src/VBox/Additions/linux/drm/vbox_main.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_main.c (revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_main.c (revision 90498)
+@@ -290,7 +290,7 @@
+ /* Take a command buffer for each screen from the end of usable VRAM. */
+ vbox->available_vram_size -= vbox->num_crtcs * VBVA_MIN_BUFFER_SIZE;
+
+- vbox->vbva_buffers = pci_iomap_range(vbox->dev->pdev, 0,
++ vbox->vbva_buffers = pci_iomap_range(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0,
+ vbox->available_vram_size,
+ vbox->num_crtcs *
+ VBVA_MIN_BUFFER_SIZE);
+@@ -311,7 +311,7 @@
+ return 0;
+
+ err_pci_iounmap:
+- pci_iounmap(vbox->dev->pdev, vbox->vbva_buffers);
++ pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->vbva_buffers);
+ return ret;
+ }
+
+@@ -318,7 +318,7 @@
+ static void vbox_accel_fini(struct vbox_private *vbox)
+ {
+ vbox_disable_accel(vbox);
+- pci_iounmap(vbox->dev->pdev, vbox->vbva_buffers);
++ pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->vbva_buffers);
+ }
+
+ /** Do we support the 4.3 plus mode hint reporting interface? */
+@@ -393,7 +393,7 @@
+
+ /* Map guest-heap at end of vram */
+ vbox->guest_heap =
+- pci_iomap_range(vbox->dev->pdev, 0, GUEST_HEAP_OFFSET(vbox),
++ pci_iomap_range(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0, GUEST_HEAP_OFFSET(vbox),
+ GUEST_HEAP_SIZE);
+ if (!vbox->guest_heap)
+ return -ENOMEM;
+@@ -442,7 +442,7 @@
+ err_destroy_guest_pool:
+ gen_pool_destroy(vbox->guest_pool);
+ err_unmap_guest_heap:
+- pci_iounmap(vbox->dev->pdev, vbox->guest_heap);
++ pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->guest_heap);
+ return ret;
+ }
+
+@@ -452,7 +452,7 @@
+ cancel_delayed_work(&vbox->refresh_work);
+ vbox_accel_fini(vbox);
+ gen_pool_destroy(vbox->guest_pool);
+- pci_iounmap(vbox->dev->pdev, vbox->guest_heap);
++ pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->guest_heap);
+ }
+
+ #if RTLNX_VER_MIN(4,19,0) || RTLNX_RHEL_MIN(8,3)
+@@ -567,12 +567,16 @@
+
+ size = roundup(size, PAGE_SIZE);
+ if (size == 0)
++ {
++ DRM_ERROR("bad size\n");
+ return -EINVAL;
++ }
+
+ ret = vbox_bo_create(dev, size, 0, 0, &vboxbo);
+ if (ret) {
+ if (ret != -ERESTARTSYS)
+ DRM_ERROR("failed to allocate GEM object\n");
++ DRM_ERROR("failed to allocate GEM (%d)\n", ret);
+ return ret;
+ }
+
+@@ -628,6 +632,21 @@
+ {
+ struct vbox_bo *vbox_bo = gem_to_vbox_bo(obj);
+
++#if RTLNX_VER_MIN(5,14,0)
++ /* Starting from kernel 5.14, there is a warning appears in dmesg
++ * on attempt to desroy pinned buffer object. Make sure it is unpinned. */
++ while (vbox_bo->bo.pin_count)
++ {
++ int ret;
++ ret = vbox_bo_unpin(vbox_bo);
++ if (ret)
++ {
++ DRM_ERROR("unable to unpin buffer object\n");
++ break;
++ }
++ }
++#endif
++
+ ttm_bo_put(&vbox_bo->bo);
+ }
+
+@@ -648,7 +667,7 @@
+ u32 handle, u64 *offset)
+ {
+ struct drm_gem_object *obj;
+- int ret;
++ int ret = 0;
+ struct vbox_bo *bo;
+
+ mutex_lock(&dev->struct_mutex);
+@@ -665,8 +684,15 @@
+ bo = gem_to_vbox_bo(obj);
+ *offset = vbox_bo_mmap_offset(bo);
+
++#if RTLNX_VER_MIN(5,14,0)
++ ret = drm_vma_node_allow(&bo->bo.base.vma_node, file);
++ if (ret)
++ {
++ DRM_ERROR("unable to grant previladges to user");
++ }
++#endif
++
+ drm_gem_object_put(obj);
+- ret = 0;
+
+ out_unlock:
+ mutex_unlock(&dev->struct_mutex);
+Index: a/src/VBox/Additions/linux/drm/vbox_mode.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_mode.c (revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_mode.c (revision 90498)
+@@ -245,6 +245,10 @@
+ vbox_bo_unpin(bo);
+ vbox_bo_unreserve(bo);
+ }
++ else
++ {
++ DRM_ERROR("unable to lock buffer object: error %d\n", ret);
++ }
+ }
+
+ if (&vbox->fbdev->afb == vbox_fb)
+@@ -856,7 +860,9 @@
+ vbox->cursor_data_size = data_size;
+ dst = vbox->cursor_data;
+
+-#if RTLNX_VER_MIN(5,12,0)
++#if RTLNX_VER_MIN(5,14,0)
++ ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.resource->num_pages, &uobj_map);
++#elif RTLNX_VER_MIN(5,12,0)
+ ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.mem.num_pages, &uobj_map);
+ #else
+ ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.num_pages, &uobj_map);
+Index: a/src/VBox/Additions/linux/drm/vbox_ttm.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_ttm.c (revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_ttm.c (revision 90498)
+@@ -41,6 +41,10 @@
+ # include <drm/ttm/ttm_page_alloc.h>
+ #endif
+
++#if RTLNX_VER_MIN(5,14,0)
++# include <drm/ttm/ttm_range_manager.h>
++#endif
++
+ #if RTLNX_VER_MAX(3,18,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2)
+ #define PLACEMENT_FLAGS(placement) (placement)
+ #else
+@@ -174,11 +178,13 @@
+ *pl = vboxbo->placement;
+ }
+
++#if RTLNX_VER_MAX(5,14,0)
+ static int vbox_bo_verify_access(struct ttm_buffer_object *bo,
+ struct file *filp)
+ {
+ return 0;
+ }
++#endif
+
+ #if RTLNX_VER_MAX(5,10,0)
+ static int vbox_ttm_io_mem_reserve(struct ttm_bo_device *bdev,
+@@ -234,10 +240,10 @@
+ mem->bus.caching = ttm_write_combined;
+ # endif
+ # if RTLNX_VER_MIN(5,10,0)
+- mem->bus.offset = (mem->start << PAGE_SHIFT) + pci_resource_start(vbox->dev->pdev, 0);
++ mem->bus.offset = (mem->start << PAGE_SHIFT) + pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0);
+ # else
+ mem->bus.offset = mem->start << PAGE_SHIFT;
+- mem->start = pci_resource_start(vbox->dev->pdev, 0);
++ mem->start = pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0);
+ # endif
+ mem->bus.is_iomem = true;
+ break;
+@@ -373,7 +379,9 @@
+ .eviction_valuable = ttm_bo_eviction_valuable,
+ #endif
+ .evict_flags = vbox_bo_evict_flags,
++#if RTLNX_VER_MAX(5,14,0)
+ .verify_access = vbox_bo_verify_access,
++#endif
+ .io_mem_reserve = &vbox_ttm_io_mem_reserve,
+ .io_mem_free = &vbox_ttm_io_mem_free,
+ #if RTLNX_VER_MIN(4,12,0) || RTLNX_RHEL_MAJ_PREREQ(7,5)
+@@ -451,12 +459,12 @@
+ }
+
+ #ifdef DRM_MTRR_WC
+- vbox->fb_mtrr = drm_mtrr_add(pci_resource_start(dev->pdev, 0),
+- pci_resource_len(dev->pdev, 0),
++ vbox->fb_mtrr = drm_mtrr_add(pci_resource_start(VBOX_DRM_TO_PCI_DEV(dev), 0),
++ pci_resource_len(VBOX_DRM_TO_PCI_DEV(dev), 0),
+ DRM_MTRR_WC);
+ #else
+- vbox->fb_mtrr = arch_phys_wc_add(pci_resource_start(dev->pdev, 0),
+- pci_resource_len(dev->pdev, 0));
++ vbox->fb_mtrr = arch_phys_wc_add(pci_resource_start(VBOX_DRM_TO_PCI_DEV(dev), 0),
++ pci_resource_len(VBOX_DRM_TO_PCI_DEV(dev), 0));
+ #endif
+ return 0;
+
+@@ -477,8 +485,8 @@
+ {
+ #ifdef DRM_MTRR_WC
+ drm_mtrr_del(vbox->fb_mtrr,
+- pci_resource_start(vbox->dev->pdev, 0),
+- pci_resource_len(vbox->dev->pdev, 0), DRM_MTRR_WC);
++ pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0),
++ pci_resource_len(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0), DRM_MTRR_WC);
+ #else
+ arch_phys_wc_del(vbox->fb_mtrr);
+ #endif
+@@ -560,6 +568,9 @@
+ static const struct drm_gem_object_funcs vbox_drm_gem_object_funcs = {
+ .free = vbox_gem_free_object,
+ .print_info = drm_gem_ttm_print_info,
++# if RTLNX_VER_MIN(5,14,0)
++ .mmap = drm_gem_ttm_mmap,
++# endif
+ };
+ #endif
+
+@@ -598,6 +609,17 @@
+ sizeof(struct vbox_bo));
+ #endif
+
++#if RTLNX_VER_MIN(5,14,0)
++ /* Initialization of the following was removed from DRM stack
++ * in 5.14, so we need to do it manually. */
++ vboxbo->bo.base.funcs = &vbox_drm_gem_object_funcs;
++ kref_init(&vboxbo->bo.base.refcount);
++ vboxbo->bo.base.size = size;
++ vboxbo->bo.base.dev = dev;
++ dma_resv_init(&vboxbo->bo.base._resv);
++ drm_vma_node_reset(&vboxbo->bo.base.vma_node);
++#endif
++
+ ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
+ ttm_bo_type_device, &vboxbo->placement,
+ #if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+@@ -613,7 +635,11 @@
+ NULL, vbox_bo_ttm_destroy);
+ #endif
+ if (ret)
+- goto err_free_vboxbo;
++ {
++ /* In case of failure, ttm_bo_init() supposed to call
++ * vbox_bo_ttm_destroy() which in turn will free @vboxbo. */
++ goto err_exit;
++ }
+
+ *pvboxbo = vboxbo;
+
+@@ -621,12 +647,15 @@
+
+ err_free_vboxbo:
+ kfree(vboxbo);
++err_exit:
+ return ret;
+ }
+
+ static inline u64 vbox_bo_gpu_offset(struct vbox_bo *bo)
+ {
+-#if RTLNX_VER_MIN(5,9,0) || RTLNX_RHEL_MIN(8,4) || RTLNX_SUSE_MAJ_PREREQ(15,3)
++#if RTLNX_VER_MIN(5,14,0)
++ return bo->bo.resource->start << PAGE_SHIFT;
++#elif RTLNX_VER_MIN(5,9,0) || RTLNX_RHEL_MIN(8,4) || RTLNX_SUSE_MAJ_PREREQ(15,3)
+ return bo->bo.mem.start << PAGE_SHIFT;
+ #else
+ return bo->bo.offset;
+@@ -685,7 +714,7 @@
+ struct ttm_operation_ctx ctx = { false, false };
+ # endif
+ #endif
+- int ret;
++ int ret = 0;
+ #if RTLNX_VER_MAX(5,11,0)
+ int i;
+ #endif
+@@ -765,6 +794,7 @@
+ {
+ struct drm_file *file_priv;
+ struct vbox_private *vbox;
++ int ret = -EINVAL;
+
+ if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
+ return -EINVAL;
+@@ -772,5 +802,12 @@
+ file_priv = filp->private_data;
+ vbox = file_priv->minor->dev->dev_private;
+
+- return ttm_bo_mmap(filp, vma, &vbox->ttm.bdev);
++#if RTLNX_VER_MIN(5,14,0)
++ if (drm_dev_is_unplugged(file_priv->minor->dev))
++ return -ENODEV;
++ ret = drm_gem_mmap(filp, vma);
++#else
++ ret = ttm_bo_mmap(filp, vma, &vbox->ttm.bdev);
++#endif
++ return ret;
+ }
+Index: a/src/VBox/Additions/linux/drm/vbox_fb.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_fb.c (revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_fb.c (revision 90498)
+@@ -301,7 +301,9 @@
+ return ret;
+ }
+
+-#if RTLNX_VER_MIN(5,12,0)
++#if RTLNX_VER_MIN(5,14,0)
++ ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.resource->num_pages, &bo->kmap);
++#elif RTLNX_VER_MIN(5,12,0)
+ ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.mem.num_pages, &bo->kmap);
+ #else
+ ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.num_pages, &bo->kmap);
+@@ -337,8 +339,8 @@
+ * This seems to be done for safety checking that the framebuffer
+ * is not registered twice by different drivers.
+ */
+- info->apertures->ranges[0].base = pci_resource_start(dev->pdev, 0);
+- info->apertures->ranges[0].size = pci_resource_len(dev->pdev, 0);
++ info->apertures->ranges[0].base = pci_resource_start(VBOX_DRM_TO_PCI_DEV(dev), 0);
++ info->apertures->ranges[0].size = pci_resource_len(VBOX_DRM_TO_PCI_DEV(dev), 0);
+
+ #if RTLNX_VER_MIN(5,2,0) || RTLNX_RHEL_MAJ_PREREQ(8,2)
+ /*
+Index: a/src/VBox/Additions/linux/drm/vbox_drv.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_drv.c (revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_drv.c (revision 90498)
+@@ -43,6 +43,10 @@
+ # include <drm/drm_probe_helper.h>
+ #endif
+
++#if RTLNX_VER_MIN(5,14,0)
++# include <drm/drm_aperture.h>
++#endif
++
+ #include "version-generated.h"
+ #include "revision-generated.h"
+
+@@ -65,12 +69,23 @@
+ struct drm_device *dev = NULL;
+ int ret = 0;
+
++# if RTLNX_VER_MIN(5,14,0)
++ ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "vboxvideofb");
++ if (ret)
++ {
++ printk("unable to remove conflicting framebuffer devices\n");
++ return ret;
++ }
++# endif /* 5.14 */
++
+ dev = drm_dev_alloc(&driver, &pdev->dev);
+ if (IS_ERR(dev)) {
+ ret = PTR_ERR(dev);
+ goto err_drv_alloc;
+ }
++#if RTLNX_VER_MAX(5,14,0)
+ dev->pdev = pdev;
++#endif
+ pci_set_drvdata(pdev, dev);
+
+ ret = vbox_driver_load(dev);
+@@ -125,7 +140,7 @@
+
+ drm_kms_helper_poll_disable(dev);
+
+- pci_save_state(dev->pdev);
++ pci_save_state(VBOX_DRM_TO_PCI_DEV(dev));
+
+ drm_fb_helper_set_suspend_unlocked(&vbox->fbdev->helper, true);
+
+@@ -147,7 +162,7 @@
+ {
+ int ret;
+
+- if (pci_enable_device(dev->pdev))
++ if (pci_enable_device(VBOX_DRM_TO_PCI_DEV(dev)))
+ return -EIO;
+
+ ret = vbox_drm_thaw(dev);
+Index: a/src/VBox/Additions/linux/drm/vbox_irq.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_irq.c (revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_irq.c (revision 90498)
+@@ -206,7 +206,7 @@
+ INIT_WORK(&vbox->hotplug_work, vbox_hotplug_worker);
+ vbox_update_mode_hints(vbox);
+ #if RTLNX_VER_MIN(3,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,1)
+- return drm_irq_install(vbox->dev, vbox->dev->pdev->irq);
++ return drm_irq_install(vbox->dev, VBOX_DRM_TO_PCI_DEV(vbox->dev)->irq);
+ #else
+ return drm_irq_install(vbox->dev);
+ #endif
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r90497-regops-5.14-fix.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r90497-regops-5.14-fix.patch
new file mode 100644
index 000000000..0d960fa4f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r90497-regops-5.14-fix.patch
@@ -0,0 +1,118 @@
+Subject: Fix regops build errors with linux 5.14
+
+Upstream-Status: backport
+
+svn-id: r90497
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+
+Index: a/src/VBox/Additions/linux/sharedfolders/regops.c
+===================================================================
+--- a/src/VBox/Additions/linux/sharedfolders/regops.c (revision 88716)
++++ a/src/VBox/Additions/linux/sharedfolders/regops.c (revision 90497)
+@@ -2126,7 +2126,11 @@
+ int rc = 0;
+
+ Assert(iov_iter_count(iter) + pStash->cb > 0);
++# if RTLNX_VER_MIN(5,14,0)
++ if (!(iter->iter_type & ITER_KVEC)) {
++#else
+ if (!(iter->type & ITER_KVEC)) {
++#endif
+ /*
+ * Do we have a stashed page?
+ */
+@@ -2372,7 +2376,9 @@
+ static size_t vbsf_iter_max_span_of_pages(struct iov_iter *iter)
+ {
+ size_t cPages;
+-# if RTLNX_VER_MIN(3,16,0)
++#if RTLNX_VER_MIN(5,14,0)
++ if (iter_is_iovec(iter) || (iter->iter_type & ITER_KVEC)) {
++#elif RTLNX_VER_MIN(3,16,0)
+ if (iter_is_iovec(iter) || (iter->type & ITER_KVEC)) {
+ #endif
+ const struct iovec *pCurIov = iter->iov;
+@@ -2436,7 +2442,11 @@
+ } else {
+ /* Won't bother with accurate counts for the next two types, just make
+ some rough estimates (does pipes have segments?): */
++# if RTLNX_VER_MIN(5,14,0)
++ size_t cSegs = iter->iter_type & ITER_BVEC ? RT_MAX(1, iter->nr_segs) : 1;
++# else
+ size_t cSegs = iter->type & ITER_BVEC ? RT_MAX(1, iter->nr_segs) : 1;
++#endif
+ cPages = (iov_iter_count(iter) + (PAGE_SIZE * 2 - 2) * cSegs) >> PAGE_SHIFT;
+ }
+ # endif
+@@ -2588,8 +2598,14 @@
+ struct vbsf_reg_info *sf_r = kio->ki_filp->private_data;
+ struct vbsf_super_info *pSuperInfo = VBSF_GET_SUPER_INFO(inode->i_sb);
+
++#if RTLNX_VER_MIN(5,14,0)
+ SFLOGFLOW(("vbsf_reg_read_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n",
++ inode, kio->ki_filp, cbToRead, kio->ki_pos, iter->iter_type));
++#else
++ SFLOGFLOW(("vbsf_reg_read_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n",
+ inode, kio->ki_filp, cbToRead, kio->ki_pos, iter->type));
++#endif
++
+ AssertReturn(S_ISREG(inode->i_mode), -EINVAL);
+
+ /*
+@@ -2823,9 +2839,13 @@
+ bool const fAppend = RT_BOOL(kio->ki_filp->f_flags & O_APPEND);
+ # endif
+
+-
++#if RTLNX_VER_MIN(5,14,0)
+ SFLOGFLOW(("vbsf_reg_write_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n",
++ inode, kio->ki_filp, cbToWrite, offFile, iter->iter_type));
++#else
++ SFLOGFLOW(("vbsf_reg_write_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n",
+ inode, kio->ki_filp, cbToWrite, offFile, iter->type));
++#endif
+ AssertReturn(S_ISREG(inode->i_mode), -EINVAL);
+
+ /*
+@@ -3737,7 +3757,27 @@
+ }
+ #endif /* KERNEL_VERSION >= 2.6.24 */
+
++#if RTLNX_VER_MIN(5,14,0)
++static int vbsf_write_end(struct file *file, struct address_space *mapping,
++ loff_t pos, unsigned int len, unsigned int copied,
++ struct page *page, void *fsdata)
++{
++ static uint64_t volatile s_cCalls = 0;
++ if (s_cCalls++ < 16)
++ {
++ printk("vboxsf: Unexpected call to vbsf_write_end(pos=%#llx len=%#x)! Please report.\n",
++ (unsigned long long)pos, len);
++ RTLogBackdoorPrintf("vboxsf: Unexpected call to vbsf_write_end(pos=%#llx len=%#x)! Please report.\n",
++ (unsigned long long)pos, len);
++# ifdef WARN_ON
++ WARN_ON(1);
++# endif
++ }
+
++ return -ENOTSUPP;
++}
++#endif
++
+ #if RTLNX_VER_MIN(2,4,10)
+
+ # ifdef VBOX_UEK
+@@ -3791,8 +3831,11 @@
+ #if RTLNX_VER_MIN(2,5,12)
+ .set_page_dirty = __set_page_dirty_buffers,
+ #endif
+-#if RTLNX_VER_MIN(2,6,24)
++#if RTLNX_VER_MIN(5,14,0)
+ .write_begin = vbsf_write_begin,
++ .write_end = vbsf_write_end,
++#elif RTLNX_VER_MIN(2,6,24)
++ .write_begin = vbsf_write_begin,
+ .write_end = simple_write_end,
+ #elif RTLNX_VER_MIN(2,5,45)
+ .prepare_write = simple_prepare_write,
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb
index 689782b7f..84651ae64 100644
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb
@@ -13,13 +13,15 @@ VBOX_NAME = "VirtualBox-${PV}"
SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
file://Makefile.utils \
+ file://r89690-5.14-fixes.patch \
+ file://r90497-regops-5.14-fix.patch \
"
SRC_URI[md5sum] = "fce04bbef244b4df1a50e53d132d3e6f"
SRC_URI[sha256sum] = "0212602eea878d6c9fd7f4a3e0182da3e4505f31d25f5539fb8f7b1fbe366195"
S ?= "${WORKDIR}/vbox_module"
-S_task-patch = "${WORKDIR}/${VBOX_NAME}"
+S:task-patch = "${WORKDIR}/${VBOX_NAME}"
export BUILD_TARGET_ARCH="${ARCH}"
export BUILD_TARGET_ARCH:x86-64="amd64"
diff --git a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.16.bb b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.16.bb
index 59a0dfff2..c1b22886f 100644
--- a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.16.bb
+++ b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.16.bb
@@ -17,6 +17,6 @@ DEPENDS = "\
DEPENDS:append:libc-musl = " argp-standalone"
LDFLAGS:append:libc-musl = " -largp"
-inherit meson
+inherit meson pkgconfig
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-test/bats/bats_1.4.1.bb b/meta-openembedded/meta-oe/recipes-test/bats/bats_1.4.1.bb
index b30055549..30e83457c 100644
--- a/meta-openembedded/meta-oe/recipes-test/bats/bats_1.4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-test/bats/bats_1.4.1.bb
@@ -14,6 +14,12 @@ SRCREV = "54e965fa9d269c2b3ff9036d81f32bac3df0edea"
S = "${WORKDIR}/git"
+do_configure:prepend() {
+ sed -i 's:\$BATS_ROOT/lib:\$BATS_ROOT/${baselib}:g' ${S}/libexec/bats-core/bats
+ sed -i 's:\$BATS_ROOT/lib:\$BATS_ROOT/${baselib}:g' ${S}/libexec/bats-core/bats-exec-file
+ sed -i 's:\$BATS_ROOT/lib:\$BATS_ROOT/${baselib}:g' ${S}/libexec/bats-core/bats-exec-test
+}
+
do_install() {
# Just a bunch of bash scripts to install
${S}/install.sh ${D}${prefix} ${baselib}
diff --git a/meta-openembedded/meta-perl/README b/meta-openembedded/meta-perl/README
index c519dff52..13014b0ff 100644
--- a/meta-openembedded/meta-perl/README
+++ b/meta-openembedded/meta-perl/README
@@ -53,8 +53,6 @@ This layer depends on:
URI: git://git.openembedded.org/openembedded-core
branch: master
- revision: HEAD
- prio: default
Adding the meta-perl layer to your build
---------------------------------------
diff --git a/meta-openembedded/meta-python/README b/meta-openembedded/meta-python/README
index df6abe0e2..194bac39c 100644
--- a/meta-openembedded/meta-python/README
+++ b/meta-openembedded/meta-python/README
@@ -14,12 +14,10 @@ The meta-python layer depends on:
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: master
- revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
branch: master
- revision: HEAD
Please follow the recommended setup procedures of your OE distribution.
For Angstrom that is:
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python3-pyro4_4.80.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python3-pyro4_4.81.bb
index ba331eea0..b05ce34f8 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python3-pyro4_4.80.bb
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python3-pyro4_4.81.bb
@@ -2,8 +2,7 @@ SUMMARY = "Python Remote Objects"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=cd13dafd4eeb0802bb6efea6b4a4bdbc"
-SRC_URI[md5sum] = "e31fc077e06de9fc0bb061e357401954"
-SRC_URI[sha256sum] = "46847ca703de3f483fbd0b2d22622f36eff03e6ef7ec7704d4ecaa3964cb2220"
+SRC_URI[sha256sum] = "e130da06478b813173b959f7013d134865e07fbf58cc5f1a2598f99479cdac5f"
PYPI_PACKAGE = "Pyro4"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap.inc
index 688622afa..1a729c975 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap.inc
@@ -1,5 +1,5 @@
DESCRIPTION = "An extension that includes Bootstrap in your project, without any boilerplate code."
-LICENSE = "BSD"
+LICENSE = "Apache-2.0 & MIT & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=a03749709f06118a17349deb5a210619"
SRC_URI[md5sum] = "e40d50f5c5b6438c1c6200a6f2871f81"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.0.bb
index cb5eab15a..999fd5a3d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.0.bb
@@ -1,6 +1,6 @@
SUMMARY = "Advanced Enumerations library"
HOMEPAGE = "https://pypi.org/project/aenum/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://aenum/LICENSE;md5=c6a85477543f8b8591b9c1f82abebbe9"
SRC_URI[sha256sum] = "87f0e9ef4f828578ab06af30e4d7944043bf4ecd3f4b7bd1cbe37e2173cde94a"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.9.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.10.0.bb
index cf92c8e9c..ba89e9db3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.9.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.10.0.bb
@@ -3,8 +3,7 @@ HOMEPAGE = " https://www.crummy.com/software/BeautifulSoup/bs4"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=f2d38d8a40bf73fd4b3d16ca2e5882d1"
-SRC_URI[md5sum] = "57fd468ae3eb055f6871106e8f7813e2"
-SRC_URI[sha256sum] = "84729e322ad1d5b4d25f805bfa05b902dd96450f43842c4e99067d5e1369eb25"
+SRC_URI[sha256sum] = "c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891"
inherit pypi setuptools3
@@ -12,6 +11,8 @@ RDEPENDS:${PN} = "\
${PYTHON_PN}-html5lib \
${PYTHON_PN}-lxml \
${PYTHON_PN}-soupsieve \
+ ${PYTHON_PN}-html \
+ ${PYTHON_PN}-logging \
"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.3.4.bb
index 17b5d931c..5a674f009 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.3.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.3.4.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/ilanschnell/bitarray"
LICENSE = "PSF"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d"
-SRC_URI[sha256sum] = "0edf630a4471a48627aec0b840cf3b8e10901191d328f6511560420459de282e"
+SRC_URI[sha256sum] = "f19c62425576d3d1821ed711b94d1a4e5ede8f05ca121e99b6d978ed49c7a765"
inherit setuptools3 pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.2.0.bb
index 874e7cf0c..2632ce1c8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.2.0.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4c527bcb481233ebcb803de975f42701"
DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
-SRC_URI[sha256sum] = "25dbb2e9847aaa686a8a21e84e3d101db8b79f5cb992e044fc54210ab8c0ad41"
+SRC_URI[sha256sum] = "34cd12424d9e2835eff125146af3d9f4a4c2931c6bc5a3cea9790bd4f55756d9"
inherit pypi setuptools3
@@ -17,6 +17,7 @@ RDEPENDS:${PN} += "\
${PYTHON_PN}-compression \
${PYTHON_PN}-pydoc \
${PYTHON_PN}-json \
+ ${PYTHON_PN}-numbers \
"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.10.0.bb
index 91df9875f..edf3246bc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.10.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.10.0.bb
@@ -1,6 +1,6 @@
SUMMARY = "Composable style cycles"
HOMEPAGE = "http://github.com/matplotlib/cycler"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=7713fe42cd766b15c710e19392bfa811"
SRC_URI[md5sum] = "4cb42917ac5007d1cdff6cccfe2d016b"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.1.0.bb
index f7594e87e..2e44c3d80 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.1.0.bb
@@ -9,7 +9,7 @@ decorator, just because you can."
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=be2fd2007972bf96c08af3293d728b22"
-SRC_URI[sha256sum] = "72ecfba4320a893c53f9706bebb2d55c270c1e51a28789361aa93e4a21319ed5"
+SRC_URI[sha256sum] = "e59913af105b9860aa2c8d3272d9de5a56a4e608db9a2f167a8480b323d529a7"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.4.bb
index f77d11e25..ff0104cc8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.4.bb
@@ -1,6 +1,6 @@
SUMMARY = "Serialize all of python"
HOMEPAGE = "https://pypi.org/project/dill/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=41adceb584fdde8323ddf9ad23c07fe5"
SRC_URI[sha256sum] = "9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_2.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_2.5.0.bb
index 1a2123011..40cf8bda7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_2.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_2.5.0.bb
@@ -1,6 +1,6 @@
SUMMARY = "Python bindings and utilities for GeoJSON"
HOMEPAGE = "https://pypi.org/project/geojson/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=f48972abe5cddee79e301574742ed745"
SRC_URI[md5sum] = "14753ed28678828b1de73f68b04e2324"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.4.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.4.7.bb
index 5808c8db0..83ee57926 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.4.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.4.7.bb
@@ -1,6 +1,6 @@
SUMMARY = "A wrapper for the Gnu Privacy Guard (GPG or GnuPG)"
SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b0b7ac63b60085b23fa9f7e1951daa1d"
PYPI_PACKAGE = "python-gnupg"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.39.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.40.0.bb
index 865124450..f86bf008f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.39.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.40.0.bb
@@ -11,7 +11,7 @@ DEPENDS += "${PYTHON_PN}-grpcio"
SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch"
-SRC_URI[sha256sum] = "39dfe7415bc0d3860fdb8dd90607594b046b88b57dbe64284efa4820f951c805"
+SRC_URI[sha256sum] = "d440f2bc089ff628618c536904d5bc39d0b44f7afdda4c4c1ecd15fcf385bfba"
RDEPENDS:${PN} = "${PYTHON_PN}-grpcio"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.39.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.40.0.bb
index 76d38a264..1cfb96749 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.39.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.40.0.bb
@@ -12,7 +12,7 @@ SRC_URI:append:class-target = " file://ppc-boringssl-support.patch \
file://mips_bigendian.patch \
file://0001-absl-always-use-asm-sgidefs.h.patch \
"
-SRC_URI[sha256sum] = "57974361a459d6fe04c9ae0af1845974606612249f467bbd2062d963cb90f407"
+SRC_URI[sha256sum] = "3d172158fe886a2604db1b6e17c2de2ab465fe0fe36aba2ec810ca8441cefe3a"
RDEPENDS:${PN} = "${PYTHON_PN}-protobuf \
${PYTHON_PN}-setuptools \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.4.0.bb
index cc2380262..89000b793 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.4.0.bb
@@ -11,7 +11,7 @@ SRC_URI:append = " \
file://0001-setup.py-Fix-numpy-version.patch \
"
-inherit pypi setuptools3
+inherit pkgconfig pypi setuptools3
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.1.bb
index afdc65b24..64bd8880e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.1.bb
@@ -5,7 +5,14 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4"
PYPI_PACKAGE = "huey"
-SRC_URI[sha256sum] = "82981fb8f1964e8c9ee8f4ebcd5a2ebad561dd93ce8b454bf4f4ecfb54bd1411"
+SRC_URI[sha256sum] = "bd55e90746cec16e7a61d6dc60d4591c74cba59000dca96c387a4d4eee1395f6"
+
+RDEPENDS:${PN} += " \
+ python3-datetime \
+ python3-logging \
+ python3-multiprocessing \
+ python3-json \
+"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_9.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_10.0.bb
index d87ed4d2a..7d185989d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_9.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_10.0.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5d178009f806c2bdd498a19be0013a7a"
PYPI_PACKAGE = "humanfriendly"
-SRC_URI[sha256sum] = "f7dba53ac7935fd0b4a2fc9a29e316ddd9ea135fb3052d3d0279d10c18ff9c48"
+SRC_URI[sha256sum] = "6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"
inherit pypi setuptools3
@@ -21,4 +21,4 @@ RDEPENDS:${PN}:class-target += " \
${PYTHON_PN}-stringold \
"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.7.2.bb
index 4c064c3d4..2433a8c9d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.7.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.7.2.bb
@@ -3,11 +3,11 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://setup.py;beginline=244;endline=252;md5=3e00c41c6d04310707992b93307a224f"
-DEPENDS += "pkgconfig icu"
+DEPENDS += "icu"
PYPI_PACKAGE = "PyICU"
SRC_URI[sha256sum] = "1382869b22d91cc99274f9b525fa7d9199b44d9007ff0036a09747839a01e9dc"
SRC_URI += "file://0001-Fix-host-contamination-of-include-files.patch"
-inherit pypi setuptools3
+inherit pkgconfig pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb
index 587aea1f0..2a28cf9ec 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb
@@ -1,7 +1,7 @@
SUMMARY = "Vestigial utilities from IPython"
HOMEPAGE = "http://ipython.org"
AUTHOR = "IPython Development Team <ipython-dev@scipy.org>"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING.md;md5=f7c3032c3ac398265224533a0a333a35"
PYPI_PACKAGE = "ipython_genutils"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.27.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.27.0.bb
index 2ec0722c3..3c64b82c2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.27.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.27.0.bb
@@ -1,7 +1,7 @@
SUMMARY = "IPython: Productive Interactive Computing"
HOMEPAGE = "https://ipython.org"
AUTHOR = "The IPython Development Team <ipython-dev@python.org>"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f"
PYPI_PACKAGE = "ipython"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal_1.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal_1.4.1.bb
index 765de4d4f..8655150b0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal_1.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal_1.4.1.bb
@@ -4,7 +4,7 @@ and another function for converting Julian calendar dates to Julian dates are de
Two functions for the reverse calculations are also defined."
HOMEPAGE = "https://github.com/phn/jdcal"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=bd236e1f590973467a427bb354be0f46"
inherit pypi setuptools3 ptest
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.3.2.bb
index cf14c49e6..dac6cd48b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.3.2.bb
@@ -1,6 +1,6 @@
SUMMARY = "A fast implementation of the Cassowary constraint solver"
HOMEPAGE = "https://github.com/nucleic/kiwi"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://setup.py;endline=7;md5=e54bd74bd9d0a84ae3f8f6d21ada0ab4"
SRC_URI[sha256sum] = "fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.3.bb
index 241ffcfc0..669c2eaee 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.3.bb
@@ -20,7 +20,7 @@ DEPENDS += "libxml2 libxslt"
SRC_URI[sha256sum] = "39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468"
-inherit pypi setuptools3
+inherit pkgconfig pypi setuptools3
# {standard input}: Assembler messages:
# {standard input}:1488805: Error: branch out of range
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mpmath_1.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mpmath_1.2.1.bb
index e1c52e7ba..3337df490 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mpmath_1.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mpmath_1.2.1.bb
@@ -3,7 +3,7 @@
SUMMARY = "Python library for arbitrary-precision floating-point arithmetic"
HOMEPAGE = "https://pypi.org/project/mpmath/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=71970bd3749eebe1bfef9f1efff5b37a"
SRC_URI[sha256sum] = "79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.8.bb
index 52489b854..3d1f46e50 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.8.bb
@@ -9,6 +9,15 @@ LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148
inherit pypi setuptools3
-SRC_URI[sha256sum] = "6456a3b472e1ef0facb1129f3c6ef00713cebf62e736cd7a75bcc3247432f251"
+SRC_URI[sha256sum] = "4f2770348c029ce9433316ced8f91ed37d2a605e654f8bfdc93a3524561a8ce2"
-RDEPENDS:${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-jdcal ${PYTHON_PN}-et-xmlfile"
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-compression \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-jdcal \
+ ${PYTHON_PN}-et-xmlfile \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-xml \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.3.bb
index 55700b51c..6e557ed7b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.3.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "http://pandas.pydata.org/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3f23c5c092b74d245d48eeef72bc3fd2"
-SRC_URI[sha256sum] = "cbcb84d63867af3411fa063af3de64902665bb5b3d40b25b2059e40603594e87"
+SRC_URI[sha256sum] = "272c8cb14aa9793eada6b1ebe81994616e647b5892a370c7135efb2924b701df"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parallax_1.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parallax_1.0.6.bb
index 00a4ec86b..14c90ffb5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-parallax_1.0.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parallax_1.0.6.bb
@@ -1,6 +1,6 @@
SUMMARY = "Execute commands and copy files over SSH to multiple machines at once."
HOMEPAGE = "https://github.com/krig/parallax/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=52c67ffa6102f288a0347f8c5802fd18"
SRC_URI[md5sum] = "e312397b083426af84db7076dc2a28d7"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.5.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.9.1.bb
index 22603209e..5871ee216 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.5.18.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.9.1.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/mk-fg/python-pulse-control"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=f1d10048469ff90123263eb5e214061d"
-SRC_URI[sha256sum] = "14e34563cdad5f01d193f1ef7cd859a0fbdaa846726d44b0b68f4451a7458458"
+SRC_URI[sha256sum] = "8eef4dbfc97d984e63fd609a3f690d005173ec5342be88d10f67dd507affdf32"
RDEPENDS:${PN} += " \
libpulse \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.2.1.bb
index c1f52881a..1fd76ed39 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.2.1.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/balloob/pychromecast"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5"
-SRC_URI[sha256sum] = "6d34593575cf77565df47af4c75dd47c6a65831ec18a8c10b5367b2f1c172f0a"
+SRC_URI[sha256sum] = "883d6e836ff5f1068a8bd00364a15b4c9854293086495e9fd9cacd9b4d54c0bf"
PYPI_PACKAGE = "PyChromecast"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.8.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.8.2.bb
index 5295bdaed..2870ec9c0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.8.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.8.2.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "A cross-platform clipboard module for Python. (only handles plain text for now)"
HOMEPAGE = "https://github.com/asweigart/pyperclip"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=d7dd4b0d1f7153322a546e89b5a0a632"
SRC_URI[sha256sum] = "105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.3.0.bb
index f58074a9a..3c91eee16 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.3.0.bb
@@ -8,7 +8,7 @@ DEPENDS = "zeromq"
FILESEXTRAPATHS:prepend := "${THISDIR}/python-pyzmq:"
SRC_URI += "file://club-rpath-out.patch"
-SRC_URI[sha256sum] = "6d18c76676771fd891ca8e0e68da0bbfb88e30129835c0ade748016adb3b6242"
+SRC_URI[sha256sum] = "8eddc033e716f8c91c6a2112f0a8ebc5e00532b4a6ae1eb0ccc48e027f9c671c"
inherit pypi pkgconfig setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.1.1.bb
index 7c6c41af7..d715f3513 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.1.1.bb
@@ -13,7 +13,7 @@ inherit pypi setuptools3
PYPI_PACKAGE_EXT = "zip"
-SRC_URI[sha256sum] = "567f2a21f0906635e21d45fe3cb84a4809a12980c9f2706a8a5f65f40f6b4ccd"
+SRC_URI[sha256sum] = "663f84c177b2fa9b3b782939e31637a057a33f3a4b29067812f1259b7f4bad35"
RDEPENDS:${PN} += " \
${PYTHON_PN}-shell \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.2.bb
index a159975f7..0980ff9c2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.2.bb
@@ -1,15 +1,14 @@
DESCRIPTION = "Non-validating SQL parser module"
HOMEPAGE = "http://pypi.python.org/pypi/sqlparse"
SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2b136f573f5386001ea3b7b9016222fc"
SRC_URI += "file://0001-sqlparse-change-shebang-to-python3.patch \
file://run-ptest \
"
-SRC_URI[md5sum] = "eebbc6b5f1033054873033e54b0c1266"
-SRC_URI[sha256sum] = "0f91fd2e829c44362cbcfab3e9ae12e22badaa8a29ad5ff599f9ec109f0454e8"
+SRC_URI[sha256sum] = "0c00730c74263a94e5a9919ade150dfc3b19c574389985446148402998287dae"
export BUILD_SYS
export HOST_SYS
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.8.bb
index 1dd0a5a85..e274857f7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.8.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.8.bb
@@ -3,7 +3,7 @@
SUMMARY = "Computer algebra system (CAS) in Python"
HOMEPAGE = "https://pypi.org/project/sympy/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2245824980a408ef1749391dfba32b3b"
SRC_URI[sha256sum] = "1ca588a9f6ce6a323c5592f9635159c2093572826668a1022c75c75bdf0297cb"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
index 499fb3704..cbc9f44bc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
@@ -7,7 +7,7 @@ PYPI_PACKAGE = "systemd-python"
DEPENDS += "systemd (<=234)"
RDEPENDS:${PN} += "systemd ${PYTHON_PN}-syslog ${PYTHON_PN}-logging python3-syslog"
REQUIRED_DISTRO_FEATURES = "systemd"
-inherit pypi features_check setuptools3
+inherit pypi features_check pkgconfig setuptools3
SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.3.bb
index bbdd795aa..148431d0a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.3.bb
@@ -3,9 +3,9 @@ HOMEPAGE = "http://tqdm.github.io/"
SECTION = "devel/python"
LICENSE = "MIT & MPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=59e4271a933d33edfe60237db377a14b"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=1672e2674934fd93a31c09cf17f34100"
-SRC_URI[sha256sum] = "a4d6d112e507ef98513ac119ead1159d286deab17dffedd96921412c2d236ff5"
+SRC_URI[sha256sum] = "d359de7217506c9851b7869f3708d8ee53ed70a1b8edbba4dbcb47442592920d"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.1.0.bb
index da234215e..120604a8b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.1.0.bb
@@ -1,7 +1,7 @@
SUMMARY = "Traitlets Python config system"
HOMEPAGE = "http://ipython.org"
AUTHOR = "IPython Development Team <ipython-dev@scipy.org>"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING.md;md5=eec4de4d599518742e54e75954e33b46"
PYPI_PACKAGE = "traitlets"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb
index 211b2b3c8..ab33ce66e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb
@@ -1,5 +1,5 @@
SUMMARY = "Character encoding aliases for legacy web content"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
SRC_URI[md5sum] = "32f6e261d52e57bf7e1c4d41546d15b8"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.7.bb b/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.7.bb
index 765201ca7..ef04024aa 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.7.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.7.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "\
SRC_URI[md5sum] = "69284f943982f54ded76960c92098a02"
SRC_URI[sha256sum] = "61cde7b096bccd69ddc75c85b17f8baed45c3687d404706d91403a319453b903"
-inherit pypi distutils3
+inherit pkgconfig pypi distutils3
DEPENDS += "parted"
diff --git a/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb b/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb
index 76f59e285..963351a2e 100644
--- a/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb
@@ -1,5 +1,5 @@
SUMMARY = "Send file to trash natively under Mac OS X, Windows and Linux"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a02659c2d5f4cc626e4dcf6504b865eb"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-webserver/README b/meta-openembedded/meta-webserver/README
index 7b6063070..d23f6cc65 100644
--- a/meta-openembedded/meta-webserver/README
+++ b/meta-openembedded/meta-webserver/README
@@ -11,17 +11,15 @@ Dependencies
This layer depends on:
-URI: git://github.com/openembedded/oe-core.git
+URI: git://git.openembedded.org/openembedded-core
subdirectory: meta
branch: master
-revision: HEAD
For some recipes, the meta-oe layer is required:
-URI: git://github.com/openembedded/meta-oe.git
+URI: git://git.openembedded.org/meta-openembedded
subdirectory: meta-oe
branch: master
-revision: HEAD
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.48.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.49.bb
index 1ac4fcbf2..e5d187957 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.48.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.49.bb
@@ -26,8 +26,7 @@ SRC_URI:append:class-target = " \
"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3"
-SRC_URI[md5sum] = "a7088cec171b0d00bf43394ce64d3909"
-SRC_URI[sha256sum] = "1bc826e7b2e88108c7e4bf43c026636f77a41d849cfb667aa7b5c0b86dbf966c"
+SRC_URI[sha256sum] = "65b965d6890ea90d9706595e4b7b9365b5060bec8ea723449480b4769974133b"
S = "${WORKDIR}/httpd-${PV}"
diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.1.0.bb b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.1.1.bb
index 84e1da620..b64824c47 100644
--- a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.1.0.bb
+++ b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.1.1.bb
@@ -11,8 +11,8 @@ SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-la
file://apache.conf \
"
-SRC_URI[md5sum] = "4587343e706c5434adf91c396b418731"
-SRC_URI[sha256sum] = "aa8ccf357f672012384df34e1c2bc70147476761c8458a0dad6233497e142c68"
+SRC_URI[md5sum] = "e73377b11b7d38fa3f3014f2799c5252"
+SRC_URI[sha256sum] = "1964d7190223c11e89fa1b7970c618e3a3bae2e859f5f60383f64c3848ef6921"
UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/"
UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P<pver>\d+(\.\d+)+)-all-languages.tar.xz"
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service
index b244d1866..ca13f7287 100644
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service
@@ -1,13 +1,15 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
[Unit]
-Description=Netdata, Real-time performance monitoring
+Description=Real time performance monitoring
RequiresMountsFor=/var
+After=network.target
[Service]
-User=root
+Type=simple
ExecStartPre=/bin/mkdir -p /var/log/netdata
-ExecStartPre=/bin/chown -R nobody.netdata @@datadir/netdata/web
-ExecStartPre=/bin/chown -R nobody.netdata /var/cache/netdata
-ExecStart=/usr/sbin/netdata -nd
+ExecStartPre=/bin/chown -R netdata.netdata /var/log/netdata
+ExecStart=/usr/sbin/netdata -D -u netdata
+
[Install]
WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.22.1.bb
index 7c48b8a37..fb4d27294 100644
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.22.1.bb
@@ -1,11 +1,12 @@
-HOMEPAGE = "https://github.com/firehol/netdata/"
+HOMEPAGE = "https://github.com/netdata/netdata/"
SUMMARY = "Real-time performance monitoring"
+DESCRIPTION = "Netdata is high-fidelity infrastructure monitoring and troubleshooting. \
+ Open-source, free, preconfigured, opinionated, and always real-time."
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fc9b848046ef54b5eaee6071947abd24"
-SRC_URI = "git://github.com/firehol/netdata.git;protocol=https"
+SRC_URI = "git://github.com/netdata/netdata.git;protocol=https"
SRCREV = "1be9200ba8e11dc81a2101d85a2725137d43f766"
-PV = "1.22.1"
# default netdata.conf for netdata configuration
SRC_URI += "file://netdata.conf"
@@ -31,7 +32,7 @@ SYSTEMD_AUTO_ENABLE:${PN} = "enable"
#User specific
USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM:${PN} = "--system netdata"
+USERADD_PARAM:${PN} = "--system --no-create-home --home-dir ${localstatedir}/run/netdata --user-group netdata"
do_install:append() {
#set S UID for plugins
@@ -50,6 +51,13 @@ do_install:append() {
sed -i -e 's,@@sysconfdir,${sysconfdir},g' ${D}${sysconfdir}/netdata/netdata.conf
sed -i -e 's,@@libdir,${libexecdir},g' ${D}${sysconfdir}/netdata/netdata.conf
sed -i -e 's,@@datadir,${datadir},g' ${D}${sysconfdir}/netdata/netdata.conf
+
+ install --group netdata --owner netdata --directory ${D}${localstatedir}/cache/netdata
+ install --group netdata --owner netdata --directory ${D}${localstatedir}/lib/netdata
+
+ chown -R netdata:netdata ${D}${datadir}/netdata/web
}
+FILES_${PN} += "${localstatedir}/cache/netdata/ ${localstatedir}/lib/netdata/"
+
RDEPENDS:${PN} = "bash zlib"
diff --git a/meta-openembedded/meta-xfce/README b/meta-openembedded/meta-xfce/README
index bbf4b2edf..1e9acc471 100644
--- a/meta-openembedded/meta-xfce/README
+++ b/meta-openembedded/meta-xfce/README
@@ -1,12 +1,11 @@
This layer depends on:
-URI: git://github.com/openembedded/oe-core.git
+URI: git://git.openembedded.org/openembedded-core
branch: master
-revision: HEAD
-URI: git://github.com/openembedded/meta-oe.git
+URI: git://git.openembedded.org/meta-openembedded
branch: master
-revision: HEAD
+
meta-xfce depends on meta-oe, meta-gnome and meta-multimedia in this repository.
To avoid dependencies on meta-multimedia you need to mask recipes by adding
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb
index 35f541941..92317c83f 100644
--- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb
@@ -13,7 +13,7 @@ SRCREV = "5c7a73a3824b03b91719e05e2604b97c7a72d50f"
S = "${WORKDIR}/git"
-inherit gettext meson features_check
+inherit gettext meson features_check pkgconfig
REQUIRED_DISTRO_FEATURES = "systemd x11"
diff --git a/meta-openpower/classes/openpower-software-manager-mmc.bbclass b/meta-openpower/classes/openpower-software-manager-mmc.bbclass
index afbee1a8f..b106fdeba 100644
--- a/meta-openpower/classes/openpower-software-manager-mmc.bbclass
+++ b/meta-openpower/classes/openpower-software-manager-mmc.bbclass
@@ -3,6 +3,5 @@ PACKAGECONFIG:append = " mmc_layout"
SYSTEMD_SERVICE:${PN} += " \
obmc-flash-bios-init.service \
obmc-flash-bios-patch.service \
- openpower-process-host-firmware.service \
- openpower-update-bios-attr-table.service \
+ openpower-bios-factory-reset.service \
"
diff --git a/meta-openpower/classes/openpower-software-manager-pldm.bbclass b/meta-openpower/classes/openpower-software-manager-pldm.bbclass
new file mode 100644
index 000000000..3cfa4a217
--- /dev/null
+++ b/meta-openpower/classes/openpower-software-manager-pldm.bbclass
@@ -0,0 +1,6 @@
+PACKAGECONFIG:append = " pldm"
+
+SYSTEMD_SERVICE:${PN} += " \
+ openpower-process-host-firmware.service \
+ openpower-update-bios-attr-table.service \
+"
diff --git a/meta-openpower/conf/distro/include/openpower-hostfw-over-pldm.inc b/meta-openpower/conf/distro/include/openpower-hostfw-over-pldm.inc
new file mode 100644
index 000000000..6c67b728b
--- /dev/null
+++ b/meta-openpower/conf/distro/include/openpower-hostfw-over-pldm.inc
@@ -0,0 +1,2 @@
+DISTRO_FEATURES += "openpower-hostfw-over-pldm"
+DISTROOVERRIDES .= ":df-openpower-hostfw-over-pldm"
diff --git a/meta-openpower/conf/machine/include/openpower.inc b/meta-openpower/conf/machine/include/openpower.inc
index 65d9a8aef..f6c48bfb0 100644
--- a/meta-openpower/conf/machine/include/openpower.inc
+++ b/meta-openpower/conf/machine/include/openpower.inc
@@ -1,4 +1,4 @@
-OBMC_MACHINE_FEATURES += "\
+MACHINE_FEATURES += "\
obmc-phosphor-fan-mgmt \
obmc-phosphor-chassis-mgmt \
obmc-phosphor-flash-mgmt \
diff --git a/meta-openpower/conf/machine/include/p8.inc b/meta-openpower/conf/machine/include/p8.inc
index af269c23e..eb262cbf7 100644
--- a/meta-openpower/conf/machine/include/p8.inc
+++ b/meta-openpower/conf/machine/include/p8.inc
@@ -1,2 +1,2 @@
include conf/machine/include/ibm-power8-cpu.inc
-OBMC_MACHINE_FEATURES += 'i2c-occ'
+MACHINE_FEATURES += 'i2c-occ'
diff --git a/meta-openpower/conf/machine/include/p9.inc b/meta-openpower/conf/machine/include/p9.inc
index 2da9fd144..5c1779322 100644
--- a/meta-openpower/conf/machine/include/p9.inc
+++ b/meta-openpower/conf/machine/include/p9.inc
@@ -1,3 +1,3 @@
include conf/machine/include/ibm-power9-cpu.inc
-OBMC_MACHINE_FEATURES += 'op-fsi p9-cfam-override'
+MACHINE_FEATURES += 'op-fsi p9-cfam-override'
PREFERRED_PROVIDER_virtual/obmc-host-ctl = "p9-host-start"
diff --git a/meta-openpower/recipes-bsp/ecmd-pdbg/ecmd-pdbg_1.0.bb b/meta-openpower/recipes-bsp/ecmd-pdbg/ecmd-pdbg_1.0.bb
new file mode 100644
index 000000000..df98965af
--- /dev/null
+++ b/meta-openpower/recipes-bsp/ecmd-pdbg/ecmd-pdbg_1.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "eCMD plugin with pdbg backend"
+DESCRIPTION = "The glue code necessary for pdbg to be used as an eCMD plugin"
+PR = "r1"
+PV = "1.0+git${SRCPV}"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit meson
+inherit pkgconfig
+
+SRC_URI = "git://git@github.com/open-power/ecmd-pdbg.git"
+SRCREV = "349e04048409b4a619f4bc979aa5dd76e2bbc665"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "pdbg zlib libyaml ipl"
+
+FILES:${PN} += "${prefix}/help"
+
+EXTRA_OEMESON = " \
+ -Dchip=p10 \
+ "
diff --git a/meta-openpower/recipes-bsp/ekb/ekb.inc b/meta-openpower/recipes-bsp/ekb/ekb.inc
index 678675071..ddad05cb8 100644
--- a/meta-openpower/recipes-bsp/ekb/ekb.inc
+++ b/meta-openpower/recipes-bsp/ekb/ekb.inc
@@ -1,6 +1,6 @@
EKB_BRANCH = "main-p10"
EKB_URI = "git://git@github.com/open-power/pub-ekb;branch=${EKB_BRANCH}"
-EKB_REV = "c14cb37697636c15742efe1c0318d01da2f82902"
+EKB_REV = "a9996cb6861198688010522baed369b0af0e6aca"
REQ_ATTRS_XMLS = "hwpf/fapi2/xml/attribute_info/chip_attributes.xml \
hwpf/fapi2/xml/attribute_info/common_attributes.xml \
diff --git a/meta-openpower/recipes-bsp/guard/guard_git.bb b/meta-openpower/recipes-bsp/guard/guard_git.bb
index 0d5ff964f..ba649db9d 100644
--- a/meta-openpower/recipes-bsp/guard/guard_git.bb
+++ b/meta-openpower/recipes-bsp/guard/guard_git.bb
@@ -6,14 +6,14 @@ PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-inherit meson
+inherit pkgconfig meson
S = "${WORKDIR}/git"
SRC_URI = "git://git@github.com/open-power/guard;branch="main""
-SRCREV = "87b02b63b64b36a925bec42723d70e0531e93407"
+SRCREV = "3fa0e5e312cb4138afb11e083e9ba7b0f0d5d5dc"
DEPENDS = "cli11"
-PACKAGECONFIG ??= "${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}"
PACKAGECONFIG[phal] = "-Ddevtree=enabled, -Ddevtree=disabled, pdata pdbg"
diff --git a/meta-openpower/recipes-bsp/ipl/ipl_git.bb b/meta-openpower/recipes-bsp/ipl/ipl_git.bb
index 3e49bbd14..dfe2a40f6 100644
--- a/meta-openpower/recipes-bsp/ipl/ipl_git.bb
+++ b/meta-openpower/recipes-bsp/ipl/ipl_git.bb
@@ -7,17 +7,17 @@ PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-inherit autotools
+inherit autotools pkgconfig
S = "${WORKDIR}/git"
SRC_URI = "git://git@github.com/open-power/ipl;branch="main""
-SRCREV = "5edb65ddf5820579179d51bfc859fcd973aaac0d"
+SRCREV = "11775c0f84a3e62735503294c1ee7ec61fcd4c9a"
DEPENDS = " \
- libekb pdbg autoconf-archive guard \
+ libekb pdbg autoconf-archive guard pdata \
"
RDEPENDS:${PN} = "phal-devtree"
-EXTRA_OECONF = "CHIP=p10"
+EXTRA_OECONF = "CHIP=p10 --enable-libphal"
diff --git a/meta-openpower/recipes-bsp/libekb/libekb_git.bb b/meta-openpower/recipes-bsp/libekb/libekb_git.bb
index ac650a4a8..7c6a7ad2d 100644
--- a/meta-openpower/recipes-bsp/libekb/libekb_git.bb
+++ b/meta-openpower/recipes-bsp/libekb/libekb_git.bb
@@ -17,7 +17,7 @@ inherit autotools \
SRCREV_FORMAT = "libekb_ekb"
-SRCREV_libekb = "a68c2f610243d3f128f561c4451135241aedbf6b"
+SRCREV_libekb = "5ac6a46364dc065e058f0886d3ae5717eb8a52f1"
SRCREV_ekb = "${EKB_REV}"
SRC_URI = "git://git@github.com/open-power/libekb_p10;branch="main";name=libekb \
diff --git a/meta-openpower/recipes-bsp/pdata/pdata_git.bb b/meta-openpower/recipes-bsp/pdata/pdata_git.bb
index 4beb125e2..6ebfa3de6 100644
--- a/meta-openpower/recipes-bsp/pdata/pdata_git.bb
+++ b/meta-openpower/recipes-bsp/pdata/pdata_git.bb
@@ -13,7 +13,7 @@ inherit autotools \
perlnative
SRC_URI = "git://git@github.com/open-power/pdata;branch="main""
-SRCREV = "b05eb90ad19807ab0f8f1c861c56a0dbb0a75d0b"
+SRCREV = "9d6b94bcd5bc52c435175e8e2c05555df6271e7e"
DEPENDS = "pdbg \
libxml-simple-perl-native \
diff --git a/meta-openpower/recipes-phosphor/debug/openpower-debug-collector-systemd-links.inc b/meta-openpower/recipes-phosphor/debug/openpower-debug-collector-systemd-links.inc
index 9c522c1cd..b252e6c11 100644
--- a/meta-openpower/recipes-phosphor/debug/openpower-debug-collector-systemd-links.inc
+++ b/meta-openpower/recipes-phosphor/debug/openpower-debug-collector-systemd-links.inc
@@ -15,7 +15,7 @@ pkg_postinst:${PN}:append() {
TARGET="../openpower-debug-collector-watchdog@.service"
ln -s $TARGET $LINK
- if [ "${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}" != 'phal' ]; then
+ if [ "${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}" != 'phal' ]; then
LINK="$D$systemd_system_unitdir/obmc-host-timeout@0.target.wants/openpower-debug-collector-watchdog-timeout@0.service"
TARGET="../openpower-debug-collector-watchdog-timeout@.service"
ln -s $TARGET $LINK
@@ -29,7 +29,7 @@ pkg_prerm:${PN}:append() {
fi
LINK="$D$systemd_system_unitdir/obmc-host-timeout@0.target.wants/openpower-debug-collector-watchdog@0.service"
rm $LINK
- if [ "${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}" != 'phal' ]; then
+ if [ "${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}" != 'phal' ]; then
LINK="$D$systemd_system_unitdir/obmc-host-timeout@0.target.wants/openpower-debug-collector-watchdog-timeout@0.service"
rm $LINK
fi
diff --git a/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc b/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc
index efeaf1f3d..6d8f3f9fb 100644
--- a/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc
+++ b/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-debug-collector"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/openpower-debug-collector"
-SRCREV = "9b6f8474a4e33dbfda233dedceedf4c030ffd0ec"
+SRCREV = "2bd4621871408c14728c9f90eb9ebf6552aa9fe7"
diff --git a/meta-openpower/recipes-phosphor/debug/openpower-debug-collector_git.bb b/meta-openpower/recipes-phosphor/debug/openpower-debug-collector_git.bb
index 68965af0a..bcf356eee 100644
--- a/meta-openpower/recipes-phosphor/debug/openpower-debug-collector_git.bb
+++ b/meta-openpower/recipes-phosphor/debug/openpower-debug-collector_git.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "Application to log error during host checkstop and watchdog timeo
PR = "r1"
PV = "1.0+git${SRCPV}"
-inherit meson \
+inherit pkgconfig meson \
obmc-phosphor-systemd \
python3native \
phosphor-dbus-yaml
@@ -16,6 +16,7 @@ DEPENDS += " \
phosphor-logging \
${PYTHON_PN}-sdbus++-native \
cli11 \
+ ipl \
"
S = "${WORKDIR}/git"
@@ -24,7 +25,7 @@ S = "${WORKDIR}/git"
APPS = " \
checkstop \
watchdog \
- ${@bb.utils.contains('OBMC_MACHINE_FEATURES', 'phal', '', 'watchdog-timeout', d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'phal', '', 'watchdog-timeout', d)} \
"
DEBUG_TMPL = "openpower-debug-collector-{0}@.service"
@@ -34,4 +35,4 @@ SYSTEMD_SERVICE:${PN} += "${@compose_list(d, 'DEBUG_TMPL', 'APPS')}"
DEPENDS:remove:class-native = "phosphor-logging"
# Do not depend on phosphor-logging for native SDK build
-DEPENDS:remove:class-nativesdk = "phosphor-logging"
+DEPENDS:remove:class-nativesdk = "phosphor-logging ipl"
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb
index 820ebc222..7b44d7840 100644
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb
+++ b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb
@@ -31,10 +31,16 @@ inherit ${@bb.utils.contains('DISTRO_FEATURES', 'openpower-virtual-pnor', \
'openpower-software-manager-virtual-pnor', \
'', d)}
+# PLDM Support
+inherit ${@bb.utils.contains('DISTRO_FEATURES', 'openpower-hostfw-over-pldm', \
+ 'openpower-software-manager-pldm', \
+ '', d)}
+
PACKAGECONFIG[verify_pnor_signature] = "-Dverify-signature=enabled, -Dverify-signature=disabled"
PACKAGECONFIG[ubifs_layout] = "-Ddevice-type=ubi,,,mtd-utils-ubifs"
PACKAGECONFIG[mmc_layout] = "-Ddevice-type=mmc"
-PACKAGECONFIG[virtual_pnor] = "-Dvpnor=enabled, -Dvpnor=disabled"
+PACKAGECONFIG[virtual_pnor] = "-Dvpnor=enabled, -Dvpnor=disabled,,bash"
+PACKAGECONFIG[pldm] = "-Dpldm=enabled, -Dpldm=disabled"
EXTRA_OEMESON += " \
-Dtests=disabled \
@@ -61,7 +67,7 @@ S = "${WORKDIR}/git"
SRC_URI += "git://github.com/openbmc/openpower-pnor-code-mgmt"
-SRCREV = "4c2386a575c9bd2f69d73af131cd635cc3c09b04"
+SRCREV = "9cbc06b10d2738f7c2e3472cd447612768739f1d"
DBUS_SERVICE:${PN} += "org.open_power.Software.Host.Updater.service"
diff --git a/meta-openpower/recipes-phosphor/host/op-proc-control-systemd-links.bb b/meta-openpower/recipes-phosphor/host/op-proc-control-systemd-links.bb
index 8cedb62a5..f3c63adad 100644
--- a/meta-openpower/recipes-phosphor/host/op-proc-control-systemd-links.bb
+++ b/meta-openpower/recipes-phosphor/host/op-proc-control-systemd-links.bb
@@ -48,7 +48,7 @@ pkg_postinst:${PN}() {
ln -s $TARGET $LINK
# Only install certain units if phal enabled
- if [ "${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}" = phal ]; then
+ if [ "${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}" = phal ]; then
mkdir -p $D$systemd_system_unitdir/obmc-host-start@0.target.requires
LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/phal-reinit-devtree.service"
TARGET="../phal-reinit-devtree.service"
@@ -115,7 +115,7 @@ pkg_prerm:${PN}() {
rm $LINK
# Remove phal specific units if enabled
- if [ "${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}" = phal ]; then
+ if [ "${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}" = phal ]; then
LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/phal-reinit-devtree.service"
rm $LINK
diff --git a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb
index dc405cec8..1a3fde452 100644
--- a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb
+++ b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb
@@ -11,7 +11,7 @@ inherit meson obmc-phosphor-utils pkgconfig
inherit systemd
SRC_URI += "git://github.com/openbmc/openpower-proc-control"
-SRCREV = "61c8757c6b81d61ae158af002810cdbe7cdae7e2"
+SRCREV = "0ac7c38f64ce2c5a170ab6fe219d26e599713da3"
DEPENDS += " \
phosphor-logging \
@@ -31,16 +31,16 @@ SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE:${PN} = "${TEMPLATE} ${INSTANCES}"
SYSTEMD_SERVICE:${PN} += " \
- xyz.openbmc_project.Control.Host.NMI.service \
- op-stop-instructions@.service \
- op-cfam-reset.service \
- ${@bb.utils.contains('OBMC_MACHINE_FEATURES', 'phal', 'set-spi-mux.service', '', d)} \
- op-continue-mpreboot@.service \
- op-enter-mpreboot@.service \
- ${@bb.utils.contains('OBMC_MACHINE_FEATURES', 'phal', 'phal-reinit-devtree.service', '', d)} \
- ${@bb.utils.contains('OBMC_MACHINE_FEATURES', 'phal', 'proc-pre-poweroff@.service', '', d)} \
- ${@bb.utils.contains('OBMC_MACHINE_FEATURES', 'phal', 'op-reset-host-check@.service', '', d)} \
- ${@bb.utils.contains('OBMC_MACHINE_FEATURES', 'phal', 'op-reset-host-clear.service', '', d)} \
- ${@bb.utils.contains('OBMC_MACHINE_FEATURES', 'phal', 'phal-import-devtree@.service', '', d)} \
- ${@bb.utils.contains('OBMC_MACHINE_FEATURES', 'phal', 'phal-export-devtree@.service', '', d)} \
- "
+ op-cfam-reset.service \
+ op-continue-mpreboot@.service \
+ op-enter-mpreboot@.service \
+ op-stop-instructions@.service \
+ xyz.openbmc_project.Control.Host.NMI.service \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'op-reset-host-check@.service', '', d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'op-reset-host-clear.service', '', d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'phal-export-devtree@.service', '', d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'phal-import-devtree@.service', '', d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'phal-reinit-devtree.service', '', d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'proc-pre-poweroff@.service', '', d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'phal', 'set-spi-mux.service', '', d)} \
+ "
diff --git a/meta-openpower/recipes-phosphor/ipmi/openpower-host-ipmi-flash_git.bb b/meta-openpower/recipes-phosphor/ipmi/openpower-host-ipmi-flash_git.bb
index ab461ad62..6ff19052a 100644
--- a/meta-openpower/recipes-phosphor/ipmi/openpower-host-ipmi-flash_git.bb
+++ b/meta-openpower/recipes-phosphor/ipmi/openpower-host-ipmi-flash_git.bb
@@ -21,7 +21,7 @@ HOSTIPMI_PROVIDER_LIBRARY += "libhiomap.so"
S = "${WORKDIR}/git"
SRC_URI += "git://github.com/openbmc/openpower-host-ipmi-flash"
-SRCREV = "955103869df04cba4357ad0d5f45a868eb100399"
+SRCREV = "90eea43e3e6a019344158766ac092acf2a240c24"
FILES:${PN}:append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES:${PN}:append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
diff --git a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc
index eda8b91fd..0c9184fc6 100644
--- a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc
+++ b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-host-ipmi-oem"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
SRC_URI += "git://github.com/openbmc/openpower-host-ipmi-oem"
-SRCREV = "7bb95c3e238a05d4ff1445f5e0f020e8e410213f"
+SRCREV = "531f8c55023e7f91b9299b0158aca2769e89e066"
diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
index 4602fba57..9bbba105e 100644
--- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
+++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
@@ -15,11 +15,11 @@ PR = "r1"
PV = "0.1+git${SRCPV}"
SRC_URI = "git://github.com/openbmc/openpower-hw-diags"
-SRCREV = "96d5486c3ca5c5037e6f74bd3a1d196d91b80829"
+SRCREV = "04f010abb7946c18d6bb68c714ca6a4417845d8d"
S = "${WORKDIR}/git"
-inherit meson systemd
+inherit pkgconfig meson systemd
SYSTEMD_SERVICE:${PN} = "attn_handler.service"
@@ -30,6 +30,6 @@ DEPENDS = "boost libgpiod pdbg phosphor-logging sdbusplus openpower-libhei \
RDEPENDS:${PN} += "openpower-libhei"
# Conditionally pull in PHAL APIs, if available.
-PACKAGECONFIG ??= "${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}"
-PACKAGECONFIG[phal] = "-Dphal=enabled, -Dphal=disabled, pdata"
+PACKAGECONFIG ??= "${@bb.utils.filter('MACHINE_FEATURES', 'phal', d)}"
+PACKAGECONFIG[phal] = "-Dphal=enabled, -Dphal=disabled, ipl pdata"
diff --git a/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc b/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc
index 1d3d2e1c1..e2239125c 100644
--- a/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc
+++ b/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc
@@ -2,5 +2,5 @@ PR = "r1"
PV = "0.1+git${SRCPV}"
SRC_URI = "git://github.com/openbmc/openpower-libhei"
-SRCREV = "91f1d3d2aaddc0ea1097f3b29dfb37df920f1719"
+SRCREV = "c0d0f36139346a28e79cdfd77905d8fa8fdefc71"
diff --git a/meta-openpower/recipes-phosphor/logging/openpower-libhei_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-libhei_git.bb
index 183e2ed5c..d45d95f3c 100644
--- a/meta-openpower/recipes-phosphor/logging/openpower-libhei_git.bb
+++ b/meta-openpower/recipes-phosphor/logging/openpower-libhei_git.bb
@@ -13,7 +13,7 @@ include openpower-libhei-rev.inc
S = "${WORKDIR}/git"
-inherit meson
+inherit pkgconfig meson
inherit perlnative
DEPENDS = "libxml2-native libxml-simple-perl-native libjson-perl-native"
diff --git a/meta-openpower/recipes-phosphor/logging/python3-sbe-log-parsers_git.bb b/meta-openpower/recipes-phosphor/logging/python3-sbe-log-parsers_git.bb
new file mode 100644
index 000000000..588f750df
--- /dev/null
+++ b/meta-openpower/recipes-phosphor/logging/python3-sbe-log-parsers_git.bb
@@ -0,0 +1,15 @@
+SUMMARY = "SBE log python parsers"
+DESCRIPTION = "Used by peltool to parse SBE UserData sections and SRC details"
+HOMEPAGE = "https://github.ibm.com/open-power/sbe"
+
+PR = "r1"
+PV = "1.0+git${SRCPV}"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE_PROLOG;md5=d8e5f403c98fd80dcea90b9cc8cd083c"
+
+S = "${WORKDIR}/git"
+SRC_URI += "git://git@github.com/open-power/sbe;branch="master-p10";protocol=ssh"
+SRCREV = "f8ee8cfad2cf2a53e78789633ddffc192f5a197e"
+
+inherit setuptools3
diff --git a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc
index 8ce44fce5..93c2ae5bd 100644
--- a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc
+++ b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-occ-control"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/openpower-occ-control"
-SRCREV = "ff7afd98651862b9a78b53ad0ba4c3b085e4fbe4"
+SRCREV = "a7b74dc31001884243556e4433d0bbfda3c09083"
diff --git a/meta-openpower/recipes-phosphor/occ/openpower-occ-control_git.bb b/meta-openpower/recipes-phosphor/occ/openpower-occ-control_git.bb
index 440829175..804084e1d 100644
--- a/meta-openpower/recipes-phosphor/occ/openpower-occ-control_git.bb
+++ b/meta-openpower/recipes-phosphor/occ/openpower-occ-control_git.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/openbmc/openpower-occ-control"
PR = "r1"
PV = "1.0+git${SRCPV}"
-inherit autotools \
+inherit meson \
pkgconfig \
obmc-phosphor-dbus-service \
python3native \
@@ -39,11 +39,11 @@ DEPENDS += " \
RDEPENDS:${PN} += "phosphor-state-manager-obmc-targets"
-EXTRA_OECONF = " \
- YAML_PATH=${STAGING_DATADIR_NATIVE}/${PN} \
- PS_DERATING_FACTOR=${POWER_SUPPLY_DERATING_FACTOR} \
+EXTRA_OEMESON = " \
+ -Dyamldir=${STAGING_DATADIR_NATIVE}/${PN} \
+ -Dps-derating-factor=${POWER_SUPPLY_DERATING_FACTOR} \
"
-EXTRA_OECONF:append = "${@bb.utils.contains('OBMC_MACHINE_FEATURES', 'i2c-occ', ' --enable-i2c-occ', '', d)}"
+EXTRA_OEMESON:append = "${@bb.utils.contains('MACHINE_FEATURES', 'i2c-occ', ' -Di2c-occ=enabled', '', d)}"
OCC_ENABLE = "enable"
OCC_DISABLE = "disable"
@@ -91,8 +91,8 @@ RDEPENDS:${PN}:remove:class-nativesdk += "phosphor-state-manager-obmc-targets"
# Provide a means to enable/disable install_error_yaml feature
PACKAGECONFIG ??= "install_error_yaml"
PACKAGECONFIG[install_error_yaml] = "\
- --enable-install_error_yaml,\
- --disable-install_error_yaml,\
+ -Dinstall-error-yaml=enabled,\
+ -Dinstall-error-yaml=disabled,\
,\
"
diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc
index 39f3054e8..c26dc27f6 100644
--- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc
+++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/openpower-vpd-parser"
-SRCREV = "b1e64bb6fa2605b41583a150c90812f756e2590b"
+SRCREV = "88d2ae82af7fd97086c60fa9e39e0b4ee31a5974"
diff --git a/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/files/0006-aspeed-Enable-SPI-master-mode-by-default.patch b/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/files/0006-aspeed-Enable-SPI-master-mode-by-default.patch
new file mode 100644
index 000000000..bdb9a0c8f
--- /dev/null
+++ b/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/files/0006-aspeed-Enable-SPI-master-mode-by-default.patch
@@ -0,0 +1,34 @@
+From 7947dbbfb21e10e8fb0f852a14485cedf5df1d36 Mon Sep 17 00:00:00 2001
+From: Chanh Nguyen <chanh@os.amperecomputing.com>
+Date: Sun, 10 Oct 2021 11:57:20 +0700
+Subject: [PATCH] aspeed: Enable SPI master mode by default
+
+The ast2500 share the RGMII1 pin and the hw strap pins
+for SPI interface mode selection ( pin[12:13] ).
+In some systems, the RGMII/NCSI interface will use the pin.
+It makes the SPI interface mode setting is not correct.
+
+This patch will enable the SPI master mode by default.
+
+Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
+---
+ board/aspeed/ast-g5/ast-g5.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/board/aspeed/ast-g5/ast-g5.c b/board/aspeed/ast-g5/ast-g5.c
+index e67a4bf8b2..82e9f81acc 100644
+--- a/board/aspeed/ast-g5/ast-g5.c
++++ b/board/aspeed/ast-g5/ast-g5.c
+@@ -21,6 +21,9 @@ int board_init(void)
+ gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
+ gd->flags = 0;
+
++ //pin switch by trap[13:12] -- [0:1] Enable SPI Master
++ ast_scu_spi_master(1); /* enable SPI master */
++
+ return 0;
+ }
+
+--
+2.17.1
+
diff --git a/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed.inc b/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed.inc
index 69b50d6d2..5a0b7e66f 100644
--- a/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed.inc
+++ b/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed.inc
@@ -15,7 +15,9 @@ SRC_URI:append:aspeed:df-isolate-bmc = " \
SRC_URI:append:aspeed:df-aspeednic-use-mac2 = " \
file://0002-board-aspeed-aspeednic-Use-MAC2-for-networking.patch \
"
-
+SRC_URI:append:aspeed:df-aspeed-spi-master = " \
+ file://0006-aspeed-Enable-SPI-master-mode-by-default.patch \
+ "
do_patch[depends] += "os-release:do_populate_sysroot"
python do_patch:append:aspeed:df-obmc-ubi-fs () {
diff --git a/meta-phosphor/classes/dbus-dir.bbclass b/meta-phosphor/classes/dbus-dir.bbclass
index f66346399..a8ed3e7ec 100644
--- a/meta-phosphor/classes/dbus-dir.bbclass
+++ b/meta-phosphor/classes/dbus-dir.bbclass
@@ -1,2 +1,2 @@
-dbus_system_confdir="${sysconfdir}/dbus-1/system.d/"
+dbus_system_confdir="${datadir}/dbus-1/system.d/"
dbus_system_servicesdir="${datadir}/dbus-1/system-services/"
diff --git a/meta-phosphor/classes/image_types_phosphor.bbclass b/meta-phosphor/classes/image_types_phosphor.bbclass
index be3bbdf50..64fec000b 100644
--- a/meta-phosphor/classes/image_types_phosphor.bbclass
+++ b/meta-phosphor/classes/image_types_phosphor.bbclass
@@ -502,11 +502,13 @@ def get_pubkey_path(d):
python do_generate_phosphor_manifest() {
purpose = d.getVar('VERSION_PURPOSE', True)
version = do_get_version(d)
+ build_id = do_get_buildID(d)
target_machine = d.getVar('MACHINE', True)
extended_version = (d.getVar('EXTENDED_VERSION', True) or "")
with open('MANIFEST', 'w') as fd:
fd.write('purpose={}\n'.format(purpose))
fd.write('version={}\n'.format(version.strip('"')))
+ fd.write('BuildId={}\n'.format(build_id.strip('"')))
fd.write('ExtendedVersion={}\n'.format(extended_version))
fd.write('KeyType={}\n'.format(get_pubkey_type(d)))
fd.write('HashType=RSA-SHA256\n')
diff --git a/meta-phosphor/classes/image_version.bbclass b/meta-phosphor/classes/image_version.bbclass
index 56ebe665c..17f324e2e 100644
--- a/meta-phosphor/classes/image_version.bbclass
+++ b/meta-phosphor/classes/image_version.bbclass
@@ -7,7 +7,7 @@ def do_get_version(d):
import io
path = d.getVar('STAGING_DIR_TARGET', True) + d.getVar('sysconfdir', True)
path = os.path.join(path, 'os-release')
- parser = configparser.SafeConfigParser(strict=False)
+ parser = configparser.ConfigParser(strict=False)
parser.optionxform = str
version = ''
try:
@@ -26,3 +26,21 @@ def do_get_versionID(d):
version = version.strip('"')
version_id = (hashlib.sha512(version.encode('utf-8')).hexdigest())[:8]
return version_id
+
+def do_get_buildID(d):
+ import configparser
+ import io
+ path = d.getVar('STAGING_DIR_TARGET', True) + d.getVar('sysconfdir', True)
+ path = os.path.join(path, 'os-release')
+ parser = configparser.ConfigParser(strict=False)
+ parser.optionxform = str
+ build_id = ''
+ try:
+ with open(path, 'r') as fd:
+ buf = '[root]\n' + fd.read()
+ fd = io.StringIO(buf)
+ parser.readfp(fd)
+ build_id = parser['root']['BUILD_ID']
+ except:
+ pass
+ return build_id
diff --git a/meta-phosphor/classes/obmc-phosphor-image.bbclass b/meta-phosphor/classes/obmc-phosphor-image.bbclass
index 80c16d22e..4143f34eb 100644
--- a/meta-phosphor/classes/obmc-phosphor-image.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-image.bbclass
@@ -72,6 +72,11 @@ FEATURE_PACKAGES_obmc-user-mgmt-ldap ?= "packagegroup-obmc-apps-user-mgmt-ldap"
# tree under phosphor-ipmi-host
FEATURE_PACKAGES_obmc-net-ipmi:qemuall = ""
+# EVB systems do not have a managed system.
+FEATURE_PACKAGES_obmc-system-mgmt:phosphor-evb = ""
+# QEMU systems are like EVBs and do not have a managed system.
+FEATURE_PACKAGES_obmc-system-mgmt:qemuall = ""
+
# Add new packages to be installed to a package group in
# packagegroup-obmc-apps, not here.
OBMC_IMAGE_BASE_INSTALL = " \
diff --git a/meta-phosphor/classes/obmc-phosphor-systemd.bbclass b/meta-phosphor/classes/obmc-phosphor-systemd.bbclass
index c67fc021f..b1398e007 100644
--- a/meta-phosphor/classes/obmc-phosphor-systemd.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-systemd.bbclass
@@ -99,7 +99,7 @@ def SystemdUnit(unit):
def systemd_parse_unit(d, path):
import configparser
- parser = configparser.SafeConfigParser(strict=False)
+ parser = configparser.ConfigParser(strict=False)
parser.optionxform = str
parser.read('%s' % path)
return parser
diff --git a/meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass b/meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass
index a85d2ac2d..277a55c08 100644
--- a/meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass
+++ b/meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass
@@ -1,13 +1,16 @@
####
# Copyright 2020 Hewlett Packard Enterprise Development LP.
-#
+# Copyright 2021 Intel Corporation
#
# Add a basic class to add a privileged user from an ssh
# standpoint and a public key passed as an input parameter
# from the local.conf file
# Example:
# INHERIT += "phosphor-deploy-ssh-keys"
-# SSH_KEYS = "vejmarie:/home/openbmc/openbmc/meta-hpe/keys/test.pub;"
+#
+# SSH_KEYS = "vejmarie:/home/openbmc/openbmc/meta-hpe/keys/test.pub"
+# or
+# SSH_KEYS = "vejmarie:/home/openbmc/openbmc/meta-hpe/keys/test.pub;root:/path/to/id_rsa.pub"
####
inherit useradd_base
@@ -15,48 +18,46 @@ inherit useradd_base
IMAGE_PREPROCESS_COMMAND += "deploy_local_user;"
deploy_local_user () {
- if [ "${SSH_KEYS}" != "" ]; then
- group_settings="${SSH_KEYS}"
- current_setting=`echo $group_settings | cut -d ';' -f1`
- remaining=`echo $group_settings | cut -d ';' -f2-`
- while test "x$current_setting" != "x"; do
+ if [ "${SSH_KEYS}" == "" ]; then
+ bbwarn "Trying to deploy SSH keys but input variable is empty (SSH_KEYS)"
+ return
+ fi
- username=`echo ${SSH_KEYS} | awk -F":" '{ print $1}'`
- key_path=`echo ${SSH_KEYS} | awk -F":" '{ print $2}'`
+ ssh_keys="${SSH_KEYS}"
+ while [ "${ssh_keys}" != "" ]; do
+ current_key=`echo "$ssh_keys" | cut -d ';' -f1`
+ ssh_keys=`echo "$ssh_keys" | cut -s -d ';' -f2-`
- if [ ! -d ${IMAGE_ROOTFS}/home/${username} ]; then
- perform_useradd "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} -p '' ${username}"
- fi
+ username=`echo "$current_key" | awk -F":" '{ print $1}'`
+ key_path=`echo "$current_key" | awk -F":" '{ print $2}'`
- if [ ! -d ${IMAGE_ROOTFS}/home/${username}.ssh/ ]; then
- install -d ${IMAGE_ROOTFS}/home/${username}/.ssh/
- fi
+ if [ ! -d ${IMAGE_ROOTFS}/home/${username} ]; then
+ perform_useradd "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} -p '' ${username}"
+ fi
- if [ ! -f ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys ]; then
- install -m 0600 ${key_path} ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys
- else
- cat ${key_path} >> ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys
- fi
+ if [ ! -d ${IMAGE_ROOTFS}/home/${username}.ssh/ ]; then
+ install -d ${IMAGE_ROOTFS}/home/${username}/.ssh/
+ fi
- uid=`cat ${IMAGE_ROOTFS}/etc/passwd | grep "${username}:" | awk -F ":" '{print $3}'`
- guid=`cat ${IMAGE_ROOTFS}/etc/passwd | grep "${username}:" | awk -F ":" '{print $4}'`
+ if [ ! -f ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys ]; then
+ install -m 0600 ${key_path} ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys
+ else
+ cat ${key_path} >> ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys
+ fi
- chown -R ${uid}:${guid} ${IMAGE_ROOTFS}/home/${username}/.ssh
- chmod 600 ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys
- chmod 700 ${IMAGE_ROOTFS}/home/${username}/.ssh
+ uid=`cat ${IMAGE_ROOTFS}/etc/passwd | grep "${username}:" | awk -F ":" '{print $3}'`
+ guid=`cat ${IMAGE_ROOTFS}/etc/passwd | grep "${username}:" | awk -F ":" '{print $4}'`
- is_group=`grep "priv-admin" ${IMAGE_ROOTFS}/etc/group || true`
+ chown -R ${uid}:${guid} ${IMAGE_ROOTFS}/home/${username}/.ssh
+ chmod 600 ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys
+ chmod 700 ${IMAGE_ROOTFS}/home/${username}/.ssh
- if [ -z "${is_group}" ]; then
- perform_groupadd "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} priv-admin"
- fi
+ is_group=`grep "priv-admin" ${IMAGE_ROOTFS}/etc/group || true`
- perform_usermod "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} -a -G priv-admin ${username}"
+ if [ -z "${is_group}" ]; then
+ perform_groupadd "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} priv-admin"
+ fi
- current_setting=`echo $remaining | cut -d ";" -f1`
- remaining=`echo $remaining | cut -d ';' -f2-`
- done
- else
- bbwarn "Trying to deploy SSH keys but input variable is empty (SSH_KEYS)"
- fi
+ perform_usermod "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} -a -G priv-admin ${username}"
+ done
}
diff --git a/meta-phosphor/classes/skeleton-rev.bbclass b/meta-phosphor/classes/skeleton-rev.bbclass
index 75648b004..5e43c34f7 100644
--- a/meta-phosphor/classes/skeleton-rev.bbclass
+++ b/meta-phosphor/classes/skeleton-rev.bbclass
@@ -1,4 +1,4 @@
-SRCREV ?= "81100ae9ee2bb9929989f0fc813e1ac91f8e7ab0"
+SRCREV ?= "77b241c472efc5af618a839493aa8357544ea213"
SKELETON_URI ?= "git://github.com/openbmc/skeleton"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
diff --git a/meta-phosphor/conf/distro/include/phosphor-aspeed-spi-master-mode.inc b/meta-phosphor/conf/distro/include/phosphor-aspeed-spi-master-mode.inc
new file mode 100644
index 000000000..9c1b48945
--- /dev/null
+++ b/meta-phosphor/conf/distro/include/phosphor-aspeed-spi-master-mode.inc
@@ -0,0 +1,2 @@
+DISTRO_FEATURES += "obmc-aspeed-spi-master"
+DISTROOVERRIDES .= ":df-aspeed-spi-master"
diff --git a/meta-phosphor/conf/distro/include/phosphor-base.inc b/meta-phosphor/conf/distro/include/phosphor-base.inc
index 731f9f11f..64f293cf0 100644
--- a/meta-phosphor/conf/distro/include/phosphor-base.inc
+++ b/meta-phosphor/conf/distro/include/phosphor-base.inc
@@ -110,10 +110,6 @@ DISTRO_FEATURES += " \
${DISTRO_FEATURES_OBMC} \
"
-MACHINE_FEATURES += " \
- ${OBMC_MACHINE_FEATURES} \
- "
-
DISTRO_EXTRA_RDEPENDS:remove:qemuarm = "packagegroup-core-device-devel"
include conf/distro/include/openbmc-phosphor/${MACHINE}.inc
diff --git a/meta-phosphor/conf/distro/include/phosphor-defaults.inc b/meta-phosphor/conf/distro/include/phosphor-defaults.inc
index 8673a15c1..948a09051 100644
--- a/meta-phosphor/conf/distro/include/phosphor-defaults.inc
+++ b/meta-phosphor/conf/distro/include/phosphor-defaults.inc
@@ -97,8 +97,6 @@ VIRTUAL-RUNTIME_obmc-dump-manager ?= "phosphor-debug-collector-manager"
# Provide support for monitoring BMC core dumps
VIRTUAL-RUNTIME_obmc-dump-monitor ?= "phosphor-debug-collector-monitor"
-PREFERRED_PROVIDER_virtual/obmc-system-mgmt ??= "obmc-phosphor-sysd"
-
# phosphor-hwmon-config
#
# The phosphor-hwmon package can have its configuration generated
diff --git a/meta-phosphor/conf/machine/include/obmc-evb-common.inc b/meta-phosphor/conf/machine/include/obmc-evb-common.inc
new file mode 100644
index 000000000..0d41a1b97
--- /dev/null
+++ b/meta-phosphor/conf/machine/include/obmc-evb-common.inc
@@ -0,0 +1,4 @@
+# EVB systems have different packages they can support, due to not having a
+# managed host. Enable this machine override to allow other recipes to know
+# that the machine is a special type.
+MACHINEOVERRIDES =. "phosphor-evb:"
diff --git a/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb b/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb
index 7381b3171..3461a9b8b 100644
--- a/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb
+++ b/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb
@@ -15,7 +15,7 @@ RDEPENDS:${PN} += "nbd-client"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/jsnbd"
-SRCREV = "164fef38b703032045803f05301b256ed045a094"
+SRCREV = "7b7c29369cfeb267efa7f45b271aca6910687461"
NBD_PROXY_CONFIG_JSON ??= "${S}/config.sample.json"
diff --git a/meta-phosphor/recipes-core/os-release/os-release.bbappend b/meta-phosphor/recipes-core/os-release/os-release.bbappend
index 7e90ab3fb..c1dda480f 100644
--- a/meta-phosphor/recipes-core/os-release/os-release.bbappend
+++ b/meta-phosphor/recipes-core/os-release/os-release.bbappend
@@ -28,7 +28,6 @@ DISTRO_VERSION ??= "${PHOSPHOR_OS_RELEASE_DISTRO_VERSION}"
VERSION = "${@'-'.join(d.getVar('VERSION_ID').split('-')[0:2])}"
-BUILD_ID := "${@run_git(d, 'describe --abbrev=0')}"
OPENBMC_TARGET_MACHINE = "${MACHINE}"
OS_RELEASE_FIELDS:append = " BUILD_ID OPENBMC_TARGET_MACHINE EXTENDED_VERSION"
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0001-conf-parse-make-config_parse_many-optionally-save-st.patch b/meta-phosphor/recipes-core/systemd/systemd/0001-conf-parse-make-config_parse_many-optionally-save-st.patch
new file mode 100644
index 000000000..fedb42d9b
--- /dev/null
+++ b/meta-phosphor/recipes-core/systemd/systemd/0001-conf-parse-make-config_parse_many-optionally-save-st.patch
@@ -0,0 +1,379 @@
+From 819333d81964fd110565d35a33993b831ba60725 Mon Sep 17 00:00:00 2001
+From: Yu Watanabe <watanabe.yu+github@gmail.com>
+Date: Mon, 25 Oct 2021 11:13:27 +0900
+Subject: [PATCH] conf-parse: make config_parse_many() optionally save 'struct
+ stat' for each file
+
+Fixes #21113.
+---
+ src/core/load-dropin.c | 18 +++---
+ src/network/networkd-network.c | 38 +++++++++---
+ src/network/networkd-network.h | 2 +-
+ src/shared/conf-parser.c | 103 +++++++++++++++++++++++++--------
+ src/shared/conf-parser.h | 8 ++-
+ 5 files changed, 127 insertions(+), 42 deletions(-)
+
+diff --git a/src/core/load-dropin.c b/src/core/load-dropin.c
+index 3bb48564cc..080a63bc7e 100644
+--- a/src/core/load-dropin.c
++++ b/src/core/load-dropin.c
+@@ -113,14 +113,16 @@ int unit_load_dropin(Unit *u) {
+ }
+
+ u->dropin_mtime = 0;
+- STRV_FOREACH(f, u->dropin_paths)
+- (void) config_parse(
+- u->id, *f, NULL,
+- UNIT_VTABLE(u)->sections,
+- config_item_perf_lookup, load_fragment_gperf_lookup,
+- 0,
+- u,
+- &u->dropin_mtime);
++ STRV_FOREACH(f, u->dropin_paths) {
++ struct stat st;
++
++ r = config_parse(u->id, *f, NULL,
++ UNIT_VTABLE(u)->sections,
++ config_item_perf_lookup, load_fragment_gperf_lookup,
++ 0, u, &st);
++ if (r > 0)
++ u->dropin_mtime = MAX(u->dropin_mtime, timespec_load(&st.st_mtim));
++ }
+
+ return 0;
+ }
+diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
+index 850b4f449e..32d76e29e4 100644
+--- a/src/network/networkd-network.c
++++ b/src/network/networkd-network.c
+@@ -480,7 +480,7 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
+ config_item_perf_lookup, network_network_gperf_lookup,
+ CONFIG_PARSE_WARN,
+ network,
+- &network->timestamp);
++ &network->stats_by_path);
+ if (r < 0)
+ return r;
+
+@@ -527,6 +527,28 @@ int network_load(Manager *manager, OrderedHashmap **networks) {
+ return 0;
+ }
+
++static bool stats_by_path_equal(Hashmap *a, Hashmap *b) {
++ struct stat *st_a, *st_b;
++ const char *path;
++
++ assert(a);
++ assert(b);
++
++ if (hashmap_size(a) != hashmap_size(b))
++ return false;
++
++ HASHMAP_FOREACH_KEY(st_a, path, a) {
++ st_b = hashmap_get(b, path);
++ if (!st_b)
++ return false;
++
++ if (!stat_inode_unmodified(st_a, st_b))
++ return false;
++ }
++
++ return true;
++}
++
+ int network_reload(Manager *manager) {
+ OrderedHashmap *new_networks = NULL;
+ Network *n, *old;
+@@ -540,14 +562,15 @@ int network_reload(Manager *manager) {
+
+ ORDERED_HASHMAP_FOREACH(n, new_networks) {
+ r = network_get_by_name(manager, n->name, &old);
+- if (r < 0)
+- continue; /* The .network file is new. */
+-
+- if (n->timestamp != old->timestamp)
+- continue; /* The .network file is modified. */
++ if (r < 0) {
++ log_debug("Found new .network file: %s", n->filename);
++ continue;
++ }
+
+- if (!streq(n->filename, old->filename))
++ if (!stats_by_path_equal(n->stats_by_path, old->stats_by_path)) {
++ log_debug("Found updated .network file: %s", n->filename);
+ continue;
++ }
+
+ r = ordered_hashmap_replace(new_networks, old->name, old);
+ if (r < 0)
+@@ -573,6 +596,7 @@ static Network *network_free(Network *network) {
+ return NULL;
+
+ free(network->filename);
++ hashmap_free(network->stats_by_path);
+
+ net_match_clear(&network->match);
+ condition_free_list(network->conditions);
+diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h
+index b39063fe8a..c8d24a415f 100644
+--- a/src/network/networkd-network.h
++++ b/src/network/networkd-network.h
+@@ -72,7 +72,7 @@ struct Network {
+
+ char *name;
+ char *filename;
+- usec_t timestamp;
++ Hashmap *stats_by_path;
+ char *description;
+
+ /* [Match] section */
+diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
+index d0ac1b2660..9a367d757f 100644
+--- a/src/shared/conf-parser.c
++++ b/src/shared/conf-parser.c
+@@ -264,21 +264,18 @@ int config_parse(
+ const void *table,
+ ConfigParseFlags flags,
+ void *userdata,
+- usec_t *latest_mtime) {
++ struct stat *ret_stat) {
+
+ _cleanup_free_ char *section = NULL, *continuation = NULL;
+ _cleanup_fclose_ FILE *ours = NULL;
+ unsigned line = 0, section_line = 0;
+ bool section_ignored = false, bom_seen = false;
++ struct stat st;
+ int r, fd;
+- usec_t mtime;
+
+ assert(filename);
+ assert(lookup);
+
+- /* latest_mtime is an input-output parameter: it will be updated if the mtime of the file we're
+- * looking at is later than the current *latest_mtime value. */
+-
+ if (!f) {
+ f = ours = fopen(filename, "re");
+ if (!f) {
+@@ -287,22 +284,28 @@ int config_parse(
+ if ((flags & CONFIG_PARSE_WARN) || errno == ENOENT)
+ log_full_errno(errno == ENOENT ? LOG_DEBUG : LOG_ERR, errno,
+ "Failed to open configuration file '%s': %m", filename);
+- return errno == ENOENT ? 0 : -errno;
++
++ if (errno == ENOENT) {
++ if (ret_stat)
++ *ret_stat = (struct stat) {};
++
++ return 0;
++ }
++
++ return -errno;
+ }
+ }
+
+ fd = fileno(f);
+ if (fd >= 0) { /* stream might not have an fd, let's be careful hence */
+- struct stat st;
+
+ if (fstat(fd, &st) < 0)
+ return log_full_errno(FLAGS_SET(flags, CONFIG_PARSE_WARN) ? LOG_ERR : LOG_DEBUG, errno,
+ "Failed to fstat(%s): %m", filename);
+
+ (void) stat_warn_permissions(filename, &st);
+- mtime = timespec_load(&st.st_mtim);
+ } else
+- mtime = 0;
++ st = (struct stat) {};
+
+ for (;;) {
+ _cleanup_free_ char *buf = NULL;
+@@ -422,12 +425,43 @@ int config_parse(
+ }
+ }
+
+- if (latest_mtime)
+- *latest_mtime = MAX(*latest_mtime, mtime);
++ if (ret_stat)
++ *ret_stat = st;
+
+ return 1;
+ }
+
++static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const struct stat *st) {
++ _cleanup_free_ struct stat *st_copy = NULL;
++ _cleanup_free_ char *path_copy = NULL;
++ int r;
++
++ assert(stats_by_path);
++ assert(path);
++ assert(st);
++
++ r = hashmap_ensure_allocated(stats_by_path, &path_hash_ops_free_free);
++ if (r < 0)
++ return r;
++
++ st_copy = newdup(struct stat, st, 1);
++ if (!st_copy)
++ return -ENOMEM;
++
++ path_copy = strdup(path);
++ if (!path)
++ return -ENOMEM;
++
++ r = hashmap_put(*stats_by_path, path_copy, st_copy);
++ if (r < 0)
++ return r;
++
++ assert(r > 0);
++ TAKE_PTR(path_copy);
++ TAKE_PTR(st_copy);
++ return 0;
++}
++
+ static int config_parse_many_files(
+ const char* const* conf_files,
+ char **files,
+@@ -436,30 +470,53 @@ static int config_parse_many_files(
+ const void *table,
+ ConfigParseFlags flags,
+ void *userdata,
+- usec_t *ret_mtime) {
++ Hashmap **ret_stats_by_path) {
+
+- usec_t mtime = 0;
++ _cleanup_hashmap_free_ Hashmap *stats_by_path = NULL;
++ struct stat st;
+ char **fn;
+ int r;
+
++ if (ret_stats_by_path) {
++ stats_by_path = hashmap_new(&path_hash_ops_free_free);
++ if (!stats_by_path)
++ return -ENOMEM;
++ }
++
+ /* First read the first found main config file. */
+ STRV_FOREACH(fn, (char**) conf_files) {
+- r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime);
++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st);
+ if (r < 0)
+ return r;
+- if (r > 0)
+- break;
++ if (r == 0)
++ continue;
++
++ if (ret_stats_by_path) {
++ r = hashmap_put_stats_by_path(&stats_by_path, *fn, &st);
++ if (r < 0)
++ return r;
++ }
++
++ break;
+ }
+
+ /* Then read all the drop-ins. */
+ STRV_FOREACH(fn, files) {
+- r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime);
++ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st);
+ if (r < 0)
+ return r;
++ if (r == 0)
++ continue;
++
++ if (ret_stats_by_path) {
++ r = hashmap_put_stats_by_path(&stats_by_path, *fn, &st);
++ if (r < 0)
++ return r;
++ }
+ }
+
+- if (ret_mtime)
+- *ret_mtime = mtime;
++ if (ret_stats_by_path)
++ *ret_stats_by_path = TAKE_PTR(stats_by_path);
+
+ return 0;
+ }
+@@ -473,7 +530,7 @@ int config_parse_many_nulstr(
+ const void *table,
+ ConfigParseFlags flags,
+ void *userdata,
+- usec_t *ret_mtime) {
++ Hashmap **ret_stats_by_path) {
+
+ _cleanup_strv_free_ char **files = NULL;
+ int r;
+@@ -484,7 +541,7 @@ int config_parse_many_nulstr(
+
+ return config_parse_many_files(STRV_MAKE_CONST(conf_file),
+ files, sections, lookup, table, flags, userdata,
+- ret_mtime);
++ ret_stats_by_path);
+ }
+
+ /* Parse each config file in the directories specified as strv. */
+@@ -497,7 +554,7 @@ int config_parse_many(
+ const void *table,
+ ConfigParseFlags flags,
+ void *userdata,
+- usec_t *ret_mtime) {
++ Hashmap **ret_stats_by_path) {
+
+ _cleanup_strv_free_ char **dropin_dirs = NULL;
+ _cleanup_strv_free_ char **files = NULL;
+@@ -513,7 +570,7 @@ int config_parse_many(
+ if (r < 0)
+ return r;
+
+- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_mtime);
++ return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path);
+ }
+
+ #define DEFINE_PARSER(type, vartype, conv_func) \
+diff --git a/src/shared/conf-parser.h b/src/shared/conf-parser.h
+index c3a138274d..f893a53aa0 100644
+--- a/src/shared/conf-parser.h
++++ b/src/shared/conf-parser.h
+@@ -6,8 +6,10 @@
+ #include <stddef.h>
+ #include <stdio.h>
+ #include <syslog.h>
++#include <sys/stat.h>
+
+ #include "alloc-util.h"
++#include "hashmap.h"
+ #include "log.h"
+ #include "macro.h"
+ #include "time-util.h"
+@@ -89,7 +91,7 @@ int config_parse(
+ const void *table,
+ ConfigParseFlags flags,
+ void *userdata,
+- usec_t *latest_mtime); /* input/output, possibly NULL */
++ struct stat *ret_stat); /* possibly NULL */
+
+ int config_parse_many_nulstr(
+ const char *conf_file, /* possibly NULL */
+@@ -99,7 +101,7 @@ int config_parse_many_nulstr(
+ const void *table,
+ ConfigParseFlags flags,
+ void *userdata,
+- usec_t *ret_mtime); /* possibly NULL */
++ Hashmap **ret_stats_by_path); /* possibly NULL */
+
+ int config_parse_many(
+ const char* const* conf_files, /* possibly empty */
+@@ -110,7 +112,7 @@ int config_parse_many(
+ const void *table,
+ ConfigParseFlags flags,
+ void *userdata,
+- usec_t *ret_mtime); /* possibly NULL */
++ Hashmap **ret_stats_by_path); /* possibly NULL */
+
+ CONFIG_PARSER_PROTOTYPE(config_parse_int);
+ CONFIG_PARSER_PROTOTYPE(config_parse_unsigned);
+--
+2.33.0.1079.g6e70778dc9-goog
+
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0001-journal-network-timesync-fix-segfault-on-32bit-timev.patch b/meta-phosphor/recipes-core/systemd/systemd/0001-journal-network-timesync-fix-segfault-on-32bit-timev.patch
deleted file mode 100644
index c3af62e15..000000000
--- a/meta-phosphor/recipes-core/systemd/systemd/0001-journal-network-timesync-fix-segfault-on-32bit-timev.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 83676e4278cecb44316e6ae88e1365e6fcfdd4ff Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Wed, 15 Sep 2021 23:29:11 +0900
-Subject: [PATCH] journal,network,timesync: fix segfault on 32bit
- timeval/timespec systems
-
-Fixes #20741.
----
- src/journal/journald-server.c | 7 +++++--
- src/libsystemd-network/icmp6-util.c | 3 ++-
- src/timesync/timesyncd-manager.c | 3 ++-
- 3 files changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
-index abd52f7c14..2d1d9e66d7 100644
---- a/src/journal/journald-server.c
-+++ b/src/journal/journald-server.c
-@@ -1275,11 +1275,14 @@ int server_process_datagram(
- /* We use NAME_MAX space for the SELinux label here. The kernel currently enforces no limit, but
- * according to suggestions from the SELinux people this will change and it will probably be
- * identical to NAME_MAX. For now we use that, but this should be updated one day when the final
-- * limit is known. */
-+ * limit is known.
-+ *
-+ * Here, we need to explicitly initialize the buffer with zero, as glibc has a bug in
-+ * __convert_scm_timestamps(), which assumes the buffer is initialized. See #20741. */
- CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(struct ucred)) +
- CMSG_SPACE_TIMEVAL +
- CMSG_SPACE(sizeof(int)) + /* fd */
-- CMSG_SPACE(NAME_MAX) /* selinux label */) control;
-+ CMSG_SPACE(NAME_MAX) /* selinux label */) control = {};
-
- union sockaddr_union sa = {};
-
-diff --git a/src/libsystemd-network/icmp6-util.c b/src/libsystemd-network/icmp6-util.c
-index 823be0f275..3832bbd920 100644
---- a/src/libsystemd-network/icmp6-util.c
-+++ b/src/libsystemd-network/icmp6-util.c
-@@ -148,8 +148,9 @@ int icmp6_send_router_solicitation(int s, const struct ether_addr *ether_addr) {
- int icmp6_receive(int fd, void *buffer, size_t size, struct in6_addr *ret_dst,
- triple_timestamp *ret_timestamp) {
-
-+ /* This needs to be initialized with zero. See #20741. */
- CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(int)) + /* ttl */
-- CMSG_SPACE_TIMEVAL) control;
-+ CMSG_SPACE_TIMEVAL) control = {};
- struct iovec iov = {};
- union sockaddr_union sa = {};
- struct msghdr msg = {
-diff --git a/src/timesync/timesyncd-manager.c b/src/timesync/timesyncd-manager.c
-index 648e804105..e37db1c570 100644
---- a/src/timesync/timesyncd-manager.c
-+++ b/src/timesync/timesyncd-manager.c
-@@ -412,7 +412,8 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
- .iov_base = &ntpmsg,
- .iov_len = sizeof(ntpmsg),
- };
-- CMSG_BUFFER_TYPE(CMSG_SPACE_TIMESPEC) control;
-+ /* This needs to be initialized with zero. See #20741. */
-+ CMSG_BUFFER_TYPE(CMSG_SPACE_TIMESPEC) control = {};
- union sockaddr_union server_addr;
- struct msghdr msghdr = {
- .msg_iov = &iov,
---
-2.33.0.309.g3052b89438-goog
-
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0001-socket-util-introduce-CMSG_SPACE_TIMEVAL-TIMESPEC-ma.patch b/meta-phosphor/recipes-core/systemd/systemd/0001-socket-util-introduce-CMSG_SPACE_TIMEVAL-TIMESPEC-ma.patch
deleted file mode 100644
index 3e376ed3a..000000000
--- a/meta-phosphor/recipes-core/systemd/systemd/0001-socket-util-introduce-CMSG_SPACE_TIMEVAL-TIMESPEC-ma.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h
-index f92e425fd6..09e606614c 100644
---- a/src/basic/socket-util.h
-+++ b/src/basic/socket-util.h
-@@ -277,6 +277,28 @@ static inline int getsockopt_int(int fd, int level, int optname, int *ret) {
- int socket_bind_to_ifname(int fd, const char *ifname);
- int socket_bind_to_ifindex(int fd, int ifindex);
-
-+/* Define a 64bit version of timeval/timespec in any case, even on 32bit userspace. */
-+struct timeval_large {
-+ uint64_t tvl_sec, tvl_usec;
-+};
-+struct timespec_large {
-+ uint64_t tvl_sec, tvl_nsec;
-+};
-+
-+/* glibc duplicates timespec/timeval on certain 32bit archs, once in 32bit and once in 64bit.
-+ * See __convert_scm_timestamps() in glibc source code. Hence, we need additional buffer space for them
-+ * to prevent from recvmsg_safe() returning -EXFULL. */
-+#define CMSG_SPACE_TIMEVAL \
-+ ((sizeof(struct timeval) == sizeof(struct timeval_large)) ? \
-+ CMSG_SPACE(sizeof(struct timeval)) : \
-+ CMSG_SPACE(sizeof(struct timeval)) + \
-+ CMSG_SPACE(sizeof(struct timeval_large)))
-+#define CMSG_SPACE_TIMESPEC \
-+ ((sizeof(struct timespec) == sizeof(struct timespec_large)) ? \
-+ CMSG_SPACE(sizeof(struct timespec)) : \
-+ CMSG_SPACE(sizeof(struct timespec)) + \
-+ CMSG_SPACE(sizeof(struct timespec_large)))
-+
- ssize_t recvmsg_safe(int sockfd, struct msghdr *msg, int flags);
-
- int socket_get_family(int fd, int *ret);
-diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
-index a0695ec519..abd52f7c14 100644
---- a/src/journal/journald-server.c
-+++ b/src/journal/journald-server.c
-@@ -1277,7 +1277,7 @@ int server_process_datagram(
- * identical to NAME_MAX. For now we use that, but this should be updated one day when the final
- * limit is known. */
- CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(struct ucred)) +
-- CMSG_SPACE(sizeof(struct timeval)) +
-+ CMSG_SPACE_TIMEVAL +
- CMSG_SPACE(sizeof(int)) + /* fd */
- CMSG_SPACE(NAME_MAX) /* selinux label */) control;
-
-diff --git a/src/libsystemd-network/icmp6-util.c b/src/libsystemd-network/icmp6-util.c
-index 67c6b55d84..823be0f275 100644
---- a/src/libsystemd-network/icmp6-util.c
-+++ b/src/libsystemd-network/icmp6-util.c
-@@ -149,7 +149,7 @@ int icmp6_receive(int fd, void *buffer, size_t size, struct in6_addr *ret_dst,
- triple_timestamp *ret_timestamp) {
-
- CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(int)) + /* ttl */
-- CMSG_SPACE(sizeof(struct timeval))) control;
-+ CMSG_SPACE_TIMEVAL) control;
- struct iovec iov = {};
- union sockaddr_union sa = {};
- struct msghdr msg = {
-@@ -186,7 +186,6 @@ int icmp6_receive(int fd, void *buffer, size_t size, struct in6_addr *ret_dst,
-
- /* namelen == 0 only happens when running the test-suite over a socketpair */
-
-- assert(!(msg.msg_flags & MSG_CTRUNC));
- assert(!(msg.msg_flags & MSG_TRUNC));
-
- CMSG_FOREACH(cmsg, &msg) {
-diff --git a/src/timesync/timesyncd-manager.c b/src/timesync/timesyncd-manager.c
-index 9d874cfc8a..648e804105 100644
---- a/src/timesync/timesyncd-manager.c
-+++ b/src/timesync/timesyncd-manager.c
-@@ -412,7 +412,7 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
- .iov_base = &ntpmsg,
- .iov_len = sizeof(ntpmsg),
- };
-- CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(struct timespec))) control;
-+ CMSG_BUFFER_TYPE(CMSG_SPACE_TIMESPEC) control;
- union sockaddr_union server_addr;
- struct msghdr msghdr = {
- .msg_iov = &iov,
-@@ -467,6 +467,8 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
-
- switch (cmsg->cmsg_type) {
- case SCM_TIMESTAMPNS:
-+ assert(cmsg->cmsg_len == CMSG_LEN(sizeof(struct timespec)));
-+
- recv_time = (struct timespec *) CMSG_DATA(cmsg);
- break;
- }
diff --git a/meta-phosphor/recipes-core/systemd/systemd_249.3.bbappend b/meta-phosphor/recipes-core/systemd/systemd_249.3.bbappend
index 1a58ca139..41bdcf908 100644
--- a/meta-phosphor/recipes-core/systemd/systemd_249.3.bbappend
+++ b/meta-phosphor/recipes-core/systemd/systemd_249.3.bbappend
@@ -1,10 +1,5 @@
-# Backport a fix that is only in main, otherwise all received RAs will fail
-# to be parsed.
-SRC_URI += "file://0001-socket-util-introduce-CMSG_SPACE_TIMEVAL-TIMESPEC-ma.patch"
+# Pin to v249.5 to fix systemd-networkd issues.
+SRCREV = "00b0393e65252bf631670604f58b844780b08c50"
-# Pin to v249.4 to fix systemd-networkd segfaults.
-SRCREV = "4d8fd88b9641fce81272f60f556543f713175403"
-
-# Additional unsubmitted PR #20752 required to fix additional systemd-networkd
-# segfaults.
-SRC_URI += "file://0001-journal-network-timesync-fix-segfault-on-32bit-timev.patch"
+# Fix https://github.com/systemd/systemd/issues/21113
+SRC_URI += "file://0001-conf-parse-make-config_parse_many-optionally-save-st.patch"
diff --git a/meta-phosphor/recipes-devtools/python/pyphosphor_git.bb b/meta-phosphor/recipes-devtools/python/pyphosphor_git.bb
index ad11a078d..39fb2925b 100644
--- a/meta-phosphor/recipes-devtools/python/pyphosphor_git.bb
+++ b/meta-phosphor/recipes-devtools/python/pyphosphor_git.bb
@@ -50,6 +50,6 @@ FILES:${PN}-dbus = "${PYTHON_SITEPACKAGES_DIR}/obmc/dbuslib"
SRC_URI += "git://github.com/openbmc/pyphosphor"
-SRCREV = "d2aadf1220b03580ab5f93fd15e068040cdb895b"
+SRCREV = "cb240aa1ed95799d2ea8bde951c6ed443839a7e0"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb b/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb
index 00944f798..9e8c9968a 100644
--- a/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb
+++ b/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb
@@ -14,6 +14,6 @@ EXTRA_OEMESON = " \
"
SRC_URI += "git://github.com/openbmc/gpioplus"
-SRCREV = "71e795a279f1d30b6aca2509dd80c9b072f15efa"
+SRCREV = "8944f2e24ad8152793af010906faf06607f0e04b"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-extended/pam/pam-ipmi_git.bb b/meta-phosphor/recipes-extended/pam/pam-ipmi_git.bb
index a2bcb909c..e246ee7d2 100644
--- a/meta-phosphor/recipes-extended/pam/pam-ipmi_git.bb
+++ b/meta-phosphor/recipes-extended/pam/pam-ipmi_git.bb
@@ -8,7 +8,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI += "git://github.com/openbmc/pam-ipmi"
-SRCREV = "1ea8be7fe6afbb1c5c94e90e49412f6553295be7"
+SRCREV = "08be868a6d18bca99d3580f4b3247c0c953f0f84"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
index c2d045c97..787e17325 100644
--- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
+++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
@@ -3,4 +3,4 @@ PR = "r1"
PV = "1.0+git${SRCPV}"
SRC_URI += "git://github.com/openbmc/sdbusplus"
-SRCREV = "dfb5642201699dc42a7dda12d72718a8b9568151"
+SRCREV = "6d83cf539ac0613e5639ec484c4865317795cd75"
diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb
index b4b101936..454ca6097 100644
--- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb
+++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb
@@ -1,7 +1,7 @@
SUMMARY = "C++ bindings for systemd dbus APIs"
DESCRIPTION = "C++ bindings for systemd dbus APIs."
-inherit meson
+inherit pkgconfig meson
inherit python3native
include sdbusplus-rev.inc
diff --git a/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb b/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb
index aa05a40c2..be827ad85 100644
--- a/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb
+++ b/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb
@@ -20,6 +20,6 @@ EXTRA_OEMESON = " \
"
SRC_URI += "git://github.com/openbmc/sdeventplus"
-SRCREV = "dce7381a71d1b62ed16f001a73824fd486243cf2"
+SRCREV = "afe64c8c9fd430d60a57830c1571e1d04f63f814"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb
index 9306b6f8b..abd989513 100644
--- a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb
+++ b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb
@@ -20,6 +20,6 @@ EXTRA_OEMESON = " \
"
SRC_URI += "git://github.com/openbmc/stdplus"
-SRCREV = "17759263274090e4f8e4b8e52f99f0a9cc095ba8"
+SRCREV = "8b70ecc79add4fd22efe9b41dc3c991a2b13b810"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb b/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb
index 05e0926b0..7dfee1c84 100644
--- a/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb
+++ b/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=75859989545e37968a99b631ef42722e"
DEPENDS = " libvncserver systemd sdbusplus phosphor-logging phosphor-dbus-interfaces"
SRC_URI = "git://github.com/openbmc/obmc-ikvm"
-SRCREV = "2d2f3dab4253a3d6edf6bef98c5f880f51d2394b"
+SRCREV = "f90f68d1e9bc6c53f49ebac6d0b8e11257de77a9"
PV = "1.0+git${SRCPV}"
@@ -14,4 +14,4 @@ SYSTEMD_SERVICE:${PN} += "start-ipkvm.service"
S = "${WORKDIR}/git"
-inherit meson systemd
+inherit pkgconfig meson systemd
diff --git a/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb b/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb
index ff874969c..bb433d677 100644
--- a/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb
@@ -13,7 +13,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bcd9ada3a943f58551867d72893cc9ab"
SRC_URI = "git://github.com/openbmc/bios-settings-mgr"
-SRCREV = "b5984b87eb93f57f8bc2c123717527076a560753"
+SRCREV = "29656f07b7e81c0bb13ca119b4c6ef62f5e79a18"
inherit meson pkgconfig systemd
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config.bb b/meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config.bb
deleted file mode 100644
index 1d9f5a3b1..000000000
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Phosphor certificate manager configuration for a bmcweb service"
-
-PR = "r1"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-RDEPENDS:${PN} = "phosphor-certificate-manager"
-
-inherit allarch
-
-SRC_URI = "file://env"
-
-FILES:${PN} = "${datadir}"
-
-do_install() {
- install -D ${WORKDIR}/env ${D}/${datadir}/phosphor-certificate-manager/bmcweb
-}
-
-pkg_postinst:${PN}() {
- LINK="$D$systemd_system_unitdir/multi-user.target.wants/phosphor-certificate-manager@bmcweb.service"
- TARGET="../phosphor-certificate-manager@.service"
- mkdir -p $D$systemd_system_unitdir/multi-user.target.wants
- ln -s $TARGET $LINK
-}
-
-pkg_prerm:${PN}() {
- LINK="$D$systemd_system_unitdir/multi-user.target.wants/phosphor-certificate-manager@bmcweb.service"
- rm $LINK
-}
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config/env b/meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config/env
deleted file mode 100644
index af4899a30..000000000
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config/env
+++ /dev/null
@@ -1,12 +0,0 @@
-#D-Bus object path
-#example: /xyz/openbmc_project/certs/server/https
-ENDPOINT=https
-
-#Path for the certificate file
-CERTPATH=/etc/ssl/certs/https/server.pem
-
-#Units to restart
-UNIT=bmcweb.service
-
-#Type of the service client/server
-TYPE=server
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager/phosphor-certificate-manager@.service b/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager/phosphor-certificate-manager@.service
deleted file mode 100644
index 255906fab..000000000
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager/phosphor-certificate-manager@.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Phosphor certificate manager for %I
-
-[Service]
-EnvironmentFile=/usr/share/phosphor-certificate-manager/%I
-ExecStart=/usr/bin/env phosphor-certificate-manager --endpoint=${{ENDPOINT}} --path=${{CERTPATH}} --unit=${{UNIT}} --type=${{TYPE}}
-SyslogIdentifier=phosphor-certificate-manager
-Restart=always
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb b/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb
index 30730a4e3..b858958f0 100644
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb
@@ -9,11 +9,11 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI = "git://github.com/openbmc/phosphor-certificate-manager"
-SRCREV = "811a29e1941db0157f49d2e05491be945f7b2f07"
+SRCREV = "7f7b47bea7bbd518d1ff5a306ecf3806cf8d0834"
inherit autotools \
pkgconfig \
- obmc-phosphor-systemd
+ systemd
DEPENDS = " \
autoconf-archive-native \
@@ -28,9 +28,18 @@ S = "${WORKDIR}/git"
EXTRA_OECONF += "--disable-tests"
-CERT_TMPL = "phosphor-certificate-manager@.service"
-SYSTEMD_SERVICE:${PN} = "${CERT_TMPL}"
+SYSTEMD_SERVICE:${PN} = "phosphor-certificate-manager@.service"
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "bmcweb-cert nslcd-authority-cert"
PACKAGECONFIG[ibm-hypervisor-cert] = "--enable-ca-cert-extension,,"
-SYSTEMD_SERVICE:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'ibm-hypervisor-cert', 'bmc-vmi-ca-manager.service', '', d)}"
+PACKAGECONFIG[bmcweb-cert] = "--enable-bmcweb-cert-config,,"
+PACKAGECONFIG[nslcd-authority-cert] = "--enable-nslcd-authority-cert-config,,"
+
+SYSTEMD_SERVICE:${PN} = " \
+ phosphor-certificate-manager@.service \
+ ${@bb.utils.contains('PACKAGECONFIG', 'ibm-hypervisor-cert', 'bmc-vmi-ca-manager.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'nslcd-authority-cert', 'phosphor-certificate-manager@authority.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'bmcweb', 'phosphor-certificate-manager@bmcweb.service', '', d)} \
+ "
+
+FILES:${PN}:append = " ${systemd_system_unitdir}/* ${datadir}/dbus-1"
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config.bb b/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config.bb
deleted file mode 100644
index c847b6d7b..000000000
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Phosphor certificate manager configuration for an nslcd authority service"
-
-PR = "r1"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-RDEPENDS:${PN} = "phosphor-certificate-manager"
-
-inherit allarch
-
-SRC_URI = "file://env"
-
-FILES:${PN} = "${datadir}"
-
-do_install() {
- install -D ${WORKDIR}/env ${D}/${datadir}/phosphor-certificate-manager/authority
-}
-
-pkg_postinst:${PN}() {
- LINK="$D$systemd_system_unitdir/multi-user.target.wants/phosphor-certificate-manager@authority.service"
- TARGET="../phosphor-certificate-manager@.service"
- mkdir -p $D$systemd_system_unitdir/multi-user.target.wants
- ln -s $TARGET $LINK
-}
-
-pkg_prerm:${PN}() {
- LINK="$D$systemd_system_unitdir/multi-user.target.wants/phosphor-certificate-manager@authority.service"
- rm $LINK
-}
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config/env b/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config/env
deleted file mode 100644
index d2e8814cb..000000000
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config/env
+++ /dev/null
@@ -1,12 +0,0 @@
-#REST URI endpoint
-#example: /xyz/openbmc_project/certs/authority/ldap
-ENDPOINT=ldap
-
-#Path for the certificate file
-CERTPATH=/etc/ssl/certs/authority
-
-#Units to restart
-UNIT=bmcweb.service
-
-#Type of service
-TYPE=authority
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config.bb b/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config.bb
deleted file mode 100644
index 7b1e26412..000000000
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Phosphor certificate manager configuration for a nslcd certificate"
-
-PR = "r1"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-RDEPENDS:${PN} = "phosphor-certificate-manager"
-
-inherit allarch
-
-SRC_URI = "file://env"
-
-FILES:${PN} = "${datadir}"
-
-do_install() {
- install -D ${WORKDIR}/env ${D}/${datadir}/phosphor-certificate-manager/nslcd
-}
-
-pkg_postinst:${PN}() {
- LINK="$D$systemd_system_unitdir/multi-user.target.wants/phosphor-certificate-manager@nslcd.service"
- TARGET="../phosphor-certificate-manager@.service"
- mkdir -p $D$systemd_system_unitdir/multi-user.target.wants
- ln -s $TARGET $LINK
-}
-
-pkg_prerm:${PN}() {
- LINK="$D$systemd_system_unitdir/multi-user.target.wants/phosphor-certificate-manager@nslcd.service"
- rm $LINK
-}
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config/env b/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config/env
deleted file mode 100644
index 8ac1bf77e..000000000
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config/env
+++ /dev/null
@@ -1,9 +0,0 @@
-#REST URI endpoint
-#example: /xyz/openbmc_project/certs/client/ldap
-ENDPOINT=ldap
-
-#Path for the certificate file
-CERTPATH=/etc/nslcd/certs/cert.pem
-
-#Type of the service client/server
-TYPE=client
diff --git a/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-buttons_git.bb b/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-buttons_git.bb
index d81780c38..c1b56ea09 100644
--- a/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-buttons_git.bb
+++ b/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-buttons_git.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
S = "${WORKDIR}/git"
SRC_URI += "git://github.com/openbmc/phosphor-buttons.git"
-SRCREV = "703c7609353f707f5abb33f4ca726b1803463a92"
+SRCREV = "8381d5aa3525e15f1e4bd1f3a5af815107716872"
inherit cmake pkgconfig systemd
diff --git a/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-power_git.bb b/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-power_git.bb
index b9f7dc977..93f1aa0b4 100644
--- a/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-power_git.bb
+++ b/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-power_git.bb
@@ -15,4 +15,4 @@ DEPENDS += "gpioplus"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-power-control"
-SRCREV = "4d209a24588d112dfd61158b2e01dd973d99961e"
+SRCREV = "ca9aa00180423b548369a7485bbca641581cc1ab"
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
index 716cb238c..17ad49b7e 100644
--- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \
and configures system sensors"
SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json"
-SRCREV = "93db9bf7c8c9d81d2f2f88dbc376c1fcb05a82e3"
+SRCREV = "7939a765cb6f6e128c87ab61e2bd86d2cae0f9da"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
@@ -16,7 +16,7 @@ DEPENDS = "boost \
valijson"
S = "${WORKDIR}/git"
-inherit meson systemd
+inherit pkgconfig meson systemd
EXTRA_OEMESON = "-Dtests=disabled"
diff --git a/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb b/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
index 62efcdb89..dccc05cc3 100644
--- a/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
+++ b/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
@@ -26,7 +26,7 @@ DEPENDS += "autoconf-archive-native \
SRC_URI += "git://github.com/openbmc/obmc-console"
SRC_URI += "file://${BPN}.conf"
-SRCREV = "cabd9db06da91ecf2198c1baaf20360d1424c2f3"
+SRCREV = "467d3010344d974f3051162d29f13f49c0eb8ea3"
PV = "1.0+git${SRCPV}"
REGISTERED_SERVICES:${PN} += "obmc_console:tcp:2200:"
diff --git a/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb b/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb
index 65f9e3a7b..09e0923c2 100644
--- a/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb
@@ -20,7 +20,7 @@ RDEPENDS:${PN} += "phosphor-network"
RDEPENDS:${PN} += "phosphor-mapper"
SRC_URI += "git://github.com/openbmc/phosphor-time-manager"
-SRCREV = "295b96b743cded8cdba7b0cda59dc1cfe84f64f0"
+SRCREV = "076f9ecef94b5329cc0361352e7af30851010e73"
PV = "1.0+git${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/dbus/dbus-perms.bb b/meta-phosphor/recipes-phosphor/dbus/dbus-perms.bb
index ca60b6931..9097222f0 100644
--- a/meta-phosphor/recipes-phosphor/dbus/dbus-perms.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/dbus-perms.bb
@@ -10,6 +10,8 @@ inherit dbus-dir
SRC_URI += "file://org.openbmc.conf"
+FILES:${PN}:append = " ${dbus_system_confdir}"
+
do_install:append() {
install -d ${D}${dbus_system_confdir}
install -m 0644 ${WORKDIR}/org.openbmc.conf \
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
index 0f5f7ba2d..119d17ffc 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
@@ -6,7 +6,7 @@ S = "${WORKDIR}/git"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-inherit meson
+inherit pkgconfig meson
inherit obmc-phosphor-utils
inherit phosphor-dbus-yaml
inherit python3native
@@ -18,7 +18,7 @@ DEPENDS += " \
"
SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces"
-SRCREV = "3a665b28dcc0d9f6926a1f5eb20bc0d9d768418d"
+SRCREV = "e0764cf41d16b823a519e9d4f508b588e3e84aba"
# Process OBMC_ORG_YAML_SUBDIRS to create Meson config options.
# ex. xyz/openbmc_project -> -Ddata_xyz_openbmc_project=true
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb
index d4176b70a..fb3ce4870 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-dbus-monitor"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/openbmc/phosphor-dbus-monitor"
-SRCREV = "cfdfa0da249777b7aad9dacf4e4e3198d8309da5"
+SRCREV = "0a3fe497b41d4530e0f6ce6f19a8612b41986514"
inherit autotools \
pkgconfig \
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
index 3ea5bffa0..1a5a6d21b 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
@@ -25,7 +25,7 @@ SYSTEMD_SERVICE:${PN} += " \
"
SRC_URI += "git://github.com/openbmc/phosphor-objmgr"
-SRCREV = "bedd41655ed9641a9f6c47079e811797869ad8f3"
+SRCREV = "bbf456b448b8f281ad3a077083a86e61c86e2249"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb b/meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb
index fbb41f211..33ceb3d4a 100644
--- a/meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb
+++ b/meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb
@@ -15,7 +15,7 @@ inherit systemd
PR = "r1"
PV = "0.1+git${SRCPV}"
-SRCREV = "15fe59cb0fc1430bdd05a85e7c7887ccc4e5c013"
+SRCREV = "9c7783babcef53d80bf14dc268b72f61651009ad"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
index 812bc7ac7..09c40ebb3 100644
--- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
+++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-debug-collector"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-debug-collector"
-SRCREV = "52ac69c15277bb3210647017403e7e4eb793e93c"
+SRCREV = "9b4716aef30b0e6f316d8aa91fbee59c1f73991b"
diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb
index 2b7372a22..04388fba3 100644
--- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb
+++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb
@@ -20,7 +20,7 @@ DBUS_PACKAGES = "${PN}-manager"
SYSTEMD_PACKAGES = "${PN}-monitor"
-inherit meson \
+inherit pkgconfig meson \
obmc-phosphor-dbus-service \
python3native \
phosphor-debug-collector
@@ -147,7 +147,7 @@ def install_dreport_user_script(script_path, d):
bb.warn("Invalid format for config value =%s" % line)
continue
parse_value = revalue.group(0)
- config_values = re.split('\W+', parse_value, 1)
+ config_values = re.split(r'\W+', parse_value, 1)
if(len(config_values) != 2):
bb.warn("Invalid config value=%s" % parse_value)
break;
diff --git a/meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb b/meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb
index 0a73d6e7f..2c77b27ea 100644
--- a/meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb
+++ b/meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb
@@ -15,7 +15,7 @@ DEPENDS += "phosphor-logging"
RDEPENDS:${PN} += "phosphor-sel-logger"
SRC_URI = "git://github.com/openbmc/phosphor-ecc.git"
-SRCREV = "0841f8abf9b38f981d443ecc552cc2b014764bbf"
+SRCREV = "a56bb3cae1f176a0dc226e172f559185628d3318"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
index 15e5b4306..cdd3e1f14 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-fan-presence"
-SRCREV = "3edb065647c2cb73d3593a168cd5452add63f75e"
+SRCREV = "c024d780229822fe4eb5a948b4e5d76a8e28f3f9"
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
index 01f3586fa..ea62216c5 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
@@ -13,7 +13,7 @@ inherit systemd
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-pid-control"
-SRCREV = "e7507a8b55136accc501408d691bd816abc4833f"
+SRCREV = "cca9c659889d149c06e95bab4b8808db4f1e3eab"
# Each platform will need a service file that starts
# at an appropriate time per system. For instance, if
diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc
index c748e6a84..d62a8c2c7 100644
--- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc
+++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-bmc-code-mgmt"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-bmc-code-mgmt"
-SRCREV = "3ea1e870cb2205633d74c32d2b520e71e68be501"
+SRCREV = "58e18979f54272cea7af1834011cd249902665c5"
diff --git a/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb b/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb
index a1ea91354..abf8adf1a 100644
--- a/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb
+++ b/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb
@@ -44,7 +44,7 @@ FILES:${PN}-monitor += "${nonarch_base_libdir}/udev/rules.d/99-gpio-keys.rules"
FILES:${PN}-presence += "${bindir}/phosphor-gpio-presence"
SRC_URI += "git://github.com/openbmc/phosphor-gpio-monitor"
-SRCREV = "b08a0f691740ef21e28547a57981b1043d46d8ce"
+SRCREV = "c4b6ce728089737ad85ab5cfa7f34e2a912f091b"
S = "${WORKDIR}/git"
EXTRA_OEMESON:append = " -Dtests=disabled"
diff --git a/meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb b/meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb
index 4363d4c0a..cf3f7ad12 100644
--- a/meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb
+++ b/meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb
@@ -15,7 +15,7 @@ DEPENDS += "phosphor-logging"
DEPENDS += "nlohmann-json"
SRC_URI = "git://github.com/openbmc/phosphor-health-monitor.git;protocol=git"
-SRCREV = "2b231e8aa91a76a7c36f1c70c7e4058a38d0a5f1"
+SRCREV = "f5151879326e36880ddf2c46fe8c539ce721b0d6"
S = "${WORKDIR}/git"
SYSTEMD_SERVICE:${PN} = "phosphor-health-monitor.service"
diff --git a/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb b/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb
index e68960d1d..5e320fe7e 100644
--- a/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb
+++ b/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb
@@ -20,7 +20,7 @@ DEPENDS += "systemd"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-host-postd"
-SRCREV = "2a744b2d70ce9de8519a7c716da5009cb049db17"
+SRCREV = "996facb65d554f7c0f14c10e3c9252d67a01e21a"
SNOOP_DEVICE ?= "aspeed-lpc-snoop0"
POST_CODE_BYTES ?= "1"
diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb
index 88807c0f0..96c27da12 100644
--- a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb
+++ b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb
@@ -13,6 +13,7 @@ RDEPENDS:${PN} += " \
e2fsprogs-e2fsck \
e2fsprogs-mke2fs \
gptfdisk \
+ libgpiod-tools \
parted \
udev \
"
diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh
index 575b7605a..ad9748e65 100644
--- a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh
+++ b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh
@@ -10,6 +10,9 @@ get_root() {
fslist="proc sys dev run"
rodir=/mnt/rofs
+mmcdev="/dev/mmcblk0"
+rwfsdev="/dev/disk/by-partlabel/rwfs"
+
cd /
mkdir -p $fslist
mount dev dev -tdevtmpfs
@@ -19,7 +22,6 @@ mount tmpfs run -t tmpfs -o mode=755,nodev
# Wait up to 5s for the mmc device to appear. Continue even if the count is
# exceeded. A failure will be caught later like in the mount command.
-mmcdev="/dev/mmcblk0"
count=0
while [ $count -lt 5 ]; do
if [ -e "${mmcdev}" ]; then
@@ -48,16 +50,29 @@ if ! mount /dev/disk/by-partlabel/"$(get_root)" $rodir -t ext4 -o ro; then
/bin/sh
fi
-rwfsdev="/dev/disk/by-partlabel/rwfs"
+# Determine if a factory reset has been requested
mkdir -p /var/lock
-if test $(fw_printenv -n rwreset) = "true"; then
+resetval=$(fw_printenv -n rwreset 2>/dev/null)
+gpiopresent=$(gpiofind factory-reset-toggle)
+if [ $? -eq 0 ]; then
+ gpioval=$(gpioget $gpiopresent)
+else
+ gpioval=""
+fi
+# Prevent unnecessary resets on first boot
+if [ -n "$gpioval" -a -z "$resetval" ]; then
+ fw_setenv rwreset $gpioval
+ resetval=$gpioval
+fi
+if [ "$resetval" = "true" -o -n "$gpioval" -a "$resetval" != "$gpioval" ]; then
echo "Factory reset requested."
if ! mkfs.ext4 -F "${rwfsdev}"; then
echo "Reformat for factory reset failed."
/bin/sh
else
- fw_setenv rwreset
- echo "Formatting of rwfs is complete."
+ # gpioval will be an empty string if factory-reset-toggle was not found
+ fw_setenv rwreset $gpioval
+ echo "rwfs has been formatted."
fi
fi
diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
index 46e4ed42c..e083eb460 100644
--- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
+++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
@@ -13,11 +13,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e"
SRC_URI = "git://github.com/openbmc/bmcweb.git"
PV = "1.0+git${SRCPV}"
-SRCREV = "c0bd5e4b37f65ce29a392594d1ef240c64c99734"
+SRCREV = "8682c5ad05a9dff8ba3575ff5c4e8ceb535f6c5e"
S = "${WORKDIR}/git"
-inherit meson ptest
+inherit pkgconfig meson ptest
SRC_URI += " \
file://run-ptest \
diff --git a/meta-phosphor/recipes-phosphor/interfaces/rest-dbus_git.bb b/meta-phosphor/recipes-phosphor/interfaces/rest-dbus_git.bb
index 92f2342c8..b68d23488 100644
--- a/meta-phosphor/recipes-phosphor/interfaces/rest-dbus_git.bb
+++ b/meta-phosphor/recipes-phosphor/interfaces/rest-dbus_git.bb
@@ -22,6 +22,6 @@ SYSTEMD_SERVICE:${PN} += "rest-dbus.service rest-dbus.socket"
SRC_URI += "git://github.com/openbmc/rest-dbus.git"
-SRCREV = "9273a302e8f2b3c3e939dff77758e90f163bf6a1"
+SRCREV = "99d57f2698568be1bf989057f678ff5c053e7957"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/interfaces/slpd-lite_git.bb b/meta-phosphor/recipes-phosphor/interfaces/slpd-lite_git.bb
index 6eaed0fe1..c6fc3a5a9 100644
--- a/meta-phosphor/recipes-phosphor/interfaces/slpd-lite_git.bb
+++ b/meta-phosphor/recipes-phosphor/interfaces/slpd-lite_git.bb
@@ -16,6 +16,6 @@ DEPENDS += "autoconf-archive-native"
SRC_URI += "git://github.com/openbmc/slpd-lite"
-SRCREV = "a592888328e79f0ba61a7099fcb1143bc20a0d43"
+SRCREV = "ef078cd0d560b8c49061f0b855f0cb4450e69b3a"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc
index 221b88c32..cb82450f1 100644
--- a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc
+++ b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-inventory-manager"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/openbmc/phosphor-inventory-manager"
-SRCREV = "1707945afbd6c73376a994f7a576a22c0bfb9c6e"
+SRCREV = "15d0c9934f9f23c64df0ae0287e8a33135ba8151"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb b/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb
index ac1440338..41593e08d 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb
@@ -14,4 +14,4 @@ EXTRA_OECONF = "--disable-tests"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/ipmi-blob-tool"
-SRCREV = "2ca843c10ee5b26d1c2db41a54cb0feb967800d8"
+SRCREV = "d46530fd76038ba22298155047e07f14f7f8793f"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb
index ec3d3a465..45e393d0d 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb
@@ -15,9 +15,12 @@ DEPENDS += "phosphor-logging"
DEPENDS += "protobuf-native"
DEPENDS += "protobuf"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[blobtool] = ",--disable-blobtool"
+
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-blobs-binarystore"
-SRCREV = "c3abe753fca211f49eb68f7d34e37bfc9eb5d4c4"
+SRCREV = "d6f65a1b52d662dfe282ebddab840ce161be6c61"
FILES:${PN}:append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES:${PN}:append = " ${libdir}/blob-ipmid/lib*${SOLIBS}"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
index b989ef78c..0604c344a 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
@@ -16,7 +16,7 @@ DEPENDS += " \
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-blobs"
-SRCREV = "f39e668c2b87c9453e0e28d5a8886b81ed80c50e"
+SRCREV = "3b89eda93870cdc701481afc7da85de7a033e4a6"
FILES:${PN} += "${libdir}/ipmid-providers"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-bt_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-bt_git.bb
index df5b65337..f2ff31d49 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-bt_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-bt_git.bb
@@ -19,4 +19,4 @@ DEPENDS += "systemd"
S = "${WORKDIR}/git"
SRC_URI += "git://github.com/openbmc/btbridge"
-SRCREV="0a47d9a057c94438380142ff08e892e4df633d87"
+SRCREV="713a5470b4a1327abf9857870ba7d9cbcd5a54d4"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb
index e1da1570e..d4bfa5a28 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb
@@ -14,7 +14,7 @@ DEPENDS += "phosphor-ipmi-host"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-ethstats"
-SRCREV = "6b48b92e08abba4e7b31d69c9a74b1d262718a84"
+SRCREV = "c8894c55f5d58862f266aebedc43e2652f529a41"
FILES:${PN}:append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES:${PN}:append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
index 65fb2489b..13acf37ea 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
@@ -6,65 +6,67 @@ PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-inherit autotools pkgconfig
-inherit obmc-phosphor-ipmiprovider-symlink
-inherit systemd
+inherit meson pkgconfig systemd
-DEPENDS += "autoconf-archive-native"
-DEPENDS += "phosphor-ipmi-blobs"
-DEPENDS += "phosphor-logging"
-DEPENDS += "sdbusplus"
-DEPENDS += "systemd"
-DEPENDS += "ipmi-blob-tool"
-DEPENDS += "pciutils"
-DEPENDS += "function2"
+DEPENDS += " \
+ phosphor-ipmi-blobs \
+ phosphor-logging \
+ sdbusplus \
+ systemd \
+ ipmi-blob-tool \
+ function2 \
+"
PACKAGECONFIG ?= "cleanup-delete"
-PACKAGECONFIG[cleanup-delete] = "--enable-cleanup-delete, --disable-cleanup-delete"
+PACKAGECONFIG[cleanup-delete] = "-Dcleanup-delete=enabled,-Dcleanup-delete=disabled"
# If using static-layout, reboot-update is a good option to handle updating.
# To be able to track the update status, update-status option can be used.
# Note that both reboot-update and update-status cannot be enabled at the same time.
-PACKAGECONFIG[reboot-update] = "--enable-reboot-update, --disable-reboot-update"
-PACKAGECONFIG[update-status] = "--enable-update-status, --disable-update-status"
+PACKAGECONFIG[reboot-update] = "-Dreboot-update=true,-Dreboot-update=false"
+PACKAGECONFIG[update-status] = "-Dupdate-status=true,-Dupdate-status=false"
# Default options for supporting various flash types:
-PACKAGECONFIG[static-bmc] = "--enable-static-layout, --disable-static-layout"
-PACKAGECONFIG[ubitar-bmc] = "--enable-tarball-ubi, --disable-tarball-ubi"
-PACKAGECONFIG[host-bios] = "--enable-host-bios, --disable-host-bios"
+PACKAGECONFIG[static-bmc] = "-Dupdate-type=static-layout,-Dupdate-type=none"
+PACKAGECONFIG[ubitar-bmc] = "-Dupdate-type=tarball-ubi,-Dupdate-type=none"
+PACKAGECONFIG[host-bios] = "-Dhost-bios=true,-Dhost-bios=false"
# Hardware options to enable transmitting the data from the host.
-PACKAGECONFIG[aspeed-p2a] = "--enable-aspeed-p2a, --disable-aspeed-p2a"
-PACKAGECONFIG[aspeed-lpc] = "--enable-aspeed-lpc, --disable-aspeed-lpc"
-PACKAGECONFIG[nuvoton-lpc] = "--enable-nuvoton-lpc, --disable-nuvoton-lpc"
-PACKAGECONFIG[nuvoton-p2a-vga] = "--enable-nuvoton-p2a-vga, --disable-nuvoton-p2a-vga"
-PACKAGECONFIG[nuvoton-p2a-mbox] = "--enable-nuvoton-p2a-mbox, --disable-nuvoton-p2a-mbox"
-PACKAGECONFIG[net-bridge] = "--enable-net-bridge, --disable-net-bridge"
+# Only one type of p2a or lpc can be enabled.
+PACKAGECONFIG[aspeed-p2a] = "-Dp2a-type=aspeed-p2a,,,,,aspeed-lpc nuvoton-lpc nuvoton-p2a-vga nuvoton-p2a-mbox"
+PACKAGECONFIG[aspeed-lpc] = "-Dlpc-type=aspeed-lpc,,,,,aspeed-p2a nuvoton-lpc nuvoton-p2a-vga nuvoton-p2a-mbox"
+PACKAGECONFIG[nuvoton-lpc] = "-Dlpc-type=nuvoton-lpc,,,,,aspeed-p2a aspeed-lpc nuvoton-p2a-vga nuvoton-p2a-mbox"
+PACKAGECONFIG[nuvoton-p2a-vga] = "-Dp2a-type=nuvoton-p2a-vga,,,,,aspeed-p2a aspeed-lpc nuvoton-lpc nuvoton-p2a-mbox"
+PACKAGECONFIG[nuvoton-p2a-mbox] = "-Dp2a-type=nuvoton-p2a-mbox,,,,,aspeed-p2a aspeed-lpc nuvoton-lpc nuvoton-p2a-vga"
+PACKAGECONFIG[net-bridge] = "-Dnet-bridge=true,-Dnet-bridge=false"
-EXTRA_OECONF = "--disable-tests --disable-build-host-tool"
+EXTRA_OEMESON = "-Dtests=disabled -Dhost-tool=disabled"
# Set this variable in your recipe to set it instead of using MAPPED_ADDRESS directly.
IPMI_FLASH_BMC_ADDRESS ?= "0"
-EXTRA_OECONF:append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}"
+EXTRA_OEMESON:append = " -Dmapped-address=${IPMI_FLASH_BMC_ADDRESS}"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash"
-SRCREV = "b487eb47e566df7679e740559582f6d25597feba"
+SRCREV = "b8fd6d3813baa5a9fc0327750f8dfeec773ba612"
SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE:${PN} += "phosphor-ipmi-flash-bmc-prepare.target \
- phosphor-ipmi-flash-bmc-verify.target \
- phosphor-ipmi-flash-bmc-update.target"
+SYSTEMD_SERVICE:${PN} += " \
+ phosphor-ipmi-flash-bmc-prepare.target \
+ phosphor-ipmi-flash-bmc-verify.target \
+ phosphor-ipmi-flash-bmc-update.target \
+"
# If they enabled host-bios, add those three extra targets.
-HOST_BIOS_TARGETS = "phosphor-ipmi-flash-bios-prepare.target \
- phosphor-ipmi-flash-bios-verify.target \
- phosphor-ipmi-flash-bios-update.target"
+HOST_BIOS_TARGETS = " \
+ phosphor-ipmi-flash-bios-prepare.target \
+ phosphor-ipmi-flash-bios-verify.target \
+ phosphor-ipmi-flash-bios-update.target \
+"
SYSTEMD_SERVICE:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'host-bios', '${HOST_BIOS_TARGETS}', '', d)}"
-FILES:${PN}:append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
-FILES:${PN}:append = " ${libdir}/blob-ipmid/lib*${SOLIBS}"
-FILES:${PN}-dev:append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la"
+FILES:${PN}:append = " ${libdir}/ipmid-providers"
+FILES:${PN}:append = " ${libdir}/blob-ipmid"
FILES:${PN}:append = " ${libdir}/tmpfiles.d"
BLOBIPMI_PROVIDER_LIBRARY += "libfirmwareblob.so"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc
index 991e3aa03..f7e417352 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/ipmi-fru-parser"
LICENSE = "GPL-3.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=7702f203b58979ebbc31bfaeb44f219c"
SRC_URI += "git://github.com/openbmc/ipmi-fru-parser"
-SRCREV = "904a2184832efe9b8d1cf66ecace4eb8001ec334"
+SRCREV = "bc145078e775d4945f9f0162a2aa4eff58d776e7"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
index d5fb2a56b..201f52b9f 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
-SRCREV = "c2af98befb8ce52f9e290793e756ad12da0ef2bf"
+SRCREV = "78fe1b14f60d55ae335369fb2c6e81ed9ac6d865"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb
index dbab372c9..1db304c64 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "The IPMB bridge implements a Dbus compliant interface for \
implementing IPMB interfaces"
SRC_URI = "git://github.com/openbmc/ipmbbridge.git"
-SRCREV = "bd78df6be9f677136ca190d50101c328267ddcd2"
+SRCREV = "8227626764edf13350c5f5a5857298a905fb43f7"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb
index bff352e59..ac48699cb 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb
@@ -29,4 +29,4 @@ DEPENDS += " \
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/kcsbridge.git"
-SRCREV = "03e6defcbca99c9c00cd37c4afb1d2b415a92acd"
+SRCREV = "7580a8e60d868b5bcb1a8f8d276374afe7c0983a"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb
index 97df26289..c4fd449c9 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb
@@ -18,7 +18,7 @@ DEPENDS += "phosphor-ipmi-host"
RRECOMMENDS:${PN} = "pam-ipmi"
SRC_URI += "git://github.com/openbmc/phosphor-net-ipmid"
-SRCREV = "1c5b3ab05817d62a11f75c2a90b6891b18bf62cc"
+SRCREV = "5819666c23ee1d01a54fc5fb2c068bb1da1f29c7"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ssif_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ssif_git.bb
index ad9780197..73fea8ad4 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ssif_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ssif_git.bb
@@ -21,5 +21,5 @@ DEPENDS += "cli11"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/ssifbridge.git;protocol=git;branch=master"
-SRCREV= "b62da097135346b1027a057c675ffc679c6fe3f6"
+SRCREV= "2c2b8280584d05d16a4d0c180be8c3a6ee37aec2"
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
index 13ac75bec..5132e45c4 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-led-manager"
-SRCREV = "6c4e0f2f767af5d5096d9f5462ba3af06b649e09"
+SRCREV = "d1fdc4f48dfa3f156a61ce06b13b40913eef63e8"
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb
index 03f7a6d8c..c549a2265 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb
@@ -20,7 +20,7 @@ EXTRA_OEMESON:append = " -Dtests=disabled"
SRC_URI += "git://github.com/openbmc/phosphor-led-sysfs"
SRC_URI += "file://70-leds.rules"
-SRCREV = "520c5e51fd5df42e930c14ccf7dcc3c44d829a87"
+SRCREV = "ff26c8ecb828d3afbb213081283342c354dcbc79"
S = "${WORKDIR}/git"
do_install:append() {
diff --git a/meta-phosphor/recipes-phosphor/libmctp/libmctp_git.bb b/meta-phosphor/recipes-phosphor/libmctp/libmctp_git.bb
index c5c137628..214677690 100644
--- a/meta-phosphor/recipes-phosphor/libmctp/libmctp_git.bb
+++ b/meta-phosphor/recipes-phosphor/libmctp/libmctp_git.bb
@@ -11,7 +11,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae"
SRC_URI = "git://github.com/openbmc/libmctp \
file://default"
-SRCREV = "ae59f4fe3a3ceaf52a682ada2a2b54855fad2408"
+SRCREV = "663ec39ea107c2a736f9bcb20cbfdfa623092ab1"
DEPENDS += "autoconf-archive-native \
systemd \
diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
index 244f3ea1b..b419db1c0 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-hostlogger"
PR = "r1"
PV = "1.0+git${SRCPV}"
-inherit meson
+inherit pkgconfig meson
inherit systemd
# License info
@@ -22,7 +22,7 @@ RRECOMMENDS:${PN} += "phosphor-debug-collector"
# Source code repository
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-hostlogger"
-SRCREV = "042b5ba8438d1423f807feb5ef739cda063ea8d2"
+SRCREV = "1ecbb996d9c88871db20c455db02ee055bff10f2"
# Disable unit tests
EXTRA_OEMESON:append = " -Dtests=disabled"
diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
index 279eb46bb..891f295b0 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
@@ -7,7 +7,7 @@ PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-inherit meson
+inherit pkgconfig meson
inherit python3native
inherit obmc-phosphor-dbus-service
inherit phosphor-logging
@@ -54,7 +54,7 @@ FILES:phosphor-rsyslog-config += " \
"
SRC_URI += "git://github.com/openbmc/phosphor-logging"
-SRCREV = "8034ddebe40b7dea16491de9bdb436f2ca72cf0e"
+SRCREV = "c1ba04f2a6dc2269b8acfb289adaa72f3288a86d"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb b/meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb
index 17ef04f55..6f7fe21d4 100644
--- a/meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb
+++ b/meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb
@@ -6,7 +6,7 @@ PR = "r1"
PV = "1.0+git${SRCPV}"
SRC_URI = "git://github.com/openbmc/phosphor-misc"
-SRCREV = "688e9134a83379393ddde6aab0602c64e956153d"
+SRCREV = "669bb350cd2722f0d2bfd6cb4a22142e7e6c1488"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb
index c553e6dad..137e737c2 100644
--- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb
+++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb
@@ -11,7 +11,7 @@ inherit python3native
inherit systemd
SRC_URI += "git://github.com/openbmc/phosphor-networkd"
-SRCREV = "2c0fc568057c5575a75ad638ea91bc8c65b57160"
+SRCREV = "26c40a43b2fde3898ba6786ab28af01cd9125805"
DEPENDS += "systemd"
DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native"
diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb
index 349008f85..9f5c0b262 100644
--- a/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb
+++ b/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb
@@ -12,7 +12,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI += "git://github.com/openbmc/phosphor-snmp"
-SRCREV = "9e60ef5f73de20555bbc197eb93ba888775e19e5"
+SRCREV = "d560529eb7e22c0b78fb0def20f57c6f35be9dfe"
DBUS_SERVICE:${PN} += "xyz.openbmc_project.Network.SNMP.service"
diff --git a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
index e6c223e7a..6d7d76ac6 100644
--- a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
+++ b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
@@ -43,7 +43,7 @@ RDEPENDS:${PN}-bmc-state-mgmt = " \
SUMMARY:${PN}-bmcweb = "bmcweb support"
RDEPENDS:${PN}-bmcweb = " \
bmcweb \
- phosphor-bmcweb-cert-config \
+ phosphor-certificate-manager \
"
SUMMARY:${PN}-chassis-state-mgmt = "Chassis state management"
@@ -195,6 +195,4 @@ RDEPENDS:${PN}-user-mgmt-ldap = " \
${PN}-user-mgmt \
nss-pam-ldapd \
phosphor-ldap \
- phosphor-nslcd-cert-config \
- phosphor-nslcd-authority-cert-config \
"
diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc
index 40b959a75..61962233c 100644
--- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc
+++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI = "git://github.com/openbmc/pldm"
-SRCREV = "be06bc920c007254d5ffd52adb9d2ba4a111c20e"
+SRCREV = "77aef218a514d34c03bc024d83f83e334035792e"
diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
index 4f502d36e..7f0d7b4d5 100644
--- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-power"
-SRCREV = "4c88a4c2c0420735b737c8641c51b34d1cfbb0c3"
+SRCREV = "2916ea52b3d4c9ba0d0d90c1e33f333aeb720047"
diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb b/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb
index ed16ff6e3..e221b4cca 100644
--- a/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb
@@ -2,7 +2,7 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-psu-code-mgmt"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI += "git://github.com/openbmc/phosphor-psu-code-mgmt"
-SRCREV = "6d62ceb307409a3b5f1b0012558108bfbfa4300c"
+SRCREV = "95ad4ee2854fb926d0495df3fb0a12e0874e6c71"
SUMMARY = "Phosphor PSU software manager"
DESCRIPTION = "Providing PSU firmware version and upgrade"
diff --git a/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb b/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb
index 4b165f86b..6c10cb7c5 100644
--- a/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb
+++ b/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb
@@ -9,7 +9,7 @@ DESCRIPTION = "Utility to write IPMI SEL records to the journal"
# SEL_LOGGER_MONITOR_THRESHOLD_EVENTS:
# Monitors and logs SEL records for threshold sensor events
-inherit meson systemd
+inherit pkgconfig meson systemd
S = "${WORKDIR}/git"
LICENSE = "Apache-2.0"
@@ -22,7 +22,7 @@ DEPENDS += " \
"
SRC_URI = "git://github.com/openbmc/phosphor-sel-logger.git;protocol=git"
-SRCREV = "a138ebd3c759f95c53d61170c05e69bf31718114"
+SRCREV = "87e3fcf439f2b943272365e1d294984f39bb52b8"
PV = "0.1+git${SRCPV}"
diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
index 61ddf5777..c6b4df23d 100644
--- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors"
DESCRIPTION = "Dbus Sensor Services Configured from D-Bus"
SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
-SRCREV = "33703af797949b47375086988daeac89b47b5db1"
+SRCREV = "cb5af73f5ddf48c5f9455f41a39b44517089352f"
PV = "0.1+git${SRCPV}"
@@ -73,7 +73,7 @@ DEPENDS = " \
phosphor-logging \
sdbusplus \
"
-inherit meson systemd
+inherit pkgconfig meson systemd
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
index 68338c6cf..89c68edf6 100644
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
@@ -5,7 +5,7 @@ PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
-inherit meson
+inherit pkgconfig meson
inherit obmc-phosphor-systemd
PACKAGECONFIG ??= ""
@@ -45,7 +45,7 @@ RDEPENDS:max31785-msl = "${VIRTUAL-RUNTIME_base-utils} i2c-tools bash"
SRC_URI += "git://github.com/openbmc/phosphor-hwmon"
-SRCREV = "04da055198fe03f119e53578ac80a6188461b748"
+SRCREV = "b6c1771bfd4dcc4bc461878424b3f71b3bffdbca"
S = "${WORKDIR}/git"
@@ -55,7 +55,7 @@ S = "${WORKDIR}/git"
# 2. For each hwmon the script generates busconfig ACLs.
pkg_postinst:${PN}() {
hwmon_dir="$D/etc/default/obmc/hwmon"
- dbus_dir="$D/etc/dbus-1/system.d"
+ dbus_dir="$D/${datadir}/dbus-1/system.d"
if [ -n "$D" -a -d "${hwmon_dir}" ]; then
# Remove existing links and replace with actual copy of the file to prevent
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb
index 927b3cfd7..7928b2bcd 100644
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb
@@ -15,7 +15,7 @@ DEPENDS += "phosphor-logging"
DEPENDS += "nlohmann-json"
SRC_URI = "git://github.com/openbmc/phosphor-nvme.git;protocol=git"
-SRCREV = "e528b0ae32cbc4c5c7d2595deda1d44d2c1aeb45"
+SRCREV = "5022a4ee5cd4d3eaeabc4e991507e71b35b26a16"
S = "${WORKDIR}/git"
SYSTEMD_SERVICE:${PN} = "xyz.openbmc_project.nvme.manager.service"
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb
index 7745a9e6f..9590c4db8 100644
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb
@@ -16,7 +16,7 @@ DEPENDS += "nlohmann-json"
DEPENDS += "exprtk"
SRC_URI = "git://github.com/openbmc/phosphor-virtual-sensor.git;protocol=git"
-SRCREV = "74c1e7d8c50175017306e347532c8d7e98dc66d5"
+SRCREV = "333e5bf60cdc34450617994f29901b6b131111fa"
S = "${WORKDIR}/git"
SYSTEMD_SERVICE:${PN} = "phosphor-virtual-sensor.service"
diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager.inc b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager.inc
index 2ecfd1fe8..00d72fe65 100644
--- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager.inc
+++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-settingsd"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
SRC_URI += "git://github.com/openbmc/phosphor-settingsd"
-SRCREV = "235526310114281794f37e177eab34456d059c7a"
+SRCREV = "5ff6375ba949c918a27b0a8f8d2119289ce863ab"
diff --git a/meta-phosphor/recipes-phosphor/smbios/smbios-mdr_git.bb b/meta-phosphor/recipes-phosphor/smbios/smbios-mdr_git.bb
index 0cc97ac8c..bfa69e9c3 100644
--- a/meta-phosphor/recipes-phosphor/smbios/smbios-mdr_git.bb
+++ b/meta-phosphor/recipes-phosphor/smbios/smbios-mdr_git.bb
@@ -28,7 +28,7 @@ EXTRA_OECMAKE = "-DYOCTO=ON"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/smbios-mdr.git"
-SRCREV = "ecbd71baa68d0c2834614d84f24de7d369a51ce4"
+SRCREV = "631388e621abad855abbe4abbfb20111da9056f1"
SYSTEMD_SERVICE:${PN} += "smbios-mdrv2.service"
SYSTEMD_SERVICE:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'cpuinfo', 'xyz.openbmc_project.cpuinfo.service', '', d)}"
diff --git a/meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb b/meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb
index fd43707bf..a033239d9 100644
--- a/meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb
@@ -10,7 +10,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=7becf906c8f8d03c237bad13bc3dac53"
SRC_URI = "git://github.com/openbmc/service-config-manager"
-SRCREV = "a19b509352cc7d9fcacf345f81163bf6998ec7b4"
+SRCREV = "a1fe1a284df3b652bbf55e69945e2fd2b4c7aded"
inherit meson pkgconfig systemd
diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb
index 915ca310c..d5d81f8ba 100644
--- a/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb
@@ -4,7 +4,7 @@ interface /xyz/openbmc_project/state/boot/raw by snoopd daemon and save them \
in a file under /var/lib for history."
SRC_URI = "git://github.com/openbmc/phosphor-post-code-manager.git"
-SRCREV = "aed7b3de090005433b16ca986ed3df4dbc81446f"
+SRCREV = "9ce5a645f50c0ab94e582abbf95474f636aba678"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
index 434e63550..5f76096ec 100644
--- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
@@ -54,6 +54,7 @@ DEPENDS += "phosphor-dbus-interfaces"
DEPENDS += "libcereal"
DEPENDS += "nlohmann-json"
DEPENDS += "cli11"
+DEPENDS += "libgpiod"
RDEPENDS:${PN}-chassis += "bash"
@@ -186,6 +187,6 @@ SYSTEMD_LINK:${PN}-obmc-targets += "${@compose_list(d, 'QUIESCE_FMT', 'HOST_ERRO
SRC_URI += "git://github.com/openbmc/phosphor-state-manager"
-SRCREV = "5f8e04a6e169121599b6e1e054900fffd1a42a39"
+SRCREV = "1e89e62283ea037823319244fc2de6c351c18538"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/system/files/obmc-phosphor-sysd.py b/meta-phosphor/recipes-phosphor/system/files/obmc-phosphor-sysd.py
deleted file mode 100644
index c8080ac2c..000000000
--- a/meta-phosphor/recipes-phosphor/system/files/obmc-phosphor-sysd.py
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env python
-
-# Contributors Listed Below - COPYRIGHT 2015
-# [+] International Business Machines Corp.
-#
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied. See the License for the specific language governing
-# permissions and limitations under the License.
-
-import time
-import sys
-import dbus
-import dbus.service
-import dbus.mainloop.glib
-
-if __name__ == '__main__':
- print "obmc-phosphor-watchdogd starting..."
-
- while 1:
- time.sleep(5)
diff --git a/meta-phosphor/recipes-phosphor/system/files/obmc-phosphor-sysd.service b/meta-phosphor/recipes-phosphor/system/files/obmc-phosphor-sysd.service
deleted file mode 100644
index 246d985ba..000000000
--- a/meta-phosphor/recipes-phosphor/system/files/obmc-phosphor-sysd.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Phosphor System Manager
-
-[Service]
-Restart=always
-ExecStart=/usr/bin/env obmc-phosphor-sysd
-SyslogIdentifier=obmc-phosphor-sysd
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-phosphor/recipes-phosphor/system/obmc-phosphor-sysd.bb b/meta-phosphor/recipes-phosphor/system/obmc-phosphor-sysd.bb
deleted file mode 100644
index 41a4c1e24..000000000
--- a/meta-phosphor/recipes-phosphor/system/obmc-phosphor-sysd.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Phosphor OpenBMC System Management"
-DESCRIPTION = "Phosphor OpenBMC system management reference implementation."
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit obmc-phosphor-pydbus-service
-
-PROVIDES += "virtual/obmc-system-mgmt"
-RPROVIDES:${PN} += "virtual-obmc-system-mgmt"
-
-S = "${WORKDIR}"
-SRC_URI += "file://${PN}.py"
diff --git a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb
index f0f28a096..31e821618 100644
--- a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb
+++ b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb
@@ -8,11 +8,11 @@ LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/openbmc/telemetry"
PV = "1.0+git${SRCPV}"
-SRCREV = "93064d8fcef2c6fde1f61c0cedacb46b21eab039"
+SRCREV = "e28aa53dc1492f09a64dc9f1dbfd5b6dba06e31f"
S = "${WORKDIR}/git"
-inherit meson
+inherit pkgconfig meson
inherit systemd
DEPENDS = "boost \
diff --git a/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb b/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb
index 18a7c505a..21d1c814f 100644
--- a/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb
@@ -31,10 +31,15 @@ FILES:phosphor-ldap += " \
${bindir}/phosphor-ldap-conf \
${bindir}/phosphor-ldap-mapper \
"
+FILES:${PN} += " \
+ ${base_libdir}/systemd \
+ ${datadir}/dbus-1 \
+ ${datadir}/phosphor-certificate-manager \
+"
DBUS_SERVICE:phosphor-ldap = " \
xyz.openbmc_project.Ldap.Config.service \
xyz.openbmc_project.LDAP.PrivilegeMapper.service \
"
SRC_URI += "git://github.com/openbmc/phosphor-user-manager"
-SRCREV = "a260f187436837aec493baef0a5e7063fe11ee92"
+SRCREV = "ce4e1aa087ca4ce62069106482285c1acf13499b"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb
index 9fe1e6081..4ef5f0cc5 100644
--- a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb
+++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb
@@ -20,7 +20,7 @@ DEPENDS += "phosphor-logging"
DEPENDS += "systemd"
SRC_URI += "git://github.com/openbmc/phosphor-watchdog"
-SRCREV = "15c5bd1b60300255d9dd2ffdd77eaf6dfce51722"
+SRCREV = "6a54155eab9bab579bc9493199a4272676563b5f"
S = "${WORKDIR}/git"
EXTRA_OEMESON = " \
diff --git a/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb b/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb
index 54c63bfc4..f68b6535b 100644
--- a/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb
+++ b/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb
@@ -6,7 +6,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/openbmc/phosphor-webui.git"
-SRCREV = "51229f8005cb20a12e8d0f057d4565f31d84fa29"
+SRCREV = "f59274e8ec337e7f4b135726d6b846fb813d60cb"
S = "${WORKDIR}/git"
DEPENDS:prepend = "nodejs-native "
diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
index a221ca715..1a3feedbe 100644
--- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
+++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
@@ -6,7 +6,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/openbmc/webui-vue.git"
-SRCREV = "c9cb8d433b7ed5f4d37cd8d946c2593d4d886ce1"
+SRCREV = "2a2e1021f48e2a939859ba7f4ae86c5de6df5655"
S = "${WORKDIR}/git"
DEPENDS:prepend = "nodejs-native nlf-native "
diff --git a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb
index 102b3fcb8..04fd5dc63 100755
--- a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb
+++ b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "Chassis Power Control service for Intel based platforms"
DESCRIPTION = "Chassis Power Control service for Intel based platforms"
SRC_URI = "git://github.com/openbmc/x86-power-control.git;protocol=ssh"
-SRCREV = "61b4a5bf7e8e7be92807fcb85a9780075e8893b4"
+SRCREV = "48c94c59728023cdbff3bd62f203de3434af8b8a"
PV = "1.0+git${SRCPV}"
diff --git a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb
index 2cdbc5c56..cf1d6b136 100644
--- a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb
+++ b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb
@@ -11,7 +11,7 @@ SRC_URI = "git://github.com/openbmc/peci-pcie"
DEPENDS = "boost sdbusplus libpeci"
PV = "0.1+git${SRCPV}"
-SRCREV = "8e96603605eebd574bb00cd35e7fa118071aeeae"
+SRCREV = "de624395a587be555463a14a3db90500b4e0521c"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/scripts/run-repotest b/meta-phosphor/scripts/run-repotest
new file mode 100755
index 000000000..d39cbb701
--- /dev/null
+++ b/meta-phosphor/scripts/run-repotest
@@ -0,0 +1,227 @@
+#!/bin/bash -e
+#
+
+script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+obmc_dir=${script_dir}/../../
+
+cd "$obmc_dir"
+
+# openbmc doesn't control what upstream poky, or any of the other layers do,
+# which do use patches as part of their upstreaming process.
+# meta-phosphor is also included such that patches that the community agrees to
+# hold onto will be allowed in that layer.
+
+patch_files_tmp=$(mktemp)
+allowed_patches_tmp=$(mktemp)
+trap 'rm $patch_files_tmp $allowed_patches_tmp' exit
+
+git ls-files -- \
+ '*.patch' \
+ ':!:poky/**' \
+ ':!:meta-security/**' \
+ ':!:meta-raspberrypi/**' \
+ ':!:meta-openembedded/**' \
+ ':!:meta-phosphor/**' \
+ | sort > "$patch_files_tmp"
+
+
+# The following patches were present on master at the time this test was
+# written. Their presence in this list should not be acknowlegement that they
+# are now allowed, but ignoring them is required in the intermediate time
+# between when this test was created, and when the maintainers of these repos
+# clean them up.
+#
+# https://github.com/openbmc/docs/blob/master/meta-layer-guidelines.md
+echo "\
+meta-amd/meta-ethanolx/recipes-x86/chassis/x86-power-control/0001-Amd-power-control-modifications-for-EthanolX.patch
+meta-ampere/meta-common/recipes-devtools/mtd/mtd-utils/0001-flashcp-support-offset-option.patch
+meta-aspeed/recipes-bsp/u-boot/files/default-gcc.patch
+meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0005-ARM-dts-aspeed-Enable-g220a-uart-route.patch
+meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy/0001-Remove-Total_Power-sensor.patch
+meta-facebook/meta-bletchley/recipes-bsp/u-boot/u-boot-aspeed-sdk/0001-u-boot-ast2600-57600-baudrate-for-bletchley.patch
+meta-facebook/meta-tiogapass/recipes-bsp/u-boot/u-boot-aspeed/0001-configs-ast-common-use-57600-baud-rate-to-match-Tiog.patch
+meta-facebook/meta-yosemitev2/recipes-bsp/u-boot/u-boot-aspeed/0001-board-aspeed-Add-Mux-for-yosemitev2.patch
+meta-facebook/meta-yosemitev2/recipes-bsp/u-boot/u-boot-aspeed/0002-spl-host-console-handle.patch
+meta-google/dynamic-layers/nuvoton-layer/recipes-bsp/images/npcm7xx-igps/0001-Set-FIU0_DRD_CFG-and-FIU_Clk_divider-for-gbmc-hoth.patch
+meta-google/recipes-extended/libconfig/files/0001-conf2struct-Use-the-right-perl.patch
+meta-google/recipes-extended/libconfig/files/0001-makefile-Add-missing-LDFLAGS.patch
+meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch
+meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed/0001-board-aspeed-Add-reset_phy-for-Zaius.patch
+meta-nuvoton/recipes-bsp/images/npcm7xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch
+meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0001-Add-system-reset-status-support.patch
+meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0002-config-ast-common-set-fieldmode-to-true.patch
+meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0003-aspeed-add-gpio-support.patch
+meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0004-aspeed-add-bmc-position-support.patch
+meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed/0001-Add-NCSI-channel-selector.patch
+meta-yadro/meta-nicole/recipes-phosphor/host/op-proc-control/0001-Stop-and-send-SRESET-for-one-thread-only.patch
+meta-yadro/recipes-phosphor/dbus/phosphor-dbus-interfaces/0001-Add-boot-initiator-mailbox-interface.patch
+meta-yadro/recipes-phosphor/ipmi/phosphor-ipmi-host/0001-Add-support-for-persistent-only-settings.patch
+meta-yadro/recipes-phosphor/ipmi/phosphor-ipmi-host/0002-Add-support-for-boot-initiator-mailbox.patch
+meta-yadro/recipes-phosphor/ipmi/phosphor-ipmi-host/0003-Fix-version-parsing-update-AUX-revision-info.patch
+" | sort > "$allowed_patches_tmp"
+
+files_diff=$(comm -23 "$patch_files_tmp" "$allowed_patches_tmp")
+
+files_count=$(echo -n "$files_diff" | grep -c '^' || true)
+if [[ $files_count -ne 0 ]]; then
+ echo "Patch files found not in allow list"
+ echo "$files_diff"
+ echo "Patches are not allowed on OpenBMC in these layers. Please upstream your changes and see \
+ https://github.com/openbmc/docs/blob/master/meta-layer-guidelines.md"
+ exit 1
+fi
+
+lint_exempt="\
+meta-amd/recipes-amd/amd-fpga/files/ethanolx/fpgardu.sh
+meta-bytedance/meta-g220a/recipes-network/network/static-mac-addr/mac-check
+meta-bytedance/meta-g220a/recipes-phosphor/datetime/me-time-sync/me-time-sync.sh
+meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh
+meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh
+meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh
+meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh
+meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh
+meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo-ras.sh
+meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo.sh
+meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.sh
+meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/kudo_uart_mux_ctrl.sh
+meta-google/recipes-google/gpio/gpio-ctrl/lib.sh
+meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/host_isoff.sh
+meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/host_powercycle.sh
+meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/host_poweroff.sh
+meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/host_poweron.sh
+meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/host_reset.sh
+meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/lib.sh
+meta-google/recipes-google/ipmi/ipmi-fru-sh/lib.sh
+meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.sh.in
+meta-google/recipes-google/networking/files/gbmc-ip-monitor-test.sh
+meta-google/recipes-google/networking/files/gbmc-ip-monitor.sh
+meta-google/recipes-google/networking/files/gbmc-mac-config.sh.in
+meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-from-ra.sh
+meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-gw-src.sh
+meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-nft.sh
+meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-ula.sh
+meta-google/recipes-google/networking/google-usb-network/usb_network.sh
+meta-google/recipes-google/networking/google-usb-network/usb_network_test.sh
+meta-google/recipes-google/networking/network-sh/lib.sh
+meta-google/recipes-google/networking/network-sh/test.sh
+meta-google/recipes-google/nftables/files/nft-configure.sh
+meta-google/recipes-google/ssh/authorized-keys-comp/authorized-keys-comp.sh
+meta-google/recipes-google/test/test-sh/test.sh
+meta-google/recipes-phosphor/flash/google-key/verify-bmc-image.sh
+meta-google/recipes-phosphor/flash/inplace-gbmc-update/inplace-gbmc-verify.sh
+meta-hpe/meta-common/recipes-hpe/host/host-boot-enable/host-boot-enable.sh
+meta-hpe/meta-common/recipes-phosphor/initrdscripts/files/gxp-obmc-init.sh
+meta-hpe/meta-dl360poc/recipes-hpe/host/host-boot-enable/host-boot-enable.sh
+meta-ibm/meta-romulus/recipes-phosphor/chassis/vrm-control/vrm-control.sh
+meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button/toggle_identify_led.sh
+meta-ibm/recipes-phosphor/chassis/power-workarounds/witherspoon/power-workarounds.sh
+meta-ibm/recipes-phosphor/chassis/vrm-control/ibm-ac-server/ir35221-unbind-bind.sh
+meta-ibm/recipes-phosphor/chassis/vrm-control/mihawk/ir35221-unbind-bind.sh
+meta-ibm/recipes-phosphor/chassis/vrm-control/vrm-control.sh
+meta-ibm/recipes-phosphor/dump/phosphor-debug-collector/plugins.d/ibm_elogall
+meta-ibm/recipes-phosphor/dump/phosphor-debug-collector/plugins.d/pels
+meta-ibm/recipes-phosphor/gpio/id-button/toggle_identify_led.sh
+meta-ibm/recipes-phosphor/mboxd/mboxd/check_pnor_format.sh
+meta-ingrasys/meta-zaius/recipes-phosphor/chassis/avsbus-control/zaius_avsbus.sh
+meta-ingrasys/meta-zaius/recipes-phosphor/chassis/vcs-control/zaius_vcs.sh
+meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init/transformers-init.sh
+meta-openpower/recipes-bsp/pdata/files/power-target.sh
+meta-openpower/recipes-phosphor/dump/phosphor-debug-collector/plugins.d/guard
+meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.sh
+meta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac.sh
+meta-openpower/recipes-phosphor/occ/openpower-occ-control/occ-active.sh
+meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh
+meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-shutdown.sh
+meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-update.sh
+meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh
+meta-phosphor/recipes-phosphor/interfaces/bmcweb/run-ptest
+meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts/init
+meta-phosphor/recipes-support/nss-pam-ldapd/files/nslcd.init
+meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh
+meta-quanta/meta-gbs/recipes-gbs/gbs-bios-update/files/bios-update.sh
+meta-quanta/meta-gbs/recipes-gbs/gbs-bios-update/files/bios-verify.sh
+meta-quanta/meta-gbs/recipes-gbs/gbs-bmc-update/files/bmc-verify.sh
+meta-quanta/meta-gbs/recipes-gbs/gbs-detect-gpio-present/files/detect-gpio-present.sh
+meta-quanta/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.sh
+meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/tray_powercycle.sh
+meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh
+meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-set-failsafe.sh
+meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh
+meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-nvme/nvme_json_rewrite.sh
+meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/files/detect-fan-fail.sh
+meta-quanta/meta-gsj/recipes-gsj/gsj-hotswap-change-setting/files/gsj-hotswap-change-setting.sh
+meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/files/init_once.sh
+meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/files/nvme_powerctrl_library.sh
+meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/files/nvme_powermanager.sh
+meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.sh
+meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-control.sh
+meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-default-speed.sh
+meta-quanta/meta-olympus-nuvoton/recipes-olympus-nuvoton/power/first-boot-set-psu/first-boot-set-psu.sh
+meta-quanta/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh
+meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/files/init_once.sh
+meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/files/poweroff.sh
+meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/files/poweron.sh
+meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control/avsbus-control.sh
+"
+
+types=(json shell)
+# shellcheck disable=SC2034
+check_json="eslint --resolve-plugins-relative-to /usr/local/lib/node_modules"
+# shellcheck disable=SC2034
+check_shell="shellcheck -x"
+
+for t in "${types[@]}"; do
+ check_cmd="check_${t}"
+ if ! which "${!check_cmd%% *}" > /dev/null 2>&1; then
+ eval "${check_cmd}=\"echo WARNING: Skipping $t due to missing command:\""
+ echo "${!check_cmd}"
+ fi
+done
+
+non_bbfiles=$(git ls-files -- \
+ ':!:poky/**' \
+ ':!:meta-security/**' \
+ ':!:meta-raspberrypi/**' \
+ ':!:meta-openembedded/**' \
+ | grep -v -e "\.patch$" -e "\.bb$" -e "\.bbappend$")
+
+for f in $non_bbfiles; do
+ unset file_type
+ file_info=$(file "$f")
+ case $file_info in
+ *shell\ script*)
+ file_type="shell"
+ ;;
+
+ *JSON\ data*)
+ file_type="json"
+ ;;
+
+ *)
+ case $f in
+ *.sh)
+ file_type="shell"
+ ;;
+
+ *.json)
+ file_type="json"
+ ;;
+ esac
+ esac
+
+ if [ -n "$file_type" ]; then
+ check_cmd="check_${file_type}"
+ if ! eval "${!check_cmd} $f"; then
+ if [[ $lint_exempt == *$f* ]]; then
+ echo "EXEMPT: $f"
+ else
+ echo "FAILED: $f"
+ false
+ fi
+ fi
+ fi
+
+done
+
+echo "Repo test passed"
+
diff --git a/meta-phosphor/scripts/run-repotest.sh b/meta-phosphor/scripts/run-repotest.sh
deleted file mode 100755
index bd82176d3..000000000
--- a/meta-phosphor/scripts/run-repotest.sh
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/bash -e
-#
-
-script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
-obmc_dir=${script_dir}/../../
-
-# openbmc doesn't control what upstream poky, or any of the other layers do,
-# which do use patches as part of their upstreaming process.
-# meta-phosphor is also included such that patches that the community agrees to
-# hold onto will be allowed in that layer.
-
-patch_files_tmp=$(mktemp)
-allowed_patches_tmp=$(mktemp)
-
-git -C "$obmc_dir" ls-files -- \
- '*.patch' \
- ':!:poky/**' \
- ':!:meta-security/**' \
- ':!:meta-xilinx/**' \
- ':!:meta-raspberrypi/**' \
- ':!:meta-openembedded/**' \
- ':!:meta-phosphor/**' \
- | sort > $patch_files_tmp
-
-
-# The following patches were present on master at the time this test was
-# written. Their presence in this list should not be acknowlegement that they
-# are now allowed, but ignoring them is required in the intermediate time
-# between when this test was created, and when the maintainers of these repos
-# clean them up.
-#
-# https://github.com/openbmc/docs/blob/master/meta-layer-guidelines.md
-echo "\
-meta-amd/meta-ethanolx/recipes-x86/chassis/x86-power-control/0001-Amd-power-control-modifications-for-EthanolX.patch
-meta-ampere/meta-common/recipes-devtools/mtd/mtd-utils/0001-flashcp-support-offset-option.patch
-meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0001-aspeed-scu-Switch-PWM-pin-to-GPIO-input-mode.patch
-meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0002-aspeed-Disable-internal-PD-resistors-for-GPIOs.patch
-meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0003-aspeed-support-passing-system-reset-status-to-kernel.patch
-meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0004-aspeed-add-gpio-support.patch
-meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0005-aspeed-Enable-SPI-master-mode.patch
-meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0006-aspeed-support-Mt.Jade-platform-init.patch
-meta-aspeed/recipes-bsp/u-boot/files/default-gcc.patch
-meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0001-bytedance-g220a-Enable-ipmb.patch
-meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0003-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch
-meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0004-ARM-dts-aspeed-Add-uart-routing-node.patch
-meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0005-ARM-dts-aspeed-Enable-g220a-uart-route.patch
-meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy/0001-Remove-Total_Power-sensor.patch
-meta-facebook/meta-bletchley/recipes-bsp/u-boot/u-boot-aspeed-sdk/0001-u-boot-ast2600-57600-baudrate-for-bletchley.patch
-meta-facebook/meta-tiogapass/recipes-bsp/u-boot/u-boot-aspeed/0001-configs-ast-common-use-57600-baud-rate-to-match-Tiog.patch
-meta-facebook/meta-yosemitev2/recipes-bsp/u-boot/u-boot-aspeed/0001-board-aspeed-Add-Mux-for-yosemitev2.patch
-meta-facebook/meta-yosemitev2/recipes-bsp/u-boot/u-boot-aspeed/0002-spl-host-console-handle.patch
-meta-google/dynamic-layers/nuvoton-layer/recipes-bsp/images/npcm7xx-igps/0001-Set-FIU0_DRD_CFG-and-FIU_Clk_divider-for-gbmc-hoth.patch
-meta-google/recipes-extended/libconfig/files/0001-conf2struct-Use-the-right-perl.patch
-meta-google/recipes-extended/libconfig/files/0001-makefile-Add-missing-LDFLAGS.patch
-meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch
-meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed/0001-board-aspeed-Add-reset_phy-for-Zaius.patch
-meta-nuvoton/recipes-bsp/images/npcm7xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch
-meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0001-Add-system-reset-status-support.patch
-meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0002-config-ast-common-set-fieldmode-to-true.patch
-meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0003-aspeed-add-gpio-support.patch
-meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0004-aspeed-add-bmc-position-support.patch
-meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed/0001-Add-NCSI-channel-selector.patch
-meta-yadro/meta-nicole/recipes-phosphor/host/op-proc-control/0001-Stop-and-send-SRESET-for-one-thread-only.patch
-meta-yadro/recipes-phosphor/dbus/phosphor-dbus-interfaces/0001-Add-boot-initiator-mailbox-interface.patch
-meta-yadro/recipes-phosphor/ipmi/phosphor-ipmi-host/0001-Add-support-for-persistent-only-settings.patch
-meta-yadro/recipes-phosphor/ipmi/phosphor-ipmi-host/0002-Add-support-for-boot-initiator-mailbox.patch
-meta-yadro/recipes-phosphor/ipmi/phosphor-ipmi-host/0003-Fix-version-parsing-update-AUX-revision-info.patch
-" | sort > $allowed_patches_tmp
-
-
-
-files_diff=$(comm -23 $patch_files_tmp $allowed_patches_tmp)
-rm $allowed_patches_tmp
-rm $patch_files_tmp
-
-files_count=$(echo -n "$files_diff" | grep -c '^' || true)
-if [[ $files_count -ne 0 ]]; then
- echo "Patch files found not in allow list"
- echo "$files_diff"
- echo "Patches are not allowed on OpenBMC in these layers. Please upstream your changes and see \
- https://github.com/openbmc/docs/blob/master/meta-layer-guidelines.md"
- exit 1
-fi
-
-echo "Repo test passed"
-
diff --git a/meta-portwell/OWNERS b/meta-portwell/OWNERS
deleted file mode 100644
index f0f5c4654..000000000
--- a/meta-portwell/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-owners:
-- amithash@fb.com
-- patrick@stwcx.xyz
diff --git a/meta-portwell/meta-neptune/conf/bblayers.conf.sample b/meta-portwell/meta-neptune/conf/bblayers.conf.sample
deleted file mode 100644
index 042e6dd0a..000000000
--- a/meta-portwell/meta-neptune/conf/bblayers.conf.sample
+++ /dev/null
@@ -1,20 +0,0 @@
-# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
-# changes incompatibly
-LCONF_VERSION = "8"
-
-BBPATH = "${TOPDIR}"
-BBFILES ?= ""
-
-BBLAYERS ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-poky \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-openembedded/meta-webserver \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-aspeed \
- ##OEROOT##/meta-portwell/meta-neptune \
- "
diff --git a/meta-portwell/meta-neptune/conf/conf-notes.txt b/meta-portwell/meta-neptune/conf/conf-notes.txt
deleted file mode 100644
index 9b3c01a55..000000000
--- a/meta-portwell/meta-neptune/conf/conf-notes.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Common targets are:
- obmc-phosphor-image
diff --git a/meta-portwell/meta-neptune/conf/layer.conf b/meta-portwell/meta-neptune/conf/layer.conf
deleted file mode 100644
index 652c8a85d..000000000
--- a/meta-portwell/meta-neptune/conf/layer.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "neptune"
-BBFILE_PATTERN_neptune = ""
-
-LAYERSERIES_COMPAT_neptune = "hardknott"
diff --git a/meta-portwell/meta-neptune/conf/machine/neptune.conf b/meta-portwell/meta-neptune/conf/machine/neptune.conf
deleted file mode 100644
index 007495a61..000000000
--- a/meta-portwell/meta-neptune/conf/machine/neptune.conf
+++ /dev/null
@@ -1,21 +0,0 @@
-KMACHINE = "aspeed"
-KERNEL_DEVICETREE = "${KMACHINE}-bmc-portwell-${MACHINE}.dtb"
-
-UBOOT_MACHINE = "ast_g5_ncsi_config"
-
-require conf/machine/include/ast2500.inc
-require conf/machine/include/obmc-bsp-common.inc
-
-OBMC_MACHINE_FEATURES += "\
- obmc-phosphor-fan-mgmt \
- obmc-phosphor-chassis-mgmt \
- obmc-phosphor-flash-mgmt \
- obmc-host-ipmi \
- obmc-host-ctl \
- obmc-host-state-mgmt \
- obmc-chassis-state-mgmt \
- obmc-bmc-state-mgmt \
- "
-FLASH_SIZE = "32768"
-VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config"
-
diff --git a/meta-portwell/meta-neptune/recipes-kernel/linux/linux-aspeed/neptune.cfg b/meta-portwell/meta-neptune/recipes-kernel/linux/linux-aspeed/neptune.cfg
deleted file mode 100644
index 9fc33b300..000000000
--- a/meta-portwell/meta-neptune/recipes-kernel/linux/linux-aspeed/neptune.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-CONFIG_SENSORS_TMP421=y
-CONFIG_SENSORS_MAX31785=y
-CONFIG_RTC_DRV_RV8803=y
-CONFIG_TCG_TPM=y
-CONFIG_TCG_TIS_I2C_INFINEON=y
diff --git a/meta-portwell/meta-neptune/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-portwell/meta-neptune/recipes-kernel/linux/linux-aspeed_%.bbappend
deleted file mode 100644
index 1420d15b4..000000000
--- a/meta-portwell/meta-neptune/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-aspeed:"
-SRC_URI += "file://neptune.cfg"
diff --git a/meta-portwell/meta-neptune/recipes.txt b/meta-portwell/meta-neptune/recipes.txt
deleted file mode 100644
index 3ec3f4a42..000000000
--- a/meta-portwell/meta-neptune/recipes.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-recipes-kernel - The kernel and generic applications/libraries with strong kernel dependencies
-recipes-phosphor - Phosphor OpenBMC applications and configuration
diff --git a/meta-qualcomm/COPYING.MIT b/meta-qualcomm/COPYING.MIT
deleted file mode 100644
index 89de35479..000000000
--- a/meta-qualcomm/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/meta-qualcomm/COPYING.apache-2.0 b/meta-qualcomm/COPYING.apache-2.0
deleted file mode 100644
index 67db85882..000000000
--- a/meta-qualcomm/COPYING.apache-2.0
+++ /dev/null
@@ -1,175 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
diff --git a/meta-qualcomm/LICENSE b/meta-qualcomm/LICENSE
deleted file mode 100644
index fea0827b7..000000000
--- a/meta-qualcomm/LICENSE
+++ /dev/null
@@ -1,12 +0,0 @@
-Different components of meta-qualcomm are under different licenses (a mix
-of MIT and Apache-2.0). Please see:
-
-COPYING.Apache-2.0
-COPYING.MIT (MIT)
-
-All metadata is MIT licensed unless otherwise stated. Source code
-included in tree for individual recipes is under the LICENSE stated in
-the associated recipe (.bb file) unless otherwise stated.
-
-License information for any other files is either explicitly stated
-or defaults to Apache-2.0.
diff --git a/meta-qualcomm/conf/layer.conf b/meta-qualcomm/conf/layer.conf
deleted file mode 100644
index 1efa8f6eb..000000000
--- a/meta-qualcomm/conf/layer.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-BBFILE_COLLECTIONS += "qualcomm"
-BBFILE_PATTERN_qualcomm = ""
-
-LAYERSERIES_COMPAT_qualcomm = "hardknott"
diff --git a/meta-qualcomm/conf/machine/include/qualcomm.inc b/meta-qualcomm/conf/machine/include/qualcomm.inc
deleted file mode 100644
index 976e2d09d..000000000
--- a/meta-qualcomm/conf/machine/include/qualcomm.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-require conf/machine/include/arm.inc
-
-VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config"
diff --git a/meta-qualcomm/meta-centriq2400-rep/conf/bblayers.conf.sample b/meta-qualcomm/meta-centriq2400-rep/conf/bblayers.conf.sample
deleted file mode 100644
index 6ae2e4d6c..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/conf/bblayers.conf.sample
+++ /dev/null
@@ -1,37 +0,0 @@
-# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
-# changes incompatibly
-LCONF_VERSION = "8"
-
-BBPATH = "${TOPDIR}"
-BBFILES ?= ""
-
-BBLAYERS ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-poky \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-openembedded/meta-webserver \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-aspeed \
- ##OEROOT##/meta-arm \
- ##OEROOT##/meta-qualcomm \
- ##OEROOT##/meta-qualcomm/meta-centriq2400-rep \
- "
-BBLAYERS_NON_REMOVABLE ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-poky \
- ##OEROOT##/meta-openembedded/meta-oe \
- ##OEROOT##/meta-openembedded/meta-networking \
- ##OEROOT##/meta-openembedded/meta-perl \
- ##OEROOT##/meta-openembedded/meta-python \
- ##OEROOT##/meta-openembedded/meta-webserver \
- ##OEROOT##/meta-security \
- ##OEROOT##/meta-phosphor \
- ##OEROOT##/meta-aspeed \
- ##OEROOT##/meta-arm \
- ##OEROOT##/meta-qualcomm \
- ##OEROOT##/meta-qualcomm/meta-centriq2400-rep \
- "
diff --git a/meta-qualcomm/meta-centriq2400-rep/conf/conf-notes.txt b/meta-qualcomm/meta-centriq2400-rep/conf/conf-notes.txt
deleted file mode 100644
index 9b3c01a55..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/conf/conf-notes.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Common targets are:
- obmc-phosphor-image
diff --git a/meta-qualcomm/meta-centriq2400-rep/conf/layer.conf b/meta-qualcomm/meta-centriq2400-rep/conf/layer.conf
deleted file mode 100644
index 670fd4338..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/conf/layer.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "centriq2400-rep"
-BBFILE_PATTERN_centriq2400-rep = ""
diff --git a/meta-qualcomm/meta-centriq2400-rep/conf/local.conf.sample b/meta-qualcomm/meta-centriq2400-rep/conf/local.conf.sample
deleted file mode 100644
index 444a903b2..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/conf/local.conf.sample
+++ /dev/null
@@ -1,21 +0,0 @@
-MACHINE ??= "centriq2400-rep"
-DISTRO ?= "openbmc-phosphor"
-PACKAGE_CLASSES ?= "package_ipk"
-SANITY_TESTED_DISTROS_append ?= " *"
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
-USER_CLASSES ?= "buildstats image-prelink"
-PATCHRESOLVE = "noop"
-BB_DISKMON_DIRS = "\
- STOPTASKS,${TMPDIR},1G,100K \
- STOPTASKS,${DL_DIR},1G,100K \
- STOPTASKS,${SSTATE_DIR},1G,100K \
- STOPTASKS,/tmp,100M,100K \
- ABORT,${TMPDIR},100M,1K \
- ABORT,${DL_DIR},100M,1K \
- ABORT,${SSTATE_DIR},100M,1K \
- ABORT,/tmp,10M,1K"
-CONF_VERSION = "1"
-INHERIT += "extrausers"
-EXTRA_USERS_PARAMS = " \
- usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \
- "
diff --git a/meta-qualcomm/meta-centriq2400-rep/conf/machine/centriq2400-rep.conf b/meta-qualcomm/meta-centriq2400-rep/conf/machine/centriq2400-rep.conf
deleted file mode 100644
index 3bbff9af5..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/conf/machine/centriq2400-rep.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-KMACHINE = "aspeed"
-KERNEL_DEVICETREE = "${KMACHINE}-ast2500-evb.dtb"
-
-UBOOT_MACHINE = "ast_g5_ncsi_config"
-
-FLASH_SIZE = "32768"
-
-
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-hostfw-config= ""
-require conf/machine/include/ast2500.inc
-require conf/machine/include/obmc-bsp-common.inc
-require conf/machine/include/qualcomm.inc
-
-IMAGE_INSTALL_append = " ir38163-workaround \
- centriq-2400rep-console-client \
- socupdate \
-"
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-kernel/linux/linux-aspeed/centriq2400-rep.cfg b/meta-qualcomm/meta-centriq2400-rep/recipes-kernel/linux/linux-aspeed/centriq2400-rep.cfg
deleted file mode 100644
index 2182623e6..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-kernel/linux/linux-aspeed/centriq2400-rep.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_PCA9541=y
-CONFIG_I2C_MUX_PCA9641=y
-CONFIG_I2C_MUX_PCA954x=y
-CONFIG_SENSORS_ASPEED=y
-CONFIG_SENSORS_TMP421=y
-CONFIG_ASPEED_ADC=y
-CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_I2C_SLAVE=y
-CONFIG_SSIF_SMBUS_SLAVE=y
-CONFIG_PMBUS=y
-CONFIG_SENSORS_PXM1310=y
-CONFIG_SENSORS_DS1100=y
-CONFIG_SENSORS_TMP421=y
-CONFIG_SENSORS_NVT210=y
-CONFIG_SENSORS_IR38163=y
-CONFIG_SPI=y
-CONFIG_SPI_MASTER=y
-CONFIG_SPI_SPIDEV=y
-CONFIG_SPI_ASPEED=y
-CONFIG_SENSORS_CENTRIQ_SPI=y
-CONFIG_SENSORS_MAX31790=y
-CONFIG_EEPROM_AT24=y
-CONFIG_ARCH_AST2500=y
-CONFIG_AST_JTAG=y
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-qualcomm/meta-centriq2400-rep/recipes-kernel/linux/linux-aspeed_%.bbappend
deleted file mode 100644
index 573e29872..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-FILESEXTRAPATHS_prepend_centriq2400-rep := "${THISDIR}/${PN}:"
-SRC_URI += "file://centriq2400-rep.cfg"
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround.bb b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround.bb
deleted file mode 100644
index 0ac6c8ecd..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "centriq2400 VR sensor Re-Probe"
-DESCRIPTION = "IR38163 work on DC on state, need re-probe for centriq2400 HW design"
-PR = "r0"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit obmc-phosphor-systemd
-
-PROVIDES += 'virtual/ir38163-workaround'
-RPROVIDES_${PN} += 'virtual-ir38163-workaround'
-
-IR_REMOVE = "ir-remove@.service"
-IR_ADD = "ir-add@.service"
-INSTIR_REMOVE = "ir-remove@{0}.service"
-INSTIR_ADD = "ir-add@{0}.service"
-TGTFMT_OFF = "obmc-chassis-poweroff@{0}.target"
-TGTFMT_ON = "obmc-chassis-poweron@{0}.target"
-FMT_REMOVE = "../${IR_REMOVE}:${TGTFMT_OFF}.wants/${INSTIR_REMOVE}"
-FMT_ADD = "../${IR_ADD}:${TGTFMT_ON}.requires/${INSTIR_ADD}"
-
-SYSTEMD_SERVICE_${PN} += "${IR_REMOVE}"
-SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT_REMOVE', 'OBMC_CHASSIS_INSTANCES')}"
-SYSTEMD_SERVICE_${PN} += "${IR_ADD}"
-SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT_ADD', 'OBMC_CHASSIS_INSTANCES')}"
-
-SRC_URI += "file://ir38163_workaround.sh"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/ir38163_workaround.sh ${D}${bindir}/ir38163_workaround.sh
-}
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir-add@.service b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir-add@.service
deleted file mode 100644
index 0b3574b2c..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir-add@.service
+++ /dev/null
@@ -1,16 +0,0 @@
-[Unit]
-Description=Add IR38163 device
-Wants=obmc-power-start@%i.target
-Before=obmc-power-start@%i.target
-Conflicts=obmc-chassis-poweroff@%i.target
-ConditionPathExists=!/run/openbmc/chassis@%i-on
-
-[Service]
-ExecStart=/usr/bin/env ir38163_workaround.sh add
-SyslogIdentifier=ir38163_workaround.sh
-Type=oneshot
-RemainAfterExit=yes
-
-[Install]
-WantedBy=obmc-host-start@%i.target
-
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir-remove@.service b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir-remove@.service
deleted file mode 100644
index 15e8d0108..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir-remove@.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Remove IR38163 device
-After=obmc-power-off@%i.target
-Conflicts=obmc-chassis-poweron@%i.target
-
-[Service]
-ExecStart=/usr/bin/env ir38163_workaround.sh rm
-SyslogIdentifier=ir38163_workaround.sh
-Type=oneshot
-RemainAfterExit=yes
-
-[Install]
-WantedBy=obmc-host-stop@%i.target
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir38163_workaround.sh b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir38163_workaround.sh
deleted file mode 100644
index d94ea45e4..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround/ir38163_workaround.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh -e
-# For one of the IR38163 device on i2c bus 5, address 0x42
-# Because the device only work when DC-ON, so when BMC during the DC-OFF state
-# the device will probe fail, need the workaround for this HW design..
-
-if [ "$1" == "add" ]; then
- echo Add the 0x42 device on i2c bus 5....
- sleep 2
- echo 5-0042 > /sys/bus/i2c/drivers/ir38163/bind
- sleep 1
-elif [ "$1" == "rm" ]; then
- echo Remove the 0x42 device
- sleep 2
- echo 5-0042 > /sys/bus/i2c/drivers/ir38163/unbind
- sleep 1
-else
- echo "$0 <add|rm>" to set state
-fi
-
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client.bb b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client.bb
deleted file mode 100644
index 929a11a5f..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-FILESEXTRAPATHS_prepend_centriq2400-rep := "${THISDIR}/${PN}:"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-SRC_URI += "file://centriq-2400rep-console-client.sh"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/centriq-2400rep-console-client.sh ${D}${bindir}/centriq-2400rep-console-client.sh
-}
-
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client/centriq-2400rep-console-client.sh b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client/centriq-2400rep-console-client.sh
deleted file mode 100644
index 3ecd0f819..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client/centriq-2400rep-console-client.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh -e
-#Control UART mux for obmc-console-client
-echo 0 > /sys/class/gpio/gpio325/value
-obmc-console-client
-echo 1 > /sys/class/gpio/gpio325/value
-
-
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client/centriq-2400rep-console-client@.service b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client/centriq-2400rep-console-client@.service
deleted file mode 100644
index d4f748dc2..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client/centriq-2400rep-console-client@.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Control UART mux for obmc-console-client
-
-[Service]
-ExecStart=/usr/bin/env centriq-2400rep-console-client.sh
-SyslogIdentifier=centriq-2400rep-console-client.sh
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/obmc-console/obmc-console.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/obmc-console/obmc-console.conf
deleted file mode 100644
index 85f35c190..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/obmc-console/obmc-console.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-local-tty = ttyS2
-local-tty-baud = 115200
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/obmc-console_%.bbappend b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/obmc-console_%.bbappend
deleted file mode 100644
index 101fe6489..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/obmc-console_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-FILESEXTRAPATHS_prepend_centriq2400-rep := "${THISDIR}/${PN}:"
-OBMC_CONSOLE_HOST_TTY = "ttyS2"
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config-native.bb b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config-native.bb
deleted file mode 100644
index d43aee8bf..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config-native.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Phosphor LED Group Management for Centriq2400 REP"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit native
-
-PROVIDES += "virtual/phosphor-led-manager-config-native"
-
-SRC_URI += "file://led.yaml"
-S = "${WORKDIR}"
-
-# Copies example led layout yaml file
-do_install() {
- SRC=${S}
- DEST=${D}${datadir}/phosphor-led-manager
- install -D ${SRC}/led.yaml ${DEST}/led.yaml
-}
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config/led.yaml b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config/led.yaml
deleted file mode 100755
index 25d2ef48c..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config/led.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-bmc_booted:
-power_on:
- Power_ID_LED:
- Action: 'On'
- DutyOn: 50
- Period: 0
-enclosure_fault:
- RAS_ERROR_LED:
- Action: 'On'
- DutyOn: 50
- Period: 0
- System_FAULT:
- Action: 'On'
- DutyOn: 50
- Period: 0
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@12.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@12.conf
deleted file mode 100644
index e968f08e7..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@12.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-LABEL_temp1=SYS_SOC_TEMP_L
-CRITLO_temp1=0
-CRITHI_temp1=100000
-
-LABEL_temp2=SYS_SOC_TEMP_R
-CRITLO_temp2=0
-CRITHI_temp2=100000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@42.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@42.conf
deleted file mode 100644
index a1ba06196..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@42.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=VREG_5P0
-WARNLO_in1=4758
-WARNHI_in1=5258
-CRITLO_in1=4507
-CRITHI_in1=5509
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@44.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@44.conf
deleted file mode 100644
index 8edf80c69..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@44.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=VREG_3P3
-WARNLO_in1=3130
-WARNHI_in1=3474
-CRITLO_in1=2974
-CRITHI_in1=3631
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@46.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@46.conf
deleted file mode 100644
index b083035d3..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@46.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=VREG_3P3_AUX
-WARNLO_in1=3130
-WARNHI_in1=3474
-CRITLO_in1=2974
-CRITHI_in1=3631
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@48.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@48.conf
deleted file mode 100644
index fc0896b0f..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir38163@48.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=VREG_5P0_USB
-WARNLO_in1=4758
-WARNHI_in1=5258
-CRITLO_in1=4507
-CRITHI_in1=5509
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@02.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@02.conf
deleted file mode 100644
index 91a38eec8..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@02.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=PVDDQ_510
-WARNLO_in1=1144
-WARNHI_in1=1264
-CRITLO_in1=1080
-CRITHI_in1=1320
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@04.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@04.conf
deleted file mode 100644
index d86a58890..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/pxm1310@04.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-LABEL_in1=PVDDQ_423
-WARNLO_in1=1144
-WARNHI_in1=1264
-CRITLO_in1=1080
-CRITHI_in1=1320
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/nvt210@4c.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/nvt210@4c.conf
deleted file mode 100644
index e968f08e7..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/nvt210@4c.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-LABEL_temp1=SYS_SOC_TEMP_L
-CRITLO_temp1=0
-CRITHI_temp1=100000
-
-LABEL_temp2=SYS_SOC_TEMP_R
-CRITLO_temp2=0
-CRITHI_temp2=100000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1d.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1d.conf
deleted file mode 100644
index 6a0bab548..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1d.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-LABEL_temp1=SYS_INLET_0_L
-CRITLO_temp1=0
-CRITHI_temp1=50000
-
-LABEL_temp2=SYS_INLET_0_R
-CRITLO_temp2=0
-CRITHI_temp2=50000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1f.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1f.conf
deleted file mode 100644
index b85648222..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@1f.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_INLET_1
-CRITLO_temp1=0
-CRITHI_temp1=50000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4d.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4d.conf
deleted file mode 100644
index 2ed024e34..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4d.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_INLET_2
-CRITLO_temp1=0
-CRITHI_temp1=50000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4f.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4f.conf
deleted file mode 100644
index ee3b5d5e5..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp421@4f.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_INLET_3
-CRITLO_temp1=0
-CRITHI_temp1=50000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@10.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@10.conf
deleted file mode 100644
index 2805cadb2..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@10.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-LABEL_in1=HSC_AUX_VIN
-WARNLO_in1=11431
-WARNHI_in1=12567
-CRITLO_in1=10792
-CRITHI_in1=13206
-
-LABEL_in2=HSC_AUX_VOUT
-WARNLO_in2=11431
-WARNHI_in2=12567
-CRITLO_in2=10792
-CRITHI_in2=13206
-
-LABEL_curr1=HSC_AUX_IOUT
-WARNLO_curr1=0
-WARNHI_curr1=50058
-CRITLO_curr1=0
-CRITHI_curr1=60021
-
-LABEL_power1=HSC_AUX_PIN
-WARNLO_power1=0
-WARNHI_power1=601520
-CRITLO_power1=0
-CRITHI_power1=721240
-
-LABEL_temp1=HSC_AUX_TEMP
-CRITLO_temp1=0
-CRITHI_temp1=105000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@11.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@11.conf
deleted file mode 100644
index 3c4ebbae6..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@300/adm1278@11.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-LABEL_in1=HSC_HDD_VIN
-WARNLO_in1=11431
-WARNHI_in1=12567
-CRITLO_in1=10792
-CRITHI_in1=13206
-
-LABEL_in2=HSC_HDD_VOUT
-WARNLO_in2=11431
-WARNHI_in2=12567
-CRITLO_in2=10792
-CRITHI_in2=13206
-
-LABEL_curr1=HSC_HDD_IOUT
-WARNLO_curr1=0
-WARNHI_curr1=11993
-CRITLO_curr1=0
-CRITHI_curr1=15008
-
-LABEL_power1=HSC_HDD_PIN
-WARNLO_power1=0
-WARNHI_power1=143200
-CRITLO_power1=0
-CRITHI_power1=179200
-
-LABEL_temp1=HSC_HDD_TEMP
-CRITLO_temp1=0
-CRITHI_temp1=60000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/adm1278@12.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/adm1278@12.conf
deleted file mode 100644
index 01b32101d..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/adm1278@12.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-LABEL_in1=HSC_FAN_VIN
-WARNLO_in1=11431
-WARNHI_in1=12567
-CRITLO_in1=10792
-CRITHI_in1=13206
-
-LABEL_in2=HSC_FAN_VOUT
-WARNLO_in2=11431
-WARNHI_in2=12567
-CRITLO_in2=10792
-CRITHI_in2=13206
-
-LABEL_curr1=HSC_FAN_IOUT
-WARNLO_curr1=0
-WARNHI_curr1=24948
-CRITLO_curr1=0
-CRITHI_curr1=29988
-
-LABEL_power1=HSC_FAN_PIN
-WARNLO_power1=0
-WARNHI_power1=298980
-CRITLO_power1=0
-CRITHI_power1=359380
-
-LABEL_temp1=HSC_FAN_TEMP
-CRITLO_temp1=0
-CRITHI_temp1=105000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/ds1100@58.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/ds1100@58.conf
deleted file mode 100644
index 5a6fe7ec3..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/ds1100@58.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-LABEL_fan1=PSU_FAN
-CRITLO_fan1=535
-CRITHI_fan1=13054
-
-LABEL_temp3=PSU_TEMP_AMB
-CRITLO_temp3=0
-CRITHI_temp3=50000
-
-LABEL_temp1=PSU_TEMP_HS
-CRITLO_temp1=0
-CRITHI_temp1=100000
-
-LABEL_in1=PSU_VIN
-WARNLO_in1=96000
-WARNHI_in1=0
-CRITLO_in1=0
-CRITHI_in1=253000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@20.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@20.conf
deleted file mode 100644
index 1e21d96d6..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@20.conf
+++ /dev/null
@@ -1,47 +0,0 @@
-LABEL_fan1=SYS_FAN_1_F
-CRITLO_fan1=535
-CRITHI_fan1=26964
-GAIN_fan1=0.85
-OFFSET_fan1=0
-
-LABEL_fan2=SYS_FAN_1_R
-CRITLO_fan2=535
-CRITHI_fan2=26964
-GAIN_fan2=0.8
-OFFSET_fan2=0
-
-LABEL_fan8=SYS_FAN_2_F
-CRITLO_fan8=535
-CRITHI_fan8=26964
-GAIN_fan8=0.85
-OFFSET_fan8=0
-
-LABEL_fan3=SYS_FAN_2_R
-CRITLO_fan3=535
-CRITHI_fan3=26964
-GAIN_fan3=0.8
-OFFSET_fan3=0
-
-LABEL_fan4=SYS_FAN_3_F
-CRITLO_fan4=535
-CRITHI_fan4=26964
-GAIN_fan4=0.85
-OFFSET_fan4=0
-
-LABEL_fan5=SYS_FAN_3_R
-CRITLO_fan5=535
-CRITHI_fan5=26964
-GAIN_fan5=0.8
-OFFSET_fan5=0
-
-LABEL_fan11=SYS_FAN_4_F
-CRITLO_fan11=535
-CRITHI_fan11=26964
-GAIN_fan11=0.85
-OFFSET_fan11=0
-
-LABEL_fan6=SYS_FAN_4_R
-CRITLO_fan6=535
-CRITHI_fan6=26964
-GAIN_fan6=0.8
-OFFSET_fan6=0
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@23.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@23.conf
deleted file mode 100644
index 20dad4b44..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@23.conf
+++ /dev/null
@@ -1,47 +0,0 @@
-LABEL_fan1=SYS_FAN_5_F
-CRITLO_fan1=535
-CRITHI_fan1=26964
-GAIN_fan1=0.85
-OFFSET_fan1=0
-
-LABEL_fan2=SYS_FAN_5_R
-CRITLO_fan2=535
-CRITHI_fan2=26964
-GAIN_fan2=0.8
-OFFSET_fan2=0
-
-LABEL_fan8=SYS_FAN_6_F
-CRITLO_fan8=535
-CRITHI_fan8=26964
-GAIN_fan8=0.85
-OFFSET_fan8=0
-
-LABEL_fan3=SYS_FAN_6_R
-CRITLO_fan3=535
-CRITHI_fan3=26964
-GAIN_fan3=0.8
-OFFSET_fan3=0
-
-LABEL_fan4=SYS_FAN_7_F
-CRITLO_fan4=535
-CRITHI_fan4=26964
-GAIN_fan4=0.85
-OFFSET_fan4=0
-
-LABEL_fan5=SYS_FAN_7_R
-CRITLO_fan5=535
-CRITHI_fan5=26964
-GAIN_fan5=0.8
-OFFSET_fan5=0
-
-LABEL_fan11=SYS_FAN_8_F
-CRITLO_fan11=535
-CRITHI_fan11=26964
-GAIN_fan11=0.85
-OFFSET_fan11=0
-
-LABEL_fan6=SYS_FAN_8_R
-CRITLO_fan6=535
-CRITHI_fan6=26964
-GAIN_fan6=0.8
-OFFSET_fan6=0
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/tmp421@1d.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/tmp421@1d.conf
deleted file mode 100644
index 1c85be91a..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/tmp421@1d.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-LABEL_temp1=FAN_BD_TEMP_L
-CRITLO_temp1=0
-CRITHI_temp1=60000
-
-LABEL_temp2=FAN_BD_TEMP_R
-CRITLO_temp2=0
-CRITHI_temp2=60000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1c.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1c.conf
deleted file mode 100644
index a7e74da32..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1c.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_OUTLET_3
-CRITLO_temp1=0
-CRITHI_temp1=100000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1e.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1e.conf
deleted file mode 100644
index 0bb21b236..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@1e.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-LABEL_temp1=SYS_OUTLET_0_L
-CRITLO_temp1=0
-CRITHI_temp1=100000
-
-LABEL_temp2=SYS_OUTLET_0_R
-CRITLO_temp2=0
-CRITHI_temp2=100000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@2a.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@2a.conf
deleted file mode 100644
index f794c0e7b..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@2a.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_OUTLET_1
-CRITLO_temp1=0
-CRITHI_temp1=100000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@4e.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@4e.conf
deleted file mode 100644
index 3834fc2dd..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@80/tmp421@4e.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-LABEL_temp1=SYS_OUTLET_2
-CRITLO_temp1=0
-CRITHI_temp1=100000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/flash-controller@1e631000/spi2@0.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/flash-controller@1e631000/spi2@0.conf
deleted file mode 100644
index 1311e52bb..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/flash-controller@1e631000/spi2@0.conf
+++ /dev/null
@@ -1,73 +0,0 @@
-LABEL_temp1=SOC_TEMP
-CRITLO_temp1=0
-CRITHI_temp1=94000
-
-LABEL_temp2=PMF2432_TEMP
-CRITLO_temp2=0
-CRITHI_temp2=103000
-
-LABEL_temp3=PMF2433_TEMP
-CRITLO_temp3=0
-CRITHI_temp3=103000
-
-LABEL_temp4=CVR_APC_TEMP
-CRITLO_temp4=0
-CRITHI_temp4=103000
-
-LABEL_temp5=CVR_CBF_TEMP
-CRITLO_temp5=0
-CRITHI_temp5=103000
-
-LABEL_temp6=DIMM_C0D0_TEMP
-CRITLO_temp6=0
-CRITHI_temp6=83000
-
-LABEL_temp7=DIMM_C0D1_TEMP
-CRITLO_temp7=0
-CRITHI_temp7=83000
-
-LABEL_temp8=DIMM_C1D0_TEMP
-CRITLO_temp8=0
-CRITHI_temp8=83000
-
-LABEL_temp9=DIMM_C1D1_TEMP
-CRITLO_temp9=0
-CRITHI_temp9=83000
-
-LABEL_temp10=DIMM_C2D0_TEMP
-CRITLO_temp10=0
-CRITHI_temp10=83000
-
-LABEL_temp11=DIMM_C2D1_TEMP
-CRITLO_temp11=0
-CRITHI_temp11=83000
-
-LABEL_temp12=DIMM_C3D0_TEMP
-CRITLO_temp12=0
-CRITHI_temp12=83000
-
-LABEL_temp13=DIMM_C3D1_TEMP
-CRITLO_temp13=0
-CRITHI_temp13=83000
-
-LABEL_temp14=DIMM_C4D0_TEMP
-CRITLO_temp14=0
-CRITHI_temp14=83000
-
-LABEL_temp15=DIMM_C4D1_TEMP
-CRITLO_temp15=0
-CRITHI_temp15=83000
-
-LABEL_temp16=DIMM_C5D0_TEMP
-CRITLO_temp16=0
-CRITHI_temp16=83000
-
-LABEL_temp17=DIMM_C5D1_TEMP
-CRITLO_temp17=0
-CRITHI_temp17=83000
-
-LABEL_power1=SOC_PWR
-WARNLO_power1=0
-WARNHI_power1=120000
-CRITLO_power1=0
-CRITHI_power1=130000
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf
deleted file mode 100644
index 86d33962d..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-LABEL_in1=SYS_3V3
-GAIN_in1=2.40
-WARNLO_in1=3132
-WARNHI_in1=3463
-CRITLO_in1=2975
-CRITHI_in1=3637
-LABEL_in2=SYS_5V0
-GAIN_in2=3.86
-WARNLO_in2=4744
-WARNHI_in2=5253
-CRITLO_in2=4502
-CRITHI_in2=5494
-LABEL_in3=SYS_12V0
-GAIN_in3=8.82
-WARNLO_in3=11408
-WARNHI_in3=12586
-CRITLO_in3=10850
-CRITHI_in3=13206
-LABEL_in6=SYS_3V3_AUX
-GAIN_in6=2.40
-WARNLO_in6=3132
-WARNHI_in6=3463
-CRITLO_in6=2975
-CRITHI_in6=3637
-LABEL_in8=SYS_3V0_Battery
-GAIN_in8=1.66
-WARNLO_in8=2849
-WARNHI_in8=3460
-CRITLO_in8=2701
-CRITHI_in8=3629
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
deleted file mode 100644
index 27d7ae216..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
+++ /dev/null
@@ -1,34 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-NAMES = " apb/bus@1e78a000/i2c-bus@1c0/tmp421@1d \
- apb/bus@1e78a000/i2c-bus@1c0/tmp421@1f \
- apb/bus@1e78a000/i2c-bus@1c0/tmp421@4d \
- apb/bus@1e78a000/i2c-bus@1c0/tmp421@4f \
- apb/bus@1e78a000/i2c-bus@1c0/nvt210@4c \
- apb/bus@1e78a000/i2c-bus@180/ir38163@42 \
- apb/bus@1e78a000/i2c-bus@180/ir38163@44 \
- apb/bus@1e78a000/i2c-bus@180/ir38163@46 \
- apb/bus@1e78a000/i2c-bus@180/ir38163@48 \
- apb/bus@1e78a000/i2c-bus@180/pxm1310@02 \
- apb/bus@1e78a000/i2c-bus@180/pxm1310@04 \
- apb/bus@1e78a000/i2c-bus@80/tmp421@1c \
- apb/bus@1e78a000/i2c-bus@80/tmp421@1e \
- apb/bus@1e78a000/i2c-bus@80/tmp421@2a \
- apb/bus@1e78a000/i2c-bus@80/tmp421@4e \
- apb/bus@1e78a000/i2c-bus@300/adm1278@10 \
- apb/bus@1e78a000/i2c-bus@300/adm1278@11 \
- apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/adm1278@12 \
- apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@20 \
- apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/max31790@23 \
- apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/tmp421@1d \
- apb/bus@1e78a000/i2c-bus@340/pca9641@70/i2c-arb/ds1100@58 \
- flash-controller@1e631000/spi2@0 \
-"
-
-ITEMSFMT = "ahb/{0}.conf"
-
-ITEMS = "${@compose_list(d, 'ITEMSFMT', 'NAMES')}"
-ITEMS += "iio-hwmon.conf"
-
-ENVS = "obmc/hwmon/{0}"
-SYSTEMD_ENVIRONMENT_FILE:${PN} += "${@compose_list(d, 'ENVS', 'ITEMS')}"
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/files/socupdate.sh b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/files/socupdate.sh
deleted file mode 100644
index 67d706339..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/files/socupdate.sh
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/bin/sh -e
-# SOC update tool, need two parameter(soc update file name and TFTP ip)
-
-if [ ! -n "$1" -o ! -n "$2" ] ;then
- echo "Please enter SOC-ImageName and TFTP-IP."
- echo "Format: socupdate.sh FileName IP"
- echo "Example: socupdate.sh 0ACJAXXX.ROM 192.168.1.1"
- exit
-fi
-
-echo "SOC update start."
-
-echo "Check BMC status."
-checkbmc='gpioutil -p Q4'
-if $checkbmc = "1"; then
- echo "BMC is ready."
-else
- echo "BMC isn't ready."
- exit
-fi
-
-echo "Check SOC image does it exist."
-cd /tmp/
-FILEEXIST=0
-if [ -f "/tmp/$1" ]; then
- GETFILE=`du -k $1 | awk '{print $1}'`
- if [ "$GETFILE" -eq "65536" ]; then
- FILEEXIST=1
- echo "SOC image is exist."
- else
- FILEEXIST=0
- fi
-fi
-
-if [ $FILEEXIST -eq 0 ]; then
- echo "Get SOC image from TFTP server."
- echo "Please wait a few minutes."
- tftp -g -r $1 $2 &
- sleep 2
- LENGTH=0
- ERRCOUNT=0
- while true
- do
- echo -ne "\r["
- usleep 500000
- while [ $LENGTH -le 30 ]
- do
- usleep 500000
- echo -n ">"
- LENGTH=$(($LENGTH+1))
- if [ -f "/tmp/$1" ]; then
- GETFILE=`du -k $1 | awk '{print $1}'`
- if [ $GETFILE -eq 65536 ]; then
- echo -en "\r"
- echo -en "--- Image download completed --- \n"
- usleep 1000000
- break 2
- fi
- else
- ERRCOUNT=$(($ERRCOUNT+1))
- if [ $ERRCOUNT -le 10 ]; then
- echo -en "\r"
- echo -en "SOC-ImageName or TFTP-IP is ERROR. \n"
- usleep 500000
- exit
- fi
- fi
- done
- echo -n "]"
- LENGTH=0
- usleep 500000
- echo -en "\r "
- done
-fi
-sleep 3
-
-echo "Switch the host SPI bus to BMC."
-cmd='gpioutil -p C7 -v 1'
-if $cmd 1>/dev/null 2>&1; then
- echo "Switch completed."
-else
- echo "Switch failed."
-fi
-echo "Load the ASpeed SMC driver"
-echo 1e630000.flash-controller > /sys/bus/platform/drivers/aspeed-smc/bind
-sleep 2
-chassisstate=$(obmcutil chassisstate | awk -F. '{print $NF}')
-echo "---Current Chassisstate $chassisstate---"
-if [ "$chassisstate" == 'On' ];
-then
- echo "---Chassis on turning it off---"
- obmcutil chassisoff
- sleep 10
-fi
-
-echo "Flashcp to update SOC."
-echo "Please wait a few minutes."
-flashcp -v /tmp/$1 /dev/mtd6
-sleep 3
-
-echo "Switch the host SPI bus to HOST."
-cmd1='gpioutil -p C7 -v 0'
-if $cmd1 1>/dev/null 2>&1; then
- echo "Switch completed."
-else
- echo "Switch failed."
-fi
-echo "unLoad the ASpeed SMC driver"
-echo 1e630000.flash-controller > /sys/bus/platform/drivers/aspeed-smc/unbind
-echo -ne "SOC update steps is complete.\n"
-if [ "$chassisstate" == 'On' ];
-then
- echo "5 sec later will be power-on."
- echo "If wantn't power-on, please CTRL + C leave script."
- WAITSEC=5
- while [ $WAITSEC -ge 0 ]
- do
- echo -n "Countdown seconds:$WAITSEC"
- sleep 1
- echo -en "\r"
- WAITSEC=$(($WAITSEC-1))
- if [ $WAITSEC -eq 0 ]; then
- echo -en "\r"
- echo -en "--- Power-on --- \n"
- obmcutil chassison
- break 1
- fi
- done
-fi
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/socupdate.bb b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/socupdate.bb
deleted file mode 100644
index 9c4a0bd7e..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/socupdate.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Qualcomm SOC update"
-DESCRIPTION = ""
-HOMEPAGE = ""
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-
-SRC_URI += "file://socupdate.sh"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/socupdate.sh ${D}${bindir}/socupdate.sh
-}
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config.bb b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config.bb
deleted file mode 100644
index 220adaca4..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Qualcomm Rep board wiring"
-DESCRIPTION = "Board wiring information for the Qualcomm Rep system."
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit allarch
-inherit setuptools
-inherit pythonnative
-
-PROVIDES += "virtual/obmc-inventory-data"
-RPROVIDES_${PN} += "virtual-obmc-inventory-data"
-
-DEPENDS += "python"
-
-S = "${WORKDIR}"
-SRC_URI += "file://Centriq2400-rep.py"
-
-python() {
- machine = d.getVar('MACHINE', True).capitalize() + '.py'
- d.setVar('_config_in_skeleton', machine)
-}
-
-do_make_setup() {
- cp ${S}/${_config_in_skeleton} \
- ${S}/obmc_system_config.py
- cat <<EOF > ${S}/setup.py
-from distutils.core import setup
-
-setup(name='${BPN}',
- version='${PR}',
- py_modules=['obmc_system_config'],
- )
-EOF
-}
-
-addtask make_setup after do_patch before do_configure
-
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config/Centriq2400-rep.py b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config/Centriq2400-rep.py
deleted file mode 100644
index 903964dd7..000000000
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config/Centriq2400-rep.py
+++ /dev/null
@@ -1,81 +0,0 @@
-## System states
-## state can change to next state in 2 ways:
-## - a process emits a GotoSystemState signal with state name to goto
-## - objects specified in EXIT_STATE_DEPEND have started
-SYSTEM_STATES = [
- 'BASE_APPS',
- 'BMC_STARTING',
- 'BMC_READY',
- 'HOST_POWERING_ON',
- 'HOST_POWERED_ON',
- 'HOST_BOOTING',
- 'HOST_BOOTED',
- 'HOST_POWERED_OFF',
-]
-
-EXIT_STATE_DEPEND = {
- 'BASE_APPS' : {
- '/org/openbmc/sensors': 0,
- },
- 'BMC_STARTING' : {
- '/org/openbmc/control/power0' : 0,
- '/org/openbmc/control/host0' : 0,
- '/org/openbmc/control/chassis0' : 0,
- },
-}
-
-FRU_INSTANCES = {
-'<inventory_root>/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 'manufacturer' : 'ASPEED' },
-}
-# I believe these numbers need to match the yaml file used to create the c++ ipmi map.
-# the devices have types, but I don't believe that factors in here, I think these are
-# just unique IDs.
-ID_LOOKUP = {
- 'FRU' : {},
- # The number at the end needs to match the FRU ID.
- # https://github.com/openbmc/skeleton/blob/master/pysystemmgr/system_manager.py#L143
- # The parameter for it is of type 'y' (unsigned 8-bit integer) presumably decimal?
- 'FRU_STR' : {},
- 'SENSOR' : {},
- 'GPIO_PRESENT' : {}
-}
-
-GPIO_CONFIG = {}
-GPIO_CONFIG['POWER_BUTTON'] = { 'gpio_pin': 'D3', 'direction': 'out' }
-GPIO_CONFIG['PGOOD'] = { 'gpio_pin': 'E2', 'direction': 'in' }
-GPIO_CONFIG['BMC_READY'] = { 'gpio_pin': 'Q4', 'direction': 'out' }
-GPIO_CONFIG['HOST_SPI_SWITCH'] = { 'gpio_pin': 'C7', 'direction': 'out'}
-GPIO_CONFIG['IMC_READY'] = { 'gpio_pin': 'O3', 'direction': 'both' }
-GPIO_CONFIG['IMC_INTERRUPT'] = { 'gpio_pin': 'O4', 'direction': 'both' }
-GPIO_CONFIG['RESET_BUTTON'] = { 'gpio_pin': 'G5', 'direction': 'both' }
-GPIO_CONFIG['QDF_RAS_ERROR_0'] = { 'gpio_pin': 'D6', 'direction': 'in' }
-GPIO_CONFIG['QDF_RAS_ERROR_1'] = { 'gpio_pin': 'D7', 'direction': 'in' }
-GPIO_CONFIG['QDF_RAS_ERROR_2'] = { 'gpio_pin': 'F1', 'direction': 'in' }
-
-GPIO_CONFIGS = {
- 'power_config' : {
- 'power_good_in' : 'PGOOD',
- 'power_up' : [
-#delay in ms
- ('POWER_BUTTON', 'LOW_HIGH',1000),
- ],
- 'power_out' : [
- ('POWER_BUTTON', 'LOW_HIGH',8000),
- ],
- }}
- 'host_config' : {
- 'imc_ready' : 'IMC_READY',
- 'imc_interrupt': 'IMC_INTERRUPT',
- 'bmc_ready' : 'BMC_READY',
- 'host_spi_switch' : 'HOST_SPI_SWITCH',
- },
-}
-
-# Miscellaneous non-poll sensor with system specific properties.
-# The sensor id is the same as those defined in ID_LOOKUP['SENSOR'].
-
-MISC_SENSORS = {
-
-}
-
-# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/meta-quanta/conf/layer.conf b/meta-quanta/conf/layer.conf
index a64d93e6c..c461069ed 100644
--- a/meta-quanta/conf/layer.conf
+++ b/meta-quanta/conf/layer.conf
@@ -8,3 +8,4 @@ BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "quanta-layer"
BBFILE_PATTERN_quanta-layer := "^${LAYERDIR}/"
LAYERSERIES_COMPAT_quanta-layer = "hardknott honister"
+LAYERDEPENDS_quanta-layer = "phosphor-layer"
diff --git a/meta-quanta/meta-gbs/conf/layer.conf b/meta-quanta/meta-gbs/conf/layer.conf
index 9f41e0501..cd2ca1d32 100644
--- a/meta-quanta/meta-gbs/conf/layer.conf
+++ b/meta-quanta/meta-gbs/conf/layer.conf
@@ -8,3 +8,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "gbs-layer"
BBFILE_PATTERN_gbs-layer := "^${LAYERDIR}/"
LAYERSERIES_COMPAT_gbs-layer = "hardknott honister"
+LAYERDEPENDS_gbs-layer = "core phosphor-layer google-layer quanta-layer"
diff --git a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/gbs.cfg b/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/gbs.cfg
index 0fca8252f..324af83c0 100644
--- a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/gbs.cfg
+++ b/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/gbs.cfg
@@ -119,3 +119,8 @@ CONFIG_MTD_M25P80=y
CONFIG_MUX_MMIO=y
CONFIG_NPCM7XX_LPC_BPC=y
CONFIG_MTD_PARTITIONED_MASTER=y
+
+# Enable hmac api for UUID
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_USER_API_HASH=y
diff --git a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend
index 9860495ea..505390146 100644
--- a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -28,8 +28,7 @@ OBMC_IMAGE_EXTRA_INSTALL:append:gbs = " phosphor-hwmon"
OBMC_IMAGE_EXTRA_INSTALL:append:gbs = " phosphor-inventory-manager"
# Required for obmc-bmcweb
OBMC_IMAGE_EXTRA_INSTALL:append:gbs = " bmcweb"
-OBMC_IMAGE_EXTRA_INSTALL:append:gbs = " phosphor-bmcweb-cert-config"
-OBMC_IMAGE_EXTRA_INSTALL:append:gbs = " phosphor-nslcd-authority-cert-config"
+OBMC_IMAGE_EXTRA_INSTALL:append:gbs = " phosphor-certificate-manager"
OBMC_IMAGE_EXTRA_INSTALL:append:gbs = " phosphor-user-manager"
# Required for LEDs. Part of obmc-leds
OBMC_IMAGE_EXTRA_INSTALL:append:gbs = " ${VIRTUAL-RUNTIME_obmc-leds-manager}"
diff --git a/meta-quanta/meta-gsj/conf/layer.conf b/meta-quanta/meta-gsj/conf/layer.conf
index 7591e0953..372fb65da 100644
--- a/meta-quanta/meta-gsj/conf/layer.conf
+++ b/meta-quanta/meta-gsj/conf/layer.conf
@@ -8,3 +8,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "gsj-layer"
BBFILE_PATTERN_gsj-layer := "^${LAYERDIR}/"
LAYERSERIES_COMPAT_gsj-layer = "hardknott honister"
+LAYERDEPENDS_gsj-layer = "core phosphor-layer google-layer quanta-layer"
diff --git a/meta-quanta/meta-gsj/conf/machine/gsj.conf b/meta-quanta/meta-gsj/conf/machine/gsj.conf
index c5089e804..ce58a91c3 100644
--- a/meta-quanta/meta-gsj/conf/machine/gsj.conf
+++ b/meta-quanta/meta-gsj/conf/machine/gsj.conf
@@ -11,7 +11,7 @@ require conf/machine/include/obmc-bsp-common.inc
IMAGE_FSTYPES += " cpio.${INITRAMFS_CTYPE}.u-boot"
IMAGE_FSTYPES += " mtd-ubi-tar"
-OBMC_MACHINE_FEATURES += "\
+MACHINE_FEATURES += "\
obmc-phosphor-fan-mgmt \
obmc-phosphor-chassis-mgmt \
obmc-phosphor-flash-mgmt \
diff --git a/meta-quanta/meta-olympus-nuvoton/conf/machine/olympus-nuvoton.conf b/meta-quanta/meta-olympus-nuvoton/conf/machine/olympus-nuvoton.conf
index 7fadd1aba..a90e77bf6 100644
--- a/meta-quanta/meta-olympus-nuvoton/conf/machine/olympus-nuvoton.conf
+++ b/meta-quanta/meta-olympus-nuvoton/conf/machine/olympus-nuvoton.conf
@@ -16,7 +16,7 @@ IGPS_MACHINE = "RunBMC"
IMAGE_FSTYPES += " cpio.${INITRAMFS_CTYPE}.u-boot"
-OBMC_MACHINE_FEATURES += "\
+MACHINE_FEATURES += "\
obmc-phosphor-fan-mgmt \
obmc-phosphor-chassis-mgmt \
obmc-phosphor-flash-mgmt \
diff --git a/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf b/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf
index 2bcaeaaa1..935bd99ca 100644
--- a/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf
+++ b/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf
@@ -11,7 +11,7 @@ UBOOT_LOADADDRESS = "0x40008000"
FLASH_SIZE = "32768"
# If we included the openpower.inc we'd get these from that.
-#OBMC_MACHINE_FEATURES += "\
+#MACHINE_FEATURES += "\
# obmc-phosphor-fan-mgmt \
# obmc-phosphor-chassis-mgmt \
# obmc-phosphor-flash-mgmt \
diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb
index 74550efd1..50c2b5318 100644
--- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb
+++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb
@@ -29,6 +29,13 @@ CMDLINE_LOGO ?= '${@oe.utils.conditional("DISABLE_RPI_BOOT_LOGO", "1", "logo.nol
# to enable kernel debugging.
CMDLINE_DEBUG ?= ""
+# Add RNDIS capabilities (must be after rootwait)
+# example:
+# CMDLINE_RNDIS = "modules-load=dwc2,g_ether g_ether.host_addr=<some MAC
+# address> g_ether.dev_addr=<some MAC address>"
+# if the MAC addresses are omitted, random values will be used
+CMDLINE_RNDIS ?= ""
+
CMDLINE = " \
${CMDLINE_DWC_OTG} \
${CMDLINE_SERIAL} \
@@ -38,6 +45,7 @@ CMDLINE = " \
${CMDLINE_LOGO} \
${CMDLINE_PITFT} \
${CMDLINE_DEBUG} \
+ ${CMDLINE_RNDIS} \
"
do_compile() {
diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
index 583144d05..657123faa 100644
--- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
+++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
@@ -215,7 +215,7 @@ do_deploy() {
fi
# DWC2 USB peripheral support
- if [ "${ENABLE_DWC2_PERIPHERAL}" = "1" ]; then
+ if ([ "${ENABLE_DWC2_PERIPHERAL}" = "1" ] && [ "${ENABLE_DWC2_OTG}" != "1" ]); then
echo "# Enable USB peripheral mode" >> $CONFIG
echo "dtoverlay=dwc2,dr_mode=peripheral" >> $CONFIG
fi
@@ -225,6 +225,12 @@ do_deploy() {
echo "# Enable USB host mode" >> $CONFIG
echo "dtoverlay=dwc2,dr_mode=host" >> $CONFIG
fi
+
+ # DWC2 USB OTG support
+ if ([ "${ENABLE_DWC2_OTG}" = "1" ] && [ "${ENABLE_DWC2_PERIPHERAL}" != "1" ]); then
+ echo "# Enable USB OTG mode" >> $CONFIG
+ echo "dtoverlay=dwc2,dr_mode=otg" >> $CONFIG
+ fi
# AT86RF23X support
if [ "${ENABLE_AT86RF}" = "1" ]; then
diff --git a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
index 8a2a6e117..3dcfb9d8b 100644
--- a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
+++ b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
@@ -1,9 +1,9 @@
-RPIFW_DATE ?= "20210819"
-SRCREV ?= "25e2b597ebfb2495eab4816a276758dcc6ea21f1"
+RPIFW_DATE ?= "20210914"
+SRCREV ?= "d5d14f484cec739901a088a58eed62452b6dadeb"
RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-firmware-${SRCREV}.tar.gz"
RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[sha256sum] = "abecc797c057ae57663eb54f2f0f5af79fb317bf873d2b3345f333848a5da3ee"
+SRC_URI[sha256sum] = "f5b3d9fa60afbc103b00bc7f5899ea49ef61d353b88624b42dbf7669446a44ac"
PV = "${RPIFW_DATE}"
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
index e8aa8789a..347c72669 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
@@ -1,9 +1,9 @@
-LINUX_VERSION ?= "5.10.59"
+LINUX_VERSION ?= "5.10.63"
LINUX_RPI_BRANCH ?= "rpi-5.10.y"
LINUX_RPI_KMETA_BRANCH ?= "yocto-5.10"
-SRCREV_machine = "7f4de43d1e8f06f63697c7b571b509348fb29642"
-SRCREV_meta = "e44a7f9801f8fc6b670bf121038d912257a83d7e"
+SRCREV_machine = "4117cba235d24a7c4630dc38cb55cc80a04f5cf3"
+SRCREV_meta = "e0147386e9f3c4cabc6f6d256d457fd4e67eb221"
KMETA = "kernel-meta"
diff --git a/meta-security/classes/dm-verity-img.bbclass b/meta-security/classes/dm-verity-img.bbclass
index a0950dabd..0b6d053a8 100644
--- a/meta-security/classes/dm-verity-img.bbclass
+++ b/meta-security/classes/dm-verity-img.bbclass
@@ -22,6 +22,9 @@
# is stored where it can be installed into associated initramfs rootfs.
STAGING_VERITY_DIR ?= "${TMPDIR}/work-shared/${MACHINE}/dm-verity"
+# Define the data block size to use in veritysetup.
+DM_VERITY_IMAGE_DATA_BLOCK_SIZE ?= "1024"
+
# Process the output from veritysetup and generate the corresponding .env
# file. The output from veritysetup is not very machine-friendly so we need to
# convert it to some better format. Let's drop the first line (doesn't contain
@@ -57,7 +60,7 @@ verity_setup() {
# Let's drop the first line of output (doesn't contain any useful info)
# and feed the rest to another function.
- veritysetup --data-block-size=1024 --hash-offset=$SIZE format $OUTPUT $OUTPUT | tail -n +2 | process_verity
+ veritysetup --data-block-size=${DM_VERITY_IMAGE_DATA_BLOCK_SIZE} --hash-offset=$SIZE format $OUTPUT $OUTPUT | tail -n +2 | process_verity
}
VERITY_TYPES = "ext2.verity ext3.verity ext4.verity btrfs.verity"
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/files/cryptoki.patch b/meta-security/meta-parsec/recipes-parsec/parsec-service/files/cryptoki.patch
deleted file mode 100644
index c23447967..000000000
--- a/meta-security/meta-parsec/recipes-parsec/parsec-service/files/cryptoki.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-Use cryptoki v0.1.1 which supports the "generate-bindings" feature
-required for building Parsec service 0.7.0 in Yocto.
-
-Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
-Upstream-Status: Submitted
-
---- a/Cargo.toml 2021-04-01 10:29:50.333687763 +0100
-+++ b/Cargo.toml 2021-04-01 10:27:13.051860002 +0100
-@@ -37,7 +37,7 @@
- version = "1.3.1"
-
- [dependencies.cryptoki]
--version = "0.1.0"
-+version = "0.1.1"
- features = ["psa-crypto-conversions"]
- optional = true
-
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.inc b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.inc
deleted file mode 100644
index 59a47f92a..000000000
--- a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.inc
+++ /dev/null
@@ -1,147 +0,0 @@
-# This file is created from parsec-service repository Cargo.lock using cargo-bitbake tool
-
-SRC_URI += " \
- crate://crates.io/aho-corasick/0.7.15 \
- crate://crates.io/ansi_term/0.11.0 \
- crate://crates.io/anyhow/1.0.38 \
- crate://crates.io/atty/0.2.14 \
- crate://crates.io/autocfg/1.0.1 \
- crate://crates.io/base64/0.12.3 \
- crate://crates.io/base64/0.13.0 \
- crate://crates.io/bincode/1.3.2 \
- crate://crates.io/bindgen/0.56.0 \
- crate://crates.io/bindgen/0.57.0 \
- crate://crates.io/bitfield/0.13.2 \
- crate://crates.io/bitflags/1.2.1 \
- crate://crates.io/byteorder/1.3.4 \
- crate://crates.io/bytes/0.5.6 \
- crate://crates.io/bytes/1.0.1 \
- crate://crates.io/cc/1.0.67 \
- crate://crates.io/cexpr/0.4.0 \
- crate://crates.io/cfg-if/1.0.0 \
- crate://crates.io/clang-sys/1.1.1 \
- crate://crates.io/clap/2.33.3 \
- crate://crates.io/cmake/0.1.45 \
- crate://crates.io/cryptoauthlib-sys/0.1.0 \
- crate://crates.io/cryptoki-sys/0.1.1 \
- crate://crates.io/cryptoki/0.1.1 \
- crate://crates.io/derivative/2.2.0 \
- crate://crates.io/either/1.6.1 \
- crate://crates.io/enumflags2/0.6.4 \
- crate://crates.io/enumflags2_derive/0.6.4 \
- crate://crates.io/env_logger/0.8.3 \
- crate://crates.io/fixedbitset/0.2.0 \
- crate://crates.io/getrandom/0.2.2 \
- crate://crates.io/glob/0.3.0 \
- crate://crates.io/hashbrown/0.9.1 \
- crate://crates.io/heck/0.3.2 \
- crate://crates.io/hermit-abi/0.1.18 \
- crate://crates.io/hex/0.4.3 \
- crate://crates.io/hostname-validator/1.0.0 \
- crate://crates.io/humantime/2.1.0 \
- crate://crates.io/indexmap/1.6.2 \
- crate://crates.io/itertools/0.8.2 \
- crate://crates.io/itertools/0.9.0 \
- crate://crates.io/lazy_static/1.4.0 \
- crate://crates.io/lazycell/1.3.0 \
- crate://crates.io/libc/0.2.89 \
- crate://crates.io/libloading/0.7.0 \
- crate://crates.io/log/0.4.14 \
- crate://crates.io/mbox/0.5.0 \
- crate://crates.io/memchr/2.3.4 \
- crate://crates.io/multimap/0.8.3 \
- crate://crates.io/nom/5.1.2 \
- crate://crates.io/num-bigint/0.3.2 \
- crate://crates.io/num-complex/0.3.1 \
- crate://crates.io/num-derive/0.3.3 \
- crate://crates.io/num-integer/0.1.44 \
- crate://crates.io/num-iter/0.1.42 \
- crate://crates.io/num-rational/0.3.2 \
- crate://crates.io/num-traits/0.2.14 \
- crate://crates.io/num/0.3.1 \
- crate://crates.io/num_cpus/1.13.0 \
- crate://crates.io/oid/0.1.1 \
- crate://crates.io/parsec-interface/0.24.0 \
- crate://crates.io/peeking_take_while/0.1.2 \
- crate://crates.io/petgraph/0.5.1 \
- crate://crates.io/picky-asn1-der/0.2.4 \
- crate://crates.io/picky-asn1-x509/0.4.0 \
- crate://crates.io/picky-asn1/0.3.1 \
- crate://crates.io/pkg-config/0.3.19 \
- crate://crates.io/ppv-lite86/0.2.10 \
- crate://crates.io/proc-macro-error-attr/1.0.4 \
- crate://crates.io/proc-macro-error/1.0.4 \
- crate://crates.io/proc-macro2/1.0.24 \
- crate://crates.io/prost-build/0.6.1 \
- crate://crates.io/prost-build/0.7.0 \
- crate://crates.io/prost-derive/0.6.1 \
- crate://crates.io/prost-derive/0.7.0 \
- crate://crates.io/prost-types/0.6.1 \
- crate://crates.io/prost-types/0.7.0 \
- crate://crates.io/prost/0.6.1 \
- crate://crates.io/prost/0.7.0 \
- crate://crates.io/psa-crypto-sys/0.8.0 \
- crate://crates.io/psa-crypto/0.8.0 \
- crate://crates.io/quote/1.0.9 \
- crate://crates.io/rand/0.8.3 \
- crate://crates.io/rand_chacha/0.3.0 \
- crate://crates.io/rand_core/0.6.2 \
- crate://crates.io/rand_hc/0.3.0 \
- crate://crates.io/redox_syscall/0.2.5 \
- crate://crates.io/regex-syntax/0.6.23 \
- crate://crates.io/regex/1.4.5 \
- crate://crates.io/remove_dir_all/0.5.3 \
- crate://crates.io/rust-cryptoauthlib/0.1.0 \
- crate://crates.io/rustc-hash/1.1.0 \
- crate://crates.io/rustc_version/0.2.3 \
- crate://crates.io/same-file/1.0.6 \
- crate://crates.io/sd-notify/0.2.0 \
- crate://crates.io/secrecy/0.7.0 \
- crate://crates.io/semver-parser/0.7.0 \
- crate://crates.io/semver/0.9.0 \
- crate://crates.io/serde/1.0.124 \
- crate://crates.io/serde_bytes/0.11.5 \
- crate://crates.io/serde_derive/1.0.124 \
- crate://crates.io/shlex/0.1.1 \
- crate://crates.io/signal-hook-registry/1.3.0 \
- crate://crates.io/signal-hook/0.3.7 \
- crate://crates.io/stable_deref_trait/1.2.0 \
- crate://crates.io/strsim/0.8.0 \
- crate://crates.io/structopt-derive/0.4.14 \
- crate://crates.io/structopt/0.3.21 \
- crate://crates.io/strum_macros/0.19.4 \
- crate://crates.io/syn/1.0.64 \
- crate://crates.io/synstructure/0.12.4 \
- crate://crates.io/tempfile/3.2.0 \
- crate://crates.io/termcolor/1.1.2 \
- crate://crates.io/textwrap/0.11.0 \
- crate://crates.io/thiserror-impl/1.0.24 \
- crate://crates.io/thiserror/1.0.24 \
- crate://crates.io/threadpool/1.8.1 \
- crate://crates.io/toml/0.5.8 \
- crate://crates.io/tss-esapi-sys/0.1.0 \
- crate://crates.io/tss-esapi/5.0.0 \
- crate://crates.io/unicode-segmentation/1.7.1 \
- crate://crates.io/unicode-width/0.1.8 \
- crate://crates.io/unicode-xid/0.2.1 \
- crate://crates.io/users/0.11.0 \
- crate://crates.io/uuid/0.8.2 \
- crate://crates.io/vec_map/0.8.2 \
- crate://crates.io/version/3.0.0 \
- crate://crates.io/version_check/0.9.3 \
- crate://crates.io/walkdir/2.3.1 \
- crate://crates.io/wasi/0.10.2+wasi-snapshot-preview1 \
- crate://crates.io/which/3.1.1 \
- crate://crates.io/which/4.0.2 \
- crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
- crate://crates.io/winapi-util/0.1.5 \
- crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
- crate://crates.io/winapi/0.3.9 \
- crate://crates.io/zeroize/1.2.0 \
- crate://crates.io/zeroize_derive/1.0.1 \
- file://cryptoki.patch \
-"
-
-LIC_FILES_CHKSUM = " \
- file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-"
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.bb b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb
index 5f7a99b42..b8bfa98ac 100644
--- a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.bb
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb
@@ -10,9 +10,18 @@ SRC_URI += "crate://crates.io/parsec-service/${PV} \
file://parsec-tmpfiles.conf \
"
-DEPENDS = "tpm2-tss clang-native"
-
-CARGO_BUILD_FLAGS += " --features all-providers,cryptoki/generate-bindings,tss-esapi/generate-bindings"
+DEPENDS = "clang-native"
+
+PACKAGECONFIG ??= "TPM PKCS11 MBED-CRYPTO CRYPTOAUTHLIB"
+PACKAGECONFIG[ALL] = "all-providers,,tpm2-tss libts,libts"
+PACKAGECONFIG[TPM] = "tpm-provider,,tpm2-tss"
+PACKAGECONFIG[PKCS11] = "pkcs11-provider,"
+PACKAGECONFIG[MBED-CRYPTO] = "mbed-crypto-provider,"
+PACKAGECONFIG[CRYPTOAUTHLIB] = "cryptoauthlib-provider,"
+PACKAGECONFIG[TS] = "trusted-service-provider,,libts,libts"
+
+PARSEC_PROVIDERS = "${@d.getVar('PACKAGECONFIG_CONFARGS',True).replace(' ', ',')}"
+CARGO_BUILD_FLAGS += " --features ${PARSEC_PROVIDERS},cryptoki/generate-bindings,tss-esapi/generate-bindings"
inherit systemd
SYSTEMD_SERVICE:${PN} = "parsec.service"
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.inc b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.inc
new file mode 100644
index 000000000..fd88e8717
--- /dev/null
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.inc
@@ -0,0 +1,246 @@
+# This file is created from parsec-service repository Cargo.lock using cargo-bitbake tool
+
+SRC_URI += " \
+ crate://crates.io/addr2line/0.15.2 \
+ crate://crates.io/adler/1.0.2 \
+ crate://crates.io/aho-corasick/0.7.15 \
+ crate://crates.io/ansi_term/0.11.0 \
+ crate://crates.io/anyhow/1.0.41 \
+ crate://crates.io/arrayvec/0.5.2 \
+ crate://crates.io/atty/0.2.14 \
+ crate://crates.io/autocfg/1.0.1 \
+ crate://crates.io/backtrace/0.3.59 \
+ crate://crates.io/base64/0.12.3 \
+ crate://crates.io/base64/0.13.0 \
+ crate://crates.io/bincode/1.3.3 \
+ crate://crates.io/bindgen/0.56.0 \
+ crate://crates.io/bindgen/0.57.0 \
+ crate://crates.io/bitfield/0.13.2 \
+ crate://crates.io/bitflags/1.2.1 \
+ crate://crates.io/bitvec/0.19.5 \
+ crate://crates.io/boringssl-src/0.3.0+688fc5c \
+ crate://crates.io/bumpalo/3.7.0 \
+ crate://crates.io/bytes/0.5.6 \
+ crate://crates.io/bytes/1.0.1 \
+ crate://crates.io/cc/1.0.68 \
+ crate://crates.io/cexpr/0.4.0 \
+ crate://crates.io/cfg-if/1.0.0 \
+ crate://crates.io/chrono/0.4.19 \
+ crate://crates.io/clang-sys/1.2.0 \
+ crate://crates.io/clap/2.33.3 \
+ crate://crates.io/cmake/0.1.45 \
+ crate://crates.io/const-oid/0.6.0 \
+ crate://crates.io/cryptoauthlib-sys/0.2.0 \
+ crate://crates.io/cryptoki-sys/0.1.2 \
+ crate://crates.io/cryptoki/0.2.0 \
+ crate://crates.io/data-encoding/2.3.2 \
+ crate://crates.io/der-oid-macro/0.4.0 \
+ crate://crates.io/der-parser/5.1.0 \
+ crate://crates.io/der/0.4.0 \
+ crate://crates.io/derivative/2.2.0 \
+ crate://crates.io/either/1.6.1 \
+ crate://crates.io/enumflags2/0.6.4 \
+ crate://crates.io/enumflags2_derive/0.6.4 \
+ crate://crates.io/env_logger/0.8.4 \
+ crate://crates.io/failure/0.1.8 \
+ crate://crates.io/failure_derive/0.1.8 \
+ crate://crates.io/fixedbitset/0.2.0 \
+ crate://crates.io/form_urlencoded/1.0.1 \
+ crate://crates.io/funty/1.1.0 \
+ crate://crates.io/futures-channel/0.3.15 \
+ crate://crates.io/futures-core/0.3.15 \
+ crate://crates.io/futures-executor/0.3.15 \
+ crate://crates.io/futures-io/0.3.15 \
+ crate://crates.io/futures-macro/0.3.15 \
+ crate://crates.io/futures-sink/0.3.15 \
+ crate://crates.io/futures-task/0.3.15 \
+ crate://crates.io/futures-util/0.3.15 \
+ crate://crates.io/futures/0.3.15 \
+ crate://crates.io/generic-array/0.14.4 \
+ crate://crates.io/getrandom/0.2.3 \
+ crate://crates.io/gimli/0.24.0 \
+ crate://crates.io/glob/0.3.0 \
+ crate://crates.io/grpcio-compiler/0.7.0 \
+ crate://crates.io/grpcio-sys/0.9.0+1.38.0 \
+ crate://crates.io/grpcio/0.9.0 \
+ crate://crates.io/hamming/0.1.3 \
+ crate://crates.io/hashbrown/0.9.1 \
+ crate://crates.io/heck/0.3.3 \
+ crate://crates.io/hermit-abi/0.1.18 \
+ crate://crates.io/hex/0.4.3 \
+ crate://crates.io/hostname-validator/1.1.0 \
+ crate://crates.io/humantime/2.1.0 \
+ crate://crates.io/idna/0.2.3 \
+ crate://crates.io/indexmap/1.6.2 \
+ crate://crates.io/instant/0.1.9 \
+ crate://crates.io/itertools/0.8.2 \
+ crate://crates.io/itertools/0.9.0 \
+ crate://crates.io/itoa/0.4.7 \
+ crate://crates.io/js-sys/0.3.51 \
+ crate://crates.io/jsonwebkey/0.3.2 \
+ crate://crates.io/jsonwebtoken/7.2.0 \
+ crate://crates.io/lazy_static/1.4.0 \
+ crate://crates.io/lazycell/1.3.0 \
+ crate://crates.io/lexical-core/0.7.6 \
+ crate://crates.io/libc/0.2.97 \
+ crate://crates.io/libloading/0.7.0 \
+ crate://crates.io/libz-sys/1.1.3 \
+ crate://crates.io/lock_api/0.4.4 \
+ crate://crates.io/log/0.4.14 \
+ crate://crates.io/matches/0.1.8 \
+ crate://crates.io/mbox/0.5.0 \
+ crate://crates.io/memchr/2.3.4 \
+ crate://crates.io/miniz_oxide/0.4.4 \
+ crate://crates.io/multimap/0.8.3 \
+ crate://crates.io/nom/5.1.2 \
+ crate://crates.io/nom/6.2.0 \
+ crate://crates.io/num-bigint/0.2.6 \
+ crate://crates.io/num-bigint/0.3.2 \
+ crate://crates.io/num-bigint/0.4.0 \
+ crate://crates.io/num-complex/0.3.1 \
+ crate://crates.io/num-derive/0.3.3 \
+ crate://crates.io/num-integer/0.1.44 \
+ crate://crates.io/num-iter/0.1.42 \
+ crate://crates.io/num-rational/0.3.2 \
+ crate://crates.io/num-traits/0.2.14 \
+ crate://crates.io/num/0.3.1 \
+ crate://crates.io/num_cpus/1.13.0 \
+ crate://crates.io/object/0.24.0 \
+ crate://crates.io/oid-registry/0.1.3 \
+ crate://crates.io/oid/0.1.1 \
+ crate://crates.io/once_cell/1.8.0 \
+ crate://crates.io/parking_lot/0.11.1 \
+ crate://crates.io/parking_lot_core/0.8.3 \
+ crate://crates.io/parsec-interface/0.25.0 \
+ crate://crates.io/peeking_take_while/0.1.2 \
+ crate://crates.io/pem/0.8.3 \
+ crate://crates.io/percent-encoding/2.1.0 \
+ crate://crates.io/petgraph/0.5.1 \
+ crate://crates.io/picky-asn1-der/0.2.4 \
+ crate://crates.io/picky-asn1-x509/0.4.0 \
+ crate://crates.io/picky-asn1/0.3.1 \
+ crate://crates.io/pin-project-lite/0.2.6 \
+ crate://crates.io/pin-utils/0.1.0 \
+ crate://crates.io/pkcs8/0.7.0 \
+ crate://crates.io/pkg-config/0.3.19 \
+ crate://crates.io/ppv-lite86/0.2.10 \
+ crate://crates.io/primal-bit/0.3.0 \
+ crate://crates.io/primal-check/0.3.1 \
+ crate://crates.io/primal-estimate/0.3.1 \
+ crate://crates.io/primal-sieve/0.3.1 \
+ crate://crates.io/primal/0.3.0 \
+ crate://crates.io/proc-macro-error-attr/1.0.4 \
+ crate://crates.io/proc-macro-error/1.0.4 \
+ crate://crates.io/proc-macro-hack/0.5.19 \
+ crate://crates.io/proc-macro-nested/0.1.7 \
+ crate://crates.io/proc-macro2/1.0.27 \
+ crate://crates.io/prost-build/0.7.0 \
+ crate://crates.io/prost-derive/0.6.1 \
+ crate://crates.io/prost-derive/0.7.0 \
+ crate://crates.io/prost-types/0.7.0 \
+ crate://crates.io/prost/0.6.1 \
+ crate://crates.io/prost/0.7.0 \
+ crate://crates.io/protobuf-codegen/2.24.1 \
+ crate://crates.io/protobuf/2.24.1 \
+ crate://crates.io/protoc-grpcio/3.0.0 \
+ crate://crates.io/protoc/2.24.1 \
+ crate://crates.io/psa-crypto-sys/0.9.0 \
+ crate://crates.io/psa-crypto/0.9.0 \
+ crate://crates.io/quote/1.0.9 \
+ crate://crates.io/radium/0.5.3 \
+ crate://crates.io/rand/0.8.4 \
+ crate://crates.io/rand_chacha/0.3.1 \
+ crate://crates.io/rand_core/0.6.3 \
+ crate://crates.io/rand_hc/0.3.1 \
+ crate://crates.io/redox_syscall/0.2.9 \
+ crate://crates.io/regex-syntax/0.6.25 \
+ crate://crates.io/regex/1.4.6 \
+ crate://crates.io/remove_dir_all/0.5.3 \
+ crate://crates.io/ring/0.16.20 \
+ crate://crates.io/rust-cryptoauthlib/0.4.0 \
+ crate://crates.io/rustc-demangle/0.1.20 \
+ crate://crates.io/rustc-hash/1.1.0 \
+ crate://crates.io/rustc_version/0.2.3 \
+ crate://crates.io/rusticata-macros/3.0.1 \
+ crate://crates.io/rustversion/1.0.5 \
+ crate://crates.io/ryu/1.0.5 \
+ crate://crates.io/same-file/1.0.6 \
+ crate://crates.io/scopeguard/1.1.0 \
+ crate://crates.io/sd-notify/0.2.0 \
+ crate://crates.io/secrecy/0.7.0 \
+ crate://crates.io/semver-parser/0.7.0 \
+ crate://crates.io/semver/0.9.0 \
+ crate://crates.io/serde/1.0.126 \
+ crate://crates.io/serde_bytes/0.11.5 \
+ crate://crates.io/serde_derive/1.0.126 \
+ crate://crates.io/serde_json/1.0.64 \
+ crate://crates.io/shlex/0.1.1 \
+ crate://crates.io/signal-hook-registry/1.4.0 \
+ crate://crates.io/signal-hook/0.3.9 \
+ crate://crates.io/simple_asn1/0.4.1 \
+ crate://crates.io/simple_asn1/0.5.3 \
+ crate://crates.io/slab/0.4.3 \
+ crate://crates.io/smallvec/1.6.1 \
+ crate://crates.io/spiffe/0.1.1 \
+ crate://crates.io/spin/0.5.2 \
+ crate://crates.io/spki/0.4.0 \
+ crate://crates.io/stable_deref_trait/1.2.0 \
+ crate://crates.io/static_assertions/1.1.0 \
+ crate://crates.io/strsim/0.8.0 \
+ crate://crates.io/structopt-derive/0.4.14 \
+ crate://crates.io/structopt/0.3.21 \
+ crate://crates.io/strum_macros/0.19.4 \
+ crate://crates.io/syn/1.0.73 \
+ crate://crates.io/synstructure/0.12.4 \
+ crate://crates.io/tap/1.0.1 \
+ crate://crates.io/target-lexicon/0.12.0 \
+ crate://crates.io/tempfile/3.2.0 \
+ crate://crates.io/termcolor/1.1.2 \
+ crate://crates.io/textwrap/0.11.0 \
+ crate://crates.io/thiserror-impl/1.0.25 \
+ crate://crates.io/thiserror/1.0.25 \
+ crate://crates.io/threadpool/1.8.1 \
+ crate://crates.io/time/0.1.44 \
+ crate://crates.io/tinyvec/1.2.0 \
+ crate://crates.io/tinyvec_macros/0.1.0 \
+ crate://crates.io/toml/0.5.8 \
+ crate://crates.io/tss-esapi-sys/0.2.0 \
+ crate://crates.io/tss-esapi/7.0.0-alpha.1 \
+ crate://crates.io/typenum/1.13.0 \
+ crate://crates.io/unicode-bidi/0.3.5 \
+ crate://crates.io/unicode-normalization/0.1.19 \
+ crate://crates.io/unicode-segmentation/1.7.1 \
+ crate://crates.io/unicode-width/0.1.8 \
+ crate://crates.io/unicode-xid/0.2.2 \
+ crate://crates.io/untrusted/0.7.1 \
+ crate://crates.io/url/2.2.2 \
+ crate://crates.io/users/0.11.0 \
+ crate://crates.io/uuid/0.8.2 \
+ crate://crates.io/vcpkg/0.2.15 \
+ crate://crates.io/vec_map/0.8.2 \
+ crate://crates.io/version/3.0.0 \
+ crate://crates.io/version_check/0.9.3 \
+ crate://crates.io/walkdir/2.3.2 \
+ crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \
+ crate://crates.io/wasm-bindgen-backend/0.2.74 \
+ crate://crates.io/wasm-bindgen-macro-support/0.2.74 \
+ crate://crates.io/wasm-bindgen-macro/0.2.74 \
+ crate://crates.io/wasm-bindgen-shared/0.2.74 \
+ crate://crates.io/wasm-bindgen/0.2.74 \
+ crate://crates.io/web-sys/0.3.51 \
+ crate://crates.io/which/3.1.1 \
+ crate://crates.io/which/4.1.0 \
+ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi-util/0.1.5 \
+ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi/0.3.9 \
+ crate://crates.io/wyz/0.2.0 \
+ crate://crates.io/x509-parser/0.9.2 \
+ crate://crates.io/yasna/0.3.2 \
+ crate://crates.io/zeroize/1.3.0 \
+ crate://crates.io/zeroize_derive/1.1.0 \
+"
+
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+"
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.inc b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.inc
deleted file mode 100644
index 9560dcff1..000000000
--- a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.inc
+++ /dev/null
@@ -1,127 +0,0 @@
-# This file is created from parsec-tool repository Cargo.lock using cargo-bitbake tool
-
-SRC_URI += " \
- crate://crates.io/aho-corasick/0.7.15 \
- crate://crates.io/ansi_term/0.11.0 \
- crate://crates.io/ansi_term/0.12.1 \
- crate://crates.io/anyhow/1.0.38 \
- crate://crates.io/atty/0.2.14 \
- crate://crates.io/autocfg/1.0.1 \
- crate://crates.io/base64/0.13.0 \
- crate://crates.io/bincode/1.3.1 \
- crate://crates.io/bitflags/1.2.1 \
- crate://crates.io/block-buffer/0.9.0 \
- crate://crates.io/byteorder/1.4.2 \
- crate://crates.io/bytes/0.5.6 \
- crate://crates.io/cc/1.0.66 \
- crate://crates.io/cfg-if/1.0.0 \
- crate://crates.io/clap/2.33.3 \
- crate://crates.io/clap/3.0.0-beta.2 \
- crate://crates.io/clap_derive/3.0.0-beta.2 \
- crate://crates.io/cmake/0.1.45 \
- crate://crates.io/cpuid-bool/0.1.2 \
- crate://crates.io/derivative/2.2.0 \
- crate://crates.io/digest/0.9.0 \
- crate://crates.io/either/1.6.1 \
- crate://crates.io/env_logger/0.8.3 \
- crate://crates.io/fixedbitset/0.2.0 \
- crate://crates.io/form_urlencoded/1.0.0 \
- crate://crates.io/generic-array/0.14.4 \
- crate://crates.io/getrandom/0.2.2 \
- crate://crates.io/hashbrown/0.9.1 \
- crate://crates.io/heck/0.3.2 \
- crate://crates.io/hermit-abi/0.1.18 \
- crate://crates.io/humantime/2.1.0 \
- crate://crates.io/idna/0.2.1 \
- crate://crates.io/indexmap/1.6.1 \
- crate://crates.io/itertools/0.8.2 \
- crate://crates.io/lazy_static/1.4.0 \
- crate://crates.io/libc/0.2.86 \
- crate://crates.io/log/0.4.14 \
- crate://crates.io/matches/0.1.8 \
- crate://crates.io/memchr/2.3.4 \
- crate://crates.io/multimap/0.8.2 \
- crate://crates.io/num-bigint/0.3.1 \
- crate://crates.io/num-complex/0.3.1 \
- crate://crates.io/num-derive/0.3.3 \
- crate://crates.io/num-integer/0.1.44 \
- crate://crates.io/num-iter/0.1.42 \
- crate://crates.io/num-rational/0.3.2 \
- crate://crates.io/num-traits/0.2.14 \
- crate://crates.io/num/0.3.1 \
- crate://crates.io/oid/0.1.1 \
- crate://crates.io/once_cell/1.5.2 \
- crate://crates.io/opaque-debug/0.3.0 \
- crate://crates.io/os_str_bytes/2.4.0 \
- crate://crates.io/parsec-client/0.12.0 \
- crate://crates.io/parsec-interface/0.24.0 \
- crate://crates.io/pem/0.8.3 \
- crate://crates.io/percent-encoding/2.1.0 \
- crate://crates.io/petgraph/0.5.1 \
- crate://crates.io/picky-asn1-der/0.2.4 \
- crate://crates.io/picky-asn1/0.3.1 \
- crate://crates.io/ppv-lite86/0.2.10 \
- crate://crates.io/proc-macro-error-attr/1.0.4 \
- crate://crates.io/proc-macro-error/1.0.4 \
- crate://crates.io/proc-macro2/1.0.24 \
- crate://crates.io/prost-build/0.6.1 \
- crate://crates.io/prost-derive/0.6.1 \
- crate://crates.io/prost-types/0.6.1 \
- crate://crates.io/prost/0.6.1 \
- crate://crates.io/psa-crypto-sys/0.8.0 \
- crate://crates.io/psa-crypto/0.8.0 \
- crate://crates.io/quote/1.0.9 \
- crate://crates.io/rand/0.8.3 \
- crate://crates.io/rand_chacha/0.3.0 \
- crate://crates.io/rand_core/0.6.2 \
- crate://crates.io/rand_hc/0.3.0 \
- crate://crates.io/redox_syscall/0.2.5 \
- crate://crates.io/regex-syntax/0.6.22 \
- crate://crates.io/regex/1.4.3 \
- crate://crates.io/remove_dir_all/0.5.3 \
- crate://crates.io/same-file/1.0.6 \
- crate://crates.io/secrecy/0.7.0 \
- crate://crates.io/serde/1.0.123 \
- crate://crates.io/serde_bytes/0.11.5 \
- crate://crates.io/serde_derive/1.0.123 \
- crate://crates.io/sha2/0.9.3 \
- crate://crates.io/strsim/0.10.0 \
- crate://crates.io/strsim/0.8.0 \
- crate://crates.io/structopt-derive/0.4.14 \
- crate://crates.io/structopt/0.3.21 \
- crate://crates.io/syn/1.0.60 \
- crate://crates.io/synstructure/0.12.4 \
- crate://crates.io/tempfile/3.2.0 \
- crate://crates.io/termcolor/1.1.2 \
- crate://crates.io/textwrap/0.11.0 \
- crate://crates.io/textwrap/0.12.1 \
- crate://crates.io/thiserror-impl/1.0.23 \
- crate://crates.io/thiserror/1.0.23 \
- crate://crates.io/thread_local/1.1.3 \
- crate://crates.io/tinyvec/1.1.1 \
- crate://crates.io/tinyvec_macros/0.1.0 \
- crate://crates.io/typenum/1.12.0 \
- crate://crates.io/unicode-bidi/0.3.4 \
- crate://crates.io/unicode-normalization/0.1.17 \
- crate://crates.io/unicode-segmentation/1.7.1 \
- crate://crates.io/unicode-width/0.1.8 \
- crate://crates.io/unicode-xid/0.2.1 \
- crate://crates.io/url/2.2.0 \
- crate://crates.io/users/0.10.0 \
- crate://crates.io/uuid/0.8.2 \
- crate://crates.io/vec_map/0.8.2 \
- crate://crates.io/version_check/0.9.2 \
- crate://crates.io/walkdir/2.3.1 \
- crate://crates.io/wasi/0.10.2+wasi-snapshot-preview1 \
- crate://crates.io/which/3.1.1 \
- crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
- crate://crates.io/winapi-util/0.1.5 \
- crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
- crate://crates.io/winapi/0.3.9 \
- crate://crates.io/zeroize/1.2.0 \
- crate://crates.io/zeroize_derive/1.0.1 \
-"
-
-LIC_FILES_CHKSUM = " \
- file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-"
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.bb b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.4.0.bb
index 881f8d896..4b053b9ca 100644
--- a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.bb
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.4.0.bb
@@ -7,9 +7,12 @@ inherit cargo
SRC_URI += "crate://crates.io/parsec-tool/${PV} \
"
+RDEPENDS:${PN} = "openssl-bin"
+
do_install() {
install -d ${D}/${bindir}
install -m 755 "${B}/target/${TARGET_SYS}/release/parsec-tool" "${D}${bindir}/parsec-tool"
+ install -m 755 "${S}/tests/parsec-cli-tests.sh" "${D}${bindir}/parsec-cli-tests.sh"
}
require parsec-tool_${PV}.inc
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.4.0.inc b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.4.0.inc
new file mode 100644
index 000000000..e70611255
--- /dev/null
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.4.0.inc
@@ -0,0 +1,216 @@
+# This file is created from parsec-tool repository Cargo.lock using cargo-bitbake tool
+
+SRC_URI += " \
+ crate://crates.io/addr2line/0.15.2 \
+ crate://crates.io/adler/1.0.2 \
+ crate://crates.io/aho-corasick/0.7.15 \
+ crate://crates.io/ansi_term/0.11.0 \
+ crate://crates.io/ansi_term/0.12.1 \
+ crate://crates.io/anyhow/1.0.42 \
+ crate://crates.io/arrayvec/0.5.2 \
+ crate://crates.io/atty/0.2.14 \
+ crate://crates.io/autocfg/1.0.1 \
+ crate://crates.io/backtrace/0.3.59 \
+ crate://crates.io/base64/0.12.3 \
+ crate://crates.io/base64/0.13.0 \
+ crate://crates.io/bincode/1.3.3 \
+ crate://crates.io/bindgen/0.57.0 \
+ crate://crates.io/bitflags/1.2.1 \
+ crate://crates.io/bitvec/0.19.5 \
+ crate://crates.io/block-buffer/0.9.0 \
+ crate://crates.io/boringssl-src/0.3.0+688fc5c \
+ crate://crates.io/bumpalo/3.7.0 \
+ crate://crates.io/bytes/0.5.6 \
+ crate://crates.io/cc/1.0.69 \
+ crate://crates.io/cexpr/0.4.0 \
+ crate://crates.io/cfg-if/1.0.0 \
+ crate://crates.io/chrono/0.4.19 \
+ crate://crates.io/clang-sys/1.2.0 \
+ crate://crates.io/clap/2.33.3 \
+ crate://crates.io/clap/3.0.0-beta.2 \
+ crate://crates.io/clap_derive/3.0.0-beta.2 \
+ crate://crates.io/cmake/0.1.45 \
+ crate://crates.io/const-oid/0.6.0 \
+ crate://crates.io/cpufeatures/0.1.5 \
+ crate://crates.io/data-encoding/2.3.2 \
+ crate://crates.io/der-oid-macro/0.4.0 \
+ crate://crates.io/der-parser/5.1.2 \
+ crate://crates.io/der/0.4.0 \
+ crate://crates.io/derivative/2.2.0 \
+ crate://crates.io/digest/0.9.0 \
+ crate://crates.io/either/1.6.1 \
+ crate://crates.io/env_logger/0.8.4 \
+ crate://crates.io/failure/0.1.8 \
+ crate://crates.io/failure_derive/0.1.8 \
+ crate://crates.io/form_urlencoded/1.0.1 \
+ crate://crates.io/funty/1.1.0 \
+ crate://crates.io/futures-channel/0.3.16 \
+ crate://crates.io/futures-core/0.3.16 \
+ crate://crates.io/futures-executor/0.3.16 \
+ crate://crates.io/futures-io/0.3.16 \
+ crate://crates.io/futures-macro/0.3.16 \
+ crate://crates.io/futures-sink/0.3.16 \
+ crate://crates.io/futures-task/0.3.16 \
+ crate://crates.io/futures-util/0.3.16 \
+ crate://crates.io/futures/0.3.16 \
+ crate://crates.io/generic-array/0.14.4 \
+ crate://crates.io/getrandom/0.2.3 \
+ crate://crates.io/gimli/0.24.0 \
+ crate://crates.io/glob/0.3.0 \
+ crate://crates.io/grpcio-compiler/0.7.0 \
+ crate://crates.io/grpcio-sys/0.9.0+1.38.0 \
+ crate://crates.io/grpcio/0.9.0 \
+ crate://crates.io/hashbrown/0.11.2 \
+ crate://crates.io/heck/0.3.3 \
+ crate://crates.io/hermit-abi/0.1.19 \
+ crate://crates.io/humantime/2.1.0 \
+ crate://crates.io/idna/0.2.3 \
+ crate://crates.io/indexmap/1.7.0 \
+ crate://crates.io/instant/0.1.10 \
+ crate://crates.io/itertools/0.8.2 \
+ crate://crates.io/itoa/0.4.7 \
+ crate://crates.io/js-sys/0.3.52 \
+ crate://crates.io/jsonwebkey/0.3.2 \
+ crate://crates.io/jsonwebtoken/7.2.0 \
+ crate://crates.io/lazy_static/1.4.0 \
+ crate://crates.io/lazycell/1.3.0 \
+ crate://crates.io/lexical-core/0.7.6 \
+ crate://crates.io/libc/0.2.102 \
+ crate://crates.io/libloading/0.7.0 \
+ crate://crates.io/libz-sys/1.1.3 \
+ crate://crates.io/lock_api/0.4.4 \
+ crate://crates.io/log/0.4.14 \
+ crate://crates.io/matches/0.1.8 \
+ crate://crates.io/memchr/2.3.4 \
+ crate://crates.io/miniz_oxide/0.4.4 \
+ crate://crates.io/nom/5.1.2 \
+ crate://crates.io/nom/6.2.1 \
+ crate://crates.io/num-bigint/0.2.6 \
+ crate://crates.io/num-bigint/0.3.2 \
+ crate://crates.io/num-bigint/0.4.0 \
+ crate://crates.io/num-complex/0.3.1 \
+ crate://crates.io/num-derive/0.3.3 \
+ crate://crates.io/num-integer/0.1.44 \
+ crate://crates.io/num-iter/0.1.42 \
+ crate://crates.io/num-rational/0.3.2 \
+ crate://crates.io/num-traits/0.2.14 \
+ crate://crates.io/num/0.3.1 \
+ crate://crates.io/object/0.24.0 \
+ crate://crates.io/oid-registry/0.1.5 \
+ crate://crates.io/oid/0.2.1 \
+ crate://crates.io/once_cell/1.8.0 \
+ crate://crates.io/opaque-debug/0.3.0 \
+ crate://crates.io/os_str_bytes/2.4.0 \
+ crate://crates.io/parking_lot/0.11.1 \
+ crate://crates.io/parking_lot_core/0.8.3 \
+ crate://crates.io/parsec-client/0.13.0 \
+ crate://crates.io/parsec-interface/0.25.0 \
+ crate://crates.io/peeking_take_while/0.1.2 \
+ crate://crates.io/pem/0.8.3 \
+ crate://crates.io/percent-encoding/2.1.0 \
+ crate://crates.io/picky-asn1-der/0.2.5 \
+ crate://crates.io/picky-asn1-x509/0.6.1 \
+ crate://crates.io/picky-asn1/0.3.3 \
+ crate://crates.io/pin-project-lite/0.2.7 \
+ crate://crates.io/pin-utils/0.1.0 \
+ crate://crates.io/pkcs8/0.7.5 \
+ crate://crates.io/pkg-config/0.3.19 \
+ crate://crates.io/ppv-lite86/0.2.10 \
+ crate://crates.io/proc-macro-error-attr/1.0.4 \
+ crate://crates.io/proc-macro-error/1.0.4 \
+ crate://crates.io/proc-macro-hack/0.5.19 \
+ crate://crates.io/proc-macro-nested/0.1.7 \
+ crate://crates.io/proc-macro2/1.0.28 \
+ crate://crates.io/prost-derive/0.6.1 \
+ crate://crates.io/prost/0.6.1 \
+ crate://crates.io/protobuf-codegen/2.24.1 \
+ crate://crates.io/protobuf/2.24.1 \
+ crate://crates.io/protoc-grpcio/3.0.0 \
+ crate://crates.io/protoc/2.24.1 \
+ crate://crates.io/psa-crypto-sys/0.9.0 \
+ crate://crates.io/psa-crypto/0.9.0 \
+ crate://crates.io/quote/1.0.9 \
+ crate://crates.io/radium/0.5.3 \
+ crate://crates.io/rand/0.8.4 \
+ crate://crates.io/rand_chacha/0.3.1 \
+ crate://crates.io/rand_core/0.6.3 \
+ crate://crates.io/rand_hc/0.3.1 \
+ crate://crates.io/redox_syscall/0.2.9 \
+ crate://crates.io/regex-syntax/0.6.25 \
+ crate://crates.io/regex/1.4.6 \
+ crate://crates.io/remove_dir_all/0.5.3 \
+ crate://crates.io/ring/0.16.20 \
+ crate://crates.io/rustc-demangle/0.1.20 \
+ crate://crates.io/rustc-hash/1.1.0 \
+ crate://crates.io/rusticata-macros/3.1.0 \
+ crate://crates.io/rustversion/1.0.5 \
+ crate://crates.io/ryu/1.0.5 \
+ crate://crates.io/same-file/1.0.6 \
+ crate://crates.io/scopeguard/1.1.0 \
+ crate://crates.io/secrecy/0.7.0 \
+ crate://crates.io/serde/1.0.127 \
+ crate://crates.io/serde_bytes/0.11.5 \
+ crate://crates.io/serde_derive/1.0.127 \
+ crate://crates.io/serde_json/1.0.66 \
+ crate://crates.io/sha2/0.9.5 \
+ crate://crates.io/shlex/0.1.1 \
+ crate://crates.io/simple_asn1/0.4.1 \
+ crate://crates.io/simple_asn1/0.5.4 \
+ crate://crates.io/slab/0.4.3 \
+ crate://crates.io/smallvec/1.6.1 \
+ crate://crates.io/spiffe/0.1.1 \
+ crate://crates.io/spin/0.5.2 \
+ crate://crates.io/spki/0.4.0 \
+ crate://crates.io/static_assertions/1.1.0 \
+ crate://crates.io/strsim/0.10.0 \
+ crate://crates.io/strsim/0.8.0 \
+ crate://crates.io/structopt-derive/0.4.15 \
+ crate://crates.io/structopt/0.3.22 \
+ crate://crates.io/syn/1.0.74 \
+ crate://crates.io/synstructure/0.12.5 \
+ crate://crates.io/tap/1.0.1 \
+ crate://crates.io/tempfile/3.2.0 \
+ crate://crates.io/termcolor/1.1.2 \
+ crate://crates.io/textwrap/0.11.0 \
+ crate://crates.io/textwrap/0.12.1 \
+ crate://crates.io/thiserror-impl/1.0.26 \
+ crate://crates.io/thiserror/1.0.26 \
+ crate://crates.io/time/0.1.44 \
+ crate://crates.io/tinyvec/1.3.1 \
+ crate://crates.io/tinyvec_macros/0.1.0 \
+ crate://crates.io/typenum/1.13.0 \
+ crate://crates.io/unicode-bidi/0.3.5 \
+ crate://crates.io/unicode-normalization/0.1.19 \
+ crate://crates.io/unicode-segmentation/1.8.0 \
+ crate://crates.io/unicode-width/0.1.8 \
+ crate://crates.io/unicode-xid/0.2.2 \
+ crate://crates.io/untrusted/0.7.1 \
+ crate://crates.io/url/2.2.2 \
+ crate://crates.io/users/0.10.0 \
+ crate://crates.io/uuid/0.8.2 \
+ crate://crates.io/vcpkg/0.2.15 \
+ crate://crates.io/vec_map/0.8.2 \
+ crate://crates.io/version_check/0.9.3 \
+ crate://crates.io/walkdir/2.3.2 \
+ crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \
+ crate://crates.io/wasm-bindgen-backend/0.2.75 \
+ crate://crates.io/wasm-bindgen-macro-support/0.2.75 \
+ crate://crates.io/wasm-bindgen-macro/0.2.75 \
+ crate://crates.io/wasm-bindgen-shared/0.2.75 \
+ crate://crates.io/wasm-bindgen/0.2.75 \
+ crate://crates.io/web-sys/0.3.52 \
+ crate://crates.io/which/4.2.2 \
+ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi-util/0.1.5 \
+ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi/0.3.9 \
+ crate://crates.io/wyz/0.2.0 \
+ crate://crates.io/x509-parser/0.9.2 \
+ crate://crates.io/yasna/0.3.2 \
+ crate://crates.io/zeroize/1.3.0 \
+ crate://crates.io/zeroize_derive/1.1.0 \
+"
+
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+"
diff --git a/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.2.bb b/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.7.bb
index 9784aa115..95ba5c59c 100644
--- a/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.2.bb
+++ b/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.7.bb
@@ -2,7 +2,7 @@ SUMMARY = "LIBPM - Software TPM Library"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e73f0786a936da3814896df06ad225a9"
-SRCREV = "f66a719eda0b492ea3ec7852421a9d98db0a0621"
+SRCREV = "f6dd8f55eab4910131ec6a6a570dcd7951bd10e4"
SRC_URI = "git://github.com/stefanberger/libtpms.git;branch=stable-0.8"
PE = "1"
diff --git a/meta-security/meta-tpm/recipes-tpm/tpm-quote-tools/tpm-quote-tools_1.0.4.bb b/meta-security/meta-tpm/recipes-tpm/tpm-quote-tools/tpm-quote-tools_1.0.4.bb
index 8486d0016..53cf8ff11 100644
--- a/meta-security/meta-tpm/recipes-tpm/tpm-quote-tools/tpm-quote-tools_1.0.4.bb
+++ b/meta-security/meta-tpm/recipes-tpm/tpm-quote-tools/tpm-quote-tools_1.0.4.bb
@@ -15,9 +15,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ec30b01163d242ecf07d9cd84e3611f"
DEPENDS = "libtspi tpm-tools"
-SRC_URI = "${SOURCEFORGE_MIRROR}/tpmquotetools/${PV}/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "6e194f5bc534301bbaef53dc6d22c233"
-SRC_URI[sha256sum] = "10dc4eade02635557a9496b388360844cd18e7864e2eb882f5e45ab2fa405ae2"
+SRC_URI = "git://git.code.sf.net/p/tpmquotetools/tpm-quote-tools"
+SRCREV = "4511874d5c9b4504bb96e94f8a14bd6c39a36295"
+S = "${WORKDIR}/git"
inherit autotools
diff --git a/meta-security/meta-tpm/recipes-tpm/trousers/trousers_git.bb b/meta-security/meta-tpm/recipes-tpm/trousers/trousers_git.bb
index a746103de..5e03b710e 100644
--- a/meta-security/meta-tpm/recipes-tpm/trousers/trousers_git.bb
+++ b/meta-security/meta-tpm/recipes-tpm/trousers/trousers_git.bb
@@ -1,5 +1,5 @@
SUMMARY = "TrouSerS - An open-source TCG Software Stack implementation."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
HOMEPAGE = "http://sourceforge.net/projects/trousers/"
LIC_FILES_CHKSUM = "file://README;startline=3;endline=4;md5=2af28fbed0832e4d83a9e6dd68bb4413"
SECTION = "security/tpm"
diff --git a/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1661.bb b/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1661.bb
index 7ea40a8c0..09b652deb 100644
--- a/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1661.bb
+++ b/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1661.bb
@@ -9,7 +9,7 @@ Advantages of this approach: \
* Application software errors are easily reversed by simply removing the TPM state and starting over. \
* Difficult crypto errors are quickly debugged by looking inside the TPM."
HOMEPAGE = "http://ibmswtpm.sourceforge.net/ibmswtpm2.html"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
SECTION = "securty/tpm"
LIC_FILES_CHKSUM = "file://../LICENSE;md5=1e023f61454ac828b4aa1bc4293f7d5f"
diff --git a/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb b/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb
index ae8974b6c..df6677963 100644
--- a/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb
+++ b/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb
@@ -9,7 +9,7 @@ It also comes with a web based TPM interface, suitable for a demo to an \
audience that is unfamiliar with TCG technology. It is also useful for \
basic TPM management."
HOMEPAGE = "http://ibmswtpm.sourceforge.net/ibmtss2.html"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
SECTION = "securty/tpm"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1e023f61454ac828b4aa1bc4293f7d5f"
diff --git a/meta-security/recipes-core/initrdscripts/initramfs-framework-dm/dmverity b/meta-security/recipes-core/initrdscripts/initramfs-framework-dm/dmverity
index 888052ccd..c815940fb 100644
--- a/meta-security/recipes-core/initrdscripts/initramfs-framework-dm/dmverity
+++ b/meta-security/recipes-core/initrdscripts/initramfs-framework-dm/dmverity
@@ -6,6 +6,7 @@ dmverity_enabled() {
dmverity_run() {
DATA_SIZE="__not_set__"
+ DATA_BLOCK_SIZE="__not_set__"
ROOT_HASH="__not_set__"
. /usr/share/misc/dm-verity.env
@@ -49,7 +50,7 @@ dmverity_run() {
done
veritysetup \
- --data-block-size=1024 \
+ --data-block-size=${DATA_BLOCK_SIZE} \
--hash-offset=${DATA_SIZE} \
create rootfs \
${RDEV} \
diff --git a/meta-security/recipes-scanners/checksec/checksec_2.4.0.bb b/meta-security/recipes-scanners/checksec/checksec_2.4.0.bb
index 000e3bb73..12c9bce30 100644
--- a/meta-security/recipes-scanners/checksec/checksec_2.4.0.bb
+++ b/meta-security/recipes-scanners/checksec/checksec_2.4.0.bb
@@ -1,7 +1,7 @@
SUMMARY = "Linux system security checks"
DESCRIPTION = "The checksec script is designed to test what standard Linux OS and PaX security features are being used."
SECTION = "security"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
HOMEPAGE="https://github.com/slimm609/checksec.sh"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8d90285f711cf1f378e2c024457066d8"
diff --git a/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb b/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb
index 0d3a678e2..25123dce0 100644
--- a/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb
+++ b/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb
@@ -54,7 +54,7 @@ export OECMAKE_C_FLAGS += " -I${STAGING_INCDIR} -L ${RECIPE_SYSROOT}${nonarch_li
do_install:append () {
install -d ${D}/${sysconfdir}
- install -d ${D}/${localstatedir}/lib/clamav
+ install -d -o ${CLAMAV_UID} -g ${CLAMAV_GID} ${D}/${localstatedir}/lib/clamav
install -d ${D}${sysconfdir}/clamav ${D}${sysconfdir}/default/volatiles
install -m 644 ${WORKDIR}/clamd.conf ${D}/${prefix}/${sysconfdir}
@@ -83,7 +83,6 @@ pkg_postinst:${PN} () {
elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
${sysconfdir}/init.d/populate-volatile.sh update
fi
- chown -R ${CLAMAV_UID}:${CLAMAV_GID} ${localstatedir}/lib/clamav
fi
}
@@ -149,5 +148,7 @@ SYSTEMD_PACKAGES = "${PN}-daemon ${PN}-freshclam"
SYSTEMD_SERVICE:${PN}-daemon = "clamav-daemon.service"
SYSTEMD_SERVICE:${PN}-freshclam = "clamav-freshclam.service"
-RDEPENDS:${PN} = "openssl ncurses-libncurses libxml2 libbz2 ncurses-libtinfo curl libpcre2 clamav-freshclam clamav-libclamav"
-RDEPENDS:${PN}-daemon = "clamav"
+RDEPENDS:${PN} = "openssl ncurses-libncurses libxml2 libbz2 ncurses-libtinfo curl libpcre2 clamav-libclamav"
+RRECOMMENDS:${PN} = "clamav-freshclam"
+RDEPENDS:${PN}-freshclam = "clamav"
+RDEPENDS:${PN}-daemon = "clamav clamav-freshclam"
diff --git a/meta-security/recipes-scanners/rootkits/chkrootkit_0.53.bb b/meta-security/recipes-scanners/rootkits/chkrootkit_0.55.bb
index 4536be393..20015a1cc 100644
--- a/meta-security/recipes-scanners/rootkits/chkrootkit_0.53.bb
+++ b/meta-security/recipes-scanners/rootkits/chkrootkit_0.55.bb
@@ -6,8 +6,7 @@ LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fdbe53788f7081c63387d8087273f5ff"
SRC_URI = "ftp://ftp.pangeia.com.br/pub/seg/pac/${BPN}.tar.gz"
-SRC_URI[sha256sum] = "7262dae33b338976828b5d156b70d159e0043c0db43ada8dee66c97387cf45b5"
-
+SRC_URI[sha256sum] = "a81c0286ec449313f953701202a00e81b204fc2cf43e278585a11c12a5e0258b"
inherit autotools-brokensep
diff --git a/meta-security/recipes-security/cryfs/cryfs_0.10.3.bb b/meta-security/recipes-security/cryfs/cryfs_0.10.3.bb
deleted file mode 100644
index 74f32a495..000000000
--- a/meta-security/recipes-security/cryfs/cryfs_0.10.3.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "CryFS encrypts your files, so you can safely store them anywhere."
-HOMEDIR = "https://www.cryfs.org"
-
-LICENSE = "LGPL-3.0"
-FILE_CHK_SUM = "file://;md5=12345"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}.git"
-SRCREV = "0f83a1ab7e5ca9f37f97bc57b20d3fab0f351d11"
-
-inherit cmake
diff --git a/meta-security/recipes-security/fscrypt/fscrypt_1.0.0.bb b/meta-security/recipes-security/fscrypt/fscrypt_1.0.0.bb
new file mode 100644
index 000000000..a70d310a5
--- /dev/null
+++ b/meta-security/recipes-security/fscrypt/fscrypt_1.0.0.bb
@@ -0,0 +1,49 @@
+SUMMARY = "fscrypt is a high-level tool for the management of Linux filesystem encryption"
+DESCIPTION = "fscrypt manages metadata, key generation, key wrapping, PAM integration, \
+and provides a uniform interface for creating and modifying encrypted directories. For \
+a small, low-level tool that directly sets policies, see fscryptctl \
+(https://github.com/google/fscryptcl)."
+HOMEPAGE = "https://github.com/google/fscrypt"
+SECTION = "base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# fscrypt depends on go and libpam
+DEPENDS += "go-dep-native libpam"
+
+SRCREV = "92b1e9a8670ccd3916a7d24a06cab1e4c9815bc4"
+SRC_URI = "git://github.com/google/fscrypt.git"
+GO_IMPORT = "import"
+
+S = "${WORKDIR}/git"
+
+inherit go
+inherit goarch
+
+do_compile() {
+ export GOARCH=${TARGET_GOARCH}
+ export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
+ export GOPATH="${WORKDIR}/git"
+
+ # Pass the needed cflags/ldflags so that cgo
+ # can find the needed headers files and libraries
+ export CGO_ENABLED="1"
+ export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+ export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+
+ cd ${S}/src/${GO_IMPORT}
+ oe_runmake
+
+ # Golang forces permissions to 0500 on directories and 0400 on files in
+ # the module cache which prevents us from easily cleaning up the build
+ # directory. Let's just fix the permissions here so we don't have to
+ # hack the clean tasks.
+ chmod -R u+w ${S}/pkg/mod
+}
+
+do_install() {
+ install -d ${D}/${bindir}
+ install ${S}/src/${GO_IMPORT}/bin/fscrypt ${D}/${bindir}/fscrypt
+}
diff --git a/meta-security/recipes-security/isic/isic_0.07.bb b/meta-security/recipes-security/isic/isic_0.07.bb
index fb6e9046d..28153e3b4 100644
--- a/meta-security/recipes-security/isic/isic_0.07.bb
+++ b/meta-security/recipes-security/isic/isic_0.07.bb
@@ -2,7 +2,7 @@ SUMMARY = "ISIC -- IP Stack Integrity Checker"
DESCRIPTION = "ISIC is a suite of utilities to exercise the stability of an IP Stack and its component stacks (TCP, UDP, ICMP et. al.)"
HOMEPAGE = "http://isic.sourceforge.net/"
SECTION = "security"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d41d8cd98f00b204e9800998ecf8427e"
DEPENDS = "libnet"
diff --git a/meta-security/recipes-security/opendnssec/opendnssec_2.1.9.bb b/meta-security/recipes-security/opendnssec/opendnssec_2.1.9.bb
index 8e368121a..6c1bd46b7 100644
--- a/meta-security/recipes-security/opendnssec/opendnssec_2.1.9.bb
+++ b/meta-security/recipes-security/opendnssec/opendnssec_2.1.9.bb
@@ -1,6 +1,6 @@
SUMMARY = "OpenDNSSEC is a policy-based zone signer that automates the process of keeping track of DNSSEC keys and the signing of zones"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b041dbe2da80d4efd951393fbba90937"
DEPENDS = "libxml2 openssl ldns libmicrohttpd jansson libyaml "
diff --git a/meta-security/recipes-security/sssd/files/CVE-2021-3621.patch b/meta-security/recipes-security/sssd/files/CVE-2021-3621.patch
new file mode 100644
index 000000000..7a59df9c6
--- /dev/null
+++ b/meta-security/recipes-security/sssd/files/CVE-2021-3621.patch
@@ -0,0 +1,288 @@
+Backport patch to fix CVE-2021-3621.
+
+Upstream-Status: Backport [https://github.com/SSSD/sssd/commit/7ab83f9]
+CVE: CVE-2021-3621
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From 7ab83f97e1cbefb78ece17232185bdd2985f0bbe Mon Sep 17 00:00:00 2001
+From: Alexey Tikhonov <atikhono@redhat.com>
+Date: Fri, 18 Jun 2021 13:17:19 +0200
+Subject: [PATCH] TOOLS: replace system() with execvp() to avoid execution of
+ user supplied command
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+:relnote: A flaw was found in SSSD, where the sssctl command was
+vulnerable to shell command injection via the logs-fetch and
+cache-expire subcommands. This flaw allows an attacker to trick
+the root user into running a specially crafted sssctl command,
+such as via sudo, to gain root access. The highest threat from this
+vulnerability is to confidentiality, integrity, as well as system
+availability.
+This patch fixes a flaw by replacing system() with execvp().
+
+:fixes: CVE-2021-3621
+
+Reviewed-by: Pavel Březina <pbrezina@redhat.com>
+---
+ src/tools/sssctl/sssctl.c | 39 ++++++++++++++++-------
+ src/tools/sssctl/sssctl.h | 2 +-
+ src/tools/sssctl/sssctl_data.c | 57 +++++++++++-----------------------
+ src/tools/sssctl/sssctl_logs.c | 32 +++++++++++++++----
+ 4 files changed, 73 insertions(+), 57 deletions(-)
+
+diff --git a/src/tools/sssctl/sssctl.c b/src/tools/sssctl/sssctl.c
+index 2997dbf968..8adaf30910 100644
+--- a/src/tools/sssctl/sssctl.c
++++ b/src/tools/sssctl/sssctl.c
+@@ -97,22 +97,36 @@ sssctl_prompt(const char *message,
+ return SSSCTL_PROMPT_ERROR;
+ }
+
+-errno_t sssctl_run_command(const char *command)
++errno_t sssctl_run_command(const char *const argv[])
+ {
+ int ret;
++ int wstatus;
+
+- DEBUG(SSSDBG_TRACE_FUNC, "Running %s\n", command);
++ DEBUG(SSSDBG_TRACE_FUNC, "Running '%s'\n", argv[0]);
+
+- ret = system(command);
++ ret = fork();
+ if (ret == -1) {
+- DEBUG(SSSDBG_CRIT_FAILURE, "Unable to execute %s\n", command);
+ ERROR("Error while executing external command\n");
+ return EFAULT;
+- } else if (WEXITSTATUS(ret) != 0) {
+- DEBUG(SSSDBG_CRIT_FAILURE, "Command %s failed with [%d]\n",
+- command, WEXITSTATUS(ret));
++ }
++
++ if (ret == 0) {
++ /* cast is safe - see
++ https://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html
++ "The statement about argv[] and envp[] being constants ... "
++ */
++ execvp(argv[0], discard_const_p(char * const, argv));
+ ERROR("Error while executing external command\n");
+- return EIO;
++ _exit(1);
++ } else {
++ if (waitpid(ret, &wstatus, 0) == -1) {
++ ERROR("Error while executing external command '%s'\n", argv[0]);
++ return EFAULT;
++ } else if (WEXITSTATUS(wstatus) != 0) {
++ ERROR("Command '%s' failed with [%d]\n",
++ argv[0], WEXITSTATUS(wstatus));
++ return EIO;
++ }
+ }
+
+ return EOK;
+@@ -132,11 +146,14 @@ static errno_t sssctl_manage_service(enum sssctl_svc_action action)
+ #elif defined(HAVE_SERVICE)
+ switch (action) {
+ case SSSCTL_SVC_START:
+- return sssctl_run_command(SERVICE_PATH" sssd start");
++ return sssctl_run_command(
++ (const char *[]){SERVICE_PATH, "sssd", "start", NULL});
+ case SSSCTL_SVC_STOP:
+- return sssctl_run_command(SERVICE_PATH" sssd stop");
++ return sssctl_run_command(
++ (const char *[]){SERVICE_PATH, "sssd", "stop", NULL});
+ case SSSCTL_SVC_RESTART:
+- return sssctl_run_command(SERVICE_PATH" sssd restart");
++ return sssctl_run_command(
++ (const char *[]){SERVICE_PATH, "sssd", "restart", NULL});
+ }
+ #endif
+
+diff --git a/src/tools/sssctl/sssctl.h b/src/tools/sssctl/sssctl.h
+index 0115b2457c..599ef65196 100644
+--- a/src/tools/sssctl/sssctl.h
++++ b/src/tools/sssctl/sssctl.h
+@@ -47,7 +47,7 @@ enum sssctl_prompt_result
+ sssctl_prompt(const char *message,
+ enum sssctl_prompt_result defval);
+
+-errno_t sssctl_run_command(const char *command);
++errno_t sssctl_run_command(const char *const argv[]); /* argv[0] - command */
+ bool sssctl_start_sssd(bool force);
+ bool sssctl_stop_sssd(bool force);
+ bool sssctl_restart_sssd(bool force);
+diff --git a/src/tools/sssctl/sssctl_data.c b/src/tools/sssctl/sssctl_data.c
+index 8d79b977fd..bf22913416 100644
+--- a/src/tools/sssctl/sssctl_data.c
++++ b/src/tools/sssctl/sssctl_data.c
+@@ -105,15 +105,15 @@ static errno_t sssctl_backup(bool force)
+ }
+ }
+
+- ret = sssctl_run_command("sss_override user-export "
+- SSS_BACKUP_USER_OVERRIDES);
++ ret = sssctl_run_command((const char *[]){"sss_override", "user-export",
++ SSS_BACKUP_USER_OVERRIDES, NULL});
+ if (ret != EOK) {
+ ERROR("Unable to export user overrides\n");
+ return ret;
+ }
+
+- ret = sssctl_run_command("sss_override group-export "
+- SSS_BACKUP_GROUP_OVERRIDES);
++ ret = sssctl_run_command((const char *[]){"sss_override", "group-export",
++ SSS_BACKUP_GROUP_OVERRIDES, NULL});
+ if (ret != EOK) {
+ ERROR("Unable to export group overrides\n");
+ return ret;
+@@ -158,8 +158,8 @@ static errno_t sssctl_restore(bool force_start, bool force_restart)
+ }
+
+ if (sssctl_backup_file_exists(SSS_BACKUP_USER_OVERRIDES)) {
+- ret = sssctl_run_command("sss_override user-import "
+- SSS_BACKUP_USER_OVERRIDES);
++ ret = sssctl_run_command((const char *[]){"sss_override", "user-import",
++ SSS_BACKUP_USER_OVERRIDES, NULL});
+ if (ret != EOK) {
+ ERROR("Unable to import user overrides\n");
+ return ret;
+@@ -167,8 +167,8 @@ static errno_t sssctl_restore(bool force_start, bool force_restart)
+ }
+
+ if (sssctl_backup_file_exists(SSS_BACKUP_USER_OVERRIDES)) {
+- ret = sssctl_run_command("sss_override group-import "
+- SSS_BACKUP_GROUP_OVERRIDES);
++ ret = sssctl_run_command((const char *[]){"sss_override", "group-import",
++ SSS_BACKUP_GROUP_OVERRIDES, NULL});
+ if (ret != EOK) {
+ ERROR("Unable to import group overrides\n");
+ return ret;
+@@ -296,40 +296,19 @@ errno_t sssctl_cache_expire(struct sss_cmdline *cmdline,
+ void *pvt)
+ {
+ errno_t ret;
+- char *cmd_args = NULL;
+- const char *cachecmd = SSS_CACHE;
+- char *cmd = NULL;
+- int i;
+-
+- if (cmdline->argc == 0) {
+- ret = sssctl_run_command(cachecmd);
+- goto done;
+- }
+
+- cmd_args = talloc_strdup(tool_ctx, "");
+- if (cmd_args == NULL) {
+- ret = ENOMEM;
+- goto done;
++ const char **args = talloc_array_size(tool_ctx,
++ sizeof(char *),
++ cmdline->argc + 2);
++ if (!args) {
++ return ENOMEM;
+ }
++ memcpy(&args[1], cmdline->argv, sizeof(char *) * cmdline->argc);
++ args[0] = SSS_CACHE;
++ args[cmdline->argc + 1] = NULL;
+
+- for (i = 0; i < cmdline->argc; i++) {
+- cmd_args = talloc_strdup_append(cmd_args, cmdline->argv[i]);
+- if (i != cmdline->argc - 1) {
+- cmd_args = talloc_strdup_append(cmd_args, " ");
+- }
+- }
+-
+- cmd = talloc_asprintf(tool_ctx, "%s %s", cachecmd, cmd_args);
+- if (cmd == NULL) {
+- ret = ENOMEM;
+- goto done;
+- }
+-
+- ret = sssctl_run_command(cmd);
+-
+-done:
+- talloc_free(cmd_args);
+- talloc_free(cmd);
++ ret = sssctl_run_command(args);
+
++ talloc_free(args);
+ return ret;
+ }
+diff --git a/src/tools/sssctl/sssctl_logs.c b/src/tools/sssctl/sssctl_logs.c
+index 9ff2be05b6..ebb2c4571c 100644
+--- a/src/tools/sssctl/sssctl_logs.c
++++ b/src/tools/sssctl/sssctl_logs.c
+@@ -31,6 +31,7 @@
+ #include <ldb.h>
+ #include <popt.h>
+ #include <stdio.h>
++#include <glob.h>
+
+ #include "util/util.h"
+ #include "tools/common/sss_process.h"
+@@ -230,6 +231,7 @@ errno_t sssctl_logs_remove(struct sss_cmdline *cmdline,
+ {
+ struct sssctl_logs_opts opts = {0};
+ errno_t ret;
++ glob_t globbuf;
+
+ /* Parse command line. */
+ struct poptOption options[] = {
+@@ -253,8 +255,20 @@ errno_t sssctl_logs_remove(struct sss_cmdline *cmdline,
+
+ sss_signal(SIGHUP);
+ } else {
++ globbuf.gl_offs = 4;
++ ret = glob(LOG_PATH"/*.log", GLOB_ERR|GLOB_DOOFFS, NULL, &globbuf);
++ if (ret != 0) {
++ DEBUG(SSSDBG_CRIT_FAILURE, "Unable to expand log files list\n");
++ return ret;
++ }
++ globbuf.gl_pathv[0] = discard_const_p(char, "truncate");
++ globbuf.gl_pathv[1] = discard_const_p(char, "--no-create");
++ globbuf.gl_pathv[2] = discard_const_p(char, "--size");
++ globbuf.gl_pathv[3] = discard_const_p(char, "0");
++
+ PRINT("Truncating log files...\n");
+- ret = sssctl_run_command("truncate --no-create --size 0 " LOG_FILES);
++ ret = sssctl_run_command((const char * const*)globbuf.gl_pathv);
++ globfree(&globbuf);
+ if (ret != EOK) {
+ ERROR("Unable to truncate log files\n");
+ return ret;
+@@ -269,8 +283,8 @@ errno_t sssctl_logs_fetch(struct sss_cmdline *cmdline,
+ void *pvt)
+ {
+ const char *file;
+- const char *cmd;
+ errno_t ret;
++ glob_t globbuf;
+
+ /* Parse command line. */
+ ret = sss_tool_popt_ex(cmdline, NULL, SSS_TOOL_OPT_OPTIONAL, NULL, NULL,
+@@ -280,13 +294,19 @@ errno_t sssctl_logs_fetch(struct sss_cmdline *cmdline,
+ return ret;
+ }
+
+- cmd = talloc_asprintf(tool_ctx, "tar -czf %s %s", file, LOG_FILES);
+- if (cmd == NULL) {
+- ERROR("Out of memory!");
++ globbuf.gl_offs = 3;
++ ret = glob(LOG_PATH"/*.log", GLOB_ERR|GLOB_DOOFFS, NULL, &globbuf);
++ if (ret != 0) {
++ DEBUG(SSSDBG_CRIT_FAILURE, "Unable to expand log files list\n");
++ return ret;
+ }
++ globbuf.gl_pathv[0] = discard_const_p(char, "tar");
++ globbuf.gl_pathv[1] = discard_const_p(char, "-czf");
++ globbuf.gl_pathv[2] = discard_const_p(char, file);
+
+ PRINT("Archiving log files into %s...\n", file);
+- ret = sssctl_run_command(cmd);
++ ret = sssctl_run_command((const char * const*)globbuf.gl_pathv);
++ globfree(&globbuf);
+ if (ret != EOK) {
+ ERROR("Unable to archive log files\n");
+ return ret;
diff --git a/meta-security/recipes-security/sssd/sssd_2.5.1.bb b/meta-security/recipes-security/sssd/sssd_2.5.2.bb
index 1c77480eb..76d6e03e9 100644
--- a/meta-security/recipes-security/sssd/sssd_2.5.1.bb
+++ b/meta-security/recipes-security/sssd/sssd_2.5.2.bb
@@ -23,9 +23,10 @@ SRC_URI = "https://github.com/SSSD/sssd/releases/download/${PV}/sssd-${PV}.tar.g
file://drop_ntpdate_chk.patch \
file://fix-ldblibdir.patch \
file://musl_fixup.patch \
+ file://CVE-2021-3621.patch \
"
-SRC_URI[sha256sum] = "ce2f5d84a3f1750093318afd27f4fd75b1e3e75f7d80fc42d21a40cc54b58ea4"
+SRC_URI[sha256sum] = "5e21b3c7b4a2f1063d0fbdd3216d29886b6eaba153b44fb5961698367f399a0f"
inherit autotools pkgconfig gettext python3-dir features_check systemd
diff --git a/meta-supermicro/conf/layer.conf b/meta-supermicro/conf/layer.conf
index d3943d302..a5142e25f 100644
--- a/meta-supermicro/conf/layer.conf
+++ b/meta-supermicro/conf/layer.conf
@@ -5,7 +5,9 @@ BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \
${LAYERDIR}/meta-common/recipes-*/*/*.bbappend"
-BBFILE_COLLECTIONS += "supermicro-layer"
-BBFILE_PATTERN_supermicro-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_supermicro-layer := "hardknott"
+BBFILE_COLLECTIONS += "supermicro"
+BBFILE_PATTERN_supermicro = "^${LAYERDIR}/"
+LAYERVERSION_supermicro = "1"
+LAYERSERIES_COMPAT_supermicro = "hardknott honister"
+LAYERDEPENDS_supermicro = "phosphor-layer"
diff --git a/meta-supermicro/conf/machine/include/supermicro.inc b/meta-supermicro/conf/machine/include/supermicro.inc
index f7f37be98..d663f445a 100644
--- a/meta-supermicro/conf/machine/include/supermicro.inc
+++ b/meta-supermicro/conf/machine/include/supermicro.inc
@@ -1,22 +1,22 @@
-OBMC_MACHINE_FEATURES += "\
+MACHINE_FEATURES += "\
obmc-bmc-state-mgmt \
obmc-chassis-state-mgmt \
- obmc-host-ipmi \
obmc-host-state-mgmt \
+ obmc-host-ipmi \
+ obmc-host-ctl \
obmc-phosphor-chassis-mgmt \
obmc-phosphor-fan-mgmt \
obmc-phosphor-flash-mgmt \
"
VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config"
-VIRTUAL-RUNTIME_obmc-host-state-manager ?= "x86-power-control"
-VIRTUAL-RUNTIME_obmc-chassis-state-manager ?= "x86-power-control"
PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-supermicro-apps"
PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-supermicro-apps"
PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-supermicro-apps"
-PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw ?= "phosphor-ipmi-kcs"
-PREFERRED_PROVIDER_virtual/obmc-inventory-data ?= "${VIRTUAL-RUNTIME_skeleton_workbook}"
PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-supermicro-apps"
+PREFERRED_PROVIDER_virtual/obmc-host-ctl ?= "obmc-op-control-host"
+PREFERRED_PROVIDER_virtual/obmc-inventory-data ?= "${VIRTUAL-RUNTIME_skeleton_workbook}"
+PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw ?= "phosphor-ipmi-kcs"
OVERRIDES .= ":supermicro"
diff --git a/meta-supermicro/meta-common/recipes-extended/pam/libpam/pam.d/common-password b/meta-supermicro/meta-common/recipes-extended/pam/libpam/pam.d/common-password
new file mode 100644
index 000000000..5a42680ee
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/pam/libpam/pam.d/common-password
@@ -0,0 +1,30 @@
+#
+# /etc/pam.d/common-password - password-related modules common to all services
+#
+# This file is included from other service-specific PAM config files,
+# and should contain a list of modules that define the services to be
+# used to change user passwords. The default is pam_unix.
+
+# Explanation of pam_unix options:
+#
+# The "sha512" option enables salted SHA512 passwords. Without this option,
+# the default is Unix crypt. Prior releases used the option "md5".
+#
+# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
+# login.defs.
+#
+# See the pam_unix manpage for other options.
+
+# here are the per-package modules (the "Primary" block)
+password [success=ok default=die] pam_cracklib.so debug enforce_for_root reject_username minlen=9 difok=0 lcredit=-1 ocredit=-1 dcredit=-1 ucredit=-1 maxrepeat=3
+password [success=ok default=die] pam_ipmicheck.so spec_grp_name=ipmi use_authtok
+password [success=ok ignore=ignore default=die] pam_pwhistory.so debug enforce_for_root remember=0 use_authtok
+password [success=ok default=die] pam_unix.so sha512 use_authtok
+password [success=1 default=die] pam_ipmisave.so spec_grp_name=ipmi spec_pass_file=/etc/ipmi_pass key_file=/etc/key_file
+# here's the fallback if no module succeeds
+password requisite pam_deny.so
+# prime the stack with a positive return value if there isn't one already;
+# this avoids us returning an error just because nothing sets a success code
+# since the modules above will each just jump around
+password required pam_permit.so
+# and here are more per-package modules (the "Additional" block)
diff --git a/meta-supermicro/meta-common/recipes-extended/pam/libpam_%.bbappend b/meta-supermicro/meta-common/recipes-extended/pam/libpam_%.bbappend
new file mode 100644
index 000000000..20fe5e4cd
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/pam/libpam_%.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS:append := "${THISDIR}/${PN}:"
+
+SRC_URI += " file://pam.d/common-password \
+ "
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service
new file mode 100644
index 000000000..8f3a2bc31
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Rotate the event logs
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/rotate-event-logs.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh
new file mode 100644
index 000000000..5a8c5cc10
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+while true; do
+ sleep 60
+ /usr/sbin/logrotate /etc/logrotate.d/logrotate.rsyslog
+ ec=$?
+ if [ $ec -ne 0 ] ; then
+ echo "logrotate failed ($ec)"
+ fi
+done
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf
new file mode 100644
index 000000000..14bcc0781
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf
@@ -0,0 +1,2 @@
+[Service]
+ExecReload=/bin/kill -HUP $MAINPID
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf
new file mode 100644
index 000000000..46a287eef
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf
@@ -0,0 +1,79 @@
+# if you experience problems, check
+# http://www.rsyslog.com/troubleshoot for assistance
+
+# rsyslog v3: load input modules
+# If you do not load inputs, nothing happens!
+# You may need to set the module load path if modules are not found.
+#
+# Ported from debian's sysklogd.conf
+
+# Journal-style logging
+# Limit to no more than 2000 entries in one minute and enable the
+# journal workaround to avoid duplicate entries
+module(load="imjournal" StateFile="/var/log/state"
+ RateLimit.Interval="60"
+ RateLimit.Burst="2000")
+
+# Template for IPMI SEL messages
+# "<timestamp> <ID>,<Type>,<EventData>,[<Generator ID>,<Path>,<Direction>]"
+template(name="IPMISELTemplate" type="list") {
+ property(name="timereported" dateFormat="rfc3339")
+ constant(value=" ")
+ property(name="$!IPMI_SEL_RECORD_ID")
+ constant(value=",")
+ property(name="$!IPMI_SEL_RECORD_TYPE")
+ constant(value=",")
+ property(name="$!IPMI_SEL_DATA")
+ constant(value=",")
+ property(name="$!IPMI_SEL_GENERATOR_ID")
+ constant(value=",")
+ property(name="$!IPMI_SEL_SENSOR_PATH")
+ constant(value=",")
+ property(name="$!IPMI_SEL_EVENT_DIR")
+ constant(value="\n")
+}
+
+# Template for Redfish messages
+# "<timestamp> <MessageId>,<MessageArgs>"
+template(name="RedfishTemplate" type="list") {
+ property(name="timereported" dateFormat="rfc3339")
+ constant(value=" ")
+ property(name="$!REDFISH_MESSAGE_ID")
+ constant(value=",")
+ property(name="$!REDFISH_MESSAGE_ARGS")
+ constant(value="\n")
+}
+
+# Template for Application Crashes
+# "<timestamp> <MessageId>,<MessageArgs>"
+template(name="CrashTemplate" type="list") {
+ property(name="timereported" dateFormat="rfc3339")
+ constant(value=" ")
+ constant(value="OpenBMC.0.1.ServiceFailure")
+ constant(value=",")
+ property(name="$!UNIT")
+ constant(value="\n")
+}
+
+
+# If the journal entry has the IPMI SEL MESSAGE_ID, save as IPMI SEL
+# The MESSAGE_ID string is generated using journalctl and must match the
+# MESSAGE_ID used in IPMI to correctly find the SEL entries.
+if ($!MESSAGE_ID == "b370836ccf2f4850ac5bee185b77893a") then {
+ action(type="omfile" file="/var/log/ipmi_sel" template="IPMISELTemplate")
+}
+
+# If the journal entry has a Redfish MessageId, save as a Redfish event
+if ($!REDFISH_MESSAGE_ID != "") then {
+ action(type="omfile" file="/var/log/redfish" template="RedfishTemplate")
+}
+
+# If the journal entry has a Exit Code, save as a Redfish event
+if ($!EXIT_STATUS != "" and $!EXIT_STATUS != "0") then {
+ action(type="omfile" file="/var/log/redfish" template="CrashTemplate")
+}
+
+#
+# Include all config files in /etc/rsyslog.d/
+#
+$IncludeConfig /etc/rsyslog.d/*.conf
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
new file mode 100644
index 000000000..a6ba28d86
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
@@ -0,0 +1,22 @@
+# /etc/logrotate.d/rsyslog - Ported from Debian
+
+# Keep up to four 64k files for ipmi_sel (256k total)
+/var/log/ipmi_sel
+{
+ rotate 3
+ size 64k
+ missingok
+ postrotate
+ systemctl reload rsyslog 2> /dev/null || true
+ endscript
+}
+# Keep up to four 64k files for redfish (256k total)
+/var/log/redfish
+{
+ rotate 3
+ size 64k
+ missingok
+ postrotate
+ systemctl reload rsyslog 2> /dev/null || true
+ endscript
+}
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend
new file mode 100644
index 000000000..034ae3cfa
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend
@@ -0,0 +1,24 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://rsyslog.conf \
+ file://rsyslog.logrotate \
+ file://rotate-event-logs.service \
+ file://rotate-event-logs.sh \
+ file://rsyslog-override.conf \
+ "
+
+FILES:${PN} += "${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf"
+
+PACKAGECONFIG:append = " imjournal"
+
+do_install:append() {
+ install -m 0644 ${WORKDIR}/rotate-event-logs.service ${D}${systemd_system_unitdir}
+ install -d ${D}${systemd_system_unitdir}/rsyslog.service.d
+ install -m 0644 ${WORKDIR}/rsyslog-override.conf \
+ ${D}${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/rotate-event-logs.sh ${D}/${bindir}/rotate-event-logs.sh
+ rm ${D}${sysconfdir}/rsyslog.d/imjournal.conf
+}
+
+SYSTEMD_SERVICE:${PN} += " rotate-event-logs.service"
diff --git a/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed/smci.cfg b/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed/smci.cfg
deleted file mode 100644
index d566e2d6d..000000000
--- a/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed/smci.cfg
+++ /dev/null
@@ -1,83 +0,0 @@
-CONFIG_BLK_DEV_RAM=y
-CONFIG_HWMON=y
-CONFIG_SPI=y
-CONFIG_SPI_MASTER=y
-CONFIG_IIO=y
-CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_ASPEED_ADC=y
-CONFIG_SGPIO_ASPEED=y
-CONFIG_CRC8=y
-CONFIG_PECI=y
-CONFIG_PECI_CHARDEV=y
-CONFIG_PECI_ASPEED=y
-CONFIG_SENSORS_PECI_CPUTEMP=y
-CONFIG_SENSORS_PECI_DIMMTEMP=y
-CONFIG_SENSORS_PECI_CPUPOWER=y
-CONFIG_SENSORS_PECI_DIMMPOWER=y
-CONFIG_SENSORS_PECI_PLATFORMPOWER=y
-CONFIG_CONFIGFS_FS=y
-CONFIG_BLK_DEV_RAM_SIZE=49152
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01
-CONFIG_MAGIC_SYSRQ_SERIAL=y
-CONFIG_ASPEED_ESPI_SLAVE=y
-CONFIG_ASPEED_KCS_IPMI_BMC=y
-CONFIG_I2C_SLAVE=y
-CONFIG_I2C_SLAVE_MQUEUE=y
-CONFIG_I2C_SLAVE_MQUEUE_MESSAGE_SIZE=256
-CONFIG_I2C_SLAVE_MQUEUE_QUEUE_SIZE=32
-CONFIG_ASPEED_BT_IPMI_BMC=n
-CONFIG_ASPEED_LPC_CTRL=n
-CONFIG_ASPEED_LPC_MBOX=y
-CONFIG_ASPEED_LPC_SIO=y
-CONFIG_JTAG=y
-CONFIG_JTAG_ASPEED=y
-CONFIG_FRAME_VECTOR=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_VIDEO_DEV=y
-CONFIG_VIDEO_V4L2=y
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_ASPEED=y
-CONFIG_VIDEOBUF2_CORE=y
-CONFIG_VIDEOBUF2_V4L2=y
-CONFIG_VIDEOBUF2_MEMOPS=y
-CONFIG_VIDEOBUF2_DMA_CONTIG=y
-CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
-CONFIG_USB_GADGET_VBUS_DRAW=2
-CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
-CONFIG_USB_LIBCOMPOSITE=y
-CONFIG_USB_F_HID=y
-CONFIG_USB_GADGET=y
-CONFIG_U_SERIAL_CONSOLE=y
-CONFIG_USB_ASPEED_VHUB=y
-CONFIG_USB_CONFIGFS=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_CONFIGFS_F_HID=y
-CONFIG_ASPEED_UART_ROUTING=y
-CONFIG_ASPEED_VGA_SHAREDMEM=y
-CONFIG_PWM=y
-CONFIG_PWM_FTTMR010=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_PWM_BEEPER=y
-CONFIG_VFAT_FS=y
-CONFIG_NLS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=y
-CONFIG_NLS_UTF8=y
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_CIFS=y
-CONFIG_CIFS_XATTR=y
-CONFIG_PSTORE=y
-CONFIG_PSTORE_ZLIB_COMPRESS=y
-CONFIG_PSTORE_RAM=y
-CONFIG_FSI=n
-CONFIG_FSI_MASTER_HUB=n
-CONFIG_FSI_MASTER_ASPEED=n
-CONFIG_FSI_SCOM=n
-CONFIG_FSI_SBEFIFO=n
-CONFIG_FSI_OCC=n
-CONFIG_ASPEED_P2A_CTRL=n
-CONFIG_IPMB_DEVICE_INTERFACE=y
diff --git a/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
deleted file mode 100644
index 540aadcad..000000000
--- a/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += " file://smci.cfg"
diff --git a/meta-supermicro/meta-common/recipes-supermicro/packagegroups/packagegroup-supermicro-apps.bb b/meta-supermicro/meta-common/recipes-supermicro/packagegroups/packagegroup-supermicro-apps.bb
index 2373cec9f..4549bf70f 100644
--- a/meta-supermicro/meta-common/recipes-supermicro/packagegroups/packagegroup-supermicro-apps.bb
+++ b/meta-supermicro/meta-common/recipes-supermicro/packagegroups/packagegroup-supermicro-apps.bb
@@ -16,28 +16,29 @@ PROVIDES += "virtual/obmc-fan-mgmt"
PROVIDES += "virtual/obmc-flash-mgmt"
PROVIDES += "virtual/obmc-system-mgmt"
-RPROVIDES_${PN}-chassis += "virtual-obmc-chassis-mgmt"
-RPROVIDES_${PN}-fans += "virtual-obmc-fan-mgmt"
-RPROVIDES_${PN}-flash += "virtual-obmc-flash-mgmt"
-RPROVIDES_${PN}-system += "virtual-obmc-system-mgmt"
+RPROVIDES:${PN}-chassis += "virtual-obmc-chassis-mgmt"
+RPROVIDES:${PN}-fans += "virtual-obmc-fan-mgmt"
+RPROVIDES:${PN}-flash += "virtual-obmc-flash-mgmt"
+RPROVIDES:${PN}-system += "virtual-obmc-system-mgmt"
-SUMMARY_${PN}-chassis = "Supermicro Chassis"
-RDEPENDS_${PN}-chassis = " \
+SUMMARY:${PN}-chassis = "Supermicro Chassis"
+RDEPENDS:${PN}-chassis = " \
x86-power-control \
+ obmc-host-failure-reboots \
"
-SUMMARY_${PN}-fans = "Supermicro Fans"
-RDEPENDS_${PN}-fans = " \
+SUMMARY:${PN}-fans = "Supermicro Fans"
+RDEPENDS:${PN}-fans = " \
phosphor-pid-control \
"
-SUMMARY_${PN}-flash = "Supermicro Flash"
-RDEPENDS_${PN}-flash = " \
- phosphor-software-manager \
+SUMMARY:${PN}-flash = "Supermicro Flash"
+RDEPENDS:${PN}-flash = " \
+ obmc-control-bmc \
"
-SUMMARY_${PN}-system = "Supermicro System"
-RDEPENDS_${PN}-system = " \
+SUMMARY:${PN}-system = "Supermicro System"
+RDEPENDS:${PN}-system = " \
bmcweb \
entity-manager \
dbus-sensors \
diff --git a/meta-supermicro/meta-x11spi/conf/layer.conf b/meta-supermicro/meta-x11spi/conf/layer.conf
index 83c64e4b3..da61bc176 100644
--- a/meta-supermicro/meta-x11spi/conf/layer.conf
+++ b/meta-supermicro/meta-x11spi/conf/layer.conf
@@ -8,4 +8,6 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "x11spi"
BBFILE_PATTERN_x11spi = ""
-LAYERSERIES_COMPAT_x11spi = "hardknott"
+BBFILE_PRIORITY_x11spi = "5"
+LAYERSERIES_COMPAT_x11spi = "hardknott honister"
+
diff --git a/meta-supermicro/meta-x11spi/conf/local.conf.sample b/meta-supermicro/meta-x11spi/conf/local.conf.sample
index 2e57e4795..fc8db0a96 100644
--- a/meta-supermicro/meta-x11spi/conf/local.conf.sample
+++ b/meta-supermicro/meta-x11spi/conf/local.conf.sample
@@ -2,7 +2,9 @@
# This file is your local configuration file and is where all local user settings
# are placed. The comments in this file give some guide to the options a new user
# to the system might want to change but pretty much any configuration option can
-# be set in this file.
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
#
# Lines starting with the '#' character are commented out and in some cases the
# default values are provided as comments to show people example syntax. Enabling
@@ -85,16 +87,14 @@ DISTRO ?= "openbmc-phosphor"
PACKAGE_CLASSES ?= "package_ipk"
#
-# SDK/ADT target architecture
+# SDK target architecture
#
-# This variable specifies the architecture to build SDK/ADT items for and means
+# This variable specifies the architecture to build SDK items for and means
# you can build the SDK packages for architectures other than the machine you are
# running the build on (i.e. building i686 packages on an x86_64 host).
-# Supported values are i686 and x86_64
+# Supported values are i686, x86_64, aarch64
#SDKMACHINE ?= "i686"
-SANITY_TESTED_DISTROS_append ?= " *"
-
#
# Extra image configuration defaults
#
@@ -103,6 +103,8 @@ SANITY_TESTED_DISTROS_append ?= " *"
# variable can contain the following options:
# "dbg-pkgs" - add -dbg packages for all installed packages
# (adds symbol information for debugging/profiling)
+# "src-pkgs" - add -src packages for all installed packages
+# (adds source code for debugging)
# "dev-pkgs" - add -dev packages for all installed packages
# (useful if you want to develop against libs in the image)
# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
@@ -110,14 +112,14 @@ SANITY_TESTED_DISTROS_append ?= " *"
# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
# "tools-debug" - add debugging tools (gdb, strace)
# "eclipse-debug" - add Eclipse remote debugging support
-# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind)
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
# "debug-tweaks" - make an image suitable for development
# e.g. ssh root access has a blank password
# There are other application targets that can be used here too, see
# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
# We default to enabling the debugging tweaks.
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
#
# Additional image features
@@ -126,20 +128,18 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks"
# enable extra features. Some available options which can be included in this variable
# are:
# - 'buildstats' collect build statistics
-# - 'image-prelink' in order to prelink the filesystem image
-# - 'image-swab' to perform host system intrusion detection
-# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
-# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
-USER_CLASSES ?= "buildstats image-prelink"
+USER_CLASSES ?= "buildstats"
#
# Runtime testing of images
#
# The build system can test booting virtual machine images under qemu (an emulator)
-# after any root filesystems are created and run tests against those images. To
-# enable this uncomment this line. See classes/testimage(-auto).bbclass for
-# further details.
-#TEST_IMAGE = "1"
+# after any root filesystems are created and run tests against those images. It can also
+# run tests against any SDK that are built. To enable this uncomment these lines.
+# See classes/test{image,sdk}.bbclass for further details.
+#IMAGE_CLASSES += "testimage testsdk"
+#TESTIMAGE_AUTO_qemuall = "1"
+
#
# Interactive shell configuration
#
@@ -164,12 +164,12 @@ PATCHRESOLVE = "noop"
#
# Monitor the disk space during the build. If there is less that 1GB of space or less
# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
-# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort
# of the build. The reason for this is that running completely out of space can corrupt
# files and damages the build in ways which may not be easily recoverable.
# It's necessary to monitor /tmp, if there is no space left the build will fail
# with very exotic errors.
-BB_DISKMON_DIRS = "\
+BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
@@ -182,7 +182,7 @@ BB_DISKMON_DIRS = "\
#
# Shared-state files from other locations
#
-# As mentioned above, shared state files are prebuilt cache data objects which can
+# As mentioned above, shared state files are prebuilt cache data objects which can be
# used to accelerate build time. This variable can be used to configure the system
# to search other mirror locations for these objects before it builds the data itself.
#
@@ -197,22 +197,57 @@ BB_DISKMON_DIRS = "\
#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
#file://.* file:///some/local/dir/sstate/PATH"
+#
+# Yocto Project SState Mirror
+#
+# The Yocto Project has prebuilt artefacts available for its releases, you can enable
+# use of these by uncommenting the following line. This will mean the build uses
+# the network to check for artefacts at the start of builds, which does slow it down
+# equally, it will also speed up the builds by not having to build things if they are
+# present in the cache. It assumes you can download something faster than you can build it
+# which will depend on your network.
+#
+#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH"
#
# Qemu configuration
#
-# By default qemu will build with a builtin VNC server where graphical output can be
-# seen. The two lines below enable the SDL backend too. This assumes there is a
-# libsdl library available on your build system.
-#PACKAGECONFIG_append_pn-qemu-native = " sdl"
-#PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
-#ASSUME_PROVIDED += "libsdl-native"
+# By default native qemu will build with a builtin VNC server where graphical output can be
+# seen. The line below enables the SDL UI frontend too.
+PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
+# By default libsdl2-native will be built, if you want to use your host's libSDL instead of
+# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
+#ASSUME_PROVIDED += "libsdl2-native"
+# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds
+# a handy set of menus for controlling the emulator.
+#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"
+
+#
+# Hash Equivalence
+#
+# Enable support for automatically running a local hash equivalence server and
+# instruct bitbake to use a hash equivalence aware signature generator. Hash
+# equivalence improves reuse of sstate by detecting when a given sstate
+# artifact can be reused as equivalent, even if the current task hash doesn't
+# match the one that generated the artifact.
+#
+# A shared hash equivalent server can be set with "<HOSTNAME>:<PORT>" format
+#
+#BB_HASHSERVE = "auto"
+#BB_SIGNATURE_HANDLER = "OEEquivHash"
+
+#
+# Memory Resident Bitbake
+#
+# Bitbake's server component can stay in memory after the UI for the current command
+# has completed. This means subsequent commands can run faster since there is no need
+# for bitbake to reload cache files and so on. Number is in seconds, after which the
+# server will shut down.
+#
+#BB_SERVER_TIMEOUT = "60"
# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
# track the version of this file when it was generated. This can safely be ignored if
# this doesn't mean anything to you.
-CONF_VERSION = "1"
-
-# Set the root password to '0penBmc'
-# Defaults from meta-phosphor/conf/distro/include/phosphor-defaults.inc
+CONF_VERSION = "2"
diff --git a/meta-supermicro/meta-x11spi/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json b/meta-supermicro/meta-x11spi/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
new file mode 100644
index 000000000..de7352bcf
--- /dev/null
+++ b/meta-supermicro/meta-x11spi/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
@@ -0,0 +1,42 @@
+{
+ "gpio_configs": {
+
+ "power_config": {
+ "power_good_in": "PGOOD",
+ "power_up_outs": [
+ {"name": "POWER_UP_PIN", "polarity": true}
+ ],
+ "reset_outs": [
+ {"name": "RESET_OUT", "polarity": false}
+ ]
+ }
+ },
+
+ "gpio_definitions": [
+ {
+ "name": "PGOOD",
+ "pin": "AA0",
+ "direction": "in"
+ },
+ {
+ "name": "POWER_BUTTON",
+ "pin": "AA1",
+ "direction": "both"
+ },
+ {
+ "name": "POWER_UP_PIN",
+ "pin": "E2",
+ "direction": "out"
+ },
+ {
+ "name": "RESET_OUT",
+ "pin": "E3",
+ "direction": "out"
+ },
+ {
+ "name": "ID_BUTTON",
+ "pin": "AA5",
+ "direction": "both"
+ }
+ ]
+}
diff --git a/meta-supermicro/meta-x11spi/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend b/meta-supermicro/meta-x11spi/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
new file mode 100644
index 000000000..18a631470
--- /dev/null
+++ b/meta-supermicro/meta-x11spi/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS:prepend:x11spi := "${THISDIR}/${PN}:"
diff --git a/meta-xilinx/COPYING.MIT b/meta-xilinx/COPYING.MIT
deleted file mode 100644
index 89de35479..000000000
--- a/meta-xilinx/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/meta-xilinx/README.md b/meta-xilinx/README.md
deleted file mode 100644
index 2a4d54891..000000000
--- a/meta-xilinx/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-Collection of layers to support Xilinx products
-
-Please see the respective READMEs in the layer subdirectories
-
diff --git a/meta-xilinx/meta-microblaze/conf/layer.conf b/meta-xilinx/meta-microblaze/conf/layer.conf
deleted file mode 100644
index 794e107a1..000000000
--- a/meta-xilinx/meta-microblaze/conf/layer.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have a packages directory, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "xilinx-microblaze"
-BBFILE_PATTERN_xilinx-microblaze = "^${LAYERDIR}/"
-BBFILE_PRIORITY_xilinx-microblaze = "5"
-
-LAYERDEPENDS_xilinx-microblaze = "core"
-
-LAYERSERIES_COMPAT_xilinx-microblaze = "dunfell gatesgarth"
-
-# Until we've moved to a newer version, we need to stick on 9.2
-GDBVERSION_microblaze = "9.2"
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0001-Patch-microblaze-Add-config-microblaze.mt-for-target.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0001-Patch-microblaze-Add-config-microblaze.mt-for-target.patch
deleted file mode 100644
index 0d984e4bb..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0001-Patch-microblaze-Add-config-microblaze.mt-for-target.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 3be7340059deb6fd74873978ee4e435c84a15b8b Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 23 Jan 2017 15:27:25 +0530
-Subject: [PATCH 01/11] [Patch, microblaze]: Add config/microblaze.mt for
- target_makefile_frag Mirror MIPS method of creating copy of default.mt which
- drops the compilation of generic sbrk.c to instead continue using the
- microblaze provided version.
-
-[Libgloss]
-
-Changelog
-
-2013-07-15 David Holsgrove <david.holsgrove@xilinx.com>
-
- * config/microblaze.mt: New file.
- * microblaze/configure.in: Switch default.mt to microblaze.mt.
- * microblaze/configure: Likewise.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- libgloss/config/microblaze.mt | 30 ++++++++++++++++++++++++++++++
- libgloss/microblaze/configure | 2 +-
- libgloss/microblaze/configure.in | 2 +-
- 3 files changed, 32 insertions(+), 2 deletions(-)
- create mode 100644 libgloss/config/microblaze.mt
-
-diff --git a/libgloss/config/microblaze.mt b/libgloss/config/microblaze.mt
-new file mode 100644
-index 000000000..e8fb922dd
---- /dev/null
-+++ b/libgloss/config/microblaze.mt
-@@ -0,0 +1,30 @@
-+#
-+# Match default.mt to compile generic objects but continue building
-+# MicroBlaze specific sbrk.c
-+#
-+close.o: ${srcdir}/../close.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+fstat.o: ${srcdir}/../fstat.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+getpid.o: ${srcdir}/../getpid.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+isatty.o: ${srcdir}/../isatty.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+kill.o: ${srcdir}/../kill.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+lseek.o: ${srcdir}/../lseek.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+open.o: ${srcdir}/../open.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+print.o: ${srcdir}/../print.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+putnum.o: ${srcdir}/../putnum.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+read.o: ${srcdir}/../read.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+stat.o: ${srcdir}/../stat.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+unlink.o: ${srcdir}/../unlink.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-+write.o: ${srcdir}/../write.c
-+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $?
-diff --git a/libgloss/microblaze/configure b/libgloss/microblaze/configure
-index 9b2bc7ab4..01f0fb29d 100644
---- a/libgloss/microblaze/configure
-+++ b/libgloss/microblaze/configure
-@@ -2020,7 +2020,7 @@ LIB_AM_PROG_AS
-
-
- host_makefile_frag=${srcdir}/../config/default.mh
--target_makefile_frag=${srcdir}/../config/default.mt
-+target_makefile_frag=${srcdir}/../config/microblaze.mt
-
- host_makefile_frag_path=$host_makefile_frag
-
-diff --git a/libgloss/microblaze/configure.in b/libgloss/microblaze/configure.in
-index 77aa769d4..5d179fdfc 100644
---- a/libgloss/microblaze/configure.in
-+++ b/libgloss/microblaze/configure.in
-@@ -35,7 +35,7 @@ LIB_AM_PROG_AS
- AC_SUBST(bsp_prefix)
-
- host_makefile_frag=${srcdir}/../config/default.mh
--target_makefile_frag=${srcdir}/../config/default.mt
-+target_makefile_frag=${srcdir}/../config/microblaze.mt
-
- dnl We have to assign the same value to other variables because autoconf
- dnl doesn't provide a mechanism to substitute a replacement keyword with
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0002-Patch-microblaze-Modified-_exceptional_handler.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0002-Patch-microblaze-Modified-_exceptional_handler.patch
deleted file mode 100644
index 27f8a60bd..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0002-Patch-microblaze-Modified-_exceptional_handler.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f3ffd847282fa3bf676ccd05cbdcba33eea06416 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 23 Jan 2017 15:30:02 +0530
-Subject: [PATCH 02/11] [Patch, microblaze]: Modified _exceptional_handler
- Modified the _exceptional_handler to support the changes made in GCC related
- to Superviosry call
-
-Signed-off-by:Nagaraju Mekala<nmekala@xilix.com>
----
- libgloss/microblaze/_exception_handler.S | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/libgloss/microblaze/_exception_handler.S b/libgloss/microblaze/_exception_handler.S
-index 59385ad9b..7a91a781e 100644
---- a/libgloss/microblaze/_exception_handler.S
-+++ b/libgloss/microblaze/_exception_handler.S
-@@ -36,5 +36,4 @@
- .type _exception_handler, @function
-
- _exception_handler:
-- addi r11,r11,8
- bra r11
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0003-LOCAL-Add-missing-declarations-for-xil_printf-to-std.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0003-LOCAL-Add-missing-declarations-for-xil_printf-to-std.patch
deleted file mode 100644
index aa257a40f..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0003-LOCAL-Add-missing-declarations-for-xil_printf-to-std.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From cf8c0c5d167386aa3f8bee6feb531b451461f99c Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 23 Jan 2017 15:39:45 +0530
-Subject: [PATCH 03/11] [LOCAL]: Add missing declarations for xil_printf to
- stdio.h for inclusion in toolchain and use in c++ apps
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- newlib/libc/include/stdio.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h
-index 164d95bca..7bb729c11 100644
---- a/newlib/libc/include/stdio.h
-+++ b/newlib/libc/include/stdio.h
-@@ -245,6 +245,9 @@ int sprintf (char *__restrict, const char *__restrict, ...)
- _ATTRIBUTE ((__format__ (__printf__, 2, 3)));
- int remove (const char *);
- int rename (const char *, const char *);
-+void xil_printf (const char*, ...);
-+void putnum (unsigned int );
-+void print (const char* );
- #ifdef _COMPILING_NEWLIB
- int _rename (const char *, const char *);
- #endif
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0004-Local-deleting-the-xil_printf.c-file-as-now-it-part-.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0004-Local-deleting-the-xil_printf.c-file-as-now-it-part-.patch
deleted file mode 100644
index 9c59e4f55..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0004-Local-deleting-the-xil_printf.c-file-as-now-it-part-.patch
+++ /dev/null
@@ -1,304 +0,0 @@
-From b2e081bd0c00dce23a6824db050bbfca991d79ab Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 23 Jan 2017 15:42:11 +0530
-Subject: [PATCH 04/11] [Local]: deleting the xil_printf.c file as now it part
- of BSP
-
----
- libgloss/microblaze/xil_printf.c | 284 -------------------------------
- 1 file changed, 284 deletions(-)
- delete mode 100644 libgloss/microblaze/xil_printf.c
-
-diff --git a/libgloss/microblaze/xil_printf.c b/libgloss/microblaze/xil_printf.c
-deleted file mode 100644
-index f18ee8446..000000000
---- a/libgloss/microblaze/xil_printf.c
-+++ /dev/null
-@@ -1,284 +0,0 @@
--/* Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved.
-- *
-- * Redistribution and use in source and binary forms, with or without
-- * modification, are permitted provided that the following conditions are
-- * met:
-- *
-- * 1. Redistributions source code must retain the above copyright notice,
-- * this list of conditions and the following disclaimer.
-- *
-- * 2. Redistributions in binary form must reproduce the above copyright
-- * notice, this list of conditions and the following disclaimer in the
-- * documentation and/or other materials provided with the distribution.
-- *
-- * 3. Neither the name of Xilinx nor the names of its contributors may be
-- * used to endorse or promote products derived from this software without
-- * specific prior written permission.
-- *
-- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
-- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-- * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-- * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-- */
--
--#include <ctype.h>
--#include <string.h>
--#include <stdarg.h>
--
--extern void outbyte (char);
--
--/*----------------------------------------------------*/
--/* Use the following parameter passing structure to */
--/* make xil_printf re-entrant. */
--/*----------------------------------------------------*/
--typedef struct params_s {
-- int len;
-- int num1;
-- int num2;
-- char pad_character;
-- int do_padding;
-- int left_flag;
--} params_t;
--
--/*---------------------------------------------------*/
--/* The purpose of this routine is to output data the */
--/* same as the standard printf function without the */
--/* overhead most run-time libraries involve. Usually */
--/* the printf brings in many kilobytes of code and */
--/* that is unacceptable in most embedded systems. */
--/*---------------------------------------------------*/
--
--typedef char* charptr;
--typedef int (*func_ptr)(int c);
--
--/*---------------------------------------------------*/
--/* */
--/* This routine puts pad characters into the output */
--/* buffer. */
--/* */
--static void padding( const int l_flag, params_t *par)
--{
-- int i;
--
-- if (par->do_padding && l_flag && (par->len < par->num1))
-- for (i=par->len; i<par->num1; i++)
-- outbyte( par->pad_character);
--}
--
--/*---------------------------------------------------*/
--/* */
--/* This routine moves a string to the output buffer */
--/* as directed by the padding and positioning flags. */
--/* */
--static void outs( charptr lp, params_t *par)
--{
-- /* pad on left if needed */
-- par->len = strlen( lp);
-- padding( !(par->left_flag), par);
--
-- /* Move string to the buffer */
-- while (*lp && (par->num2)--)
-- outbyte( *lp++);
--
-- /* Pad on right if needed */
-- /* CR 439175 - elided next stmt. Seemed bogus. */
-- /* par->len = strlen( lp); */
-- padding( par->left_flag, par);
--}
--
--/*---------------------------------------------------*/
--/* */
--/* This routine moves a number to the output buffer */
--/* as directed by the padding and positioning flags. */
--/* */
--
--static void outnum( const long n, const long base, params_t *par)
--{
-- charptr cp;
-- int negative;
-- char outbuf[32];
-- const char digits[] = "0123456789ABCDEF";
-- unsigned long num;
--
-- /* Check if number is negative */
-- if (base == 10 && n < 0L) {
-- negative = 1;
-- num = -(n);
-- }
-- else{
-- num = (n);
-- negative = 0;
-- }
--
-- /* Build number (backwards) in outbuf */
-- cp = outbuf;
-- do {
-- *cp++ = digits[(int)(num % base)];
-- } while ((num /= base) > 0);
-- if (negative)
-- *cp++ = '-';
-- *cp-- = 0;
--
-- /* Move the converted number to the buffer and */
-- /* add in the padding where needed. */
-- par->len = strlen(outbuf);
-- padding( !(par->left_flag), par);
-- while (cp >= outbuf)
-- outbyte( *cp--);
-- padding( par->left_flag, par);
--}
--
--/*---------------------------------------------------*/
--/* */
--/* This routine gets a number from the format */
--/* string. */
--/* */
--static int getnum( charptr* linep)
--{
-- int n;
-- charptr cp;
--
-- n = 0;
-- cp = *linep;
-- while (isdigit(*cp))
-- n = n*10 + ((*cp++) - '0');
-- *linep = cp;
-- return(n);
--}
--
--/*---------------------------------------------------*/
--/* */
--/* This routine operates just like a printf/sprintf */
--/* routine. It outputs a set of data under the */
--/* control of a formatting string. Not all of the */
--/* standard C format control are supported. The ones */
--/* provided are primarily those needed for embedded */
--/* systems work. Primarily the floaing point */
--/* routines are omitted. Other formats could be */
--/* added easily by following the examples shown for */
--/* the supported formats. */
--/* */
--
--/* void esp_printf( const func_ptr f_ptr,
-- const charptr ctrl1, ...) */
--void xil_printf( const charptr ctrl1, ...)
--{
--
-- int long_flag;
-- int dot_flag;
--
-- params_t par;
--
-- char ch;
-- va_list argp;
-- charptr ctrl = ctrl1;
--
-- va_start( argp, ctrl1);
--
-- for ( ; *ctrl; ctrl++) {
--
-- /* move format string chars to buffer until a */
-- /* format control is found. */
-- if (*ctrl != '%') {
-- outbyte(*ctrl);
-- continue;
-- }
--
-- /* initialize all the flags for this format. */
-- dot_flag = long_flag = par.left_flag = par.do_padding = 0;
-- par.pad_character = ' ';
-- par.num2=32767;
--
-- try_next:
-- ch = *(++ctrl);
--
-- if (isdigit(ch)) {
-- if (dot_flag)
-- par.num2 = getnum(&ctrl);
-- else {
-- if (ch == '0')
-- par.pad_character = '0';
--
-- par.num1 = getnum(&ctrl);
-- par.do_padding = 1;
-- }
-- ctrl--;
-- goto try_next;
-- }
--
-- switch (tolower(ch)) {
-- case '%':
-- outbyte( '%');
-- continue;
--
-- case '-':
-- par.left_flag = 1;
-- break;
--
-- case '.':
-- dot_flag = 1;
-- break;
--
-- case 'l':
-- long_flag = 1;
-- break;
--
-- case 'd':
-- if (long_flag || ch == 'D') {
-- outnum( va_arg(argp, long), 10L, &par);
-- continue;
-- }
-- else {
-- outnum( va_arg(argp, int), 10L, &par);
-- continue;
-- }
-- case 'x':
-- outnum((long)va_arg(argp, int), 16L, &par);
-- continue;
--
-- case 's':
-- outs( va_arg( argp, charptr), &par);
-- continue;
--
-- case 'c':
-- outbyte( va_arg( argp, int));
-- continue;
--
-- case '\\':
-- switch (*ctrl) {
-- case 'a':
-- outbyte( 0x07);
-- break;
-- case 'h':
-- outbyte( 0x08);
-- break;
-- case 'r':
-- outbyte( 0x0D);
-- break;
-- case 'n':
-- outbyte( 0x0D);
-- outbyte( 0x0A);
-- break;
-- default:
-- outbyte( *ctrl);
-- break;
-- }
-- ctrl++;
-- break;
--
-- default:
-- continue;
-- }
-- goto try_next;
-- }
-- va_end( argp);
--}
--
--/*---------------------------------------------------*/
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0005-Local-deleting-the-xil_printf.o-from-MAKEFILE.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0005-Local-deleting-the-xil_printf.o-from-MAKEFILE.patch
deleted file mode 100644
index 850a61425..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0005-Local-deleting-the-xil_printf.o-from-MAKEFILE.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5071ea41bb6a54b8205665d307876ab0130d8825 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 23 Jan 2017 15:44:17 +0530
-Subject: [PATCH 05/11] [Local]: deleting the xil_printf.o from MAKEFILE
-
----
- libgloss/microblaze/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libgloss/microblaze/Makefile.in b/libgloss/microblaze/Makefile.in
-index fe04a08c9..32aafda37 100644
---- a/libgloss/microblaze/Makefile.in
-+++ b/libgloss/microblaze/Makefile.in
-@@ -81,7 +81,7 @@ GENOBJS = fstat.o getpid.o isatty.o kill.o lseek.o print.o putnum.o stat.o unlin
- open.o close.o read.o write.o
- OBJS = ${GENOBJS} sbrk.o timer.o _exception_handler.o _hw_exception_handler.o \
- _interrupt_handler.o _program_clean.o _program_init.o \
-- xil_malloc.o xil_sbrk.o xil_printf.o
-+ xil_malloc.o xil_sbrk.o
- SCRIPTS = xilinx.ld
-
- # Tiny Linux BSP.
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0006-MB-X-intial-commit.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0006-MB-X-intial-commit.patch
deleted file mode 100644
index a3c1f0e08..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0006-MB-X-intial-commit.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From f5f363cd879ea60cc8fb5507e8a01533fd0c55a9 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Fri, 27 Jul 2018 16:10:36 +0530
-Subject: [PATCH 06/11] MB-X intial commit
-
----
- libgloss/microblaze/crt0.S | 2 +-
- libgloss/microblaze/crt1.S | 2 +-
- libgloss/microblaze/crt2.S | 2 +-
- libgloss/microblaze/crt3.S | 2 +-
- libgloss/microblaze/crt4.S | 2 +-
- libgloss/microblaze/crtinit.S | 4 ++--
- libgloss/microblaze/pgcrtinit.S | 4 ++--
- libgloss/microblaze/sim-crtinit.S | 4 ++--
- libgloss/microblaze/sim-pgcrtinit.S | 4 ++--
- newlib/libc/machine/microblaze/strcmp.c | 8 ++++----
- 10 files changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/libgloss/microblaze/crt0.S b/libgloss/microblaze/crt0.S
-index b39ea90b3..865a8c269 100644
---- a/libgloss/microblaze/crt0.S
-+++ b/libgloss/microblaze/crt0.S
-@@ -84,7 +84,7 @@ _vector_hw_exception:
- _start1:
- la r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
- la r2, r0, _SDA2_BASE_
-- la r1, r0, _stack-16 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+ la r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-
- brlid r15, _crtinit /* Initialize BSS and run program */
- nop
-diff --git a/libgloss/microblaze/crt1.S b/libgloss/microblaze/crt1.S
-index 20323ff6d..a8bf74937 100644
---- a/libgloss/microblaze/crt1.S
-+++ b/libgloss/microblaze/crt1.S
-@@ -75,7 +75,7 @@ _vector_hw_exception:
- _start:
- la r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
- la r2, r0, _SDA2_BASE_
-- la r1, r0, _stack-16 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+ la r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-
- brlid r15, _crtinit /* Initialize BSS and run program */
- nop
-diff --git a/libgloss/microblaze/crt2.S b/libgloss/microblaze/crt2.S
-index e3fb15b26..34d9f951d 100644
---- a/libgloss/microblaze/crt2.S
-+++ b/libgloss/microblaze/crt2.S
-@@ -73,7 +73,7 @@ _vector_hw_exception:
- _start:
- la r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
- la r2, r0, _SDA2_BASE_
-- la r1, r0, _stack-16 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+ la r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-
- brlid r15, _crtinit /* Initialize BSS and run program */
- nop
-diff --git a/libgloss/microblaze/crt3.S b/libgloss/microblaze/crt3.S
-index 452ea5265..ebcf207f5 100644
---- a/libgloss/microblaze/crt3.S
-+++ b/libgloss/microblaze/crt3.S
-@@ -59,7 +59,7 @@
- _start:
- la r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
- la r2, r0, _SDA2_BASE_
-- la r1, r0, _stack-16 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+ la r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-
- brlid r15, _crtinit /* Initialize BSS and run program */
- nop
-diff --git a/libgloss/microblaze/crt4.S b/libgloss/microblaze/crt4.S
-index 475acecfd..4cf0b01a4 100644
---- a/libgloss/microblaze/crt4.S
-+++ b/libgloss/microblaze/crt4.S
-@@ -59,7 +59,7 @@
- _start:
- la r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
- la r2, r0, _SDA2_BASE_
-- la r1, r0, _stack-16 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+ la r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-
- brlid r15, _crtinit /* Initialize BSS and run program */
- nop
-diff --git a/libgloss/microblaze/crtinit.S b/libgloss/microblaze/crtinit.S
-index 78eb76df6..86c6dfcb0 100644
---- a/libgloss/microblaze/crtinit.S
-+++ b/libgloss/microblaze/crtinit.S
-@@ -33,7 +33,7 @@
- .ent _crtinit
- .type _crtinit, @function
- _crtinit:
-- addi r1, r1, -20 /* Save Link register */
-+ addi r1, r1, -40 /* Save Link register */
- swi r15, r1, 0
-
- addi r6, r0, __sbss_start /* clear SBSS */
-@@ -82,6 +82,6 @@ _crtinit:
-
- addik r3, r19, 0 /* Restore return value */
- rtsd r15, 8
-- addi r1, r1, 20
-+ addi r1, r1, 40
- .end _crtinit
-
-diff --git a/libgloss/microblaze/pgcrtinit.S b/libgloss/microblaze/pgcrtinit.S
-index fca1bc45e..25930821c 100644
---- a/libgloss/microblaze/pgcrtinit.S
-+++ b/libgloss/microblaze/pgcrtinit.S
-@@ -33,7 +33,7 @@
- .ent _crtinit
-
- _crtinit:
-- addi r1, r1, -20 /* Save Link register */
-+ addi r1, r1, -40 /* Save Link register */
- swi r15, r1, 0
-
- addi r6, r0, __sbss_start /* clear SBSS */
-@@ -87,6 +87,6 @@ _crtinit:
- lw r15, r1, r0 /* Return back to CRT */
- addik r3, r19, 0 /* Restore return value */
- rtsd r15, 8
-- addi r1, r1, 20
-+ addi r1, r1, 40
- .end _crtinit
-
-diff --git a/libgloss/microblaze/sim-crtinit.S b/libgloss/microblaze/sim-crtinit.S
-index d2f59fe6d..74586d9a7 100644
---- a/libgloss/microblaze/sim-crtinit.S
-+++ b/libgloss/microblaze/sim-crtinit.S
-@@ -39,7 +39,7 @@
- .ent _crtinit
-
- _crtinit:
-- addi r1, r1, -20 /* Save Link register */
-+ addi r1, r1, -40 /* Save Link register */
- swi r15, r1, 0
-
- brlid r15, _program_init /* Initialize the program */
-@@ -64,6 +64,6 @@ _crtinit:
- lw r15, r1, r0 /* Return back to CRT */
- addik r3, r19, 0 /* Restore return value */
- rtsd r15, 8
-- addi r1, r1, 20
-+ addi r1, r1, 40
- .end _crtinit
-
-diff --git a/libgloss/microblaze/sim-pgcrtinit.S b/libgloss/microblaze/sim-pgcrtinit.S
-index 3c6ba8371..82ebccad4 100644
---- a/libgloss/microblaze/sim-pgcrtinit.S
-+++ b/libgloss/microblaze/sim-pgcrtinit.S
-@@ -39,7 +39,7 @@
- .ent _crtinit
-
- _crtinit:
-- addi r1, r1, -20 /* Save Link register */
-+ addi r1, r1, -40 /* Save Link register */
- swi r15, r1, 0
-
- brlid r15, _program_init /* Initialize the program */
-@@ -67,6 +67,6 @@ _crtinit:
-
- lw r15, r1, r0 /* Return back to CRT */
- rtsd r15, 8
-- addi r1, r1, 20
-+ addi r1, r1, 40
- .end _crtinit
-
-diff --git a/newlib/libc/machine/microblaze/strcmp.c b/newlib/libc/machine/microblaze/strcmp.c
-index 434195e2c..3119d82c5 100644
---- a/newlib/libc/machine/microblaze/strcmp.c
-+++ b/newlib/libc/machine/microblaze/strcmp.c
-@@ -96,15 +96,15 @@ strcmp (const char *s1,
-
- return (*(unsigned char *) s1) - (*(unsigned char *) s2);
- #else
-- unsigned long *a1;
-- unsigned long *a2;
-+ unsigned int *a1;
-+ unsigned int *a2;
-
- /* If s1 or s2 are unaligned, then compare bytes. */
- if (!UNALIGNED (s1, s2))
- {
- /* If s1 and s2 are word-aligned, compare them a word at a time. */
-- a1 = (unsigned long*)s1;
-- a2 = (unsigned long*)s2;
-+ a1 = (unsigned int*)s1;
-+ a2 = (unsigned int*)s2;
- while (*a1 == *a2)
- {
- /* To get here, *a1 == *a2, thus if we find a null in *a1,
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0007-Patch-Microblaze-newlib-port-for-microblaze-m64-flag.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0007-Patch-Microblaze-newlib-port-for-microblaze-m64-flag.patch
deleted file mode 100644
index 55dde8033..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0007-Patch-Microblaze-newlib-port-for-microblaze-m64-flag.patch
+++ /dev/null
@@ -1,1137 +0,0 @@
-From 5040f7d8abb79bf4240d0b446e2d33d26680d9fc Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 11 Sep 2018 14:32:20 +0530
-Subject: [PATCH 07/11] [Patch, Microblaze]: newlib port for microblaze m64
- flag...
-
-Conflicts:
- libgloss/microblaze/_hw_exception_handler.S
- libgloss/microblaze/_interrupt_handler.S
----
- libgloss/microblaze/_exception_handler.S | 6 +-
- libgloss/microblaze/_hw_exception_handler.S | 7 +-
- libgloss/microblaze/_interrupt_handler.S | 7 +-
- libgloss/microblaze/_program_clean.S | 6 +-
- libgloss/microblaze/_program_init.S | 6 +-
- libgloss/microblaze/crt0.S | 53 ++++++++-
- libgloss/microblaze/crt1.S | 54 +++++++--
- libgloss/microblaze/crt2.S | 52 +++++++--
- libgloss/microblaze/crt3.S | 32 +++++-
- libgloss/microblaze/crt4.S | 37 +++++-
- libgloss/microblaze/crtinit.S | 120 ++++++++++++++------
- libgloss/microblaze/linux-crt0.S | 60 ++++++++--
- libgloss/microblaze/linux-syscalls.S | 15 ++-
- libgloss/microblaze/pgcrtinit.S | 59 +++++++++-
- libgloss/microblaze/sim-crtinit.S | 31 +++++
- libgloss/microblaze/sim-pgcrtinit.S | 31 +++++
- newlib/libc/machine/microblaze/longjmp.S | 45 ++++++--
- newlib/libc/machine/microblaze/setjmp.S | 33 +++++-
- 18 files changed, 563 insertions(+), 91 deletions(-)
-
-diff --git a/libgloss/microblaze/_exception_handler.S b/libgloss/microblaze/_exception_handler.S
-index 7a91a781e..0fdff3fec 100644
---- a/libgloss/microblaze/_exception_handler.S
-+++ b/libgloss/microblaze/_exception_handler.S
-@@ -30,7 +30,11 @@
- */
-
- .text
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
- .weakext _exception_handler
- .ent _exception_handler
- .type _exception_handler, @function
-diff --git a/libgloss/microblaze/_hw_exception_handler.S b/libgloss/microblaze/_hw_exception_handler.S
-index 47df945c4..b951a6325 100644
---- a/libgloss/microblaze/_hw_exception_handler.S
-+++ b/libgloss/microblaze/_hw_exception_handler.S
-@@ -32,8 +32,11 @@
- .text
- .weakext _hw_exception_handler # HW Exception Handler Label
- .type _hw_exception_handler, %function
-- .align 2
--
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
- _hw_exception_handler:
- rted r17, 0
- nop
-diff --git a/libgloss/microblaze/_interrupt_handler.S b/libgloss/microblaze/_interrupt_handler.S
-index 5bb7329cc..a0ef92df0 100644
---- a/libgloss/microblaze/_interrupt_handler.S
-+++ b/libgloss/microblaze/_interrupt_handler.S
-@@ -32,8 +32,11 @@
- .text
- .weakext _interrupt_handler # Interrupt Handler Label
- .type _interrupt_handler, %function
-- .align 2
--
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
- _interrupt_handler:
- rtid r14, 0
- nop
-diff --git a/libgloss/microblaze/_program_clean.S b/libgloss/microblaze/_program_clean.S
-index c46059434..0d55d8ab8 100644
---- a/libgloss/microblaze/_program_clean.S
-+++ b/libgloss/microblaze/_program_clean.S
-@@ -33,7 +33,11 @@
- #
-
- .text
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
- .globl _program_clean
- .ent _program_clean
- _program_clean:
-diff --git a/libgloss/microblaze/_program_init.S b/libgloss/microblaze/_program_init.S
-index 0daa42e14..862ef786b 100644
---- a/libgloss/microblaze/_program_init.S
-+++ b/libgloss/microblaze/_program_init.S
-@@ -32,7 +32,11 @@
- # Dummy file to be replaced by LibGen
-
- .text
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
- .globl _program_init
- .ent _program_init
- _program_init:
-diff --git a/libgloss/microblaze/crt0.S b/libgloss/microblaze/crt0.S
-index 865a8c269..e4df73b66 100644
---- a/libgloss/microblaze/crt0.S
-+++ b/libgloss/microblaze/crt0.S
-@@ -54,7 +54,11 @@
-
- .globl _start
- .section .vectors.reset, "ax"
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
- .ent _start
- .type _start, @function
- _start:
-@@ -62,36 +66,64 @@ _start:
- .end _start
-
- .section .vectors.sw_exception, "ax"
-+#ifdef __arch64__
-+ .align 3
-+#else
- .align 2
-+#endif
- _vector_sw_exception:
- brai _exception_handler
-
- .section .vectors.interrupt, "ax"
-+#ifdef __arch64__
-+ .align 3
-+#else
- .align 2
-+#endif
-+
- _vector_interrupt:
- brai _interrupt_handler
-
- .section .vectors.hw_exception, "ax"
-+#ifdef __arch64__
-+ .align 3
-+#else
- .align 2
-+#endif
-+
- _vector_hw_exception:
- brai _hw_exception_handler
-
- .section .text
- .globl _start1
-+#ifdef __arch64__
-+ .align 3
-+#else
- .align 2
-+#endif
-+
- .ent _start1
- .type _start1, @function
- _start1:
-+#ifdef __arch64__
-+ lli r13, r0, _SDA_BASE_
-+ lli r2, r0, _SDA2_BASE_
-+ lli r1, r0, _stack-32
-+ brealid r15, _crtinit
-+ nop
-+ addlik r5, r3, 0
-+ brealid r15, exit
-+ nop
-+#else
- la r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
- la r2, r0, _SDA2_BASE_
- la r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
--
- brlid r15, _crtinit /* Initialize BSS and run program */
- nop
-
-- brlid r15, exit /* Call exit with the return value of main */
-- addik r5, r3, 0
--
-+ brlid r15, exit /* Call exit with the return value of main */
-+ addik r5, r3, 0
-+#endif
- /* Control does not reach here */
- .end _start1
-
-@@ -101,9 +133,18 @@ _start1:
- Our simple _exit
- */
- .globl _exit
-+#ifdef __arch64__
-+ .align 3
-+#else
- .align 2
-+#endif
-+
- .ent _exit
- .type _exit, @function
- _exit:
-- bri 0
-+#ifdef __arch64__
-+ breai 0
-+#else
-+ bri 0
-+#endif
- .end _exit
-diff --git a/libgloss/microblaze/crt1.S b/libgloss/microblaze/crt1.S
-index a8bf74937..b24eeb531 100644
---- a/libgloss/microblaze/crt1.S
-+++ b/libgloss/microblaze/crt1.S
-@@ -53,36 +53,67 @@
-
-
- .section .vectors.sw_exception, "ax"
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
-+
- _vector_sw_exception:
- brai _exception_handler
-
- .section .vectors.interrupt, "ax"
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
-+
- _vector_interrupt:
- brai _interrupt_handler
-
- .section .vectors.hw_exception, "ax"
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
-+
- _vector_hw_exception:
- brai _hw_exception_handler
-
- .section .text
- .globl _start
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
-+
- .ent _start
- .type _start, @function
- _start:
-+#ifdef __arch64__
-+ lli r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-+ lli r2, r0, _SDA2_BASE_
-+ lli r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+
-+ brealid r15, _crtinit /* Initialize BSS and run program */
-+ nop
-+ addlik r5, r3, 0
-+ brealid r15, exit
-+ nop
-+#else
- la r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
- la r2, r0, _SDA2_BASE_
-- la r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+ la r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-
- brlid r15, _crtinit /* Initialize BSS and run program */
- nop
-
- brlid r15, exit /* Call exit with the return value of main */
- addik r5, r3, 0
--
-+#endif
- /* Control does not reach here */
- .end _start
-
-@@ -92,11 +123,18 @@ _start:
- Our simple _exit
- */
- .globl _exit
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
- .ent _exit
- .type _exit, @function
- _exit:
-+#ifdef __arch64__
-+ addl r3, r0, r5
-+#else
- add r3, r0, r5
-+#endif
- brki r16, 0x4 /* Return to hook in XMDSTUB */
- .end _exit
--
-diff --git a/libgloss/microblaze/crt2.S b/libgloss/microblaze/crt2.S
-index 34d9f951d..ae4c89ee0 100644
---- a/libgloss/microblaze/crt2.S
-+++ b/libgloss/microblaze/crt2.S
-@@ -51,26 +51,56 @@
- */
-
- .section .vectors.sw_exception, "ax"
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
-+
- _vector_sw_exception:
- brai _exception_handler
-
- .section .vectors.interrupt, "ax"
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
-+
- _vector_interrupt:
- brai _interrupt_handler
-
- .section .vectors.hw_exception, "ax"
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
-+
- _vector_hw_exception:
- brai _hw_exception_handler
-
- .section .text
- .globl _start
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
-+
- .ent _start
- .type _start, @function
- _start:
-+#ifdef __arch64__
-+ lli r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-+ lli r2, r0, _SDA2_BASE_
-+ lli r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+ brealid r15, _crtinit /* Initialize BSS and run program */
-+ nop
-+ addlik r5, r3, 0
-+ brealid r15, exit
-+ nop
-+#else
- la r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
- la r2, r0, _SDA2_BASE_
- la r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-@@ -80,7 +110,7 @@ _start:
-
- brlid r15, exit /* Call exit with the return value of main */
- addik r5, r3, 0
--
-+#endif
- /* Control does not reach here */
-
- .end _start
-@@ -90,9 +120,17 @@ _start:
- Our simple _exit
- */
- .globl _exit
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
- .ent _exit
- .type _exit, @function
- _exit:
-- bri 0
-+#ifdef __arch64__
-+ breai 0
-+#else
-+ bri 0
-+#endif
- .end _exit
-diff --git a/libgloss/microblaze/crt3.S b/libgloss/microblaze/crt3.S
-index ebcf207f5..a8bc7839b 100644
---- a/libgloss/microblaze/crt3.S
-+++ b/libgloss/microblaze/crt3.S
-@@ -53,10 +53,26 @@
-
- .section .text
- .globl _start
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
- .ent _start
- .type _start, @function
- _start:
-+#ifdef __arch64__
-+ lli r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-+ lli r2, r0, _SDA2_BASE_
-+ lli r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+
-+ brealid r15, _crtinit /* Initialize BSS and run program */
-+ nop
-+
-+ addlik r5, r3, 0
-+ brealid r15, exit /* Call exit with the return value of main */
-+ nop
-+#else
- la r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
- la r2, r0, _SDA2_BASE_
- la r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-@@ -66,7 +82,7 @@ _start:
-
- brlid r15, exit /* Call exit with the return value of main */
- addik r5, r3, 0
--
-+#endif
- /* Control does not reach here */
- .end _start
-
-@@ -76,9 +92,17 @@ _start:
- Our simple _exit
- */
- .globl _exit
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
- .ent _exit
- .type _exit, @function
- _exit:
-- bri 0
-+#ifdef __arch64__
-+ breai 0
-+#else
-+ bri 0
-+#endif
- .end _exit
-diff --git a/libgloss/microblaze/crt4.S b/libgloss/microblaze/crt4.S
-index 4cf0b01a4..54ba473ea 100644
---- a/libgloss/microblaze/crt4.S
-+++ b/libgloss/microblaze/crt4.S
-@@ -53,10 +53,27 @@
-
- .section .text
- .globl _start
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
-+
- .ent _start
- .type _start, @function
- _start:
-+#ifdef __arch64__
-+ lli r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-+ lli r2, r0, _SDA2_BASE_
-+ lli r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+
-+ brealid r15, _crtinit /* Initialize BSS and run program */
-+ nop
-+
-+ addlik r5, r3, 0
-+ brealid r15, exit /* Call exit with the return value of main */
-+ nop
-+#else
- la r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
- la r2, r0, _SDA2_BASE_
- la r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-@@ -68,19 +85,27 @@ _start:
- addik r5, r3, 0
-
- /* Control does not reach here */
--
-+#endif
- .end _start
-
--
- /*
- _exit
- Our simple _exit
- */
- .globl _exit
-- .align 2
-+#ifdef __arch64__
-+ .align 3
-+#else
-+ .align 2
-+#endif
- .ent _exit
- .type _exit, @function
- _exit:
-- brlid r15,elf_process_exit
-- nop
-+#ifdef __arch64__
-+ brealid r15,elf_process_exit
-+ nop
-+#else
-+ brlid r15,elf_process_exit
-+ nop
-+#endif
- .end _exit
-diff --git a/libgloss/microblaze/crtinit.S b/libgloss/microblaze/crtinit.S
-index 86c6dfcb0..854117536 100644
---- a/libgloss/microblaze/crtinit.S
-+++ b/libgloss/microblaze/crtinit.S
-@@ -29,59 +29,115 @@
- */
-
- .globl _crtinit
-+#ifdef __arch64__
-+ .align 3
-+#else
- .align 2
-+#endif
- .ent _crtinit
- .type _crtinit, @function
- _crtinit:
-- addi r1, r1, -40 /* Save Link register */
-- swi r15, r1, 0
-+#ifdef __arch64__
-+ addli r1, r1, -40 /* Save Link register */
-+ sli r15, r1, 0
-
-- addi r6, r0, __sbss_start /* clear SBSS */
-- addi r7, r0, __sbss_end
-- rsub r18, r6, r7
-- blei r18, .Lendsbss
-+ addli r6, r0, __sbss_start /* clear SBSS */
-+ addli r7, r0, __sbss_end
-+ rsubl r18, r6, r7
-+ bealei r18, .Lendsbss
-
- .Lloopsbss:
-- swi r0, r6, 0
-- addi r6, r6, 4
-- rsub r18, r6, r7
-- bgti r18, .Lloopsbss
-+ sli r0, r6, 0
-+ addli r6, r6, 4
-+ rsubl r18, r6, r7
-+ beagti r18, .Lloopsbss
- .Lendsbss:
--
-- addi r6, r0, __bss_start /* clear BSS */
-- addi r7, r0, __bss_end
-- rsub r18, r6, r7
-- blei r18, .Lendbss
-+ addli r6, r0, __bss_start /* clear BSS */
-+ addli r7, r0, __bss_end
-+ rsubl r18, r6, r7
-+ bealei r18, .Lendbss
- .Lloopbss:
-- swi r0, r6, 0
-- addi r6, r6, 4
-- rsub r18, r6, r7
-- bgti r18, .Lloopbss
-+ sli r0, r6, 0
-+ addli r6, r6, 4
-+ rsubl r18, r6, r7
-+ beagti r18, .Lloopbss
- .Lendbss:
-
-- brlid r15, _program_init /* Initialize the program */
-+ brealid r15, _program_init /* Initialize the program */
-+ nop
-+ brealid r15, __init /* Invoke language initialization functions */
-+ nop
-+
-+ addli r6, r0, 0 /* Initialize argc = 1 and argv = NULL and envp = NULL */
-+ addli r7, r0, 0
-+ addli r5, r0, 0
-+ brealid r15, main /* Execute the program */
- nop
-+ addlik r19, r3, 0 /* Save return value */
-+
-+ brealid r15, __fini /* Invoke language cleanup functions */
-+ nop
-+
-+ brealid r15, _program_clean /* Cleanup the program */
-+ nop
-+
-+ ll r15, r1, r0 /* Return back to CRT */
-+
-+ addlik r3, r19, 0 /* Restore return value */
-+ addli r1, r1, 40
-+ rtsd r15, 8
-+ nop
-+#else
-+ addi r1, r1, -40 /* Save Link register */
-+ swi r15, r1, 0
-+
-+ addi r6, r0, __sbss_start /* clear SBSS */
-+ addi r7, r0, __sbss_end
-+ rsub r18, r6, r7
-+ blei r18, .Lendsbss
-+
-+.Lloopsbss:
-+ swi r0, r6, 0
-+ addi r6, r6, 4
-+ rsub r18, r6, r7
-+ bgti r18, .Lloopsbss
-+.Lendsbss:
-+
-+ addi r6, r0, __bss_start /* clear BSS */
-+ addi r7, r0, __bss_end
-+ rsub r18, r6, r7
-+ blei r18, .Lendbss
-+.Lloopbss:
-+ swi r0, r6, 0
-+ addi r6, r6, 4
-+ rsub r18, r6, r7
-+ bgti r18, .Lloopbss
-+.Lendbss:
-+
-+ brlid r15, _program_init /* Initialize the program */
-+ nop
-
- brlid r15, __init /* Invoke language initialization functions */
- nop
--
-- addi r6, r0, 0 /* Initialize argc = 1 and argv = NULL and envp = NULL */
-- addi r7, r0, 0
-- brlid r15, main /* Execute the program */
-- addi r5, r0, 0
-+
-+ addi r6, r0, 0 /* Initialize argc = 1 and argv = NULL and envp = NULL */
-+ addi r7, r0, 0
-+ brlid r15, main /* Execute the program */
-+ addi r5, r0, 0
-
- addik r19, r3, 0 /* Save return value */
--
-+
- brlid r15, __fini /* Invoke language cleanup functions */
- nop
--
-- brlid r15, _program_clean /* Cleanup the program */
-- nop
-
-- lw r15, r1, r0 /* Return back to CRT */
-+ brlid r15, _program_clean /* Cleanup the program */
-+ nop
-+
-+ lw r15, r1, r0 /* Return back to CRT */
-
- addik r3, r19, 0 /* Restore return value */
-- rtsd r15, 8
-- addi r1, r1, 40
-+ rtsd r15, 8
-+ addi r1, r1, 40
-+#endif
- .end _crtinit
-
-diff --git a/libgloss/microblaze/linux-crt0.S b/libgloss/microblaze/linux-crt0.S
-index 8650bb5d2..503439b2e 100644
---- a/libgloss/microblaze/linux-crt0.S
-+++ b/libgloss/microblaze/linux-crt0.S
-@@ -18,26 +18,50 @@
- .ent _start
- .type _start, @function
- _start:
-- la r13, r0, _SDA_BASE_
-- la r2, r0, _SDA2_BASE_
-+#ifdef __arch64__
-+ lli r13, r0, _SDA_BASE_
-+ lli r2, r0, _SDA2_BASE_
-
-- brlid r15, __init
-+ brealid r15, __init
- nop
-
-- lwi r5, r1, 0
-- addik r6, r1, 4
-+ lli r5, r1, 0
-+ addlik r6, r1, 4
-
- # Add argc * 4.
-- addk r7, r5, r5
-- addk r7, r7, r7
-+ addlk r7, r5, r5
-+ addlk r7, r7, r7
-
-- brlid r15, main
- # Now add 4 + r1 (i.e r6) in the delayslot.
-- addk r7, r7, r6
-+ addlk r7, r7, r6
-+ brealid r15, main
-+ nop
-+ addlik r5, r3, 0
-+ brealid r15, exit
-+ nop
-+ .size _start, . - _start
-+#else
-+ la r13, r0, _SDA_BASE_
-+ la r2, r0, _SDA2_BASE_
-+
-+ brlid r15, __init
-+ nop
-+
-+ lwi r5, r1, 0
-+ addik r6, r1, 4
-
-- brlid r15, exit
-+ # Add argc * 4.
-+ addk r7, r5, r5
-+ addk r7, r7, r7
-+
-+ brlid r15, main
-+ # Now add 4 + r1 (i.e r6) in the delayslot.
-+ addk r7, r7, r6
-+
-+ brlid r15, exit
- addik r5, r3, 0
-- .size _start, . - _start
-+ .size _start, . - _start
-+#endif
- .end _start
-
- /* Replacement for the GCC provided crti.S. This one avoids the
-@@ -45,14 +69,28 @@ _start:
- insn exceptions when running in user-space). */
- .section .init, "ax"
- .global __init
-+#ifdef __arch64__
-+ .align 3
-+__init:
-+ addlik r1, r1, -8
-+ sl r15, r0, r1
-+#else
- .align 2
- __init:
- addik r1, r1, -8
- sw r15, r0, r1
-
-+#endif
- .section .fini, "ax"
- .global __fini
-+#ifdef __arch64__
-+ .align 3
-+__fini:
-+ addlik r1, r1, -8
-+ sl r15, r0, r1
-+#else
- .align 2
- __fini:
- addik r1, r1, -8
- sw r15, r0, r1
-+#endif
-diff --git a/libgloss/microblaze/linux-syscalls.S b/libgloss/microblaze/linux-syscalls.S
-index 506de78fd..8594f136e 100644
---- a/libgloss/microblaze/linux-syscalls.S
-+++ b/libgloss/microblaze/linux-syscalls.S
-@@ -20,8 +20,9 @@
- #define GLOBAL(name) .global name; FUNC(name)
- #define SIZE(name) .size name, .-name
-
-+#ifdef __arch64__
- # define SYSCALL_BODY(name) \
-- addik r12, r0, SYS_ ## name; \
-+ addlik r12, r0, SYS_ ## name; \
- brki r14, 8; \
- rtsd r15, 8; \
- nop;
-@@ -31,6 +32,18 @@
- SYSCALL_BODY(name); \
- SIZE(_ ## name)
-
-+#else
-+# define SYSCALL_BODY(name) \
-+ addik r12, r0, SYS_ ## name; \
-+ brki r14, 8; \
-+ rtsd r15, 8; \
-+ nop;
-+
-+# define SYSCALL(name) \
-+ GLOBAL(_ ## name); \
-+ SYSCALL_BODY(name); \
-+ SIZE(_ ## name)
-+#endif
- SYSCALL(brk)
- SYSCALL(exit)
- SYSCALL(read)
-diff --git a/libgloss/microblaze/pgcrtinit.S b/libgloss/microblaze/pgcrtinit.S
-index 25930821c..638dbd383 100644
---- a/libgloss/microblaze/pgcrtinit.S
-+++ b/libgloss/microblaze/pgcrtinit.S
-@@ -29,10 +29,66 @@
-
-
- .globl _crtinit
-+#ifdef __arch64__
-+ .align 3
-+#else
- .align 2
-+#endif
- .ent _crtinit
-
- _crtinit:
-+#ifdef __arch64__
-+
-+ addli r1, r1, -40 /* Save Link register */
-+ sli r15, r1, 0
-+
-+ addli r6, r0, __sbss_start /* clear SBSS */
-+ addli r7, r0, __sbss_end
-+ rsubl r18, r6, r7
-+ bealei r18, .Lendsbss
-+.Lloopsbss:
-+ sli r0, r6, 0
-+ addli r6, r6, 4
-+ rsubl r18, r6, r7
-+ beagti r18, .Lloopsbss
-+.Lendsbss:
-+
-+ addli r6, r0, __bss_start /* clear BSS */
-+ addli r7, r0, __bss_end
-+ rsubl r18, r6, r7
-+ bealei r18, .Lendbss
-+.Lloopbss:
-+ sli r0, r6, 0
-+ addli r6, r6, 4
-+ rsubl r18, r6, r7
-+ beagti r18, .Lloopbss
-+.Lendbss:
-+
-+ brealid r15, _program_init /* Initialize the program */
-+ nop
-+ brealid r15, _profile_init /* Initialize profiling library */
-+ nop
-+ brealid r15, __init /* Invoke language initialization functions */
-+ nop
-+ addli r6, r0, 0 /* Initialize argc = 1 and argv = NULL and envp = NULL */
-+ addli r7, r0, 0
-+ addli r5, r0, 0
-+ brealid r15, main /* Execute the program */
-+ nop
-+ addlik r19, r3, 0 /* Save return value */
-+
-+ brealid r15, __fini /* Invoke language cleanup functions */
-+ nop
-+ brealid r15, _profile_clean /* Cleanup profiling library */
-+ nop
-+ brealid r15, _program_clean /* Cleanup the program */
-+ nop
-+ ll r15, r1, r0 /* Return back to CRT */
-+ addlik r3, r19, 0 /* Restore return value */
-+ addli r1, r1, 40
-+ rtsd r15, 8
-+ nop
-+#else
- addi r1, r1, -40 /* Save Link register */
- swi r15, r1, 0
-
-@@ -86,7 +142,8 @@ _crtinit:
-
- lw r15, r1, r0 /* Return back to CRT */
- addik r3, r19, 0 /* Restore return value */
-- rtsd r15, 8
-+ rtsd r15, 8
- addi r1, r1, 40
-+#endif
- .end _crtinit
-
-diff --git a/libgloss/microblaze/sim-crtinit.S b/libgloss/microblaze/sim-crtinit.S
-index 74586d9a7..9892cb0bd 100644
---- a/libgloss/microblaze/sim-crtinit.S
-+++ b/libgloss/microblaze/sim-crtinit.S
-@@ -35,10 +35,39 @@
- #
-
- .globl _crtinit
-+#ifdef __arch64__
-+ .align 3
-+#else
- .align 2
-+#endif
- .ent _crtinit
-
- _crtinit:
-+#ifdef __arch64__
-+ addli r1, r1, -40 /* Save Link register */
-+ sli r15, r1, 0
-+
-+ brealid r15, _program_init /* Initialize the program */
-+ nop
-+ brealid r15, __init /* Invoke language initialization functions */
-+ nop
-+ addli r6, r0, 0 /* Initialize argc = 1 and argv = NULL and envp = NULL */
-+ addli r7, r0, 0
-+ addli r5, r0, 0
-+ brealid r15, main /* Execute the program */
-+ nop
-+ addlik r19, r3, 0 /* Save return value */
-+
-+ brealid r15, __fini /* Invoke language cleanup functions */
-+ nop
-+ brealid r15, _program_clean /* Cleanup the program */
-+ nop
-+ ll r15, r1, r0 /* Return back to CRT */
-+ addlik r3, r19, 0 /* Restore return value */
-+ addli r1, r1, 40
-+ rtsd r15, 8
-+ nop
-+#else
- addi r1, r1, -40 /* Save Link register */
- swi r15, r1, 0
-
-@@ -63,7 +92,9 @@ _crtinit:
-
- lw r15, r1, r0 /* Return back to CRT */
- addik r3, r19, 0 /* Restore return value */
-+
- rtsd r15, 8
- addi r1, r1, 40
-+#endif
- .end _crtinit
-
-diff --git a/libgloss/microblaze/sim-pgcrtinit.S b/libgloss/microblaze/sim-pgcrtinit.S
-index 82ebccad4..939f5372f 100644
---- a/libgloss/microblaze/sim-pgcrtinit.S
-+++ b/libgloss/microblaze/sim-pgcrtinit.S
-@@ -35,10 +35,40 @@
- #
-
- .globl _crtinit
-+#ifdef __arch64__
-+ .align 3
-+#else
- .align 2
-+#endif
- .ent _crtinit
-
- _crtinit:
-+#ifdef __arch64__
-+ addli r1, r1, -40 /* Save Link register */
-+ sli r15, r1, 0
-+
-+ brealid r15, _program_init /* Initialize the program */
-+ nop
-+ brealid r15, _profile_init /* Initialize profiling library */
-+ nop
-+ brealid r15, __init /* Invoke language initialization functions */
-+ nop
-+ addli r6, r0, 0 /* Initialize argc = 1 and argv = NULL and envp = NULL */
-+ addli r7, r0, 0
-+ addli r5, r0, 0
-+ brealid r15, main /* Execute the program */
-+ nop
-+ brealid r15, __fini /* Invoke language cleanup functions */
-+ nop
-+ brealid r15, _profile_clean /* Cleanup profiling library */
-+ nop
-+ brealid r15, _program_clean /* Cleanup the program */
-+ nop
-+ ll r15, r1, r0 /* Return back to CRT */
-+ addli r1, r1, 40
-+ rtsd r15, 8
-+ nop
-+#else
- addi r1, r1, -40 /* Save Link register */
- swi r15, r1, 0
-
-@@ -68,5 +98,6 @@ _crtinit:
- lw r15, r1, r0 /* Return back to CRT */
- rtsd r15, 8
- addi r1, r1, 40
-+#endif
- .end _crtinit
-
-diff --git a/newlib/libc/machine/microblaze/longjmp.S b/newlib/libc/machine/microblaze/longjmp.S
-index f972bbd88..5ed1c2626 100644
---- a/newlib/libc/machine/microblaze/longjmp.S
-+++ b/newlib/libc/machine/microblaze/longjmp.S
-@@ -51,16 +51,46 @@
-
- .globl longjmp
- .section .text
--.align 2
-+#ifdef __arch64__
-+.align 3
-+#else
-+.align 2
-+#endif
- .ent longjmp
- longjmp:
-+#ifdef __arch64__
-+ lli r1, r5, 0
-+ lli r13, r5, 4
-+ lli r14, r5, 8
-+ lli r15, r5, 12
-+ lli r16, r5, 16
-+ lli r17, r5, 20
-+ lli r18, r5, 24
-+ lli r19, r5, 28
-+ lli r20, r5, 32
-+ lli r21, r5, 36
-+ lli r22, r5, 40
-+ lli r23, r5, 44
-+ lli r24, r5, 48
-+ lli r25, r5, 52
-+ lli r26, r5, 56
-+ lli r27, r5, 60
-+ lli r28, r5, 64
-+ lli r29, r5, 68
-+ lli r30, r5, 72
-+ lli r31, r5, 76
-+
-+ or r3, r0, r6
-+ rtsd r15, 8
-+ nop
-+#else
- lwi r1, r5, 0
- lwi r13, r5, 4
- lwi r14, r5, 8
-- lwi r15, r5, 12
-+ lwi r15, r5, 12
- lwi r16, r5, 16
- lwi r17, r5, 20
-- lwi r18, r5, 24
-+ lwi r18, r5, 24
- lwi r19, r5, 28
- lwi r20, r5, 32
- lwi r21, r5, 36
-@@ -69,12 +99,13 @@ longjmp:
- lwi r24, r5, 48
- lwi r25, r5, 52
- lwi r26, r5, 56
-- lwi r27, r5, 60
-- lwi r28, r5, 64
-- lwi r29, r5, 68
-+ lwi r27, r5, 60
-+ lwi r28, r5, 64
-+ lwi r29, r5, 68
- lwi r30, r5, 72
-- lwi r31, r5, 76
-+ lwi r31, r5, 76
-
- rtsd r15, 8
- or r3, r0, r6
-+#endif
- .end longjmp
-diff --git a/newlib/libc/machine/microblaze/setjmp.S b/newlib/libc/machine/microblaze/setjmp.S
-index cdd87c76f..971862bcb 100644
---- a/newlib/libc/machine/microblaze/setjmp.S
-+++ b/newlib/libc/machine/microblaze/setjmp.S
-@@ -50,9 +50,39 @@
-
- .globl setjmp
- .section .text
--.align 2
-+#ifdef __arch64__
-+.align 3
-+#else
-+.align 2
-+#endif
- .ent setjmp
- setjmp:
-+#ifdef __arch64__
-+ sli r1, r5, 0
-+ sli r13, r5, 4
-+ sli r14, r5, 8
-+ sli r15, r5, 12
-+ sli r16, r5, 16
-+ sli r17, r5, 20
-+ sli r18, r5, 24
-+ sli r19, r5, 28
-+ sli r20, r5, 32
-+ sli r21, r5, 36
-+ sli r22, r5, 40
-+ sli r23, r5, 44
-+ sli r24, r5, 48
-+ sli r25, r5, 52
-+ sli r26, r5, 56
-+ sli r27, r5, 60
-+ sli r28, r5, 64
-+ sli r29, r5, 68
-+ sli r30, r5, 72
-+ sli r31, r5, 76
-+
-+ or r3, r0, r0
-+ rtsd r15, 8
-+ nop
-+#else
- swi r1, r5, 0
- swi r13, r5, 4
- swi r14, r5, 8
-@@ -76,4 +106,5 @@ setjmp:
-
- rtsd r15, 8
- or r3, r0, r0
-+#endif
- .end setjmp
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0008-fixing-the-bug-in-crt-files-added-addlik-instead-of-.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0008-fixing-the-bug-in-crt-files-added-addlik-instead-of-.patch
deleted file mode 100644
index 437d29f32..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0008-fixing-the-bug-in-crt-files-added-addlik-instead-of-.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 000cfdc6f16009e62c236267ce7123a9ef2380e9 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Fri, 28 Sep 2018 12:07:43 +0530
-Subject: [PATCH 08/11] fixing the bug in crt files, added addlik instead of
- lli insn
-
----
- libgloss/microblaze/crt0.S | 6 +++---
- libgloss/microblaze/crt1.S | 6 +++---
- libgloss/microblaze/crt2.S | 6 +++---
- libgloss/microblaze/crt3.S | 6 +++---
- libgloss/microblaze/crt4.S | 6 +++---
- 5 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/libgloss/microblaze/crt0.S b/libgloss/microblaze/crt0.S
-index e4df73b66..25e7c4af3 100644
---- a/libgloss/microblaze/crt0.S
-+++ b/libgloss/microblaze/crt0.S
-@@ -106,9 +106,9 @@ _vector_hw_exception:
- .type _start1, @function
- _start1:
- #ifdef __arch64__
-- lli r13, r0, _SDA_BASE_
-- lli r2, r0, _SDA2_BASE_
-- lli r1, r0, _stack-32
-+ addlik r13, r0, _SDA_BASE_
-+ addlik r2, r0, _SDA2_BASE_
-+ addlik r1, r0, _stack-32
- brealid r15, _crtinit
- nop
- addlik r5, r3, 0
-diff --git a/libgloss/microblaze/crt1.S b/libgloss/microblaze/crt1.S
-index b24eeb531..38440c957 100644
---- a/libgloss/microblaze/crt1.S
-+++ b/libgloss/microblaze/crt1.S
-@@ -94,9 +94,9 @@ _vector_hw_exception:
- .type _start, @function
- _start:
- #ifdef __arch64__
-- lli r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-- lli r2, r0, _SDA2_BASE_
-- lli r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+ addlik r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-+ addlik r2, r0, _SDA2_BASE_
-+ addlik r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-
- brealid r15, _crtinit /* Initialize BSS and run program */
- nop
-diff --git a/libgloss/microblaze/crt2.S b/libgloss/microblaze/crt2.S
-index ae4c89ee0..352927dab 100644
---- a/libgloss/microblaze/crt2.S
-+++ b/libgloss/microblaze/crt2.S
-@@ -92,9 +92,9 @@ _vector_hw_exception:
- .type _start, @function
- _start:
- #ifdef __arch64__
-- lli r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-- lli r2, r0, _SDA2_BASE_
-- lli r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+ addlik r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-+ addlik r2, r0, _SDA2_BASE_
-+ addlik r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
- brealid r15, _crtinit /* Initialize BSS and run program */
- nop
- addlik r5, r3, 0
-diff --git a/libgloss/microblaze/crt3.S b/libgloss/microblaze/crt3.S
-index a8bc7839b..bc32cda86 100644
---- a/libgloss/microblaze/crt3.S
-+++ b/libgloss/microblaze/crt3.S
-@@ -62,9 +62,9 @@
- .type _start, @function
- _start:
- #ifdef __arch64__
-- lli r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-- lli r2, r0, _SDA2_BASE_
-- lli r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+ addlik r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-+ addlik r2, r0, _SDA2_BASE_
-+ addlik r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-
- brealid r15, _crtinit /* Initialize BSS and run program */
- nop
-diff --git a/libgloss/microblaze/crt4.S b/libgloss/microblaze/crt4.S
-index 54ba473ea..a25c84734 100644
---- a/libgloss/microblaze/crt4.S
-+++ b/libgloss/microblaze/crt4.S
-@@ -63,9 +63,9 @@
- .type _start, @function
- _start:
- #ifdef __arch64__
-- lli r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-- lli r2, r0, _SDA2_BASE_
-- lli r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-+ addlik r13, r0, _SDA_BASE_ /* Set the Small Data Anchors and the stack pointer */
-+ addlik r2, r0, _SDA2_BASE_
-+ addlik r1, r0, _stack-32 /* 16 bytes (4 words are needed by crtinit for args and link reg */
-
- brealid r15, _crtinit /* Initialize BSS and run program */
- nop
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0009-Patch-MicroBlaze-Added-MB-64-support-to-strcmp-strcp.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0009-Patch-MicroBlaze-Added-MB-64-support-to-strcmp-strcp.patch
deleted file mode 100644
index 1d4394d36..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0009-Patch-MicroBlaze-Added-MB-64-support-to-strcmp-strcp.patch
+++ /dev/null
@@ -1,230 +0,0 @@
-From 6587a1cae28468f5a49659a39040f60e425827a7 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 17 Nov 2020 13:06:41 +0530
-Subject: [PATCH 09/11] [Patch,MicroBlaze] : Added MB-64 support to
- strcmp/strcpy/strlen files Signed-off-by:Mahesh Bodapati<mbodapat@xilinx.com>
-
----
- newlib/libc/machine/microblaze/strcmp.c | 63 ++++++++++++++++++++++++-
- newlib/libc/machine/microblaze/strcpy.c | 57 ++++++++++++++++++++++
- newlib/libc/machine/microblaze/strlen.c | 38 +++++++++++++++
- 3 files changed, 157 insertions(+), 1 deletion(-)
-
-diff --git a/newlib/libc/machine/microblaze/strcmp.c b/newlib/libc/machine/microblaze/strcmp.c
-index 3119d82c5..2cfef7388 100644
---- a/newlib/libc/machine/microblaze/strcmp.c
-+++ b/newlib/libc/machine/microblaze/strcmp.c
-@@ -133,6 +133,66 @@ strcmp (const char *s1,
-
- #include "mb_endian.h"
-
-+#ifdef __arch64__
-+ asm volatile (" \n\
-+ orl r9, r0, r0 /* Index register */ \n\
-+check_alignment: \n\
-+ andli r3, r5, 3 \n\
-+ andli r4, r6, 3 \n\
-+ beanei r3, try_align_args \n\
-+ beanei r4, regular_strcmp /* At this point we don't have a choice */ \n\
-+cmp_loop: \n"
-+ LOAD4BYTES("r3", "r5", "r9")
-+ LOAD4BYTES("r4", "r6", "r9")
-+" \n\
-+ pcmplbf r7, r3, r0 /* See if there is Null byte */ \n\
-+ beanei r7, end_cmp_loop /* IF yes (r7 > 0) use byte compares in end_cmp_loop */ \n\
-+ cmplu r7, r4, r3 /* ELSE compare whole word */ \n\
-+ beanei r7, end_cmp \n\
-+ addlik r9, r9, 4 /* delay slot */ \n\
-+ breaid cmp_loop \n\
-+ nop /* delay slot */ \n\
-+end_cmp_loop: \n\
-+ lbu r3, r5, r9 /* byte compare loop */ \n\
-+ lbu r4, r6, r9 \n\
-+ cmplu r7, r4, r3 /* Compare bytes */ \n\
-+ beanei r7, end_cmp_early \n\
-+ addlik r9, r9, 1 /* delay slot */ \n\
-+ beaneid r3, end_cmp_loop /* If reached null on one string, terminate */ \n\
-+ nop \n\
-+end_cmp_early: \n\
-+ orl r3, r0, r7 /* delay slot */ \n\
-+ rtsd r15, 8 \n\
-+ nop \n\
-+try_align_args: \n\
-+ xorl r7, r4, r3 \n\
-+ beanei r7, regular_strcmp /* cannot align args */ \n\
-+ rsublik r10, r3, 4 /* Number of initial bytes to align */ \n\
-+align_loop: \n\
-+ lbu r3, r5, r9 \n\
-+ lbu r4, r6, r9 \n\
-+ cmplu r7, r4, r3 \n\
-+ beanei r7, end_cmp \n\
-+ beaeqi r3, end_cmp \n\
-+ addlik r10, r10, -1 \n\
-+ addlik r9, r9, 1 \n\
-+ beaeqid r10, cmp_loop \n\
-+ nop \n\
-+ breai align_loop \n\
-+regular_strcmp: \n\
-+ lbu r3, r5, r9 \n\
-+ lbu r4, r6, r9 \n\
-+ cmplu r7, r4, r3 \n\
-+ beanei r7, end_cmp \n\
-+ beaeqi r3, end_cmp \n\
-+ addlik r9, r9, 1 \n\
-+ breaid regular_strcmp \n\
-+ nop \n\
-+end_cmp: \n\
-+ orl r3, r0, r7 \n\
-+ rtsd r15, 8 \n\
-+ nop /* Return strcmp result */");
-+#else
- asm volatile (" \n\
- or r9, r0, r0 /* Index register */\n\
- check_alignment: \n\
-@@ -181,11 +241,12 @@ regular_strcmp:
- bnei r7, end_cmp \n\
- beqi r3, end_cmp \n\
- brid regular_strcmp \n\
-- addik r9, r9, 1 \n\
-+ addik r9, r9, 1
- end_cmp: \n\
- rtsd r15, 8 \n\
- or r3, r0, r7 /* Return strcmp result */");
-
-+#endif
- #endif /* ! HAVE_HW_PCMP */
- }
-
-diff --git a/newlib/libc/machine/microblaze/strcpy.c b/newlib/libc/machine/microblaze/strcpy.c
-index 62072fa28..6dbc60d77 100644
---- a/newlib/libc/machine/microblaze/strcpy.c
-+++ b/newlib/libc/machine/microblaze/strcpy.c
-@@ -125,6 +125,62 @@ strcpy (char *__restrict dst0,
- #else
-
- #include "mb_endian.h"
-+#ifdef __arch64__
-+
-+ asm volatile (" \n\
-+ orl r9, r0, r0 /* Index register */ \n\
-+check_alignment: \n\
-+ andli r3, r5, 3 \n\
-+ andli r4, r6, 3 \n\
-+ beanei r3, try_align_args \n\
-+ beanei r4, regular_strcpy /* At this point we dont have a choice */ \n\
-+cpy_loop: \n"
-+ LOAD4BYTES("r3", "r6", "r9")
-+" \n\
-+ pcmplbf r4, r0, r3 \n\
-+ beanei r4, cpy_bytes /* If r4 != 0, then null present within string */\n"
-+ STORE4BYTES("r3", "r5", "r9")
-+" \n\
-+ addlik r9, r9, 4 \n\
-+ breaid cpy_loop \n\
-+ nop \n\
-+cpy_bytes: \n\
-+ lbu r3, r6, r9 \n\
-+ sb r3, r5, r9 \n\
-+ addlik r4, r4, -1 \n\
-+ addlik r9, r9, 1 /* delay slot */\n\
-+ beaneid r4, cpy_bytes \n\
-+ nop \n\
-+cpy_null: \n\
-+ orl r3, r0, r5 /* Return strcpy result */\n\
-+ rtsd r15, 8 \n\
-+ nop \n\
-+try_align_args: \n\
-+ xorl r7, r4, r3 \n\
-+ beanei r7, regular_strcpy /* cannot align args */\n\
-+ rsublik r10, r3, 4 /* Number of initial bytes to align */\n\
-+align_loop: \n\
-+ lbu r3, r6, r9 \n\
-+ sb r3, r5, r9 \n\
-+ addlik r10, r10, -1 \n\
-+ beaeqid r3, end_cpy /* Break if we have seen null character */\n\
-+ nop \n\
-+ addlik r9, r9, 1 \n\
-+ beaneid r10, align_loop \n\
-+ nop \n\
-+ breai cpy_loop \n\
-+regular_strcpy: \n\
-+ lbu r3, r6, r9 \n\
-+ sb r3, r5, r9 \n\
-+ addlik r9, r9, 1 \n\
-+ beaneid r3, regular_strcpy \n\
-+ nop \n\
-+end_cpy: \n\
-+ orl r3, r0, r5 \n\
-+ rtsd r15, 8 \n\
-+ nop /* Return strcpy result */");
-+
-+#else
-
- asm volatile (" \n\
- or r9, r0, r0 /* Index register */ \n\
-@@ -171,6 +227,7 @@ regular_strcpy: \n\
- end_cpy: \n\
- rtsd r15, 8 \n\
- or r3, r0, r5 /* Return strcpy result */");
-+#endif
- #endif /* ! HAVE_HW_PCMP */
- }
-
-diff --git a/newlib/libc/machine/microblaze/strlen.c b/newlib/libc/machine/microblaze/strlen.c
-index acb4464bc..b6f2d3c13 100644
---- a/newlib/libc/machine/microblaze/strlen.c
-+++ b/newlib/libc/machine/microblaze/strlen.c
-@@ -116,6 +116,43 @@ strlen (const char *str)
-
- #include "mb_endian.h"
-
-+#ifdef __arch64__
-+ asm volatile (" \n\
-+ orl r9, r0, r0 /* Index register */ \n\
-+check_alignment: \n\
-+ andli r3, r5, 3 \n\
-+ beanei r3, align_arg \n\
-+len_loop: \n"
-+ LOAD4BYTES("r3", "r5", "r9")
-+" \n\
-+ pcmplbf r4, r3, r0 \n\
-+ beanei r4, end_len \n\
-+ addlik r9, r9, 4 \n\
-+ breaid len_loop \n\
-+ nop \n\
-+end_len: \n\
-+ lbu r3, r5, r9 \n\
-+ beaeqi r3, done_len \n\
-+ addlik r9, r9, 1 \n\
-+ breaid end_len \n\
-+ nop \n\
-+done_len: \n\
-+ orl r3, r0, r9 /* Return len */ \n\
-+ rtsd r15, 8 \n\
-+ nop \n\
-+align_arg: \n\
-+ rsublik r10, r3, 4 \n\
-+align_loop: \n\
-+ lbu r3, r5, r9 \n\
-+ addlik r10, r10, -1 \n\
-+ beaeqid r3, done_len \n\
-+ nop \n\
-+ addlik r9, r9, 1 \n\
-+ beaneid r10, align_loop \n\
-+ nop \n\
-+ breai len_loop");
-+
-+#else
- asm volatile (" \n\
- or r9, r0, r0 /* Index register */ \n\
- check_alignment: \n\
-@@ -146,5 +183,6 @@ align_loop: \n\
- addik r9, r9, 1 \n\
- bri len_loop");
-
-+#endif
- #endif /* ! HAVE_HW_PCMP */
- }
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0010-Removing-the-Assembly-implementation-of-64bit-string.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0010-Removing-the-Assembly-implementation-of-64bit-string.patch
deleted file mode 100644
index a63b9dfd1..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0010-Removing-the-Assembly-implementation-of-64bit-string.patch
+++ /dev/null
@@ -1,334 +0,0 @@
-From fd624fc28cbca8863f4dd75f0bc08aba58f8455e Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Wed, 24 Apr 2019 23:29:21 +0530
-Subject: [PATCH 10/11] Removing the Assembly implementation of 64bit string
- function. Revisit in next release and fix it
-
-Conflicts:
- newlib/libc/machine/microblaze/strcmp.c
----
- newlib/libc/machine/microblaze/mb_endian.h | 4 +
- newlib/libc/machine/microblaze/strcmp.c | 94 ++++++++--------------
- newlib/libc/machine/microblaze/strcpy.c | 82 ++++++-------------
- newlib/libc/machine/microblaze/strlen.c | 59 +++++---------
- 4 files changed, 81 insertions(+), 158 deletions(-)
-
-diff --git a/newlib/libc/machine/microblaze/mb_endian.h b/newlib/libc/machine/microblaze/mb_endian.h
-index fb217ec85..17772c88f 100644
---- a/newlib/libc/machine/microblaze/mb_endian.h
-+++ b/newlib/libc/machine/microblaze/mb_endian.h
-@@ -8,8 +8,12 @@
- #ifdef __LITTLE_ENDIAN__
- #define LOAD4BYTES(rD,rA,rB) "\tlwr\t" rD ", " rA ", " rB "\n"
- #define STORE4BYTES(rD,rA,rB) "\tswr\t" rD ", " rA ", " rB "\n"
-+#define LOAD8BYTES(rD,rA,rB) "\tllr\t" rD ", " rA ", " rB "\n"
-+#define STORE8BYTES(rD,rA,rB) "\tslr\t" rD ", " rA ", " rB "\n"
- #else
- #define LOAD4BYTES(rD,rA,rB) "\tlw\t" rD ", " rA ", " rB "\n"
- #define STORE4BYTES(rD,rA,rB) "\tsw\t" rD ", " rA ", " rB "\n"
-+#define LOAD8BYTES(rD,rA,rB) "\tll\t" rD ", " rA ", " rB "\n"
-+#define STORE8BYTES(rD,rA,rB) "\tsl\t" rD ", " rA ", " rB "\n"
- #endif
- #endif
-diff --git a/newlib/libc/machine/microblaze/strcmp.c b/newlib/libc/machine/microblaze/strcmp.c
-index 2cfef7388..007d9e1eb 100644
---- a/newlib/libc/machine/microblaze/strcmp.c
-+++ b/newlib/libc/machine/microblaze/strcmp.c
-@@ -129,70 +129,41 @@ strcmp (const char *s1,
- return (*(unsigned char *) s1) - (*(unsigned char *) s2);
- #endif /* not PREFER_SIZE_OVER_SPEED */
-
--#else
-+#elif __arch64__
-+ unsigned int *a1;
-+ unsigned int *a2;
-
--#include "mb_endian.h"
-+ /* If s1 or s2 are unaligned, then compare bytes. */
-+ if (!UNALIGNED (s1, s2))
-+ {
-+ /* If s1 and s2 are word-aligned, compare them a word at a time. */
-+ a1 = (unsigned int*)s1;
-+ a2 = (unsigned int*)s2;
-+ while (*a1 == *a2)
-+ {
-+ /* To get here, *a1 == *a2, thus if we find a null in *a1,
-+ then the strings must be equal, so return zero. */
-+ if (DETECTNULL (*a1))
-+ return 0;
-
--#ifdef __arch64__
-- asm volatile (" \n\
-- orl r9, r0, r0 /* Index register */ \n\
--check_alignment: \n\
-- andli r3, r5, 3 \n\
-- andli r4, r6, 3 \n\
-- beanei r3, try_align_args \n\
-- beanei r4, regular_strcmp /* At this point we don't have a choice */ \n\
--cmp_loop: \n"
-- LOAD4BYTES("r3", "r5", "r9")
-- LOAD4BYTES("r4", "r6", "r9")
--" \n\
-- pcmplbf r7, r3, r0 /* See if there is Null byte */ \n\
-- beanei r7, end_cmp_loop /* IF yes (r7 > 0) use byte compares in end_cmp_loop */ \n\
-- cmplu r7, r4, r3 /* ELSE compare whole word */ \n\
-- beanei r7, end_cmp \n\
-- addlik r9, r9, 4 /* delay slot */ \n\
-- breaid cmp_loop \n\
-- nop /* delay slot */ \n\
--end_cmp_loop: \n\
-- lbu r3, r5, r9 /* byte compare loop */ \n\
-- lbu r4, r6, r9 \n\
-- cmplu r7, r4, r3 /* Compare bytes */ \n\
-- beanei r7, end_cmp_early \n\
-- addlik r9, r9, 1 /* delay slot */ \n\
-- beaneid r3, end_cmp_loop /* If reached null on one string, terminate */ \n\
-- nop \n\
--end_cmp_early: \n\
-- orl r3, r0, r7 /* delay slot */ \n\
-- rtsd r15, 8 \n\
-- nop \n\
--try_align_args: \n\
-- xorl r7, r4, r3 \n\
-- beanei r7, regular_strcmp /* cannot align args */ \n\
-- rsublik r10, r3, 4 /* Number of initial bytes to align */ \n\
--align_loop: \n\
-- lbu r3, r5, r9 \n\
-- lbu r4, r6, r9 \n\
-- cmplu r7, r4, r3 \n\
-- beanei r7, end_cmp \n\
-- beaeqi r3, end_cmp \n\
-- addlik r10, r10, -1 \n\
-- addlik r9, r9, 1 \n\
-- beaeqid r10, cmp_loop \n\
-- nop \n\
-- breai align_loop \n\
--regular_strcmp: \n\
-- lbu r3, r5, r9 \n\
-- lbu r4, r6, r9 \n\
-- cmplu r7, r4, r3 \n\
-- beanei r7, end_cmp \n\
-- beaeqi r3, end_cmp \n\
-- addlik r9, r9, 1 \n\
-- breaid regular_strcmp \n\
-- nop \n\
--end_cmp: \n\
-- orl r3, r0, r7 \n\
-- rtsd r15, 8 \n\
-- nop /* Return strcmp result */");
-+ a1++;
-+ a2++;
-+ }
-+
-+ /* A difference was detected in last few bytes of s1, so search bytewise */
-+ s1 = (char*)a1;
-+ s2 = (char*)a2;
-+ }
-+
-+ while (*s1 != '\0' && *s1 == *s2)
-+ {
-+ s1++;
-+ s2++;
-+ }
-+ return (*(unsigned char *) s1) - (*(unsigned char *) s2);
- #else
-+
-+#include "mb_endian.h"
- asm volatile (" \n\
- or r9, r0, r0 /* Index register */\n\
- check_alignment: \n\
-@@ -246,7 +217,6 @@ end_cmp:
- rtsd r15, 8 \n\
- or r3, r0, r7 /* Return strcmp result */");
-
--#endif
- #endif /* ! HAVE_HW_PCMP */
- }
-
-diff --git a/newlib/libc/machine/microblaze/strcpy.c b/newlib/libc/machine/microblaze/strcpy.c
-index 6dbc60d77..ddb69227e 100644
---- a/newlib/libc/machine/microblaze/strcpy.c
-+++ b/newlib/libc/machine/microblaze/strcpy.c
-@@ -121,67 +121,36 @@ strcpy (char *__restrict dst0,
- ;
- return dst0;
- #endif /* not PREFER_SIZE_OVER_SPEED */
-+#elif __arch64__
-+ char *dst = dst0;
-+ const char *src = src0;
-+ long *aligned_dst;
-+ const long *aligned_src;
-
--#else
-+ /* If SRC or DEST is unaligned, then copy bytes. */
-+ if (!UNALIGNED (src, dst))
-+ {
-+ aligned_dst = (long*)dst;
-+ aligned_src = (long*)src;
-
--#include "mb_endian.h"
--#ifdef __arch64__
-+ /* SRC and DEST are both "long int" aligned, try to do "long int"
-+ sized copies. */
-+ while (!DETECTNULL(*aligned_src))
-+ {
-+ *aligned_dst++ = *aligned_src++;
-+ }
-
-- asm volatile (" \n\
-- orl r9, r0, r0 /* Index register */ \n\
--check_alignment: \n\
-- andli r3, r5, 3 \n\
-- andli r4, r6, 3 \n\
-- beanei r3, try_align_args \n\
-- beanei r4, regular_strcpy /* At this point we dont have a choice */ \n\
--cpy_loop: \n"
-- LOAD4BYTES("r3", "r6", "r9")
--" \n\
-- pcmplbf r4, r0, r3 \n\
-- beanei r4, cpy_bytes /* If r4 != 0, then null present within string */\n"
-- STORE4BYTES("r3", "r5", "r9")
--" \n\
-- addlik r9, r9, 4 \n\
-- breaid cpy_loop \n\
-- nop \n\
--cpy_bytes: \n\
-- lbu r3, r6, r9 \n\
-- sb r3, r5, r9 \n\
-- addlik r4, r4, -1 \n\
-- addlik r9, r9, 1 /* delay slot */\n\
-- beaneid r4, cpy_bytes \n\
-- nop \n\
--cpy_null: \n\
-- orl r3, r0, r5 /* Return strcpy result */\n\
-- rtsd r15, 8 \n\
-- nop \n\
--try_align_args: \n\
-- xorl r7, r4, r3 \n\
-- beanei r7, regular_strcpy /* cannot align args */\n\
-- rsublik r10, r3, 4 /* Number of initial bytes to align */\n\
--align_loop: \n\
-- lbu r3, r6, r9 \n\
-- sb r3, r5, r9 \n\
-- addlik r10, r10, -1 \n\
-- beaeqid r3, end_cpy /* Break if we have seen null character */\n\
-- nop \n\
-- addlik r9, r9, 1 \n\
-- beaneid r10, align_loop \n\
-- nop \n\
-- breai cpy_loop \n\
--regular_strcpy: \n\
-- lbu r3, r6, r9 \n\
-- sb r3, r5, r9 \n\
-- addlik r9, r9, 1 \n\
-- beaneid r3, regular_strcpy \n\
-- nop \n\
--end_cpy: \n\
-- orl r3, r0, r5 \n\
-- rtsd r15, 8 \n\
-- nop /* Return strcpy result */");
-+ dst = (char*)aligned_dst;
-+ src = (char*)aligned_src;
-+ }
-
--#else
-+ while (*dst++ = *src++)
-+ ;
-+ return dst0;
-+
-+#else
-
-+#include "mb_endian.h"
- asm volatile (" \n\
- or r9, r0, r0 /* Index register */ \n\
- check_alignment: \n\
-@@ -227,7 +196,6 @@ regular_strcpy: \n\
- end_cpy: \n\
- rtsd r15, 8 \n\
- or r3, r0, r5 /* Return strcpy result */");
--#endif
- #endif /* ! HAVE_HW_PCMP */
- }
-
-diff --git a/newlib/libc/machine/microblaze/strlen.c b/newlib/libc/machine/microblaze/strlen.c
-index b6f2d3c13..940753996 100644
---- a/newlib/libc/machine/microblaze/strlen.c
-+++ b/newlib/libc/machine/microblaze/strlen.c
-@@ -112,47 +112,29 @@ strlen (const char *str)
- return str - start;
- #endif /* not PREFER_SIZE_OVER_SPEED */
-
--#else
--
--#include "mb_endian.h"
-+#elif __arch64__
-+ const char *start = str;
-+ unsigned long *aligned_addr;
-
--#ifdef __arch64__
-- asm volatile (" \n\
-- orl r9, r0, r0 /* Index register */ \n\
--check_alignment: \n\
-- andli r3, r5, 3 \n\
-- beanei r3, align_arg \n\
--len_loop: \n"
-- LOAD4BYTES("r3", "r5", "r9")
--" \n\
-- pcmplbf r4, r3, r0 \n\
-- beanei r4, end_len \n\
-- addlik r9, r9, 4 \n\
-- breaid len_loop \n\
-- nop \n\
--end_len: \n\
-- lbu r3, r5, r9 \n\
-- beaeqi r3, done_len \n\
-- addlik r9, r9, 1 \n\
-- breaid end_len \n\
-- nop \n\
--done_len: \n\
-- orl r3, r0, r9 /* Return len */ \n\
-- rtsd r15, 8 \n\
-- nop \n\
--align_arg: \n\
-- rsublik r10, r3, 4 \n\
--align_loop: \n\
-- lbu r3, r5, r9 \n\
-- addlik r10, r10, -1 \n\
-- beaeqid r3, done_len \n\
-- nop \n\
-- addlik r9, r9, 1 \n\
-- beaneid r10, align_loop \n\
-- nop \n\
-- breai len_loop");
-+ if (!UNALIGNED (str))
-+ {
-+ /* If the string is word-aligned, we can check for the presence of
-+ a null in each word-sized block. */
-+ aligned_addr = (unsigned long*)str;
-+ while (!DETECTNULL (*aligned_addr))
-+ aligned_addr++;
-
-+ /* Once a null is detected, we check each byte in that block for a
-+ precise position of the null. */
-+ str = (char*)aligned_addr;
-+ }
-+
-+ while (*str)
-+ str++;
-+ return str - start;
- #else
-+
-+#include "mb_endian.h"
- asm volatile (" \n\
- or r9, r0, r0 /* Index register */ \n\
- check_alignment: \n\
-@@ -183,6 +165,5 @@ align_loop: \n\
- addik r9, r9, 1 \n\
- bri len_loop");
-
--#endif
- #endif /* ! HAVE_HW_PCMP */
- }
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0011-Fixed-the-bug-in-crtinit.s-for-MB-64.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0011-Fixed-the-bug-in-crtinit.s-for-MB-64.patch
deleted file mode 100644
index b6e03d42b..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0011-Fixed-the-bug-in-crtinit.s-for-MB-64.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e0e6f5367eede4292d31c3dd901425bcd251595a Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Tue, 14 Jan 2020 22:32:30 +0530
-Subject: [PATCH 11/11] Fixed the bug in crtinit.s for MB-64
-
----
- libgloss/microblaze/crtinit.S | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libgloss/microblaze/crtinit.S b/libgloss/microblaze/crtinit.S
-index 854117536..f79140734 100644
---- a/libgloss/microblaze/crtinit.S
-+++ b/libgloss/microblaze/crtinit.S
-@@ -48,7 +48,7 @@ _crtinit:
-
- .Lloopsbss:
- sli r0, r6, 0
-- addli r6, r6, 4
-+ addli r6, r6, 8
- rsubl r18, r6, r7
- beagti r18, .Lloopsbss
- .Lendsbss:
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0012-libc-machine-microblaze-strcmp.c-Fix-missing-end-of-.patch b/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0012-libc-machine-microblaze-strcmp.c-Fix-missing-end-of-.patch
deleted file mode 100644
index c92942fc2..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/files/0012-libc-machine-microblaze-strcmp.c-Fix-missing-end-of-.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From c2a8d7e6326a309221e4a287517a4920d33aa674 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Mon, 30 Nov 2020 18:26:47 -0800
-Subject: [PATCH] libc/machine/microblaze/strcmp.c: Fix missing end of line
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- newlib/libc/machine/microblaze/strcmp.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/newlib/libc/machine/microblaze/strcmp.c b/newlib/libc/machine/microblaze/strcmp.c
-index 007d9e1eb..5d13d64ab 100644
---- a/newlib/libc/machine/microblaze/strcmp.c
-+++ b/newlib/libc/machine/microblaze/strcmp.c
-@@ -212,7 +212,7 @@ regular_strcmp:
- bnei r7, end_cmp \n\
- beqi r3, end_cmp \n\
- brid regular_strcmp \n\
-- addik r9, r9, 1
-+ addik r9, r9, 1 \n\
- end_cmp: \n\
- rtsd r15, 8 \n\
- or r3, r0, r7 /* Return strcmp result */");
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/libgloss_4.1.%.bbappend b/meta-xilinx/meta-microblaze/recipes-core/newlib/libgloss_4.1.%.bbappend
deleted file mode 100644
index 3dee0f06c..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/libgloss_4.1.%.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-require microblaze-newlib.inc
-
-do_configure_prepend_microblaze() {
- # hack for microblaze, which needs xilinx.ld to literally do any linking (its hard coded in its LINK_SPEC)
- export CC="${CC} -L${S}/libgloss/microblaze"
-}
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/microblaze-newlib.inc b/meta-xilinx/meta-microblaze/recipes-core/newlib/microblaze-newlib.inc
deleted file mode 100644
index 1a4a90adf..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/microblaze-newlib.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-# Add MicroBlaze Patches
-FILESEXTRAPATHS_append_microblaze := ":${THISDIR}/files"
-SRC_URI_append_microblaze = " \
- file://0001-Patch-microblaze-Add-config-microblaze.mt-for-target.patch \
- file://0002-Patch-microblaze-Modified-_exceptional_handler.patch \
- file://0003-LOCAL-Add-missing-declarations-for-xil_printf-to-std.patch \
- file://0004-Local-deleting-the-xil_printf.c-file-as-now-it-part-.patch \
- file://0005-Local-deleting-the-xil_printf.o-from-MAKEFILE.patch \
- file://0006-MB-X-intial-commit.patch \
- file://0007-Patch-Microblaze-newlib-port-for-microblaze-m64-flag.patch \
- file://0008-fixing-the-bug-in-crt-files-added-addlik-instead-of-.patch \
- file://0009-Patch-MicroBlaze-Added-MB-64-support-to-strcmp-strcp.patch \
- file://0010-Removing-the-Assembly-implementation-of-64bit-string.patch \
- file://0011-Fixed-the-bug-in-crtinit.s-for-MB-64.patch \
- file://0012-libc-machine-microblaze-strcmp.c-Fix-missing-end-of-.patch \
- "
diff --git a/meta-xilinx/meta-microblaze/recipes-core/newlib/newlib_4.1.%.bbappend b/meta-xilinx/meta-microblaze/recipes-core/newlib/newlib_4.1.%.bbappend
deleted file mode 100644
index d459bf19a..000000000
--- a/meta-xilinx/meta-microblaze/recipes-core/newlib/newlib_4.1.%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-require microblaze-newlib.inc
-
-do_configure_prepend_microblaze() {
- # hack for microblaze, which needs xilinx.ld to literally do any linking (its hard coded in its LINK_SPEC)
- export CC="${CC} -L${S}/libgloss/microblaze"
-}
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend
deleted file mode 100644
index e439cae72..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-MICROBLAZEPATCHES = ""
-MICROBLAZEPATCHES_microblaze = "binutils-microblaze.inc"
-
-require ${MICROBLAZEPATCHES}
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-cross_%.bbappend b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-cross_%.bbappend
deleted file mode 100644
index e439cae72..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-cross_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-MICROBLAZEPATCHES = ""
-MICROBLAZEPATCHES_microblaze = "binutils-microblaze.inc"
-
-require ${MICROBLAZEPATCHES}
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc
deleted file mode 100644
index c1a7bb4c4..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc
+++ /dev/null
@@ -1,64 +0,0 @@
-FILESEXTRAPATHS_append := ":${THISDIR}/binutils"
-
-SRC_URI_append = " \
- file://0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch \
- file://0002-Add-mlittle-endian-and-mbig-endian-flags.patch \
- file://0003-Disable-the-warning-message-for-eh_frame_hdr.patch \
- file://0004-LOCAL-Fix-relaxation-of-assembler-resolved-reference.patch \
- file://0005-upstream-change-to-garbage-collection-sweep-causes-m.patch \
- file://0006-Fix-bug-in-TLSTPREL-Relocation.patch \
- file://0007-Added-Address-extension-instructions.patch \
- file://0008-fixing-the-MAX_OPCODES-to-correct-value.patch \
- file://0009-Add-new-bit-field-instructions.patch \
- file://0010-fixing-the-imm-bug.patch \
- file://0011-Patch-Microblaze-fixed-bug-in-GCC-so-that-It-will-su.patch \
- file://0012-fixing-the-constant-range-check-issue.patch \
- file://0013-Patch-Microblaze-Compiler-will-give-error-messages-i.patch \
- file://0014-intial-commit-of-MB-64-bit.patch \
- file://0015-MB-X-initial-commit.patch \
- file://0016-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch \
- file://0017-Added-relocations-for-MB-X.patch \
- file://0018-Fixed-MB-x-relocation-issues.patch \
- file://0019-Fixing-the-branch-related-issues.patch \
- file://0020-Fixed-address-computation-issues-with-64bit-address.patch \
- file://0021-Adding-new-relocation-to-support-64bit-rodata.patch \
- file://0022-fixing-the-.bss-relocation-issue.patch \
- file://0023-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch \
- file://0024-Revert-ld-Remove-unused-expression-state.patch \
- file://0025-fixing-the-long-long-long-mingw-toolchain-issue.patch \
- file://0026-Added-support-to-new-arithmetic-single-register-inst.patch \
- file://0027-Patch-MicroBlaze-double-imml-generation-for-64-bit-v.patch \
- file://0028-Fixed-bug-in-generation-of-IMML-instruction-for-the.patch \
- file://0029-Patch-MicroBlaze-m64-This-patch-will-remove-imml-0-a.patch \
- file://0030-Patch-MicroBlaze-improper-address-mapping-of-PROVIDE.patch \
- file://0031-gas-revert-moving-of-md_pseudo_table-from-const.patch \
- file://0032-ld-emulparams-elf64microblaze-Fix-emulation-generati.patch \
- file://0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch \
- file://0034-Initial-port-of-core-reading-support-Added-support-f.patch \
- file://0035-Fix-debug-message-when-register-is-unavailable.patch \
- file://0036-revert-master-rebase-changes-to-gdbserver.patch \
- file://0037-revert-master-rebase-changes-to-gdbserver-previous-c.patch \
- file://0038-microblaze-Add-build_gdbserver-yes-to-top-level-conf.patch \
- file://0039-Initial-support-for-native-gdb.patch \
- file://0040-Fixing-the-issues-related-to-GDB-7.12-added-all-the-.patch \
- file://0041-Adding-64-bit-MB-support-Added-new-architecture-to-M.patch \
- file://0042-porting-GDB-for-linux.patch \
- file://0043-Binutils-security-check-is-causing-build-error-for-w.patch \
- file://0044-Correcting-the-register-names-from-slr-shr-to-rslr-r.patch \
- file://0045-Removing-the-header-gdb_assert.h-from-MB-target-file.patch \
- file://0046-bfd-cpu-microblaze.c-Enhance-disassembler.patch \
- file://0047-bfd-elf64-microblaze.c-Fix-build-failures.patch \
- file://0048-bfd-elf-microblaze.c-Remove-obsolete-entries.patch \
- file://0049-bfd-elf64-microblaze.c-Resolve-various-compiler-warn.patch \
- file://0050-opcodes-microblaze-dis.c-Fix-compile-warnings.patch \
- file://0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch \
- file://0052-sim-Allow-microblaze-architecture.patch \
- file://0053-gdb-Fix-microblaze-target-compilation.patch \
- "
-
-#
-## file://0048-bfd-gas-Use-standard-method-to-set-the-machine-arch.patch \
-## file://0052-opcodes-microblaze-opc.h-Expand-the-size-to-int-to-d.patch \
-## file://0053-opcodes-microblaze-opc.h-MIN_IMML-is-too-large.patch \
-## file://0054-gas-config-tc-microblaze.c-Resolve-numerous-compiler.patch \
-#
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch
deleted file mode 100644
index fe3f2bff0..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 212bd1115f13cc0904fb5556751585c775bc51a6 Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@xilinx.com>
-Date: Wed, 8 May 2013 11:03:36 +1000
-Subject: [PATCH 01/52] Add wdc.ext.clear and wdc.ext.flush insns
-
-Added two new instructions, wdc.ext.clear and wdc.ext.flush,
-to enable MicroBlaze to flush an external cache, which is
-used with the new coherency support for multiprocessing.
-
-Signed-off-by:nagaraju <nmekala@xilix.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- opcodes/microblaze-opc.h | 5 ++++-
- opcodes/microblaze-opcm.h | 4 ++--
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index 27d8684df0..b6c5016e4d 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -91,6 +91,7 @@
- #define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
- #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
- #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
-+#define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
- #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
-
- /* New Mask for msrset, msrclr insns. */
-@@ -101,7 +102,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 289
-+#define MAX_OPCODES 291
-
- struct op_code_struct
- {
-@@ -174,7 +175,9 @@ struct op_code_struct
- {"wic", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000068, OPCODE_MASK_H34B, wic, special_inst },
- {"wdc", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000064, OPCODE_MASK_H34B, wdc, special_inst },
- {"wdc.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000066, OPCODE_MASK_H34B, wdcclear, special_inst },
-+ {"wdc.ext.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000466, OPCODE_MASK_H35B, wdcextclear, special_inst },
- {"wdc.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst },
-+ {"wdc.ext.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000476, OPCODE_MASK_H35B, wdcextflush, special_inst },
- {"mts", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9400C000, OPCODE_MASK_H13S, mts, special_inst },
- {"mfs", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94008000, OPCODE_MASK_H23S, mfs, special_inst },
- {"br", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98000000, OPCODE_MASK_H124, br, branch_inst },
-diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
-index aa53dfe6bb..795c57b5ff 100644
---- a/opcodes/microblaze-opcm.h
-+++ b/opcodes/microblaze-opcm.h
-@@ -33,8 +33,8 @@ enum microblaze_instr
- /* 'or/and/xor' are C++ keywords. */
- microblaze_or, microblaze_and, microblaze_xor,
- andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
-- wic, wdc, wdcclear, wdcflush, mts, mfs, mbar, br, brd,
-- brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
-+ wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, mts, mfs, mbar, br,
-+ brd, brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
- bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
- imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
- brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0002-Add-mlittle-endian-and-mbig-endian-flags.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0002-Add-mlittle-endian-and-mbig-endian-flags.patch
deleted file mode 100644
index 78f4be14f..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0002-Add-mlittle-endian-and-mbig-endian-flags.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 23ed5e7ab73a2b5dc1ca09362d4815a643a2d187 Mon Sep 17 00:00:00 2001
-From: nagaraju <nmekala@xilix.com>
-Date: Tue, 19 Mar 2013 17:18:23 +0530
-Subject: [PATCH 02/52] Add mlittle-endian and mbig-endian flags
-
-Added support in gas for mlittle-endian and mbig-endian flags
-as options.
-
-Updated show usage for MicroBlaze specific assembler options
-to include new entries.
-
-Signed-off-by:nagaraju <nmekala@xilix.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gas/config/tc-microblaze.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index ae5d36dc9c..34eeb97235 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -37,6 +37,8 @@
-
- #define OPTION_EB (OPTION_MD_BASE + 0)
- #define OPTION_EL (OPTION_MD_BASE + 1)
-+#define OPTION_LITTLE (OPTION_MD_BASE + 2)
-+#define OPTION_BIG (OPTION_MD_BASE + 3)
-
- void microblaze_generate_symbol (char *sym);
- static bfd_boolean check_spl_reg (unsigned *);
-@@ -1842,6 +1844,8 @@ struct option md_longopts[] =
- {
- {"EB", no_argument, NULL, OPTION_EB},
- {"EL", no_argument, NULL, OPTION_EL},
-+ {"mlittle-endian", no_argument, NULL, OPTION_LITTLE},
-+ {"mbig-endian", no_argument, NULL, OPTION_BIG},
- { NULL, no_argument, NULL, 0}
- };
-
-@@ -2494,9 +2498,11 @@ md_parse_option (int c, const char * arg ATTRIBUTE_UNUSED)
- switch (c)
- {
- case OPTION_EB:
-+ case OPTION_BIG:
- target_big_endian = 1;
- break;
- case OPTION_EL:
-+ case OPTION_LITTLE:
- target_big_endian = 0;
- break;
- default:
-@@ -2511,6 +2517,9 @@ md_show_usage (FILE * stream ATTRIBUTE_UNUSED)
- /* fprintf(stream, _("\
- MicroBlaze options:\n\
- -noSmall Data in the comm and data sections do not go into the small data section\n")); */
-+ fprintf (stream, _(" MicroBlaze specific assembler options:\n"));
-+ fprintf (stream, " -%-23s%s\n", "mbig-endian", N_("assemble for a big endian cpu"));
-+ fprintf (stream, " -%-23s%s\n", "mlittle-endian", N_("assemble for a little endian cpu"));
- }
-
-
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0003-Disable-the-warning-message-for-eh_frame_hdr.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0003-Disable-the-warning-message-for-eh_frame_hdr.patch
deleted file mode 100644
index 96ddefa06..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0003-Disable-the-warning-message-for-eh_frame_hdr.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f74d7754befd636c6139261e6c6b23ed49aa0fa9 Mon Sep 17 00:00:00 2001
-From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
-Date: Fri, 22 Jun 2012 01:20:20 +0200
-Subject: [PATCH 03/52] Disable the warning message for eh_frame_hdr
-
-Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
----
- bfd/elf-eh-frame.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
-index 7a129b00f8..d5e4a5c062 100644
---- a/bfd/elf-eh-frame.c
-+++ b/bfd/elf-eh-frame.c
-@@ -1044,10 +1044,13 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
- goto success;
-
- free_no_table:
-+/* FIXME: Remove the microblaze specifics when relaxing gets fixed. */
-+if (bfd_get_arch(abfd) != bfd_arch_microblaze) {
- _bfd_error_handler
- /* xgettext:c-format */
- (_("error in %pB(%pA); no .eh_frame_hdr table will be created"),
- abfd, sec);
-+}
- hdr_info->u.dwarf.table = FALSE;
- free (sec_info);
- success:
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0004-LOCAL-Fix-relaxation-of-assembler-resolved-reference.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0004-LOCAL-Fix-relaxation-of-assembler-resolved-reference.patch
deleted file mode 100644
index a63ad020c..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0004-LOCAL-Fix-relaxation-of-assembler-resolved-reference.patch
+++ /dev/null
@@ -1,304 +0,0 @@
-From 6aadc146948741df27125cc2253ba9a50efa5cfc Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 8 Nov 2016 11:54:08 +0530
-Subject: [PATCH 04/52] [LOCAL]: Fix relaxation of assembler resolved
- references,Fixup debug_loc sections after linker relaxation Adds a new
- reloctype R_MICROBLAZE_32_NONE, used for passing reloc info from the
- assembler to the linker when the linker manages to fully resolve a local
- symbol reference.
-
-This is a workaround for design flaws in the assembler to
-linker interface with regards to linker relaxation.
-
-Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-
-Conflicts:
- bfd/elf32-microblaze.c
- binutils/readelf.c
- include/elf/microblaze.h
----
- bfd/bfd-in2.h | 5 ++
- bfd/elf32-microblaze.c | 126 ++++++++++++++++++++++++++++---------
- bfd/libbfd.h | 1 +
- bfd/reloc.c | 6 ++
- binutils/readelf.c | 4 ++
- gas/config/tc-microblaze.c | 4 ++
- include/elf/microblaze.h | 2 +
- 7 files changed, 119 insertions(+), 29 deletions(-)
-
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 35ef4d755b..1bd19a2b63 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -5428,6 +5428,11 @@ value relative to the read-write small data area anchor */
- expressions of the form "Symbol Op Symbol" */
- BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM,
-
-+/* This is a 32 bit reloc that stores the 32 bit pc relative
-+value in two words (with an imm instruction).No relocation is
-+done here - only used for relaxing */
-+ BFD_RELOC_MICROBLAZE_32_NONE,
-+
- /* This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). No relocation is
- done here - only used for relaxing */
-diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
-index 693fc71f73..e9715eae6a 100644
---- a/bfd/elf32-microblaze.c
-+++ b/bfd/elf32-microblaze.c
-@@ -177,6 +177,20 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
- FALSE), /* PC relative offset? */
-
- /* This reloc does nothing. Used for relaxation. */
-+ HOWTO (R_MICROBLAZE_32_NONE, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 32, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ NULL, /* Special Function. */
-+ "R_MICROBLAZE_32_NONE",/* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
- HOWTO (R_MICROBLAZE_64_NONE, /* Type. */
- 0, /* Rightshift. */
- 3, /* Size (0 = byte, 1 = short, 2 = long). */
-@@ -562,7 +576,10 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
- case BFD_RELOC_NONE:
- microblaze_reloc = R_MICROBLAZE_NONE;
- break;
-- case BFD_RELOC_MICROBLAZE_64_NONE:
-+ case BFD_RELOC_MICROBLAZE_32_NONE:
-+ microblaze_reloc = R_MICROBLAZE_32_NONE;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_NONE:
- microblaze_reloc = R_MICROBLAZE_64_NONE;
- break;
- case BFD_RELOC_32:
-@@ -1914,18 +1931,26 @@ microblaze_elf_relax_section (bfd *abfd,
- }
- break;
- case R_MICROBLAZE_NONE:
-+ case R_MICROBLAZE_32_NONE:
- {
- /* This was a PC-relative instruction that was
- completely resolved. */
- int sfix, efix;
-+ unsigned int val;
- bfd_vma target_address;
- target_address = irel->r_addend + irel->r_offset;
- sfix = calc_fixup (irel->r_offset, 0, sec);
- efix = calc_fixup (target_address, 0, sec);
-- irel->r_addend -= (efix - sfix);
-- /* Should use HOWTO. */
-- microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
-- irel->r_addend);
-+
-+ /* Validate the in-band val. */
-+ val = bfd_get_32 (abfd, contents + irel->r_offset);
-+ if (val != irel->r_addend && ELF32_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
-+ }
-+ irel->r_addend -= (efix - sfix);
-+ /* Should use HOWTO. */
-+ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
- }
- break;
- case R_MICROBLAZE_64_NONE:
-@@ -1969,30 +1994,73 @@ microblaze_elf_relax_section (bfd *abfd,
- irelscanend = irelocs + o->reloc_count;
- for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
- {
-- if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
-- {
-- isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
-+ if (1 && ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_NONE)
-+ {
-+ unsigned int val;
-+
-+ isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
-+
-+ /* hax: We only do the following fixup for debug location lists. */
-+ if (strcmp(".debug_loc", o->name))
-+ continue;
-+
-+ /* This was a PC-relative instruction that was completely resolved. */
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-
-- /* Look at the reloc only if the value has been resolved. */
-- if (isym->st_shndx == shndx
-- && (ELF32_ST_TYPE (isym->st_info) == STT_SECTION))
-- {
-- if (ocontents == NULL)
-- {
-- if (elf_section_data (o)->this_hdr.contents != NULL)
-- ocontents = elf_section_data (o)->this_hdr.contents;
-- else
-- {
-- /* We always cache the section contents.
-- Perhaps, if info->keep_memory is FALSE, we
-- should free them, if we are permitted to. */
-- if (o->rawsize == 0)
-- o->rawsize = o->size;
-- ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-- if (ocontents == NULL)
-- goto error_return;
-- if (!bfd_get_section_contents (abfd, o, ocontents,
-- (file_ptr) 0,
-+ val = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
-+ if (val != irelscan->r_addend) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc! %x %lx\n", __LINE__, val, irelscan->r_addend);
-+ }
-+
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
-+ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
-+ irelscan->r_addend);
-+ }
-+ if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
-+ {
-+ isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (isym->st_shndx == shndx
-+ && (ELF32_ST_TYPE (isym->st_info) == STT_SECTION))
-+ {
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
- o->rawsize))
- goto error_return;
- elf_section_data (o)->this_hdr.contents = ocontents;
-@@ -2028,7 +2096,7 @@ microblaze_elf_relax_section (bfd *abfd,
- elf_section_data (o)->this_hdr.contents = ocontents;
- }
- }
-- irelscan->r_addend -= calc_fixup (irel->r_addend
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend
- + isym->st_value,
- 0,
- sec);
-diff --git a/bfd/libbfd.h b/bfd/libbfd.h
-index b97534fc9f..c1551b9240 100644
---- a/bfd/libbfd.h
-+++ b/bfd/libbfd.h
-@@ -2967,6 +2967,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
- "BFD_RELOC_MICROBLAZE_32_ROSDA",
- "BFD_RELOC_MICROBLAZE_32_RWSDA",
- "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
-+ "BFD_RELOC_MICROBLAZE_32_NONE",
- "BFD_RELOC_MICROBLAZE_64_NONE",
- "BFD_RELOC_MICROBLAZE_64_GOTPC",
- "BFD_RELOC_MICROBLAZE_64_GOT",
-diff --git a/bfd/reloc.c b/bfd/reloc.c
-index 9aba84ca81..9b39b41941 100644
---- a/bfd/reloc.c
-+++ b/bfd/reloc.c
-@@ -6858,6 +6858,12 @@ ENUM
- ENUMDOC
- This is a 32 bit reloc for the microblaze to handle
- expressions of the form "Symbol Op Symbol"
-+ENUM
-+ BFD_RELOC_MICROBLAZE_32_NONE
-+ENUMDOC
-+ This is a 32 bit reloc that stores the 32 bit pc relative
-+ value in two words (with an imm instruction). No relocation is
-+ done here - only used for relaxing
- ENUM
- BFD_RELOC_MICROBLAZE_64_NONE
- ENUMDOC
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index 6057515a89..2b797ef2db 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -13187,6 +13187,10 @@ is_8bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
- return reloc_type == 1; /* R_Z80_8. */
- default:
- return FALSE;
-+ case EM_MICROBLAZE:
-+ return reloc_type == 33 /* R_MICROBLAZE_32_NONE. */
-+ || reloc_type == 0 /* R_MICROBLAZE_NONE. */
-+ || reloc_type == 9; /* R_MICROBLAZE_64_NONE. */
- }
- }
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 34eeb97235..74a63abeb0 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -2198,9 +2198,12 @@ md_apply_fix (fixS * fixP,
- moves code around due to relaxing. */
- if (fixP->fx_r_type == BFD_RELOC_64_PCREL)
- fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
-+ else if (fixP->fx_r_type == BFD_RELOC_32)
-+ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_32_NONE;
- else
- fixP->fx_r_type = BFD_RELOC_NONE;
- fixP->fx_addsy = section_symbol (absolute_section);
-+ fixP->fx_done = 0;
- }
- return;
- }
-@@ -2421,6 +2424,7 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
- switch (fixp->fx_r_type)
- {
- case BFD_RELOC_NONE:
-+ case BFD_RELOC_MICROBLAZE_32_NONE:
- case BFD_RELOC_MICROBLAZE_64_NONE:
- case BFD_RELOC_32:
- case BFD_RELOC_MICROBLAZE_32_LO:
-diff --git a/include/elf/microblaze.h b/include/elf/microblaze.h
-index 2fec296967..3978a3dc01 100644
---- a/include/elf/microblaze.h
-+++ b/include/elf/microblaze.h
-@@ -61,6 +61,8 @@ START_RELOC_NUMBERS (elf_microblaze_reloc_type)
- RELOC_NUMBER (R_MICROBLAZE_TEXTPCREL_64, 30) /* PC-relative TEXT offset. */
- RELOC_NUMBER (R_MICROBLAZE_TEXTREL_64, 31) /* TEXT Entry offset 64-bit. */
- RELOC_NUMBER (R_MICROBLAZE_TEXTREL_32_LO, 32) /* TEXT Entry offset 32-bit. */
-+ RELOC_NUMBER (R_MICROBLAZE_32_NONE, 33)
-+
- END_RELOC_NUMBERS (R_MICROBLAZE_max)
-
- /* Global base address names. */
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0005-upstream-change-to-garbage-collection-sweep-causes-m.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0005-upstream-change-to-garbage-collection-sweep-causes-m.patch
deleted file mode 100644
index 95e4a363f..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0005-upstream-change-to-garbage-collection-sweep-causes-m.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 4fc5075cebc9c76053b5ff683ab75c9e8b46ca1a Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@xilinx.com>
-Date: Wed, 27 Feb 2013 13:56:11 +1000
-Subject: [PATCH 05/52] upstream change to garbage collection sweep causes mb
- regression
-
-Upstream change for PR13177 now clears the def_regular during gc_sweep of a
-section. (All other archs in binutils/bfd/elf32-*.c received an update
-to a warning about unresolvable relocations - this warning is not present
-in binutils/bfd/elf32-microblaze.c, but this warning check would not
-prevent the error being seen)
-
-The visible issue with this change is when running a c++ application
-in Petalinux which links libstdc++.so for exception handling it segfaults
-on execution.
-
-This does not occur if static linking libstdc++.a, so its during the
-relocations for a shared lib with garbage collection this occurs
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- bfd/elflink.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/bfd/elflink.c b/bfd/elflink.c
-index 998b72f228..2daf8fdf6a 100644
---- a/bfd/elflink.c
-+++ b/bfd/elflink.c
-@@ -6372,7 +6372,6 @@ elf_gc_sweep_symbol (struct elf_link_hash_entry *h, void *data)
-
- inf = (struct elf_gc_sweep_symbol_info *) data;
- (*inf->hide_symbol) (inf->info, h, TRUE);
-- h->def_regular = 0;
- h->ref_regular = 0;
- h->ref_regular_nonweak = 0;
- }
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0006-Fix-bug-in-TLSTPREL-Relocation.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0006-Fix-bug-in-TLSTPREL-Relocation.patch
deleted file mode 100644
index fcbd662e1..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0006-Fix-bug-in-TLSTPREL-Relocation.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 4e8bd012d3025a6f6b2b2794930f1bfbad7932e8 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Mon, 15 Jun 2015 16:50:30 +0530
-Subject: [PATCH 06/52] Fix bug in TLSTPREL Relocation
-
-Fixed the problem related to the fixup/relocations TLSTPREL.
-When the fixup is applied the addend is not added at the correct offset
-of the instruction. The offset is hard coded considering its big endian
-and it fails for Little endian. This patch allows support for both
-big & little-endian compilers
----
- bfd/elf32-microblaze.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
-index e9715eae6a..9c4f809eaa 100644
---- a/bfd/elf32-microblaze.c
-+++ b/bfd/elf32-microblaze.c
-@@ -1447,9 +1447,9 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- relocation += addend;
- relocation -= dtprel_base(info);
- bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-- contents + offset + 2);
-+ contents + offset + endian);
- bfd_put_16 (input_bfd, relocation & 0xffff,
-- contents + offset + 2 + INST_WORD_SIZE);
-+ contents + offset + endian + INST_WORD_SIZE);
- break;
- case (int) R_MICROBLAZE_TEXTREL_64:
- case (int) R_MICROBLAZE_TEXTREL_32_LO:
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0007-Added-Address-extension-instructions.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0007-Added-Address-extension-instructions.patch
deleted file mode 100644
index fd15e23c1..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0007-Added-Address-extension-instructions.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 1d1344e5786d435f4f492739d0c477befa4c6906 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Mon, 18 Jan 2016 12:28:21 +0530
-Subject: [PATCH 07/52] Added Address extension instructions
-
-This patch adds the support of new instructions which are required
-for supporting Address extension feature.
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
-
-ChangeLog:
- 2016-01-18 Nagaraju Mekala <nmekala@xilix.com>
-
- *microblaze-opc.h (op_code_struct): Update
- Added new instructions
- *microblaze-opcm.h (microblaze_instr): Update
- Added new instructions
-
-Conflicts:
- opcodes/microblaze-opcm.h
----
- opcodes/microblaze-opc.h | 11 +++++++++++
- opcodes/microblaze-opcm.h | 10 +++++-----
- 2 files changed, 16 insertions(+), 5 deletions(-)
-
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index b6c5016e4d..1f1ade40b2 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -178,8 +178,11 @@ struct op_code_struct
- {"wdc.ext.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000466, OPCODE_MASK_H35B, wdcextclear, special_inst },
- {"wdc.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst },
- {"wdc.ext.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000476, OPCODE_MASK_H35B, wdcextflush, special_inst },
-+ {"wdc.clear.ea", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900000E6, OPCODE_MASK_H34B, wdcclearea, special_inst },
- {"mts", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9400C000, OPCODE_MASK_H13S, mts, special_inst },
-+ {"mtse", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9500C000, OPCODE_MASK_H13S, mtse,special_inst },
- {"mfs", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94008000, OPCODE_MASK_H23S, mfs, special_inst },
-+ {"mfse", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94088000, OPCODE_MASK_H23S, mfse, special_inst },
- {"br", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98000000, OPCODE_MASK_H124, br, branch_inst },
- {"brd", INST_TYPE_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98100000, OPCODE_MASK_H124, brd, branch_inst },
- {"brld", INST_TYPE_RD_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98140000, OPCODE_MASK_H24, brld, branch_inst },
-@@ -229,18 +232,24 @@ struct op_code_struct
- {"bgeid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBEA00000, OPCODE_MASK_H1, bgeid, branch_inst },
- {"lbu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000000, OPCODE_MASK_H4, lbu, memory_load_inst },
- {"lbur", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000200, OPCODE_MASK_H4, lbur, memory_load_inst },
-+ {"lbuea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000080, OPCODE_MASK_H4, lbuea, memory_load_inst },
- {"lhu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000000, OPCODE_MASK_H4, lhu, memory_load_inst },
- {"lhur", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000200, OPCODE_MASK_H4, lhur, memory_load_inst },
-+ {"lhuea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000080, OPCODE_MASK_H4, lhuea, memory_load_inst },
- {"lw", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000000, OPCODE_MASK_H4, lw, memory_load_inst },
- {"lwr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000200, OPCODE_MASK_H4, lwr, memory_load_inst },
- {"lwx", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000400, OPCODE_MASK_H4, lwx, memory_load_inst },
-+ {"lwea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000080, OPCODE_MASK_H4, lwea, memory_load_inst },
- {"sb", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000000, OPCODE_MASK_H4, sb, memory_store_inst },
- {"sbr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000200, OPCODE_MASK_H4, sbr, memory_store_inst },
-+ {"sbea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000080, OPCODE_MASK_H4, sbea, memory_store_inst },
- {"sh", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000000, OPCODE_MASK_H4, sh, memory_store_inst },
- {"shr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000200, OPCODE_MASK_H4, shr, memory_store_inst },
-+ {"shea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000080, OPCODE_MASK_H4, shea, memory_store_inst },
- {"sw", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000000, OPCODE_MASK_H4, sw, memory_store_inst },
- {"swr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000200, OPCODE_MASK_H4, swr, memory_store_inst },
- {"swx", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000400, OPCODE_MASK_H4, swx, memory_store_inst },
-+ {"swea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000080, OPCODE_MASK_H4, swea, memory_store_inst },
- {"lbui", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE0000000, OPCODE_MASK_H, lbui, memory_load_inst },
- {"lhui", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE4000000, OPCODE_MASK_H, lhui, memory_load_inst },
- {"lwi", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, lwi, memory_load_inst },
-@@ -405,6 +414,8 @@ struct op_code_struct
- {"clz", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900000E0, OPCODE_MASK_H34, clz, special_inst },
- {"mbar", INST_TYPE_IMM5, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8020004, OPCODE_MASK_HN, mbar, special_inst },
- {"sleep", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBA020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 16. */
-+ {"hibernate", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB9020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 8. */
-+ {"suspend", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBB020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 24. */
- {"swapb", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E0, OPCODE_MASK_H4, swapb, arithmetic_inst },
- {"swaph", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E2, OPCODE_MASK_H4, swaph, arithmetic_inst },
- {"", 0, 0, 0, 0, 0, 0, 0, 0},
-diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
-index 795c57b5ff..b05e319862 100644
---- a/opcodes/microblaze-opcm.h
-+++ b/opcodes/microblaze-opcm.h
-@@ -33,13 +33,13 @@ enum microblaze_instr
- /* 'or/and/xor' are C++ keywords. */
- microblaze_or, microblaze_and, microblaze_xor,
- andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
-- wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, mts, mfs, mbar, br,
-- brd, brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
-- bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
-+ wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, wdcclearea, mts, mtse,
-+ mfs, mfse, mbar, br, brd, brld, bra, brad, brald, microblaze_brk, beq, beqd,
-+ bne, bned, blt, bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
- imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
- brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
-- bgtid, bgei, bgeid, lbu, lbur, lhu, lhur, lw, lwr, lwx, sb, sbr, sh,
-- shr, sw, swr, swx, lbui, lhui, lwi,
-+ bgtid, bgei, bgeid, lbu, lbuea, lbur, lhu, lhuea, lhur, lw, lwea, lwr, lwx,
-+ sb, sbea, sbr, sh, shea, shr, sw, swea, swr, swx, lbui, lhui, lwi,
- sbi, shi, swi, msrset, msrclr, tuqula, mbi_fadd, frsub, mbi_fmul, mbi_fdiv,
- fcmp_lt, fcmp_eq, fcmp_le, fcmp_gt, fcmp_ne, fcmp_ge, fcmp_un, flt,
- fint, fsqrt,
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0008-fixing-the-MAX_OPCODES-to-correct-value.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0008-fixing-the-MAX_OPCODES-to-correct-value.patch
deleted file mode 100644
index 8564003cb..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0008-fixing-the-MAX_OPCODES-to-correct-value.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b2e494ee992ef0509bd2a4512f62841098631219 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Thu, 28 Jan 2016 14:07:34 +0530
-Subject: [PATCH 08/52] fixing the MAX_OPCODES to correct value
-
----
- opcodes/microblaze-opc.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index 1f1ade40b2..c7a506b845 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -102,7 +102,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 291
-+#define MAX_OPCODES 299
-
- struct op_code_struct
- {
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0009-Add-new-bit-field-instructions.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0009-Add-new-bit-field-instructions.patch
deleted file mode 100644
index 0188629db..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0009-Add-new-bit-field-instructions.patch
+++ /dev/null
@@ -1,237 +0,0 @@
-From cea8d524fca305c2878374433d9745b938e4c78f Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Mon, 18 Jul 2016 12:24:28 +0530
-Subject: [PATCH 09/52] Add new bit-field instructions
-
-This patches adds new bsefi and bsifi instructions.
-BSEFI- The instruction shall extract a bit field from a
-register and place it right-adjusted in the destination register.
-The other bits in the destination register shall be set to zero
-BSIFI- The instruction shall insert a right-adjusted bit field
-from a register at another position in the destination register.
-The rest of the bits in the destination register shall be unchanged
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
-
-Conflicts:
- opcodes/microblaze-dis.c
----
- gas/config/tc-microblaze.c | 71 +++++++++++++++++++++++++++++++++++++-
- opcodes/microblaze-dis.c | 20 +++++++++--
- opcodes/microblaze-opc.h | 12 ++++++-
- opcodes/microblaze-opcm.h | 6 +++-
- 4 files changed, 104 insertions(+), 5 deletions(-)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 74a63abeb0..765abfb388 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -917,7 +917,7 @@ md_assemble (char * str)
- unsigned reg2;
- unsigned reg3;
- unsigned isize;
-- unsigned int immed, temp;
-+ unsigned int immed, immed2, temp;
- expressionS exp;
- char name[20];
-
-@@ -1172,7 +1172,76 @@ md_assemble (char * str)
- inst |= (reg2 << RA_LOW) & RA_MASK;
- inst |= (immed << IMM_LOW) & IMM5_MASK;
- break;
-+ case INST_TYPE_RD_R1_IMM5_IMM5:
-+ if (strcmp (op_end, ""))
-+ op_end = parse_reg (op_end + 1, &reg1); /* Get rd. */
-+ else
-+ {
-+ as_fatal (_("Error in statement syntax"));
-+ reg1 = 0;
-+ }
-+ if (strcmp (op_end, ""))
-+ op_end = parse_reg (op_end + 1, &reg2); /* Get r1. */
-+ else
-+ {
-+ as_fatal (_("Error in statement syntax"));
-+ reg2 = 0;
-+ }
-+
-+ /* Check for spl registers. */
-+ if (check_spl_reg (&reg1))
-+ as_fatal (_("Cannot use special register with this instruction"));
-+ if (check_spl_reg (&reg2))
-+ as_fatal (_("Cannot use special register with this instruction"));
-
-+ /* Width immediate value. */
-+ if (strcmp (op_end, ""))
-+ op_end = parse_imm (op_end + 1, &exp, MIN_IMM_WIDTH, MAX_IMM_WIDTH);
-+ else
-+ as_fatal (_("Error in statement syntax"));
-+ if (exp.X_op != O_constant)
-+ {
-+ as_warn (_("Symbol used as immediate width value for bit field instruction"));
-+ immed = 1;
-+ }
-+ else
-+ immed = exp.X_add_number;
-+ if (opcode->instr == bsefi && immed > 31)
-+ as_fatal (_("Width value must be less than 32"));
-+
-+ /* Shift immediate value. */
-+ if (strcmp (op_end, ""))
-+ op_end = parse_imm (op_end + 1, &exp, MIN_IMM, MAX_IMM);
-+ else
-+ as_fatal (_("Error in statement syntax"));
-+ if (exp.X_op != O_constant)
-+ {
-+ as_warn (_("Symbol used as immediate shift value for bit field instruction"));
-+ immed2 = 0;
-+ }
-+ else
-+ {
-+ output = frag_more (isize);
-+ immed2 = exp.X_add_number;
-+ }
-+ if (immed2 != (immed2 % 32))
-+ {
-+ as_warn (_("Shift value greater than 32. using <value %% 32>"));
-+ immed2 = immed2 % 32;
-+ }
-+
-+ /* Check combined value. */
-+ if (immed + immed2 > 32)
-+ as_fatal (_("Width value + shift value must not be greater than 32"));
-+
-+ inst |= (reg1 << RD_LOW) & RD_MASK;
-+ inst |= (reg2 << RA_LOW) & RA_MASK;
-+ if (opcode->instr == bsefi)
-+ inst |= (immed & IMM5_MASK) << IMM_WIDTH_LOW; /* bsefi */
-+ else
-+ inst |= ((immed + immed2 - 1) & IMM5_MASK) << IMM_WIDTH_LOW; /* bsifi */
-+ inst |= (immed2 << IMM_LOW) & IMM5_MASK;
-+ break;
- case INST_TYPE_R1_R2:
- if (strcmp (op_end, ""))
- op_end = parse_reg (op_end + 1, &reg1); /* Get r1. */
-diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c
-index be1534c257..315c6e9350 100644
---- a/opcodes/microblaze-dis.c
-+++ b/opcodes/microblaze-dis.c
-@@ -91,7 +91,19 @@ get_field_imm5_mbar (struct string_buf *buf, long instr)
- }
-
- static char *
--get_field_rfsl (struct string_buf *buf, long instr)
-+get_field_imm5width (struct string_buf *buf, long instr)
-+{
-+ char *p = strbuf (buf);
-+
-+ if (instr & 0x00004000)
-+ sprintf (p, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW))); /* bsefi */
-+ else
-+ sprintf (p, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW) - ((instr & IMM5_MASK) >> IMM_LOW) + 1)); /* bsifi */
-+ return p;
-+}
-+
-+static char *
-+get_field_rfsl (struct string_buf *buf,long instr)
- {
- char *p = strbuf (buf);
-
-@@ -427,7 +439,11 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
- /* For mbar 16 or sleep insn. */
- case INST_TYPE_NONE:
- break;
-- /* For tuqula instruction */
-+ /* For bit field insns. */
-+ case INST_TYPE_RD_R1_IMM5_IMM5:
-+ print_func (stream, "\t%s, %s, %s, %s", get_field_rd (&buf, inst),get_field_r1(&buf, inst),get_field_imm5width (&buf, inst), get_field_imm5 (&buf, inst));
-+ break;
-+ /* For tuqula instruction */
- case INST_TYPE_RD:
- print_func (stream, "\t%s", get_field_rd (&buf, inst));
- break;
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index c7a506b845..f61f4ef66d 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -59,6 +59,9 @@
- /* For mbar. */
- #define INST_TYPE_IMM5 20
-
-+/* For bsefi and bsifi */
-+#define INST_TYPE_RD_R1_IMM5_IMM5 21
-+
- #define INST_TYPE_NONE 25
-
-
-@@ -89,7 +92,9 @@
- #define OPCODE_MASK_H124 0xFFFF07FF /* High 16, and low 11 bits. */
- #define OPCODE_MASK_H1234 0xFFFFFFFF /* All 32 bits. */
- #define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
-+#define OPCODE_MASK_H3B 0xFC00C600 /* High 6 bits and bits 16, 17, 21, 22. */
- #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
-+#define OPCODE_MASK_H32B 0xFC00C000 /* High 6 bits and bit 16, 17. */
- #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
- #define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
- #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
-@@ -102,7 +107,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 299
-+#define MAX_OPCODES 301
-
- struct op_code_struct
- {
-@@ -159,6 +164,8 @@ struct op_code_struct
- {"bslli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3, bslli, barrel_shift_inst },
- {"bsrai", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3, bsrai, barrel_shift_inst },
- {"bsrli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3, bsrli, barrel_shift_inst },
-+ {"bsefi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64004000, OPCODE_MASK_H32B, bsefi, barrel_shift_inst },
-+ {"bsifi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64008000, OPCODE_MASK_H32B, bsifi, barrel_shift_inst },
- {"or", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000000, OPCODE_MASK_H4, microblaze_or, logical_inst },
- {"and", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x84000000, OPCODE_MASK_H4, microblaze_and, logical_inst },
- {"xor", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000000, OPCODE_MASK_H4, microblaze_xor, logical_inst },
-@@ -438,5 +445,8 @@ char pvr_register_prefix[] = "rpvr";
- #define MIN_IMM5 ((int) 0x00000000)
- #define MAX_IMM5 ((int) 0x0000001f)
-
-+#define MIN_IMM_WIDTH ((int) 0x00000001)
-+#define MAX_IMM_WIDTH ((int) 0x00000020)
-+
- #endif /* MICROBLAZE_OPC */
-
-diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
-index b05e319862..fa921c90c9 100644
---- a/opcodes/microblaze-opcm.h
-+++ b/opcodes/microblaze-opcm.h
-@@ -29,7 +29,7 @@ enum microblaze_instr
- addi, rsubi, addic, rsubic, addik, rsubik, addikc, rsubikc, mul,
- mulh, mulhu, mulhsu,swapb,swaph,
- idiv, idivu, bsll, bsra, bsrl, get, put, nget, nput, cget, cput,
-- ncget, ncput, muli, bslli, bsrai, bsrli, mului,
-+ ncget, ncput, muli, bslli, bsrai, bsrli, bsefi, bsifi, mului,
- /* 'or/and/xor' are C++ keywords. */
- microblaze_or, microblaze_and, microblaze_xor,
- andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
-@@ -129,6 +129,7 @@ enum microblaze_instr_type
- #define RB_LOW 11 /* Low bit for RB. */
- #define IMM_LOW 0 /* Low bit for immediate. */
- #define IMM_MBAR 21 /* low bit for mbar instruction. */
-+#define IMM_WIDTH_LOW 6 /* Low bit for immediate width */
-
- #define RD_MASK 0x03E00000
- #define RA_MASK 0x001F0000
-@@ -141,6 +142,9 @@ enum microblaze_instr_type
- /* Imm mask for mbar. */
- #define IMM5_MBAR_MASK 0x03E00000
-
-+/* Imm mask for extract/insert width. */
-+#define IMM5_WIDTH_MASK 0x000007C0
-+
- /* FSL imm mask for get, put instructions. */
- #define RFSL_MASK 0x000000F
-
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0010-fixing-the-imm-bug.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0010-fixing-the-imm-bug.patch
deleted file mode 100644
index 892205cd9..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0010-fixing-the-imm-bug.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d6ccef90be40de63ee6da4943a601edaf7b1a136 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Mon, 10 Jul 2017 16:07:28 +0530
-Subject: [PATCH 10/52] fixing the imm bug. with relax option imm -1 is also
- getting removed this is corrected now.
-
----
- bfd/elf32-microblaze.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
-index 9c4f809eaa..c22130fd8c 100644
---- a/bfd/elf32-microblaze.c
-+++ b/bfd/elf32-microblaze.c
-@@ -1865,8 +1865,7 @@ microblaze_elf_relax_section (bfd *abfd,
- else
- symval += irel->r_addend;
-
-- if ((symval & 0xffff8000) == 0
-- || (symval & 0xffff8000) == 0xffff8000)
-+ if ((symval & 0xffff8000) == 0)
- {
- /* We can delete this instruction. */
- sec->relax[sec->relax_count].addr = irel->r_offset;
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0011-Patch-Microblaze-fixed-bug-in-GCC-so-that-It-will-su.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0011-Patch-Microblaze-fixed-bug-in-GCC-so-that-It-will-su.patch
deleted file mode 100644
index db23fe147..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0011-Patch-Microblaze-fixed-bug-in-GCC-so-that-It-will-su.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 3bb637b058c5f2622950e6984695e36f9cac067a Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Fri, 29 Sep 2017 18:00:23 +0530
-Subject: [PATCH 11/52] [Patch,Microblaze]: fixed bug in GCC so that It will
- support .long 0U and .long 0u
-
----
- gas/expr.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gas/expr.c b/gas/expr.c
-index 6f8ccb8230..0e34ca53d9 100644
---- a/gas/expr.c
-+++ b/gas/expr.c
-@@ -803,6 +803,15 @@ operand (expressionS *expressionP, enum expr_mode mode)
- break;
- }
- }
-+ if ((*input_line_pointer == 'U') || (*input_line_pointer == 'u'))
-+ {
-+ input_line_pointer--;
-+
-+ integer_constant ((NUMBERS_WITH_SUFFIX || flag_m68k_mri)
-+ ? 0 : 10,
-+ expressionP);
-+ break;
-+ }
- c = *input_line_pointer;
- switch (c)
- {
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0012-fixing-the-constant-range-check-issue.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0012-fixing-the-constant-range-check-issue.patch
deleted file mode 100644
index 4145b0dad..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0012-fixing-the-constant-range-check-issue.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From e1cb5c37efd76b44a878574ee3baad4c7a882e3b Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Mon, 16 Oct 2017 15:44:23 +0530
-Subject: [PATCH 12/52] fixing the constant range check issue sample error: not
- in range ffffffff80000000..7fffffff, not ffffffff70000000
-
----
- gas/config/tc-microblaze.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 765abfb388..5810a74a5f 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -757,7 +757,7 @@ parse_imm (char * s, expressionS * e, offsetT min, offsetT max)
- if ((e->X_add_number >> 31) == 1)
- e->X_add_number |= -((addressT) (1U << 31));
-
-- if (e->X_add_number < min || e->X_add_number > max)
-+ if ((int)e->X_add_number < min || (int)e->X_add_number > max)
- {
- as_fatal (_("operand must be absolute in range %lx..%lx, not %lx"),
- (long) min, (long) max, (long) e->X_add_number);
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0013-Patch-Microblaze-Compiler-will-give-error-messages-i.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0013-Patch-Microblaze-Compiler-will-give-error-messages-i.patch
deleted file mode 100644
index a74f2b9e5..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0013-Patch-Microblaze-Compiler-will-give-error-messages-i.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 1a3f130008b4ebcd9a6e45cdac7188bde88f2f28 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 21 Feb 2018 12:32:02 +0530
-Subject: [PATCH 13/52] [Patch,Microblaze]: Compiler will give error messages
- in more detail for mxl-gp-opt flag..
-
----
- ld/ldmain.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/ld/ldmain.c b/ld/ldmain.c
-index 08be9030cb..613d748fef 100644
---- a/ld/ldmain.c
-+++ b/ld/ldmain.c
-@@ -1515,6 +1515,18 @@ reloc_overflow (struct bfd_link_info *info,
- break;
- case bfd_link_hash_defined:
- case bfd_link_hash_defweak:
-+
-+ if((strcmp(reloc_name,"R_MICROBLAZE_SRW32") == 0) && entry->type == bfd_link_hash_defined)
-+ {
-+ einfo (_(" relocation truncated to fit: don't enable small data pointer optimizations[mxl-gp-opt] if extern or multiple declarations used: "
-+ "%s against symbol `%T' defined in %A section in %B"),
-+ reloc_name, entry->root.string,
-+ entry->u.def.section,
-+ entry->u.def.section == bfd_abs_section_ptr
-+ ? info->output_bfd : entry->u.def.section->owner);
-+ break;
-+ }
-+
- einfo (_(" relocation truncated to fit: "
- "%s against symbol `%pT' defined in %pA section in %pB"),
- reloc_name, entry->root.string,
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0014-intial-commit-of-MB-64-bit.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0014-intial-commit-of-MB-64-bit.patch
deleted file mode 100644
index f0037e1f5..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0014-intial-commit-of-MB-64-bit.patch
+++ /dev/null
@@ -1,4760 +0,0 @@
-From d25d934f076297615cb0287488449fb32b9c46e8 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Sun, 30 Sep 2018 16:28:28 +0530
-Subject: [PATCH 14/52] intial commit of MB 64-bit
-
-Conflicts:
- bfd/configure
- bfd/configure.ac
- bfd/cpu-microblaze.c
- ld/Makefile.am
- ld/Makefile.in
- opcodes/microblaze-dis.c
----
- bfd/Makefile.am | 2 +
- bfd/Makefile.in | 3 +
- bfd/config.bfd | 4 +
- bfd/configure | 2 +
- bfd/configure.ac | 2 +
- bfd/cpu-microblaze.c | 53 +-
- bfd/elf64-microblaze.c | 3610 ++++++++++++++++++++++++++++
- bfd/targets.c | 6 +
- gas/config/tc-microblaze.c | 274 ++-
- gas/config/tc-microblaze.h | 4 +-
- include/elf/common.h | 1 +
- ld/Makefile.am | 4 +
- ld/Makefile.in | 6 +
- ld/configure.tgt | 3 +
- ld/emulparams/elf64microblaze.sh | 23 +
- ld/emulparams/elf64microblazeel.sh | 23 +
- opcodes/microblaze-dis.c | 35 +-
- opcodes/microblaze-opc.h | 162 +-
- opcodes/microblaze-opcm.h | 20 +-
- 19 files changed, 4197 insertions(+), 40 deletions(-)
- create mode 100644 bfd/elf64-microblaze.c
- create mode 100644 ld/emulparams/elf64microblaze.sh
- create mode 100644 ld/emulparams/elf64microblazeel.sh
-
-diff --git a/bfd/Makefile.am b/bfd/Makefile.am
-index c88c448000..d86f1c5697 100644
---- a/bfd/Makefile.am
-+++ b/bfd/Makefile.am
-@@ -562,6 +562,7 @@ BFD64_BACKENDS = \
- elf64-riscv.lo \
- elfxx-riscv.lo \
- elf64-s390.lo \
-+ elf64-microblaze.lo \
- elf64-sparc.lo \
- elf64-tilegx.lo \
- elf64-x86-64.lo \
-@@ -596,6 +597,7 @@ BFD64_BACKENDS_CFILES = \
- elf64-nfp.c \
- elf64-ppc.c \
- elf64-s390.c \
-+ elf64-microblaze.c \
- elf64-sparc.c \
- elf64-tilegx.c \
- elf64-x86-64.c \
-diff --git a/bfd/Makefile.in b/bfd/Makefile.in
-index d0d14c6ab3..a54abeca48 100644
---- a/bfd/Makefile.in
-+++ b/bfd/Makefile.in
-@@ -988,6 +988,7 @@ BFD64_BACKENDS = \
- elf64-riscv.lo \
- elfxx-riscv.lo \
- elf64-s390.lo \
-+ elf64-microblaze.lo \
- elf64-sparc.lo \
- elf64-tilegx.lo \
- elf64-x86-64.lo \
-@@ -1022,6 +1023,7 @@ BFD64_BACKENDS_CFILES = \
- elf64-nfp.c \
- elf64-ppc.c \
- elf64-s390.c \
-+ elf64-microblaze.c \
- elf64-sparc.c \
- elf64-tilegx.c \
- elf64-x86-64.c \
-@@ -1501,6 +1503,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-ppc.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-riscv.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-s390.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-microblaze.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-sparc.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-tilegx.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-x86-64.Plo@am__quote@
-diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 14523caf0c..437c03bb9d 100644
---- a/bfd/config.bfd
-+++ b/bfd/config.bfd
-@@ -825,11 +825,15 @@ case "${targ}" in
- microblazeel*-*)
- targ_defvec=microblaze_elf32_le_vec
- targ_selvecs=microblaze_elf32_vec
-+ targ64_selvecs=microblaze_elf64_vec
-+ targ64_selvecs=microblaze_elf64_le_vec
- ;;
-
- microblaze*-*)
- targ_defvec=microblaze_elf32_vec
- targ_selvecs=microblaze_elf32_le_vec
-+ targ64_selvecs=microblaze_elf64_vec
-+ targ64_selvecs=microblaze_elf64_le_vec
- ;;
-
- #ifdef BFD64
-diff --git a/bfd/configure b/bfd/configure
-index 0340ed541b..ff5ae4706c 100755
---- a/bfd/configure
-+++ b/bfd/configure
-@@ -14903,6 +14903,8 @@ do
- s390_elf64_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
- score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo elf64.lo $elf"; want64=true; target_size=64 ;;
- score_elf32_le_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo elf64.lo $elf"; want64=true; target_size=64 ;;
-+ microblaze_elf64_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
-+ microblaze_elf64_le_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
- sh_coff_vec) tb="$tb coff-sh.lo $coff" ;;
- sh_coff_le_vec) tb="$tb coff-sh.lo $coff" ;;
- sh_coff_small_vec) tb="$tb coff-sh.lo $coff" ;;
-diff --git a/bfd/configure.ac b/bfd/configure.ac
-index 8e86f8399c..408092d3be 100644
---- a/bfd/configure.ac
-+++ b/bfd/configure.ac
-@@ -639,6 +639,8 @@ do
- s390_elf64_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
- score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo elf64.lo $elf"; want64=true; target_size=64 ;;
- score_elf32_le_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo elf64.lo $elf"; want64=true; target_size=64 ;;
-+ microblaze_elf64_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
-+ microblaze_elf64_le_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
- sh_coff_vec) tb="$tb coff-sh.lo $coff" ;;
- sh_coff_le_vec) tb="$tb coff-sh.lo $coff" ;;
- sh_coff_small_vec) tb="$tb coff-sh.lo $coff" ;;
-diff --git a/bfd/cpu-microblaze.c b/bfd/cpu-microblaze.c
-index 05a3f767e2..194920b20b 100644
---- a/bfd/cpu-microblaze.c
-+++ b/bfd/cpu-microblaze.c
-@@ -23,7 +23,24 @@
- #include "bfd.h"
- #include "libbfd.h"
-
--const bfd_arch_info_type bfd_microblaze_arch =
-+const bfd_arch_info_type bfd_microblaze_arch[] =
-+{
-+#if BFD_DEFAULT_TARGET_SIZE == 64
-+{
-+ 64, /* 32 bits in a word. */
-+ 64, /* 32 bits in an address. */
-+ 8, /* 8 bits in a byte. */
-+ bfd_arch_microblaze, /* Architecture. */
-+ 0, /* Machine number - 0 for now. */
-+ "microblaze", /* Architecture name. */
-+ "MicroBlaze", /* Printable name. */
-+ 3, /* Section align power. */
-+ FALSE, /* Is this the default architecture ? */
-+ bfd_default_compatible, /* Architecture comparison function. */
-+ bfd_default_scan, /* String to architecture conversion. */
-+ bfd_arch_default_fill, /* Default fill. */
-+ &bfd_microblaze_arch[1] /* Next in list. */
-+},
- {
- 32, /* Bits in a word. */
- 32, /* Bits in an address. */
-@@ -39,4 +56,38 @@ const bfd_arch_info_type bfd_microblaze_arch =
- bfd_arch_default_fill, /* Default fill. */
- NULL, /* Next in list. */
- 0 /* Maximum offset of a reloc from the start of an insn. */
-+}
-+#else
-+{
-+ 32, /* 32 bits in a word. */
-+ 32, /* 32 bits in an address. */
-+ 8, /* 8 bits in a byte. */
-+ bfd_arch_microblaze, /* Architecture. */
-+ 0, /* Machine number - 0 for now. */
-+ "microblaze", /* Architecture name. */
-+ "MicroBlaze", /* Printable name. */
-+ 3, /* Section align power. */
-+ TRUE, /* Is this the default architecture ? */
-+ bfd_default_compatible, /* Architecture comparison function. */
-+ bfd_default_scan, /* String to architecture conversion. */
-+ bfd_arch_default_fill, /* Default fill. */
-+ &bfd_microblaze_arch[1] /* Next in list. */
-+},
-+{
-+ 64, /* 32 bits in a word. */
-+ 64, /* 32 bits in an address. */
-+ 8, /* 8 bits in a byte. */
-+ bfd_arch_microblaze, /* Architecture. */
-+ 0, /* Machine number - 0 for now. */
-+ "microblaze", /* Architecture name. */
-+ "MicroBlaze", /* Printable name. */
-+ 3, /* Section align power. */
-+ FALSE, /* Is this the default architecture ? */
-+ bfd_default_compatible, /* Architecture comparison function. */
-+ bfd_default_scan, /* String to architecture conversion. */
-+ bfd_arch_default_fill, /* Default fill. */
-+ NULL, /* Next in list. */
-+ 0 /* Maximum offset of a reloc from the start of an insn. */
-+}
-+#endif
- };
-diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
-new file mode 100644
-index 0000000000..a357388115
---- /dev/null
-+++ b/bfd/elf64-microblaze.c
-@@ -0,0 +1,3610 @@
-+/* Xilinx MicroBlaze-specific support for 32-bit ELF
-+
-+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
-+
-+ This file is part of BFD, the Binary File Descriptor library.
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 3 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the
-+ Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
-+ Boston, MA 02110-1301, USA. */
-+
-+
-+int dbg1 = 0;
-+
-+#include "sysdep.h"
-+#include "bfd.h"
-+#include "bfdlink.h"
-+#include "libbfd.h"
-+#include "elf-bfd.h"
-+#include "elf/microblaze.h"
-+#include <assert.h>
-+
-+#define USE_RELA /* Only USE_REL is actually significant, but this is
-+ here are a reminder... */
-+#define INST_WORD_SIZE 4
-+
-+static int ro_small_data_pointer = 0;
-+static int rw_small_data_pointer = 0;
-+
-+static reloc_howto_type * microblaze_elf_howto_table [(int) R_MICROBLAZE_max];
-+
-+static reloc_howto_type microblaze_elf_howto_raw[] =
-+{
-+ /* This reloc does nothing. */
-+ HOWTO (R_MICROBLAZE_NONE, /* Type. */
-+ 0, /* Rightshift. */
-+ 3, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 0, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ NULL, /* Special Function. */
-+ "R_MICROBLAZE_NONE", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* A standard 32 bit relocation. */
-+ HOWTO (R_MICROBLAZE_32, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 32, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_32", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0xffffffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* A standard PCREL 32 bit relocation. */
-+ HOWTO (R_MICROBLAZE_32_PCREL,/* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 32, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_32_PCREL", /* Name. */
-+ TRUE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0xffffffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* A 64 bit PCREL relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_64_PCREL,/* Type. */
-+ 0, /* Rightshift. */
-+ 4, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 64, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_64_PCREL", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* The low half of a PCREL 32 bit relocation. */
-+ HOWTO (R_MICROBLAZE_32_PCREL_LO, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_signed, /* Complain on overflow. */
-+ bfd_elf_generic_reloc, /* Special Function. */
-+ "R_MICROBLAZE_32_PCREL_LO", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* A 64 bit relocation. Table entry not really used. */
-+ HOWTO (R_MICROBLAZE_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* The low half of a 32 bit relocation. */
-+ HOWTO (R_MICROBLAZE_32_LO, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_signed, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_32_LO", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* Read-only small data section relocation. */
-+ HOWTO (R_MICROBLAZE_SRO32, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_SRO32", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* Read-write small data area relocation. */
-+ HOWTO (R_MICROBLAZE_SRW32, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_SRW32", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ HOWTO (R_MICROBLAZE_32_NONE, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 32, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ NULL, /* Special Function. */
-+ "R_MICROBLAZE_32_NONE",/* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* This reloc does nothing. Used for relaxation. */
-+ HOWTO (R_MICROBLAZE_64_NONE, /* Type. */
-+ 0, /* Rightshift. */
-+ 3, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 0, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ NULL, /* Special Function. */
-+ "R_MICROBLAZE_64_NONE",/* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* Symbol Op Symbol relocation. */
-+ HOWTO (R_MICROBLAZE_32_SYM_OP_SYM, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 32, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_32_SYM_OP_SYM", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0xffffffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* GNU extension to record C++ vtable hierarchy. */
-+ HOWTO (R_MICROBLAZE_GNU_VTINHERIT, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 0, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont,/* Complain on overflow. */
-+ NULL, /* Special Function. */
-+ "R_MICROBLAZE_GNU_VTINHERIT", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* GNU extension to record C++ vtable member usage. */
-+ HOWTO (R_MICROBLAZE_GNU_VTENTRY, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 0, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont,/* Complain on overflow. */
-+ _bfd_elf_rel_vtable_reloc_fn, /* Special Function. */
-+ "R_MICROBLAZE_GNU_VTENTRY", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* A 64 bit GOTPC relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GOTPC_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc, /* Special Function. */
-+ "R_MICROBLAZE_GOTPC_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* A 64 bit GOT relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GOT_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_GOT_64",/* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* A 64 bit PLT relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_PLT_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_PLT_64",/* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_REL, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_REL", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_JUMP_SLOT,/* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_JUMP_SLOT", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GLOB_DAT,/* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_GLOB_DAT", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* A 64 bit GOT relative relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GOTOFF_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_GOTOFF_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* A 32 bit GOT relative relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GOTOFF_32, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc, /* Special Function. */
-+ "R_MICROBLAZE_GOTOFF_32", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* COPY relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_COPY, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_COPY", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* Marker relocs for TLS. */
-+ HOWTO (R_MICROBLAZE_TLS,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLS", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ HOWTO (R_MICROBLAZE_TLSGD,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSGD", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ HOWTO (R_MICROBLAZE_TLSLD,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSLD", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ /* Computes the load module index of the load module that contains the
-+ definition of its TLS sym. */
-+ HOWTO (R_MICROBLAZE_TLSDTPMOD32,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSDTPMOD32", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ /* Computes a dtv-relative displacement, the difference between the value
-+ of sym+add and the base address of the thread-local storage block that
-+ contains the definition of sym, minus 0x8000. Used for initializing GOT */
-+ HOWTO (R_MICROBLAZE_TLSDTPREL32,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSDTPREL32", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ /* Computes a dtv-relative displacement, the difference between the value
-+ of sym+add and the base address of the thread-local storage block that
-+ contains the definition of sym, minus 0x8000. */
-+ HOWTO (R_MICROBLAZE_TLSDTPREL64,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSDTPREL64", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ /* Computes a tp-relative displacement, the difference between the value of
-+ sym+add and the value of the thread pointer (r13). */
-+ HOWTO (R_MICROBLAZE_TLSGOTTPREL32,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSGOTTPREL32", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ /* Computes a tp-relative displacement, the difference between the value of
-+ sym+add and the value of the thread pointer (r13). */
-+ HOWTO (R_MICROBLAZE_TLSTPREL32,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSTPREL32", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+};
-+
-+#ifndef NUM_ELEM
-+#define NUM_ELEM(a) (sizeof (a) / sizeof (a)[0])
-+#endif
-+
-+/* Initialize the microblaze_elf_howto_table, so that linear accesses can be done. */
-+
-+static void
-+microblaze_elf_howto_init (void)
-+{
-+ unsigned int i;
-+
-+ for (i = NUM_ELEM (microblaze_elf_howto_raw); i--;)
-+ {
-+ unsigned int type;
-+
-+ type = microblaze_elf_howto_raw[i].type;
-+
-+ BFD_ASSERT (type < NUM_ELEM (microblaze_elf_howto_table));
-+
-+ microblaze_elf_howto_table [type] = & microblaze_elf_howto_raw [i];
-+ }
-+}
-+
-+static reloc_howto_type *
-+microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
-+ bfd_reloc_code_real_type code)
-+{
-+ enum elf_microblaze_reloc_type microblaze_reloc = R_MICROBLAZE_NONE;
-+
-+ switch (code)
-+ {
-+ case BFD_RELOC_NONE:
-+ microblaze_reloc = R_MICROBLAZE_NONE;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_NONE:
-+ microblaze_reloc = R_MICROBLAZE_32_NONE;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_NONE:
-+ microblaze_reloc = R_MICROBLAZE_64_NONE;
-+ break;
-+ case BFD_RELOC_32:
-+ microblaze_reloc = R_MICROBLAZE_32;
-+ break;
-+ /* RVA is treated the same as 32 */
-+ case BFD_RELOC_RVA:
-+ microblaze_reloc = R_MICROBLAZE_32;
-+ break;
-+ case BFD_RELOC_32_PCREL:
-+ microblaze_reloc = R_MICROBLAZE_32_PCREL;
-+ break;
-+ case BFD_RELOC_64_PCREL:
-+ microblaze_reloc = R_MICROBLAZE_64_PCREL;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_LO_PCREL:
-+ microblaze_reloc = R_MICROBLAZE_32_PCREL_LO;
-+ break;
-+ case BFD_RELOC_64:
-+ microblaze_reloc = R_MICROBLAZE_64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_LO:
-+ microblaze_reloc = R_MICROBLAZE_32_LO;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_ROSDA:
-+ microblaze_reloc = R_MICROBLAZE_SRO32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_RWSDA:
-+ microblaze_reloc = R_MICROBLAZE_SRW32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:
-+ microblaze_reloc = R_MICROBLAZE_32_SYM_OP_SYM;
-+ break;
-+ case BFD_RELOC_VTABLE_INHERIT:
-+ microblaze_reloc = R_MICROBLAZE_GNU_VTINHERIT;
-+ break;
-+ case BFD_RELOC_VTABLE_ENTRY:
-+ microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_GOTPC:
-+ microblaze_reloc = R_MICROBLAZE_GOTPC_64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_GOT:
-+ microblaze_reloc = R_MICROBLAZE_GOT_64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_PLT:
-+ microblaze_reloc = R_MICROBLAZE_PLT_64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_GOTOFF:
-+ microblaze_reloc = R_MICROBLAZE_GOTOFF_64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_GOTOFF:
-+ microblaze_reloc = R_MICROBLAZE_GOTOFF_32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_TLSGD:
-+ microblaze_reloc = R_MICROBLAZE_TLSGD;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_TLSLD:
-+ microblaze_reloc = R_MICROBLAZE_TLSLD;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_TLSDTPREL:
-+ microblaze_reloc = R_MICROBLAZE_TLSDTPREL32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_TLSDTPREL:
-+ microblaze_reloc = R_MICROBLAZE_TLSDTPREL64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_TLSDTPMOD:
-+ microblaze_reloc = R_MICROBLAZE_TLSDTPMOD32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL:
-+ microblaze_reloc = R_MICROBLAZE_TLSGOTTPREL32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_TLSTPREL:
-+ microblaze_reloc = R_MICROBLAZE_TLSTPREL32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_COPY:
-+ microblaze_reloc = R_MICROBLAZE_COPY;
-+ break;
-+ default:
-+ return (reloc_howto_type *) NULL;
-+ }
-+
-+ if (!microblaze_elf_howto_table [R_MICROBLAZE_32])
-+ /* Initialize howto table if needed. */
-+ microblaze_elf_howto_init ();
-+
-+ return microblaze_elf_howto_table [(int) microblaze_reloc];
-+};
-+
-+static reloc_howto_type *
-+microblaze_elf_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-+ const char *r_name)
-+{
-+ unsigned int i;
-+
-+ for (i = 0; i < NUM_ELEM (microblaze_elf_howto_raw); i++)
-+ if (microblaze_elf_howto_raw[i].name != NULL
-+ && strcasecmp (microblaze_elf_howto_raw[i].name, r_name) == 0)
-+ return &microblaze_elf_howto_raw[i];
-+
-+ return NULL;
-+}
-+
-+/* Set the howto pointer for a RCE ELF reloc. */
-+
-+static bfd_boolean
-+microblaze_elf_info_to_howto (bfd * abfd,
-+ arelent * cache_ptr,
-+ Elf_Internal_Rela * dst)
-+{
-+ unsigned int r_type;
-+
-+ if (!microblaze_elf_howto_table [R_MICROBLAZE_32])
-+ /* Initialize howto table if needed. */
-+ microblaze_elf_howto_init ();
-+
-+ r_type = ELF64_R_TYPE (dst->r_info);
-+ if (r_type >= R_MICROBLAZE_max)
-+ {
-+ /* xgettext:c-format */
-+ _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
-+ abfd, r_type);
-+ bfd_set_error (bfd_error_bad_value);
-+ return FALSE;
-+ }
-+
-+ cache_ptr->howto = microblaze_elf_howto_table [r_type];
-+ return TRUE;
-+}
-+
-+/* Microblaze ELF local labels start with 'L.' or '$L', not '.L'. */
-+
-+static bfd_boolean
-+microblaze_elf_is_local_label_name (bfd *abfd, const char *name)
-+{
-+ if (name[0] == 'L' && name[1] == '.')
-+ return TRUE;
-+
-+ if (name[0] == '$' && name[1] == 'L')
-+ return TRUE;
-+
-+ /* With gcc, the labels go back to starting with '.', so we accept
-+ the generic ELF local label syntax as well. */
-+ return _bfd_elf_is_local_label_name (abfd, name);
-+}
-+
-+/* The microblaze linker (like many others) needs to keep track of
-+ the number of relocs that it decides to copy as dynamic relocs in
-+ check_relocs for each symbol. This is so that it can later discard
-+ them if they are found to be unnecessary. We store the information
-+ in a field extending the regular ELF linker hash table. */
-+
-+struct elf64_mb_dyn_relocs
-+{
-+ struct elf64_mb_dyn_relocs *next;
-+
-+ /* The input section of the reloc. */
-+ asection *sec;
-+
-+ /* Total number of relocs copied for the input section. */
-+ bfd_size_type count;
-+
-+ /* Number of pc-relative relocs copied for the input section. */
-+ bfd_size_type pc_count;
-+};
-+
-+/* ELF linker hash entry. */
-+
-+struct elf64_mb_link_hash_entry
-+{
-+ struct elf_link_hash_entry elf;
-+
-+ /* Track dynamic relocs copied for this symbol. */
-+ struct elf64_mb_dyn_relocs *dyn_relocs;
-+
-+ /* TLS Reference Types for the symbol; Updated by check_relocs */
-+#define TLS_GD 1 /* GD reloc. */
-+#define TLS_LD 2 /* LD reloc. */
-+#define TLS_TPREL 4 /* TPREL reloc, => IE. */
-+#define TLS_DTPREL 8 /* DTPREL reloc, => LD. */
-+#define TLS_TLS 16 /* Any TLS reloc. */
-+ unsigned char tls_mask;
-+
-+};
-+
-+#define IS_TLS_GD(x) (x == (TLS_TLS | TLS_GD))
-+#define IS_TLS_LD(x) (x == (TLS_TLS | TLS_LD))
-+#define IS_TLS_DTPREL(x) (x == (TLS_TLS | TLS_DTPREL))
-+#define IS_TLS_NONE(x) (x == 0)
-+
-+#define elf64_mb_hash_entry(ent) ((struct elf64_mb_link_hash_entry *)(ent))
-+
-+/* ELF linker hash table. */
-+
-+struct elf64_mb_link_hash_table
-+{
-+ struct elf_link_hash_table elf;
-+
-+ /* Short-cuts to get to dynamic linker sections. */
-+ asection *sgot;
-+ asection *sgotplt;
-+ asection *srelgot;
-+ asection *splt;
-+ asection *srelplt;
-+ asection *sdynbss;
-+ asection *srelbss;
-+
-+ /* Small local sym to section mapping cache. */
-+ struct sym_cache sym_sec;
-+
-+ /* TLS Local Dynamic GOT Entry */
-+ union {
-+ bfd_signed_vma refcount;
-+ bfd_vma offset;
-+ } tlsld_got;
-+};
-+
-+/* Nonzero if this section has TLS related relocations. */
-+#define has_tls_reloc sec_flg0
-+
-+/* Get the ELF linker hash table from a link_info structure. */
-+
-+#define elf64_mb_hash_table(p) \
-+ (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \
-+ == MICROBLAZE_ELF_DATA ? ((struct elf64_mb_link_hash_table *) ((p)->hash)) : NULL)
-+
-+/* Create an entry in a microblaze ELF linker hash table. */
-+
-+static struct bfd_hash_entry *
-+link_hash_newfunc (struct bfd_hash_entry *entry,
-+ struct bfd_hash_table *table,
-+ const char *string)
-+{
-+ /* Allocate the structure if it has not already been allocated by a
-+ subclass. */
-+ if (entry == NULL)
-+ {
-+ entry = bfd_hash_allocate (table,
-+ sizeof (struct elf64_mb_link_hash_entry));
-+ if (entry == NULL)
-+ return entry;
-+ }
-+
-+ /* Call the allocation method of the superclass. */
-+ entry = _bfd_elf_link_hash_newfunc (entry, table, string);
-+ if (entry != NULL)
-+ {
-+ struct elf64_mb_link_hash_entry *eh;
-+
-+ eh = (struct elf64_mb_link_hash_entry *) entry;
-+ eh->tls_mask = 0;
-+ }
-+
-+ return entry;
-+}
-+
-+/* Create a mb ELF linker hash table. */
-+
-+static struct bfd_link_hash_table *
-+microblaze_elf_link_hash_table_create (bfd *abfd)
-+{
-+ struct elf64_mb_link_hash_table *ret;
-+ size_t amt = sizeof (struct elf64_mb_link_hash_table);
-+
-+ ret = (struct elf64_mb_link_hash_table *) bfd_zmalloc (amt);
-+ if (ret == NULL)
-+ return NULL;
-+
-+ if (!_bfd_elf_link_hash_table_init (&ret->elf, abfd, link_hash_newfunc,
-+ sizeof (struct elf64_mb_link_hash_entry),
-+ MICROBLAZE_ELF_DATA))
-+ {
-+ free (ret);
-+ return NULL;
-+ }
-+
-+ return &ret->elf.root;
-+}
-+
-+/* Set the values of the small data pointers. */
-+
-+static void
-+microblaze_elf_final_sdp (struct bfd_link_info *info)
-+{
-+ struct bfd_link_hash_entry *h;
-+
-+ h = bfd_link_hash_lookup (info->hash, RO_SDA_ANCHOR_NAME, FALSE, FALSE, TRUE);
-+ if (h != (struct bfd_link_hash_entry *) NULL
-+ && h->type == bfd_link_hash_defined)
-+ ro_small_data_pointer = (h->u.def.value
-+ + h->u.def.section->output_section->vma
-+ + h->u.def.section->output_offset);
-+
-+ h = bfd_link_hash_lookup (info->hash, RW_SDA_ANCHOR_NAME, FALSE, FALSE, TRUE);
-+ if (h != (struct bfd_link_hash_entry *) NULL
-+ && h->type == bfd_link_hash_defined)
-+ rw_small_data_pointer = (h->u.def.value
-+ + h->u.def.section->output_section->vma
-+ + h->u.def.section->output_offset);
-+}
-+
-+static bfd_vma
-+dtprel_base (struct bfd_link_info *info)
-+{
-+ /* If tls_sec is NULL, we should have signalled an error already. */
-+ if (elf_hash_table (info)->tls_sec == NULL)
-+ return 0;
-+ return elf_hash_table (info)->tls_sec->vma;
-+}
-+
-+/* The size of the thread control block. */
-+#define TCB_SIZE 8
-+
-+/* Output a simple dynamic relocation into SRELOC. */
-+
-+static void
-+microblaze_elf_output_dynamic_relocation (bfd *output_bfd,
-+ asection *sreloc,
-+ unsigned long reloc_index,
-+ unsigned long indx,
-+ int r_type,
-+ bfd_vma offset,
-+ bfd_vma addend)
-+{
-+
-+ Elf_Internal_Rela rel;
-+
-+ rel.r_info = ELF64_R_INFO (indx, r_type);
-+ rel.r_offset = offset;
-+ rel.r_addend = addend;
-+
-+ bfd_elf64_swap_reloca_out (output_bfd, &rel,
-+ (sreloc->contents + reloc_index * sizeof (Elf64_External_Rela)));
-+}
-+
-+/* This code is taken from elf64-m32r.c
-+ There is some attempt to make this function usable for many architectures,
-+ both USE_REL and USE_RELA ['twould be nice if such a critter existed],
-+ if only to serve as a learning tool.
-+
-+ The RELOCATE_SECTION function is called by the new ELF backend linker
-+ to handle the relocations for a section.
-+
-+ The relocs are always passed as Rela structures; if the section
-+ actually uses Rel structures, the r_addend field will always be
-+ zero.
-+
-+ This function is responsible for adjust the section contents as
-+ necessary, and (if using Rela relocs and generating a
-+ relocatable output file) adjusting the reloc addend as
-+ necessary.
-+
-+ This function does not have to worry about setting the reloc
-+ address or the reloc symbol index.
-+
-+ LOCAL_SYMS is a pointer to the swapped in local symbols.
-+
-+ LOCAL_SECTIONS is an array giving the section in the input file
-+ corresponding to the st_shndx field of each local symbol.
-+
-+ The global hash table entry for the global symbols can be found
-+ via elf_sym_hashes (input_bfd).
-+
-+ When generating relocatable output, this function must handle
-+ STB_LOCAL/STT_SECTION symbols specially. The output symbol is
-+ going to be the section symbol corresponding to the output
-+ section, which means that the addend must be adjusted
-+ accordingly. */
-+
-+static bfd_boolean
-+microblaze_elf_relocate_section (bfd *output_bfd,
-+ struct bfd_link_info *info,
-+ bfd *input_bfd,
-+ asection *input_section,
-+ bfd_byte *contents,
-+ Elf_Internal_Rela *relocs,
-+ Elf_Internal_Sym *local_syms,
-+ asection **local_sections)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+ Elf_Internal_Shdr *symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
-+ struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
-+ Elf_Internal_Rela *rel, *relend;
-+ int endian = (bfd_little_endian (output_bfd)) ? 0 : 2;
-+ /* Assume success. */
-+ bfd_boolean ret = TRUE;
-+ asection *sreloc;
-+ bfd_vma *local_got_offsets;
-+ unsigned int tls_type;
-+
-+ if (!microblaze_elf_howto_table[R_MICROBLAZE_max-1])
-+ microblaze_elf_howto_init ();
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ local_got_offsets = elf_local_got_offsets (input_bfd);
-+
-+ sreloc = elf_section_data (input_section)->sreloc;
-+
-+ rel = relocs;
-+ relend = relocs + input_section->reloc_count;
-+ for (; rel < relend; rel++)
-+ {
-+ int r_type;
-+ reloc_howto_type *howto;
-+ unsigned long r_symndx;
-+ bfd_vma addend = rel->r_addend;
-+ bfd_vma offset = rel->r_offset;
-+ struct elf_link_hash_entry *h;
-+ Elf_Internal_Sym *sym;
-+ asection *sec;
-+ const char *sym_name;
-+ bfd_reloc_status_type r = bfd_reloc_ok;
-+ const char *errmsg = NULL;
-+ bfd_boolean unresolved_reloc = FALSE;
-+
-+ h = NULL;
-+ r_type = ELF64_R_TYPE (rel->r_info);
-+ tls_type = 0;
-+
-+ if (r_type < 0 || r_type >= (int) R_MICROBLAZE_max)
-+ {
-+ (*_bfd_error_handler) (_("%s: unknown relocation type %d"),
-+ bfd_get_filename (input_bfd), (int) r_type);
-+ bfd_set_error (bfd_error_bad_value);
-+ ret = FALSE;
-+ continue;
-+ }
-+
-+ howto = microblaze_elf_howto_table[r_type];
-+ r_symndx = ELF64_R_SYM (rel->r_info);
-+
-+ if (bfd_link_relocatable (info))
-+ {
-+ /* This is a relocatable link. We don't have to change
-+ anything, unless the reloc is against a section symbol,
-+ in which case we have to adjust according to where the
-+ section symbol winds up in the output section. */
-+ sec = NULL;
-+ if (r_symndx >= symtab_hdr->sh_info)
-+ /* External symbol. */
-+ continue;
-+
-+ /* Local symbol. */
-+ sym = local_syms + r_symndx;
-+ sym_name = "<local symbol>";
-+ /* STT_SECTION: symbol is associated with a section. */
-+ if (ELF_ST_TYPE (sym->st_info) != STT_SECTION)
-+ /* Symbol isn't associated with a section. Nothing to do. */
-+ continue;
-+
-+ sec = local_sections[r_symndx];
-+ addend += sec->output_offset + sym->st_value;
-+#ifndef USE_REL
-+ /* This can't be done for USE_REL because it doesn't mean anything
-+ and elf_link_input_bfd asserts this stays zero. */
-+ /* rel->r_addend = addend; */
-+#endif
-+
-+#ifndef USE_REL
-+ /* Addends are stored with relocs. We're done. */
-+ continue;
-+#else /* USE_REL */
-+ /* If partial_inplace, we need to store any additional addend
-+ back in the section. */
-+ if (!howto->partial_inplace)
-+ continue;
-+ /* ??? Here is a nice place to call a special_function like handler. */
-+ r = _bfd_relocate_contents (howto, input_bfd, addend,
-+ contents + offset);
-+#endif /* USE_REL */
-+ }
-+ else
-+ {
-+ bfd_vma relocation;
-+ bfd_boolean resolved_to_zero;
-+
-+ /* This is a final link. */
-+ sym = NULL;
-+ sec = NULL;
-+ unresolved_reloc = FALSE;
-+
-+ if (r_symndx < symtab_hdr->sh_info)
-+ {
-+ /* Local symbol. */
-+ sym = local_syms + r_symndx;
-+ sec = local_sections[r_symndx];
-+ if (sec == 0)
-+ continue;
-+ sym_name = "<local symbol>";
-+ relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
-+ /* r_addend may have changed if the reference section was
-+ a merge section. */
-+ addend = rel->r_addend;
-+ }
-+ else
-+ {
-+ /* External symbol. */
-+ bfd_boolean warned ATTRIBUTE_UNUSED;
-+ bfd_boolean ignored ATTRIBUTE_UNUSED;
-+
-+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
-+ r_symndx, symtab_hdr, sym_hashes,
-+ h, sec, relocation,
-+ unresolved_reloc, warned, ignored);
-+ sym_name = h->root.root.string;
-+ }
-+
-+ /* Sanity check the address. */
-+ if (offset > bfd_get_section_limit (input_bfd, input_section))
-+ {
-+ r = bfd_reloc_outofrange;
-+ goto check_reloc;
-+ }
-+
-+ resolved_to_zero = (h != NULL
-+ && UNDEFWEAK_NO_DYNAMIC_RELOC (info, h));
-+
-+ switch ((int) r_type)
-+ {
-+ case (int) R_MICROBLAZE_SRO32 :
-+ {
-+ const char *name;
-+
-+ /* Only relocate if the symbol is defined. */
-+ if (sec)
-+ {
-+ name = bfd_section_name (sec);
-+
-+ if (strcmp (name, ".sdata2") == 0
-+ || strcmp (name, ".sbss2") == 0)
-+ {
-+ if (ro_small_data_pointer == 0)
-+ microblaze_elf_final_sdp (info);
-+ if (ro_small_data_pointer == 0)
-+ {
-+ ret = FALSE;
-+ r = bfd_reloc_undefined;
-+ goto check_reloc;
-+ }
-+
-+ /* At this point `relocation' contains the object's
-+ address. */
-+ relocation -= ro_small_data_pointer;
-+ /* Now it contains the offset from _SDA2_BASE_. */
-+ r = _bfd_final_link_relocate (howto, input_bfd,
-+ input_section,
-+ contents, offset,
-+ relocation, addend);
-+ }
-+ else
-+ {
-+ _bfd_error_handler
-+ /* xgettext:c-format */
-+ (_("%pB: the target (%s) of an %s relocation"
-+ " is in the wrong section (%pA)"),
-+ input_bfd,
-+ sym_name,
-+ microblaze_elf_howto_table[(int) r_type]->name,
-+ sec);
-+ /*bfd_set_error (bfd_error_bad_value); ??? why? */
-+ ret = FALSE;
-+ continue;
-+ }
-+ }
-+ }
-+ break;
-+
-+ case (int) R_MICROBLAZE_SRW32 :
-+ {
-+ const char *name;
-+
-+ /* Only relocate if the symbol is defined. */
-+ if (sec)
-+ {
-+ name = bfd_section_name (sec);
-+
-+ if (strcmp (name, ".sdata") == 0
-+ || strcmp (name, ".sbss") == 0)
-+ {
-+ if (rw_small_data_pointer == 0)
-+ microblaze_elf_final_sdp (info);
-+ if (rw_small_data_pointer == 0)
-+ {
-+ ret = FALSE;
-+ r = bfd_reloc_undefined;
-+ goto check_reloc;
-+ }
-+
-+ /* At this point `relocation' contains the object's
-+ address. */
-+ relocation -= rw_small_data_pointer;
-+ /* Now it contains the offset from _SDA_BASE_. */
-+ r = _bfd_final_link_relocate (howto, input_bfd,
-+ input_section,
-+ contents, offset,
-+ relocation, addend);
-+ }
-+ else
-+ {
-+ _bfd_error_handler
-+ /* xgettext:c-format */
-+ (_("%pB: the target (%s) of an %s relocation"
-+ " is in the wrong section (%pA)"),
-+ input_bfd,
-+ sym_name,
-+ microblaze_elf_howto_table[(int) r_type]->name,
-+ sec);
-+ /*bfd_set_error (bfd_error_bad_value); ??? why? */
-+ ret = FALSE;
-+ continue;
-+ }
-+ }
-+ }
-+ break;
-+
-+ case (int) R_MICROBLAZE_32_SYM_OP_SYM:
-+ break; /* Do nothing. */
-+
-+ case (int) R_MICROBLAZE_GOTPC_64:
-+ relocation = htab->sgotplt->output_section->vma
-+ + htab->sgotplt->output_offset;
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ relocation += addend;
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, relocation & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ break;
-+
-+ case (int) R_MICROBLAZE_PLT_64:
-+ {
-+ bfd_vma immediate;
-+ if (htab->splt != NULL && h != NULL
-+ && h->plt.offset != (bfd_vma) -1)
-+ {
-+ relocation = (htab->splt->output_section->vma
-+ + htab->splt->output_offset
-+ + h->plt.offset);
-+ unresolved_reloc = FALSE;
-+ immediate = relocation - (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ bfd_put_16 (input_bfd, (immediate >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, immediate & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ }
-+ else
-+ {
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ immediate = relocation;
-+ bfd_put_16 (input_bfd, (immediate >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, immediate & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ }
-+ break;
-+ }
-+
-+ case (int) R_MICROBLAZE_TLSGD:
-+ tls_type = (TLS_TLS | TLS_GD);
-+ goto dogot;
-+ case (int) R_MICROBLAZE_TLSLD:
-+ tls_type = (TLS_TLS | TLS_LD);
-+ dogot:
-+ case (int) R_MICROBLAZE_GOT_64:
-+ {
-+ bfd_vma *offp;
-+ bfd_vma off, off2;
-+ unsigned long indx;
-+ bfd_vma static_value;
-+
-+ bfd_boolean need_relocs = FALSE;
-+ if (htab->sgot == NULL)
-+ abort ();
-+
-+ indx = 0;
-+ offp = NULL;
-+
-+ /* 1. Identify GOT Offset;
-+ 2. Compute Static Values
-+ 3. Process Module Id, Process Offset
-+ 4. Fixup Relocation with GOT offset value. */
-+
-+ /* 1. Determine GOT Offset to use : TLS_LD, global, local */
-+ if (IS_TLS_LD (tls_type))
-+ offp = &htab->tlsld_got.offset;
-+ else if (h != NULL)
-+ {
-+ if (htab->sgotplt != NULL && h->got.offset != (bfd_vma) -1)
-+ offp = &h->got.offset;
-+ else
-+ abort ();
-+ }
-+ else
-+ {
-+ if (local_got_offsets == NULL)
-+ abort ();
-+ offp = &local_got_offsets[r_symndx];
-+ }
-+
-+ if (!offp)
-+ abort ();
-+
-+ off = (*offp) & ~1;
-+ off2 = off;
-+
-+ if (IS_TLS_LD(tls_type) || IS_TLS_GD(tls_type))
-+ off2 = off + 4;
-+
-+ /* Symbol index to use for relocs */
-+ if (h != NULL)
-+ {
-+ bfd_boolean dyn =
-+ elf_hash_table (info)->dynamic_sections_created;
-+
-+ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn,
-+ bfd_link_pic (info),
-+ h)
-+ && (!bfd_link_pic (info)
-+ || !SYMBOL_REFERENCES_LOCAL (info, h)))
-+ indx = h->dynindx;
-+ }
-+
-+ /* Need to generate relocs ? */
-+ if ((bfd_link_pic (info) || indx != 0)
-+ && (h == NULL
-+ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
-+ && !resolved_to_zero)
-+ || h->root.type != bfd_link_hash_undefweak))
-+ need_relocs = TRUE;
-+
-+ /* 2. Compute/Emit Static value of r-expression */
-+ static_value = relocation + addend;
-+
-+ /* 3. Process module-id and offset */
-+ if (! ((*offp) & 1) )
-+ {
-+ bfd_vma got_offset;
-+
-+ got_offset = (htab->sgot->output_section->vma
-+ + htab->sgot->output_offset
-+ + off);
-+
-+ /* Process module-id */
-+ if (IS_TLS_LD(tls_type))
-+ {
-+ if (! bfd_link_pic (info))
-+ {
-+ bfd_put_32 (output_bfd, 1, htab->sgot->contents + off);
-+ }
-+ else
-+ {
-+ microblaze_elf_output_dynamic_relocation (output_bfd,
-+ htab->srelgot, htab->srelgot->reloc_count++,
-+ /* symindex= */ 0, R_MICROBLAZE_TLSDTPMOD32,
-+ got_offset, 0);
-+ }
-+ }
-+ else if (IS_TLS_GD(tls_type))
-+ {
-+ if (! need_relocs)
-+ {
-+ bfd_put_32 (output_bfd, 1, htab->sgot->contents + off);
-+ }
-+ else
-+ {
-+ microblaze_elf_output_dynamic_relocation (output_bfd,
-+ htab->srelgot,
-+ htab->srelgot->reloc_count++,
-+ /* symindex= */ indx, R_MICROBLAZE_TLSDTPMOD32,
-+ got_offset, indx ? 0 : static_value);
-+ }
-+ }
-+
-+ /* Process Offset */
-+ if (htab->srelgot == NULL)
-+ abort ();
-+
-+ got_offset = (htab->sgot->output_section->vma
-+ + htab->sgot->output_offset
-+ + off2);
-+ if (IS_TLS_LD(tls_type))
-+ {
-+ /* For LD, offset should be 0 */
-+ *offp |= 1;
-+ bfd_put_32 (output_bfd, 0, htab->sgot->contents + off2);
-+ }
-+ else if (IS_TLS_GD(tls_type))
-+ {
-+ *offp |= 1;
-+ static_value -= dtprel_base(info);
-+ if (need_relocs)
-+ microblaze_elf_output_dynamic_relocation
-+ (output_bfd,
-+ htab->elf.srelgot,
-+ htab->elf.srelgot->reloc_count++,
-+ /* symindex= */ indx, R_MICROBLAZE_TLSDTPREL32,
-+ got_offset, indx ? 0 : static_value);
-+ else
-+ bfd_put_32 (output_bfd, static_value,
-+ htab->elf.sgot->contents + off2);
-+ }
-+ else
-+ {
-+ bfd_put_32 (output_bfd, static_value,
-+ htab->elf.sgot->contents + off2);
-+
-+ /* Relocs for dyn symbols generated by
-+ finish_dynamic_symbols */
-+ if (bfd_link_pic (info) && h == NULL)
-+ {
-+ *offp |= 1;
-+ microblaze_elf_output_dynamic_relocation
-+ (output_bfd,
-+ htab->elf.srelgot,
-+ htab->elf.srelgot->reloc_count++,
-+ /* symindex= */ indx, R_MICROBLAZE_REL,
-+ got_offset, static_value);
-+ }
-+ }
-+ }
-+
-+ /* 4. Fixup Relocation with GOT offset value
-+ Compute relative address of GOT entry for applying
-+ the current relocation */
-+ relocation = htab->elf.sgot->output_section->vma
-+ + htab->elf.sgot->output_offset
-+ + off
-+ - htab->elf.sgotplt->output_section->vma
-+ - htab->elf.sgotplt->output_offset;
-+
-+ /* Apply Current Relocation */
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, relocation & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+
-+ unresolved_reloc = FALSE;
-+ break;
-+ }
-+
-+ case (int) R_MICROBLAZE_GOTOFF_64:
-+ {
-+ bfd_vma immediate;
-+ unsigned short lo, high;
-+ relocation += addend;
-+ relocation -= (htab->elf.sgotplt->output_section->vma
-+ + htab->elf.sgotplt->output_offset);
-+ /* Write this value into correct location. */
-+ immediate = relocation;
-+ lo = immediate & 0x0000ffff;
-+ high = (immediate >> 16) & 0x0000ffff;
-+ bfd_put_16 (input_bfd, high, contents + offset + endian);
-+ bfd_put_16 (input_bfd, lo, contents + offset + INST_WORD_SIZE + endian);
-+ break;
-+ }
-+
-+ case (int) R_MICROBLAZE_GOTOFF_32:
-+ {
-+ relocation += addend;
-+ relocation -= (htab->elf.sgotplt->output_section->vma
-+ + htab->elf.sgotplt->output_offset);
-+ /* Write this value into correct location. */
-+ bfd_put_32 (input_bfd, relocation, contents + offset);
-+ break;
-+ }
-+
-+ case (int) R_MICROBLAZE_TLSDTPREL64:
-+ relocation += addend;
-+ relocation -= dtprel_base(info);
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, relocation & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ break;
-+ case (int) R_MICROBLAZE_64_PCREL :
-+ case (int) R_MICROBLAZE_64:
-+ case (int) R_MICROBLAZE_32:
-+ {
-+ /* r_symndx will be STN_UNDEF (zero) only for relocs against symbols
-+ from removed linkonce sections, or sections discarded by
-+ a linker script. */
-+ if (r_symndx == STN_UNDEF || (input_section->flags & SEC_ALLOC) == 0)
-+ {
-+ relocation += addend;
-+ if (r_type == R_MICROBLAZE_32)
-+ bfd_put_32 (input_bfd, relocation, contents + offset);
-+ else
-+ {
-+ if (r_type == R_MICROBLAZE_64_PCREL)
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, relocation & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ }
-+ break;
-+ }
-+
-+ if ((bfd_link_pic (info)
-+ && (h == NULL
-+ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
-+ && !resolved_to_zero)
-+ || h->root.type != bfd_link_hash_undefweak)
-+ && (!howto->pc_relative
-+ || (h != NULL
-+ && h->dynindx != -1
-+ && (!info->symbolic
-+ || !h->def_regular))))
-+ || (!bfd_link_pic (info)
-+ && h != NULL
-+ && h->dynindx != -1
-+ && !h->non_got_ref
-+ && ((h->def_dynamic
-+ && !h->def_regular)
-+ || h->root.type == bfd_link_hash_undefweak
-+ || h->root.type == bfd_link_hash_undefined)))
-+ {
-+ Elf_Internal_Rela outrel;
-+ bfd_byte *loc;
-+ bfd_boolean skip;
-+
-+ /* When generating a shared object, these relocations
-+ are copied into the output file to be resolved at run
-+ time. */
-+
-+ BFD_ASSERT (sreloc != NULL);
-+
-+ skip = FALSE;
-+
-+ outrel.r_offset =
-+ _bfd_elf_section_offset (output_bfd, info, input_section,
-+ rel->r_offset);
-+ if (outrel.r_offset == (bfd_vma) -1)
-+ skip = TRUE;
-+ else if (outrel.r_offset == (bfd_vma) -2)
-+ skip = TRUE;
-+ outrel.r_offset += (input_section->output_section->vma
-+ + input_section->output_offset);
-+
-+ if (skip)
-+ memset (&outrel, 0, sizeof outrel);
-+ /* h->dynindx may be -1 if the symbol was marked to
-+ become local. */
-+ else if (h != NULL
-+ && ((! info->symbolic && h->dynindx != -1)
-+ || !h->def_regular))
-+ {
-+ BFD_ASSERT (h->dynindx != -1);
-+ outrel.r_info = ELF64_R_INFO (h->dynindx, r_type);
-+ outrel.r_addend = addend;
-+ }
-+ else
-+ {
-+ if (r_type == R_MICROBLAZE_32)
-+ {
-+ outrel.r_info = ELF64_R_INFO (0, R_MICROBLAZE_REL);
-+ outrel.r_addend = relocation + addend;
-+ }
-+ else
-+ {
-+ BFD_FAIL ();
-+ (*_bfd_error_handler)
-+ (_("%B: probably compiled without -fPIC?"),
-+ input_bfd);
-+ bfd_set_error (bfd_error_bad_value);
-+ return FALSE;
-+ }
-+ }
-+
-+ loc = sreloc->contents;
-+ loc += sreloc->reloc_count++ * sizeof (Elf64_External_Rela);
-+ bfd_elf64_swap_reloca_out (output_bfd, &outrel, loc);
-+ break;
-+ }
-+ else
-+ {
-+ relocation += addend;
-+ if (r_type == R_MICROBLAZE_32)
-+ bfd_put_32 (input_bfd, relocation, contents + offset);
-+ else
-+ {
-+ if (r_type == R_MICROBLAZE_64_PCREL)
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, relocation & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ }
-+ break;
-+ }
-+ }
-+
-+ default :
-+ r = _bfd_final_link_relocate (howto, input_bfd, input_section,
-+ contents, offset,
-+ relocation, addend);
-+ break;
-+ }
-+ }
-+
-+ check_reloc:
-+
-+ if (r != bfd_reloc_ok)
-+ {
-+ /* FIXME: This should be generic enough to go in a utility. */
-+ const char *name;
-+
-+ if (h != NULL)
-+ name = h->root.root.string;
-+ else
-+ {
-+ name = (bfd_elf_string_from_elf_section
-+ (input_bfd, symtab_hdr->sh_link, sym->st_name));
-+ if (name == NULL || *name == '\0')
-+ name = bfd_section_name (sec);
-+ }
-+
-+ if (errmsg != NULL)
-+ goto common_error;
-+
-+ switch (r)
-+ {
-+ case bfd_reloc_overflow:
-+ (*info->callbacks->reloc_overflow)
-+ (info, (h ? &h->root : NULL), name, howto->name,
-+ (bfd_vma) 0, input_bfd, input_section, offset);
-+ break;
-+
-+ case bfd_reloc_undefined:
-+ (*info->callbacks->undefined_symbol)
-+ (info, name, input_bfd, input_section, offset, TRUE);
-+ break;
-+
-+ case bfd_reloc_outofrange:
-+ errmsg = _("internal error: out of range error");
-+ goto common_error;
-+
-+ case bfd_reloc_notsupported:
-+ errmsg = _("internal error: unsupported relocation error");
-+ goto common_error;
-+
-+ case bfd_reloc_dangerous:
-+ errmsg = _("internal error: dangerous error");
-+ goto common_error;
-+
-+ default:
-+ errmsg = _("internal error: unknown error");
-+ /* Fall through. */
-+ common_error:
-+ (*info->callbacks->warning) (info, errmsg, name, input_bfd,
-+ input_section, offset);
-+ break;
-+ }
-+ }
-+ }
-+
-+ return ret;
-+}
-+
-+/* Merge backend specific data from an object file to the output
-+ object file when linking.
-+
-+ Note: We only use this hook to catch endian mismatches. */
-+static bfd_boolean
-+microblaze_elf_merge_private_bfd_data (bfd * ibfd, bfd * obfd)
-+{
-+ /* Check if we have the same endianess. */
-+ if (! _bfd_generic_verify_endian_match (ibfd, obfd))
-+ return FALSE;
-+
-+ return TRUE;
-+}
-+
-+
-+/* Calculate fixup value for reference. */
-+
-+static int
-+calc_fixup (bfd_vma start, bfd_vma size, asection *sec)
-+{
-+ bfd_vma end = start + size;
-+ int i, fixup = 0;
-+
-+ if (sec == NULL || sec->relax == NULL)
-+ return 0;
-+
-+ /* Look for addr in relax table, total fixup value. */
-+ for (i = 0; i < sec->relax_count; i++)
-+ {
-+ if (end <= sec->relax[i].addr)
-+ break;
-+ if ((end != start) && (start > sec->relax[i].addr))
-+ continue;
-+ fixup += sec->relax[i].size;
-+ }
-+ return fixup;
-+}
-+
-+/* Read-modify-write into the bfd, an immediate value into appropriate fields of
-+ a 32-bit instruction. */
-+static void
-+microblaze_bfd_write_imm_value_32 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
-+{
-+ unsigned long instr = bfd_get_32 (abfd, bfd_addr);
-+ instr &= ~0x0000ffff;
-+ instr |= (val & 0x0000ffff);
-+ bfd_put_32 (abfd, instr, bfd_addr);
-+}
-+
-+/* Read-modify-write into the bfd, an immediate value into appropriate fields of
-+ two consecutive 32-bit instructions. */
-+static void
-+microblaze_bfd_write_imm_value_64 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
-+{
-+ unsigned long instr_hi;
-+ unsigned long instr_lo;
-+
-+ instr_hi = bfd_get_32 (abfd, bfd_addr);
-+ instr_hi &= ~0x0000ffff;
-+ instr_hi |= ((val >> 16) & 0x0000ffff);
-+ bfd_put_32 (abfd, instr_hi, bfd_addr);
-+
-+ instr_lo = bfd_get_32 (abfd, bfd_addr + INST_WORD_SIZE);
-+ instr_lo &= ~0x0000ffff;
-+ instr_lo |= (val & 0x0000ffff);
-+ bfd_put_32 (abfd, instr_lo, bfd_addr + INST_WORD_SIZE);
-+}
-+
-+static bfd_boolean
-+microblaze_elf_relax_section (bfd *abfd,
-+ asection *sec,
-+ struct bfd_link_info *link_info,
-+ bfd_boolean *again)
-+{
-+ Elf_Internal_Shdr *symtab_hdr;
-+ Elf_Internal_Rela *internal_relocs;
-+ Elf_Internal_Rela *free_relocs = NULL;
-+ Elf_Internal_Rela *irel, *irelend;
-+ bfd_byte *contents = NULL;
-+ bfd_byte *free_contents = NULL;
-+ int rel_count;
-+ unsigned int shndx;
-+ int i, sym_index;
-+ asection *o;
-+ struct elf_link_hash_entry *sym_hash;
-+ Elf_Internal_Sym *isymbuf, *isymend;
-+ Elf_Internal_Sym *isym;
-+ int symcount;
-+ int offset;
-+ bfd_vma src, dest;
-+
-+ /* We only do this once per section. We may be able to delete some code
-+ by running multiple passes, but it is not worth it. */
-+ *again = FALSE;
-+
-+ /* Only do this for a text section. */
-+ if (bfd_link_relocatable (link_info)
-+ || (sec->flags & SEC_RELOC) == 0
-+ || (sec->reloc_count == 0)
-+ || (sec->flags & SEC_CODE) == 0)
-+ return TRUE;
-+
-+ BFD_ASSERT ((sec->size > 0) || (sec->rawsize > 0));
-+
-+ /* If this is the first time we have been called for this section,
-+ initialize the cooked size. */
-+ if (sec->size == 0)
-+ sec->size = sec->rawsize;
-+
-+ /* Get symbols for this section. */
-+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
-+ isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents;
-+ symcount = symtab_hdr->sh_size / sizeof (Elf64_External_Sym);
-+ if (isymbuf == NULL)
-+ isymbuf = bfd_elf_get_elf_syms (abfd, symtab_hdr, symcount,
-+ 0, NULL, NULL, NULL);
-+ BFD_ASSERT (isymbuf != NULL);
-+
-+ internal_relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL, link_info->keep_memory);
-+ if (internal_relocs == NULL)
-+ goto error_return;
-+ if (! link_info->keep_memory)
-+ free_relocs = internal_relocs;
-+
-+ sec->relax = (struct relax_table *) bfd_malloc ((sec->reloc_count + 1)
-+ * sizeof (struct relax_table));
-+ if (sec->relax == NULL)
-+ goto error_return;
-+ sec->relax_count = 0;
-+
-+ irelend = internal_relocs + sec->reloc_count;
-+ rel_count = 0;
-+ for (irel = internal_relocs; irel < irelend; irel++, rel_count++)
-+ {
-+ bfd_vma symval;
-+ if ((ELF64_R_TYPE (irel->r_info) != (int) R_MICROBLAZE_64_PCREL)
-+ && (ELF64_R_TYPE (irel->r_info) != (int) R_MICROBLAZE_64 ))
-+ continue; /* Can't delete this reloc. */
-+
-+ /* Get the section contents. */
-+ if (contents == NULL)
-+ {
-+ if (elf_section_data (sec)->this_hdr.contents != NULL)
-+ contents = elf_section_data (sec)->this_hdr.contents;
-+ else
-+ {
-+ contents = (bfd_byte *) bfd_malloc (sec->size);
-+ if (contents == NULL)
-+ goto error_return;
-+ free_contents = contents;
-+
-+ if (!bfd_get_section_contents (abfd, sec, contents,
-+ (file_ptr) 0, sec->size))
-+ goto error_return;
-+ elf_section_data (sec)->this_hdr.contents = contents;
-+ }
-+ }
-+
-+ /* Get the value of the symbol referred to by the reloc. */
-+ if (ELF64_R_SYM (irel->r_info) < symtab_hdr->sh_info)
-+ {
-+ /* A local symbol. */
-+ asection *sym_sec;
-+
-+ isym = isymbuf + ELF64_R_SYM (irel->r_info);
-+ if (isym->st_shndx == SHN_UNDEF)
-+ sym_sec = bfd_und_section_ptr;
-+ else if (isym->st_shndx == SHN_ABS)
-+ sym_sec = bfd_abs_section_ptr;
-+ else if (isym->st_shndx == SHN_COMMON)
-+ sym_sec = bfd_com_section_ptr;
-+ else
-+ sym_sec = bfd_section_from_elf_index (abfd, isym->st_shndx);
-+
-+ symval = _bfd_elf_rela_local_sym (abfd, isym, &sym_sec, irel);
-+ }
-+ else
-+ {
-+ unsigned long indx;
-+ struct elf_link_hash_entry *h;
-+
-+ indx = ELF64_R_SYM (irel->r_info) - symtab_hdr->sh_info;
-+ h = elf_sym_hashes (abfd)[indx];
-+ BFD_ASSERT (h != NULL);
-+
-+ if (h->root.type != bfd_link_hash_defined
-+ && h->root.type != bfd_link_hash_defweak)
-+ /* This appears to be a reference to an undefined
-+ symbol. Just ignore it--it will be caught by the
-+ regular reloc processing. */
-+ continue;
-+
-+ symval = (h->root.u.def.value
-+ + h->root.u.def.section->output_section->vma
-+ + h->root.u.def.section->output_offset);
-+ }
-+
-+ /* If this is a PC-relative reloc, subtract the instr offset from
-+ the symbol value. */
-+ if (ELF64_R_TYPE (irel->r_info) == (int) R_MICROBLAZE_64_PCREL)
-+ {
-+ symval = symval + irel->r_addend
-+ - (irel->r_offset
-+ + sec->output_section->vma
-+ + sec->output_offset);
-+ }
-+ else
-+ symval += irel->r_addend;
-+
-+ if ((symval & 0xffff8000) == 0)
-+ {
-+ /* We can delete this instruction. */
-+ sec->relax[sec->relax_count].addr = irel->r_offset;
-+ sec->relax[sec->relax_count].size = INST_WORD_SIZE;
-+ sec->relax_count++;
-+
-+ /* Rewrite relocation type. */
-+ switch ((enum elf_microblaze_reloc_type) ELF64_R_TYPE (irel->r_info))
-+ {
-+ case R_MICROBLAZE_64_PCREL:
-+ irel->r_info = ELF64_R_INFO (ELF64_R_SYM (irel->r_info),
-+ (int) R_MICROBLAZE_32_PCREL_LO);
-+ break;
-+ case R_MICROBLAZE_64:
-+ irel->r_info = ELF64_R_INFO (ELF64_R_SYM (irel->r_info),
-+ (int) R_MICROBLAZE_32_LO);
-+ break;
-+ default:
-+ /* Cannot happen. */
-+ BFD_ASSERT (FALSE);
-+ }
-+ }
-+ } /* Loop through all relocations. */
-+
-+ /* Loop through the relocs again, and see if anything needs to change. */
-+ if (sec->relax_count > 0)
-+ {
-+ shndx = _bfd_elf_section_from_bfd_section (abfd, sec);
-+ rel_count = 0;
-+ sec->relax[sec->relax_count].addr = sec->size;
-+
-+ for (irel = internal_relocs; irel < irelend; irel++, rel_count++)
-+ {
-+ bfd_vma nraddr;
-+
-+ /* Get the new reloc address. */
-+ nraddr = irel->r_offset - calc_fixup (irel->r_offset, 0, sec);
-+ switch ((enum elf_microblaze_reloc_type) ELF64_R_TYPE (irel->r_info))
-+ {
-+ default:
-+ break;
-+ case R_MICROBLAZE_64_PCREL:
-+ break;
-+ case R_MICROBLAZE_64:
-+ case R_MICROBLAZE_32_LO:
-+ /* If this reloc is against a symbol defined in this
-+ section, we must check the addend to see it will put the value in
-+ range to be adjusted, and hence must be changed. */
-+ if (ELF64_R_SYM (irel->r_info) < symtab_hdr->sh_info)
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irel->r_info);
-+ /* Only handle relocs against .text. */
-+ if (isym->st_shndx == shndx
-+ && ELF64_ST_TYPE (isym->st_info) == STT_SECTION)
-+ irel->r_addend -= calc_fixup (irel->r_addend, 0, sec);
-+ }
-+ break;
-+ case R_MICROBLAZE_NONE:
-+ case R_MICROBLAZE_32_NONE:
-+ {
-+ /* This was a PC-relative instruction that was
-+ completely resolved. */
-+ int sfix, efix;
-+ unsigned int val;
-+ bfd_vma target_address;
-+ target_address = irel->r_addend + irel->r_offset;
-+ sfix = calc_fixup (irel->r_offset, 0, sec);
-+ efix = calc_fixup (target_address, 0, sec);
-+
-+ /* Validate the in-band val. */
-+ val = bfd_get_32 (abfd, contents + irel->r_offset);
-+ if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
-+ }
-+ irel->r_addend -= (efix - sfix);
-+ /* Should use HOWTO. */
-+ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
-+ }
-+ break;
-+ case R_MICROBLAZE_64_NONE:
-+ {
-+ /* This was a PC-relative 64-bit instruction that was
-+ completely resolved. */
-+ int sfix, efix;
-+ bfd_vma target_address;
-+ target_address = irel->r_addend + irel->r_offset + INST_WORD_SIZE;
-+ sfix = calc_fixup (irel->r_offset + INST_WORD_SIZE, 0, sec);
-+ efix = calc_fixup (target_address, 0, sec);
-+ irel->r_addend -= (efix - sfix);
-+ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset
-+ + INST_WORD_SIZE, irel->r_addend);
-+ }
-+ break;
-+ }
-+ irel->r_offset = nraddr;
-+ } /* Change all relocs in this section. */
-+
-+ /* Look through all other sections. */
-+ for (o = abfd->sections; o != NULL; o = o->next)
-+ {
-+ Elf_Internal_Rela *irelocs;
-+ Elf_Internal_Rela *irelscan, *irelscanend;
-+ bfd_byte *ocontents;
-+
-+ if (o == sec
-+ || (o->flags & SEC_RELOC) == 0
-+ || o->reloc_count == 0)
-+ continue;
-+
-+ /* We always cache the relocs. Perhaps, if info->keep_memory is
-+ FALSE, we should free them, if we are permitted to. */
-+
-+ irelocs = _bfd_elf_link_read_relocs (abfd, o, NULL, NULL, TRUE);
-+ if (irelocs == NULL)
-+ goto error_return;
-+
-+ ocontents = NULL;
-+ irelscanend = irelocs + o->reloc_count;
-+ for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
-+ {
-+ if (1 && ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_NONE)
-+ {
-+ unsigned int val;
-+
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* hax: We only do the following fixup for debug location lists. */
-+ if (strcmp(".debug_loc", o->name))
-+ continue;
-+
-+ /* This was a PC-relative instruction that was completely resolved. */
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-+
-+ val = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
-+ if (val != irelscan->r_addend) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc! %x %lx\n", __LINE__, val, irelscan->r_addend);
-+ }
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
-+ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
-+ irelscan->r_addend);
-+ }
-+ if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (isym->st_shndx == shndx
-+ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
-+ {
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+
-+ }
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
-+ }
-+ else if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_SYM_OP_SYM)
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend
-+ + isym->st_value,
-+ 0,
-+ sec);
-+ }
-+ }
-+ else if ((ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_PCREL_LO)
-+ || (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_LO))
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (isym->st_shndx == shndx
-+ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
-+ {
-+ bfd_vma immediate;
-+ bfd_vma target_address;
-+
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-+
-+ unsigned long instr = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
-+ immediate = instr & 0x0000ffff;
-+ target_address = immediate;
-+ offset = calc_fixup (target_address, 0, sec);
-+ immediate -= offset;
-+ irelscan->r_addend -= offset;
-+ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
-+ irelscan->r_addend);
-+ }
-+ }
-+
-+ if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64)
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (isym->st_shndx == shndx
-+ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
-+ {
-+ bfd_vma immediate;
-+
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-+ unsigned long instr_hi = bfd_get_32 (abfd, ocontents
-+ + irelscan->r_offset);
-+ unsigned long instr_lo = bfd_get_32 (abfd, ocontents
-+ + irelscan->r_offset
-+ + INST_WORD_SIZE);
-+ immediate = (instr_hi & 0x0000ffff) << 16;
-+ immediate |= (instr_lo & 0x0000ffff);
-+ offset = calc_fixup (irelscan->r_addend, 0, sec);
-+ immediate -= offset;
-+ irelscan->r_addend -= offset;
-+ }
-+ }
-+ else if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64_PCREL)
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (isym->st_shndx == shndx
-+ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
-+ {
-+ bfd_vma immediate;
-+ bfd_vma target_address;
-+
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-+ unsigned long instr_hi = bfd_get_32 (abfd, ocontents
-+ + irelscan->r_offset);
-+ unsigned long instr_lo = bfd_get_32 (abfd, ocontents
-+ + irelscan->r_offset
-+ + INST_WORD_SIZE);
-+ immediate = (instr_hi & 0x0000ffff) << 16;
-+ immediate |= (instr_lo & 0x0000ffff);
-+ target_address = immediate;
-+ offset = calc_fixup (target_address, 0, sec);
-+ immediate -= offset;
-+ irelscan->r_addend -= offset;
-+ microblaze_bfd_write_imm_value_64 (abfd, ocontents
-+ + irelscan->r_offset, immediate);
-+ }
-+ }
-+ }
-+ }
-+
-+ /* Adjust the local symbols defined in this section. */
-+ isymend = isymbuf + symtab_hdr->sh_info;
-+ for (isym = isymbuf; isym < isymend; isym++)
-+ {
-+ if (isym->st_shndx == shndx)
-+ {
-+ isym->st_value -= calc_fixup (isym->st_value, 0, sec);
-+ if (isym->st_size)
-+ isym->st_size -= calc_fixup (isym->st_value, isym->st_size, sec);
-+ }
-+ }
-+
-+ /* Now adjust the global symbols defined in this section. */
-+ isym = isymbuf + symtab_hdr->sh_info;
-+ symcount = (symtab_hdr->sh_size / sizeof (Elf64_External_Sym)) - symtab_hdr->sh_info;
-+ for (sym_index = 0; sym_index < symcount; sym_index++)
-+ {
-+ sym_hash = elf_sym_hashes (abfd)[sym_index];
-+ if ((sym_hash->root.type == bfd_link_hash_defined
-+ || sym_hash->root.type == bfd_link_hash_defweak)
-+ && sym_hash->root.u.def.section == sec)
-+ {
-+ sym_hash->root.u.def.value -= calc_fixup (sym_hash->root.u.def.value,
-+ 0, sec);
-+ if (sym_hash->size)
-+ sym_hash->size -= calc_fixup (sym_hash->root.u.def.value,
-+ sym_hash->size, sec);
-+ }
-+ }
-+
-+ /* Physically move the code and change the cooked size. */
-+ dest = sec->relax[0].addr;
-+ for (i = 0; i < sec->relax_count; i++)
-+ {
-+ int len;
-+ src = sec->relax[i].addr + sec->relax[i].size;
-+ len = sec->relax[i+1].addr - sec->relax[i].addr - sec->relax[i].size;
-+
-+ memmove (contents + dest, contents + src, len);
-+ sec->size -= sec->relax[i].size;
-+ dest += len;
-+ }
-+
-+ elf_section_data (sec)->relocs = internal_relocs;
-+ free_relocs = NULL;
-+
-+ elf_section_data (sec)->this_hdr.contents = contents;
-+ free_contents = NULL;
-+
-+ symtab_hdr->contents = (bfd_byte *) isymbuf;
-+ }
-+
-+ if (free_relocs != NULL)
-+ {
-+ free (free_relocs);
-+ free_relocs = NULL;
-+ }
-+
-+ if (free_contents != NULL)
-+ {
-+ if (!link_info->keep_memory)
-+ free (free_contents);
-+ else
-+ /* Cache the section contents for elf_link_input_bfd. */
-+ elf_section_data (sec)->this_hdr.contents = contents;
-+ free_contents = NULL;
-+ }
-+
-+ if (sec->relax_count == 0)
-+ {
-+ *again = FALSE;
-+ free (sec->relax);
-+ sec->relax = NULL;
-+ }
-+ else
-+ *again = TRUE;
-+ return TRUE;
-+
-+ error_return:
-+ if (free_relocs != NULL)
-+ free (free_relocs);
-+ if (free_contents != NULL)
-+ free (free_contents);
-+ if (sec->relax != NULL)
-+ {
-+ free (sec->relax);
-+ sec->relax = NULL;
-+ sec->relax_count = 0;
-+ }
-+ return FALSE;
-+}
-+
-+/* Return the section that should be marked against GC for a given
-+ relocation. */
-+
-+static asection *
-+microblaze_elf_gc_mark_hook (asection *sec,
-+ struct bfd_link_info * info,
-+ Elf_Internal_Rela * rel,
-+ struct elf_link_hash_entry * h,
-+ Elf_Internal_Sym * sym)
-+{
-+ if (h != NULL)
-+ switch (ELF64_R_TYPE (rel->r_info))
-+ {
-+ case R_MICROBLAZE_GNU_VTINHERIT:
-+ case R_MICROBLAZE_GNU_VTENTRY:
-+ return NULL;
-+ }
-+
-+ return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
-+}
-+
-+/* Update the got entry reference counts for the section being removed. */
-+
-+static bfd_boolean
-+microblaze_elf_gc_sweep_hook (bfd * abfd ATTRIBUTE_UNUSED,
-+ struct bfd_link_info * info ATTRIBUTE_UNUSED,
-+ asection * sec ATTRIBUTE_UNUSED,
-+ const Elf_Internal_Rela * relocs ATTRIBUTE_UNUSED)
-+{
-+ return TRUE;
-+}
-+
-+/* PIC support. */
-+
-+#define PLT_ENTRY_SIZE 16
-+
-+#define PLT_ENTRY_WORD_0 0xb0000000 /* "imm 0". */
-+#define PLT_ENTRY_WORD_1 0xe9940000 /* "lwi r12,r20,0" - relocated to lwi r12,r20,func@GOT. */
-+#define PLT_ENTRY_WORD_1_NOPIC 0xe9800000 /* "lwi r12,r0,0" - non-PIC object. */
-+#define PLT_ENTRY_WORD_2 0x98186000 /* "brad r12". */
-+#define PLT_ENTRY_WORD_3 0x80000000 /* "nop". */
-+
-+/* Create .got, .gotplt, and .rela.got sections in DYNOBJ, and set up
-+ shortcuts to them in our hash table. */
-+
-+static bfd_boolean
-+create_got_section (bfd *dynobj, struct bfd_link_info *info)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+
-+ if (! _bfd_elf_create_got_section (dynobj, info))
-+ return FALSE;
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ htab->sgot = bfd_get_linker_section (dynobj, ".got");
-+ htab->sgotplt = bfd_get_linker_section (dynobj, ".got.plt");
-+ if (!htab->sgot || !htab->sgotplt)
-+ return FALSE;
-+
-+ if ((htab->srelgot = bfd_get_linker_section (dynobj, ".rela.got")) == NULL)
-+ htab->srelgot = bfd_make_section_anyway (dynobj, ".rela.got");
-+ if (htab->srelgot == NULL
-+ || ! bfd_set_section_flags (htab->srelgot, SEC_ALLOC
-+ | SEC_LOAD
-+ | SEC_HAS_CONTENTS
-+ | SEC_IN_MEMORY
-+ | SEC_LINKER_CREATED
-+ | SEC_READONLY)
-+ || ! bfd_set_section_alignment (htab->srelgot, 2))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+static bfd_boolean
-+update_local_sym_info (bfd *abfd,
-+ Elf_Internal_Shdr *symtab_hdr,
-+ unsigned long r_symndx,
-+ unsigned int tls_type)
-+{
-+ bfd_signed_vma *local_got_refcounts = elf_local_got_refcounts (abfd);
-+ unsigned char *local_got_tls_masks;
-+
-+ if (local_got_refcounts == NULL)
-+ {
-+ bfd_size_type size = symtab_hdr->sh_info;
-+
-+ size *= (sizeof (*local_got_refcounts) + sizeof (*local_got_tls_masks));
-+ local_got_refcounts = bfd_zalloc (abfd, size);
-+ if (local_got_refcounts == NULL)
-+ return FALSE;
-+ elf_local_got_refcounts (abfd) = local_got_refcounts;
-+ }
-+
-+ local_got_tls_masks =
-+ (unsigned char *) (local_got_refcounts + symtab_hdr->sh_info);
-+ local_got_tls_masks[r_symndx] |= tls_type;
-+ local_got_refcounts[r_symndx] += 1;
-+
-+ return TRUE;
-+}
-+/* Look through the relocs for a section during the first phase. */
-+
-+static bfd_boolean
-+microblaze_elf_check_relocs (bfd * abfd,
-+ struct bfd_link_info * info,
-+ asection * sec,
-+ const Elf_Internal_Rela * relocs)
-+{
-+ Elf_Internal_Shdr * symtab_hdr;
-+ struct elf_link_hash_entry ** sym_hashes;
-+ struct elf_link_hash_entry ** sym_hashes_end;
-+ const Elf_Internal_Rela * rel;
-+ const Elf_Internal_Rela * rel_end;
-+ struct elf64_mb_link_hash_table *htab;
-+ asection *sreloc = NULL;
-+
-+ if (bfd_link_relocatable (info))
-+ return TRUE;
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ symtab_hdr = & elf_tdata (abfd)->symtab_hdr;
-+ sym_hashes = elf_sym_hashes (abfd);
-+ sym_hashes_end = sym_hashes + symtab_hdr->sh_size / sizeof (Elf64_External_Sym);
-+ if (!elf_bad_symtab (abfd))
-+ sym_hashes_end -= symtab_hdr->sh_info;
-+
-+ rel_end = relocs + sec->reloc_count;
-+
-+ for (rel = relocs; rel < rel_end; rel++)
-+ {
-+ unsigned int r_type;
-+ struct elf_link_hash_entry * h;
-+ unsigned long r_symndx;
-+ unsigned char tls_type = 0;
-+
-+ r_symndx = ELF64_R_SYM (rel->r_info);
-+ r_type = ELF64_R_TYPE (rel->r_info);
-+
-+ if (r_symndx < symtab_hdr->sh_info)
-+ h = NULL;
-+ else
-+ {
-+ h = sym_hashes [r_symndx - symtab_hdr->sh_info];
-+ while (h->root.type == bfd_link_hash_indirect
-+ || h->root.type == bfd_link_hash_warning)
-+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
-+ }
-+
-+ switch (r_type)
-+ {
-+ /* This relocation describes the C++ object vtable hierarchy.
-+ Reconstruct it for later use during GC. */
-+ case R_MICROBLAZE_GNU_VTINHERIT:
-+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
-+ return FALSE;
-+ break;
-+
-+ /* This relocation describes which C++ vtable entries are actually
-+ used. Record for later use during GC. */
-+ case R_MICROBLAZE_GNU_VTENTRY:
-+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
-+ return FALSE;
-+ break;
-+
-+ /* This relocation requires .plt entry. */
-+ case R_MICROBLAZE_PLT_64:
-+ if (h != NULL)
-+ {
-+ h->needs_plt = 1;
-+ h->plt.refcount += 1;
-+ }
-+ break;
-+
-+ /* This relocation requires .got entry. */
-+ case R_MICROBLAZE_TLSGD:
-+ tls_type |= (TLS_TLS | TLS_GD);
-+ goto dogottls;
-+ case R_MICROBLAZE_TLSLD:
-+ tls_type |= (TLS_TLS | TLS_LD);
-+ dogottls:
-+ sec->has_tls_reloc = 1;
-+ case R_MICROBLAZE_GOT_64:
-+ if (htab->sgot == NULL)
-+ {
-+ if (htab->elf.dynobj == NULL)
-+ htab->elf.dynobj = abfd;
-+ if (!create_got_section (htab->elf.dynobj, info))
-+ return FALSE;
-+ }
-+ if (h != NULL)
-+ {
-+ h->got.refcount += 1;
-+ elf64_mb_hash_entry (h)->tls_mask |= tls_type;
-+ }
-+ else
-+ {
-+ if (! update_local_sym_info(abfd, symtab_hdr, r_symndx, tls_type) )
-+ return FALSE;
-+ }
-+ break;
-+
-+ case R_MICROBLAZE_64:
-+ case R_MICROBLAZE_64_PCREL:
-+ case R_MICROBLAZE_32:
-+ {
-+ if (h != NULL && !bfd_link_pic (info))
-+ {
-+ /* we may need a copy reloc. */
-+ h->non_got_ref = 1;
-+
-+ /* we may also need a .plt entry. */
-+ h->plt.refcount += 1;
-+ if (ELF64_R_TYPE (rel->r_info) != R_MICROBLAZE_64_PCREL)
-+ h->pointer_equality_needed = 1;
-+ }
-+
-+
-+ /* If we are creating a shared library, and this is a reloc
-+ against a global symbol, or a non PC relative reloc
-+ against a local symbol, then we need to copy the reloc
-+ into the shared library. However, if we are linking with
-+ -Bsymbolic, we do not need to copy a reloc against a
-+ global symbol which is defined in an object we are
-+ including in the link (i.e., DEF_REGULAR is set). At
-+ this point we have not seen all the input files, so it is
-+ possible that DEF_REGULAR is not set now but will be set
-+ later (it is never cleared). In case of a weak definition,
-+ DEF_REGULAR may be cleared later by a strong definition in
-+ a shared library. We account for that possibility below by
-+ storing information in the relocs_copied field of the hash
-+ table entry. A similar situation occurs when creating
-+ shared libraries and symbol visibility changes render the
-+ symbol local.
-+
-+ If on the other hand, we are creating an executable, we
-+ may need to keep relocations for symbols satisfied by a
-+ dynamic library if we manage to avoid copy relocs for the
-+ symbol. */
-+
-+ if ((bfd_link_pic (info)
-+ && (sec->flags & SEC_ALLOC) != 0
-+ && (r_type != R_MICROBLAZE_64_PCREL
-+ || (h != NULL
-+ && (! info->symbolic
-+ || h->root.type == bfd_link_hash_defweak
-+ || !h->def_regular))))
-+ || (!bfd_link_pic (info)
-+ && (sec->flags & SEC_ALLOC) != 0
-+ && h != NULL
-+ && (h->root.type == bfd_link_hash_defweak
-+ || !h->def_regular)))
-+ {
-+ struct elf64_mb_dyn_relocs *p;
-+ struct elf64_mb_dyn_relocs **head;
-+
-+ /* When creating a shared object, we must copy these
-+ relocs into the output file. We create a reloc
-+ section in dynobj and make room for the reloc. */
-+
-+ if (sreloc == NULL)
-+ {
-+ bfd *dynobj;
-+
-+ if (htab->elf.dynobj == NULL)
-+ htab->elf.dynobj = abfd;
-+ dynobj = htab->elf.dynobj;
-+
-+ sreloc = _bfd_elf_make_dynamic_reloc_section (sec, dynobj,
-+ 2, abfd, 1);
-+ if (sreloc == NULL)
-+ return FALSE;
-+ }
-+
-+ /* If this is a global symbol, we count the number of
-+ relocations we need for this symbol. */
-+ if (h != NULL)
-+ head = &h->dyn_relocs;
-+ else
-+ {
-+ /* Track dynamic relocs needed for local syms too.
-+ We really need local syms available to do this
-+ easily. Oh well. */
-+
-+ asection *s;
-+ Elf_Internal_Sym *isym;
-+ void *vpp;
-+
-+ isym = bfd_sym_from_r_symndx (&htab->sym_sec,
-+ abfd, r_symndx);
-+ if (isym == NULL)
-+ return FALSE;
-+
-+ s = bfd_section_from_elf_index (abfd, isym->st_shndx);
-+ if (s == NULL)
-+ return FALSE;
-+
-+ vpp = &elf_section_data (s)->local_dynrel;
-+ head = (struct elf64_mb_dyn_relocs **) vpp;
-+ }
-+
-+ p = *head;
-+ if (p == NULL || p->sec != sec)
-+ {
-+ size_t amt = sizeof *p;
-+ p = ((struct elf64_mb_dyn_relocs *)
-+ bfd_alloc (htab->elf.dynobj, amt));
-+ if (p == NULL)
-+ return FALSE;
-+ p->next = *head;
-+ *head = p;
-+ p->sec = sec;
-+ p->count = 0;
-+ p->pc_count = 0;
-+ }
-+
-+ p->count += 1;
-+ if (r_type == R_MICROBLAZE_64_PCREL)
-+ p->pc_count += 1;
-+ }
-+ }
-+ break;
-+ }
-+ }
-+
-+ return TRUE;
-+}
-+
-+static bfd_boolean
-+microblaze_elf_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ if (!htab->sgot && !create_got_section (dynobj, info))
-+ return FALSE;
-+
-+ if (!_bfd_elf_create_dynamic_sections (dynobj, info))
-+ return FALSE;
-+
-+ htab->splt = bfd_get_linker_section (dynobj, ".plt");
-+ htab->srelplt = bfd_get_linker_section (dynobj, ".rela.plt");
-+ htab->sdynbss = bfd_get_linker_section (dynobj, ".dynbss");
-+ if (!bfd_link_pic (info))
-+ htab->srelbss = bfd_get_linker_section (dynobj, ".rela.bss");
-+
-+ if (!htab->splt || !htab->srelplt || !htab->sdynbss
-+ || (!bfd_link_pic (info) && !htab->srelbss))
-+ abort ();
-+
-+ return TRUE;
-+}
-+
-+/* Copy the extra info we tack onto an elf_link_hash_entry. */
-+
-+static void
-+microblaze_elf_copy_indirect_symbol (struct bfd_link_info *info,
-+ struct elf_link_hash_entry *dir,
-+ struct elf_link_hash_entry *ind)
-+{
-+ struct elf64_mb_link_hash_entry *edir, *eind;
-+
-+ edir = (struct elf64_mb_link_hash_entry *) dir;
-+ eind = (struct elf64_mb_link_hash_entry *) ind;
-+
-+ if (eind->dyn_relocs != NULL)
-+ {
-+ if (edir->dyn_relocs != NULL)
-+ {
-+ struct elf64_mb_dyn_relocs **pp;
-+ struct elf64_mb_dyn_relocs *p;
-+
-+ if (ind->root.type == bfd_link_hash_indirect)
-+ abort ();
-+
-+ /* Add reloc counts against the weak sym to the strong sym
-+ list. Merge any entries against the same section. */
-+ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; )
-+ {
-+ struct elf64_mb_dyn_relocs *q;
-+
-+ for (q = edir->dyn_relocs; q != NULL; q = q->next)
-+ if (q->sec == p->sec)
-+ {
-+ q->pc_count += p->pc_count;
-+ q->count += p->count;
-+ *pp = p->next;
-+ break;
-+ }
-+ if (q == NULL)
-+ pp = &p->next;
-+ }
-+ *pp = edir->dyn_relocs;
-+ }
-+
-+ edir->dyn_relocs = eind->dyn_relocs;
-+ eind->dyn_relocs = NULL;
-+ }
-+
-+ edir->tls_mask |= eind->tls_mask;
-+
-+ _bfd_elf_link_hash_copy_indirect (info, dir, ind);
-+}
-+
-+static bfd_boolean
-+microblaze_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
-+ struct elf_link_hash_entry *h)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+ struct elf64_mb_link_hash_entry * eh;
-+ struct elf64_mb_dyn_relocs *p;
-+ asection *sdynbss;
-+ asection *s, *srel;
-+ unsigned int power_of_two;
-+ bfd *dynobj;
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ /* If this is a function, put it in the procedure linkage table. We
-+ will fill in the contents of the procedure linkage table later,
-+ when we know the address of the .got section. */
-+ if (h->type == STT_FUNC
-+ || h->needs_plt)
-+ {
-+ if (h->plt.refcount <= 0
-+ || SYMBOL_CALLS_LOCAL (info, h)
-+ || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
-+ && h->root.type == bfd_link_hash_undefweak))
-+ {
-+ /* This case can occur if we saw a PLT reloc in an input
-+ file, but the symbol was never referred to by a dynamic
-+ object, or if all references were garbage collected. In
-+ such a case, we don't actually need to build a procedure
-+ linkage table, and we can just do a PC32 reloc instead. */
-+ h->plt.offset = (bfd_vma) -1;
-+ h->needs_plt = 0;
-+ }
-+
-+ return TRUE;
-+ }
-+ else
-+ /* It's possible that we incorrectly decided a .plt reloc was
-+ needed for an R_MICROBLAZE_64_PCREL reloc to a non-function sym in
-+ check_relocs. We can't decide accurately between function and
-+ non-function syms in check-relocs; Objects loaded later in
-+ the link may change h->type. So fix it now. */
-+ h->plt.offset = (bfd_vma) -1;
-+
-+ /* If this is a weak symbol, and there is a real definition, the
-+ processor independent code will have arranged for us to see the
-+ real definition first, and we can just use the same value. */
-+ if (h->is_weakalias)
-+ {
-+ struct elf_link_hash_entry *def = weakdef (h);
-+ BFD_ASSERT (def->root.type == bfd_link_hash_defined);
-+ h->root.u.def.section = def->root.u.def.section;
-+ h->root.u.def.value = def->root.u.def.value;
-+ return TRUE;
-+ }
-+
-+ /* This is a reference to a symbol defined by a dynamic object which
-+ is not a function. */
-+
-+ /* If we are creating a shared library, we must presume that the
-+ only references to the symbol are via the global offset table.
-+ For such cases we need not do anything here; the relocations will
-+ be handled correctly by relocate_section. */
-+ if (bfd_link_pic (info))
-+ return TRUE;
-+
-+ /* If there are no references to this symbol that do not use the
-+ GOT, we don't need to generate a copy reloc. */
-+ if (!h->non_got_ref)
-+ return TRUE;
-+
-+ /* If -z nocopyreloc was given, we won't generate them either. */
-+ if (info->nocopyreloc)
-+ {
-+ h->non_got_ref = 0;
-+ return TRUE;
-+ }
-+
-+ eh = (struct elf64_mb_link_hash_entry *) h;
-+ for (p = eh->dyn_relocs; p != NULL; p = p->next)
-+ {
-+ s = p->sec->output_section;
-+ if (s != NULL && (s->flags & SEC_READONLY) != 0)
-+ break;
-+ }
-+
-+ /* If we didn't find any dynamic relocs in read-only sections, then
-+ we'll be keeping the dynamic relocs and avoiding the copy reloc. */
-+ if (!_bfd_elf_readonly_dynrelocs (h))
-+ {
-+ h->non_got_ref = 0;
-+ return TRUE;
-+ }
-+
-+ /* We must allocate the symbol in our .dynbss section, which will
-+ become part of the .bss section of the executable. There will be
-+ an entry for this symbol in the .dynsym section. The dynamic
-+ object will contain position independent code, so all references
-+ from the dynamic object to this symbol will go through the global
-+ offset table. The dynamic linker will use the .dynsym entry to
-+ determine the address it must put in the global offset table, so
-+ both the dynamic object and the regular object will refer to the
-+ same memory location for the variable. */
-+
-+ /* We must generate a R_MICROBLAZE_COPY reloc to tell the dynamic linker
-+ to copy the initial value out of the dynamic object and into the
-+ runtime process image. */
-+ if ((h->root.u.def.section->flags & SEC_READONLY) != 0)
-+ {
-+ s = htab->elf.sdynrelro;
-+ srel = htab->elf.sreldynrelro;
-+ }
-+ else
-+ {
-+ s = htab->elf.sdynbss;
-+ srel = htab->elf.srelbss;
-+ }
-+ if ((h->root.u.def.section->flags & SEC_ALLOC) != 0)
-+ {
-+ srel->size += sizeof (Elf64_External_Rela);
-+ h->needs_copy = 1;
-+ }
-+
-+ /* We need to figure out the alignment required for this symbol. I
-+ have no idea how ELF linkers handle this. */
-+ power_of_two = bfd_log2 (h->size);
-+ if (power_of_two > 3)
-+ power_of_two = 3;
-+
-+ /* Apply the required alignment. */
-+ s->size = BFD_ALIGN (s->size, (bfd_size_type) (1 << power_of_two));
-+ if (power_of_two > s->alignment_power)
-+ {
-+ if (!bfd_set_section_alignment (s, power_of_two))
-+ return FALSE;
-+ }
-+
-+ /* Define the symbol as being at this point in the section. */
-+ h->root.u.def.section = s;
-+ h->root.u.def.value = s->size;
-+
-+ /* Increment the section size to make room for the symbol. */
-+ s->size += h->size;
-+ return TRUE;
-+}
-+
-+/* Allocate space in .plt, .got and associated reloc sections for
-+ dynamic relocs. */
-+
-+static bfd_boolean
-+allocate_dynrelocs (struct elf_link_hash_entry *h, void * dat)
-+{
-+ struct bfd_link_info *info;
-+ struct elf64_mb_link_hash_table *htab;
-+ struct elf64_mb_link_hash_entry *eh;
-+ struct elf64_mb_dyn_relocs *p;
-+
-+ if (h->root.type == bfd_link_hash_indirect)
-+ return TRUE;
-+
-+ info = (struct bfd_link_info *) dat;
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ if (htab->elf.dynamic_sections_created
-+ && h->plt.refcount > 0)
-+ {
-+ /* Make sure this symbol is output as a dynamic symbol.
-+ Undefined weak syms won't yet be marked as dynamic. */
-+ if (h->dynindx == -1
-+ && !h->forced_local)
-+ {
-+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
-+ return FALSE;
-+ }
-+
-+ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, bfd_link_pic (info), h))
-+ {
-+ asection *s = htab->splt;
-+
-+ /* The first entry in .plt is reserved. */
-+ if (s->size == 0)
-+ s->size = PLT_ENTRY_SIZE;
-+
-+ h->plt.offset = s->size;
-+
-+ /* If this symbol is not defined in a regular file, and we are
-+ not generating a shared library, then set the symbol to this
-+ location in the .plt. This is required to make function
-+ pointers compare as equal between the normal executable and
-+ the shared library. */
-+ if (! bfd_link_pic (info)
-+ && !h->def_regular)
-+ {
-+ h->root.u.def.section = s;
-+ h->root.u.def.value = h->plt.offset;
-+ }
-+
-+ /* Make room for this entry. */
-+ s->size += PLT_ENTRY_SIZE;
-+
-+ /* We also need to make an entry in the .got.plt section, which
-+ will be placed in the .got section by the linker script. */
-+ htab->elf.sgotplt->size += 4;
-+
-+ /* We also need to make an entry in the .rel.plt section. */
-+ htab->elf.srelplt->size += sizeof (Elf32_External_Rela);
-+ }
-+ else
-+ {
-+ h->plt.offset = (bfd_vma) -1;
-+ h->needs_plt = 0;
-+ }
-+ }
-+ else
-+ {
-+ h->plt.offset = (bfd_vma) -1;
-+ h->needs_plt = 0;
-+ }
-+
-+ eh = (struct elf64_mb_link_hash_entry *) h;
-+ if (h->got.refcount > 0)
-+ {
-+ unsigned int need;
-+ asection *s;
-+
-+ /* Make sure this symbol is output as a dynamic symbol.
-+ Undefined weak syms won't yet be marked as dynamic. */
-+ if (h->dynindx == -1
-+ && !h->forced_local)
-+ {
-+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
-+ return FALSE;
-+ }
-+
-+ need = 0;
-+ if ((eh->tls_mask & TLS_TLS) != 0)
-+ {
-+ /* Handle TLS Symbol */
-+ if ((eh->tls_mask & TLS_LD) != 0)
-+ {
-+ if (!eh->elf.def_dynamic)
-+ /* We'll just use htab->tlsld_got.offset. This should
-+ always be the case. It's a little odd if we have
-+ a local dynamic reloc against a non-local symbol. */
-+ htab->tlsld_got.refcount += 1;
-+ else
-+ need += 8;
-+ }
-+ if ((eh->tls_mask & TLS_GD) != 0)
-+ need += 8;
-+ }
-+ else
-+ {
-+ /* Regular (non-TLS) symbol */
-+ need += 4;
-+ }
-+ if (need == 0)
-+ {
-+ h->got.offset = (bfd_vma) -1;
-+ }
-+ else
-+ {
-+ s = htab->elf.sgot;
-+ h->got.offset = s->size;
-+ s->size += need;
-+ htab->elf.srelgot->size += need * (sizeof (Elf64_External_Rela) / 4);
-+ }
-+ }
-+ else
-+ h->got.offset = (bfd_vma) -1;
-+
-+ if (h->dyn_relocs == NULL)
-+ return TRUE;
-+
-+ /* In the shared -Bsymbolic case, discard space allocated for
-+ dynamic pc-relative relocs against symbols which turn out to be
-+ defined in regular objects. For the normal shared case, discard
-+ space for pc-relative relocs that have become local due to symbol
-+ visibility changes. */
-+
-+ if (bfd_link_pic (info))
-+ {
-+ if (h->def_regular
-+ && (h->forced_local
-+ || info->symbolic))
-+ {
-+ struct elf64_mb_dyn_relocs **pp;
-+
-+ for (pp = &h->dyn_relocs; (p = *pp) != NULL; )
-+ {
-+ p->count -= p->pc_count;
-+ p->pc_count = 0;
-+ if (p->count == 0)
-+ *pp = p->next;
-+ else
-+ pp = &p->next;
-+ }
-+ }
-+ else if (UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
-+ h->dyn_relocs = NULL;
-+ }
-+ else
-+ {
-+ /* For the non-shared case, discard space for relocs against
-+ symbols which turn out to need copy relocs or are not
-+ dynamic. */
-+
-+ if (!h->non_got_ref
-+ && ((h->def_dynamic
-+ && !h->def_regular)
-+ || (htab->elf.dynamic_sections_created
-+ && (h->root.type == bfd_link_hash_undefweak
-+ || h->root.type == bfd_link_hash_undefined))))
-+ {
-+ /* Make sure this symbol is output as a dynamic symbol.
-+ Undefined weak syms won't yet be marked as dynamic. */
-+ if (h->dynindx == -1
-+ && !h->forced_local)
-+ {
-+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
-+ return FALSE;
-+ }
-+
-+ /* If that succeeded, we know we'll be keeping all the
-+ relocs. */
-+ if (h->dynindx != -1)
-+ goto keep;
-+ }
-+
-+ h->dyn_relocs = NULL;
-+
-+ keep: ;
-+ }
-+
-+ /* Finally, allocate space. */
-+ for (p = h->dyn_relocs; p != NULL; p = p->next)
-+ {
-+ asection *sreloc = elf_section_data (p->sec)->sreloc;
-+ sreloc->size += p->count * sizeof (Elf64_External_Rela);
-+ }
-+
-+ return TRUE;
-+}
-+
-+/* Set the sizes of the dynamic sections. */
-+
-+static bfd_boolean
-+microblaze_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
-+ struct bfd_link_info *info)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+ bfd *dynobj;
-+ asection *s;
-+ bfd *ibfd;
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ dynobj = htab->elf.dynobj;
-+ BFD_ASSERT (dynobj != NULL);
-+
-+ /* Set up .got offsets for local syms, and space for local dynamic
-+ relocs. */
-+ for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
-+ {
-+ bfd_signed_vma *local_got;
-+ bfd_signed_vma *end_local_got;
-+ bfd_size_type locsymcount;
-+ Elf_Internal_Shdr *symtab_hdr;
-+ unsigned char *lgot_masks;
-+ asection *srel;
-+
-+ if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
-+ continue;
-+
-+ for (s = ibfd->sections; s != NULL; s = s->next)
-+ {
-+ struct elf64_mb_dyn_relocs *p;
-+
-+ for (p = ((struct elf64_mb_dyn_relocs *)
-+ elf_section_data (s)->local_dynrel);
-+ p != NULL;
-+ p = p->next)
-+ {
-+ if (!bfd_is_abs_section (p->sec)
-+ && bfd_is_abs_section (p->sec->output_section))
-+ {
-+ /* Input section has been discarded, either because
-+ it is a copy of a linkonce section or due to
-+ linker script /DISCARD/, so we'll be discarding
-+ the relocs too. */
-+ }
-+ else if (p->count != 0)
-+ {
-+ srel = elf_section_data (p->sec)->sreloc;
-+ srel->size += p->count * sizeof (Elf64_External_Rela);
-+ if ((p->sec->output_section->flags & SEC_READONLY) != 0)
-+ info->flags |= DF_TEXTREL;
-+ }
-+ }
-+ }
-+
-+ local_got = elf_local_got_refcounts (ibfd);
-+ if (!local_got)
-+ continue;
-+
-+ symtab_hdr = &elf_tdata (ibfd)->symtab_hdr;
-+ locsymcount = symtab_hdr->sh_info;
-+ end_local_got = local_got + locsymcount;
-+ lgot_masks = (unsigned char *) end_local_got;
-+ s = htab->elf.sgot;
-+ srel = htab->elf.srelgot;
-+
-+ for (; local_got < end_local_got; ++local_got, ++lgot_masks)
-+ {
-+ if (*local_got > 0)
-+ {
-+ unsigned int need = 0;
-+ if ((*lgot_masks & TLS_TLS) != 0)
-+ {
-+ if ((*lgot_masks & TLS_GD) != 0)
-+ need += 8;
-+ if ((*lgot_masks & TLS_LD) != 0)
-+ htab->tlsld_got.refcount += 1;
-+ }
-+ else
-+ need += 4;
-+
-+ if (need == 0)
-+ {
-+ *local_got = (bfd_vma) -1;
-+ }
-+ else
-+ {
-+ *local_got = s->size;
-+ s->size += need;
-+ if (bfd_link_pic (info))
-+ srel->size += need * (sizeof (Elf64_External_Rela) / 4);
-+ }
-+ }
-+ else
-+ *local_got = (bfd_vma) -1;
-+ }
-+ }
-+
-+ /* Allocate global sym .plt and .got entries, and space for global
-+ sym dynamic relocs. */
-+ elf_link_hash_traverse (elf_hash_table (info), allocate_dynrelocs, info);
-+
-+ if (htab->tlsld_got.refcount > 0)
-+ {
-+ htab->tlsld_got.offset = htab->elf.sgot->size;
-+ htab->elf.sgot->size += 8;
-+ if (bfd_link_pic (info))
-+ htab->elf.srelgot->size += sizeof (Elf64_External_Rela);
-+ }
-+ else
-+ htab->tlsld_got.offset = (bfd_vma) -1;
-+
-+ if (elf_hash_table (info)->dynamic_sections_created)
-+ {
-+ /* Make space for the trailing nop in .plt. */
-+ if (htab->elf.splt->size > 0)
-+ htab->elf.splt->size += 4;
-+ }
-+
-+ /* The check_relocs and adjust_dynamic_symbol entry points have
-+ determined the sizes of the various dynamic sections. Allocate
-+ memory for them. */
-+ for (s = dynobj->sections; s != NULL; s = s->next)
-+ {
-+ const char *name;
-+ bfd_boolean strip = FALSE;
-+
-+ if ((s->flags & SEC_LINKER_CREATED) == 0)
-+ continue;
-+
-+ /* It's OK to base decisions on the section name, because none
-+ of the dynobj section names depend upon the input files. */
-+ name = bfd_section_name (s);
-+
-+ if (strncmp (name, ".rela", 5) == 0)
-+ {
-+ if (s->size == 0)
-+ {
-+ /* If we don't need this section, strip it from the
-+ output file. This is to handle .rela.bss and
-+ .rela.plt. We must create it in
-+ create_dynamic_sections, because it must be created
-+ before the linker maps input sections to output
-+ sections. The linker does that before
-+ adjust_dynamic_symbol is called, and it is that
-+ function which decides whether anything needs to go
-+ into these sections. */
-+ strip = TRUE;
-+ }
-+ else
-+ {
-+ /* We use the reloc_count field as a counter if we need
-+ to copy relocs into the output file. */
-+ s->reloc_count = 0;
-+ }
-+ }
-+ else if (s != htab->elf.splt
-+ && s != htab->elf.sgot
-+ && s != htab->elf.sgotplt
-+ && s != htab->elf.sdynbss
-+ && s != htab->elf.sdynrelro)
-+ {
-+ /* It's not one of our sections, so don't allocate space. */
-+ continue;
-+ }
-+
-+ if (strip)
-+ {
-+ s->flags |= SEC_EXCLUDE;
-+ continue;
-+ }
-+
-+ /* Allocate memory for the section contents. */
-+ /* FIXME: This should be a call to bfd_alloc not bfd_zalloc.
-+ Unused entries should be reclaimed before the section's contents
-+ are written out, but at the moment this does not happen. Thus in
-+ order to prevent writing out garbage, we initialise the section's
-+ contents to zero. */
-+ s->contents = (bfd_byte *) bfd_zalloc (dynobj, s->size);
-+ if (s->contents == NULL && s->size != 0)
-+ return FALSE;
-+ }
-+
-+ if (elf_hash_table (info)->dynamic_sections_created)
-+ {
-+ /* Add some entries to the .dynamic section. We fill in the
-+ values later, in microblaze_elf_finish_dynamic_sections, but we
-+ must add the entries now so that we get the correct size for
-+ the .dynamic section. The DT_DEBUG entry is filled in by the
-+ dynamic linker and used by the debugger. */
-+#define add_dynamic_entry(TAG, VAL) \
-+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
-+
-+ if (bfd_link_executable (info))
-+ {
-+ if (!add_dynamic_entry (DT_DEBUG, 0))
-+ return FALSE;
-+ }
-+
-+ if (!add_dynamic_entry (DT_RELA, 0)
-+ || !add_dynamic_entry (DT_RELASZ, 0)
-+ || !add_dynamic_entry (DT_RELAENT, sizeof (Elf64_External_Rela)))
-+ return FALSE;
-+
-+ if (htab->splt->size != 0)
-+ {
-+ if (!add_dynamic_entry (DT_PLTGOT, 0)
-+ || !add_dynamic_entry (DT_PLTRELSZ, 0)
-+ || !add_dynamic_entry (DT_PLTREL, DT_RELA)
-+ || !add_dynamic_entry (DT_JMPREL, 0)
-+ || !add_dynamic_entry (DT_BIND_NOW, 1))
-+ return FALSE;
-+ }
-+
-+ if (info->flags & DF_TEXTREL)
-+ {
-+ if (!add_dynamic_entry (DT_TEXTREL, 0))
-+ return FALSE;
-+ }
-+ }
-+#undef add_dynamic_entry
-+ return TRUE;
-+}
-+
-+/* Finish up dynamic symbol handling. We set the contents of various
-+ dynamic sections here. */
-+
-+static bfd_boolean
-+microblaze_elf_finish_dynamic_symbol (bfd *output_bfd,
-+ struct bfd_link_info *info,
-+ struct elf_link_hash_entry *h,
-+ Elf_Internal_Sym *sym)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+ struct elf64_mb_link_hash_entry *eh = elf64_mb_hash_entry(h);
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ if (h->plt.offset != (bfd_vma) -1)
-+ {
-+ asection *splt;
-+ asection *srela;
-+ asection *sgotplt;
-+ Elf_Internal_Rela rela;
-+ bfd_byte *loc;
-+ bfd_vma plt_index;
-+ bfd_vma got_offset;
-+ bfd_vma got_addr;
-+
-+ /* This symbol has an entry in the procedure linkage table. Set
-+ it up. */
-+ BFD_ASSERT (h->dynindx != -1);
-+
-+ splt = htab->splt;
-+ srela = htab->srelplt;
-+ sgotplt = htab->sgotplt;
-+ BFD_ASSERT (splt != NULL && srela != NULL && sgotplt != NULL);
-+
-+ plt_index = h->plt.offset / PLT_ENTRY_SIZE - 1; /* first entry reserved. */
-+ got_offset = (plt_index + 3) * 4; /* 3 reserved ??? */
-+ got_addr = got_offset;
-+
-+ /* For non-PIC objects we need absolute address of the GOT entry. */
-+ if (!bfd_link_pic (info))
-+ got_addr += sgotplt->output_section->vma + sgotplt->output_offset;
-+
-+ /* Fill in the entry in the procedure linkage table. */
-+ bfd_put_32 (output_bfd, PLT_ENTRY_WORD_0 + ((got_addr >> 16) & 0xffff),
-+ splt->contents + h->plt.offset);
-+ if (bfd_link_pic (info))
-+ bfd_put_32 (output_bfd, PLT_ENTRY_WORD_1 + (got_addr & 0xffff),
-+ splt->contents + h->plt.offset + 4);
-+ else
-+ bfd_put_32 (output_bfd, PLT_ENTRY_WORD_1_NOPIC + (got_addr & 0xffff),
-+ splt->contents + h->plt.offset + 4);
-+ bfd_put_32 (output_bfd, (bfd_vma) PLT_ENTRY_WORD_2,
-+ splt->contents + h->plt.offset + 8);
-+ bfd_put_32 (output_bfd, (bfd_vma) PLT_ENTRY_WORD_3,
-+ splt->contents + h->plt.offset + 12);
-+
-+ /* Any additions to the .got section??? */
-+ /* bfd_put_32 (output_bfd,
-+ splt->output_section->vma + splt->output_offset + h->plt.offset + 4,
-+ sgotplt->contents + got_offset); */
-+
-+ /* Fill in the entry in the .rela.plt section. */
-+ rela.r_offset = (sgotplt->output_section->vma
-+ + sgotplt->output_offset
-+ + got_offset);
-+ rela.r_info = ELF64_R_INFO (h->dynindx, R_MICROBLAZE_JUMP_SLOT);
-+ rela.r_addend = 0;
-+ loc = srela->contents;
-+ loc += plt_index * sizeof (Elf64_External_Rela);
-+ bfd_elf64_swap_reloca_out (output_bfd, &rela, loc);
-+
-+ if (!h->def_regular)
-+ {
-+ /* Mark the symbol as undefined, rather than as defined in
-+ the .plt section. Zero the value. */
-+ sym->st_shndx = SHN_UNDEF;
-+ sym->st_value = 0;
-+ }
-+ }
-+
-+ /* h->got.refcount to be checked ? */
-+ if (h->got.offset != (bfd_vma) -1 &&
-+ ! ((h->got.offset & 1) ||
-+ IS_TLS_LD(eh->tls_mask) || IS_TLS_GD(eh->tls_mask)))
-+ {
-+ asection *sgot;
-+ asection *srela;
-+ bfd_vma offset;
-+
-+ /* This symbol has an entry in the global offset table. Set it
-+ up. */
-+
-+ sgot = htab->elf.sgot;
-+ srela = htab->elf.srelgot;
-+ BFD_ASSERT (sgot != NULL && srela != NULL);
-+
-+ offset = (sgot->output_section->vma + sgot->output_offset
-+ + (h->got.offset &~ (bfd_vma) 1));
-+
-+ /* If this is a -Bsymbolic link, and the symbol is defined
-+ locally, we just want to emit a RELATIVE reloc. Likewise if
-+ the symbol was forced to be local because of a version file.
-+ The entry in the global offset table will already have been
-+ initialized in the relocate_section function. */
-+ if (bfd_link_pic (info)
-+ && ((info->symbolic && h->def_regular)
-+ || h->dynindx == -1))
-+ {
-+ asection *sec = h->root.u.def.section;
-+ microblaze_elf_output_dynamic_relocation (output_bfd,
-+ srela, srela->reloc_count++,
-+ /* symindex= */ 0,
-+ R_MICROBLAZE_REL, offset,
-+ h->root.u.def.value
-+ + sec->output_section->vma
-+ + sec->output_offset);
-+ }
-+ else
-+ {
-+ microblaze_elf_output_dynamic_relocation (output_bfd,
-+ srela, srela->reloc_count++,
-+ h->dynindx,
-+ R_MICROBLAZE_GLOB_DAT,
-+ offset, 0);
-+ }
-+
-+ bfd_put_32 (output_bfd, (bfd_vma) 0,
-+ sgot->contents + (h->got.offset &~ (bfd_vma) 1));
-+ }
-+
-+ if (h->needs_copy)
-+ {
-+ asection *s;
-+ Elf_Internal_Rela rela;
-+ bfd_byte *loc;
-+
-+ /* This symbols needs a copy reloc. Set it up. */
-+
-+ BFD_ASSERT (h->dynindx != -1);
-+
-+ s = bfd_get_linker_section (htab->elf.dynobj, ".rela.bss");
-+ BFD_ASSERT (s != NULL);
-+
-+ rela.r_offset = (h->root.u.def.value
-+ + h->root.u.def.section->output_section->vma
-+ + h->root.u.def.section->output_offset);
-+ rela.r_info = ELF64_R_INFO (h->dynindx, R_MICROBLAZE_COPY);
-+ rela.r_addend = 0;
-+ loc = s->contents + s->reloc_count++ * sizeof (Elf64_External_Rela);
-+ bfd_elf64_swap_reloca_out (output_bfd, &rela, loc);
-+ }
-+
-+ /* Mark some specially defined symbols as absolute. */
-+ if (h == htab->elf.hdynamic
-+ || h == htab->elf.hgot
-+ || h == htab->elf.hplt)
-+ sym->st_shndx = SHN_ABS;
-+
-+ return TRUE;
-+}
-+
-+
-+/* Finish up the dynamic sections. */
-+
-+static bfd_boolean
-+microblaze_elf_finish_dynamic_sections (bfd *output_bfd,
-+ struct bfd_link_info *info)
-+{
-+ bfd *dynobj;
-+ asection *sdyn, *sgot;
-+ struct elf64_mb_link_hash_table *htab;
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ dynobj = htab->elf.dynobj;
-+
-+ sdyn = bfd_get_linker_section (dynobj, ".dynamic");
-+
-+ if (htab->elf.dynamic_sections_created)
-+ {
-+ asection *splt;
-+ Elf64_External_Dyn *dyncon, *dynconend;
-+
-+ splt = bfd_get_linker_section (dynobj, ".plt");
-+ BFD_ASSERT (splt != NULL && sdyn != NULL);
-+
-+ dyncon = (Elf64_External_Dyn *) sdyn->contents;
-+ dynconend = (Elf64_External_Dyn *) (sdyn->contents + sdyn->size);
-+ for (; dyncon < dynconend; dyncon++)
-+ {
-+ Elf_Internal_Dyn dyn;
-+ const char *name;
-+ bfd_boolean size;
-+
-+ bfd_elf64_swap_dyn_in (dynobj, dyncon, &dyn);
-+
-+ switch (dyn.d_tag)
-+ {
-+ case DT_PLTGOT: name = ".got.plt"; size = FALSE; break;
-+ case DT_PLTRELSZ: name = ".rela.plt"; size = TRUE; break;
-+ case DT_JMPREL: name = ".rela.plt"; size = FALSE; break;
-+ case DT_RELA: name = ".rela.dyn"; size = FALSE; break;
-+ case DT_RELASZ: name = ".rela.dyn"; size = TRUE; break;
-+ default: name = NULL; size = FALSE; break;
-+ }
-+
-+ if (name != NULL)
-+ {
-+ asection *s;
-+
-+ s = bfd_get_section_by_name (output_bfd, name);
-+ if (s == NULL)
-+ dyn.d_un.d_val = 0;
-+ else
-+ {
-+ if (! size)
-+ dyn.d_un.d_ptr = s->vma;
-+ else
-+ dyn.d_un.d_val = s->size;
-+ }
-+ bfd_elf64_swap_dyn_out (output_bfd, &dyn, dyncon);
-+ }
-+ }
-+
-+ /* Clear the first entry in the procedure linkage table,
-+ and put a nop in the last four bytes. */
-+ if (splt->size > 0)
-+ {
-+ memset (splt->contents, 0, PLT_ENTRY_SIZE);
-+ bfd_put_32 (output_bfd, (bfd_vma) 0x80000000 /* nop. */,
-+ splt->contents + splt->size - 4);
-+ }
-+
-+ elf_section_data (splt->output_section)->this_hdr.sh_entsize = 4;
-+ }
-+
-+ /* Set the first entry in the global offset table to the address of
-+ the dynamic section. */
-+ sgot = htab->elf.sgotplt;
-+ if (sgot && sgot->size > 0)
-+ {
-+ if (sdyn == NULL)
-+ bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents);
-+ else
-+ bfd_put_32 (output_bfd,
-+ sdyn->output_section->vma + sdyn->output_offset,
-+ sgot->contents);
-+ elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4;
-+ }
-+
-+ if (htab->elf.sgot && htab->elf.sgot->size > 0)
-+ elf_section_data (htab->elf.sgot->output_section)->this_hdr.sh_entsize = 4;
-+
-+ return TRUE;
-+}
-+
-+/* Hook called by the linker routine which adds symbols from an object
-+ file. We use it to put .comm items in .sbss, and not .bss. */
-+
-+static bfd_boolean
-+microblaze_elf_add_symbol_hook (bfd *abfd,
-+ struct bfd_link_info *info,
-+ Elf_Internal_Sym *sym,
-+ const char **namep ATTRIBUTE_UNUSED,
-+ flagword *flagsp ATTRIBUTE_UNUSED,
-+ asection **secp,
-+ bfd_vma *valp)
-+{
-+ if (sym->st_shndx == SHN_COMMON
-+ && !bfd_link_relocatable (info)
-+ && sym->st_size <= elf_gp_size (abfd))
-+ {
-+ /* Common symbols less than or equal to -G nn bytes are automatically
-+ put into .sbss. */
-+ *secp = bfd_make_section_old_way (abfd, ".sbss");
-+ if (*secp == NULL
-+ || !bfd_set_section_flags (*secp, SEC_IS_COMMON))
-+ return FALSE;
-+
-+ *valp = sym->st_size;
-+ }
-+
-+ return TRUE;
-+}
-+
-+#define TARGET_LITTLE_SYM microblaze_elf64_le_vec
-+#define TARGET_LITTLE_NAME "elf64-microblazeel"
-+
-+#define TARGET_BIG_SYM microblaze_elf64_vec
-+#define TARGET_BIG_NAME "elf64-microblaze"
-+
-+#define ELF_ARCH bfd_arch_microblaze
-+#define ELF_TARGET_ID MICROBLAZE_ELF_DATA
-+#define ELF_MACHINE_CODE EM_MICROBLAZE
-+#define ELF_MACHINE_ALT1 EM_MICROBLAZE_OLD
-+#define ELF_MAXPAGESIZE 0x1000
-+#define elf_info_to_howto microblaze_elf_info_to_howto
-+#define elf_info_to_howto_rel NULL
-+
-+#define bfd_elf64_bfd_reloc_type_lookup microblaze_elf_reloc_type_lookup
-+#define bfd_elf64_bfd_is_local_label_name microblaze_elf_is_local_label_name
-+#define elf_backend_relocate_section microblaze_elf_relocate_section
-+#define bfd_elf64_bfd_relax_section microblaze_elf_relax_section
-+#define bfd_elf64_bfd_merge_private_bfd_data microblaze_elf_merge_private_bfd_data
-+#define bfd_elf64_bfd_reloc_name_lookup microblaze_elf_reloc_name_lookup
-+
-+#define elf_backend_gc_mark_hook microblaze_elf_gc_mark_hook
-+#define elf_backend_gc_sweep_hook microblaze_elf_gc_sweep_hook
-+#define elf_backend_check_relocs microblaze_elf_check_relocs
-+#define elf_backend_copy_indirect_symbol microblaze_elf_copy_indirect_symbol
-+#define bfd_elf64_bfd_link_hash_table_create microblaze_elf_link_hash_table_create
-+#define elf_backend_can_gc_sections 1
-+#define elf_backend_can_refcount 1
-+#define elf_backend_want_got_plt 1
-+#define elf_backend_plt_readonly 1
-+#define elf_backend_got_header_size 12
-+#define elf_backend_rela_normal 1
-+
-+#define elf_backend_adjust_dynamic_symbol microblaze_elf_adjust_dynamic_symbol
-+#define elf_backend_create_dynamic_sections microblaze_elf_create_dynamic_sections
-+#define elf_backend_finish_dynamic_sections microblaze_elf_finish_dynamic_sections
-+#define elf_backend_finish_dynamic_symbol microblaze_elf_finish_dynamic_symbol
-+#define elf_backend_size_dynamic_sections microblaze_elf_size_dynamic_sections
-+#define elf_backend_add_symbol_hook microblaze_elf_add_symbol_hook
-+
-+#include "elf64-target.h"
-diff --git a/bfd/targets.c b/bfd/targets.c
-index 0732c5e429..1ec226b2f4 100644
---- a/bfd/targets.c
-+++ b/bfd/targets.c
-@@ -782,6 +782,8 @@ extern const bfd_target mep_elf32_le_vec;
- extern const bfd_target metag_elf32_vec;
- extern const bfd_target microblaze_elf32_vec;
- extern const bfd_target microblaze_elf32_le_vec;
-+extern const bfd_target microblaze_elf64_vec;
-+extern const bfd_target microblaze_elf64_le_vec;
- extern const bfd_target mips_ecoff_be_vec;
- extern const bfd_target mips_ecoff_le_vec;
- extern const bfd_target mips_ecoff_bele_vec;
-@@ -1150,6 +1152,10 @@ static const bfd_target * const _bfd_target_vector[] =
-
- &metag_elf32_vec,
-
-+#ifdef BFD64
-+ &microblaze_elf64_vec,
-+ &microblaze_elf64_le_vec,
-+#endif
- &microblaze_elf32_vec,
-
- &mips_ecoff_be_vec,
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 5810a74a5f..ffbb843d33 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -35,10 +35,13 @@
- #define streq(a,b) (strcmp (a, b) == 0)
- #endif
-
-+static int microblaze_arch_size = 0;
-+
- #define OPTION_EB (OPTION_MD_BASE + 0)
- #define OPTION_EL (OPTION_MD_BASE + 1)
- #define OPTION_LITTLE (OPTION_MD_BASE + 2)
- #define OPTION_BIG (OPTION_MD_BASE + 3)
-+#define OPTION_M64 (OPTION_MD_BASE + 4)
-
- void microblaze_generate_symbol (char *sym);
- static bfd_boolean check_spl_reg (unsigned *);
-@@ -773,6 +776,74 @@ parse_imm (char * s, expressionS * e, offsetT min, offsetT max)
- return new_pointer;
- }
-
-+ static char *
-+parse_imml (char * s, expressionS * e, long min, long max)
-+{
-+ char *new_pointer;
-+ char *atp;
-+ int itype, ilen;
-+
-+ ilen = 0;
-+
-+ /* Find the start of "@GOT" or "@PLT" suffix (if any) */
-+ for (atp = s; *atp != '@'; atp++)
-+ if (is_end_of_line[(unsigned char) *atp])
-+ break;
-+
-+ if (*atp == '@')
-+ {
-+ itype = match_imm (atp + 1, &ilen);
-+ if (itype != 0)
-+ {
-+ *atp = 0;
-+ e->X_md = itype;
-+ }
-+ else
-+ {
-+ atp = NULL;
-+ e->X_md = 0;
-+ ilen = 0;
-+ }
-+ *atp = 0;
-+ }
-+ else
-+ {
-+ atp = NULL;
-+ e->X_md = 0;
-+ }
-+
-+ if (atp && !GOT_symbol)
-+ {
-+ GOT_symbol = symbol_find_or_make (GOT_SYMBOL_NAME);
-+ }
-+
-+ new_pointer = parse_exp (s, e);
-+
-+ if (!GOT_symbol && ! strncmp (s, GOT_SYMBOL_NAME, 20))
-+ {
-+ GOT_symbol = symbol_find_or_make (GOT_SYMBOL_NAME);
-+ }
-+
-+ if (e->X_op == O_absent)
-+ ; /* An error message has already been emitted. */
-+ else if ((e->X_op != O_constant && e->X_op != O_symbol) )
-+ as_fatal (_("operand must be a constant or a label"));
-+ else if ((e->X_op == O_constant) && ((long) e->X_add_number < min
-+ || (long) e->X_add_number > max))
-+ {
-+ as_fatal (_("operand must be absolute in range %ld..%ld, not %ld"),
-+ min, max, (long) e->X_add_number);
-+ }
-+
-+ if (atp)
-+ {
-+ *atp = '@'; /* restore back (needed?) */
-+ if (new_pointer >= atp)
-+ new_pointer += ilen + 1; /* sizeof (imm_suffix) + 1 for '@' */
-+ }
-+ return new_pointer;
-+}
-+
- static char *
- check_got (int * got_type, int * got_len)
- {
-@@ -920,6 +991,7 @@ md_assemble (char * str)
- unsigned int immed, immed2, temp;
- expressionS exp;
- char name[20];
-+ long immedl;
-
- /* Drop leading whitespace. */
- while (ISSPACE (* str))
-@@ -1129,7 +1201,7 @@ md_assemble (char * str)
- }
- break;
-
-- case INST_TYPE_RD_R1_IMM5:
-+ case INST_TYPE_RD_R1_IMMS:
- if (strcmp (op_end, ""))
- op_end = parse_reg (op_end + 1, &reg1); /* Get rd. */
- else
-@@ -1163,16 +1235,22 @@ md_assemble (char * str)
- immed = exp.X_add_number;
- }
-
-- if (immed != (immed % 32))
-+ if ((immed != (immed % 32)) &&
-+ (opcode->instr == bslli || opcode->instr == bsrai || opcode->instr == bsrli))
- {
- as_warn (_("Shift value > 32. using <value %% 32>"));
- immed = immed % 32;
- }
-+ else if (immed != (immed % 64))
-+ {
-+ as_warn (_("Shift value > 64. using <value %% 64>"));
-+ immed = immed % 64;
-+ }
- inst |= (reg1 << RD_LOW) & RD_MASK;
- inst |= (reg2 << RA_LOW) & RA_MASK;
-- inst |= (immed << IMM_LOW) & IMM5_MASK;
-+ inst |= (immed << IMM_LOW) & IMM6_MASK;
- break;
-- case INST_TYPE_RD_R1_IMM5_IMM5:
-+ case INST_TYPE_RD_R1_IMMW_IMMS:
- if (strcmp (op_end, ""))
- op_end = parse_reg (op_end + 1, &reg1); /* Get rd. */
- else
-@@ -1196,7 +1274,7 @@ md_assemble (char * str)
-
- /* Width immediate value. */
- if (strcmp (op_end, ""))
-- op_end = parse_imm (op_end + 1, &exp, MIN_IMM_WIDTH, MAX_IMM_WIDTH);
-+ op_end = parse_imm (op_end + 1, &exp, MIN_IMM, MAX_IMM);
- else
- as_fatal (_("Error in statement syntax"));
- if (exp.X_op != O_constant)
-@@ -1208,6 +1286,8 @@ md_assemble (char * str)
- immed = exp.X_add_number;
- if (opcode->instr == bsefi && immed > 31)
- as_fatal (_("Width value must be less than 32"));
-+ else if (opcode->instr == bslefi && immed > 63)
-+ as_fatal (_("Width value must be less than 64"));
-
- /* Shift immediate value. */
- if (strcmp (op_end, ""))
-@@ -1215,32 +1295,40 @@ md_assemble (char * str)
- else
- as_fatal (_("Error in statement syntax"));
- if (exp.X_op != O_constant)
-- {
-+ {
- as_warn (_("Symbol used as immediate shift value for bit field instruction"));
- immed2 = 0;
- }
- else
-- {
-+ {
- output = frag_more (isize);
- immed2 = exp.X_add_number;
-- }
-- if (immed2 != (immed2 % 32))
-- {
-- as_warn (_("Shift value greater than 32. using <value %% 32>"));
-+ }
-+ if ((immed2 != (immed2 % 32)) && (opcode->instr == bsefi || opcode->instr == bsifi))
-+ {
-+
-+ as_warn (_("Shift value greater than 32. using <value %% 32>"));
- immed2 = immed2 % 32;
- }
-+ else if (immed2 != (immed2 % 64))
-+ {
-+ as_warn (_("Shift value greater than 64. using <value %% 64>"));
-+ immed2 = immed2 % 64;
-+ }
-
- /* Check combined value. */
-- if (immed + immed2 > 32)
-+ if ((immed + immed2 > 32) && (opcode->instr == bsefi || opcode->instr == bsifi))
- as_fatal (_("Width value + shift value must not be greater than 32"));
-
-+ else if (immed + immed2 > 64)
-+ as_fatal (_("Width value + shift value must not be greater than 64"));
- inst |= (reg1 << RD_LOW) & RD_MASK;
- inst |= (reg2 << RA_LOW) & RA_MASK;
-- if (opcode->instr == bsefi)
-- inst |= (immed & IMM5_MASK) << IMM_WIDTH_LOW; /* bsefi */
-+ if (opcode->instr == bsefi || opcode->instr == bslefi)
-+ inst |= (immed & IMM6_MASK) << IMM_WIDTH_LOW; /* bsefi or bslefi */
- else
-- inst |= ((immed + immed2 - 1) & IMM5_MASK) << IMM_WIDTH_LOW; /* bsifi */
-- inst |= (immed2 << IMM_LOW) & IMM5_MASK;
-+ inst |= ((immed + immed2 - 1) & IMM6_MASK) << IMM_WIDTH_LOW; /* bsifi or bslifi */
-+ inst |= (immed2 << IMM_LOW) & IMM6_MASK;
- break;
- case INST_TYPE_R1_R2:
- if (strcmp (op_end, ""))
-@@ -1808,6 +1896,142 @@ md_assemble (char * str)
- }
- inst |= (immed << IMM_MBAR);
- break;
-+ /* For 64-bit instructions */
-+ case INST_TYPE_RD_R1_IMML:
-+ if (strcmp (op_end, ""))
-+ op_end = parse_reg (op_end + 1, &reg1); /* Get rd. */
-+ else
-+ {
-+ as_fatal (_("Error in statement syntax"));
-+ reg1 = 0;
-+ }
-+ if (strcmp (op_end, ""))
-+ op_end = parse_reg (op_end + 1, &reg2); /* Get r1. */
-+ else
-+ {
-+ as_fatal (_("Error in statement syntax"));
-+ reg2 = 0;
-+ }
-+ if (strcmp (op_end, ""))
-+ op_end = parse_imml (op_end + 1, & exp, MIN_IMML, MAX_IMML);
-+ else
-+ as_fatal (_("Error in statement syntax"));
-+
-+ /* Check for spl registers. */
-+ if (check_spl_reg (& reg1))
-+ as_fatal (_("Cannot use special register with this instruction"));
-+ if (check_spl_reg (& reg2))
-+ as_fatal (_("Cannot use special register with this instruction"));
-+
-+ if (exp.X_op != O_constant)
-+ {
-+ char *opc = NULL;
-+ relax_substateT subtype;
-+
-+ if (exp.X_md != 0)
-+ subtype = get_imm_otype(exp.X_md);
-+ else
-+ subtype = opcode->inst_offset_type;
-+
-+ output = frag_var (rs_machine_dependent,
-+ isize * 2, /* maxm of 2 words. */
-+ isize * 2, /* minm of 2 words. */
-+ subtype, /* PC-relative or not. */
-+ exp.X_add_symbol,
-+ exp.X_add_number,
-+ opc);
-+ immedl = 0L;
-+ }
-+ else
-+ {
-+ output = frag_more (isize);
-+ immedl = exp.X_add_number;
-+
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immedl & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+
-+ inst |= (reg1 << RD_LOW) & RD_MASK;
-+ inst |= (reg2 << RA_LOW) & RA_MASK;
-+ inst |= (immedl << IMM_LOW) & IMM_MASK;
-+ break;
-+
-+ case INST_TYPE_R1_IMML:
-+ if (strcmp (op_end, ""))
-+ op_end = parse_reg (op_end + 1, &reg1); /* Get r1. */
-+ else
-+ {
-+ as_fatal (_("Error in statement syntax"));
-+ reg1 = 0;
-+ }
-+ if (strcmp (op_end, ""))
-+ op_end = parse_imml (op_end + 1, & exp, MIN_IMM, MAX_IMM);
-+ else
-+ as_fatal (_("Error in statement syntax"));
-+
-+ /* Check for spl registers. */
-+ if (check_spl_reg (&reg1))
-+ as_fatal (_("Cannot use special register with this instruction"));
-+
-+ if (exp.X_op != O_constant)
-+ {
-+ char *opc = NULL;
-+ relax_substateT subtype;
-+
-+ if (exp.X_md != 0)
-+ subtype = get_imm_otype(exp.X_md);
-+ else
-+ subtype = opcode->inst_offset_type;
-+
-+ output = frag_var (rs_machine_dependent,
-+ isize * 2, /* maxm of 2 words. */
-+ isize * 2, /* minm of 2 words. */
-+ subtype, /* PC-relative or not. */
-+ exp.X_add_symbol,
-+ exp.X_add_number,
-+ opc);
-+ immedl = 0L;
-+ }
-+ else
-+ {
-+ output = frag_more (isize);
-+ immedl = exp.X_add_number;
-+
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immedl & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+
-+ inst |= (reg1 << RA_LOW) & RA_MASK;
-+ inst |= (immedl << IMM_LOW) & IMM_MASK;
-+ break;
-+
-+ case INST_TYPE_IMML:
-+ as_fatal (_("An IMML instruction should not be present in the .s file"));
-+ break;
-
- default:
- as_fatal (_("unimplemented opcode \"%s\""), name);
-@@ -1915,6 +2139,7 @@ struct option md_longopts[] =
- {"EL", no_argument, NULL, OPTION_EL},
- {"mlittle-endian", no_argument, NULL, OPTION_LITTLE},
- {"mbig-endian", no_argument, NULL, OPTION_BIG},
-+ {"m64", no_argument, NULL, OPTION_M64},
- { NULL, no_argument, NULL, 0}
- };
-
-@@ -2565,6 +2790,18 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
- return rel;
- }
-
-+/* Called by TARGET_FORMAT. */
-+const char *
-+microblaze_target_format (void)
-+{
-+
-+ if (microblaze_arch_size == 64)
-+ return "elf64-microblazeel";
-+ else
-+ return target_big_endian ? "elf32-microblaze" : "elf32-microblazeel";
-+}
-+
-+
- int
- md_parse_option (int c, const char * arg ATTRIBUTE_UNUSED)
- {
-@@ -2578,6 +2815,10 @@ md_parse_option (int c, const char * arg ATTRIBUTE_UNUSED)
- case OPTION_LITTLE:
- target_big_endian = 0;
- break;
-+ case OPTION_M64:
-+ //if (arg != NULL && strcmp (arg, "64") == 0)
-+ microblaze_arch_size = 64;
-+ break;
- default:
- return 0;
- }
-@@ -2593,6 +2834,7 @@ md_show_usage (FILE * stream ATTRIBUTE_UNUSED)
- fprintf (stream, _(" MicroBlaze specific assembler options:\n"));
- fprintf (stream, " -%-23s%s\n", "mbig-endian", N_("assemble for a big endian cpu"));
- fprintf (stream, " -%-23s%s\n", "mlittle-endian", N_("assemble for a little endian cpu"));
-+ fprintf (stream, " -%-23s%s\n", "m64", N_("generate 64-bit elf"));
- }
-
-
-diff --git a/gas/config/tc-microblaze.h b/gas/config/tc-microblaze.h
-index 01cb3e894f..7435a70ef5 100644
---- a/gas/config/tc-microblaze.h
-+++ b/gas/config/tc-microblaze.h
-@@ -78,7 +78,9 @@ extern const struct relax_type md_relax_table[];
-
- #ifdef OBJ_ELF
-
--#define TARGET_FORMAT (target_big_endian ? "elf32-microblaze" : "elf32-microblazeel")
-+#define TARGET_FORMAT microblaze_target_format()
-+extern const char *microblaze_target_format (void);
-+//#define TARGET_FORMAT (target_big_endian ? "elf32-microblaze" : "elf32-microblazeel")
-
- #define ELF_TC_SPECIAL_SECTIONS \
- { ".sdata", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE }, \
-diff --git a/include/elf/common.h b/include/elf/common.h
-index 4d94c4fd5b..f709a01816 100644
---- a/include/elf/common.h
-+++ b/include/elf/common.h
-@@ -340,6 +340,7 @@
- #define EM_RISCV 243 /* RISC-V */
- #define EM_LANAI 244 /* Lanai 32-bit processor. */
- #define EM_BPF 247 /* Linux BPF – in-kernel virtual machine. */
-+#define EM_MB_64 248 /* Xilinx MicroBlaze 32-bit RISC soft processor core */
- #define EM_NFP 250 /* Netronome Flow Processor. */
- #define EM_CSKY 252 /* C-SKY processor family. */
-
-diff --git a/ld/Makefile.am b/ld/Makefile.am
-index 02c4fc1639..d063e2d32c 100644
---- a/ld/Makefile.am
-+++ b/ld/Makefile.am
-@@ -416,6 +416,8 @@ ALL_64_EMULATION_SOURCES = \
- eelf32ltsmipn32.c \
- eelf32ltsmipn32_fbsd.c \
- eelf32mipswindiss.c \
-+ eelf64microblazeel.c \
-+ eelf64microblaze.c \
- eelf64_aix.c \
- eelf64bpf.c \
- eelf64_ia64.c \
-@@ -898,6 +900,8 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ltsmipn32.Pc@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ltsmipn32_fbsd.Pc@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mipswindiss.Pc@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64microblazeel.Pc@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64microblaze.Pc@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_aix.Pc@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64bpf.Pc@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_ia64.Pc@am__quote@
-diff --git a/ld/Makefile.in b/ld/Makefile.in
-index 2fe12e14f6..797212859f 100644
---- a/ld/Makefile.in
-+++ b/ld/Makefile.in
-@@ -898,6 +898,8 @@ ALL_64_EMULATION_SOURCES = \
- eelf32ltsmipn32.c \
- eelf32ltsmipn32_fbsd.c \
- eelf32mipswindiss.c \
-+ eelf64microblazeel.c \
-+ eelf64microblaze.c \
- eelf64_aix.c \
- eelf64bpf.c \
- eelf64_ia64.c \
-@@ -1338,6 +1340,8 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xstormy16.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xtensa.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32z80.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64microblazeel.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64microblaze.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_aix.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_ia64.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_ia64_fbsd.Po@am__quote@
-@@ -2493,6 +2497,8 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ltsmipn32.Pc@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ltsmipn32_fbsd.Pc@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mipswindiss.Pc@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64microblazeel.Pc@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64microblaze.Pc@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_aix.Pc@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64bpf.Pc@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_ia64.Pc@am__quote@
-diff --git a/ld/configure.tgt b/ld/configure.tgt
-index 87c7d9a4ca..801d27c9e3 100644
---- a/ld/configure.tgt
-+++ b/ld/configure.tgt
-@@ -469,6 +469,9 @@ microblaze*-linux*) targ_emul="elf32mb_linux"
- microblazeel*) targ_emul=elf32microblazeel
- targ_extra_emuls=elf32microblaze
- ;;
-+microblazeel64*) targ_emul=elf64microblazeel
-+ targ_extra_emuls=elf64microblaze
-+ ;;
- microblaze*) targ_emul=elf32microblaze
- targ_extra_emuls=elf32microblazeel
- ;;
-diff --git a/ld/emulparams/elf64microblaze.sh b/ld/emulparams/elf64microblaze.sh
-new file mode 100644
-index 0000000000..9c7b0eb708
---- /dev/null
-+++ b/ld/emulparams/elf64microblaze.sh
-@@ -0,0 +1,23 @@
-+SCRIPT_NAME=elfmicroblaze
-+OUTPUT_FORMAT="elf64-microblazeel"
-+#BIG_OUTPUT_FORMAT="elf64-microblaze"
-+LITTLE_OUTPUT_FORMAT="elf64-microblazeel"
-+#TEXT_START_ADDR=0
-+NONPAGED_TEXT_START_ADDR=0x28
-+ALIGNMENT=4
-+MAXPAGESIZE=4
-+ARCH=microblaze
-+EMBEDDED=yes
-+
-+NOP=0x80000000
-+
-+# Hmmm, there's got to be a better way. This sets the stack to the
-+# top of the simulator memory (2^19 bytes).
-+#PAGE_SIZE=0x1000
-+#DATA_ADDR=0x10000
-+#OTHER_RELOCATING_SECTIONS='.stack 0x7000 : { _stack = .; *(.stack) }'
-+#$@{RELOCATING+ PROVIDE (__stack = 0x7000);@}
-+#OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = _end + 0x1000);'
-+
-+TEMPLATE_NAME=elf32
-+#GENERATE_SHLIB_SCRIPT=yes
-diff --git a/ld/emulparams/elf64microblazeel.sh b/ld/emulparams/elf64microblazeel.sh
-new file mode 100644
-index 0000000000..9c7b0eb708
---- /dev/null
-+++ b/ld/emulparams/elf64microblazeel.sh
-@@ -0,0 +1,23 @@
-+SCRIPT_NAME=elfmicroblaze
-+OUTPUT_FORMAT="elf64-microblazeel"
-+#BIG_OUTPUT_FORMAT="elf64-microblaze"
-+LITTLE_OUTPUT_FORMAT="elf64-microblazeel"
-+#TEXT_START_ADDR=0
-+NONPAGED_TEXT_START_ADDR=0x28
-+ALIGNMENT=4
-+MAXPAGESIZE=4
-+ARCH=microblaze
-+EMBEDDED=yes
-+
-+NOP=0x80000000
-+
-+# Hmmm, there's got to be a better way. This sets the stack to the
-+# top of the simulator memory (2^19 bytes).
-+#PAGE_SIZE=0x1000
-+#DATA_ADDR=0x10000
-+#OTHER_RELOCATING_SECTIONS='.stack 0x7000 : { _stack = .; *(.stack) }'
-+#$@{RELOCATING+ PROVIDE (__stack = 0x7000);@}
-+#OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = _end + 0x1000);'
-+
-+TEMPLATE_NAME=elf32
-+#GENERATE_SHLIB_SCRIPT=yes
-diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c
-index 315c6e9350..f643f2600d 100644
---- a/opcodes/microblaze-dis.c
-+++ b/opcodes/microblaze-dis.c
-@@ -33,6 +33,7 @@
- #define get_field_r1(buf, instr) get_field (buf, instr, RA_MASK, RA_LOW)
- #define get_field_r2(buf, instr) get_field (buf, instr, RB_MASK, RB_LOW)
- #define get_int_field_imm(instr) ((instr & IMM_MASK) >> IMM_LOW)
-+#define get_int_field_imml(instr) ((instr & IMML_MASK) >> IMM_LOW)
- #define get_int_field_r1(instr) ((instr & RA_MASK) >> RA_LOW)
-
- #define NUM_STRBUFS 3
-@@ -73,11 +74,19 @@ get_field_imm (struct string_buf *buf, long instr)
- }
-
- static char *
--get_field_imm5 (struct string_buf *buf, long instr)
-+get_field_imml (struct string_buf *buf, long instr)
- {
- char *p = strbuf (buf);
-+ sprintf (p, "%d", (short)((instr & IMML_MASK) >> IMM_LOW));
-+ return p;
-+}
-
-- sprintf (p, "%d", (short)((instr & IMM5_MASK) >> IMM_LOW));
-+static char *
-+get_field_imms (struct string_buf *buf, long instr)
-+{
-+ char *p = strbuf (buf);
-+
-+ sprintf (p, "%d", (short)((instr & IMM6_MASK) >> IMM_LOW));
- return p;
- }
-
-@@ -91,14 +100,14 @@ get_field_imm5_mbar (struct string_buf *buf, long instr)
- }
-
- static char *
--get_field_imm5width (struct string_buf *buf, long instr)
-+get_field_immw (struct string_buf *buf, long instr)
- {
- char *p = strbuf (buf);
-
- if (instr & 0x00004000)
-- sprintf (p, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW))); /* bsefi */
-+ sprintf (p, "%d", (short)(((instr & IMM6_WIDTH_MASK) >> IMM_WIDTH_LOW))); /* bsefi */
- else
-- sprintf (p, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW) - ((instr & IMM5_MASK) >> IMM_LOW) + 1)); /* bsifi */
-+ sprintf (p, "%d", (short)(((instr & IMM6_WIDTH_MASK) >> IMM_WIDTH_LOW) - ((instr & IMM6_MASK) >> IMM_LOW) + 1)); /* bsifi */
- return p;
- }
-
-@@ -308,9 +317,13 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
- }
- }
- break;
-- case INST_TYPE_RD_R1_IMM5:
-+ case INST_TYPE_RD_R1_IMML:
-+ print_func (stream, "\t%s, %s, %s", get_field_rd (&buf, inst),
-+ get_field_r1 (&buf, inst), get_field_imm (&buf, inst));
-+ /* TODO: Also print symbol */
-+ case INST_TYPE_RD_R1_IMMS:
- print_func (stream, "\t%s, %s, %s", get_field_rd (&buf, inst),
-- get_field_r1 (&buf, inst), get_field_imm5 (&buf, inst));
-+ get_field_r1(&buf, inst), get_field_imms (&buf, inst));
- break;
- case INST_TYPE_RD_RFSL:
- print_func (stream, "\t%s, %s", get_field_rd (&buf, inst),
-@@ -417,6 +430,10 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
- case INST_TYPE_RD_R2:
- print_func (stream, "\t%s, %s", get_field_rd (&buf, inst),
- get_field_r2 (&buf, inst));
-+ break;
-+ case INST_TYPE_IMML:
-+ print_func (stream, "\t%s", get_field_imml (&buf, inst));
-+ /* TODO: Also print symbol */
- break;
- case INST_TYPE_R2:
- print_func (stream, "\t%s", get_field_r2 (&buf, inst));
-@@ -440,8 +457,8 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
- case INST_TYPE_NONE:
- break;
- /* For bit field insns. */
-- case INST_TYPE_RD_R1_IMM5_IMM5:
-- print_func (stream, "\t%s, %s, %s, %s", get_field_rd (&buf, inst),get_field_r1(&buf, inst),get_field_imm5width (&buf, inst), get_field_imm5 (&buf, inst));
-+ case INST_TYPE_RD_R1_IMMW_IMMS:
-+ print_func (stream, "\t%s, %s, %s, %s", get_field_rd (&buf, inst),get_field_r1(&buf, inst),get_field_immw (&buf, inst), get_field_imms (&buf, inst));
- break;
- /* For tuqula instruction */
- case INST_TYPE_RD:
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index f61f4ef66d..61eaa39b3e 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -40,7 +40,7 @@
- #define INST_TYPE_RD_SPECIAL 11
- #define INST_TYPE_R1 12
- /* New instn type for barrel shift imms. */
--#define INST_TYPE_RD_R1_IMM5 13
-+#define INST_TYPE_RD_R1_IMMS 13
- #define INST_TYPE_RD_RFSL 14
- #define INST_TYPE_R1_RFSL 15
-
-@@ -60,7 +60,13 @@
- #define INST_TYPE_IMM5 20
-
- /* For bsefi and bsifi */
--#define INST_TYPE_RD_R1_IMM5_IMM5 21
-+#define INST_TYPE_RD_R1_IMMW_IMMS 21
-+
-+/* For 64-bit instructions */
-+#define INST_TYPE_IMML 22
-+#define INST_TYPE_RD_R1_IMML 23
-+#define INST_TYPE_R1_IMML 24
-+#define INST_TYPE_RD_R1_IMMW_IMMS 21
-
- #define INST_TYPE_NONE 25
-
-@@ -91,13 +97,14 @@
- #define OPCODE_MASK_H24 0xFC1F07FF /* High 6, bits 20-16 and low 11 bits. */
- #define OPCODE_MASK_H124 0xFFFF07FF /* High 16, and low 11 bits. */
- #define OPCODE_MASK_H1234 0xFFFFFFFF /* All 32 bits. */
--#define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
--#define OPCODE_MASK_H3B 0xFC00C600 /* High 6 bits and bits 16, 17, 21, 22. */
-+#define OPCODE_MASK_H3 0xFC000700 /* High 6 bits and bits 21, 22, 23. */
-+#define OPCODE_MASK_H3B 0xFC00E600 /* High 6 bits and bits 16, 17, 18, 21, 22. */
- #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
--#define OPCODE_MASK_H32B 0xFC00C000 /* High 6 bits and bit 16, 17. */
-+#define OPCODE_MASK_H32B 0xFC00E000 /* High 6 bits and bit 16, 17, 18. */
- #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
- #define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
- #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
-+#define OPCODE_MASK_H8 0xFF000000 /* High 8 bits only. */
-
- /* New Mask for msrset, msrclr insns. */
- #define OPCODE_MASK_H23N 0xFC1F8000 /* High 6 and bits 11 - 16. */
-@@ -107,7 +114,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 301
-+#define MAX_OPCODES 412
-
- struct op_code_struct
- {
-@@ -125,6 +132,7 @@ struct op_code_struct
- /* More info about output format here. */
- } opcodes[MAX_OPCODES] =
- {
-+ /* 32-bit instructions */
- {"add", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x00000000, OPCODE_MASK_H4, add, arithmetic_inst },
- {"rsub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H4, rsub, arithmetic_inst },
- {"addc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x08000000, OPCODE_MASK_H4, addc, arithmetic_inst },
-@@ -161,11 +169,11 @@ struct op_code_struct
- {"ncget", INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C006000, OPCODE_MASK_H32, ncget, anyware_inst },
- {"ncput", INST_TYPE_R1_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C00E000, OPCODE_MASK_H32, ncput, anyware_inst },
- {"muli", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x60000000, OPCODE_MASK_H, muli, mult_inst },
-- {"bslli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3, bslli, barrel_shift_inst },
-- {"bsrai", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3, bsrai, barrel_shift_inst },
-- {"bsrli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3, bsrli, barrel_shift_inst },
-- {"bsefi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64004000, OPCODE_MASK_H32B, bsefi, barrel_shift_inst },
-- {"bsifi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64008000, OPCODE_MASK_H32B, bsifi, barrel_shift_inst },
-+ {"bslli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3B, bslli, barrel_shift_inst },
-+ {"bsrai", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3B, bsrai, barrel_shift_inst },
-+ {"bsrli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3B, bsrli, barrel_shift_inst },
-+ {"bsefi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64004000, OPCODE_MASK_H32B, bsefi, barrel_shift_inst },
-+ {"bsifi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64008000, OPCODE_MASK_H32B, bsifi, barrel_shift_inst },
- {"or", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000000, OPCODE_MASK_H4, microblaze_or, logical_inst },
- {"and", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x84000000, OPCODE_MASK_H4, microblaze_and, logical_inst },
- {"xor", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000000, OPCODE_MASK_H4, microblaze_xor, logical_inst },
-@@ -425,6 +433,129 @@ struct op_code_struct
- {"suspend", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBB020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 24. */
- {"swapb", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E0, OPCODE_MASK_H4, swapb, arithmetic_inst },
- {"swaph", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E2, OPCODE_MASK_H4, swaph, arithmetic_inst },
-+
-+ /* 64-bit instructions */
-+ {"addl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x00000100, OPCODE_MASK_H4, addl, arithmetic_inst },
-+ {"rsubl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000100, OPCODE_MASK_H4, rsubl, arithmetic_inst },
-+ {"addlc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x08000100, OPCODE_MASK_H4, addlc, arithmetic_inst },
-+ {"rsublc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x0C000100, OPCODE_MASK_H4, rsublc, arithmetic_inst },
-+ {"addlk", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x10000100, OPCODE_MASK_H4, addlk, arithmetic_inst },
-+ {"rsublk", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000100, OPCODE_MASK_H4, rsublk, arithmetic_inst },
-+ {"addlkc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x18000100, OPCODE_MASK_H4, addlkc, arithmetic_inst },
-+ {"rsublkc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x1C000100, OPCODE_MASK_H4, rsublkc, arithmetic_inst },
-+ {"cmpl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000101, OPCODE_MASK_H4, cmpl, arithmetic_inst },
-+ {"cmplu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000103, OPCODE_MASK_H4, cmplu, arithmetic_inst },
-+ {"addli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x20000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsubli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x24000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlic", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x28000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublic", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x2C000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlik", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublik", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x34000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlikc", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x38000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublikc",INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x3C000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"mull", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x40000100, OPCODE_MASK_H4, mull, mult_inst },
-+ {"bslll", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000500, OPCODE_MASK_H3, bslll, barrel_shift_inst },
-+ {"bslra", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000300, OPCODE_MASK_H3, bslra, barrel_shift_inst },
-+ {"bslrl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000100, OPCODE_MASK_H3, bslrl, barrel_shift_inst },
-+ {"bsllli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64002400, OPCODE_MASK_H3B, bsllli, barrel_shift_inst },
-+ {"bslrai", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64002200, OPCODE_MASK_H3B, bslrai, barrel_shift_inst },
-+ {"bslrli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64002000, OPCODE_MASK_H3B, bslrli, barrel_shift_inst },
-+ {"bslefi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64006000, OPCODE_MASK_H32B, bslefi, barrel_shift_inst },
-+ {"bslifi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6400a000, OPCODE_MASK_H32B, bslifi, barrel_shift_inst },
-+ {"orl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000100, OPCODE_MASK_H4, orl, logical_inst },
-+ {"andl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x84000100, OPCODE_MASK_H4, andl, logical_inst },
-+ {"xorl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000100, OPCODE_MASK_H4, xorl, logical_inst },
-+ {"andnl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x8C000100, OPCODE_MASK_H4, andnl, logical_inst },
-+ {"pcmplbf", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000500, OPCODE_MASK_H4, pcmplbf, logical_inst },
-+ {"pcmpleq", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000500, OPCODE_MASK_H4, pcmpleq, logical_inst },
-+ {"pcmplne", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x8C000500, OPCODE_MASK_H4, pcmplne, logical_inst },
-+ {"srla", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000101, OPCODE_MASK_H34, srla, logical_inst },
-+ {"srlc", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000121, OPCODE_MASK_H34, srlc, logical_inst },
-+ {"srll", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000141, OPCODE_MASK_H34, srll, logical_inst },
-+ {"sextl8", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000160, OPCODE_MASK_H34, sextl8, logical_inst },
-+ {"sextl16", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000161, OPCODE_MASK_H34, sextl16, logical_inst },
-+ {"sextl32", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000162, OPCODE_MASK_H34, sextl32, logical_inst },
-+ {"brea", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98010000, OPCODE_MASK_H124, brea, branch_inst },
-+ {"bread", INST_TYPE_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98110000, OPCODE_MASK_H124, bread, branch_inst },
-+ {"breald", INST_TYPE_RD_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98150000, OPCODE_MASK_H24, breald, branch_inst },
-+ {"beaeq", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D000000, OPCODE_MASK_H14, beaeq, branch_inst },
-+ {"bealeq", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D000100, OPCODE_MASK_H14, bealeq, branch_inst },
-+ {"beaeqd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F000000, OPCODE_MASK_H14, beaeqd, branch_inst },
-+ {"bealeqd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F000100, OPCODE_MASK_H14, bealeqd, branch_inst },
-+ {"beane", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D200000, OPCODE_MASK_H14, beane, branch_inst },
-+ {"bealne", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D200100, OPCODE_MASK_H14, bealne, branch_inst },
-+ {"beaned", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F200000, OPCODE_MASK_H14, beaned, branch_inst },
-+ {"bealned", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F200100, OPCODE_MASK_H14, bealned, branch_inst },
-+ {"bealt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D400000, OPCODE_MASK_H14, bealt, branch_inst },
-+ {"beallt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D400100, OPCODE_MASK_H14, beallt, branch_inst },
-+ {"bealtd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F400000, OPCODE_MASK_H14, bealtd, branch_inst },
-+ {"bealltd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F400100, OPCODE_MASK_H14, bealltd, branch_inst },
-+ {"beale", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D600000, OPCODE_MASK_H14, beale, branch_inst },
-+ {"bealle", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D600100, OPCODE_MASK_H14, bealle, branch_inst },
-+ {"bealed", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F600000, OPCODE_MASK_H14, bealed, branch_inst },
-+ {"bealled", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F600100, OPCODE_MASK_H14, bealled, branch_inst },
-+ {"beagt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D800000, OPCODE_MASK_H14, beagt, branch_inst },
-+ {"bealgt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D800100, OPCODE_MASK_H14, bealgt, branch_inst },
-+ {"beagtd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F800000, OPCODE_MASK_H14, beagtd, branch_inst },
-+ {"bealgtd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F800100, OPCODE_MASK_H14, bealgtd, branch_inst },
-+ {"beage", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9DA00000, OPCODE_MASK_H14, beage, branch_inst },
-+ {"bealge", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9DA00100, OPCODE_MASK_H14, bealge, branch_inst },
-+ {"beaged", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9FA00000, OPCODE_MASK_H14, beaged, branch_inst },
-+ {"bealged", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9FA00100, OPCODE_MASK_H14, bealged, branch_inst },
-+ {"orli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA0000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"andli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA4000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"xorli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA8000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"andnli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xAC000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"imml", INST_TYPE_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB2000000, OPCODE_MASK_H8, imml, immediate_inst },
-+ {"breai", INST_TYPE_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8010000, OPCODE_MASK_H12, breai, branch_inst },
-+ {"breaid", INST_TYPE_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8110000, OPCODE_MASK_H12, breaid, branch_inst },
-+ {"brealid", INST_TYPE_RD_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8150000, OPCODE_MASK_H2, brealid, branch_inst },
-+ {"beaeqi", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD000000, OPCODE_MASK_H1, beaeqi, branch_inst },
-+ {"bealeqi", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD000000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beaeqi */
-+ {"beaeqid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF000000, OPCODE_MASK_H1, beaeqid, branch_inst },
-+ {"bealeqid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF000000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beaeqid */
-+ {"beanei", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD200000, OPCODE_MASK_H1, beanei, branch_inst },
-+ {"bealnei", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD200000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beanei */
-+ {"beaneid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF200000, OPCODE_MASK_H1, beaneid, branch_inst },
-+ {"bealneid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF200000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beaneid */
-+ {"bealti", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD400000, OPCODE_MASK_H1, bealti, branch_inst },
-+ {"beallti", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD400000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealti */
-+ {"bealtid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF400000, OPCODE_MASK_H1, bealtid, branch_inst },
-+ {"bealltid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF400000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealtid */
-+ {"bealei", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD600000, OPCODE_MASK_H1, bealei, branch_inst },
-+ {"beallei", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD600000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealei */
-+ {"bealeid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF600000, OPCODE_MASK_H1, bealeid, branch_inst },
-+ {"bealleid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF600000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealeid */
-+ {"beagti", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD800000, OPCODE_MASK_H1, beagti, branch_inst },
-+ {"bealgti", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD800000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beagti */
-+ {"beagtid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF800000, OPCODE_MASK_H1, beagtid, branch_inst },
-+ {"bealgtid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF800000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beagtid */
-+ {"beagei", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBDA00000, OPCODE_MASK_H1, beagei, branch_inst },
-+ {"bealgei", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBDA00000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beagei */
-+ {"beageid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBFA00000, OPCODE_MASK_H1, beageid, branch_inst },
-+ {"bealgeid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBFA00000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beageid */
-+ {"ll", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000100, OPCODE_MASK_H4, ll, memory_load_inst },
-+ {"llr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000300, OPCODE_MASK_H4, llr, memory_load_inst },
-+ {"sl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000100, OPCODE_MASK_H4, sl, memory_store_inst },
-+ {"slr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000300, OPCODE_MASK_H4, slr, memory_store_inst },
-+ {"lli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, invalid_inst, memory_load_inst }, /* Identical to 32-bit */
-+ {"sli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xF8000000, OPCODE_MASK_H, invalid_inst, memory_store_inst }, /* Identical to 32-bit */
-+ {"lla", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* lla translates to addlik */
-+ {"dadd", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000400, OPCODE_MASK_H4, dadd, arithmetic_inst },
-+ {"drsub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000480, OPCODE_MASK_H4, drsub, arithmetic_inst },
-+ {"dmul", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000500, OPCODE_MASK_H4, dmul, arithmetic_inst },
-+ {"ddiv", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000580, OPCODE_MASK_H4, ddiv, arithmetic_inst },
-+ {"dcmp.lt", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000610, OPCODE_MASK_H4, dcmp_lt, arithmetic_inst },
-+ {"dcmp.eq", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000620, OPCODE_MASK_H4, dcmp_eq, arithmetic_inst },
-+ {"dcmp.le", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000630, OPCODE_MASK_H4, dcmp_le, arithmetic_inst },
-+ {"dcmp.gt", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000640, OPCODE_MASK_H4, dcmp_gt, arithmetic_inst },
-+ {"dcmp.ne", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000650, OPCODE_MASK_H4, dcmp_ne, arithmetic_inst },
-+ {"dcmp.ge", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000660, OPCODE_MASK_H4, dcmp_ge, arithmetic_inst },
-+ {"dcmp.un", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000600, OPCODE_MASK_H4, dcmp_un, arithmetic_inst },
-+ {"dbl", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000680, OPCODE_MASK_H4, dbl, arithmetic_inst },
-+ {"dlong", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000700, OPCODE_MASK_H4, dlong, arithmetic_inst },
-+ {"dsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000780, OPCODE_MASK_H4, dsqrt, arithmetic_inst },
-+
- {"", 0, 0, 0, 0, 0, 0, 0, 0},
- };
-
-@@ -445,8 +576,17 @@ char pvr_register_prefix[] = "rpvr";
- #define MIN_IMM5 ((int) 0x00000000)
- #define MAX_IMM5 ((int) 0x0000001f)
-
-+#define MIN_IMM6 ((int) 0x00000000)
-+#define MAX_IMM6 ((int) 0x0000003f)
-+
- #define MIN_IMM_WIDTH ((int) 0x00000001)
- #define MAX_IMM_WIDTH ((int) 0x00000020)
-
-+#define MIN_IMM6_WIDTH ((int) 0x00000001)
-+#define MAX_IMM6_WIDTH ((int) 0x00000040)
-+
-+#define MIN_IMML ((long) 0xffffff8000000000L)
-+#define MAX_IMML ((long) 0x0000007fffffffffL)
-+
- #endif /* MICROBLAZE_OPC */
-
-diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
-index fa921c90c9..1dcd3dca3d 100644
---- a/opcodes/microblaze-opcm.h
-+++ b/opcodes/microblaze-opcm.h
-@@ -25,6 +25,7 @@
-
- enum microblaze_instr
- {
-+ /* 32-bit instructions */
- add, rsub, addc, rsubc, addk, rsubk, addkc, rsubkc, clz, cmp, cmpu,
- addi, rsubi, addic, rsubic, addik, rsubik, addikc, rsubikc, mul,
- mulh, mulhu, mulhsu,swapb,swaph,
-@@ -58,6 +59,18 @@ enum microblaze_instr
- aputd, taputd, caputd, tcaputd, naputd, tnaputd, ncaputd, tncaputd,
- eagetd, teagetd, ecagetd, tecagetd, neagetd, tneagetd, necagetd, tnecagetd,
- eaputd, teaputd, ecaputd, tecaputd, neaputd, tneaputd, necaputd, tnecaputd,
-+
-+ /* 64-bit instructions */
-+ addl, rsubl, addlc, rsublc, addlk, rsublk, addlkc, rsublkc, cmpl, cmplu, mull,
-+ bslll, bslra, bslrl, bsllli, bslrai, bslrli, bslefi, bslifi, orl, andl, xorl,
-+ andnl, pcmplbf, pcmpleq, pcmplne, srla, srlc, srll, sextl8, sextl16, sextl32,
-+ brea, bread, breald, beaeq, bealeq, beaeqd, bealeqd, beane, bealne, beaned,
-+ bealned, bealt, beallt, bealtd, bealltd, beale, bealle, bealed, bealled, beagt,
-+ bealgt, beagtd, bealgtd, beage, bealge, beaged, bealged, breai, breaid, brealid,
-+ beaeqi, beaeqid, beanei, beaneid, bealti, bealtid, bealei, bealeid, beagti,
-+ beagtid, beagei, beageid, imml, ll, llr, sl, slr,
-+ dadd, drsub, dmul, ddiv, dcmp_lt, dcmp_eq, dcmp_le, dcmp_gt, dcmp_ne, dcmp_ge,
-+ dcmp_un, dbl, dlong, dsqrt,
- invalid_inst
- };
-
-@@ -135,15 +148,18 @@ enum microblaze_instr_type
- #define RA_MASK 0x001F0000
- #define RB_MASK 0x0000F800
- #define IMM_MASK 0x0000FFFF
-+#define IMML_MASK 0x00FFFFFF
-
--/* Imm mask for barrel shifts. */
-+/* Imm masks for barrel shifts. */
- #define IMM5_MASK 0x0000001F
-+#define IMM6_MASK 0x0000003F
-
- /* Imm mask for mbar. */
- #define IMM5_MBAR_MASK 0x03E00000
-
--/* Imm mask for extract/insert width. */
-+/* Imm masks for extract/insert width. */
- #define IMM5_WIDTH_MASK 0x000007C0
-+#define IMM6_WIDTH_MASK 0x00000FC0
-
- /* FSL imm mask for get, put instructions. */
- #define RFSL_MASK 0x000000F
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0015-MB-X-initial-commit.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0015-MB-X-initial-commit.patch
deleted file mode 100644
index 7b87f40f4..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0015-MB-X-initial-commit.patch
+++ /dev/null
@@ -1,684 +0,0 @@
-From 550150a8f97738902539ad774fbd0c977ab3a427 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Sun, 30 Sep 2018 16:31:26 +0530
-Subject: [PATCH 15/52] MB-X initial commit code cleanup is needed.
-
-Conflicts:
- bfd/elf32-microblaze.c
- gas/config/tc-microblaze.c
- opcodes/microblaze-opcm.h
----
- bfd/bfd-in2.h | 10 +++
- bfd/elf32-microblaze.c | 59 +++++++++++++-
- bfd/elf64-microblaze.c | 61 ++++++++++++++-
- bfd/libbfd.h | 2 +
- bfd/reloc.c | 12 +++
- gas/config/tc-microblaze.c | 154 ++++++++++++++++++++++++++++++-------
- include/elf/microblaze.h | 2 +
- opcodes/microblaze-opc.h | 4 +-
- opcodes/microblaze-opcm.h | 4 +-
- 9 files changed, 275 insertions(+), 33 deletions(-)
-
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 1bd19a2b63..a335182ba1 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -5438,11 +5438,21 @@ value in two words (with an imm instruction). No relocation is
- done here - only used for relaxing */
- BFD_RELOC_MICROBLAZE_64_NONE,
-
-+/* This is a 64 bit reloc that stores the 32 bit pc relative
-+ * +value in two words (with an imml instruction). No relocation is
-+ * +done here - only used for relaxing */
-+ BFD_RELOC_MICROBLAZE_64,
-+
- /* This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). The relocation is
- PC-relative GOT offset */
- BFD_RELOC_MICROBLAZE_64_GOTPC,
-
-+/* This is a 64 bit reloc that stores the 32 bit pc relative
-+value in two words (with an imml instruction). The relocation is
-+PC-relative GOT offset */
-+ BFD_RELOC_MICROBLAZE_64_GPC,
-+
- /* This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). The relocation is
- GOT offset */
-diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
-index c22130fd8c..14bb6de052 100644
---- a/bfd/elf32-microblaze.c
-+++ b/bfd/elf32-microblaze.c
-@@ -116,6 +116,20 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
- 0x0000ffff, /* Dest Mask. */
- TRUE), /* PC relative offset? */
-
-+ HOWTO (R_MICROBLAZE_IMML_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_IMML_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
- /* A 64 bit relocation. Table entry not really used. */
- HOWTO (R_MICROBLAZE_64, /* Type. */
- 0, /* Rightshift. */
-@@ -280,6 +294,21 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
- 0x0000ffff, /* Dest Mask. */
- TRUE), /* PC relative offset? */
-
-+ /* A 64 bit GOTPC relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GPC_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc, /* Special Function. */
-+ "R_MICROBLAZE_GPC_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
- /* A 64 bit GOT relocation. Table-entry not really used. */
- HOWTO (R_MICROBLAZE_GOT_64, /* Type. */
- 0, /* Rightshift. */
-@@ -619,9 +648,15 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
- case BFD_RELOC_VTABLE_ENTRY:
- microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
- break;
-+ case BFD_RELOC_MICROBLAZE_64:
-+ microblaze_reloc = R_MICROBLAZE_IMML_64;
-+ break;
- case BFD_RELOC_MICROBLAZE_64_GOTPC:
- microblaze_reloc = R_MICROBLAZE_GOTPC_64;
- break;
-+ case BFD_RELOC_MICROBLAZE_64_GPC:
-+ microblaze_reloc = R_MICROBLAZE_GPC_64;
-+ break;
- case BFD_RELOC_MICROBLAZE_64_GOT:
- microblaze_reloc = R_MICROBLAZE_GOT_64;
- break;
-@@ -1463,7 +1498,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- if (r_symndx == STN_UNDEF || (input_section->flags & SEC_ALLOC) == 0)
- {
- relocation += addend;
-- if (r_type == R_MICROBLAZE_32)
-+ if (r_type == R_MICROBLAZE_32)// || r_type == R_MICROBLAZE_IMML_64)
- bfd_put_32 (input_bfd, relocation, contents + offset);
- else
- {
-@@ -1929,6 +1964,28 @@ microblaze_elf_relax_section (bfd *abfd,
- irel->r_addend -= calc_fixup (irel->r_addend, 0, sec);
- }
- break;
-+ case R_MICROBLAZE_IMML_64:
-+ {
-+ /* This was a PC-relative instruction that was
-+ completely resolved. */
-+ int sfix, efix;
-+ unsigned int val;
-+ bfd_vma target_address;
-+ target_address = irel->r_addend + irel->r_offset;
-+ sfix = calc_fixup (irel->r_offset, 0, sec);
-+ efix = calc_fixup (target_address, 0, sec);
-+
-+ /* Validate the in-band val. */
-+ val = bfd_get_32 (abfd, contents + irel->r_offset);
-+ if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
-+ }
-+ irel->r_addend -= (efix - sfix);
-+ /* Should use HOWTO. */
-+ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
-+ }
-+ break;
- case R_MICROBLAZE_NONE:
- case R_MICROBLAZE_32_NONE:
- {
-diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
-index a357388115..6b1f47d00d 100644
---- a/bfd/elf64-microblaze.c
-+++ b/bfd/elf64-microblaze.c
-@@ -116,6 +116,21 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
- 0x0000ffff, /* Dest Mask. */
- TRUE), /* PC relative offset? */
-
-+ /* A 64 bit relocation. Table entry not really used. */
-+ HOWTO (R_MICROBLAZE_IMML_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 4, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 64, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_IMML_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
- /* A 64 bit relocation. Table entry not really used. */
- HOWTO (R_MICROBLAZE_64, /* Type. */
- 0, /* Rightshift. */
-@@ -265,6 +280,21 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
- 0x0000ffff, /* Dest Mask. */
- TRUE), /* PC relative offset? */
-
-+ /* A 64 bit GOTPC relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GPC_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc, /* Special Function. */
-+ "R_MICROBLAZE_GPC_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
- /* A 64 bit GOT relocation. Table-entry not really used. */
- HOWTO (R_MICROBLAZE_GOT_64, /* Type. */
- 0, /* Rightshift. */
-@@ -589,9 +619,15 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
- case BFD_RELOC_VTABLE_ENTRY:
- microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
- break;
-+ case BFD_RELOC_MICROBLAZE_64:
-+ microblaze_reloc = R_MICROBLAZE_IMML_64;
-+ break;
- case BFD_RELOC_MICROBLAZE_64_GOTPC:
- microblaze_reloc = R_MICROBLAZE_GOTPC_64;
- break;
-+ case BFD_RELOC_MICROBLAZE_64_GPC:
-+ microblaze_reloc = R_MICROBLAZE_GPC_64;
-+ break;
- case BFD_RELOC_MICROBLAZE_64_GOT:
- microblaze_reloc = R_MICROBLAZE_GOT_64;
- break;
-@@ -1172,6 +1208,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- break; /* Do nothing. */
-
- case (int) R_MICROBLAZE_GOTPC_64:
-+ case (int) R_MICROBLAZE_GPC_64:
- relocation = htab->sgotplt->output_section->vma
- + htab->sgotplt->output_offset;
- relocation -= (input_section->output_section->vma
-@@ -1443,7 +1480,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- if (r_symndx == STN_UNDEF || (input_section->flags & SEC_ALLOC) == 0)
- {
- relocation += addend;
-- if (r_type == R_MICROBLAZE_32)
-+ if (r_type == R_MICROBLAZE_32)// || r_type == R_MICROBLAZE_IMML_64)
- bfd_put_32 (input_bfd, relocation, contents + offset);
- else
- {
-@@ -1889,6 +1926,28 @@ microblaze_elf_relax_section (bfd *abfd,
- irel->r_addend -= calc_fixup (irel->r_addend, 0, sec);
- }
- break;
-+ case R_MICROBLAZE_IMML_64:
-+ {
-+ /* This was a PC-relative instruction that was
-+ completely resolved. */
-+ int sfix, efix;
-+ unsigned int val;
-+ bfd_vma target_address;
-+ target_address = irel->r_addend + irel->r_offset;
-+ sfix = calc_fixup (irel->r_offset, 0, sec);
-+ efix = calc_fixup (target_address, 0, sec);
-+
-+ /* Validate the in-band val. */
-+ val = bfd_get_32 (abfd, contents + irel->r_offset);
-+ if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
-+ }
-+ irel->r_addend -= (efix - sfix);
-+ /* Should use HOWTO. */
-+ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
-+ }
-+ break;
- case R_MICROBLAZE_NONE:
- case R_MICROBLAZE_32_NONE:
- {
-diff --git a/bfd/libbfd.h b/bfd/libbfd.h
-index c1551b9240..b4aace6a70 100644
---- a/bfd/libbfd.h
-+++ b/bfd/libbfd.h
-@@ -2969,7 +2969,9 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
- "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
- "BFD_RELOC_MICROBLAZE_32_NONE",
- "BFD_RELOC_MICROBLAZE_64_NONE",
-+ "BFD_RELOC_MICROBLAZE_64",
- "BFD_RELOC_MICROBLAZE_64_GOTPC",
-+ "BFD_RELOC_MICROBLAZE_64_GPC",
- "BFD_RELOC_MICROBLAZE_64_GOT",
- "BFD_RELOC_MICROBLAZE_64_PLT",
- "BFD_RELOC_MICROBLAZE_64_GOTOFF",
-diff --git a/bfd/reloc.c b/bfd/reloc.c
-index 9b39b41941..0e8a24e9cb 100644
---- a/bfd/reloc.c
-+++ b/bfd/reloc.c
-@@ -6866,12 +6866,24 @@ ENUMDOC
- done here - only used for relaxing
- ENUM
- BFD_RELOC_MICROBLAZE_64_NONE
-+ENUMDOC
-+ This is a 32 bit reloc that stores the 32 bit pc relative
-+ value in two words (with an imml instruction). No relocation is
-+ done here - only used for relaxing
-+ENUM
-+ BFD_RELOC_MICROBLAZE_64
- ENUMDOC
- This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). No relocation is
- done here - only used for relaxing
- ENUM
- BFD_RELOC_MICROBLAZE_64_GOTPC
-+ENUMDOC
-+ This is a 64 bit reloc that stores the 32 bit pc relative
-+ value in two words (with an imml instruction). No relocation is
-+ done here - only used for relaxing
-+ENUM
-+ BFD_RELOC_MICROBLAZE_64_GPC
- ENUMDOC
- This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). The relocation is
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index ffbb843d33..33eda2a4da 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -94,6 +94,7 @@ const char FLT_CHARS[] = "rRsSfFdDxXpP";
- #define TLSTPREL_OFFSET 16
- #define TEXT_OFFSET 17
- #define TEXT_PC_OFFSET 18
-+#define DEFINED_64_OFFSET 19
-
- /* Initialize the relax table. */
- const relax_typeS md_relax_table[] =
-@@ -116,7 +117,9 @@ const relax_typeS md_relax_table[] =
- { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 15: TLSGOTTPREL_OFFSET. */
- { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 16: TLSTPREL_OFFSET. */
- { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 17: TEXT_OFFSET. */
-- { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 } /* 18: TEXT_PC_OFFSET. */
-+ { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 18: TEXT_PC_OFFSET. */
-+// { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 } /* 16: TLSTPREL_OFFSET. */
-+ { 0x7fffffffffffffff, 0x8000000000000000, INST_WORD_SIZE, 0 } /* 17: DEFINED_64_OFFSET. */
- };
-
- static struct hash_control * opcode_hash_control; /* Opcode mnemonics. */
-@@ -396,7 +399,8 @@ const pseudo_typeS md_pseudo_table[] =
- {"data32", cons, 4}, /* Same as word. */
- {"ent", s_func, 0}, /* Treat ent as function entry point. */
- {"end", microblaze_s_func, 1}, /* Treat end as function end point. */
-- {"gpword", s_rva, 4}, /* gpword label => store resolved label address in data section. */
-+ {"gpword", s_rva, 8}, /* gpword label => store resolved label address in data section. */
-+ {"gpdword", s_rva, 8}, /* gpword label => store resolved label address in data section. */
- {"weakext", microblaze_s_weakext, 0},
- {"rodata", microblaze_s_rdata, 0},
- {"sdata2", microblaze_s_rdata, 1},
-@@ -405,6 +409,7 @@ const pseudo_typeS md_pseudo_table[] =
- {"sbss", microblaze_s_bss, 1},
- {"text", microblaze_s_text, 0},
- {"word", cons, 4},
-+ {"dword", cons, 8},
- {"frame", s_ignore, 0},
- {"mask", s_ignore, 0}, /* Emitted by gcc. */
- {NULL, NULL, 0}
-@@ -898,7 +903,7 @@ check_got (int * got_type, int * got_len)
- extern bfd_reloc_code_real_type
- parse_cons_expression_microblaze (expressionS *exp, int size)
- {
-- if (size == 4)
-+ if (size == 4 || (microblaze_arch_size == 64 && size == 8))
- {
- /* Handle @GOTOFF et.al. */
- char *save, *gotfree_copy;
-@@ -930,6 +935,7 @@ parse_cons_expression_microblaze (expressionS *exp, int size)
-
- static const char * str_microblaze_ro_anchor = "RO";
- static const char * str_microblaze_rw_anchor = "RW";
-+static const char * str_microblaze_64 = "64";
-
- static bfd_boolean
- check_spl_reg (unsigned * reg)
-@@ -1174,6 +1180,33 @@ md_assemble (char * str)
- inst |= (immed << IMM_LOW) & IMM_MASK;
- }
- }
-+#if 0 //revisit
-+ else if (streq (name, "lli") || streq (name, "sli"))
-+ {
-+ temp = immed & 0xFFFFFFFFFFFF8000;
-+ if ((temp != 0) && (temp != 0xFFFFFFFFFFFF8000))
-+ {
-+ /* Needs an immediate inst. */
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immedl & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+ inst |= (reg1 << RD_LOW) & RD_MASK;
-+ inst |= (reg2 << RA_LOW) & RA_MASK;
-+ inst |= (immed << IMM_LOW) & IMM_MASK;
-+ }
-+#endif
- else
- {
- temp = immed & 0xFFFF8000;
-@@ -1926,6 +1959,7 @@ md_assemble (char * str)
- if (exp.X_op != O_constant)
- {
- char *opc = NULL;
-+ //char *opc = str_microblaze_64;
- relax_substateT subtype;
-
- if (exp.X_md != 0)
-@@ -1939,7 +1973,7 @@ md_assemble (char * str)
- subtype, /* PC-relative or not. */
- exp.X_add_symbol,
- exp.X_add_number,
-- opc);
-+ (char *) opc);
- immedl = 0L;
- }
- else
-@@ -1977,7 +2011,7 @@ md_assemble (char * str)
- reg1 = 0;
- }
- if (strcmp (op_end, ""))
-- op_end = parse_imml (op_end + 1, & exp, MIN_IMM, MAX_IMM);
-+ op_end = parse_imml (op_end + 1, & exp, MIN_IMML, MAX_IMML);
- else
- as_fatal (_("Error in statement syntax"));
-
-@@ -1987,7 +2021,8 @@ md_assemble (char * str)
-
- if (exp.X_op != O_constant)
- {
-- char *opc = NULL;
-+ //char *opc = NULL;
-+ char *opc = str_microblaze_64;
- relax_substateT subtype;
-
- if (exp.X_md != 0)
-@@ -2001,14 +2036,13 @@ md_assemble (char * str)
- subtype, /* PC-relative or not. */
- exp.X_add_symbol,
- exp.X_add_number,
-- opc);
-+ (char *) opc);
- immedl = 0L;
- }
- else
- {
- output = frag_more (isize);
- immedl = exp.X_add_number;
--
- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
- if (opcode1 == NULL)
- {
-@@ -2184,13 +2218,23 @@ md_convert_frag (bfd * abfd ATTRIBUTE_UNUSED,
- fragP->fr_fix += INST_WORD_SIZE * 2;
- fragP->fr_var = 0;
- break;
-+ case DEFINED_64_OFFSET:
-+ if (fragP->fr_symbol == GOT_symbol)
-+ fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE, fragP->fr_symbol,
-+ fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64_GPC);
-+ else
-+ fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE, fragP->fr_symbol,
-+ fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64);
-+ fragP->fr_fix += INST_WORD_SIZE * 2;
-+ fragP->fr_var = 0;
-+ break;
- case DEFINED_ABS_SEGMENT:
- if (fragP->fr_symbol == GOT_symbol)
- fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE * 2, fragP->fr_symbol,
- fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64_GOTPC);
- else
- fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE * 2, fragP->fr_symbol,
-- fragP->fr_offset, FALSE, BFD_RELOC_64);
-+ fragP->fr_offset, TRUE, BFD_RELOC_64);
- fragP->fr_fix += INST_WORD_SIZE * 2;
- fragP->fr_var = 0;
- break;
-@@ -2412,22 +2456,38 @@ md_apply_fix (fixS * fixP,
- case BFD_RELOC_64_PCREL:
- case BFD_RELOC_64:
- case BFD_RELOC_MICROBLAZE_64_TEXTREL:
-+ case BFD_RELOC_MICROBLAZE_64:
- /* Add an imm instruction. First save the current instruction. */
- for (i = 0; i < INST_WORD_SIZE; i++)
- buf[i + INST_WORD_SIZE] = buf[i];
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
-+ {
-+ /* Generate the imm instruction. */
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-
-- /* Generate the imm instruction. */
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
-- if (opcode1 == NULL)
-- {
-- as_bad (_("unknown opcode \"%s\""), "imm");
-- return;
-- }
--
-- inst1 = opcode1->bit_sequence;
-- if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
-- inst1 |= ((val & 0xFFFF0000) >> 16) & IMM_MASK;
--
-+ inst1 = opcode1->bit_sequence;
-+ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
-+ inst1 |= ((val & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ }
-+ else
-+ {
-+ /* Generate the imm instruction. */
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imm");
-+ return;
-+ }
-+
-+ inst1 = opcode1->bit_sequence;
-+ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
-+ inst1 |= ((val & 0xFFFF0000) >> 16) & IMM_MASK;
-+ }
- buf[0] = INST_BYTE0 (inst1);
- buf[1] = INST_BYTE1 (inst1);
- buf[2] = INST_BYTE2 (inst1);
-@@ -2456,6 +2516,7 @@ md_apply_fix (fixS * fixP,
- /* Fall through. */
-
- case BFD_RELOC_MICROBLAZE_64_GOTPC:
-+ case BFD_RELOC_MICROBLAZE_64_GPC:
- case BFD_RELOC_MICROBLAZE_64_GOT:
- case BFD_RELOC_MICROBLAZE_64_PLT:
- case BFD_RELOC_MICROBLAZE_64_GOTOFF:
-@@ -2463,12 +2524,16 @@ md_apply_fix (fixS * fixP,
- /* Add an imm instruction. First save the current instruction. */
- for (i = 0; i < INST_WORD_SIZE; i++)
- buf[i + INST_WORD_SIZE] = buf[i];
--
-- /* Generate the imm instruction. */
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GPC)
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ else
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
- if (opcode1 == NULL)
- {
-- as_bad (_("unknown opcode \"%s\""), "imm");
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GPC)
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ else
-+ as_bad (_("unknown opcode \"%s\""), "imm");
- return;
- }
-
-@@ -2492,6 +2557,8 @@ md_apply_fix (fixS * fixP,
- moves code around due to relaxing. */
- if (fixP->fx_r_type == BFD_RELOC_64_PCREL)
- fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
-+ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
- else if (fixP->fx_r_type == BFD_RELOC_32)
- fixP->fx_r_type = BFD_RELOC_MICROBLAZE_32_NONE;
- else
-@@ -2535,6 +2602,32 @@ md_estimate_size_before_relax (fragS * fragP,
- as_bad (_("Absolute PC-relative value in relaxation code. Assembler error....."));
- abort ();
- }
-+ else if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type
-+ && !S_IS_WEAK (fragP->fr_symbol))
-+ {
-+ if (fragP->fr_opcode != NULL) {
-+ if(streq (fragP->fr_opcode, str_microblaze_64))
-+ {
-+ /* Used as an absolute value. */
-+ fragP->fr_subtype = DEFINED_64_OFFSET;
-+ /* Variable part does not change. */
-+ fragP->fr_var = INST_WORD_SIZE;
-+ }
-+ else
-+ {
-+ fragP->fr_subtype = DEFINED_PC_OFFSET;
-+ /* Don't know now whether we need an imm instruction. */
-+ fragP->fr_var = INST_WORD_SIZE;
-+ }
-+ }
-+ else
-+ {
-+ fragP->fr_subtype = DEFINED_PC_OFFSET;
-+ /* Don't know now whether we need an imm instruction. */
-+ fragP->fr_var = INST_WORD_SIZE;
-+ }
-+ }
-+ #if 0
- else if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type &&
- !S_IS_WEAK (fragP->fr_symbol))
- {
-@@ -2542,6 +2635,7 @@ md_estimate_size_before_relax (fragS * fragP,
- /* Don't know now whether we need an imm instruction. */
- fragP->fr_var = INST_WORD_SIZE;
- }
-+#endif
- else if (S_IS_DEFINED (fragP->fr_symbol)
- && (((S_GET_SEGMENT (fragP->fr_symbol))->flags & SEC_CODE) == 0))
- {
-@@ -2644,6 +2738,7 @@ md_estimate_size_before_relax (fragS * fragP,
- case TLSLD_OFFSET:
- case TLSTPREL_OFFSET:
- case TLSDTPREL_OFFSET:
-+ case DEFINED_64_OFFSET:
- fragP->fr_var = INST_WORD_SIZE*2;
- break;
- case DEFINED_RO_SEGMENT:
-@@ -2697,7 +2792,7 @@ md_pcrel_from_section (fixS * fixp, segT sec ATTRIBUTE_UNUSED)
- else
- {
- /* The case where we are going to resolve things... */
-- if (fixp->fx_r_type == BFD_RELOC_64_PCREL)
-+ if (fixp->fx_r_type == BFD_RELOC_64_PCREL ||fixp->fx_r_type == BFD_RELOC_MICROBLAZE_64)
- return fixp->fx_where + fixp->fx_frag->fr_address + INST_WORD_SIZE;
- else
- return fixp->fx_where + fixp->fx_frag->fr_address;
-@@ -2730,6 +2825,8 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
- case BFD_RELOC_MICROBLAZE_32_RWSDA:
- case BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:
- case BFD_RELOC_MICROBLAZE_64_GOTPC:
-+ case BFD_RELOC_MICROBLAZE_64_GPC:
-+ case BFD_RELOC_MICROBLAZE_64:
- case BFD_RELOC_MICROBLAZE_64_GOT:
- case BFD_RELOC_MICROBLAZE_64_PLT:
- case BFD_RELOC_MICROBLAZE_64_GOTOFF:
-@@ -2872,7 +2969,10 @@ cons_fix_new_microblaze (fragS * frag,
- r = BFD_RELOC_32;
- break;
- case 8:
-- r = BFD_RELOC_64;
-+ if (microblaze_arch_size == 64)
-+ r = BFD_RELOC_32;
-+ else
-+ r = BFD_RELOC_64;
- break;
- default:
- as_bad (_("unsupported BFD relocation size %u"), size);
-diff --git a/include/elf/microblaze.h b/include/elf/microblaze.h
-index 3978a3dc01..938841b240 100644
---- a/include/elf/microblaze.h
-+++ b/include/elf/microblaze.h
-@@ -62,6 +62,8 @@ START_RELOC_NUMBERS (elf_microblaze_reloc_type)
- RELOC_NUMBER (R_MICROBLAZE_TEXTREL_64, 31) /* TEXT Entry offset 64-bit. */
- RELOC_NUMBER (R_MICROBLAZE_TEXTREL_32_LO, 32) /* TEXT Entry offset 32-bit. */
- RELOC_NUMBER (R_MICROBLAZE_32_NONE, 33)
-+ RELOC_NUMBER (R_MICROBLAZE_IMML_64, 34)
-+ RELOC_NUMBER (R_MICROBLAZE_GPC_64, 35) /* GOT entry offset. */
-
- END_RELOC_NUMBERS (R_MICROBLAZE_max)
-
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index 61eaa39b3e..f2139a6839 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -538,8 +538,8 @@ struct op_code_struct
- {"llr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000300, OPCODE_MASK_H4, llr, memory_load_inst },
- {"sl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000100, OPCODE_MASK_H4, sl, memory_store_inst },
- {"slr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000300, OPCODE_MASK_H4, slr, memory_store_inst },
-- {"lli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, invalid_inst, memory_load_inst }, /* Identical to 32-bit */
-- {"sli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xF8000000, OPCODE_MASK_H, invalid_inst, memory_store_inst }, /* Identical to 32-bit */
-+ {"lli", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xEC000000, OPCODE_MASK_H, invalid_inst, memory_load_inst }, /* Identical to 32-bit */
-+ {"sli", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xFC000000, OPCODE_MASK_H, invalid_inst, memory_store_inst }, /* Identical to 32-bit */
- {"lla", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* lla translates to addlik */
- {"dadd", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000400, OPCODE_MASK_H4, dadd, arithmetic_inst },
- {"drsub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000480, OPCODE_MASK_H4, drsub, arithmetic_inst },
-diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
-index 1dcd3dca3d..fcf259a362 100644
---- a/opcodes/microblaze-opcm.h
-+++ b/opcodes/microblaze-opcm.h
-@@ -40,8 +40,8 @@ enum microblaze_instr
- imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
- brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
- bgtid, bgei, bgeid, lbu, lbuea, lbur, lhu, lhuea, lhur, lw, lwea, lwr, lwx,
-- sb, sbea, sbr, sh, shea, shr, sw, swea, swr, swx, lbui, lhui, lwi,
-- sbi, shi, swi, msrset, msrclr, tuqula, mbi_fadd, frsub, mbi_fmul, mbi_fdiv,
-+ sb, sbea, sbr, sh, shea, shr, sw, swea, swr, swx, lbui, lhui, lwi, lli,
-+ sbi, shi, swi, sli, msrset, msrclr, tuqula, mbi_fadd, frsub, mbi_fmul, mbi_fdiv,
- fcmp_lt, fcmp_eq, fcmp_le, fcmp_gt, fcmp_ne, fcmp_ge, fcmp_un, flt,
- fint, fsqrt,
- tget, tcget, tnget, tncget, tput, tcput, tnput, tncput,
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0016-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0016-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch
deleted file mode 100644
index 6a3e34c42..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0016-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 5b9a1079eefbfbe23992f231ad69af488040e302 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 11 Sep 2018 13:48:33 +0530
-Subject: [PATCH 16/52] [Patch,Microblaze] : negl instruction is overriding
- rsubl,fixed it by changing the instruction order...
-
----
- opcodes/microblaze-opc.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index f2139a6839..f970941209 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -275,9 +275,7 @@ struct op_code_struct
- {"la", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* la translates to addik. */
- {"tuqula",INST_TYPE_RD, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x3000002A, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* tuqula rd translates to addik rd, r0, 42. */
- {"not", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA800FFFF, OPCODE_MASK_H34, invalid_inst, logical_inst }, /* not translates to xori rd,ra,-1. */
-- {"neg", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* neg translates to rsub rd, ra, r0. */
- {"rtb", INST_TYPE_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB6000004, OPCODE_MASK_H1, invalid_inst, return_inst }, /* rtb translates to rts rd, 4. */
-- {"sub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* sub translates to rsub rd, rb, ra. */
- {"lmi", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, invalid_inst, memory_load_inst },
- {"smi", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xF8000000, OPCODE_MASK_H, invalid_inst, memory_store_inst },
- {"msrset",INST_TYPE_RD_IMM15, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x94100000, OPCODE_MASK_H23N, msrset, special_inst },
-@@ -555,6 +553,8 @@ struct op_code_struct
- {"dbl", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000680, OPCODE_MASK_H4, dbl, arithmetic_inst },
- {"dlong", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000700, OPCODE_MASK_H4, dlong, arithmetic_inst },
- {"dsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000780, OPCODE_MASK_H4, dsqrt, arithmetic_inst },
-+ {"neg", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* neg translates to rsub rd, ra, r0. */
-+ {"sub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* sub translates to rsub rd, rb, ra. */
-
- {"", 0, 0, 0, 0, 0, 0, 0, 0},
- };
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0017-Added-relocations-for-MB-X.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0017-Added-relocations-for-MB-X.patch
deleted file mode 100644
index 3e0773b0f..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0017-Added-relocations-for-MB-X.patch
+++ /dev/null
@@ -1,346 +0,0 @@
-From 442430f1010a9e16821e68ca2842579538ff564b Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Tue, 11 Sep 2018 17:30:17 +0530
-Subject: [PATCH 17/52] Added relocations for MB-X
-
-Conflicts:
- bfd/bfd-in2.h
- gas/config/tc-microblaze.c
----
- bfd/bfd-in2.h | 9 +++-
- bfd/libbfd.h | 4 +-
- bfd/reloc.c | 26 ++++++-----
- gas/config/tc-microblaze.c | 90 ++++++++++++++++----------------------
- 4 files changed, 61 insertions(+), 68 deletions(-)
-
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index a335182ba1..57ea4f6132 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -5436,13 +5436,18 @@ done here - only used for relaxing */
- /* This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). No relocation is
- done here - only used for relaxing */
-- BFD_RELOC_MICROBLAZE_64_NONE,
-+ BFD_RELOC_MICROBLAZE_64_PCREL,
-
--/* This is a 64 bit reloc that stores the 32 bit pc relative
-+/* This is a 64 bit reloc that stores the 32 bit relative
- * +value in two words (with an imml instruction). No relocation is
- * +done here - only used for relaxing */
- BFD_RELOC_MICROBLAZE_64,
-
-+/* This is a 64 bit reloc that stores the 32 bit pc relative
-+ * +value in two words (with an imm instruction). No relocation is
-+ * +done here - only used for relaxing */
-+ BFD_RELOC_MICROBLAZE_64_NONE,
-+
- /* This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). The relocation is
- PC-relative GOT offset */
-diff --git a/bfd/libbfd.h b/bfd/libbfd.h
-index b4aace6a70..b4b7ee29a3 100644
---- a/bfd/libbfd.h
-+++ b/bfd/libbfd.h
-@@ -2969,14 +2969,14 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
- "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
- "BFD_RELOC_MICROBLAZE_32_NONE",
- "BFD_RELOC_MICROBLAZE_64_NONE",
-- "BFD_RELOC_MICROBLAZE_64",
- "BFD_RELOC_MICROBLAZE_64_GOTPC",
-- "BFD_RELOC_MICROBLAZE_64_GPC",
- "BFD_RELOC_MICROBLAZE_64_GOT",
- "BFD_RELOC_MICROBLAZE_64_PLT",
- "BFD_RELOC_MICROBLAZE_64_GOTOFF",
- "BFD_RELOC_MICROBLAZE_32_GOTOFF",
- "BFD_RELOC_MICROBLAZE_COPY",
-+ "BFD_RELOC_MICROBLAZE_64",
-+ "BFD_RELOC_MICROBLAZE_64_PCREL",
- "BFD_RELOC_MICROBLAZE_64_TLS",
- "BFD_RELOC_MICROBLAZE_64_TLSGD",
- "BFD_RELOC_MICROBLAZE_64_TLSLD",
-diff --git a/bfd/reloc.c b/bfd/reloc.c
-index 0e8a24e9cb..b5c97da3ff 100644
---- a/bfd/reloc.c
-+++ b/bfd/reloc.c
-@@ -6866,24 +6866,12 @@ ENUMDOC
- done here - only used for relaxing
- ENUM
- BFD_RELOC_MICROBLAZE_64_NONE
--ENUMDOC
-- This is a 32 bit reloc that stores the 32 bit pc relative
-- value in two words (with an imml instruction). No relocation is
-- done here - only used for relaxing
--ENUM
-- BFD_RELOC_MICROBLAZE_64
- ENUMDOC
- This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). No relocation is
- done here - only used for relaxing
- ENUM
- BFD_RELOC_MICROBLAZE_64_GOTPC
--ENUMDOC
-- This is a 64 bit reloc that stores the 32 bit pc relative
-- value in two words (with an imml instruction). No relocation is
-- done here - only used for relaxing
--ENUM
-- BFD_RELOC_MICROBLAZE_64_GPC
- ENUMDOC
- This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). The relocation is
-@@ -6969,6 +6957,20 @@ ENUMDOC
- value in two words (with an imm instruction). The relocation is
- relative offset from start of TEXT.
-
-+ This is a 64 bit reloc that stores 64-bit thread pointer relative offset
-+ to two words (uses imml instruction).
-+ENUM
-+BFD_RELOC_MICROBLAZE_64,
-+ENUMDOC
-+ This is a 64 bit reloc that stores the 64 bit pc relative
-+ value in two words (with an imml instruction). No relocation is
-+ done here - only used for relaxing
-+ENUM
-+BFD_RELOC_MICROBLAZE_64_PCREL,
-+ENUMDOC
-+ This is a 32 bit reloc that stores the 32 bit pc relative
-+ value in two words (with an imml instruction). No relocation is
-+ done here - only used for relaxing
- ENUM
- BFD_RELOC_AARCH64_RELOC_START
- ENUMDOC
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 33eda2a4da..5e11a77e70 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -95,6 +95,7 @@ const char FLT_CHARS[] = "rRsSfFdDxXpP";
- #define TEXT_OFFSET 17
- #define TEXT_PC_OFFSET 18
- #define DEFINED_64_OFFSET 19
-+#define DEFINED_64_PC_OFFSET 20
-
- /* Initialize the relax table. */
- const relax_typeS md_relax_table[] =
-@@ -119,7 +120,8 @@ const relax_typeS md_relax_table[] =
- { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 17: TEXT_OFFSET. */
- { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 18: TEXT_PC_OFFSET. */
- // { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 } /* 16: TLSTPREL_OFFSET. */
-- { 0x7fffffffffffffff, 0x8000000000000000, INST_WORD_SIZE, 0 } /* 17: DEFINED_64_OFFSET. */
-+ { 0x7fffffffffffffff, 0x8000000000000000, INST_WORD_SIZE, 0 }, /* 19: DEFINED_64_OFFSET. */
-+ { 0x7fffffffffffffff, 0x8000000000000000, INST_WORD_SIZE*2, 0 } /* 20: DEFINED_64_PC_OFFSET. */
- };
-
- static struct hash_control * opcode_hash_control; /* Opcode mnemonics. */
-@@ -1180,33 +1182,6 @@ md_assemble (char * str)
- inst |= (immed << IMM_LOW) & IMM_MASK;
- }
- }
--#if 0 //revisit
-- else if (streq (name, "lli") || streq (name, "sli"))
-- {
-- temp = immed & 0xFFFFFFFFFFFF8000;
-- if ((temp != 0) && (temp != 0xFFFFFFFFFFFF8000))
-- {
-- /* Needs an immediate inst. */
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-- if (opcode1 == NULL)
-- {
-- as_bad (_("unknown opcode \"%s\""), "imml");
-- return;
-- }
--
-- inst1 = opcode1->bit_sequence;
-- inst1 |= ((immedl & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-- output[0] = INST_BYTE0 (inst1);
-- output[1] = INST_BYTE1 (inst1);
-- output[2] = INST_BYTE2 (inst1);
-- output[3] = INST_BYTE3 (inst1);
-- output = frag_more (isize);
-- }
-- inst |= (reg1 << RD_LOW) & RD_MASK;
-- inst |= (reg2 << RA_LOW) & RA_MASK;
-- inst |= (immed << IMM_LOW) & IMM_MASK;
-- }
--#endif
- else
- {
- temp = immed & 0xFFFF8000;
-@@ -1958,8 +1933,8 @@ md_assemble (char * str)
-
- if (exp.X_op != O_constant)
- {
-- char *opc = NULL;
-- //char *opc = str_microblaze_64;
-+ //char *opc = NULL;
-+ char *opc = str_microblaze_64;
- relax_substateT subtype;
-
- if (exp.X_md != 0)
-@@ -2218,13 +2193,19 @@ md_convert_frag (bfd * abfd ATTRIBUTE_UNUSED,
- fragP->fr_fix += INST_WORD_SIZE * 2;
- fragP->fr_var = 0;
- break;
-+ case DEFINED_64_PC_OFFSET:
-+ fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE, fragP->fr_symbol,
-+ fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64_PCREL);
-+ fragP->fr_fix += INST_WORD_SIZE * 2;
-+ fragP->fr_var = 0;
-+ break;
- case DEFINED_64_OFFSET:
- if (fragP->fr_symbol == GOT_symbol)
- fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE, fragP->fr_symbol,
-- fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64_GPC);
-+ fragP->fr_offset, FALSE, BFD_RELOC_MICROBLAZE_64_GPC);
- else
- fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE, fragP->fr_symbol,
-- fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64);
-+ fragP->fr_offset, FALSE, BFD_RELOC_MICROBLAZE_64);
- fragP->fr_fix += INST_WORD_SIZE * 2;
- fragP->fr_var = 0;
- break;
-@@ -2234,7 +2215,7 @@ md_convert_frag (bfd * abfd ATTRIBUTE_UNUSED,
- fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64_GOTPC);
- else
- fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE * 2, fragP->fr_symbol,
-- fragP->fr_offset, TRUE, BFD_RELOC_64);
-+ fragP->fr_offset, FALSE, BFD_RELOC_64);
- fragP->fr_fix += INST_WORD_SIZE * 2;
- fragP->fr_var = 0;
- break;
-@@ -2453,14 +2434,17 @@ md_apply_fix (fixS * fixP,
- }
- }
- break;
-+
- case BFD_RELOC_64_PCREL:
- case BFD_RELOC_64:
- case BFD_RELOC_MICROBLAZE_64_TEXTREL:
- case BFD_RELOC_MICROBLAZE_64:
-+ case BFD_RELOC_MICROBLAZE_64_PCREL:
- /* Add an imm instruction. First save the current instruction. */
- for (i = 0; i < INST_WORD_SIZE; i++)
- buf[i + INST_WORD_SIZE] = buf[i];
-- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64
-+ || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
- {
- /* Generate the imm instruction. */
- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-@@ -2473,6 +2457,10 @@ md_apply_fix (fixS * fixP,
- inst1 = opcode1->bit_sequence;
- if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
- inst1 |= ((val & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
-+ fixP->fx_r_type = BFD_RELOC_64;
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
-+ fixP->fx_r_type = BFD_RELOC_64_PCREL;
- }
- else
- {
-@@ -2483,7 +2471,7 @@ md_apply_fix (fixS * fixP,
- as_bad (_("unknown opcode \"%s\""), "imm");
- return;
- }
--
-+
- inst1 = opcode1->bit_sequence;
- if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
- inst1 |= ((val & 0xFFFF0000) >> 16) & IMM_MASK;
-@@ -2530,7 +2518,7 @@ md_apply_fix (fixS * fixP,
- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
- if (opcode1 == NULL)
- {
-- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GPC)
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GPC)
- as_bad (_("unknown opcode \"%s\""), "imml");
- else
- as_bad (_("unknown opcode \"%s\""), "imm");
-@@ -2557,8 +2545,6 @@ md_apply_fix (fixS * fixP,
- moves code around due to relaxing. */
- if (fixP->fx_r_type == BFD_RELOC_64_PCREL)
- fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
-- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
-- fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
- else if (fixP->fx_r_type == BFD_RELOC_32)
- fixP->fx_r_type = BFD_RELOC_MICROBLAZE_32_NONE;
- else
-@@ -2609,33 +2595,24 @@ md_estimate_size_before_relax (fragS * fragP,
- if(streq (fragP->fr_opcode, str_microblaze_64))
- {
- /* Used as an absolute value. */
-- fragP->fr_subtype = DEFINED_64_OFFSET;
-+ fragP->fr_subtype = DEFINED_64_PC_OFFSET;
- /* Variable part does not change. */
-- fragP->fr_var = INST_WORD_SIZE;
-+ fragP->fr_var = INST_WORD_SIZE*2;
- }
- else
- {
- fragP->fr_subtype = DEFINED_PC_OFFSET;
-- /* Don't know now whether we need an imm instruction. */
-+ /* Don't know now whether we need an imm instruction. */
- fragP->fr_var = INST_WORD_SIZE;
- }
- }
- else
- {
- fragP->fr_subtype = DEFINED_PC_OFFSET;
-- /* Don't know now whether we need an imm instruction. */
-+ /* Don't know now whether we need an imm instruction. */
- fragP->fr_var = INST_WORD_SIZE;
- }
- }
-- #if 0
-- else if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type &&
-- !S_IS_WEAK (fragP->fr_symbol))
-- {
-- fragP->fr_subtype = DEFINED_PC_OFFSET;
-- /* Don't know now whether we need an imm instruction. */
-- fragP->fr_var = INST_WORD_SIZE;
-- }
--#endif
- else if (S_IS_DEFINED (fragP->fr_symbol)
- && (((S_GET_SEGMENT (fragP->fr_symbol))->flags & SEC_CODE) == 0))
- {
-@@ -2665,6 +2642,13 @@ md_estimate_size_before_relax (fragS * fragP,
- /* Variable part does not change. */
- fragP->fr_var = INST_WORD_SIZE*2;
- }
-+ else if (streq (fragP->fr_opcode, str_microblaze_64))
-+ {
-+ /* Used as an absolute value. */
-+ fragP->fr_subtype = DEFINED_64_OFFSET;
-+ /* Variable part does not change. */
-+ fragP->fr_var = INST_WORD_SIZE;
-+ }
- else if (streq (fragP->fr_opcode, str_microblaze_ro_anchor))
- {
- /* It is accessed using the small data read only anchor. */
-@@ -2739,6 +2723,7 @@ md_estimate_size_before_relax (fragS * fragP,
- case TLSTPREL_OFFSET:
- case TLSDTPREL_OFFSET:
- case DEFINED_64_OFFSET:
-+ case DEFINED_64_PC_OFFSET:
- fragP->fr_var = INST_WORD_SIZE*2;
- break;
- case DEFINED_RO_SEGMENT:
-@@ -2792,7 +2777,7 @@ md_pcrel_from_section (fixS * fixp, segT sec ATTRIBUTE_UNUSED)
- else
- {
- /* The case where we are going to resolve things... */
-- if (fixp->fx_r_type == BFD_RELOC_64_PCREL ||fixp->fx_r_type == BFD_RELOC_MICROBLAZE_64)
-+ if (fixp->fx_r_type == BFD_RELOC_64_PCREL ||fixp->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
- return fixp->fx_where + fixp->fx_frag->fr_address + INST_WORD_SIZE;
- else
- return fixp->fx_where + fixp->fx_frag->fr_address;
-@@ -2827,6 +2812,7 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
- case BFD_RELOC_MICROBLAZE_64_GOTPC:
- case BFD_RELOC_MICROBLAZE_64_GPC:
- case BFD_RELOC_MICROBLAZE_64:
-+ case BFD_RELOC_MICROBLAZE_64_PCREL:
- case BFD_RELOC_MICROBLAZE_64_GOT:
- case BFD_RELOC_MICROBLAZE_64_PLT:
- case BFD_RELOC_MICROBLAZE_64_GOTOFF:
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0018-Fixed-MB-x-relocation-issues.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0018-Fixed-MB-x-relocation-issues.patch
deleted file mode 100644
index 315d04450..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0018-Fixed-MB-x-relocation-issues.patch
+++ /dev/null
@@ -1,373 +0,0 @@
-From 5b1793fe6dfb16755f584821023145bdfc4b55d7 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Fri, 28 Sep 2018 12:04:55 +0530
-Subject: [PATCH 18/52] -Fixed MB-x relocation issues -Added imml for required
- MB-x instructions
-
----
- bfd/elf64-microblaze.c | 68 ++++++++++++++---
- gas/config/tc-microblaze.c | 152 +++++++++++++++++++++++++++----------
- gas/tc.h | 2 +-
- 3 files changed, 167 insertions(+), 55 deletions(-)
-
-diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
-index 6b1f47d00d..6676d9f93d 100644
---- a/bfd/elf64-microblaze.c
-+++ b/bfd/elf64-microblaze.c
-@@ -1488,8 +1488,17 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- relocation -= (input_section->output_section->vma
- + input_section->output_offset
- + offset + INST_WORD_SIZE);
-- bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
-+ if (insn == 0xb2000000 || insn == 0xb2ffffff)
-+ {
-+ insn &= ~0x00ffffff;
-+ insn |= (relocation >> 16) & 0xffffff;
-+ bfd_put_32 (input_bfd, insn,
- contents + offset + endian);
-+ }
-+ else
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
- bfd_put_16 (input_bfd, relocation & 0xffff,
- contents + offset + endian + INST_WORD_SIZE);
- }
-@@ -1580,11 +1589,28 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- else
- {
- if (r_type == R_MICROBLAZE_64_PCREL)
-- relocation -= (input_section->output_section->vma
-- + input_section->output_offset
-- + offset + INST_WORD_SIZE);
-- bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ {
-+ if (!input_section->output_section->vma &&
-+ !input_section->output_offset && !offset)
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset);
-+ else
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ }
-+ unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
-+ if (insn == 0xb2000000 || insn == 0xb2ffffff)
-+ {
-+ insn &= ~0x00ffffff;
-+ insn |= (relocation >> 16) & 0xffffff;
-+ bfd_put_32 (input_bfd, insn,
- contents + offset + endian);
-+ }
-+ else
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
- bfd_put_16 (input_bfd, relocation & 0xffff,
- contents + offset + endian + INST_WORD_SIZE);
- }
-@@ -1703,9 +1729,19 @@ static void
- microblaze_bfd_write_imm_value_32 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
- {
- unsigned long instr = bfd_get_32 (abfd, bfd_addr);
-- instr &= ~0x0000ffff;
-- instr |= (val & 0x0000ffff);
-- bfd_put_32 (abfd, instr, bfd_addr);
-+
-+ if (instr == 0xb2000000 || instr == 0xb2ffffff)
-+ {
-+ instr &= ~0x00ffffff;
-+ instr |= (val & 0xffffff);
-+ bfd_put_32 (abfd, instr, bfd_addr);
-+ }
-+ else
-+ {
-+ instr &= ~0x0000ffff;
-+ instr |= (val & 0x0000ffff);
-+ bfd_put_32 (abfd, instr, bfd_addr);
-+ }
- }
-
- /* Read-modify-write into the bfd, an immediate value into appropriate fields of
-@@ -1717,10 +1753,18 @@ microblaze_bfd_write_imm_value_64 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
- unsigned long instr_lo;
-
- instr_hi = bfd_get_32 (abfd, bfd_addr);
-- instr_hi &= ~0x0000ffff;
-- instr_hi |= ((val >> 16) & 0x0000ffff);
-- bfd_put_32 (abfd, instr_hi, bfd_addr);
--
-+ if (instr_hi == 0xb2000000 || instr_hi == 0xb2ffffff)
-+ {
-+ instr_hi &= ~0x00ffffff;
-+ instr_hi |= (val >> 16) & 0xffffff;
-+ bfd_put_32 (abfd, instr_hi,bfd_addr);
-+ }
-+ else
-+ {
-+ instr_hi &= ~0x0000ffff;
-+ instr_hi |= ((val >> 16) & 0x0000ffff);
-+ bfd_put_32 (abfd, instr_hi, bfd_addr);
-+ }
- instr_lo = bfd_get_32 (abfd, bfd_addr + INST_WORD_SIZE);
- instr_lo &= ~0x0000ffff;
- instr_lo |= (val & 0x0000ffff);
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 5e11a77e70..48f306ef41 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -392,7 +392,7 @@ microblaze_s_weakext (int ignore ATTRIBUTE_UNUSED)
- Integer arg to pass to the function. */
- /* If the pseudo-op is not found in this table, it searches in the obj-elf.c,
- and then in the read.c table. */
--const pseudo_typeS md_pseudo_table[] =
-+pseudo_typeS md_pseudo_table[] =
- {
- {"lcomm", microblaze_s_lcomm, 1},
- {"data", microblaze_s_data, 0},
-@@ -401,7 +401,7 @@ const pseudo_typeS md_pseudo_table[] =
- {"data32", cons, 4}, /* Same as word. */
- {"ent", s_func, 0}, /* Treat ent as function entry point. */
- {"end", microblaze_s_func, 1}, /* Treat end as function end point. */
-- {"gpword", s_rva, 8}, /* gpword label => store resolved label address in data section. */
-+ {"gpword", s_rva, 4}, /* gpword label => store resolved label address in data section. */
- {"gpdword", s_rva, 8}, /* gpword label => store resolved label address in data section. */
- {"weakext", microblaze_s_weakext, 0},
- {"rodata", microblaze_s_rdata, 0},
-@@ -996,7 +996,7 @@ md_assemble (char * str)
- unsigned reg2;
- unsigned reg3;
- unsigned isize;
-- unsigned int immed, immed2, temp;
-+ unsigned long immed, immed2, temp;
- expressionS exp;
- char name[20];
- long immedl;
-@@ -1118,8 +1118,9 @@ md_assemble (char * str)
- as_fatal (_("lmi pseudo instruction should not use a label in imm field"));
- else if (streq (name, "smi"))
- as_fatal (_("smi pseudo instruction should not use a label in imm field"));
--
-- if (reg2 == REG_ROSDP)
-+ if(streq (name, "lli") || streq (name, "sli"))
-+ opc = str_microblaze_64;
-+ else if (reg2 == REG_ROSDP)
- opc = str_microblaze_ro_anchor;
- else if (reg2 == REG_RWSDP)
- opc = str_microblaze_rw_anchor;
-@@ -1182,31 +1183,55 @@ md_assemble (char * str)
- inst |= (immed << IMM_LOW) & IMM_MASK;
- }
- }
-- else
-- {
-- temp = immed & 0xFFFF8000;
-- if ((temp != 0) && (temp != 0xFFFF8000))
-- {
-+ else if (streq (name, "lli") || streq (name, "sli"))
-+ {
-+ temp = immed & 0xFFFFFF8000;
-+ if (temp != 0 && temp != 0xFFFFFF8000)
-+ {
- /* Needs an immediate inst. */
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
- if (opcode1 == NULL)
- {
-- as_bad (_("unknown opcode \"%s\""), "imm");
-+ as_bad (_("unknown opcode \"%s\""), "imml");
- return;
- }
--
- inst1 = opcode1->bit_sequence;
-- inst1 |= ((immed & 0xFFFF0000) >> 16) & IMM_MASK;
-+ inst1 |= ((immed & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
- output[0] = INST_BYTE0 (inst1);
- output[1] = INST_BYTE1 (inst1);
- output[2] = INST_BYTE2 (inst1);
- output[3] = INST_BYTE3 (inst1);
- output = frag_more (isize);
-- }
-- inst |= (reg1 << RD_LOW) & RD_MASK;
-- inst |= (reg2 << RA_LOW) & RA_MASK;
-- inst |= (immed << IMM_LOW) & IMM_MASK;
-- }
-+ }
-+ inst |= (reg1 << RD_LOW) & RD_MASK;
-+ inst |= (reg2 << RA_LOW) & RA_MASK;
-+ inst |= (immed << IMM_LOW) & IMM_MASK;
-+ }
-+ else
-+ {
-+ temp = immed & 0xFFFF8000;
-+ if ((temp != 0) && (temp != 0xFFFF8000))
-+ {
-+ /* Needs an immediate inst. */
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imm");
-+ return;
-+ }
-+
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immed & 0xFFFF0000) >> 16) & IMM_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+ inst |= (reg1 << RD_LOW) & RD_MASK;
-+ inst |= (reg2 << RA_LOW) & RA_MASK;
-+ inst |= (immed << IMM_LOW) & IMM_MASK;
-+ }
- break;
-
- case INST_TYPE_RD_R1_IMMS:
-@@ -1832,12 +1857,20 @@ md_assemble (char * str)
- case INST_TYPE_IMM:
- if (streq (name, "imm"))
- as_fatal (_("An IMM instruction should not be present in the .s file"));
--
-- op_end = parse_imm (op_end + 1, & exp, MIN_IMM, MAX_IMM);
-+ if (microblaze_arch_size == 64)
-+ op_end = parse_imml (op_end + 1, & exp, MIN_IMML, MAX_IMML);
-+ else
-+ op_end = parse_imm (op_end + 1, & exp, MIN_IMM, MAX_IMM);
-
- if (exp.X_op != O_constant)
- {
-- char *opc = NULL;
-+ char *opc;
-+ if (microblaze_arch_size == 64 && (streq (name, "breai") ||
-+ streq (name, "breaid") ||
-+ streq (name, "brai") || streq (name, "braid")))
-+ opc = str_microblaze_64;
-+ else
-+ opc = NULL;
- relax_substateT subtype;
-
- if (exp.X_md != 0)
-@@ -1860,27 +1893,54 @@ md_assemble (char * str)
- immed = exp.X_add_number;
- }
-
-+ if (microblaze_arch_size == 64 && (streq (name, "breai") ||
-+ streq (name, "breaid") ||
-+ streq (name, "brai") || streq (name, "braid")))
-+ {
-+ temp = immed & 0xFFFFFF8000;
-+ if (temp != 0)
-+ {
-+ /* Needs an immediate inst. */
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-
-- temp = immed & 0xFFFF8000;
-- if ((temp != 0) && (temp != 0xFFFF8000))
-- {
-- /* Needs an immediate inst. */
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
-- if (opcode1 == NULL)
-- {
-- as_bad (_("unknown opcode \"%s\""), "imm");
-- return;
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immed & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
- }
-+ inst |= (immed << IMM_LOW) & IMM_MASK;
-+ }
-+ else
-+ {
-+ temp = immed & 0xFFFF8000;
-+ if ((temp != 0) && (temp != 0xFFFF8000))
-+ {
-+ /* Needs an immediate inst. */
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imm");
-+ return;
-+ }
-
-- inst1 = opcode1->bit_sequence;
-- inst1 |= ((immed & 0xFFFF0000) >> 16) & IMM_MASK;
-- output[0] = INST_BYTE0 (inst1);
-- output[1] = INST_BYTE1 (inst1);
-- output[2] = INST_BYTE2 (inst1);
-- output[3] = INST_BYTE3 (inst1);
-- output = frag_more (isize);
-- }
-- inst |= (immed << IMM_LOW) & IMM_MASK;
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immed & 0xFFFF0000) >> 16) & IMM_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+ inst |= (immed << IMM_LOW) & IMM_MASK;
-+ }
- break;
-
- case INST_TYPE_NONE:
-@@ -2456,7 +2516,7 @@ md_apply_fix (fixS * fixP,
-
- inst1 = opcode1->bit_sequence;
- if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
-- inst1 |= ((val & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ inst1 |= ((val & 0xFFFFFF0000L) >> 16) & IMML_MASK;
- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
- fixP->fx_r_type = BFD_RELOC_64;
- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
-@@ -2624,7 +2684,14 @@ md_estimate_size_before_relax (fragS * fragP,
- }
- else
- {
-- fragP->fr_subtype = UNDEFINED_PC_OFFSET;
-+ if (fragP->fr_opcode != NULL) {
-+ if (streq (fragP->fr_opcode, str_microblaze_64))
-+ fragP->fr_subtype = DEFINED_64_PC_OFFSET;
-+ else
-+ fragP->fr_subtype = UNDEFINED_PC_OFFSET;
-+ }
-+ else
-+ fragP->fr_subtype = UNDEFINED_PC_OFFSET;
- fragP->fr_var = INST_WORD_SIZE*2;
- }
- break;
-@@ -2901,6 +2968,7 @@ md_parse_option (int c, const char * arg ATTRIBUTE_UNUSED)
- case OPTION_M64:
- //if (arg != NULL && strcmp (arg, "64") == 0)
- microblaze_arch_size = 64;
-+ md_pseudo_table[7].poc_val = 8;
- break;
- default:
- return 0;
-diff --git a/gas/tc.h b/gas/tc.h
-index da1738d67a..5bdfe5c347 100644
---- a/gas/tc.h
-+++ b/gas/tc.h
-@@ -22,7 +22,7 @@
- /* In theory (mine, at least!) the machine dependent part of the assembler
- should only have to include one file. This one. -- JF */
-
--extern const pseudo_typeS md_pseudo_table[];
-+extern pseudo_typeS md_pseudo_table[];
-
- const char * md_atof (int, char *, int *);
- int md_parse_option (int, const char *);
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0019-Fixing-the-branch-related-issues.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0019-Fixing-the-branch-related-issues.patch
deleted file mode 100644
index 027b8e835..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0019-Fixing-the-branch-related-issues.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 33081da0bb8820f3c695d8f865582436b16002bf Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Sun, 30 Sep 2018 17:06:58 +0530
-Subject: [PATCH 19/52] Fixing the branch related issues
-
-Conflicts:
- bfd/elf64-microblaze.c
----
- bfd/elf64-microblaze.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
-index 6676d9f93d..d7b7d9f5e7 100644
---- a/bfd/elf64-microblaze.c
-+++ b/bfd/elf64-microblaze.c
-@@ -2545,6 +2545,9 @@ microblaze_elf_check_relocs (bfd * abfd,
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-+ /* PR15323, ref flags aren't set for references in the same
-+ object. */
-+ h->root.non_ir_ref_regular = 1;
- }
-
- switch (r_type)
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0020-Fixed-address-computation-issues-with-64bit-address.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0020-Fixed-address-computation-issues-with-64bit-address.patch
deleted file mode 100644
index d9de811d7..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0020-Fixed-address-computation-issues-with-64bit-address.patch
+++ /dev/null
@@ -1,223 +0,0 @@
-From 22b1b41a7873fa117642cad6b150f465eb9b60cb Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Tue, 9 Oct 2018 10:14:22 +0530
-Subject: [PATCH 20/52] - Fixed address computation issues with 64bit address -
- Fixed imml dissassamble issue
-
-Conflicts:
- gas/config/tc-microblaze.c
- opcodes/microblaze-dis.c
----
- bfd/bfd-in2.h | 5 +++
- bfd/elf64-microblaze.c | 14 ++++----
- gas/config/tc-microblaze.c | 74 +++++++++++++++++++++++++++++++++-----
- opcodes/microblaze-dis.c | 2 +-
- 4 files changed, 79 insertions(+), 16 deletions(-)
-
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 57ea4f6132..05fbeb9b3a 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -5443,6 +5443,11 @@ done here - only used for relaxing */
- * +done here - only used for relaxing */
- BFD_RELOC_MICROBLAZE_64,
-
-+/* This is a 64 bit reloc that stores the 32 bit relative
-+ * +value in two words (with an imml instruction). No relocation is
-+ * +done here - only used for relaxing */
-+ BFD_RELOC_MICROBLAZE_EA64,
-+
- /* This is a 64 bit reloc that stores the 32 bit pc relative
- * +value in two words (with an imm instruction). No relocation is
- * +done here - only used for relaxing */
-diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
-index d7b7d9f5e7..f42d7f429b 100644
---- a/bfd/elf64-microblaze.c
-+++ b/bfd/elf64-microblaze.c
-@@ -121,15 +121,15 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
- 0, /* Rightshift. */
- 4, /* Size (0 = byte, 1 = short, 2 = long). */
- 64, /* Bitsize. */
-- TRUE, /* PC_relative. */
-+ FALSE, /* PC_relative. */
- 0, /* Bitpos. */
- complain_overflow_dont, /* Complain on overflow. */
- bfd_elf_generic_reloc,/* Special Function. */
- "R_MICROBLAZE_IMML_64", /* Name. */
- FALSE, /* Partial Inplace. */
- 0, /* Source Mask. */
-- 0x0000ffff, /* Dest Mask. */
-- TRUE), /* PC relative offset? */
-+ 0xffffffffffffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-
- /* A 64 bit relocation. Table entry not really used. */
- HOWTO (R_MICROBLAZE_64, /* Type. */
-@@ -585,9 +585,9 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
- case BFD_RELOC_32:
- microblaze_reloc = R_MICROBLAZE_32;
- break;
-- /* RVA is treated the same as 32 */
-+ /* RVA is treated the same as 64 */
- case BFD_RELOC_RVA:
-- microblaze_reloc = R_MICROBLAZE_32;
-+ microblaze_reloc = R_MICROBLAZE_IMML_64;
- break;
- case BFD_RELOC_32_PCREL:
- microblaze_reloc = R_MICROBLAZE_32_PCREL;
-@@ -619,7 +619,7 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
- case BFD_RELOC_VTABLE_ENTRY:
- microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
- break;
-- case BFD_RELOC_MICROBLAZE_64:
-+ case BFD_RELOC_MICROBLAZE_EA64:
- microblaze_reloc = R_MICROBLAZE_IMML_64;
- break;
- case BFD_RELOC_MICROBLAZE_64_GOTPC:
-@@ -1982,7 +1982,7 @@ microblaze_elf_relax_section (bfd *abfd,
- efix = calc_fixup (target_address, 0, sec);
-
- /* Validate the in-band val. */
-- val = bfd_get_32 (abfd, contents + irel->r_offset);
-+ val = bfd_get_64 (abfd, contents + irel->r_offset);
- if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
- fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
- }
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 48f306ef41..bfb3104720 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -402,7 +402,6 @@ pseudo_typeS md_pseudo_table[] =
- {"ent", s_func, 0}, /* Treat ent as function entry point. */
- {"end", microblaze_s_func, 1}, /* Treat end as function end point. */
- {"gpword", s_rva, 4}, /* gpword label => store resolved label address in data section. */
-- {"gpdword", s_rva, 8}, /* gpword label => store resolved label address in data section. */
- {"weakext", microblaze_s_weakext, 0},
- {"rodata", microblaze_s_rdata, 0},
- {"sdata2", microblaze_s_rdata, 1},
-@@ -2475,18 +2474,74 @@ md_apply_fix (fixS * fixP,
- case BFD_RELOC_RVA:
- case BFD_RELOC_32_PCREL:
- case BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:
-+ /* Don't do anything if the symbol is not defined. */
-+ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
-+ {
-+ if ((fixP->fx_r_type == BFD_RELOC_RVA) && (microblaze_arch_size == 64))
-+ {
-+ if (target_big_endian)
-+ {
-+ buf[0] |= ((val >> 56) & 0xff);
-+ buf[1] |= ((val >> 48) & 0xff);
-+ buf[2] |= ((val >> 40) & 0xff);
-+ buf[3] |= ((val >> 32) & 0xff);
-+ buf[4] |= ((val >> 24) & 0xff);
-+ buf[5] |= ((val >> 16) & 0xff);
-+ buf[6] |= ((val >> 8) & 0xff);
-+ buf[7] |= (val & 0xff);
-+ }
-+ else
-+ {
-+ buf[7] |= ((val >> 56) & 0xff);
-+ buf[6] |= ((val >> 48) & 0xff);
-+ buf[5] |= ((val >> 40) & 0xff);
-+ buf[4] |= ((val >> 32) & 0xff);
-+ buf[3] |= ((val >> 24) & 0xff);
-+ buf[2] |= ((val >> 16) & 0xff);
-+ buf[1] |= ((val >> 8) & 0xff);
-+ buf[0] |= (val & 0xff);
-+ }
-+ }
-+ else {
-+ if (target_big_endian)
-+ {
-+ buf[0] |= ((val >> 24) & 0xff);
-+ buf[1] |= ((val >> 16) & 0xff);
-+ buf[2] |= ((val >> 8) & 0xff);
-+ buf[3] |= (val & 0xff);
-+ }
-+ else
-+ {
-+ buf[3] |= ((val >> 24) & 0xff);
-+ buf[2] |= ((val >> 16) & 0xff);
-+ buf[1] |= ((val >> 8) & 0xff);
-+ buf[0] |= (val & 0xff);
-+ }
-+ }
-+ }
-+ break;
-+
-+ case BFD_RELOC_MICROBLAZE_EA64:
- /* Don't do anything if the symbol is not defined. */
- if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
- {
- if (target_big_endian)
- {
-- buf[0] |= ((val >> 24) & 0xff);
-- buf[1] |= ((val >> 16) & 0xff);
-- buf[2] |= ((val >> 8) & 0xff);
-- buf[3] |= (val & 0xff);
-+ buf[0] |= ((val >> 56) & 0xff);
-+ buf[1] |= ((val >> 48) & 0xff);
-+ buf[2] |= ((val >> 40) & 0xff);
-+ buf[3] |= ((val >> 32) & 0xff);
-+ buf[4] |= ((val >> 24) & 0xff);
-+ buf[5] |= ((val >> 16) & 0xff);
-+ buf[6] |= ((val >> 8) & 0xff);
-+ buf[7] |= (val & 0xff);
- }
- else
- {
-+ buf[7] |= ((val >> 56) & 0xff);
-+ buf[6] |= ((val >> 48) & 0xff);
-+ buf[5] |= ((val >> 40) & 0xff);
-+ buf[4] |= ((val >> 32) & 0xff);
- buf[3] |= ((val >> 24) & 0xff);
- buf[2] |= ((val >> 16) & 0xff);
- buf[1] |= ((val >> 8) & 0xff);
-@@ -2607,6 +2662,8 @@ md_apply_fix (fixS * fixP,
- fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
- else if (fixP->fx_r_type == BFD_RELOC_32)
- fixP->fx_r_type = BFD_RELOC_MICROBLAZE_32_NONE;
-+ else if(fixP->fx_r_type == BFD_RELOC_MICROBLAZE_EA64)
-+ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_EA64;
- else
- fixP->fx_r_type = BFD_RELOC_NONE;
- fixP->fx_addsy = section_symbol (absolute_section);
-@@ -2878,6 +2935,7 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
- case BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:
- case BFD_RELOC_MICROBLAZE_64_GOTPC:
- case BFD_RELOC_MICROBLAZE_64_GPC:
-+ case BFD_RELOC_MICROBLAZE_EA64:
- case BFD_RELOC_MICROBLAZE_64:
- case BFD_RELOC_MICROBLAZE_64_PCREL:
- case BFD_RELOC_MICROBLAZE_64_GOT:
-@@ -3023,10 +3081,10 @@ cons_fix_new_microblaze (fragS * frag,
- r = BFD_RELOC_32;
- break;
- case 8:
-- if (microblaze_arch_size == 64)
-+ /*if (microblaze_arch_size == 64)
- r = BFD_RELOC_32;
-- else
-- r = BFD_RELOC_64;
-+ else*/
-+ r = BFD_RELOC_MICROBLAZE_EA64;
- break;
- default:
- as_bad (_("unsupported BFD relocation size %u"), size);
-diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c
-index f643f2600d..1dc11a2653 100644
---- a/opcodes/microblaze-dis.c
-+++ b/opcodes/microblaze-dis.c
-@@ -77,7 +77,7 @@ static char *
- get_field_imml (struct string_buf *buf, long instr)
- {
- char *p = strbuf (buf);
-- sprintf (p, "%d", (short)((instr & IMML_MASK) >> IMM_LOW));
-+ sprintf (p, "%d", (int)((instr & IMML_MASK) >> IMM_LOW));
- return p;
- }
-
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0021-Adding-new-relocation-to-support-64bit-rodata.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0021-Adding-new-relocation-to-support-64bit-rodata.patch
deleted file mode 100644
index 908f75727..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0021-Adding-new-relocation-to-support-64bit-rodata.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-From 9880b06269a176c0b5c4f0ecb9e3784f630a76be Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Sat, 13 Oct 2018 21:17:01 +0530
-Subject: [PATCH 21/52] Adding new relocation to support 64bit rodata
-
----
- bfd/elf64-microblaze.c | 11 +++++++--
- gas/config/tc-microblaze.c | 49 ++++++++++++++++++++++++++++++++++----
- 2 files changed, 54 insertions(+), 6 deletions(-)
-
-diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
-index f42d7f429b..ddcb5baf74 100644
---- a/bfd/elf64-microblaze.c
-+++ b/bfd/elf64-microblaze.c
-@@ -1473,6 +1473,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- case (int) R_MICROBLAZE_64_PCREL :
- case (int) R_MICROBLAZE_64:
- case (int) R_MICROBLAZE_32:
-+ case (int) R_MICROBLAZE_IMML_64:
- {
- /* r_symndx will be STN_UNDEF (zero) only for relocs against symbols
- from removed linkonce sections, or sections discarded by
-@@ -1482,6 +1483,8 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- relocation += addend;
- if (r_type == R_MICROBLAZE_32)// || r_type == R_MICROBLAZE_IMML_64)
- bfd_put_32 (input_bfd, relocation, contents + offset);
-+ else if (r_type == R_MICROBLAZE_IMML_64)
-+ bfd_put_64 (input_bfd, relocation, contents + offset);
- else
- {
- if (r_type == R_MICROBLAZE_64_PCREL)
-@@ -1560,7 +1563,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- }
- else
- {
-- if (r_type == R_MICROBLAZE_32)
-+ if (r_type == R_MICROBLAZE_32 || r_type == R_MICROBLAZE_IMML_64)
- {
- outrel.r_info = ELF64_R_INFO (0, R_MICROBLAZE_REL);
- outrel.r_addend = relocation + addend;
-@@ -1586,6 +1589,8 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- relocation += addend;
- if (r_type == R_MICROBLAZE_32)
- bfd_put_32 (input_bfd, relocation, contents + offset);
-+ else if (r_type == R_MICROBLAZE_IMML_64)
-+ bfd_put_64 (input_bfd, relocation, contents + offset + endian);
- else
- {
- if (r_type == R_MICROBLAZE_64_PCREL)
-@@ -2098,7 +2103,8 @@ microblaze_elf_relax_section (bfd *abfd,
- microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
- irelscan->r_addend);
- }
-- if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
-+ if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32
-+ || ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_IMML_64)
- {
- isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-
-@@ -2606,6 +2612,7 @@ microblaze_elf_check_relocs (bfd * abfd,
- case R_MICROBLAZE_64:
- case R_MICROBLAZE_64_PCREL:
- case R_MICROBLAZE_32:
-+ case R_MICROBLAZE_IMML_64:
- {
- if (h != NULL && !bfd_link_pic (info))
- {
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index bfb3104720..532a26eaa5 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -1119,6 +1119,13 @@ md_assemble (char * str)
- as_fatal (_("smi pseudo instruction should not use a label in imm field"));
- if(streq (name, "lli") || streq (name, "sli"))
- opc = str_microblaze_64;
-+ else if ((microblaze_arch_size == 64) && ((streq (name, "lbui")
-+ || streq (name, "lhui") || streq (name, "lwi") || streq (name, "sbi")
-+ || streq (name, "shi") || streq (name, "swi"))))
-+ {
-+ opc = str_microblaze_64;
-+ subtype = opcode->inst_offset_type;
-+ }
- else if (reg2 == REG_ROSDP)
- opc = str_microblaze_ro_anchor;
- else if (reg2 == REG_RWSDP)
-@@ -1182,7 +1189,10 @@ md_assemble (char * str)
- inst |= (immed << IMM_LOW) & IMM_MASK;
- }
- }
-- else if (streq (name, "lli") || streq (name, "sli"))
-+ else if (streq (name, "lli") || streq (name, "sli") || ((microblaze_arch_size == 64)
-+ && ((streq (name, "lbui")) || streq (name, "lhui")
-+ || streq (name, "lwi") || streq (name, "sbi")
-+ || streq (name, "shi") || streq (name, "swi"))))
- {
- temp = immed & 0xFFFFFF8000;
- if (temp != 0 && temp != 0xFFFFFF8000)
-@@ -1794,6 +1804,11 @@ md_assemble (char * str)
-
- if (exp.X_md != 0)
- subtype = get_imm_otype(exp.X_md);
-+ else if (streq (name, "brealid") || streq (name, "breaid") || streq (name, "breai"))
-+ {
-+ opc = str_microblaze_64;
-+ subtype = opcode->inst_offset_type;
-+ }
- else
- subtype = opcode->inst_offset_type;
-
-@@ -1811,6 +1826,31 @@ md_assemble (char * str)
- output = frag_more (isize);
- immed = exp.X_add_number;
- }
-+ if (streq (name, "brealid") || streq (name, "breaid") || streq (name, "breai"))
-+ {
-+ temp = immed & 0xFFFFFF8000;
-+ if (temp != 0 && temp != 0xFFFFFF8000)
-+ {
-+ /* Needs an immediate inst. */
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immed & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+ inst |= (reg1 << RD_LOW) & RD_MASK;
-+ inst |= (immed << IMM_LOW) & IMM_MASK;
-+ }
-+ else
-+ {
-
- temp = immed & 0xFFFF8000;
- if ((temp != 0) && (temp != 0xFFFF8000))
-@@ -1834,6 +1874,7 @@ md_assemble (char * str)
-
- inst |= (reg1 << RD_LOW) & RD_MASK;
- inst |= (immed << IMM_LOW) & IMM_MASK;
-+ }
- break;
-
- case INST_TYPE_R2:
-@@ -3081,10 +3122,10 @@ cons_fix_new_microblaze (fragS * frag,
- r = BFD_RELOC_32;
- break;
- case 8:
-- /*if (microblaze_arch_size == 64)
-- r = BFD_RELOC_32;
-- else*/
-+ if (microblaze_arch_size == 64)
- r = BFD_RELOC_MICROBLAZE_EA64;
-+ else
-+ r = BFD_RELOC_64;
- break;
- default:
- as_bad (_("unsupported BFD relocation size %u"), size);
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0022-fixing-the-.bss-relocation-issue.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0022-fixing-the-.bss-relocation-issue.patch
deleted file mode 100644
index 6c144b8ad..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0022-fixing-the-.bss-relocation-issue.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From e7b6ab1b28fc3ca13ed25687d5e851795ed6e1a3 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Wed, 24 Oct 2018 12:34:37 +0530
-Subject: [PATCH 22/52] fixing the .bss relocation issue
-
----
- bfd/elf64-microblaze.c | 18 ++++++++++++------
- 1 file changed, 12 insertions(+), 6 deletions(-)
-
-diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
-index ddcb5baf74..861420789b 100644
---- a/bfd/elf64-microblaze.c
-+++ b/bfd/elf64-microblaze.c
-@@ -1492,7 +1492,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- + input_section->output_offset
- + offset + INST_WORD_SIZE);
- unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
-- if (insn == 0xb2000000 || insn == 0xb2ffffff)
-+ if ((insn & 0xff000000) == 0xb2000000)
- {
- insn &= ~0x00ffffff;
- insn |= (relocation >> 16) & 0xffffff;
-@@ -1606,7 +1606,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- + offset + INST_WORD_SIZE);
- }
- unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
-- if (insn == 0xb2000000 || insn == 0xb2ffffff)
-+ if ((insn & 0xff000000) == 0xb2000000)
- {
- insn &= ~0x00ffffff;
- insn |= (relocation >> 16) & 0xffffff;
-@@ -1735,7 +1735,7 @@ microblaze_bfd_write_imm_value_32 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
- {
- unsigned long instr = bfd_get_32 (abfd, bfd_addr);
-
-- if (instr == 0xb2000000 || instr == 0xb2ffffff)
-+ if ((instr & 0xff000000) == 0xb2000000)
- {
- instr &= ~0x00ffffff;
- instr |= (val & 0xffffff);
-@@ -1758,7 +1758,7 @@ microblaze_bfd_write_imm_value_64 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
- unsigned long instr_lo;
-
- instr_hi = bfd_get_32 (abfd, bfd_addr);
-- if (instr_hi == 0xb2000000 || instr_hi == 0xb2ffffff)
-+ if ((instr_hi & 0xff000000) == 0xb2000000)
- {
- instr_hi &= ~0x00ffffff;
- instr_hi |= (val >> 16) & 0xffffff;
-@@ -2251,7 +2251,10 @@ microblaze_elf_relax_section (bfd *abfd,
- unsigned long instr_lo = bfd_get_32 (abfd, ocontents
- + irelscan->r_offset
- + INST_WORD_SIZE);
-- immediate = (instr_hi & 0x0000ffff) << 16;
-+ if ((instr_hi & 0xff000000) == 0xb2000000)
-+ immediate = (instr_hi & 0x00ffffff) << 24;
-+ else
-+ immediate = (instr_hi & 0x0000ffff) << 16;
- immediate |= (instr_lo & 0x0000ffff);
- offset = calc_fixup (irelscan->r_addend, 0, sec);
- immediate -= offset;
-@@ -2295,7 +2298,10 @@ microblaze_elf_relax_section (bfd *abfd,
- unsigned long instr_lo = bfd_get_32 (abfd, ocontents
- + irelscan->r_offset
- + INST_WORD_SIZE);
-- immediate = (instr_hi & 0x0000ffff) << 16;
-+ if ((instr_hi & 0xff000000) == 0xb2000000)
-+ immediate = (instr_hi & 0x00ffffff) << 24;
-+ else
-+ immediate = (instr_hi & 0x0000ffff) << 16;
- immediate |= (instr_lo & 0x0000ffff);
- target_address = immediate;
- offset = calc_fixup (target_address, 0, sec);
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0023-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0023-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch
deleted file mode 100644
index 98f05ac82..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0023-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 9b9f53c95e5b1fbccd4de2dd579c6cfae34c191d Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Wed, 28 Nov 2018 14:00:29 +0530
-Subject: [PATCH 23/52] Fixed the bug in the R_MICROBLAZE_64_NONE relocation.
- It was adjusting only lower 16bits.
-
----
- bfd/elf32-microblaze.c | 4 ++--
- bfd/elf64-microblaze.c | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
-index 14bb6de052..d77710b1f3 100644
---- a/bfd/elf32-microblaze.c
-+++ b/bfd/elf32-microblaze.c
-@@ -2019,8 +2019,8 @@ microblaze_elf_relax_section (bfd *abfd,
- sfix = calc_fixup (irel->r_offset + INST_WORD_SIZE, 0, sec);
- efix = calc_fixup (target_address, 0, sec);
- irel->r_addend -= (efix - sfix);
-- microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset
-- + INST_WORD_SIZE, irel->r_addend);
-+ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
- }
- break;
- }
-diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
-index 861420789b..338f16eeee 100644
---- a/bfd/elf64-microblaze.c
-+++ b/bfd/elf64-microblaze.c
-@@ -2030,8 +2030,8 @@ microblaze_elf_relax_section (bfd *abfd,
- sfix = calc_fixup (irel->r_offset + INST_WORD_SIZE, 0, sec);
- efix = calc_fixup (target_address, 0, sec);
- irel->r_addend -= (efix - sfix);
-- microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset
-- + INST_WORD_SIZE, irel->r_addend);
-+ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
- }
- break;
- }
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0024-Revert-ld-Remove-unused-expression-state.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0024-Revert-ld-Remove-unused-expression-state.patch
deleted file mode 100644
index 25d0d7eb1..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0024-Revert-ld-Remove-unused-expression-state.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 70fcc4fe0635bdc871bc2ec1087173e3f93cab86 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 27 Feb 2019 15:12:32 +0530
-Subject: [PATCH 24/52] Revert "ld: Remove unused expression state"
-
-This reverts commit 65f14869fd3fbee8ed4c4ca49de8aaa86dbc66cb.
-
-Conflicts:
- ld/ChangeLog
----
- ld/ldexp.c | 8 +++++---
- ld/ldexp.h | 1 +
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/ld/ldexp.c b/ld/ldexp.c
-index b4e7c41209..dd3b058110 100644
---- a/ld/ldexp.c
-+++ b/ld/ldexp.c
-@@ -1360,6 +1360,7 @@ static etree_type *
- exp_assop (const char *dst,
- etree_type *src,
- enum node_tree_enum class,
-+ bfd_boolean defsym,
- bfd_boolean hidden)
- {
- etree_type *n;
-@@ -1371,6 +1372,7 @@ exp_assop (const char *dst,
- n->assign.type.node_class = class;
- n->assign.src = src;
- n->assign.dst = dst;
-+ n->assign.defsym = defsym;
- n->assign.hidden = hidden;
- return n;
- }
-@@ -1380,7 +1382,7 @@ exp_assop (const char *dst,
- etree_type *
- exp_assign (const char *dst, etree_type *src, bfd_boolean hidden)
- {
-- return exp_assop (dst, src, etree_assign, hidden);
-+ return exp_assop (dst, src, etree_assign, FALSE, hidden);
- }
-
- /* Handle --defsym command-line option. */
-@@ -1388,7 +1390,7 @@ exp_assign (const char *dst, etree_type *src, bfd_boolean hidden)
- etree_type *
- exp_defsym (const char *dst, etree_type *src)
- {
-- return exp_assop (dst, src, etree_assign, FALSE);
-+ return exp_assop (dst, src, etree_assign, TRUE, FALSE);
- }
-
- /* Handle PROVIDE. */
-@@ -1396,7 +1398,7 @@ exp_defsym (const char *dst, etree_type *src)
- etree_type *
- exp_provide (const char *dst, etree_type *src, bfd_boolean hidden)
- {
-- return exp_assop (dst, src, etree_provide, hidden);
-+ return exp_assop (dst, src, etree_provide, FALSE, hidden);
- }
-
- /* Handle ASSERT. */
-diff --git a/ld/ldexp.h b/ld/ldexp.h
-index 717e839bd4..852ac6c588 100644
---- a/ld/ldexp.h
-+++ b/ld/ldexp.h
-@@ -66,6 +66,7 @@ typedef union etree_union {
- node_type type;
- const char *dst;
- union etree_union *src;
-+ bfd_boolean defsym;
- bfd_boolean hidden;
- } assign;
- struct {
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0025-fixing-the-long-long-long-mingw-toolchain-issue.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0025-fixing-the-long-long-long-mingw-toolchain-issue.patch
deleted file mode 100644
index 9d1b17941..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0025-fixing-the-long-long-long-mingw-toolchain-issue.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 49fdaa5a4f0ed7e20b82ccb8d0db53075777abe9 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Thu, 29 Nov 2018 17:59:25 +0530
-Subject: [PATCH 25/52] fixing the long & long long mingw toolchain issue
-
----
- gas/config/tc-microblaze.c | 10 +++++-----
- opcodes/microblaze-opc.h | 4 ++--
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 532a26eaa5..b00b759893 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -783,7 +783,7 @@ parse_imm (char * s, expressionS * e, offsetT min, offsetT max)
- }
-
- static char *
--parse_imml (char * s, expressionS * e, long min, long max)
-+parse_imml (char * s, expressionS * e, long long min, long long max)
- {
- char *new_pointer;
- char *atp;
-@@ -834,11 +834,11 @@ parse_imml (char * s, expressionS * e, long min, long max)
- ; /* An error message has already been emitted. */
- else if ((e->X_op != O_constant && e->X_op != O_symbol) )
- as_fatal (_("operand must be a constant or a label"));
-- else if ((e->X_op == O_constant) && ((long) e->X_add_number < min
-- || (long) e->X_add_number > max))
-+ else if ((e->X_op == O_constant) && ((long long) e->X_add_number < min
-+ || (long long) e->X_add_number > max))
- {
-- as_fatal (_("operand must be absolute in range %ld..%ld, not %ld"),
-- min, max, (long) e->X_add_number);
-+ as_fatal (_("operand must be absolute in range %lld..%lld, not %lld"),
-+ min, max, (long long) e->X_add_number);
- }
-
- if (atp)
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index f970941209..77d74c17f3 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -585,8 +585,8 @@ char pvr_register_prefix[] = "rpvr";
- #define MIN_IMM6_WIDTH ((int) 0x00000001)
- #define MAX_IMM6_WIDTH ((int) 0x00000040)
-
--#define MIN_IMML ((long) 0xffffff8000000000L)
--#define MAX_IMML ((long) 0x0000007fffffffffL)
-+#define MIN_IMML ((long long) 0xffffff8000000000L)
-+#define MAX_IMML ((long long) 0x0000007fffffffffL)
-
- #endif /* MICROBLAZE_OPC */
-
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0026-Added-support-to-new-arithmetic-single-register-inst.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0026-Added-support-to-new-arithmetic-single-register-inst.patch
deleted file mode 100644
index 6379a5c41..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0026-Added-support-to-new-arithmetic-single-register-inst.patch
+++ /dev/null
@@ -1,364 +0,0 @@
-From b29e6a15c9f65837dbb560aa6c41c49e591915e9 Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Fri, 23 Aug 2019 16:18:43 +0530
-Subject: [PATCH 26/52] Added support to new arithmetic single register
- instructions
-
-Conflicts:
- opcodes/microblaze-dis.c
----
- gas/config/tc-microblaze.c | 147 ++++++++++++++++++++++++++++++++++++-
- opcodes/microblaze-dis.c | 13 +++-
- opcodes/microblaze-opc.h | 43 ++++++++++-
- opcodes/microblaze-opcm.h | 5 +-
- 4 files changed, 201 insertions(+), 7 deletions(-)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index b00b759893..eca060b262 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -423,12 +423,33 @@ void
- md_begin (void)
- {
- struct op_code_struct * opcode;
-+ const char *prev_name = "";
-
- opcode_hash_control = hash_new ();
-
- /* Insert unique names into hash table. */
-- for (opcode = opcodes; opcode->name; opcode ++)
-- hash_insert (opcode_hash_control, opcode->name, (char *) opcode);
-+ for (opcode = (struct opcodes *)opcodes; opcode->name; opcode ++)
-+ {
-+ if (strcmp (prev_name, opcode->name))
-+ {
-+ prev_name = (char *) opcode->name;
-+ hash_insert (opcode_hash_control, opcode->name, (char *) opcode);
-+ }
-+ }
-+}
-+
-+static int
-+is_reg (char * s)
-+{
-+ int is_reg = 0;
-+ /* Strip leading whitespace. */
-+ while (ISSPACE (* s))
-+ ++ s;
-+ if (TOLOWER (s[0]) == 'r')
-+ {
-+ is_reg =1;
-+ }
-+ return is_reg;
- }
-
- /* Try to parse a reg name. */
-@@ -986,6 +1007,7 @@ md_assemble (char * str)
- {
- char * op_start;
- char * op_end;
-+ char * temp_op_end;
- struct op_code_struct * opcode, *opcode1;
- char * output = NULL;
- int nlen = 0;
-@@ -996,9 +1018,10 @@ md_assemble (char * str)
- unsigned reg3;
- unsigned isize;
- unsigned long immed, immed2, temp;
-- expressionS exp;
-+ expressionS exp,exp1;
- char name[20];
- long immedl;
-+ int reg=0;
-
- /* Drop leading whitespace. */
- while (ISSPACE (* str))
-@@ -1029,7 +1052,78 @@ md_assemble (char * str)
- as_bad (_("unknown opcode \"%s\""), name);
- return;
- }
--
-+
-+ if ((microblaze_arch_size == 64) && (streq (name, "addli") || streq (name, "addlic") ||
-+ streq (name, "addlik") || streq (name, "addlikc") || streq (name, "rsubli")
-+ || streq (name, "rsublic") || streq (name, "rsublik") || streq (name, "rsublikc")
-+ || streq (name, "andli") || streq (name, "andnli") || streq (name, "orli")
-+ || streq (name, "xorli")))
-+ {
-+ temp_op_end = op_end;
-+ if (strcmp (temp_op_end, ""))
-+ temp_op_end = parse_reg (temp_op_end + 1, &reg1); /* Get rd. */
-+ if (strcmp (temp_op_end, ""))
-+ reg = is_reg (temp_op_end + 1);
-+ if (reg)
-+ {
-+
-+ opcode->inst_type=INST_TYPE_RD_R1_IMML;
-+ opcode->inst_offset_type = OPCODE_MASK_H;
-+ if (streq (name, "addli"))
-+ opcode->bit_sequence = ADDLI_MASK;
-+ else if (streq (name, "addlic"))
-+ opcode->bit_sequence = ADDLIC_MASK;
-+ else if (streq (name, "addlik"))
-+ opcode->bit_sequence = ADDLIK_MASK;
-+ else if (streq (name, "addlikc"))
-+ opcode->bit_sequence = ADDLIKC_MASK;
-+ else if (streq (name, "rsubli"))
-+ opcode->bit_sequence = RSUBLI_MASK;
-+ else if (streq (name, "rsublic"))
-+ opcode->bit_sequence = RSUBLIC_MASK;
-+ else if (streq (name, "rsublik"))
-+ opcode->bit_sequence = RSUBLIK_MASK;
-+ else if (streq (name, "rsublikc"))
-+ opcode->bit_sequence = RSUBLIKC_MASK;
-+ else if (streq (name, "andli"))
-+ opcode->bit_sequence = ANDLI_MASK;
-+ else if (streq (name, "andnli"))
-+ opcode->bit_sequence = ANDLNI_MASK;
-+ else if (streq (name, "orli"))
-+ opcode->bit_sequence = ORLI_MASK;
-+ else if (streq (name, "xorli"))
-+ opcode->bit_sequence = XORLI_MASK;
-+ }
-+ else
-+ {
-+ opcode->inst_type=INST_TYPE_RD_IMML;
-+ opcode->inst_offset_type = OPCODE_MASK_LIMM;
-+ if (streq (name, "addli"))
-+ opcode->bit_sequence = ADDLI_ONE_REG_MASK;
-+ else if (streq (name, "addlic"))
-+ opcode->bit_sequence = ADDLIC_ONE_REG_MASK;
-+ else if (streq (name, "addlik"))
-+ opcode->bit_sequence = ADDLIK_ONE_REG_MASK;
-+ else if (streq (name, "addlikc"))
-+ opcode->bit_sequence = ADDLIKC_ONE_REG_MASK;
-+ else if (streq (name, "rsubli"))
-+ opcode->bit_sequence = RSUBLI_ONE_REG_MASK;
-+ else if (streq (name, "rsublic"))
-+ opcode->bit_sequence = RSUBLIC_ONE_REG_MASK;
-+ else if (streq (name, "rsublik"))
-+ opcode->bit_sequence = RSUBLIK_ONE_REG_MASK;
-+ else if (streq (name, "rsublikc"))
-+ opcode->bit_sequence = RSUBLIKC_ONE_REG_MASK;
-+ else if (streq (name, "andli"))
-+ opcode->bit_sequence = ANDLI_ONE_REG_MASK;
-+ else if (streq (name, "andnli"))
-+ opcode->bit_sequence = ANDLNI_ONE_REG_MASK;
-+ else if (streq (name, "orli"))
-+ opcode->bit_sequence = ORLI_ONE_REG_MASK;
-+ else if (streq (name, "xorli"))
-+ opcode->bit_sequence = XORLI_ONE_REG_MASK;
-+ }
-+ }
- inst = opcode->bit_sequence;
- isize = 4;
-
-@@ -1480,6 +1574,51 @@ md_assemble (char * str)
- inst |= (immed << IMM_LOW) & IMM15_MASK;
- break;
-
-+ case INST_TYPE_RD_IMML:
-+ if (strcmp (op_end, ""))
-+ op_end = parse_reg (op_end + 1, &reg1); /* Get rd. */
-+ else
-+ {
-+ as_fatal (_("Error in statement syntax"));
-+ reg1 = 0;
-+ }
-+
-+ if (strcmp (op_end, ""))
-+ op_end = parse_imml (op_end + 1, & exp, MIN_IMML, MAX_IMML);
-+ else
-+ as_fatal (_("Error in statement syntax"));
-+
-+ /* Check for spl registers. */
-+ if (check_spl_reg (&reg1))
-+ as_fatal (_("Cannot use special register with this instruction"));
-+ if (exp.X_op != O_constant)
-+ {
-+ char *opc = NULL;
-+ relax_substateT subtype;
-+
-+ if (exp.X_md != 0)
-+ subtype = get_imm_otype(exp.X_md);
-+ else
-+ subtype = opcode->inst_offset_type;
-+
-+ output = frag_var (rs_machine_dependent,
-+ isize * 2,
-+ isize * 2,
-+ subtype,
-+ exp.X_add_symbol,
-+ exp.X_add_number,
-+ (char *) opc);
-+ immedl = 0L;
-+ }
-+ else
-+ {
-+ output = frag_more (isize);
-+ immed = exp.X_add_number;
-+ }
-+ inst |= (reg1 << RD_LOW) & RD_MASK;
-+ inst |= (immed << IMM_LOW) & IMM16_MASK;
-+ break;
-+
- case INST_TYPE_R1_RFSL:
- if (strcmp (op_end, ""))
- op_end = parse_reg (op_end + 1, &reg1); /* Get r1. */
-diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c
-index 1dc11a2653..90d2328659 100644
---- a/opcodes/microblaze-dis.c
-+++ b/opcodes/microblaze-dis.c
-@@ -130,9 +130,17 @@ get_field_imm15 (struct string_buf *buf, long instr)
- return p;
- }
-
-+get_field_imm16 (struct string_buf *buf, long instr)
-+{
-+ char *p = strbuf (buf);
-+
-+ sprintf (p, "%d", (short)((instr & IMM16_MASK) >> IMM_LOW));
-+ return p;
-+}
-+
- static char *
- get_field_special (struct string_buf *buf, long instr,
-- struct op_code_struct *op)
-+ struct op_code_struct *op)
- {
- char *p = strbuf (buf);
- char *spr;
-@@ -456,6 +464,9 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
- /* For mbar 16 or sleep insn. */
- case INST_TYPE_NONE:
- break;
-+ case INST_TYPE_RD_IMML:
-+ print_func (stream, "\t%s, %s", get_field_rd (&buf, inst), get_field_imm16 (&buf, inst));
-+ break;
- /* For bit field insns. */
- case INST_TYPE_RD_R1_IMMW_IMMS:
- print_func (stream, "\t%s, %s, %s, %s", get_field_rd (&buf, inst),get_field_r1(&buf, inst),get_field_immw (&buf, inst), get_field_imms (&buf, inst));
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index 77d74c17f3..c1b453c95e 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -69,6 +69,7 @@
- #define INST_TYPE_RD_R1_IMMW_IMMS 21
-
- #define INST_TYPE_NONE 25
-+#define INST_TYPE_RD_IMML 26
-
-
-
-@@ -84,6 +85,7 @@
- #define IMMVAL_MASK_MFS 0x0000
-
- #define OPCODE_MASK_H 0xFC000000 /* High 6 bits only. */
-+#define OPCODE_MASK_LIMM 0xFC1F0000 /* High 6 bits and 12-16 bits */
- #define OPCODE_MASK_H1 0xFFE00000 /* High 11 bits. */
- #define OPCODE_MASK_H2 0xFC1F0000 /* High 6 and bits 20-16. */
- #define OPCODE_MASK_H12 0xFFFF0000 /* High 16. */
-@@ -106,6 +108,33 @@
- #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
- #define OPCODE_MASK_H8 0xFF000000 /* High 8 bits only. */
-
-+/*Defines to identify 64-bit single reg instructions */
-+#define ADDLI_ONE_REG_MASK 0x68000000
-+#define ADDLIC_ONE_REG_MASK 0x68020000
-+#define ADDLIK_ONE_REG_MASK 0x68040000
-+#define ADDLIKC_ONE_REG_MASK 0x68060000
-+#define RSUBLI_ONE_REG_MASK 0x68010000
-+#define RSUBLIC_ONE_REG_MASK 0x68030000
-+#define RSUBLIK_ONE_REG_MASK 0x68050000
-+#define RSUBLIKC_ONE_REG_MASK 0x68070000
-+#define ORLI_ONE_REG_MASK 0x68100000
-+#define ANDLI_ONE_REG_MASK 0x68110000
-+#define XORLI_ONE_REG_MASK 0x68120000
-+#define ANDLNI_ONE_REG_MASK 0x68130000
-+#define ADDLI_MASK 0x20000000
-+#define ADDLIC_MASK 0x28000000
-+#define ADDLIK_MASK 0x30000000
-+#define ADDLIKC_MASK 0x38000000
-+#define RSUBLI_MASK 0x24000000
-+#define RSUBLIC_MASK 0x2C000000
-+#define RSUBLIK_MASK 0x34000000
-+#define RSUBLIKC_MASK 0x3C000000
-+#define ANDLI_MASK 0xA4000000
-+#define ANDLNI_MASK 0xAC000000
-+#define ORLI_MASK 0xA0000000
-+#define XORLI_MASK 0xA8000000
-+
-+
- /* New Mask for msrset, msrclr insns. */
- #define OPCODE_MASK_H23N 0xFC1F8000 /* High 6 and bits 11 - 16. */
- /* Mask for mbar insn. */
-@@ -114,7 +143,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 412
-+#define MAX_OPCODES 424
-
- struct op_code_struct
- {
-@@ -444,13 +473,21 @@ struct op_code_struct
- {"cmpl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000101, OPCODE_MASK_H4, cmpl, arithmetic_inst },
- {"cmplu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000103, OPCODE_MASK_H4, cmplu, arithmetic_inst },
- {"addli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x20000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68000000, OPCODE_MASK_LIMM, addli, arithmetic_inst },
- {"rsubli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x24000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsubli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68010000, OPCODE_MASK_LIMM, rsubli, arithmetic_inst },
- {"addlic", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x28000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlic", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68020000, OPCODE_MASK_LIMM, addlic, arithmetic_inst },
- {"rsublic", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x2C000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublic", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68030000, OPCODE_MASK_LIMM, rsublic, arithmetic_inst },
- {"addlik", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlik", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68040000, OPCODE_MASK_LIMM, addlik, arithmetic_inst },
- {"rsublik", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x34000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublik", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68050000, OPCODE_MASK_LIMM, rsublik, arithmetic_inst },
- {"addlikc", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x38000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlikc", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68060000, OPCODE_MASK_LIMM, addlikc, arithmetic_inst },
- {"rsublikc",INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x3C000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublikc", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68070000, OPCODE_MASK_LIMM, rsublikc, arithmetic_inst },
- {"mull", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x40000100, OPCODE_MASK_H4, mull, mult_inst },
- {"bslll", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000500, OPCODE_MASK_H3, bslll, barrel_shift_inst },
- {"bslra", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000300, OPCODE_MASK_H3, bslra, barrel_shift_inst },
-@@ -501,9 +538,13 @@ struct op_code_struct
- {"beaged", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9FA00000, OPCODE_MASK_H14, beaged, branch_inst },
- {"bealged", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9FA00100, OPCODE_MASK_H14, bealged, branch_inst },
- {"orli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA0000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"orli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68100000, OPCODE_MASK_LIMM, orli, arithmetic_inst },
- {"andli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA4000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"andli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68110000, OPCODE_MASK_LIMM, andli, arithmetic_inst },
- {"xorli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA8000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"xorli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68120000, OPCODE_MASK_LIMM, xorli, arithmetic_inst },
- {"andnli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xAC000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"andnli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68130000, OPCODE_MASK_LIMM, andnli, arithmetic_inst },
- {"imml", INST_TYPE_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB2000000, OPCODE_MASK_H8, imml, immediate_inst },
- {"breai", INST_TYPE_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8010000, OPCODE_MASK_H12, breai, branch_inst },
- {"breaid", INST_TYPE_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8110000, OPCODE_MASK_H12, breaid, branch_inst },
-diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
-index fcf259a362..eca247c63b 100644
---- a/opcodes/microblaze-opcm.h
-+++ b/opcodes/microblaze-opcm.h
-@@ -61,7 +61,9 @@ enum microblaze_instr
- eaputd, teaputd, ecaputd, tecaputd, neaputd, tneaputd, necaputd, tnecaputd,
-
- /* 64-bit instructions */
-- addl, rsubl, addlc, rsublc, addlk, rsublk, addlkc, rsublkc, cmpl, cmplu, mull,
-+ addl, addli, addlic, addlik, addlikc, rsubl, rsubli, rsublic, rsublik, rsublikc,
-+ addlc, rsublc, addlk, rsublk, addlkc, rsublkc, cmpl, cmplu, mull,
-+ andli, andnli, orli, xorli,
- bslll, bslra, bslrl, bsllli, bslrai, bslrli, bslefi, bslifi, orl, andl, xorl,
- andnl, pcmplbf, pcmpleq, pcmplne, srla, srlc, srll, sextl8, sextl16, sextl32,
- brea, bread, breald, beaeq, bealeq, beaeqd, bealeqd, beane, bealne, beaned,
-@@ -166,5 +168,6 @@ enum microblaze_instr_type
-
- /* Imm mask for msrset, msrclr instructions. */
- #define IMM15_MASK 0x00007FFF
-+#define IMM16_MASK 0x0000FFFF
-
- #endif /* MICROBLAZE-OPCM */
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0027-Patch-MicroBlaze-double-imml-generation-for-64-bit-v.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0027-Patch-MicroBlaze-double-imml-generation-for-64-bit-v.patch
deleted file mode 100644
index e3826d6f4..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0027-Patch-MicroBlaze-double-imml-generation-for-64-bit-v.patch
+++ /dev/null
@@ -1,551 +0,0 @@
-From 653712c23456574468c426aebbeb5ee8dae7237e Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 26 Aug 2019 15:29:42 +0530
-Subject: [PATCH 27/52] [Patch,MicroBlaze] : double imml generation for 64 bit
- values.
-
----
- gas/config/tc-microblaze.c | 322 ++++++++++++++++++++++++++++++-------
- opcodes/microblaze-opc.h | 4 +-
- 2 files changed, 263 insertions(+), 63 deletions(-)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index eca060b262..aef54ad83f 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -1008,7 +1008,7 @@ md_assemble (char * str)
- char * op_start;
- char * op_end;
- char * temp_op_end;
-- struct op_code_struct * opcode, *opcode1;
-+ struct op_code_struct * opcode, *opcode1, *opcode2;
- char * output = NULL;
- int nlen = 0;
- int i;
-@@ -1192,7 +1192,12 @@ md_assemble (char * str)
- reg2 = 0;
- }
- if (strcmp (op_end, ""))
-+ {
-+ if(microblaze_arch_size == 64)
-+ op_end = parse_imml (op_end + 1, & exp, MIN_IMML, MAX_IMML);
-+ else
- op_end = parse_imm (op_end + 1, & exp, MIN_IMM, MAX_IMM);
-+ }
- else
- as_fatal (_("Error in statement syntax"));
-
-@@ -1288,24 +1293,51 @@ md_assemble (char * str)
- || streq (name, "lwi") || streq (name, "sbi")
- || streq (name, "shi") || streq (name, "swi"))))
- {
-- temp = immed & 0xFFFFFF8000;
-- if (temp != 0 && temp != 0xFFFFFF8000)
-+ temp = ((long long)immed) & 0xFFFFFFFFFFFF8000;
-+ if (temp != 0 && temp != 0xFFFFFFFFFFFF8000)
- {
- /* Needs an immediate inst. */
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-- if (opcode1 == NULL)
-+ if (((long long)immed) > (long long)-549755813888 && ((long long)immed) < (long long)549755813887)
-+ {
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immed & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+ else
-+ {
-+ opcode2 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL || opcode2 == NULL)
- {
- as_bad (_("unknown opcode \"%s\""), "imml");
- return;
- }
-+ inst1 = opcode2->bit_sequence;
-+ inst1 |= ((immed & 0xFFFFFF0000000000L) >> 40) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
- inst1 = opcode1->bit_sequence;
-- inst1 |= ((immed & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ inst1 |= ((immed & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
- output[0] = INST_BYTE0 (inst1);
- output[1] = INST_BYTE1 (inst1);
- output[2] = INST_BYTE2 (inst1);
- output[3] = INST_BYTE3 (inst1);
- output = frag_more (isize);
- }
-+ }
- inst |= (reg1 << RD_LOW) & RD_MASK;
- inst |= (reg2 << RA_LOW) & RA_MASK;
- inst |= (immed << IMM_LOW) & IMM_MASK;
-@@ -1316,14 +1348,13 @@ md_assemble (char * str)
- if ((temp != 0) && (temp != 0xFFFF8000))
- {
- /* Needs an immediate inst. */
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
- if (opcode1 == NULL)
- {
- as_bad (_("unknown opcode \"%s\""), "imm");
- return;
- }
--
-- inst1 = opcode1->bit_sequence;
-+ inst1 = opcode1->bit_sequence;
- inst1 |= ((immed & 0xFFFF0000) >> 16) & IMM_MASK;
- output[0] = INST_BYTE0 (inst1);
- output[1] = INST_BYTE1 (inst1);
-@@ -1564,7 +1595,7 @@ md_assemble (char * str)
- as_fatal (_("Cannot use special register with this instruction"));
-
- if (exp.X_op != O_constant)
-- as_fatal (_("Symbol used as immediate value for msrset/msrclr instructions"));
-+ as_fatal (_("Symbol used as immediate value for arithmetic long instructions"));
- else
- {
- output = frag_more (isize);
-@@ -1898,8 +1929,9 @@ md_assemble (char * str)
- temp = immed & 0xFFFF8000;
- if ((temp != 0) && (temp != 0xFFFF8000))
- {
-+
- /* Needs an immediate inst. */
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
- if (opcode1 == NULL)
- {
- as_bad (_("unknown opcode \"%s\""), "imm");
-@@ -1928,7 +1960,12 @@ md_assemble (char * str)
- reg1 = 0;
- }
- if (strcmp (op_end, ""))
-+ {
-+ if(microblaze_arch_size == 64)
-+ op_end = parse_imml (op_end + 1, & exp, MIN_IMML, MAX_IMML);
-+ else
- op_end = parse_imm (op_end + 1, & exp, MIN_IMM, MAX_IMM);
-+ }
- else
- as_fatal (_("Error in statement syntax"));
-
-@@ -1967,30 +2004,55 @@ md_assemble (char * str)
- }
- if (streq (name, "brealid") || streq (name, "breaid") || streq (name, "breai"))
- {
-- temp = immed & 0xFFFFFF8000;
-- if (temp != 0 && temp != 0xFFFFFF8000)
-+ temp = ((long long)immed) & 0xFFFFFFFFFFFF8000;
-+ if (temp != 0 && temp != 0xFFFFFFFFFFFF8000)
- {
- /* Needs an immediate inst. */
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (((long long)immed) > (long long)-549755813888 && ((long long)immed) < (long long)549755813887)
-+ {
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
- if (opcode1 == NULL)
- {
- as_bad (_("unknown opcode \"%s\""), "imml");
- return;
- }
- inst1 = opcode1->bit_sequence;
-- inst1 |= ((immed & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ inst1 |= ((immed & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
- output[0] = INST_BYTE0 (inst1);
- output[1] = INST_BYTE1 (inst1);
- output[2] = INST_BYTE2 (inst1);
- output[3] = INST_BYTE3 (inst1);
- output = frag_more (isize);
- }
-+ else {
-+ opcode2 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL || opcode2 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+ inst1 = opcode2->bit_sequence;
-+ inst1 |= ((immed & 0xFFFFFF0000000000L) >> 40) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immed & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+ }
- inst |= (reg1 << RD_LOW) & RD_MASK;
- inst |= (immed << IMM_LOW) & IMM_MASK;
- }
- else
- {
--
- temp = immed & 0xFFFF8000;
- if ((temp != 0) && (temp != 0xFFFF8000))
- {
-@@ -2076,25 +2138,50 @@ md_assemble (char * str)
- streq (name, "breaid") ||
- streq (name, "brai") || streq (name, "braid")))
- {
-- temp = immed & 0xFFFFFF8000;
-+ temp = immed & 0xFFFFFFFFFFFF8000;
- if (temp != 0)
- {
- /* Needs an immediate inst. */
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (((long long)immed) > (long long)-549755813888 && ((long long)immed) < (long long)549755813887)
-+ {
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
- if (opcode1 == NULL)
- {
- as_bad (_("unknown opcode \"%s\""), "imml");
- return;
- }
--
- inst1 = opcode1->bit_sequence;
-- inst1 |= ((immed & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ inst1 |= ((immed & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+ else {
-+ opcode2 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL || opcode2 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+ inst1 = opcode2->bit_sequence;
-+ inst1 |= ((immed & 0xFFFFFF0000000000L) >> 40) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immed & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
- output[0] = INST_BYTE0 (inst1);
- output[1] = INST_BYTE1 (inst1);
- output[2] = INST_BYTE2 (inst1);
- output[3] = INST_BYTE3 (inst1);
- output = frag_more (isize);
- }
-+ }
- inst |= (immed << IMM_LOW) & IMM_MASK;
- }
- else
-@@ -2194,21 +2281,45 @@ md_assemble (char * str)
- {
- output = frag_more (isize);
- immedl = exp.X_add_number;
--
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-- if (opcode1 == NULL)
-- {
-- as_bad (_("unknown opcode \"%s\""), "imml");
-- return;
-- }
--
-- inst1 = opcode1->bit_sequence;
-- inst1 |= ((immedl & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-- output[0] = INST_BYTE0 (inst1);
-- output[1] = INST_BYTE1 (inst1);
-- output[2] = INST_BYTE2 (inst1);
-- output[3] = INST_BYTE3 (inst1);
-- output = frag_more (isize);
-+ if (((long long)immedl) > (long long)-549755813888 && ((long long)immedl) < (long long)549755813887)
-+ {
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immedl & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+ else {
-+ opcode2 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode2 == NULL || opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+ inst1 = opcode2->bit_sequence;
-+ inst1 |= ((immedl & 0xFFFFFF0000000000L) >> 40) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immedl & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
- }
-
- inst |= (reg1 << RD_LOW) & RD_MASK;
-@@ -2257,21 +2368,46 @@ md_assemble (char * str)
- {
- output = frag_more (isize);
- immedl = exp.X_add_number;
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-- if (opcode1 == NULL)
-- {
-- as_bad (_("unknown opcode \"%s\""), "imml");
-- return;
-- }
--
-+ if (((long long)immedl) > (long long)-549755813888 && ((long long)immedl) < (long long)549755813887)
-+ {
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immedl & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+ else {
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ opcode2 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode2 == NULL || opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+ inst1 = opcode2->bit_sequence;
-+ inst1 |= ((immedl & 0xFFFFFF0000000000L) >> 40) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
- inst1 = opcode1->bit_sequence;
-- inst1 |= ((immedl & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
-+ inst1 |= ((immedl & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
- output[0] = INST_BYTE0 (inst1);
- output[1] = INST_BYTE1 (inst1);
- output[2] = INST_BYTE2 (inst1);
- output[3] = INST_BYTE3 (inst1);
- output = frag_more (isize);
- }
-+ }
-
- inst |= (reg1 << RA_LOW) & RA_MASK;
- inst |= (immedl << IMM_LOW) & IMM_MASK;
-@@ -2551,8 +2687,8 @@ md_apply_fix (fixS * fixP,
- /* Note: use offsetT because it is signed, valueT is unsigned. */
- offsetT val = (offsetT) * valp;
- int i;
-- struct op_code_struct * opcode1;
-- unsigned long inst1;
-+ struct op_code_struct * opcode1, * opcode2;
-+ unsigned long inst1,inst2;
-
- symname = fixP->fx_addsy ? S_GET_NAME (fixP->fx_addsy) : _("<unknown>");
-
-@@ -2735,30 +2871,75 @@ md_apply_fix (fixS * fixP,
- case BFD_RELOC_MICROBLAZE_64_TEXTREL:
- case BFD_RELOC_MICROBLAZE_64:
- case BFD_RELOC_MICROBLAZE_64_PCREL:
-- /* Add an imm instruction. First save the current instruction. */
-- for (i = 0; i < INST_WORD_SIZE; i++)
-- buf[i + INST_WORD_SIZE] = buf[i];
- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64
- || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
- {
- /* Generate the imm instruction. */
-+ if (((long long)val) > (long long)-549755813888 && ((long long)val) < (long long)549755813887)
-+ {
-+ /* Add an imm instruction. First save the current instruction. */
-+ for (i = 0; i < INST_WORD_SIZE; i++)
-+ buf[i + INST_WORD_SIZE] = buf[i];
- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
- if (opcode1 == NULL)
-- {
-- as_bad (_("unknown opcode \"%s\""), "imml");
-- return;
-- }
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-
- inst1 = opcode1->bit_sequence;
- if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
-- inst1 |= ((val & 0xFFFFFF0000L) >> 16) & IMML_MASK;
-+ inst1 |= ((val & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
-+ fixP->fx_r_type = BFD_RELOC_64;
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
-+ fixP->fx_r_type = BFD_RELOC_64_PCREL;
-+ buf[0] = INST_BYTE0 (inst1);
-+ buf[1] = INST_BYTE1 (inst1);
-+ buf[2] = INST_BYTE2 (inst1);
-+ buf[3] = INST_BYTE3 (inst1);
-+ }
-+ else {
-+ /* Add an imm instruction. First save the current instruction. */
-+ for (i = 0; i < INST_WORD_SIZE; i++)
-+ buf[i + INST_WORD_SIZE + 4] = buf[i];
-+
-+ opcode2 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL || opcode2 ==NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+ inst1 = opcode2->bit_sequence;
-+ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
-+ inst1 |= ((val & 0x000000FFFFFF0000L) >> 40) & IMML_MASK;
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
-+ fixP->fx_r_type = BFD_RELOC_64;
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
-+ fixP->fx_r_type = BFD_RELOC_64_PCREL;
-+ inst2 = opcode1->bit_sequence;
-+ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
-+ inst1 |= ((val & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
-- fixP->fx_r_type = BFD_RELOC_64;
-+ fixP->fx_r_type = BFD_RELOC_64;
- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
-- fixP->fx_r_type = BFD_RELOC_64_PCREL;
-+ fixP->fx_r_type = BFD_RELOC_64_PCREL;
-+ buf[0] = INST_BYTE0 (inst1);
-+ buf[1] = INST_BYTE1 (inst1);
-+ buf[2] = INST_BYTE2 (inst1);
-+ buf[3] = INST_BYTE3 (inst1);
-+ buf[4] = INST_BYTE0 (inst2);
-+ buf[5] = INST_BYTE1 (inst2);
-+ buf[6] = INST_BYTE2 (inst2);
-+ buf[7] = INST_BYTE3 (inst2);
-+ }
- }
- else
- {
-+ /* Add an imm instruction. First save the current instruction. */
-+ for (i = 0; i < INST_WORD_SIZE; i++)
-+ buf[i + INST_WORD_SIZE] = buf[i];
- /* Generate the imm instruction. */
- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
- if (opcode1 == NULL)
-@@ -2770,12 +2951,11 @@ md_apply_fix (fixS * fixP,
- inst1 = opcode1->bit_sequence;
- if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
- inst1 |= ((val & 0xFFFF0000) >> 16) & IMM_MASK;
-- }
- buf[0] = INST_BYTE0 (inst1);
- buf[1] = INST_BYTE1 (inst1);
- buf[2] = INST_BYTE2 (inst1);
- buf[3] = INST_BYTE3 (inst1);
--
-+ }
- /* Add the value only if the symbol is defined. */
- if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
- {
-@@ -2807,21 +2987,41 @@ md_apply_fix (fixS * fixP,
- /* Add an imm instruction. First save the current instruction. */
- for (i = 0; i < INST_WORD_SIZE; i++)
- buf[i + INST_WORD_SIZE] = buf[i];
-- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GPC)
-- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GPC) {
-+ if (((long long)val) > (long long)-549755813888 && ((long long)val) < (long long)549755813887)
-+ {
-+ for (i = 0; i < INST_WORD_SIZE; i++)
-+ buf[i + INST_WORD_SIZE] = buf[i];
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ }
-+ else {
-+ for (i = 0; i < INST_WORD_SIZE; i++)
-+ buf[i + INST_WORD_SIZE + 4] = buf[i];
-+ opcode2 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ inst2 = opcode2->bit_sequence;
-+
-+ /* We can fixup call to a defined non-global address
-+ * within the same section only. */
-+ buf[4] = INST_BYTE0 (inst2);
-+ buf[5] = INST_BYTE1 (inst2);
-+ buf[6] = INST_BYTE2 (inst2);
-+ buf[7] = INST_BYTE3 (inst2);
-+ }
-+ }
- else
- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
- if (opcode1 == NULL)
- {
-+ for (i = 0; i < INST_WORD_SIZE; i++)
-+ buf[i + INST_WORD_SIZE] = buf[i];
- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GPC)
- as_bad (_("unknown opcode \"%s\""), "imml");
- else
- as_bad (_("unknown opcode \"%s\""), "imm");
- return;
- }
--
- inst1 = opcode1->bit_sequence;
--
- /* We can fixup call to a defined non-global address
- within the same section only. */
- buf[0] = INST_BYTE0 (inst1);
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index c1b453c95e..ba0b3f8b62 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -626,8 +626,8 @@ char pvr_register_prefix[] = "rpvr";
- #define MIN_IMM6_WIDTH ((int) 0x00000001)
- #define MAX_IMM6_WIDTH ((int) 0x00000040)
-
--#define MIN_IMML ((long long) 0xffffff8000000000L)
--#define MAX_IMML ((long long) 0x0000007fffffffffL)
-+#define MIN_IMML ((long long) -9223372036854775808)
-+#define MAX_IMML ((long long) 9223372036854775807)
-
- #endif /* MICROBLAZE_OPC */
-
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0028-Fixed-bug-in-generation-of-IMML-instruction-for-the.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0028-Fixed-bug-in-generation-of-IMML-instruction-for-the.patch
deleted file mode 100644
index e8c55106f..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0028-Fixed-bug-in-generation-of-IMML-instruction-for-the.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 2c051a6d5326e34cb4a3170073cda17e7269055d Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Wed, 22 Jan 2020 16:31:12 +0530
-Subject: [PATCH 28/52] Fixed bug in generation of IMML instruction for the new
- MB-64 instructions with single register.
-
----
- gas/config/tc-microblaze.c | 50 +++++++++++++++++++++++++++++++++++---
- 1 file changed, 47 insertions(+), 3 deletions(-)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index aef54ad83f..647cfb6869 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -1639,12 +1639,56 @@ md_assemble (char * str)
- exp.X_add_symbol,
- exp.X_add_number,
- (char *) opc);
-- immedl = 0L;
-+ immed = 0L;
- }
- else
- {
- output = frag_more (isize);
- immed = exp.X_add_number;
-+ temp = ((long long)immed) & 0xFFFFFFFFFFFF8000;
-+ if (temp != 0 && temp != 0xFFFFFFFFFFFF8000 && temp != 0x8000)
-+ {
-+ /* Needs an immediate inst. */
-+ if (((long long)immed) > (long long)-549755813888 && ((long long)immed) < (long long)549755813887)
-+ {
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immed & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+ else {
-+ opcode2 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
-+ if (opcode1 == NULL || opcode2 == NULL)
-+ {
-+ as_bad (_("unknown opcode \"%s\""), "imml");
-+ return;
-+ }
-+ inst1 = opcode2->bit_sequence;
-+ inst1 |= ((immed & 0xFFFFFF0000000000L) >> 40) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ inst1 = opcode1->bit_sequence;
-+ inst1 |= ((immed & 0x000000FFFFFF0000L) >> 16) & IMML_MASK;
-+ output[0] = INST_BYTE0 (inst1);
-+ output[1] = INST_BYTE1 (inst1);
-+ output[2] = INST_BYTE2 (inst1);
-+ output[3] = INST_BYTE3 (inst1);
-+ output = frag_more (isize);
-+ }
-+ }
- }
- inst |= (reg1 << RD_LOW) & RD_MASK;
- inst |= (immed << IMM_LOW) & IMM16_MASK;
-@@ -2138,8 +2182,8 @@ md_assemble (char * str)
- streq (name, "breaid") ||
- streq (name, "brai") || streq (name, "braid")))
- {
-- temp = immed & 0xFFFFFFFFFFFF8000;
-- if (temp != 0)
-+ temp = ((long long)immed) & 0xFFFFFFFFFFFF8000;
-+ if (temp != 0 && temp != 0xFFFFFFFFFFFF8000 && temp != 0x8000)
- {
- /* Needs an immediate inst. */
- if (((long long)immed) > (long long)-549755813888 && ((long long)immed) < (long long)549755813887)
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0029-Patch-MicroBlaze-m64-This-patch-will-remove-imml-0-a.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0029-Patch-MicroBlaze-m64-This-patch-will-remove-imml-0-a.patch
deleted file mode 100644
index abfcdabc4..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0029-Patch-MicroBlaze-m64-This-patch-will-remove-imml-0-a.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 77751e719ba1470f3dc869ae309485adb02819b6 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Thu, 16 Apr 2020 18:08:58 +0530
-Subject: [PATCH 29/52] [Patch,MicroBlaze m64] : This patch will remove imml 0
- and imml -1 instructions when the offset is less than 16 bit for Type A
- branch EA instructions.
-
----
- gas/config/tc-microblaze.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 647cfb6869..e565b2a99d 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -2150,9 +2150,7 @@ md_assemble (char * str)
- if (exp.X_op != O_constant)
- {
- char *opc;
-- if (microblaze_arch_size == 64 && (streq (name, "breai") ||
-- streq (name, "breaid") ||
-- streq (name, "brai") || streq (name, "braid")))
-+ if (microblaze_arch_size == 64 && (streq (name, "brai") || streq (name, "braid")))
- opc = str_microblaze_64;
- else
- opc = NULL;
-@@ -2916,7 +2914,7 @@ md_apply_fix (fixS * fixP,
- case BFD_RELOC_MICROBLAZE_64:
- case BFD_RELOC_MICROBLAZE_64_PCREL:
- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64
-- || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
-+ || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL || (fixP->fx_r_type == BFD_RELOC_64_PCREL && microblaze_arch_size == 64))
- {
- /* Generate the imm instruction. */
- if (((long long)val) > (long long)-549755813888 && ((long long)val) < (long long)549755813887)
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0030-Patch-MicroBlaze-improper-address-mapping-of-PROVIDE.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0030-Patch-MicroBlaze-improper-address-mapping-of-PROVIDE.patch
deleted file mode 100644
index b8f8b8bda..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0030-Patch-MicroBlaze-improper-address-mapping-of-PROVIDE.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 2a43e06f14cac633d87f5b213a6bacd16085967f Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 17 Jun 2020 21:20:26 +0530
-Subject: [PATCH 30/52] [Patch,MicroBlaze] : improper address mapping of
- PROVIDE directive symbols[DTOR_END] are causing runtime loops and we don't
- need to override PROVIDE symbols if symbols are defined in libraries and
- linker so I am disabling override for PROVIDE symbols.
-
----
- ld/ldlang.c | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/ld/ldlang.c b/ld/ldlang.c
-index 9977195074..a2c44cf719 100644
---- a/ld/ldlang.c
-+++ b/ld/ldlang.c
-@@ -3657,10 +3657,16 @@ open_input_bfds (lang_statement_union_type *s, enum open_bfd_mode mode)
- plugin_insert = NULL;
- #endif
- break;
-+ /* This is from a --defsym on the command line. */
- case lang_assignment_statement_enum:
-- if (s->assignment_statement.exp->type.node_class != etree_assert)
-- exp_fold_tree_no_dot (s->assignment_statement.exp);
-- break;
-+ if (s->assignment_statement.exp->type.node_class != etree_assert)
-+ {
-+ if(!(s->assignment_statement.exp->assign.defsym) && (s->assignment_statement.exp->type.node_class == etree_provide))
-+ ;
-+ else
-+ exp_fold_tree_no_dot (s->assignment_statement.exp);
-+ }
-+ break;
- default:
- break;
- }
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0031-gas-revert-moving-of-md_pseudo_table-from-const.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0031-gas-revert-moving-of-md_pseudo_table-from-const.patch
deleted file mode 100644
index 83b293f3f..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0031-gas-revert-moving-of-md_pseudo_table-from-const.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From c45a69deeb210ebdb80cf055cef9e62bd0bda053 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@kernel.crashing.org>
-Date: Thu, 16 Jul 2020 12:38:11 -0500
-Subject: [PATCH 31/52] gas: revert moving of md_pseudo_table from const
-
-The base system expect md_pseudo_table to be constant, Changing the
-definition will break other architectures when compiled with a
-unified source code.
-
-Patch reverts the change away from const, and implements a newer
-dynamic handler that passes the correct argument value based on word
-size.
-
-Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
----
- gas/config/tc-microblaze.c | 16 +++++++++++++---
- gas/tc.h | 2 +-
- 2 files changed, 14 insertions(+), 4 deletions(-)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index e565b2a99d..c6ca913f8b 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -385,6 +385,17 @@ microblaze_s_weakext (int ignore ATTRIBUTE_UNUSED)
- demand_empty_rest_of_line ();
- }
-
-+/* Handle the .gpword pseudo-op, Pass to s_rva */
-+
-+static void
-+microblaze_s_gpword (int ignore ATTRIBUTE_UNUSED)
-+{
-+ int size = 4;
-+ if (microblaze_arch_size == 64)
-+ size = 8;
-+ s_rva(size);
-+}
-+
- /* This table describes all the machine specific pseudo-ops the assembler
- has to support. The fields are:
- Pseudo-op name without dot
-@@ -392,7 +403,7 @@ microblaze_s_weakext (int ignore ATTRIBUTE_UNUSED)
- Integer arg to pass to the function. */
- /* If the pseudo-op is not found in this table, it searches in the obj-elf.c,
- and then in the read.c table. */
--pseudo_typeS md_pseudo_table[] =
-+const pseudo_typeS md_pseudo_table[] =
- {
- {"lcomm", microblaze_s_lcomm, 1},
- {"data", microblaze_s_data, 0},
-@@ -401,7 +412,7 @@ pseudo_typeS md_pseudo_table[] =
- {"data32", cons, 4}, /* Same as word. */
- {"ent", s_func, 0}, /* Treat ent as function entry point. */
- {"end", microblaze_s_func, 1}, /* Treat end as function end point. */
-- {"gpword", s_rva, 4}, /* gpword label => store resolved label address in data section. */
-+ {"gpword", microblaze_s_gpword, 0}, /* gpword label => store resolved label address in data section. */
- {"weakext", microblaze_s_weakext, 0},
- {"rodata", microblaze_s_rdata, 0},
- {"sdata2", microblaze_s_rdata, 1},
-@@ -3448,7 +3459,6 @@ md_parse_option (int c, const char * arg ATTRIBUTE_UNUSED)
- case OPTION_M64:
- //if (arg != NULL && strcmp (arg, "64") == 0)
- microblaze_arch_size = 64;
-- md_pseudo_table[7].poc_val = 8;
- break;
- default:
- return 0;
-diff --git a/gas/tc.h b/gas/tc.h
-index 5bdfe5c347..da1738d67a 100644
---- a/gas/tc.h
-+++ b/gas/tc.h
-@@ -22,7 +22,7 @@
- /* In theory (mine, at least!) the machine dependent part of the assembler
- should only have to include one file. This one. -- JF */
-
--extern pseudo_typeS md_pseudo_table[];
-+extern const pseudo_typeS md_pseudo_table[];
-
- const char * md_atof (int, char *, int *);
- int md_parse_option (int, const char *);
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0032-ld-emulparams-elf64microblaze-Fix-emulation-generati.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0032-ld-emulparams-elf64microblaze-Fix-emulation-generati.patch
deleted file mode 100644
index 8891a77fb..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0032-ld-emulparams-elf64microblaze-Fix-emulation-generati.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 7b285c827edbc34cf79d4ed0f46cdfd4916b687c Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Mon, 30 Nov 2020 16:17:36 -0800
-Subject: [PATCH 32/52] ld/emulparams/elf64microblaze: Fix emulation generation
-
-Compilation fails when building ld-new with:
-
-ldemul.o:(.data.rel+0x820): undefined reference to `ld_elf64microblazeel_emulation'
-ldemul.o:(.data.rel+0x828): undefined reference to `ld_elf64microblaze_emulation'
-
-The error appears to be that the elf64 files were referencing the elf32 emulation.
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- ld/emulparams/elf64microblaze.sh | 2 +-
- ld/emulparams/elf64microblazeel.sh | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ld/emulparams/elf64microblaze.sh b/ld/emulparams/elf64microblaze.sh
-index 9c7b0eb708..7b4c7c411b 100644
---- a/ld/emulparams/elf64microblaze.sh
-+++ b/ld/emulparams/elf64microblaze.sh
-@@ -19,5 +19,5 @@ NOP=0x80000000
- #$@{RELOCATING+ PROVIDE (__stack = 0x7000);@}
- #OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = _end + 0x1000);'
-
--TEMPLATE_NAME=elf32
-+TEMPLATE_NAME=elf
- #GENERATE_SHLIB_SCRIPT=yes
-diff --git a/ld/emulparams/elf64microblazeel.sh b/ld/emulparams/elf64microblazeel.sh
-index 9c7b0eb708..7b4c7c411b 100644
---- a/ld/emulparams/elf64microblazeel.sh
-+++ b/ld/emulparams/elf64microblazeel.sh
-@@ -19,5 +19,5 @@ NOP=0x80000000
- #$@{RELOCATING+ PROVIDE (__stack = 0x7000);@}
- #OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = _end + 0x1000);'
-
--TEMPLATE_NAME=elf32
-+TEMPLATE_NAME=elf
- #GENERATE_SHLIB_SCRIPT=yes
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch
deleted file mode 100644
index b296e1b14..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch
+++ /dev/null
@@ -1,435 +0,0 @@
-From 3f506a7c6a8f7b746102276f3c41a7b11bd7ac3c Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 23 Jan 2017 19:07:44 +0530
-Subject: [PATCH 33/52] Add initial port of linux gdbserver add
- gdb_proc_service_h to gdbserver microblaze-linux
-
-gdbserver needs to initialise the microblaze registers
-
-other archs use this step to run a *_arch_setup() to carry out all
-architecture specific setup - may need to add in future
-
- * add linux-ptrace.o to gdbserver configure
- * Update breakpoint opcode
- * fix segfault on connecting gdbserver
- * add microblaze_linux_memory_remove_breakpoint
- * add set_solib_svr4_fetch_link_map_offsets
- * add set_gdbarch_fetch_tls_load_module_address
- * Force reading of r0 as 0, prevent stores
-
-Signed-off-by: David Holsgrove <david.holsgrove@petalogix.com>
-Signed-off-by: Nathan Rossi <nathan.rossi@petalogix.com>
----
- gdb/configure.host | 3 +
- gdb/microblaze-linux-tdep.c | 29 ++++-
- gdb/microblaze-tdep.c | 35 +++++-
- gdb/microblaze-tdep.h | 4 +-
- gdb/regformats/reg-microblaze.dat | 41 +++++++
- gdbserver/linux-microblaze-low.c | 189 ++++++++++++++++++++++++++++++
- 6 files changed, 298 insertions(+), 3 deletions(-)
- create mode 100644 gdb/regformats/reg-microblaze.dat
- create mode 100644 gdbserver/linux-microblaze-low.c
-
-diff --git a/gdb/configure.host b/gdb/configure.host
-index ce52823729..cf1a08e8b2 100644
---- a/gdb/configure.host
-+++ b/gdb/configure.host
-@@ -65,6 +65,7 @@ hppa*) gdb_host_cpu=pa ;;
- i[34567]86*) gdb_host_cpu=i386 ;;
- m68*) gdb_host_cpu=m68k ;;
- mips*) gdb_host_cpu=mips ;;
-+microblaze*) gdb_host_cpu=microblaze ;;
- powerpc* | rs6000) gdb_host_cpu=powerpc ;;
- sparcv9 | sparc64) gdb_host_cpu=sparc ;;
- s390*) gdb_host_cpu=s390 ;;
-@@ -133,6 +134,8 @@ mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
- mips*-*-freebsd*) gdb_host=fbsd ;;
- mips64*-*-openbsd*) gdb_host=obsd64 ;;
-
-+microblaze*-*linux*) gdb_host=linux ;;
-+
- powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
- gdb_host=aix ;;
- powerpc*-*-freebsd*) gdb_host=fbsd ;;
-diff --git a/gdb/microblaze-linux-tdep.c b/gdb/microblaze-linux-tdep.c
-index be710bedb6..fb8241884b 100644
---- a/gdb/microblaze-linux-tdep.c
-+++ b/gdb/microblaze-linux-tdep.c
-@@ -37,6 +37,22 @@
- #include "tramp-frame.h"
- #include "linux-tdep.h"
-
-+static int microblaze_debug_flag = 0;
-+
-+static void
-+microblaze_debug (const char *fmt, ...)
-+{
-+ if (microblaze_debug_flag)
-+ {
-+ va_list args;
-+
-+ va_start (args, fmt);
-+ printf_unfiltered ("MICROBLAZE LINUX: ");
-+ vprintf_unfiltered (fmt, args);
-+ va_end (args);
-+ }
-+}
-+
- static int
- microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- struct bp_target_info *bp_tgt)
-@@ -46,18 +62,25 @@ microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- int val;
- int bplen;
- gdb_byte old_contents[BREAKPOINT_MAX];
-+ struct cleanup *cleanup;
-
- /* Determine appropriate breakpoint contents and size for this address. */
- bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
-
-+ /* Make sure we see the memory breakpoints. */
-+ cleanup = make_show_memory_breakpoints_cleanup (1);
- val = target_read_memory (addr, old_contents, bplen);
-
- /* If our breakpoint is no longer at the address, this means that the
- program modified the code on us, so it is wrong to put back the
- old value. */
- if (val == 0 && memcmp (bp, old_contents, bplen) == 0)
-- val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen);
-+ {
-+ val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen);
-+ microblaze_debug ("microblaze_linux_memory_remove_breakpoint writing back to memory at addr 0x%lx\n", addr);
-+ }
-
-+ do_cleanups (cleanup);
- return val;
- }
-
-@@ -129,6 +152,10 @@ microblaze_linux_init_abi (struct gdbarch_info info,
- /* Trampolines. */
- tramp_frame_prepend_unwinder (gdbarch,
- &microblaze_linux_sighandler_tramp_frame);
-+
-+ /* Enable TLS support. */
-+ set_gdbarch_fetch_tls_load_module_address (gdbarch,
-+ svr4_fetch_objfile_link_map);
- }
-
- void _initialize_microblaze_linux_tdep ();
-diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c
-index 5c80413304..443adfb364 100644
---- a/gdb/microblaze-tdep.c
-+++ b/gdb/microblaze-tdep.c
-@@ -137,7 +137,38 @@ microblaze_fetch_instruction (CORE_ADDR pc)
- constexpr gdb_byte microblaze_break_insn[] = MICROBLAZE_BREAKPOINT;
-
- typedef BP_MANIPULATION (microblaze_break_insn) microblaze_breakpoint;
--
-+static int
-+microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
-+ struct bp_target_info *bp_tgt)
-+{
-+ CORE_ADDR addr = bp_tgt->placed_address;
-+ const unsigned char *bp;
-+ int val;
-+ int bplen;
-+ gdb_byte old_contents[BREAKPOINT_MAX];
-+ struct cleanup *cleanup;
-+
-+ /* Determine appropriate breakpoint contents and size for this address. */
-+ bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
-+ if (bp == NULL)
-+ error (_("Software breakpoints not implemented for this target."));
-+
-+ /* Make sure we see the memory breakpoints. */
-+ cleanup = make_show_memory_breakpoints_cleanup (1);
-+ val = target_read_memory (addr, old_contents, bplen);
-+
-+ /* If our breakpoint is no longer at the address, this means that the
-+ program modified the code on us, so it is wrong to put back the
-+ old value. */
-+ if (val == 0 && memcmp (bp, old_contents, bplen) == 0)
-+ {
-+ val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen);
-+ microblaze_debug ("microblaze_linux_memory_remove_breakpoint writing back to memory at addr 0x%lx\n", addr);
-+ }
-+
-+ do_cleanups (cleanup);
-+ return val;
-+}
-
- /* Allocate and initialize a frame cache. */
-
-@@ -731,6 +762,7 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- microblaze_breakpoint::kind_from_pc);
- set_gdbarch_sw_breakpoint_from_kind (gdbarch,
- microblaze_breakpoint::bp_from_kind);
-+ set_gdbarch_memory_remove_breakpoint (gdbarch, microblaze_linux_memory_remove_breakpoint);
-
- set_gdbarch_frame_args_skip (gdbarch, 8);
-
-@@ -771,4 +803,5 @@ When non-zero, microblaze specific debugging is enabled."),
- NULL,
- &setdebuglist, &showdebuglist);
-
-+
- }
-diff --git a/gdb/microblaze-tdep.h b/gdb/microblaze-tdep.h
-index 4fbdf9933f..db0772643d 100644
---- a/gdb/microblaze-tdep.h
-+++ b/gdb/microblaze-tdep.h
-@@ -117,6 +117,8 @@ struct microblaze_frame_cache
-
- /* MICROBLAZE_BREAKPOINT defines the breakpoint that should be used.
- Only used for native debugging. */
--#define MICROBLAZE_BREAKPOINT {0xb9, 0xcc, 0x00, 0x60}
-+#define MICROBLAZE_BREAKPOINT {0xba, 0x0c, 0x00, 0x18}
-+#define MICROBLAZE_BREAKPOINT_LE {0x18, 0x00, 0x0c, 0xba}
-+
-
- #endif /* microblaze-tdep.h */
-diff --git a/gdb/regformats/reg-microblaze.dat b/gdb/regformats/reg-microblaze.dat
-new file mode 100644
-index 0000000000..bd8a438442
---- /dev/null
-+++ b/gdb/regformats/reg-microblaze.dat
-@@ -0,0 +1,41 @@
-+name:microblaze
-+expedite:r1,pc
-+32:r0
-+32:r1
-+32:r2
-+32:r3
-+32:r4
-+32:r5
-+32:r6
-+32:r7
-+32:r8
-+32:r9
-+32:r10
-+32:r11
-+32:r12
-+32:r13
-+32:r14
-+32:r15
-+32:r16
-+32:r17
-+32:r18
-+32:r19
-+32:r20
-+32:r21
-+32:r22
-+32:r23
-+32:r24
-+32:r25
-+32:r26
-+32:r27
-+32:r28
-+32:r29
-+32:r30
-+32:r31
-+32:pc
-+32:msr
-+32:ear
-+32:esr
-+32:fsr
-+32:slr
-+32:shr
-diff --git a/gdbserver/linux-microblaze-low.c b/gdbserver/linux-microblaze-low.c
-new file mode 100644
-index 0000000000..cba5d6fc58
---- /dev/null
-+++ b/gdbserver/linux-microblaze-low.c
-@@ -0,0 +1,189 @@
-+/* GNU/Linux/Microblaze specific low level interface, for the remote server for
-+ GDB.
-+ Copyright (C) 1995-2013 Free Software Foundation, Inc.
-+
-+ This file is part of GDB.
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 3 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
-+
-+#include "server.h"
-+#include "linux-low.h"
-+
-+#include <asm/ptrace.h>
-+#include <sys/procfs.h>
-+#include <sys/ptrace.h>
-+
-+#include "gdb_proc_service.h"
-+
-+static int microblaze_regmap[] =
-+ {PT_GPR(0), PT_GPR(1), PT_GPR(2), PT_GPR(3),
-+ PT_GPR(4), PT_GPR(5), PT_GPR(6), PT_GPR(7),
-+ PT_GPR(8), PT_GPR(9), PT_GPR(10), PT_GPR(11),
-+ PT_GPR(12), PT_GPR(13), PT_GPR(14), PT_GPR(15),
-+ PT_GPR(16), PT_GPR(17), PT_GPR(18), PT_GPR(19),
-+ PT_GPR(20), PT_GPR(21), PT_GPR(22), PT_GPR(23),
-+ PT_GPR(24), PT_GPR(25), PT_GPR(26), PT_GPR(27),
-+ PT_GPR(28), PT_GPR(29), PT_GPR(30), PT_GPR(31),
-+ PT_PC, PT_MSR, PT_EAR, PT_ESR,
-+ PT_FSR
-+ };
-+
-+#define microblaze_num_regs (sizeof microblaze_regmap / sizeof microblaze_regmap[0])
-+
-+/* Defined in auto-generated file microblaze-linux.c. */
-+void init_registers_microblaze (void);
-+
-+static int
-+microblaze_cannot_store_register (int regno)
-+{
-+ if (microblaze_regmap[regno] == -1 || regno == 0)
-+ return 1;
-+
-+ return 0;
-+}
-+
-+static int
-+microblaze_cannot_fetch_register (int regno)
-+{
-+ return 0;
-+}
-+
-+static CORE_ADDR
-+microblaze_get_pc (struct regcache *regcache)
-+{
-+ unsigned long pc;
-+
-+ collect_register_by_name (regcache, "pc", &pc);
-+ return (CORE_ADDR) pc;
-+}
-+
-+static void
-+microblaze_set_pc (struct regcache *regcache, CORE_ADDR pc)
-+{
-+ unsigned long newpc = pc;
-+
-+ supply_register_by_name (regcache, "pc", &newpc);
-+}
-+
-+/* dbtrap insn */
-+/* brki r16, 0x18; */
-+static const unsigned long microblaze_breakpoint = 0xba0c0018;
-+#define microblaze_breakpoint_len 4
-+
-+static int
-+microblaze_breakpoint_at (CORE_ADDR where)
-+{
-+ unsigned long insn;
-+
-+ (*the_target->read_memory) (where, (unsigned char *) &insn, 4);
-+ if (insn == microblaze_breakpoint)
-+ return 1;
-+ /* If necessary, recognize more trap instructions here. GDB only uses the
-+ one. */
-+ return 0;
-+}
-+
-+static CORE_ADDR
-+microblaze_reinsert_addr (struct regcache *regcache)
-+{
-+ unsigned long pc;
-+ collect_register_by_name (regcache, "r15", &pc);
-+ return pc;
-+}
-+
-+#ifdef HAVE_PTRACE_GETREGS
-+
-+static void
-+microblaze_collect_ptrace_register (struct regcache *regcache, int regno, char *buf)
-+{
-+ int size = register_size (regno);
-+
-+ memset (buf, 0, sizeof (long));
-+
-+ if (size < sizeof (long))
-+ collect_register (regcache, regno, buf + sizeof (long) - size);
-+ else
-+ collect_register (regcache, regno, buf);
-+}
-+
-+static void
-+microblaze_supply_ptrace_register (struct regcache *regcache,
-+ int regno, const char *buf)
-+{
-+ int size = register_size (regno);
-+
-+ if (regno == 0) {
-+ unsigned long regbuf_0 = 0;
-+ /* clobbering r0 so that it is always 0 as enforced by hardware */
-+ supply_register (regcache, regno, (const char*)&regbuf_0);
-+ } else {
-+ if (size < sizeof (long))
-+ supply_register (regcache, regno, buf + sizeof (long) - size);
-+ else
-+ supply_register (regcache, regno, buf);
-+ }
-+}
-+
-+/* Provide only a fill function for the general register set. ps_lgetregs
-+ will use this for NPTL support. */
-+
-+static void microblaze_fill_gregset (struct regcache *regcache, void *buf)
-+{
-+ int i;
-+
-+ for (i = 0; i < 32; i++)
-+ microblaze_collect_ptrace_register (regcache, i, (char *) buf + microblaze_regmap[i]);
-+}
-+
-+static void
-+microblaze_store_gregset (struct regcache *regcache, const void *buf)
-+{
-+ int i;
-+
-+ for (i = 0; i < 32; i++)
-+ supply_register (regcache, i, (char *) buf + microblaze_regmap[i]);
-+}
-+
-+#endif /* HAVE_PTRACE_GETREGS */
-+
-+struct regset_info target_regsets[] = {
-+#ifdef HAVE_PTRACE_GETREGS
-+ { PTRACE_GETREGS, PTRACE_SETREGS, 0, sizeof (elf_gregset_t), GENERAL_REGS, microblaze_fill_gregset, microblaze_store_gregset },
-+ { 0, 0, 0, -1, -1, NULL, NULL },
-+#endif /* HAVE_PTRACE_GETREGS */
-+ { 0, 0, 0, -1, -1, NULL, NULL }
-+};
-+
-+struct linux_target_ops the_low_target = {
-+ init_registers_microblaze,
-+ microblaze_num_regs,
-+ microblaze_regmap,
-+ NULL,
-+ microblaze_cannot_fetch_register,
-+ microblaze_cannot_store_register,
-+ NULL, /* fetch_register */
-+ microblaze_get_pc,
-+ microblaze_set_pc,
-+ (const unsigned char *) &microblaze_breakpoint,
-+ microblaze_breakpoint_len,
-+ microblaze_reinsert_addr,
-+ 0,
-+ microblaze_breakpoint_at,
-+ NULL,
-+ NULL,
-+ NULL,
-+ NULL,
-+ microblaze_collect_ptrace_register,
-+ microblaze_supply_ptrace_register,
-+};
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0034-Initial-port-of-core-reading-support-Added-support-f.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0034-Initial-port-of-core-reading-support-Added-support-f.patch
deleted file mode 100644
index 3d5f7ae2e..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0034-Initial-port-of-core-reading-support-Added-support-f.patch
+++ /dev/null
@@ -1,388 +0,0 @@
-From bcb8a5479a617eea7b4da869bee5e00d4b750c73 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 24 Jan 2017 14:55:56 +0530
-Subject: [PATCH 34/52] Initial port of core reading support Added support for
- reading notes in linux core dumps Support for reading of PRSTATUS and PSINFO
- information for rebuilding ".reg" sections of core dumps at run time.
-
-Signed-off-by: David Holsgrove <david.holsgrove@petalogix.com>
-Signed-off-by: Nathan Rossi <nathan.rossi@petalogix.com>
----
- bfd/elf32-microblaze.c | 84 ++++++++++++++++++++++++++++++++++
- gdb/configure.tgt | 2 +-
- gdb/microblaze-linux-tdep.c | 57 +++++++++++++++++++++++
- gdb/microblaze-tdep.c | 90 +++++++++++++++++++++++++++++++++++++
- gdb/microblaze-tdep.h | 27 +++++++++++
- 5 files changed, 259 insertions(+), 1 deletion(-)
-
-diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
-index d77710b1f3..7a27e50111 100644
---- a/bfd/elf32-microblaze.c
-+++ b/bfd/elf32-microblaze.c
-@@ -767,6 +767,87 @@ microblaze_elf_is_local_label_name (bfd *abfd, const char *name)
- return _bfd_elf_is_local_label_name (abfd, name);
- }
-
-+/* Support for core dump NOTE sections. */
-+static bfd_boolean
-+microblaze_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note)
-+{
-+ int offset;
-+ unsigned int size;
-+
-+ switch (note->descsz)
-+ {
-+ default:
-+ return FALSE;
-+
-+ case 228: /* Linux/MicroBlaze */
-+ /* pr_cursig */
-+ elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12);
-+
-+ /* pr_pid */
-+ elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 24);
-+
-+ /* pr_reg */
-+ offset = 72;
-+ size = 50 * 4;
-+
-+ break;
-+ }
-+
-+ /* Make a ".reg/999" section. */
-+ return _bfd_elfcore_make_pseudosection (abfd, ".reg",
-+ size, note->descpos + offset);
-+}
-+
-+static bfd_boolean
-+microblaze_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
-+{
-+ switch (note->descsz)
-+ {
-+ default:
-+ return FALSE;
-+
-+ case 128: /* Linux/MicroBlaze elf_prpsinfo */
-+ elf_tdata (abfd)->core->program
-+ = _bfd_elfcore_strndup (abfd, note->descdata + 32, 16);
-+ elf_tdata (abfd)->core->command
-+ = _bfd_elfcore_strndup (abfd, note->descdata + 48, 80);
-+ }
-+
-+ /* Note that for some reason, a spurious space is tacked
-+ onto the end of the args in some (at least one anyway)
-+ implementations, so strip it off if it exists. */
-+
-+ {
-+ char *command = elf_tdata (abfd)->core->command;
-+ int n = strlen (command);
-+
-+ if (0 < n && command[n - 1] == ' ')
-+ command[n - 1] = '\0';
-+ }
-+
-+ return TRUE;
-+}
-+
-+/* The microblaze linker (like many others) needs to keep track of
-+ the number of relocs that it decides to copy as dynamic relocs in
-+ check_relocs for each symbol. This is so that it can later discard
-+ them if they are found to be unnecessary. We store the information
-+ in a field extending the regular ELF linker hash table. */
-+
-+struct elf32_mb_dyn_relocs
-+{
-+ struct elf32_mb_dyn_relocs *next;
-+
-+ /* The input section of the reloc. */
-+ asection *sec;
-+
-+ /* Total number of relocs copied for the input section. */
-+ bfd_size_type count;
-+
-+ /* Number of pc-relative relocs copied for the input section. */
-+ bfd_size_type pc_count;
-+};
-+
- /* ELF linker hash entry. */
-
- struct elf32_mb_link_hash_entry
-@@ -3576,4 +3657,7 @@ microblaze_elf_add_symbol_hook (bfd *abfd,
- #define elf_backend_size_dynamic_sections microblaze_elf_size_dynamic_sections
- #define elf_backend_add_symbol_hook microblaze_elf_add_symbol_hook
-
-+#define elf_backend_grok_prstatus microblaze_elf_grok_prstatus
-+#define elf_backend_grok_psinfo microblaze_elf_grok_psinfo
-+
- #include "elf32-target.h"
-diff --git a/gdb/configure.tgt b/gdb/configure.tgt
-index d66f01bb9f..2938fddfe8 100644
---- a/gdb/configure.tgt
-+++ b/gdb/configure.tgt
-@@ -389,7 +389,7 @@ mep-*-*)
-
- microblaze*-linux-*|microblaze*-*-linux*)
- # Target: Xilinx MicroBlaze running Linux
-- gdb_target_obs="microblaze-tdep.o microblaze-linux-tdep.o solib-svr4.o \
-+ gdb_target_obs="microblaze-tdep.o microblaze-linux-tdep.o solib-svr4.o glibc-tdep.o \
- symfile-mem.o linux-tdep.o"
- gdb_sim=../sim/microblaze/libsim.a
- ;;
-diff --git a/gdb/microblaze-linux-tdep.c b/gdb/microblaze-linux-tdep.c
-index fb8241884b..2725ce1789 100644
---- a/gdb/microblaze-linux-tdep.c
-+++ b/gdb/microblaze-linux-tdep.c
-@@ -135,11 +135,54 @@ static struct tramp_frame microblaze_linux_sighandler_tramp_frame =
- microblaze_linux_sighandler_cache_init
- };
-
-+const struct microblaze_gregset microblaze_linux_core_gregset;
-+
-+static void
-+microblaze_linux_supply_core_gregset (const struct regset *regset,
-+ struct regcache *regcache,
-+ int regnum, const void *gregs, size_t len)
-+{
-+ microblaze_supply_gregset (&microblaze_linux_core_gregset, regcache,
-+ regnum, gregs);
-+}
-+
-+static void
-+microblaze_linux_collect_core_gregset (const struct regset *regset,
-+ const struct regcache *regcache,
-+ int regnum, void *gregs, size_t len)
-+{
-+ microblaze_collect_gregset (&microblaze_linux_core_gregset, regcache,
-+ regnum, gregs);
-+}
-+
-+static void
-+microblaze_linux_supply_core_fpregset (const struct regset *regset,
-+ struct regcache *regcache,
-+ int regnum, const void *fpregs, size_t len)
-+{
-+ /* FIXME. */
-+ microblaze_supply_fpregset (regcache, regnum, fpregs);
-+}
-+
-+static void
-+microblaze_linux_collect_core_fpregset (const struct regset *regset,
-+ const struct regcache *regcache,
-+ int regnum, void *fpregs, size_t len)
-+{
-+ /* FIXME. */
-+ microblaze_collect_fpregset (regcache, regnum, fpregs);
-+}
-
- static void
- microblaze_linux_init_abi (struct gdbarch_info info,
- struct gdbarch *gdbarch)
- {
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+
-+ tdep->gregset = regset_alloc (gdbarch, microblaze_linux_supply_core_gregset,
-+ microblaze_linux_collect_core_gregset);
-+ tdep->sizeof_gregset = 200;
-+
- linux_init_abi (info, gdbarch);
-
- set_gdbarch_memory_remove_breakpoint (gdbarch,
-@@ -153,6 +196,20 @@ microblaze_linux_init_abi (struct gdbarch_info info,
- tramp_frame_prepend_unwinder (gdbarch,
- &microblaze_linux_sighandler_tramp_frame);
-
-+ /* BFD target for core files. */
-+ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblaze");
-+ else
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblazeel");
-+
-+
-+ /* Shared library handling. */
-+ set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
-+ set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
-+
-+ set_gdbarch_regset_from_core_section (gdbarch,
-+ microblaze_regset_from_core_section);
-+
- /* Enable TLS support. */
- set_gdbarch_fetch_tls_load_module_address (gdbarch,
- svr4_fetch_objfile_link_map);
-diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c
-index 443adfb364..1b5cf38e45 100644
---- a/gdb/microblaze-tdep.c
-+++ b/gdb/microblaze-tdep.c
-@@ -137,6 +137,14 @@ microblaze_fetch_instruction (CORE_ADDR pc)
- constexpr gdb_byte microblaze_break_insn[] = MICROBLAZE_BREAKPOINT;
-
- typedef BP_MANIPULATION (microblaze_break_insn) microblaze_breakpoint;
-+static CORE_ADDR
-+microblaze_store_arguments (struct regcache *regcache, int nargs,
-+ struct value **args, CORE_ADDR sp,
-+ int struct_return, CORE_ADDR struct_addr)
-+{
-+ error (_("store_arguments not implemented"));
-+ return sp;
-+}
- static int
- microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- struct bp_target_info *bp_tgt)
-@@ -541,6 +549,12 @@ microblaze_frame_base_address (struct frame_info *next_frame,
- return cache->base;
- }
-
-+static const struct frame_unwind *
-+microblaze_frame_sniffer (struct frame_info *next_frame)
-+{
-+ return &microblaze_frame_unwind;
-+}
-+
- static const struct frame_base microblaze_frame_base =
- {
- &microblaze_frame_unwind,
-@@ -677,6 +691,71 @@ microblaze_register_g_packet_guesses (struct gdbarch *gdbarch)
- tdesc_microblaze_with_stack_protect);
- }
-
-+void
-+microblaze_supply_gregset (const struct microblaze_gregset *gregset,
-+ struct regcache *regcache,
-+ int regnum, const void *gregs)
-+{
-+ unsigned int *regs = gregs;
-+ if (regnum >= 0)
-+ regcache_raw_supply (regcache, regnum, regs + regnum);
-+
-+ if (regnum == -1) {
-+ int i;
-+
-+ for (i = 0; i < 50; i++) {
-+ regcache_raw_supply (regcache, i, regs + i);
-+ }
-+ }
-+}
-+
-+
-+void
-+microblaze_collect_gregset (const struct microblaze_gregset *gregset,
-+ const struct regcache *regcache,
-+ int regnum, void *gregs)
-+{
-+ /* FIXME. */
-+}
-+
-+void
-+microblaze_supply_fpregset (struct regcache *regcache,
-+ int regnum, const void *fpregs)
-+{
-+ /* FIXME. */
-+}
-+
-+void
-+microblaze_collect_fpregset (const struct regcache *regcache,
-+ int regnum, void *fpregs)
-+{
-+ /* FIXME. */
-+}
-+
-+
-+/* Return the appropriate register set for the core section identified
-+ by SECT_NAME and SECT_SIZE. */
-+
-+const struct regset *
-+microblaze_regset_from_core_section (struct gdbarch *gdbarch,
-+ const char *sect_name, size_t sect_size)
-+{
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+
-+ microblaze_debug ("microblaze_regset_from_core_section, sect_name = %s\n", sect_name);
-+
-+ if (strcmp (sect_name, ".reg") == 0 && sect_size >= tdep->sizeof_gregset)
-+ return tdep->gregset;
-+
-+ if (strcmp (sect_name, ".reg2") == 0 && sect_size >= tdep->sizeof_fpregset)
-+ return tdep->fpregset;
-+
-+ microblaze_debug ("microblaze_regset_from_core_section returning null :-( \n");
-+ return NULL;
-+}
-+
-+
-+
- static struct gdbarch *
- microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- {
-@@ -733,6 +812,10 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- tdep = XCNEW (struct gdbarch_tdep);
- gdbarch = gdbarch_alloc (&info, tdep);
-
-+ tdep->gregset = NULL;
-+ tdep->sizeof_gregset = 0;
-+ tdep->fpregset = NULL;
-+ tdep->sizeof_fpregset = 0;
- set_gdbarch_long_double_bit (gdbarch, 128);
-
- set_gdbarch_num_regs (gdbarch, MICROBLAZE_NUM_REGS);
-@@ -781,6 +864,13 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
- if (tdesc_data != NULL)
- tdesc_use_registers (gdbarch, tdesc, tdesc_data);
-+ //frame_base_append_sniffer (gdbarch, microblaze_frame_sniffer);
-+
-+ /* If we have register sets, enable the generic core file support. */
-+ if (tdep->gregset) {
-+ set_gdbarch_regset_from_core_section (gdbarch,
-+ microblaze_regset_from_core_section);
-+ }
-
- return gdbarch;
- }
-diff --git a/gdb/microblaze-tdep.h b/gdb/microblaze-tdep.h
-index db0772643d..de66a05cab 100644
---- a/gdb/microblaze-tdep.h
-+++ b/gdb/microblaze-tdep.h
-@@ -22,8 +22,22 @@
-
-
- /* Microblaze architecture-specific information. */
-+struct microblaze_gregset
-+{
-+ unsigned int gregs[32];
-+ unsigned int fpregs[32];
-+ unsigned int pregs[16];
-+};
-+
- struct gdbarch_tdep
- {
-+ int dummy; // declare something.
-+
-+ /* Register sets. */
-+ struct regset *gregset;
-+ size_t sizeof_gregset;
-+ struct regset *fpregset;
-+ size_t sizeof_fpregset;
- };
-
- /* Register numbers. */
-@@ -120,5 +134,18 @@ struct microblaze_frame_cache
- #define MICROBLAZE_BREAKPOINT {0xba, 0x0c, 0x00, 0x18}
- #define MICROBLAZE_BREAKPOINT_LE {0x18, 0x00, 0x0c, 0xba}
-
-+extern void microblaze_supply_gregset (const struct microblaze_gregset *gregset,
-+ struct regcache *regcache,
-+ int regnum, const void *gregs);
-+extern void microblaze_collect_gregset (const struct microblaze_gregset *gregset,
-+ const struct regcache *regcache,
-+ int regnum, void *gregs);
-+extern void microblaze_supply_fpregset (struct regcache *regcache,
-+ int regnum, const void *fpregs);
-+extern void microblaze_collect_fpregset (const struct regcache *regcache,
-+ int regnum, void *fpregs);
-+
-+extern const struct regset * microblaze_regset_from_core_section (struct gdbarch *gdbarch,
-+ const char *sect_name, size_t sect_size);
-
- #endif /* microblaze-tdep.h */
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0035-Fix-debug-message-when-register-is-unavailable.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0035-Fix-debug-message-when-register-is-unavailable.patch
deleted file mode 100644
index 4c26f2596..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0035-Fix-debug-message-when-register-is-unavailable.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From bc2b702d7f73a231bd67c60465137fe37f67479a Mon Sep 17 00:00:00 2001
-From: Nathan Rossi <nathan.rossi@petalogix.com>
-Date: Tue, 8 May 2012 18:11:17 +1000
-Subject: [PATCH 35/52] Fix debug message when register is unavailable
-
-Signed-off-by: Nathan Rossi <nathan.rossi@petalogix.com>
----
- gdb/frame.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/gdb/frame.c b/gdb/frame.c
-index ff27b9f00e..bf931b370c 100644
---- a/gdb/frame.c
-+++ b/gdb/frame.c
-@@ -1263,12 +1263,19 @@ frame_unwind_register_value (frame_info *next_frame, int regnum)
- else
- {
- int i;
-- const gdb_byte *buf = value_contents (value);
-+ const gdb_byte *buf = NULL;
-+ if (value_entirely_available(value)) {
-+ buf = value_contents (value);
-+ }
-
- fprintf_unfiltered (gdb_stdlog, " bytes=");
- fprintf_unfiltered (gdb_stdlog, "[");
-- for (i = 0; i < register_size (gdbarch, regnum); i++)
-- fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]);
-+ if (buf != NULL) {
-+ for (i = 0; i < register_size (gdbarch, regnum); i++)
-+ fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]);
-+ } else {
-+ fprintf_unfiltered (gdb_stdlog, "unavailable");
-+ }
- fprintf_unfiltered (gdb_stdlog, "]");
- }
- }
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0036-revert-master-rebase-changes-to-gdbserver.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0036-revert-master-rebase-changes-to-gdbserver.patch
deleted file mode 100644
index 81f55f765..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0036-revert-master-rebase-changes-to-gdbserver.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From c84c1a62142bcd18c242ec476539f0c505285d6c Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@xilinx.com>
-Date: Mon, 22 Jul 2013 11:16:05 +1000
-Subject: [PATCH 36/52] revert master-rebase changes to gdbserver
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gdbserver/configure.srv | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv
-index 5e33bd9c54..7e81388850 100644
---- a/gdbserver/configure.srv
-+++ b/gdbserver/configure.srv
-@@ -155,6 +155,13 @@ case "${gdbserver_host}" in
- srv_linux_usrregs=yes
- srv_linux_thread_db=yes
- ;;
-+ microblaze*-*-linux*) srv_regobj=microblaze-linux.o
-+ srv_tgtobj="linux-low.o linux-osdata.o linux-microblaze-low.o "
-+ srv_tgtobj="${srv_tgtobj} linux-procfs.o linux-ptrace.o"
-+ srv_linux_regsets=yes
-+ srv_linux_usrregs=yes
-+ srv_linux_thread_db=yes
-+ ;;
- powerpc*-*-linux*) srv_regobj="powerpc-32l.o"
- srv_regobj="${srv_regobj} powerpc-altivec32l.o"
- srv_regobj="${srv_regobj} powerpc-vsx32l.o"
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0037-revert-master-rebase-changes-to-gdbserver-previous-c.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0037-revert-master-rebase-changes-to-gdbserver-previous-c.patch
deleted file mode 100644
index 24ae7a8c5..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0037-revert-master-rebase-changes-to-gdbserver-previous-c.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 06f1e66daaa1c8a2e1e43254a66f35840945e63b Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 30 Apr 2018 17:09:55 +0530
-Subject: [PATCH 37/52] revert master-rebase changes to gdbserver , previous
- commit typo's
-
-Note: This _WILL NOT WORK_, the format of the files in gdbserver have changed!
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- gdbserver/Makefile.in | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in
-index 9d7687be53..df354d636c 100644
---- a/gdbserver/Makefile.in
-+++ b/gdbserver/Makefile.in
-@@ -183,6 +183,7 @@ SFILES = \
- $(srcdir)/linux-ia64-low.cc \
- $(srcdir)/linux-low.cc \
- $(srcdir)/linux-m68k-low.cc \
-+ $(srcdir)/linux-microblaze-low.c \
- $(srcdir)/linux-mips-low.cc \
- $(srcdir)/linux-nios2-low.cc \
- $(srcdir)/linux-ppc-low.cc \
-@@ -217,6 +218,7 @@ SFILES = \
- $(srcdir)/../gdb/nat/linux-osdata.c \
- $(srcdir)/../gdb/nat/linux-personality.c \
- $(srcdir)/../gdb/nat/mips-linux-watch.c \
-+ $(srcdir)/../gdb/nat/microblaze-linux.c \
- $(srcdir)/../gdb/nat/ppc-linux.c \
- $(srcdir)/../gdb/nat/riscv-linux-tdesc.c \
- $(srcdir)/../gdb/nat/fork-inferior.c \
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0038-microblaze-Add-build_gdbserver-yes-to-top-level-conf.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0038-microblaze-Add-build_gdbserver-yes-to-top-level-conf.patch
deleted file mode 100644
index dede70e8f..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0038-microblaze-Add-build_gdbserver-yes-to-top-level-conf.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 463a2d331ab68484913a2957614e852eac793583 Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@xilinx.com>
-Date: Mon, 16 Dec 2013 16:37:32 +1000
-Subject: [PATCH 38/52] microblaze: Add build_gdbserver=yes to top level
- configure.tgt
-
-For Microblaze linux toolchains, set the build_gdbserver=yes
-to allow driving gdbserver configuration from the upper level
-
-This patch has been absorbed into the original patch to add
-linux gdbserver support for Microblaze.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gdb/configure.tgt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gdb/configure.tgt b/gdb/configure.tgt
-index 2938fddfe8..ac2d35a991 100644
---- a/gdb/configure.tgt
-+++ b/gdb/configure.tgt
-@@ -397,6 +397,7 @@ microblaze*-*-*)
- # Target: Xilinx MicroBlaze running standalone
- gdb_target_obs="microblaze-tdep.o"
- gdb_sim=../sim/microblaze/libsim.a
-+ build_gdbserver=yes
- ;;
-
- mips*-*-linux*)
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0039-Initial-support-for-native-gdb.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0039-Initial-support-for-native-gdb.patch
deleted file mode 100644
index 646914a43..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0039-Initial-support-for-native-gdb.patch
+++ /dev/null
@@ -1,495 +0,0 @@
-From eef1384ec08bbbac893e4a564981517f92f90b57 Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@petalogix.com>
-Date: Fri, 20 Jul 2012 15:18:35 +1000
-Subject: [PATCH 39/52] Initial support for native gdb
-
-microblaze: Follow PPC method of getting setting registers
-using PTRACE PEEK/POKE
-
-Signed-off-by: David Holsgrove <david.holsgrove@petalogix.com>
-
-Conflicts:
- gdb/Makefile.in
----
- gdb/Makefile.in | 2 +
- gdb/config/microblaze/linux.mh | 9 +
- gdb/microblaze-linux-nat.c | 431 +++++++++++++++++++++++++++++++++
- 3 files changed, 442 insertions(+)
- create mode 100644 gdb/config/microblaze/linux.mh
- create mode 100644 gdb/microblaze-linux-nat.c
-
-diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index 9ae9fe2d1e..a44464b983 100644
---- a/gdb/Makefile.in
-+++ b/gdb/Makefile.in
-@@ -1328,6 +1328,7 @@ HFILES_NO_SRCDIR = \
- memory-map.h \
- memrange.h \
- microblaze-tdep.h \
-+ microblaze-linux-tdep.h \
- mips-linux-tdep.h \
- mips-nbsd-tdep.h \
- mips-tdep.h \
-@@ -2207,6 +2208,7 @@ ALLDEPFILES = \
- m68k-tdep.c \
- microblaze-linux-tdep.c \
- microblaze-tdep.c \
-+ microblaze-linux-nat.c \
- mingw-hdep.c \
- mips-fbsd-nat.c \
- mips-fbsd-tdep.c \
-diff --git a/gdb/config/microblaze/linux.mh b/gdb/config/microblaze/linux.mh
-new file mode 100644
-index 0000000000..a4eaf540e1
---- /dev/null
-+++ b/gdb/config/microblaze/linux.mh
-@@ -0,0 +1,9 @@
-+# Host: Microblaze, running Linux
-+
-+NAT_FILE= config/nm-linux.h
-+NATDEPFILES= inf-ptrace.o fork-child.o \
-+ microblaze-linux-nat.o proc-service.o linux-thread-db.o \
-+ linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o
-+NAT_CDEPS = $(srcdir)/proc-service.list
-+
-+LOADLIBES = -ldl $(RDYNAMIC)
-diff --git a/gdb/microblaze-linux-nat.c b/gdb/microblaze-linux-nat.c
-new file mode 100644
-index 0000000000..e9b8c9c522
---- /dev/null
-+++ b/gdb/microblaze-linux-nat.c
-@@ -0,0 +1,431 @@
-+/* Microblaze GNU/Linux native support.
-+
-+ Copyright (C) 1988-1989, 1991-1992, 1994, 1996, 2000-2012 Free
-+ Software Foundation, Inc.
-+
-+ This file is part of GDB.
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 3 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
-+
-+#include "defs.h"
-+#include "arch-utils.h"
-+#include "dis-asm.h"
-+#include "frame.h"
-+#include "trad-frame.h"
-+#include "symtab.h"
-+#include "value.h"
-+#include "gdbcmd.h"
-+#include "breakpoint.h"
-+#include "inferior.h"
-+#include "regcache.h"
-+#include "target.h"
-+#include "frame.h"
-+#include "frame-base.h"
-+#include "frame-unwind.h"
-+#include "dwarf2-frame.h"
-+#include "osabi.h"
-+
-+#include "gdb_assert.h"
-+#include "gdb_string.h"
-+#include "target-descriptions.h"
-+#include "opcodes/microblaze-opcm.h"
-+#include "opcodes/microblaze-dis.h"
-+
-+#include "linux-nat.h"
-+#include "target-descriptions.h"
-+
-+#include <sys/user.h>
-+#include <sys/utsname.h>
-+#include <sys/procfs.h>
-+#include <sys/ptrace.h>
-+
-+/* Prototypes for supply_gregset etc. */
-+#include "gregset.h"
-+
-+#include "microblaze-tdep.h"
-+
-+#include <elf/common.h>
-+#include "auxv.h"
-+
-+/* Defines ps_err_e, struct ps_prochandle. */
-+#include "gdb_proc_service.h"
-+
-+/* On GNU/Linux, threads are implemented as pseudo-processes, in which
-+ case we may be tracing more than one process at a time. In that
-+ case, inferior_ptid will contain the main process ID and the
-+ individual thread (process) ID. get_thread_id () is used to get
-+ the thread id if it's available, and the process id otherwise. */
-+
-+int
-+get_thread_id (ptid_t ptid)
-+{
-+ int tid = TIDGET (ptid);
-+ if (0 == tid)
-+ tid = PIDGET (ptid);
-+ return tid;
-+}
-+
-+#define GET_THREAD_ID(PTID) get_thread_id (PTID)
-+
-+/* Non-zero if our kernel may support the PTRACE_GETREGS and
-+ PTRACE_SETREGS requests, for reading and writing the
-+ general-purpose registers. Zero if we've tried one of
-+ them and gotten an error. */
-+int have_ptrace_getsetregs = 1;
-+
-+static int
-+microblaze_register_u_addr (struct gdbarch *gdbarch, int regno)
-+{
-+ int u_addr = -1;
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
-+ interface, and not the wordsize of the program's ABI. */
-+ int wordsize = sizeof (long);
-+
-+ /* General purpose registers occupy 1 slot each in the buffer. */
-+ if (regno >= MICROBLAZE_R0_REGNUM
-+ && regno <= MICROBLAZE_FSR_REGNUM)
-+ u_addr = (regno * wordsize);
-+
-+ return u_addr;
-+}
-+
-+
-+static void
-+fetch_register (struct regcache *regcache, int tid, int regno)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ /* This isn't really an address. But ptrace thinks of it as one. */
-+ CORE_ADDR regaddr = microblaze_register_u_addr (gdbarch, regno);
-+ int bytes_transferred;
-+ unsigned int offset; /* Offset of registers within the u area. */
-+ char buf[MAX_REGISTER_SIZE];
-+
-+ if (regaddr == -1)
-+ {
-+ memset (buf, '\0', register_size (gdbarch, regno)); /* Supply zeroes */
-+ regcache_raw_supply (regcache, regno, buf);
-+ return;
-+ }
-+
-+ /* Read the raw register using sizeof(long) sized chunks. On a
-+ 32-bit platform, 64-bit floating-point registers will require two
-+ transfers. */
-+ for (bytes_transferred = 0;
-+ bytes_transferred < register_size (gdbarch, regno);
-+ bytes_transferred += sizeof (long))
-+ {
-+ long l;
-+
-+ errno = 0;
-+ l = ptrace (PTRACE_PEEKUSER, tid, (PTRACE_TYPE_ARG3) regaddr, 0);
-+ regaddr += sizeof (long);
-+ if (errno != 0)
-+ {
-+ char message[128];
-+ sprintf (message, "reading register %s (#%d)",
-+ gdbarch_register_name (gdbarch, regno), regno);
-+ perror_with_name (message);
-+ }
-+ memcpy (&buf[bytes_transferred], &l, sizeof (l));
-+ }
-+
-+ /* Now supply the register. Keep in mind that the regcache's idea
-+ of the register's size may not be a multiple of sizeof
-+ (long). */
-+ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
-+ {
-+ /* Little-endian values are always found at the left end of the
-+ bytes transferred. */
-+ regcache_raw_supply (regcache, regno, buf);
-+ }
-+ else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-+ {
-+ /* Big-endian values are found at the right end of the bytes
-+ transferred. */
-+ size_t padding = (bytes_transferred - register_size (gdbarch, regno));
-+ regcache_raw_supply (regcache, regno, buf + padding);
-+ }
-+ else
-+ internal_error (__FILE__, __LINE__,
-+ _("fetch_register: unexpected byte order: %d"),
-+ gdbarch_byte_order (gdbarch));
-+}
-+
-+/* This function actually issues the request to ptrace, telling
-+ it to get all general-purpose registers and put them into the
-+ specified regset.
-+
-+ If the ptrace request does not exist, this function returns 0
-+ and properly sets the have_ptrace_* flag. If the request fails,
-+ this function calls perror_with_name. Otherwise, if the request
-+ succeeds, then the regcache gets filled and 1 is returned. */
-+static int
-+fetch_all_gp_regs (struct regcache *regcache, int tid)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ gdb_gregset_t gregset;
-+
-+ if (ptrace (PTRACE_GETREGS, tid, 0, (void *) &gregset) < 0)
-+ {
-+ if (errno == EIO)
-+ {
-+ have_ptrace_getsetregs = 0;
-+ return 0;
-+ }
-+ perror_with_name (_("Couldn't get general-purpose registers."));
-+ }
-+
-+ supply_gregset (regcache, (const gdb_gregset_t *) &gregset);
-+
-+ return 1;
-+}
-+
-+
-+/* This is a wrapper for the fetch_all_gp_regs function. It is
-+ responsible for verifying if this target has the ptrace request
-+ that can be used to fetch all general-purpose registers at one
-+ shot. If it doesn't, then we should fetch them using the
-+ old-fashioned way, which is to iterate over the registers and
-+ request them one by one. */
-+static void
-+fetch_gp_regs (struct regcache *regcache, int tid)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ int i;
-+
-+ if (have_ptrace_getsetregs)
-+ if (fetch_all_gp_regs (regcache, tid))
-+ return;
-+
-+ /* If we've hit this point, it doesn't really matter which
-+ architecture we are using. We just need to read the
-+ registers in the "old-fashioned way". */
-+ for (i = MICROBLAZE_R0_REGNUM; i <= MICROBLAZE_FSR_REGNUM; i++)
-+ fetch_register (regcache, tid, i);
-+}
-+
-+
-+static void
-+store_register (const struct regcache *regcache, int tid, int regno)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ /* This isn't really an address. But ptrace thinks of it as one. */
-+ CORE_ADDR regaddr = microblaze_register_u_addr (gdbarch, regno);
-+ int i;
-+ size_t bytes_to_transfer;
-+ char buf[MAX_REGISTER_SIZE];
-+
-+ if (regaddr == -1)
-+ return;
-+
-+ /* First collect the register. Keep in mind that the regcache's
-+ idea of the register's size may not be a multiple of sizeof
-+ (long). */
-+ memset (buf, 0, sizeof buf);
-+ bytes_to_transfer = align_up (register_size (gdbarch, regno), sizeof (long));
-+ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
-+ {
-+ /* Little-endian values always sit at the left end of the buffer. */
-+ regcache_raw_collect (regcache, regno, buf);
-+ }
-+ else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-+ {
-+ /* Big-endian values sit at the right end of the buffer. */
-+ size_t padding = (bytes_to_transfer - register_size (gdbarch, regno));
-+ regcache_raw_collect (regcache, regno, buf + padding);
-+ }
-+
-+ for (i = 0; i < bytes_to_transfer; i += sizeof (long))
-+ {
-+ long l;
-+
-+ memcpy (&l, &buf[i], sizeof (l));
-+ errno = 0;
-+ ptrace (PTRACE_POKEUSER, tid, (PTRACE_TYPE_ARG3) regaddr, l);
-+ regaddr += sizeof (long);
-+
-+ if (errno != 0)
-+ {
-+ char message[128];
-+ sprintf (message, "writing register %s (#%d)",
-+ gdbarch_register_name (gdbarch, regno), regno);
-+ perror_with_name (message);
-+ }
-+ }
-+}
-+
-+/* This function actually issues the request to ptrace, telling
-+ it to store all general-purpose registers present in the specified
-+ regset.
-+
-+ If the ptrace request does not exist, this function returns 0
-+ and properly sets the have_ptrace_* flag. If the request fails,
-+ this function calls perror_with_name. Otherwise, if the request
-+ succeeds, then the regcache is stored and 1 is returned. */
-+static int
-+store_all_gp_regs (const struct regcache *regcache, int tid, int regno)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ gdb_gregset_t gregset;
-+
-+ if (ptrace (PTRACE_GETREGS, tid, 0, (void *) &gregset) < 0)
-+ {
-+ if (errno == EIO)
-+ {
-+ have_ptrace_getsetregs = 0;
-+ return 0;
-+ }
-+ perror_with_name (_("Couldn't get general-purpose registers."));
-+ }
-+
-+ fill_gregset (regcache, &gregset, regno);
-+
-+ if (ptrace (PTRACE_SETREGS, tid, 0, (void *) &gregset) < 0)
-+ {
-+ if (errno == EIO)
-+ {
-+ have_ptrace_getsetregs = 0;
-+ return 0;
-+ }
-+ perror_with_name (_("Couldn't set general-purpose registers."));
-+ }
-+
-+ return 1;
-+}
-+
-+/* This is a wrapper for the store_all_gp_regs function. It is
-+ responsible for verifying if this target has the ptrace request
-+ that can be used to store all general-purpose registers at one
-+ shot. If it doesn't, then we should store them using the
-+ old-fashioned way, which is to iterate over the registers and
-+ store them one by one. */
-+static void
-+store_gp_regs (const struct regcache *regcache, int tid, int regno)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ int i;
-+
-+ if (have_ptrace_getsetregs)
-+ if (store_all_gp_regs (regcache, tid, regno))
-+ return;
-+
-+ /* If we hit this point, it doesn't really matter which
-+ architecture we are using. We just need to store the
-+ registers in the "old-fashioned way". */
-+ for (i = MICROBLAZE_R0_REGNUM; i <= MICROBLAZE_FSR_REGNUM; i++)
-+ store_register (regcache, tid, i);
-+}
-+
-+
-+/* Fetch registers from the child process. Fetch all registers if
-+ regno == -1, otherwise fetch all general registers or all floating
-+ point registers depending upon the value of regno. */
-+
-+static void
-+microblaze_linux_fetch_inferior_registers (struct target_ops *ops,
-+ struct regcache *regcache, int regno)
-+{
-+ /* Get the thread id for the ptrace call. */
-+ int tid = GET_THREAD_ID (inferior_ptid);
-+
-+ if (regno == -1)
-+ fetch_gp_regs (regcache, tid);
-+ else
-+ fetch_register (regcache, tid, regno);
-+}
-+
-+/* Store registers back into the inferior. Store all registers if
-+ regno == -1, otherwise store all general registers or all floating
-+ point registers depending upon the value of regno. */
-+
-+static void
-+microblaze_linux_store_inferior_registers (struct target_ops *ops,
-+ struct regcache *regcache, int regno)
-+{
-+ /* Get the thread id for the ptrace call. */
-+ int tid = GET_THREAD_ID (inferior_ptid);
-+
-+ if (regno >= 0)
-+ store_register (regcache, tid, regno);
-+ else
-+ store_gp_regs (regcache, tid, -1);
-+}
-+
-+/* Wrapper functions for the standard regset handling, used by
-+ thread debugging. */
-+
-+void
-+fill_gregset (const struct regcache *regcache,
-+ gdb_gregset_t *gregsetp, int regno)
-+{
-+ microblaze_collect_gregset (NULL, regcache, regno, gregsetp);
-+}
-+
-+void
-+supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregsetp)
-+{
-+ microblaze_supply_gregset (NULL, regcache, -1, gregsetp);
-+}
-+
-+void
-+fill_fpregset (const struct regcache *regcache,
-+ gdb_fpregset_t *fpregsetp, int regno)
-+{
-+ /* FIXME. */
-+}
-+
-+void
-+supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
-+{
-+ /* FIXME. */
-+}
-+
-+static const struct target_desc *
-+microblaze_linux_read_description (struct target_ops *ops)
-+{
-+ CORE_ADDR microblaze_hwcap = 0;
-+
-+ if (target_auxv_search (ops, AT_HWCAP, &microblaze_hwcap) != 1)
-+ return NULL;
-+
-+ return NULL;
-+}
-+
-+
-+void _initialize_microblaze_linux_nat (void);
-+
-+void
-+_initialize_microblaze_linux_nat (void)
-+{
-+ struct target_ops *t;
-+
-+ /* Fill in the generic GNU/Linux methods. */
-+ t = linux_target ();
-+
-+ /* Add our register access methods. */
-+ t->to_fetch_registers = microblaze_linux_fetch_inferior_registers;
-+ t->to_store_registers = microblaze_linux_store_inferior_registers;
-+
-+ t->to_read_description = microblaze_linux_read_description;
-+
-+ /* Register the target. */
-+ linux_nat_add_target (t);
-+}
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0040-Fixing-the-issues-related-to-GDB-7.12-added-all-the-.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0040-Fixing-the-issues-related-to-GDB-7.12-added-all-the-.patch
deleted file mode 100644
index e08f16df9..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0040-Fixing-the-issues-related-to-GDB-7.12-added-all-the-.patch
+++ /dev/null
@@ -1,309 +0,0 @@
-From 976a0e2664559cc194eee8040280cd29e2672d26 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Fri, 17 Feb 2017 14:09:40 +0530
-Subject: [PATCH 40/52] Fixing the issues related to GDB-7.12 added all the
- required function which are new in 7.12 and removed few deprecated functions
- from 7.6
-
----
- gdb/config/microblaze/linux.mh | 4 +-
- gdb/microblaze-linux-tdep.c | 68 ++++++++++++++++++++--
- gdb/microblaze-tdep.h | 1 +
- gdbserver/configure.srv | 3 +-
- gdbserver/linux-microblaze-low.c | 97 +++++++++++++++++++++++++++-----
- 5 files changed, 153 insertions(+), 20 deletions(-)
-
-diff --git a/gdb/config/microblaze/linux.mh b/gdb/config/microblaze/linux.mh
-index a4eaf540e1..74a53b854a 100644
---- a/gdb/config/microblaze/linux.mh
-+++ b/gdb/config/microblaze/linux.mh
-@@ -1,9 +1,11 @@
- # Host: Microblaze, running Linux
-
-+#linux-nat.o linux-waitpid.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o
- NAT_FILE= config/nm-linux.h
- NATDEPFILES= inf-ptrace.o fork-child.o \
- microblaze-linux-nat.o proc-service.o linux-thread-db.o \
-- linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o
-+ linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
-+ linux-waitpid.o linux-personality.o linux-namespaces.o
- NAT_CDEPS = $(srcdir)/proc-service.list
-
- LOADLIBES = -ldl $(RDYNAMIC)
-diff --git a/gdb/microblaze-linux-tdep.c b/gdb/microblaze-linux-tdep.c
-index 2725ce1789..a2e858d10f 100644
---- a/gdb/microblaze-linux-tdep.c
-+++ b/gdb/microblaze-linux-tdep.c
-@@ -29,13 +29,76 @@
- #include "regcache.h"
- #include "value.h"
- #include "osabi.h"
--#include "regset.h"
- #include "solib-svr4.h"
- #include "microblaze-tdep.h"
- #include "trad-frame.h"
- #include "frame-unwind.h"
- #include "tramp-frame.h"
- #include "linux-tdep.h"
-+#include "glibc-tdep.h"
-+
-+#include "gdb_assert.h"
-+
-+#ifndef REGSET_H
-+#define REGSET_H 1
-+
-+struct gdbarch;
-+struct regcache;
-+
-+/* Data structure for the supported register notes in a core file. */
-+struct core_regset_section
-+{
-+ const char *sect_name;
-+ int size;
-+ const char *human_name;
-+};
-+
-+/* Data structure describing a register set. */
-+
-+typedef void (supply_regset_ftype) (const struct regset *, struct regcache *,
-+ int, const void *, size_t);
-+typedef void (collect_regset_ftype) (const struct regset *,
-+ const struct regcache *,
-+ int, void *, size_t);
-+
-+struct regset
-+{
-+ /* Data pointer for private use by the methods below, presumably
-+ providing some sort of description of the register set. */
-+ const void *descr;
-+
-+ /* Function supplying values in a register set to a register cache. */
-+ supply_regset_ftype *supply_regset;
-+
-+ /* Function collecting values in a register set from a register cache. */
-+ collect_regset_ftype *collect_regset;
-+
-+ /* Architecture associated with the register set. */
-+ struct gdbarch *arch;
-+};
-+
-+#endif
-+
-+/* Allocate a fresh 'struct regset' whose supply_regset function is
-+ SUPPLY_REGSET, and whose collect_regset function is COLLECT_REGSET.
-+ If the regset has no collect_regset function, pass NULL for
-+ COLLECT_REGSET.
-+
-+ The object returned is allocated on ARCH's obstack. */
-+
-+struct regset *
-+regset_alloc (struct gdbarch *arch,
-+ supply_regset_ftype *supply_regset,
-+ collect_regset_ftype *collect_regset)
-+{
-+ struct regset *regset = GDBARCH_OBSTACK_ZALLOC (arch, struct regset);
-+
-+ regset->arch = arch;
-+ regset->supply_regset = supply_regset;
-+ regset->collect_regset = collect_regset;
-+
-+ return regset;
-+}
-
- static int microblaze_debug_flag = 0;
-
-@@ -207,9 +270,6 @@ microblaze_linux_init_abi (struct gdbarch_info info,
- set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
-
-- set_gdbarch_regset_from_core_section (gdbarch,
-- microblaze_regset_from_core_section);
--
- /* Enable TLS support. */
- set_gdbarch_fetch_tls_load_module_address (gdbarch,
- svr4_fetch_objfile_link_map);
-diff --git a/gdb/microblaze-tdep.h b/gdb/microblaze-tdep.h
-index de66a05cab..1234f8a36f 100644
---- a/gdb/microblaze-tdep.h
-+++ b/gdb/microblaze-tdep.h
-@@ -24,6 +24,7 @@
- /* Microblaze architecture-specific information. */
- struct microblaze_gregset
- {
-+ microblaze_gregset() {}
- unsigned int gregs[32];
- unsigned int fpregs[32];
- unsigned int pregs[16];
-diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv
-index 7e81388850..456f4b3349 100644
---- a/gdbserver/configure.srv
-+++ b/gdbserver/configure.srv
-@@ -156,8 +156,7 @@ case "${gdbserver_host}" in
- srv_linux_thread_db=yes
- ;;
- microblaze*-*-linux*) srv_regobj=microblaze-linux.o
-- srv_tgtobj="linux-low.o linux-osdata.o linux-microblaze-low.o "
-- srv_tgtobj="${srv_tgtobj} linux-procfs.o linux-ptrace.o"
-+ srv_tgtobj="$srv_linux_obj linux-microblaze-low.o "
- srv_linux_regsets=yes
- srv_linux_usrregs=yes
- srv_linux_thread_db=yes
-diff --git a/gdbserver/linux-microblaze-low.c b/gdbserver/linux-microblaze-low.c
-index cba5d6fc58..a2733f3c21 100644
---- a/gdbserver/linux-microblaze-low.c
-+++ b/gdbserver/linux-microblaze-low.c
-@@ -39,10 +39,11 @@ static int microblaze_regmap[] =
- PT_FSR
- };
-
--#define microblaze_num_regs (sizeof microblaze_regmap / sizeof microblaze_regmap[0])
-+#define microblaze_num_regs (sizeof (microblaze_regmap) / sizeof (microblaze_regmap[0]))
-
- /* Defined in auto-generated file microblaze-linux.c. */
- void init_registers_microblaze (void);
-+extern const struct target_desc *tdesc_microblaze;
-
- static int
- microblaze_cannot_store_register (int regno)
-@@ -81,6 +82,15 @@ microblaze_set_pc (struct regcache *regcache, CORE_ADDR pc)
- static const unsigned long microblaze_breakpoint = 0xba0c0018;
- #define microblaze_breakpoint_len 4
-
-+/* Implementation of linux_target_ops method "sw_breakpoint_from_kind". */
-+
-+static const gdb_byte *
-+microblaze_sw_breakpoint_from_kind (int kind, int *size)
-+{
-+ *size = microblaze_breakpoint_len;
-+ return (const gdb_byte *) &microblaze_breakpoint;
-+}
-+
- static int
- microblaze_breakpoint_at (CORE_ADDR where)
- {
-@@ -107,7 +117,7 @@ microblaze_reinsert_addr (struct regcache *regcache)
- static void
- microblaze_collect_ptrace_register (struct regcache *regcache, int regno, char *buf)
- {
-- int size = register_size (regno);
-+ int size = register_size (regcache->tdesc, regno);
-
- memset (buf, 0, sizeof (long));
-
-@@ -121,7 +131,7 @@ static void
- microblaze_supply_ptrace_register (struct regcache *regcache,
- int regno, const char *buf)
- {
-- int size = register_size (regno);
-+ int size = register_size (regcache->tdesc, regno);
-
- if (regno == 0) {
- unsigned long regbuf_0 = 0;
-@@ -157,33 +167,94 @@ microblaze_store_gregset (struct regcache *regcache, const void *buf)
-
- #endif /* HAVE_PTRACE_GETREGS */
-
--struct regset_info target_regsets[] = {
-+static struct regset_info microblaze_regsets[] = {
- #ifdef HAVE_PTRACE_GETREGS
- { PTRACE_GETREGS, PTRACE_SETREGS, 0, sizeof (elf_gregset_t), GENERAL_REGS, microblaze_fill_gregset, microblaze_store_gregset },
-- { 0, 0, 0, -1, -1, NULL, NULL },
-+ { 0, 0, 0, -1, GENERAL_REGS, NULL, NULL },
- #endif /* HAVE_PTRACE_GETREGS */
-- { 0, 0, 0, -1, -1, NULL, NULL }
-+ { 0, 0, 0, -1, GENERAL_REGS, NULL, NULL },
-+ NULL_REGSET
- };
-
-+static struct usrregs_info microblaze_usrregs_info =
-+ {
-+ microblaze_num_regs,
-+ microblaze_regmap,
-+ };
-+
-+static struct regsets_info microblaze_regsets_info =
-+ {
-+ microblaze_regsets, /* regsets */
-+ 0, /* num_regsets */
-+ NULL, /* disabled_regsets */
-+ };
-+
-+static struct regs_info regs_info =
-+ {
-+ NULL, /* regset_bitmap */
-+ &microblaze_usrregs_info,
-+ &microblaze_regsets_info
-+ };
-+
-+static const struct regs_info *
-+microblaze_regs_info (void)
-+{
-+ return &regs_info;
-+}
-+
-+/* Support for hardware single step. */
-+
-+static int
-+microblaze_supports_hardware_single_step (void)
-+{
-+ return 1;
-+}
-+
-+
-+static void
-+microblaze_arch_setup (void)
-+{
-+ current_process ()->tdesc = tdesc_microblaze;
-+}
-+
- struct linux_target_ops the_low_target = {
-- init_registers_microblaze,
-- microblaze_num_regs,
-- microblaze_regmap,
-- NULL,
-+ microblaze_arch_setup,
-+ microblaze_regs_info,
- microblaze_cannot_fetch_register,
- microblaze_cannot_store_register,
- NULL, /* fetch_register */
- microblaze_get_pc,
- microblaze_set_pc,
-- (const unsigned char *) &microblaze_breakpoint,
-- microblaze_breakpoint_len,
-- microblaze_reinsert_addr,
-+ NULL,
-+ microblaze_sw_breakpoint_from_kind,
-+ NULL,
- 0,
- microblaze_breakpoint_at,
- NULL,
- NULL,
- NULL,
- NULL,
-+ NULL,
- microblaze_collect_ptrace_register,
- microblaze_supply_ptrace_register,
-+ NULL, /* siginfo_fixup */
-+ NULL, /* new_process */
-+ NULL, /* new_thread */
-+ NULL, /* new_fork */
-+ NULL, /* prepare_to_resume */
-+ NULL, /* process_qsupported */
-+ NULL, /* supports_tracepoints */
-+ NULL, /* get_thread_area */
-+ NULL, /* install_fast_tracepoint_jump_pad */
-+ NULL, /* emit_ops */
-+ NULL, /* get_min_fast_tracepoint_insn_len */
-+ NULL, /* supports_range_stepping */
-+ NULL, /* breakpoint_kind_from_current_state */
-+ microblaze_supports_hardware_single_step,
- };
-+
-+void
-+initialize_low_arch (void)
-+{
-+ init_registers_microblaze ();
-+}
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0041-Adding-64-bit-MB-support-Added-new-architecture-to-M.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0041-Adding-64-bit-MB-support-Added-new-architecture-to-M.patch
deleted file mode 100644
index 2cb1cc816..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0041-Adding-64-bit-MB-support-Added-new-architecture-to-M.patch
+++ /dev/null
@@ -1,1008 +0,0 @@
-From 90412eba37c683e0526470c39926318ae7f5bd27 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Thu, 31 Jan 2019 14:36:00 +0530
-Subject: [PATCH 41/52] Adding 64 bit MB support Added new architecture to
- Microblaze 64-bit support to GDB Signed-off-by :Nagaraju Mekala
- <nmekala@xilix.com>
-
-Conflicts:
- gdb/Makefile.in
----
- bfd/archures.c | 2 +
- bfd/bfd-in2.h | 2 +
- bfd/cpu-microblaze.c | 8 +-
- gas/config/tc-microblaze.c | 13 ++
- gas/config/tc-microblaze.h | 4 +
- gdb/features/Makefile | 3 +
- gdb/features/microblaze-core.xml | 6 +-
- gdb/features/microblaze-stack-protect.xml | 4 +-
- gdb/features/microblaze-with-stack-protect.c | 8 +-
- gdb/features/microblaze.c | 6 +-
- gdb/features/microblaze64-core.xml | 69 ++++++
- gdb/features/microblaze64-stack-protect.xml | 12 +
- .../microblaze64-with-stack-protect.c | 79 +++++++
- .../microblaze64-with-stack-protect.xml | 12 +
- gdb/features/microblaze64.c | 77 +++++++
- gdb/features/microblaze64.xml | 11 +
- gdb/microblaze-tdep.c | 207 ++++++++++++++++--
- gdb/microblaze-tdep.h | 8 +-
- .../microblaze-with-stack-protect.dat | 4 +-
- 19 files changed, 491 insertions(+), 44 deletions(-)
- create mode 100644 gdb/features/microblaze64-core.xml
- create mode 100644 gdb/features/microblaze64-stack-protect.xml
- create mode 100644 gdb/features/microblaze64-with-stack-protect.c
- create mode 100644 gdb/features/microblaze64-with-stack-protect.xml
- create mode 100644 gdb/features/microblaze64.c
- create mode 100644 gdb/features/microblaze64.xml
-
-diff --git a/bfd/archures.c b/bfd/archures.c
-index 551ec8732f..627d81261d 100644
---- a/bfd/archures.c
-+++ b/bfd/archures.c
-@@ -522,6 +522,8 @@ DESCRIPTION
- . bfd_arch_lm32, {* Lattice Mico32. *}
- .#define bfd_mach_lm32 1
- . bfd_arch_microblaze,{* Xilinx MicroBlaze. *}
-+.#define bfd_mach_microblaze 1
-+.#define bfd_mach_microblaze64 2
- . bfd_arch_tilepro, {* Tilera TILEPro. *}
- . bfd_arch_tilegx, {* Tilera TILE-Gx. *}
- .#define bfd_mach_tilepro 1
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 05fbeb9b3a..788fb2b48b 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -1922,6 +1922,8 @@ enum bfd_architecture
- bfd_arch_lm32, /* Lattice Mico32. */
- #define bfd_mach_lm32 1
- bfd_arch_microblaze,/* Xilinx MicroBlaze. */
-+#define bfd_mach_microblaze 1
-+#define bfd_mach_microblaze64 2
- bfd_arch_tilepro, /* Tilera TILEPro. */
- bfd_arch_tilegx, /* Tilera TILE-Gx. */
- #define bfd_mach_tilepro 1
-diff --git a/bfd/cpu-microblaze.c b/bfd/cpu-microblaze.c
-index 194920b20b..f3e8bbda75 100644
---- a/bfd/cpu-microblaze.c
-+++ b/bfd/cpu-microblaze.c
-@@ -31,7 +31,7 @@ const bfd_arch_info_type bfd_microblaze_arch[] =
- 64, /* 32 bits in an address. */
- 8, /* 8 bits in a byte. */
- bfd_arch_microblaze, /* Architecture. */
-- 0, /* Machine number - 0 for now. */
-+ bfd_mach_microblaze64, /* 64 bit Machine */
- "microblaze", /* Architecture name. */
- "MicroBlaze", /* Printable name. */
- 3, /* Section align power. */
-@@ -46,7 +46,7 @@ const bfd_arch_info_type bfd_microblaze_arch[] =
- 32, /* Bits in an address. */
- 8, /* Bits in a byte. */
- bfd_arch_microblaze, /* Architecture number. */
-- 0, /* Machine number - 0 for now. */
-+ bfd_mach_microblaze, /* 32 bit Machine */
- "microblaze", /* Architecture name. */
- "MicroBlaze", /* Printable name. */
- 3, /* Section align power. */
-@@ -63,7 +63,7 @@ const bfd_arch_info_type bfd_microblaze_arch[] =
- 32, /* 32 bits in an address. */
- 8, /* 8 bits in a byte. */
- bfd_arch_microblaze, /* Architecture. */
-- 0, /* Machine number - 0 for now. */
-+ bfd_mach_microblaze, /* 32 bit Machine */
- "microblaze", /* Architecture name. */
- "MicroBlaze", /* Printable name. */
- 3, /* Section align power. */
-@@ -78,7 +78,7 @@ const bfd_arch_info_type bfd_microblaze_arch[] =
- 64, /* 32 bits in an address. */
- 8, /* 8 bits in a byte. */
- bfd_arch_microblaze, /* Architecture. */
-- 0, /* Machine number - 0 for now. */
-+ bfd_mach_microblaze64, /* 64 bit Machine */
- "microblaze", /* Architecture name. */
- "MicroBlaze", /* Printable name. */
- 3, /* Section align power. */
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index c6ca913f8b..df7088d6c3 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -438,6 +438,11 @@ md_begin (void)
-
- opcode_hash_control = hash_new ();
-
-+ if (microblaze_arch_size == 64)
-+ bfd_set_arch_mach (stdoutput, bfd_arch_microblaze, bfd_mach_microblaze64);
-+ else
-+ bfd_set_arch_mach (stdoutput, bfd_arch_microblaze, bfd_mach_microblaze);
-+
- /* Insert unique names into hash table. */
- for (opcode = (struct opcodes *)opcodes; opcode->name; opcode ++)
- {
-@@ -3478,6 +3483,14 @@ md_show_usage (FILE * stream ATTRIBUTE_UNUSED)
- fprintf (stream, " -%-23s%s\n", "m64", N_("generate 64-bit elf"));
- }
-
-+unsigned long
-+microblaze_mach (void)
-+{
-+ if (microblaze_arch_size == 64)
-+ return bfd_mach_microblaze64;
-+ else
-+ return bfd_mach_microblaze;
-+}
-
- /* Create a fixup for a cons expression. If parse_cons_expression_microblaze
- found a machine specific op in an expression,
-diff --git a/gas/config/tc-microblaze.h b/gas/config/tc-microblaze.h
-index 7435a70ef5..90c2a4a555 100644
---- a/gas/config/tc-microblaze.h
-+++ b/gas/config/tc-microblaze.h
-@@ -23,6 +23,10 @@
- #define TC_MICROBLAZE 1
-
- #define TARGET_ARCH bfd_arch_microblaze
-+#define TARGET_MACH (microblaze_mach ())
-+#define DEFAULT_MACHINE bfd_mach_microblaze64
-+extern unsigned long microblaze_mach (void);
-+
- #ifndef TARGET_BYTES_BIG_ENDIAN
- /* Used to initialise target_big_endian. */
- #define TARGET_BYTES_BIG_ENDIAN 1
-diff --git a/gdb/features/Makefile b/gdb/features/Makefile
-index d0af9a47b4..2c3cf91b69 100644
---- a/gdb/features/Makefile
-+++ b/gdb/features/Makefile
-@@ -46,6 +46,7 @@
- # List of .dat files to create in ../regformats/
- WHICH = mips-linux mips-dsp-linux \
- microblaze-with-stack-protect \
-+ microblaze64-with-stack-protect \
- mips64-linux mips64-dsp-linux \
- nios2-linux \
- rs6000/powerpc-32 \
-@@ -107,7 +108,9 @@ OUTPUTS = $(patsubst %,$(outdir)/%.dat,$(WHICH))
- # to make on the command line.
- XMLTOC = \
- microblaze-with-stack-protect.xml \
-+ microblaze64-with-stack-protect.xml \
- microblaze.xml \
-+ microblaze64.xml \
- mips-dsp-linux.xml \
- mips-linux.xml \
- mips64-dsp-linux.xml \
-diff --git a/gdb/features/microblaze-core.xml b/gdb/features/microblaze-core.xml
-index f272650a41..a87f0f2319 100644
---- a/gdb/features/microblaze-core.xml
-+++ b/gdb/features/microblaze-core.xml
-@@ -8,7 +8,7 @@
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.microblaze.core">
- <reg name="r0" bitsize="32" regnum="0"/>
-- <reg name="r1" bitsize="32" type="data_ptr"/>
-+ <reg name="r1" bitsize="32"/>
- <reg name="r2" bitsize="32"/>
- <reg name="r3" bitsize="32"/>
- <reg name="r4" bitsize="32"/>
-@@ -39,7 +39,7 @@
- <reg name="r29" bitsize="32"/>
- <reg name="r30" bitsize="32"/>
- <reg name="r31" bitsize="32"/>
-- <reg name="rpc" bitsize="32" type="code_ptr"/>
-+ <reg name="rpc" bitsize="32"/>
- <reg name="rmsr" bitsize="32"/>
- <reg name="rear" bitsize="32"/>
- <reg name="resr" bitsize="32"/>
-@@ -64,4 +64,6 @@
- <reg name="rtlbsx" bitsize="32"/>
- <reg name="rtlblo" bitsize="32"/>
- <reg name="rtlbhi" bitsize="32"/>
-+ <reg name="slr" bitsize="32"/>
-+ <reg name="shr" bitsize="32"/>
- </feature>
-diff --git a/gdb/features/microblaze-stack-protect.xml b/gdb/features/microblaze-stack-protect.xml
-index 1b16223406..1a67f88c18 100644
---- a/gdb/features/microblaze-stack-protect.xml
-+++ b/gdb/features/microblaze-stack-protect.xml
-@@ -7,6 +7,6 @@
-
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.microblaze.stack-protect">
-- <reg name="rslr" bitsize="32"/>
-- <reg name="rshr" bitsize="32"/>
-+ <reg name="slr" bitsize="32"/>
-+ <reg name="shr" bitsize="32"/>
- </feature>
-diff --git a/gdb/features/microblaze-with-stack-protect.c b/gdb/features/microblaze-with-stack-protect.c
-index b39aa19887..609934e2b4 100644
---- a/gdb/features/microblaze-with-stack-protect.c
-+++ b/gdb/features/microblaze-with-stack-protect.c
-@@ -14,7 +14,7 @@ initialize_tdesc_microblaze_with_stack_protect (void)
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "data_ptr");
-+ tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
-@@ -45,7 +45,7 @@ initialize_tdesc_microblaze_with_stack_protect (void)
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "rpc", 32, 1, NULL, 32, "code_ptr");
-+ tdesc_create_reg (feature, "rpc", 32, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rmsr", 33, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rear", 34, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "resr", 35, 1, NULL, 32, "int");
-@@ -72,8 +72,8 @@ initialize_tdesc_microblaze_with_stack_protect (void)
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.stack-protect");
-- tdesc_create_reg (feature, "rslr", 57, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "rshr", 58, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 32, "int");
-
- tdesc_microblaze_with_stack_protect = result;
- }
-diff --git a/gdb/features/microblaze.c b/gdb/features/microblaze.c
-index 6c86fc0770..ceb98ca8b8 100644
---- a/gdb/features/microblaze.c
-+++ b/gdb/features/microblaze.c
-@@ -14,7 +14,7 @@ initialize_tdesc_microblaze (void)
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "data_ptr");
-+ tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
-@@ -45,7 +45,7 @@ initialize_tdesc_microblaze (void)
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "rpc", 32, 1, NULL, 32, "code_ptr");
-+ tdesc_create_reg (feature, "rpc", 32, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rmsr", 33, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rear", 34, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "resr", 35, 1, NULL, 32, "int");
-@@ -70,6 +70,8 @@ initialize_tdesc_microblaze (void)
- tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-
- tdesc_microblaze = result;
- }
-diff --git a/gdb/features/microblaze64-core.xml b/gdb/features/microblaze64-core.xml
-new file mode 100644
-index 0000000000..96e99e2fb2
---- /dev/null
-+++ b/gdb/features/microblaze64-core.xml
-@@ -0,0 +1,69 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2014-2018 Free Software Foundation, Inc.
-+
-+ Copying and distribution of this file, with or without modification,
-+ are permitted in any medium without royalty provided the copyright
-+ notice and this notice are preserved. -->
-+
-+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-+<feature name="org.gnu.gdb.microblaze64.core">
-+ <reg name="r0" bitsize="64" regnum="0"/>
-+ <reg name="r1" bitsize="64"/>
-+ <reg name="r2" bitsize="64"/>
-+ <reg name="r3" bitsize="64"/>
-+ <reg name="r4" bitsize="64"/>
-+ <reg name="r5" bitsize="64"/>
-+ <reg name="r6" bitsize="64"/>
-+ <reg name="r7" bitsize="64"/>
-+ <reg name="r8" bitsize="64"/>
-+ <reg name="r9" bitsize="64"/>
-+ <reg name="r10" bitsize="64"/>
-+ <reg name="r11" bitsize="64"/>
-+ <reg name="r12" bitsize="64"/>
-+ <reg name="r13" bitsize="64"/>
-+ <reg name="r14" bitsize="64"/>
-+ <reg name="r15" bitsize="64"/>
-+ <reg name="r16" bitsize="64"/>
-+ <reg name="r17" bitsize="64"/>
-+ <reg name="r18" bitsize="64"/>
-+ <reg name="r19" bitsize="64"/>
-+ <reg name="r20" bitsize="64"/>
-+ <reg name="r21" bitsize="64"/>
-+ <reg name="r22" bitsize="64"/>
-+ <reg name="r23" bitsize="64"/>
-+ <reg name="r24" bitsize="64"/>
-+ <reg name="r25" bitsize="64"/>
-+ <reg name="r26" bitsize="64"/>
-+ <reg name="r27" bitsize="64"/>
-+ <reg name="r28" bitsize="64"/>
-+ <reg name="r29" bitsize="64"/>
-+ <reg name="r30" bitsize="64"/>
-+ <reg name="r31" bitsize="64"/>
-+ <reg name="rpc" bitsize="64"/>
-+ <reg name="rmsr" bitsize="32"/>
-+ <reg name="rear" bitsize="64"/>
-+ <reg name="resr" bitsize="32"/>
-+ <reg name="rfsr" bitsize="32"/>
-+ <reg name="rbtr" bitsize="64"/>
-+ <reg name="rpvr0" bitsize="32"/>
-+ <reg name="rpvr1" bitsize="32"/>
-+ <reg name="rpvr2" bitsize="32"/>
-+ <reg name="rpvr3" bitsize="32"/>
-+ <reg name="rpvr4" bitsize="32"/>
-+ <reg name="rpvr5" bitsize="32"/>
-+ <reg name="rpvr6" bitsize="32"/>
-+ <reg name="rpvr7" bitsize="32"/>
-+ <reg name="rpvr8" bitsize="64"/>
-+ <reg name="rpvr9" bitsize="64"/>
-+ <reg name="rpvr10" bitsize="32"/>
-+ <reg name="rpvr11" bitsize="32"/>
-+ <reg name="redr" bitsize="32"/>
-+ <reg name="rpid" bitsize="32"/>
-+ <reg name="rzpr" bitsize="32"/>
-+ <reg name="rtlbx" bitsize="32"/>
-+ <reg name="rtlbsx" bitsize="32"/>
-+ <reg name="rtlblo" bitsize="32"/>
-+ <reg name="rtlbhi" bitsize="32"/>
-+ <reg name="slr" bitsize="64"/>
-+ <reg name="shr" bitsize="64"/>
-+</feature>
-diff --git a/gdb/features/microblaze64-stack-protect.xml b/gdb/features/microblaze64-stack-protect.xml
-new file mode 100644
-index 0000000000..1bbf5fc3ce
---- /dev/null
-+++ b/gdb/features/microblaze64-stack-protect.xml
-@@ -0,0 +1,12 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2014-2018 Free Software Foundation, Inc.
-+
-+ Copying and distribution of this file, with or without modification,
-+ are permitted in any medium without royalty provided the copyright
-+ notice and this notice are preserved. -->
-+
-+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-+<feature name="org.gnu.gdb.microblaze64.stack-protect">
-+ <reg name="slr" bitsize="64"/>
-+ <reg name="shr" bitsize="64"/>
-+</feature>
-diff --git a/gdb/features/microblaze64-with-stack-protect.c b/gdb/features/microblaze64-with-stack-protect.c
-new file mode 100644
-index 0000000000..f448c9a749
---- /dev/null
-+++ b/gdb/features/microblaze64-with-stack-protect.c
-@@ -0,0 +1,79 @@
-+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
-+ Original: microblaze-with-stack-protect.xml */
-+
-+#include "defs.h"
-+#include "osabi.h"
-+#include "target-descriptions.h"
-+
-+struct target_desc *tdesc_microblaze64_with_stack_protect;
-+static void
-+initialize_tdesc_microblaze64_with_stack_protect (void)
-+{
-+ struct target_desc *result = allocate_target_description ();
-+ struct tdesc_feature *feature;
-+
-+ feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze64.core");
-+ tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpc", 32, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rmsr", 33, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rear", 34, 1, NULL, 64, "int");
-+ tdesc_create_reg (feature, "resr", 35, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rfsr", 36, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rbtr", 37, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr0", 38, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr1", 39, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr2", 40, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr3", 41, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr4", 42, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr5", 43, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr6", 44, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr7", 45, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr8", 46, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr9", 47, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr10", 48, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr11", 49, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "redr", 50, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpid", 51, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rzpr", 52, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbx", 53, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-+
-+ feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze64.stack-protect");
-+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-+
-+ tdesc_microblaze64_with_stack_protect = result;
-+}
-diff --git a/gdb/features/microblaze64-with-stack-protect.xml b/gdb/features/microblaze64-with-stack-protect.xml
-new file mode 100644
-index 0000000000..0e9f01611f
---- /dev/null
-+++ b/gdb/features/microblaze64-with-stack-protect.xml
-@@ -0,0 +1,12 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2014-2018 Free Software Foundation, Inc.
-+
-+ Copying and distribution of this file, with or without modification,
-+ are permitted in any medium without royalty provided the copyright
-+ notice and this notice are preserved. -->
-+
-+<!DOCTYPE target SYSTEM "gdb-target.dtd">
-+<target>
-+ <xi:include href="microblaze64-core.xml"/>
-+ <xi:include href="microblaze64-stack-protect.xml"/>
-+</target>
-diff --git a/gdb/features/microblaze64.c b/gdb/features/microblaze64.c
-new file mode 100644
-index 0000000000..1aa37c4512
---- /dev/null
-+++ b/gdb/features/microblaze64.c
-@@ -0,0 +1,77 @@
-+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
-+ Original: microblaze.xml */
-+
-+#include "defs.h"
-+#include "osabi.h"
-+#include "target-descriptions.h"
-+
-+struct target_desc *tdesc_microblaze64;
-+static void
-+initialize_tdesc_microblaze64 (void)
-+{
-+ struct target_desc *result = allocate_target_description ();
-+ struct tdesc_feature *feature;
-+
-+ feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze64.core");
-+ tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpc", 32, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rmsr", 33, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rear", 34, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "resr", 35, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rfsr", 36, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rbtr", 37, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr0", 38, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr1", 39, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr2", 40, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr3", 41, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr4", 42, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr5", 43, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr6", 44, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr7", 45, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr8", 46, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr9", 47, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr10", 48, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr11", 49, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "redr", 50, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpid", 51, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rzpr", 52, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbx", 53, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-+
-+ tdesc_microblaze64 = result;
-+}
-diff --git a/gdb/features/microblaze64.xml b/gdb/features/microblaze64.xml
-new file mode 100644
-index 0000000000..515d18e65c
---- /dev/null
-+++ b/gdb/features/microblaze64.xml
-@@ -0,0 +1,11 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2014-2018 Free Software Foundation, Inc.
-+
-+ Copying and distribution of this file, with or without modification,
-+ are permitted in any medium without royalty provided the copyright
-+ notice and this notice are preserved. -->
-+
-+<!DOCTYPE target SYSTEM "gdb-target.dtd">
-+<target>
-+ <xi:include href="microblaze64-core.xml"/>
-+</target>
-diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c
-index 1b5cf38e45..f4ea3cc342 100644
---- a/gdb/microblaze-tdep.c
-+++ b/gdb/microblaze-tdep.c
-@@ -40,7 +40,9 @@
- #include "remote.h"
-
- #include "features/microblaze-with-stack-protect.c"
-+#include "features/microblaze64-with-stack-protect.c"
- #include "features/microblaze.c"
-+#include "features/microblaze64.c"
-
- /* Instruction macros used for analyzing the prologue. */
- /* This set of instruction macros need to be changed whenever the
-@@ -75,12 +77,13 @@ static const char *microblaze_register_names[] =
- "rpvr0", "rpvr1", "rpvr2", "rpvr3", "rpvr4", "rpvr5", "rpvr6",
- "rpvr7", "rpvr8", "rpvr9", "rpvr10", "rpvr11",
- "redr", "rpid", "rzpr", "rtlbx", "rtlbsx", "rtlblo", "rtlbhi",
-- "rslr", "rshr"
-+ "slr", "shr"
- };
-
- #define MICROBLAZE_NUM_REGS ARRAY_SIZE (microblaze_register_names)
-
- static unsigned int microblaze_debug_flag = 0;
-+int reg_size = 4;
-
- static void ATTRIBUTE_PRINTF (1, 2)
- microblaze_debug (const char *fmt, ...)
-@@ -145,6 +148,7 @@ microblaze_store_arguments (struct regcache *regcache, int nargs,
- error (_("store_arguments not implemented"));
- return sp;
- }
-+#if 0
- static int
- microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- struct bp_target_info *bp_tgt)
-@@ -154,7 +158,7 @@ microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- int val;
- int bplen;
- gdb_byte old_contents[BREAKPOINT_MAX];
-- struct cleanup *cleanup;
-+ //struct cleanup *cleanup;
-
- /* Determine appropriate breakpoint contents and size for this address. */
- bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
-@@ -162,7 +166,8 @@ microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- error (_("Software breakpoints not implemented for this target."));
-
- /* Make sure we see the memory breakpoints. */
-- cleanup = make_show_memory_breakpoints_cleanup (1);
-+ scoped_restore
-+ cleanup = make_scoped_restore_show_memory_breakpoints (1);
- val = target_read_memory (addr, old_contents, bplen);
-
- /* If our breakpoint is no longer at the address, this means that the
-@@ -178,6 +183,7 @@ microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- return val;
- }
-
-+#endif
- /* Allocate and initialize a frame cache. */
-
- static struct microblaze_frame_cache *
-@@ -570,17 +576,16 @@ microblaze_extract_return_value (struct type *type, struct regcache *regcache,
- gdb_byte *valbuf)
- {
- gdb_byte buf[8];
--
- /* Copy the return value (starting) in RETVAL_REGNUM to VALBUF. */
- switch (TYPE_LENGTH (type))
- {
- case 1: /* return last byte in the register. */
- regcache->cooked_read (MICROBLAZE_RETVAL_REGNUM, buf);
-- memcpy(valbuf, buf + MICROBLAZE_REGISTER_SIZE - 1, 1);
-+ memcpy(valbuf, buf + reg_size - 1, 1);
- return;
- case 2: /* return last 2 bytes in register. */
- regcache->cooked_read (MICROBLAZE_RETVAL_REGNUM, buf);
-- memcpy(valbuf, buf + MICROBLAZE_REGISTER_SIZE - 2, 2);
-+ memcpy(valbuf, buf + reg_size - 2, 2);
- return;
- case 4: /* for sizes 4 or 8, copy the required length. */
- case 8:
-@@ -647,7 +652,119 @@ microblaze_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
- return (TYPE_LENGTH (type) == 16);
- }
-
--
-+#if 0
-+static std::vector<CORE_ADDR>
-+microblaze_software_single_step (struct regcache *regcache)
-+{
-+// struct gdbarch *arch = get_frame_arch(frame);
-+ struct gdbarch *arch = get_regcache_arch (regcache);
-+ struct address_space *aspace = get_regcache_aspace (regcache);
-+// struct address_space *aspace = get_frame_address_space (frame);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
-+ static char le_breakp[] = MICROBLAZE_BREAKPOINT_LE;
-+ static char be_breakp[] = MICROBLAZE_BREAKPOINT;
-+ enum bfd_endian byte_order = gdbarch_byte_order (arch);
-+ char *breakp = byte_order == BFD_ENDIAN_BIG ? be_breakp : le_breakp;
-+ std::vector<CORE_ADDR> ret = 0;
-+
-+ /* Save the address and the values of the next_pc and the target */
-+ static struct sstep_breaks
-+ {
-+ CORE_ADDR address;
-+ bfd_boolean valid;
-+ /* Shadow contents. */
-+ char data[INST_WORD_SIZE];
-+ } stepbreaks[2];
-+ int ii;
-+
-+ if (1)
-+ {
-+ CORE_ADDR pc;
-+ std::vector<CORE_ADDR> *next_pcs = NULL;
-+ long insn;
-+ enum microblaze_instr minstr;
-+ bfd_boolean isunsignednum;
-+ enum microblaze_instr_type insn_type;
-+ short delay_slots;
-+ int imm;
-+ bfd_boolean immfound = FALSE;
-+
-+ /* Set a breakpoint at the next instruction */
-+ /* If the current instruction is an imm, set it at the inst after */
-+ /* If the instruction has a delay slot, skip the delay slot */
-+ pc = regcache_read_pc (regcache);
-+ insn = microblaze_fetch_instruction (pc);
-+ minstr = get_insn_microblaze (insn, &isunsignednum, &insn_type, &delay_slots);
-+ if (insn_type == immediate_inst)
-+ {
-+ int rd, ra, rb;
-+ immfound = TRUE;
-+ minstr = microblaze_decode_insn (insn, &rd, &ra, &rb, &imm);
-+ pc = pc + INST_WORD_SIZE;
-+ insn = microblaze_fetch_instruction (pc);
-+ minstr = get_insn_microblaze (insn, &isunsignednum, &insn_type, &delay_slots);
-+ }
-+ stepbreaks[0].address = pc + (delay_slots * INST_WORD_SIZE) + INST_WORD_SIZE;
-+ if (insn_type != return_inst) {
-+ stepbreaks[0].valid = TRUE;
-+ } else {
-+ stepbreaks[0].valid = FALSE;
-+ }
-+
-+ microblaze_debug ("single-step insn_type=%x insn=%x\n", insn_type, insn);
-+ /* Now check for branch or return instructions */
-+ if (insn_type == branch_inst || insn_type == return_inst) {
-+ int limm;
-+ int lrd, lra, lrb;
-+ int ra, rb;
-+ bfd_boolean targetvalid;
-+ bfd_boolean unconditionalbranch;
-+ microblaze_decode_insn(insn, &lrd, &lra, &lrb, &limm);
-+ if (lra >= 0 && lra < MICROBLAZE_NUM_REGS)
-+ ra = regcache_raw_get_unsigned(regcache, lra);
-+ else
-+ ra = 0;
-+ if (lrb >= 0 && lrb < MICROBLAZE_NUM_REGS)
-+ rb = regcache_raw_get_unsigned(regcache, lrb);
-+ else
-+ rb = 0;
-+ stepbreaks[1].address = microblaze_get_target_address (insn, immfound, imm, pc, ra, rb, &targetvalid, &unconditionalbranch);
-+ microblaze_debug ("single-step uncondbr=%d targetvalid=%d target=%x\n", unconditionalbranch, targetvalid, stepbreaks[1].address);
-+ if (unconditionalbranch)
-+ stepbreaks[0].valid = FALSE; /* This is a unconditional branch: will not come to the next address */
-+ if (targetvalid && (stepbreaks[0].valid == FALSE ||
-+ (stepbreaks[0].address != stepbreaks[1].address))
-+ && (stepbreaks[1].address != pc)) {
-+ stepbreaks[1].valid = TRUE;
-+ } else {
-+ stepbreaks[1].valid = FALSE;
-+ }
-+ } else {
-+ stepbreaks[1].valid = FALSE;
-+ }
-+
-+ /* Insert the breakpoints */
-+ for (ii = 0; ii < 2; ++ii)
-+ {
-+
-+ /* ignore invalid breakpoint. */
-+ if (stepbreaks[ii].valid) {
-+ VEC_safe_push (CORE_ADDR, next_pcs, stepbreaks[ii].address);;
-+// insert_single_step_breakpoint (arch, aspace, stepbreaks[ii].address);
-+ ret = next_pcs;
-+ }
-+ }
-+ }
-+ return ret;
-+}
-+#endif
-+
-+static void
-+microblaze_write_pc (struct regcache *regcache, CORE_ADDR pc)
-+{
-+ regcache_cooked_write_unsigned (regcache, MICROBLAZE_PC_REGNUM, pc);
-+}
-+
- static int dwarf2_to_reg_map[78] =
- { 0 /* r0 */, 1 /* r1 */, 2 /* r2 */, 3 /* r3 */, /* 0- 3 */
- 4 /* r4 */, 5 /* r5 */, 6 /* r6 */, 7 /* r7 */, /* 4- 7 */
-@@ -682,13 +799,14 @@ microblaze_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int reg)
- static void
- microblaze_register_g_packet_guesses (struct gdbarch *gdbarch)
- {
-+
- register_remote_g_packet_guess (gdbarch,
-- 4 * MICROBLAZE_NUM_CORE_REGS,
-- tdesc_microblaze);
-+ 4 * MICROBLAZE_NUM_REGS,
-+ tdesc_microblaze64);
-
- register_remote_g_packet_guess (gdbarch,
- 4 * MICROBLAZE_NUM_REGS,
-- tdesc_microblaze_with_stack_protect);
-+ tdesc_microblaze64_with_stack_protect);
- }
-
- void
-@@ -696,15 +814,15 @@ microblaze_supply_gregset (const struct microblaze_gregset *gregset,
- struct regcache *regcache,
- int regnum, const void *gregs)
- {
-- unsigned int *regs = gregs;
-+ const gdb_byte *regs = (const gdb_byte *) gregs;
- if (regnum >= 0)
-- regcache_raw_supply (regcache, regnum, regs + regnum);
-+ regcache->raw_supply (regnum, regs + regnum);
-
- if (regnum == -1) {
- int i;
-
- for (i = 0; i < 50; i++) {
-- regcache_raw_supply (regcache, i, regs + i);
-+ regcache->raw_supply (regnum, regs + i);
- }
- }
- }
-@@ -755,6 +873,17 @@ microblaze_regset_from_core_section (struct gdbarch *gdbarch,
- }
-
-
-+static void
-+make_regs (struct gdbarch *arch)
-+{
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
-+ int mach = gdbarch_bfd_arch_info (arch)->mach;
-+
-+ if (mach == bfd_mach_microblaze64)
-+ {
-+ set_gdbarch_ptr_bit (arch, 64);
-+ }
-+}
-
- static struct gdbarch *
- microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
-@@ -769,8 +898,15 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- if (arches != NULL)
- return arches->gdbarch;
- if (tdesc == NULL)
-- tdesc = tdesc_microblaze;
--
-+ {
-+ if (info.bfd_arch_info->mach == bfd_mach_microblaze64)
-+ {
-+ tdesc = tdesc_microblaze64;
-+ reg_size = 8;
-+ }
-+ else
-+ tdesc = tdesc_microblaze;
-+ }
- /* Check any target description for validity. */
- if (tdesc_has_registers (tdesc))
- {
-@@ -778,27 +914,35 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- int valid_p;
- int i;
-
-- feature = tdesc_find_feature (tdesc,
-+ if (info.bfd_arch_info->mach == bfd_mach_microblaze64)
-+ feature = tdesc_find_feature (tdesc,
-+ "org.gnu.gdb.microblaze64.core");
-+ else
-+ feature = tdesc_find_feature (tdesc,
- "org.gnu.gdb.microblaze.core");
- if (feature == NULL)
- return NULL;
- tdesc_data = tdesc_data_alloc ();
-
- valid_p = 1;
-- for (i = 0; i < MICROBLAZE_NUM_CORE_REGS; i++)
-+ for (i = 0; i < MICROBLAZE_NUM_REGS; i++)
- valid_p &= tdesc_numbered_register (feature, tdesc_data, i,
- microblaze_register_names[i]);
-- feature = tdesc_find_feature (tdesc,
-+ if (info.bfd_arch_info->mach == bfd_mach_microblaze64)
-+ feature = tdesc_find_feature (tdesc,
-+ "org.gnu.gdb.microblaze64.stack-protect");
-+ else
-+ feature = tdesc_find_feature (tdesc,
- "org.gnu.gdb.microblaze.stack-protect");
- if (feature != NULL)
- {
- valid_p = 1;
- valid_p &= tdesc_numbered_register (feature, tdesc_data,
- MICROBLAZE_SLR_REGNUM,
-- "rslr");
-+ "slr");
- valid_p &= tdesc_numbered_register (feature, tdesc_data,
- MICROBLAZE_SHR_REGNUM,
-- "rshr");
-+ "shr");
- }
-
- if (!valid_p)
-@@ -806,6 +950,7 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- tdesc_data_cleanup (tdesc_data);
- return NULL;
- }
-+
- }
-
- /* Allocate space for the new architecture. */
-@@ -825,7 +970,17 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- /* Register numbers of various important registers. */
- set_gdbarch_sp_regnum (gdbarch, MICROBLAZE_SP_REGNUM);
- set_gdbarch_pc_regnum (gdbarch, MICROBLAZE_PC_REGNUM);
-+
-+ /* Register set.
-+ make_regs (gdbarch); */
-+ switch (info.bfd_arch_info->mach)
-+ {
-+ case bfd_mach_microblaze64:
-+ set_gdbarch_ptr_bit (gdbarch, 64);
-+ break;
-+ }
-
-+
- /* Map Dwarf2 registers to GDB registers. */
- set_gdbarch_dwarf2_reg_to_regnum (gdbarch, microblaze_dwarf2_reg_to_regnum);
-
-@@ -845,13 +1000,15 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- microblaze_breakpoint::kind_from_pc);
- set_gdbarch_sw_breakpoint_from_kind (gdbarch,
- microblaze_breakpoint::bp_from_kind);
-- set_gdbarch_memory_remove_breakpoint (gdbarch, microblaze_linux_memory_remove_breakpoint);
-+// set_gdbarch_memory_remove_breakpoint (gdbarch, microblaze_linux_memory_remove_breakpoint);
-+
-+// set_gdbarch_software_single_step (gdbarch, microblaze_software_single_step);
-
- set_gdbarch_frame_args_skip (gdbarch, 8);
-
- set_gdbarch_unwind_pc (gdbarch, microblaze_unwind_pc);
-
-- microblaze_register_g_packet_guesses (gdbarch);
-+ //microblaze_register_g_packet_guesses (gdbarch);
-
- frame_base_set_default (gdbarch, &microblaze_frame_base);
-
-@@ -866,11 +1023,11 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- tdesc_use_registers (gdbarch, tdesc, tdesc_data);
- //frame_base_append_sniffer (gdbarch, microblaze_frame_sniffer);
-
-- /* If we have register sets, enable the generic core file support. */
-+ /* If we have register sets, enable the generic core file support.
- if (tdep->gregset) {
- set_gdbarch_regset_from_core_section (gdbarch,
- microblaze_regset_from_core_section);
-- }
-+ }*/
-
- return gdbarch;
- }
-@@ -883,6 +1040,8 @@ _initialize_microblaze_tdep ()
-
- initialize_tdesc_microblaze_with_stack_protect ();
- initialize_tdesc_microblaze ();
-+ initialize_tdesc_microblaze64_with_stack_protect ();
-+ initialize_tdesc_microblaze64 ();
- /* Debug this files internals. */
- add_setshow_zuinteger_cmd ("microblaze", class_maintenance,
- &microblaze_debug_flag, _("\
-diff --git a/gdb/microblaze-tdep.h b/gdb/microblaze-tdep.h
-index 1234f8a36f..c0fc900733 100644
---- a/gdb/microblaze-tdep.h
-+++ b/gdb/microblaze-tdep.h
-@@ -27,7 +27,7 @@ struct microblaze_gregset
- microblaze_gregset() {}
- unsigned int gregs[32];
- unsigned int fpregs[32];
-- unsigned int pregs[16];
-+ unsigned int pregs[18];
- };
-
- struct gdbarch_tdep
-@@ -101,9 +101,9 @@ enum microblaze_regnum
- MICROBLAZE_RTLBSX_REGNUM,
- MICROBLAZE_RTLBLO_REGNUM,
- MICROBLAZE_RTLBHI_REGNUM,
-- MICROBLAZE_SLR_REGNUM, MICROBLAZE_NUM_CORE_REGS = MICROBLAZE_SLR_REGNUM,
-+ MICROBLAZE_SLR_REGNUM,
- MICROBLAZE_SHR_REGNUM,
-- MICROBLAZE_NUM_REGS
-+ MICROBLAZE_NUM_REGS, MICROBLAZE_NUM_CORE_REGS = MICROBLAZE_NUM_REGS
- };
-
- struct microblaze_frame_cache
-@@ -128,7 +128,7 @@ struct microblaze_frame_cache
- struct trad_frame_saved_reg *saved_regs;
- };
- /* All registers are 32 bits. */
--#define MICROBLAZE_REGISTER_SIZE 4
-+//#define MICROBLAZE_REGISTER_SIZE 8
-
- /* MICROBLAZE_BREAKPOINT defines the breakpoint that should be used.
- Only used for native debugging. */
-diff --git a/gdb/regformats/microblaze-with-stack-protect.dat b/gdb/regformats/microblaze-with-stack-protect.dat
-index 8040a7b3fd..450e321d49 100644
---- a/gdb/regformats/microblaze-with-stack-protect.dat
-+++ b/gdb/regformats/microblaze-with-stack-protect.dat
-@@ -60,5 +60,5 @@ expedite:r1,rpc
- 32:rtlbsx
- 32:rtlblo
- 32:rtlbhi
--32:rslr
--32:rshr
-+32:slr
-+32:shr
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0042-porting-GDB-for-linux.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0042-porting-GDB-for-linux.patch
deleted file mode 100644
index e115666c2..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0042-porting-GDB-for-linux.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From c810c6e2a6ae66426444580d04659e8b2d0b2daa Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Thu, 12 Dec 2019 14:56:17 +0530
-Subject: [PATCH 42/52] porting GDB for linux
-
----
- gdb/features/microblaze-linux.xml | 12 ++++++++++
- gdb/microblaze-linux-tdep.c | 39 ++++++++++++++++++++++++-------
- gdbserver/Makefile.in | 2 ++
- gdbserver/configure.srv | 3 ++-
- 4 files changed, 47 insertions(+), 9 deletions(-)
- create mode 100644 gdb/features/microblaze-linux.xml
-
-diff --git a/gdb/features/microblaze-linux.xml b/gdb/features/microblaze-linux.xml
-new file mode 100644
-index 0000000000..8983e66eb3
---- /dev/null
-+++ b/gdb/features/microblaze-linux.xml
-@@ -0,0 +1,12 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2014-2018 Free Software Foundation, Inc.
-+
-+ Copying and distribution of this file, with or without modification,
-+ are permitted in any medium without royalty provided the copyright
-+ notice and this notice are preserved. -->
-+
-+<!DOCTYPE target SYSTEM "gdb-target.dtd">
-+<target>
-+ <osabi>GNU/Linux</osabi>
-+ <xi:include href="microblaze-core.xml"/>
-+</target>
-diff --git a/gdb/microblaze-linux-tdep.c b/gdb/microblaze-linux-tdep.c
-index a2e858d10f..a37c4c86f4 100644
---- a/gdb/microblaze-linux-tdep.c
-+++ b/gdb/microblaze-linux-tdep.c
-@@ -41,7 +41,7 @@
-
- #ifndef REGSET_H
- #define REGSET_H 1
--
-+int MICROBLAZE_REGISTER_SIZE=4;
- struct gdbarch;
- struct regcache;
-
-@@ -115,7 +115,7 @@ microblaze_debug (const char *fmt, ...)
- va_end (args);
- }
- }
--
-+#if 0
- static int
- microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- struct bp_target_info *bp_tgt)
-@@ -131,7 +131,7 @@ microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
-
- /* Make sure we see the memory breakpoints. */
-- cleanup = make_show_memory_breakpoints_cleanup (1);
-+ cleanup = make_scoped_restore_show_memory_breakpoints (1);
- val = target_read_memory (addr, old_contents, bplen);
-
- /* If our breakpoint is no longer at the address, this means that the
-@@ -146,6 +146,7 @@ microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- do_cleanups (cleanup);
- return val;
- }
-+#endif
-
- static void
- microblaze_linux_sigtramp_cache (struct frame_info *next_frame,
-@@ -248,8 +249,8 @@ microblaze_linux_init_abi (struct gdbarch_info info,
-
- linux_init_abi (info, gdbarch);
-
-- set_gdbarch_memory_remove_breakpoint (gdbarch,
-- microblaze_linux_memory_remove_breakpoint);
-+// set_gdbarch_memory_remove_breakpoint (gdbarch,
-+// microblaze_linux_memory_remove_breakpoint);
-
- /* Shared library handling. */
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
-@@ -261,10 +262,30 @@ microblaze_linux_init_abi (struct gdbarch_info info,
-
- /* BFD target for core files. */
- if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-- set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblaze");
-+ {
-+ if (info.bfd_arch_info->mach == bfd_mach_microblaze64) {
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf64-microblaze");
-+ MICROBLAZE_REGISTER_SIZE=8;
-+ }
-+ else
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblaze");
-+ }
- else
-- set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblazeel");
-+ {
-+ if (info.bfd_arch_info->mach == bfd_mach_microblaze64) {
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf64-microblazeel");
-+ MICROBLAZE_REGISTER_SIZE=8;
-+ }
-+ else
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblazeel");
-+ }
-
-+ switch (info.bfd_arch_info->mach)
-+ {
-+ case bfd_mach_microblaze64:
-+ set_gdbarch_ptr_bit (gdbarch, 64);
-+ break;
-+ }
-
- /* Shared library handling. */
- set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
-@@ -279,6 +300,8 @@ void _initialize_microblaze_linux_tdep ();
- void
- _initialize_microblaze_linux_tdep ()
- {
-- gdbarch_register_osabi (bfd_arch_microblaze, 0, GDB_OSABI_LINUX,
-+ gdbarch_register_osabi (bfd_arch_microblaze, bfd_mach_microblaze, GDB_OSABI_LINUX,
-+ microblaze_linux_init_abi);
-+ gdbarch_register_osabi (bfd_arch_microblaze, bfd_mach_microblaze64, GDB_OSABI_LINUX,
- microblaze_linux_init_abi);
- }
-diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in
-index df354d636c..680f536c06 100644
---- a/gdbserver/Makefile.in
-+++ b/gdbserver/Makefile.in
-@@ -559,6 +559,8 @@ target/%.o: ../gdb/target/%.c
-
- %-generated.cc: ../gdb/regformats/rs6000/%.dat $(regdat_sh)
- $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@
-+microblaze-linux.c : $(srcdir)/../regformats/reg-microblaze.dat $(regdat_sh)
-+ $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-microblaze.dat microblaze-linux.c
-
- #
- # Dependency tracking.
-diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv
-index 456f4b3349..ff9ada71b0 100644
---- a/gdbserver/configure.srv
-+++ b/gdbserver/configure.srv
-@@ -155,8 +155,9 @@ case "${gdbserver_host}" in
- srv_linux_usrregs=yes
- srv_linux_thread_db=yes
- ;;
-- microblaze*-*-linux*) srv_regobj=microblaze-linux.o
-+ microblaze*-*-linux*) srv_regobj="microblaze-linux.o"
- srv_tgtobj="$srv_linux_obj linux-microblaze-low.o "
-+ srv_xmlfiles="microblaze-linux.xml"
- srv_linux_regsets=yes
- srv_linux_usrregs=yes
- srv_linux_thread_db=yes
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0043-Binutils-security-check-is-causing-build-error-for-w.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0043-Binutils-security-check-is-causing-build-error-for-w.patch
deleted file mode 100644
index 969ac2c07..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0043-Binutils-security-check-is-causing-build-error-for-w.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 27c8f7f202ea66cd0f4745ca3a77b4f33b6f5990 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 11 Mar 2019 13:57:42 +0530
-Subject: [PATCH 43/52] Binutils security check is causing build error for
- windows builds.commenting for now.
-
----
- bfd/elf-attrs.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c
-index 070104c273..b135ac8f11 100644
---- a/bfd/elf-attrs.c
-+++ b/bfd/elf-attrs.c
-@@ -436,12 +436,15 @@ _bfd_elf_parse_attributes (bfd *abfd, Elf_Internal_Shdr * hdr)
- bfd_byte *p_end;
- bfd_vma len;
- const char *std_sec;
-+#if 0
- ufile_ptr filesize;
-+#endif
-
- /* PR 17512: file: 2844a11d. */
- if (hdr->sh_size == 0)
- return;
-
-+#if 0
- filesize = bfd_get_file_size (abfd);
- if (filesize != 0 && hdr->sh_size > filesize)
- {
-@@ -451,6 +454,7 @@ _bfd_elf_parse_attributes (bfd *abfd, Elf_Internal_Shdr * hdr)
- bfd_set_error (bfd_error_invalid_operation);
- return;
- }
-+#endif
-
- contents = (bfd_byte *) bfd_malloc (hdr->sh_size + 1);
- if (!contents)
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0044-Correcting-the-register-names-from-slr-shr-to-rslr-r.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0044-Correcting-the-register-names-from-slr-shr-to-rslr-r.patch
deleted file mode 100644
index 48c9c2c96..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0044-Correcting-the-register-names-from-slr-shr-to-rslr-r.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From ba70b41346a8d5c9c1a4435f70edbb06e117564d Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Thu, 19 Dec 2019 12:22:04 +0530
-Subject: [PATCH 44/52] Correcting the register names from slr & shr to rslr &
- rshr
-
----
- gdb/features/microblaze-core.xml | 4 ++--
- gdb/features/microblaze-stack-protect.xml | 4 ++--
- gdb/features/microblaze-with-stack-protect.c | 4 ++--
- gdb/features/microblaze.c | 4 ++--
- gdb/features/microblaze64-core.xml | 4 ++--
- gdb/features/microblaze64-stack-protect.xml | 4 ++--
- gdb/features/microblaze64-with-stack-protect.c | 4 ++--
- gdb/features/microblaze64.c | 4 ++--
- gdb/microblaze-tdep.c | 2 +-
- 9 files changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/gdb/features/microblaze-core.xml b/gdb/features/microblaze-core.xml
-index a87f0f2319..d1f2282fd1 100644
---- a/gdb/features/microblaze-core.xml
-+++ b/gdb/features/microblaze-core.xml
-@@ -64,6 +64,6 @@
- <reg name="rtlbsx" bitsize="32"/>
- <reg name="rtlblo" bitsize="32"/>
- <reg name="rtlbhi" bitsize="32"/>
-- <reg name="slr" bitsize="32"/>
-- <reg name="shr" bitsize="32"/>
-+ <reg name="rslr" bitsize="32"/>
-+ <reg name="rshr" bitsize="32"/>
- </feature>
-diff --git a/gdb/features/microblaze-stack-protect.xml b/gdb/features/microblaze-stack-protect.xml
-index 1a67f88c18..1b16223406 100644
---- a/gdb/features/microblaze-stack-protect.xml
-+++ b/gdb/features/microblaze-stack-protect.xml
-@@ -7,6 +7,6 @@
-
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.microblaze.stack-protect">
-- <reg name="slr" bitsize="32"/>
-- <reg name="shr" bitsize="32"/>
-+ <reg name="rslr" bitsize="32"/>
-+ <reg name="rshr" bitsize="32"/>
- </feature>
-diff --git a/gdb/features/microblaze-with-stack-protect.c b/gdb/features/microblaze-with-stack-protect.c
-index 609934e2b4..ab162fd258 100644
---- a/gdb/features/microblaze-with-stack-protect.c
-+++ b/gdb/features/microblaze-with-stack-protect.c
-@@ -72,8 +72,8 @@ initialize_tdesc_microblaze_with_stack_protect (void)
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.stack-protect");
-- tdesc_create_reg (feature, "slr", 57, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "shr", 58, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rslr", 57, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rshr", 58, 1, NULL, 32, "int");
-
- tdesc_microblaze_with_stack_protect = result;
- }
-diff --git a/gdb/features/microblaze.c b/gdb/features/microblaze.c
-index ceb98ca8b8..7919ac96e6 100644
---- a/gdb/features/microblaze.c
-+++ b/gdb/features/microblaze.c
-@@ -70,8 +70,8 @@ initialize_tdesc_microblaze (void)
- tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-- tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
-
- tdesc_microblaze = result;
- }
-diff --git a/gdb/features/microblaze64-core.xml b/gdb/features/microblaze64-core.xml
-index 96e99e2fb2..b9adadfade 100644
---- a/gdb/features/microblaze64-core.xml
-+++ b/gdb/features/microblaze64-core.xml
-@@ -64,6 +64,6 @@
- <reg name="rtlbsx" bitsize="32"/>
- <reg name="rtlblo" bitsize="32"/>
- <reg name="rtlbhi" bitsize="32"/>
-- <reg name="slr" bitsize="64"/>
-- <reg name="shr" bitsize="64"/>
-+ <reg name="rslr" bitsize="64"/>
-+ <reg name="rshr" bitsize="64"/>
- </feature>
-diff --git a/gdb/features/microblaze64-stack-protect.xml b/gdb/features/microblaze64-stack-protect.xml
-index 1bbf5fc3ce..9d7ea8b9fd 100644
---- a/gdb/features/microblaze64-stack-protect.xml
-+++ b/gdb/features/microblaze64-stack-protect.xml
-@@ -7,6 +7,6 @@
-
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.microblaze64.stack-protect">
-- <reg name="slr" bitsize="64"/>
-- <reg name="shr" bitsize="64"/>
-+ <reg name="rslr" bitsize="64"/>
-+ <reg name="rshr" bitsize="64"/>
- </feature>
-diff --git a/gdb/features/microblaze64-with-stack-protect.c b/gdb/features/microblaze64-with-stack-protect.c
-index f448c9a749..249cb534da 100644
---- a/gdb/features/microblaze64-with-stack-protect.c
-+++ b/gdb/features/microblaze64-with-stack-protect.c
-@@ -72,8 +72,8 @@ initialize_tdesc_microblaze64_with_stack_protect (void)
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze64.stack-protect");
-- tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-- tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
-
- tdesc_microblaze64_with_stack_protect = result;
- }
-diff --git a/gdb/features/microblaze64.c b/gdb/features/microblaze64.c
-index 1aa37c4512..5d3e2c8cd9 100644
---- a/gdb/features/microblaze64.c
-+++ b/gdb/features/microblaze64.c
-@@ -70,8 +70,8 @@ initialize_tdesc_microblaze64 (void)
- tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-- tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
-
- tdesc_microblaze64 = result;
- }
-diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c
-index f4ea3cc342..041ebf1fca 100644
---- a/gdb/microblaze-tdep.c
-+++ b/gdb/microblaze-tdep.c
-@@ -77,7 +77,7 @@ static const char *microblaze_register_names[] =
- "rpvr0", "rpvr1", "rpvr2", "rpvr3", "rpvr4", "rpvr5", "rpvr6",
- "rpvr7", "rpvr8", "rpvr9", "rpvr10", "rpvr11",
- "redr", "rpid", "rzpr", "rtlbx", "rtlbsx", "rtlblo", "rtlbhi",
-- "slr", "shr"
-+ "rslr", "rshr"
- };
-
- #define MICROBLAZE_NUM_REGS ARRAY_SIZE (microblaze_register_names)
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0045-Removing-the-header-gdb_assert.h-from-MB-target-file.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0045-Removing-the-header-gdb_assert.h-from-MB-target-file.patch
deleted file mode 100644
index 46124c12a..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0045-Removing-the-header-gdb_assert.h-from-MB-target-file.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 5fac707a9894ec9d0fcac14bbf0eb3ff631d0499 Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Fri, 17 Jan 2020 15:45:48 +0530
-Subject: [PATCH 45/52] Removing the header "gdb_assert.h" from MB target file
-
----
- gdb/microblaze-linux-tdep.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/gdb/microblaze-linux-tdep.c b/gdb/microblaze-linux-tdep.c
-index a37c4c86f4..68e73d2e56 100644
---- a/gdb/microblaze-linux-tdep.c
-+++ b/gdb/microblaze-linux-tdep.c
-@@ -37,7 +37,6 @@
- #include "linux-tdep.h"
- #include "glibc-tdep.h"
-
--#include "gdb_assert.h"
-
- #ifndef REGSET_H
- #define REGSET_H 1
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0046-bfd-cpu-microblaze.c-Enhance-disassembler.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0046-bfd-cpu-microblaze.c-Enhance-disassembler.patch
deleted file mode 100644
index 46d51dd67..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0046-bfd-cpu-microblaze.c-Enhance-disassembler.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 1751b6fbc3170d29a3e2873b4394d058f8cb7d36 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 10:08:53 -0800
-Subject: [PATCH 46/52] bfd/cpu-microblaze.c: Enhance disassembler
-
-See commit aebcfb76fc165795e67917cb67cf985c4dfdc577 for why this is needed.
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- bfd/cpu-microblaze.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/bfd/cpu-microblaze.c b/bfd/cpu-microblaze.c
-index f3e8bbda75..f3501df0e2 100644
---- a/bfd/cpu-microblaze.c
-+++ b/bfd/cpu-microblaze.c
-@@ -39,7 +39,8 @@ const bfd_arch_info_type bfd_microblaze_arch[] =
- bfd_default_compatible, /* Architecture comparison function. */
- bfd_default_scan, /* String to architecture conversion. */
- bfd_arch_default_fill, /* Default fill. */
-- &bfd_microblaze_arch[1] /* Next in list. */
-+ &bfd_microblaze_arch[1], /* Next in list. */
-+ 0 /* Maximum offset of a reloc from the start of an insn. */
- },
- {
- 32, /* Bits in a word. */
-@@ -71,7 +72,8 @@ const bfd_arch_info_type bfd_microblaze_arch[] =
- bfd_default_compatible, /* Architecture comparison function. */
- bfd_default_scan, /* String to architecture conversion. */
- bfd_arch_default_fill, /* Default fill. */
-- &bfd_microblaze_arch[1] /* Next in list. */
-+ &bfd_microblaze_arch[1], /* Next in list. */
-+ 0 /* Maximum offset of a reloc from the start of an insn. */
- },
- {
- 64, /* 32 bits in a word. */
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0047-bfd-elf64-microblaze.c-Fix-build-failures.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0047-bfd-elf64-microblaze.c-Fix-build-failures.patch
deleted file mode 100644
index 3bc5f04d9..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0047-bfd-elf64-microblaze.c-Fix-build-failures.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 4500a281317093e78b7029e3dcb0037e7c628347 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 11:02:11 -0800
-Subject: [PATCH 47/52] bfd/elf64-microblaze.c: Fix build failures
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- bfd/elf64-microblaze.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
-index 338f16eeee..cf84e0db4e 100644
---- a/bfd/elf64-microblaze.c
-+++ b/bfd/elf64-microblaze.c
-@@ -1572,7 +1572,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- {
- BFD_FAIL ();
- (*_bfd_error_handler)
-- (_("%B: probably compiled without -fPIC?"),
-+ (_("%pB: probably compiled without -fPIC?"),
- input_bfd);
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
-@@ -2691,7 +2691,7 @@ microblaze_elf_check_relocs (bfd * abfd,
- /* If this is a global symbol, we count the number of
- relocations we need for this symbol. */
- if (h != NULL)
-- head = &h->dyn_relocs;
-+ head = &((struct elf64_mb_link_hash_entry *) h)->dyn_relocs;
- else
- {
- /* Track dynamic relocs needed for local syms too.
-@@ -2911,7 +2911,7 @@ microblaze_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
-
- /* If we didn't find any dynamic relocs in read-only sections, then
- we'll be keeping the dynamic relocs and avoiding the copy reloc. */
-- if (!_bfd_elf_readonly_dynrelocs (h))
-+ if (p == NULL)
- {
- h->non_got_ref = 0;
- return TRUE;
-@@ -3096,7 +3096,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * dat)
- else
- h->got.offset = (bfd_vma) -1;
-
-- if (h->dyn_relocs == NULL)
-+ if (eh->dyn_relocs == NULL)
- return TRUE;
-
- /* In the shared -Bsymbolic case, discard space allocated for
-@@ -3113,7 +3113,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * dat)
- {
- struct elf64_mb_dyn_relocs **pp;
-
-- for (pp = &h->dyn_relocs; (p = *pp) != NULL; )
-+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
- {
- p->count -= p->pc_count;
- p->pc_count = 0;
-@@ -3124,7 +3124,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * dat)
- }
- }
- else if (UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
-- h->dyn_relocs = NULL;
-+ eh->dyn_relocs = NULL;
- }
- else
- {
-@@ -3154,13 +3154,13 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * dat)
- goto keep;
- }
-
-- h->dyn_relocs = NULL;
-+ eh->dyn_relocs = NULL;
-
- keep: ;
- }
-
- /* Finally, allocate space. */
-- for (p = h->dyn_relocs; p != NULL; p = p->next)
-+ for (p = eh->dyn_relocs; p != NULL; p = p->next)
- {
- asection *sreloc = elf_section_data (p->sec)->sreloc;
- sreloc->size += p->count * sizeof (Elf64_External_Rela);
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0048-bfd-elf-microblaze.c-Remove-obsolete-entries.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0048-bfd-elf-microblaze.c-Remove-obsolete-entries.patch
deleted file mode 100644
index 7feaceb94..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0048-bfd-elf-microblaze.c-Remove-obsolete-entries.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 2f07425ca330dd357c374acdc30a27c6647454c9 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 11:23:26 -0800
-Subject: [PATCH 48/52] bfd/elf*-microblaze.c: Remove obsolete entries
-
-Replace microblaze_elf_merge_private_bfd_data with a direct call to
-_bfd_generic_verify_endian_match, this simplifies the implementation.
-
-Remove microblaze_elf_gc_sweep_hook, removed in 2017.
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- bfd/elf64-microblaze.c | 29 +----------------------------
- 1 file changed, 1 insertion(+), 28 deletions(-)
-
-diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
-index cf84e0db4e..786f659232 100644
---- a/bfd/elf64-microblaze.c
-+++ b/bfd/elf64-microblaze.c
-@@ -1690,21 +1690,6 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- return ret;
- }
-
--/* Merge backend specific data from an object file to the output
-- object file when linking.
--
-- Note: We only use this hook to catch endian mismatches. */
--static bfd_boolean
--microblaze_elf_merge_private_bfd_data (bfd * ibfd, bfd * obfd)
--{
-- /* Check if we have the same endianess. */
-- if (! _bfd_generic_verify_endian_match (ibfd, obfd))
-- return FALSE;
--
-- return TRUE;
--}
--
--
- /* Calculate fixup value for reference. */
-
- static int
-@@ -2427,17 +2412,6 @@ microblaze_elf_gc_mark_hook (asection *sec,
- return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
- }
-
--/* Update the got entry reference counts for the section being removed. */
--
--static bfd_boolean
--microblaze_elf_gc_sweep_hook (bfd * abfd ATTRIBUTE_UNUSED,
-- struct bfd_link_info * info ATTRIBUTE_UNUSED,
-- asection * sec ATTRIBUTE_UNUSED,
-- const Elf_Internal_Rela * relocs ATTRIBUTE_UNUSED)
--{
-- return TRUE;
--}
--
- /* PIC support. */
-
- #define PLT_ENTRY_SIZE 16
-@@ -3704,11 +3678,10 @@ microblaze_elf_add_symbol_hook (bfd *abfd,
- #define bfd_elf64_bfd_is_local_label_name microblaze_elf_is_local_label_name
- #define elf_backend_relocate_section microblaze_elf_relocate_section
- #define bfd_elf64_bfd_relax_section microblaze_elf_relax_section
--#define bfd_elf64_bfd_merge_private_bfd_data microblaze_elf_merge_private_bfd_data
-+#define bfd_elf64_bfd_merge_private_bfd_data _bfd_generic_verify_endian_match
- #define bfd_elf64_bfd_reloc_name_lookup microblaze_elf_reloc_name_lookup
-
- #define elf_backend_gc_mark_hook microblaze_elf_gc_mark_hook
--#define elf_backend_gc_sweep_hook microblaze_elf_gc_sweep_hook
- #define elf_backend_check_relocs microblaze_elf_check_relocs
- #define elf_backend_copy_indirect_symbol microblaze_elf_copy_indirect_symbol
- #define bfd_elf64_bfd_link_hash_table_create microblaze_elf_link_hash_table_create
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0049-bfd-elf64-microblaze.c-Resolve-various-compiler-warn.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0049-bfd-elf64-microblaze.c-Resolve-various-compiler-warn.patch
deleted file mode 100644
index 5f4a27146..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0049-bfd-elf64-microblaze.c-Resolve-various-compiler-warn.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From a86506136a738c3ab64d42a876fbfdfa1d46ad64 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 12:02:25 -0800
-Subject: [PATCH 49/52] bfd/elf64-microblaze.c: Resolve various compiler
- warnings
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- bfd/elf64-microblaze.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
-index 786f659232..70cd80cdf2 100644
---- a/bfd/elf64-microblaze.c
-+++ b/bfd/elf64-microblaze.c
-@@ -1258,6 +1258,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- goto dogot;
- case (int) R_MICROBLAZE_TLSLD:
- tls_type = (TLS_TLS | TLS_LD);
-+ /* Fall through. */
- dogot:
- case (int) R_MICROBLAZE_GOT_64:
- {
-@@ -2569,6 +2570,7 @@ microblaze_elf_check_relocs (bfd * abfd,
- tls_type |= (TLS_TLS | TLS_LD);
- dogottls:
- sec->has_tls_reloc = 1;
-+ /* Fall through. */
- case R_MICROBLAZE_GOT_64:
- if (htab->sgot == NULL)
- {
-@@ -2802,10 +2804,8 @@ microblaze_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
- struct elf64_mb_link_hash_table *htab;
- struct elf64_mb_link_hash_entry * eh;
- struct elf64_mb_dyn_relocs *p;
-- asection *sdynbss;
- asection *s, *srel;
- unsigned int power_of_two;
-- bfd *dynobj;
-
- htab = elf64_mb_hash_table (info);
- if (htab == NULL)
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0050-opcodes-microblaze-dis.c-Fix-compile-warnings.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0050-opcodes-microblaze-dis.c-Fix-compile-warnings.patch
deleted file mode 100644
index 475a53ba1..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0050-opcodes-microblaze-dis.c-Fix-compile-warnings.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From de38a354e40a9dcc486c93faf02bee4b059fa34a Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 12:30:09 -0800
-Subject: [PATCH 50/52] opcodes/microblaze-dis.c: Fix compile warnings
-
-Two compiler warnings were evident, it appears both are likely real bugs.
-
-Missing type declaration for a function, and a case statement without a break.
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- opcodes/microblaze-dis.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c
-index 90d2328659..f1c33dca14 100644
---- a/opcodes/microblaze-dis.c
-+++ b/opcodes/microblaze-dis.c
-@@ -130,6 +130,7 @@ get_field_imm15 (struct string_buf *buf, long instr)
- return p;
- }
-
-+static char *
- get_field_imm16 (struct string_buf *buf, long instr)
- {
- char *p = strbuf (buf);
-@@ -329,6 +330,7 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
- print_func (stream, "\t%s, %s, %s", get_field_rd (&buf, inst),
- get_field_r1 (&buf, inst), get_field_imm (&buf, inst));
- /* TODO: Also print symbol */
-+ break;
- case INST_TYPE_RD_R1_IMMS:
- print_func (stream, "\t%s, %s, %s", get_field_rd (&buf, inst),
- get_field_r1(&buf, inst), get_field_imms (&buf, inst));
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch
deleted file mode 100644
index 263f0a9bd..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From f1686db8735972637d2bbcc6e2fbf391c1e848d9 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 14:51:37 -0800
-Subject: [PATCH 51/52] gdb/microblaze-tdep.c: Remove unused functions
-
-Compiler warns the removed functions are not referenced anywhere.
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- gdb/microblaze-tdep.c | 45 -------------------------------------------
- 1 file changed, 45 deletions(-)
-
-diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c
-index 041ebf1fca..28f79f9ffc 100644
---- a/gdb/microblaze-tdep.c
-+++ b/gdb/microblaze-tdep.c
-@@ -140,14 +140,6 @@ microblaze_fetch_instruction (CORE_ADDR pc)
- constexpr gdb_byte microblaze_break_insn[] = MICROBLAZE_BREAKPOINT;
-
- typedef BP_MANIPULATION (microblaze_break_insn) microblaze_breakpoint;
--static CORE_ADDR
--microblaze_store_arguments (struct regcache *regcache, int nargs,
-- struct value **args, CORE_ADDR sp,
-- int struct_return, CORE_ADDR struct_addr)
--{
-- error (_("store_arguments not implemented"));
-- return sp;
--}
- #if 0
- static int
- microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
-@@ -555,12 +547,6 @@ microblaze_frame_base_address (struct frame_info *next_frame,
- return cache->base;
- }
-
--static const struct frame_unwind *
--microblaze_frame_sniffer (struct frame_info *next_frame)
--{
-- return &microblaze_frame_unwind;
--}
--
- static const struct frame_base microblaze_frame_base =
- {
- &microblaze_frame_unwind,
-@@ -759,12 +745,6 @@ microblaze_software_single_step (struct regcache *regcache)
- }
- #endif
-
--static void
--microblaze_write_pc (struct regcache *regcache, CORE_ADDR pc)
--{
-- regcache_cooked_write_unsigned (regcache, MICROBLAZE_PC_REGNUM, pc);
--}
--
- static int dwarf2_to_reg_map[78] =
- { 0 /* r0 */, 1 /* r1 */, 2 /* r2 */, 3 /* r3 */, /* 0- 3 */
- 4 /* r4 */, 5 /* r5 */, 6 /* r6 */, 7 /* r7 */, /* 4- 7 */
-@@ -796,19 +776,6 @@ microblaze_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int reg)
- return -1;
- }
-
--static void
--microblaze_register_g_packet_guesses (struct gdbarch *gdbarch)
--{
--
-- register_remote_g_packet_guess (gdbarch,
-- 4 * MICROBLAZE_NUM_REGS,
-- tdesc_microblaze64);
--
-- register_remote_g_packet_guess (gdbarch,
-- 4 * MICROBLAZE_NUM_REGS,
-- tdesc_microblaze64_with_stack_protect);
--}
--
- void
- microblaze_supply_gregset (const struct microblaze_gregset *gregset,
- struct regcache *regcache,
-@@ -873,18 +840,6 @@ microblaze_regset_from_core_section (struct gdbarch *gdbarch,
- }
-
-
--static void
--make_regs (struct gdbarch *arch)
--{
-- struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
-- int mach = gdbarch_bfd_arch_info (arch)->mach;
--
-- if (mach == bfd_mach_microblaze64)
-- {
-- set_gdbarch_ptr_bit (arch, 64);
-- }
--}
--
- static struct gdbarch *
- microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- {
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0052-sim-Allow-microblaze-architecture.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0052-sim-Allow-microblaze-architecture.patch
deleted file mode 100644
index ee5caf0a6..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0052-sim-Allow-microblaze-architecture.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 5fa859e73662f96c9cfaf21bd2cf01b92afc9c1c Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@kernel.crashing.org>
-Date: Thu, 6 Aug 2020 15:37:52 -0500
-Subject: [PATCH 52/52] sim: Allow microblaze* architecture
-
-Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
----
- sim/configure | 2 +-
- sim/configure.tgt | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/sim/configure b/sim/configure
-index 72f95cd5c7..9e28cc7868 100755
---- a/sim/configure
-+++ b/sim/configure
-@@ -3795,7 +3795,7 @@ subdirs="$subdirs aarch64"
-
-
- ;;
-- microblaze-*-*)
-+ microblaze*-*-*)
-
- sim_arch=microblaze
- subdirs="$subdirs microblaze"
-diff --git a/sim/configure.tgt b/sim/configure.tgt
-index 8a8e03d96f..f6743fe8d4 100644
---- a/sim/configure.tgt
-+++ b/sim/configure.tgt
-@@ -59,7 +59,7 @@ case "${target}" in
- mcore-*-*)
- SIM_ARCH(mcore)
- ;;
-- microblaze-*-*)
-+ microblaze*-*-*)
- SIM_ARCH(microblaze)
- ;;
- mips*-*-*)
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0053-gdb-Fix-microblaze-target-compilation.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0053-gdb-Fix-microblaze-target-compilation.patch
deleted file mode 100644
index af0e32688..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0053-gdb-Fix-microblaze-target-compilation.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-From efa3750ffda1ae16caf071b8b8ea31f752a3324a Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@kernel.crashing.org>
-Date: Mon, 7 Dec 2020 12:03:25 -0600
-Subject: [PATCH] gdb: Fix microblaze target compilation
-
-Add microblaze-linux-nat.c to configure.nat
-
-Transition microblaze-linux-nat.c to use the new gdb C++ style functions.
-
-Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
----
- gdb/configure.nat | 5 ++
- gdb/microblaze-linux-nat.c | 96 ++++++++++++++------------------------
- gdb/microblaze-tdep.h | 3 ++
- 3 files changed, 43 insertions(+), 61 deletions(-)
-
-diff --git a/gdb/configure.nat b/gdb/configure.nat
-index 6ea2583495..1fba80f6c9 100644
---- a/gdb/configure.nat
-+++ b/gdb/configure.nat
-@@ -261,6 +261,11 @@ case ${gdb_host} in
- # Host: Motorola m68k running GNU/Linux.
- NATDEPFILES="${NATDEPFILES} m68k-linux-nat.o"
- ;;
-+ microblaze)
-+ # Host: Microblaze running GNU/Linux.
-+ NATDEPFILES="${NATDEPFILES} microblaze-linux-nat.o"
-+ NAT_CDEPS=
-+ ;;
- mips)
- # Host: Linux/MIPS
- NATDEPFILES="${NATDEPFILES} linux-nat-trad.o \
-diff --git a/gdb/microblaze-linux-nat.c b/gdb/microblaze-linux-nat.c
-index e9b8c9c522..bac4697e1e 100644
---- a/gdb/microblaze-linux-nat.c
-+++ b/gdb/microblaze-linux-nat.c
-@@ -36,13 +36,14 @@
- #include "dwarf2-frame.h"
- #include "osabi.h"
-
--#include "gdb_assert.h"
--#include "gdb_string.h"
-+#include "gdbsupport/gdb_assert.h"
-+#include <string.h>
- #include "target-descriptions.h"
- #include "opcodes/microblaze-opcm.h"
- #include "opcodes/microblaze-dis.h"
-
- #include "linux-nat.h"
-+#include "linux-tdep.h"
- #include "target-descriptions.h"
-
- #include <sys/user.h>
-@@ -61,22 +62,17 @@
- /* Defines ps_err_e, struct ps_prochandle. */
- #include "gdb_proc_service.h"
-
--/* On GNU/Linux, threads are implemented as pseudo-processes, in which
-- case we may be tracing more than one process at a time. In that
-- case, inferior_ptid will contain the main process ID and the
-- individual thread (process) ID. get_thread_id () is used to get
-- the thread id if it's available, and the process id otherwise. */
--
--int
--get_thread_id (ptid_t ptid)
-+class microblaze_linux_nat_target final : public linux_nat_target
- {
-- int tid = TIDGET (ptid);
-- if (0 == tid)
-- tid = PIDGET (ptid);
-- return tid;
--}
-+public:
-+ /* Add our register access methods. */
-+ void fetch_registers (struct regcache *, int) override;
-+ void store_registers (struct regcache *, int) override;
-+
-+ const struct target_desc *read_description () override;
-+};
-
--#define GET_THREAD_ID(PTID) get_thread_id (PTID)
-+static microblaze_linux_nat_target the_microblaze_linux_nat_target;
-
- /* Non-zero if our kernel may support the PTRACE_GETREGS and
- PTRACE_SETREGS requests, for reading and writing the
-@@ -88,7 +84,6 @@ static int
- microblaze_register_u_addr (struct gdbarch *gdbarch, int regno)
- {
- int u_addr = -1;
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
- interface, and not the wordsize of the program's ABI. */
- int wordsize = sizeof (long);
-@@ -105,18 +100,16 @@ microblaze_register_u_addr (struct gdbarch *gdbarch, int regno)
- static void
- fetch_register (struct regcache *regcache, int tid, int regno)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ struct gdbarch *gdbarch = regcache->arch ();
- /* This isn't really an address. But ptrace thinks of it as one. */
- CORE_ADDR regaddr = microblaze_register_u_addr (gdbarch, regno);
- int bytes_transferred;
-- unsigned int offset; /* Offset of registers within the u area. */
-- char buf[MAX_REGISTER_SIZE];
-+ char buf[MICROBLAZE_MAX_REGISTER_SIZE];
-
- if (regaddr == -1)
- {
- memset (buf, '\0', register_size (gdbarch, regno)); /* Supply zeroes */
-- regcache_raw_supply (regcache, regno, buf);
-+ regcache->raw_supply (regno, buf);
- return;
- }
-
-@@ -149,14 +142,14 @@ fetch_register (struct regcache *regcache, int tid, int regno)
- {
- /* Little-endian values are always found at the left end of the
- bytes transferred. */
-- regcache_raw_supply (regcache, regno, buf);
-+ regcache->raw_supply (regno, buf);
- }
- else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
- {
- /* Big-endian values are found at the right end of the bytes
- transferred. */
- size_t padding = (bytes_transferred - register_size (gdbarch, regno));
-- regcache_raw_supply (regcache, regno, buf + padding);
-+ regcache->raw_supply (regno, buf + padding);
- }
- else
- internal_error (__FILE__, __LINE__,
-@@ -175,8 +168,6 @@ fetch_register (struct regcache *regcache, int tid, int regno)
- static int
- fetch_all_gp_regs (struct regcache *regcache, int tid)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- gdb_gregset_t gregset;
-
- if (ptrace (PTRACE_GETREGS, tid, 0, (void *) &gregset) < 0)
-@@ -204,8 +195,6 @@ fetch_all_gp_regs (struct regcache *regcache, int tid)
- static void
- fetch_gp_regs (struct regcache *regcache, int tid)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- int i;
-
- if (have_ptrace_getsetregs)
-@@ -223,13 +212,12 @@ fetch_gp_regs (struct regcache *regcache, int tid)
- static void
- store_register (const struct regcache *regcache, int tid, int regno)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ struct gdbarch *gdbarch = regcache->arch ();
- /* This isn't really an address. But ptrace thinks of it as one. */
- CORE_ADDR regaddr = microblaze_register_u_addr (gdbarch, regno);
- int i;
- size_t bytes_to_transfer;
-- char buf[MAX_REGISTER_SIZE];
-+ char buf[MICROBLAZE_MAX_REGISTER_SIZE];
-
- if (regaddr == -1)
- return;
-@@ -242,13 +230,13 @@ store_register (const struct regcache *regcache, int tid, int regno)
- if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
- {
- /* Little-endian values always sit at the left end of the buffer. */
-- regcache_raw_collect (regcache, regno, buf);
-+ regcache->raw_collect (regno, buf);
- }
- else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
- {
- /* Big-endian values sit at the right end of the buffer. */
- size_t padding = (bytes_to_transfer - register_size (gdbarch, regno));
-- regcache_raw_collect (regcache, regno, buf + padding);
-+ regcache->raw_collect (regno, buf + padding);
- }
-
- for (i = 0; i < bytes_to_transfer; i += sizeof (long))
-@@ -281,8 +269,6 @@ store_register (const struct regcache *regcache, int tid, int regno)
- static int
- store_all_gp_regs (const struct regcache *regcache, int tid, int regno)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- gdb_gregset_t gregset;
-
- if (ptrace (PTRACE_GETREGS, tid, 0, (void *) &gregset) < 0)
-@@ -319,8 +305,6 @@ store_all_gp_regs (const struct regcache *regcache, int tid, int regno)
- static void
- store_gp_regs (const struct regcache *regcache, int tid, int regno)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- int i;
-
- if (have_ptrace_getsetregs)
-@@ -339,12 +323,12 @@ store_gp_regs (const struct regcache *regcache, int tid, int regno)
- regno == -1, otherwise fetch all general registers or all floating
- point registers depending upon the value of regno. */
-
--static void
--microblaze_linux_fetch_inferior_registers (struct target_ops *ops,
-- struct regcache *regcache, int regno)
-+void
-+microblaze_linux_nat_target::fetch_registers (struct regcache * regcache,
-+ int regno)
- {
- /* Get the thread id for the ptrace call. */
-- int tid = GET_THREAD_ID (inferior_ptid);
-+ int tid = regcache->ptid ().lwp ();
-
- if (regno == -1)
- fetch_gp_regs (regcache, tid);
-@@ -356,12 +340,12 @@ microblaze_linux_fetch_inferior_registers (struct target_ops *ops,
- regno == -1, otherwise store all general registers or all floating
- point registers depending upon the value of regno. */
-
--static void
--microblaze_linux_store_inferior_registers (struct target_ops *ops,
-- struct regcache *regcache, int regno)
-+void
-+microblaze_linux_nat_target::store_registers (struct regcache *regcache,
-+ int regno)
- {
- /* Get the thread id for the ptrace call. */
-- int tid = GET_THREAD_ID (inferior_ptid);
-+ int tid = regcache->ptid ().lwp ();
-
- if (regno >= 0)
- store_register (regcache, tid, regno);
-@@ -398,12 +382,12 @@ supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
- /* FIXME. */
- }
-
--static const struct target_desc *
--microblaze_linux_read_description (struct target_ops *ops)
-+const struct target_desc *
-+microblaze_linux_nat_target::read_description ()
- {
-- CORE_ADDR microblaze_hwcap = 0;
-+ CORE_ADDR microblaze_hwcap = linux_get_hwcap (this);
-
-- if (target_auxv_search (ops, AT_HWCAP, &microblaze_hwcap) != 1)
-+ if (microblaze_hwcap != 1)
- return NULL;
-
- return NULL;
-@@ -415,17 +399,7 @@ void _initialize_microblaze_linux_nat (void);
- void
- _initialize_microblaze_linux_nat (void)
- {
-- struct target_ops *t;
--
-- /* Fill in the generic GNU/Linux methods. */
-- t = linux_target ();
--
-- /* Add our register access methods. */
-- t->to_fetch_registers = microblaze_linux_fetch_inferior_registers;
-- t->to_store_registers = microblaze_linux_store_inferior_registers;
--
-- t->to_read_description = microblaze_linux_read_description;
--
- /* Register the target. */
-- linux_nat_add_target (t);
-+ linux_target = &the_microblaze_linux_nat_target;
-+ add_inf_child_target (&the_microblaze_linux_nat_target);
- }
-diff --git a/gdb/microblaze-tdep.h b/gdb/microblaze-tdep.h
-index c0fc900733..c777d93a95 100644
---- a/gdb/microblaze-tdep.h
-+++ b/gdb/microblaze-tdep.h
-@@ -106,6 +106,9 @@ enum microblaze_regnum
- MICROBLAZE_NUM_REGS, MICROBLAZE_NUM_CORE_REGS = MICROBLAZE_NUM_REGS
- };
-
-+/* Big enough to hold the size of the largest register in bytes. */
-+#define MICROBLAZE_MAX_REGISTER_SIZE 64
-+
- struct microblaze_frame_cache
- {
- /* Base address. */
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils_%.bbappend b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils_%.bbappend
deleted file mode 100644
index e439cae72..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-MICROBLAZEPATCHES = ""
-MICROBLAZEPATCHES_microblaze = "binutils-microblaze.inc"
-
-require ${MICROBLAZEPATCHES}
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch
deleted file mode 100644
index e0f7b12e9..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From e3f148dff6d6d926d1f39802f54abd59bd9e887c Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 11 Jan 2017 13:13:57 +0530
-Subject: [PATCH 01/54] LOCAL]: Testsuite - builtins tests require fpic
- Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-
-Conflicts:
-
- gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
----
- gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
-index 594c9297958..8350d9401d2 100644
---- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
-+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
-@@ -48,6 +48,14 @@ if { [istarget *-*-eabi*]
- lappend additional_flags "-Wl,--allow-multiple-definition"
- }
-
-+<<<<<<< HEAD
-+=======
-+if [istarget "microblaze*-*-linux*"] {
-+ lappend additional_flags "-Wl,-zmuldefs"
-+ lappend additional_flags "-fPIC"
-+}
-+
-+>>>>>>> 6ef6e5b... [LOCAL]: Testsuite - builtins tests require fpic
- foreach src [lsort [find $srcdir/$subdir *.c]] {
- if {![string match *-lib.c $src] && [runtest_file_p $runtests $src]} {
- c-torture-execute [list $src \
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch
deleted file mode 100644
index 431dc7ef2..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From bef1a4116efded9972e693ded5152f1d8670862e Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 11 Jan 2017 14:31:10 +0530
-Subject: [PATCH 02/54] [LOCAL]: Quick fail g++.dg/opt/memcpy1.C This
- particular testcase fails with a timeout. Instead, fail it at compile-time
- for microblaze. This speeds up the testsuite without removing it from the
- FAIL reports.
-
-Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
----
- gcc/testsuite/g++.dg/opt/memcpy1.C | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/gcc/testsuite/g++.dg/opt/memcpy1.C b/gcc/testsuite/g++.dg/opt/memcpy1.C
-index 3862756083d..db9f990f781 100644
---- a/gcc/testsuite/g++.dg/opt/memcpy1.C
-+++ b/gcc/testsuite/g++.dg/opt/memcpy1.C
-@@ -4,6 +4,10 @@
- // { dg-do compile }
- // { dg-options "-O" }
-
-+#if defined (__MICROBLAZE__)
-+#error "too slow on mb. Investigate."
-+#endif
-+
- typedef unsigned char uint8_t;
- typedef uint8_t uint8;
- __extension__ typedef __SIZE_TYPE__ size_t;
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch
deleted file mode 100644
index a2dc7cccf..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From a063597f875142af49003e2f28b6c0f56e3b914d Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 11 Jan 2017 15:46:28 +0530
-Subject: [PATCH 03/54] [LOCAL]: For dejagnu static testing on qemu, suppress
- warnings about multiple definitions from the test function and libc in line
- with method used by powerpc. Dynamic linking and using a qemu binary which
- understands sysroot resolves all test failures with builtins
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
-index 8350d9401d2..d7c9b281d01 100644
---- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
-+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
-@@ -48,14 +48,10 @@ if { [istarget *-*-eabi*]
- lappend additional_flags "-Wl,--allow-multiple-definition"
- }
-
--<<<<<<< HEAD
--=======
- if [istarget "microblaze*-*-linux*"] {
- lappend additional_flags "-Wl,-zmuldefs"
-- lappend additional_flags "-fPIC"
- }
-
-->>>>>>> 6ef6e5b... [LOCAL]: Testsuite - builtins tests require fpic
- foreach src [lsort [find $srcdir/$subdir *.c]] {
- if {![string match *-lib.c $src] && [runtest_file_p $runtests $src]} {
- c-torture-execute [list $src \
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch
deleted file mode 100644
index 661417d78..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From c1028bcb40ccd8d61afc1ab798198948fbf74aa0 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 11 Jan 2017 15:50:35 +0530
-Subject: [PATCH 04/54] [Patch, testsuite]: Add MicroBlaze to target-supports
- for atomic buil. .tin tests
-
-MicroBlaze added to supported targets for atomic builtin tests.
-
-Changelog/testsuite
-
-2014-02-14 David Holsgrove <david.holsgrove@xilinx.com>
-
- * gcc/testsuite/lib/target-supports.exp: Add microblaze to
- check_effective_target_sync_int_long.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gcc/testsuite/lib/target-supports.exp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
-index 0dfe3ae0651..86caf6db9a9 100644
---- a/gcc/testsuite/lib/target-supports.exp
-+++ b/gcc/testsuite/lib/target-supports.exp
-@@ -7468,6 +7468,7 @@ proc check_effective_target_sync_int_long { } {
- && [check_effective_target_arm_acq_rel])
- || [istarget bfin*-*linux*]
- || [istarget hppa*-*linux*]
-+ || [istarget microblaze*-*linux*]
- || [istarget s390*-*-*]
- || [istarget powerpc*-*-*]
- || [istarget crisv32-*-*] || [istarget cris-*-*]
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch
deleted file mode 100644
index d34988c55..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From ae5ce07a67df89dabba61414ba7dabbdabc1ee1b Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 11 Jan 2017 16:20:01 +0530
-Subject: [PATCH 05/54] [Patch, testsuite]: Update MicroBlaze strings test for
- new scan-assembly output resulting in use of $LC label
-
-ChangeLog/testsuite
-
-2014-02-14 David Holsgrove <david.holsgrove@xilinx.com>
-
- * gcc/testsuite/gcc.target/microblaze/others/strings1.c: Update
- to include $LC label.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gcc/testsuite/gcc.target/microblaze/others/strings1.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/testsuite/gcc.target/microblaze/others/strings1.c b/gcc/testsuite/gcc.target/microblaze/others/strings1.c
-index 7a63faf79f2..0403b7bdca9 100644
---- a/gcc/testsuite/gcc.target/microblaze/others/strings1.c
-+++ b/gcc/testsuite/gcc.target/microblaze/others/strings1.c
-@@ -1,13 +1,15 @@
- /* { dg-options "-O3" } */
-
-+/* { dg-final { scan-assembler "\.rodata*" } } */
-+/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),\\\$LC.*" } } */
-+/* { dg-final { scan-assembler "\lwi\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),*" } } */
-+
- #include <string.h>
-
--/* { dg-final { scan-assembler "\.rodata*" } } */
- extern void somefunc (char *);
- int testfunc ()
- {
- char string2[80];
--/* { dg-final { scan-assembler "\lwi\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,.LC*" } } */
- strcpy (string2, "hello");
- somefunc (string2);
- }
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch
deleted file mode 100644
index 4b45fcf1e..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 49cf9cd3fedce80a63e9d03d42482dd4596c27a7 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Thu, 12 Jan 2017 16:14:15 +0530
-Subject: [PATCH 06/54] [Patch, testsuite]: Allow MicroBlaze .weakext pattern
- in regex match Extend regex pattern to include optional ext at the end of
- .weak to match the MicroBlaze weak label .weakext
-
-ChangeLog/testsuite
-
-2014-02-14 David Holsgrove <david.holsgrove@xilinx.com>
-
- * gcc/testsuite/g++.dg/abi/rtti3.C: Extend scan-assembler
- pattern to take optional ext after .weak.
- * gcc/testsuite/g++.dg/abi/thunk4.C: Likewise.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-
-Conflicts:
-
- gcc/testsuite/g++.dg/abi/rtti3.C
----
- gcc/testsuite/g++.dg/abi/rtti3.C | 4 ++--
- gcc/testsuite/g++.dg/abi/thunk3.C | 2 +-
- gcc/testsuite/g++.dg/abi/thunk4.C | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gcc/testsuite/g++.dg/abi/rtti3.C b/gcc/testsuite/g++.dg/abi/rtti3.C
-index 0cc7d3e79d0..f284cd9255c 100644
---- a/gcc/testsuite/g++.dg/abi/rtti3.C
-+++ b/gcc/testsuite/g++.dg/abi/rtti3.C
-@@ -3,8 +3,8 @@
-
- // { dg-require-weak "" }
- // { dg-skip-if "Linkonce not weak" { *-*-mingw* *-*-cygwin } }
--// { dg-final { scan-assembler ".weak\[ \t\]_?_ZTSPP1A" { target { ! { *-*-darwin* hppa*-*-hpux* } } } } }
--// { dg-final { scan-assembler-not ".weak\[ \t\]_?_ZTIPP1A" { target { ! { *-*-darwin* } } } } }
-+// { dg-final { scan-assembler ".weak(ext)?\[ \t\]_?_ZTSPP1A" { target { ! { *-*-darwin* } } } } }
-+// { dg-final { scan-assembler-not ".weak(ext)?\[ \t\]_?_ZTIPP1A" { target { ! { *-*-darwin* } } } } }
- // { dg-final { scan-assembler ".weak_definition\[ \t\]_?_ZTSPP1A" { target { *-*-darwin* } } } }
- // { dg-final { scan-assembler-not ".weak_definition\[ \t\]_?_ZTIPP1A" { target { *-*-darwin* } } } }
-
-diff --git a/gcc/testsuite/g++.dg/abi/thunk3.C b/gcc/testsuite/g++.dg/abi/thunk3.C
-index f2347f79ecd..dcec8a771a1 100644
---- a/gcc/testsuite/g++.dg/abi/thunk3.C
-+++ b/gcc/testsuite/g++.dg/abi/thunk3.C
-@@ -1,5 +1,5 @@
- // { dg-require-weak "" }
--// { dg-final { scan-assembler-not ".weak\[\t \]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
-+// { dg-final { scan-assembler-not ".weak(ext)?\[\t \]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
- // { dg-final { scan-assembler-not ".weak_definition\[\t \]_?_ZThn._N7Derived3FooEv" { target { *-*-darwin* } } } }
-
- struct Base
-diff --git a/gcc/testsuite/g++.dg/abi/thunk4.C b/gcc/testsuite/g++.dg/abi/thunk4.C
-index 6e8f124bc5e..d1d34fe1e4a 100644
---- a/gcc/testsuite/g++.dg/abi/thunk4.C
-+++ b/gcc/testsuite/g++.dg/abi/thunk4.C
-@@ -1,6 +1,6 @@
- // { dg-require-weak "" }
- // { dg-skip-if "Linkonce not weak" { *-*-mingw* *-*-cygwin } }
--// { dg-final { scan-assembler ".weak\[ \t\]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
-+// { dg-final { scan-assembler ".weak(ext)?\[ \t\]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
- // { dg-final { scan-assembler ".weak_definition\[ \t\]_?_ZThn._N7Derived3FooEv" { target { *-*-darwin* } } } }
-
- struct Base
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch
deleted file mode 100644
index 8fa324ad7..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From dc6cbb4e18a3f31441403146b8f159554c329897 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Thu, 12 Jan 2017 16:34:27 +0530
-Subject: [PATCH 07/54] [Patch, testsuite]: Add MicroBlaze to
- check_profiling_available Testsuite, add microblaze*-*-* target in
- check_profiling_available inline with other archs setting
- profiling_available_saved to 0
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gcc/testsuite/lib/target-supports.exp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
-index 86caf6db9a9..cbd9024ece9 100644
---- a/gcc/testsuite/lib/target-supports.exp
-+++ b/gcc/testsuite/lib/target-supports.exp
-@@ -707,6 +707,7 @@ proc check_profiling_available { test_what } {
- || [istarget m68k-*-elf]
- || [istarget m68k-*-uclinux*]
- || [istarget mips*-*-elf*]
-+ || [istarget microblaze*-*-*]
- || [istarget mmix-*-*]
- || [istarget mn10300-*-elf*]
- || [istarget moxie-*-elf*]
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0008-Patch-microblaze-Fix-atomic-side-effects.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0008-Patch-microblaze-Fix-atomic-side-effects.patch
deleted file mode 100644
index 1fa557299..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0008-Patch-microblaze-Fix-atomic-side-effects.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 602713d07d2e1b3a33a7f097baff270266aa4254 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Thu, 12 Jan 2017 16:41:43 +0530
-Subject: [PATCH 08/54] [Patch, microblaze]: Fix atomic side effects. In
- atomic_compare_and_swapsi, add side effects to prevent incorrect assumptions
- during optimization. Previously, the outputs were considered unused; this
- generated assembly code with undefined side effects after invocation of the
- atomic.
-
-Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-
-Conflicts:
- gcc/config/microblaze/microblaze.md
----
- gcc/config/microblaze/microblaze.md | 3 +++
- gcc/config/microblaze/sync.md | 21 +++++++++++++--------
- 2 files changed, 16 insertions(+), 8 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 7049acd1dcd..eba2776ae56 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -43,6 +43,9 @@
- (UNSPEC_TLS 106) ;; jump table
- (UNSPEC_SET_TEXT 107) ;; set text start
- (UNSPEC_TEXT 108) ;; data text relative
-+ (UNSPECV_CAS_BOOL 201) ;; compare and swap (bool)
-+ (UNSPECV_CAS_VAL 202) ;; compare and swap (val)
-+ (UNSPECV_CAS_MEM 203) ;; compare and swap (mem)
- ])
-
- (define_c_enum "unspec" [
-diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md
-index 76f530b9d3b..24cd67e1fdb 100644
---- a/gcc/config/microblaze/sync.md
-+++ b/gcc/config/microblaze/sync.md
-@@ -18,14 +18,19 @@
- ;; <http://www.gnu.org/licenses/>.
-
- (define_insn "atomic_compare_and_swapsi"
-- [(match_operand:SI 0 "register_operand" "=&d") ;; bool output
-- (match_operand:SI 1 "register_operand" "=&d") ;; val output
-- (match_operand:SI 2 "nonimmediate_operand" "+Q") ;; memory
-- (match_operand:SI 3 "register_operand" "d") ;; expected value
-- (match_operand:SI 4 "register_operand" "d") ;; desired value
-- (match_operand:SI 5 "const_int_operand" "") ;; is_weak
-- (match_operand:SI 6 "const_int_operand" "") ;; mod_s
-- (match_operand:SI 7 "const_int_operand" "") ;; mod_f
-+ [(set (match_operand:SI 0 "register_operand" "=&d") ;; bool output
-+ (unspec_volatile:SI
-+ [(match_operand:SI 2 "nonimmediate_operand" "+Q") ;; memory
-+ (match_operand:SI 3 "register_operand" "d") ;; expected value
-+ (match_operand:SI 4 "register_operand" "d")] ;; desired value
-+ UNSPECV_CAS_BOOL))
-+ (set (match_operand:SI 1 "register_operand" "=&d") ;; val output
-+ (unspec_volatile:SI [(const_int 0)] UNSPECV_CAS_VAL))
-+ (set (match_dup 2)
-+ (unspec_volatile:SI [(const_int 0)] UNSPECV_CAS_MEM))
-+ (match_operand:SI 5 "const_int_operand" "") ;; is_weak
-+ (match_operand:SI 6 "const_int_operand" "") ;; mod_s
-+ (match_operand:SI 7 "const_int_operand" "") ;; mod_f
- (clobber (match_scratch:SI 8 "=&d"))]
- ""
- {
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch
deleted file mode 100644
index 666d344f3..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From d3d065c9645d795e03dab6db827c08231e011a1f Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Thu, 12 Jan 2017 16:45:45 +0530
-Subject: [PATCH 09/54] [Patch, microblaze]: Fix atomic boolean return value.
- In atomic_compare_and_swapsi, fix boolean return value. Previously, it
- contained zero if successful and non-zero if unsuccessful.
-
-Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gcc/config/microblaze/sync.md | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md
-index 24cd67e1fdb..76c3616c992 100644
---- a/gcc/config/microblaze/sync.md
-+++ b/gcc/config/microblaze/sync.md
-@@ -34,15 +34,16 @@
- (clobber (match_scratch:SI 8 "=&d"))]
- ""
- {
-- output_asm_insn ("addc \tr0,r0,r0", operands);
-+ output_asm_insn ("add \t%0,r0,r0", operands);
- output_asm_insn ("lwx \t%1,%y2,r0", operands);
- output_asm_insn ("addic\t%8,r0,0", operands);
- output_asm_insn ("bnei \t%8,.-8", operands);
-- output_asm_insn ("cmp \t%0,%1,%3", operands);
-- output_asm_insn ("bnei \t%0,.+16", operands);
-+ output_asm_insn ("cmp \t%8,%1,%3", operands);
-+ output_asm_insn ("bnei \t%8,.+20", operands);
- output_asm_insn ("swx \t%4,%y2,r0", operands);
- output_asm_insn ("addic\t%8,r0,0", operands);
- output_asm_insn ("bnei \t%8,.-28", operands);
-+ output_asm_insn ("addi \t%0,r0,1", operands);
- return "";
- }
- )
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch
deleted file mode 100644
index 22bf521d9..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 8d9d1f457e1e270250d8a6700d4a1e1fa09465df Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Thu, 12 Jan 2017 16:50:17 +0530
-Subject: [PATCH 10/54] [Patch, microblaze]: Fix the Microblaze crash with
- msmall-divides flag Compiler is crashing when we use msmall-divides and
- mxl-barrel-shift flag. This is because when use above flags
- microblaze_expand_divide function will be called for division operation. In
- microblaze_expand_divide function we are using sub_reg but MicroBlaze doesn't
- have subreg register due to this compiler was crashing. Changed the logic to
- avoid sub_reg call
-
-Signed-off-by:Nagaraju Mekala <nmekala@xilix.com>
----
- gcc/config/microblaze/microblaze.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index a0f81b71391..0186171c04c 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -3709,8 +3709,7 @@ microblaze_expand_divide (rtx operands[])
- mem_rtx = gen_rtx_MEM (QImode,
- gen_rtx_PLUS (Pmode, regt1, div_table_rtx));
-
-- insn = emit_insn (gen_movqi (regqi, mem_rtx));
-- insn = emit_insn (gen_movsi (operands[0], gen_rtx_SUBREG (SImode, regqi, 0)));
-+ insn = emit_insn (gen_zero_extendqisi2(operands[0],mem_rtx));
- jump = emit_jump_insn_after (gen_jump (div_end_label), insn);
- JUMP_LABEL (jump) = div_end_label;
- LABEL_NUSES (div_end_label) = 1;
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch
deleted file mode 100644
index cce812bbc..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 03429c91d1db134e1deda4c8e58bc0939d5fedf9 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Thu, 12 Jan 2017 16:52:56 +0530
-Subject: [PATCH 11/54] [Patch, microblaze]: Added ashrsi3_with_size_opt Added
- ashrsi3_with_size_opt pattern to optimize the sra instructions when the -Os
- optimization is used. lshrsi3_with_size_opt is being removed as it has
- conflicts with unsigned int variables
-
-Signed-off-by:Nagaraju Mekala <nmekala@xilix.com>
----
- gcc/config/microblaze/microblaze.md | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index eba2776ae56..187ad522dcc 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -1508,6 +1508,27 @@
- (set_attr "length" "4,4")]
- )
-
-+(define_insn "*ashrsi3_with_size_opt"
-+ [(set (match_operand:SI 0 "register_operand" "=&d")
-+ (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
-+ (match_operand:SI 2 "immediate_operand" "I")))]
-+ "(INTVAL (operands[2]) > 5 && optimize_size)"
-+ {
-+ operands[3] = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
-+
-+ output_asm_insn ("ori\t%3,r0,%2", operands);
-+ if (REGNO (operands[0]) != REGNO (operands[1]))
-+ output_asm_insn ("addk\t%0,%1,r0", operands);
-+
-+ output_asm_insn ("addik\t%3,%3,-1", operands);
-+ output_asm_insn ("bneid\t%3,.-4", operands);
-+ return "sra\t%0,%0";
-+ }
-+ [(set_attr "type" "arith")
-+ (set_attr "mode" "SI")
-+ (set_attr "length" "20")]
-+)
-+
- (define_insn "*ashrsi_inline"
- [(set (match_operand:SI 0 "register_operand" "=&d")
- (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch
deleted file mode 100644
index e393f0fe2..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 6803fbc540db39865037994daa122cf10c0eb33a Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 17 Jan 2017 10:57:19 +0530
-Subject: [PATCH 12/54] [Patch, microblaze]: Use bralid for profiler calls
- Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
-
----
- gcc/config/microblaze/microblaze.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index dc112f5301f..8aa3f155790 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -486,7 +486,7 @@ typedef struct microblaze_args
-
- #define FUNCTION_PROFILER(FILE, LABELNO) { \
- { \
-- fprintf (FILE, "\tbrki\tr16,_mcount\n"); \
-+ fprintf (FILE, "\tbralid\tr15,_mcount\nnop\n"); \
- } \
- }
-
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0013-Patch-microblaze-Removed-moddi3-routinue.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0013-Patch-microblaze-Removed-moddi3-routinue.patch
deleted file mode 100644
index b601c98a9..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0013-Patch-microblaze-Removed-moddi3-routinue.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From 5de3888c460a341667150d569548b3309188e7e8 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Thu, 12 Jan 2017 17:36:16 +0530
-Subject: [PATCH 13/54] [Patch, microblaze]: Removed moddi3 routinue Using the
- default moddi3 function as the existing implementation has many bugs
-
-Signed-off-by:Nagaraju <nmekala@xilix.com>
----
- libgcc/config/microblaze/moddi3.S | 121 --------------------------
- libgcc/config/microblaze/t-microblaze | 3 +-
- 2 files changed, 1 insertion(+), 123 deletions(-)
- delete mode 100644 libgcc/config/microblaze/moddi3.S
-
-diff --git a/libgcc/config/microblaze/moddi3.S b/libgcc/config/microblaze/moddi3.S
-deleted file mode 100644
-index d0e24fdb89d..00000000000
---- a/libgcc/config/microblaze/moddi3.S
-+++ /dev/null
-@@ -1,121 +0,0 @@
--###################################
--#
--# Copyright (C) 2009-2020 Free Software Foundation, Inc.
--#
--# Contributed by Michael Eager <eager@eagercon.com>.
--#
--# This file is free software; you can redistribute it and/or modify it
--# under the terms of the GNU General Public License as published by the
--# Free Software Foundation; either version 3, or (at your option) any
--# later version.
--#
--# GCC is distributed in the hope that it will be useful, but WITHOUT
--# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
--# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
--# License for more details.
--#
--# Under Section 7 of GPL version 3, you are granted additional
--# permissions described in the GCC Runtime Library Exception, version
--# 3.1, as published by the Free Software Foundation.
--#
--# You should have received a copy of the GNU General Public License and
--# a copy of the GCC Runtime Library Exception along with this program;
--# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
--# <http://www.gnu.org/licenses/>.
--#
--# modsi3.S
--#
--# modulo operation for 64 bit integers.
--#
--#######################################
--
--
--/* An executable stack is *not* required for these functions. */
--#ifdef __linux__
--.section .note.GNU-stack,"",%progbits
--.previous
--#endif
--
-- .globl __moddi3
-- .ent __moddi3
--__moddi3:
-- .frame r1,0,r15
--
--#Change the stack pointer value and Save callee saved regs
-- addik r1,r1,-24
-- swi r25,r1,0
-- swi r26,r1,4
-- swi r27,r1,8 # used for sign
-- swi r28,r1,12 # used for loop count
-- swi r29,r1,16 # Used for div value High
-- swi r30,r1,20 # Used for div value Low
--
--#Check for Zero Value in the divisor/dividend
-- OR r9,r5,r6 # Check for the op1 being zero
-- BEQID r9,$LaResult_Is_Zero # Result is zero
-- OR r9,r7,r8 # Check for the dividend being zero
-- BEQI r9,$LaDiv_By_Zero # Div_by_Zero # Division Error
-- BGEId r5,$La1_Pos
-- XOR r27,r5,r7 # Get the sign of the result
-- RSUBI r6,r6,0 # Make dividend positive
-- RSUBIC r5,r5,0 # Make dividend positive
--$La1_Pos:
-- BGEI r7,$La2_Pos
-- RSUBI r8,r8,0 # Make Divisor Positive
-- RSUBIC r9,r9,0 # Make Divisor Positive
--$La2_Pos:
-- ADDIK r4,r0,0 # Clear mod low
-- ADDIK r3,r0,0 # Clear mod high
-- ADDIK r29,r0,0 # clear div high
-- ADDIK r30,r0,0 # clear div low
-- ADDIK r28,r0,64 # Initialize the loop count
-- # First part try to find the first '1' in the r5/r6
--$LaDIV1:
-- ADD r6,r6,r6
-- ADDC r5,r5,r5 # left shift logical r5
-- BGEID r5,$LaDIV1
-- ADDIK r28,r28,-1
--$LaDIV2:
-- ADD r6,r6,r6
-- ADDC r5,r5,r5 # left shift logical r5/r6 get the '1' into the Carry
-- ADDC r4,r4,r4 # Move that bit into the Mod register
-- ADDC r3,r3,r3 # Move carry into high mod register
-- rsub r18,r7,r3 # Compare the High Parts of Mod and Divisor
-- bnei r18,$L_High_EQ
-- rsub r18,r6,r4 # Compare Low Parts only if Mod[h] == Divisor[h]
--$L_High_EQ:
-- rSUB r26,r8,r4 # Subtract divisor[L] from Mod[L]
-- rsubc r25,r7,r3 # Subtract divisor[H] from Mod[H]
-- BLTi r25,$LaMOD_TOO_SMALL
-- OR r3,r0,r25 # move r25 to mod [h]
-- OR r4,r0,r26 # move r26 to mod [l]
-- ADDI r30,r30,1
-- ADDC r29,r29,r0
--$LaMOD_TOO_SMALL:
-- ADDIK r28,r28,-1
-- BEQi r28,$LaLOOP_END
-- ADD r30,r30,r30 # Shift in the '1' into div [low]
-- ADDC r29,r29,r29 # Move the carry generated into high
-- BRI $LaDIV2 # Div2
--$LaLOOP_END:
-- BGEI r27,$LaRETURN_HERE
-- rsubi r30,r30,0
-- rsubc r29,r29,r0
-- BRI $LaRETURN_HERE
--$LaDiv_By_Zero:
--$LaResult_Is_Zero:
-- or r29,r0,r0 # set result to 0 [High]
-- or r30,r0,r0 # set result to 0 [Low]
--$LaRETURN_HERE:
--# Restore values of CSRs and that of r29 and the divisor and the dividend
--
-- lwi r25,r1,0
-- lwi r26,r1,4
-- lwi r27,r1,8
-- lwi r28,r1,12
-- lwi r29,r1,16
-- lwi r30,r1,20
-- rtsd r15,8
-- addik r1,r1,24
-- .end __moddi3
--
-diff --git a/libgcc/config/microblaze/t-microblaze b/libgcc/config/microblaze/t-microblaze
-index 96959f0292b..8d954a49575 100644
---- a/libgcc/config/microblaze/t-microblaze
-+++ b/libgcc/config/microblaze/t-microblaze
-@@ -1,8 +1,7 @@
--LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _moddi3 _mulsi3 _udivsi3 _umodsi3
-+LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3
-
- LIB2ADD += \
- $(srcdir)/config/microblaze/divsi3.S \
-- $(srcdir)/config/microblaze/moddi3.S \
- $(srcdir)/config/microblaze/modsi3.S \
- $(srcdir)/config/microblaze/muldi3_hard.S \
- $(srcdir)/config/microblaze/mulsi3.S \
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch
deleted file mode 100644
index 3bd6efd55..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From b9a9e8f9d0994c76819ec605a0b7cd113f3b2cf0 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 17 Jan 2017 14:41:58 +0530
-Subject: [PATCH 14/54] [Patch, microblaze]: Add INIT_PRIORITY support Added
- TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros.
-
-These macros allows users to control the order of initialization
-of objects defined at namespace scope with the init_priority
-attribute by specifying a relative priority, a constant integral
-expression currently bounded between 101 and 65535 inclusive.
-
-Lower numbers indicate a higher priority.
-
-Changelog
-
-2013-11-26 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-
- * gcc/config/microblaze/microblaze.c: Add microblaze_asm_constructor,
- microblaze_asm_destructor. Define TARGET_ASM_CONSTRUCTOR and
- TARGET_ASM_DESTRUCTOR.
-
-Signed-off-by:nagaraju <nmekala@xilix.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gcc/config/microblaze/microblaze.c | 53 ++++++++++++++++++++++++++++++
- 1 file changed, 53 insertions(+)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 0186171c04c..9eae5515c60 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -2634,6 +2634,53 @@ print_operand_address (FILE * file, rtx addr)
- }
- }
-
-+/* Output an element in the table of global constructors. */
-+void
-+microblaze_asm_constructor (rtx symbol ATTRIBUTE_UNUSED, int priority)
-+{
-+ const char *section = ".ctors";
-+ char buf[16];
-+
-+ if (priority != DEFAULT_INIT_PRIORITY)
-+ {
-+ sprintf (buf, ".ctors.%.5u",
-+ /* Invert the numbering so the linker puts us in the proper
-+ order; constructors are run from right to left, and the
-+ linker sorts in increasing order. */
-+ MAX_INIT_PRIORITY - priority);
-+ section = buf;
-+ }
-+
-+ switch_to_section (get_section (section, 0, NULL));
-+ assemble_align (POINTER_SIZE);
-+ fputs ("\t.word\t", asm_out_file);
-+ output_addr_const (asm_out_file, symbol);
-+ fputs ("\n", asm_out_file);
-+}
-+
-+/* Output an element in the table of global destructors. */
-+void
-+microblaze_asm_destructor (rtx symbol, int priority)
-+{
-+ const char *section = ".dtors";
-+ char buf[16];
-+ if (priority != DEFAULT_INIT_PRIORITY)
-+ {
-+ sprintf (buf, ".dtors.%.5u",
-+ /* Invert the numbering so the linker puts us in the proper
-+ order; constructors are run from right to left, and the
-+ linker sorts in increasing order. */
-+ MAX_INIT_PRIORITY - priority);
-+ section = buf;
-+ }
-+
-+ switch_to_section (get_section (section, 0, NULL));
-+ assemble_align (POINTER_SIZE);
-+ fputs ("\t.word\t", asm_out_file);
-+ output_addr_const (asm_out_file, symbol);
-+ fputs ("\n", asm_out_file);
-+}
-+
- /* Emit either a label, .comm, or .lcomm directive, and mark that the symbol
- is used, so that we don't emit an .extern for it in
- microblaze_asm_file_end. */
-@@ -3975,6 +4022,12 @@ microblaze_starting_frame_offset (void)
- #undef TARGET_ATTRIBUTE_TABLE
- #define TARGET_ATTRIBUTE_TABLE microblaze_attribute_table
-
-+#undef TARGET_ASM_CONSTRUCTOR
-+#define TARGET_ASM_CONSTRUCTOR microblaze_asm_constructor
-+
-+#undef TARGET_ASM_DESTRUCTOR
-+#define TARGET_ASM_DESTRUCTOR microblaze_asm_destructor
-+
- #undef TARGET_IN_SMALL_DATA_P
- #define TARGET_IN_SMALL_DATA_P microblaze_elf_in_small_data_p
-
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0015-Patch-microblaze-Add-optimized-lshrsi3.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0015-Patch-microblaze-Add-optimized-lshrsi3.patch
deleted file mode 100644
index ba20cf078..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0015-Patch-microblaze-Add-optimized-lshrsi3.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From f448485f5e0507a7ab8be7f83c08f807200a3501 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 17 Jan 2017 15:23:57 +0530
-Subject: [PATCH 15/54] [Patch, microblaze]: Add optimized lshrsi3 When barrel
- shifter is not present, the immediate value is greater than #5 and
- optimization is -OS, the compiler will generate shift operation using loop.
-
-Changelog
-
-2013-11-26 David Holsgrove <david.holsgrove@xilinx.com>
-
- * gcc/config/microblaze/microblaze.md: Add size optimized lshrsi3 insn
-
-ChangeLog/testsuite
-
-2014-02-12 David Holsgrove <david.holsgrove@xilinx.com>
-
- * gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c: New test.
-
-Signed-off-by:Nagaraju <nmekala@xilix.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gcc/config/microblaze/microblaze.md | 21 +++++++++++++++++++
- .../microblaze/others/lshrsi_Os_1.c | 13 ++++++++++++
- 2 files changed, 34 insertions(+)
- create mode 100644 gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 187ad522dcc..8f9baec826b 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -1618,6 +1618,27 @@
- (set_attr "length" "4,4")]
- )
-
-+(define_insn "*lshrsi3_with_size_opt"
-+ [(set (match_operand:SI 0 "register_operand" "=&d")
-+ (lshiftrt:SI (match_operand:SI 1 "register_operand" "d")
-+ (match_operand:SI 2 "immediate_operand" "I")))]
-+ "(INTVAL (operands[2]) > 5 && optimize_size)"
-+ {
-+ operands[3] = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
-+
-+ output_asm_insn ("ori\t%3,r0,%2", operands);
-+ if (REGNO (operands[0]) != REGNO (operands[1]))
-+ output_asm_insn ("addk\t%0,%1,r0", operands);
-+
-+ output_asm_insn ("addik\t%3,%3,-1", operands);
-+ output_asm_insn ("bneid\t%3,.-4", operands);
-+ return "srl\t%0,%0";
-+ }
-+ [(set_attr "type" "multi")
-+ (set_attr "mode" "SI")
-+ (set_attr "length" "20")]
-+)
-+
- (define_insn "*lshrsi_inline"
- [(set (match_operand:SI 0 "register_operand" "=&d")
- (lshiftrt:SI (match_operand:SI 1 "register_operand" "d")
-diff --git a/gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c b/gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c
-new file mode 100644
-index 00000000000..32a3be7c76a
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c
-@@ -0,0 +1,13 @@
-+/* { dg-options "-Os -mno-xl-barrel-shift" } */
-+
-+void testfunc(void)
-+{
-+ unsigned volatile int z = 8192;
-+ z >>= 8;
-+}
-+/* { dg-final { scan-assembler-not "\bsrli" } } */
-+/* { dg-final { scan-assembler "\ori\tr18,r0" } } */
-+/* { dg-final { scan-assembler "addk\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0" } } */
-+/* { dg-final { scan-assembler "addik\tr18,r18,-1" } } */
-+/* { dg-final { scan-assembler "bneid\tr18,.-4" } } */
-+/* { dg-final { scan-assembler "\srl\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])" } } */
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0016-Patch-microblaze-Add-cbranchsi4_reg.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0016-Patch-microblaze-Add-cbranchsi4_reg.patch
deleted file mode 100644
index 0c8652247..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0016-Patch-microblaze-Add-cbranchsi4_reg.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 386b8dcef2d774e9138515814be0fd579ade5af5 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 17 Jan 2017 17:04:37 +0530
-Subject: [PATCH 16/54] [Patch, microblaze]: Add cbranchsi4_reg This patch
- optimizes the generation of pcmpne/pcmpeq instruction if the compare
- instruction has no immediate values.For the immediate values the xor
- instruction is generated
-
-Signed-off-by: Nagaraju Mekala <nmekala@xilix.com>
-Signed-off-by: Ajit Agarwal <ajitkum@xilinx.com>
-
-ChangeLog:
-2015-01-13 Nagaraju Mekala <nmekala@xilix.com>
- Ajit Agarwal <ajitkum@xilinx.com>
-
- *microblaze.md (cbranchsi4_reg): New
- *microblaze.c (microblaze_expand_conditional_branch_reg): New
-
-Conflicts:
-
- gcc/config/microblaze/microblaze-protos.h
----
- gcc/config/microblaze/microblaze-protos.h | 2 +-
- gcc/testsuite/gcc.target/microblaze/isa/fcmp1.c | 2 +-
- gcc/testsuite/gcc.target/microblaze/isa/fcmp2.c | 2 +-
- gcc/testsuite/gcc.target/microblaze/isa/fcmp3.c | 2 +-
- gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c | 2 +-
- gcc/testsuite/gcc.target/microblaze/isa/nofcmp.c | 14 +++++++-------
- gcc/testsuite/gcc.target/microblaze/isa/vanilla.c | 12 ++++++------
- 7 files changed, 18 insertions(+), 18 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
-index 982b2abd2d4..c2f88813a8d 100644
---- a/gcc/config/microblaze/microblaze-protos.h
-+++ b/gcc/config/microblaze/microblaze-protos.h
-@@ -33,7 +33,7 @@ extern int microblaze_expand_shift (rtx *);
- extern bool microblaze_expand_move (machine_mode, rtx *);
- extern bool microblaze_expand_block_move (rtx, rtx, rtx, rtx);
- extern void microblaze_expand_divide (rtx *);
--extern void microblaze_expand_conditional_branch (machine_mode, rtx *);
-+extern void microblaze_expand_conditional_branch (enum machine_mode, rtx *);
- extern void microblaze_expand_conditional_branch_reg (machine_mode, rtx *);
- extern void microblaze_expand_conditional_branch_sf (rtx *);
- extern int microblaze_can_use_return_insn (void);
-diff --git a/gcc/testsuite/gcc.target/microblaze/isa/fcmp1.c b/gcc/testsuite/gcc.target/microblaze/isa/fcmp1.c
-index 4041a241391..ccc6a461cd9 100644
---- a/gcc/testsuite/gcc.target/microblaze/isa/fcmp1.c
-+++ b/gcc/testsuite/gcc.target/microblaze/isa/fcmp1.c
-@@ -6,5 +6,5 @@ void float_func ()
- {
- /* { dg-final { scan-assembler "fcmp\.(le|gt)\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
- if (f2 <= f3)
-- print ("le");
-+ f2 = f3;
- }
-diff --git a/gcc/testsuite/gcc.target/microblaze/isa/fcmp2.c b/gcc/testsuite/gcc.target/microblaze/isa/fcmp2.c
-index 3902b839db9..1dd5fe6c539 100644
---- a/gcc/testsuite/gcc.target/microblaze/isa/fcmp2.c
-+++ b/gcc/testsuite/gcc.target/microblaze/isa/fcmp2.c
-@@ -6,5 +6,5 @@ void float_func ()
- {
- /* { dg-final { scan-assembler "fcmp\.(lt|ge)\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
- if (f2 < f3)
-- print ("lt");
-+ f2 = f3;
- }
-diff --git a/gcc/testsuite/gcc.target/microblaze/isa/fcmp3.c b/gcc/testsuite/gcc.target/microblaze/isa/fcmp3.c
-index 8555974dda5..d6f80fb0ec3 100644
---- a/gcc/testsuite/gcc.target/microblaze/isa/fcmp3.c
-+++ b/gcc/testsuite/gcc.target/microblaze/isa/fcmp3.c
-@@ -6,5 +6,5 @@ void float_func ()
- {
- /* { dg-final { scan-assembler "fcmp\.(eq|ne)\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
- if (f2 == f3)
-- print ("eq");
-+ f1 = f2 + f3;
- }
-diff --git a/gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c b/gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c
-index 79cc5f9dd8e..d1177249552 100644
---- a/gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c
-+++ b/gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c
-@@ -5,5 +5,5 @@ void float_func(float f1, float f2, float f3)
- /* { dg-final { scan-assembler "fcmp\.eq\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
- /* { dg-final { scan-assembler "fcmp\.le\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
- if(f1==f2 && f1<=f3)
-- print ("f1 eq f2 && f1 le f3");
-+ f2 = f3;
- }
-diff --git a/gcc/testsuite/gcc.target/microblaze/isa/nofcmp.c b/gcc/testsuite/gcc.target/microblaze/isa/nofcmp.c
-index ebfb170ecee..75822977ef8 100644
---- a/gcc/testsuite/gcc.target/microblaze/isa/nofcmp.c
-+++ b/gcc/testsuite/gcc.target/microblaze/isa/nofcmp.c
-@@ -5,17 +5,17 @@ volatile float f1, f2, f3;
- void float_func ()
- {
- /* { dg-final { scan-assembler-not "fcmp" } } */
-- if (f2 <= f3)
-- print ("le");
-+ if (f2 <= f3)
-+ f1 = f3;
- else if (f2 == f3)
-- print ("eq");
-+ f1 = f3;
- else if (f2 < f3)
-- print ("lt");
-+ f1 = f3;
- else if (f2 > f3)
-- print ("gt");
-+ f1 = f3;
- else if (f2 >= f3)
-- print ("ge");
-+ f1 = f3;
- else if (f2 != f3)
-- print ("ne");
-+ f1 = f3;
-
- }
-diff --git a/gcc/testsuite/gcc.target/microblaze/isa/vanilla.c b/gcc/testsuite/gcc.target/microblaze/isa/vanilla.c
-index 1d6ba807b12..532c035adfd 100644
---- a/gcc/testsuite/gcc.target/microblaze/isa/vanilla.c
-+++ b/gcc/testsuite/gcc.target/microblaze/isa/vanilla.c
-@@ -74,16 +74,16 @@ void float_cmp_func ()
- {
- /* { dg-final { scan-assembler-not "fcmp" } } */
- if (f2 <= f3)
-- print ("le");
-+ f1 = f3;
- else if (f2 == f3)
-- print ("eq");
-+ f1 = f3;
- else if (f2 < f3)
-- print ("lt");
-+ f1 = f3;
- else if (f2 > f3)
-- print ("gt");
-+ f1 = f3;
- else if (f2 >= f3)
-- print ("ge");
-+ f1 = f3;
- else if (f2 != f3)
-- print ("ne");
-+ f1 = f3;
-
- }
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch
deleted file mode 100644
index 504083f3e..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From b6298861681965533c9b6dac5e26fbd62b52839d Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 17 Jan 2017 17:11:04 +0530
-Subject: [PATCH 17/54] [Patch,microblaze]: Inline Expansion of fsqrt builtin.
- The changes are made in the patch for the inline expansion of the fsqrt
- builtin with fqrt instruction. The sqrt math function takes double as
- argument and return double as argument. The pattern is selected while
- expanding the unary op through expand_unop which passes DFmode and the DFmode
- pattern was not there returning zero. Thus the sqrt math function is not
- inlined and expanded. The pattern with DFmode argument is added. Also the
- source and destination argument is not same the DF through two different
- consecutive registers with lower 32 bit is the argument passed to sqrt and
- the higher 32 bit is zero. If the source and destinations are different the
- DFmode 64 bits registers is not set properly giving the problem in runtime.
- Such changes are taken care in the implementation of the pattern for DFmode
- for inline expansion of the sqrt.
-
-ChangeLog:
-2015-06-16 Ajit Agarwal <ajitkum@xilinx.com>
- Nagaraju Mekala <nmekala@xilinx.com>
-
- * config/microblaze/microblaze.md (sqrtdf2): New
- pattern.
-
-Signed-off-by:Ajit Agarwal ajitkum@xilinx.com
- Nagaraju Mekala nmekala@xilinx.com
----
- gcc/config/microblaze/microblaze.md | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 8f9baec826b..986d9c3aa25 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -451,6 +451,20 @@
- (set_attr "mode" "SF")
- (set_attr "length" "4")])
-
-+(define_insn "sqrtdf2"
-+ [(set (match_operand:DF 0 "register_operand" "=d")
-+ (sqrt:DF (match_operand:DF 1 "register_operand" "dG")))]
-+ "TARGET_HARD_FLOAT && TARGET_FLOAT_SQRT"
-+ {
-+ if (REGNO (operands[0]) == REGNO (operands[1]))
-+ return "fsqrt\t%0,%1";
-+ else
-+ return "fsqrt\t%0,%1\n\taddk\t%D0,%D1,r0";
-+ }
-+ [(set_attr "type" "fsqrt")
-+ (set_attr "mode" "SF")
-+ (set_attr "length" "4")])
-+
- (define_insn "fix_truncsfsi2"
- [(set (match_operand:SI 0 "register_operand" "=d")
- (fix:SI (match_operand:SF 1 "register_operand" "d")))]
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch
deleted file mode 100644
index 14095d833..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From a8c6c13cc322ecc300bb2cdf22e3d6f1680e56be Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 17 Jan 2017 18:07:24 +0530
-Subject: [PATCH 18/54] [PATCH] microblaze.md: Improve 'adddi3' and 'subdi3'
- insn definitions Change adddi3 to handle DI immediates as the second operand,
- this requires modification to the output template however reduces the need to
- specify seperate templates for 16-bit positive/negative immediate operands.
- The use of 32-bit immediates for the addi and addic instructions is handled
- by the assembler, which will emit the imm instructions when required. This
- conveniently handles the optimizable cases where the immediate constant value
- does not need the higher half words of the operands upper/lower words.
-
-Change the constraints of the subdi3 instruction definition such that it
-does not match the second operand as an immediate value. This is because
-there is no definition to handle this case nor is it possible to
-implement purely with instructions as microblaze does not provide an
-instruction to perform a forward arithmetic subtraction (it only
-provides reverse 'rD = IMM - rA').
-
-Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
----
- gcc/config/microblaze/microblaze.md | 13 ++++++-------
- 1 file changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 986d9c3aa25..efd2c34e0b7 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -502,17 +502,16 @@
- ;; Adding 2 DI operands in register or reg/imm
-
- (define_insn "adddi3"
-- [(set (match_operand:DI 0 "register_operand" "=d,d,d")
-- (plus:DI (match_operand:DI 1 "register_operand" "%d,d,d")
-- (match_operand:DI 2 "arith_operand32" "d,P,N")))]
-+ [(set (match_operand:DI 0 "register_operand" "=d,d")
-+ (plus:DI (match_operand:DI 1 "register_operand" "%d,d")
-+ (match_operand:DI 2 "arith_operand" "d,i")))]
- ""
- "@
- add\t%L0,%L1,%L2\;addc\t%M0,%M1,%M2
-- addi\t%L0,%L1,%2\;addc\t%M0,%M1,r0
-- addi\t%L0,%L1,%2\;addc\t%M0,%M1,r0\;addi\t%M0,%M0,-1"
-+ addi\t%L0,%L1,%j2\;addic\t%M0,%M1,%h2"
- [(set_attr "type" "darith")
- (set_attr "mode" "DI")
-- (set_attr "length" "8,8,12")])
-+ (set_attr "length" "8,8")])
-
- ;;----------------------------------------------------------------
- ;; Subtraction
-@@ -549,7 +548,7 @@
- (define_insn "subdi3"
- [(set (match_operand:DI 0 "register_operand" "=&d")
- (minus:DI (match_operand:DI 1 "register_operand" "d")
-- (match_operand:DI 2 "arith_operand32" "d")))]
-+ (match_operand:DI 2 "register_operand" "d")))]
- ""
- "rsub\t%L0,%L2,%L1\;rsubc\t%M0,%M2,%M1"
- [(set_attr "type" "darith")
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch
deleted file mode 100644
index 4a4901199..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 3a9ee185eb462f880ceb4ddd125d4a98e0759873 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 17 Jan 2017 18:18:41 +0530
-Subject: [PATCH 19/54] [Patch, microblaze]: Update ashlsi3 & movsf patterns
- This patch removes the use of HOST_WIDE_INT_PRINT_HEX macro in print_operand
- of ashlsi3_with_mul_nodelay,ashlsi3_with_mul_delay and movsf_internal
- patterns beacuse HOST_WIDE_INT_PRINT_HEX is generating 64-bit value which our
- instruction doesn't support so using gen_int_mode function
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
- :Ajit Agarwal <ajitkum@xilinx.com>
-
-ChangeLog:
-2016-01-07 Nagaraju Mekala <nmekala@xilix.com>
- Ajit Agarwal <ajitkum@xilinx.com>
-
- *microblaze.md (ashlsi3_with_mul_nodelay,
- ashlsi3_with_mul_delay,
- movsf_internal):
- Updated the patterns to use gen_int_mode function
- *microblaze.c (print_operand):
- updated the 'F' case to use "unsinged int" instead
- of HOST_WIDE_INT_PRINT_HEX
----
- gcc/config/microblaze/microblaze.c | 2 +-
- gcc/config/microblaze/microblaze.md | 10 ++++++++--
- 2 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 9eae5515c60..0a4619eec0c 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -2468,7 +2468,7 @@ print_operand (FILE * file, rtx op, int letter)
- unsigned long value_long;
- REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (op),
- value_long);
-- fprintf (file, "0x%lx", value_long);
-+ fprintf (file, "0x%08x", (unsigned int) value_long);
- }
- else
- {
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index efd2c34e0b7..be8bbda2bfb 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -1368,7 +1368,10 @@
- (match_operand:SI 2 "immediate_operand" "I")))]
- "!TARGET_SOFT_MUL
- && ((1 << INTVAL (operands[2])) <= 32767 && (1 << INTVAL (operands[2])) >= -32768)"
-- "muli\t%0,%1,%m2"
-+ {
-+ operands[2] = gen_int_mode (1 << INTVAL (operands[2]), SImode);
-+ return "muli\t%0,%1,%2";
-+ }
- ;; This MUL will not generate an imm. Can go into a delay slot.
- [(set_attr "type" "arith")
- (set_attr "mode" "SI")
-@@ -1380,7 +1383,10 @@
- (ashift:SI (match_operand:SI 1 "register_operand" "d")
- (match_operand:SI 2 "immediate_operand" "I")))]
- "!TARGET_SOFT_MUL"
-- "muli\t%0,%1,%m2"
-+ {
-+ operands[2] = gen_int_mode (1 << INTVAL (operands[2]), SImode);
-+ return "muli\t%0,%1,%2";
-+ }
- ;; This MUL will generate an IMM. Cannot go into a delay slot
- [(set_attr "type" "no_delay_arith")
- (set_attr "mode" "SI")
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch
deleted file mode 100644
index 07cf635de..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From bfdb38133201f7df01d09dc7e7ee3043a35c1d3e Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 9 Nov 2020 19:54:39 +0530
-Subject: [PATCH 20/54] [Patch, microblaze]: 8-stage pipeline for microblaze
-
-This patch adds the support for the 8-stage pipeline. The new 8-stage
-pipeline reduces the latencies of float & integer division drastically
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
----
- gcc/config/microblaze/microblaze.c | 11 ++++
- gcc/config/microblaze/microblaze.h | 3 +-
- gcc/config/microblaze/microblaze.md | 79 +++++++++++++++++++++++++++-
- gcc/config/microblaze/microblaze.opt | 4 ++
- 4 files changed, 94 insertions(+), 3 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 0a4619eec0c..0dc96e481b7 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -1840,6 +1840,17 @@ microblaze_option_override (void)
- "%<-mcpu=v8.30.a%>");
- TARGET_REORDER = 0;
- }
-+ ver = microblaze_version_to_int("v10.0");
-+ if (ver < 0)
-+ {
-+ if (TARGET_AREA_OPTIMIZED_2)
-+ warning (0, "-mxl-frequency can be used only with -mcpu=v10.0 or greater");
-+ }
-+ else
-+ {
-+ if (TARGET_AREA_OPTIMIZED_2)
-+ microblaze_pipe = MICROBLAZE_PIPE_8;
-+ }
-
- if (TARGET_MULTIPLY_HIGH && TARGET_SOFT_MUL)
- error ("%<-mxl-multiply-high%> requires %<-mno-xl-soft-mul%>");
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index 8aa3f155790..8a668278337 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -27,7 +27,8 @@
- enum pipeline_type
- {
- MICROBLAZE_PIPE_3 = 0,
-- MICROBLAZE_PIPE_5 = 1
-+ MICROBLAZE_PIPE_5 = 1,
-+ MICROBLAZE_PIPE_8 = 2
- };
-
- #define MICROBLAZE_MASK_NO_UNSAFE_DELAY 0x00000001
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index be8bbda2bfb..c407a81c51e 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -35,6 +35,7 @@
- (R_GOT 20) ;; GOT ptr reg
- (MB_PIPE_3 0) ;; Microblaze 3-stage pipeline
- (MB_PIPE_5 1) ;; Microblaze 5-stage pipeline
-+ (MB_PIPE_8 2) ;; Microblaze 8-stage pipeline
- (UNSPEC_SET_GOT 101) ;;
- (UNSPEC_GOTOFF 102) ;; GOT offset
- (UNSPEC_PLT 103) ;; jump table
-@@ -82,7 +83,7 @@
- ;; bshift Shift operations
-
- (define_attr "type"
-- "unknown,branch,jump,call,load,store,move,arith,darith,imul,idiv,icmp,multi,nop,no_delay_arith,no_delay_load,no_delay_store,no_delay_imul,no_delay_move,bshift,fadd,frsub,fmul,fdiv,fcmp,fsl,fsqrt,fcvt,trap"
-+ "unknown,branch,jump,call,load,store,move,arith,darith,imul,idiv,icmp,multi,nop,no_delay_arith,no_delay_load,no_delay_store,no_delay_imul,no_delay_move,bshift,fadd,frsub,fmul,fdiv,fcmp,fsl,fsqrt,fcvt,fint,trap"
- (const_string "unknown"))
-
- ;; Main data type used by the insn
-@@ -224,6 +225,80 @@
- ;;-----------------------------------------------------------------
-
-
-+
-+;;----------------------------------------------------------------
-+;; Microblaze 8-stage pipeline description (v10.0 and later)
-+;;----------------------------------------------------------------
-+
-+(define_automaton "mbpipe_8")
-+(define_cpu_unit "mb8_issue,mb8_iu,mb8_wb,mb8_fpu,mb8_fpu_2,mb8_mul,mb8_mul_2,mb8_div,mb8_div_2,mb8_bs,mb8_bs_2" "mbpipe_8")
-+
-+(define_insn_reservation "mb8-integer" 1
-+ (and (eq_attr "type" "branch,jump,call,arith,darith,icmp,nop,no_delay_arith")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_iu,mb8_wb")
-+
-+(define_insn_reservation "mb8-special-move" 2
-+ (and (eq_attr "type" "move")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_iu*2,mb8_wb")
-+
-+(define_insn_reservation "mb8-mem-load" 3
-+ (and (eq_attr "type" "load,no_delay_load")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_iu,mb8_wb")
-+
-+(define_insn_reservation "mb8-mem-store" 1
-+ (and (eq_attr "type" "store,no_delay_store")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_iu,mb8_wb")
-+
-+(define_insn_reservation "mb8-mul" 3
-+ (and (eq_attr "type" "imul,no_delay_imul")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_mul,mb8_mul_2*2,mb8_wb")
-+
-+(define_insn_reservation "mb8-div" 30
-+ (and (eq_attr "type" "idiv")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_div,mb8_div_2*29,mb8_wb")
-+
-+(define_insn_reservation "mb8-bs" 2
-+ (and (eq_attr "type" "bshift")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_bs,mb8_bs_2,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-add-sub-mul" 1
-+ (and (eq_attr "type" "fadd,frsub,fmul")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-fcmp" 3
-+ (and (eq_attr "type" "fcmp")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_fpu*2,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-div" 24
-+ (and (eq_attr "type" "fdiv")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_fpu_2*23,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-sqrt" 23
-+ (and (eq_attr "type" "fsqrt")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_fpu_2*22,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-fcvt" 1
-+ (and (eq_attr "type" "fcvt")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-fint" 2
-+ (and (eq_attr "type" "fint")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_wb")
-+
-+
- ;;----------------------------------------------------------------
- ;; Microblaze 5-stage pipeline description (v5.00.a and later)
- ;;----------------------------------------------------------------
-@@ -470,7 +545,7 @@
- (fix:SI (match_operand:SF 1 "register_operand" "d")))]
- "TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
- "fint\t%0,%1"
-- [(set_attr "type" "fcvt")
-+ [(set_attr "type" "fint")
- (set_attr "mode" "SF")
- (set_attr "length" "4")])
-
-diff --git a/gcc/config/microblaze/microblaze.opt b/gcc/config/microblaze/microblaze.opt
-index 725c2fab52a..a29c6f8df90 100644
---- a/gcc/config/microblaze/microblaze.opt
-+++ b/gcc/config/microblaze/microblaze.opt
-@@ -133,3 +133,7 @@ Data referenced by offset from start of text instead of GOT (with -fPIC/-fPIE).
-
- mxl-mode-xilkernel
- Target
-+
-+mxl-frequency
-+Target Mask(AREA_OPTIMIZED_2)
-+Use 8 stage pipeline (frequency optimization)
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch
deleted file mode 100644
index f362cea85..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From af01da22797795408d45dcf03076dc8153c7029e Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 9 Nov 2020 21:14:54 +0530
-Subject: [PATCH 21/54] [Patch, microblaze]: Correct the const high double
- immediate value with this patch the loading of the DI mode immediate values
- will be using REAL_VALUE_FROM_CONST_DOUBLE and REAL_VALUE_TO_TARGET_DOUBLE
- functions, as CONST_DOUBLE_HIGH was returning the sign extension value even
- of the unsigned long long constants also
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
- Ajit Agarwal <ajitkum@xilinx.com>
----
- gcc/config/microblaze/microblaze.c | 6 ++++--
- gcc/testsuite/gcc.target/microblaze/others/long.c | 9 +++++++++
- 2 files changed, 13 insertions(+), 2 deletions(-)
- create mode 100644 gcc/testsuite/gcc.target/microblaze/others/long.c
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 0dc96e481b7..5d395f047f7 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -2452,14 +2452,16 @@ print_operand (FILE * file, rtx op, int letter)
- else if (letter == 'h' || letter == 'j')
- {
- long val[2];
-+ long l[2];
- if (code == CONST_DOUBLE)
- {
- if (GET_MODE (op) == DFmode)
- REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val);
- else
- {
-- val[0] = CONST_DOUBLE_HIGH (op);
-- val[1] = CONST_DOUBLE_LOW (op);
-+ REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), l);
-+ val[1] = l[WORDS_BIG_ENDIAN == 0];
-+ val[0] = l[WORDS_BIG_ENDIAN != 0];
- }
- }
- else if (code == CONST_INT)
-diff --git a/gcc/testsuite/gcc.target/microblaze/others/long.c b/gcc/testsuite/gcc.target/microblaze/others/long.c
-new file mode 100644
-index 00000000000..b6b55d5ad65
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/microblaze/others/long.c
-@@ -0,0 +1,9 @@
-+#define BASEADDR 0xF0000000ULL
-+int main ()
-+{
-+ unsigned long long start;
-+ start = (unsigned long long) BASEADDR;
-+ return 0;
-+}
-+/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,0x00000000" } } */
-+/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,0xf0000000" } } */
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch
deleted file mode 100644
index 3faef052b..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 7349def8102c09fd09e735daa9fc890bee323e79 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 18 Jan 2017 11:49:58 +0530
-Subject: [PATCH 22/54] [Fix, microblaze]: Fix internal compiler error with
- msmall-divides This patch will fix the internal error
- microblaze_expand_divide function which comes because of rtx PLUS where the
- mem_rtx is of type SI and the operand is of type QImode. This patch modifies
- the mem_rtx as QImode and Plus as QImode to fix the error.
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
- Ajit Agarwal <ajitkum@xilinx.com>
-ChangeLog:
- 2016-02-23 Nagaraju Mekala <nmekala@xilix.com>
- Ajit Agarwal <ajitkum@xilinx.com>
-
- *microblaze.c (microblaze_expand_divide): Update
----
- gcc/config/microblaze/microblaze.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 5d395f047f7..29b2f6b016b 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -3767,7 +3767,7 @@ microblaze_expand_divide (rtx operands[])
- emit_insn (gen_ashlsi3_bshift (regt1, operands[1], GEN_INT(4)));
- emit_insn (gen_addsi3 (regt1, regt1, operands[2]));
- mem_rtx = gen_rtx_MEM (QImode,
-- gen_rtx_PLUS (Pmode, regt1, div_table_rtx));
-+ gen_rtx_PLUS (QImode, regt1, div_table_rtx));
-
- insn = emit_insn (gen_zero_extendqisi2(operands[0],mem_rtx));
- jump = emit_jump_insn_after (gen_jump (div_end_label), insn);
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch
deleted file mode 100644
index 1c4f8ca9e..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From ad3d0a29a4895351008ce959138c13b8f5924464 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 18 Jan 2017 12:03:39 +0530
-Subject: [PATCH 23/54] [patch,microblaze]: Fix the calculation of high word in
- a long long 6. .4-bit
-
-This patch will change the calculation of high word in a long long 64-bit.
-Earlier to this patch the high word of long long word (0xF0000000ULL) is
-coming to be 0xFFFFFFFF and low word is 0xF0000000. Instead the high word
-should be 0x00000000 and the low word should be 0xF0000000. This patch
-removes the condition of checking high word = 0 & low word < 0.
-This check is not required for the correctness of calculating 32-bit high
-and low words in a 64-bit long long.
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
- Ajit Agarwal <ajitkum@xilinx.com>
-
-ChangeLog:
-2016-03-01 Nagaraju Mekala <nmekala@xilix.com>
- Ajit Agarwal <ajitkum@xilinx.com>
-
- *config/microblaze/microblaze.c (print_operand): Remove the condition of checking
- high word = 0 & low word < 0.
- *testsuite/gcc.target/microblaze/others/long.c: Add -O0 option.
----
- gcc/config/microblaze/microblaze.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 29b2f6b016b..4710def18cf 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -2468,9 +2468,6 @@ print_operand (FILE * file, rtx op, int letter)
- {
- val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
- val[1] = INTVAL (op) & 0x00000000ffffffffLL;
-- if (val[0] == 0 && val[1] < 0)
-- val[0] = -1;
--
- }
- fprintf (file, "0x%8.8lx", (letter == 'h') ? val[0] : val[1]);
- }
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0024-Patch-microblaze-Add-new-bit-field-instructions.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0024-Patch-microblaze-Add-new-bit-field-instructions.patch
deleted file mode 100644
index 590cb38cb..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0024-Patch-microblaze-Add-new-bit-field-instructions.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From 50f5f8341ba39f2e12eef4a149e59f71f032f7d3 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 10 Nov 2020 09:51:24 +0530
-Subject: [PATCH 24/54] [Patch, microblaze]: Add new bit-field instructions
-
-This patches adds new bsefi and bsifi instructions.
-BSEFI- The instruction shall extract a bit field from a
-register and place it right-adjusted in the destination register.
-The other bits in the destination register shall be set to zero
-BSIFI- The instruction shall insert a right-adjusted bit field
-from a register at another position in the destination register.
-The rest of the bits in the destination register shall be unchanged
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
----
- gcc/config/microblaze/microblaze.c | 5 ++
- gcc/config/microblaze/microblaze.h | 2 +
- gcc/config/microblaze/microblaze.md | 73 +++++++++++++++++++++++++++++
- 3 files changed, 80 insertions(+)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 4710def18cf..14c652325a8 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -164,6 +164,9 @@ int microblaze_no_unsafe_delay;
- /* Set to one if the targeted core has the CLZ insn. */
- int microblaze_has_clz = 0;
-
-+/* Set to one if the targeted core has barrel-shift and cpu > 10.0 */
-+int microblaze_has_bitfield = 0;
-+
- /* Which CPU pipeline do we use. We haven't really standardized on a CPU
- version having only a particular type of pipeline. There can still be
- options on the CPU to scale pipeline features up or down. :(
-@@ -1850,6 +1853,8 @@ microblaze_option_override (void)
- {
- if (TARGET_AREA_OPTIMIZED_2)
- microblaze_pipe = MICROBLAZE_PIPE_8;
-+ if (TARGET_BARREL_SHIFT)
-+ microblaze_has_bitfield = 1;
- }
-
- if (TARGET_MULTIPLY_HIGH && TARGET_SOFT_MUL)
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index 8a668278337..857cb1cd9d0 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -44,6 +44,7 @@ extern int microblaze_dbx_regno[];
-
- extern int microblaze_no_unsafe_delay;
- extern int microblaze_has_clz;
-+extern int microblaze_has_bitfield;
- extern enum pipeline_type microblaze_pipe;
-
- #define OBJECT_FORMAT_ELF
-@@ -63,6 +64,7 @@ extern enum pipeline_type microblaze_pipe;
- /* Do we have CLZ? */
- #define TARGET_HAS_CLZ (TARGET_PATTERN_COMPARE && microblaze_has_clz)
-
-+#define TARGET_HAS_BITFIELD (TARGET_BARREL_SHIFT && microblaze_has_bitfield)
- /* The default is to support PIC. */
- #define TARGET_SUPPORTS_PIC 1
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index c407a81c51e..3e6e2b9276d 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -982,6 +982,8 @@
- (set_attr "mode" "DI")
- (set_attr "length" "20,20,20")])
-
-+
-+
- ;;----------------------------------------------------------------
- ;; Data movement
- ;;----------------------------------------------------------------
-@@ -1776,6 +1778,7 @@
- (set_attr "length" "28")]
- )
-
-+
- ;;----------------------------------------------------------------
- ;; Setting a register from an integer comparison.
- ;;----------------------------------------------------------------
-@@ -2489,4 +2492,74 @@
- DONE;
- }")
-
-+(define_expand "extvsi"
-+ [(set (match_operand:SI 0 "register_operand" "r")
-+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
-+ (match_operand:SI 2 "immediate_operand" "I")
-+ (match_operand:SI 3 "immediate_operand" "I")))]
-+""
-+"
-+{
-+ unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
-+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
-+
-+ if ((len == 0) || (pos + len > 32) )
-+ FAIL;
-+
-+ ;;if (!register_operand (operands[1], VOIDmode))
-+ ;; FAIL;
-+ if (operands[0] == operands[1])
-+ FAIL;
-+ if (GET_CODE (operands[1]) == ASHIFT)
-+ FAIL;
-+;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
-+ emit_insn (gen_extv_32 (operands[0], operands[1],
-+ operands[2], operands[3]));
-+ DONE;
-+}")
-+
-+(define_insn "extv_32"
-+ [(set (match_operand:SI 0 "register_operand" "=r")
-+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
-+ (match_operand:SI 2 "immediate_operand" "I")
-+ (match_operand:SI 3 "immediate_operand" "I")))]
-+ "TARGET_BARREL_SHIFT && (UINTVAL (operands[2]) > 0)
-+ && ((UINTVAL (operands[2]) + UINTVAL (operands[3])) <= 32)"
-+ "bsefi %0,%1,%2,%3"
-+ [(set_attr "type" "bshift")
-+ (set_attr "length" "4")])
-+
-+(define_expand "insvsi"
-+ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
-+ (match_operand:SI 1 "immediate_operand" "I")
-+ (match_operand:SI 2 "immediate_operand" "I"))
-+ (match_operand:SI 3 "register_operand" "r"))]
-+ ""
-+ "
-+{
-+ unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
-+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
-+
-+ if (len <= 0 || pos + len > 32)
-+ FAIL;
-+
-+ ;;if (!register_operand (operands[0], VOIDmode))
-+ ;; FAIL;
-+
-+ emit_insn (gen_insv_32 (operands[0], operands[1],
-+ operands[2], operands[3]));
-+ DONE;
-+}")
-+
-+(define_insn "insv_32"
-+ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
-+ (match_operand:SI 1 "immediate_operand" "I")
-+ (match_operand:SI 2 "immediate_operand" "I"))
-+ (match_operand:SI 3 "register_operand" "r"))]
-+ "TARGET_BARREL_SHIFT && UINTVAL (operands[1]) > 0
-+ && UINTVAL (operands[1]) + UINTVAL (operands[2]) <= 32"
-+ "bsifi %0, %3, %1, %2"
-+ [(set_attr "type" "bshift")
-+ (set_attr "length" "4")])
-+
- (include "sync.md")
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch
deleted file mode 100644
index da24f1139..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-From cb67b2e64c0d5bd32d36cb32def5f889122fc37a Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 18 Jan 2017 12:42:10 +0530
-Subject: [PATCH 25/54] [Patch, microblaze]: Fix bug in MB version calculation
- This patch fixes the bug in microblaze_version_to_int function. Earlier the
- conversion of vXX.YY.Z to int has a bug which is fixed now.
-
-Signed-off-by : Mahesh Bodapati <mbodapat@xilinx.com>
- Nagaraju Mekala <nmekala@xilix.com>
----
- gcc/config/microblaze/microblaze.c | 147 ++++++++++++++---------------
- 1 file changed, 70 insertions(+), 77 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 14c652325a8..451db9c79b0 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -242,6 +242,63 @@ section *sdata2_section;
- #define TARGET_HAVE_TLS true
- #endif
-
-+/* Convert a version number of the form "vX.YY.Z" to an integer encoding
-+ for easier range comparison. */
-+static int
-+microblaze_version_to_int (const char *version)
-+{
-+ const char *p, *v;
-+ const char *tmpl = "vXX.YY.Z";
-+ int iver1 =0, iver2 =0, iver3 =0;
-+
-+ p = version;
-+ v = tmpl;
-+
-+ while (*p)
-+ {
-+ if (*v == 'X')
-+ { /* Looking for major */
-+ if (*p == '.')
-+ {
-+ *v++;
-+ }
-+ else
-+ {
-+ if (!(*p >= '0' && *p <= '9'))
-+ return -1;
-+ iver1 += (int) (*p - '0');
-+ iver1 *= 1000;
-+ }
-+ }
-+ else if (*v == 'Y')
-+ { /* Looking for minor */
-+ if (!(*p >= '0' && *p <= '9'))
-+ return -1;
-+ iver2 += (int) (*p - '0');
-+ iver2 *= 10;
-+ }
-+ else if (*v == 'Z')
-+ { /* Looking for compat */
-+ if (!(*p >= 'a' && *p <= 'z'))
-+ return -1;
-+ iver3 = ((int) (*p)) - 96;
-+ }
-+ else
-+ {
-+ if (*p != *v)
-+ return -1;
-+ }
-+
-+ v++;
-+ p++;
-+ }
-+
-+ if (*p)
-+ return -1;
-+
-+ return iver1 + iver2 + iver3;
-+}
-+
- /* Return truth value if a CONST_DOUBLE is ok to be a legitimate constant. */
- static bool
- microblaze_const_double_ok (rtx op, machine_mode mode)
-@@ -1341,8 +1398,7 @@ microblaze_rtx_costs (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED,
- {
- if (TARGET_BARREL_SHIFT)
- {
-- if (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v5.00.a")
-- >= 0)
-+ if (microblaze_version_to_int(microblaze_select_cpu) >= microblaze_version_to_int("v5.00.a"))
- *total = COSTS_N_INSNS (1);
- else
- *total = COSTS_N_INSNS (2);
-@@ -1403,8 +1459,7 @@ microblaze_rtx_costs (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED,
- }
- else if (!TARGET_SOFT_MUL)
- {
-- if (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v5.00.a")
-- >= 0)
-+ if (microblaze_version_to_int(microblaze_select_cpu) >= microblaze_version_to_int("v5.00.a"))
- *total = COSTS_N_INSNS (1);
- else
- *total = COSTS_N_INSNS (3);
-@@ -1677,72 +1732,13 @@ function_arg_partial_bytes (cumulative_args_t cum_v,
- return 0;
- }
-
--/* Convert a version number of the form "vX.YY.Z" to an integer encoding
-- for easier range comparison. */
--static int
--microblaze_version_to_int (const char *version)
--{
-- const char *p, *v;
-- const char *tmpl = "vXX.YY.Z";
-- int iver = 0;
--
-- p = version;
-- v = tmpl;
--
-- while (*p)
-- {
-- if (*v == 'X')
-- { /* Looking for major */
-- if (*p == '.')
-- {
-- v++;
-- }
-- else
-- {
-- if (!(*p >= '0' && *p <= '9'))
-- return -1;
-- iver += (int) (*p - '0');
-- iver *= 10;
-- }
-- }
-- else if (*v == 'Y')
-- { /* Looking for minor */
-- if (!(*p >= '0' && *p <= '9'))
-- return -1;
-- iver += (int) (*p - '0');
-- iver *= 10;
-- }
-- else if (*v == 'Z')
-- { /* Looking for compat */
-- if (!(*p >= 'a' && *p <= 'z'))
-- return -1;
-- iver *= 10;
-- iver += (int) (*p - 'a');
-- }
-- else
-- {
-- if (*p != *v)
-- return -1;
-- }
--
-- v++;
-- p++;
-- }
--
-- if (*p)
-- return -1;
--
-- return iver;
--}
--
--
- static void
- microblaze_option_override (void)
- {
- register int i, start;
- register int regno;
- register machine_mode mode;
-- int ver;
-+ int ver,ver_int;
-
- microblaze_section_threshold = (global_options_set.x_g_switch_value
- ? g_switch_value
-@@ -1763,13 +1759,13 @@ microblaze_option_override (void)
- /* Check the MicroBlaze CPU version for any special action to be done. */
- if (microblaze_select_cpu == NULL)
- microblaze_select_cpu = MICROBLAZE_DEFAULT_CPU;
-- ver = microblaze_version_to_int (microblaze_select_cpu);
-- if (ver == -1)
-+ ver_int = microblaze_version_to_int (microblaze_select_cpu);
-+ if (ver_int == -1)
- {
- error ("%qs is an invalid argument to %<-mcpu=%>", microblaze_select_cpu);
- }
-
-- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v3.00.a");
-+ ver = ver_int - microblaze_version_to_int("v3.00.a");
- if (ver < 0)
- {
- /* No hardware exceptions in earlier versions. So no worries. */
-@@ -1780,8 +1776,7 @@ microblaze_option_override (void)
- microblaze_pipe = MICROBLAZE_PIPE_3;
- }
- else if (ver == 0
-- || (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v4.00.b")
-- == 0))
-+ || (ver_int == microblaze_version_to_int("v4.00.b")))
- {
- #if 0
- microblaze_select_flags |= (MICROBLAZE_MASK_NO_UNSAFE_DELAY);
-@@ -1798,11 +1793,9 @@ microblaze_option_override (void)
- #endif
- microblaze_no_unsafe_delay = 0;
- microblaze_pipe = MICROBLAZE_PIPE_5;
-- if (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v5.00.a") == 0
-- || MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu,
-- "v5.00.b") == 0
-- || MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu,
-- "v5.00.c") == 0)
-+ if ((ver_int == microblaze_version_to_int("v5.00.a"))
-+ || (ver_int == microblaze_version_to_int("v5.00.b"))
-+ || (ver_int == microblaze_version_to_int("v5.00.c")))
- {
- /* Pattern compares are to be turned on by default only when
- compiling for MB v5.00.'z'. */
-@@ -1810,7 +1803,7 @@ microblaze_option_override (void)
- }
- }
-
-- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v6.00.a");
-+ ver = ver_int - microblaze_version_to_int("v6.00.a");
- if (ver < 0)
- {
- if (TARGET_MULTIPLY_HIGH)
-@@ -1819,7 +1812,7 @@ microblaze_option_override (void)
- "%<-mcpu=v6.00.a%> or greater");
- }
-
-- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v8.10.a");
-+ ver = ver_int - microblaze_version_to_int("v8.10.a");
- microblaze_has_clz = 1;
- if (ver < 0)
- {
-@@ -1828,7 +1821,7 @@ microblaze_option_override (void)
- }
-
- /* TARGET_REORDER defaults to 2 if -mxl-reorder not specified. */
-- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v8.30.a");
-+ ver = ver_int - microblaze_version_to_int("v8.30.a");
- if (ver < 0)
- {
- if (TARGET_REORDER == 1)
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0026-Fixing-the-issue-with-the-builtin_alloc.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0026-Fixing-the-issue-with-the-builtin_alloc.patch
deleted file mode 100644
index c0719f6e0..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0026-Fixing-the-issue-with-the-builtin_alloc.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From fdb2f23a69182da516c7bf89a9e0011e55120f94 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Thu, 23 Feb 2017 17:09:04 +0530
-Subject: [PATCH 26/54] Fixing the issue with the builtin_alloc. register r18
- was not properly handling the stack pattern which was resolved by using free
- available register
-
-signed-off-by:nagaraju mekala <nmekala@xilinx.com>
----
- gcc/config/microblaze/microblaze.md | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 3e6e2b9276d..d938efcd762 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -2078,10 +2078,10 @@
- ""
- {
- rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx);
-- rtx rtmp = gen_rtx_REG (SImode, R_TMP);
-+ rtx reg = gen_reg_rtx (Pmode);
- rtx neg_op0;
-
-- emit_move_insn (rtmp, retaddr);
-+ emit_move_insn (reg, retaddr);
- if (GET_CODE (operands[1]) != CONST_INT)
- {
- neg_op0 = gen_reg_rtx (Pmode);
-@@ -2090,9 +2090,9 @@
- neg_op0 = GEN_INT (- INTVAL (operands[1]));
-
- emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0));
-- emit_move_insn (gen_rtx_MEM (Pmode, stack_pointer_rtx), rtmp);
-+ emit_move_insn (gen_rtx_MEM (Pmode, stack_pointer_rtx), reg);
- emit_move_insn (operands[0], virtual_stack_dynamic_rtx);
-- emit_insn (gen_rtx_CLOBBER (SImode, rtmp));
-+ emit_insn (gen_rtx_CLOBBER (SImode, reg));
- DONE;
- }
- )
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch
deleted file mode 100644
index 7627b7651..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 336d984c580345eccdeb889af8ef8c986afc1dad Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 19 Feb 2018 18:06:16 +0530
-Subject: [PATCH 27/54] [Patch,Microblaze]: update in constraints for bitfield
- insert and extract instructions.
-
-Conflicts:
- gcc/config/microblaze/microblaze.md
----
- gcc/config/microblaze/microblaze.md | 45 +++++------------------------
- 1 file changed, 8 insertions(+), 37 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index d938efcd762..63ad94b972f 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -2492,33 +2492,17 @@
- DONE;
- }")
-
--(define_expand "extvsi"
-+(define_expand "extzvsi"
- [(set (match_operand:SI 0 "register_operand" "r")
- (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
- (match_operand:SI 2 "immediate_operand" "I")
- (match_operand:SI 3 "immediate_operand" "I")))]
-+"TARGET_HAS_BITFIELD"
- ""
--"
--{
-- unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
-- unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
--
-- if ((len == 0) || (pos + len > 32) )
-- FAIL;
--
-- ;;if (!register_operand (operands[1], VOIDmode))
-- ;; FAIL;
-- if (operands[0] == operands[1])
-- FAIL;
-- if (GET_CODE (operands[1]) == ASHIFT)
-- FAIL;
--;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
-- emit_insn (gen_extv_32 (operands[0], operands[1],
-- operands[2], operands[3]));
-- DONE;
--}")
-+)
-
--(define_insn "extv_32"
-+
-+(define_insn "extzv_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
- (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
- (match_operand:SI 2 "immediate_operand" "I")
-@@ -2534,22 +2518,9 @@
- (match_operand:SI 1 "immediate_operand" "I")
- (match_operand:SI 2 "immediate_operand" "I"))
- (match_operand:SI 3 "register_operand" "r"))]
-- ""
-- "
--{
-- unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
-- unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
--
-- if (len <= 0 || pos + len > 32)
-- FAIL;
--
-- ;;if (!register_operand (operands[0], VOIDmode))
-- ;; FAIL;
--
-- emit_insn (gen_insv_32 (operands[0], operands[1],
-- operands[2], operands[3]));
-- DONE;
--}")
-+ "TARGET_HAS_BITFIELD"
-+""
-+)
-
- (define_insn "insv_32"
- [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch
deleted file mode 100644
index f12cea242..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e4f5435e6e77afe0150bf36ec9d3d055cf25a089 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 4 Jun 2018 10:10:18 +0530
-Subject: [PATCH 28/54] [Patch,Microblaze] : Removed fsqrt generation for
- double values.
-
----
- gcc/config/microblaze/microblaze.md | 14 --------------
- 1 file changed, 14 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 63ad94b972f..7695b105baa 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -526,20 +526,6 @@
- (set_attr "mode" "SF")
- (set_attr "length" "4")])
-
--(define_insn "sqrtdf2"
-- [(set (match_operand:DF 0 "register_operand" "=d")
-- (sqrt:DF (match_operand:DF 1 "register_operand" "dG")))]
-- "TARGET_HARD_FLOAT && TARGET_FLOAT_SQRT"
-- {
-- if (REGNO (operands[0]) == REGNO (operands[1]))
-- return "fsqrt\t%0,%1";
-- else
-- return "fsqrt\t%0,%1\n\taddk\t%D0,%D1,r0";
-- }
-- [(set_attr "type" "fsqrt")
-- (set_attr "mode" "SF")
-- (set_attr "length" "4")])
--
- (define_insn "fix_truncsfsi2"
- [(set (match_operand:SI 0 "register_operand" "=d")
- (fix:SI (match_operand:SF 1 "register_operand" "d")))]
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch
deleted file mode 100644
index d9603721a..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch
+++ /dev/null
@@ -1,845 +0,0 @@
-From 1a7fda96cb247bad0a4df61cd8fd3e65c0e6f35d Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 10 Nov 2020 12:52:54 +0530
-Subject: [PATCH 29/54] [Patch,MicroBlaze]: Intial commit of 64-bit Microblaze
-
----
- gcc/config/microblaze/constraints.md | 6 +
- gcc/config/microblaze/microblaze-protos.h | 1 +
- gcc/config/microblaze/microblaze.c | 109 ++++--
- gcc/config/microblaze/microblaze.h | 4 +-
- gcc/config/microblaze/microblaze.md | 395 +++++++++++++++++++++-
- gcc/config/microblaze/microblaze.opt | 7 +-
- gcc/config/microblaze/t-microblaze | 7 +-
- 7 files changed, 492 insertions(+), 37 deletions(-)
-
-diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
-index b9fc6e3fae2..123395717e0 100644
---- a/gcc/config/microblaze/constraints.md
-+++ b/gcc/config/microblaze/constraints.md
-@@ -52,6 +52,12 @@
- (and (match_code "const_int")
- (match_test "ival > 0 && ival < 0x10000")))
-
-+(define_constraint "K"
-+ "A constant in the range 0xffffff8000000000L to 0x0000007fffffffffL (inclusive)."
-+ (and (match_code "const_int")
-+ (match_test "ival > (long)0xffffff8000000000L && ival < (long)0x0000007fffffffffL")))
-+
-+
- ;; Define floating point constraints
-
- (define_constraint "G"
-diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
-index c2f88813a8d..460feac4ac5 100644
---- a/gcc/config/microblaze/microblaze-protos.h
-+++ b/gcc/config/microblaze/microblaze-protos.h
-@@ -36,6 +36,7 @@ extern void microblaze_expand_divide (rtx *);
- extern void microblaze_expand_conditional_branch (enum machine_mode, rtx *);
- extern void microblaze_expand_conditional_branch_reg (machine_mode, rtx *);
- extern void microblaze_expand_conditional_branch_sf (rtx *);
-+extern void microblaze_expand_conditional_branch_df (rtx *);
- extern int microblaze_can_use_return_insn (void);
- extern void print_operand (FILE *, rtx, int);
- extern void print_operand_address (FILE *, rtx);
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 451db9c79b0..99a1cd5c0be 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -3432,11 +3432,11 @@ microblaze_expand_move (machine_mode mode, rtx operands[])
- op0 = operands[0];
- op1 = operands[1];
-
-- if (!register_operand (op0, SImode)
-- && !register_operand (op1, SImode)
-+ if (!register_operand (op0, mode)
-+ && !register_operand (op1, mode)
- && (GET_CODE (op1) != CONST_INT || INTVAL (op1) != 0))
- {
-- rtx temp = force_reg (SImode, op1);
-+ rtx temp = force_reg (mode, op1);
- emit_move_insn (op0, temp);
- return true;
- }
-@@ -3501,12 +3501,12 @@ microblaze_expand_move (machine_mode mode, rtx operands[])
- && (flag_pic == 2 || microblaze_tls_symbol_p (p0)
- || !SMALL_INT (p1)))))
- {
-- rtx temp = force_reg (SImode, p0);
-+ rtx temp = force_reg (mode, p0);
- rtx temp2 = p1;
-
- if (flag_pic && reload_in_progress)
- df_set_regs_ever_live (PIC_OFFSET_TABLE_REGNUM, true);
-- emit_move_insn (op0, gen_rtx_PLUS (SImode, temp, temp2));
-+ emit_move_insn (op0, gen_rtx_PLUS (mode, temp, temp2));
- return true;
- }
- }
-@@ -3637,7 +3637,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[])
- rtx cmp_op0 = operands[1];
- rtx cmp_op1 = operands[2];
- rtx label1 = operands[3];
-- rtx comp_reg = gen_reg_rtx (SImode);
-+ rtx comp_reg = gen_reg_rtx (mode);
- rtx condition;
-
- gcc_assert ((GET_CODE (cmp_op0) == REG) || (GET_CODE (cmp_op0) == SUBREG));
-@@ -3646,23 +3646,36 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[])
- if (cmp_op1 == const0_rtx)
- {
- comp_reg = cmp_op0;
-- condition = gen_rtx_fmt_ee (signed_condition (code), SImode, comp_reg, const0_rtx);
-- emit_jump_insn (gen_condjump (condition, label1));
-+ condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx);
-+ if (mode == SImode)
-+ emit_jump_insn (gen_condjump (condition, label1));
-+ else
-+ emit_jump_insn (gen_long_condjump (condition, label1));
-+
- }
-
- else if (code == EQ || code == NE)
- {
- /* Use xor for equal/not-equal comparison. */
-- emit_insn (gen_xorsi3 (comp_reg, cmp_op0, cmp_op1));
-- condition = gen_rtx_fmt_ee (signed_condition (code), SImode, comp_reg, const0_rtx);
-- emit_jump_insn (gen_condjump (condition, label1));
-+ if (mode == SImode)
-+ emit_insn (gen_xorsi3 (comp_reg, cmp_op0, cmp_op1));
-+ else
-+ emit_insn (gen_xordi3 (comp_reg, cmp_op0, cmp_op1));
-+ condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx);
-+ if (mode == SImode)
-+ emit_jump_insn (gen_condjump (condition, label1));
-+ else
-+ emit_jump_insn (gen_long_condjump (condition, label1));
- }
- else
- {
- /* Generate compare and branch in single instruction. */
- cmp_op1 = force_reg (mode, cmp_op1);
- condition = gen_rtx_fmt_ee (code, mode, cmp_op0, cmp_op1);
-- emit_jump_insn (gen_branch_compare(condition, cmp_op0, cmp_op1, label1));
-+ if (mode == SImode)
-+ emit_jump_insn (gen_branch_compare(condition, cmp_op0, cmp_op1, label1));
-+ else
-+ emit_jump_insn (gen_long_branch_compare(condition, cmp_op0, cmp_op1, label1));
- }
- }
-
-@@ -3673,7 +3686,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[])
- rtx cmp_op0 = operands[1];
- rtx cmp_op1 = operands[2];
- rtx label1 = operands[3];
-- rtx comp_reg = gen_reg_rtx (SImode);
-+ rtx comp_reg = gen_reg_rtx (mode);
- rtx condition;
-
- gcc_assert ((GET_CODE (cmp_op0) == REG)
-@@ -3684,30 +3697,63 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[])
- {
- comp_reg = cmp_op0;
- condition = gen_rtx_fmt_ee (signed_condition (code),
-- SImode, comp_reg, const0_rtx);
-- emit_jump_insn (gen_condjump (condition, label1));
-+ mode, comp_reg, const0_rtx);
-+ if (mode == SImode)
-+ emit_jump_insn (gen_condjump (condition, label1));
-+ else
-+ emit_jump_insn (gen_long_condjump (condition, label1));
- }
- else if (code == EQ)
- {
-- emit_insn (gen_seq_internal_pat (comp_reg,
-- cmp_op0, cmp_op1));
-- condition = gen_rtx_EQ (SImode, comp_reg, const0_rtx);
-- emit_jump_insn (gen_condjump (condition, label1));
-+ if (mode == SImode)
-+ {
-+ emit_insn (gen_seq_internal_pat (comp_reg, cmp_op0,
-+ cmp_op1));
-+ }
-+ else
-+ {
-+ emit_insn (gen_seq_internal_pat (comp_reg, cmp_op0,
-+ cmp_op1));
-+ }
-+ condition = gen_rtx_EQ (mode, comp_reg, const0_rtx);
-+ if (mode == SImode)
-+ emit_jump_insn (gen_condjump (condition, label1));
-+ else
-+ emit_jump_insn (gen_long_condjump (condition, label1));
-+
- }
- else if (code == NE)
- {
-- emit_insn (gen_sne_internal_pat (comp_reg, cmp_op0,
-- cmp_op1));
-- condition = gen_rtx_NE (SImode, comp_reg, const0_rtx);
-- emit_jump_insn (gen_condjump (condition, label1));
-+ if (mode == SImode)
-+ {
-+ emit_insn (gen_sne_internal_pat (comp_reg, cmp_op0,
-+ cmp_op1));
-+ }
-+ else
-+ {
-+ emit_insn (gen_sne_internal_pat (comp_reg, cmp_op0,
-+ cmp_op1));
-+ }
-+ condition = gen_rtx_NE (mode, comp_reg, const0_rtx);
-+ if (mode == SImode)
-+ emit_jump_insn (gen_condjump (condition, label1));
-+ else
-+ emit_jump_insn (gen_long_condjump (condition, label1));
- }
- else
- {
- /* Generate compare and branch in single instruction. */
- cmp_op1 = force_reg (mode, cmp_op1);
- condition = gen_rtx_fmt_ee (code, mode, cmp_op0, cmp_op1);
-- emit_jump_insn (gen_branch_compare (condition, cmp_op0,
-- cmp_op1, label1));
-+ if (mode == SImode)
-+ emit_jump_insn (gen_branch_compare (condition, cmp_op0,
-+ cmp_op1, label1));
-+ else
-+ {
-+ emit_jump_insn (gen_long_branch_compare (condition, cmp_op0,
-+ cmp_op1, label1));
-+ }
-+
- }
- }
-
-@@ -3724,6 +3770,19 @@ microblaze_expand_conditional_branch_sf (rtx operands[])
- emit_jump_insn (gen_condjump (condition, operands[3]));
- }
-
-+void
-+microblaze_expand_conditional_branch_df (rtx operands[])
-+{
-+ rtx condition;
-+ rtx cmp_op0 = XEXP (operands[0], 0);
-+ rtx cmp_op1 = XEXP (operands[0], 1);
-+ rtx comp_reg = gen_reg_rtx (DImode);
-+
-+ emit_insn (gen_cstoredf4 (comp_reg, operands[0], cmp_op0, cmp_op1));
-+ condition = gen_rtx_NE (DImode, comp_reg, const0_rtx);
-+ emit_jump_insn (gen_long_condjump (condition, operands[3]));
-+}
-+
- /* Implement TARGET_FRAME_POINTER_REQUIRED. */
-
- static bool
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index 857cb1cd9d0..c0358603380 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -102,6 +102,7 @@ extern enum pipeline_type microblaze_pipe;
- #define ASM_SPEC "\
- %(target_asm_spec) \
- %{mbig-endian:-EB} \
-+%{m64:-m64} \
- %{mlittle-endian:-EL}"
-
- /* Extra switches sometimes passed to the linker. */
-@@ -110,6 +111,7 @@ extern enum pipeline_type microblaze_pipe;
- #define LINK_SPEC "%{shared:-shared} -N -relax \
- %{mbig-endian:-EB --oformat=elf32-microblaze} \
- %{mlittle-endian:-EL --oformat=elf32-microblazeel} \
-+ %{m64:-EL --oformat=elf64-microblazeel} \
- %{Zxl-mode-xmdstub:-defsym _TEXT_START_ADDR=0x800} \
- %{mxl-mode-xmdstub:-defsym _TEXT_START_ADDR=0x800} \
- %{mxl-gp-opt:%{G*}} %{!mxl-gp-opt: -G 0} \
-@@ -217,7 +219,7 @@ extern enum pipeline_type microblaze_pipe;
- #define MIN_UNITS_PER_WORD 4
- #define INT_TYPE_SIZE 32
- #define SHORT_TYPE_SIZE 16
--#define LONG_TYPE_SIZE 32
-+#define LONG_TYPE_SIZE 64
- #define LONG_LONG_TYPE_SIZE 64
- #define FLOAT_TYPE_SIZE 32
- #define DOUBLE_TYPE_SIZE 64
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 7695b105baa..4d8429d9a90 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -497,7 +497,6 @@
- (set_attr "mode" "SF")
- (set_attr "length" "4")])
-
--
- (define_insn "divsf3"
- [(set (match_operand:SF 0 "register_operand" "=d")
- (div:SF (match_operand:SF 1 "register_operand" "d")
-@@ -508,6 +507,7 @@
- (set_attr "mode" "SF")
- (set_attr "length" "4")])
-
-+
- (define_insn "sqrtsf2"
- [(set (match_operand:SF 0 "register_operand" "=d")
- (sqrt:SF (match_operand:SF 1 "register_operand" "d")))]
-@@ -562,6 +562,18 @@
-
- ;; Adding 2 DI operands in register or reg/imm
-
-+(define_insn "adddi3_long"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d")
-+ (plus:DI (match_operand:DI 1 "reg_or_0_operand" "%dJ,dJ")
-+ (match_operand:DI 2 "arith_plus_operand" "d,K")))]
-+ "TARGET_MB_64"
-+ "@
-+ addlk\t%0,%z1,%2
-+ addlik\t%0,%z1,%2"
-+ [(set_attr "type" "arith,arith")
-+ (set_attr "mode" "DI,DI")
-+ (set_attr "length" "4,4")])
-+
- (define_insn "adddi3"
- [(set (match_operand:DI 0 "register_operand" "=d,d")
- (plus:DI (match_operand:DI 1 "register_operand" "%d,d")
-@@ -606,6 +618,18 @@
- ;; Double Precision Subtraction
- ;;----------------------------------------------------------------
-
-+(define_insn "subdi3_long"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d")
-+ (minus:DI (match_operand:DI 1 "register_operand" "d,d")
-+ (match_operand:DI 2 "register_operand" "d,n")))]
-+ "TARGET_MB_64"
-+ "@
-+ rsubl\t%0,%2,%1
-+ addlik\t%0,%z1,-%2"
-+ [(set_attr "type" "darith")
-+ (set_attr "mode" "DI,DI")
-+ (set_attr "length" "4,4")])
-+
- (define_insn "subdi3"
- [(set (match_operand:DI 0 "register_operand" "=&d")
- (minus:DI (match_operand:DI 1 "register_operand" "d")
-@@ -795,6 +819,15 @@
- (set_attr "mode" "SI")
- (set_attr "length" "4")])
-
-+(define_insn "negdi2_long"
-+ [(set (match_operand:DI 0 "register_operand" "=d")
-+ (neg:DI (match_operand:DI 1 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "rsubl\t%0,%1,r0"
-+ [(set_attr "type" "darith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")])
-+
- (define_insn "negdi2"
- [(set (match_operand:DI 0 "register_operand" "=d")
- (neg:DI (match_operand:DI 1 "register_operand" "d")))]
-@@ -814,6 +847,15 @@
- (set_attr "mode" "SI")
- (set_attr "length" "4")])
-
-+(define_insn "one_cmpldi2_long"
-+ [(set (match_operand:DI 0 "register_operand" "=d")
-+ (not:DI (match_operand:DI 1 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "xorli\t%0,%1,-1"
-+ [(set_attr "type" "arith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")])
-+
- (define_insn "*one_cmpldi2"
- [(set (match_operand:DI 0 "register_operand" "=d")
- (not:DI (match_operand:DI 1 "register_operand" "d")))]
-@@ -840,6 +882,20 @@
- ;; Logical
- ;;----------------------------------------------------------------
-
-+(define_insn "anddi3"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d")
-+ (and:DI (match_operand:DI 1 "arith_operand" "d,d")
-+ (match_operand:DI 2 "arith_operand" "d,K")))]
-+ "TARGET_MB_64"
-+ "@
-+ andl\t%0,%1,%2
-+ andli\t%0,%1,%2 #andl1"
-+ ;; andli\t%0,%1,%2 #andl3
-+ ;; andli\t%0,%1,%2 #andl2
-+ [(set_attr "type" "arith,arith")
-+ (set_attr "mode" "DI,DI")
-+ (set_attr "length" "4,4")])
-+
- (define_insn "andsi3"
- [(set (match_operand:SI 0 "register_operand" "=d,d,d,d")
- (and:SI (match_operand:SI 1 "arith_operand" "%d,d,d,d")
-@@ -855,6 +911,18 @@
- (set_attr "length" "4,8,8,8")])
-
-
-+(define_insn "iordi3"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d")
-+ (ior:DI (match_operand:DI 1 "arith_operand" "d,d")
-+ (match_operand:DI 2 "arith_operand" "d,K")))]
-+ "TARGET_MB_64"
-+ "@
-+ orl\t%0,%1,%2
-+ orli\t%0,%1,%2 #andl1"
-+ [(set_attr "type" "arith,arith")
-+ (set_attr "mode" "DI,DI")
-+ (set_attr "length" "4,4")])
-+
- (define_insn "iorsi3"
- [(set (match_operand:SI 0 "register_operand" "=d,d,d,d")
- (ior:SI (match_operand:SI 1 "arith_operand" "%d,d,d,d")
-@@ -869,6 +937,19 @@
- (set_attr "mode" "SI,SI,SI,SI")
- (set_attr "length" "4,8,8,8")])
-
-+(define_insn "xordi3"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d")
-+ (xor:DI (match_operand:DI 1 "arith_operand" "%d,d")
-+ (match_operand:DI 2 "arith_operand" "d,K")))]
-+ "TARGET_MB_64"
-+ "@
-+ xorl\t%0,%1,%2
-+ xorli\t%0,%1,%2 #andl1"
-+ [(set_attr "type" "arith,arith")
-+ (set_attr "mode" "DI,DI")
-+ (set_attr "length" "4,4")])
-+
-+
- (define_insn "xorsi3"
- [(set (match_operand:SI 0 "register_operand" "=d,d,d")
- (xor:SI (match_operand:SI 1 "arith_operand" "%d,d,d")
-@@ -937,6 +1018,26 @@
- (set_attr "mode" "SI")
- (set_attr "length" "4")])
-
-+;;(define_expand "extendqidi2"
-+;; [(set (match_operand:DI 0 "register_operand" "=d")
-+;; (sign_extend:DI (match_operand:QI 1 "general_operand" "d")))]
-+;; "TARGET_MB_64"
-+;; {
-+;; if (GET_CODE (operands[1]) != REG)
-+;; FAIL;
-+;; }
-+;;)
-+
-+
-+;;(define_insn "extendqidi2"
-+;; [(set (match_operand:DI 0 "register_operand" "=d")
-+;; (sign_extend:DI (match_operand:QI 1 "register_operand" "d")))]
-+;; "TARGET_MB_64"
-+;; "sextl8\t%0,%1"
-+;; [(set_attr "type" "arith")
-+;; (set_attr "mode" "DI")
-+;; (set_attr "length" "4")])
-+
- (define_insn "extendhisi2"
- [(set (match_operand:SI 0 "register_operand" "=d")
- (sign_extend:SI (match_operand:HI 1 "register_operand" "d")))]
-@@ -946,6 +1047,16 @@
- (set_attr "mode" "SI")
- (set_attr "length" "4")])
-
-+(define_insn "extendhidi2"
-+ [(set (match_operand:DI 0 "register_operand" "=d")
-+ (sign_extend:DI (match_operand:HI 1 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "sextl16\t%0,%1"
-+ [(set_attr "type" "arith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")])
-+
-+
- ;; Those for integer source operand are ordered
- ;; widest source type first.
-
-@@ -1011,6 +1122,32 @@
- )
-
-
-+(define_insn "*movdi_internal_64"
-+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o")
-+ (match_operand:DI 1 "general_operand" " d,K,J,R,o,d,d"))]
-+ "TARGET_MB_64 && (INTVAL(operands[1]) < 0x7fffffffff) && (INTVAL(operands[1]) > 0xffffff8000000000)"
-+ {
-+ switch (which_alternative)
-+ {
-+ case 0:
-+ return "addlk\t%0,%1";
-+ case 1:
-+ return "addlik\t%0,r0,%1";
-+ case 2:
-+ return "addlk\t%0,r0,r0";
-+ case 3:
-+ case 4:
-+ return "lli\t%0,%1";
-+ case 5:
-+ case 6:
-+ return "sli\t%1,%0";
-+ }
-+ return "unreachable";
-+ }
-+ [(set_attr "type" "no_delay_move,no_delay_arith,no_delay_arith,no_delay_load,no_delay_load,no_delay_store,no_delay_store")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "8,8,8,8,12,8,12")])
-+
-
- (define_insn "*movdi_internal"
- [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o")
-@@ -1423,6 +1560,36 @@
- (set_attr "length" "4,4")]
- )
-
-+;; Barrel shift left
-+(define_expand "ashldi3"
-+ [(set (match_operand:DI 0 "register_operand" "=&d")
-+ (ashift:DI (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "arith_operand" "")))]
-+"TARGET_MB_64"
-+{
-+;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
-+if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
-+ {
-+ emit_insn(gen_ashldi3_long (operands[0], operands[1],operands[2]));
-+ DONE;
-+ }
-+else
-+ FAIL;
-+}
-+)
-+
-+(define_insn "ashldi3_long"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d")
-+ (ashift:DI (match_operand:DI 1 "register_operand" "d,d")
-+ (match_operand:DI 2 "arith_operand" "I,d")))]
-+ "TARGET_MB_64"
-+ "@
-+ bsllli\t%0,%1,%2
-+ bslll\t%0,%1,%2"
-+ [(set_attr "type" "bshift,bshift")
-+ (set_attr "mode" "DI,DI")
-+ (set_attr "length" "4,4")]
-+)
- ;; The following patterns apply when there is no barrel shifter present
-
- (define_insn "*ashlsi3_with_mul_delay"
-@@ -1548,6 +1715,36 @@
- ;;----------------------------------------------------------------
- ;; 32-bit right shifts
- ;;----------------------------------------------------------------
-+;; Barrel shift left
-+(define_expand "ashrdi3"
-+ [(set (match_operand:DI 0 "register_operand" "=&d")
-+ (ashiftrt:DI (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "arith_operand" "")))]
-+"TARGET_MB_64"
-+{
-+;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
-+if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
-+ {
-+ emit_insn(gen_ashrdi3_long (operands[0], operands[1],operands[2]));
-+ DONE;
-+ }
-+else
-+ FAIL;
-+}
-+)
-+
-+(define_insn "ashrdi3_long"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d")
-+ (ashiftrt:DI (match_operand:DI 1 "register_operand" "d,d")
-+ (match_operand:DI 2 "arith_operand" "I,d")))]
-+ "TARGET_MB_64"
-+ "@
-+ bslrai\t%0,%1,%2
-+ bslra\t%0,%1,%2"
-+ [(set_attr "type" "bshift,bshift")
-+ (set_attr "mode" "DI,DI")
-+ (set_attr "length" "4,4")]
-+ )
- (define_expand "ashrsi3"
- [(set (match_operand:SI 0 "register_operand" "=&d")
- (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
-@@ -1657,6 +1854,36 @@
- ;;----------------------------------------------------------------
- ;; 32-bit right shifts (logical)
- ;;----------------------------------------------------------------
-+;; Barrel shift left
-+(define_expand "lshrdi3"
-+ [(set (match_operand:DI 0 "register_operand" "=&d")
-+ (lshiftrt:DI (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "arith_operand" "")))]
-+"TARGET_MB_64"
-+{
-+;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
-+if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
-+ {
-+ emit_insn(gen_lshrdi3_long (operands[0], operands[1],operands[2]));
-+ DONE;
-+ }
-+else
-+ FAIL;
-+}
-+)
-+
-+(define_insn "lshrdi3_long"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d")
-+ (lshiftrt:DI (match_operand:DI 1 "register_operand" "d,d")
-+ (match_operand:DI 2 "arith_operand" "I,d")))]
-+ "TARGET_MB_64"
-+ "@
-+ bslrli\t%0,%1,%2
-+ bslrl\t%0,%1,%2"
-+ [(set_attr "type" "bshift,bshift")
-+ (set_attr "mode" "DI,DI")
-+ (set_attr "length" "4,4")]
-+ )
-
- (define_expand "lshrsi3"
- [(set (match_operand:SI 0 "register_operand" "=&d")
-@@ -1803,6 +2030,8 @@
- (set_attr "length" "4")]
- )
-
-+
-+
- ;;----------------------------------------------------------------
- ;; Setting a register from an floating point comparison.
- ;;----------------------------------------------------------------
-@@ -1818,6 +2047,18 @@
- (set_attr "length" "4")]
- )
-
-+(define_insn "cstoredf4"
-+ [(set (match_operand:DI 0 "register_operand" "=r")
-+ (match_operator:DI 1 "ordered_comparison_operator"
-+ [(match_operand:DF 2 "register_operand" "r")
-+ (match_operand:DF 3 "register_operand" "r")]))]
-+ "TARGET_MB_64"
-+ "dcmp.%C1\t%0,%3,%2"
-+ [(set_attr "type" "fcmp")
-+ (set_attr "mode" "DF")
-+ (set_attr "length" "4")]
-+)
-+
- ;;----------------------------------------------------------------
- ;; Conditional branches
- ;;----------------------------------------------------------------
-@@ -1930,6 +2171,115 @@
- (set_attr "length" "12")]
- )
-
-+
-+(define_expand "cbranchdi4"
-+ [(set (pc)
-+ (if_then_else (match_operator 0 "ordered_comparison_operator"
-+ [(match_operand:DI 1 "register_operand")
-+ (match_operand:DI 2 "arith_operand" "I,i")])
-+ (label_ref (match_operand 3 ""))
-+ (pc)))]
-+ "TARGET_MB_64"
-+{
-+ microblaze_expand_conditional_branch (DImode, operands);
-+ DONE;
-+})
-+
-+(define_expand "cbranchdi4_reg"
-+ [(set (pc)
-+ (if_then_else (match_operator 0 "ordered_comparison_operator"
-+ [(match_operand:DI 1 "register_operand")
-+ (match_operand:DI 2 "register_operand")])
-+ (label_ref (match_operand 3 ""))
-+ (pc)))]
-+ "TARGET_MB_64"
-+{
-+ microblaze_expand_conditional_branch_reg (DImode, operands);
-+ DONE;
-+})
-+
-+(define_expand "cbranchdf4"
-+ [(set (pc)
-+ (if_then_else (match_operator 0 "ordered_comparison_operator"
-+ [(match_operand:DF 1 "register_operand")
-+ (match_operand:DF 2 "register_operand")])
-+ (label_ref (match_operand 3 ""))
-+ (pc)))]
-+ "TARGET_MB_64"
-+{
-+ microblaze_expand_conditional_branch_df (operands);
-+ DONE;
-+
-+})
-+
-+;; Used to implement comparison instructions
-+(define_expand "long_condjump"
-+ [(set (pc)
-+ (if_then_else (match_operand 0)
-+ (label_ref (match_operand 1))
-+ (pc)))])
-+
-+(define_insn "long_branch_zero"
-+ [(set (pc)
-+ (if_then_else (match_operator:DI 0 "ordered_comparison_operator"
-+ [(match_operand:DI 1 "register_operand" "d")
-+ (const_int 0)])
-+ (match_operand:DI 2 "pc_or_label_operand" "")
-+ (match_operand:DI 3 "pc_or_label_operand" "")))
-+ ]
-+ "TARGET_MB_64"
-+ {
-+ if (operands[3] == pc_rtx)
-+ return "beal%C0i%?\t%z1,%2";
-+ else
-+ return "beal%N0i%?\t%z1,%3";
-+ }
-+ [(set_attr "type" "branch")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "4")]
-+)
-+
-+(define_insn "long_branch_compare"
-+ [(set (pc)
-+ (if_then_else (match_operator:DI 0 "cmp_op"
-+ [(match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "register_operand" "d")
-+ ])
-+ (label_ref (match_operand 3))
-+ (pc)))
-+ (clobber(reg:DI R_TMP))]
-+ "TARGET_MB_64"
-+ {
-+ operands[4] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
-+ enum rtx_code code = GET_CODE (operands[0]);
-+
-+ if (code == GT || code == LE)
-+ {
-+ output_asm_insn ("cmpl\tr18,%z1,%z2", operands);
-+ code = swap_condition (code);
-+ }
-+ else if (code == GTU || code == LEU)
-+ {
-+ output_asm_insn ("cmplu\tr18,%z1,%z2", operands);
-+ code = swap_condition (code);
-+ }
-+ else if (code == GE || code == LT)
-+ {
-+ output_asm_insn ("cmpl\tr18,%z2,%z1", operands);
-+ }
-+ else if (code == GEU || code == LTU)
-+ {
-+ output_asm_insn ("cmplu\tr18,%z2,%z1", operands);
-+ }
-+
-+ operands[0] = gen_rtx_fmt_ee (signed_condition (code), DImode, operands[4], const0_rtx);
-+ return "beal%C0i%?\tr18,%3";
-+ }
-+ [(set_attr "type" "branch")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "12")]
-+)
-+
- ;;----------------------------------------------------------------
- ;; Unconditional branches
- ;;----------------------------------------------------------------
-@@ -2478,17 +2828,33 @@
- DONE;
- }")
-
--(define_expand "extzvsi"
-+(define_expand "extvsi"
- [(set (match_operand:SI 0 "register_operand" "r")
- (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
- (match_operand:SI 2 "immediate_operand" "I")
- (match_operand:SI 3 "immediate_operand" "I")))]
- "TARGET_HAS_BITFIELD"
--""
--)
--
-+"
-+{
-+ unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
-+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
-+
-+ if ((len == 0) || (pos + len > 32) )
-+ FAIL;
-+
-+ ;;if (!register_operand (operands[1], VOIDmode))
-+ ;; FAIL;
-+ if (operands[0] == operands[1])
-+ FAIL;
-+ if (GET_CODE (operands[1]) == ASHIFT)
-+ FAIL;
-+;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
-+ emit_insn (gen_extv_32 (operands[0], operands[1],
-+ operands[2], operands[3]));
-+ DONE;
-+}")
-
--(define_insn "extzv_32"
-+(define_insn "extv_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
- (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
- (match_operand:SI 2 "immediate_operand" "I")
-@@ -2505,8 +2871,21 @@
- (match_operand:SI 2 "immediate_operand" "I"))
- (match_operand:SI 3 "register_operand" "r"))]
- "TARGET_HAS_BITFIELD"
--""
--)
-+ "
-+{
-+ unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
-+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
-+
-+ if (len <= 0 || pos + len > 32)
-+ FAIL;
-+
-+ ;;if (!register_operand (operands[0], VOIDmode))
-+ ;; FAIL;
-+
-+ emit_insn (gen_insv_32 (operands[0], operands[1],
-+ operands[2], operands[3]));
-+ DONE;
-+}")
-
- (define_insn "insv_32"
- [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
-diff --git a/gcc/config/microblaze/microblaze.opt b/gcc/config/microblaze/microblaze.opt
-index a29c6f8df90..bbe48b06da6 100644
---- a/gcc/config/microblaze/microblaze.opt
-+++ b/gcc/config/microblaze/microblaze.opt
-@@ -136,4 +136,9 @@ Target
-
- mxl-frequency
- Target Mask(AREA_OPTIMIZED_2)
--Use 8 stage pipeline (frequency optimization)
-+Use 8 stage pipeline (frequency optimization).
-+
-+m64
-+Target Mask(MB_64)
-+MicroBlaze 64-bit mode.
-+
-diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
-index 41fa9a92081..e9a1921ae26 100644
---- a/gcc/config/microblaze/t-microblaze
-+++ b/gcc/config/microblaze/t-microblaze
-@@ -1,8 +1,11 @@
--MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high mlittle-endian
--MULTILIB_DIRNAMES = bs m mh le
-+MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high mlittle-endian m64
-+MULTILIB_DIRNAMES = bs m mh le m64
- MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
- MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
-+MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64
- MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
-+MULTILIB_EXCEPTIONS += mxl-multiply-high/m64
-+MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64
-
- # Extra files
- microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0030-Intial-commit-for-64bit-MB-sources.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0030-Intial-commit-for-64bit-MB-sources.patch
deleted file mode 100644
index 88a0d0ba1..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0030-Intial-commit-for-64bit-MB-sources.patch
+++ /dev/null
@@ -1,2459 +0,0 @@
-From 53799d63bd26a04265a55f68ca57e3462ed6eeb7 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Fri, 27 Jul 2018 15:23:41 +0530
-Subject: [PATCH 30/54] Intial commit for 64bit-MB sources. Need to cleanup the
- code later.
-
----
- gcc/config/microblaze/constraints.md | 2 +-
- gcc/config/microblaze/microblaze-c.c | 6 +
- gcc/config/microblaze/microblaze.c | 218 ++++++---
- gcc/config/microblaze/microblaze.h | 63 ++-
- gcc/config/microblaze/microblaze.md | 606 ++++++++++++++++++------
- gcc/config/microblaze/t-microblaze | 3 +-
- libgcc/config/microblaze/crti.S | 4 +-
- libgcc/config/microblaze/crtn.S | 4 +-
- libgcc/config/microblaze/divdi3.S | 98 ++++
- libgcc/config/microblaze/divdi3_table.c | 62 +++
- libgcc/config/microblaze/moddi3.S | 97 ++++
- libgcc/config/microblaze/muldi3.S | 73 +++
- libgcc/config/microblaze/t-microblaze | 11 +-
- libgcc/config/microblaze/udivdi3.S | 107 +++++
- libgcc/config/microblaze/umoddi3.S | 110 +++++
- 15 files changed, 1230 insertions(+), 234 deletions(-)
- create mode 100644 libgcc/config/microblaze/divdi3.S
- create mode 100644 libgcc/config/microblaze/divdi3_table.c
- create mode 100644 libgcc/config/microblaze/moddi3.S
- create mode 100644 libgcc/config/microblaze/muldi3.S
- create mode 100644 libgcc/config/microblaze/udivdi3.S
- create mode 100644 libgcc/config/microblaze/umoddi3.S
-
-diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
-index 123395717e0..b8ef1650f92 100644
---- a/gcc/config/microblaze/constraints.md
-+++ b/gcc/config/microblaze/constraints.md
-@@ -55,7 +55,7 @@
- (define_constraint "K"
- "A constant in the range 0xffffff8000000000L to 0x0000007fffffffffL (inclusive)."
- (and (match_code "const_int")
-- (match_test "ival > (long)0xffffff8000000000L && ival < (long)0x0000007fffffffffL")))
-+ (match_test "ival > (long)-549755813888 && ival < (long)549755813887")))
-
-
- ;; Define floating point constraints
-diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c
-index d8c88e510e5..dbcd21fc6ee 100644
---- a/gcc/config/microblaze/microblaze-c.c
-+++ b/gcc/config/microblaze/microblaze-c.c
-@@ -100,4 +100,10 @@ microblaze_cpp_define (cpp_reader *pfile)
- builtin_define ("HAVE_HW_FPU_SQRT");
- builtin_define ("__HAVE_HW_FPU_SQRT__");
- }
-+ if (TARGET_MB_64)
-+ {
-+ builtin_define ("__arch64__");
-+ builtin_define ("__microblaze64__");
-+ builtin_define ("__MICROBLAZE64__");
-+ }
- }
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 99a1cd5c0be..3c815444574 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -383,10 +383,10 @@ simple_memory_operand (rtx op, machine_mode mode ATTRIBUTE_UNUSED)
- {
- return 1;
- }
-- else if (GET_CODE (plus0) == REG && GET_CODE (plus1) == REG)
-+ /*else if (GET_CODE (plus0) == REG && GET_CODE (plus1) == REG)
- {
- return 1;
-- }
-+ }*/
- else
- return 0;
-
-@@ -434,7 +434,7 @@ double_memory_operand (rtx op, machine_mode mode)
- return 1;
-
- return memory_address_p ((GET_MODE_CLASS (mode) == MODE_INT
-- ? E_SImode : E_SFmode),
-+ ? Pmode : E_SFmode),
- plus_constant (Pmode, addr, 4));
- }
-
-@@ -681,7 +681,7 @@ microblaze_legitimize_tls_address(rtx x, rtx reg)
- /* Load the addend. */
- addend = gen_rtx_UNSPEC (Pmode, gen_rtvec (2, x, GEN_INT (TLS_DTPREL)),
- UNSPEC_TLS);
-- addend = force_reg (SImode, gen_rtx_CONST (SImode, addend));
-+ addend = force_reg (Pmode, gen_rtx_CONST (Pmode, addend));
- dest = gen_rtx_PLUS (Pmode, dest, addend);
- break;
-
-@@ -699,7 +699,7 @@ microblaze_classify_unspec (struct microblaze_address_info *info, rtx x)
-
- if (XINT (x, 1) == UNSPEC_GOTOFF)
- {
-- info->regA = gen_rtx_REG (SImode, PIC_OFFSET_TABLE_REGNUM);
-+ info->regA = gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM);
- info->type = ADDRESS_GOTOFF;
- }
- else if (XINT (x, 1) == UNSPEC_PLT)
-@@ -1302,8 +1302,16 @@ microblaze_block_move_loop (rtx dest, rtx src, HOST_WIDE_INT length)
- emit_move_insn (dest_reg, plus_constant (Pmode, dest_reg, MAX_MOVE_BYTES));
-
- /* Emit the test & branch. */
-- emit_insn (gen_cbranchsi4 (gen_rtx_NE (SImode, src_reg, final_src),
-+
-+ if (TARGET_MB_64) {
-+ emit_insn (gen_cbranchdi4 (gen_rtx_NE (Pmode, src_reg, final_src),
-+ src_reg, final_src, label));
-+ }
-+ else {
-+ emit_insn (gen_cbranchsi4 (gen_rtx_NE (Pmode, src_reg, final_src),
- src_reg, final_src, label));
-+
-+ }
-
- /* Mop up any left-over bytes. */
- if (leftover)
-@@ -1633,14 +1641,20 @@ microblaze_function_arg_advance (cumulative_args_t cum_v,
- break;
-
- case E_DFmode:
-- cum->arg_words += 2;
-+ if (TARGET_MB_64)
-+ cum->arg_words++;
-+ else
-+ cum->arg_words += 2;
- if (!cum->gp_reg_found && cum->arg_number <= 2)
- cum->fp_code += 2 << ((cum->arg_number - 1) * 2);
- break;
-
- case E_DImode:
- cum->gp_reg_found = 1;
-- cum->arg_words += 2;
-+ if (TARGET_MB_64)
-+ cum->arg_words++;
-+ else
-+ cum->arg_words += 2;
- break;
-
- case E_QImode:
-@@ -2155,7 +2169,7 @@ compute_frame_size (HOST_WIDE_INT size)
-
- if (regno != MB_ABI_SUB_RETURN_ADDR_REGNUM)
- /* Don't account for link register. It is accounted specially below. */
-- gp_reg_size += GET_MODE_SIZE (SImode);
-+ gp_reg_size += GET_MODE_SIZE (Pmode);
-
- mask |= (1L << (regno - GP_REG_FIRST));
- }
-@@ -2424,7 +2438,7 @@ print_operand (FILE * file, rtx op, int letter)
-
- if ((letter == 'M' && !WORDS_BIG_ENDIAN)
- || (letter == 'L' && WORDS_BIG_ENDIAN) || letter == 'D')
-- regnum++;
-+ regnum++;
-
- fprintf (file, "%s", reg_names[regnum]);
- }
-@@ -2450,6 +2464,7 @@ print_operand (FILE * file, rtx op, int letter)
- else if (letter == 'h' || letter == 'j')
- {
- long val[2];
-+ int val1[2];
- long l[2];
- if (code == CONST_DOUBLE)
- {
-@@ -2462,12 +2477,12 @@ print_operand (FILE * file, rtx op, int letter)
- val[0] = l[WORDS_BIG_ENDIAN != 0];
- }
- }
-- else if (code == CONST_INT)
-+ else if (code == CONST_INT || code == CONST)// || code == SYMBOL_REF ||code == LABEL_REF)
- {
-- val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
-- val[1] = INTVAL (op) & 0x00000000ffffffffLL;
-+ val1[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
-+ val1[1] = INTVAL (op) & 0x00000000ffffffffLL;
- }
-- fprintf (file, "0x%8.8lx", (letter == 'h') ? val[0] : val[1]);
-+ fprintf (file, "0x%8.8lx", (letter == 'h') ? val1[0] : val1[1]);
- }
- else if (code == CONST_DOUBLE)
- {
-@@ -2661,7 +2676,10 @@ microblaze_asm_constructor (rtx symbol ATTRIBUTE_UNUSED, int priority)
-
- switch_to_section (get_section (section, 0, NULL));
- assemble_align (POINTER_SIZE);
-- fputs ("\t.word\t", asm_out_file);
-+ if (TARGET_MB_64)
-+ fputs ("\t.dword\t", asm_out_file);
-+ else
-+ fputs ("\t.word\t", asm_out_file);
- output_addr_const (asm_out_file, symbol);
- fputs ("\n", asm_out_file);
- }
-@@ -2684,7 +2702,10 @@ microblaze_asm_destructor (rtx symbol, int priority)
-
- switch_to_section (get_section (section, 0, NULL));
- assemble_align (POINTER_SIZE);
-- fputs ("\t.word\t", asm_out_file);
-+ if (TARGET_MB_64)
-+ fputs ("\t.dword\t", asm_out_file);
-+ else
-+ fputs ("\t.word\t", asm_out_file);
- output_addr_const (asm_out_file, symbol);
- fputs ("\n", asm_out_file);
- }
-@@ -2750,7 +2771,7 @@ save_restore_insns (int prologue)
- /* For interrupt_handlers, need to save/restore the MSR. */
- if (microblaze_is_interrupt_variant ())
- {
-- isr_mem_rtx = gen_rtx_MEM (SImode,
-+ isr_mem_rtx = gen_rtx_MEM (Pmode,
- gen_rtx_PLUS (Pmode, base_reg_rtx,
- GEN_INT (current_frame_info.
- gp_offset -
-@@ -2758,8 +2779,8 @@ save_restore_insns (int prologue)
-
- /* Do not optimize in flow analysis. */
- MEM_VOLATILE_P (isr_mem_rtx) = 1;
-- isr_reg_rtx = gen_rtx_REG (SImode, MB_ABI_MSR_SAVE_REG);
-- isr_msr_rtx = gen_rtx_REG (SImode, ST_REG);
-+ isr_reg_rtx = gen_rtx_REG (Pmode, MB_ABI_MSR_SAVE_REG);
-+ isr_msr_rtx = gen_rtx_REG (Pmode, ST_REG);
- }
-
- if (microblaze_is_interrupt_variant () && !prologue)
-@@ -2767,8 +2788,8 @@ save_restore_insns (int prologue)
- emit_move_insn (isr_reg_rtx, isr_mem_rtx);
- emit_move_insn (isr_msr_rtx, isr_reg_rtx);
- /* Do not optimize in flow analysis. */
-- emit_insn (gen_rtx_USE (SImode, isr_reg_rtx));
-- emit_insn (gen_rtx_USE (SImode, isr_msr_rtx));
-+ emit_insn (gen_rtx_USE (Pmode, isr_reg_rtx));
-+ emit_insn (gen_rtx_USE (Pmode, isr_msr_rtx));
- }
-
- for (regno = GP_REG_FIRST; regno <= GP_REG_LAST; regno++)
-@@ -2779,9 +2800,9 @@ save_restore_insns (int prologue)
- /* Don't handle here. Already handled as the first register. */
- continue;
-
-- reg_rtx = gen_rtx_REG (SImode, regno);
-+ reg_rtx = gen_rtx_REG (Pmode, regno);
- insn = gen_rtx_PLUS (Pmode, base_reg_rtx, GEN_INT (gp_offset));
-- mem_rtx = gen_rtx_MEM (SImode, insn);
-+ mem_rtx = gen_rtx_MEM (Pmode, insn);
- if (microblaze_is_interrupt_variant () || save_volatiles)
- /* Do not optimize in flow analysis. */
- MEM_VOLATILE_P (mem_rtx) = 1;
-@@ -2796,7 +2817,7 @@ save_restore_insns (int prologue)
- insn = emit_move_insn (reg_rtx, mem_rtx);
- }
-
-- gp_offset += GET_MODE_SIZE (SImode);
-+ gp_offset += GET_MODE_SIZE (Pmode);
- }
- }
-
-@@ -2806,8 +2827,8 @@ save_restore_insns (int prologue)
- emit_move_insn (isr_mem_rtx, isr_reg_rtx);
-
- /* Do not optimize in flow analysis. */
-- emit_insn (gen_rtx_USE (SImode, isr_reg_rtx));
-- emit_insn (gen_rtx_USE (SImode, isr_msr_rtx));
-+ emit_insn (gen_rtx_USE (Pmode, isr_reg_rtx));
-+ emit_insn (gen_rtx_USE (Pmode, isr_msr_rtx));
- }
-
- /* Done saving and restoring */
-@@ -2897,7 +2918,10 @@ microblaze_elf_asm_cdtor (rtx symbol, int priority, bool is_ctor)
-
- switch_to_section (s);
- assemble_align (POINTER_SIZE);
-- fputs ("\t.word\t", asm_out_file);
-+ if (TARGET_MB_64)
-+ fputs ("\t.dword\t", asm_out_file);
-+ else
-+ fputs ("\t.word\t", asm_out_file);
- output_addr_const (asm_out_file, symbol);
- fputs ("\n", asm_out_file);
- }
-@@ -3041,10 +3065,10 @@ microblaze_expand_prologue (void)
- {
- if (offset != 0)
- ptr = gen_rtx_PLUS (Pmode, stack_pointer_rtx, GEN_INT (offset));
-- emit_move_insn (gen_rtx_MEM (SImode, ptr),
-- gen_rtx_REG (SImode, regno));
-+ emit_move_insn (gen_rtx_MEM (Pmode, ptr),
-+ gen_rtx_REG (Pmode, regno));
-
-- offset += GET_MODE_SIZE (SImode);
-+ offset += GET_MODE_SIZE (Pmode);
- }
- }
-
-@@ -3053,15 +3077,23 @@ microblaze_expand_prologue (void)
- rtx fsiz_rtx = GEN_INT (fsiz);
-
- rtx_insn *insn = NULL;
-- insn = emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx,
-+ if (TARGET_MB_64)
-+ {
-+
-+ insn = emit_insn (gen_subdi3 (stack_pointer_rtx, stack_pointer_rtx,
- fsiz_rtx));
-+ }
-+ else {
-+ insn = emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx,
-+ fsiz_rtx));
-+ }
- if (insn)
- RTX_FRAME_RELATED_P (insn) = 1;
-
- /* Handle SUB_RETURN_ADDR_REGNUM specially at first. */
- if (!crtl->is_leaf || interrupt_handler)
- {
-- mem_rtx = gen_rtx_MEM (SImode,
-+ mem_rtx = gen_rtx_MEM (Pmode,
- gen_rtx_PLUS (Pmode, stack_pointer_rtx,
- const0_rtx));
-
-@@ -3069,7 +3101,7 @@ microblaze_expand_prologue (void)
- /* Do not optimize in flow analysis. */
- MEM_VOLATILE_P (mem_rtx) = 1;
-
-- reg_rtx = gen_rtx_REG (SImode, MB_ABI_SUB_RETURN_ADDR_REGNUM);
-+ reg_rtx = gen_rtx_REG (Pmode, MB_ABI_SUB_RETURN_ADDR_REGNUM);
- insn = emit_move_insn (mem_rtx, reg_rtx);
- RTX_FRAME_RELATED_P (insn) = 1;
- }
-@@ -3179,12 +3211,12 @@ microblaze_expand_epilogue (void)
- if (!crtl->is_leaf || interrupt_handler)
- {
- mem_rtx =
-- gen_rtx_MEM (SImode,
-+ gen_rtx_MEM (Pmode,
- gen_rtx_PLUS (Pmode, stack_pointer_rtx, const0_rtx));
- if (interrupt_handler)
- /* Do not optimize in flow analysis. */
- MEM_VOLATILE_P (mem_rtx) = 1;
-- reg_rtx = gen_rtx_REG (SImode, MB_ABI_SUB_RETURN_ADDR_REGNUM);
-+ reg_rtx = gen_rtx_REG (Pmode, MB_ABI_SUB_RETURN_ADDR_REGNUM);
- emit_move_insn (reg_rtx, mem_rtx);
- }
-
-@@ -3200,15 +3232,25 @@ microblaze_expand_epilogue (void)
- /* _restore_ registers for epilogue. */
- save_restore_insns (0);
- emit_insn (gen_blockage ());
-- emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
-+ if (TARGET_MB_64)
-+ emit_insn (gen_adddi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
-+ else
-+ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
- }
-
- if (crtl->calls_eh_return)
-- emit_insn (gen_addsi3 (stack_pointer_rtx,
-+ if (TARGET_MB_64) {
-+ emit_insn (gen_adddi3 (stack_pointer_rtx,
- stack_pointer_rtx,
-- gen_raw_REG (SImode,
-+ gen_raw_REG (Pmode,
- MB_EH_STACKADJ_REGNUM)));
--
-+ }
-+ else {
-+ emit_insn (gen_addsi3 (stack_pointer_rtx,
-+ stack_pointer_rtx,
-+ gen_raw_REG (Pmode,
-+ MB_EH_STACKADJ_REGNUM)));
-+ }
- emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST +
- MB_ABI_SUB_RETURN_ADDR_REGNUM)));
- }
-@@ -3375,9 +3417,14 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
- else
- this_rtx = gen_rtx_REG (Pmode, MB_ABI_FIRST_ARG_REGNUM);
-
-- /* Apply the constant offset, if required. */
-+ /* Apply the constant offset, if required. */
- if (delta)
-- emit_insn (gen_addsi3 (this_rtx, this_rtx, GEN_INT (delta)));
-+ {
-+ if (TARGET_MB_64)
-+ emit_insn (gen_adddi3 (this_rtx, this_rtx, GEN_INT (delta)));
-+ else
-+ emit_insn (gen_addsi3 (this_rtx, this_rtx, GEN_INT (delta)));
-+ }
-
- /* Apply the offset from the vtable, if required. */
- if (vcall_offset)
-@@ -3390,7 +3437,10 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
- rtx loc = gen_rtx_PLUS (Pmode, temp1, vcall_offset_rtx);
- emit_move_insn (temp1, gen_rtx_MEM (Pmode, loc));
-
-- emit_insn (gen_addsi3 (this_rtx, this_rtx, temp1));
-+ if (TARGET_MB_64)
-+ emit_insn (gen_adddi3 (this_rtx, this_rtx, temp1));
-+ else
-+ emit_insn (gen_addsi3 (this_rtx, this_rtx, temp1));
- }
-
- /* Generate a tail call to the target function. */
-@@ -3566,7 +3616,7 @@ microblaze_eh_return (rtx op0)
- /* Queue an .ident string in the queue of top-level asm statements.
- If the string size is below the threshold, put it into .sdata2.
- If the front-end is done, we must be being called from toplev.c.
-- In that case, do nothing. */
-+ In that case, do nothing. */
- void
- microblaze_asm_output_ident (const char *string)
- {
-@@ -3621,9 +3671,9 @@ microblaze_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
- emit_block_move (m_tramp, assemble_trampoline_template (),
- GEN_INT (6*UNITS_PER_WORD), BLOCK_OP_NORMAL);
-
-- mem = adjust_address (m_tramp, SImode, 16);
-+ mem = adjust_address (m_tramp, Pmode, 16);
- emit_move_insn (mem, chain_value);
-- mem = adjust_address (m_tramp, SImode, 20);
-+ mem = adjust_address (m_tramp, Pmode, 20);
- emit_move_insn (mem, fnaddr);
- }
-
-@@ -3647,7 +3697,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[])
- {
- comp_reg = cmp_op0;
- condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx);
-- if (mode == SImode)
-+ if (mode == Pmode)
- emit_jump_insn (gen_condjump (condition, label1));
- else
- emit_jump_insn (gen_long_condjump (condition, label1));
-@@ -3766,7 +3816,7 @@ microblaze_expand_conditional_branch_sf (rtx operands[])
- rtx comp_reg = gen_reg_rtx (SImode);
-
- emit_insn (gen_cstoresf4 (comp_reg, operands[0], cmp_op0, cmp_op1));
-- condition = gen_rtx_NE (SImode, comp_reg, const0_rtx);
-+ condition = gen_rtx_NE (Pmode, comp_reg, const0_rtx);
- emit_jump_insn (gen_condjump (condition, operands[3]));
- }
-
-@@ -3776,10 +3826,10 @@ microblaze_expand_conditional_branch_df (rtx operands[])
- rtx condition;
- rtx cmp_op0 = XEXP (operands[0], 0);
- rtx cmp_op1 = XEXP (operands[0], 1);
-- rtx comp_reg = gen_reg_rtx (DImode);
-+ rtx comp_reg = gen_reg_rtx (Pmode);
-
- emit_insn (gen_cstoredf4 (comp_reg, operands[0], cmp_op0, cmp_op1));
-- condition = gen_rtx_NE (DImode, comp_reg, const0_rtx);
-+ condition = gen_rtx_NE (Pmode, comp_reg, const0_rtx);
- emit_jump_insn (gen_long_condjump (condition, operands[3]));
- }
-
-@@ -3800,8 +3850,8 @@ microblaze_expand_divide (rtx operands[])
- {
- /* Table lookup software divides. Works for all (nr/dr) where (0 <= nr,dr <= 15). */
-
-- rtx regt1 = gen_reg_rtx (SImode);
-- rtx reg18 = gen_rtx_REG (SImode, R_TMP);
-+ rtx regt1 = gen_reg_rtx (Pmode);
-+ rtx reg18 = gen_rtx_REG (Pmode, R_TMP);
- rtx regqi = gen_reg_rtx (QImode);
- rtx_code_label *div_label = gen_label_rtx ();
- rtx_code_label *div_end_label = gen_label_rtx ();
-@@ -3809,17 +3859,31 @@ microblaze_expand_divide (rtx operands[])
- rtx mem_rtx;
- rtx ret;
- rtx_insn *jump, *cjump, *insn;
--
-- insn = emit_insn (gen_iorsi3 (regt1, operands[1], operands[2]));
-- cjump = emit_jump_insn_after (gen_cbranchsi4 (
-- gen_rtx_GTU (SImode, regt1, GEN_INT (15)),
-+
-+ if (TARGET_MB_64) {
-+ insn = emit_insn (gen_iordi3 (regt1, operands[1], operands[2]));
-+ cjump = emit_jump_insn_after (gen_cbranchdi4 (
-+ gen_rtx_GTU (Pmode, regt1, GEN_INT (15)),
-+ regt1, GEN_INT (15), div_label), insn);
-+ }
-+ else {
-+ insn = emit_insn (gen_iorsi3 (regt1, operands[1], operands[2]));
-+ cjump = emit_jump_insn_after (gen_cbranchsi4 (
-+ gen_rtx_GTU (Pmode, regt1, GEN_INT (15)),
- regt1, GEN_INT (15), div_label), insn);
-+ }
- LABEL_NUSES (div_label) = 1;
- JUMP_LABEL (cjump) = div_label;
-- emit_insn (gen_rtx_CLOBBER (SImode, reg18));
-+ emit_insn (gen_rtx_CLOBBER (Pmode, reg18));
-
-- emit_insn (gen_ashlsi3_bshift (regt1, operands[1], GEN_INT(4)));
-- emit_insn (gen_addsi3 (regt1, regt1, operands[2]));
-+ if (TARGET_MB_64) {
-+ emit_insn (gen_ashldi3_long (regt1, operands[1], GEN_INT(4)));
-+ emit_insn (gen_adddi3 (regt1, regt1, operands[2]));
-+ }
-+ else {
-+ emit_insn (gen_ashlsi3_bshift (regt1, operands[1], GEN_INT(4)));
-+ emit_insn (gen_addsi3 (regt1, regt1, operands[2]));
-+ }
- mem_rtx = gen_rtx_MEM (QImode,
- gen_rtx_PLUS (QImode, regt1, div_table_rtx));
-
-@@ -3966,7 +4030,7 @@ insert_wic_for_ilb_runout (rtx_insn *first)
- {
- insn =
- emit_insn_before (gen_iprefetch
-- (gen_int_mode (addr_offset, SImode)),
-+ (gen_int_mode (addr_offset, Pmode)),
- before_4);
- recog_memoized (insn);
- INSN_LOCATION (insn) = INSN_LOCATION (before_4);
-@@ -3976,7 +4040,27 @@ insert_wic_for_ilb_runout (rtx_insn *first)
- }
- }
- }
--
-+
-+/* Set the names for various arithmetic operations according to the
-+ * MICROBLAZE ABI. */
-+static void
-+microblaze_init_libfuncs (void)
-+{
-+ set_optab_libfunc (smod_optab, SImode, "__modsi3");
-+ set_optab_libfunc (sdiv_optab, SImode, "__divsi3");
-+ set_optab_libfunc (smul_optab, SImode, "__mulsi3");
-+ set_optab_libfunc (umod_optab, SImode, "__umodsi3");
-+ set_optab_libfunc (udiv_optab, SImode, "__udivsi3");
-+
-+ if (TARGET_MB_64)
-+ {
-+ set_optab_libfunc (smod_optab, DImode, "__moddi3");
-+ set_optab_libfunc (sdiv_optab, DImode, "__divdi3");
-+ set_optab_libfunc (smul_optab, DImode, "__muldi3");
-+ set_optab_libfunc (umod_optab, DImode, "__umoddi3");
-+ set_optab_libfunc (udiv_optab, DImode, "__udivdi3");
-+ }
-+}
- /* Insert instruction prefetch instruction at the fall
- through path of the function call. */
-
-@@ -4129,6 +4213,17 @@ microblaze_starting_frame_offset (void)
- #undef TARGET_LRA_P
- #define TARGET_LRA_P hook_bool_void_false
-
-+#ifdef TARGET_MB_64
-+#undef TARGET_ASM_ALIGNED_DI_OP
-+#define TARGET_ASM_ALIGNED_DI_OP "\t.dword\t"
-+
-+#undef TARGET_ASM_ALIGNED_HI_OP
-+#define TARGET_ASM_ALIGNED_HI_OP "\t.hword\t"
-+
-+#undef TARGET_ASM_ALIGNED_SI_OP
-+#define TARGET_ASM_ALIGNED_SI_OP "\t.word\t"
-+#endif
-+
- #undef TARGET_FRAME_POINTER_REQUIRED
- #define TARGET_FRAME_POINTER_REQUIRED microblaze_frame_pointer_required
-
-@@ -4138,6 +4233,9 @@ microblaze_starting_frame_offset (void)
- #undef TARGET_TRAMPOLINE_INIT
- #define TARGET_TRAMPOLINE_INIT microblaze_trampoline_init
-
-+#undef TARGET_INIT_LIBFUNCS
-+#define TARGET_INIT_LIBFUNCS microblaze_init_libfuncs
-+
- #undef TARGET_PROMOTE_FUNCTION_MODE
- #define TARGET_PROMOTE_FUNCTION_MODE default_promote_function_mode_always_promote
-
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index c0358603380..f6ad4d9fc21 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -173,7 +173,6 @@ extern enum pipeline_type microblaze_pipe;
-
- /* Generate DWARF exception handling info. */
- #define DWARF2_UNWIND_INFO 1
--
- /* Don't generate .loc operations. */
- #define DWARF2_ASM_LINE_DEBUG_INFO 0
-
-@@ -206,38 +205,51 @@ extern enum pipeline_type microblaze_pipe;
- ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr)
-
- /* Use DWARF 2 debugging information by default. */
--#define DWARF2_DEBUGGING_INFO
-+#define DWARF2_DEBUGGING_INFO 1
- #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-+#define DWARF2_ADDR_SIZE 4
-
- /* Target machine storage layout */
-
- #define BITS_BIG_ENDIAN 0
- #define BYTES_BIG_ENDIAN (TARGET_LITTLE_ENDIAN == 0)
- #define WORDS_BIG_ENDIAN (BYTES_BIG_ENDIAN)
--#define BITS_PER_WORD 32
--#define UNITS_PER_WORD 4
-+//#define BITS_PER_WORD 64
-+//Revisit
-+#define MAX_BITS_PER_WORD 64
-+#define UNITS_PER_WORD (TARGET_MB_64 ? 8 : 4)
-+//#define MIN_UNITS_PER_WORD (TARGET_MB_64 ? 8 : 4)
-+//#define UNITS_PER_WORD 4
- #define MIN_UNITS_PER_WORD 4
- #define INT_TYPE_SIZE 32
- #define SHORT_TYPE_SIZE 16
--#define LONG_TYPE_SIZE 64
-+#define LONG_TYPE_SIZE (TARGET_MB_64 ? 64 : 32)
- #define LONG_LONG_TYPE_SIZE 64
- #define FLOAT_TYPE_SIZE 32
- #define DOUBLE_TYPE_SIZE 64
- #define LONG_DOUBLE_TYPE_SIZE 64
--#define POINTER_SIZE 32
--#define PARM_BOUNDARY 32
--#define FUNCTION_BOUNDARY 32
--#define EMPTY_FIELD_BOUNDARY 32
-+#define POINTER_SIZE (TARGET_MB_64 ? 64 : 32)
-+//#define WIDEST_HARDWARE_FP_SIZE 64
-+//#define POINTERS_EXTEND_UNSIGNED 1
-+#define PARM_BOUNDARY (TARGET_MB_64 ? 64 : 32)
-+#define FUNCTION_BOUNDARY (TARGET_MB_64 ? 64 : 32)
-+#define EMPTY_FIELD_BOUNDARY (TARGET_MB_64 ? 64 : 32)
- #define STRUCTURE_SIZE_BOUNDARY 8
--#define BIGGEST_ALIGNMENT 32
-+#define BIGGEST_ALIGNMENT (TARGET_MB_64 ? 64 : 32)
- #define STRICT_ALIGNMENT 1
- #define PCC_BITFIELD_TYPE_MATTERS 1
-
-+//#define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (TARGET_MB_64 ? TImode : DImode)
- #undef SIZE_TYPE
--#define SIZE_TYPE "unsigned int"
-+#define SIZE_TYPE (TARGET_MB_64 ? "long unsigned int" : "unsigned int")
-
- #undef PTRDIFF_TYPE
--#define PTRDIFF_TYPE "int"
-+#define PTRDIFF_TYPE (TARGET_MB_64 ? "long int" : "int")
-+
-+/*#undef INTPTR_TYPE
-+#define INTPTR_TYPE (TARGET_MB_64 ? "long int" : "int")*/
-+#undef UINTPTR_TYPE
-+#define UINTPTR_TYPE (TARGET_MB_64 ? "long unsigned int" : "unsigned int")
-
- #define DATA_ALIGNMENT(TYPE, ALIGN) \
- ((((ALIGN) < BITS_PER_WORD) \
-@@ -253,12 +265,12 @@ extern enum pipeline_type microblaze_pipe;
- #define WORD_REGISTER_OPERATIONS 1
-
- #define LOAD_EXTEND_OP(MODE) ZERO_EXTEND
--
-+/*
- #define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \
- if (GET_MODE_CLASS (MODE) == MODE_INT \
-- && GET_MODE_SIZE (MODE) < 4) \
-- (MODE) = SImode;
--
-+ && GET_MODE_SIZE (MODE) < (TARGET_MB_64 ? 8 : 4)) \
-+ (MODE) = TARGET_MB_64 ? DImode : SImode;
-+*/
- /* Standard register usage. */
-
- /* On the MicroBlaze, we have 32 integer registers */
-@@ -438,13 +450,16 @@ extern struct microblaze_frame_info current_frame_info;
- #define FIRST_PARM_OFFSET(FNDECL) (UNITS_PER_WORD)
-
- #define ARG_POINTER_CFA_OFFSET(FNDECL) 0
-+#define DWARF_CIE_DATA_ALIGNMENT -1
-
- #define REG_PARM_STACK_SPACE(FNDECL) (MAX_ARGS_IN_REGISTERS * UNITS_PER_WORD)
-
- #define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1
-
--#define STACK_BOUNDARY 32
-+#define STACK_BOUNDARY (TARGET_MB_64 ? 64 : 32)
-
-+#define PREFERRED_STACK_BOUNDARY (TARGET_MB_64 ? 64 : 32)
-+
- #define NUM_OF_ARGS 6
-
- #define GP_RETURN (GP_REG_FIRST + MB_ABI_INT_RETURN_VAL_REGNUM)
-@@ -455,12 +470,15 @@ extern struct microblaze_frame_info current_frame_info;
- #define MAX_ARGS_IN_REGISTERS MB_ABI_MAX_ARG_REGS
-
- #define LIBCALL_VALUE(MODE) \
-+ gen_rtx_REG (MODE,GP_RETURN)
-+
-+/*#define LIBCALL_VALUE(MODE) \
- gen_rtx_REG ( \
- ((GET_MODE_CLASS (MODE) != MODE_INT \
- || GET_MODE_SIZE (MODE) >= 4) \
- ? (MODE) \
- : SImode), GP_RETURN)
--
-+*/
- /* 1 if N is a possible register number for a function value.
- On the MicroBlaze, R2 R3 are the only register thus used.
- Currently, R2 are only implemented here (C has no complex type) */
-@@ -500,7 +518,7 @@ typedef struct microblaze_args
- /* 4 insns + 2 words of data. */
- #define TRAMPOLINE_SIZE (6 * 4)
-
--#define TRAMPOLINE_ALIGNMENT 32
-+#define TRAMPOLINE_ALIGNMENT 64
-
- #define REGNO_OK_FOR_BASE_P(regno) microblaze_regno_ok_for_base_p ((regno), 1)
-
-@@ -529,13 +547,13 @@ typedef struct microblaze_args
- addresses which require two reload registers. */
- #define LEGITIMATE_PIC_OPERAND_P(X) microblaze_legitimate_pic_operand (X)
-
--#define CASE_VECTOR_MODE (SImode)
-+#define CASE_VECTOR_MODE (TARGET_MB_64? DImode:SImode)
-
- #ifndef DEFAULT_SIGNED_CHAR
- #define DEFAULT_SIGNED_CHAR 1
- #endif
-
--#define MOVE_MAX 4
-+#define MOVE_MAX (TARGET_MB_64 ? 8 : 4)
- #define MAX_MOVE_MAX 8
-
- #define SLOW_BYTE_ACCESS 1
-@@ -545,7 +563,7 @@ typedef struct microblaze_args
-
- #define SHIFT_COUNT_TRUNCATED 1
-
--#define Pmode SImode
-+#define Pmode (TARGET_MB_64? DImode:SImode)
-
- #define FUNCTION_MODE SImode
-
-@@ -707,6 +725,7 @@ do { \
-
- #undef TARGET_ASM_OUTPUT_IDENT
- #define TARGET_ASM_OUTPUT_IDENT microblaze_asm_output_ident
-+//#define TARGET_ASM_OUTPUT_IDENT default_asm_output_ident_directive
-
- /* Default to -G 8 */
- #ifndef MICROBLAZE_DEFAULT_GVALUE
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 4d8429d9a90..33a8b12ef3b 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -26,6 +26,7 @@
- ;; Constants
- ;;----------------------------------------------------
- (define_constants [
-+ (R_Z 0) ;; For reg r0
- (R_SP 1) ;; Stack pointer reg
- (R_SR 15) ;; Sub-routine return addr reg
- (R_IR 14) ;; Interrupt return addr reg
-@@ -541,6 +542,7 @@
-
- ;; Add 2 SImode integers [ src1 = reg ; src2 = arith ; dest = reg ]
- ;; Leave carry as is
-+
- (define_insn "addsi3"
- [(set (match_operand:SI 0 "register_operand" "=d,d,d")
- (plus:SI (match_operand:SI 1 "reg_or_0_operand" "%dJ,dJ,dJ")
-@@ -562,23 +564,38 @@
-
- ;; Adding 2 DI operands in register or reg/imm
-
--(define_insn "adddi3_long"
-+(define_expand "adddi3"
-+ [(set (match_operand:DI 0 "register_operand" "")
-+ (plus:DI (match_operand:DI 1 "register_operand" "")
-+ (match_operand:DI 2 "arith_plus_operand" "")))]
-+""
-+{
-+ if (TARGET_MB_64)
-+ {
-+ if (GET_CODE (operands[2]) == CONST_INT &&
-+ INTVAL(operands[2]) < (long)-549755813888 &&
-+ INTVAL(operands[2]) > (long)549755813887)
-+ FAIL;
-+ }
-+})
-+
-+(define_insn "*adddi3_long"
- [(set (match_operand:DI 0 "register_operand" "=d,d")
-- (plus:DI (match_operand:DI 1 "reg_or_0_operand" "%dJ,dJ")
-+ (plus:DI (match_operand:DI 1 "register_operand" "%d,d")
- (match_operand:DI 2 "arith_plus_operand" "d,K")))]
- "TARGET_MB_64"
- "@
-- addlk\t%0,%z1,%2
-- addlik\t%0,%z1,%2"
-- [(set_attr "type" "arith,arith")
-- (set_attr "mode" "DI,DI")
-+ addlk\t%0,%1,%2
-+ addlik\t%0,%1,%2 #N10"
-+ [(set_attr "type" "darith,no_delay_arith")
-+ (set_attr "mode" "DI")
- (set_attr "length" "4,4")])
-
--(define_insn "adddi3"
-+(define_insn "*adddi3_all"
- [(set (match_operand:DI 0 "register_operand" "=d,d")
- (plus:DI (match_operand:DI 1 "register_operand" "%d,d")
- (match_operand:DI 2 "arith_operand" "d,i")))]
-- ""
-+ "!TARGET_MB_64"
- "@
- add\t%L0,%L1,%L2\;addc\t%M0,%M1,%M2
- addi\t%L0,%L1,%j2\;addic\t%M0,%M1,%h2"
-@@ -605,7 +622,7 @@
- (define_insn "iprefetch"
- [(unspec [(match_operand:SI 0 "const_int_operand" "n")] UNSPEC_IPREFETCH)
- (clobber (mem:BLK (scratch)))]
-- "TARGET_PREFETCH"
-+ "TARGET_PREFETCH && !TARGET_MB_64"
- {
- operands[2] = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
- return "mfs\t%2,rpc\n\twic\t%2,r0";
-@@ -618,23 +635,33 @@
- ;; Double Precision Subtraction
- ;;----------------------------------------------------------------
-
--(define_insn "subdi3_long"
-- [(set (match_operand:DI 0 "register_operand" "=d,d")
-- (minus:DI (match_operand:DI 1 "register_operand" "d,d")
-- (match_operand:DI 2 "register_operand" "d,n")))]
-+(define_expand "subdi3"
-+ [(set (match_operand:DI 0 "register_operand" "")
-+ (minus:DI (match_operand:DI 1 "register_operand" "")
-+ (match_operand:DI 2 "arith_operand" "")))]
-+""
-+"
-+{
-+}")
-+
-+(define_insn "subsidi3"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d,d")
-+ (minus:DI (match_operand:DI 1 "register_operand" "d,d,d")
-+ (match_operand:DI 2 "arith_operand" "d,K,n")))]
- "TARGET_MB_64"
- "@
- rsubl\t%0,%2,%1
-- addlik\t%0,%z1,-%2"
-- [(set_attr "type" "darith")
-- (set_attr "mode" "DI,DI")
-- (set_attr "length" "4,4")])
-+ addik\t%0,%z1,-%2
-+ addik\t%0,%z1,-%2"
-+ [(set_attr "type" "arith,no_delay_arith,no_delay_arith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4,4,4")])
-
--(define_insn "subdi3"
-+(define_insn "subdi3_small"
- [(set (match_operand:DI 0 "register_operand" "=&d")
- (minus:DI (match_operand:DI 1 "register_operand" "d")
- (match_operand:DI 2 "register_operand" "d")))]
-- ""
-+ "!TARGET_MB_64"
- "rsub\t%L0,%L2,%L1\;rsubc\t%M0,%M2,%M1"
- [(set_attr "type" "darith")
- (set_attr "mode" "DI")
-@@ -663,7 +690,7 @@
- (mult:DI
- (sign_extend:DI (match_operand:SI 1 "register_operand" "d"))
- (sign_extend:DI (match_operand:SI 2 "register_operand" "d"))))]
-- "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH"
-+ "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH && !TARGET_MB_64"
- "mul\t%L0,%1,%2\;mulh\t%M0,%1,%2"
- [(set_attr "type" "no_delay_arith")
- (set_attr "mode" "DI")
-@@ -674,7 +701,7 @@
- (mult:DI
- (zero_extend:DI (match_operand:SI 1 "register_operand" "d"))
- (zero_extend:DI (match_operand:SI 2 "register_operand" "d"))))]
-- "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH"
-+ "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH && !TARGET_MB_64"
- "mul\t%L0,%1,%2\;mulhu\t%M0,%1,%2"
- [(set_attr "type" "no_delay_arith")
- (set_attr "mode" "DI")
-@@ -685,7 +712,7 @@
- (mult:DI
- (zero_extend:DI (match_operand:SI 1 "register_operand" "d"))
- (sign_extend:DI (match_operand:SI 2 "register_operand" "d"))))]
-- "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH"
-+ "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH && !TARGET_MB_64"
- "mul\t%L0,%1,%2\;mulhsu\t%M0,%2,%1"
- [(set_attr "type" "no_delay_arith")
- (set_attr "mode" "DI")
-@@ -789,7 +816,7 @@
- (match_operand:SI 4 "arith_operand")])
- (label_ref (match_operand 5))
- (pc)))]
-- "TARGET_HARD_FLOAT"
-+ "TARGET_HARD_FLOAT && !TARGET_MB_64"
- [(set (match_dup 1) (match_dup 3))]
-
- {
-@@ -819,6 +846,15 @@
- (set_attr "mode" "SI")
- (set_attr "length" "4")])
-
-+(define_insn "negsi_long"
-+ [(set (match_operand:SI 0 "register_operand" "=d")
-+ (neg:SI (match_operand:DI 1 "register_operand" "d")))]
-+ ""
-+ "rsubk\t%0,%1,r0"
-+ [(set_attr "type" "arith")
-+ (set_attr "mode" "SI")
-+ (set_attr "length" "4")])
-+
- (define_insn "negdi2_long"
- [(set (match_operand:DI 0 "register_operand" "=d")
- (neg:DI (match_operand:DI 1 "register_operand" "d")))]
-@@ -847,16 +883,24 @@
- (set_attr "mode" "SI")
- (set_attr "length" "4")])
-
--(define_insn "one_cmpldi2_long"
-+(define_expand "one_cmpldi2"
-+ [(set (match_operand:DI 0 "register_operand" "")
-+ (not:DI (match_operand:DI 1 "register_operand" "")))]
-+ ""
-+ "
-+{
-+}")
-+
-+(define_insn ""
- [(set (match_operand:DI 0 "register_operand" "=d")
-- (not:DI (match_operand:DI 1 "register_operand" "d")))]
-+ (not:DI (match_operand:DI 1 "arith_operand" "d")))]
- "TARGET_MB_64"
- "xorli\t%0,%1,-1"
-- [(set_attr "type" "arith")
-+ [(set_attr "type" "no_delay_arith")
- (set_attr "mode" "DI")
- (set_attr "length" "4")])
-
--(define_insn "*one_cmpldi2"
-+(define_insn ""
- [(set (match_operand:DI 0 "register_operand" "=d")
- (not:DI (match_operand:DI 1 "register_operand" "d")))]
- ""
-@@ -871,7 +915,8 @@
- (not:DI (match_operand:DI 1 "register_operand" "")))]
- "reload_completed
- && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
-- && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))"
-+ && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
-+ && !TARGET_MB_64"
-
- [(set (subreg:SI (match_dup 0) 0) (not:SI (subreg:SI (match_dup 1) 0)))
- (set (subreg:SI (match_dup 0) 4) (not:SI (subreg:SI (match_dup 1) 4)))]
-@@ -883,18 +928,17 @@
- ;;----------------------------------------------------------------
-
- (define_insn "anddi3"
-- [(set (match_operand:DI 0 "register_operand" "=d,d")
-- (and:DI (match_operand:DI 1 "arith_operand" "d,d")
-- (match_operand:DI 2 "arith_operand" "d,K")))]
-+ [(set (match_operand:DI 0 "register_operand" "=d,d,d")
-+ (and:DI (match_operand:DI 1 "arith_operand" "d,d,d")
-+ (match_operand:DI 2 "arith_operand" "d,K,I")))]
- "TARGET_MB_64"
- "@
- andl\t%0,%1,%2
-- andli\t%0,%1,%2 #andl1"
-- ;; andli\t%0,%1,%2 #andl3
-- ;; andli\t%0,%1,%2 #andl2
-- [(set_attr "type" "arith,arith")
-- (set_attr "mode" "DI,DI")
-- (set_attr "length" "4,4")])
-+ andli\t%0,%1,%2 #andl2
-+ andli\t%0,%1,%2 #andl3"
-+ [(set_attr "type" "arith,no_delay_arith,no_delay_arith")
-+ (set_attr "mode" "DI,DI,DI")
-+ (set_attr "length" "4,4,4")])
-
- (define_insn "andsi3"
- [(set (match_operand:SI 0 "register_operand" "=d,d,d,d")
-@@ -919,7 +963,7 @@
- "@
- orl\t%0,%1,%2
- orli\t%0,%1,%2 #andl1"
-- [(set_attr "type" "arith,arith")
-+ [(set_attr "type" "arith,no_delay_arith")
- (set_attr "mode" "DI,DI")
- (set_attr "length" "4,4")])
-
-@@ -945,7 +989,7 @@
- "@
- xorl\t%0,%1,%2
- xorli\t%0,%1,%2 #andl1"
-- [(set_attr "type" "arith,arith")
-+ [(set_attr "type" "arith,no_delay_arith")
- (set_attr "mode" "DI,DI")
- (set_attr "length" "4,4")])
-
-@@ -1018,26 +1062,6 @@
- (set_attr "mode" "SI")
- (set_attr "length" "4")])
-
--;;(define_expand "extendqidi2"
--;; [(set (match_operand:DI 0 "register_operand" "=d")
--;; (sign_extend:DI (match_operand:QI 1 "general_operand" "d")))]
--;; "TARGET_MB_64"
--;; {
--;; if (GET_CODE (operands[1]) != REG)
--;; FAIL;
--;; }
--;;)
--
--
--;;(define_insn "extendqidi2"
--;; [(set (match_operand:DI 0 "register_operand" "=d")
--;; (sign_extend:DI (match_operand:QI 1 "register_operand" "d")))]
--;; "TARGET_MB_64"
--;; "sextl8\t%0,%1"
--;; [(set_attr "type" "arith")
--;; (set_attr "mode" "DI")
--;; (set_attr "length" "4")])
--
- (define_insn "extendhisi2"
- [(set (match_operand:SI 0 "register_operand" "=d")
- (sign_extend:SI (match_operand:HI 1 "register_operand" "d")))]
-@@ -1060,6 +1084,27 @@
- ;; Those for integer source operand are ordered
- ;; widest source type first.
-
-+(define_insn "extendsidi2_long"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d,d")
-+ (sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "d,R,m")))]
-+ "TARGET_MB_64"
-+ {
-+ switch (which_alternative)
-+ {
-+ case 0:
-+ return "sextl32\t%0,%1";
-+ case 1:
-+ case 2:
-+ {
-+ output_asm_insn ("ll%i1\t%0,%1", operands);
-+ return "sextl32\t%0,%0";
-+ }
-+ }
-+ }
-+ [(set_attr "type" "multi,multi,multi")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4,8,8")])
-+
- (define_insn "extendsidi2"
- [(set (match_operand:DI 0 "register_operand" "=d,d,d")
- (sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "d,R,m")))]
-@@ -1090,69 +1135,118 @@
- ;; Unlike most other insns, the move insns can't be split with
- ;; different predicates, because register spilling and other parts of
- ;; the compiler, have memoized the insn number already.
-+;; //}
-
- (define_expand "movdi"
- [(set (match_operand:DI 0 "nonimmediate_operand" "")
- (match_operand:DI 1 "general_operand" ""))]
- ""
- {
-- /* If operands[1] is a constant address illegal for pic, then we need to
-- handle it just like microblaze_legitimize_address does. */
-- if (flag_pic && pic_address_needs_scratch (operands[1]))
-+ if (TARGET_MB_64)
-+ {
-+ if (microblaze_expand_move (DImode, operands)) DONE;
-+ }
-+ else
- {
-+ /* If operands[1] is a constant address illegal for pic, then we need to
-+ handle it just like microblaze_legitimize_address does. */
-+ if (flag_pic && pic_address_needs_scratch (operands[1]))
-+ {
- rtx temp = force_reg (DImode, XEXP (XEXP (operands[1], 0), 0));
- rtx temp2 = XEXP (XEXP (operands[1], 0), 1);
- emit_move_insn (operands[0], gen_rtx_PLUS (DImode, temp, temp2));
- DONE;
-- }
--
--
-- if ((reload_in_progress | reload_completed) == 0
-- && !register_operand (operands[0], DImode)
-- && !register_operand (operands[1], DImode)
-- && (((GET_CODE (operands[1]) != CONST_INT || INTVAL (operands[1]) != 0)
-- && operands[1] != CONST0_RTX (DImode))))
-- {
-+ }
-
-- rtx temp = force_reg (DImode, operands[1]);
-- emit_move_insn (operands[0], temp);
-- DONE;
-+ if ((reload_in_progress | reload_completed) == 0
-+ && !register_operand (operands[0], DImode)
-+ && !register_operand (operands[1], DImode)
-+ && (((GET_CODE (operands[1]) != CONST_INT || INTVAL (operands[1]) != 0)
-+ && operands[1] != CONST0_RTX (DImode))))
-+ {
-+ rtx temp = force_reg (DImode, operands[1]);
-+ emit_move_insn (operands[0], temp);
-+ DONE;
-+ }
- }
- }
- )
-
-+;; Added for status registers
-+(define_insn "movdi_status"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d,z")
-+ (match_operand:DI 1 "register_operand" "z,d,d"))]
-+ "microblaze_is_interrupt_variant () && TARGET_MB_64"
-+ "@
-+ mfs\t%0,%1 #mfs
-+ addlk\t%0,%1,r0 #add movdi
-+ mts\t%0,%1 #mts"
-+ [(set_attr "type" "move")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "12")])
-
--(define_insn "*movdi_internal_64"
-- [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o")
-- (match_operand:DI 1 "general_operand" " d,K,J,R,o,d,d"))]
-- "TARGET_MB_64 && (INTVAL(operands[1]) < 0x7fffffffff) && (INTVAL(operands[1]) > 0xffffff8000000000)"
-+;; This move will be not be moved to delay slot.
-+(define_insn "*movdi_internal3"
-+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d")
-+ (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))]
-+ "TARGET_MB_64 && (register_operand (operands[0], DImode) &&
-+ (GET_CODE (operands[1]) == CONST_INT &&
-+ (INTVAL (operands[1]) <= (long)549755813887 && INTVAL (operands[1]) >= (long)-549755813888)))"
-+ "@
-+ addlk\t%0,r0,r0\t
-+ addlik\t%0,r0,%1\t #N1 %X1
-+ addlik\t%0,r0,%1\t #N2 %X1"
-+ [(set_attr "type" "arith,no_delay_arith,no_delay_arith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")])
-+
-+;; This move may be used for PLT label operand
-+(define_insn "*movdi_internal5_pltop"
-+ [(set (match_operand:DI 0 "register_operand" "=d,d")
-+ (match_operand:DI 1 "call_insn_operand" ""))]
-+ "TARGET_MB_64 && (register_operand (operands[0], Pmode) &&
-+ PLT_ADDR_P (operands[1]))"
-+ {
-+ gcc_unreachable ();
-+ }
-+ [(set_attr "type" "load")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")])
-+
-+(define_insn "*movdi_internal2"
-+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d, d,d,R,m")
-+ (match_operand:DI 1 "move_src_operand" " d,I,Mnis,R,m,dJ,dJ"))]
-+ "TARGET_MB_64"
- {
- switch (which_alternative)
- {
- case 0:
-- return "addlk\t%0,%1";
-- case 1:
-- return "addlik\t%0,r0,%1";
-- case 2:
-- return "addlk\t%0,r0,r0";
-- case 3:
-- case 4:
-- return "lli\t%0,%1";
-- case 5:
-- case 6:
-- return "sli\t%1,%0";
-- }
-- return "unreachable";
-- }
-- [(set_attr "type" "no_delay_move,no_delay_arith,no_delay_arith,no_delay_load,no_delay_load,no_delay_store,no_delay_store")
-+ return "addlk\t%0,%1,r0";
-+ case 1:
-+ case 2:
-+ if (GET_CODE (operands[1]) == CONST_INT &&
-+ (INTVAL (operands[1]) > (long)549755813887 || INTVAL (operands[1]) < (long)-549755813888))
-+ return "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
-+ else
-+ return "addlik\t%0,r0,%1";
-+ case 3:
-+ case 4:
-+ return "ll%i1\t%0,%1";
-+ case 5:
-+ case 6:
-+ return "sl%i0\t%z1,%0";
-+ }
-+ }
-+ [(set_attr "type" "load,no_delay_load,no_delay_load,no_delay_load,no_delay_load,no_delay_store,no_delay_store")
- (set_attr "mode" "DI")
-- (set_attr "length" "8,8,8,8,12,8,12")])
-+ (set_attr "length" "4,4,12,4,8,4,8")])
-+
-
-
- (define_insn "*movdi_internal"
- [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o")
- (match_operand:DI 1 "general_operand" " d,i,J,R,o,d,d"))]
-- ""
-+ "!TARGET_MB_64"
- {
- switch (which_alternative)
- {
-@@ -1184,7 +1278,8 @@
- "reload_completed
- && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
- && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
-- && (REGNO(operands[0]) == (REGNO(operands[1]) + 1))"
-+ && (REGNO(operands[0]) == (REGNO(operands[1]) + 1))
-+ && !(TARGET_MB_64)"
-
- [(set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))
- (set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))]
-@@ -1196,12 +1291,22 @@
- "reload_completed
- && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
- && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
-- && (REGNO (operands[0]) != (REGNO (operands[1]) + 1))"
-+ && (REGNO (operands[0]) != (REGNO (operands[1]) + 1))
-+ && !(TARGET_MB_64)"
-
- [(set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))
- (set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))]
- "")
-
-+(define_insn "movdi_long_int"
-+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
-+ (match_operand:DI 1 "general_operand" "i"))]
-+ ""
-+ "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
-+ [(set_attr "type" "no_delay_arith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "12")])
-+
- ;; Unlike most other insns, the move insns can't be split with
- ;; different predicates, because register spilling and other parts of
- ;; the compiler, have memoized the insn number already.
-@@ -1273,6 +1378,8 @@
- (set_attr "length" "4,4,8,4,8,4,8")])
-
-
-+
-+
- ;; 16-bit Integer moves
-
- ;; Unlike most other insns, the move insns can't be split with
-@@ -1305,8 +1412,8 @@
- "@
- addik\t%0,r0,%1\t# %X1
- addk\t%0,%1,r0
-- lhui\t%0,%1
-- lhui\t%0,%1
-+ lhu%i1\t%0,%1
-+ lhu%i1\t%0,%1
- sh%i0\t%z1,%0
- sh%i0\t%z1,%0"
- [(set_attr "type" "arith,move,load,no_delay_load,store,no_delay_store")
-@@ -1349,7 +1456,7 @@
- lbu%i1\t%0,%1
- lbu%i1\t%0,%1
- sb%i0\t%z1,%0
-- sbi\t%z1,%0"
-+ sb%i0\t%z1,%0"
- [(set_attr "type" "arith,arith,move,load,no_delay_load,store,no_delay_store")
- (set_attr "mode" "QI")
- (set_attr "length" "4,4,8,4,8,4,8")])
-@@ -1422,7 +1529,7 @@
- addik\t%0,r0,%F1
- lw%i1\t%0,%1
- sw%i0\t%z1,%0
-- swi\t%z1,%0"
-+ sw%i0\t%z1,%0"
- [(set_attr "type" "move,no_delay_load,load,no_delay_load,no_delay_load,store,no_delay_store")
- (set_attr "mode" "SF")
- (set_attr "length" "4,4,4,4,4,4,4")])
-@@ -1461,6 +1568,33 @@
- ;; movdf_internal
- ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT
- ;;
-+(define_insn "*movdf_internal_64"
-+ [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,d,m")
-+ (match_operand:DF 1 "general_operand" "d,dG,m,F,T,d"))]
-+ "TARGET_MB_64"
-+ {
-+ switch (which_alternative)
-+ {
-+ case 0:
-+ return "addlk\t%0,%1,r0";
-+ case 1:
-+ return "addlk\t%0,r0,r0";
-+ case 2:
-+ case 4:
-+ return "ll%i1\t%0,%1";
-+ case 3:
-+ {
-+ return "addlik\t%0,r0,%h1 \n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #Xfer Lo";
-+ }
-+ case 5:
-+ return "sl%i0\t%1,%0";
-+ }
-+ gcc_unreachable ();
-+ }
-+ [(set_attr "type" "no_delay_move,no_delay_move,no_delay_load,no_delay_load,no_delay_load,no_delay_store")
-+ (set_attr "mode" "DF")
-+ (set_attr "length" "4,4,4,16,4,4")])
-+
- (define_insn "*movdf_internal"
- [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,o")
- (match_operand:DF 1 "general_operand" "dG,o,F,T,d"))]
-@@ -1495,7 +1629,8 @@
- "reload_completed
- && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
- && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
-- && (REGNO (operands[0]) == (REGNO (operands[1]) + 1))"
-+ && (REGNO (operands[0]) == (REGNO (operands[1]) + 1))
-+ && !TARGET_MB_64"
- [(set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))
- (set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))]
- "")
-@@ -1506,7 +1641,8 @@
- "reload_completed
- && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
- && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
-- && (REGNO (operands[0]) != (REGNO (operands[1]) + 1))"
-+ && (REGNO (operands[0]) != (REGNO (operands[1]) + 1))
-+ && !TARGET_MB_64"
- [(set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))
- (set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))]
- "")
-@@ -2006,6 +2142,31 @@ else
- "
- )
-
-+
-+(define_insn "seq_internal_pat_long"
-+ [(set (match_operand:DI 0 "register_operand" "=d")
-+ (eq:DI
-+ (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "pcmpleq\t%0,%1,%2"
-+ [(set_attr "type" "arith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")]
-+)
-+
-+(define_insn "sne_internal_pat_long"
-+ [(set (match_operand:DI 0 "register_operand" "=d")
-+ (ne:DI
-+ (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "pcmplne\t%0,%1,%2"
-+ [(set_attr "type" "arith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")]
-+)
-+
- (define_insn "seq_internal_pat"
- [(set (match_operand:SI 0 "register_operand" "=d")
- (eq:SI
-@@ -2066,8 +2227,8 @@ else
- (define_expand "cbranchsi4"
- [(set (pc)
- (if_then_else (match_operator 0 "ordered_comparison_operator"
-- [(match_operand:SI 1 "register_operand")
-- (match_operand:SI 2 "arith_operand" "I,i")])
-+ [(match_operand 1 "register_operand")
-+ (match_operand 2 "arith_operand" "I,i")])
- (label_ref (match_operand 3 ""))
- (pc)))]
- ""
-@@ -2079,13 +2240,13 @@ else
- (define_expand "cbranchsi4_reg"
- [(set (pc)
- (if_then_else (match_operator 0 "ordered_comparison_operator"
-- [(match_operand:SI 1 "register_operand")
-- (match_operand:SI 2 "register_operand")])
-+ [(match_operand 1 "register_operand")
-+ (match_operand 2 "register_operand")])
- (label_ref (match_operand 3 ""))
- (pc)))]
- ""
- {
-- microblaze_expand_conditional_branch_reg (SImode, operands);
-+ microblaze_expand_conditional_branch_reg (Pmode, operands);
- DONE;
- })
-
-@@ -2110,6 +2271,26 @@ else
- (label_ref (match_operand 1))
- (pc)))])
-
-+(define_insn "branch_zero64"
-+ [(set (pc)
-+ (if_then_else (match_operator 0 "ordered_comparison_operator"
-+ [(match_operand 1 "register_operand" "d")
-+ (const_int 0)])
-+ (match_operand 2 "pc_or_label_operand" "")
-+ (match_operand 3 "pc_or_label_operand" "")))
-+ ]
-+ "TARGET_MB_64"
-+ {
-+ if (operands[3] == pc_rtx)
-+ return "bea%C0i%?\t%z1,%2";
-+ else
-+ return "bea%N0i%?\t%z1,%3";
-+ }
-+ [(set_attr "type" "branch")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "4")]
-+)
-+
- (define_insn "branch_zero"
- [(set (pc)
- (if_then_else (match_operator:SI 0 "ordered_comparison_operator"
-@@ -2130,6 +2311,47 @@ else
- (set_attr "length" "4")]
- )
-
-+(define_insn "branch_compare64"
-+ [(set (pc)
-+ (if_then_else (match_operator 0 "cmp_op"
-+ [(match_operand 1 "register_operand" "d")
-+ (match_operand 2 "register_operand" "d")
-+ ])
-+ (label_ref (match_operand 3))
-+ (pc)))
-+ (clobber(reg:SI R_TMP))]
-+ "TARGET_MB_64"
-+ {
-+ operands[4] = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
-+ enum rtx_code code = GET_CODE (operands[0]);
-+
-+ if (code == GT || code == LE)
-+ {
-+ output_asm_insn ("cmp\tr18,%z1,%z2", operands);
-+ code = swap_condition (code);
-+ }
-+ else if (code == GTU || code == LEU)
-+ {
-+ output_asm_insn ("cmpu\tr18,%z1,%z2", operands);
-+ code = swap_condition (code);
-+ }
-+ else if (code == GE || code == LT)
-+ {
-+ output_asm_insn ("cmp\tr18,%z2,%z1", operands);
-+ }
-+ else if (code == GEU || code == LTU)
-+ {
-+ output_asm_insn ("cmpu\tr18,%z2,%z1", operands);
-+ }
-+
-+ operands[0] = gen_rtx_fmt_ee (signed_condition (code), SImode, operands[4], const0_rtx);
-+ return "bea%C0i%?\tr18,%3";
-+ }
-+ [(set_attr "type" "branch")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "12")]
-+)
-+
- (define_insn "branch_compare"
- [(set (pc)
- (if_then_else (match_operator:SI 0 "cmp_op"
-@@ -2313,7 +2535,7 @@ else
- ;; Indirect jumps. Jump to register values. Assuming absolute jumps
-
- (define_insn "indirect_jump_internal1"
-- [(set (pc) (match_operand:SI 0 "register_operand" "d"))]
-+ [(set (pc) (match_operand 0 "register_operand" "d"))]
- ""
- "bra%?\t%0"
- [(set_attr "type" "jump")
-@@ -2326,7 +2548,7 @@ else
- (use (label_ref (match_operand 1 "" "")))]
- ""
- {
-- gcc_assert (GET_MODE (operands[0]) == Pmode);
-+ //gcc_assert (GET_MODE (operands[0]) == Pmode);
-
- if (!flag_pic || TARGET_PIC_DATA_TEXT_REL)
- emit_jump_insn (gen_tablejump_internal1 (operands[0], operands[1]));
-@@ -2338,7 +2560,7 @@ else
-
- (define_insn "tablejump_internal1"
- [(set (pc)
-- (match_operand:SI 0 "register_operand" "d"))
-+ (match_operand 0 "register_operand" "d"))
- (use (label_ref (match_operand 1 "" "")))]
- ""
- "bra%?\t%0 "
-@@ -2348,9 +2570,9 @@ else
-
- (define_expand "tablejump_internal3"
- [(parallel [(set (pc)
-- (plus:SI (match_operand:SI 0 "register_operand" "d")
-- (label_ref:SI (match_operand:SI 1 "" ""))))
-- (use (label_ref:SI (match_dup 1)))])]
-+ (plus (match_operand 0 "register_operand" "d")
-+ (label_ref (match_operand:SI 1 "" ""))))
-+ (use (label_ref (match_dup 1)))])]
- ""
- ""
- )
-@@ -2411,7 +2633,7 @@ else
- (minus (reg 1) (match_operand 1 "register_operand" "")))
- (set (reg 1)
- (minus (reg 1) (match_dup 1)))]
-- ""
-+ "!TARGET_MB_64"
- {
- rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx);
- rtx reg = gen_reg_rtx (Pmode);
-@@ -2436,7 +2658,7 @@ else
- (define_expand "save_stack_block"
- [(match_operand 0 "register_operand" "")
- (match_operand 1 "register_operand" "")]
-- ""
-+ "!TARGET_MB_64"
- {
- emit_move_insn (operands[0], operands[1]);
- DONE;
-@@ -2446,7 +2668,7 @@ else
- (define_expand "restore_stack_block"
- [(match_operand 0 "register_operand" "")
- (match_operand 1 "register_operand" "")]
-- ""
-+ "!TARGET_MB_64"
- {
- rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx);
- rtx rtmp = gen_rtx_REG (SImode, R_TMP);
-@@ -2493,7 +2715,7 @@ else
-
- (define_insn "<optab>_internal"
- [(any_return)
-- (use (match_operand:SI 0 "register_operand" ""))]
-+ (use (match_operand 0 "register_operand" ""))]
- ""
- {
- if (microblaze_is_break_handler ())
-@@ -2526,7 +2748,7 @@ else
- (define_expand "call"
- [(parallel [(call (match_operand 0 "memory_operand" "m")
- (match_operand 1 "" "i"))
-- (clobber (reg:SI R_SR))
-+ (clobber (reg R_SR))
- (use (match_operand 2 "" ""))
- (use (match_operand 3 "" ""))])]
- ""
-@@ -2547,12 +2769,12 @@ else
-
- if (GET_CODE (XEXP (operands[0], 0)) == UNSPEC)
- emit_call_insn (gen_call_internal_plt0 (operands[0], operands[1],
-- gen_rtx_REG (SImode,
-+ gen_rtx_REG (Pmode,
- GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM),
- pic_offset_table_rtx));
- else
- emit_call_insn (gen_call_internal0 (operands[0], operands[1],
-- gen_rtx_REG (SImode,
-+ gen_rtx_REG (Pmode,
- GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)));
-
- DONE;
-@@ -2562,7 +2784,7 @@ else
- (define_expand "call_internal0"
- [(parallel [(call (match_operand 0 "" "")
- (match_operand 1 "" ""))
-- (clobber (match_operand:SI 2 "" ""))])]
-+ (clobber (match_operand 2 "" ""))])]
- ""
- {
- }
-@@ -2571,18 +2793,34 @@ else
- (define_expand "call_internal_plt0"
- [(parallel [(call (match_operand 0 "" "")
- (match_operand 1 "" ""))
-- (clobber (match_operand:SI 2 "" ""))
-- (use (match_operand:SI 3 "" ""))])]
-+ (clobber (match_operand 2 "" ""))
-+ (use (match_operand 3 "" ""))])]
- ""
- {
- }
- )
-
-+(define_insn "call_internal_plt_64"
-+ [(call (mem (match_operand 0 "call_insn_plt_operand" ""))
-+ (match_operand 1 "" "i"))
-+ (clobber (reg R_SR))
-+ (use (reg R_GOT))]
-+ "flag_pic && TARGET_MB_64"
-+ {
-+ register rtx target2 = gen_rtx_REG (Pmode,
-+ GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM);
-+ gen_rtx_CLOBBER (VOIDmode, target2);
-+ return "brealid\tr15,%0\;%#";
-+ }
-+ [(set_attr "type" "call")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "4")])
-+
- (define_insn "call_internal_plt"
-- [(call (mem (match_operand:SI 0 "call_insn_plt_operand" ""))
-- (match_operand:SI 1 "" "i"))
-- (clobber (reg:SI R_SR))
-- (use (reg:SI R_GOT))]
-+ [(call (mem (match_operand 0 "call_insn_plt_operand" ""))
-+ (match_operand 1 "" "i"))
-+ (clobber (reg R_SR))
-+ (use (reg R_GOT))]
- "flag_pic"
- {
- register rtx target2 = gen_rtx_REG (Pmode,
-@@ -2594,10 +2832,41 @@ else
- (set_attr "mode" "none")
- (set_attr "length" "4")])
-
-+(define_insn "call_internal1_64"
-+ [(call (mem (match_operand:VOID 0 "call_insn_simple_operand" "ri"))
-+ (match_operand 1 "" "i"))
-+ (clobber (reg R_SR))]
-+ "TARGET_MB_64"
-+ {
-+ register rtx target = operands[0];
-+ register rtx target2 = gen_rtx_REG (Pmode,
-+ GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM);
-+ if (GET_CODE (target) == SYMBOL_REF) {
-+ if (microblaze_break_function_p (SYMBOL_REF_DECL (target))) {
-+ gen_rtx_CLOBBER (VOIDmode, target2);
-+ return "breaki\tr16,%0\;%#";
-+ }
-+ else {
-+ gen_rtx_CLOBBER (VOIDmode, target2);
-+ return "brealid\tr15,%0\;%#";
-+ }
-+ } else if (GET_CODE (target) == CONST_INT)
-+ return "la\t%@,r0,%0\;brald\tr15,%@\;%#";
-+ else if (GET_CODE (target) == REG)
-+ return "brald\tr15,%0\;%#";
-+ else {
-+ fprintf (stderr,"Unsupported call insn\n");
-+ return NULL;
-+ }
-+ }
-+ [(set_attr "type" "call")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "4")])
-+
- (define_insn "call_internal1"
- [(call (mem (match_operand:VOID 0 "call_insn_simple_operand" "ri"))
-- (match_operand:SI 1 "" "i"))
-- (clobber (reg:SI R_SR))]
-+ (match_operand 1 "" "i"))
-+ (clobber (reg R_SR))]
- ""
- {
- register rtx target = operands[0];
-@@ -2631,7 +2900,7 @@ else
- [(parallel [(set (match_operand 0 "register_operand" "=d")
- (call (match_operand 1 "memory_operand" "m")
- (match_operand 2 "" "i")))
-- (clobber (reg:SI R_SR))
-+ (clobber (reg R_SR))
- (use (match_operand 3 "" ""))])] ;; next_arg_reg
- ""
- {
-@@ -2652,13 +2921,13 @@ else
- if (GET_CODE (XEXP (operands[1], 0)) == UNSPEC)
- emit_call_insn (gen_call_value_intern_plt0 (operands[0], operands[1],
- operands[2],
-- gen_rtx_REG (SImode,
-+ gen_rtx_REG (Pmode,
- GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM),
- pic_offset_table_rtx));
- else
- emit_call_insn (gen_call_value_internal (operands[0], operands[1],
- operands[2],
-- gen_rtx_REG (SImode,
-+ gen_rtx_REG (Pmode,
- GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)));
-
- DONE;
-@@ -2670,7 +2939,7 @@ else
- [(parallel [(set (match_operand 0 "" "")
- (call (match_operand 1 "" "")
- (match_operand 2 "" "")))
-- (clobber (match_operand:SI 3 "" ""))
-+ (clobber (match_operand 3 "" ""))
- ])]
- ""
- {}
-@@ -2680,18 +2949,35 @@ else
- [(parallel[(set (match_operand 0 "" "")
- (call (match_operand 1 "" "")
- (match_operand 2 "" "")))
-- (clobber (match_operand:SI 3 "" ""))
-- (use (match_operand:SI 4 "" ""))])]
-+ (clobber (match_operand 3 "" ""))
-+ (use (match_operand 4 "" ""))])]
- "flag_pic"
- {}
- )
-
-+(define_insn "call_value_intern_plt_64"
-+ [(set (match_operand:VOID 0 "register_operand" "=d")
-+ (call (mem (match_operand 1 "call_insn_plt_operand" ""))
-+ (match_operand 2 "" "i")))
-+ (clobber (match_operand 3 "register_operand" "=d"))
-+ (use (match_operand 4 "register_operand"))]
-+ "flag_pic && TARGET_MB_64"
-+ {
-+ register rtx target2=gen_rtx_REG (Pmode,GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM);
-+
-+ gen_rtx_CLOBBER (VOIDmode,target2);
-+ return "brealid\tr15,%1\;%#";
-+ }
-+ [(set_attr "type" "call")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "4")])
-+
- (define_insn "call_value_intern_plt"
- [(set (match_operand:VOID 0 "register_operand" "=d")
-- (call (mem (match_operand:SI 1 "call_insn_plt_operand" ""))
-- (match_operand:SI 2 "" "i")))
-- (clobber (match_operand:SI 3 "register_operand" "=d"))
-- (use (match_operand:SI 4 "register_operand"))]
-+ (call (mem (match_operand 1 "call_insn_plt_operand" ""))
-+ (match_operand 2 "" "i")))
-+ (clobber (match_operand 3 "register_operand" "=d"))
-+ (use (match_operand 4 "register_operand"))]
- "flag_pic"
- {
- register rtx target2=gen_rtx_REG (Pmode,GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM);
-@@ -2703,11 +2989,46 @@ else
- (set_attr "mode" "none")
- (set_attr "length" "4")])
-
-+(define_insn "call_value_intern_64"
-+ [(set (match_operand:VOID 0 "register_operand" "=d")
-+ (call (mem (match_operand:VOID 1 "call_insn_operand" "ri"))
-+ (match_operand 2 "" "i")))
-+ (clobber (match_operand 3 "register_operand" "=d"))]
-+ "TARGET_MB_64"
-+ {
-+ register rtx target = operands[1];
-+ register rtx target2=gen_rtx_REG (Pmode,GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM);
-+
-+ if (GET_CODE (target) == SYMBOL_REF)
-+ {
-+ gen_rtx_CLOBBER (VOIDmode,target2);
-+ if (microblaze_break_function_p (SYMBOL_REF_DECL (target)))
-+ return "breaki\tr16,%1\;%#";
-+ else if (SYMBOL_REF_FLAGS (target) & SYMBOL_FLAG_FUNCTION)
-+ {
-+ return "brealid\tr15,%1\;%#";
-+ }
-+ else
-+ {
-+ return "bralid\tr15,%1\;%#";
-+ }
-+ }
-+ else if (GET_CODE (target) == CONST_INT)
-+ return "la\t%@,r0,%1\;brald\tr15,%@\;%#";
-+ else if (GET_CODE (target) == REG)
-+ return "brald\tr15,%1\;%#";
-+ else
-+ return "Unsupported call insn\n";
-+ }
-+ [(set_attr "type" "call")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "4")])
-+
- (define_insn "call_value_intern"
- [(set (match_operand:VOID 0 "register_operand" "=d")
- (call (mem (match_operand:VOID 1 "call_insn_operand" "ri"))
-- (match_operand:SI 2 "" "i")))
-- (clobber (match_operand:SI 3 "register_operand" "=d"))]
-+ (match_operand 2 "" "i")))
-+ (clobber (match_operand 3 "register_operand" "=d"))]
- ""
- {
- register rtx target = operands[1];
-@@ -2881,7 +3202,6 @@ else
-
- ;;if (!register_operand (operands[0], VOIDmode))
- ;; FAIL;
--
- emit_insn (gen_insv_32 (operands[0], operands[1],
- operands[2], operands[3]));
- DONE;
-diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
-index e9a1921ae26..9fc80b142ce 100644
---- a/gcc/config/microblaze/t-microblaze
-+++ b/gcc/config/microblaze/t-microblaze
-@@ -2,7 +2,8 @@ MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high mlittle-en
- MULTILIB_DIRNAMES = bs m mh le m64
- MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
- MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
--MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64
-+MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian/m64
-+MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64 mxl-multiply-high
- MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
- MULTILIB_EXCEPTIONS += mxl-multiply-high/m64
- MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64
-diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S
-index d0146083db6..005825f1ec5 100644
---- a/libgcc/config/microblaze/crti.S
-+++ b/libgcc/config/microblaze/crti.S
-@@ -40,7 +40,7 @@
-
- .align 2
- __init:
-- addik r1, r1, -8
-+ addik r1, r1, -16
- sw r15, r0, r1
- la r11, r0, _stack
- mts rshr, r11
-@@ -51,5 +51,5 @@ __init:
- .global __fini
- .align 2
- __fini:
-- addik r1, r1, -8
-+ addik r1, r1, -16
- sw r15, r0, r1
-diff --git a/libgcc/config/microblaze/crtn.S b/libgcc/config/microblaze/crtn.S
-index 2fff5ac04c7..5705eff9a4a 100644
---- a/libgcc/config/microblaze/crtn.S
-+++ b/libgcc/config/microblaze/crtn.S
-@@ -33,9 +33,9 @@
- .section .init, "ax"
- lw r15, r0, r1
- rtsd r15, 8
-- addik r1, r1, 8
-+ addik r1, r1, 16
-
- .section .fini, "ax"
- lw r15, r0, r1
- rtsd r15, 8
-- addik r1, r1, 8
-+ addik r1, r1, 16
-diff --git a/libgcc/config/microblaze/divdi3.S b/libgcc/config/microblaze/divdi3.S
-new file mode 100644
-index 00000000000..d37bf5165c6
---- /dev/null
-+++ b/libgcc/config/microblaze/divdi3.S
-@@ -0,0 +1,98 @@
-+###################################-
-+#
-+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
-+#
-+# Contributed by Michael Eager <eager@eagercon.com>.
-+#
-+# This file is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License as published by the
-+# Free Software Foundation; either version 3, or (at your option) any
-+# later version.
-+#
-+# GCC is distributed in the hope that it will be useful, but WITHOUT
-+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-+# License for more details.
-+#
-+# Under Section 7 of GPL version 3, you are granted additional
-+# permissions described in the GCC Runtime Library Exception, version
-+# 3.1, as published by the Free Software Foundation.
-+#
-+# You should have received a copy of the GNU General Public License and
-+# a copy of the GCC Runtime Library Exception along with this program;
-+# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+# <http://www.gnu.org/licenses/>.
-+#
-+# divdi3.S
-+#
-+# Divide operation for 32 bit integers.
-+# Input : Dividend in Reg r5
-+# Divisor in Reg r6
-+# Output: Result in Reg r3
-+#
-+#######################################
-+
-+#ifdef __arch64__
-+ .globl __divdi3
-+ .ent __divdi3
-+ .type __divdi3,@function
-+__divdi3:
-+ .frame r1,0,r15
-+
-+ ADDLIK r1,r1,-32
-+ SLI r28,r1,0
-+ SLI r29,r1,8
-+ SLI r30,r1,16
-+ SLI r31,r1,24
-+
-+ BEALEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
-+ BEALEQI r5,$LaResult_Is_Zero # Result is Zero
-+ XORL r28,r5,r6 # Get the sign of the result
-+ BEALGEI r5,$LaR5_Pos
-+ RSUBLI r5,r5,0 # Make r5 positive
-+$LaR5_Pos:
-+ BEALGEI r6,$LaR6_Pos
-+ RSUBLI r6,r6,0 # Make r6 positive
-+$LaR6_Pos:
-+ ADDLIK r30,r0,0 # Clear mod
-+ ADDLIK r3,r0,0 # clear div
-+ ADDLIK r29,r0,64 # Initialize the loop count
-+
-+ # First part try to find the first '1' in the r5
-+$LaDIV0:
-+ BEALLTI r5,$LaDIV2 # This traps r5 == 0x80000000
-+$LaDIV1:
-+ ADDL r5,r5,r5 # left shift logical r5
-+ ADDLIK r29,r29,-1
-+ BEALGTI r5,$LaDIV1
-+$LaDIV2:
-+ ADDL r5,r5,r5 # left shift logical r5 get the '1' into the Carry
-+ ADDLC r30,r30,r30 # Move that bit into the Mod register
-+ RSUBL r31,r6,r30 # Try to subtract (r30 a r6)
-+ BEALLTI r31,$LaMOD_TOO_SMALL
-+ ORL r30,r0,r31 # Move the r31 to mod since the result was positive
-+ ADDLIK r3,r3,1
-+$LaMOD_TOO_SMALL:
-+ ADDLIK r29,r29,-1
-+ BEALEQi r29,$LaLOOP_END
-+ ADDL r3,r3,r3 # Shift in the '1' into div
-+ BREAI $LaDIV2 # Div2
-+$LaLOOP_END:
-+ BEALGEI r28,$LaRETURN_HERE
-+ RSUBLI r3,r3,0 # Negate the result
-+ BREAI $LaRETURN_HERE
-+$LaDiv_By_Zero:
-+$LaResult_Is_Zero:
-+ ORL r3,r0,r0 # set result to 0
-+$LaRETURN_HERE:
-+# Restore values of CSRs and that of r3 and the divisor and the dividend
-+ LLI r28,r1,0
-+ LLI r29,r1,8
-+ LLI r30,r1,16
-+ LLI r31,r1,24
-+ ADDLIK r1,r1,32
-+ RTSD r15,8
-+ nop
-+.end __divdi3
-+ .size __divdi3, . - __divdi3
-+#endif
-diff --git a/libgcc/config/microblaze/divdi3_table.c b/libgcc/config/microblaze/divdi3_table.c
-new file mode 100644
-index 00000000000..80962597ea5
---- /dev/null
-+++ b/libgcc/config/microblaze/divdi3_table.c
-@@ -0,0 +1,62 @@
-+/* Table for software lookup divide for Xilinx MicroBlaze.
-+
-+ Copyright (C) 2009-2017 Free Software Foundation, Inc.
-+
-+ Contributed by Michael Eager <eager@eagercon.com>.
-+
-+ This file is free software; you can redistribute it and/or modify it
-+ under the terms of the GNU General Public License as published by the
-+ Free Software Foundation; either version 3, or (at your option) any
-+ later version.
-+
-+ GCC is distributed in the hope that it will be useful, but WITHOUT
-+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-+ License for more details.
-+
-+ Under Section 7 of GPL version 3, you are granted additional
-+ permissions described in the GCC Runtime Library Exception, version
-+ 3.1, as published by the Free Software Foundation.
-+
-+ You should have received a copy of the GNU General Public License and
-+ a copy of the GCC Runtime Library Exception along with this program;
-+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+
-+unsigned char _divdi3_table[] =
-+{
-+ 0, 0/1, 0/2, 0/3, 0/4, 0/5, 0/6, 0/7,
-+ 0/8, 0/9, 0/10, 0/11, 0/12, 0/13, 0/14, 0/15,
-+ 0, 1/1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/7,
-+ 1/8, 1/9, 1/10, 1/11, 1/12, 1/13, 1/14, 1/15,
-+ 0, 2/1, 2/2, 2/3, 2/4, 2/5, 2/6, 2/7,
-+ 2/8, 2/9, 2/10, 2/11, 2/12, 2/13, 2/14, 2/15,
-+ 0, 3/1, 3/2, 3/3, 3/4, 3/5, 3/6, 3/7,
-+ 3/8, 3/9, 3/10, 3/11, 3/12, 3/13, 3/14, 3/15,
-+ 0, 4/1, 4/2, 4/3, 4/4, 4/5, 4/6, 4/7,
-+ 4/8, 4/9, 4/10, 4/11, 4/12, 4/13, 4/14, 4/15,
-+ 0, 5/1, 5/2, 5/3, 5/4, 5/5, 5/6, 5/7,
-+ 5/8, 5/9, 5/10, 5/11, 5/12, 5/13, 5/14, 5/15,
-+ 0, 6/1, 6/2, 6/3, 6/4, 6/5, 6/6, 6/7,
-+ 6/8, 6/9, 6/10, 6/11, 6/12, 6/13, 6/14, 6/15,
-+ 0, 7/1, 7/2, 7/3, 7/4, 7/5, 7/6, 7/7,
-+ 7/8, 7/9, 7/10, 7/11, 7/12, 7/13, 7/14, 7/15,
-+ 0, 8/1, 8/2, 8/3, 8/4, 8/5, 8/6, 8/7,
-+ 8/8, 8/9, 8/10, 8/11, 8/12, 8/13, 8/14, 8/15,
-+ 0, 9/1, 9/2, 9/3, 9/4, 9/5, 9/6, 9/7,
-+ 9/8, 9/9, 9/10, 9/11, 9/12, 9/13, 9/14, 9/15,
-+ 0, 10/1, 10/2, 10/3, 10/4, 10/5, 10/6, 10/7,
-+ 10/8, 10/9, 10/10, 10/11, 10/12, 10/13, 10/14, 10/15,
-+ 0, 11/1, 11/2, 11/3, 11/4, 11/5, 11/6, 11/7,
-+ 11/8, 11/9, 11/10, 11/11, 11/12, 11/13, 11/14, 11/15,
-+ 0, 12/1, 12/2, 12/3, 12/4, 12/5, 12/6, 12/7,
-+ 12/8, 12/9, 12/10, 12/11, 12/12, 12/13, 12/14, 12/15,
-+ 0, 13/1, 13/2, 13/3, 13/4, 13/5, 13/6, 13/7,
-+ 13/8, 13/9, 13/10, 13/11, 13/12, 13/13, 13/14, 13/15,
-+ 0, 14/1, 14/2, 14/3, 14/4, 14/5, 14/6, 14/7,
-+ 14/8, 14/9, 14/10, 14/11, 14/12, 14/13, 14/14, 14/15,
-+ 0, 15/1, 15/2, 15/3, 15/4, 15/5, 15/6, 15/7,
-+ 15/8, 15/9, 15/10, 15/11, 15/12, 15/13, 15/14, 15/15,
-+};
-+
-diff --git a/libgcc/config/microblaze/moddi3.S b/libgcc/config/microblaze/moddi3.S
-new file mode 100644
-index 00000000000..5d3f7c03fc8
---- /dev/null
-+++ b/libgcc/config/microblaze/moddi3.S
-@@ -0,0 +1,97 @@
-+###################################
-+#
-+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
-+#
-+# Contributed by Michael Eager <eager@eagercon.com>.
-+#
-+# This file is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License as published by the
-+# Free Software Foundation; either version 3, or (at your option) any
-+# later version.
-+#
-+# GCC is distributed in the hope that it will be useful, but WITHOUT
-+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-+# License for more details.
-+#
-+# Under Section 7 of GPL version 3, you are granted additional
-+# permissions described in the GCC Runtime Library Exception, version
-+# 3.1, as published by the Free Software Foundation.
-+#
-+# You should have received a copy of the GNU General Public License and
-+# a copy of the GCC Runtime Library Exception along with this program;
-+# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+# <http://www.gnu.org/licenses/>.
-+#
-+# moddi3.S
-+#
-+# modulo operation for 32 bit integers.
-+# Input : op1 in Reg r5
-+# op2 in Reg r6
-+# Output: op1 mod op2 in Reg r3
-+#
-+#######################################
-+
-+#ifdef __arch64__
-+ .globl __moddi3
-+ .ent __moddi3
-+ .type __moddi3,@function
-+__moddi3:
-+ .frame r1,0,r15
-+
-+ addlik r1,r1,-32
-+ sli r28,r1,0
-+ sli r29,r1,8
-+ sli r30,r1,16
-+ sli r31,r1,32
-+
-+ BEALEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
-+ BEALEQI r5,$LaResult_Is_Zero # Result is Zero
-+ ADDL r28,r5,r0 # Get the sign of the result [ Depends only on the first arg]
-+ BEALGEI r5,$LaR5_Pos
-+ RSUBLI r5,r5,0 # Make r5 positive
-+$LaR5_Pos:
-+ BEALGEI r6,$LaR6_Pos
-+ RSUBLI r6,r6,0 # Make r6 positive
-+$LaR6_Pos:
-+ ADDLIK r3,r0,0 # Clear mod
-+ ADDLIK r30,r0,0 # clear div
-+ ADDLIK r29,r0,64 # Initialize the loop count
-+ BEALLTI r5,$LaDIV2 # If r5 is still negative (0x80000000), skip
-+ # the first bit search.
-+ # First part try to find the first '1' in the r5
-+$LaDIV1:
-+ ADDL r5,r5,r5 # left shift logical r5
-+ ADDLIK r29,r29,-1
-+ BEALGEI r5,$LaDIV1 #
-+$LaDIV2:
-+ ADDL r5,r5,r5 # left shift logical r5 get the '1' into the Carry
-+ ADDLC r3,r3,r3 # Move that bit into the Mod register
-+ rSUBL r31,r6,r3 # Try to subtract (r30 a r6)
-+ BEALLTi r31,$LaMOD_TOO_SMALL
-+ ORL r3,r0,r31 # Move the r31 to mod since the result was positive
-+ ADDLIK r30,r30,1
-+$LaMOD_TOO_SMALL:
-+ ADDLIK r29,r29,-1
-+ BEALEQi r29,$LaLOOP_END
-+ ADDL r30,r30,r30 # Shift in the '1' into div
-+ BREAI $LaDIV2 # Div2
-+$LaLOOP_END:
-+ BEALGEI r28,$LaRETURN_HERE
-+ rsubli r3,r3,0 # Negate the result
-+ BREAI $LaRETURN_HERE
-+$LaDiv_By_Zero:
-+$LaResult_Is_Zero:
-+ orl r3,r0,r0 # set result to 0 [Both mod as well as div are 0]
-+$LaRETURN_HERE:
-+# Restore values of CSRs and that of r3 and the divisor and the dividend
-+ lli r28,r1,0
-+ lli r29,r1,8
-+ lli r30,r1,16
-+ lli r31,r1,24
-+ addlik r1,r1,32
-+ rtsd r15,8
-+ nop
-+ .end __moddi3
-+ .size __moddi3, . - __moddi3
-+#endif
-diff --git a/libgcc/config/microblaze/muldi3.S b/libgcc/config/microblaze/muldi3.S
-new file mode 100644
-index 00000000000..567784197d3
---- /dev/null
-+++ b/libgcc/config/microblaze/muldi3.S
-@@ -0,0 +1,73 @@
-+/*###################################-*-asm*-
-+#
-+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
-+#
-+# Contributed by Michael Eager <eager@eagercon.com>.
-+#
-+# This file is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License as published by the
-+# Free Software Foundation; either version 3, or (at your option) any
-+# later version.
-+#
-+# GCC is distributed in the hope that it will be useful, but WITHOUT
-+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-+# License for more details.
-+#
-+# Under Section 7 of GPL version 3, you are granted additional
-+# permissions described in the GCC Runtime Library Exception, version
-+# 3.1, as published by the Free Software Foundation.
-+#
-+# You should have received a copy of the GNU General Public License and
-+# a copy of the GCC Runtime Library Exception along with this program;
-+# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+# <http://www.gnu.org/licenses/>.
-+#
-+# muldi3.S
-+#
-+# Multiply operation for 32 bit integers.
-+# Input : Operand1 in Reg r5
-+# Operand2 in Reg r6
-+# Output: Result [op1 * op2] in Reg r3
-+#
-+#######################################*/
-+
-+#ifdef __arch64__
-+ .globl __muldi3
-+ .ent __muldi3
-+ .type __muldi3,@function
-+__muldi3:
-+ .frame r1,0,r15
-+ addl r3,r0,r0
-+ BEALEQI r5,$L_Result_Is_Zero # Multiply by Zero
-+ BEALEQI r6,$L_Result_Is_Zero # Multiply by Zero
-+ XORL r4,r5,r6 # Get the sign of the result
-+ BEALGEI r5,$L_R5_Pos
-+ RSUBLI r5,r5,0 # Make r5 positive
-+$L_R5_Pos:
-+ BEALGEI r6,$L_R6_Pos
-+ RSUBLI r6,r6,0 # Make r6 positive
-+$L_R6_Pos:
-+ breai $L1
-+$L2:
-+ addl r5,r5,r5
-+$L1:
-+ srll r6,r6
-+ addlc r7,r0,r0
-+ bealeqi r7,$L2
-+ addl r3,r3,r5
-+ bealnei r6,$L2
-+ beallti r4,$L_NegateResult
-+ rtsd r15,8
-+ nop
-+$L_NegateResult:
-+ rsubl r3,r3,r0
-+ rtsd r15,8
-+ nop
-+$L_Result_Is_Zero:
-+ addli r3,r0,0
-+ rtsd r15,8
-+ nop
-+ .end __muldi3
-+ .size __muldi3, . - __muldi3
-+#endif
-diff --git a/libgcc/config/microblaze/t-microblaze b/libgcc/config/microblaze/t-microblaze
-index 8d954a49575..35021b24b7d 100644
---- a/libgcc/config/microblaze/t-microblaze
-+++ b/libgcc/config/microblaze/t-microblaze
-@@ -1,11 +1,16 @@
--LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3
-+LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3 \
-+ _divdi3 _moddi3 _muldi3 _udivdi3 _umoddi3
-
- LIB2ADD += \
- $(srcdir)/config/microblaze/divsi3.S \
-+ $(srcdir)/config/microblaze/divdi3.S \
- $(srcdir)/config/microblaze/modsi3.S \
-- $(srcdir)/config/microblaze/muldi3_hard.S \
-+ $(srcdir)/config/microblaze/moddi3.S \
- $(srcdir)/config/microblaze/mulsi3.S \
-+ $(srcdir)/config/microblaze/muldi3.S \
- $(srcdir)/config/microblaze/stack_overflow_exit.S \
- $(srcdir)/config/microblaze/udivsi3.S \
-+ $(srcdir)/config/microblaze/udivdi3.S \
- $(srcdir)/config/microblaze/umodsi3.S \
-- $(srcdir)/config/microblaze/divsi3_table.c
-+ $(srcdir)/config/microblaze/umoddi3.S \
-+ $(srcdir)/config/microblaze/divsi3_table.c \
-diff --git a/libgcc/config/microblaze/udivdi3.S b/libgcc/config/microblaze/udivdi3.S
-new file mode 100644
-index 00000000000..c210fbc7128
---- /dev/null
-+++ b/libgcc/config/microblaze/udivdi3.S
-@@ -0,0 +1,107 @@
-+###################################-
-+#
-+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
-+#
-+# Contributed by Michael Eager <eager@eagercon.com>.
-+#
-+# This file is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License as published by the
-+# Free Software Foundation; either version 3, or (at your option) any
-+# later version.
-+#
-+# GCC is distributed in the hope that it will be useful, but WITHOUT
-+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-+# License for more details.
-+#
-+# Under Section 7 of GPL version 3, you are granted additional
-+# permissions described in the GCC Runtime Library Exception, version
-+# 3.1, as published by the Free Software Foundation.
-+#
-+# You should have received a copy of the GNU General Public License and
-+# a copy of the GCC Runtime Library Exception along with this program;
-+# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+# <http://www.gnu.org/licenses/>.
-+#
-+# udivdi3.S
-+#
-+# Unsigned divide operation.
-+# Input : Divisor in Reg r5
-+# Dividend in Reg r6
-+# Output: Result in Reg r3
-+#
-+#######################################
-+
-+#ifdef __arch64__
-+ .globl __udivdi3
-+ .ent __udivdi3
-+ .type __udivdi3,@function
-+__udivdi3:
-+ .frame r1,0,r15
-+
-+ ADDlIK r1,r1,-24
-+ SLI r29,r1,0
-+ SLI r30,r1,8
-+ SLI r31,r1,16
-+
-+ BEALEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
-+ ADDLIK r30,r0,0 # Clear mod
-+ BEALEQI r5,$LaResult_Is_Zero # Result is Zero
-+ ADDLIK r29,r0,64 # Initialize the loop count
-+
-+ # Check if r6 and r5 are equal # if yes, return 1
-+ RSUBL r18,r5,r6
-+ ADDLIK r3,r0,1
-+ BEALEQI r18,$LaRETURN_HERE
-+
-+ # Check if (uns)r6 is greater than (uns)r5. In that case, just return 0
-+ XORL r18,r5,r6
-+ ADDL r3,r0,r0 # We would anyways clear r3
-+ BEALGEI r18,$LRSUBL
-+ BEALLTI r6,$LaRETURN_HERE # r6[bit 31 = 1] hence is greater
-+ BREAI $LCheckr6
-+$LRSUBL:
-+ RSUBL r18,r6,r5 # MICROBLAZEcmp
-+ BEALLTI r18,$LaRETURN_HERE
-+
-+ # If r6 [bit 31] is set, then return result as 1
-+$LCheckr6:
-+ BEALGTI r6,$LaDIV0
-+ ADDLIK r3,r0,1
-+ BREAI $LaRETURN_HERE
-+
-+ # First part try to find the first '1' in the r5
-+$LaDIV0:
-+ BEALLTI r5,$LaDIV2
-+$LaDIV1:
-+ ADDL r5,r5,r5 # left shift logical r5
-+ ADDLIK r29,r29,-1
-+ BEALGTI r5,$LaDIV1
-+$LaDIV2:
-+ ADDL r5,r5,r5 # left shift logical r5 get the '1' into the Carry
-+ ADDLC r30,r30,r30 # Move that bit into the Mod register
-+ RSUBL r31,r6,r30 # Try to subtract (r30 a r6)
-+ BEALLTI r31,$LaMOD_TOO_SMALL
-+ ORL r30,r0,r31 # Move the r31 to mod since the result was positive
-+ ADDLIK r3,r3,1
-+$LaMOD_TOO_SMALL:
-+ ADDLIK r29,r29,-1
-+ BEALEQi r29,$LaLOOP_END
-+ ADDL r3,r3,r3 # Shift in the '1' into div
-+ BREAI $LaDIV2 # Div2
-+$LaLOOP_END:
-+ BREAI $LaRETURN_HERE
-+$LaDiv_By_Zero:
-+$LaResult_Is_Zero:
-+ ORL r3,r0,r0 # set result to 0
-+$LaRETURN_HERE:
-+ # Restore values of CSRs and that of r3 and the divisor and the dividend
-+ LLI r29,r1,0
-+ LLI r30,r1,8
-+ LLI r31,r1,16
-+ ADDLIK r1,r1,24
-+ RTSD r15,8
-+ NOP
-+ .end __udivdi3
-+ .size __udivdi3, . - __udivdi3
-+#endif
-diff --git a/libgcc/config/microblaze/umoddi3.S b/libgcc/config/microblaze/umoddi3.S
-new file mode 100644
-index 00000000000..7f5cd23f9a1
---- /dev/null
-+++ b/libgcc/config/microblaze/umoddi3.S
-@@ -0,0 +1,110 @@
-+###################################
-+#
-+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
-+#
-+# Contributed by Michael Eager <eager@eagercon.com>.
-+#
-+# This file is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License as published by the
-+# Free Software Foundation; either version 3, or (at your option) any
-+# later version.
-+#
-+# GCC is distributed in the hope that it will be useful, but WITHOUT
-+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-+# License for more details.
-+#
-+# Under Section 7 of GPL version 3, you are granted additional
-+# permissions described in the GCC Runtime Library Exception, version
-+# 3.1, as published by the Free Software Foundation.
-+#
-+# You should have received a copy of the GNU General Public License and
-+# a copy of the GCC Runtime Library Exception along with this program;
-+# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+# <http://www.gnu.org/licenses/>.
-+#
-+# umoddi3.S
-+#
-+# Unsigned modulo operation for 32 bit integers.
-+# Input : op1 in Reg r5
-+# op2 in Reg r6
-+# Output: op1 mod op2 in Reg r3
-+#
-+#######################################
-+
-+#ifdef __arch64__
-+ .globl __umoddi3
-+ .ent __umoddi3
-+ .type __umoddi3,@function
-+__umoddi3:
-+ .frame r1,0,r15
-+
-+ addlik r1,r1,-24
-+ sli r29,r1,0
-+ sli r30,r1,8
-+ sli r31,r1,16
-+
-+ BEALEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
-+ ADDLIK r3,r0,0 # Clear div
-+ BEALEQI r5,$LaResult_Is_Zero # Result is Zero
-+ ADDLIK r30,r0,0 # clear mod
-+ ADDLIK r29,r0,64 # Initialize the loop count
-+
-+# Check if r6 and r5 are equal # if yes, return 0
-+ rsubl r18,r5,r6
-+ bealeqi r18,$LaRETURN_HERE
-+
-+# Check if (uns)r6 is greater than (uns)r5. In that case, just return r5
-+ xorl r18,r5,r6
-+ addlik r3,r5,0
-+ bealgei r18,$LRSUB
-+ beallti r6,$LaRETURN_HERE
-+ breai $LCheckr6
-+$LRSUB:
-+ rsubl r18,r5,r6 # MICROBLAZEcmp
-+ bealgti r18,$LaRETURN_HERE
-+
-+# If r6 [bit 31] is set, then return result as r5-r6
-+$LCheckr6:
-+ addlik r3,r0,0
-+ bealgti r6,$LaDIV0
-+ addlik r18,r0,0x7fffffff
-+ andl r5,r5,r18
-+ andl r6,r6,r18
-+ breaid $LaRETURN_HERE
-+ rsubl r3,r6,r5
-+# First part: try to find the first '1' in the r5
-+$LaDIV0:
-+ BEALLTI r5,$LaDIV2
-+$LaDIV1:
-+ ADDL r5,r5,r5 # left shift logical r5
-+ ADDLIK r29,r29,-1
-+ BEALGEI r5,$LaDIV1 #
-+$LaDIV2:
-+ ADDL r5,r5,r5 # left shift logical r5 get the '1' into the Carry
-+ ADDLC r3,r3,r3 # Move that bit into the Mod register
-+ rSUBL r31,r6,r3 # Try to subtract (r3 a r6)
-+ BEALLTi r31,$LaMOD_TOO_SMALL
-+ ORL r3,r0,r31 # Move the r31 to mod since the result was positive
-+ ADDLIK r30,r30,1
-+$LaMOD_TOO_SMALL:
-+ ADDLIK r29,r29,-1
-+ BEALEQi r29,$LaLOOP_END
-+ ADDL r30,r30,r30 # Shift in the '1' into div
-+ BREAI $LaDIV2 # Div2
-+$LaLOOP_END:
-+ BREAI $LaRETURN_HERE
-+$LaDiv_By_Zero:
-+$LaResult_Is_Zero:
-+ orl r3,r0,r0 # set result to 0
-+$LaRETURN_HERE:
-+# Restore values of CSRs and that of r3 and the divisor and the dividend
-+ lli r29,r1,0
-+ lli r30,r1,8
-+ lli r31,r1,16
-+ addlik r1,r1,24
-+ rtsd r15,8
-+ nop
-+.end __umoddi3
-+ .size __umoddi3, . - __umoddi3
-+#endif
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0031-re-arrangement-of-the-compare-branches.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0031-re-arrangement-of-the-compare-branches.patch
deleted file mode 100644
index 0113c65dc..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0031-re-arrangement-of-the-compare-branches.patch
+++ /dev/null
@@ -1,268 +0,0 @@
-From 67d89be9ace8f658354fb1378e986451ef435d60 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Fri, 3 Aug 2018 15:41:39 +0530
-Subject: [PATCH 31/54] re-arrangement of the compare branches
-
----
- gcc/config/microblaze/microblaze.c | 28 ++----
- gcc/config/microblaze/microblaze.md | 141 +++++++++++++---------------
- 2 files changed, 73 insertions(+), 96 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 3c815444574..046bfd05558 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -3697,11 +3697,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[])
- {
- comp_reg = cmp_op0;
- condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx);
-- if (mode == Pmode)
-- emit_jump_insn (gen_condjump (condition, label1));
-- else
-- emit_jump_insn (gen_long_condjump (condition, label1));
--
-+ emit_jump_insn (gen_condjump (condition, label1));
- }
-
- else if (code == EQ || code == NE)
-@@ -3712,10 +3708,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[])
- else
- emit_insn (gen_xordi3 (comp_reg, cmp_op0, cmp_op1));
- condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx);
-- if (mode == SImode)
-- emit_jump_insn (gen_condjump (condition, label1));
-- else
-- emit_jump_insn (gen_long_condjump (condition, label1));
-+ emit_jump_insn (gen_condjump (condition, label1));
- }
- else
- {
-@@ -3748,10 +3741,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[])
- comp_reg = cmp_op0;
- condition = gen_rtx_fmt_ee (signed_condition (code),
- mode, comp_reg, const0_rtx);
-- if (mode == SImode)
-- emit_jump_insn (gen_condjump (condition, label1));
-- else
-- emit_jump_insn (gen_long_condjump (condition, label1));
-+ emit_jump_insn (gen_condjump (condition, label1));
- }
- else if (code == EQ)
- {
-@@ -3766,10 +3756,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[])
- cmp_op1));
- }
- condition = gen_rtx_EQ (mode, comp_reg, const0_rtx);
-- if (mode == SImode)
-- emit_jump_insn (gen_condjump (condition, label1));
-- else
-- emit_jump_insn (gen_long_condjump (condition, label1));
-+ emit_jump_insn (gen_condjump (condition, label1));
-
- }
- else if (code == NE)
-@@ -3785,10 +3772,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[])
- cmp_op1));
- }
- condition = gen_rtx_NE (mode, comp_reg, const0_rtx);
-- if (mode == SImode)
-- emit_jump_insn (gen_condjump (condition, label1));
-- else
-- emit_jump_insn (gen_long_condjump (condition, label1));
-+ emit_jump_insn (gen_condjump (condition, label1));
- }
- else
- {
-@@ -3830,7 +3814,7 @@ microblaze_expand_conditional_branch_df (rtx operands[])
-
- emit_insn (gen_cstoredf4 (comp_reg, operands[0], cmp_op0, cmp_op1));
- condition = gen_rtx_NE (Pmode, comp_reg, const0_rtx);
-- emit_jump_insn (gen_long_condjump (condition, operands[3]));
-+ emit_jump_insn (gen_condjump (condition, operands[3]));
- }
-
- /* Implement TARGET_FRAME_POINTER_REQUIRED. */
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 33a8b12ef3b..cfe9e5312d1 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -2271,7 +2271,27 @@ else
- (label_ref (match_operand 1))
- (pc)))])
-
--(define_insn "branch_zero64"
-+(define_insn "branch_zero_64"
-+ [(set (pc)
-+ (if_then_else (match_operator:SI 0 "ordered_comparison_operator"
-+ [(match_operand:SI 1 "register_operand" "d")
-+ (const_int 0)])
-+ (match_operand:SI 2 "pc_or_label_operand" "")
-+ (match_operand:SI 3 "pc_or_label_operand" "")))
-+ ]
-+ "TARGET_MB_64"
-+ {
-+ if (operands[3] == pc_rtx)
-+ return "bea%C0i%?\t%z1,%2";
-+ else
-+ return "bea%N0i%?\t%z1,%3";
-+ }
-+ [(set_attr "type" "branch")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "4")]
-+)
-+
-+(define_insn "long_branch_zero"
- [(set (pc)
- (if_then_else (match_operator 0 "ordered_comparison_operator"
- [(match_operand 1 "register_operand" "d")
-@@ -2282,9 +2302,9 @@ else
- "TARGET_MB_64"
- {
- if (operands[3] == pc_rtx)
-- return "bea%C0i%?\t%z1,%2";
-+ return "beal%C0i%?\t%z1,%2";
- else
-- return "bea%N0i%?\t%z1,%3";
-+ return "beal%N0i%?\t%z1,%3";
- }
- [(set_attr "type" "branch")
- (set_attr "mode" "none")
-@@ -2313,9 +2333,9 @@ else
-
- (define_insn "branch_compare64"
- [(set (pc)
-- (if_then_else (match_operator 0 "cmp_op"
-- [(match_operand 1 "register_operand" "d")
-- (match_operand 2 "register_operand" "d")
-+ (if_then_else (match_operator:SI 0 "cmp_op"
-+ [(match_operand:SI 1 "register_operand" "d")
-+ (match_operand:SI 2 "register_operand" "d")
- ])
- (label_ref (match_operand 3))
- (pc)))
-@@ -2352,6 +2372,47 @@ else
- (set_attr "length" "12")]
- )
-
-+(define_insn "long_branch_compare"
-+ [(set (pc)
-+ (if_then_else (match_operator 0 "cmp_op"
-+ [(match_operand 1 "register_operand" "d")
-+ (match_operand 2 "register_operand" "d")
-+ ])
-+ (label_ref (match_operand 3))
-+ (pc)))
-+ (clobber(reg:DI R_TMP))]
-+ "TARGET_MB_64"
-+ {
-+ operands[4] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
-+ enum rtx_code code = GET_CODE (operands[0]);
-+
-+ if (code == GT || code == LE)
-+ {
-+ output_asm_insn ("cmpl\tr18,%z1,%z2", operands);
-+ code = swap_condition (code);
-+ }
-+ else if (code == GTU || code == LEU)
-+ {
-+ output_asm_insn ("cmplu\tr18,%z1,%z2", operands);
-+ code = swap_condition (code);
-+ }
-+ else if (code == GE || code == LT)
-+ {
-+ output_asm_insn ("cmpl\tr18,%z2,%z1", operands);
-+ }
-+ else if (code == GEU || code == LTU)
-+ {
-+ output_asm_insn ("cmplu\tr18,%z2,%z1", operands);
-+ }
-+
-+ operands[0] = gen_rtx_fmt_ee (signed_condition (code), DImode, operands[4], const0_rtx);
-+ return "beal%C0i%?\tr18,%3";
-+ }
-+ [(set_attr "type" "branch")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "12")]
-+)
-+
- (define_insn "branch_compare"
- [(set (pc)
- (if_then_else (match_operator:SI 0 "cmp_op"
-@@ -2434,74 +2495,6 @@ else
-
- })
-
--;; Used to implement comparison instructions
--(define_expand "long_condjump"
-- [(set (pc)
-- (if_then_else (match_operand 0)
-- (label_ref (match_operand 1))
-- (pc)))])
--
--(define_insn "long_branch_zero"
-- [(set (pc)
-- (if_then_else (match_operator:DI 0 "ordered_comparison_operator"
-- [(match_operand:DI 1 "register_operand" "d")
-- (const_int 0)])
-- (match_operand:DI 2 "pc_or_label_operand" "")
-- (match_operand:DI 3 "pc_or_label_operand" "")))
-- ]
-- "TARGET_MB_64"
-- {
-- if (operands[3] == pc_rtx)
-- return "beal%C0i%?\t%z1,%2";
-- else
-- return "beal%N0i%?\t%z1,%3";
-- }
-- [(set_attr "type" "branch")
-- (set_attr "mode" "none")
-- (set_attr "length" "4")]
--)
--
--(define_insn "long_branch_compare"
-- [(set (pc)
-- (if_then_else (match_operator:DI 0 "cmp_op"
-- [(match_operand:DI 1 "register_operand" "d")
-- (match_operand:DI 2 "register_operand" "d")
-- ])
-- (label_ref (match_operand 3))
-- (pc)))
-- (clobber(reg:DI R_TMP))]
-- "TARGET_MB_64"
-- {
-- operands[4] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
-- enum rtx_code code = GET_CODE (operands[0]);
--
-- if (code == GT || code == LE)
-- {
-- output_asm_insn ("cmpl\tr18,%z1,%z2", operands);
-- code = swap_condition (code);
-- }
-- else if (code == GTU || code == LEU)
-- {
-- output_asm_insn ("cmplu\tr18,%z1,%z2", operands);
-- code = swap_condition (code);
-- }
-- else if (code == GE || code == LT)
-- {
-- output_asm_insn ("cmpl\tr18,%z2,%z1", operands);
-- }
-- else if (code == GEU || code == LTU)
-- {
-- output_asm_insn ("cmplu\tr18,%z2,%z1", operands);
-- }
--
-- operands[0] = gen_rtx_fmt_ee (signed_condition (code), DImode, operands[4], const0_rtx);
-- return "beal%C0i%?\tr18,%3";
-- }
-- [(set_attr "type" "branch")
-- (set_attr "mode" "none")
-- (set_attr "length" "12")]
--)
--
- ;;----------------------------------------------------------------
- ;; Unconditional branches
- ;;----------------------------------------------------------------
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch
deleted file mode 100644
index b74c79ec6..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 410348f4fd9b641afa24e6c6b6a62a4c74d18862 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 8 Aug 2018 17:37:26 +0530
-Subject: [PATCH 32/54] [Patch,Microblaze] : previous commit broke the
- handling of SI Branch compare for Microblaze 32-bit..
-
----
- gcc/config/microblaze/microblaze.md | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index cfe9e5312d1..592757baf2f 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -2227,8 +2227,8 @@ else
- (define_expand "cbranchsi4"
- [(set (pc)
- (if_then_else (match_operator 0 "ordered_comparison_operator"
-- [(match_operand 1 "register_operand")
-- (match_operand 2 "arith_operand" "I,i")])
-+ [(match_operand:SI 1 "register_operand")
-+ (match_operand:SI 2 "arith_operand" "I,i")])
- (label_ref (match_operand 3 ""))
- (pc)))]
- ""
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch
deleted file mode 100644
index 353bfa905..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 802c136f1a41ebfed3b25419e48331038f284e2b Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 11 Sep 2018 13:43:48 +0530
-Subject: [PATCH 33/54] [Patch, Microblaze] : Support of multilibs with m64 ...
-
----
- gcc/config/microblaze/microblaze-c.c | 1 +
- gcc/config/microblaze/t-microblaze | 15 ++++++---------
- libgcc/config/microblaze/t-microblaze | 11 +++--------
- 3 files changed, 10 insertions(+), 17 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c
-index dbcd21fc6ee..db543edcbe5 100644
---- a/gcc/config/microblaze/microblaze-c.c
-+++ b/gcc/config/microblaze/microblaze-c.c
-@@ -102,6 +102,7 @@ microblaze_cpp_define (cpp_reader *pfile)
- }
- if (TARGET_MB_64)
- {
-+ builtin_define ("__microblaze64");
- builtin_define ("__arch64__");
- builtin_define ("__microblaze64__");
- builtin_define ("__MICROBLAZE64__");
-diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
-index 9fc80b142ce..35ab9654052 100644
---- a/gcc/config/microblaze/t-microblaze
-+++ b/gcc/config/microblaze/t-microblaze
-@@ -1,12 +1,9 @@
--MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high mlittle-endian m64
--MULTILIB_DIRNAMES = bs m mh le m64
--MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
--MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
--MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian/m64
--MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64 mxl-multiply-high
--MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
--MULTILIB_EXCEPTIONS += mxl-multiply-high/m64
--MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64
-+MULTILIB_OPTIONS = m64 mxl-barrel-shift mlittle-endian mno-xl-soft-mul mxl-multiply-high
-+MULTILIB_DIRNAMES = m64 bs le m mh
-+MULTILIB_EXCEPTIONS = *m64/mxl-multiply-high mxl-multiply-high
-+MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
-+MULTILIB_EXCEPTIONS += *mlittle-endian/mxl-multiply-high mxl-multiply-high
-+MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mlittle-endian/mxl-multiply-high
-
- # Extra files
- microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
-diff --git a/libgcc/config/microblaze/t-microblaze b/libgcc/config/microblaze/t-microblaze
-index 35021b24b7d..8d954a49575 100644
---- a/libgcc/config/microblaze/t-microblaze
-+++ b/libgcc/config/microblaze/t-microblaze
-@@ -1,16 +1,11 @@
--LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3 \
-- _divdi3 _moddi3 _muldi3 _udivdi3 _umoddi3
-+LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3
-
- LIB2ADD += \
- $(srcdir)/config/microblaze/divsi3.S \
-- $(srcdir)/config/microblaze/divdi3.S \
- $(srcdir)/config/microblaze/modsi3.S \
-- $(srcdir)/config/microblaze/moddi3.S \
-+ $(srcdir)/config/microblaze/muldi3_hard.S \
- $(srcdir)/config/microblaze/mulsi3.S \
-- $(srcdir)/config/microblaze/muldi3.S \
- $(srcdir)/config/microblaze/stack_overflow_exit.S \
- $(srcdir)/config/microblaze/udivsi3.S \
-- $(srcdir)/config/microblaze/udivdi3.S \
- $(srcdir)/config/microblaze/umodsi3.S \
-- $(srcdir)/config/microblaze/umoddi3.S \
-- $(srcdir)/config/microblaze/divsi3_table.c \
-+ $(srcdir)/config/microblaze/divsi3_table.c
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0034-Fixed-issues-like.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0034-Fixed-issues-like.patch
deleted file mode 100644
index c508b158d..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0034-Fixed-issues-like.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 2b2c6e96c3aefc86c880be05d93685a4ce97c9f1 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Tue, 11 Sep 2018 14:58:00 +0530
-Subject: [PATCH 34/54] Fixed issues like: 1 Interrupt alignment issue 2 Sign
- extension issue
-
----
- gcc/config/microblaze/microblaze.c | 16 ++++++++++------
- gcc/config/microblaze/microblaze.md | 2 +-
- 2 files changed, 11 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 046bfd05558..498c8ca191f 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -2177,9 +2177,14 @@ compute_frame_size (HOST_WIDE_INT size)
-
- total_size += gp_reg_size;
-
-- /* Add 4 bytes for MSR. */
-+ /* Add 4/8 bytes for MSR. */
- if (microblaze_is_interrupt_variant ())
-- total_size += 4;
-+ {
-+ if (TARGET_MB_64)
-+ total_size += 8;
-+ else
-+ total_size += 4;
-+ }
-
- /* No space to be allocated for link register in leaf functions with no other
- stack requirements. */
-@@ -2464,7 +2469,6 @@ print_operand (FILE * file, rtx op, int letter)
- else if (letter == 'h' || letter == 'j')
- {
- long val[2];
-- int val1[2];
- long l[2];
- if (code == CONST_DOUBLE)
- {
-@@ -2479,10 +2483,10 @@ print_operand (FILE * file, rtx op, int letter)
- }
- else if (code == CONST_INT || code == CONST)// || code == SYMBOL_REF ||code == LABEL_REF)
- {
-- val1[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
-- val1[1] = INTVAL (op) & 0x00000000ffffffffLL;
-+ val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
-+ val[1] = INTVAL (op) & 0x00000000ffffffffLL;
- }
-- fprintf (file, "0x%8.8lx", (letter == 'h') ? val1[0] : val1[1]);
-+ fprintf (file, "0x%8.8lx", (letter == 'h') ? val[0] : val[1]);
- }
- else if (code == CONST_DOUBLE)
- {
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 592757baf2f..e7c7cf3e8b5 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -1096,7 +1096,7 @@
- case 1:
- case 2:
- {
-- output_asm_insn ("ll%i1\t%0,%1", operands);
-+ output_asm_insn ("lw%i1\t%0,%1", operands);
- return "sextl32\t%0,%0";
- }
- }
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0035-Fixed-below-issues.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0035-Fixed-below-issues.patch
deleted file mode 100644
index 61d352617..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0035-Fixed-below-issues.patch
+++ /dev/null
@@ -1,307 +0,0 @@
-From 051d744c06ed3f11f603e37768eece57784c2583 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 26 Nov 2019 17:26:15 +0530
-Subject: [PATCH 35/54] Fixed below issues:
-
-- Floating point print issues in 64bit mode
-- Dejagnu Jump related issues
-- Added dbl instruction
-
-Conflicts:
- gcc/config/microblaze/microblaze.md
----
- gcc/config/microblaze/microblaze.c | 12 +++-
- gcc/config/microblaze/microblaze.h | 7 +++
- gcc/config/microblaze/microblaze.md | 86 ++++++++++++++++++++++++-----
- libgcc/config/microblaze/crti.S | 24 +++++++-
- libgcc/config/microblaze/crtn.S | 13 +++++
- 5 files changed, 125 insertions(+), 17 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 498c8ca191f..e32de46fa62 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -2473,7 +2473,12 @@ print_operand (FILE * file, rtx op, int letter)
- if (code == CONST_DOUBLE)
- {
- if (GET_MODE (op) == DFmode)
-- REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val);
-+ {
-+ if (TARGET_MB_64)
-+ REAL_VALUE_TO_TARGET_LONG_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val);
-+ else
-+ REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val);
-+ }
- else
- {
- REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), l);
-@@ -3876,7 +3881,10 @@ microblaze_expand_divide (rtx operands[])
- gen_rtx_PLUS (QImode, regt1, div_table_rtx));
-
- insn = emit_insn (gen_zero_extendqisi2(operands[0],mem_rtx));
-- jump = emit_jump_insn_after (gen_jump (div_end_label), insn);
-+ if (TARGET_MB_64)
-+ jump = emit_jump_insn_after (gen_jump_64 (div_end_label), insn);
-+ else
-+ jump = emit_jump_insn_after (gen_jump (div_end_label), insn);
- JUMP_LABEL (jump) = div_end_label;
- LABEL_NUSES (div_end_label) = 1;
- emit_barrier ();
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index f6ad4d9fc21..60c552958b8 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -888,10 +888,17 @@ do { \
- /* We do this to save a few 10s of code space that would be taken up
- by the call_FUNC () wrappers, used by the generic CRT_CALL_STATIC_FUNCTION
- definition in crtstuff.c. */
-+#ifdef __arch64__
-+#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \
-+ asm ( SECTION_OP "\n" \
-+ "\tbrealid r15, " #FUNC "\n\t nop\n" \
-+ TEXT_SECTION_ASM_OP);
-+#else
- #define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \
- asm ( SECTION_OP "\n" \
- "\tbrlid r15, " #FUNC "\n\t nop\n" \
- TEXT_SECTION_ASM_OP);
-+#endif
-
- /* We need to group -lm as well, since some Newlib math functions
- reference __errno! */
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index e7c7cf3e8b5..74bb30cb9e8 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -527,6 +527,15 @@
- (set_attr "mode" "SF")
- (set_attr "length" "4")])
-
-+(define_insn "floatdidf2"
-+ [(set (match_operand:DF 0 "register_operand" "=d")
-+ (float:DF (match_operand:DI 1 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "dbl\t%0,%1"
-+ [(set_attr "type" "fcvt")
-+ (set_attr "mode" "DF")
-+ (set_attr "length" "4")])
-+
- (define_insn "fix_truncsfsi2"
- [(set (match_operand:SI 0 "register_operand" "=d")
- (fix:SI (match_operand:SF 1 "register_operand" "d")))]
-@@ -1301,7 +1310,7 @@
- (define_insn "movdi_long_int"
- [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
- (match_operand:DI 1 "general_operand" "i"))]
-- ""
-+ "TARGET_MB_64"
- "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
- [(set_attr "type" "no_delay_arith")
- (set_attr "mode" "DI")
-@@ -1584,7 +1593,7 @@
- return "ll%i1\t%0,%1";
- case 3:
- {
-- return "addlik\t%0,r0,%h1 \n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #Xfer Lo";
-+ return "addlik\t%0,r0,%j1 \n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%h1 #Xfer Lo";
- }
- case 5:
- return "sl%i0\t%1,%0";
-@@ -2374,9 +2383,9 @@ else
-
- (define_insn "long_branch_compare"
- [(set (pc)
-- (if_then_else (match_operator 0 "cmp_op"
-- [(match_operand 1 "register_operand" "d")
-- (match_operand 2 "register_operand" "d")
-+ (if_then_else (match_operator:DI 0 "cmp_op"
-+ [(match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "register_operand" "d")
- ])
- (label_ref (match_operand 3))
- (pc)))
-@@ -2498,6 +2507,20 @@ else
- ;;----------------------------------------------------------------
- ;; Unconditional branches
- ;;----------------------------------------------------------------
-+(define_insn "jump_64"
-+ [(set (pc)
-+ (label_ref (match_operand 0 "" "")))]
-+ "TARGET_MB_64"
-+ {
-+ if (GET_CODE (operands[0]) == REG)
-+ return "brea%?\t%0";
-+ else
-+ return "breai%?\t%l0";
-+ }
-+ [(set_attr "type" "jump")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "4")])
-+
- (define_insn "jump"
- [(set (pc)
- (label_ref (match_operand 0 "" "")))]
-@@ -2543,17 +2566,25 @@ else
- {
- //gcc_assert (GET_MODE (operands[0]) == Pmode);
-
-- if (!flag_pic || TARGET_PIC_DATA_TEXT_REL)
-- emit_jump_insn (gen_tablejump_internal1 (operands[0], operands[1]));
-- else
-- emit_jump_insn (gen_tablejump_internal3 (operands[0], operands[1]));
-+ if (!flag_pic || TARGET_PIC_DATA_TEXT_REL) {
-+ if (!TARGET_MB_64)
-+ emit_jump_insn (gen_tablejump_internal1 (operands[0], operands[1]));
-+ else
-+ emit_jump_insn (gen_tablejump_internal2 (operands[0], operands[1]));
-+ }
-+ else {
-+ if (!TARGET_MB_64)
-+ emit_jump_insn (gen_tablejump_internal3 (operands[0], operands[1]));
-+ else
-+ emit_jump_insn (gen_tablejump_internal4 (operands[0], operands[1]));
-+ }
- DONE;
- }
- )
-
- (define_insn "tablejump_internal1"
- [(set (pc)
-- (match_operand 0 "register_operand" "d"))
-+ (match_operand:SI 0 "register_operand" "d"))
- (use (label_ref (match_operand 1 "" "")))]
- ""
- "bra%?\t%0 "
-@@ -2561,11 +2592,21 @@ else
- (set_attr "mode" "none")
- (set_attr "length" "4")])
-
-+(define_insn "tablejump_internal2"
-+ [(set (pc)
-+ (match_operand:DI 0 "register_operand" "d"))
-+ (use (label_ref (match_operand 1 "" "")))]
-+ "TARGET_MB_64"
-+ "bra%?\t%0 "
-+ [(set_attr "type" "jump")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "4")])
-+
- (define_expand "tablejump_internal3"
- [(parallel [(set (pc)
-- (plus (match_operand 0 "register_operand" "d")
-- (label_ref (match_operand:SI 1 "" ""))))
-- (use (label_ref (match_dup 1)))])]
-+ (plus:SI (match_operand:SI 0 "register_operand" "d")
-+ (label_ref:SI (match_operand:SI 1 "" ""))))
-+ (use (label_ref:SI (match_dup 1)))])]
- ""
- ""
- )
-@@ -2596,6 +2637,23 @@ else
- ""
- )
-
-+(define_insn ""
-+ [(set (pc)
-+ (plus:DI (match_operand:DI 0 "register_operand" "d")
-+ (label_ref:DI (match_operand 1 "" ""))))
-+ (use (label_ref:DI (match_dup 1)))]
-+ "TARGET_MB_64 && NEXT_INSN (as_a <rtx_insn *> (operands[1])) != 0
-+ && GET_CODE (PATTERN (NEXT_INSN (as_a <rtx_insn *> (operands[1])))) == ADDR_DIFF_VEC
-+ && flag_pic"
-+ {
-+ output_asm_insn ("addlk\t%0,%0,r20",operands);
-+ return "bra%?\t%0";
-+}
-+ [(set_attr "type" "jump")
-+ (set_attr "mode" "none")
-+ (set_attr "length" "4")])
-+
-+
- ;;----------------------------------------------------------------
- ;; Function prologue/epilogue and stack allocation
- ;;----------------------------------------------------------------
-@@ -3102,7 +3160,7 @@ else
- ;; The insn to set GOT. The hardcoded number "8" accounts for $pc difference
- ;; between "mfs" and "addik" instructions.
- (define_insn "set_got"
-- [(set (match_operand:SI 0 "register_operand" "=r")
-+ [(set (match_operand 0 "register_operand" "=r")
- (unspec:SI [(const_int 0)] UNSPEC_SET_GOT))]
- ""
- "mfs\t%0,rpc\n\taddik\t%0,%0,_GLOBAL_OFFSET_TABLE_+8"
-diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S
-index 005825f1ec5..b7436c7131f 100644
---- a/libgcc/config/microblaze/crti.S
-+++ b/libgcc/config/microblaze/crti.S
-@@ -33,11 +33,32 @@
- .section .init, "ax"
- .global __init
-
-+#ifdef __arch64__
- .weak _stack
-- .set _stack, 0xffffffff
-+ .set _stack, 0xffffffffffffffff
- .weak _stack_end
- .set _stack_end, 0
-
-+ .align 3
-+__init:
-+ addlik r1, r1, -32
-+ sl r15, r0, r1
-+ addlik r11, r0, _stack
-+ mts rshr, r11
-+ addlik r11, r0, _stack_end
-+ mts rslr, r11
-+
-+ .section .fini, "ax"
-+ .global __fini
-+ .align 3
-+__fini:
-+ addlik r1, r1, -32
-+ sl r15, r0, r1
-+#else
-+ .weak _stack
-+ .set _stack, 0xffffffff
-+ .weak _stack_end
-+ .set _stack_end, 0
- .align 2
- __init:
- addik r1, r1, -16
-@@ -53,3 +74,4 @@ __init:
- __fini:
- addik r1, r1, -16
- sw r15, r0, r1
-+#endif
-diff --git a/libgcc/config/microblaze/crtn.S b/libgcc/config/microblaze/crtn.S
-index 5705eff9a4a..f1148ffebe4 100644
---- a/libgcc/config/microblaze/crtn.S
-+++ b/libgcc/config/microblaze/crtn.S
-@@ -29,7 +29,19 @@
- .section .note.GNU-stack,"",%progbits
- .previous
- #endif
-+#ifdef __arch64__
-+ .section .init, "ax"
-+ ll r15, r0, r1
-+ addlik r1, r1, 32
-+ rtsd r15, 8
-+ nop
-
-+ .section .fini, "ax"
-+ ll r15, r0, r1
-+ addlik r1, r1, 32
-+ rtsd r15, 8
-+ nop
-+#else
- .section .init, "ax"
- lw r15, r0, r1
- rtsd r15, 8
-@@ -39,3 +51,4 @@
- lw r15, r0, r1
- rtsd r15, 8
- addik r1, r1, 16
-+#endif
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0036-Added-double-arith-instructions.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0036-Added-double-arith-instructions.patch
deleted file mode 100644
index 3f52e8799..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0036-Added-double-arith-instructions.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 2bb5cef1a85d63ebf155bcb0070492b0ad298dd8 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Tue, 9 Oct 2018 10:07:08 +0530
-Subject: [PATCH 36/54] -Added double arith instructions -Fixed prologue stack
- pointer decrement issue
-
----
- gcc/config/microblaze/microblaze.md | 78 +++++++++++++++++++++++++----
- gcc/config/microblaze/t-microblaze | 7 +++
- 2 files changed, 76 insertions(+), 9 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 74bb30cb9e8..1401d6b77ff 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -527,6 +527,66 @@
- (set_attr "mode" "SF")
- (set_attr "length" "4")])
-
-+(define_insn "fix_truncsfsi2"
-+ [(set (match_operand:SI 0 "register_operand" "=d")
-+ (fix:SI (match_operand:SF 1 "register_operand" "d")))]
-+ "TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
-+ "fint\t%0,%1"
-+ [(set_attr "type" "fint")
-+ (set_attr "mode" "SF")
-+ (set_attr "length" "4")])
-+
-+
-+(define_insn "adddf3"
-+ [(set (match_operand:DF 0 "register_operand" "=d")
-+ (plus:DF (match_operand:DF 1 "register_operand" "d")
-+ (match_operand:DF 2 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "dadd\t%0,%1,%2"
-+ [(set_attr "type" "fadd")
-+ (set_attr "mode" "DF")
-+ (set_attr "length" "4")])
-+
-+(define_insn "subdf3"
-+ [(set (match_operand:DF 0 "register_operand" "=d")
-+ (minus:DF (match_operand:DF 1 "register_operand" "d")
-+ (match_operand:DF 2 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "drsub\t%0,%2,%1"
-+ [(set_attr "type" "frsub")
-+ (set_attr "mode" "DF")
-+ (set_attr "length" "4")])
-+
-+(define_insn "muldf3"
-+ [(set (match_operand:DF 0 "register_operand" "=d")
-+ (mult:DF (match_operand:DF 1 "register_operand" "d")
-+ (match_operand:DF 2 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "dmul\t%0,%1,%2"
-+ [(set_attr "type" "fmul")
-+ (set_attr "mode" "DF")
-+ (set_attr "length" "4")])
-+
-+(define_insn "divdf3"
-+ [(set (match_operand:DF 0 "register_operand" "=d")
-+ (div:DF (match_operand:DF 1 "register_operand" "d")
-+ (match_operand:DF 2 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "ddiv\t%0,%2,%1"
-+ [(set_attr "type" "fdiv")
-+ (set_attr "mode" "DF")
-+ (set_attr "length" "4")])
-+
-+
-+(define_insn "sqrtdf2"
-+ [(set (match_operand:DF 0 "register_operand" "=d")
-+ (sqrt:DF (match_operand:DF 1 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "dsqrt\t%0,%1"
-+ [(set_attr "type" "fsqrt")
-+ (set_attr "mode" "DF")
-+ (set_attr "length" "4")])
-+
- (define_insn "floatdidf2"
- [(set (match_operand:DF 0 "register_operand" "=d")
- (float:DF (match_operand:DI 1 "register_operand" "d")))]
-@@ -536,13 +596,13 @@
- (set_attr "mode" "DF")
- (set_attr "length" "4")])
-
--(define_insn "fix_truncsfsi2"
-- [(set (match_operand:SI 0 "register_operand" "=d")
-- (fix:SI (match_operand:SF 1 "register_operand" "d")))]
-- "TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
-- "fint\t%0,%1"
-- [(set_attr "type" "fint")
-- (set_attr "mode" "SF")
-+(define_insn "floatdfdi2"
-+ [(set (match_operand:DI 0 "register_operand" "=d")
-+ (float:DI (match_operand:DF 1 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ "dlong\t%0,%1"
-+ [(set_attr "type" "fcvt")
-+ (set_attr "mode" "DI")
- (set_attr "length" "4")])
-
- ;;----------------------------------------------------------------
-@@ -660,8 +720,8 @@
- "TARGET_MB_64"
- "@
- rsubl\t%0,%2,%1
-- addik\t%0,%z1,-%2
-- addik\t%0,%z1,-%2"
-+ addlik\t%0,%z1,-%2
-+ addlik\t%0,%z1,-%2"
- [(set_attr "type" "arith,no_delay_arith,no_delay_arith")
- (set_attr "mode" "DI")
- (set_attr "length" "4,4,4")])
-diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
-index 35ab9654052..dfef45c268e 100644
---- a/gcc/config/microblaze/t-microblaze
-+++ b/gcc/config/microblaze/t-microblaze
-@@ -1,6 +1,13 @@
- MULTILIB_OPTIONS = m64 mxl-barrel-shift mlittle-endian mno-xl-soft-mul mxl-multiply-high
- MULTILIB_DIRNAMES = m64 bs le m mh
- MULTILIB_EXCEPTIONS = *m64/mxl-multiply-high mxl-multiply-high
-+MULTILIB_EXCEPTIONS += *m64
-+MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift
-+MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul
-+MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul
-+MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul
-+MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul/mxl-multiply-high
-+MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul/mxl-multiply-high
- MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
- MULTILIB_EXCEPTIONS += *mlittle-endian/mxl-multiply-high mxl-multiply-high
- MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mlittle-endian/mxl-multiply-high
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch
deleted file mode 100644
index 2253b7599..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 2feba7c8902be8d5c4cc99feca0581472c16de0c Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Fri, 12 Oct 2018 16:07:36 +0530
-Subject: [PATCH 37/54] Fixed the issue in the delay slot with swap
- instructions
-
----
- gcc/config/microblaze/microblaze.md | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 1401d6b77ff..a91108cf0e5 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -443,6 +443,9 @@
- (bswap:SI (match_operand:SI 1 "register_operand" "r")))]
- "TARGET_REORDER"
- "swapb %0, %1"
-+ [(set_attr "type" "no_delay_arith")
-+ (set_attr "mode" "SI")
-+ (set_attr "length" "4")]
- )
-
- (define_insn "bswaphi2"
-@@ -451,6 +454,9 @@
- "TARGET_REORDER"
- "swapb %0, %1
- swaph %0, %0"
-+ [(set_attr "type" "no_delay_arith")
-+ (set_attr "mode" "SI")
-+ (set_attr "length" "8")]
- )
-
- ;;----------------------------------------------------------------
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch
deleted file mode 100644
index 57905e66c..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch
+++ /dev/null
@@ -1,256 +0,0 @@
-From 10d59c50195cff30c4e74959ef4cebc9065808a4 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Sat, 13 Oct 2018 21:12:43 +0530
-Subject: [PATCH 38/54] Fixed the load store issue with the 32bit arith
- libraries
-
----
- libgcc/config/microblaze/divsi3.S | 25 ++++++++++++++++++++++++-
- libgcc/config/microblaze/modsi3.S | 26 +++++++++++++++++++++++++-
- libgcc/config/microblaze/mulsi3.S | 3 +++
- libgcc/config/microblaze/udivsi3.S | 24 +++++++++++++++++++++++-
- libgcc/config/microblaze/umodsi3.S | 24 +++++++++++++++++++++++-
- 5 files changed, 98 insertions(+), 4 deletions(-)
-
-diff --git a/libgcc/config/microblaze/divsi3.S b/libgcc/config/microblaze/divsi3.S
-index bb047094e2f..104243e35fe 100644
---- a/libgcc/config/microblaze/divsi3.S
-+++ b/libgcc/config/microblaze/divsi3.S
-@@ -41,6 +41,17 @@
- .globl __divsi3
- .ent __divsi3
- .type __divsi3,@function
-+#ifdef __arch64__
-+ .align 3
-+__divsi3:
-+ .frame r1,0,r15
-+
-+ ADDIK r1,r1,-32
-+ SLI r28,r1,0
-+ SLI r29,r1,8
-+ SLI r30,r1,16
-+ SLI r31,r1,24
-+#else
- __divsi3:
- .frame r1,0,r15
-
-@@ -49,7 +60,7 @@ __divsi3:
- SWI r29,r1,4
- SWI r30,r1,8
- SWI r31,r1,12
--
-+#endif
- BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
- BEQI r5,$LaResult_Is_Zero # Result is Zero
- BGEID r5,$LaR5_Pos
-@@ -89,6 +100,17 @@ $LaLOOP_END:
- $LaDiv_By_Zero:
- $LaResult_Is_Zero:
- OR r3,r0,r0 # set result to 0
-+#ifdef __arch64__
-+$LaRETURN_HERE:
-+# Restore values of CSRs and that of r3 and the divisor and the dividend
-+ LLI r28,r1,0
-+ LLI r29,r1,8
-+ LLI r30,r1,16
-+ LLI r31,r1,24
-+ ADDLIK r1,r1,32
-+ RTSD r15,8
-+ NOP
-+#else
- $LaRETURN_HERE:
- # Restore values of CSRs and that of r3 and the divisor and the dividend
- LWI r28,r1,0
-@@ -97,6 +119,7 @@ $LaRETURN_HERE:
- LWI r31,r1,12
- RTSD r15,8
- ADDIK r1,r1,16
-+#endif
- .end __divsi3
- .size __divsi3, . - __divsi3
-
-diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S
-index 9692ff310ff..9500d64bdc0 100644
---- a/libgcc/config/microblaze/modsi3.S
-+++ b/libgcc/config/microblaze/modsi3.S
-@@ -41,6 +41,17 @@
- .globl __modsi3
- .ent __modsi3
- .type __modsi3,@function
-+#ifdef __arch64__
-+ .align 3
-+__modsi3:
-+ .frame r1,0,r15
-+
-+ addlik r1,r1,-32
-+ sli r28,r1,0
-+ sli r29,r1,8
-+ sli r30,r1,16
-+ sli r31,r1,24
-+#else
- __modsi3:
- .frame r1,0,r15
-
-@@ -49,6 +60,7 @@ __modsi3:
- swi r29,r1,4
- swi r30,r1,8
- swi r31,r1,12
-+#endif
-
- BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
- BEQI r5,$LaResult_Is_Zero # Result is Zero
-@@ -88,6 +100,18 @@ $LaLOOP_END:
- $LaDiv_By_Zero:
- $LaResult_Is_Zero:
- or r3,r0,r0 # set result to 0 [Both mod as well as div are 0]
-+
-+#ifdef __arch64__
-+$LaRETURN_HERE:
-+# Restore values of CSRs and that of r3 and the divisor and the dividend
-+ lli r28,r1,0
-+ lli r29,r1,8
-+ lli r30,r1,16
-+ lli r31,r1,24
-+ addik r1,r1,32
-+ rtsd r15,8
-+ nop
-+#else
- $LaRETURN_HERE:
- # Restore values of CSRs and that of r3 and the divisor and the dividend
- lwi r28,r1,0
-@@ -95,7 +119,7 @@ $LaRETURN_HERE:
- lwi r30,r1,8
- lwi r31,r1,12
- rtsd r15,8
-- addik r1,r1,16
-+#endif
- .end __modsi3
- .size __modsi3, . - __modsi3
-
-diff --git a/libgcc/config/microblaze/mulsi3.S b/libgcc/config/microblaze/mulsi3.S
-index cb3b6b8321f..2044399db4a 100644
---- a/libgcc/config/microblaze/mulsi3.S
-+++ b/libgcc/config/microblaze/mulsi3.S
-@@ -41,6 +41,9 @@
- .globl __mulsi3
- .ent __mulsi3
- .type __mulsi3,@function
-+#ifdef __arch64__
-+ .align 3
-+#endif
- __mulsi3:
- .frame r1,0,r15
- add r3,r0,r0
-diff --git a/libgcc/config/microblaze/udivsi3.S b/libgcc/config/microblaze/udivsi3.S
-index ee2bdd0950d..d2332bcfe62 100644
---- a/libgcc/config/microblaze/udivsi3.S
-+++ b/libgcc/config/microblaze/udivsi3.S
-@@ -41,6 +41,16 @@
- .globl __udivsi3
- .ent __udivsi3
- .type __udivsi3,@function
-+#ifdef __arch64__
-+ .align 3
-+__udivsi3:
-+ .frame r1,0,r15
-+
-+ ADDLIK r1,r1,-24
-+ SLI r29,r1,0
-+ SLI r30,r1,8
-+ SLI r31,r1,16
-+#else
- __udivsi3:
- .frame r1,0,r15
-
-@@ -48,7 +58,7 @@ __udivsi3:
- SWI r29,r1,0
- SWI r30,r1,4
- SWI r31,r1,8
--
-+#endif
- BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
- BEQID r5,$LaResult_Is_Zero # Result is Zero
- ADDIK r30,r0,0 # Clear mod
-@@ -98,6 +108,17 @@ $LaLOOP_END:
- $LaDiv_By_Zero:
- $LaResult_Is_Zero:
- OR r3,r0,r0 # set result to 0
-+
-+#ifdef __arch64__
-+$LaRETURN_HERE:
-+ # Restore values of CSRs and that of r3 and the divisor and the dividend
-+ LLI r29,r1,0
-+ LLI r30,r1,8
-+ LLI r31,r1,16
-+ ADDIK r1,r1,24
-+ RTSD r15,8
-+ NOP
-+#else
- $LaRETURN_HERE:
- # Restore values of CSRs and that of r3 and the divisor and the dividend
- LWI r29,r1,0
-@@ -105,5 +126,6 @@ $LaRETURN_HERE:
- LWI r31,r1,8
- RTSD r15,8
- ADDIK r1,r1,12
-+#endif
- .end __udivsi3
- .size __udivsi3, . - __udivsi3
-diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S
-index 12c082f6417..30bd8c20b58 100644
---- a/libgcc/config/microblaze/umodsi3.S
-+++ b/libgcc/config/microblaze/umodsi3.S
-@@ -41,6 +41,16 @@
- .globl __umodsi3
- .ent __umodsi3
- .type __umodsi3,@function
-+#ifdef __arch64__
-+ .align 3
-+__umodsi3:
-+ .frame r1,0,r15
-+
-+ addik r1,r1,-24
-+ swi r29,r1,0
-+ swi r30,r1,8
-+ swi r31,r1,16
-+#else
- __umodsi3:
- .frame r1,0,r15
-
-@@ -48,7 +58,7 @@ __umodsi3:
- swi r29,r1,0
- swi r30,r1,4
- swi r31,r1,8
--
-+#endif
- BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
- BEQId r5,$LaResult_Is_Zero # Result is Zero
- ADDIK r3,r0,0 # Clear div
-@@ -101,6 +111,17 @@ $LaLOOP_END:
- $LaDiv_By_Zero:
- $LaResult_Is_Zero:
- or r3,r0,r0 # set result to 0
-+
-+#ifdef __arch64__
-+$LaRETURN_HERE:
-+# Restore values of CSRs and that of r3 and the divisor and the dividend
-+ lli r29,r1,0
-+ lli r30,r1,8
-+ lli r31,r1,16
-+ addlik r1,r1,24
-+ rtsd r15,8
-+ nop
-+#else
- $LaRETURN_HERE:
- # Restore values of CSRs and that of r3 and the divisor and the dividend
- lwi r29,r1,0
-@@ -108,5 +129,6 @@ $LaRETURN_HERE:
- lwi r31,r1,8
- rtsd r15,8
- addik r1,r1,12
-+#endif
- .end __umodsi3
- .size __umodsi3, . - __umodsi3
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch
deleted file mode 100644
index 8f46859ac..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e51fb2d87f412d1f7045050c5c2df664766de706 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Mon, 15 Oct 2018 12:00:10 +0530
-Subject: [PATCH 39/54] extending the Dwarf support to 64bit Microblaze
-
----
- gcc/config/microblaze/microblaze.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index 60c552958b8..747adcc7a70 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -207,7 +207,7 @@ extern enum pipeline_type microblaze_pipe;
- /* Use DWARF 2 debugging information by default. */
- #define DWARF2_DEBUGGING_INFO 1
- #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
--#define DWARF2_ADDR_SIZE 4
-+#define DWARF2_ADDR_SIZE (TARGET_MB_64 ? 8 : 4)
-
- /* Target machine storage layout */
-
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0040-fixing-the-typo-errors-in-umodsi3-file.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0040-fixing-the-typo-errors-in-umodsi3-file.patch
deleted file mode 100644
index e7e581e3e..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0040-fixing-the-typo-errors-in-umodsi3-file.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 61be4b342d470aeb7ad1c0cc5e90f5afdc906c00 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Tue, 16 Oct 2018 07:55:46 +0530
-Subject: [PATCH 40/54] fixing the typo errors in umodsi3 file
-
----
- libgcc/config/microblaze/umodsi3.S | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S
-index 30bd8c20b58..2dd72aef68e 100644
---- a/libgcc/config/microblaze/umodsi3.S
-+++ b/libgcc/config/microblaze/umodsi3.S
-@@ -47,9 +47,9 @@ __umodsi3:
- .frame r1,0,r15
-
- addik r1,r1,-24
-- swi r29,r1,0
-- swi r30,r1,8
-- swi r31,r1,16
-+ sli r29,r1,0
-+ sli r30,r1,8
-+ sli r31,r1,16
- #else
- __umodsi3:
- .frame r1,0,r15
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0041-fixing-the-32bit-LTO-related-issue9-1014024.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0041-fixing-the-32bit-LTO-related-issue9-1014024.patch
deleted file mode 100644
index 9f9afdb9a..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0041-fixing-the-32bit-LTO-related-issue9-1014024.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From b1eb7b1f6c33246ded3501364279a5f002cd8de0 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Wed, 17 Oct 2018 16:56:14 +0530
-Subject: [PATCH 41/54] fixing the 32bit LTO related issue9(1014024)
-
----
- gcc/config/microblaze/microblaze.h | 24 ++++++++++++++----------
- 1 file changed, 14 insertions(+), 10 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index 747adcc7a70..bfa7bc9a01c 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -265,12 +265,14 @@ extern enum pipeline_type microblaze_pipe;
- #define WORD_REGISTER_OPERATIONS 1
-
- #define LOAD_EXTEND_OP(MODE) ZERO_EXTEND
--/*
--#define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \
-- if (GET_MODE_CLASS (MODE) == MODE_INT \
-- && GET_MODE_SIZE (MODE) < (TARGET_MB_64 ? 8 : 4)) \
-- (MODE) = TARGET_MB_64 ? DImode : SImode;
--*/
-+
-+#ifndef __arch64__
-+#define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \
-+ if (GET_MODE_CLASS (MODE) == MODE_INT \
-+ && GET_MODE_SIZE (MODE) < 4) \
-+ (MODE) = SImode;
-+#endif
-+
- /* Standard register usage. */
-
- /* On the MicroBlaze, we have 32 integer registers */
-@@ -469,16 +471,18 @@ extern struct microblaze_frame_info current_frame_info;
-
- #define MAX_ARGS_IN_REGISTERS MB_ABI_MAX_ARG_REGS
-
-+#ifdef __aarch64__
- #define LIBCALL_VALUE(MODE) \
- gen_rtx_REG (MODE,GP_RETURN)
--
--/*#define LIBCALL_VALUE(MODE) \
-+#else
-+#define LIBCALL_VALUE(MODE) \
- gen_rtx_REG ( \
- ((GET_MODE_CLASS (MODE) != MODE_INT \
- || GET_MODE_SIZE (MODE) >= 4) \
- ? (MODE) \
- : SImode), GP_RETURN)
--*/
-+#endif
-+
- /* 1 if N is a possible register number for a function value.
- On the MicroBlaze, R2 R3 are the only register thus used.
- Currently, R2 are only implemented here (C has no complex type) */
-@@ -518,7 +522,7 @@ typedef struct microblaze_args
- /* 4 insns + 2 words of data. */
- #define TRAMPOLINE_SIZE (6 * 4)
-
--#define TRAMPOLINE_ALIGNMENT 64
-+#define TRAMPOLINE_ALIGNMENT (TARGET_MB_64 ? 64 : 32)
-
- #define REGNO_OK_FOR_BASE_P(regno) microblaze_regno_ok_for_base_p ((regno), 1)
-
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch
deleted file mode 100644
index fb31d663f..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e0820fe8c8d9b7504595794fe6e65151d22e2acf Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Fri, 19 Oct 2018 14:26:25 +0530
-Subject: [PATCH 42/54] Fixed the missing stack adjustment in prologue of
- modsi3 function
-
----
- libgcc/config/microblaze/modsi3.S | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S
-index 9500d64bdc0..4dbb25900d9 100644
---- a/libgcc/config/microblaze/modsi3.S
-+++ b/libgcc/config/microblaze/modsi3.S
-@@ -119,6 +119,7 @@ $LaRETURN_HERE:
- lwi r30,r1,8
- lwi r31,r1,12
- rtsd r15,8
-+ addik r1,r1,16
- #endif
- .end __modsi3
- .size __modsi3, . - __modsi3
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch
deleted file mode 100644
index ce8b13844..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1f288ec920d938accb084dc0d1d6f6115950c014 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 24 Oct 2018 18:31:04 +0530
-Subject: [PATCH 43/54] [Patch,Microblaze] : corrected SPN for dlong
- instruction mapping.
-
----
- gcc/config/microblaze/microblaze.md | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index a91108cf0e5..19801f8edcc 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -602,9 +602,9 @@
- (set_attr "mode" "DF")
- (set_attr "length" "4")])
-
--(define_insn "floatdfdi2"
-+(define_insn "fix_truncdfdi2"
- [(set (match_operand:DI 0 "register_operand" "=d")
-- (float:DI (match_operand:DF 1 "register_operand" "d")))]
-+ (fix:DI (fix:DF (match_operand:DF 1 "register_operand" "d"))))]
- "TARGET_MB_64"
- "dlong\t%0,%1"
- [(set_attr "type" "fcvt")
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0044-fixing-the-long-long-long-mingw-toolchain-issue.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0044-fixing-the-long-long-long-mingw-toolchain-issue.patch
deleted file mode 100644
index fec0a2af4..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0044-fixing-the-long-long-long-mingw-toolchain-issue.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From eed2bf4db9bdfc0da1c3f77ce746fb5bfa460b3c Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Thu, 29 Nov 2018 17:55:08 +0530
-Subject: [PATCH 44/54] fixing the long & long long mingw toolchain issue
-
----
- gcc/config/microblaze/constraints.md | 2 +-
- gcc/config/microblaze/microblaze.md | 8 ++++----
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
-index b8ef1650f92..89db511c453 100644
---- a/gcc/config/microblaze/constraints.md
-+++ b/gcc/config/microblaze/constraints.md
-@@ -55,7 +55,7 @@
- (define_constraint "K"
- "A constant in the range 0xffffff8000000000L to 0x0000007fffffffffL (inclusive)."
- (and (match_code "const_int")
-- (match_test "ival > (long)-549755813888 && ival < (long)549755813887")))
-+ (match_test "ival > (long long)-549755813888 && ival < (long long)549755813887")))
-
-
- ;; Define floating point constraints
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 19801f8edcc..8f0ae901b77 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -648,8 +648,8 @@
- if (TARGET_MB_64)
- {
- if (GET_CODE (operands[2]) == CONST_INT &&
-- INTVAL(operands[2]) < (long)-549755813888 &&
-- INTVAL(operands[2]) > (long)549755813887)
-+ INTVAL(operands[2]) < (long long)-549755813888 &&
-+ INTVAL(operands[2]) > (long long)549755813887)
- FAIL;
- }
- })
-@@ -1266,7 +1266,7 @@
- (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))]
- "TARGET_MB_64 && (register_operand (operands[0], DImode) &&
- (GET_CODE (operands[1]) == CONST_INT &&
-- (INTVAL (operands[1]) <= (long)549755813887 && INTVAL (operands[1]) >= (long)-549755813888)))"
-+ (INTVAL (operands[1]) <= (long long)549755813887 && INTVAL (operands[1]) >= (long long)-549755813888)))"
- "@
- addlk\t%0,r0,r0\t
- addlik\t%0,r0,%1\t #N1 %X1
-@@ -1300,7 +1300,7 @@
- case 1:
- case 2:
- if (GET_CODE (operands[1]) == CONST_INT &&
-- (INTVAL (operands[1]) > (long)549755813887 || INTVAL (operands[1]) < (long)-549755813888))
-+ (INTVAL (operands[1]) > (long long)549755813887 || INTVAL (operands[1]) < (long long)-549755813888))
- return "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
- else
- return "addlik\t%0,r0,%1";
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch
deleted file mode 100644
index 15acc1cbb..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 682f65fa3a6b37c207b0d727dd22b6f8cc5d8d3d Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Thu, 14 Mar 2019 18:11:04 +0530
-Subject: [PATCH 45/54] Fix the MB-64 bug of handling QI objects
-
----
- gcc/config/microblaze/microblaze.md | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 8f0ae901b77..207d2bf1b55 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -2348,11 +2348,11 @@ else
-
- (define_insn "branch_zero_64"
- [(set (pc)
-- (if_then_else (match_operator:SI 0 "ordered_comparison_operator"
-+ (if_then_else (match_operator 0 "ordered_comparison_operator"
- [(match_operand:SI 1 "register_operand" "d")
- (const_int 0)])
-- (match_operand:SI 2 "pc_or_label_operand" "")
-- (match_operand:SI 3 "pc_or_label_operand" "")))
-+ (match_operand 2 "pc_or_label_operand" "")
-+ (match_operand 3 "pc_or_label_operand" "")))
- ]
- "TARGET_MB_64"
- {
-@@ -2368,11 +2368,11 @@ else
-
- (define_insn "long_branch_zero"
- [(set (pc)
-- (if_then_else (match_operator 0 "ordered_comparison_operator"
-- [(match_operand 1 "register_operand" "d")
-+ (if_then_else (match_operator:DI 0 "ordered_comparison_operator"
-+ [(match_operand:DI 1 "register_operand" "d")
- (const_int 0)])
-- (match_operand 2 "pc_or_label_operand" "")
-- (match_operand 3 "pc_or_label_operand" "")))
-+ (match_operand:DI 2 "pc_or_label_operand" "")
-+ (match_operand:DI 3 "pc_or_label_operand" "")))
- ]
- "TARGET_MB_64"
- {
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch
deleted file mode 100644
index eebf6ee72..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 444a09859149f8d21777a1c859ef2305ff86b211 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Fri, 29 Mar 2019 12:08:39 +0530
-Subject: [PATCH 46/54] [Patch,Microblaze] : We will check the possibility of
- peephole2 optimization,if we can then we will fix the compiler issue.
-
----
- gcc/config/microblaze/microblaze.md | 63 +++++++++++++++++------------
- 1 file changed, 38 insertions(+), 25 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 207d2bf1b55..9b88666c0a6 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -882,31 +882,44 @@
- (set_attr "mode" "SI")
- (set_attr "length" "4")])
-
--(define_peephole2
-- [(set (match_operand:SI 0 "register_operand")
-- (fix:SI (match_operand:SF 1 "register_operand")))
-- (set (pc)
-- (if_then_else (match_operator 2 "ordered_comparison_operator"
-- [(match_operand:SI 3 "register_operand")
-- (match_operand:SI 4 "arith_operand")])
-- (label_ref (match_operand 5))
-- (pc)))]
-- "TARGET_HARD_FLOAT && !TARGET_MB_64"
-- [(set (match_dup 1) (match_dup 3))]
--
-- {
-- rtx condition;
-- rtx cmp_op0 = operands[3];
-- rtx cmp_op1 = operands[4];
-- rtx comp_reg = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
--
-- emit_insn (gen_cstoresf4 (comp_reg, operands[2],
-- gen_rtx_REG (SFmode, REGNO (cmp_op0)),
-- gen_rtx_REG (SFmode, REGNO (cmp_op1))));
-- condition = gen_rtx_NE (SImode, comp_reg, const0_rtx);
-- emit_jump_insn (gen_condjump (condition, operands[5]));
-- }
--)
-+;; peephole2 optimization will be done only if fint and if-then-else
-+;; are dependent.added condition for the same.
-+;; if they are dependent then gcc is giving "flow control insn inside a basic block"
-+;; testcase:
-+;; volatile float vec = 1.0;
-+;; volatile int ci = 2;
-+;; register int cj = (int)(vec);
-+;;// ci=cj;
-+;;// if (ci <0) {
-+;; if (cj < 0) {
-+;; ci = 0;
-+;; }
-+;; commenting for now.we will check the possibility of this optimization later
-+
-+;;(define_peephole2
-+;; [(set (match_operand:SI 0 "register_operand")
-+;; (fix:SI (match_operand:SF 1 "register_operand")))
-+;; (set (pc)
-+;; (if_then_else (match_operator 2 "ordered_comparison_operator"
-+;; [(match_operand:SI 3 "register_operand")
-+;; (match_operand:SI 4 "arith_operand")])
-+;; (label_ref (match_operand 5))
-+;; (pc)))]
-+;; "TARGET_HARD_FLOAT && !TARGET_MB_64 && ((REGNO (operands[0])) == (REGNO (operands[3])))"
-+;; [(set (match_dup 1) (match_dup 3))]
-+;; {
-+;; rtx condition;
-+;; rtx cmp_op0 = operands[3];
-+;; rtx cmp_op1 = operands[4];
-+;; rtx comp_reg = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
-+;;
-+;; emit_insn (gen_cstoresf4 (comp_reg, operands[2],
-+;; gen_rtx_REG (SFmode, REGNO (cmp_op0)),
-+;; gen_rtx_REG (SFmode, REGNO (cmp_op1))));
-+;; condition = gen_rtx_NE (SImode, comp_reg, const0_rtx);
-+;; emit_jump_insn (gen_condjump (condition, operands[5]));
-+;; }
-+;;)
-
- ;;----------------------------------------------------------------
- ;; Negation and one's complement
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch
deleted file mode 100644
index 343788123..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch
+++ /dev/null
@@ -1,466 +0,0 @@
-From 7cc6db7ad5bf2fac80a81711c70ac1147ab87b2c Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 17 Apr 2019 12:36:16 +0530
-Subject: [PATCH 47/54] [Patch,MicroBlaze]: fixed typos in mul,div and mod
- assembly files.
-
----
- libgcc/config/microblaze/divsi3.S | 47 ++++++++++++++++++++----
- libgcc/config/microblaze/modsi3.S | 40 ++++++++++++++++++---
- libgcc/config/microblaze/mulsi3.S | 33 ++++++++++++++++-
- libgcc/config/microblaze/udivsi3.S | 54 +++++++++++++++++++++++++---
- libgcc/config/microblaze/umodsi3.S | 58 +++++++++++++++++++++++++++---
- 5 files changed, 212 insertions(+), 20 deletions(-)
-
-diff --git a/libgcc/config/microblaze/divsi3.S b/libgcc/config/microblaze/divsi3.S
-index 104243e35fe..5755e29fbb6 100644
---- a/libgcc/config/microblaze/divsi3.S
-+++ b/libgcc/config/microblaze/divsi3.S
-@@ -46,7 +46,7 @@
- __divsi3:
- .frame r1,0,r15
-
-- ADDIK r1,r1,-32
-+ ADDLIK r1,r1,-32
- SLI r28,r1,0
- SLI r29,r1,8
- SLI r30,r1,16
-@@ -61,13 +61,23 @@ __divsi3:
- SWI r30,r1,8
- SWI r31,r1,12
- #endif
-- BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
-- BEQI r5,$LaResult_Is_Zero # Result is Zero
-- BGEID r5,$LaR5_Pos
-+#ifdef __arch64__
-+ BEAEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
-+ BEAEQI r5,$LaResult_Is_Zero # Result is Zero
-+ BEAGEID r5,$LaR5_Pos
-+#else
-+ BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
-+ BEQI r5,$LaResult_Is_Zero # Result is Zero
-+ BGEID r5,$LaR5_Pos
-+#endif
- XOR r28,r5,r6 # Get the sign of the result
- RSUBI r5,r5,0 # Make r5 positive
- $LaR5_Pos:
-- BGEI r6,$LaR6_Pos
-+#ifdef __arch64__
-+ BEAGEI r6,$LaR6_Pos
-+#else
-+ BGEI r6,$LaR6_Pos
-+#endif
- RSUBI r6,r6,0 # Make r6 positive
- $LaR6_Pos:
- ADDIK r30,r0,0 # Clear mod
-@@ -76,26 +86,51 @@ $LaR6_Pos:
-
- # First part try to find the first '1' in the r5
- $LaDIV0:
-- BLTI r5,$LaDIV2 # This traps r5 == 0x80000000
-+#ifdef __arch64__
-+ BEALTI r5,$LaDIV2 # This traps r5 == 0x80000000
-+#else
-+ BLTI r5,$LaDIV2 # This traps r5 == 0x80000000
-+#endif
- $LaDIV1:
- ADD r5,r5,r5 # left shift logical r5
-+#ifdef __arch64__
-+ BEAGTID r5,$LaDIV1
-+#else
- BGTID r5,$LaDIV1
-+#endif
- ADDIK r29,r29,-1
- $LaDIV2:
- ADD r5,r5,r5 # left shift logical r5 get the '1' into the Carry
- ADDC r30,r30,r30 # Move that bit into the Mod register
- RSUB r31,r6,r30 # Try to subtract (r30 a r6)
-+#ifdef __arch64__
-+ BEALTI r31,$LaMOD_TOO_SMALL
-+#else
- BLTI r31,$LaMOD_TOO_SMALL
-+#endif
- OR r30,r0,r31 # Move the r31 to mod since the result was positive
- ADDIK r3,r3,1
- $LaMOD_TOO_SMALL:
- ADDIK r29,r29,-1
-+#ifdef __arch64__
-+ BEAEQi r29,$LaLOOP_END
-+#else
- BEQi r29,$LaLOOP_END
-+#endif
- ADD r3,r3,r3 # Shift in the '1' into div
-+#ifdef __arch64__
-+ BREAI $LaDIV2 # Div2
-+#else
- BRI $LaDIV2 # Div2
-+#endif
- $LaLOOP_END:
-+#ifdef __arch64__
-+ BEAGEI r28,$LaRETURN_HERE
-+ BREAID $LaRETURN_HERE
-+#else
- BGEI r28,$LaRETURN_HERE
- BRID $LaRETURN_HERE
-+#endif
- RSUBI r3,r3,0 # Negate the result
- $LaDiv_By_Zero:
- $LaResult_Is_Zero:
-diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S
-index 4dbb25900d9..b6129f5e822 100644
---- a/libgcc/config/microblaze/modsi3.S
-+++ b/libgcc/config/microblaze/modsi3.S
-@@ -62,40 +62,72 @@ __modsi3:
- swi r31,r1,12
- #endif
-
-+#ifdef __arch64__
-+ BEAEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
-+ BEAEQI r5,$LaResult_Is_Zero # Result is Zero
-+ BEAGEId r5,$LaR5_Pos
-+#else
- BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
- BEQI r5,$LaResult_Is_Zero # Result is Zero
- BGEId r5,$LaR5_Pos
-+#endif
- ADD r28,r5,r0 # Get the sign of the result [ Depends only on the first arg]
- RSUBI r5,r5,0 # Make r5 positive
- $LaR5_Pos:
-- BGEI r6,$LaR6_Pos
-+#ifdef __arch64__
-+ BEAGEI r6,$LaR6_Pos
-+#else
-+ BGEI r6,$LaR6_Pos
-+#endif
- RSUBI r6,r6,0 # Make r6 positive
- $LaR6_Pos:
- ADDIK r3,r0,0 # Clear mod
- ADDIK r30,r0,0 # clear div
-- BLTId r5,$LaDIV2 # If r5 is still negative (0x80000000), skip
-+#ifdef __arch64__
-+ BEALTId r5,$LaDIV2 # If r5 is still negative (0x80000000), skip
- # the first bit search.
-+#else
-+ BLTId r5,$LaDIV2 # If r5 is still negative (0x80000000), skip
-+ # the first bit search.
-+#endif
- ADDIK r29,r0,32 # Initialize the loop count
- # First part try to find the first '1' in the r5
- $LaDIV1:
- ADD r5,r5,r5 # left shift logical r5
-- BGEID r5,$LaDIV1 #
-+#ifdef __arch64__
-+ BEAGEID r5,$LaDIV1 #
-+#else
-+ BGEID r5,$LaDIV1 #
-+#endif
- ADDIK r29,r29,-1
- $LaDIV2:
- ADD r5,r5,r5 # left shift logical r5 get the '1' into the Carry
- ADDC r3,r3,r3 # Move that bit into the Mod register
- rSUB r31,r6,r3 # Try to subtract (r30 a r6)
-+#ifdef __arch64__
-+ BEALTi r31,$LaMOD_TOO_SMALL
-+#else
- BLTi r31,$LaMOD_TOO_SMALL
-+#endif
- OR r3,r0,r31 # Move the r31 to mod since the result was positive
- ADDIK r30,r30,1
- $LaMOD_TOO_SMALL:
- ADDIK r29,r29,-1
-+#ifdef __arch64__
-+ BEAEQi r29,$LaLOOP_END
-+ ADD r30,r30,r30 # Shift in the '1' into div
-+ BREAI $LaDIV2 # Div2
-+$LaLOOP_END:
-+ BEAGEI r28,$LaRETURN_HERE
-+ BREAId $LaRETURN_HERE
-+#else
- BEQi r29,$LaLOOP_END
- ADD r30,r30,r30 # Shift in the '1' into div
- BRI $LaDIV2 # Div2
- $LaLOOP_END:
- BGEI r28,$LaRETURN_HERE
- BRId $LaRETURN_HERE
-+#endif
- rsubi r3,r3,0 # Negate the result
- $LaDiv_By_Zero:
- $LaResult_Is_Zero:
-@@ -108,7 +140,7 @@ $LaRETURN_HERE:
- lli r29,r1,8
- lli r30,r1,16
- lli r31,r1,24
-- addik r1,r1,32
-+ addlik r1,r1,32
- rtsd r15,8
- nop
- #else
-diff --git a/libgcc/config/microblaze/mulsi3.S b/libgcc/config/microblaze/mulsi3.S
-index 2044399db4a..95709d5bb01 100644
---- a/libgcc/config/microblaze/mulsi3.S
-+++ b/libgcc/config/microblaze/mulsi3.S
-@@ -43,7 +43,37 @@
- .type __mulsi3,@function
- #ifdef __arch64__
- .align 3
--#endif
-+__mulsi3:
-+ .frame r1,0,r15
-+ add r3,r0,r0
-+ BEAEQI r5,$L_Result_Is_Zero # Multiply by Zero
-+ BEAEQI r6,$L_Result_Is_Zero # Multiply by Zero
-+ BEAGEId r5,$L_R5_Pos
-+ XOR r4,r5,r6 # Get the sign of the result
-+ RSUBI r5,r5,0 # Make r5 positive
-+$L_R5_Pos:
-+ BEAGEI r6,$L_R6_Pos
-+ RSUBI r6,r6,0 # Make r6 positive
-+$L_R6_Pos:
-+ breai $L1
-+$L2:
-+ add r5,r5,r5
-+$L1:
-+ srl r6,r6
-+ addc r7,r0,r0
-+ beaeqi r7,$L2
-+ beaneid r6,$L2
-+ add r3,r3,r5
-+ bealti r4,$L_NegateResult
-+ rtsd r15,8
-+ nop
-+$L_NegateResult:
-+ rtsd r15,8
-+ rsub r3,r3,r0
-+$L_Result_Is_Zero:
-+ rtsd r15,8
-+ addi r3,r0,0
-+#else
- __mulsi3:
- .frame r1,0,r15
- add r3,r0,r0
-@@ -74,5 +104,6 @@ $L_NegateResult:
- $L_Result_Is_Zero:
- rtsd r15,8
- addi r3,r0,0
-+#endif
- .end __mulsi3
- .size __mulsi3, . - __mulsi3
-diff --git a/libgcc/config/microblaze/udivsi3.S b/libgcc/config/microblaze/udivsi3.S
-index d2332bcfe62..687d5588801 100644
---- a/libgcc/config/microblaze/udivsi3.S
-+++ b/libgcc/config/microblaze/udivsi3.S
-@@ -59,52 +59,96 @@ __udivsi3:
- SWI r30,r1,4
- SWI r31,r1,8
- #endif
-+#ifdef __arch64__
-+ BEAEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
-+ BEAEQID r5,$LaResult_Is_Zero # Result is Zero
-+#else
- BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
- BEQID r5,$LaResult_Is_Zero # Result is Zero
-+#endif
- ADDIK r30,r0,0 # Clear mod
- ADDIK r29,r0,32 # Initialize the loop count
-
- # Check if r6 and r5 are equal # if yes, return 1
- RSUB r18,r5,r6
-+#ifdef __arch64__
-+ BEAEQID r18,$LaRETURN_HERE
-+#else
- BEQID r18,$LaRETURN_HERE
-+#endif
- ADDIK r3,r0,1
-
- # Check if (uns)r6 is greater than (uns)r5. In that case, just return 0
- XOR r18,r5,r6
-- BGEID r18,16
-+#ifdef __arch64__
-+ BEAGEID r18,16
-+#else
-+ BGEID r18,16
-+#endif
- ADD r3,r0,r0 # We would anyways clear r3
-+#ifdef __arch64__
-+ BEALTI r6,$LaRETURN_HERE # r6[bit 31 = 1] hence is greater
-+ BREAI $LCheckr6
-+ RSUB r18,r6,r5 # MICROBLAZEcmp
-+ BEALTI r18,$LaRETURN_HERE
-+#else
- BLTI r6,$LaRETURN_HERE # r6[bit 31 = 1] hence is greater
- BRI $LCheckr6
- RSUB r18,r6,r5 # MICROBLAZEcmp
- BLTI r18,$LaRETURN_HERE
--
-+#endif
- # If r6 [bit 31] is set, then return result as 1
- $LCheckr6:
-- BGTI r6,$LaDIV0
-- BRID $LaRETURN_HERE
-+#ifdef __arch64__
-+ BEAGTI r6,$LaDIV0
-+ BREAID $LaRETURN_HERE
-+#else
-+ BGTI r6,$LaDIV0
-+ BRID $LaRETURN_HERE
-+#endif
- ADDIK r3,r0,1
-
- # First part try to find the first '1' in the r5
- $LaDIV0:
-+#ifdef __arch64__
-+ BEALTI r5,$LaDIV2
-+#else
- BLTI r5,$LaDIV2
-+#endif
- $LaDIV1:
- ADD r5,r5,r5 # left shift logical r5
-+#ifdef __arch64__
-+ BEAGTID r5,$LaDIV1
-+#else
- BGTID r5,$LaDIV1
-+#endif
- ADDIK r29,r29,-1
- $LaDIV2:
- ADD r5,r5,r5 # left shift logical r5 get the '1' into the Carry
- ADDC r30,r30,r30 # Move that bit into the Mod register
- RSUB r31,r6,r30 # Try to subtract (r30 a r6)
-+#ifdef __arch64__
-+ BEALTI r31,$LaMOD_TOO_SMALL
-+#else
- BLTI r31,$LaMOD_TOO_SMALL
-+#endif
- OR r30,r0,r31 # Move the r31 to mod since the result was positive
- ADDIK r3,r3,1
- $LaMOD_TOO_SMALL:
- ADDIK r29,r29,-1
-+#ifdef __arch64__
-+ BEAEQi r29,$LaLOOP_END
-+ ADD r3,r3,r3 # Shift in the '1' into div
-+ BREAI $LaDIV2 # Div2
-+$LaLOOP_END:
-+ BREAI $LaRETURN_HERE
-+#else
- BEQi r29,$LaLOOP_END
- ADD r3,r3,r3 # Shift in the '1' into div
- BRI $LaDIV2 # Div2
- $LaLOOP_END:
- BRI $LaRETURN_HERE
-+#endif
- $LaDiv_By_Zero:
- $LaResult_Is_Zero:
- OR r3,r0,r0 # set result to 0
-@@ -115,7 +159,7 @@ $LaRETURN_HERE:
- LLI r29,r1,0
- LLI r30,r1,8
- LLI r31,r1,16
-- ADDIK r1,r1,24
-+ ADDLIK r1,r1,24
- RTSD r15,8
- NOP
- #else
-diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S
-index 2dd72aef68e..59646ce437f 100644
---- a/libgcc/config/microblaze/umodsi3.S
-+++ b/libgcc/config/microblaze/umodsi3.S
-@@ -46,7 +46,7 @@
- __umodsi3:
- .frame r1,0,r15
-
-- addik r1,r1,-24
-+ addlik r1,r1,-24
- sli r29,r1,0
- sli r30,r1,8
- sli r31,r1,16
-@@ -59,27 +59,77 @@ __umodsi3:
- swi r30,r1,4
- swi r31,r1,8
- #endif
-+#ifdef __arch64__
-+ BEAEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
-+ BEAEQId r5,$LaResult_Is_Zero # Result is Zero
-+#else
- BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
- BEQId r5,$LaResult_Is_Zero # Result is Zero
-+#endif
- ADDIK r3,r0,0 # Clear div
- ADDIK r30,r0,0 # clear mod
- ADDIK r29,r0,32 # Initialize the loop count
-
- # Check if r6 and r5 are equal # if yes, return 0
- rsub r18,r5,r6
-- beqi r18,$LaRETURN_HERE
-
-+#ifdef __arch64__
-+ beaeqi r18,$LaRETURN_HERE
-+#else
-+ beqi r18,$LaRETURN_HERE
-+#endif
- # Check if (uns)r6 is greater than (uns)r5. In that case, just return r5
- xor r18,r5,r6
-+#ifdef __arch64__
-+ beageid r18,16
-+ addik r3,r5,0
-+ bealti r6,$LaRETURN_HERE
-+ breai $LCheckr6
-+ rsub r18,r5,r6 # MICROBLAZEcmp
-+ beagti r18,$LaRETURN_HERE
-+#else
- bgeid r18,16
- addik r3,r5,0
- blti r6,$LaRETURN_HERE
- bri $LCheckr6
- rsub r18,r5,r6 # MICROBLAZEcmp
- bgti r18,$LaRETURN_HERE
--
-+#endif
- # If r6 [bit 31] is set, then return result as r5-r6
- $LCheckr6:
-+#ifdef __arch64__
-+ beagtid r6,$LaDIV0
-+ addik r3,r0,0
-+ addik r18,r0,0x7fffffff
-+ and r5,r5,r18
-+ and r6,r6,r18
-+ breaid $LaRETURN_HERE
-+ rsub r3,r6,r5
-+# First part: try to find the first '1' in the r5
-+$LaDIV0:
-+ BEALTI r5,$LaDIV2
-+$LaDIV1:
-+ ADD r5,r5,r5 # left shift logical r5
-+ BEAGEID r5,$LaDIV1 #
-+ ADDIK r29,r29,-1
-+$LaDIV2:
-+ ADD r5,r5,r5 # left shift logical r5 get the '1' into the Carry
-+ ADDC r3,r3,r3 # Move that bit into the Mod register
-+ rSUB r31,r6,r3 # Try to subtract (r3 a r6)
-+ BEALTi r31,$LaMOD_TOO_SMALL
-+ OR r3,r0,r31 # Move the r31 to mod since the result was positive
-+ ADDIK r30,r30,1
-+$LaMOD_TOO_SMALL:
-+ ADDIK r29,r29,-1
-+ BEAEQi r29,$LaLOOP_END
-+ ADD r30,r30,r30 # Shift in the '1' into div
-+ BREAI $LaDIV2 # Div2
-+$LaLOOP_END:
-+ BREAI $LaRETURN_HERE
-+$LaDiv_By_Zero:
-+$LaResult_Is_Zero:
-+ or r3,r0,r0 # set result to 0
-+#else
- bgtid r6,$LaDIV0
- addik r3,r0,0
- addik r18,r0,0x7fffffff
-@@ -111,7 +161,7 @@ $LaLOOP_END:
- $LaDiv_By_Zero:
- $LaResult_Is_Zero:
- or r3,r0,r0 # set result to 0
--
-+#endif
- #ifdef __arch64__
- $LaRETURN_HERE:
- # Restore values of CSRs and that of r3 and the divisor and the dividend
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0048-Author-Nagaraju-nmekala-xilinx.com.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0048-Author-Nagaraju-nmekala-xilinx.com.patch
deleted file mode 100644
index 94be6aff0..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0048-Author-Nagaraju-nmekala-xilinx.com.patch
+++ /dev/null
@@ -1,479 +0,0 @@
-From f6b896effc198b8d9d1e6f33889f029da5e5d96c Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Thu, 18 Apr 2019 16:00:37 +0530
-Subject: [PATCH 48/54] Author: Nagaraju <nmekala@xilinx.com> Date: Wed Apr
- 17 14:11:00 2019 +0530
-
- [Patch, microblaze]: MB-64 removal of barrel-shift instructions from default
- By default MB-64 is generatting barrel-shift instructions. It has been
- removed from default. Barrel-shift instructions will be generated only if
- barrel-shifter is enabled. Similarly to double instructions as well.
-
- Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
----
- gcc/config/microblaze/microblaze.c | 2 +-
- gcc/config/microblaze/microblaze.md | 269 ++++++++++++++++++++++++++--
- 2 files changed, 252 insertions(+), 19 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index e32de46fa62..7b48c011550 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -3870,7 +3870,7 @@ microblaze_expand_divide (rtx operands[])
- emit_insn (gen_rtx_CLOBBER (Pmode, reg18));
-
- if (TARGET_MB_64) {
-- emit_insn (gen_ashldi3_long (regt1, operands[1], GEN_INT(4)));
-+ emit_insn (gen_ashldi3 (regt1, operands[1], GEN_INT(4)));
- emit_insn (gen_adddi3 (regt1, regt1, operands[2]));
- }
- else {
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 9b88666c0a6..60afd9be288 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -547,7 +547,7 @@
- [(set (match_operand:DF 0 "register_operand" "=d")
- (plus:DF (match_operand:DF 1 "register_operand" "d")
- (match_operand:DF 2 "register_operand" "d")))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
- "dadd\t%0,%1,%2"
- [(set_attr "type" "fadd")
- (set_attr "mode" "DF")
-@@ -557,7 +557,7 @@
- [(set (match_operand:DF 0 "register_operand" "=d")
- (minus:DF (match_operand:DF 1 "register_operand" "d")
- (match_operand:DF 2 "register_operand" "d")))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
- "drsub\t%0,%2,%1"
- [(set_attr "type" "frsub")
- (set_attr "mode" "DF")
-@@ -567,7 +567,7 @@
- [(set (match_operand:DF 0 "register_operand" "=d")
- (mult:DF (match_operand:DF 1 "register_operand" "d")
- (match_operand:DF 2 "register_operand" "d")))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
- "dmul\t%0,%1,%2"
- [(set_attr "type" "fmul")
- (set_attr "mode" "DF")
-@@ -577,7 +577,7 @@
- [(set (match_operand:DF 0 "register_operand" "=d")
- (div:DF (match_operand:DF 1 "register_operand" "d")
- (match_operand:DF 2 "register_operand" "d")))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
- "ddiv\t%0,%2,%1"
- [(set_attr "type" "fdiv")
- (set_attr "mode" "DF")
-@@ -587,7 +587,7 @@
- (define_insn "sqrtdf2"
- [(set (match_operand:DF 0 "register_operand" "=d")
- (sqrt:DF (match_operand:DF 1 "register_operand" "d")))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
- "dsqrt\t%0,%1"
- [(set_attr "type" "fsqrt")
- (set_attr "mode" "DF")
-@@ -596,7 +596,7 @@
- (define_insn "floatdidf2"
- [(set (match_operand:DF 0 "register_operand" "=d")
- (float:DF (match_operand:DI 1 "register_operand" "d")))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
- "dbl\t%0,%1"
- [(set_attr "type" "fcvt")
- (set_attr "mode" "DF")
-@@ -605,7 +605,7 @@
- (define_insn "fix_truncdfdi2"
- [(set (match_operand:DI 0 "register_operand" "=d")
- (fix:DI (fix:DF (match_operand:DF 1 "register_operand" "d"))))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
- "dlong\t%0,%1"
- [(set_attr "type" "fcvt")
- (set_attr "mode" "DI")
-@@ -1301,6 +1301,34 @@
- (set_attr "mode" "DI")
- (set_attr "length" "4")])
-
-+(define_insn "*movdi_internal2_bshift"
-+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d, d,d,R,m")
-+ (match_operand:DI 1 "move_src_operand" " d,I,Mnis,R,m,dJ,dJ"))]
-+ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
-+ {
-+ switch (which_alternative)
-+ {
-+ case 0:
-+ return "addlk\t%0,%1,r0";
-+ case 1:
-+ case 2:
-+ if (GET_CODE (operands[1]) == CONST_INT &&
-+ (INTVAL (operands[1]) > (long long)549755813887 || INTVAL (operands[1]) < (long long)-549755813888))
-+ return "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
-+ else
-+ return "addlik\t%0,r0,%1";
-+ case 3:
-+ case 4:
-+ return "ll%i1\t%0,%1";
-+ case 5:
-+ case 6:
-+ return "sl%i0\t%z1,%0";
-+ }
-+ }
-+ [(set_attr "type" "load,no_delay_load,no_delay_load,no_delay_load,no_delay_load,no_delay_store,no_delay_store")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4,4,12,4,8,4,8")])
-+
- (define_insn "*movdi_internal2"
- [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d, d,d,R,m")
- (match_operand:DI 1 "move_src_operand" " d,I,Mnis,R,m,dJ,dJ"))]
-@@ -1314,7 +1342,15 @@
- case 2:
- if (GET_CODE (operands[1]) == CONST_INT &&
- (INTVAL (operands[1]) > (long long)549755813887 || INTVAL (operands[1]) < (long long)-549755813888))
-- return "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
-+ {
-+ operands[2] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
-+ output_asm_insn ("addlik\t%0,r0,%h1", operands);
-+ output_asm_insn ("addlik\t%2,r0,32", operands);
-+ output_asm_insn ("addlik\t%2,%2,-1", operands);
-+ output_asm_insn ("beaneid\t%2,.-8", operands);
-+ output_asm_insn ("addlk\t%0,%0,%0", operands);
-+ return "addlik\t%0,%0,%j1 #li => la";
-+ }
- else
- return "addlik\t%0,r0,%1";
- case 3:
-@@ -1389,7 +1425,7 @@
- (define_insn "movdi_long_int"
- [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
- (match_operand:DI 1 "general_operand" "i"))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
- "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
- [(set_attr "type" "no_delay_arith")
- (set_attr "mode" "DI")
-@@ -1656,6 +1692,33 @@
- ;; movdf_internal
- ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT
- ;;
-+(define_insn "*movdf_internal_64_bshift"
-+ [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,d,m")
-+ (match_operand:DF 1 "general_operand" "d,dG,m,F,T,d"))]
-+ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
-+ {
-+ switch (which_alternative)
-+ {
-+ case 0:
-+ return "addlk\t%0,%1,r0";
-+ case 1:
-+ return "addlk\t%0,r0,r0";
-+ case 2:
-+ case 4:
-+ return "ll%i1\t%0,%1";
-+ case 3:
-+ {
-+ return "addlik\t%0,r0,%j1 \n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%h1 #Xfer Lo";
-+ }
-+ case 5:
-+ return "sl%i0\t%1,%0";
-+ }
-+ gcc_unreachable ();
-+ }
-+ [(set_attr "type" "no_delay_move,no_delay_move,no_delay_load,no_delay_load,no_delay_load,no_delay_store")
-+ (set_attr "mode" "DF")
-+ (set_attr "length" "4,4,4,16,4,4")])
-+
- (define_insn "*movdf_internal_64"
- [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,d,m")
- (match_operand:DF 1 "general_operand" "d,dG,m,F,T,d"))]
-@@ -1672,7 +1735,13 @@
- return "ll%i1\t%0,%1";
- case 3:
- {
-- return "addlik\t%0,r0,%j1 \n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%h1 #Xfer Lo";
-+ operands[2] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
-+ output_asm_insn ("addlik\t%0,r0,%h1", operands);
-+ output_asm_insn ("addlik\t%2,r0,32", operands);
-+ output_asm_insn ("addlik\t%2,%2,-1", operands);
-+ output_asm_insn ("beaneid\t%2,.-8", operands);
-+ output_asm_insn ("addlk\t%0,%0,%0", operands);
-+ return "addlik\t%0,%0,%j1 #li => la";
- }
- case 5:
- return "sl%i0\t%1,%0";
-@@ -1792,11 +1861,21 @@
- "TARGET_MB_64"
- {
- ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
--if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
-+if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && TARGET_BARREL_SHIFT)
- {
- emit_insn(gen_ashldi3_long (operands[0], operands[1],operands[2]));
- DONE;
- }
-+else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && CONST_INT_P (operands[2]))
-+ {
-+ emit_insn(gen_ashldi3_const (operands[0], operands[1],operands[2]));
-+ DONE;
-+ }
-+else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && GET_CODE (operands[2]) == REG)
-+ {
-+ emit_insn(gen_ashldi3_reg (operands[0], operands[1],operands[2]));
-+ DONE;
-+ }
- else
- FAIL;
- }
-@@ -1806,7 +1885,7 @@ else
- [(set (match_operand:DI 0 "register_operand" "=d,d")
- (ashift:DI (match_operand:DI 1 "register_operand" "d,d")
- (match_operand:DI 2 "arith_operand" "I,d")))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
- "@
- bsllli\t%0,%1,%2
- bslll\t%0,%1,%2"
-@@ -1814,6 +1893,51 @@ else
- (set_attr "mode" "DI,DI")
- (set_attr "length" "4,4")]
- )
-+
-+(define_insn "ashldi3_const"
-+ [(set (match_operand:DI 0 "register_operand" "=&d")
-+ (ashift:DI (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "immediate_operand" "I")))]
-+ "TARGET_MB_64"
-+ {
-+ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
-+
-+ output_asm_insn ("orli\t%3,r0,%2", operands);
-+ if (REGNO (operands[0]) != REGNO (operands[1]))
-+ output_asm_insn ("addlk\t%0,%1,r0", operands);
-+
-+ output_asm_insn ("addlik\t%3,%3,-1", operands);
-+ output_asm_insn ("beaneid\t%3,.-8", operands);
-+ return "addlk\t%0,%0,%0";
-+ }
-+ [(set_attr "type" "multi")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "20")]
-+)
-+
-+(define_insn "ashldi3_reg"
-+ [(set (match_operand:DI 0 "register_operand" "=&d")
-+ (ashift:DI (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ {
-+ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
-+ output_asm_insn ("andli\t%3,%2,31", operands);
-+ if (REGNO (operands[0]) != REGNO (operands[1]))
-+ output_asm_insn ("addlk\t%0,r0,%1", operands);
-+ /* Exit the loop if zero shift. */
-+ output_asm_insn ("beaeqid\t%3,.+24", operands);
-+ /* Emit the loop. */
-+ output_asm_insn ("addlk\t%0,%0,r0", operands);
-+ output_asm_insn ("addlik\t%3,%3,-1", operands);
-+ output_asm_insn ("beaneid\t%3,.-8", operands);
-+ return "addlk\t%0,%0,%0";
-+ }
-+ [(set_attr "type" "multi")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "28")]
-+)
-+
- ;; The following patterns apply when there is no barrel shifter present
-
- (define_insn "*ashlsi3_with_mul_delay"
-@@ -1947,11 +2071,21 @@ else
- "TARGET_MB_64"
- {
- ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
--if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
-+if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && TARGET_BARREL_SHIFT)
- {
- emit_insn(gen_ashrdi3_long (operands[0], operands[1],operands[2]));
- DONE;
- }
-+else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && CONST_INT_P (operands[2]))
-+ {
-+ emit_insn(gen_ashrdi3_const (operands[0], operands[1],operands[2]));
-+ DONE;
-+ }
-+else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && GET_CODE (operands[2]) == REG)
-+ {
-+ emit_insn(gen_ashrdi3_reg (operands[0], operands[1],operands[2]));
-+ DONE;
-+ }
- else
- FAIL;
- }
-@@ -1961,7 +2095,7 @@ else
- [(set (match_operand:DI 0 "register_operand" "=d,d")
- (ashiftrt:DI (match_operand:DI 1 "register_operand" "d,d")
- (match_operand:DI 2 "arith_operand" "I,d")))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
- "@
- bslrai\t%0,%1,%2
- bslra\t%0,%1,%2"
-@@ -1969,6 +2103,51 @@ else
- (set_attr "mode" "DI,DI")
- (set_attr "length" "4,4")]
- )
-+
-+(define_insn "ashrdi3_const"
-+ [(set (match_operand:DI 0 "register_operand" "=&d")
-+ (ashiftrt:DI (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "immediate_operand" "I")))]
-+ "TARGET_MB_64"
-+ {
-+ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
-+
-+ output_asm_insn ("orli\t%3,r0,%2", operands);
-+ if (REGNO (operands[0]) != REGNO (operands[1]))
-+ output_asm_insn ("addlk\t%0,%1,r0", operands);
-+
-+ output_asm_insn ("addlik\t%3,%3,-1", operands);
-+ output_asm_insn ("beaneid\t%3,.-8", operands);
-+ return "srla\t%0,%0";
-+ }
-+ [(set_attr "type" "arith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "20")]
-+)
-+
-+(define_insn "ashrdi3_reg"
-+ [(set (match_operand:DI 0 "register_operand" "=&d")
-+ (ashiftrt:DI (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ {
-+ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
-+ output_asm_insn ("andli\t%3,%2,31", operands);
-+ if (REGNO (operands[0]) != REGNO (operands[1]))
-+ output_asm_insn ("addlk\t%0,r0,%1", operands);
-+ /* Exit the loop if zero shift. */
-+ output_asm_insn ("beaeqid\t%3,.+24", operands);
-+ /* Emit the loop. */
-+ output_asm_insn ("addlk\t%0,%0,r0", operands);
-+ output_asm_insn ("addlik\t%3,%3,-1", operands);
-+ output_asm_insn ("beaneid\t%3,.-8", operands);
-+ return "srla\t%0,%0";
-+ }
-+ [(set_attr "type" "multi")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "28")]
-+)
-+
- (define_expand "ashrsi3"
- [(set (match_operand:SI 0 "register_operand" "=&d")
- (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
-@@ -2086,11 +2265,21 @@ else
- "TARGET_MB_64"
- {
- ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
--if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
-+if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && TARGET_BARREL_SHIFT)
- {
- emit_insn(gen_lshrdi3_long (operands[0], operands[1],operands[2]));
- DONE;
- }
-+else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && CONST_INT_P (operands[2]))
-+ {
-+ emit_insn(gen_lshrdi3_const (operands[0], operands[1],operands[2]));
-+ DONE;
-+ }
-+else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && GET_CODE (operands[2]) == REG)
-+ {
-+ emit_insn(gen_lshrdi3_reg (operands[0], operands[1],operands[2]));
-+ DONE;
-+ }
- else
- FAIL;
- }
-@@ -2100,7 +2289,7 @@ else
- [(set (match_operand:DI 0 "register_operand" "=d,d")
- (lshiftrt:DI (match_operand:DI 1 "register_operand" "d,d")
- (match_operand:DI 2 "arith_operand" "I,d")))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
- "@
- bslrli\t%0,%1,%2
- bslrl\t%0,%1,%2"
-@@ -2109,6 +2298,50 @@ else
- (set_attr "length" "4,4")]
- )
-
-+(define_insn "lshrdi3_const"
-+ [(set (match_operand:DI 0 "register_operand" "=&d")
-+ (lshiftrt:DI (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "immediate_operand" "I")))]
-+ "TARGET_MB_64"
-+ {
-+ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
-+
-+ output_asm_insn ("orli\t%3,r0,%2", operands);
-+ if (REGNO (operands[0]) != REGNO (operands[1]))
-+ output_asm_insn ("addlk\t%0,%1,r0", operands);
-+
-+ output_asm_insn ("addlik\t%3,%3,-1", operands);
-+ output_asm_insn ("beaneid\t%3,.-8", operands);
-+ return "srll\t%0,%0";
-+ }
-+ [(set_attr "type" "multi")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "20")]
-+)
-+
-+(define_insn "lshrdi3_reg"
-+ [(set (match_operand:DI 0 "register_operand" "=&d")
-+ (lshiftrt:DI (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "register_operand" "d")))]
-+ "TARGET_MB_64"
-+ {
-+ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
-+ output_asm_insn ("andli\t%3,%2,31", operands);
-+ if (REGNO (operands[0]) != REGNO (operands[1]))
-+ output_asm_insn ("addlk\t%0,r0,%1", operands);
-+ /* Exit the loop if zero shift. */
-+ output_asm_insn ("beaeqid\t%3,.+24", operands);
-+ /* Emit the loop. */
-+ output_asm_insn ("addlk\t%0,%0,r0", operands);
-+ output_asm_insn ("addlik\t%3,%3,-1", operands);
-+ output_asm_insn ("beaneid\t%3,.-8", operands);
-+ return "srll\t%0,%0";
-+ }
-+ [(set_attr "type" "multi")
-+ (set_attr "mode" "SI")
-+ (set_attr "length" "28")]
-+)
-+
- (define_expand "lshrsi3"
- [(set (match_operand:SI 0 "register_operand" "=&d")
- (lshiftrt:SI (match_operand:SI 1 "register_operand" "d")
-@@ -2236,7 +2469,7 @@ else
- (eq:DI
- (match_operand:DI 1 "register_operand" "d")
- (match_operand:DI 2 "register_operand" "d")))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_PATTERN_COMPARE"
- "pcmpleq\t%0,%1,%2"
- [(set_attr "type" "arith")
- (set_attr "mode" "DI")
-@@ -2248,7 +2481,7 @@ else
- (ne:DI
- (match_operand:DI 1 "register_operand" "d")
- (match_operand:DI 2 "register_operand" "d")))]
-- "TARGET_MB_64"
-+ "TARGET_MB_64 && TARGET_PATTERN_COMPARE"
- "pcmplne\t%0,%1,%2"
- [(set_attr "type" "arith")
- (set_attr "mode" "DI")
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0049-Added-new-MB-64-single-register-arithmetic-instructi.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0049-Added-new-MB-64-single-register-arithmetic-instructi.patch
deleted file mode 100644
index 81ecbf8ef..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0049-Added-new-MB-64-single-register-arithmetic-instructi.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From adb1b8d8cc2a8fb99f474d9166db9f68b8f3f8b4 Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Fri, 23 Aug 2019 16:16:53 +0530
-Subject: [PATCH 49/54] Added new MB-64 single register arithmetic instructions
-
----
- gcc/config/microblaze/microblaze.md | 56 +++++++++++++++++++++++++++++
- 1 file changed, 56 insertions(+)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 60afd9be288..1ad139cbd44 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -654,6 +654,18 @@
- }
- })
-
-+(define_insn "adddi3_int"
-+ [(set (match_operand:DI 0 "register_operand" "=d")
-+ (plus:DI (match_operand:DI 1 "register_operand" "%0")
-+ (match_operand:DI 2 "immediate_operand" "I")))]
-+ "TARGET_MB_64 && ((long long)INTVAL(operands[2]) > (long long)-32768) && ((long long) INTVAL(operands[2]) < (long long)32767)"
-+ "@
-+ addlik\t%0,%2"
-+ [(set_attr "type" "darith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")]
-+)
-+
- (define_insn "*adddi3_long"
- [(set (match_operand:DI 0 "register_operand" "=d,d")
- (plus:DI (match_operand:DI 1 "register_operand" "%d,d")
-@@ -719,6 +731,18 @@
- {
- }")
-
-+(define_insn "subdi316imm"
-+ [(set (match_operand:DI 0 "register_operand" "=d")
-+ (minus:DI (match_operand:DI 1 "register_operand" "d")
-+ (match_operand:DI 2 "arith_operand" "K")))]
-+ "TARGET_MB_64 && ((long long)INTVAL(operands[2]) > (long long)-32768) && ((long long) INTVAL(operands[2]) < (long long)32767) && (REGNO (operands[0]) == REGNO (operands[1]))"
-+ "@
-+ addlik\t%0,-%2"
-+ [(set_attr "type" "darith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")])
-+
-+
- (define_insn "subsidi3"
- [(set (match_operand:DI 0 "register_operand" "=d,d,d")
- (minus:DI (match_operand:DI 1 "register_operand" "d,d,d")
-@@ -1015,6 +1039,17 @@
- ;; Logical
- ;;----------------------------------------------------------------
-
-+(define_insn "anddi3imm16"
-+ [(set (match_operand:DI 0 "register_operand" "=d")
-+ (and:DI (match_operand:DI 1 "arith_operand" "%0")
-+ (match_operand:DI 2 "arith_operand" "K")))]
-+ "TARGET_MB_64 && ((long long)INTVAL(operands[2]) > (long long)-32768) && ((long long) INTVAL(operands[2]) < (long long)32767)"
-+ "@
-+ andli\t%0,%2"
-+ [(set_attr "type" "darith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")])
-+
- (define_insn "anddi3"
- [(set (match_operand:DI 0 "register_operand" "=d,d,d")
- (and:DI (match_operand:DI 1 "arith_operand" "d,d,d")
-@@ -1042,6 +1077,16 @@
- (set_attr "mode" "SI,SI,SI,SI")
- (set_attr "length" "4,8,8,8")])
-
-+(define_insn "iordi3imm16"
-+ [(set (match_operand:DI 0 "register_operand" "=d")
-+ (ior:DI (match_operand:DI 1 "arith_operand" "%0")
-+ (match_operand:DI 2 "arith_operand" "K")))]
-+ "TARGET_MB_64 && ((long long)INTVAL(operands[2]) > (long long)-32768) && ((long long) INTVAL(operands[2]) < (long long)32767)"
-+ "@
-+ orli\t%0,%2"
-+ [(set_attr "type" "darith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")])
-
- (define_insn "iordi3"
- [(set (match_operand:DI 0 "register_operand" "=d,d")
-@@ -1069,6 +1114,17 @@
- (set_attr "mode" "SI,SI,SI,SI")
- (set_attr "length" "4,8,8,8")])
-
-+(define_insn "xordi3imm16"
-+ [(set (match_operand:DI 0 "register_operand" "=d")
-+ (xor:DI (match_operand:DI 1 "arith_operand" "%0")
-+ (match_operand:DI 2 "arith_operand" "K")))]
-+ "TARGET_MB_64 && ((long long)INTVAL(operands[2]) > (long long)-32768) && ((long long) INTVAL(operands[2]) < (long long)32767)"
-+ "@
-+ xorli\t%0,%2"
-+ [(set_attr "type" "darith")
-+ (set_attr "mode" "DI")
-+ (set_attr "length" "4")])
-+
- (define_insn "xordi3"
- [(set (match_operand:DI 0 "register_operand" "=d,d")
- (xor:DI (match_operand:DI 1 "arith_operand" "%d,d")
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch
deleted file mode 100644
index d452b988e..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 797697692635d4c536181cb007b3b0d63d2431c1 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 26 Aug 2019 15:55:22 +0530
-Subject: [PATCH 50/54] [Patch,MicroBlaze] : Added support for 64 bit Immediate
- values.
-
----
- gcc/config/microblaze/constraints.md | 4 ++--
- gcc/config/microblaze/microblaze.md | 3 +--
- 2 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
-index 89db511c453..9ad2b099310 100644
---- a/gcc/config/microblaze/constraints.md
-+++ b/gcc/config/microblaze/constraints.md
-@@ -53,9 +53,9 @@
- (match_test "ival > 0 && ival < 0x10000")))
-
- (define_constraint "K"
-- "A constant in the range 0xffffff8000000000L to 0x0000007fffffffffL (inclusive)."
-+ "A constant in the range -9223372036854775808 to 9223372036854775807 (inclusive)."
- (and (match_code "const_int")
-- (match_test "ival > (long long)-549755813888 && ival < (long long)549755813887")))
-+ (match_test "ival > (long long)-9223372036854775808 && ival < (long long)9223372036854775807")))
-
-
- ;; Define floating point constraints
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 1ad139cbd44..93de8d831fd 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -1334,8 +1334,7 @@
- [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d")
- (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))]
- "TARGET_MB_64 && (register_operand (operands[0], DImode) &&
-- (GET_CODE (operands[1]) == CONST_INT &&
-- (INTVAL (operands[1]) <= (long long)549755813887 && INTVAL (operands[1]) >= (long long)-549755813888)))"
-+ (GET_CODE (operands[1]) == CONST_INT))"
- "@
- addlk\t%0,r0,r0\t
- addlik\t%0,r0,%1\t #N1 %X1
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch
deleted file mode 100644
index 3e0c483b7..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 697db2e2c2519f27011fbd1960cd8860133aaa84 Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Thu, 9 Jan 2020 12:30:41 +0530
-Subject: [PATCH 51/54] [Patch, microblaze]: Fix Compiler crash with
- -freg-struct-return This patch fixes a bug in MB GCC regarding the passing
- struct values in registers. Currently we are only handling SImode With this
- patch all other modes are handled properly
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
-
-ChangeLog:
-2020-01-09 Nagaraju Mekala <nmekala@xilix.com>
-
- * gcc/config/microblaze/microblaze.h
- (LIBCALL_Value): Remove macro
- (PROMOTE_MODE): Remove macro
- * gcc/config/microblaze/microblaze.c
- (TARGET_LIBCALL_Value): Added new macro
- (microblaze_function_value): Updated the return Value
----
- gcc/config/microblaze/microblaze.c | 11 ++++++++++-
- gcc/config/microblaze/microblaze.h | 19 -------------------
- 2 files changed, 10 insertions(+), 20 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 7b48c011550..1bba77dab6d 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -3908,7 +3908,16 @@ microblaze_function_value (const_tree valtype,
- const_tree func ATTRIBUTE_UNUSED,
- bool outgoing ATTRIBUTE_UNUSED)
- {
-- return LIBCALL_VALUE (TYPE_MODE (valtype));
-+ return gen_rtx_REG (TYPE_MODE (valtype), GP_RETURN);
-+}
-+
-+#undef TARGET_LIBCALL_VALUE
-+#define TARGET_LIBCALL_VALUE microblaze_libcall_value
-+
-+rtx
-+microblaze_libcall_value (machine_mode mode, const_rtx fun ATTRIBUTE_UNUSED)
-+{
-+ return gen_rtx_REG (mode, GP_RETURN);
- }
-
- /* Implement TARGET_SCHED_ADJUST_COST. */
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index bfa7bc9a01c..d467a7ee65d 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -266,13 +266,6 @@ extern enum pipeline_type microblaze_pipe;
-
- #define LOAD_EXTEND_OP(MODE) ZERO_EXTEND
-
--#ifndef __arch64__
--#define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \
-- if (GET_MODE_CLASS (MODE) == MODE_INT \
-- && GET_MODE_SIZE (MODE) < 4) \
-- (MODE) = SImode;
--#endif
--
- /* Standard register usage. */
-
- /* On the MicroBlaze, we have 32 integer registers */
-@@ -471,18 +464,6 @@ extern struct microblaze_frame_info current_frame_info;
-
- #define MAX_ARGS_IN_REGISTERS MB_ABI_MAX_ARG_REGS
-
--#ifdef __aarch64__
--#define LIBCALL_VALUE(MODE) \
-- gen_rtx_REG (MODE,GP_RETURN)
--#else
--#define LIBCALL_VALUE(MODE) \
-- gen_rtx_REG ( \
-- ((GET_MODE_CLASS (MODE) != MODE_INT \
-- || GET_MODE_SIZE (MODE) >= 4) \
-- ? (MODE) \
-- : SImode), GP_RETURN)
--#endif
--
- /* 1 if N is a possible register number for a function value.
- On the MicroBlaze, R2 R3 are the only register thus used.
- Currently, R2 are only implemented here (C has no complex type) */
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch
deleted file mode 100644
index 91c7c026b..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From d7d6835bd839150e864cbb0d9c9c7a497e93bbb8 Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Wed, 8 May 2019 14:12:03 +0530
-Subject: [PATCH 52/54] [Patch, microblaze]: Add TARGET_OPTION_OPTIMIZATION and
- disable fivopts by default
-
-Added TARGET_OPTION_OPTIMIZATIONS and Turn off ivopts by default.
-
- * gcc/common/config/microblaze/microblaze-common.c
- (microblaze_option_optimization_table): Disable fivopts by default.
-
-Signed-off-by: Nagaraju Mekala <nmekala@xilinx.com>
-
-Conflicts:
- gcc/common/config/microblaze/microblaze-common.c
----
- gcc/common/config/microblaze/microblaze-common.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c
-index 4391f939626..cf2db8afe36 100644
---- a/gcc/common/config/microblaze/microblaze-common.c
-+++ b/gcc/common/config/microblaze/microblaze-common.c
-@@ -24,7 +24,18 @@
- #include "common/common-target.h"
- #include "common/common-target-def.h"
-
-+/* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */
-+static const struct default_options microblaze_option_optimization_table[] =
-+ {
-+ /* Turn off ivopts by default. It messes up cse.
-+ { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 }, */
-+ { OPT_LEVELS_ALL, OPT_fivopts, NULL, 0 },
-+ { OPT_LEVELS_NONE, 0, NULL, 0 }
-+ };
-+
- #undef TARGET_DEFAULT_TARGET_FLAGS
- #define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT
-
-+#undef TARGET_OPTION_OPTIMIZATION_TABLE
-+#define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table
- struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch
deleted file mode 100644
index 377154d7f..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch
+++ /dev/null
@@ -1,198 +0,0 @@
-From e146b21e18e51ab6ce77af2c39cdf3375606c1eb Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 24 Nov 2020 12:26:32 +0530
-Subject: [PATCH 53/54] [Patch, microblaze]: Reducing Stack space for arguments
-
-Currently in Microblaze target stack space for arguments in register is being
-allocated even if there are no arguments in the function.
-This patch will optimize the extra 24 bytes that are being allocated.
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
- :Ajit Agarwal <ajitkum@xilinx.com>
----
- gcc/config/microblaze/microblaze-protos.h | 1 +
- gcc/config/microblaze/microblaze.c | 132 +++++++++++++++++++++-
- gcc/config/microblaze/microblaze.h | 4 +-
- 3 files changed, 134 insertions(+), 3 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
-index 460feac4ac5..b8a3321dbdf 100644
---- a/gcc/config/microblaze/microblaze-protos.h
-+++ b/gcc/config/microblaze/microblaze-protos.h
-@@ -60,6 +60,7 @@ extern int symbol_mentioned_p (rtx);
- extern int label_mentioned_p (rtx);
- extern bool microblaze_cannot_force_const_mem (machine_mode, rtx);
- extern void microblaze_eh_return (rtx op0);
-+int microblaze_reg_parm_stack_space(tree fun);
- #endif /* RTX_CODE */
-
- /* Declare functions in microblaze-c.c. */
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 1bba77dab6d..dac0596bc7d 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -2080,6 +2080,136 @@ microblaze_must_save_register (int regno)
- return 0;
- }
-
-+static bool
-+microblaze_parm_needs_stack (cumulative_args_t args_so_far, tree type)
-+{
-+ int unsignedp;
-+ rtx entry_parm;
-+
-+ /* Catch errors. */
-+ if (type == NULL || type == error_mark_node)
-+ return true;
-+
-+ if (TREE_CODE (type) == POINTER_TYPE)
-+ return true;
-+
-+ /* Handle types with no storage requirement. */
-+ if (TYPE_MODE (type) == VOIDmode)
-+ return false;
-+
-+ /* Handle complex types. */
-+ if (TREE_CODE (type) == COMPLEX_TYPE)
-+ return (microblaze_parm_needs_stack (args_so_far, TREE_TYPE (type))
-+ || microblaze_parm_needs_stack (args_so_far, TREE_TYPE (type)));
-+
-+ /* Handle transparent aggregates. */
-+ if ((TREE_CODE (type) == UNION_TYPE || TREE_CODE (type) == RECORD_TYPE)
-+ && TYPE_TRANSPARENT_AGGR (type))
-+ type = TREE_TYPE (first_field (type));
-+
-+ /* See if this arg was passed by invisible reference. */
-+ function_arg_info arg (type, /*named=*/true);
-+ apply_pass_by_reference_rules (get_cumulative_args (args_so_far), arg);
-+
-+ /* Find mode as it is passed by the ABI. */
-+ unsignedp = TYPE_UNSIGNED (type);
-+ arg.mode = promote_mode (arg.type, arg.mode, &unsignedp);
-+
-+ /* If there is no incoming register, we need a stack. */
-+ entry_parm = microblaze_function_arg (args_so_far, arg);
-+ if (entry_parm == NULL)
-+ return true;
-+
-+ /* Likewise if we need to pass both in registers and on the stack. */
-+ if (GET_CODE (entry_parm) == PARALLEL
-+ && XEXP (XVECEXP (entry_parm, 0, 0), 0) == NULL_RTX)
-+ return true;
-+
-+ /* Also true if we're partially in registers and partially not. */
-+ if (function_arg_partial_bytes (args_so_far, arg) != 0)
-+ return true;
-+
-+ /* Update info on where next arg arrives in registers. */
-+ microblaze_function_arg_advance (args_so_far, arg);
-+ return false;
-+}
-+
-+static bool
-+microblaze_function_parms_need_stack (tree fun, bool incoming)
-+{
-+ tree fntype, result;
-+ CUMULATIVE_ARGS args_so_far_v;
-+ cumulative_args_t args_so_far;
-+ int num_of_args = 0;
-+
-+ /* Must be a libcall, all of which only use reg parms. */
-+ if (!fun)
-+ return true;
-+
-+ fntype = fun;
-+ if (!TYPE_P (fun))
-+ fntype = TREE_TYPE (fun);
-+
-+ /* Varargs functions need the parameter save area. */
-+ if ((!incoming && !prototype_p (fntype)) || stdarg_p (fntype))
-+ return true;
-+
-+ INIT_CUMULATIVE_ARGS(args_so_far_v, fntype, NULL_RTX,0,0);
-+ args_so_far = pack_cumulative_args (&args_so_far_v);
-+
-+ /* When incoming, we will have been passed the function decl.
-+ * * It is necessary to use the decl to handle K&R style functions,
-+ * * where TYPE_ARG_TYPES may not be available. */
-+ if (incoming)
-+ {
-+ gcc_assert (DECL_P (fun));
-+ result = DECL_RESULT (fun);
-+ }
-+ else
-+ result = TREE_TYPE (fntype);
-+
-+ if (result && aggregate_value_p (result, fntype))
-+ {
-+ if (!TYPE_P (result))
-+ result = build_pointer_type (result);
-+ microblaze_parm_needs_stack (args_so_far, result);
-+ }
-+
-+ if (incoming)
-+ {
-+ tree parm;
-+ for (parm = DECL_ARGUMENTS (fun);
-+ parm && parm != void_list_node;
-+ parm = TREE_CHAIN (parm))
-+ if (microblaze_parm_needs_stack (args_so_far, TREE_TYPE (parm)))
-+ return true;
-+ }
-+ else
-+ {
-+ function_args_iterator args_iter;
-+ tree arg_type;
-+
-+ FOREACH_FUNCTION_ARGS (fntype, arg_type, args_iter)
-+ {
-+ num_of_args;
-+ if (microblaze_parm_needs_stack (args_so_far, arg_type))
-+ return true;
-+ }
-+ }
-+
-+ if (num_of_args > 3) return true;
-+
-+ return false;
-+}
-+
-+int microblaze_reg_parm_stack_space(tree fun)
-+{
-+ if (microblaze_function_parms_need_stack (fun,false))
-+ return MAX_ARGS_IN_REGISTERS * UNITS_PER_WORD;
-+ else
-+ return 0;
-+}
-+
- /* Return the bytes needed to compute the frame pointer from the current
- stack pointer.
-
-@@ -3470,7 +3600,7 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
- emit_insn (gen_indirect_jump (temp2));
-
- /* Run just enough of rest_of_compilation. This sequence was
-- "borrowed" from rs6000.c. */
-+ "borrowed" from microblaze.c */
- insn = get_insns ();
- shorten_branches (insn);
- assemble_start_function (thunk_fndecl, fnname);
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index d467a7ee65d..be6c798c889 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -447,9 +447,9 @@ extern struct microblaze_frame_info current_frame_info;
- #define ARG_POINTER_CFA_OFFSET(FNDECL) 0
- #define DWARF_CIE_DATA_ALIGNMENT -1
-
--#define REG_PARM_STACK_SPACE(FNDECL) (MAX_ARGS_IN_REGISTERS * UNITS_PER_WORD)
-+#define REG_PARM_STACK_SPACE(FNDECL) microblaze_reg_parm_stack_space(FNDECL)
-
--#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1
-+#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1
-
- #define STACK_BOUNDARY (TARGET_MB_64 ? 64 : 32)
-
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/microblaze-mulitlib-hack.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/microblaze-mulitlib-hack.patch
deleted file mode 100644
index af8ebf3be..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-10/microblaze-mulitlib-hack.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-Microblaze Mulitlib hack
-
-Based on the patch:
-
-From c2081c51db589471ea713870c72f13999abda815 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:10:06 +0400
-Subject: [PATCH 04/36] 64-bit multilib hack.
-
-GCC has internal multilib handling code but it assumes a very specific rigid directory
-layout. The build system implementation of multilib layout is very generic and allows
-complete customisation of the library directories.
-
-This patch is a partial solution to allow any custom directories to be passed into gcc
-and handled correctly. It forces gcc to use the base_libdir (which is the current
-directory, "."). We need to do this for each multilib that is configured as we don't
-know which compiler options may be being passed into the compiler. Since we have a compiler
-per mulitlib at this point that isn't an issue.
-
-The one problem is the target compiler is only going to work for the default multlilib at
-this point. Ideally we'd figure out which multilibs were being enabled with which paths
-and be able to patch these entries with a complete set of correct paths but this we
-don't have such code at this point. This is something the target gcc recipe should do
-and override these platform defaults in its build config.
-
-Do same for riscv64 and aarch64
-
-RP 15/8/11
-
-Upstream-Status: Inappropriate[OE-Specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
-
-Index: gcc-9.2.0/gcc/config/microblaze/t-microblaze
-===================================================================
---- gcc-9.2.0.orig/gcc/config/microblaze/t-microblaze
-+++ gcc-9.2.0/gcc/config/microblaze/t-microblaze
-@@ -1,5 +1,6 @@
- MULTILIB_OPTIONS = m64 mxl-barrel-shift mlittle-endian mno-xl-soft-mul mxl-multiply-high
--MULTILIB_DIRNAMES = m64 bs le m mh
-+#MULTILIB_DIRNAMES = m64 bs le m mh
-+MULTILIB_DIRNAMES = . . . . .
- MULTILIB_EXCEPTIONS = *m64/mxl-multiply-high mxl-multiply-high
- MULTILIB_EXCEPTIONS += *m64
- MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift
-Index: gcc-9.2.0/gcc/config/microblaze/t-microblaze-linux
-===================================================================
---- gcc-9.2.0.orig/gcc/config/microblaze/t-microblaze-linux
-+++ gcc-9.2.0/gcc/config/microblaze/t-microblaze-linux
-@@ -1,3 +1,4 @@
- MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high
--MULTILIB_DIRNAMES = bs m mh
-+#MULTILIB_DIRNAMES = bs m mh
-+MULTILIB_DIRNAMES = . . .
- MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-source_10.%.bbappend b/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-source_10.%.bbappend
deleted file mode 100644
index f1ba2ea66..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gcc/gcc-source_10.%.bbappend
+++ /dev/null
@@ -1,59 +0,0 @@
-# Add MicroBlaze Patches (only when using MicroBlaze)
-FILESEXTRAPATHS_append_microblaze := ":${THISDIR}/gcc-10"
-
-SRC_URI_append_microblaze = " \
- file://0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch \
- file://0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch \
- file://0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch \
- file://0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch \
- file://0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch \
- file://0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch \
- file://0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch \
- file://0008-Patch-microblaze-Fix-atomic-side-effects.patch \
- file://0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch \
- file://0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch \
- file://0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch \
- file://0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch \
- file://0013-Patch-microblaze-Removed-moddi3-routinue.patch \
- file://0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch \
- file://0015-Patch-microblaze-Add-optimized-lshrsi3.patch \
- file://0016-Patch-microblaze-Add-cbranchsi4_reg.patch \
- file://0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch \
- file://0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch \
- file://0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch \
- file://0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch \
- file://0021-Patch-microblaze-Correct-the-const-high-double-immed.patch \
- file://0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch \
- file://0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch \
- file://0024-Patch-microblaze-Add-new-bit-field-instructions.patch \
- file://0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch \
- file://0026-Fixing-the-issue-with-the-builtin_alloc.patch \
- file://0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch \
- file://0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch \
- file://0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch \
- file://0030-Intial-commit-for-64bit-MB-sources.patch \
- file://0031-re-arrangement-of-the-compare-branches.patch \
- file://0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch \
- file://0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch \
- file://0034-Fixed-issues-like.patch \
- file://0035-Fixed-below-issues.patch \
- file://0036-Added-double-arith-instructions.patch \
- file://0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch \
- file://0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch \
- file://0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch \
- file://0040-fixing-the-typo-errors-in-umodsi3-file.patch \
- file://0041-fixing-the-32bit-LTO-related-issue9-1014024.patch \
- file://0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch \
- file://0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch \
- file://0044-fixing-the-long-long-long-mingw-toolchain-issue.patch \
- file://0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch \
- file://0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch \
- file://0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch \
- file://0048-Author-Nagaraju-nmekala-xilinx.com.patch \
- file://0049-Added-new-MB-64-single-register-arithmetic-instructi.patch \
- file://0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch \
- file://0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch \
- file://0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch \
- file://0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch \
- file://microblaze-mulitlib-hack.patch \
-"
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-9.2.inc b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-9.2.inc
deleted file mode 100644
index 017b61ef6..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-9.2.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-LICENSE = "GPLv2 & GPLv3 & LGPLv2 & LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
- file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674"
-
-SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \
- file://0001-make-man-install-relative-to-DESTDIR.patch \
- file://0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
- file://0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
- file://0004-Add-support-for-Renesas-SH-sh4-architecture.patch \
- file://0005-Dont-disable-libreadline.a-when-using-disable-static.patch \
- file://0006-use-asm-sgidefs.h.patch \
- file://0007-Use-exorted-definitions-of-SIGRTMIN.patch \
- file://0008-Change-order-of-CFLAGS.patch \
- file://0009-resolve-restrict-keyword-conflict.patch \
- file://0010-Fix-invalid-sigprocmask-call.patch \
- file://0011-gdbserver-ctrl-c-handling.patch \
- "
-SRC_URI[md5sum] = "db95524e554870209ab7d9f8fd8dc557"
-SRC_URI[sha256sum] = "360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555"
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-common.inc b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-common.inc
deleted file mode 100644
index 08f615add..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-common.inc
+++ /dev/null
@@ -1,62 +0,0 @@
-SUMMARY = "GNU debugger"
-HOMEPAGE = "http://www.gnu.org/software/gdb/"
-SECTION = "devel"
-DEPENDS = "expat zlib ncurses virtual/libiconv ${LTTNGUST} bison-native"
-
-LTTNGUST = "lttng-ust"
-LTTNGUST_arc = ""
-LTTNGUST_aarch64 = ""
-LTTNGUST_mipsarch = ""
-LTTNGUST_sh4 = ""
-
-inherit autotools texinfo
-
-UPSTREAM_CHECK_GITTAGREGEX = "gdb\-(?P<pver>.+)\-release"
-
-B = "${WORKDIR}/build-${TARGET_SYS}"
-
-EXTRA_OEMAKE = "'SUBDIRS=intl mmalloc libiberty opcodes bfd sim gdb etc utils'"
-
-EXPAT = "--with-expat --with-libexpat-prefix=${STAGING_DIR_HOST}"
-
-EXTRA_OECONF = "--disable-gdbtk --disable-x --disable-werror \
- --with-curses --disable-multilib --disable-sim \
- --without-lzma --without-guile \
- ${GDBPROPREFIX} ${EXPAT} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)} \
- --disable-rpath \
- --disable-gas --disable-binutils \
- --disable-ld --disable-gold \
- --disable-gprof \
-"
-
-PACKAGECONFIG ??= "readline"
-# Use --without-system-readline to compile with readline 5.
-PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,readline"
-PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,python3,python3 python3-codecs"
-PACKAGECONFIG[babeltrace] = "--with-babeltrace,--without-babeltrace,babeltrace"
-# ncurses is already a hard DEPENDS, but would be added here if it weren't
-PACKAGECONFIG[tui] = "--enable-tui,--disable-tui"
-
-GDBPROPREFIX = "--program-prefix=''"
-
-do_configure () {
- # override this function to avoid the autoconf/automake/aclocal/autoheader
- # calls for now
- (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
- oe_runconf
-}
-
-# we don't want gdb to provide bfd/iberty/opcodes, which instead will override the
-# right bits installed by binutils. Same for bfd.info -- also from binutils.
-do_install_append() {
- rm -rf ${D}${libdir}
- rm -rf ${D}${includedir}
- rm -rf ${D}${datadir}/locale
- rm -f ${D}${infodir}/bfd.info
-}
-
-RRECOMMENDS_gdb_append_linux = " glibc-thread-db "
-RRECOMMENDS_gdb_append_linux-gnueabi = " glibc-thread-db "
-RRECOMMENDS_gdbserver_append_linux = " glibc-thread-db "
-RRECOMMENDS_gdbserver_append_linux-gnueabi = " glibc-thread-db "
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian.inc b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian.inc
deleted file mode 100644
index c9daf25a4..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian.inc
+++ /dev/null
@@ -1,42 +0,0 @@
-inherit cross-canadian
-inherit python3-dir
-
-SUMMARY = "GNU debugger (cross-canadian gdb for ${TARGET_ARCH} target)"
-PN = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}"
-BPN = "gdb"
-
-DEPENDS = "nativesdk-ncurses nativesdk-expat nativesdk-gettext \
- virtual/${HOST_PREFIX}gcc-crosssdk virtual/${HOST_PREFIX}binutils-crosssdk virtual/nativesdk-libc"
-
-GDBPROPREFIX = "--program-prefix='${TARGET_PREFIX}'"
-
-# Overrides PACKAGECONFIG variables in gdb-common.inc
-PACKAGECONFIG ??= "python readline"
-PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,nativesdk-python3, \
- nativesdk-python3-core \
- nativesdk-python3-codecs nativesdk-python3-netclient \
- "
-PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,nativesdk-readline"
-
-SSTATE_DUPWHITELIST += "${STAGING_DATADIR}/gdb"
-
-do_configure_prepend() {
-cat > ${WORKDIR}/python << EOF
-#! /bin/sh
-case "\$2" in
- --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;;
- --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;;
- --exec-prefix) echo "${exec_prefix}" ;;
- *) exit 1 ;;
-esac
-exit 0
-EOF
- chmod +x ${WORKDIR}/python
-}
-
-# we don't want gdb to provide bfd/iberty/opcodes, which instead will override the
-# right bits installed by binutils.
-do_install_append() {
- rm -rf ${D}${exec_prefix}/lib
- cross_canadian_bindirlinks
-}
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend
deleted file mode 100644
index ceb7b02be..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-MICROBLAZEPATCHES = ""
-MICROBLAZEPATCHES_microblaze = "gdb-microblaze.inc"
-
-require ${MICROBLAZEPATCHES}
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian_9.2.bb b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian_9.2.bb
deleted file mode 100644
index 301035940..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross-canadian_9.2.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require gdb-common.inc
-require gdb-cross-canadian.inc
-require gdb-${PV}.inc
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross.inc b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross.inc
deleted file mode 100644
index ebe329f6d..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-require gdb-common.inc
-
-DEPENDS = "expat-native ncurses-native flex-native bison-native"
-
-inherit python3native
-
-# Overrides PACKAGECONFIG variables in gdb-common.inc
-PACKAGECONFIG ??= "python readline"
-PACKAGECONFIG[python] = "--with-python=${PYTHON},--without-python,python3-native"
-PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,readline-native"
-
-do_compile_prepend() {
- export STAGING_LIBDIR="${STAGING_LIBDIR_NATIVE}"
- export STAGING_INCDIR="${STAGING_INCDIR_NATIVE}"
-}
-
-#EXTRA_OEMAKE += "LDFLAGS='${BUILD_LDFLAGS}'"
-
-GDBPROPREFIX = ""
-
-PN = "gdb-cross-${TARGET_ARCH}"
-BPN = "gdb"
-
-# Ignore how TARGET_ARCH is computed.
-TARGET_ARCH[vardepvalue] = "${TARGET_ARCH}"
-
-inherit cross
-inherit gettext
-
-datadir .= "/gdb-${TARGET_SYS}${TARGET_VENDOR}-${TARGET_OS}"
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross_%.bbappend b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross_%.bbappend
deleted file mode 100644
index ceb7b02be..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-MICROBLAZEPATCHES = ""
-MICROBLAZEPATCHES_microblaze = "gdb-microblaze.inc"
-
-require ${MICROBLAZEPATCHES}
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross_9.2.bb b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross_9.2.bb
deleted file mode 100644
index 50cf159fd..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-cross_9.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require gdb-cross.inc
-require gdb-${PV}.inc
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc
deleted file mode 100644
index 4ba5d98cf..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc
+++ /dev/null
@@ -1,58 +0,0 @@
-# MicroBlaze does not support LTTng UST
-LTTNGUST_microblaze = ""
-
-# Add MicroBlaze patches
-FILESEXTRAPATHS_append := ":${THISDIR}/gdb"
-
-SRC_URI_append_microblaze = " \
- file://0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch \
- file://0003-Disable-the-warning-message-for-eh_frame_hdr.patch \
- file://0004-LOCAL-Fix-relaxation-of-assembler-resolved-reference.patch \
- file://0005-upstream-change-to-garbage-collection-sweep-causes-m.patch \
- file://0006-Fix-bug-in-TLSTPREL-Relocation.patch \
- file://0007-Added-Address-extension-instructions.patch \
- file://0008-fixing-the-MAX_OPCODES-to-correct-value.patch \
- file://0009-Add-new-bit-field-instructions.patch \
- file://0010-fixing-the-imm-bug.patch \
- file://0014-intial-commit-of-MB-64-bit.patch \
- file://0015-MB-X-initial-commit.patch \
- file://0016-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch \
- file://0017-Added-relocations-for-MB-X.patch \
- file://0018-Fixed-MB-x-relocation-issues.patch \
- file://0019-Fixing-the-branch-related-issues.patch \
- file://0020-Fixed-address-computation-issues-with-64bit-address.patch \
- file://0021-Adding-new-relocation-to-support-64bit-rodata.patch \
- file://0022-fixing-the-.bss-relocation-issue.patch \
- file://0023-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch \
- file://0025-fixing-the-long-long-long-mingw-toolchain-issue.patch \
- file://0026-Added-support-to-new-arithmetic-single-register-inst.patch \
- file://0027-Patch-MicroBlaze-double-imml-generation-for-64-bit-v.patch \
- file://0032-ld-emulparams-elf64microblaze-Fix-emulation-generati.patch \
- file://0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch \
- file://0034-Initial-port-of-core-reading-support-Added-support-f.patch \
- file://0035-Fix-debug-message-when-register-is-unavailable.patch \
- file://0036-revert-master-rebase-changes-to-gdbserver.patch \
- file://0037-revert-master-rebase-changes-to-gdbserver-previous-c.patch \
- file://0038-microblaze-Add-build_gdbserver-yes-to-top-level-conf.patch \
- file://0039-Initial-support-for-native-gdb.patch \
- file://0040-Fixing-the-issues-related-to-GDB-7.12-added-all-the-.patch \
- file://0041-Adding-64-bit-MB-support-Added-new-architecture-to-M.patch \
- file://0042-porting-GDB-for-linux.patch \
- file://0043-Binutils-security-check-is-causing-build-error-for-w.patch \
- file://0044-Correcting-the-register-names-from-slr-shr-to-rslr-r.patch \
- file://0045-Removing-the-header-gdb_assert.h-from-MB-target-file.patch \
- file://0046-bfd-cpu-microblaze.c-Enhance-disassembler.patch \
- file://0047-bfd-elf64-microblaze.c-Fix-build-failures.patch \
- file://0048-bfd-elf-microblaze.c-Remove-obsolete-entries.patch \
- file://0049-bfd-elf64-microblaze.c-Resolve-various-compiler-warn.patch \
- file://0050-opcodes-microblaze-dis.c-Fix-compile-warnings.patch \
- file://0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch \
- file://0052-sim-Allow-microblaze-architecture.patch \
- file://0053-gdb-Fix-microblaze-target-compilation.patch \
- "
-
-#
-## file://0048-bfd-gas-Use-standard-method-to-set-the-machine-arch.patch \
-## file://0052-opcodes-microblaze-opc.h-Expand-the-size-to-int-to-d.patch \
-## file://0053-opcodes-microblaze-opc.h-MIN_IMML-is-too-large.patch \
-#
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb.inc b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb.inc
deleted file mode 100644
index 249e24dc5..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-require gdb-common.inc
-
-inherit gettext
-
-#LDFLAGS_append = " -s"
-#export CFLAGS_append=" -L${STAGING_LIBDIR}"
-
-# cross-canadian must not see this
-PACKAGES =+ "gdbserver"
-FILES_gdbserver = "${bindir}/gdbserver"
-
-ALLOW_EMPTY_gdbserver_riscv64 = "1"
-ALLOW_EMPTY_gdbserver_riscv32 = "1"
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch
deleted file mode 100644
index bf8757aeb..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From fd3110f46b2de34bddfe855aa8830c957e89d815 Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@xilinx.com>
-Date: Wed, 8 May 2013 11:03:36 +1000
-Subject: [PATCH 01/52] Add wdc.ext.clear and wdc.ext.flush insns
-
-Added two new instructions, wdc.ext.clear and wdc.ext.flush,
-to enable MicroBlaze to flush an external cache, which is
-used with the new coherency support for multiprocessing.
-
-Signed-off-by:nagaraju <nmekala@xilix.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- opcodes/microblaze-opc.h | 5 ++++-
- opcodes/microblaze-opcm.h | 4 ++--
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index 62ee3c9a4d..865151f95b 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -91,6 +91,7 @@
- #define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
- #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
- #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
-+#define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
- #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
-
- /* New Mask for msrset, msrclr insns. */
-@@ -101,7 +102,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 289
-+#define MAX_OPCODES 291
-
- struct op_code_struct
- {
-@@ -174,7 +175,9 @@ struct op_code_struct
- {"wic", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000068, OPCODE_MASK_H34B, wic, special_inst },
- {"wdc", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000064, OPCODE_MASK_H34B, wdc, special_inst },
- {"wdc.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000066, OPCODE_MASK_H34B, wdcclear, special_inst },
-+ {"wdc.ext.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000466, OPCODE_MASK_H35B, wdcextclear, special_inst },
- {"wdc.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst },
-+ {"wdc.ext.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000476, OPCODE_MASK_H35B, wdcextflush, special_inst },
- {"mts", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9400C000, OPCODE_MASK_H13S, mts, special_inst },
- {"mfs", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94008000, OPCODE_MASK_H23S, mfs, special_inst },
- {"br", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98000000, OPCODE_MASK_H124, br, branch_inst },
-diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
-index 5a2d3b0c8b..42f3dd3be5 100644
---- a/opcodes/microblaze-opcm.h
-+++ b/opcodes/microblaze-opcm.h
-@@ -33,8 +33,8 @@ enum microblaze_instr
- /* 'or/and/xor' are C++ keywords. */
- microblaze_or, microblaze_and, microblaze_xor,
- andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
-- wic, wdc, wdcclear, wdcflush, mts, mfs, mbar, br, brd,
-- brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
-+ wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, mts, mfs, mbar, br,
-+ brd, brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
- bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
- imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
- brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch
deleted file mode 100644
index 82287ea13..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 036f8e1d387f65e52cb021dbb1bd28e8b75cf017 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 02:27:55 +0000
-Subject: [PATCH] make man install relative to DESTDIR
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- sim/common/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sim/common/Makefile.in b/sim/common/Makefile.in
-index c6de14122c..c4b1214946 100644
---- a/sim/common/Makefile.in
-+++ b/sim/common/Makefile.in
-@@ -35,7 +35,7 @@ tooldir = $(libdir)/$(target_alias)
- datarootdir = @datarootdir@
- datadir = @datadir@
- mandir = @mandir@
--man1dir = $(mandir)/man1
-+man1dir = $(DESTDIR)$(mandir)/man1
- infodir = @infodir@
- includedir = @includedir@
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
deleted file mode 100644
index 6067caf63..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 6bff2862f9597f324a9385eb2f828e838e51a8a1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 23 Mar 2016 06:30:09 +0000
-Subject: [PATCH] mips-linux-nat: Define _ABIO32 if not defined
-
-This helps building gdb on mips64 on musl, since
-musl does not provide sgidefs.h this define is
-only defined when GCC is using o32 ABI, in that
-case gcc emits it as built-in define and hence
-it works ok for mips32
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gdb/mips-linux-nat.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
-index 104c972f24..7f575b3363 100644
---- a/gdb/mips-linux-nat.c
-+++ b/gdb/mips-linux-nat.c
-@@ -41,6 +41,10 @@
- #ifndef PTRACE_GET_THREAD_AREA
- #define PTRACE_GET_THREAD_AREA 25
- #endif
-+/* musl does not define and relies on compiler built-in macros for it */
-+#ifndef _ABIO32
-+#define _ABIO32 1
-+#endif
-
- class mips_linux_nat_target final : public linux_nat_trad_target
- {
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0003-Disable-the-warning-message-for-eh_frame_hdr.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0003-Disable-the-warning-message-for-eh_frame_hdr.patch
deleted file mode 100644
index 28d6057a7..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0003-Disable-the-warning-message-for-eh_frame_hdr.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 1e223d69ba8c3587c18e57e22dc3b6d2c6ce5cc9 Mon Sep 17 00:00:00 2001
-From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
-Date: Fri, 22 Jun 2012 01:20:20 +0200
-Subject: [PATCH 03/52] Disable the warning message for eh_frame_hdr
-
-Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
----
- bfd/elf-eh-frame.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-Index: gdb-9.2/bfd/elf-eh-frame.c
-===================================================================
---- gdb-9.2.orig/bfd/elf-eh-frame.c
-+++ gdb-9.2/bfd/elf-eh-frame.c
-@@ -1044,10 +1044,13 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
- goto success;
-
- free_no_table:
-+/* FIXME: Remove the microblaze specifics when relaxing gets fixed. */
-+if (bfd_get_arch(abfd) != bfd_arch_microblaze) {
- _bfd_error_handler
- /* xgettext:c-format */
- (_("error in %pB(%pA); no .eh_frame_hdr table will be created"),
- abfd, sec);
-+}
- hdr_info->u.dwarf.table = FALSE;
- if (sec_info)
- free (sec_info);
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
deleted file mode 100644
index c4bab7bb1..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From d5817bcf2f7313699bfa85b41220d862db327664 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Apr 2016 18:32:14 -0700
-Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gdb/gdbserver/linux-ppc-low.c | 6 ++++++
- gdb/nat/ppc-linux.h | 6 ++++++
- 2 files changed, 12 insertions(+)
-
-diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
-index 5d8d67bec2..ffcf65ab58 100644
---- a/gdb/gdbserver/linux-ppc-low.c
-+++ b/gdb/gdbserver/linux-ppc-low.c
-@@ -23,7 +23,13 @@
- #include "elf/common.h"
- #include <sys/uio.h>
- #include <elf.h>
-+#if !defined(__GLIBC__)
-+# define pt_regs uapi_pt_regs
-+#endif
- #include <asm/ptrace.h>
-+#if !defined(__GLIBC__)
-+# undef pt_regs
-+#endif
-
- #include "arch/ppc-linux-common.h"
- #include "arch/ppc-linux-tdesc.h"
-diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h
-index d937a65b69..1fd54b4a0e 100644
---- a/gdb/nat/ppc-linux.h
-+++ b/gdb/nat/ppc-linux.h
-@@ -18,7 +18,13 @@
- #ifndef NAT_PPC_LINUX_H
- #define NAT_PPC_LINUX_H
-
-+#if !defined(__GLIBC__)
-+# define pt_regs uapi_pt_regs
-+#endif
- #include <asm/ptrace.h>
-+#if !defined(__GLIBC__)
-+# undef pt_regs
-+#endif
- #include <asm/cputable.h>
-
- /* This sometimes isn't defined. */
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch
deleted file mode 100644
index fd165d4b8..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch
+++ /dev/null
@@ -1,911 +0,0 @@
-From 505f10a0ea1a8bba0584859d9a348bb779593ec2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 02:31:12 +0000
-Subject: [PATCH] Add support for Renesas SH (sh4) architecture.
-
-gdb (7.4-1~cvs20111117.2) experimental; urgency=low
- .
- * Add Renesas SH (sh4) support (Closes: #576242)
- - Thanks Nobuhiro Iwamatsu, Takashi Yoshii.
-Author: Hector Oron <zumbi@debian.org>
-Bug-Debian: http://bugs.debian.org/576242
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gdb/Makefile.in | 2 +
- gdb/configure.host | 1 +
- gdb/sh-linux-tdep.c | 519 +++++++++++++++++++++++++++
- gdb/sh-tdep.c | 53 ++-
- gdb/sh-tdep.h | 49 +++
- gdb/testsuite/gdb.asm/asm-source.exp | 5 +
- gdb/testsuite/gdb.asm/sh.inc | 3 +-
- gdb/testsuite/gdb.base/annota1.c | 3 +
- gdb/testsuite/gdb.base/annota3.c | 4 +
- gdb/testsuite/gdb.base/sigall.c | 3 +
- gdb/testsuite/gdb.base/signals.c | 4 +
- 11 files changed, 617 insertions(+), 29 deletions(-)
-
-diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index c3e074b21f..42dd7af59c 100644
---- a/gdb/Makefile.in
-+++ b/gdb/Makefile.in
-@@ -2317,6 +2317,8 @@ ALLDEPFILES = \
- sh-nbsd-nat.c \
- sh-nbsd-tdep.c \
- sh-tdep.c \
-+ sh-linux-tdep.c \
-+ sh-linux-nat.c \
- sol2-tdep.c \
- solib-aix.c \
- solib-svr4.c \
-diff --git a/gdb/configure.host b/gdb/configure.host
-index ce52823729..5b5173a71a 100644
---- a/gdb/configure.host
-+++ b/gdb/configure.host
-@@ -148,6 +148,7 @@ riscv*-*-linux*) gdb_host=linux ;;
-
- s390*-*-linux*) gdb_host=linux ;;
-
-+sh*-*-linux*) gdb_host=linux ;;
- sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
- gdb_host=nbsd ;;
- sh*-*-openbsd*) gdb_host=nbsd ;;
-diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c
-index 13c10eeeda..1d0d583a64 100644
---- a/gdb/sh-linux-tdep.c
-+++ b/gdb/sh-linux-tdep.c
-@@ -18,14 +18,37 @@
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
- #include "defs.h"
-+#include "gdbcore.h"
-+#include "frame.h"
-+#include "frame-base.h"
-+#include "frame-unwind.h"
-+#include "dwarf2-frame.h"
-+#include "value.h"
-+#include "regcache.h"
-+#include "inferior.h"
- #include "osabi.h"
-
-+#include "reggroups.h"
-+#include "arch-utils.h"
-+#include "floatformat.h"
- #include "solib-svr4.h"
- #include "symtab.h"
-+#include "gdb_string.h"
-+#include "command.h"
-+#include "gdb_assert.h"
-
- #include "trad-frame.h"
- #include "tramp-frame.h"
-
-+#include <sys/ptrace.h>
-+#include <sys/types.h>
-+#include <sys/param.h>
-+#include <sys/user.h>
-+#include <sys/syscall.h>
-+
-+#include <asm/ptrace.h>
-+
-+#include "regset.h"
- #include "glibc-tdep.h"
- #include "sh-tdep.h"
- #include "linux-tdep.h"
-@@ -181,9 +204,505 @@ static struct tramp_frame sh_linux_rt_sigreturn_tramp_frame = {
- sh_linux_rt_sigreturn_init
- };
-
-+/* Recognizing signal handler frames. */
-+
-+/* GNU/Linux has two flavors of signals. Normal signal handlers, and
-+ "realtime" (RT) signals. The RT signals can provide additional
-+ information to the signal handler if the SA_SIGINFO flag is set
-+ when establishing a signal handler using `sigaction'. It is not
-+ unlikely that future versions of GNU/Linux will support SA_SIGINFO
-+ for normal signals too. */
-+
-+/* When the SH Linux kernel calls a signal handler and the
-+ SA_RESTORER flag isn't set, the return address points to a bit of
-+ code on the stack. This function returns whether the PC appears to
-+ be within this bit of code.
-+
-+ The instruction sequence for normal signals is
-+ mov.w 1f,r3
-+ trapa #16
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ 1: .word __NR_sigreturn
-+ or 0x9305 0xc310 0x200b 0x200b 0x200b 0x200b 0x200b 0x0077.
-+
-+ Checking for the code sequence should be somewhat reliable, because
-+ the effect is to call the system call sigreturn. This is unlikely
-+ to occur anywhere other than a signal trampoline.
-+
-+ It kind of sucks that we have to read memory from the process in
-+ order to identify a signal trampoline, but there doesn't seem to be
-+ any other way. The PC_IN_SIGTRAMP macro in tm-linux.h arranges to
-+ only call us if no function name could be identified, which should
-+ be the case since the code is on the stack.
-+
-+ Detection of signal trampolines for handlers that set the
-+ SA_RESTORER flag is in general not possible. Unfortunately this is
-+ what the GNU C Library has been doing for quite some time now.
-+ However, as of version 2.1.2, the GNU C Library uses signal
-+ trampolines (named __restore and __restore_rt) that are identical
-+ to the ones used by the kernel. Therefore, these trampolines are
-+ supported too. */
-+
-+#define MOVW(n) (0x9300|((n)-2)) /* Move mem word at PC+n to R3 */
-+#define TRAP16 0xc310 /* Syscall w/no args (NR in R3) */
-+#define OR_R0_R0 0x200b /* or r0,r0 (insert to avoid hardware bug) */
-+
-+#define LINUX_SIGTRAMP_INSN0 MOVW(7) /* Move mem word at PC+7 to R3 */
-+#define LINUX_SIGTRAMP_INSN1 TRAP16 /* Syscall w/no args (NR in R3) */
-+#define LINUX_SIGTRAMP_INSN2 OR_R0_R0 /* or r0,r0 (insert to avoid hardware bug) */
-+
-+static const unsigned short linux_sigtramp_code[] =
-+{
-+ LINUX_SIGTRAMP_INSN0,
-+ LINUX_SIGTRAMP_INSN1,
-+ LINUX_SIGTRAMP_INSN2,
-+ LINUX_SIGTRAMP_INSN2,
-+ LINUX_SIGTRAMP_INSN2,
-+ LINUX_SIGTRAMP_INSN2,
-+ LINUX_SIGTRAMP_INSN2,
-+ __NR_sigreturn
-+};
-+
-+#define LINUX_SIGTRAMP_LEN (sizeof linux_sigtramp_code)
-+
-+/* If PC is in a sigtramp routine, return the address of the start of
-+ the routine. Otherwise, return 0. */
-+
-+static CORE_ADDR
-+sh_linux_sigtramp_start (struct frame_info *next_frame)
-+{
-+ CORE_ADDR pc = get_frame_pc (next_frame);
-+ gdb_byte buf[LINUX_SIGTRAMP_LEN];
-+
-+ /* We only recognize a signal trampoline if PC is at the start of
-+ one of the three instructions. We optimize for finding the PC at
-+ the start, as will be the case when the trampoline is not the
-+ first frame on the stack. We assume that in the case where the
-+ PC is not at the start of the instruction sequence, there will be
-+ a few trailing readable bytes on the stack. */
-+
-+ if (!safe_frame_unwind_memory (next_frame, pc, buf, LINUX_SIGTRAMP_LEN))
-+ return 0;
-+
-+ if (buf[0] != LINUX_SIGTRAMP_INSN0)
-+ {
-+ if (buf[0] != LINUX_SIGTRAMP_INSN1)
-+ return 0;
-+
-+ pc -= 2;
-+
-+ if (!safe_frame_unwind_memory (next_frame, pc, buf, LINUX_SIGTRAMP_LEN))
-+ return 0;
-+ }
-+
-+ if (memcmp (buf, linux_sigtramp_code, LINUX_SIGTRAMP_LEN) != 0)
-+ return 0;
-+
-+ return pc;
-+}
-+
-+/* This function does the same for RT signals. Here the instruction
-+ sequence is
-+ mov.w 1f,r3
-+ trapa #16
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ 1: .word __NR_rt_sigreturn
-+ or 0x9305 0xc310 0x200b 0x200b 0x200b 0x200b 0x200b 0x00ad.
-+
-+ The effect is to call the system call rt_sigreturn. */
-+
-+#define LINUX_RT_SIGTRAMP_INSN0 MOVW(7) /* Move mem word at PC+7 to R3 */
-+#define LINUX_RT_SIGTRAMP_INSN1 TRAP16 /* Syscall w/no args (NR in R3) */
-+#define LINUX_RT_SIGTRAMP_INSN2 OR_R0_R0 /* or r0,r0 (insert to avoid hardware bug) */
-+
-+static const unsigned short linux_rt_sigtramp_code[] =
-+{
-+ LINUX_RT_SIGTRAMP_INSN0,
-+ LINUX_RT_SIGTRAMP_INSN1,
-+ LINUX_RT_SIGTRAMP_INSN2,
-+ LINUX_RT_SIGTRAMP_INSN2,
-+ LINUX_RT_SIGTRAMP_INSN2,
-+ LINUX_RT_SIGTRAMP_INSN2,
-+ LINUX_RT_SIGTRAMP_INSN2,
-+ __NR_rt_sigreturn
-+};
-+
-+#define LINUX_RT_SIGTRAMP_LEN (sizeof linux_rt_sigtramp_code)
-+
-+/* If PC is in a RT sigtramp routine, return the address of the start
-+ of the routine. Otherwise, return 0. */
-+
-+static CORE_ADDR
-+sh_linux_rt_sigtramp_start (struct frame_info *next_frame)
-+{
-+ CORE_ADDR pc = get_frame_pc (next_frame);
-+ gdb_byte buf[LINUX_RT_SIGTRAMP_LEN];
-+
-+ /* We only recognize a signal trampoline if PC is at the start of
-+ one of the two instructions. We optimize for finding the PC at
-+ the start, as will be the case when the trampoline is not the
-+ first frame on the stack. We assume that in the case where the
-+ PC is not at the start of the instruction sequence, there will be
-+ a few trailing readable bytes on the stack. */
-+
-+ if (!safe_frame_unwind_memory (next_frame, pc, buf, LINUX_RT_SIGTRAMP_LEN))
-+ return 0;
-+
-+ if (buf[0] != LINUX_RT_SIGTRAMP_INSN0)
-+ {
-+ if (buf[0] != LINUX_RT_SIGTRAMP_INSN1)
-+ return 0;
-+
-+ pc -= 2;
-+
-+ if (!safe_frame_unwind_memory (next_frame, pc, buf,
-+ LINUX_RT_SIGTRAMP_LEN))
-+ return 0;
-+ }
-+
-+ if (memcmp (buf, linux_rt_sigtramp_code, LINUX_RT_SIGTRAMP_LEN) != 0)
-+ return 0;
-+
-+ return pc;
-+}
-+
-+/* Return whether PC is in a GNU/Linux sigtramp routine. */
-+
-+static int
-+sh_linux_sigtramp_p (struct frame_info *this_frame)
-+{
-+ CORE_ADDR pc = get_frame_pc (this_frame);
-+ char *name;
-+
-+ find_pc_partial_function (pc, &name, NULL, NULL);
-+
-+ /* If we have NAME, we can optimize the search. The trampolines are
-+ named __restore and __restore_rt. However, they aren't dynamically
-+ exported from the shared C library, so the trampoline may appear to
-+ be part of the preceding function. This should always be sigaction,
-+ __sigaction, or __libc_sigaction (all aliases to the same function). */
-+ if (name == NULL || strstr (name, "sigaction") != NULL)
-+ return (sh_linux_sigtramp_start (this_frame) != 0
-+ || sh_linux_rt_sigtramp_start (this_frame) != 0);
-+
-+ return (strcmp ("__restore", name) == 0
-+ || strcmp ("__restore_rt", name) == 0);
-+}
-+
-+/* Offset to struct sigcontext in ucontext, from <asm/ucontext.h>. */
-+#define SH_LINUX_UCONTEXT_SIGCONTEXT_OFFSET 12
-+
-+
-+/* Assuming NEXT_FRAME is a frame following a GNU/Linux sigtramp
-+ routine, return the address of the associated sigcontext structure. */
-+
-+static CORE_ADDR
-+sh_linux_sigcontext_addr (struct frame_info *this_frame)
-+{
-+ CORE_ADDR pc;
-+ CORE_ADDR sp;
-+
-+ sp = get_frame_register_unsigned (this_frame, SP_REGNUM);
-+
-+ pc = sh_linux_sigtramp_start (this_frame);
-+ if (pc)
-+ {
-+ return sp;
-+ }
-+
-+ pc = sh_linux_rt_sigtramp_start (this_frame);
-+ if (pc)
-+ {
-+ CORE_ADDR ucontext_addr;
-+
-+ /* The sigcontext structure is part of the user context. A
-+ pointer to the user context is passed as the third argument
-+ to the signal handler. */
-+ ucontext_addr = get_frame_register_unsigned (this_frame, ARG0_REGNUM+2);
-+ return ucontext_addr + SH_LINUX_UCONTEXT_SIGCONTEXT_OFFSET;
-+ }
-+
-+ error ("Couldn't recognize signal trampoline.");
-+ return 0;
-+}
-+
-+/* Signal trampolines. */
-+extern struct sh_frame_cache *sh_alloc_frame_cache (void);
-+
-+static struct sh_frame_cache *
-+sh_linux_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache)
-+{
-+ struct sh_frame_cache *cache;
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (get_current_arch ());
-+ CORE_ADDR sigcontext_addr;
-+
-+ if (*this_cache)
-+ return *this_cache;
-+
-+ cache = sh_alloc_frame_cache ();
-+
-+ cache->base = get_frame_register_unsigned (this_frame, SP_REGNUM);
-+ sigcontext_addr = tdep->sigcontext_addr (this_frame);
-+ if (tdep->sc_reg_offset)
-+ {
-+ int i;
-+
-+ gdb_assert (tdep->sc_num_regs <= SH_NUM_REGS);
-+
-+ for (i = 0; i < tdep->sc_num_regs; i++)
-+ if (tdep->sc_reg_offset[i] != -1)
-+ cache->saved_regs[i] = sigcontext_addr + tdep->sc_reg_offset[i];
-+ }
-+
-+ *this_cache = cache;
-+ return cache;
-+}
-+
-+static void
-+sh_linux_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_cache,
-+ struct frame_id *this_id)
-+{
-+ struct sh_frame_cache *cache =
-+ sh_linux_sigtramp_frame_cache (this_frame, this_cache);
-+
-+ (*this_id) = frame_id_build (cache->base + 64, cache->pc);
-+}
-+
-+extern struct value * sh_frame_prev_register ();
-+static struct value *
-+sh_linux_sigtramp_frame_prev_register (struct frame_info *this_frame,
-+ void **this_cache, int regnum)
-+{
-+ sh_linux_sigtramp_frame_cache (this_frame, this_cache);
-+
-+ return sh_frame_prev_register (this_frame, this_cache, regnum);
-+}
-+
-+static int
-+sh_linux_sigtramp_frame_sniffer (const struct frame_unwind *self,
-+ struct frame_info *this_frame,
-+ void **this_prologue_cache)
-+{
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (get_frame_arch (this_frame));
-+
-+ /* We shouldn't even bother if we don't have a sigcontext_addr
-+ handler. */
-+ if (tdep->sigcontext_addr == NULL)
-+ return 0;
-+
-+ if (tdep->sigtramp_p != NULL)
-+ {
-+ if (tdep->sigtramp_p (this_frame))
-+ return 1;
-+ }
-+
-+ return 0;
-+}
-+
-+static const struct frame_unwind sh_linux_sigtramp_frame_unwind =
-+{
-+ SIGTRAMP_FRAME,
-+ sh_linux_sigtramp_frame_this_id,
-+ sh_linux_sigtramp_frame_prev_register,
-+ NULL,
-+ sh_linux_sigtramp_frame_sniffer
-+};
-+
-+/* Supply register REGNUM from the buffer specified by GREGS and LEN
-+ in the general-purpose register set REGSET to register cache
-+ REGCACHE. If REGNUM is -1, do this for all registers in REGSET. */
-+
-+void
-+sh_supply_gregset (const struct regset *regset, struct regcache *regcache,
-+ int regnum, const void *gregs, size_t len)
-+{
-+ const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
-+ const char *regs = gregs;
-+ int i;
-+
-+ gdb_assert (len == tdep->sizeof_gregset);
-+
-+ for (i = 0; i < tdep->gregset_num_regs; i++)
-+ {
-+ if ((regnum == i || regnum == -1)
-+ && tdep->gregset_reg_offset[i] != -1)
-+ regcache_raw_supply (regcache, i, regs + tdep->gregset_reg_offset[i]);
-+ }
-+}
-+
-+/* Collect register REGNUM from the register cache REGCACHE and store
-+ it in the buffer specified by GREGS and LEN as described by the
-+ general-purpose register set REGSET. If REGNUM is -1, do this for
-+ all registers in REGSET. */
-+
-+void
-+sh_collect_gregset (const struct regset *regset,
-+ const struct regcache *regcache,
-+ int regnum, void *gregs, size_t len)
-+{
-+ const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
-+ char *regs = gregs;
-+ int i;
-+
-+ gdb_assert (len == tdep->sizeof_gregset);
-+
-+ for (i = 0; i < tdep->gregset_num_regs; i++)
-+ {
-+ if ((regnum == i || regnum == -1)
-+ && tdep->gregset_reg_offset[i] != -1)
-+ regcache_raw_collect (regcache, i, regs + tdep->gregset_reg_offset[i]);
-+ }
-+}
-+
-+/* Supply register REGNUM from the buffer specified by FPREGS and LEN
-+ in the floating-point register set REGSET to register cache
-+ REGCACHE. If REGNUM is -1, do this for all registers in REGSET. */
-+
-+static void
-+sh_supply_fpregset (const struct regset *regset, struct regcache *regcache,
-+ int regnum, const void *fpregs, size_t len)
-+{
-+ const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
-+ const char *regs = fpregs;
-+ int i;
-+
-+ gdb_assert (len == tdep->sizeof_fpregset);
-+ for (i = 0; i < 16; i++)
-+ {
-+ if (regnum == i+25 || regnum == -1)
-+ regcache_raw_supply (regcache, i+25, regs + i*4);
-+ }
-+ if (regnum == FPSCR_REGNUM || regnum == -1)
-+ regcache_raw_supply (regcache, FPSCR_REGNUM, regs + 32*4);
-+ if (regnum == FPUL_REGNUM || regnum == -1)
-+ regcache_raw_supply (regcache, FPUL_REGNUM, regs + 33*4);
-+}
-+
-+/* Collect register REGNUM from the register cache REGCACHE and store
-+ it in the buffer specified by FPREGS and LEN as described by the
-+ floating-point register set REGSET. If REGNUM is -1, do this for
-+ all registers in REGSET. */
-+
-+static void
-+sh_collect_fpregset (const struct regset *regset,
-+ const struct regcache *regcache,
-+ int regnum, void *fpregs, size_t len)
-+{
-+ const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
-+ char *regs = fpregs;
-+ int i;
-+
-+ gdb_assert (len == tdep->sizeof_fpregset);
-+ for (i = 0; i < 16; i++)
-+ {
-+ if (regnum == i+25 || regnum == -1)
-+ regcache_raw_collect (regcache, i+25, regs + i*4);
-+ }
-+ if (regnum == FPSCR_REGNUM || regnum == -1)
-+ regcache_raw_collect (regcache, FPSCR_REGNUM, regs + 32*4);
-+ if (regnum == FPUL_REGNUM || regnum == -1)
-+ regcache_raw_collect (regcache, FPUL_REGNUM, regs + 33*4);
-+}
-+
-+/* Return the appropriate register set for the core section identified
-+ by SECT_NAME and SECT_SIZE. */
-+
-+const struct regset *
-+sh_linux_regset_from_core_section (struct gdbarch *gdbarch,
-+ const char *sect_name, size_t sect_size)
-+{
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+
-+ if (strcmp (sect_name, ".reg") == 0 && sect_size == tdep->sizeof_gregset)
-+ {
-+ if (tdep->gregset == NULL)
-+ tdep->gregset = regset_alloc (gdbarch, sh_supply_gregset,
-+ sh_collect_gregset);
-+ return tdep->gregset;
-+ }
-+
-+ if ((strcmp (sect_name, ".reg2") == 0 && sect_size == tdep->sizeof_fpregset))
-+ {
-+ if (tdep->fpregset == NULL)
-+ tdep->fpregset = regset_alloc (gdbarch, sh_supply_fpregset,
-+ sh_collect_fpregset);
-+ return tdep->fpregset;
-+ }
-+
-+ return NULL;
-+}
-+
-+/* The register sets used in GNU/Linux ELF core-dumps are identical to
-+ the register sets in `struct user' that are used for a.out
-+ core-dumps. These are also used by ptrace(2). The corresponding
-+ types are `elf_gregset_t' for the general-purpose registers (with
-+ `elf_greg_t' the type of a single GP register) and `elf_fpregset_t'
-+ for the floating-point registers.
-+
-+ Those types used to be available under the names `gregset_t' and
-+ `fpregset_t' too, and GDB used those names in the past. But those
-+ names are now used for the register sets used in the `mcontext_t'
-+ type, which have a different size and layout. */
-+
-+/* Mapping between the general-purpose registers in `struct user'
-+ format and GDB's register cache layout. */
-+
-+/* From <sys/reg.h>. */
-+static int sh_linux_gregset_reg_offset[] =
-+{
-+ 0, 4, 8, 12, 16, 20, 24, 28,
-+ 32, 36, 40, 44, 48, 52, 56, 60,
-+
-+ REG_PC*4, REG_PR*4, REG_GBR*4, -1,
-+ REG_MACH*4, REG_MACL*4, REG_SR*4,
-+};
-+
-+/* Mapping between the general-purpose registers in `struct
-+ sigcontext' format and GDB's register cache layout. */
-+
-+/* From <asm/sigcontext.h>. */
-+static int sh_linux_sc_reg_offset[] =
-+{
-+ 4, 8, 12, 16, 20, 24, 28, 32,
-+ 36, 40, 44, 48, 52, 56, 60, 64,
-+ 68, 72, 80, -1,
-+ 84, 88, 76
-+};
-+
- static void
- sh_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
- {
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ bfd abfd;
-+
-+ tdep->gregset_reg_offset = sh_linux_gregset_reg_offset;
-+ tdep->gregset_num_regs = ARRAY_SIZE (sh_linux_gregset_reg_offset);
-+ tdep->sizeof_gregset = 23 * 4;
-+
-+ tdep->jb_pc_offset = 32; /* From <bits/setjmp.h>. */
-+
-+ tdep->sigtramp_p = sh_linux_sigtramp_p;
-+ tdep->sigcontext_addr = sh_linux_sigcontext_addr;
-+ tdep->sc_reg_offset = sh_linux_sc_reg_offset;
-+ tdep->sc_num_regs = ARRAY_SIZE (sh_linux_sc_reg_offset);
-+
-+ frame_unwind_append_unwinder(gdbarch, &sh_linux_sigtramp_frame_unwind);
-+
-+ /* If we have a register mapping, enable the generic core file
-+ support, unless it has already been enabled. */
-+ if (tdep->gregset_reg_offset
-+ && !gdbarch_regset_from_core_section_p (gdbarch))
-+ set_gdbarch_regset_from_core_section (gdbarch,
-+ sh_linux_regset_from_core_section);
-+
- linux_init_abi (info, gdbarch);
-
- /* GNU/Linux uses SVR4-style shared libraries. */
-diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
-index e3aee0ac28..5958cf3688 100644
---- a/gdb/sh-tdep.c
-+++ b/gdb/sh-tdep.c
-@@ -21,6 +21,9 @@
- sac@cygnus.com. */
-
- #include "defs.h"
-+#include "arch-utils.h"
-+#include "command.h"
-+#include "dummy-frame.h"
- #include "frame.h"
- #include "frame-base.h"
- #include "frame-unwind.h"
-@@ -66,23 +69,6 @@ static const char *const sh_cc_enum[] = {
-
- static const char *sh_active_calling_convention = sh_cc_gcc;
-
--#define SH_NUM_REGS 67
--
--struct sh_frame_cache
--{
-- /* Base address. */
-- CORE_ADDR base;
-- LONGEST sp_offset;
-- CORE_ADDR pc;
--
-- /* Flag showing that a frame has been created in the prologue code. */
-- int uses_fp;
--
-- /* Saved registers. */
-- CORE_ADDR saved_regs[SH_NUM_REGS];
-- CORE_ADDR saved_sp;
--};
--
- static int
- sh_is_renesas_calling_convention (struct type *func_type)
- {
-@@ -1050,7 +1036,7 @@ sh_treat_as_flt_p (struct type *type)
- return 0;
- /* Otherwise if the type of that member is float, the whole type is
- treated as float. */
-- if (TYPE_CODE (TYPE_FIELD_TYPE (type, 0)) == TYPE_CODE_FLT)
-+ if (TYPE_CODE (check_typedef (TYPE_FIELD_TYPE (type, 0))) == TYPE_CODE_FLT)
- return 1;
- /* Otherwise it's not treated as float. */
- return 0;
-@@ -1100,7 +1086,7 @@ sh_push_dummy_call_fpu (struct gdbarch *gdbarch,
- in four registers available. Loop thru args from first to last. */
- for (argnum = 0; argnum < nargs; argnum++)
- {
-- type = value_type (args[argnum]);
-+ type = check_typedef (value_type (args[argnum]));
- len = TYPE_LENGTH (type);
- val = sh_justify_value_in_reg (gdbarch, args[argnum], len);
-
-@@ -1835,7 +1821,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
- reg->how = DWARF2_FRAME_REG_UNDEFINED;
- }
-
--static struct sh_frame_cache *
-+struct sh_frame_cache *
- sh_alloc_frame_cache (void)
- {
- struct sh_frame_cache *cache;
-@@ -1862,7 +1848,7 @@ sh_alloc_frame_cache (void)
- return cache;
- }
-
--static struct sh_frame_cache *
-+struct sh_frame_cache *
- sh_frame_cache (struct frame_info *this_frame, void **this_cache)
- {
- struct gdbarch *gdbarch = get_frame_arch (this_frame);
-@@ -1929,9 +1915,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache)
- return cache;
- }
-
--static struct value *
--sh_frame_prev_register (struct frame_info *this_frame,
-- void **this_cache, int regnum)
-+struct value *
-+sh_frame_prev_register (struct frame_info *this_frame, void **this_cache,
-+ int regnum)
- {
- struct gdbarch *gdbarch = get_frame_arch (this_frame);
- struct sh_frame_cache *cache = sh_frame_cache (this_frame, this_cache);
-@@ -1945,7 +1931,7 @@ sh_frame_prev_register (struct frame_info *this_frame,
- the current frame. Frob regnum so that we pull the value from
- the correct place. */
- if (regnum == gdbarch_pc_regnum (gdbarch))
-- regnum = PR_REGNUM;
-+ regnum = PR_REGNUM; /* XXX: really? */
-
- if (regnum < SH_NUM_REGS && cache->saved_regs[regnum] != -1)
- return frame_unwind_got_memory (this_frame, regnum,
-@@ -2234,8 +2220,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch,
- static struct gdbarch *
- sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- {
-- struct gdbarch *gdbarch;
- struct gdbarch_tdep *tdep;
-+ struct gdbarch *gdbarch;
-
- /* If there is already a candidate, use it. */
- arches = gdbarch_list_lookup_by_info (arches, &info);
-@@ -2247,6 +2233,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- tdep = XCNEW (struct gdbarch_tdep);
- gdbarch = gdbarch_alloc (&info, tdep);
-
-+ /* General-purpose registers. */
-+ tdep->gregset = NULL;
-+ tdep->gregset_reg_offset = NULL;
-+ tdep->gregset_num_regs = 23;
-+ tdep->sizeof_gregset = 0;
-+
-+ /* Floating-point registers. */
-+ tdep->fpregset = NULL;
-+ tdep->sizeof_fpregset = 34*4;
-+
-+ tdep->jb_pc_offset = -1;
-+
- set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT);
- set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT);
- set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
-@@ -2398,10 +2396,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- break;
- }
-
-+ dwarf2_append_unwinders (gdbarch);
-+
- /* Hook in ABI-specific overrides, if they have been registered. */
- gdbarch_init_osabi (info, gdbarch);
-
-- dwarf2_append_unwinders (gdbarch);
- frame_unwind_append_unwinder (gdbarch, &sh_stub_unwind);
- frame_unwind_append_unwinder (gdbarch, &sh_frame_unwind);
-
-diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h
-index 76e2e76e39..2710f63010 100644
---- a/gdb/sh-tdep.h
-+++ b/gdb/sh-tdep.h
-@@ -21,6 +21,12 @@
-
- /* Contributed by Steve Chamberlain sac@cygnus.com. */
-
-+struct frame_info;
-+struct gdbarch;
-+struct reggroup;
-+struct regset;
-+struct regcache;
-+
- /* Registers for all SH variants. Used also by sh3-rom.c. */
- enum
- {
-@@ -29,6 +35,7 @@ enum
- ARG0_REGNUM = 4,
- ARGLAST_REGNUM = 7,
- FP_REGNUM = 14,
-+ SP_REGNUM = 15,
- PC_REGNUM = 16,
- PR_REGNUM = 17,
- GBR_REGNUM = 18,
-@@ -81,6 +88,24 @@ enum
- FV0_REGNUM = 76,
- FV_LAST_REGNUM = 79
- };
-+#define SH_NUM_REGS 67
-+
-+struct sh_frame_cache
-+{
-+ /* Base address. */
-+ CORE_ADDR base;
-+ LONGEST sp_offset;
-+ CORE_ADDR pc;
-+
-+ /* Flag showing that a frame has been created in the prologue code. */
-+ int uses_fp;
-+
-+ /* Saved registers. */
-+ CORE_ADDR saved_regs[SH_NUM_REGS];
-+ CORE_ADDR saved_sp;
-+};
-+
-+extern struct sh_frame_cache *sh_frame_cache (struct frame_info *next_frame, void **this_cache);
-
- /* This structure describes a register in a core-file. */
- struct sh_corefile_regmap
-@@ -89,8 +114,32 @@ struct sh_corefile_regmap
- unsigned int offset;
- };
-
-+/* sh architecture specific information. */
- struct gdbarch_tdep
- {
-+ /* General-purpose registers. */
-+ struct regset *gregset;
-+ int *gregset_reg_offset;
-+ int gregset_num_regs;
-+ size_t sizeof_gregset;
-+
-+ /* Floating-point registers. */
-+ struct regset *fpregset;
-+ size_t sizeof_fpregset;
-+
-+ /* Offset of saved PC in jmp_buf. */
-+ int jb_pc_offset;
-+
-+ /* Detect sigtramp. */
-+ int (*sigtramp_p) (struct frame_info *);
-+
-+ /* Get address of sigcontext for sigtramp. */
-+ CORE_ADDR (*sigcontext_addr) (struct frame_info *);
-+
-+ /* Offset of registers in `struct sigcontext'. */
-+ int *sc_reg_offset;
-+ int sc_num_regs;
-+
- /* Non-NULL when debugging from a core file. Provides the offset
- where each general-purpose register is stored inside the associated
- core file section. */
-diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp
-index 4914498f98..6e25cbed18 100644
---- a/gdb/testsuite/gdb.asm/asm-source.exp
-+++ b/gdb/testsuite/gdb.asm/asm-source.exp
-@@ -116,6 +116,11 @@ switch -glob -- [istarget] {
- append link-flags " -m elf32ppc"
- }
- }
-+ "sh*-linux*" {
-+ set asm-arch sh-linux
-+ set asm-flags "-I${srcdir}/${subdir} -I${objdir}/${subdir}"
-+ set debug-flags "-gdwarf-2"
-+ }
- "sh*-*-*" {
- set asm-arch sh
- set debug-flags "-gdwarf-2"
-diff --git a/gdb/testsuite/gdb.asm/sh.inc b/gdb/testsuite/gdb.asm/sh.inc
-index a4a5fc545e..89efed7795 100644
---- a/gdb/testsuite/gdb.asm/sh.inc
-+++ b/gdb/testsuite/gdb.asm/sh.inc
-@@ -40,9 +40,8 @@
- mov.l .Lconst\@,r1
- bra .Lafterconst\@
- nop
-- nop
--.Lconst\@:
- .align 2
-+.Lconst\@:
- .long \subr
- .align 1
- .Lafterconst\@:
-diff --git a/gdb/testsuite/gdb.base/annota1.c b/gdb/testsuite/gdb.base/annota1.c
-index 424e1b8327..0de2e7b633 100644
---- a/gdb/testsuite/gdb.base/annota1.c
-+++ b/gdb/testsuite/gdb.base/annota1.c
-@@ -1,6 +1,9 @@
- #include <stdio.h>
- #include <signal.h>
-
-+#ifdef __sh__
-+#define signal(a,b) /* Signals not supported on this target - make them go away */
-+#endif
-
- void
- handle_USR1 (int sig)
-diff --git a/gdb/testsuite/gdb.base/annota3.c b/gdb/testsuite/gdb.base/annota3.c
-index 424e1b8327..952aaf218a 100644
---- a/gdb/testsuite/gdb.base/annota3.c
-+++ b/gdb/testsuite/gdb.base/annota3.c
-@@ -1,6 +1,10 @@
- #include <stdio.h>
- #include <signal.h>
-
-+#ifdef __sh__
-+#define signal(a,b) /* Signals not supported on this target - make them go away */
-+#endif
-+
-
- void
- handle_USR1 (int sig)
-diff --git a/gdb/testsuite/gdb.base/sigall.c b/gdb/testsuite/gdb.base/sigall.c
-index 81f3b08d6b..1574b2d6cb 100644
---- a/gdb/testsuite/gdb.base/sigall.c
-+++ b/gdb/testsuite/gdb.base/sigall.c
-@@ -1,6 +1,9 @@
- #include <signal.h>
- #include <unistd.h>
-
-+#ifdef __sh__
-+#define signal(a,b) /* Signals not supported on this target - make them go away */
-+#endif
-
- /* Signal handlers, we set breakpoints in them to make sure that the
- signals really get delivered. */
-diff --git a/gdb/testsuite/gdb.base/signals.c b/gdb/testsuite/gdb.base/signals.c
-index 756606880f..1205a9bc9c 100644
---- a/gdb/testsuite/gdb.base/signals.c
-+++ b/gdb/testsuite/gdb.base/signals.c
-@@ -3,6 +3,10 @@
- #include <signal.h>
- #include <unistd.h>
-
-+#ifdef __sh__
-+#define signal(a,b) /* Signals not supported on this target - make them go away */
-+#define alarm(a) /* Ditto for alarm() */
-+#endif
-
- static int count = 0;
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0004-LOCAL-Fix-relaxation-of-assembler-resolved-reference.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0004-LOCAL-Fix-relaxation-of-assembler-resolved-reference.patch
deleted file mode 100644
index d5862d87b..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0004-LOCAL-Fix-relaxation-of-assembler-resolved-reference.patch
+++ /dev/null
@@ -1,261 +0,0 @@
-From e98a2f325e1a90dfd6911d124889f0760d663b5c Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 8 Nov 2016 11:54:08 +0530
-Subject: [PATCH 04/52] [LOCAL]: Fix relaxation of assembler resolved
- references,Fixup debug_loc sections after linker relaxation Adds a new
- reloctype R_MICROBLAZE_32_NONE, used for passing reloc info from the
- assembler to the linker when the linker manages to fully resolve a local
- symbol reference.
-
-This is a workaround for design flaws in the assembler to
-linker interface with regards to linker relaxation.
-
-Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-
-Conflicts:
- bfd/elf32-microblaze.c
- binutils/readelf.c
- include/elf/microblaze.h
----
- bfd/bfd-in2.h | 5 ++
- bfd/elf32-microblaze.c | 126 ++++++++++++++++++++++++++++---------
- bfd/libbfd.h | 1 +
- bfd/reloc.c | 6 ++
- binutils/readelf.c | 4 ++
- gas/config/tc-microblaze.c | 4 ++
- include/elf/microblaze.h | 2 +
- 7 files changed, 119 insertions(+), 29 deletions(-)
-
-Index: gdb-9.2/bfd/bfd-in2.h
-===================================================================
---- gdb-9.2.orig/bfd/bfd-in2.h
-+++ gdb-9.2/bfd/bfd-in2.h
-@@ -5363,6 +5363,11 @@ value relative to the read-write small d
- expressions of the form "Symbol Op Symbol" */
- BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM,
-
-+/* This is a 32 bit reloc that stores the 32 bit pc relative
-+value in two words (with an imm instruction).No relocation is
-+done here - only used for relaxing */
-+ BFD_RELOC_MICROBLAZE_32_NONE,
-+
- /* This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). No relocation is
- done here - only used for relaxing */
-Index: gdb-9.2/bfd/elf32-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf32-microblaze.c
-+++ gdb-9.2/bfd/elf32-microblaze.c
-@@ -177,6 +177,20 @@ static reloc_howto_type microblaze_elf_h
- FALSE), /* PC relative offset? */
-
- /* This reloc does nothing. Used for relaxation. */
-+ HOWTO (R_MICROBLAZE_32_NONE, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 32, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ NULL, /* Special Function. */
-+ "R_MICROBLAZE_32_NONE",/* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
- HOWTO (R_MICROBLAZE_64_NONE, /* Type. */
- 0, /* Rightshift. */
- 3, /* Size (0 = byte, 1 = short, 2 = long). */
-@@ -562,7 +576,10 @@ microblaze_elf_reloc_type_lookup (bfd *
- case BFD_RELOC_NONE:
- microblaze_reloc = R_MICROBLAZE_NONE;
- break;
-- case BFD_RELOC_MICROBLAZE_64_NONE:
-+ case BFD_RELOC_MICROBLAZE_32_NONE:
-+ microblaze_reloc = R_MICROBLAZE_32_NONE;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_NONE:
- microblaze_reloc = R_MICROBLAZE_64_NONE;
- break;
- case BFD_RELOC_32:
-@@ -1918,18 +1935,26 @@ microblaze_elf_relax_section (bfd *abfd,
- }
- break;
- case R_MICROBLAZE_NONE:
-+ case R_MICROBLAZE_32_NONE:
- {
- /* This was a PC-relative instruction that was
- completely resolved. */
- int sfix, efix;
-+ unsigned int val;
- bfd_vma target_address;
- target_address = irel->r_addend + irel->r_offset;
- sfix = calc_fixup (irel->r_offset, 0, sec);
- efix = calc_fixup (target_address, 0, sec);
-- irel->r_addend -= (efix - sfix);
-- /* Should use HOWTO. */
-- microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
-- irel->r_addend);
-+
-+ /* Validate the in-band val. */
-+ val = bfd_get_32 (abfd, contents + irel->r_offset);
-+ if (val != irel->r_addend && ELF32_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
-+ }
-+ irel->r_addend -= (efix - sfix);
-+ /* Should use HOWTO. */
-+ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
- }
- break;
- case R_MICROBLAZE_64_NONE:
-@@ -1973,30 +1998,73 @@ microblaze_elf_relax_section (bfd *abfd,
- irelscanend = irelocs + o->reloc_count;
- for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
- {
-- if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
-- {
-- isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
-+ if (1 && ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_NONE)
-+ {
-+ unsigned int val;
-+
-+ isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
-+
-+ /* hax: We only do the following fixup for debug location lists. */
-+ if (strcmp(".debug_loc", o->name))
-+ continue;
-+
-+ /* This was a PC-relative instruction that was completely resolved. */
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-
-- /* Look at the reloc only if the value has been resolved. */
-- if (isym->st_shndx == shndx
-- && (ELF32_ST_TYPE (isym->st_info) == STT_SECTION))
-- {
-- if (ocontents == NULL)
-- {
-- if (elf_section_data (o)->this_hdr.contents != NULL)
-- ocontents = elf_section_data (o)->this_hdr.contents;
-- else
-- {
-- /* We always cache the section contents.
-- Perhaps, if info->keep_memory is FALSE, we
-- should free them, if we are permitted to. */
-- if (o->rawsize == 0)
-- o->rawsize = o->size;
-- ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-- if (ocontents == NULL)
-- goto error_return;
-- if (!bfd_get_section_contents (abfd, o, ocontents,
-- (file_ptr) 0,
-+ val = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
-+ if (val != irelscan->r_addend) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc! %x %lx\n", __LINE__, val, irelscan->r_addend);
-+ }
-+
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
-+ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
-+ irelscan->r_addend);
-+ }
-+ if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
-+ {
-+ isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (isym->st_shndx == shndx
-+ && (ELF32_ST_TYPE (isym->st_info) == STT_SECTION))
-+ {
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
- o->rawsize))
- goto error_return;
- elf_section_data (o)->this_hdr.contents = ocontents;
-@@ -2032,7 +2100,7 @@ microblaze_elf_relax_section (bfd *abfd,
- elf_section_data (o)->this_hdr.contents = ocontents;
- }
- }
-- irelscan->r_addend -= calc_fixup (irel->r_addend
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend
- + isym->st_value,
- 0,
- sec);
-Index: gdb-9.2/bfd/libbfd.h
-===================================================================
---- gdb-9.2.orig/bfd/libbfd.h
-+++ gdb-9.2/bfd/libbfd.h
-@@ -2903,6 +2903,7 @@ static const char *const bfd_reloc_code_
- "BFD_RELOC_MICROBLAZE_32_ROSDA",
- "BFD_RELOC_MICROBLAZE_32_RWSDA",
- "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
-+ "BFD_RELOC_MICROBLAZE_32_NONE",
- "BFD_RELOC_MICROBLAZE_64_NONE",
- "BFD_RELOC_MICROBLAZE_64_GOTPC",
- "BFD_RELOC_MICROBLAZE_64_GOT",
-Index: gdb-9.2/bfd/reloc.c
-===================================================================
---- gdb-9.2.orig/bfd/reloc.c
-+++ gdb-9.2/bfd/reloc.c
-@@ -6807,6 +6807,12 @@ ENUMDOC
- This is a 32 bit reloc for the microblaze to handle
- expressions of the form "Symbol Op Symbol"
- ENUM
-+ BFD_RELOC_MICROBLAZE_32_NONE
-+ENUMDOC
-+ This is a 32 bit reloc that stores the 32 bit pc relative
-+ value in two words (with an imm instruction). No relocation is
-+ done here - only used for relaxing
-+ENUM
- BFD_RELOC_MICROBLAZE_64_NONE
- ENUMDOC
- This is a 64 bit reloc that stores the 32 bit pc relative
-Index: gdb-9.2/include/elf/microblaze.h
-===================================================================
---- gdb-9.2.orig/include/elf/microblaze.h
-+++ gdb-9.2/include/elf/microblaze.h
-@@ -61,6 +61,8 @@ START_RELOC_NUMBERS (elf_microblaze_relo
- RELOC_NUMBER (R_MICROBLAZE_TEXTPCREL_64, 30) /* PC-relative TEXT offset. */
- RELOC_NUMBER (R_MICROBLAZE_TEXTREL_64, 31) /* TEXT Entry offset 64-bit. */
- RELOC_NUMBER (R_MICROBLAZE_TEXTREL_32_LO, 32) /* TEXT Entry offset 32-bit. */
-+ RELOC_NUMBER (R_MICROBLAZE_32_NONE, 33)
-+
- END_RELOC_NUMBERS (R_MICROBLAZE_max)
-
- /* Global base address names. */
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch
deleted file mode 100644
index d0360da43..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From d132f21d89157e980574da7d0c949f6dd17df8c3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Apr 2016 15:25:03 -0700
-Subject: [PATCH] Dont disable libreadline.a when using --disable-static
-
-If gdb is configured with --disable-static then this is dutifully passed to
-readline which then disables libreadline.a, which causes a problem when gdb
-tries to link against that.
-
-To ensure that readline always builds static libraries, pass --enable-static to
-the sub-configure.
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.def | 3 ++-
- Makefile.in | 2 +-
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.def b/Makefile.def
-index 311feb9de3..24c0685d48 100644
---- a/Makefile.def
-+++ b/Makefile.def
-@@ -105,7 +105,8 @@ host_modules= { module= libiconv;
- missing= install-html;
- missing= install-info; };
- host_modules= { module= m4; };
--host_modules= { module= readline; };
-+host_modules= { module= readline;
-+ extra_configure_flags='--enable-static';};
- host_modules= { module= sid; };
- host_modules= { module= sim; };
- host_modules= { module= texinfo; no_install= true; };
-diff --git a/Makefile.in b/Makefile.in
-index 1aabf6ede4..d957efde81 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -25510,7 +25510,7 @@ configure-readline:
- $$s/$$module_srcdir/configure \
- --srcdir=$${topdir}/$$module_srcdir \
- $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
-- --target=${target_alias} \
-+ --target=${target_alias} --enable-static \
- || exit 1
- @endif readline
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0005-upstream-change-to-garbage-collection-sweep-causes-m.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0005-upstream-change-to-garbage-collection-sweep-causes-m.patch
deleted file mode 100644
index d51953084..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0005-upstream-change-to-garbage-collection-sweep-causes-m.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c78337f4e6459e18e1d2af95d8e313b9dcb3f097 Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@xilinx.com>
-Date: Wed, 27 Feb 2013 13:56:11 +1000
-Subject: [PATCH 05/52] upstream change to garbage collection sweep causes mb
- regression
-
-Upstream change for PR13177 now clears the def_regular during gc_sweep of a
-section. (All other archs in binutils/bfd/elf32-*.c received an update
-to a warning about unresolvable relocations - this warning is not present
-in binutils/bfd/elf32-microblaze.c, but this warning check would not
-prevent the error being seen)
-
-The visible issue with this change is when running a c++ application
-in Petalinux which links libstdc++.so for exception handling it segfaults
-on execution.
-
-This does not occur if static linking libstdc++.a, so its during the
-relocations for a shared lib with garbage collection this occurs
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- bfd/elflink.c | 1 -
- 1 file changed, 1 deletion(-)
-
-Index: gdb-9.2/bfd/elflink.c
-===================================================================
---- gdb-9.2.orig/bfd/elflink.c
-+++ gdb-9.2/bfd/elflink.c
-@@ -6274,7 +6274,6 @@ elf_gc_sweep_symbol (struct elf_link_has
-
- inf = (struct elf_gc_sweep_symbol_info *) data;
- (*inf->hide_symbol) (inf->info, h, TRUE);
-- h->def_regular = 0;
- h->ref_regular = 0;
- h->ref_regular_nonweak = 0;
- }
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0006-Fix-bug-in-TLSTPREL-Relocation.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0006-Fix-bug-in-TLSTPREL-Relocation.patch
deleted file mode 100644
index 2843bc2d4..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0006-Fix-bug-in-TLSTPREL-Relocation.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 17ac5acd91e0ef6b103d18018f93fd0fc29a2048 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Mon, 15 Jun 2015 16:50:30 +0530
-Subject: [PATCH 06/52] Fix bug in TLSTPREL Relocation
-
-Fixed the problem related to the fixup/relocations TLSTPREL.
-When the fixup is applied the addend is not added at the correct offset
-of the instruction. The offset is hard coded considering its big endian
-and it fails for Little endian. This patch allows support for both
-big & little-endian compilers
----
- bfd/elf32-microblaze.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: gdb-9.2/bfd/elf32-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf32-microblaze.c
-+++ gdb-9.2/bfd/elf32-microblaze.c
-@@ -1451,9 +1451,9 @@ microblaze_elf_relocate_section (bfd *ou
- relocation += addend;
- relocation -= dtprel_base(info);
- bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-- contents + offset + 2);
-+ contents + offset + endian);
- bfd_put_16 (input_bfd, relocation & 0xffff,
-- contents + offset + 2 + INST_WORD_SIZE);
-+ contents + offset + endian + INST_WORD_SIZE);
- break;
- case (int) R_MICROBLAZE_TEXTREL_64:
- case (int) R_MICROBLAZE_TEXTREL_32_LO:
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch
deleted file mode 100644
index d222d0108..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 329e5bf29e934ba99622372a9660865864bb0298 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <amccurdy@gmail.com>
-Date: Sat, 30 Apr 2016 15:29:06 -0700
-Subject: [PATCH] use <asm/sgidefs.h>
-
-Build fix for MIPS with musl libc
-
-The MIPS specific header <sgidefs.h> is provided by glibc and uclibc
-but not by musl. Regardless of the libc, the kernel headers provide
-<asm/sgidefs.h> which provides the same definitions, so use that
-instead.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gdb/mips-linux-nat.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
-index 7f575b3363..dc93a64a93 100644
---- a/gdb/mips-linux-nat.c
-+++ b/gdb/mips-linux-nat.c
-@@ -31,7 +31,7 @@
- #include "gdb_proc_service.h"
- #include "gregset.h"
-
--#include <sgidefs.h>
-+#include <asm/sgidefs.h>
- #include "nat/gdb_ptrace.h"
- #include <asm/ptrace.h>
- #include "inf-ptrace.h"
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0007-Added-Address-extension-instructions.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0007-Added-Address-extension-instructions.patch
deleted file mode 100644
index a2584ed41..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0007-Added-Address-extension-instructions.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 40107e7f6430aebfeba7e8f4eb6d67863520ebd4 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Mon, 18 Jan 2016 12:28:21 +0530
-Subject: [PATCH 07/52] Added Address extension instructions
-
-This patch adds the support of new instructions which are required
-for supporting Address extension feature.
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
-
-ChangeLog:
- 2016-01-18 Nagaraju Mekala <nmekala@xilix.com>
-
- *microblaze-opc.h (op_code_struct): Update
- Added new instructions
- *microblaze-opcm.h (microblaze_instr): Update
- Added new instructions
----
- opcodes/microblaze-opc.h | 11 +++++++++++
- opcodes/microblaze-opcm.h | 12 ++++++------
- 2 files changed, 17 insertions(+), 6 deletions(-)
-
-Index: gdb-9.2/opcodes/microblaze-opc.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opc.h
-+++ gdb-9.2/opcodes/microblaze-opc.h
-@@ -178,8 +178,11 @@ struct op_code_struct
- {"wdc.ext.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000466, OPCODE_MASK_H35B, wdcextclear, special_inst },
- {"wdc.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst },
- {"wdc.ext.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000476, OPCODE_MASK_H35B, wdcextflush, special_inst },
-+ {"wdc.clear.ea", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900000E6, OPCODE_MASK_H34B, wdcclearea, special_inst },
- {"mts", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9400C000, OPCODE_MASK_H13S, mts, special_inst },
-+ {"mtse", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9500C000, OPCODE_MASK_H13S, mtse,special_inst },
- {"mfs", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94008000, OPCODE_MASK_H23S, mfs, special_inst },
-+ {"mfse", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94088000, OPCODE_MASK_H23S, mfse, special_inst },
- {"br", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98000000, OPCODE_MASK_H124, br, branch_inst },
- {"brd", INST_TYPE_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98100000, OPCODE_MASK_H124, brd, branch_inst },
- {"brld", INST_TYPE_RD_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98140000, OPCODE_MASK_H24, brld, branch_inst },
-@@ -229,18 +232,24 @@ struct op_code_struct
- {"bgeid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBEA00000, OPCODE_MASK_H1, bgeid, branch_inst },
- {"lbu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000000, OPCODE_MASK_H4, lbu, memory_load_inst },
- {"lbur", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000200, OPCODE_MASK_H4, lbur, memory_load_inst },
-+ {"lbuea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000080, OPCODE_MASK_H4, lbuea, memory_load_inst },
- {"lhu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000000, OPCODE_MASK_H4, lhu, memory_load_inst },
- {"lhur", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000200, OPCODE_MASK_H4, lhur, memory_load_inst },
-+ {"lhuea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000080, OPCODE_MASK_H4, lhuea, memory_load_inst },
- {"lw", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000000, OPCODE_MASK_H4, lw, memory_load_inst },
- {"lwr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000200, OPCODE_MASK_H4, lwr, memory_load_inst },
- {"lwx", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000400, OPCODE_MASK_H4, lwx, memory_load_inst },
-+ {"lwea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000080, OPCODE_MASK_H4, lwea, memory_load_inst },
- {"sb", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000000, OPCODE_MASK_H4, sb, memory_store_inst },
- {"sbr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000200, OPCODE_MASK_H4, sbr, memory_store_inst },
-+ {"sbea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000080, OPCODE_MASK_H4, sbea, memory_store_inst },
- {"sh", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000000, OPCODE_MASK_H4, sh, memory_store_inst },
- {"shr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000200, OPCODE_MASK_H4, shr, memory_store_inst },
-+ {"shea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000080, OPCODE_MASK_H4, shea, memory_store_inst },
- {"sw", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000000, OPCODE_MASK_H4, sw, memory_store_inst },
- {"swr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000200, OPCODE_MASK_H4, swr, memory_store_inst },
- {"swx", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000400, OPCODE_MASK_H4, swx, memory_store_inst },
-+ {"swea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000080, OPCODE_MASK_H4, swea, memory_store_inst },
- {"lbui", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE0000000, OPCODE_MASK_H, lbui, memory_load_inst },
- {"lhui", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE4000000, OPCODE_MASK_H, lhui, memory_load_inst },
- {"lwi", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, lwi, memory_load_inst },
-@@ -405,6 +414,8 @@ struct op_code_struct
- {"clz", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900000E0, OPCODE_MASK_H34, clz, special_inst },
- {"mbar", INST_TYPE_IMM5, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8020004, OPCODE_MASK_HN, mbar, special_inst },
- {"sleep", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBA020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 16. */
-+ {"hibernate", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB9020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 8. */
-+ {"suspend", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBB020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 24. */
- {"swapb", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E0, OPCODE_MASK_H4, swapb, arithmetic_inst },
- {"swaph", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E2, OPCODE_MASK_H4, swaph, arithmetic_inst },
- {"", 0, 0, 0, 0, 0, 0, 0, 0},
-Index: gdb-9.2/opcodes/microblaze-opcm.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opcm.h
-+++ gdb-9.2/opcodes/microblaze-opcm.h
-@@ -33,14 +33,14 @@ enum microblaze_instr
- /* 'or/and/xor' are C++ keywords. */
- microblaze_or, microblaze_and, microblaze_xor,
- andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
-- wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, mts, mfs, mbar, br,
-- brd, brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
-- bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
-+ wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, wdcclearea, mts, mtse,
-+ mfs, mfse, mbar, br, brd, brld, bra, brad, brald, microblaze_brk, beq, beqd,
-+ bne, bned, blt, bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
- imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
- brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
-- bgtid, bgei, bgeid, lbu, lbur, lhu, lhur, lw, lwr, lwx, sb, sbr, sh,
-- shr, sw, swr, swx, lbui, lhui, lwi,
-- sbi, shi, swi, msrset, msrclr, tuqula, fadd, frsub, fmul, fdiv,
-+ bgtid, bgei, bgeid, lbu, lbuea, lbur, lhu, lhuea, lhur, lw, lwea, lwr, lwx,
-+ sb, sbea, sbr, sh, shea, shr, sw, swea, swr, swx, lbui, lhui, lwi,
-+ sbi, shi, swi, msrset, msrclr, tuqula, mbi_fadd, frsub, mbi_fmul, mbi_fdiv,
- fcmp_lt, fcmp_eq, fcmp_le, fcmp_gt, fcmp_ne, fcmp_ge, fcmp_un, flt,
- fint, fsqrt,
- tget, tcget, tnget, tncget, tput, tcput, tnput, tncput,
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch
deleted file mode 100644
index 09896611f..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 782bb2ab9b104dad4bbaed1d9ac769ce7e5b9f4d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Apr 2016 15:31:40 -0700
-Subject: [PATCH] Use exorted definitions of SIGRTMIN
-
-Define W_STOPCODE if not defined already
-
-__SIGRTMIN is internal to glibc and other libcs e.g. musl
-may not provide them
-
-Fixes
-https://sourceware.org/bugzilla/show_bug.cgi?id=13012
-
-Upstream-Status: Submitted
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gdb/linux-nat.c | 4 ++--
- gdb/nat/linux-nat.h | 4 ++++
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
-index 4484fa5c87..3bb0ee7a49 100644
---- a/gdb/linux-nat.c
-+++ b/gdb/linux-nat.c
-@@ -4588,6 +4588,6 @@ lin_thread_get_thread_signals (sigset_t *set)
- /* NPTL reserves the first two RT signals, but does not provide any
- way for the debugger to query the signal numbers - fortunately
- they don't change. */
-- sigaddset (set, __SIGRTMIN);
-- sigaddset (set, __SIGRTMIN + 1);
-+ sigaddset (set, SIGRTMIN);
-+ sigaddset (set, SIGRTMIN + 1);
- }
-diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h
-index 44dcbb7758..975d7276f6 100644
---- a/gdb/nat/linux-nat.h
-+++ b/gdb/nat/linux-nat.h
-@@ -91,4 +91,8 @@ extern void linux_stop_lwp (struct lwp_info *lwp);
-
- extern int lwp_is_stepping (struct lwp_info *lwp);
-
-+#ifndef W_STOPCODE
-+#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
-+#endif
-+
- #endif /* NAT_LINUX_NAT_H */
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch
deleted file mode 100644
index 18168c6ba..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 40c9c174590ce6fdc873b453285249fe957f376d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Apr 2016 15:35:39 -0700
-Subject: [PATCH] Change order of CFLAGS
-
-Lets us override Werror if need be
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gdb/gdbserver/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
-index 16a9f2fd38..b9c8cd9c41 100644
---- a/gdb/gdbserver/Makefile.in
-+++ b/gdb/gdbserver/Makefile.in
-@@ -146,7 +146,7 @@ PTHREAD_LIBS = @PTHREAD_LIBS@
- INTERNAL_CFLAGS_BASE = ${CXXFLAGS} ${GLOBAL_CFLAGS} \
- ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS} $(PTHREAD_CFLAGS)
- INTERNAL_WARN_CFLAGS = ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS)
--INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) -DGDBSERVER
-+INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) ${COMPILER_CFLAGS} -DGDBSERVER
-
- # LDFLAGS is specifically reserved for setting from the command line
- # when running make.
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0008-fixing-the-MAX_OPCODES-to-correct-value.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0008-fixing-the-MAX_OPCODES-to-correct-value.patch
deleted file mode 100644
index ce2447a53..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0008-fixing-the-MAX_OPCODES-to-correct-value.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From e8cd7c56c206c7a4582008d9059fe7a9ad35a44c Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Thu, 28 Jan 2016 14:07:34 +0530
-Subject: [PATCH 08/52] fixing the MAX_OPCODES to correct value
-
----
- opcodes/microblaze-opc.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: gdb-9.2/opcodes/microblaze-opc.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opc.h
-+++ gdb-9.2/opcodes/microblaze-opc.h
-@@ -102,7 +102,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 291
-+#define MAX_OPCODES 299
-
- struct op_code_struct
- {
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0009-Add-new-bit-field-instructions.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0009-Add-new-bit-field-instructions.patch
deleted file mode 100644
index 155ef3b50..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0009-Add-new-bit-field-instructions.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From 01453aca6478379bef05095f64ed79509da3a5ca Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Mon, 18 Jul 2016 12:24:28 +0530
-Subject: [PATCH 09/52] Add new bit-field instructions
-
-This patches adds new bsefi and bsifi instructions.
-BSEFI- The instruction shall extract a bit field from a
-register and place it right-adjusted in the destination register.
-The other bits in the destination register shall be set to zero
-BSIFI- The instruction shall insert a right-adjusted bit field
-from a register at another position in the destination register.
-The rest of the bits in the destination register shall be unchanged
-
-Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
-
-Conflicts:
- opcodes/microblaze-dis.c
----
- gas/config/tc-microblaze.c | 71 +++++++++++++++++++++++++++++++++++++-
- opcodes/microblaze-dis.c | 20 +++++++++--
- opcodes/microblaze-opc.h | 12 ++++++-
- opcodes/microblaze-opcm.h | 6 +++-
- 4 files changed, 104 insertions(+), 5 deletions(-)
-
-Index: gdb-9.2/opcodes/microblaze-dis.c
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-dis.c
-+++ gdb-9.2/opcodes/microblaze-dis.c
-@@ -91,7 +91,19 @@ get_field_imm5_mbar (struct string_buf *
- }
-
- static char *
--get_field_rfsl (struct string_buf *buf, long instr)
-+get_field_imm5width (struct string_buf *buf, long instr)
-+{
-+ char *p = strbuf (buf);
-+
-+ if (instr & 0x00004000)
-+ sprintf (p, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW))); /* bsefi */
-+ else
-+ sprintf (p, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW) - ((instr & IMM5_MASK) >> IMM_LOW) + 1)); /* bsifi */
-+ return p;
-+}
-+
-+static char *
-+get_field_rfsl (struct string_buf *buf,long instr)
- {
- char *p = strbuf (buf);
-
-@@ -425,7 +437,11 @@ print_insn_microblaze (bfd_vma memaddr,
- /* For mbar 16 or sleep insn. */
- case INST_TYPE_NONE:
- break;
-- /* For tuqula instruction */
-+ /* For bit field insns. */
-+ case INST_TYPE_RD_R1_IMM5_IMM5:
-+ print_func (stream, "\t%s, %s, %s, %s", get_field_rd (&buf, inst),get_field_r1(&buf, inst),get_field_imm5width (&buf, inst), get_field_imm5 (&buf, inst));
-+ break;
-+ /* For tuqula instruction */
- case INST_TYPE_RD:
- print_func (stream, "\t%s", get_field_rd (&buf, inst));
- break;
-Index: gdb-9.2/opcodes/microblaze-opc.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opc.h
-+++ gdb-9.2/opcodes/microblaze-opc.h
-@@ -59,6 +59,9 @@
- /* For mbar. */
- #define INST_TYPE_IMM5 20
-
-+/* For bsefi and bsifi */
-+#define INST_TYPE_RD_R1_IMM5_IMM5 21
-+
- #define INST_TYPE_NONE 25
-
-
-@@ -89,7 +92,9 @@
- #define OPCODE_MASK_H124 0xFFFF07FF /* High 16, and low 11 bits. */
- #define OPCODE_MASK_H1234 0xFFFFFFFF /* All 32 bits. */
- #define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
-+#define OPCODE_MASK_H3B 0xFC00C600 /* High 6 bits and bits 16, 17, 21, 22. */
- #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
-+#define OPCODE_MASK_H32B 0xFC00C000 /* High 6 bits and bit 16, 17. */
- #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
- #define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
- #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
-@@ -102,7 +107,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 299
-+#define MAX_OPCODES 301
-
- struct op_code_struct
- {
-@@ -159,6 +164,8 @@ struct op_code_struct
- {"bslli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3, bslli, barrel_shift_inst },
- {"bsrai", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3, bsrai, barrel_shift_inst },
- {"bsrli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3, bsrli, barrel_shift_inst },
-+ {"bsefi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64004000, OPCODE_MASK_H32B, bsefi, barrel_shift_inst },
-+ {"bsifi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64008000, OPCODE_MASK_H32B, bsifi, barrel_shift_inst },
- {"or", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000000, OPCODE_MASK_H4, microblaze_or, logical_inst },
- {"and", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x84000000, OPCODE_MASK_H4, microblaze_and, logical_inst },
- {"xor", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000000, OPCODE_MASK_H4, microblaze_xor, logical_inst },
-@@ -438,5 +445,8 @@ char pvr_register_prefix[] = "rpvr";
- #define MIN_IMM5 ((int) 0x00000000)
- #define MAX_IMM5 ((int) 0x0000001f)
-
-+#define MIN_IMM_WIDTH ((int) 0x00000001)
-+#define MAX_IMM_WIDTH ((int) 0x00000020)
-+
- #endif /* MICROBLAZE_OPC */
-
-Index: gdb-9.2/opcodes/microblaze-opcm.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opcm.h
-+++ gdb-9.2/opcodes/microblaze-opcm.h
-@@ -29,7 +29,7 @@ enum microblaze_instr
- addi, rsubi, addic, rsubic, addik, rsubik, addikc, rsubikc, mul,
- mulh, mulhu, mulhsu,swapb,swaph,
- idiv, idivu, bsll, bsra, bsrl, get, put, nget, nput, cget, cput,
-- ncget, ncput, muli, bslli, bsrai, bsrli, mului,
-+ ncget, ncput, muli, bslli, bsrai, bsrli, bsefi, bsifi, mului,
- /* 'or/and/xor' are C++ keywords. */
- microblaze_or, microblaze_and, microblaze_xor,
- andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
-@@ -129,6 +129,7 @@ enum microblaze_instr_type
- #define RB_LOW 11 /* Low bit for RB. */
- #define IMM_LOW 0 /* Low bit for immediate. */
- #define IMM_MBAR 21 /* low bit for mbar instruction. */
-+#define IMM_WIDTH_LOW 6 /* Low bit for immediate width */
-
- #define RD_MASK 0x03E00000
- #define RA_MASK 0x001F0000
-@@ -141,6 +142,9 @@ enum microblaze_instr_type
- /* Imm mask for mbar. */
- #define IMM5_MBAR_MASK 0x03E00000
-
-+/* Imm mask for extract/insert width. */
-+#define IMM5_WIDTH_MASK 0x000007C0
-+
- /* FSL imm mask for get, put instructions. */
- #define RFSL_MASK 0x000000F
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch
deleted file mode 100644
index 8f15c49d0..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 5b69a98f6bb7363a1f79f29bac2b25b7df6d2fdd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 10 May 2016 08:47:05 -0700
-Subject: [PATCH] resolve restrict keyword conflict
-
-GCC detects that we call 'restrict' as param name in function
-signatures and complains since both params are called 'restrict'
-therefore we use __restrict to denote the C99 keywork
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gnulib/import/sys_time.in.h | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gnulib/import/sys_time.in.h b/gnulib/import/sys_time.in.h
-index d535a6a48b..7c34d5a1aa 100644
---- a/gnulib/import/sys_time.in.h
-+++ b/gnulib/import/sys_time.in.h
-@@ -93,20 +93,20 @@ struct timeval
- # define gettimeofday rpl_gettimeofday
- # endif
- _GL_FUNCDECL_RPL (gettimeofday, int,
-- (struct timeval *restrict, void *restrict)
-+ (struct timeval *__restrict, void *__restrict)
- _GL_ARG_NONNULL ((1)));
- _GL_CXXALIAS_RPL (gettimeofday, int,
-- (struct timeval *restrict, void *restrict));
-+ (struct timeval *__restrict, void *__restrict));
- # else
- # if !@HAVE_GETTIMEOFDAY@
- _GL_FUNCDECL_SYS (gettimeofday, int,
-- (struct timeval *restrict, void *restrict)
-+ (struct timeval *__restrict, void *__restrict)
- _GL_ARG_NONNULL ((1)));
- # endif
- /* Need to cast, because on glibc systems, by default, the second argument is
- struct timezone *. */
- _GL_CXXALIAS_SYS_CAST (gettimeofday, int,
-- (struct timeval *restrict, void *restrict));
-+ (struct timeval *__restrict, void *__restrict));
- # endif
- _GL_CXXALIASWARN (gettimeofday);
- # if defined __cplusplus && defined GNULIB_NAMESPACE
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch
deleted file mode 100644
index 5209c0027..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From bc1f01ff5e524f7777083024bce348a9b0017a7a Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Fri, 24 Mar 2017 10:36:03 +0800
-Subject: [PATCH] Fix invalid sigprocmask call
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The POSIX document says
-
- The pthread_sigmask() and sigprocmask() functions shall fail if:
-
- [EINVAL]
- The value of the how argument is not equal to one of the defined values.
-
-and this is how musl-libc is currently doing. Fix the call to be safe
-and correct
-
- [1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_sigmask.html
-
-gdb/ChangeLog:
-2017-03-24 Yousong Zhou <yszhou4tech@gmail.com>
-
- * common/signals-state-save-restore.c (save_original_signals_state):
- Fix invalid sigprocmask call.
-
-Upstream-Status: Pending [not author, cherry-picked from LEDE https://bugs.lede-project.org/index.php?do=details&task_id=637&openedfrom=-1%2Bweek]
-Signed-off-by: André Draszik <adraszik@tycoint.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gdb/gdbsupport/signals-state-save-restore.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gdb/gdbsupport/signals-state-save-restore.c b/gdb/gdbsupport/signals-state-save-restore.c
-index c292d498da..af9dcaeb08 100644
---- a/gdb/gdbsupport/signals-state-save-restore.c
-+++ b/gdb/gdbsupport/signals-state-save-restore.c
-@@ -38,7 +38,7 @@ save_original_signals_state (bool quiet)
- int i;
- int res;
-
-- res = gdb_sigmask (0, NULL, &original_signal_mask);
-+ res = gdb_sigmask (SIG_BLOCK, NULL, &original_signal_mask);
- if (res == -1)
- perror_with_name (("sigprocmask"));
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0010-fixing-the-imm-bug.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0010-fixing-the-imm-bug.patch
deleted file mode 100644
index 201dfeb1c..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0010-fixing-the-imm-bug.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From b2dc3bfabd4d80be7d90502e3d2dc26b508679cb Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Mon, 10 Jul 2017 16:07:28 +0530
-Subject: [PATCH 10/52] fixing the imm bug. with relax option imm -1 is also
- getting removed this is corrected now.
-
----
- bfd/elf32-microblaze.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-Index: gdb-9.2/bfd/elf32-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf32-microblaze.c
-+++ gdb-9.2/bfd/elf32-microblaze.c
-@@ -1869,8 +1869,7 @@ microblaze_elf_relax_section (bfd *abfd,
- else
- symval += irel->r_addend;
-
-- if ((symval & 0xffff8000) == 0
-- || (symval & 0xffff8000) == 0xffff8000)
-+ if ((symval & 0xffff8000) == 0)
- {
- /* We can delete this instruction. */
- sec->relax[sec->relax_count].addr = irel->r_offset;
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch
deleted file mode 100644
index eedd94c4d..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 3d6700d38153a0ec8e0800de703a5089a8cd3d2d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 29 Nov 2018 18:00:23 -0800
-Subject: [PATCH] gdbserver ctrl-c handling
-
-This problem was created by the upstream commit 78708b7c8c
-After applying the commit, it will send SIGINT to the process
-group(-signal_pid).
-But if we use gdbserver send SIGINT, and the attached process is not a
-process
-group leader, then the "kill (-signal_pid, SIGINT)" returns error and
-fails to
-interrupt the attached process.
-
-Upstream-Status: Submitted
-[https://sourceware.org/bugzilla/show_bug.cgi?id=18945]
-
-Author: Josh Gao
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gdb/gdbserver/linux-low.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
-index 4255795ea6..762f8bafb6 100644
---- a/gdb/gdbserver/linux-low.c
-+++ b/gdb/gdbserver/linux-low.c
-@@ -5904,9 +5904,7 @@ linux_look_up_symbols (void)
- static void
- linux_request_interrupt (void)
- {
-- /* Send a SIGINT to the process group. This acts just like the user
-- typed a ^C on the controlling terminal. */
-- kill (-signal_pid, SIGINT);
-+ kill (signal_pid, SIGINT);
- }
-
- /* Copy LEN bytes from inferior's auxiliary vector starting at OFFSET
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0014-intial-commit-of-MB-64-bit.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0014-intial-commit-of-MB-64-bit.patch
deleted file mode 100644
index a2a80d53c..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0014-intial-commit-of-MB-64-bit.patch
+++ /dev/null
@@ -1,4277 +0,0 @@
-From b6f02b2535c4051db5fdadbf03dbb88438b5d116 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Sun, 30 Sep 2018 16:28:28 +0530
-Subject: [PATCH 14/52] intial commit of MB 64-bit
-
-Conflicts:
- bfd/configure
- bfd/configure.ac
- bfd/cpu-microblaze.c
- ld/Makefile.am
- ld/Makefile.in
- opcodes/microblaze-dis.c
----
- bfd/Makefile.am | 2 +
- bfd/Makefile.in | 3 +
- bfd/config.bfd | 4 +
- bfd/configure | 2 +
- bfd/configure.ac | 2 +
- bfd/cpu-microblaze.c | 53 +-
- bfd/elf64-microblaze.c | 3610 ++++++++++++++++++++++++++++
- bfd/targets.c | 6 +
- gas/config/tc-microblaze.c | 274 ++-
- gas/config/tc-microblaze.h | 4 +-
- include/elf/common.h | 1 +
- ld/Makefile.am | 4 +
- ld/Makefile.in | 6 +
- ld/configure.tgt | 3 +
- ld/emulparams/elf64microblaze.sh | 23 +
- ld/emulparams/elf64microblazeel.sh | 23 +
- opcodes/microblaze-dis.c | 35 +-
- opcodes/microblaze-opc.h | 162 +-
- opcodes/microblaze-opcm.h | 20 +-
- 19 files changed, 4197 insertions(+), 40 deletions(-)
- create mode 100644 bfd/elf64-microblaze.c
- create mode 100644 ld/emulparams/elf64microblaze.sh
- create mode 100644 ld/emulparams/elf64microblazeel.sh
-
-Index: gdb-9.2/bfd/Makefile.am
-===================================================================
---- gdb-9.2.orig/bfd/Makefile.am
-+++ gdb-9.2/bfd/Makefile.am
-@@ -568,6 +568,7 @@ BFD64_BACKENDS = \
- elf64-riscv.lo \
- elfxx-riscv.lo \
- elf64-s390.lo \
-+ elf64-microblaze.lo \
- elf64-sparc.lo \
- elf64-tilegx.lo \
- elf64-x86-64.lo \
-@@ -602,6 +603,7 @@ BFD64_BACKENDS_CFILES = \
- elf64-nfp.c \
- elf64-ppc.c \
- elf64-s390.c \
-+ elf64-microblaze.c \
- elf64-sparc.c \
- elf64-tilegx.c \
- elf64-x86-64.c \
-Index: gdb-9.2/bfd/Makefile.in
-===================================================================
---- gdb-9.2.orig/bfd/Makefile.in
-+++ gdb-9.2/bfd/Makefile.in
-@@ -994,6 +994,7 @@ BFD64_BACKENDS = \
- elf64-riscv.lo \
- elfxx-riscv.lo \
- elf64-s390.lo \
-+ elf64-microblaze.lo \
- elf64-sparc.lo \
- elf64-tilegx.lo \
- elf64-x86-64.lo \
-@@ -1028,6 +1029,7 @@ BFD64_BACKENDS_CFILES = \
- elf64-nfp.c \
- elf64-ppc.c \
- elf64-s390.c \
-+ elf64-microblaze.c \
- elf64-sparc.c \
- elf64-tilegx.c \
- elf64-x86-64.c \
-@@ -1510,6 +1512,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-ppc.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-riscv.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-s390.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-microblaze.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-sparc.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-tilegx.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-x86-64.Plo@am__quote@
-Index: gdb-9.2/bfd/config.bfd
-===================================================================
---- gdb-9.2.orig/bfd/config.bfd
-+++ gdb-9.2/bfd/config.bfd
-@@ -842,11 +842,15 @@ case "${targ}" in
- microblazeel*-*)
- targ_defvec=microblaze_elf32_le_vec
- targ_selvecs=microblaze_elf32_vec
-+ targ64_selvecs=microblaze_elf64_vec
-+ targ64_selvecs=microblaze_elf64_le_vec
- ;;
-
- microblaze*-*)
- targ_defvec=microblaze_elf32_vec
- targ_selvecs=microblaze_elf32_le_vec
-+ targ64_selvecs=microblaze_elf64_vec
-+ targ64_selvecs=microblaze_elf64_le_vec
- ;;
-
- #ifdef BFD64
-Index: gdb-9.2/bfd/configure
-===================================================================
---- gdb-9.2.orig/bfd/configure
-+++ gdb-9.2/bfd/configure
-@@ -14879,6 +14879,8 @@ do
- s390_elf64_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
- score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
- score_elf32_le_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
-+ microblaze_elf64_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
-+ microblaze_elf64_le_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
- sh_coff_vec) tb="$tb coff-sh.lo $coff" ;;
- sh_coff_le_vec) tb="$tb coff-sh.lo $coff" ;;
- sh_coff_small_vec) tb="$tb coff-sh.lo $coff" ;;
-Index: gdb-9.2/bfd/configure.ac
-===================================================================
---- gdb-9.2.orig/bfd/configure.ac
-+++ gdb-9.2/bfd/configure.ac
-@@ -615,6 +615,8 @@ do
- s390_elf64_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
- score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
- score_elf32_le_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
-+ microblaze_elf64_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
-+ microblaze_elf64_le_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
- sh_coff_vec) tb="$tb coff-sh.lo $coff" ;;
- sh_coff_le_vec) tb="$tb coff-sh.lo $coff" ;;
- sh_coff_small_vec) tb="$tb coff-sh.lo $coff" ;;
-Index: gdb-9.2/bfd/cpu-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/cpu-microblaze.c
-+++ gdb-9.2/bfd/cpu-microblaze.c
-@@ -23,7 +23,24 @@
- #include "bfd.h"
- #include "libbfd.h"
-
--const bfd_arch_info_type bfd_microblaze_arch =
-+const bfd_arch_info_type bfd_microblaze_arch[] =
-+{
-+#if BFD_DEFAULT_TARGET_SIZE == 64
-+{
-+ 64, /* 32 bits in a word. */
-+ 64, /* 32 bits in an address. */
-+ 8, /* 8 bits in a byte. */
-+ bfd_arch_microblaze, /* Architecture. */
-+ 0, /* Machine number - 0 for now. */
-+ "microblaze", /* Architecture name. */
-+ "MicroBlaze", /* Printable name. */
-+ 3, /* Section align power. */
-+ FALSE, /* Is this the default architecture ? */
-+ bfd_default_compatible, /* Architecture comparison function. */
-+ bfd_default_scan, /* String to architecture conversion. */
-+ bfd_arch_default_fill, /* Default fill. */
-+ &bfd_microblaze_arch[1] /* Next in list. */
-+},
- {
- 32, /* Bits in a word. */
- 32, /* Bits in an address. */
-@@ -39,4 +56,38 @@ const bfd_arch_info_type bfd_microblaze_
- bfd_arch_default_fill, /* Default fill. */
- NULL, /* Next in list. */
- 0 /* Maximum offset of a reloc from the start of an insn. */
-+}
-+#else
-+{
-+ 32, /* 32 bits in a word. */
-+ 32, /* 32 bits in an address. */
-+ 8, /* 8 bits in a byte. */
-+ bfd_arch_microblaze, /* Architecture. */
-+ 0, /* Machine number - 0 for now. */
-+ "microblaze", /* Architecture name. */
-+ "MicroBlaze", /* Printable name. */
-+ 3, /* Section align power. */
-+ TRUE, /* Is this the default architecture ? */
-+ bfd_default_compatible, /* Architecture comparison function. */
-+ bfd_default_scan, /* String to architecture conversion. */
-+ bfd_arch_default_fill, /* Default fill. */
-+ &bfd_microblaze_arch[1] /* Next in list. */
-+},
-+{
-+ 64, /* 32 bits in a word. */
-+ 64, /* 32 bits in an address. */
-+ 8, /* 8 bits in a byte. */
-+ bfd_arch_microblaze, /* Architecture. */
-+ 0, /* Machine number - 0 for now. */
-+ "microblaze", /* Architecture name. */
-+ "MicroBlaze", /* Printable name. */
-+ 3, /* Section align power. */
-+ FALSE, /* Is this the default architecture ? */
-+ bfd_default_compatible, /* Architecture comparison function. */
-+ bfd_default_scan, /* String to architecture conversion. */
-+ bfd_arch_default_fill, /* Default fill. */
-+ NULL, /* Next in list. */
-+ 0 /* Maximum offset of a reloc from the start of an insn. */
-+}
-+#endif
- };
-Index: gdb-9.2/bfd/elf64-microblaze.c
-===================================================================
---- /dev/null
-+++ gdb-9.2/bfd/elf64-microblaze.c
-@@ -0,0 +1,3610 @@
-+/* Xilinx MicroBlaze-specific support for 32-bit ELF
-+
-+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
-+
-+ This file is part of BFD, the Binary File Descriptor library.
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 3 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the
-+ Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
-+ Boston, MA 02110-1301, USA. */
-+
-+
-+int dbg1 = 0;
-+
-+#include "sysdep.h"
-+#include "bfd.h"
-+#include "bfdlink.h"
-+#include "libbfd.h"
-+#include "elf-bfd.h"
-+#include "elf/microblaze.h"
-+#include <assert.h>
-+
-+#define USE_RELA /* Only USE_REL is actually significant, but this is
-+ here are a reminder... */
-+#define INST_WORD_SIZE 4
-+
-+static int ro_small_data_pointer = 0;
-+static int rw_small_data_pointer = 0;
-+
-+static reloc_howto_type * microblaze_elf_howto_table [(int) R_MICROBLAZE_max];
-+
-+static reloc_howto_type microblaze_elf_howto_raw[] =
-+{
-+ /* This reloc does nothing. */
-+ HOWTO (R_MICROBLAZE_NONE, /* Type. */
-+ 0, /* Rightshift. */
-+ 3, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 0, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ NULL, /* Special Function. */
-+ "R_MICROBLAZE_NONE", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* A standard 32 bit relocation. */
-+ HOWTO (R_MICROBLAZE_32, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 32, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_32", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0xffffffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* A standard PCREL 32 bit relocation. */
-+ HOWTO (R_MICROBLAZE_32_PCREL,/* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 32, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_32_PCREL", /* Name. */
-+ TRUE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0xffffffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* A 64 bit PCREL relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_64_PCREL,/* Type. */
-+ 0, /* Rightshift. */
-+ 4, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 64, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_64_PCREL", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* The low half of a PCREL 32 bit relocation. */
-+ HOWTO (R_MICROBLAZE_32_PCREL_LO, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_signed, /* Complain on overflow. */
-+ bfd_elf_generic_reloc, /* Special Function. */
-+ "R_MICROBLAZE_32_PCREL_LO", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* A 64 bit relocation. Table entry not really used. */
-+ HOWTO (R_MICROBLAZE_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* The low half of a 32 bit relocation. */
-+ HOWTO (R_MICROBLAZE_32_LO, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_signed, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_32_LO", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* Read-only small data section relocation. */
-+ HOWTO (R_MICROBLAZE_SRO32, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_SRO32", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* Read-write small data area relocation. */
-+ HOWTO (R_MICROBLAZE_SRW32, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_SRW32", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ HOWTO (R_MICROBLAZE_32_NONE, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 32, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ NULL, /* Special Function. */
-+ "R_MICROBLAZE_32_NONE",/* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* This reloc does nothing. Used for relaxation. */
-+ HOWTO (R_MICROBLAZE_64_NONE, /* Type. */
-+ 0, /* Rightshift. */
-+ 3, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 0, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ NULL, /* Special Function. */
-+ "R_MICROBLAZE_64_NONE",/* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* Symbol Op Symbol relocation. */
-+ HOWTO (R_MICROBLAZE_32_SYM_OP_SYM, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 32, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_32_SYM_OP_SYM", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0xffffffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* GNU extension to record C++ vtable hierarchy. */
-+ HOWTO (R_MICROBLAZE_GNU_VTINHERIT, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 0, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont,/* Complain on overflow. */
-+ NULL, /* Special Function. */
-+ "R_MICROBLAZE_GNU_VTINHERIT", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* GNU extension to record C++ vtable member usage. */
-+ HOWTO (R_MICROBLAZE_GNU_VTENTRY, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 0, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont,/* Complain on overflow. */
-+ _bfd_elf_rel_vtable_reloc_fn, /* Special Function. */
-+ "R_MICROBLAZE_GNU_VTENTRY", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* A 64 bit GOTPC relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GOTPC_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc, /* Special Function. */
-+ "R_MICROBLAZE_GOTPC_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* A 64 bit GOT relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GOT_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_GOT_64",/* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* A 64 bit PLT relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_PLT_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_PLT_64",/* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_REL, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_REL", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_JUMP_SLOT,/* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_JUMP_SLOT", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GLOB_DAT,/* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_GLOB_DAT", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* A 64 bit GOT relative relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GOTOFF_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_GOTOFF_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* A 32 bit GOT relative relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GOTOFF_32, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc, /* Special Function. */
-+ "R_MICROBLAZE_GOTOFF_32", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* COPY relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_COPY, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ FALSE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_COPY", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
-+ /* Marker relocs for TLS. */
-+ HOWTO (R_MICROBLAZE_TLS,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLS", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ HOWTO (R_MICROBLAZE_TLSGD,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSGD", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ HOWTO (R_MICROBLAZE_TLSLD,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSLD", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ /* Computes the load module index of the load module that contains the
-+ definition of its TLS sym. */
-+ HOWTO (R_MICROBLAZE_TLSDTPMOD32,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSDTPMOD32", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ /* Computes a dtv-relative displacement, the difference between the value
-+ of sym+add and the base address of the thread-local storage block that
-+ contains the definition of sym, minus 0x8000. Used for initializing GOT */
-+ HOWTO (R_MICROBLAZE_TLSDTPREL32,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSDTPREL32", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ /* Computes a dtv-relative displacement, the difference between the value
-+ of sym+add and the base address of the thread-local storage block that
-+ contains the definition of sym, minus 0x8000. */
-+ HOWTO (R_MICROBLAZE_TLSDTPREL64,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSDTPREL64", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ /* Computes a tp-relative displacement, the difference between the value of
-+ sym+add and the value of the thread pointer (r13). */
-+ HOWTO (R_MICROBLAZE_TLSGOTTPREL32,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSGOTTPREL32", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+ /* Computes a tp-relative displacement, the difference between the value of
-+ sym+add and the value of the thread pointer (r13). */
-+ HOWTO (R_MICROBLAZE_TLSTPREL32,
-+ 0, /* rightshift */
-+ 2, /* size (0 = byte, 1 = short, 2 = long) */
-+ 32, /* bitsize */
-+ FALSE, /* pc_relative */
-+ 0, /* bitpos */
-+ complain_overflow_dont, /* complain_on_overflow */
-+ bfd_elf_generic_reloc, /* special_function */
-+ "R_MICROBLAZE_TLSTPREL32", /* name */
-+ FALSE, /* partial_inplace */
-+ 0, /* src_mask */
-+ 0x0000ffff, /* dst_mask */
-+ FALSE), /* pcrel_offset */
-+
-+};
-+
-+#ifndef NUM_ELEM
-+#define NUM_ELEM(a) (sizeof (a) / sizeof (a)[0])
-+#endif
-+
-+/* Initialize the microblaze_elf_howto_table, so that linear accesses can be done. */
-+
-+static void
-+microblaze_elf_howto_init (void)
-+{
-+ unsigned int i;
-+
-+ for (i = NUM_ELEM (microblaze_elf_howto_raw); i--;)
-+ {
-+ unsigned int type;
-+
-+ type = microblaze_elf_howto_raw[i].type;
-+
-+ BFD_ASSERT (type < NUM_ELEM (microblaze_elf_howto_table));
-+
-+ microblaze_elf_howto_table [type] = & microblaze_elf_howto_raw [i];
-+ }
-+}
-+
-+static reloc_howto_type *
-+microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
-+ bfd_reloc_code_real_type code)
-+{
-+ enum elf_microblaze_reloc_type microblaze_reloc = R_MICROBLAZE_NONE;
-+
-+ switch (code)
-+ {
-+ case BFD_RELOC_NONE:
-+ microblaze_reloc = R_MICROBLAZE_NONE;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_NONE:
-+ microblaze_reloc = R_MICROBLAZE_32_NONE;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_NONE:
-+ microblaze_reloc = R_MICROBLAZE_64_NONE;
-+ break;
-+ case BFD_RELOC_32:
-+ microblaze_reloc = R_MICROBLAZE_32;
-+ break;
-+ /* RVA is treated the same as 32 */
-+ case BFD_RELOC_RVA:
-+ microblaze_reloc = R_MICROBLAZE_32;
-+ break;
-+ case BFD_RELOC_32_PCREL:
-+ microblaze_reloc = R_MICROBLAZE_32_PCREL;
-+ break;
-+ case BFD_RELOC_64_PCREL:
-+ microblaze_reloc = R_MICROBLAZE_64_PCREL;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_LO_PCREL:
-+ microblaze_reloc = R_MICROBLAZE_32_PCREL_LO;
-+ break;
-+ case BFD_RELOC_64:
-+ microblaze_reloc = R_MICROBLAZE_64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_LO:
-+ microblaze_reloc = R_MICROBLAZE_32_LO;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_ROSDA:
-+ microblaze_reloc = R_MICROBLAZE_SRO32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_RWSDA:
-+ microblaze_reloc = R_MICROBLAZE_SRW32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:
-+ microblaze_reloc = R_MICROBLAZE_32_SYM_OP_SYM;
-+ break;
-+ case BFD_RELOC_VTABLE_INHERIT:
-+ microblaze_reloc = R_MICROBLAZE_GNU_VTINHERIT;
-+ break;
-+ case BFD_RELOC_VTABLE_ENTRY:
-+ microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_GOTPC:
-+ microblaze_reloc = R_MICROBLAZE_GOTPC_64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_GOT:
-+ microblaze_reloc = R_MICROBLAZE_GOT_64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_PLT:
-+ microblaze_reloc = R_MICROBLAZE_PLT_64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_GOTOFF:
-+ microblaze_reloc = R_MICROBLAZE_GOTOFF_64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_GOTOFF:
-+ microblaze_reloc = R_MICROBLAZE_GOTOFF_32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_TLSGD:
-+ microblaze_reloc = R_MICROBLAZE_TLSGD;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_TLSLD:
-+ microblaze_reloc = R_MICROBLAZE_TLSLD;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_TLSDTPREL:
-+ microblaze_reloc = R_MICROBLAZE_TLSDTPREL32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_TLSDTPREL:
-+ microblaze_reloc = R_MICROBLAZE_TLSDTPREL64;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_32_TLSDTPMOD:
-+ microblaze_reloc = R_MICROBLAZE_TLSDTPMOD32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL:
-+ microblaze_reloc = R_MICROBLAZE_TLSGOTTPREL32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_64_TLSTPREL:
-+ microblaze_reloc = R_MICROBLAZE_TLSTPREL32;
-+ break;
-+ case BFD_RELOC_MICROBLAZE_COPY:
-+ microblaze_reloc = R_MICROBLAZE_COPY;
-+ break;
-+ default:
-+ return (reloc_howto_type *) NULL;
-+ }
-+
-+ if (!microblaze_elf_howto_table [R_MICROBLAZE_32])
-+ /* Initialize howto table if needed. */
-+ microblaze_elf_howto_init ();
-+
-+ return microblaze_elf_howto_table [(int) microblaze_reloc];
-+};
-+
-+static reloc_howto_type *
-+microblaze_elf_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-+ const char *r_name)
-+{
-+ unsigned int i;
-+
-+ for (i = 0; i < NUM_ELEM (microblaze_elf_howto_raw); i++)
-+ if (microblaze_elf_howto_raw[i].name != NULL
-+ && strcasecmp (microblaze_elf_howto_raw[i].name, r_name) == 0)
-+ return &microblaze_elf_howto_raw[i];
-+
-+ return NULL;
-+}
-+
-+/* Set the howto pointer for a RCE ELF reloc. */
-+
-+static bfd_boolean
-+microblaze_elf_info_to_howto (bfd * abfd,
-+ arelent * cache_ptr,
-+ Elf_Internal_Rela * dst)
-+{
-+ unsigned int r_type;
-+
-+ if (!microblaze_elf_howto_table [R_MICROBLAZE_32])
-+ /* Initialize howto table if needed. */
-+ microblaze_elf_howto_init ();
-+
-+ r_type = ELF64_R_TYPE (dst->r_info);
-+ if (r_type >= R_MICROBLAZE_max)
-+ {
-+ /* xgettext:c-format */
-+ _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
-+ abfd, r_type);
-+ bfd_set_error (bfd_error_bad_value);
-+ return FALSE;
-+ }
-+
-+ cache_ptr->howto = microblaze_elf_howto_table [r_type];
-+ return TRUE;
-+}
-+
-+/* Microblaze ELF local labels start with 'L.' or '$L', not '.L'. */
-+
-+static bfd_boolean
-+microblaze_elf_is_local_label_name (bfd *abfd, const char *name)
-+{
-+ if (name[0] == 'L' && name[1] == '.')
-+ return TRUE;
-+
-+ if (name[0] == '$' && name[1] == 'L')
-+ return TRUE;
-+
-+ /* With gcc, the labels go back to starting with '.', so we accept
-+ the generic ELF local label syntax as well. */
-+ return _bfd_elf_is_local_label_name (abfd, name);
-+}
-+
-+/* The microblaze linker (like many others) needs to keep track of
-+ the number of relocs that it decides to copy as dynamic relocs in
-+ check_relocs for each symbol. This is so that it can later discard
-+ them if they are found to be unnecessary. We store the information
-+ in a field extending the regular ELF linker hash table. */
-+
-+struct elf64_mb_dyn_relocs
-+{
-+ struct elf64_mb_dyn_relocs *next;
-+
-+ /* The input section of the reloc. */
-+ asection *sec;
-+
-+ /* Total number of relocs copied for the input section. */
-+ bfd_size_type count;
-+
-+ /* Number of pc-relative relocs copied for the input section. */
-+ bfd_size_type pc_count;
-+};
-+
-+/* ELF linker hash entry. */
-+
-+struct elf64_mb_link_hash_entry
-+{
-+ struct elf_link_hash_entry elf;
-+
-+ /* Track dynamic relocs copied for this symbol. */
-+ struct elf64_mb_dyn_relocs *dyn_relocs;
-+
-+ /* TLS Reference Types for the symbol; Updated by check_relocs */
-+#define TLS_GD 1 /* GD reloc. */
-+#define TLS_LD 2 /* LD reloc. */
-+#define TLS_TPREL 4 /* TPREL reloc, => IE. */
-+#define TLS_DTPREL 8 /* DTPREL reloc, => LD. */
-+#define TLS_TLS 16 /* Any TLS reloc. */
-+ unsigned char tls_mask;
-+
-+};
-+
-+#define IS_TLS_GD(x) (x == (TLS_TLS | TLS_GD))
-+#define IS_TLS_LD(x) (x == (TLS_TLS | TLS_LD))
-+#define IS_TLS_DTPREL(x) (x == (TLS_TLS | TLS_DTPREL))
-+#define IS_TLS_NONE(x) (x == 0)
-+
-+#define elf64_mb_hash_entry(ent) ((struct elf64_mb_link_hash_entry *)(ent))
-+
-+/* ELF linker hash table. */
-+
-+struct elf64_mb_link_hash_table
-+{
-+ struct elf_link_hash_table elf;
-+
-+ /* Short-cuts to get to dynamic linker sections. */
-+ asection *sgot;
-+ asection *sgotplt;
-+ asection *srelgot;
-+ asection *splt;
-+ asection *srelplt;
-+ asection *sdynbss;
-+ asection *srelbss;
-+
-+ /* Small local sym to section mapping cache. */
-+ struct sym_cache sym_sec;
-+
-+ /* TLS Local Dynamic GOT Entry */
-+ union {
-+ bfd_signed_vma refcount;
-+ bfd_vma offset;
-+ } tlsld_got;
-+};
-+
-+/* Nonzero if this section has TLS related relocations. */
-+#define has_tls_reloc sec_flg0
-+
-+/* Get the ELF linker hash table from a link_info structure. */
-+
-+#define elf64_mb_hash_table(p) \
-+ (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \
-+ == MICROBLAZE_ELF_DATA ? ((struct elf64_mb_link_hash_table *) ((p)->hash)) : NULL)
-+
-+/* Create an entry in a microblaze ELF linker hash table. */
-+
-+static struct bfd_hash_entry *
-+link_hash_newfunc (struct bfd_hash_entry *entry,
-+ struct bfd_hash_table *table,
-+ const char *string)
-+{
-+ /* Allocate the structure if it has not already been allocated by a
-+ subclass. */
-+ if (entry == NULL)
-+ {
-+ entry = bfd_hash_allocate (table,
-+ sizeof (struct elf64_mb_link_hash_entry));
-+ if (entry == NULL)
-+ return entry;
-+ }
-+
-+ /* Call the allocation method of the superclass. */
-+ entry = _bfd_elf_link_hash_newfunc (entry, table, string);
-+ if (entry != NULL)
-+ {
-+ struct elf64_mb_link_hash_entry *eh;
-+
-+ eh = (struct elf64_mb_link_hash_entry *) entry;
-+ eh->tls_mask = 0;
-+ }
-+
-+ return entry;
-+}
-+
-+/* Create a mb ELF linker hash table. */
-+
-+static struct bfd_link_hash_table *
-+microblaze_elf_link_hash_table_create (bfd *abfd)
-+{
-+ struct elf64_mb_link_hash_table *ret;
-+ size_t amt = sizeof (struct elf64_mb_link_hash_table);
-+
-+ ret = (struct elf64_mb_link_hash_table *) bfd_zmalloc (amt);
-+ if (ret == NULL)
-+ return NULL;
-+
-+ if (!_bfd_elf_link_hash_table_init (&ret->elf, abfd, link_hash_newfunc,
-+ sizeof (struct elf64_mb_link_hash_entry),
-+ MICROBLAZE_ELF_DATA))
-+ {
-+ free (ret);
-+ return NULL;
-+ }
-+
-+ return &ret->elf.root;
-+}
-+
-+/* Set the values of the small data pointers. */
-+
-+static void
-+microblaze_elf_final_sdp (struct bfd_link_info *info)
-+{
-+ struct bfd_link_hash_entry *h;
-+
-+ h = bfd_link_hash_lookup (info->hash, RO_SDA_ANCHOR_NAME, FALSE, FALSE, TRUE);
-+ if (h != (struct bfd_link_hash_entry *) NULL
-+ && h->type == bfd_link_hash_defined)
-+ ro_small_data_pointer = (h->u.def.value
-+ + h->u.def.section->output_section->vma
-+ + h->u.def.section->output_offset);
-+
-+ h = bfd_link_hash_lookup (info->hash, RW_SDA_ANCHOR_NAME, FALSE, FALSE, TRUE);
-+ if (h != (struct bfd_link_hash_entry *) NULL
-+ && h->type == bfd_link_hash_defined)
-+ rw_small_data_pointer = (h->u.def.value
-+ + h->u.def.section->output_section->vma
-+ + h->u.def.section->output_offset);
-+}
-+
-+static bfd_vma
-+dtprel_base (struct bfd_link_info *info)
-+{
-+ /* If tls_sec is NULL, we should have signalled an error already. */
-+ if (elf_hash_table (info)->tls_sec == NULL)
-+ return 0;
-+ return elf_hash_table (info)->tls_sec->vma;
-+}
-+
-+/* The size of the thread control block. */
-+#define TCB_SIZE 8
-+
-+/* Output a simple dynamic relocation into SRELOC. */
-+
-+static void
-+microblaze_elf_output_dynamic_relocation (bfd *output_bfd,
-+ asection *sreloc,
-+ unsigned long reloc_index,
-+ unsigned long indx,
-+ int r_type,
-+ bfd_vma offset,
-+ bfd_vma addend)
-+{
-+
-+ Elf_Internal_Rela rel;
-+
-+ rel.r_info = ELF64_R_INFO (indx, r_type);
-+ rel.r_offset = offset;
-+ rel.r_addend = addend;
-+
-+ bfd_elf64_swap_reloca_out (output_bfd, &rel,
-+ (sreloc->contents + reloc_index * sizeof (Elf64_External_Rela)));
-+}
-+
-+/* This code is taken from elf64-m32r.c
-+ There is some attempt to make this function usable for many architectures,
-+ both USE_REL and USE_RELA ['twould be nice if such a critter existed],
-+ if only to serve as a learning tool.
-+
-+ The RELOCATE_SECTION function is called by the new ELF backend linker
-+ to handle the relocations for a section.
-+
-+ The relocs are always passed as Rela structures; if the section
-+ actually uses Rel structures, the r_addend field will always be
-+ zero.
-+
-+ This function is responsible for adjust the section contents as
-+ necessary, and (if using Rela relocs and generating a
-+ relocatable output file) adjusting the reloc addend as
-+ necessary.
-+
-+ This function does not have to worry about setting the reloc
-+ address or the reloc symbol index.
-+
-+ LOCAL_SYMS is a pointer to the swapped in local symbols.
-+
-+ LOCAL_SECTIONS is an array giving the section in the input file
-+ corresponding to the st_shndx field of each local symbol.
-+
-+ The global hash table entry for the global symbols can be found
-+ via elf_sym_hashes (input_bfd).
-+
-+ When generating relocatable output, this function must handle
-+ STB_LOCAL/STT_SECTION symbols specially. The output symbol is
-+ going to be the section symbol corresponding to the output
-+ section, which means that the addend must be adjusted
-+ accordingly. */
-+
-+static bfd_boolean
-+microblaze_elf_relocate_section (bfd *output_bfd,
-+ struct bfd_link_info *info,
-+ bfd *input_bfd,
-+ asection *input_section,
-+ bfd_byte *contents,
-+ Elf_Internal_Rela *relocs,
-+ Elf_Internal_Sym *local_syms,
-+ asection **local_sections)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+ Elf_Internal_Shdr *symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
-+ struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
-+ Elf_Internal_Rela *rel, *relend;
-+ int endian = (bfd_little_endian (output_bfd)) ? 0 : 2;
-+ /* Assume success. */
-+ bfd_boolean ret = TRUE;
-+ asection *sreloc;
-+ bfd_vma *local_got_offsets;
-+ unsigned int tls_type;
-+
-+ if (!microblaze_elf_howto_table[R_MICROBLAZE_max-1])
-+ microblaze_elf_howto_init ();
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ local_got_offsets = elf_local_got_offsets (input_bfd);
-+
-+ sreloc = elf_section_data (input_section)->sreloc;
-+
-+ rel = relocs;
-+ relend = relocs + input_section->reloc_count;
-+ for (; rel < relend; rel++)
-+ {
-+ int r_type;
-+ reloc_howto_type *howto;
-+ unsigned long r_symndx;
-+ bfd_vma addend = rel->r_addend;
-+ bfd_vma offset = rel->r_offset;
-+ struct elf_link_hash_entry *h;
-+ Elf_Internal_Sym *sym;
-+ asection *sec;
-+ const char *sym_name;
-+ bfd_reloc_status_type r = bfd_reloc_ok;
-+ const char *errmsg = NULL;
-+ bfd_boolean unresolved_reloc = FALSE;
-+
-+ h = NULL;
-+ r_type = ELF64_R_TYPE (rel->r_info);
-+ tls_type = 0;
-+
-+ if (r_type < 0 || r_type >= (int) R_MICROBLAZE_max)
-+ {
-+ (*_bfd_error_handler) (_("%s: unknown relocation type %d"),
-+ bfd_get_filename (input_bfd), (int) r_type);
-+ bfd_set_error (bfd_error_bad_value);
-+ ret = FALSE;
-+ continue;
-+ }
-+
-+ howto = microblaze_elf_howto_table[r_type];
-+ r_symndx = ELF64_R_SYM (rel->r_info);
-+
-+ if (bfd_link_relocatable (info))
-+ {
-+ /* This is a relocatable link. We don't have to change
-+ anything, unless the reloc is against a section symbol,
-+ in which case we have to adjust according to where the
-+ section symbol winds up in the output section. */
-+ sec = NULL;
-+ if (r_symndx >= symtab_hdr->sh_info)
-+ /* External symbol. */
-+ continue;
-+
-+ /* Local symbol. */
-+ sym = local_syms + r_symndx;
-+ sym_name = "<local symbol>";
-+ /* STT_SECTION: symbol is associated with a section. */
-+ if (ELF_ST_TYPE (sym->st_info) != STT_SECTION)
-+ /* Symbol isn't associated with a section. Nothing to do. */
-+ continue;
-+
-+ sec = local_sections[r_symndx];
-+ addend += sec->output_offset + sym->st_value;
-+#ifndef USE_REL
-+ /* This can't be done for USE_REL because it doesn't mean anything
-+ and elf_link_input_bfd asserts this stays zero. */
-+ /* rel->r_addend = addend; */
-+#endif
-+
-+#ifndef USE_REL
-+ /* Addends are stored with relocs. We're done. */
-+ continue;
-+#else /* USE_REL */
-+ /* If partial_inplace, we need to store any additional addend
-+ back in the section. */
-+ if (!howto->partial_inplace)
-+ continue;
-+ /* ??? Here is a nice place to call a special_function like handler. */
-+ r = _bfd_relocate_contents (howto, input_bfd, addend,
-+ contents + offset);
-+#endif /* USE_REL */
-+ }
-+ else
-+ {
-+ bfd_vma relocation;
-+ bfd_boolean resolved_to_zero;
-+
-+ /* This is a final link. */
-+ sym = NULL;
-+ sec = NULL;
-+ unresolved_reloc = FALSE;
-+
-+ if (r_symndx < symtab_hdr->sh_info)
-+ {
-+ /* Local symbol. */
-+ sym = local_syms + r_symndx;
-+ sec = local_sections[r_symndx];
-+ if (sec == 0)
-+ continue;
-+ sym_name = "<local symbol>";
-+ relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
-+ /* r_addend may have changed if the reference section was
-+ a merge section. */
-+ addend = rel->r_addend;
-+ }
-+ else
-+ {
-+ /* External symbol. */
-+ bfd_boolean warned ATTRIBUTE_UNUSED;
-+ bfd_boolean ignored ATTRIBUTE_UNUSED;
-+
-+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
-+ r_symndx, symtab_hdr, sym_hashes,
-+ h, sec, relocation,
-+ unresolved_reloc, warned, ignored);
-+ sym_name = h->root.root.string;
-+ }
-+
-+ /* Sanity check the address. */
-+ if (offset > bfd_get_section_limit (input_bfd, input_section))
-+ {
-+ r = bfd_reloc_outofrange;
-+ goto check_reloc;
-+ }
-+
-+ resolved_to_zero = (h != NULL
-+ && UNDEFWEAK_NO_DYNAMIC_RELOC (info, h));
-+
-+ switch ((int) r_type)
-+ {
-+ case (int) R_MICROBLAZE_SRO32 :
-+ {
-+ const char *name;
-+
-+ /* Only relocate if the symbol is defined. */
-+ if (sec)
-+ {
-+ name = bfd_section_name (sec);
-+
-+ if (strcmp (name, ".sdata2") == 0
-+ || strcmp (name, ".sbss2") == 0)
-+ {
-+ if (ro_small_data_pointer == 0)
-+ microblaze_elf_final_sdp (info);
-+ if (ro_small_data_pointer == 0)
-+ {
-+ ret = FALSE;
-+ r = bfd_reloc_undefined;
-+ goto check_reloc;
-+ }
-+
-+ /* At this point `relocation' contains the object's
-+ address. */
-+ relocation -= ro_small_data_pointer;
-+ /* Now it contains the offset from _SDA2_BASE_. */
-+ r = _bfd_final_link_relocate (howto, input_bfd,
-+ input_section,
-+ contents, offset,
-+ relocation, addend);
-+ }
-+ else
-+ {
-+ _bfd_error_handler
-+ /* xgettext:c-format */
-+ (_("%pB: the target (%s) of an %s relocation"
-+ " is in the wrong section (%pA)"),
-+ input_bfd,
-+ sym_name,
-+ microblaze_elf_howto_table[(int) r_type]->name,
-+ sec);
-+ /*bfd_set_error (bfd_error_bad_value); ??? why? */
-+ ret = FALSE;
-+ continue;
-+ }
-+ }
-+ }
-+ break;
-+
-+ case (int) R_MICROBLAZE_SRW32 :
-+ {
-+ const char *name;
-+
-+ /* Only relocate if the symbol is defined. */
-+ if (sec)
-+ {
-+ name = bfd_section_name (sec);
-+
-+ if (strcmp (name, ".sdata") == 0
-+ || strcmp (name, ".sbss") == 0)
-+ {
-+ if (rw_small_data_pointer == 0)
-+ microblaze_elf_final_sdp (info);
-+ if (rw_small_data_pointer == 0)
-+ {
-+ ret = FALSE;
-+ r = bfd_reloc_undefined;
-+ goto check_reloc;
-+ }
-+
-+ /* At this point `relocation' contains the object's
-+ address. */
-+ relocation -= rw_small_data_pointer;
-+ /* Now it contains the offset from _SDA_BASE_. */
-+ r = _bfd_final_link_relocate (howto, input_bfd,
-+ input_section,
-+ contents, offset,
-+ relocation, addend);
-+ }
-+ else
-+ {
-+ _bfd_error_handler
-+ /* xgettext:c-format */
-+ (_("%pB: the target (%s) of an %s relocation"
-+ " is in the wrong section (%pA)"),
-+ input_bfd,
-+ sym_name,
-+ microblaze_elf_howto_table[(int) r_type]->name,
-+ sec);
-+ /*bfd_set_error (bfd_error_bad_value); ??? why? */
-+ ret = FALSE;
-+ continue;
-+ }
-+ }
-+ }
-+ break;
-+
-+ case (int) R_MICROBLAZE_32_SYM_OP_SYM:
-+ break; /* Do nothing. */
-+
-+ case (int) R_MICROBLAZE_GOTPC_64:
-+ relocation = htab->sgotplt->output_section->vma
-+ + htab->sgotplt->output_offset;
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ relocation += addend;
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, relocation & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ break;
-+
-+ case (int) R_MICROBLAZE_PLT_64:
-+ {
-+ bfd_vma immediate;
-+ if (htab->splt != NULL && h != NULL
-+ && h->plt.offset != (bfd_vma) -1)
-+ {
-+ relocation = (htab->splt->output_section->vma
-+ + htab->splt->output_offset
-+ + h->plt.offset);
-+ unresolved_reloc = FALSE;
-+ immediate = relocation - (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ bfd_put_16 (input_bfd, (immediate >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, immediate & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ }
-+ else
-+ {
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ immediate = relocation;
-+ bfd_put_16 (input_bfd, (immediate >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, immediate & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ }
-+ break;
-+ }
-+
-+ case (int) R_MICROBLAZE_TLSGD:
-+ tls_type = (TLS_TLS | TLS_GD);
-+ goto dogot;
-+ case (int) R_MICROBLAZE_TLSLD:
-+ tls_type = (TLS_TLS | TLS_LD);
-+ dogot:
-+ case (int) R_MICROBLAZE_GOT_64:
-+ {
-+ bfd_vma *offp;
-+ bfd_vma off, off2;
-+ unsigned long indx;
-+ bfd_vma static_value;
-+
-+ bfd_boolean need_relocs = FALSE;
-+ if (htab->sgot == NULL)
-+ abort ();
-+
-+ indx = 0;
-+ offp = NULL;
-+
-+ /* 1. Identify GOT Offset;
-+ 2. Compute Static Values
-+ 3. Process Module Id, Process Offset
-+ 4. Fixup Relocation with GOT offset value. */
-+
-+ /* 1. Determine GOT Offset to use : TLS_LD, global, local */
-+ if (IS_TLS_LD (tls_type))
-+ offp = &htab->tlsld_got.offset;
-+ else if (h != NULL)
-+ {
-+ if (htab->sgotplt != NULL && h->got.offset != (bfd_vma) -1)
-+ offp = &h->got.offset;
-+ else
-+ abort ();
-+ }
-+ else
-+ {
-+ if (local_got_offsets == NULL)
-+ abort ();
-+ offp = &local_got_offsets[r_symndx];
-+ }
-+
-+ if (!offp)
-+ abort ();
-+
-+ off = (*offp) & ~1;
-+ off2 = off;
-+
-+ if (IS_TLS_LD(tls_type) || IS_TLS_GD(tls_type))
-+ off2 = off + 4;
-+
-+ /* Symbol index to use for relocs */
-+ if (h != NULL)
-+ {
-+ bfd_boolean dyn =
-+ elf_hash_table (info)->dynamic_sections_created;
-+
-+ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn,
-+ bfd_link_pic (info),
-+ h)
-+ && (!bfd_link_pic (info)
-+ || !SYMBOL_REFERENCES_LOCAL (info, h)))
-+ indx = h->dynindx;
-+ }
-+
-+ /* Need to generate relocs ? */
-+ if ((bfd_link_pic (info) || indx != 0)
-+ && (h == NULL
-+ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
-+ && !resolved_to_zero)
-+ || h->root.type != bfd_link_hash_undefweak))
-+ need_relocs = TRUE;
-+
-+ /* 2. Compute/Emit Static value of r-expression */
-+ static_value = relocation + addend;
-+
-+ /* 3. Process module-id and offset */
-+ if (! ((*offp) & 1) )
-+ {
-+ bfd_vma got_offset;
-+
-+ got_offset = (htab->sgot->output_section->vma
-+ + htab->sgot->output_offset
-+ + off);
-+
-+ /* Process module-id */
-+ if (IS_TLS_LD(tls_type))
-+ {
-+ if (! bfd_link_pic (info))
-+ {
-+ bfd_put_32 (output_bfd, 1, htab->sgot->contents + off);
-+ }
-+ else
-+ {
-+ microblaze_elf_output_dynamic_relocation (output_bfd,
-+ htab->srelgot, htab->srelgot->reloc_count++,
-+ /* symindex= */ 0, R_MICROBLAZE_TLSDTPMOD32,
-+ got_offset, 0);
-+ }
-+ }
-+ else if (IS_TLS_GD(tls_type))
-+ {
-+ if (! need_relocs)
-+ {
-+ bfd_put_32 (output_bfd, 1, htab->sgot->contents + off);
-+ }
-+ else
-+ {
-+ microblaze_elf_output_dynamic_relocation (output_bfd,
-+ htab->srelgot,
-+ htab->srelgot->reloc_count++,
-+ /* symindex= */ indx, R_MICROBLAZE_TLSDTPMOD32,
-+ got_offset, indx ? 0 : static_value);
-+ }
-+ }
-+
-+ /* Process Offset */
-+ if (htab->srelgot == NULL)
-+ abort ();
-+
-+ got_offset = (htab->sgot->output_section->vma
-+ + htab->sgot->output_offset
-+ + off2);
-+ if (IS_TLS_LD(tls_type))
-+ {
-+ /* For LD, offset should be 0 */
-+ *offp |= 1;
-+ bfd_put_32 (output_bfd, 0, htab->sgot->contents + off2);
-+ }
-+ else if (IS_TLS_GD(tls_type))
-+ {
-+ *offp |= 1;
-+ static_value -= dtprel_base(info);
-+ if (need_relocs)
-+ microblaze_elf_output_dynamic_relocation
-+ (output_bfd,
-+ htab->elf.srelgot,
-+ htab->elf.srelgot->reloc_count++,
-+ /* symindex= */ indx, R_MICROBLAZE_TLSDTPREL32,
-+ got_offset, indx ? 0 : static_value);
-+ else
-+ bfd_put_32 (output_bfd, static_value,
-+ htab->elf.sgot->contents + off2);
-+ }
-+ else
-+ {
-+ bfd_put_32 (output_bfd, static_value,
-+ htab->elf.sgot->contents + off2);
-+
-+ /* Relocs for dyn symbols generated by
-+ finish_dynamic_symbols */
-+ if (bfd_link_pic (info) && h == NULL)
-+ {
-+ *offp |= 1;
-+ microblaze_elf_output_dynamic_relocation
-+ (output_bfd,
-+ htab->elf.srelgot,
-+ htab->elf.srelgot->reloc_count++,
-+ /* symindex= */ indx, R_MICROBLAZE_REL,
-+ got_offset, static_value);
-+ }
-+ }
-+ }
-+
-+ /* 4. Fixup Relocation with GOT offset value
-+ Compute relative address of GOT entry for applying
-+ the current relocation */
-+ relocation = htab->elf.sgot->output_section->vma
-+ + htab->elf.sgot->output_offset
-+ + off
-+ - htab->elf.sgotplt->output_section->vma
-+ - htab->elf.sgotplt->output_offset;
-+
-+ /* Apply Current Relocation */
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, relocation & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+
-+ unresolved_reloc = FALSE;
-+ break;
-+ }
-+
-+ case (int) R_MICROBLAZE_GOTOFF_64:
-+ {
-+ bfd_vma immediate;
-+ unsigned short lo, high;
-+ relocation += addend;
-+ relocation -= (htab->elf.sgotplt->output_section->vma
-+ + htab->elf.sgotplt->output_offset);
-+ /* Write this value into correct location. */
-+ immediate = relocation;
-+ lo = immediate & 0x0000ffff;
-+ high = (immediate >> 16) & 0x0000ffff;
-+ bfd_put_16 (input_bfd, high, contents + offset + endian);
-+ bfd_put_16 (input_bfd, lo, contents + offset + INST_WORD_SIZE + endian);
-+ break;
-+ }
-+
-+ case (int) R_MICROBLAZE_GOTOFF_32:
-+ {
-+ relocation += addend;
-+ relocation -= (htab->elf.sgotplt->output_section->vma
-+ + htab->elf.sgotplt->output_offset);
-+ /* Write this value into correct location. */
-+ bfd_put_32 (input_bfd, relocation, contents + offset);
-+ break;
-+ }
-+
-+ case (int) R_MICROBLAZE_TLSDTPREL64:
-+ relocation += addend;
-+ relocation -= dtprel_base(info);
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, relocation & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ break;
-+ case (int) R_MICROBLAZE_64_PCREL :
-+ case (int) R_MICROBLAZE_64:
-+ case (int) R_MICROBLAZE_32:
-+ {
-+ /* r_symndx will be STN_UNDEF (zero) only for relocs against symbols
-+ from removed linkonce sections, or sections discarded by
-+ a linker script. */
-+ if (r_symndx == STN_UNDEF || (input_section->flags & SEC_ALLOC) == 0)
-+ {
-+ relocation += addend;
-+ if (r_type == R_MICROBLAZE_32)
-+ bfd_put_32 (input_bfd, relocation, contents + offset);
-+ else
-+ {
-+ if (r_type == R_MICROBLAZE_64_PCREL)
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, relocation & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ }
-+ break;
-+ }
-+
-+ if ((bfd_link_pic (info)
-+ && (h == NULL
-+ || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
-+ && !resolved_to_zero)
-+ || h->root.type != bfd_link_hash_undefweak)
-+ && (!howto->pc_relative
-+ || (h != NULL
-+ && h->dynindx != -1
-+ && (!info->symbolic
-+ || !h->def_regular))))
-+ || (!bfd_link_pic (info)
-+ && h != NULL
-+ && h->dynindx != -1
-+ && !h->non_got_ref
-+ && ((h->def_dynamic
-+ && !h->def_regular)
-+ || h->root.type == bfd_link_hash_undefweak
-+ || h->root.type == bfd_link_hash_undefined)))
-+ {
-+ Elf_Internal_Rela outrel;
-+ bfd_byte *loc;
-+ bfd_boolean skip;
-+
-+ /* When generating a shared object, these relocations
-+ are copied into the output file to be resolved at run
-+ time. */
-+
-+ BFD_ASSERT (sreloc != NULL);
-+
-+ skip = FALSE;
-+
-+ outrel.r_offset =
-+ _bfd_elf_section_offset (output_bfd, info, input_section,
-+ rel->r_offset);
-+ if (outrel.r_offset == (bfd_vma) -1)
-+ skip = TRUE;
-+ else if (outrel.r_offset == (bfd_vma) -2)
-+ skip = TRUE;
-+ outrel.r_offset += (input_section->output_section->vma
-+ + input_section->output_offset);
-+
-+ if (skip)
-+ memset (&outrel, 0, sizeof outrel);
-+ /* h->dynindx may be -1 if the symbol was marked to
-+ become local. */
-+ else if (h != NULL
-+ && ((! info->symbolic && h->dynindx != -1)
-+ || !h->def_regular))
-+ {
-+ BFD_ASSERT (h->dynindx != -1);
-+ outrel.r_info = ELF64_R_INFO (h->dynindx, r_type);
-+ outrel.r_addend = addend;
-+ }
-+ else
-+ {
-+ if (r_type == R_MICROBLAZE_32)
-+ {
-+ outrel.r_info = ELF64_R_INFO (0, R_MICROBLAZE_REL);
-+ outrel.r_addend = relocation + addend;
-+ }
-+ else
-+ {
-+ BFD_FAIL ();
-+ (*_bfd_error_handler)
-+ (_("%B: probably compiled without -fPIC?"),
-+ input_bfd);
-+ bfd_set_error (bfd_error_bad_value);
-+ return FALSE;
-+ }
-+ }
-+
-+ loc = sreloc->contents;
-+ loc += sreloc->reloc_count++ * sizeof (Elf64_External_Rela);
-+ bfd_elf64_swap_reloca_out (output_bfd, &outrel, loc);
-+ break;
-+ }
-+ else
-+ {
-+ relocation += addend;
-+ if (r_type == R_MICROBLAZE_32)
-+ bfd_put_32 (input_bfd, relocation, contents + offset);
-+ else
-+ {
-+ if (r_type == R_MICROBLAZE_64_PCREL)
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
-+ bfd_put_16 (input_bfd, relocation & 0xffff,
-+ contents + offset + endian + INST_WORD_SIZE);
-+ }
-+ break;
-+ }
-+ }
-+
-+ default :
-+ r = _bfd_final_link_relocate (howto, input_bfd, input_section,
-+ contents, offset,
-+ relocation, addend);
-+ break;
-+ }
-+ }
-+
-+ check_reloc:
-+
-+ if (r != bfd_reloc_ok)
-+ {
-+ /* FIXME: This should be generic enough to go in a utility. */
-+ const char *name;
-+
-+ if (h != NULL)
-+ name = h->root.root.string;
-+ else
-+ {
-+ name = (bfd_elf_string_from_elf_section
-+ (input_bfd, symtab_hdr->sh_link, sym->st_name));
-+ if (name == NULL || *name == '\0')
-+ name = bfd_section_name (sec);
-+ }
-+
-+ if (errmsg != NULL)
-+ goto common_error;
-+
-+ switch (r)
-+ {
-+ case bfd_reloc_overflow:
-+ (*info->callbacks->reloc_overflow)
-+ (info, (h ? &h->root : NULL), name, howto->name,
-+ (bfd_vma) 0, input_bfd, input_section, offset);
-+ break;
-+
-+ case bfd_reloc_undefined:
-+ (*info->callbacks->undefined_symbol)
-+ (info, name, input_bfd, input_section, offset, TRUE);
-+ break;
-+
-+ case bfd_reloc_outofrange:
-+ errmsg = _("internal error: out of range error");
-+ goto common_error;
-+
-+ case bfd_reloc_notsupported:
-+ errmsg = _("internal error: unsupported relocation error");
-+ goto common_error;
-+
-+ case bfd_reloc_dangerous:
-+ errmsg = _("internal error: dangerous error");
-+ goto common_error;
-+
-+ default:
-+ errmsg = _("internal error: unknown error");
-+ /* Fall through. */
-+ common_error:
-+ (*info->callbacks->warning) (info, errmsg, name, input_bfd,
-+ input_section, offset);
-+ break;
-+ }
-+ }
-+ }
-+
-+ return ret;
-+}
-+
-+/* Merge backend specific data from an object file to the output
-+ object file when linking.
-+
-+ Note: We only use this hook to catch endian mismatches. */
-+static bfd_boolean
-+microblaze_elf_merge_private_bfd_data (bfd * ibfd, bfd * obfd)
-+{
-+ /* Check if we have the same endianess. */
-+ if (! _bfd_generic_verify_endian_match (ibfd, obfd))
-+ return FALSE;
-+
-+ return TRUE;
-+}
-+
-+
-+/* Calculate fixup value for reference. */
-+
-+static int
-+calc_fixup (bfd_vma start, bfd_vma size, asection *sec)
-+{
-+ bfd_vma end = start + size;
-+ int i, fixup = 0;
-+
-+ if (sec == NULL || sec->relax == NULL)
-+ return 0;
-+
-+ /* Look for addr in relax table, total fixup value. */
-+ for (i = 0; i < sec->relax_count; i++)
-+ {
-+ if (end <= sec->relax[i].addr)
-+ break;
-+ if ((end != start) && (start > sec->relax[i].addr))
-+ continue;
-+ fixup += sec->relax[i].size;
-+ }
-+ return fixup;
-+}
-+
-+/* Read-modify-write into the bfd, an immediate value into appropriate fields of
-+ a 32-bit instruction. */
-+static void
-+microblaze_bfd_write_imm_value_32 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
-+{
-+ unsigned long instr = bfd_get_32 (abfd, bfd_addr);
-+ instr &= ~0x0000ffff;
-+ instr |= (val & 0x0000ffff);
-+ bfd_put_32 (abfd, instr, bfd_addr);
-+}
-+
-+/* Read-modify-write into the bfd, an immediate value into appropriate fields of
-+ two consecutive 32-bit instructions. */
-+static void
-+microblaze_bfd_write_imm_value_64 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
-+{
-+ unsigned long instr_hi;
-+ unsigned long instr_lo;
-+
-+ instr_hi = bfd_get_32 (abfd, bfd_addr);
-+ instr_hi &= ~0x0000ffff;
-+ instr_hi |= ((val >> 16) & 0x0000ffff);
-+ bfd_put_32 (abfd, instr_hi, bfd_addr);
-+
-+ instr_lo = bfd_get_32 (abfd, bfd_addr + INST_WORD_SIZE);
-+ instr_lo &= ~0x0000ffff;
-+ instr_lo |= (val & 0x0000ffff);
-+ bfd_put_32 (abfd, instr_lo, bfd_addr + INST_WORD_SIZE);
-+}
-+
-+static bfd_boolean
-+microblaze_elf_relax_section (bfd *abfd,
-+ asection *sec,
-+ struct bfd_link_info *link_info,
-+ bfd_boolean *again)
-+{
-+ Elf_Internal_Shdr *symtab_hdr;
-+ Elf_Internal_Rela *internal_relocs;
-+ Elf_Internal_Rela *free_relocs = NULL;
-+ Elf_Internal_Rela *irel, *irelend;
-+ bfd_byte *contents = NULL;
-+ bfd_byte *free_contents = NULL;
-+ int rel_count;
-+ unsigned int shndx;
-+ int i, sym_index;
-+ asection *o;
-+ struct elf_link_hash_entry *sym_hash;
-+ Elf_Internal_Sym *isymbuf, *isymend;
-+ Elf_Internal_Sym *isym;
-+ int symcount;
-+ int offset;
-+ bfd_vma src, dest;
-+
-+ /* We only do this once per section. We may be able to delete some code
-+ by running multiple passes, but it is not worth it. */
-+ *again = FALSE;
-+
-+ /* Only do this for a text section. */
-+ if (bfd_link_relocatable (link_info)
-+ || (sec->flags & SEC_RELOC) == 0
-+ || (sec->reloc_count == 0)
-+ || (sec->flags & SEC_CODE) == 0)
-+ return TRUE;
-+
-+ BFD_ASSERT ((sec->size > 0) || (sec->rawsize > 0));
-+
-+ /* If this is the first time we have been called for this section,
-+ initialize the cooked size. */
-+ if (sec->size == 0)
-+ sec->size = sec->rawsize;
-+
-+ /* Get symbols for this section. */
-+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
-+ isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents;
-+ symcount = symtab_hdr->sh_size / sizeof (Elf64_External_Sym);
-+ if (isymbuf == NULL)
-+ isymbuf = bfd_elf_get_elf_syms (abfd, symtab_hdr, symcount,
-+ 0, NULL, NULL, NULL);
-+ BFD_ASSERT (isymbuf != NULL);
-+
-+ internal_relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL, link_info->keep_memory);
-+ if (internal_relocs == NULL)
-+ goto error_return;
-+ if (! link_info->keep_memory)
-+ free_relocs = internal_relocs;
-+
-+ sec->relax = (struct relax_table *) bfd_malloc ((sec->reloc_count + 1)
-+ * sizeof (struct relax_table));
-+ if (sec->relax == NULL)
-+ goto error_return;
-+ sec->relax_count = 0;
-+
-+ irelend = internal_relocs + sec->reloc_count;
-+ rel_count = 0;
-+ for (irel = internal_relocs; irel < irelend; irel++, rel_count++)
-+ {
-+ bfd_vma symval;
-+ if ((ELF64_R_TYPE (irel->r_info) != (int) R_MICROBLAZE_64_PCREL)
-+ && (ELF64_R_TYPE (irel->r_info) != (int) R_MICROBLAZE_64 ))
-+ continue; /* Can't delete this reloc. */
-+
-+ /* Get the section contents. */
-+ if (contents == NULL)
-+ {
-+ if (elf_section_data (sec)->this_hdr.contents != NULL)
-+ contents = elf_section_data (sec)->this_hdr.contents;
-+ else
-+ {
-+ contents = (bfd_byte *) bfd_malloc (sec->size);
-+ if (contents == NULL)
-+ goto error_return;
-+ free_contents = contents;
-+
-+ if (!bfd_get_section_contents (abfd, sec, contents,
-+ (file_ptr) 0, sec->size))
-+ goto error_return;
-+ elf_section_data (sec)->this_hdr.contents = contents;
-+ }
-+ }
-+
-+ /* Get the value of the symbol referred to by the reloc. */
-+ if (ELF64_R_SYM (irel->r_info) < symtab_hdr->sh_info)
-+ {
-+ /* A local symbol. */
-+ asection *sym_sec;
-+
-+ isym = isymbuf + ELF64_R_SYM (irel->r_info);
-+ if (isym->st_shndx == SHN_UNDEF)
-+ sym_sec = bfd_und_section_ptr;
-+ else if (isym->st_shndx == SHN_ABS)
-+ sym_sec = bfd_abs_section_ptr;
-+ else if (isym->st_shndx == SHN_COMMON)
-+ sym_sec = bfd_com_section_ptr;
-+ else
-+ sym_sec = bfd_section_from_elf_index (abfd, isym->st_shndx);
-+
-+ symval = _bfd_elf_rela_local_sym (abfd, isym, &sym_sec, irel);
-+ }
-+ else
-+ {
-+ unsigned long indx;
-+ struct elf_link_hash_entry *h;
-+
-+ indx = ELF64_R_SYM (irel->r_info) - symtab_hdr->sh_info;
-+ h = elf_sym_hashes (abfd)[indx];
-+ BFD_ASSERT (h != NULL);
-+
-+ if (h->root.type != bfd_link_hash_defined
-+ && h->root.type != bfd_link_hash_defweak)
-+ /* This appears to be a reference to an undefined
-+ symbol. Just ignore it--it will be caught by the
-+ regular reloc processing. */
-+ continue;
-+
-+ symval = (h->root.u.def.value
-+ + h->root.u.def.section->output_section->vma
-+ + h->root.u.def.section->output_offset);
-+ }
-+
-+ /* If this is a PC-relative reloc, subtract the instr offset from
-+ the symbol value. */
-+ if (ELF64_R_TYPE (irel->r_info) == (int) R_MICROBLAZE_64_PCREL)
-+ {
-+ symval = symval + irel->r_addend
-+ - (irel->r_offset
-+ + sec->output_section->vma
-+ + sec->output_offset);
-+ }
-+ else
-+ symval += irel->r_addend;
-+
-+ if ((symval & 0xffff8000) == 0)
-+ {
-+ /* We can delete this instruction. */
-+ sec->relax[sec->relax_count].addr = irel->r_offset;
-+ sec->relax[sec->relax_count].size = INST_WORD_SIZE;
-+ sec->relax_count++;
-+
-+ /* Rewrite relocation type. */
-+ switch ((enum elf_microblaze_reloc_type) ELF64_R_TYPE (irel->r_info))
-+ {
-+ case R_MICROBLAZE_64_PCREL:
-+ irel->r_info = ELF64_R_INFO (ELF64_R_SYM (irel->r_info),
-+ (int) R_MICROBLAZE_32_PCREL_LO);
-+ break;
-+ case R_MICROBLAZE_64:
-+ irel->r_info = ELF64_R_INFO (ELF64_R_SYM (irel->r_info),
-+ (int) R_MICROBLAZE_32_LO);
-+ break;
-+ default:
-+ /* Cannot happen. */
-+ BFD_ASSERT (FALSE);
-+ }
-+ }
-+ } /* Loop through all relocations. */
-+
-+ /* Loop through the relocs again, and see if anything needs to change. */
-+ if (sec->relax_count > 0)
-+ {
-+ shndx = _bfd_elf_section_from_bfd_section (abfd, sec);
-+ rel_count = 0;
-+ sec->relax[sec->relax_count].addr = sec->size;
-+
-+ for (irel = internal_relocs; irel < irelend; irel++, rel_count++)
-+ {
-+ bfd_vma nraddr;
-+
-+ /* Get the new reloc address. */
-+ nraddr = irel->r_offset - calc_fixup (irel->r_offset, 0, sec);
-+ switch ((enum elf_microblaze_reloc_type) ELF64_R_TYPE (irel->r_info))
-+ {
-+ default:
-+ break;
-+ case R_MICROBLAZE_64_PCREL:
-+ break;
-+ case R_MICROBLAZE_64:
-+ case R_MICROBLAZE_32_LO:
-+ /* If this reloc is against a symbol defined in this
-+ section, we must check the addend to see it will put the value in
-+ range to be adjusted, and hence must be changed. */
-+ if (ELF64_R_SYM (irel->r_info) < symtab_hdr->sh_info)
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irel->r_info);
-+ /* Only handle relocs against .text. */
-+ if (isym->st_shndx == shndx
-+ && ELF64_ST_TYPE (isym->st_info) == STT_SECTION)
-+ irel->r_addend -= calc_fixup (irel->r_addend, 0, sec);
-+ }
-+ break;
-+ case R_MICROBLAZE_NONE:
-+ case R_MICROBLAZE_32_NONE:
-+ {
-+ /* This was a PC-relative instruction that was
-+ completely resolved. */
-+ int sfix, efix;
-+ unsigned int val;
-+ bfd_vma target_address;
-+ target_address = irel->r_addend + irel->r_offset;
-+ sfix = calc_fixup (irel->r_offset, 0, sec);
-+ efix = calc_fixup (target_address, 0, sec);
-+
-+ /* Validate the in-band val. */
-+ val = bfd_get_32 (abfd, contents + irel->r_offset);
-+ if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
-+ }
-+ irel->r_addend -= (efix - sfix);
-+ /* Should use HOWTO. */
-+ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
-+ }
-+ break;
-+ case R_MICROBLAZE_64_NONE:
-+ {
-+ /* This was a PC-relative 64-bit instruction that was
-+ completely resolved. */
-+ int sfix, efix;
-+ bfd_vma target_address;
-+ target_address = irel->r_addend + irel->r_offset + INST_WORD_SIZE;
-+ sfix = calc_fixup (irel->r_offset + INST_WORD_SIZE, 0, sec);
-+ efix = calc_fixup (target_address, 0, sec);
-+ irel->r_addend -= (efix - sfix);
-+ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset
-+ + INST_WORD_SIZE, irel->r_addend);
-+ }
-+ break;
-+ }
-+ irel->r_offset = nraddr;
-+ } /* Change all relocs in this section. */
-+
-+ /* Look through all other sections. */
-+ for (o = abfd->sections; o != NULL; o = o->next)
-+ {
-+ Elf_Internal_Rela *irelocs;
-+ Elf_Internal_Rela *irelscan, *irelscanend;
-+ bfd_byte *ocontents;
-+
-+ if (o == sec
-+ || (o->flags & SEC_RELOC) == 0
-+ || o->reloc_count == 0)
-+ continue;
-+
-+ /* We always cache the relocs. Perhaps, if info->keep_memory is
-+ FALSE, we should free them, if we are permitted to. */
-+
-+ irelocs = _bfd_elf_link_read_relocs (abfd, o, NULL, NULL, TRUE);
-+ if (irelocs == NULL)
-+ goto error_return;
-+
-+ ocontents = NULL;
-+ irelscanend = irelocs + o->reloc_count;
-+ for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
-+ {
-+ if (1 && ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_NONE)
-+ {
-+ unsigned int val;
-+
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* hax: We only do the following fixup for debug location lists. */
-+ if (strcmp(".debug_loc", o->name))
-+ continue;
-+
-+ /* This was a PC-relative instruction that was completely resolved. */
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-+
-+ val = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
-+ if (val != irelscan->r_addend) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc! %x %lx\n", __LINE__, val, irelscan->r_addend);
-+ }
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
-+ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
-+ irelscan->r_addend);
-+ }
-+ if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (isym->st_shndx == shndx
-+ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
-+ {
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+
-+ }
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
-+ }
-+ else if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_SYM_OP_SYM)
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend
-+ + isym->st_value,
-+ 0,
-+ sec);
-+ }
-+ }
-+ else if ((ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_PCREL_LO)
-+ || (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_LO))
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (isym->st_shndx == shndx
-+ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
-+ {
-+ bfd_vma immediate;
-+ bfd_vma target_address;
-+
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-+
-+ unsigned long instr = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
-+ immediate = instr & 0x0000ffff;
-+ target_address = immediate;
-+ offset = calc_fixup (target_address, 0, sec);
-+ immediate -= offset;
-+ irelscan->r_addend -= offset;
-+ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
-+ irelscan->r_addend);
-+ }
-+ }
-+
-+ if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64)
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (isym->st_shndx == shndx
-+ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
-+ {
-+ bfd_vma immediate;
-+
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-+ unsigned long instr_hi = bfd_get_32 (abfd, ocontents
-+ + irelscan->r_offset);
-+ unsigned long instr_lo = bfd_get_32 (abfd, ocontents
-+ + irelscan->r_offset
-+ + INST_WORD_SIZE);
-+ immediate = (instr_hi & 0x0000ffff) << 16;
-+ immediate |= (instr_lo & 0x0000ffff);
-+ offset = calc_fixup (irelscan->r_addend, 0, sec);
-+ immediate -= offset;
-+ irelscan->r_addend -= offset;
-+ }
-+ }
-+ else if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64_PCREL)
-+ {
-+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-+
-+ /* Look at the reloc only if the value has been resolved. */
-+ if (isym->st_shndx == shndx
-+ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
-+ {
-+ bfd_vma immediate;
-+ bfd_vma target_address;
-+
-+ if (ocontents == NULL)
-+ {
-+ if (elf_section_data (o)->this_hdr.contents != NULL)
-+ ocontents = elf_section_data (o)->this_hdr.contents;
-+ else
-+ {
-+ /* We always cache the section contents.
-+ Perhaps, if info->keep_memory is FALSE, we
-+ should free them, if we are permitted to. */
-+ if (o->rawsize == 0)
-+ o->rawsize = o->size;
-+ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
-+ if (ocontents == NULL)
-+ goto error_return;
-+ if (!bfd_get_section_contents (abfd, o, ocontents,
-+ (file_ptr) 0,
-+ o->rawsize))
-+ goto error_return;
-+ elf_section_data (o)->this_hdr.contents = ocontents;
-+ }
-+ }
-+ unsigned long instr_hi = bfd_get_32 (abfd, ocontents
-+ + irelscan->r_offset);
-+ unsigned long instr_lo = bfd_get_32 (abfd, ocontents
-+ + irelscan->r_offset
-+ + INST_WORD_SIZE);
-+ immediate = (instr_hi & 0x0000ffff) << 16;
-+ immediate |= (instr_lo & 0x0000ffff);
-+ target_address = immediate;
-+ offset = calc_fixup (target_address, 0, sec);
-+ immediate -= offset;
-+ irelscan->r_addend -= offset;
-+ microblaze_bfd_write_imm_value_64 (abfd, ocontents
-+ + irelscan->r_offset, immediate);
-+ }
-+ }
-+ }
-+ }
-+
-+ /* Adjust the local symbols defined in this section. */
-+ isymend = isymbuf + symtab_hdr->sh_info;
-+ for (isym = isymbuf; isym < isymend; isym++)
-+ {
-+ if (isym->st_shndx == shndx)
-+ {
-+ isym->st_value -= calc_fixup (isym->st_value, 0, sec);
-+ if (isym->st_size)
-+ isym->st_size -= calc_fixup (isym->st_value, isym->st_size, sec);
-+ }
-+ }
-+
-+ /* Now adjust the global symbols defined in this section. */
-+ isym = isymbuf + symtab_hdr->sh_info;
-+ symcount = (symtab_hdr->sh_size / sizeof (Elf64_External_Sym)) - symtab_hdr->sh_info;
-+ for (sym_index = 0; sym_index < symcount; sym_index++)
-+ {
-+ sym_hash = elf_sym_hashes (abfd)[sym_index];
-+ if ((sym_hash->root.type == bfd_link_hash_defined
-+ || sym_hash->root.type == bfd_link_hash_defweak)
-+ && sym_hash->root.u.def.section == sec)
-+ {
-+ sym_hash->root.u.def.value -= calc_fixup (sym_hash->root.u.def.value,
-+ 0, sec);
-+ if (sym_hash->size)
-+ sym_hash->size -= calc_fixup (sym_hash->root.u.def.value,
-+ sym_hash->size, sec);
-+ }
-+ }
-+
-+ /* Physically move the code and change the cooked size. */
-+ dest = sec->relax[0].addr;
-+ for (i = 0; i < sec->relax_count; i++)
-+ {
-+ int len;
-+ src = sec->relax[i].addr + sec->relax[i].size;
-+ len = sec->relax[i+1].addr - sec->relax[i].addr - sec->relax[i].size;
-+
-+ memmove (contents + dest, contents + src, len);
-+ sec->size -= sec->relax[i].size;
-+ dest += len;
-+ }
-+
-+ elf_section_data (sec)->relocs = internal_relocs;
-+ free_relocs = NULL;
-+
-+ elf_section_data (sec)->this_hdr.contents = contents;
-+ free_contents = NULL;
-+
-+ symtab_hdr->contents = (bfd_byte *) isymbuf;
-+ }
-+
-+ if (free_relocs != NULL)
-+ {
-+ free (free_relocs);
-+ free_relocs = NULL;
-+ }
-+
-+ if (free_contents != NULL)
-+ {
-+ if (!link_info->keep_memory)
-+ free (free_contents);
-+ else
-+ /* Cache the section contents for elf_link_input_bfd. */
-+ elf_section_data (sec)->this_hdr.contents = contents;
-+ free_contents = NULL;
-+ }
-+
-+ if (sec->relax_count == 0)
-+ {
-+ *again = FALSE;
-+ free (sec->relax);
-+ sec->relax = NULL;
-+ }
-+ else
-+ *again = TRUE;
-+ return TRUE;
-+
-+ error_return:
-+ if (free_relocs != NULL)
-+ free (free_relocs);
-+ if (free_contents != NULL)
-+ free (free_contents);
-+ if (sec->relax != NULL)
-+ {
-+ free (sec->relax);
-+ sec->relax = NULL;
-+ sec->relax_count = 0;
-+ }
-+ return FALSE;
-+}
-+
-+/* Return the section that should be marked against GC for a given
-+ relocation. */
-+
-+static asection *
-+microblaze_elf_gc_mark_hook (asection *sec,
-+ struct bfd_link_info * info,
-+ Elf_Internal_Rela * rel,
-+ struct elf_link_hash_entry * h,
-+ Elf_Internal_Sym * sym)
-+{
-+ if (h != NULL)
-+ switch (ELF64_R_TYPE (rel->r_info))
-+ {
-+ case R_MICROBLAZE_GNU_VTINHERIT:
-+ case R_MICROBLAZE_GNU_VTENTRY:
-+ return NULL;
-+ }
-+
-+ return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
-+}
-+
-+/* Update the got entry reference counts for the section being removed. */
-+
-+static bfd_boolean
-+microblaze_elf_gc_sweep_hook (bfd * abfd ATTRIBUTE_UNUSED,
-+ struct bfd_link_info * info ATTRIBUTE_UNUSED,
-+ asection * sec ATTRIBUTE_UNUSED,
-+ const Elf_Internal_Rela * relocs ATTRIBUTE_UNUSED)
-+{
-+ return TRUE;
-+}
-+
-+/* PIC support. */
-+
-+#define PLT_ENTRY_SIZE 16
-+
-+#define PLT_ENTRY_WORD_0 0xb0000000 /* "imm 0". */
-+#define PLT_ENTRY_WORD_1 0xe9940000 /* "lwi r12,r20,0" - relocated to lwi r12,r20,func@GOT. */
-+#define PLT_ENTRY_WORD_1_NOPIC 0xe9800000 /* "lwi r12,r0,0" - non-PIC object. */
-+#define PLT_ENTRY_WORD_2 0x98186000 /* "brad r12". */
-+#define PLT_ENTRY_WORD_3 0x80000000 /* "nop". */
-+
-+/* Create .got, .gotplt, and .rela.got sections in DYNOBJ, and set up
-+ shortcuts to them in our hash table. */
-+
-+static bfd_boolean
-+create_got_section (bfd *dynobj, struct bfd_link_info *info)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+
-+ if (! _bfd_elf_create_got_section (dynobj, info))
-+ return FALSE;
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ htab->sgot = bfd_get_linker_section (dynobj, ".got");
-+ htab->sgotplt = bfd_get_linker_section (dynobj, ".got.plt");
-+ if (!htab->sgot || !htab->sgotplt)
-+ return FALSE;
-+
-+ if ((htab->srelgot = bfd_get_linker_section (dynobj, ".rela.got")) == NULL)
-+ htab->srelgot = bfd_make_section_anyway (dynobj, ".rela.got");
-+ if (htab->srelgot == NULL
-+ || ! bfd_set_section_flags (htab->srelgot, SEC_ALLOC
-+ | SEC_LOAD
-+ | SEC_HAS_CONTENTS
-+ | SEC_IN_MEMORY
-+ | SEC_LINKER_CREATED
-+ | SEC_READONLY)
-+ || ! bfd_set_section_alignment (htab->srelgot, 2))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+static bfd_boolean
-+update_local_sym_info (bfd *abfd,
-+ Elf_Internal_Shdr *symtab_hdr,
-+ unsigned long r_symndx,
-+ unsigned int tls_type)
-+{
-+ bfd_signed_vma *local_got_refcounts = elf_local_got_refcounts (abfd);
-+ unsigned char *local_got_tls_masks;
-+
-+ if (local_got_refcounts == NULL)
-+ {
-+ bfd_size_type size = symtab_hdr->sh_info;
-+
-+ size *= (sizeof (*local_got_refcounts) + sizeof (*local_got_tls_masks));
-+ local_got_refcounts = bfd_zalloc (abfd, size);
-+ if (local_got_refcounts == NULL)
-+ return FALSE;
-+ elf_local_got_refcounts (abfd) = local_got_refcounts;
-+ }
-+
-+ local_got_tls_masks =
-+ (unsigned char *) (local_got_refcounts + symtab_hdr->sh_info);
-+ local_got_tls_masks[r_symndx] |= tls_type;
-+ local_got_refcounts[r_symndx] += 1;
-+
-+ return TRUE;
-+}
-+/* Look through the relocs for a section during the first phase. */
-+
-+static bfd_boolean
-+microblaze_elf_check_relocs (bfd * abfd,
-+ struct bfd_link_info * info,
-+ asection * sec,
-+ const Elf_Internal_Rela * relocs)
-+{
-+ Elf_Internal_Shdr * symtab_hdr;
-+ struct elf_link_hash_entry ** sym_hashes;
-+ struct elf_link_hash_entry ** sym_hashes_end;
-+ const Elf_Internal_Rela * rel;
-+ const Elf_Internal_Rela * rel_end;
-+ struct elf64_mb_link_hash_table *htab;
-+ asection *sreloc = NULL;
-+
-+ if (bfd_link_relocatable (info))
-+ return TRUE;
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ symtab_hdr = & elf_tdata (abfd)->symtab_hdr;
-+ sym_hashes = elf_sym_hashes (abfd);
-+ sym_hashes_end = sym_hashes + symtab_hdr->sh_size / sizeof (Elf64_External_Sym);
-+ if (!elf_bad_symtab (abfd))
-+ sym_hashes_end -= symtab_hdr->sh_info;
-+
-+ rel_end = relocs + sec->reloc_count;
-+
-+ for (rel = relocs; rel < rel_end; rel++)
-+ {
-+ unsigned int r_type;
-+ struct elf_link_hash_entry * h;
-+ unsigned long r_symndx;
-+ unsigned char tls_type = 0;
-+
-+ r_symndx = ELF64_R_SYM (rel->r_info);
-+ r_type = ELF64_R_TYPE (rel->r_info);
-+
-+ if (r_symndx < symtab_hdr->sh_info)
-+ h = NULL;
-+ else
-+ {
-+ h = sym_hashes [r_symndx - symtab_hdr->sh_info];
-+ while (h->root.type == bfd_link_hash_indirect
-+ || h->root.type == bfd_link_hash_warning)
-+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
-+ }
-+
-+ switch (r_type)
-+ {
-+ /* This relocation describes the C++ object vtable hierarchy.
-+ Reconstruct it for later use during GC. */
-+ case R_MICROBLAZE_GNU_VTINHERIT:
-+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
-+ return FALSE;
-+ break;
-+
-+ /* This relocation describes which C++ vtable entries are actually
-+ used. Record for later use during GC. */
-+ case R_MICROBLAZE_GNU_VTENTRY:
-+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
-+ return FALSE;
-+ break;
-+
-+ /* This relocation requires .plt entry. */
-+ case R_MICROBLAZE_PLT_64:
-+ if (h != NULL)
-+ {
-+ h->needs_plt = 1;
-+ h->plt.refcount += 1;
-+ }
-+ break;
-+
-+ /* This relocation requires .got entry. */
-+ case R_MICROBLAZE_TLSGD:
-+ tls_type |= (TLS_TLS | TLS_GD);
-+ goto dogottls;
-+ case R_MICROBLAZE_TLSLD:
-+ tls_type |= (TLS_TLS | TLS_LD);
-+ dogottls:
-+ sec->has_tls_reloc = 1;
-+ case R_MICROBLAZE_GOT_64:
-+ if (htab->sgot == NULL)
-+ {
-+ if (htab->elf.dynobj == NULL)
-+ htab->elf.dynobj = abfd;
-+ if (!create_got_section (htab->elf.dynobj, info))
-+ return FALSE;
-+ }
-+ if (h != NULL)
-+ {
-+ h->got.refcount += 1;
-+ elf64_mb_hash_entry (h)->tls_mask |= tls_type;
-+ }
-+ else
-+ {
-+ if (! update_local_sym_info(abfd, symtab_hdr, r_symndx, tls_type) )
-+ return FALSE;
-+ }
-+ break;
-+
-+ case R_MICROBLAZE_64:
-+ case R_MICROBLAZE_64_PCREL:
-+ case R_MICROBLAZE_32:
-+ {
-+ if (h != NULL && !bfd_link_pic (info))
-+ {
-+ /* we may need a copy reloc. */
-+ h->non_got_ref = 1;
-+
-+ /* we may also need a .plt entry. */
-+ h->plt.refcount += 1;
-+ if (ELF64_R_TYPE (rel->r_info) != R_MICROBLAZE_64_PCREL)
-+ h->pointer_equality_needed = 1;
-+ }
-+
-+
-+ /* If we are creating a shared library, and this is a reloc
-+ against a global symbol, or a non PC relative reloc
-+ against a local symbol, then we need to copy the reloc
-+ into the shared library. However, if we are linking with
-+ -Bsymbolic, we do not need to copy a reloc against a
-+ global symbol which is defined in an object we are
-+ including in the link (i.e., DEF_REGULAR is set). At
-+ this point we have not seen all the input files, so it is
-+ possible that DEF_REGULAR is not set now but will be set
-+ later (it is never cleared). In case of a weak definition,
-+ DEF_REGULAR may be cleared later by a strong definition in
-+ a shared library. We account for that possibility below by
-+ storing information in the relocs_copied field of the hash
-+ table entry. A similar situation occurs when creating
-+ shared libraries and symbol visibility changes render the
-+ symbol local.
-+
-+ If on the other hand, we are creating an executable, we
-+ may need to keep relocations for symbols satisfied by a
-+ dynamic library if we manage to avoid copy relocs for the
-+ symbol. */
-+
-+ if ((bfd_link_pic (info)
-+ && (sec->flags & SEC_ALLOC) != 0
-+ && (r_type != R_MICROBLAZE_64_PCREL
-+ || (h != NULL
-+ && (! info->symbolic
-+ || h->root.type == bfd_link_hash_defweak
-+ || !h->def_regular))))
-+ || (!bfd_link_pic (info)
-+ && (sec->flags & SEC_ALLOC) != 0
-+ && h != NULL
-+ && (h->root.type == bfd_link_hash_defweak
-+ || !h->def_regular)))
-+ {
-+ struct elf64_mb_dyn_relocs *p;
-+ struct elf64_mb_dyn_relocs **head;
-+
-+ /* When creating a shared object, we must copy these
-+ relocs into the output file. We create a reloc
-+ section in dynobj and make room for the reloc. */
-+
-+ if (sreloc == NULL)
-+ {
-+ bfd *dynobj;
-+
-+ if (htab->elf.dynobj == NULL)
-+ htab->elf.dynobj = abfd;
-+ dynobj = htab->elf.dynobj;
-+
-+ sreloc = _bfd_elf_make_dynamic_reloc_section (sec, dynobj,
-+ 2, abfd, 1);
-+ if (sreloc == NULL)
-+ return FALSE;
-+ }
-+
-+ /* If this is a global symbol, we count the number of
-+ relocations we need for this symbol. */
-+ if (h != NULL)
-+ head = &h->dyn_relocs;
-+ else
-+ {
-+ /* Track dynamic relocs needed for local syms too.
-+ We really need local syms available to do this
-+ easily. Oh well. */
-+
-+ asection *s;
-+ Elf_Internal_Sym *isym;
-+ void *vpp;
-+
-+ isym = bfd_sym_from_r_symndx (&htab->sym_sec,
-+ abfd, r_symndx);
-+ if (isym == NULL)
-+ return FALSE;
-+
-+ s = bfd_section_from_elf_index (abfd, isym->st_shndx);
-+ if (s == NULL)
-+ return FALSE;
-+
-+ vpp = &elf_section_data (s)->local_dynrel;
-+ head = (struct elf64_mb_dyn_relocs **) vpp;
-+ }
-+
-+ p = *head;
-+ if (p == NULL || p->sec != sec)
-+ {
-+ size_t amt = sizeof *p;
-+ p = ((struct elf64_mb_dyn_relocs *)
-+ bfd_alloc (htab->elf.dynobj, amt));
-+ if (p == NULL)
-+ return FALSE;
-+ p->next = *head;
-+ *head = p;
-+ p->sec = sec;
-+ p->count = 0;
-+ p->pc_count = 0;
-+ }
-+
-+ p->count += 1;
-+ if (r_type == R_MICROBLAZE_64_PCREL)
-+ p->pc_count += 1;
-+ }
-+ }
-+ break;
-+ }
-+ }
-+
-+ return TRUE;
-+}
-+
-+static bfd_boolean
-+microblaze_elf_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ if (!htab->sgot && !create_got_section (dynobj, info))
-+ return FALSE;
-+
-+ if (!_bfd_elf_create_dynamic_sections (dynobj, info))
-+ return FALSE;
-+
-+ htab->splt = bfd_get_linker_section (dynobj, ".plt");
-+ htab->srelplt = bfd_get_linker_section (dynobj, ".rela.plt");
-+ htab->sdynbss = bfd_get_linker_section (dynobj, ".dynbss");
-+ if (!bfd_link_pic (info))
-+ htab->srelbss = bfd_get_linker_section (dynobj, ".rela.bss");
-+
-+ if (!htab->splt || !htab->srelplt || !htab->sdynbss
-+ || (!bfd_link_pic (info) && !htab->srelbss))
-+ abort ();
-+
-+ return TRUE;
-+}
-+
-+/* Copy the extra info we tack onto an elf_link_hash_entry. */
-+
-+static void
-+microblaze_elf_copy_indirect_symbol (struct bfd_link_info *info,
-+ struct elf_link_hash_entry *dir,
-+ struct elf_link_hash_entry *ind)
-+{
-+ struct elf64_mb_link_hash_entry *edir, *eind;
-+
-+ edir = (struct elf64_mb_link_hash_entry *) dir;
-+ eind = (struct elf64_mb_link_hash_entry *) ind;
-+
-+ if (eind->dyn_relocs != NULL)
-+ {
-+ if (edir->dyn_relocs != NULL)
-+ {
-+ struct elf64_mb_dyn_relocs **pp;
-+ struct elf64_mb_dyn_relocs *p;
-+
-+ if (ind->root.type == bfd_link_hash_indirect)
-+ abort ();
-+
-+ /* Add reloc counts against the weak sym to the strong sym
-+ list. Merge any entries against the same section. */
-+ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; )
-+ {
-+ struct elf64_mb_dyn_relocs *q;
-+
-+ for (q = edir->dyn_relocs; q != NULL; q = q->next)
-+ if (q->sec == p->sec)
-+ {
-+ q->pc_count += p->pc_count;
-+ q->count += p->count;
-+ *pp = p->next;
-+ break;
-+ }
-+ if (q == NULL)
-+ pp = &p->next;
-+ }
-+ *pp = edir->dyn_relocs;
-+ }
-+
-+ edir->dyn_relocs = eind->dyn_relocs;
-+ eind->dyn_relocs = NULL;
-+ }
-+
-+ edir->tls_mask |= eind->tls_mask;
-+
-+ _bfd_elf_link_hash_copy_indirect (info, dir, ind);
-+}
-+
-+static bfd_boolean
-+microblaze_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
-+ struct elf_link_hash_entry *h)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+ struct elf64_mb_link_hash_entry * eh;
-+ struct elf64_mb_dyn_relocs *p;
-+ asection *sdynbss;
-+ asection *s, *srel;
-+ unsigned int power_of_two;
-+ bfd *dynobj;
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ /* If this is a function, put it in the procedure linkage table. We
-+ will fill in the contents of the procedure linkage table later,
-+ when we know the address of the .got section. */
-+ if (h->type == STT_FUNC
-+ || h->needs_plt)
-+ {
-+ if (h->plt.refcount <= 0
-+ || SYMBOL_CALLS_LOCAL (info, h)
-+ || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
-+ && h->root.type == bfd_link_hash_undefweak))
-+ {
-+ /* This case can occur if we saw a PLT reloc in an input
-+ file, but the symbol was never referred to by a dynamic
-+ object, or if all references were garbage collected. In
-+ such a case, we don't actually need to build a procedure
-+ linkage table, and we can just do a PC32 reloc instead. */
-+ h->plt.offset = (bfd_vma) -1;
-+ h->needs_plt = 0;
-+ }
-+
-+ return TRUE;
-+ }
-+ else
-+ /* It's possible that we incorrectly decided a .plt reloc was
-+ needed for an R_MICROBLAZE_64_PCREL reloc to a non-function sym in
-+ check_relocs. We can't decide accurately between function and
-+ non-function syms in check-relocs; Objects loaded later in
-+ the link may change h->type. So fix it now. */
-+ h->plt.offset = (bfd_vma) -1;
-+
-+ /* If this is a weak symbol, and there is a real definition, the
-+ processor independent code will have arranged for us to see the
-+ real definition first, and we can just use the same value. */
-+ if (h->is_weakalias)
-+ {
-+ struct elf_link_hash_entry *def = weakdef (h);
-+ BFD_ASSERT (def->root.type == bfd_link_hash_defined);
-+ h->root.u.def.section = def->root.u.def.section;
-+ h->root.u.def.value = def->root.u.def.value;
-+ return TRUE;
-+ }
-+
-+ /* This is a reference to a symbol defined by a dynamic object which
-+ is not a function. */
-+
-+ /* If we are creating a shared library, we must presume that the
-+ only references to the symbol are via the global offset table.
-+ For such cases we need not do anything here; the relocations will
-+ be handled correctly by relocate_section. */
-+ if (bfd_link_pic (info))
-+ return TRUE;
-+
-+ /* If there are no references to this symbol that do not use the
-+ GOT, we don't need to generate a copy reloc. */
-+ if (!h->non_got_ref)
-+ return TRUE;
-+
-+ /* If -z nocopyreloc was given, we won't generate them either. */
-+ if (info->nocopyreloc)
-+ {
-+ h->non_got_ref = 0;
-+ return TRUE;
-+ }
-+
-+ eh = (struct elf64_mb_link_hash_entry *) h;
-+ for (p = eh->dyn_relocs; p != NULL; p = p->next)
-+ {
-+ s = p->sec->output_section;
-+ if (s != NULL && (s->flags & SEC_READONLY) != 0)
-+ break;
-+ }
-+
-+ /* If we didn't find any dynamic relocs in read-only sections, then
-+ we'll be keeping the dynamic relocs and avoiding the copy reloc. */
-+ if (!_bfd_elf_readonly_dynrelocs (h))
-+ {
-+ h->non_got_ref = 0;
-+ return TRUE;
-+ }
-+
-+ /* We must allocate the symbol in our .dynbss section, which will
-+ become part of the .bss section of the executable. There will be
-+ an entry for this symbol in the .dynsym section. The dynamic
-+ object will contain position independent code, so all references
-+ from the dynamic object to this symbol will go through the global
-+ offset table. The dynamic linker will use the .dynsym entry to
-+ determine the address it must put in the global offset table, so
-+ both the dynamic object and the regular object will refer to the
-+ same memory location for the variable. */
-+
-+ /* We must generate a R_MICROBLAZE_COPY reloc to tell the dynamic linker
-+ to copy the initial value out of the dynamic object and into the
-+ runtime process image. */
-+ if ((h->root.u.def.section->flags & SEC_READONLY) != 0)
-+ {
-+ s = htab->elf.sdynrelro;
-+ srel = htab->elf.sreldynrelro;
-+ }
-+ else
-+ {
-+ s = htab->elf.sdynbss;
-+ srel = htab->elf.srelbss;
-+ }
-+ if ((h->root.u.def.section->flags & SEC_ALLOC) != 0)
-+ {
-+ srel->size += sizeof (Elf64_External_Rela);
-+ h->needs_copy = 1;
-+ }
-+
-+ /* We need to figure out the alignment required for this symbol. I
-+ have no idea how ELF linkers handle this. */
-+ power_of_two = bfd_log2 (h->size);
-+ if (power_of_two > 3)
-+ power_of_two = 3;
-+
-+ /* Apply the required alignment. */
-+ s->size = BFD_ALIGN (s->size, (bfd_size_type) (1 << power_of_two));
-+ if (power_of_two > s->alignment_power)
-+ {
-+ if (!bfd_set_section_alignment (s, power_of_two))
-+ return FALSE;
-+ }
-+
-+ /* Define the symbol as being at this point in the section. */
-+ h->root.u.def.section = s;
-+ h->root.u.def.value = s->size;
-+
-+ /* Increment the section size to make room for the symbol. */
-+ s->size += h->size;
-+ return TRUE;
-+}
-+
-+/* Allocate space in .plt, .got and associated reloc sections for
-+ dynamic relocs. */
-+
-+static bfd_boolean
-+allocate_dynrelocs (struct elf_link_hash_entry *h, void * dat)
-+{
-+ struct bfd_link_info *info;
-+ struct elf64_mb_link_hash_table *htab;
-+ struct elf64_mb_link_hash_entry *eh;
-+ struct elf64_mb_dyn_relocs *p;
-+
-+ if (h->root.type == bfd_link_hash_indirect)
-+ return TRUE;
-+
-+ info = (struct bfd_link_info *) dat;
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ if (htab->elf.dynamic_sections_created
-+ && h->plt.refcount > 0)
-+ {
-+ /* Make sure this symbol is output as a dynamic symbol.
-+ Undefined weak syms won't yet be marked as dynamic. */
-+ if (h->dynindx == -1
-+ && !h->forced_local)
-+ {
-+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
-+ return FALSE;
-+ }
-+
-+ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, bfd_link_pic (info), h))
-+ {
-+ asection *s = htab->splt;
-+
-+ /* The first entry in .plt is reserved. */
-+ if (s->size == 0)
-+ s->size = PLT_ENTRY_SIZE;
-+
-+ h->plt.offset = s->size;
-+
-+ /* If this symbol is not defined in a regular file, and we are
-+ not generating a shared library, then set the symbol to this
-+ location in the .plt. This is required to make function
-+ pointers compare as equal between the normal executable and
-+ the shared library. */
-+ if (! bfd_link_pic (info)
-+ && !h->def_regular)
-+ {
-+ h->root.u.def.section = s;
-+ h->root.u.def.value = h->plt.offset;
-+ }
-+
-+ /* Make room for this entry. */
-+ s->size += PLT_ENTRY_SIZE;
-+
-+ /* We also need to make an entry in the .got.plt section, which
-+ will be placed in the .got section by the linker script. */
-+ htab->elf.sgotplt->size += 4;
-+
-+ /* We also need to make an entry in the .rel.plt section. */
-+ htab->elf.srelplt->size += sizeof (Elf32_External_Rela);
-+ }
-+ else
-+ {
-+ h->plt.offset = (bfd_vma) -1;
-+ h->needs_plt = 0;
-+ }
-+ }
-+ else
-+ {
-+ h->plt.offset = (bfd_vma) -1;
-+ h->needs_plt = 0;
-+ }
-+
-+ eh = (struct elf64_mb_link_hash_entry *) h;
-+ if (h->got.refcount > 0)
-+ {
-+ unsigned int need;
-+ asection *s;
-+
-+ /* Make sure this symbol is output as a dynamic symbol.
-+ Undefined weak syms won't yet be marked as dynamic. */
-+ if (h->dynindx == -1
-+ && !h->forced_local)
-+ {
-+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
-+ return FALSE;
-+ }
-+
-+ need = 0;
-+ if ((eh->tls_mask & TLS_TLS) != 0)
-+ {
-+ /* Handle TLS Symbol */
-+ if ((eh->tls_mask & TLS_LD) != 0)
-+ {
-+ if (!eh->elf.def_dynamic)
-+ /* We'll just use htab->tlsld_got.offset. This should
-+ always be the case. It's a little odd if we have
-+ a local dynamic reloc against a non-local symbol. */
-+ htab->tlsld_got.refcount += 1;
-+ else
-+ need += 8;
-+ }
-+ if ((eh->tls_mask & TLS_GD) != 0)
-+ need += 8;
-+ }
-+ else
-+ {
-+ /* Regular (non-TLS) symbol */
-+ need += 4;
-+ }
-+ if (need == 0)
-+ {
-+ h->got.offset = (bfd_vma) -1;
-+ }
-+ else
-+ {
-+ s = htab->elf.sgot;
-+ h->got.offset = s->size;
-+ s->size += need;
-+ htab->elf.srelgot->size += need * (sizeof (Elf64_External_Rela) / 4);
-+ }
-+ }
-+ else
-+ h->got.offset = (bfd_vma) -1;
-+
-+ if (h->dyn_relocs == NULL)
-+ return TRUE;
-+
-+ /* In the shared -Bsymbolic case, discard space allocated for
-+ dynamic pc-relative relocs against symbols which turn out to be
-+ defined in regular objects. For the normal shared case, discard
-+ space for pc-relative relocs that have become local due to symbol
-+ visibility changes. */
-+
-+ if (bfd_link_pic (info))
-+ {
-+ if (h->def_regular
-+ && (h->forced_local
-+ || info->symbolic))
-+ {
-+ struct elf64_mb_dyn_relocs **pp;
-+
-+ for (pp = &h->dyn_relocs; (p = *pp) != NULL; )
-+ {
-+ p->count -= p->pc_count;
-+ p->pc_count = 0;
-+ if (p->count == 0)
-+ *pp = p->next;
-+ else
-+ pp = &p->next;
-+ }
-+ }
-+ else if (UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
-+ h->dyn_relocs = NULL;
-+ }
-+ else
-+ {
-+ /* For the non-shared case, discard space for relocs against
-+ symbols which turn out to need copy relocs or are not
-+ dynamic. */
-+
-+ if (!h->non_got_ref
-+ && ((h->def_dynamic
-+ && !h->def_regular)
-+ || (htab->elf.dynamic_sections_created
-+ && (h->root.type == bfd_link_hash_undefweak
-+ || h->root.type == bfd_link_hash_undefined))))
-+ {
-+ /* Make sure this symbol is output as a dynamic symbol.
-+ Undefined weak syms won't yet be marked as dynamic. */
-+ if (h->dynindx == -1
-+ && !h->forced_local)
-+ {
-+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
-+ return FALSE;
-+ }
-+
-+ /* If that succeeded, we know we'll be keeping all the
-+ relocs. */
-+ if (h->dynindx != -1)
-+ goto keep;
-+ }
-+
-+ h->dyn_relocs = NULL;
-+
-+ keep: ;
-+ }
-+
-+ /* Finally, allocate space. */
-+ for (p = h->dyn_relocs; p != NULL; p = p->next)
-+ {
-+ asection *sreloc = elf_section_data (p->sec)->sreloc;
-+ sreloc->size += p->count * sizeof (Elf64_External_Rela);
-+ }
-+
-+ return TRUE;
-+}
-+
-+/* Set the sizes of the dynamic sections. */
-+
-+static bfd_boolean
-+microblaze_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
-+ struct bfd_link_info *info)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+ bfd *dynobj;
-+ asection *s;
-+ bfd *ibfd;
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ dynobj = htab->elf.dynobj;
-+ BFD_ASSERT (dynobj != NULL);
-+
-+ /* Set up .got offsets for local syms, and space for local dynamic
-+ relocs. */
-+ for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
-+ {
-+ bfd_signed_vma *local_got;
-+ bfd_signed_vma *end_local_got;
-+ bfd_size_type locsymcount;
-+ Elf_Internal_Shdr *symtab_hdr;
-+ unsigned char *lgot_masks;
-+ asection *srel;
-+
-+ if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
-+ continue;
-+
-+ for (s = ibfd->sections; s != NULL; s = s->next)
-+ {
-+ struct elf64_mb_dyn_relocs *p;
-+
-+ for (p = ((struct elf64_mb_dyn_relocs *)
-+ elf_section_data (s)->local_dynrel);
-+ p != NULL;
-+ p = p->next)
-+ {
-+ if (!bfd_is_abs_section (p->sec)
-+ && bfd_is_abs_section (p->sec->output_section))
-+ {
-+ /* Input section has been discarded, either because
-+ it is a copy of a linkonce section or due to
-+ linker script /DISCARD/, so we'll be discarding
-+ the relocs too. */
-+ }
-+ else if (p->count != 0)
-+ {
-+ srel = elf_section_data (p->sec)->sreloc;
-+ srel->size += p->count * sizeof (Elf64_External_Rela);
-+ if ((p->sec->output_section->flags & SEC_READONLY) != 0)
-+ info->flags |= DF_TEXTREL;
-+ }
-+ }
-+ }
-+
-+ local_got = elf_local_got_refcounts (ibfd);
-+ if (!local_got)
-+ continue;
-+
-+ symtab_hdr = &elf_tdata (ibfd)->symtab_hdr;
-+ locsymcount = symtab_hdr->sh_info;
-+ end_local_got = local_got + locsymcount;
-+ lgot_masks = (unsigned char *) end_local_got;
-+ s = htab->elf.sgot;
-+ srel = htab->elf.srelgot;
-+
-+ for (; local_got < end_local_got; ++local_got, ++lgot_masks)
-+ {
-+ if (*local_got > 0)
-+ {
-+ unsigned int need = 0;
-+ if ((*lgot_masks & TLS_TLS) != 0)
-+ {
-+ if ((*lgot_masks & TLS_GD) != 0)
-+ need += 8;
-+ if ((*lgot_masks & TLS_LD) != 0)
-+ htab->tlsld_got.refcount += 1;
-+ }
-+ else
-+ need += 4;
-+
-+ if (need == 0)
-+ {
-+ *local_got = (bfd_vma) -1;
-+ }
-+ else
-+ {
-+ *local_got = s->size;
-+ s->size += need;
-+ if (bfd_link_pic (info))
-+ srel->size += need * (sizeof (Elf64_External_Rela) / 4);
-+ }
-+ }
-+ else
-+ *local_got = (bfd_vma) -1;
-+ }
-+ }
-+
-+ /* Allocate global sym .plt and .got entries, and space for global
-+ sym dynamic relocs. */
-+ elf_link_hash_traverse (elf_hash_table (info), allocate_dynrelocs, info);
-+
-+ if (htab->tlsld_got.refcount > 0)
-+ {
-+ htab->tlsld_got.offset = htab->elf.sgot->size;
-+ htab->elf.sgot->size += 8;
-+ if (bfd_link_pic (info))
-+ htab->elf.srelgot->size += sizeof (Elf64_External_Rela);
-+ }
-+ else
-+ htab->tlsld_got.offset = (bfd_vma) -1;
-+
-+ if (elf_hash_table (info)->dynamic_sections_created)
-+ {
-+ /* Make space for the trailing nop in .plt. */
-+ if (htab->elf.splt->size > 0)
-+ htab->elf.splt->size += 4;
-+ }
-+
-+ /* The check_relocs and adjust_dynamic_symbol entry points have
-+ determined the sizes of the various dynamic sections. Allocate
-+ memory for them. */
-+ for (s = dynobj->sections; s != NULL; s = s->next)
-+ {
-+ const char *name;
-+ bfd_boolean strip = FALSE;
-+
-+ if ((s->flags & SEC_LINKER_CREATED) == 0)
-+ continue;
-+
-+ /* It's OK to base decisions on the section name, because none
-+ of the dynobj section names depend upon the input files. */
-+ name = bfd_section_name (s);
-+
-+ if (strncmp (name, ".rela", 5) == 0)
-+ {
-+ if (s->size == 0)
-+ {
-+ /* If we don't need this section, strip it from the
-+ output file. This is to handle .rela.bss and
-+ .rela.plt. We must create it in
-+ create_dynamic_sections, because it must be created
-+ before the linker maps input sections to output
-+ sections. The linker does that before
-+ adjust_dynamic_symbol is called, and it is that
-+ function which decides whether anything needs to go
-+ into these sections. */
-+ strip = TRUE;
-+ }
-+ else
-+ {
-+ /* We use the reloc_count field as a counter if we need
-+ to copy relocs into the output file. */
-+ s->reloc_count = 0;
-+ }
-+ }
-+ else if (s != htab->elf.splt
-+ && s != htab->elf.sgot
-+ && s != htab->elf.sgotplt
-+ && s != htab->elf.sdynbss
-+ && s != htab->elf.sdynrelro)
-+ {
-+ /* It's not one of our sections, so don't allocate space. */
-+ continue;
-+ }
-+
-+ if (strip)
-+ {
-+ s->flags |= SEC_EXCLUDE;
-+ continue;
-+ }
-+
-+ /* Allocate memory for the section contents. */
-+ /* FIXME: This should be a call to bfd_alloc not bfd_zalloc.
-+ Unused entries should be reclaimed before the section's contents
-+ are written out, but at the moment this does not happen. Thus in
-+ order to prevent writing out garbage, we initialise the section's
-+ contents to zero. */
-+ s->contents = (bfd_byte *) bfd_zalloc (dynobj, s->size);
-+ if (s->contents == NULL && s->size != 0)
-+ return FALSE;
-+ }
-+
-+ if (elf_hash_table (info)->dynamic_sections_created)
-+ {
-+ /* Add some entries to the .dynamic section. We fill in the
-+ values later, in microblaze_elf_finish_dynamic_sections, but we
-+ must add the entries now so that we get the correct size for
-+ the .dynamic section. The DT_DEBUG entry is filled in by the
-+ dynamic linker and used by the debugger. */
-+#define add_dynamic_entry(TAG, VAL) \
-+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
-+
-+ if (bfd_link_executable (info))
-+ {
-+ if (!add_dynamic_entry (DT_DEBUG, 0))
-+ return FALSE;
-+ }
-+
-+ if (!add_dynamic_entry (DT_RELA, 0)
-+ || !add_dynamic_entry (DT_RELASZ, 0)
-+ || !add_dynamic_entry (DT_RELAENT, sizeof (Elf64_External_Rela)))
-+ return FALSE;
-+
-+ if (htab->splt->size != 0)
-+ {
-+ if (!add_dynamic_entry (DT_PLTGOT, 0)
-+ || !add_dynamic_entry (DT_PLTRELSZ, 0)
-+ || !add_dynamic_entry (DT_PLTREL, DT_RELA)
-+ || !add_dynamic_entry (DT_JMPREL, 0)
-+ || !add_dynamic_entry (DT_BIND_NOW, 1))
-+ return FALSE;
-+ }
-+
-+ if (info->flags & DF_TEXTREL)
-+ {
-+ if (!add_dynamic_entry (DT_TEXTREL, 0))
-+ return FALSE;
-+ }
-+ }
-+#undef add_dynamic_entry
-+ return TRUE;
-+}
-+
-+/* Finish up dynamic symbol handling. We set the contents of various
-+ dynamic sections here. */
-+
-+static bfd_boolean
-+microblaze_elf_finish_dynamic_symbol (bfd *output_bfd,
-+ struct bfd_link_info *info,
-+ struct elf_link_hash_entry *h,
-+ Elf_Internal_Sym *sym)
-+{
-+ struct elf64_mb_link_hash_table *htab;
-+ struct elf64_mb_link_hash_entry *eh = elf64_mb_hash_entry(h);
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ if (h->plt.offset != (bfd_vma) -1)
-+ {
-+ asection *splt;
-+ asection *srela;
-+ asection *sgotplt;
-+ Elf_Internal_Rela rela;
-+ bfd_byte *loc;
-+ bfd_vma plt_index;
-+ bfd_vma got_offset;
-+ bfd_vma got_addr;
-+
-+ /* This symbol has an entry in the procedure linkage table. Set
-+ it up. */
-+ BFD_ASSERT (h->dynindx != -1);
-+
-+ splt = htab->splt;
-+ srela = htab->srelplt;
-+ sgotplt = htab->sgotplt;
-+ BFD_ASSERT (splt != NULL && srela != NULL && sgotplt != NULL);
-+
-+ plt_index = h->plt.offset / PLT_ENTRY_SIZE - 1; /* first entry reserved. */
-+ got_offset = (plt_index + 3) * 4; /* 3 reserved ??? */
-+ got_addr = got_offset;
-+
-+ /* For non-PIC objects we need absolute address of the GOT entry. */
-+ if (!bfd_link_pic (info))
-+ got_addr += sgotplt->output_section->vma + sgotplt->output_offset;
-+
-+ /* Fill in the entry in the procedure linkage table. */
-+ bfd_put_32 (output_bfd, PLT_ENTRY_WORD_0 + ((got_addr >> 16) & 0xffff),
-+ splt->contents + h->plt.offset);
-+ if (bfd_link_pic (info))
-+ bfd_put_32 (output_bfd, PLT_ENTRY_WORD_1 + (got_addr & 0xffff),
-+ splt->contents + h->plt.offset + 4);
-+ else
-+ bfd_put_32 (output_bfd, PLT_ENTRY_WORD_1_NOPIC + (got_addr & 0xffff),
-+ splt->contents + h->plt.offset + 4);
-+ bfd_put_32 (output_bfd, (bfd_vma) PLT_ENTRY_WORD_2,
-+ splt->contents + h->plt.offset + 8);
-+ bfd_put_32 (output_bfd, (bfd_vma) PLT_ENTRY_WORD_3,
-+ splt->contents + h->plt.offset + 12);
-+
-+ /* Any additions to the .got section??? */
-+ /* bfd_put_32 (output_bfd,
-+ splt->output_section->vma + splt->output_offset + h->plt.offset + 4,
-+ sgotplt->contents + got_offset); */
-+
-+ /* Fill in the entry in the .rela.plt section. */
-+ rela.r_offset = (sgotplt->output_section->vma
-+ + sgotplt->output_offset
-+ + got_offset);
-+ rela.r_info = ELF64_R_INFO (h->dynindx, R_MICROBLAZE_JUMP_SLOT);
-+ rela.r_addend = 0;
-+ loc = srela->contents;
-+ loc += plt_index * sizeof (Elf64_External_Rela);
-+ bfd_elf64_swap_reloca_out (output_bfd, &rela, loc);
-+
-+ if (!h->def_regular)
-+ {
-+ /* Mark the symbol as undefined, rather than as defined in
-+ the .plt section. Zero the value. */
-+ sym->st_shndx = SHN_UNDEF;
-+ sym->st_value = 0;
-+ }
-+ }
-+
-+ /* h->got.refcount to be checked ? */
-+ if (h->got.offset != (bfd_vma) -1 &&
-+ ! ((h->got.offset & 1) ||
-+ IS_TLS_LD(eh->tls_mask) || IS_TLS_GD(eh->tls_mask)))
-+ {
-+ asection *sgot;
-+ asection *srela;
-+ bfd_vma offset;
-+
-+ /* This symbol has an entry in the global offset table. Set it
-+ up. */
-+
-+ sgot = htab->elf.sgot;
-+ srela = htab->elf.srelgot;
-+ BFD_ASSERT (sgot != NULL && srela != NULL);
-+
-+ offset = (sgot->output_section->vma + sgot->output_offset
-+ + (h->got.offset &~ (bfd_vma) 1));
-+
-+ /* If this is a -Bsymbolic link, and the symbol is defined
-+ locally, we just want to emit a RELATIVE reloc. Likewise if
-+ the symbol was forced to be local because of a version file.
-+ The entry in the global offset table will already have been
-+ initialized in the relocate_section function. */
-+ if (bfd_link_pic (info)
-+ && ((info->symbolic && h->def_regular)
-+ || h->dynindx == -1))
-+ {
-+ asection *sec = h->root.u.def.section;
-+ microblaze_elf_output_dynamic_relocation (output_bfd,
-+ srela, srela->reloc_count++,
-+ /* symindex= */ 0,
-+ R_MICROBLAZE_REL, offset,
-+ h->root.u.def.value
-+ + sec->output_section->vma
-+ + sec->output_offset);
-+ }
-+ else
-+ {
-+ microblaze_elf_output_dynamic_relocation (output_bfd,
-+ srela, srela->reloc_count++,
-+ h->dynindx,
-+ R_MICROBLAZE_GLOB_DAT,
-+ offset, 0);
-+ }
-+
-+ bfd_put_32 (output_bfd, (bfd_vma) 0,
-+ sgot->contents + (h->got.offset &~ (bfd_vma) 1));
-+ }
-+
-+ if (h->needs_copy)
-+ {
-+ asection *s;
-+ Elf_Internal_Rela rela;
-+ bfd_byte *loc;
-+
-+ /* This symbols needs a copy reloc. Set it up. */
-+
-+ BFD_ASSERT (h->dynindx != -1);
-+
-+ s = bfd_get_linker_section (htab->elf.dynobj, ".rela.bss");
-+ BFD_ASSERT (s != NULL);
-+
-+ rela.r_offset = (h->root.u.def.value
-+ + h->root.u.def.section->output_section->vma
-+ + h->root.u.def.section->output_offset);
-+ rela.r_info = ELF64_R_INFO (h->dynindx, R_MICROBLAZE_COPY);
-+ rela.r_addend = 0;
-+ loc = s->contents + s->reloc_count++ * sizeof (Elf64_External_Rela);
-+ bfd_elf64_swap_reloca_out (output_bfd, &rela, loc);
-+ }
-+
-+ /* Mark some specially defined symbols as absolute. */
-+ if (h == htab->elf.hdynamic
-+ || h == htab->elf.hgot
-+ || h == htab->elf.hplt)
-+ sym->st_shndx = SHN_ABS;
-+
-+ return TRUE;
-+}
-+
-+
-+/* Finish up the dynamic sections. */
-+
-+static bfd_boolean
-+microblaze_elf_finish_dynamic_sections (bfd *output_bfd,
-+ struct bfd_link_info *info)
-+{
-+ bfd *dynobj;
-+ asection *sdyn, *sgot;
-+ struct elf64_mb_link_hash_table *htab;
-+
-+ htab = elf64_mb_hash_table (info);
-+ if (htab == NULL)
-+ return FALSE;
-+
-+ dynobj = htab->elf.dynobj;
-+
-+ sdyn = bfd_get_linker_section (dynobj, ".dynamic");
-+
-+ if (htab->elf.dynamic_sections_created)
-+ {
-+ asection *splt;
-+ Elf64_External_Dyn *dyncon, *dynconend;
-+
-+ splt = bfd_get_linker_section (dynobj, ".plt");
-+ BFD_ASSERT (splt != NULL && sdyn != NULL);
-+
-+ dyncon = (Elf64_External_Dyn *) sdyn->contents;
-+ dynconend = (Elf64_External_Dyn *) (sdyn->contents + sdyn->size);
-+ for (; dyncon < dynconend; dyncon++)
-+ {
-+ Elf_Internal_Dyn dyn;
-+ const char *name;
-+ bfd_boolean size;
-+
-+ bfd_elf64_swap_dyn_in (dynobj, dyncon, &dyn);
-+
-+ switch (dyn.d_tag)
-+ {
-+ case DT_PLTGOT: name = ".got.plt"; size = FALSE; break;
-+ case DT_PLTRELSZ: name = ".rela.plt"; size = TRUE; break;
-+ case DT_JMPREL: name = ".rela.plt"; size = FALSE; break;
-+ case DT_RELA: name = ".rela.dyn"; size = FALSE; break;
-+ case DT_RELASZ: name = ".rela.dyn"; size = TRUE; break;
-+ default: name = NULL; size = FALSE; break;
-+ }
-+
-+ if (name != NULL)
-+ {
-+ asection *s;
-+
-+ s = bfd_get_section_by_name (output_bfd, name);
-+ if (s == NULL)
-+ dyn.d_un.d_val = 0;
-+ else
-+ {
-+ if (! size)
-+ dyn.d_un.d_ptr = s->vma;
-+ else
-+ dyn.d_un.d_val = s->size;
-+ }
-+ bfd_elf64_swap_dyn_out (output_bfd, &dyn, dyncon);
-+ }
-+ }
-+
-+ /* Clear the first entry in the procedure linkage table,
-+ and put a nop in the last four bytes. */
-+ if (splt->size > 0)
-+ {
-+ memset (splt->contents, 0, PLT_ENTRY_SIZE);
-+ bfd_put_32 (output_bfd, (bfd_vma) 0x80000000 /* nop. */,
-+ splt->contents + splt->size - 4);
-+ }
-+
-+ elf_section_data (splt->output_section)->this_hdr.sh_entsize = 4;
-+ }
-+
-+ /* Set the first entry in the global offset table to the address of
-+ the dynamic section. */
-+ sgot = htab->elf.sgotplt;
-+ if (sgot && sgot->size > 0)
-+ {
-+ if (sdyn == NULL)
-+ bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents);
-+ else
-+ bfd_put_32 (output_bfd,
-+ sdyn->output_section->vma + sdyn->output_offset,
-+ sgot->contents);
-+ elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4;
-+ }
-+
-+ if (htab->elf.sgot && htab->elf.sgot->size > 0)
-+ elf_section_data (htab->elf.sgot->output_section)->this_hdr.sh_entsize = 4;
-+
-+ return TRUE;
-+}
-+
-+/* Hook called by the linker routine which adds symbols from an object
-+ file. We use it to put .comm items in .sbss, and not .bss. */
-+
-+static bfd_boolean
-+microblaze_elf_add_symbol_hook (bfd *abfd,
-+ struct bfd_link_info *info,
-+ Elf_Internal_Sym *sym,
-+ const char **namep ATTRIBUTE_UNUSED,
-+ flagword *flagsp ATTRIBUTE_UNUSED,
-+ asection **secp,
-+ bfd_vma *valp)
-+{
-+ if (sym->st_shndx == SHN_COMMON
-+ && !bfd_link_relocatable (info)
-+ && sym->st_size <= elf_gp_size (abfd))
-+ {
-+ /* Common symbols less than or equal to -G nn bytes are automatically
-+ put into .sbss. */
-+ *secp = bfd_make_section_old_way (abfd, ".sbss");
-+ if (*secp == NULL
-+ || !bfd_set_section_flags (*secp, SEC_IS_COMMON))
-+ return FALSE;
-+
-+ *valp = sym->st_size;
-+ }
-+
-+ return TRUE;
-+}
-+
-+#define TARGET_LITTLE_SYM microblaze_elf64_le_vec
-+#define TARGET_LITTLE_NAME "elf64-microblazeel"
-+
-+#define TARGET_BIG_SYM microblaze_elf64_vec
-+#define TARGET_BIG_NAME "elf64-microblaze"
-+
-+#define ELF_ARCH bfd_arch_microblaze
-+#define ELF_TARGET_ID MICROBLAZE_ELF_DATA
-+#define ELF_MACHINE_CODE EM_MICROBLAZE
-+#define ELF_MACHINE_ALT1 EM_MICROBLAZE_OLD
-+#define ELF_MAXPAGESIZE 0x1000
-+#define elf_info_to_howto microblaze_elf_info_to_howto
-+#define elf_info_to_howto_rel NULL
-+
-+#define bfd_elf64_bfd_reloc_type_lookup microblaze_elf_reloc_type_lookup
-+#define bfd_elf64_bfd_is_local_label_name microblaze_elf_is_local_label_name
-+#define elf_backend_relocate_section microblaze_elf_relocate_section
-+#define bfd_elf64_bfd_relax_section microblaze_elf_relax_section
-+#define bfd_elf64_bfd_merge_private_bfd_data microblaze_elf_merge_private_bfd_data
-+#define bfd_elf64_bfd_reloc_name_lookup microblaze_elf_reloc_name_lookup
-+
-+#define elf_backend_gc_mark_hook microblaze_elf_gc_mark_hook
-+#define elf_backend_gc_sweep_hook microblaze_elf_gc_sweep_hook
-+#define elf_backend_check_relocs microblaze_elf_check_relocs
-+#define elf_backend_copy_indirect_symbol microblaze_elf_copy_indirect_symbol
-+#define bfd_elf64_bfd_link_hash_table_create microblaze_elf_link_hash_table_create
-+#define elf_backend_can_gc_sections 1
-+#define elf_backend_can_refcount 1
-+#define elf_backend_want_got_plt 1
-+#define elf_backend_plt_readonly 1
-+#define elf_backend_got_header_size 12
-+#define elf_backend_rela_normal 1
-+
-+#define elf_backend_adjust_dynamic_symbol microblaze_elf_adjust_dynamic_symbol
-+#define elf_backend_create_dynamic_sections microblaze_elf_create_dynamic_sections
-+#define elf_backend_finish_dynamic_sections microblaze_elf_finish_dynamic_sections
-+#define elf_backend_finish_dynamic_symbol microblaze_elf_finish_dynamic_symbol
-+#define elf_backend_size_dynamic_sections microblaze_elf_size_dynamic_sections
-+#define elf_backend_add_symbol_hook microblaze_elf_add_symbol_hook
-+
-+#include "elf64-target.h"
-Index: gdb-9.2/bfd/targets.c
-===================================================================
---- gdb-9.2.orig/bfd/targets.c
-+++ gdb-9.2/bfd/targets.c
-@@ -779,6 +779,8 @@ extern const bfd_target mep_elf32_le_vec
- extern const bfd_target metag_elf32_vec;
- extern const bfd_target microblaze_elf32_vec;
- extern const bfd_target microblaze_elf32_le_vec;
-+extern const bfd_target microblaze_elf64_vec;
-+extern const bfd_target microblaze_elf64_le_vec;
- extern const bfd_target mips_ecoff_be_vec;
- extern const bfd_target mips_ecoff_le_vec;
- extern const bfd_target mips_ecoff_bele_vec;
-@@ -1150,6 +1152,10 @@ static const bfd_target * const _bfd_tar
-
- &metag_elf32_vec,
-
-+#ifdef BFD64
-+ &microblaze_elf64_vec,
-+ &microblaze_elf64_le_vec,
-+#endif
- &microblaze_elf32_vec,
-
- &mips_ecoff_be_vec,
-Index: gdb-9.2/include/elf/common.h
-===================================================================
---- gdb-9.2.orig/include/elf/common.h
-+++ gdb-9.2/include/elf/common.h
-@@ -339,6 +339,7 @@
- #define EM_RISCV 243 /* RISC-V */
- #define EM_LANAI 244 /* Lanai 32-bit processor. */
- #define EM_BPF 247 /* Linux BPF – in-kernel virtual machine. */
-+#define EM_MB_64 248 /* Xilinx MicroBlaze 32-bit RISC soft processor core */
- #define EM_NFP 250 /* Netronome Flow Processor. */
- #define EM_CSKY 252 /* C-SKY processor family. */
-
-Index: gdb-9.2/ld/emulparams/elf64microblaze.sh
-===================================================================
---- /dev/null
-+++ gdb-9.2/ld/emulparams/elf64microblaze.sh
-@@ -0,0 +1,23 @@
-+SCRIPT_NAME=elfmicroblaze
-+OUTPUT_FORMAT="elf64-microblazeel"
-+#BIG_OUTPUT_FORMAT="elf64-microblaze"
-+LITTLE_OUTPUT_FORMAT="elf64-microblazeel"
-+#TEXT_START_ADDR=0
-+NONPAGED_TEXT_START_ADDR=0x28
-+ALIGNMENT=4
-+MAXPAGESIZE=4
-+ARCH=microblaze
-+EMBEDDED=yes
-+
-+NOP=0x80000000
-+
-+# Hmmm, there's got to be a better way. This sets the stack to the
-+# top of the simulator memory (2^19 bytes).
-+#PAGE_SIZE=0x1000
-+#DATA_ADDR=0x10000
-+#OTHER_RELOCATING_SECTIONS='.stack 0x7000 : { _stack = .; *(.stack) }'
-+#$@{RELOCATING+ PROVIDE (__stack = 0x7000);@}
-+#OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = _end + 0x1000);'
-+
-+TEMPLATE_NAME=elf32
-+#GENERATE_SHLIB_SCRIPT=yes
-Index: gdb-9.2/ld/emulparams/elf64microblazeel.sh
-===================================================================
---- /dev/null
-+++ gdb-9.2/ld/emulparams/elf64microblazeel.sh
-@@ -0,0 +1,23 @@
-+SCRIPT_NAME=elfmicroblaze
-+OUTPUT_FORMAT="elf64-microblazeel"
-+#BIG_OUTPUT_FORMAT="elf64-microblaze"
-+LITTLE_OUTPUT_FORMAT="elf64-microblazeel"
-+#TEXT_START_ADDR=0
-+NONPAGED_TEXT_START_ADDR=0x28
-+ALIGNMENT=4
-+MAXPAGESIZE=4
-+ARCH=microblaze
-+EMBEDDED=yes
-+
-+NOP=0x80000000
-+
-+# Hmmm, there's got to be a better way. This sets the stack to the
-+# top of the simulator memory (2^19 bytes).
-+#PAGE_SIZE=0x1000
-+#DATA_ADDR=0x10000
-+#OTHER_RELOCATING_SECTIONS='.stack 0x7000 : { _stack = .; *(.stack) }'
-+#$@{RELOCATING+ PROVIDE (__stack = 0x7000);@}
-+#OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = _end + 0x1000);'
-+
-+TEMPLATE_NAME=elf32
-+#GENERATE_SHLIB_SCRIPT=yes
-Index: gdb-9.2/opcodes/microblaze-dis.c
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-dis.c
-+++ gdb-9.2/opcodes/microblaze-dis.c
-@@ -33,6 +33,7 @@
- #define get_field_r1(buf, instr) get_field (buf, instr, RA_MASK, RA_LOW)
- #define get_field_r2(buf, instr) get_field (buf, instr, RB_MASK, RB_LOW)
- #define get_int_field_imm(instr) ((instr & IMM_MASK) >> IMM_LOW)
-+#define get_int_field_imml(instr) ((instr & IMML_MASK) >> IMM_LOW)
- #define get_int_field_r1(instr) ((instr & RA_MASK) >> RA_LOW)
-
- #define NUM_STRBUFS 3
-@@ -73,11 +74,19 @@ get_field_imm (struct string_buf *buf, l
- }
-
- static char *
--get_field_imm5 (struct string_buf *buf, long instr)
-+get_field_imml (struct string_buf *buf, long instr)
-+{
-+ char *p = strbuf (buf);
-+ sprintf (p, "%d", (short)((instr & IMML_MASK) >> IMM_LOW));
-+ return p;
-+}
-+
-+static char *
-+get_field_imms (struct string_buf *buf, long instr)
- {
- char *p = strbuf (buf);
-
-- sprintf (p, "%d", (short)((instr & IMM5_MASK) >> IMM_LOW));
-+ sprintf (p, "%d", (short)((instr & IMM6_MASK) >> IMM_LOW));
- return p;
- }
-
-@@ -91,14 +100,14 @@ get_field_imm5_mbar (struct string_buf *
- }
-
- static char *
--get_field_imm5width (struct string_buf *buf, long instr)
-+get_field_immw (struct string_buf *buf, long instr)
- {
- char *p = strbuf (buf);
-
- if (instr & 0x00004000)
-- sprintf (p, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW))); /* bsefi */
-+ sprintf (p, "%d", (short)(((instr & IMM6_WIDTH_MASK) >> IMM_WIDTH_LOW))); /* bsefi */
- else
-- sprintf (p, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW) - ((instr & IMM5_MASK) >> IMM_LOW) + 1)); /* bsifi */
-+ sprintf (p, "%d", (short)(((instr & IMM6_WIDTH_MASK) >> IMM_WIDTH_LOW) - ((instr & IMM6_MASK) >> IMM_LOW) + 1)); /* bsifi */
- return p;
- }
-
-@@ -306,9 +315,13 @@ print_insn_microblaze (bfd_vma memaddr,
- }
- }
- break;
-- case INST_TYPE_RD_R1_IMM5:
-+ case INST_TYPE_RD_R1_IMML:
-+ print_func (stream, "\t%s, %s, %s", get_field_rd (&buf, inst),
-+ get_field_r1 (&buf, inst), get_field_imm (&buf, inst));
-+ /* TODO: Also print symbol */
-+ case INST_TYPE_RD_R1_IMMS:
- print_func (stream, "\t%s, %s, %s", get_field_rd (&buf, inst),
-- get_field_r1 (&buf, inst), get_field_imm5 (&buf, inst));
-+ get_field_r1(&buf, inst), get_field_imms (&buf, inst));
- break;
- case INST_TYPE_RD_RFSL:
- print_func (stream, "\t%s, %s", get_field_rd (&buf, inst),
-@@ -415,6 +428,10 @@ print_insn_microblaze (bfd_vma memaddr,
- case INST_TYPE_RD_R2:
- print_func (stream, "\t%s, %s", get_field_rd (&buf, inst),
- get_field_r2 (&buf, inst));
-+ break;
-+ case INST_TYPE_IMML:
-+ print_func (stream, "\t%s", get_field_imml (&buf, inst));
-+ /* TODO: Also print symbol */
- break;
- case INST_TYPE_R2:
- print_func (stream, "\t%s", get_field_r2 (&buf, inst));
-@@ -438,8 +455,8 @@ print_insn_microblaze (bfd_vma memaddr,
- case INST_TYPE_NONE:
- break;
- /* For bit field insns. */
-- case INST_TYPE_RD_R1_IMM5_IMM5:
-- print_func (stream, "\t%s, %s, %s, %s", get_field_rd (&buf, inst),get_field_r1(&buf, inst),get_field_imm5width (&buf, inst), get_field_imm5 (&buf, inst));
-+ case INST_TYPE_RD_R1_IMMW_IMMS:
-+ print_func (stream, "\t%s, %s, %s, %s", get_field_rd (&buf, inst),get_field_r1(&buf, inst),get_field_immw (&buf, inst), get_field_imms (&buf, inst));
- break;
- /* For tuqula instruction */
- case INST_TYPE_RD:
-Index: gdb-9.2/opcodes/microblaze-opc.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opc.h
-+++ gdb-9.2/opcodes/microblaze-opc.h
-@@ -40,7 +40,7 @@
- #define INST_TYPE_RD_SPECIAL 11
- #define INST_TYPE_R1 12
- /* New instn type for barrel shift imms. */
--#define INST_TYPE_RD_R1_IMM5 13
-+#define INST_TYPE_RD_R1_IMMS 13
- #define INST_TYPE_RD_RFSL 14
- #define INST_TYPE_R1_RFSL 15
-
-@@ -60,7 +60,13 @@
- #define INST_TYPE_IMM5 20
-
- /* For bsefi and bsifi */
--#define INST_TYPE_RD_R1_IMM5_IMM5 21
-+#define INST_TYPE_RD_R1_IMMW_IMMS 21
-+
-+/* For 64-bit instructions */
-+#define INST_TYPE_IMML 22
-+#define INST_TYPE_RD_R1_IMML 23
-+#define INST_TYPE_R1_IMML 24
-+#define INST_TYPE_RD_R1_IMMW_IMMS 21
-
- #define INST_TYPE_NONE 25
-
-@@ -91,13 +97,14 @@
- #define OPCODE_MASK_H24 0xFC1F07FF /* High 6, bits 20-16 and low 11 bits. */
- #define OPCODE_MASK_H124 0xFFFF07FF /* High 16, and low 11 bits. */
- #define OPCODE_MASK_H1234 0xFFFFFFFF /* All 32 bits. */
--#define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
--#define OPCODE_MASK_H3B 0xFC00C600 /* High 6 bits and bits 16, 17, 21, 22. */
-+#define OPCODE_MASK_H3 0xFC000700 /* High 6 bits and bits 21, 22, 23. */
-+#define OPCODE_MASK_H3B 0xFC00E600 /* High 6 bits and bits 16, 17, 18, 21, 22. */
- #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
--#define OPCODE_MASK_H32B 0xFC00C000 /* High 6 bits and bit 16, 17. */
-+#define OPCODE_MASK_H32B 0xFC00E000 /* High 6 bits and bit 16, 17, 18. */
- #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
- #define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
- #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
-+#define OPCODE_MASK_H8 0xFF000000 /* High 8 bits only. */
-
- /* New Mask for msrset, msrclr insns. */
- #define OPCODE_MASK_H23N 0xFC1F8000 /* High 6 and bits 11 - 16. */
-@@ -107,7 +114,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 301
-+#define MAX_OPCODES 412
-
- struct op_code_struct
- {
-@@ -125,6 +132,7 @@ struct op_code_struct
- /* More info about output format here. */
- } opcodes[MAX_OPCODES] =
- {
-+ /* 32-bit instructions */
- {"add", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x00000000, OPCODE_MASK_H4, add, arithmetic_inst },
- {"rsub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H4, rsub, arithmetic_inst },
- {"addc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x08000000, OPCODE_MASK_H4, addc, arithmetic_inst },
-@@ -161,11 +169,11 @@ struct op_code_struct
- {"ncget", INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C006000, OPCODE_MASK_H32, ncget, anyware_inst },
- {"ncput", INST_TYPE_R1_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C00E000, OPCODE_MASK_H32, ncput, anyware_inst },
- {"muli", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x60000000, OPCODE_MASK_H, muli, mult_inst },
-- {"bslli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3, bslli, barrel_shift_inst },
-- {"bsrai", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3, bsrai, barrel_shift_inst },
-- {"bsrli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3, bsrli, barrel_shift_inst },
-- {"bsefi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64004000, OPCODE_MASK_H32B, bsefi, barrel_shift_inst },
-- {"bsifi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64008000, OPCODE_MASK_H32B, bsifi, barrel_shift_inst },
-+ {"bslli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3B, bslli, barrel_shift_inst },
-+ {"bsrai", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3B, bsrai, barrel_shift_inst },
-+ {"bsrli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3B, bsrli, barrel_shift_inst },
-+ {"bsefi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64004000, OPCODE_MASK_H32B, bsefi, barrel_shift_inst },
-+ {"bsifi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64008000, OPCODE_MASK_H32B, bsifi, barrel_shift_inst },
- {"or", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000000, OPCODE_MASK_H4, microblaze_or, logical_inst },
- {"and", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x84000000, OPCODE_MASK_H4, microblaze_and, logical_inst },
- {"xor", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000000, OPCODE_MASK_H4, microblaze_xor, logical_inst },
-@@ -425,6 +433,129 @@ struct op_code_struct
- {"suspend", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBB020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 24. */
- {"swapb", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E0, OPCODE_MASK_H4, swapb, arithmetic_inst },
- {"swaph", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E2, OPCODE_MASK_H4, swaph, arithmetic_inst },
-+
-+ /* 64-bit instructions */
-+ {"addl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x00000100, OPCODE_MASK_H4, addl, arithmetic_inst },
-+ {"rsubl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000100, OPCODE_MASK_H4, rsubl, arithmetic_inst },
-+ {"addlc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x08000100, OPCODE_MASK_H4, addlc, arithmetic_inst },
-+ {"rsublc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x0C000100, OPCODE_MASK_H4, rsublc, arithmetic_inst },
-+ {"addlk", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x10000100, OPCODE_MASK_H4, addlk, arithmetic_inst },
-+ {"rsublk", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000100, OPCODE_MASK_H4, rsublk, arithmetic_inst },
-+ {"addlkc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x18000100, OPCODE_MASK_H4, addlkc, arithmetic_inst },
-+ {"rsublkc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x1C000100, OPCODE_MASK_H4, rsublkc, arithmetic_inst },
-+ {"cmpl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000101, OPCODE_MASK_H4, cmpl, arithmetic_inst },
-+ {"cmplu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000103, OPCODE_MASK_H4, cmplu, arithmetic_inst },
-+ {"addli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x20000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsubli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x24000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlic", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x28000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublic", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x2C000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlik", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublik", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x34000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlikc", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x38000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublikc",INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x3C000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"mull", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x40000100, OPCODE_MASK_H4, mull, mult_inst },
-+ {"bslll", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000500, OPCODE_MASK_H3, bslll, barrel_shift_inst },
-+ {"bslra", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000300, OPCODE_MASK_H3, bslra, barrel_shift_inst },
-+ {"bslrl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000100, OPCODE_MASK_H3, bslrl, barrel_shift_inst },
-+ {"bsllli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64002400, OPCODE_MASK_H3B, bsllli, barrel_shift_inst },
-+ {"bslrai", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64002200, OPCODE_MASK_H3B, bslrai, barrel_shift_inst },
-+ {"bslrli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64002000, OPCODE_MASK_H3B, bslrli, barrel_shift_inst },
-+ {"bslefi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64006000, OPCODE_MASK_H32B, bslefi, barrel_shift_inst },
-+ {"bslifi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6400a000, OPCODE_MASK_H32B, bslifi, barrel_shift_inst },
-+ {"orl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000100, OPCODE_MASK_H4, orl, logical_inst },
-+ {"andl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x84000100, OPCODE_MASK_H4, andl, logical_inst },
-+ {"xorl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000100, OPCODE_MASK_H4, xorl, logical_inst },
-+ {"andnl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x8C000100, OPCODE_MASK_H4, andnl, logical_inst },
-+ {"pcmplbf", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000500, OPCODE_MASK_H4, pcmplbf, logical_inst },
-+ {"pcmpleq", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000500, OPCODE_MASK_H4, pcmpleq, logical_inst },
-+ {"pcmplne", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x8C000500, OPCODE_MASK_H4, pcmplne, logical_inst },
-+ {"srla", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000101, OPCODE_MASK_H34, srla, logical_inst },
-+ {"srlc", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000121, OPCODE_MASK_H34, srlc, logical_inst },
-+ {"srll", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000141, OPCODE_MASK_H34, srll, logical_inst },
-+ {"sextl8", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000160, OPCODE_MASK_H34, sextl8, logical_inst },
-+ {"sextl16", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000161, OPCODE_MASK_H34, sextl16, logical_inst },
-+ {"sextl32", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000162, OPCODE_MASK_H34, sextl32, logical_inst },
-+ {"brea", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98010000, OPCODE_MASK_H124, brea, branch_inst },
-+ {"bread", INST_TYPE_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98110000, OPCODE_MASK_H124, bread, branch_inst },
-+ {"breald", INST_TYPE_RD_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98150000, OPCODE_MASK_H24, breald, branch_inst },
-+ {"beaeq", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D000000, OPCODE_MASK_H14, beaeq, branch_inst },
-+ {"bealeq", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D000100, OPCODE_MASK_H14, bealeq, branch_inst },
-+ {"beaeqd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F000000, OPCODE_MASK_H14, beaeqd, branch_inst },
-+ {"bealeqd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F000100, OPCODE_MASK_H14, bealeqd, branch_inst },
-+ {"beane", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D200000, OPCODE_MASK_H14, beane, branch_inst },
-+ {"bealne", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D200100, OPCODE_MASK_H14, bealne, branch_inst },
-+ {"beaned", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F200000, OPCODE_MASK_H14, beaned, branch_inst },
-+ {"bealned", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F200100, OPCODE_MASK_H14, bealned, branch_inst },
-+ {"bealt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D400000, OPCODE_MASK_H14, bealt, branch_inst },
-+ {"beallt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D400100, OPCODE_MASK_H14, beallt, branch_inst },
-+ {"bealtd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F400000, OPCODE_MASK_H14, bealtd, branch_inst },
-+ {"bealltd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F400100, OPCODE_MASK_H14, bealltd, branch_inst },
-+ {"beale", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D600000, OPCODE_MASK_H14, beale, branch_inst },
-+ {"bealle", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D600100, OPCODE_MASK_H14, bealle, branch_inst },
-+ {"bealed", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F600000, OPCODE_MASK_H14, bealed, branch_inst },
-+ {"bealled", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F600100, OPCODE_MASK_H14, bealled, branch_inst },
-+ {"beagt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D800000, OPCODE_MASK_H14, beagt, branch_inst },
-+ {"bealgt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D800100, OPCODE_MASK_H14, bealgt, branch_inst },
-+ {"beagtd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F800000, OPCODE_MASK_H14, beagtd, branch_inst },
-+ {"bealgtd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F800100, OPCODE_MASK_H14, bealgtd, branch_inst },
-+ {"beage", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9DA00000, OPCODE_MASK_H14, beage, branch_inst },
-+ {"bealge", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9DA00100, OPCODE_MASK_H14, bealge, branch_inst },
-+ {"beaged", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9FA00000, OPCODE_MASK_H14, beaged, branch_inst },
-+ {"bealged", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9FA00100, OPCODE_MASK_H14, bealged, branch_inst },
-+ {"orli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA0000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"andli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA4000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"xorli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA8000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"andnli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xAC000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"imml", INST_TYPE_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB2000000, OPCODE_MASK_H8, imml, immediate_inst },
-+ {"breai", INST_TYPE_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8010000, OPCODE_MASK_H12, breai, branch_inst },
-+ {"breaid", INST_TYPE_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8110000, OPCODE_MASK_H12, breaid, branch_inst },
-+ {"brealid", INST_TYPE_RD_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8150000, OPCODE_MASK_H2, brealid, branch_inst },
-+ {"beaeqi", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD000000, OPCODE_MASK_H1, beaeqi, branch_inst },
-+ {"bealeqi", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD000000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beaeqi */
-+ {"beaeqid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF000000, OPCODE_MASK_H1, beaeqid, branch_inst },
-+ {"bealeqid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF000000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beaeqid */
-+ {"beanei", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD200000, OPCODE_MASK_H1, beanei, branch_inst },
-+ {"bealnei", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD200000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beanei */
-+ {"beaneid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF200000, OPCODE_MASK_H1, beaneid, branch_inst },
-+ {"bealneid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF200000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beaneid */
-+ {"bealti", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD400000, OPCODE_MASK_H1, bealti, branch_inst },
-+ {"beallti", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD400000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealti */
-+ {"bealtid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF400000, OPCODE_MASK_H1, bealtid, branch_inst },
-+ {"bealltid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF400000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealtid */
-+ {"bealei", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD600000, OPCODE_MASK_H1, bealei, branch_inst },
-+ {"beallei", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD600000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealei */
-+ {"bealeid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF600000, OPCODE_MASK_H1, bealeid, branch_inst },
-+ {"bealleid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF600000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealeid */
-+ {"beagti", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD800000, OPCODE_MASK_H1, beagti, branch_inst },
-+ {"bealgti", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD800000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beagti */
-+ {"beagtid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF800000, OPCODE_MASK_H1, beagtid, branch_inst },
-+ {"bealgtid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF800000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beagtid */
-+ {"beagei", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBDA00000, OPCODE_MASK_H1, beagei, branch_inst },
-+ {"bealgei", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBDA00000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beagei */
-+ {"beageid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBFA00000, OPCODE_MASK_H1, beageid, branch_inst },
-+ {"bealgeid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBFA00000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beageid */
-+ {"ll", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000100, OPCODE_MASK_H4, ll, memory_load_inst },
-+ {"llr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000300, OPCODE_MASK_H4, llr, memory_load_inst },
-+ {"sl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000100, OPCODE_MASK_H4, sl, memory_store_inst },
-+ {"slr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000300, OPCODE_MASK_H4, slr, memory_store_inst },
-+ {"lli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, invalid_inst, memory_load_inst }, /* Identical to 32-bit */
-+ {"sli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xF8000000, OPCODE_MASK_H, invalid_inst, memory_store_inst }, /* Identical to 32-bit */
-+ {"lla", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* lla translates to addlik */
-+ {"dadd", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000400, OPCODE_MASK_H4, dadd, arithmetic_inst },
-+ {"drsub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000480, OPCODE_MASK_H4, drsub, arithmetic_inst },
-+ {"dmul", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000500, OPCODE_MASK_H4, dmul, arithmetic_inst },
-+ {"ddiv", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000580, OPCODE_MASK_H4, ddiv, arithmetic_inst },
-+ {"dcmp.lt", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000610, OPCODE_MASK_H4, dcmp_lt, arithmetic_inst },
-+ {"dcmp.eq", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000620, OPCODE_MASK_H4, dcmp_eq, arithmetic_inst },
-+ {"dcmp.le", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000630, OPCODE_MASK_H4, dcmp_le, arithmetic_inst },
-+ {"dcmp.gt", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000640, OPCODE_MASK_H4, dcmp_gt, arithmetic_inst },
-+ {"dcmp.ne", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000650, OPCODE_MASK_H4, dcmp_ne, arithmetic_inst },
-+ {"dcmp.ge", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000660, OPCODE_MASK_H4, dcmp_ge, arithmetic_inst },
-+ {"dcmp.un", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000600, OPCODE_MASK_H4, dcmp_un, arithmetic_inst },
-+ {"dbl", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000680, OPCODE_MASK_H4, dbl, arithmetic_inst },
-+ {"dlong", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000700, OPCODE_MASK_H4, dlong, arithmetic_inst },
-+ {"dsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000780, OPCODE_MASK_H4, dsqrt, arithmetic_inst },
-+
- {"", 0, 0, 0, 0, 0, 0, 0, 0},
- };
-
-@@ -445,8 +576,17 @@ char pvr_register_prefix[] = "rpvr";
- #define MIN_IMM5 ((int) 0x00000000)
- #define MAX_IMM5 ((int) 0x0000001f)
-
-+#define MIN_IMM6 ((int) 0x00000000)
-+#define MAX_IMM6 ((int) 0x0000003f)
-+
- #define MIN_IMM_WIDTH ((int) 0x00000001)
- #define MAX_IMM_WIDTH ((int) 0x00000020)
-
-+#define MIN_IMM6_WIDTH ((int) 0x00000001)
-+#define MAX_IMM6_WIDTH ((int) 0x00000040)
-+
-+#define MIN_IMML ((long) 0xffffff8000000000L)
-+#define MAX_IMML ((long) 0x0000007fffffffffL)
-+
- #endif /* MICROBLAZE_OPC */
-
-Index: gdb-9.2/opcodes/microblaze-opcm.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opcm.h
-+++ gdb-9.2/opcodes/microblaze-opcm.h
-@@ -25,6 +25,7 @@
-
- enum microblaze_instr
- {
-+ /* 32-bit instructions */
- add, rsub, addc, rsubc, addk, rsubk, addkc, rsubkc, clz, cmp, cmpu,
- addi, rsubi, addic, rsubic, addik, rsubik, addikc, rsubikc, mul,
- mulh, mulhu, mulhsu,swapb,swaph,
-@@ -58,6 +59,18 @@ enum microblaze_instr
- aputd, taputd, caputd, tcaputd, naputd, tnaputd, ncaputd, tncaputd,
- eagetd, teagetd, ecagetd, tecagetd, neagetd, tneagetd, necagetd, tnecagetd,
- eaputd, teaputd, ecaputd, tecaputd, neaputd, tneaputd, necaputd, tnecaputd,
-+
-+ /* 64-bit instructions */
-+ addl, rsubl, addlc, rsublc, addlk, rsublk, addlkc, rsublkc, cmpl, cmplu, mull,
-+ bslll, bslra, bslrl, bsllli, bslrai, bslrli, bslefi, bslifi, orl, andl, xorl,
-+ andnl, pcmplbf, pcmpleq, pcmplne, srla, srlc, srll, sextl8, sextl16, sextl32,
-+ brea, bread, breald, beaeq, bealeq, beaeqd, bealeqd, beane, bealne, beaned,
-+ bealned, bealt, beallt, bealtd, bealltd, beale, bealle, bealed, bealled, beagt,
-+ bealgt, beagtd, bealgtd, beage, bealge, beaged, bealged, breai, breaid, brealid,
-+ beaeqi, beaeqid, beanei, beaneid, bealti, bealtid, bealei, bealeid, beagti,
-+ beagtid, beagei, beageid, imml, ll, llr, sl, slr,
-+ dadd, drsub, dmul, ddiv, dcmp_lt, dcmp_eq, dcmp_le, dcmp_gt, dcmp_ne, dcmp_ge,
-+ dcmp_un, dbl, dlong, dsqrt,
- invalid_inst
- };
-
-@@ -135,15 +148,18 @@ enum microblaze_instr_type
- #define RA_MASK 0x001F0000
- #define RB_MASK 0x0000F800
- #define IMM_MASK 0x0000FFFF
-+#define IMML_MASK 0x00FFFFFF
-
--/* Imm mask for barrel shifts. */
-+/* Imm masks for barrel shifts. */
- #define IMM5_MASK 0x0000001F
-+#define IMM6_MASK 0x0000003F
-
- /* Imm mask for mbar. */
- #define IMM5_MBAR_MASK 0x03E00000
-
--/* Imm mask for extract/insert width. */
-+/* Imm masks for extract/insert width. */
- #define IMM5_WIDTH_MASK 0x000007C0
-+#define IMM6_WIDTH_MASK 0x00000FC0
-
- /* FSL imm mask for get, put instructions. */
- #define RFSL_MASK 0x000000F
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0015-MB-X-initial-commit.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0015-MB-X-initial-commit.patch
deleted file mode 100644
index 6f5e0b6c2..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0015-MB-X-initial-commit.patch
+++ /dev/null
@@ -1,359 +0,0 @@
-From 070b7b1f35dedc41b1ba9a228d701485b2239ac0 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Sun, 30 Sep 2018 16:31:26 +0530
-Subject: [PATCH 15/52] MB-X initial commit code cleanup is needed.
-
-Conflicts:
- bfd/elf32-microblaze.c
- gas/config/tc-microblaze.c
- opcodes/microblaze-opcm.h
----
- bfd/bfd-in2.h | 10 +++
- bfd/elf32-microblaze.c | 59 +++++++++++++-
- bfd/elf64-microblaze.c | 61 ++++++++++++++-
- bfd/libbfd.h | 2 +
- bfd/reloc.c | 12 +++
- gas/config/tc-microblaze.c | 154 ++++++++++++++++++++++++++++++-------
- include/elf/microblaze.h | 2 +
- opcodes/microblaze-opc.h | 10 +--
- opcodes/microblaze-opcm.h | 4 +-
- 9 files changed, 278 insertions(+), 36 deletions(-)
-
-Index: gdb-9.2/bfd/bfd-in2.h
-===================================================================
---- gdb-9.2.orig/bfd/bfd-in2.h
-+++ gdb-9.2/bfd/bfd-in2.h
-@@ -5374,11 +5374,21 @@ done here - only used for relaxing */
- BFD_RELOC_MICROBLAZE_64_NONE,
-
- /* This is a 64 bit reloc that stores the 32 bit pc relative
-+ * +value in two words (with an imml instruction). No relocation is
-+ * +done here - only used for relaxing */
-+ BFD_RELOC_MICROBLAZE_64,
-+
-+/* This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). The relocation is
- PC-relative GOT offset */
- BFD_RELOC_MICROBLAZE_64_GOTPC,
-
- /* This is a 64 bit reloc that stores the 32 bit pc relative
-+value in two words (with an imml instruction). The relocation is
-+PC-relative GOT offset */
-+ BFD_RELOC_MICROBLAZE_64_GPC,
-+
-+/* This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). The relocation is
- GOT offset */
- BFD_RELOC_MICROBLAZE_64_GOT,
-Index: gdb-9.2/bfd/elf32-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf32-microblaze.c
-+++ gdb-9.2/bfd/elf32-microblaze.c
-@@ -116,6 +116,20 @@ static reloc_howto_type microblaze_elf_h
- 0x0000ffff, /* Dest Mask. */
- TRUE), /* PC relative offset? */
-
-+ HOWTO (R_MICROBLAZE_IMML_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_IMML_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
- /* A 64 bit relocation. Table entry not really used. */
- HOWTO (R_MICROBLAZE_64, /* Type. */
- 0, /* Rightshift. */
-@@ -280,6 +294,21 @@ static reloc_howto_type microblaze_elf_h
- 0x0000ffff, /* Dest Mask. */
- TRUE), /* PC relative offset? */
-
-+ /* A 64 bit GOTPC relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GPC_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc, /* Special Function. */
-+ "R_MICROBLAZE_GPC_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
- /* A 64 bit GOT relocation. Table-entry not really used. */
- HOWTO (R_MICROBLAZE_GOT_64, /* Type. */
- 0, /* Rightshift. */
-@@ -619,9 +648,15 @@ microblaze_elf_reloc_type_lookup (bfd *
- case BFD_RELOC_VTABLE_ENTRY:
- microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
- break;
-+ case BFD_RELOC_MICROBLAZE_64:
-+ microblaze_reloc = R_MICROBLAZE_IMML_64;
-+ break;
- case BFD_RELOC_MICROBLAZE_64_GOTPC:
- microblaze_reloc = R_MICROBLAZE_GOTPC_64;
- break;
-+ case BFD_RELOC_MICROBLAZE_64_GPC:
-+ microblaze_reloc = R_MICROBLAZE_GPC_64;
-+ break;
- case BFD_RELOC_MICROBLAZE_64_GOT:
- microblaze_reloc = R_MICROBLAZE_GOT_64;
- break;
-@@ -1467,7 +1502,7 @@ microblaze_elf_relocate_section (bfd *ou
- if (r_symndx == STN_UNDEF || (input_section->flags & SEC_ALLOC) == 0)
- {
- relocation += addend;
-- if (r_type == R_MICROBLAZE_32)
-+ if (r_type == R_MICROBLAZE_32)// || r_type == R_MICROBLAZE_IMML_64)
- bfd_put_32 (input_bfd, relocation, contents + offset);
- else
- {
-@@ -1933,6 +1968,28 @@ microblaze_elf_relax_section (bfd *abfd,
- irel->r_addend -= calc_fixup (irel->r_addend, 0, sec);
- }
- break;
-+ case R_MICROBLAZE_IMML_64:
-+ {
-+ /* This was a PC-relative instruction that was
-+ completely resolved. */
-+ int sfix, efix;
-+ unsigned int val;
-+ bfd_vma target_address;
-+ target_address = irel->r_addend + irel->r_offset;
-+ sfix = calc_fixup (irel->r_offset, 0, sec);
-+ efix = calc_fixup (target_address, 0, sec);
-+
-+ /* Validate the in-band val. */
-+ val = bfd_get_32 (abfd, contents + irel->r_offset);
-+ if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
-+ }
-+ irel->r_addend -= (efix - sfix);
-+ /* Should use HOWTO. */
-+ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
-+ }
-+ break;
- case R_MICROBLAZE_NONE:
- case R_MICROBLAZE_32_NONE:
- {
-Index: gdb-9.2/bfd/elf64-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf64-microblaze.c
-+++ gdb-9.2/bfd/elf64-microblaze.c
-@@ -117,6 +117,21 @@ static reloc_howto_type microblaze_elf_h
- TRUE), /* PC relative offset? */
-
- /* A 64 bit relocation. Table entry not really used. */
-+ HOWTO (R_MICROBLAZE_IMML_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 4, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 64, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc,/* Special Function. */
-+ "R_MICROBLAZE_IMML_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
-+ /* A 64 bit relocation. Table entry not really used. */
- HOWTO (R_MICROBLAZE_64, /* Type. */
- 0, /* Rightshift. */
- 2, /* Size (0 = byte, 1 = short, 2 = long). */
-@@ -265,6 +280,21 @@ static reloc_howto_type microblaze_elf_h
- 0x0000ffff, /* Dest Mask. */
- TRUE), /* PC relative offset? */
-
-+ /* A 64 bit GOTPC relocation. Table-entry not really used. */
-+ HOWTO (R_MICROBLAZE_GPC_64, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 16, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_dont, /* Complain on overflow. */
-+ bfd_elf_generic_reloc, /* Special Function. */
-+ "R_MICROBLAZE_GPC_64", /* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0x0000ffff, /* Dest Mask. */
-+ TRUE), /* PC relative offset? */
-+
- /* A 64 bit GOT relocation. Table-entry not really used. */
- HOWTO (R_MICROBLAZE_GOT_64, /* Type. */
- 0, /* Rightshift. */
-@@ -589,9 +619,15 @@ microblaze_elf_reloc_type_lookup (bfd *
- case BFD_RELOC_VTABLE_ENTRY:
- microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
- break;
-+ case BFD_RELOC_MICROBLAZE_64:
-+ microblaze_reloc = R_MICROBLAZE_IMML_64;
-+ break;
- case BFD_RELOC_MICROBLAZE_64_GOTPC:
- microblaze_reloc = R_MICROBLAZE_GOTPC_64;
- break;
-+ case BFD_RELOC_MICROBLAZE_64_GPC:
-+ microblaze_reloc = R_MICROBLAZE_GPC_64;
-+ break;
- case BFD_RELOC_MICROBLAZE_64_GOT:
- microblaze_reloc = R_MICROBLAZE_GOT_64;
- break;
-@@ -1172,6 +1208,7 @@ microblaze_elf_relocate_section (bfd *ou
- break; /* Do nothing. */
-
- case (int) R_MICROBLAZE_GOTPC_64:
-+ case (int) R_MICROBLAZE_GPC_64:
- relocation = htab->sgotplt->output_section->vma
- + htab->sgotplt->output_offset;
- relocation -= (input_section->output_section->vma
-@@ -1443,7 +1480,7 @@ microblaze_elf_relocate_section (bfd *ou
- if (r_symndx == STN_UNDEF || (input_section->flags & SEC_ALLOC) == 0)
- {
- relocation += addend;
-- if (r_type == R_MICROBLAZE_32)
-+ if (r_type == R_MICROBLAZE_32)// || r_type == R_MICROBLAZE_IMML_64)
- bfd_put_32 (input_bfd, relocation, contents + offset);
- else
- {
-@@ -1889,6 +1926,28 @@ microblaze_elf_relax_section (bfd *abfd,
- irel->r_addend -= calc_fixup (irel->r_addend, 0, sec);
- }
- break;
-+ case R_MICROBLAZE_IMML_64:
-+ {
-+ /* This was a PC-relative instruction that was
-+ completely resolved. */
-+ int sfix, efix;
-+ unsigned int val;
-+ bfd_vma target_address;
-+ target_address = irel->r_addend + irel->r_offset;
-+ sfix = calc_fixup (irel->r_offset, 0, sec);
-+ efix = calc_fixup (target_address, 0, sec);
-+
-+ /* Validate the in-band val. */
-+ val = bfd_get_32 (abfd, contents + irel->r_offset);
-+ if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
-+ }
-+ irel->r_addend -= (efix - sfix);
-+ /* Should use HOWTO. */
-+ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
-+ }
-+ break;
- case R_MICROBLAZE_NONE:
- case R_MICROBLAZE_32_NONE:
- {
-Index: gdb-9.2/bfd/libbfd.h
-===================================================================
---- gdb-9.2.orig/bfd/libbfd.h
-+++ gdb-9.2/bfd/libbfd.h
-@@ -2905,7 +2905,9 @@ static const char *const bfd_reloc_code_
- "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
- "BFD_RELOC_MICROBLAZE_32_NONE",
- "BFD_RELOC_MICROBLAZE_64_NONE",
-+ "BFD_RELOC_MICROBLAZE_64",
- "BFD_RELOC_MICROBLAZE_64_GOTPC",
-+ "BFD_RELOC_MICROBLAZE_64_GPC",
- "BFD_RELOC_MICROBLAZE_64_GOT",
- "BFD_RELOC_MICROBLAZE_64_PLT",
- "BFD_RELOC_MICROBLAZE_64_GOTOFF",
-Index: gdb-9.2/bfd/reloc.c
-===================================================================
---- gdb-9.2.orig/bfd/reloc.c
-+++ gdb-9.2/bfd/reloc.c
-@@ -6815,6 +6815,12 @@ ENUMDOC
- ENUM
- BFD_RELOC_MICROBLAZE_64_NONE
- ENUMDOC
-+ This is a 32 bit reloc that stores the 32 bit pc relative
-+ value in two words (with an imml instruction). No relocation is
-+ done here - only used for relaxing
-+ENUM
-+ BFD_RELOC_MICROBLAZE_64
-+ENUMDOC
- This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). No relocation is
- done here - only used for relaxing
-@@ -6822,6 +6828,12 @@ ENUM
- BFD_RELOC_MICROBLAZE_64_GOTPC
- ENUMDOC
- This is a 64 bit reloc that stores the 32 bit pc relative
-+ value in two words (with an imml instruction). No relocation is
-+ done here - only used for relaxing
-+ENUM
-+ BFD_RELOC_MICROBLAZE_64_GPC
-+ENUMDOC
-+ This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). The relocation is
- PC-relative GOT offset
- ENUM
-Index: gdb-9.2/include/elf/microblaze.h
-===================================================================
---- gdb-9.2.orig/include/elf/microblaze.h
-+++ gdb-9.2/include/elf/microblaze.h
-@@ -62,6 +62,8 @@ START_RELOC_NUMBERS (elf_microblaze_relo
- RELOC_NUMBER (R_MICROBLAZE_TEXTREL_64, 31) /* TEXT Entry offset 64-bit. */
- RELOC_NUMBER (R_MICROBLAZE_TEXTREL_32_LO, 32) /* TEXT Entry offset 32-bit. */
- RELOC_NUMBER (R_MICROBLAZE_32_NONE, 33)
-+ RELOC_NUMBER (R_MICROBLAZE_IMML_64, 34)
-+ RELOC_NUMBER (R_MICROBLAZE_GPC_64, 35) /* GOT entry offset. */
-
- END_RELOC_NUMBERS (R_MICROBLAZE_max)
-
-Index: gdb-9.2/opcodes/microblaze-opc.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opc.h
-+++ gdb-9.2/opcodes/microblaze-opc.h
-@@ -282,10 +282,10 @@ struct op_code_struct
- {"smi", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xF8000000, OPCODE_MASK_H, invalid_inst, memory_store_inst },
- {"msrset",INST_TYPE_RD_IMM15, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x94100000, OPCODE_MASK_H23N, msrset, special_inst },
- {"msrclr",INST_TYPE_RD_IMM15, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x94110000, OPCODE_MASK_H23N, msrclr, special_inst },
-- {"fadd", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000000, OPCODE_MASK_H4, fadd, arithmetic_inst },
-+ {"fadd", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000000, OPCODE_MASK_H4, mbi_fadd, arithmetic_inst },
- {"frsub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000080, OPCODE_MASK_H4, frsub, arithmetic_inst },
-- {"fmul", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000100, OPCODE_MASK_H4, fmul, arithmetic_inst },
-- {"fdiv", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000180, OPCODE_MASK_H4, fdiv, arithmetic_inst },
-+ {"fmul", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000100, OPCODE_MASK_H4, mbi_fmul, arithmetic_inst },
-+ {"fdiv", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000180, OPCODE_MASK_H4, mbi_fdiv, arithmetic_inst },
- {"fcmp.lt", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000210, OPCODE_MASK_H4, fcmp_lt, arithmetic_inst },
- {"fcmp.eq", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000220, OPCODE_MASK_H4, fcmp_eq, arithmetic_inst },
- {"fcmp.le", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000230, OPCODE_MASK_H4, fcmp_le, arithmetic_inst },
-@@ -538,8 +538,8 @@ struct op_code_struct
- {"llr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000300, OPCODE_MASK_H4, llr, memory_load_inst },
- {"sl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000100, OPCODE_MASK_H4, sl, memory_store_inst },
- {"slr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000300, OPCODE_MASK_H4, slr, memory_store_inst },
-- {"lli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, invalid_inst, memory_load_inst }, /* Identical to 32-bit */
-- {"sli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xF8000000, OPCODE_MASK_H, invalid_inst, memory_store_inst }, /* Identical to 32-bit */
-+ {"lli", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xEC000000, OPCODE_MASK_H, invalid_inst, memory_load_inst }, /* Identical to 32-bit */
-+ {"sli", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xFC000000, OPCODE_MASK_H, invalid_inst, memory_store_inst }, /* Identical to 32-bit */
- {"lla", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* lla translates to addlik */
- {"dadd", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000400, OPCODE_MASK_H4, dadd, arithmetic_inst },
- {"drsub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000480, OPCODE_MASK_H4, drsub, arithmetic_inst },
-Index: gdb-9.2/opcodes/microblaze-opcm.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opcm.h
-+++ gdb-9.2/opcodes/microblaze-opcm.h
-@@ -40,8 +40,8 @@ enum microblaze_instr
- imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
- brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
- bgtid, bgei, bgeid, lbu, lbuea, lbur, lhu, lhuea, lhur, lw, lwea, lwr, lwx,
-- sb, sbea, sbr, sh, shea, shr, sw, swea, swr, swx, lbui, lhui, lwi,
-- sbi, shi, swi, msrset, msrclr, tuqula, mbi_fadd, frsub, mbi_fmul, mbi_fdiv,
-+ sb, sbea, sbr, sh, shea, shr, sw, swea, swr, swx, lbui, lhui, lwi, lli,
-+ sbi, shi, swi, sli, msrset, msrclr, tuqula, mbi_fadd, frsub, mbi_fmul, mbi_fdiv,
- fcmp_lt, fcmp_eq, fcmp_le, fcmp_gt, fcmp_ne, fcmp_ge, fcmp_un, flt,
- fint, fsqrt,
- tget, tcget, tnget, tncget, tput, tcput, tnput, tncput,
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0016-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0016-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch
deleted file mode 100644
index a717595b5..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0016-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 8ad2e417691ac2b89ffec9db9026d53600d9a137 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 11 Sep 2018 13:48:33 +0530
-Subject: [PATCH 16/52] [Patch,Microblaze] : negl instruction is overriding
- rsubl,fixed it by changing the instruction order...
-
----
- opcodes/microblaze-opc.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: gdb-9.2/opcodes/microblaze-opc.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opc.h
-+++ gdb-9.2/opcodes/microblaze-opc.h
-@@ -275,9 +275,7 @@ struct op_code_struct
- {"la", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* la translates to addik. */
- {"tuqula",INST_TYPE_RD, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x3000002A, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* tuqula rd translates to addik rd, r0, 42. */
- {"not", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA800FFFF, OPCODE_MASK_H34, invalid_inst, logical_inst }, /* not translates to xori rd,ra,-1. */
-- {"neg", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* neg translates to rsub rd, ra, r0. */
- {"rtb", INST_TYPE_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB6000004, OPCODE_MASK_H1, invalid_inst, return_inst }, /* rtb translates to rts rd, 4. */
-- {"sub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* sub translates to rsub rd, rb, ra. */
- {"lmi", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, invalid_inst, memory_load_inst },
- {"smi", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xF8000000, OPCODE_MASK_H, invalid_inst, memory_store_inst },
- {"msrset",INST_TYPE_RD_IMM15, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x94100000, OPCODE_MASK_H23N, msrset, special_inst },
-@@ -555,6 +553,8 @@ struct op_code_struct
- {"dbl", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000680, OPCODE_MASK_H4, dbl, arithmetic_inst },
- {"dlong", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000700, OPCODE_MASK_H4, dlong, arithmetic_inst },
- {"dsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000780, OPCODE_MASK_H4, dsqrt, arithmetic_inst },
-+ {"neg", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* neg translates to rsub rd, ra, r0. */
-+ {"sub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* sub translates to rsub rd, rb, ra. */
-
- {"", 0, 0, 0, 0, 0, 0, 0, 0},
- };
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0017-Added-relocations-for-MB-X.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0017-Added-relocations-for-MB-X.patch
deleted file mode 100644
index ac9da7a9c..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0017-Added-relocations-for-MB-X.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From eccbce1a31ed29dc38fb9ab15b6badcf9412bdb8 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Tue, 11 Sep 2018 17:30:17 +0530
-Subject: [PATCH 17/52] Added relocations for MB-X
-
-Conflicts:
- bfd/bfd-in2.h
- gas/config/tc-microblaze.c
----
- bfd/bfd-in2.h | 9 +++-
- bfd/libbfd.h | 4 +-
- bfd/reloc.c | 26 ++++++-----
- gas/config/tc-microblaze.c | 90 ++++++++++++++++----------------------
- 4 files changed, 61 insertions(+), 68 deletions(-)
-
-Index: gdb-9.2/bfd/bfd-in2.h
-===================================================================
---- gdb-9.2.orig/bfd/bfd-in2.h
-+++ gdb-9.2/bfd/bfd-in2.h
-@@ -5371,14 +5371,19 @@ done here - only used for relaxing */
- /* This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). No relocation is
- done here - only used for relaxing */
-- BFD_RELOC_MICROBLAZE_64_NONE,
-+ BFD_RELOC_MICROBLAZE_64_PCREL,
-
--/* This is a 64 bit reloc that stores the 32 bit pc relative
-+/* This is a 64 bit reloc that stores the 32 bit relative
- * +value in two words (with an imml instruction). No relocation is
- * +done here - only used for relaxing */
- BFD_RELOC_MICROBLAZE_64,
-
- /* This is a 64 bit reloc that stores the 32 bit pc relative
-+ * +value in two words (with an imm instruction). No relocation is
-+ * +done here - only used for relaxing */
-+ BFD_RELOC_MICROBLAZE_64_NONE,
-+
-+/* This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). The relocation is
- PC-relative GOT offset */
- BFD_RELOC_MICROBLAZE_64_GOTPC,
-Index: gdb-9.2/bfd/libbfd.h
-===================================================================
---- gdb-9.2.orig/bfd/libbfd.h
-+++ gdb-9.2/bfd/libbfd.h
-@@ -2905,14 +2905,14 @@ static const char *const bfd_reloc_code_
- "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
- "BFD_RELOC_MICROBLAZE_32_NONE",
- "BFD_RELOC_MICROBLAZE_64_NONE",
-- "BFD_RELOC_MICROBLAZE_64",
- "BFD_RELOC_MICROBLAZE_64_GOTPC",
-- "BFD_RELOC_MICROBLAZE_64_GPC",
- "BFD_RELOC_MICROBLAZE_64_GOT",
- "BFD_RELOC_MICROBLAZE_64_PLT",
- "BFD_RELOC_MICROBLAZE_64_GOTOFF",
- "BFD_RELOC_MICROBLAZE_32_GOTOFF",
- "BFD_RELOC_MICROBLAZE_COPY",
-+ "BFD_RELOC_MICROBLAZE_64",
-+ "BFD_RELOC_MICROBLAZE_64_PCREL",
- "BFD_RELOC_MICROBLAZE_64_TLS",
- "BFD_RELOC_MICROBLAZE_64_TLSGD",
- "BFD_RELOC_MICROBLAZE_64_TLSLD",
-Index: gdb-9.2/bfd/reloc.c
-===================================================================
---- gdb-9.2.orig/bfd/reloc.c
-+++ gdb-9.2/bfd/reloc.c
-@@ -6815,12 +6815,6 @@ ENUMDOC
- ENUM
- BFD_RELOC_MICROBLAZE_64_NONE
- ENUMDOC
-- This is a 32 bit reloc that stores the 32 bit pc relative
-- value in two words (with an imml instruction). No relocation is
-- done here - only used for relaxing
--ENUM
-- BFD_RELOC_MICROBLAZE_64
--ENUMDOC
- This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). No relocation is
- done here - only used for relaxing
-@@ -6828,12 +6822,6 @@ ENUM
- BFD_RELOC_MICROBLAZE_64_GOTPC
- ENUMDOC
- This is a 64 bit reloc that stores the 32 bit pc relative
-- value in two words (with an imml instruction). No relocation is
-- done here - only used for relaxing
--ENUM
-- BFD_RELOC_MICROBLAZE_64_GPC
--ENUMDOC
-- This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). The relocation is
- PC-relative GOT offset
- ENUM
-@@ -6917,6 +6905,20 @@ ENUMDOC
- value in two words (with an imm instruction). The relocation is
- relative offset from start of TEXT.
-
-+ This is a 64 bit reloc that stores 64-bit thread pointer relative offset
-+ to two words (uses imml instruction).
-+ENUM
-+BFD_RELOC_MICROBLAZE_64,
-+ENUMDOC
-+ This is a 64 bit reloc that stores the 64 bit pc relative
-+ value in two words (with an imml instruction). No relocation is
-+ done here - only used for relaxing
-+ENUM
-+BFD_RELOC_MICROBLAZE_64_PCREL,
-+ENUMDOC
-+ This is a 32 bit reloc that stores the 32 bit pc relative
-+ value in two words (with an imml instruction). No relocation is
-+ done here - only used for relaxing
- ENUM
- BFD_RELOC_AARCH64_RELOC_START
- ENUMDOC
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0018-Fixed-MB-x-relocation-issues.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0018-Fixed-MB-x-relocation-issues.patch
deleted file mode 100644
index 84a4d3160..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0018-Fixed-MB-x-relocation-issues.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 0868dedda1b7b8112870dcc69f887d32a51b94b6 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Fri, 28 Sep 2018 12:04:55 +0530
-Subject: [PATCH 18/52] -Fixed MB-x relocation issues -Added imml for required
- MB-x instructions
-
----
- bfd/elf64-microblaze.c | 68 ++++++++++++++---
- gas/config/tc-microblaze.c | 152 +++++++++++++++++++++++++++----------
- gas/tc.h | 2 +-
- 3 files changed, 167 insertions(+), 55 deletions(-)
-
-Index: gdb-9.2/bfd/elf64-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf64-microblaze.c
-+++ gdb-9.2/bfd/elf64-microblaze.c
-@@ -1488,8 +1488,17 @@ microblaze_elf_relocate_section (bfd *ou
- relocation -= (input_section->output_section->vma
- + input_section->output_offset
- + offset + INST_WORD_SIZE);
-- bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
-+ if (insn == 0xb2000000 || insn == 0xb2ffffff)
-+ {
-+ insn &= ~0x00ffffff;
-+ insn |= (relocation >> 16) & 0xffffff;
-+ bfd_put_32 (input_bfd, insn,
- contents + offset + endian);
-+ }
-+ else
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
- bfd_put_16 (input_bfd, relocation & 0xffff,
- contents + offset + endian + INST_WORD_SIZE);
- }
-@@ -1580,11 +1589,28 @@ microblaze_elf_relocate_section (bfd *ou
- else
- {
- if (r_type == R_MICROBLAZE_64_PCREL)
-- relocation -= (input_section->output_section->vma
-- + input_section->output_offset
-- + offset + INST_WORD_SIZE);
-- bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ {
-+ if (!input_section->output_section->vma &&
-+ !input_section->output_offset && !offset)
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset);
-+ else
-+ relocation -= (input_section->output_section->vma
-+ + input_section->output_offset
-+ + offset + INST_WORD_SIZE);
-+ }
-+ unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
-+ if (insn == 0xb2000000 || insn == 0xb2ffffff)
-+ {
-+ insn &= ~0x00ffffff;
-+ insn |= (relocation >> 16) & 0xffffff;
-+ bfd_put_32 (input_bfd, insn,
- contents + offset + endian);
-+ }
-+ else
-+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-+ contents + offset + endian);
- bfd_put_16 (input_bfd, relocation & 0xffff,
- contents + offset + endian + INST_WORD_SIZE);
- }
-@@ -1703,9 +1729,19 @@ static void
- microblaze_bfd_write_imm_value_32 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
- {
- unsigned long instr = bfd_get_32 (abfd, bfd_addr);
-- instr &= ~0x0000ffff;
-- instr |= (val & 0x0000ffff);
-- bfd_put_32 (abfd, instr, bfd_addr);
-+
-+ if (instr == 0xb2000000 || instr == 0xb2ffffff)
-+ {
-+ instr &= ~0x00ffffff;
-+ instr |= (val & 0xffffff);
-+ bfd_put_32 (abfd, instr, bfd_addr);
-+ }
-+ else
-+ {
-+ instr &= ~0x0000ffff;
-+ instr |= (val & 0x0000ffff);
-+ bfd_put_32 (abfd, instr, bfd_addr);
-+ }
- }
-
- /* Read-modify-write into the bfd, an immediate value into appropriate fields of
-@@ -1717,10 +1753,18 @@ microblaze_bfd_write_imm_value_64 (bfd *
- unsigned long instr_lo;
-
- instr_hi = bfd_get_32 (abfd, bfd_addr);
-- instr_hi &= ~0x0000ffff;
-- instr_hi |= ((val >> 16) & 0x0000ffff);
-- bfd_put_32 (abfd, instr_hi, bfd_addr);
--
-+ if (instr_hi == 0xb2000000 || instr_hi == 0xb2ffffff)
-+ {
-+ instr_hi &= ~0x00ffffff;
-+ instr_hi |= (val >> 16) & 0xffffff;
-+ bfd_put_32 (abfd, instr_hi,bfd_addr);
-+ }
-+ else
-+ {
-+ instr_hi &= ~0x0000ffff;
-+ instr_hi |= ((val >> 16) & 0x0000ffff);
-+ bfd_put_32 (abfd, instr_hi, bfd_addr);
-+ }
- instr_lo = bfd_get_32 (abfd, bfd_addr + INST_WORD_SIZE);
- instr_lo &= ~0x0000ffff;
- instr_lo |= (val & 0x0000ffff);
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0019-Fixing-the-branch-related-issues.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0019-Fixing-the-branch-related-issues.patch
deleted file mode 100644
index b3f93845a..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0019-Fixing-the-branch-related-issues.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5780b5e5f9b5fe64d5172cd99399366e42c67b64 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Sun, 30 Sep 2018 17:06:58 +0530
-Subject: [PATCH 19/52] Fixing the branch related issues
-
-Conflicts:
- bfd/elf64-microblaze.c
----
- bfd/elf64-microblaze.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-Index: gdb-9.2/bfd/elf64-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf64-microblaze.c
-+++ gdb-9.2/bfd/elf64-microblaze.c
-@@ -2545,6 +2545,9 @@ microblaze_elf_check_relocs (bfd * abfd,
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-+ /* PR15323, ref flags aren't set for references in the same
-+ object. */
-+ h->root.non_ir_ref_regular = 1;
- }
-
- switch (r_type)
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0020-Fixed-address-computation-issues-with-64bit-address.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0020-Fixed-address-computation-issues-with-64bit-address.patch
deleted file mode 100644
index a2f34b02e..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0020-Fixed-address-computation-issues-with-64bit-address.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From fd3df3812f8297133a598802b552252f45c80d0c Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Tue, 9 Oct 2018 10:14:22 +0530
-Subject: [PATCH 20/52] - Fixed address computation issues with 64bit address -
- Fixed imml dissassamble issue
-
-Conflicts:
- gas/config/tc-microblaze.c
- opcodes/microblaze-dis.c
----
- bfd/bfd-in2.h | 5 +++
- bfd/elf64-microblaze.c | 14 ++++----
- gas/config/tc-microblaze.c | 74 +++++++++++++++++++++++++++++++++-----
- opcodes/microblaze-dis.c | 2 +-
- 4 files changed, 79 insertions(+), 16 deletions(-)
-
-Index: gdb-9.2/bfd/bfd-in2.h
-===================================================================
---- gdb-9.2.orig/bfd/bfd-in2.h
-+++ gdb-9.2/bfd/bfd-in2.h
-@@ -5378,6 +5378,11 @@ done here - only used for relaxing */
- * +done here - only used for relaxing */
- BFD_RELOC_MICROBLAZE_64,
-
-+/* This is a 64 bit reloc that stores the 32 bit relative
-+ * +value in two words (with an imml instruction). No relocation is
-+ * +done here - only used for relaxing */
-+ BFD_RELOC_MICROBLAZE_EA64,
-+
- /* This is a 64 bit reloc that stores the 32 bit pc relative
- * +value in two words (with an imm instruction). No relocation is
- * +done here - only used for relaxing */
-Index: gdb-9.2/bfd/elf64-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf64-microblaze.c
-+++ gdb-9.2/bfd/elf64-microblaze.c
-@@ -121,15 +121,15 @@ static reloc_howto_type microblaze_elf_h
- 0, /* Rightshift. */
- 4, /* Size (0 = byte, 1 = short, 2 = long). */
- 64, /* Bitsize. */
-- TRUE, /* PC_relative. */
-+ FALSE, /* PC_relative. */
- 0, /* Bitpos. */
- complain_overflow_dont, /* Complain on overflow. */
- bfd_elf_generic_reloc,/* Special Function. */
- "R_MICROBLAZE_IMML_64", /* Name. */
- FALSE, /* Partial Inplace. */
- 0, /* Source Mask. */
-- 0x0000ffff, /* Dest Mask. */
-- TRUE), /* PC relative offset? */
-+ 0xffffffffffffff, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-
- /* A 64 bit relocation. Table entry not really used. */
- HOWTO (R_MICROBLAZE_64, /* Type. */
-@@ -585,9 +585,9 @@ microblaze_elf_reloc_type_lookup (bfd *
- case BFD_RELOC_32:
- microblaze_reloc = R_MICROBLAZE_32;
- break;
-- /* RVA is treated the same as 32 */
-+ /* RVA is treated the same as 64 */
- case BFD_RELOC_RVA:
-- microblaze_reloc = R_MICROBLAZE_32;
-+ microblaze_reloc = R_MICROBLAZE_IMML_64;
- break;
- case BFD_RELOC_32_PCREL:
- microblaze_reloc = R_MICROBLAZE_32_PCREL;
-@@ -619,7 +619,7 @@ microblaze_elf_reloc_type_lookup (bfd *
- case BFD_RELOC_VTABLE_ENTRY:
- microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
- break;
-- case BFD_RELOC_MICROBLAZE_64:
-+ case BFD_RELOC_MICROBLAZE_EA64:
- microblaze_reloc = R_MICROBLAZE_IMML_64;
- break;
- case BFD_RELOC_MICROBLAZE_64_GOTPC:
-@@ -1982,7 +1982,7 @@ microblaze_elf_relax_section (bfd *abfd,
- efix = calc_fixup (target_address, 0, sec);
-
- /* Validate the in-band val. */
-- val = bfd_get_32 (abfd, contents + irel->r_offset);
-+ val = bfd_get_64 (abfd, contents + irel->r_offset);
- if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
- fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
- }
-Index: gdb-9.2/opcodes/microblaze-dis.c
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-dis.c
-+++ gdb-9.2/opcodes/microblaze-dis.c
-@@ -77,7 +77,7 @@ static char *
- get_field_imml (struct string_buf *buf, long instr)
- {
- char *p = strbuf (buf);
-- sprintf (p, "%d", (short)((instr & IMML_MASK) >> IMM_LOW));
-+ sprintf (p, "%d", (int)((instr & IMML_MASK) >> IMM_LOW));
- return p;
- }
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0021-Adding-new-relocation-to-support-64bit-rodata.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0021-Adding-new-relocation-to-support-64bit-rodata.patch
deleted file mode 100644
index abfdd8d01..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0021-Adding-new-relocation-to-support-64bit-rodata.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 14a54cced8062343b83d7ff0e68f00bca562a509 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Sat, 13 Oct 2018 21:17:01 +0530
-Subject: [PATCH 21/52] Adding new relocation to support 64bit rodata
-
----
- bfd/elf64-microblaze.c | 11 +++++++--
- gas/config/tc-microblaze.c | 49 ++++++++++++++++++++++++++++++++++----
- 2 files changed, 54 insertions(+), 6 deletions(-)
-
-Index: gdb-9.2/bfd/elf64-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf64-microblaze.c
-+++ gdb-9.2/bfd/elf64-microblaze.c
-@@ -1473,6 +1473,7 @@ microblaze_elf_relocate_section (bfd *ou
- case (int) R_MICROBLAZE_64_PCREL :
- case (int) R_MICROBLAZE_64:
- case (int) R_MICROBLAZE_32:
-+ case (int) R_MICROBLAZE_IMML_64:
- {
- /* r_symndx will be STN_UNDEF (zero) only for relocs against symbols
- from removed linkonce sections, or sections discarded by
-@@ -1482,6 +1483,8 @@ microblaze_elf_relocate_section (bfd *ou
- relocation += addend;
- if (r_type == R_MICROBLAZE_32)// || r_type == R_MICROBLAZE_IMML_64)
- bfd_put_32 (input_bfd, relocation, contents + offset);
-+ else if (r_type == R_MICROBLAZE_IMML_64)
-+ bfd_put_64 (input_bfd, relocation, contents + offset);
- else
- {
- if (r_type == R_MICROBLAZE_64_PCREL)
-@@ -1560,7 +1563,7 @@ microblaze_elf_relocate_section (bfd *ou
- }
- else
- {
-- if (r_type == R_MICROBLAZE_32)
-+ if (r_type == R_MICROBLAZE_32 || r_type == R_MICROBLAZE_IMML_64)
- {
- outrel.r_info = ELF64_R_INFO (0, R_MICROBLAZE_REL);
- outrel.r_addend = relocation + addend;
-@@ -1586,6 +1589,8 @@ microblaze_elf_relocate_section (bfd *ou
- relocation += addend;
- if (r_type == R_MICROBLAZE_32)
- bfd_put_32 (input_bfd, relocation, contents + offset);
-+ else if (r_type == R_MICROBLAZE_IMML_64)
-+ bfd_put_64 (input_bfd, relocation, contents + offset + endian);
- else
- {
- if (r_type == R_MICROBLAZE_64_PCREL)
-@@ -2098,7 +2103,8 @@ microblaze_elf_relax_section (bfd *abfd,
- microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
- irelscan->r_addend);
- }
-- if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
-+ if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32
-+ || ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_IMML_64)
- {
- isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
-
-@@ -2606,6 +2612,7 @@ microblaze_elf_check_relocs (bfd * abfd,
- case R_MICROBLAZE_64:
- case R_MICROBLAZE_64_PCREL:
- case R_MICROBLAZE_32:
-+ case R_MICROBLAZE_IMML_64:
- {
- if (h != NULL && !bfd_link_pic (info))
- {
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0022-fixing-the-.bss-relocation-issue.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0022-fixing-the-.bss-relocation-issue.patch
deleted file mode 100644
index 3bbe2659f..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0022-fixing-the-.bss-relocation-issue.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From e9e4d4837cfea27e67fa656ede535f250205eb2c Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Wed, 24 Oct 2018 12:34:37 +0530
-Subject: [PATCH 22/52] fixing the .bss relocation issue
-
----
- bfd/elf64-microblaze.c | 18 ++++++++++++------
- 1 file changed, 12 insertions(+), 6 deletions(-)
-
-Index: gdb-9.2/bfd/elf64-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf64-microblaze.c
-+++ gdb-9.2/bfd/elf64-microblaze.c
-@@ -1492,7 +1492,7 @@ microblaze_elf_relocate_section (bfd *ou
- + input_section->output_offset
- + offset + INST_WORD_SIZE);
- unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
-- if (insn == 0xb2000000 || insn == 0xb2ffffff)
-+ if ((insn & 0xff000000) == 0xb2000000)
- {
- insn &= ~0x00ffffff;
- insn |= (relocation >> 16) & 0xffffff;
-@@ -1606,7 +1606,7 @@ microblaze_elf_relocate_section (bfd *ou
- + offset + INST_WORD_SIZE);
- }
- unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
-- if (insn == 0xb2000000 || insn == 0xb2ffffff)
-+ if ((insn & 0xff000000) == 0xb2000000)
- {
- insn &= ~0x00ffffff;
- insn |= (relocation >> 16) & 0xffffff;
-@@ -1735,7 +1735,7 @@ microblaze_bfd_write_imm_value_32 (bfd *
- {
- unsigned long instr = bfd_get_32 (abfd, bfd_addr);
-
-- if (instr == 0xb2000000 || instr == 0xb2ffffff)
-+ if ((instr & 0xff000000) == 0xb2000000)
- {
- instr &= ~0x00ffffff;
- instr |= (val & 0xffffff);
-@@ -1758,7 +1758,7 @@ microblaze_bfd_write_imm_value_64 (bfd *
- unsigned long instr_lo;
-
- instr_hi = bfd_get_32 (abfd, bfd_addr);
-- if (instr_hi == 0xb2000000 || instr_hi == 0xb2ffffff)
-+ if ((instr_hi & 0xff000000) == 0xb2000000)
- {
- instr_hi &= ~0x00ffffff;
- instr_hi |= (val >> 16) & 0xffffff;
-@@ -2251,7 +2251,10 @@ microblaze_elf_relax_section (bfd *abfd,
- unsigned long instr_lo = bfd_get_32 (abfd, ocontents
- + irelscan->r_offset
- + INST_WORD_SIZE);
-- immediate = (instr_hi & 0x0000ffff) << 16;
-+ if ((instr_hi & 0xff000000) == 0xb2000000)
-+ immediate = (instr_hi & 0x00ffffff) << 24;
-+ else
-+ immediate = (instr_hi & 0x0000ffff) << 16;
- immediate |= (instr_lo & 0x0000ffff);
- offset = calc_fixup (irelscan->r_addend, 0, sec);
- immediate -= offset;
-@@ -2295,7 +2298,10 @@ microblaze_elf_relax_section (bfd *abfd,
- unsigned long instr_lo = bfd_get_32 (abfd, ocontents
- + irelscan->r_offset
- + INST_WORD_SIZE);
-- immediate = (instr_hi & 0x0000ffff) << 16;
-+ if ((instr_hi & 0xff000000) == 0xb2000000)
-+ immediate = (instr_hi & 0x00ffffff) << 24;
-+ else
-+ immediate = (instr_hi & 0x0000ffff) << 16;
- immediate |= (instr_lo & 0x0000ffff);
- target_address = immediate;
- offset = calc_fixup (target_address, 0, sec);
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0023-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0023-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch
deleted file mode 100644
index b359ce723..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0023-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 1466dd2c74e38ae6d1dca5cf6d4cad87c94fbc8f Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Wed, 28 Nov 2018 14:00:29 +0530
-Subject: [PATCH 23/52] Fixed the bug in the R_MICROBLAZE_64_NONE relocation.
- It was adjusting only lower 16bits.
-
----
- bfd/elf32-microblaze.c | 4 ++--
- bfd/elf64-microblaze.c | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-Index: gdb-9.2/bfd/elf32-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf32-microblaze.c
-+++ gdb-9.2/bfd/elf32-microblaze.c
-@@ -2023,8 +2023,8 @@ microblaze_elf_relax_section (bfd *abfd,
- sfix = calc_fixup (irel->r_offset + INST_WORD_SIZE, 0, sec);
- efix = calc_fixup (target_address, 0, sec);
- irel->r_addend -= (efix - sfix);
-- microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset
-- + INST_WORD_SIZE, irel->r_addend);
-+ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
- }
- break;
- }
-Index: gdb-9.2/bfd/elf64-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf64-microblaze.c
-+++ gdb-9.2/bfd/elf64-microblaze.c
-@@ -2030,8 +2030,8 @@ microblaze_elf_relax_section (bfd *abfd,
- sfix = calc_fixup (irel->r_offset + INST_WORD_SIZE, 0, sec);
- efix = calc_fixup (target_address, 0, sec);
- irel->r_addend -= (efix - sfix);
-- microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset
-- + INST_WORD_SIZE, irel->r_addend);
-+ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
-+ irel->r_addend);
- }
- break;
- }
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0025-fixing-the-long-long-long-mingw-toolchain-issue.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0025-fixing-the-long-long-long-mingw-toolchain-issue.patch
deleted file mode 100644
index c2ae39e8c..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0025-fixing-the-long-long-long-mingw-toolchain-issue.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f64c95b119637880e8898b459e7665f0d92cef20 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Thu, 29 Nov 2018 17:59:25 +0530
-Subject: [PATCH 25/52] fixing the long & long long mingw toolchain issue
-
----
- gas/config/tc-microblaze.c | 10 +++++-----
- opcodes/microblaze-opc.h | 4 ++--
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-Index: gdb-9.2/opcodes/microblaze-opc.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opc.h
-+++ gdb-9.2/opcodes/microblaze-opc.h
-@@ -585,8 +585,8 @@ char pvr_register_prefix[] = "rpvr";
- #define MIN_IMM6_WIDTH ((int) 0x00000001)
- #define MAX_IMM6_WIDTH ((int) 0x00000040)
-
--#define MIN_IMML ((long) 0xffffff8000000000L)
--#define MAX_IMML ((long) 0x0000007fffffffffL)
-+#define MIN_IMML ((long long) 0xffffff8000000000L)
-+#define MAX_IMML ((long long) 0x0000007fffffffffL)
-
- #endif /* MICROBLAZE_OPC */
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0026-Added-support-to-new-arithmetic-single-register-inst.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0026-Added-support-to-new-arithmetic-single-register-inst.patch
deleted file mode 100644
index 90094aba3..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0026-Added-support-to-new-arithmetic-single-register-inst.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-From b8128385902d88414c354b772828eefe3b59fb06 Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Fri, 23 Aug 2019 16:18:43 +0530
-Subject: [PATCH 26/52] Added support to new arithmetic single register
- instructions
-
-Conflicts:
- opcodes/microblaze-dis.c
----
- gas/config/tc-microblaze.c | 147 ++++++++++++++++++++++++++++++++++++-
- opcodes/microblaze-dis.c | 13 +++-
- opcodes/microblaze-opc.h | 43 ++++++++++-
- opcodes/microblaze-opcm.h | 5 +-
- 4 files changed, 201 insertions(+), 7 deletions(-)
-
-Index: gdb-9.2/opcodes/microblaze-dis.c
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-dis.c
-+++ gdb-9.2/opcodes/microblaze-dis.c
-@@ -130,9 +130,17 @@ get_field_imm15 (struct string_buf *buf,
- return p;
- }
-
-+get_field_imm16 (struct string_buf *buf, long instr)
-+{
-+ char *p = strbuf (buf);
-+
-+ sprintf (p, "%d", (short)((instr & IMM16_MASK) >> IMM_LOW));
-+ return p;
-+}
-+
- static char *
- get_field_special (struct string_buf *buf, long instr,
-- struct op_code_struct *op)
-+ struct op_code_struct *op)
- {
- char *p = strbuf (buf);
- char *spr;
-@@ -454,6 +462,9 @@ print_insn_microblaze (bfd_vma memaddr,
- /* For mbar 16 or sleep insn. */
- case INST_TYPE_NONE:
- break;
-+ case INST_TYPE_RD_IMML:
-+ print_func (stream, "\t%s, %s", get_field_rd (&buf, inst), get_field_imm16 (&buf, inst));
-+ break;
- /* For bit field insns. */
- case INST_TYPE_RD_R1_IMMW_IMMS:
- print_func (stream, "\t%s, %s, %s, %s", get_field_rd (&buf, inst),get_field_r1(&buf, inst),get_field_immw (&buf, inst), get_field_imms (&buf, inst));
-Index: gdb-9.2/opcodes/microblaze-opc.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opc.h
-+++ gdb-9.2/opcodes/microblaze-opc.h
-@@ -69,6 +69,7 @@
- #define INST_TYPE_RD_R1_IMMW_IMMS 21
-
- #define INST_TYPE_NONE 25
-+#define INST_TYPE_RD_IMML 26
-
-
-
-@@ -84,6 +85,7 @@
- #define IMMVAL_MASK_MFS 0x0000
-
- #define OPCODE_MASK_H 0xFC000000 /* High 6 bits only. */
-+#define OPCODE_MASK_LIMM 0xFC1F0000 /* High 6 bits and 12-16 bits */
- #define OPCODE_MASK_H1 0xFFE00000 /* High 11 bits. */
- #define OPCODE_MASK_H2 0xFC1F0000 /* High 6 and bits 20-16. */
- #define OPCODE_MASK_H12 0xFFFF0000 /* High 16. */
-@@ -106,6 +108,33 @@
- #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
- #define OPCODE_MASK_H8 0xFF000000 /* High 8 bits only. */
-
-+/*Defines to identify 64-bit single reg instructions */
-+#define ADDLI_ONE_REG_MASK 0x68000000
-+#define ADDLIC_ONE_REG_MASK 0x68020000
-+#define ADDLIK_ONE_REG_MASK 0x68040000
-+#define ADDLIKC_ONE_REG_MASK 0x68060000
-+#define RSUBLI_ONE_REG_MASK 0x68010000
-+#define RSUBLIC_ONE_REG_MASK 0x68030000
-+#define RSUBLIK_ONE_REG_MASK 0x68050000
-+#define RSUBLIKC_ONE_REG_MASK 0x68070000
-+#define ORLI_ONE_REG_MASK 0x68100000
-+#define ANDLI_ONE_REG_MASK 0x68110000
-+#define XORLI_ONE_REG_MASK 0x68120000
-+#define ANDLNI_ONE_REG_MASK 0x68130000
-+#define ADDLI_MASK 0x20000000
-+#define ADDLIC_MASK 0x28000000
-+#define ADDLIK_MASK 0x30000000
-+#define ADDLIKC_MASK 0x38000000
-+#define RSUBLI_MASK 0x24000000
-+#define RSUBLIC_MASK 0x2C000000
-+#define RSUBLIK_MASK 0x34000000
-+#define RSUBLIKC_MASK 0x3C000000
-+#define ANDLI_MASK 0xA4000000
-+#define ANDLNI_MASK 0xAC000000
-+#define ORLI_MASK 0xA0000000
-+#define XORLI_MASK 0xA8000000
-+
-+
- /* New Mask for msrset, msrclr insns. */
- #define OPCODE_MASK_H23N 0xFC1F8000 /* High 6 and bits 11 - 16. */
- /* Mask for mbar insn. */
-@@ -114,7 +143,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 412
-+#define MAX_OPCODES 424
-
- struct op_code_struct
- {
-@@ -444,13 +473,21 @@ struct op_code_struct
- {"cmpl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000101, OPCODE_MASK_H4, cmpl, arithmetic_inst },
- {"cmplu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000103, OPCODE_MASK_H4, cmplu, arithmetic_inst },
- {"addli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x20000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68000000, OPCODE_MASK_LIMM, addli, arithmetic_inst },
- {"rsubli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x24000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsubli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68010000, OPCODE_MASK_LIMM, rsubli, arithmetic_inst },
- {"addlic", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x28000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlic", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68020000, OPCODE_MASK_LIMM, addlic, arithmetic_inst },
- {"rsublic", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x2C000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublic", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68030000, OPCODE_MASK_LIMM, rsublic, arithmetic_inst },
- {"addlik", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlik", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68040000, OPCODE_MASK_LIMM, addlik, arithmetic_inst },
- {"rsublik", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x34000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublik", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68050000, OPCODE_MASK_LIMM, rsublik, arithmetic_inst },
- {"addlikc", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x38000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"addlikc", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68060000, OPCODE_MASK_LIMM, addlikc, arithmetic_inst },
- {"rsublikc",INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x3C000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
-+ {"rsublikc", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68070000, OPCODE_MASK_LIMM, rsublikc, arithmetic_inst },
- {"mull", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x40000100, OPCODE_MASK_H4, mull, mult_inst },
- {"bslll", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000500, OPCODE_MASK_H3, bslll, barrel_shift_inst },
- {"bslra", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000300, OPCODE_MASK_H3, bslra, barrel_shift_inst },
-@@ -501,9 +538,13 @@ struct op_code_struct
- {"beaged", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9FA00000, OPCODE_MASK_H14, beaged, branch_inst },
- {"bealged", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9FA00100, OPCODE_MASK_H14, bealged, branch_inst },
- {"orli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA0000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"orli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68100000, OPCODE_MASK_LIMM, orli, arithmetic_inst },
- {"andli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA4000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"andli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68110000, OPCODE_MASK_LIMM, andli, arithmetic_inst },
- {"xorli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA8000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"xorli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68120000, OPCODE_MASK_LIMM, xorli, arithmetic_inst },
- {"andnli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xAC000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
-+ {"andnli", INST_TYPE_RD_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL,0x68130000, OPCODE_MASK_LIMM, andnli, arithmetic_inst },
- {"imml", INST_TYPE_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB2000000, OPCODE_MASK_H8, imml, immediate_inst },
- {"breai", INST_TYPE_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8010000, OPCODE_MASK_H12, breai, branch_inst },
- {"breaid", INST_TYPE_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8110000, OPCODE_MASK_H12, breaid, branch_inst },
-Index: gdb-9.2/opcodes/microblaze-opcm.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opcm.h
-+++ gdb-9.2/opcodes/microblaze-opcm.h
-@@ -61,7 +61,9 @@ enum microblaze_instr
- eaputd, teaputd, ecaputd, tecaputd, neaputd, tneaputd, necaputd, tnecaputd,
-
- /* 64-bit instructions */
-- addl, rsubl, addlc, rsublc, addlk, rsublk, addlkc, rsublkc, cmpl, cmplu, mull,
-+ addl, addli, addlic, addlik, addlikc, rsubl, rsubli, rsublic, rsublik, rsublikc,
-+ addlc, rsublc, addlk, rsublk, addlkc, rsublkc, cmpl, cmplu, mull,
-+ andli, andnli, orli, xorli,
- bslll, bslra, bslrl, bsllli, bslrai, bslrli, bslefi, bslifi, orl, andl, xorl,
- andnl, pcmplbf, pcmpleq, pcmplne, srla, srlc, srll, sextl8, sextl16, sextl32,
- brea, bread, breald, beaeq, bealeq, beaeqd, bealeqd, beane, bealne, beaned,
-@@ -166,5 +168,6 @@ enum microblaze_instr_type
-
- /* Imm mask for msrset, msrclr instructions. */
- #define IMM15_MASK 0x00007FFF
-+#define IMM16_MASK 0x0000FFFF
-
- #endif /* MICROBLAZE-OPCM */
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0027-Patch-MicroBlaze-double-imml-generation-for-64-bit-v.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0027-Patch-MicroBlaze-double-imml-generation-for-64-bit-v.patch
deleted file mode 100644
index bbcac109c..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0027-Patch-MicroBlaze-double-imml-generation-for-64-bit-v.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 41b562250cdac5fd821267c6dac68b799d80dbe3 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 26 Aug 2019 15:29:42 +0530
-Subject: [PATCH 27/52] [Patch,MicroBlaze] : double imml generation for 64 bit
- values.
-
----
- gas/config/tc-microblaze.c | 322 ++++++++++++++++++++++++++++++-------
- opcodes/microblaze-opc.h | 4 +-
- 2 files changed, 263 insertions(+), 63 deletions(-)
-
-Index: gdb-9.2/opcodes/microblaze-opc.h
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-opc.h
-+++ gdb-9.2/opcodes/microblaze-opc.h
-@@ -626,8 +626,8 @@ char pvr_register_prefix[] = "rpvr";
- #define MIN_IMM6_WIDTH ((int) 0x00000001)
- #define MAX_IMM6_WIDTH ((int) 0x00000040)
-
--#define MIN_IMML ((long long) 0xffffff8000000000L)
--#define MAX_IMML ((long long) 0x0000007fffffffffL)
-+#define MIN_IMML ((long long) -9223372036854775808)
-+#define MAX_IMML ((long long) 9223372036854775807)
-
- #endif /* MICROBLAZE_OPC */
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0032-ld-emulparams-elf64microblaze-Fix-emulation-generati.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0032-ld-emulparams-elf64microblaze-Fix-emulation-generati.patch
deleted file mode 100644
index f5280eba2..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0032-ld-emulparams-elf64microblaze-Fix-emulation-generati.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From ef6fd1a60979ca1d9fc419ec840641019bc86ac2 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Mon, 30 Nov 2020 16:17:36 -0800
-Subject: [PATCH 32/52] ld/emulparams/elf64microblaze: Fix emulation generation
-
-Compilation fails when building ld-new with:
-
-ldemul.o:(.data.rel+0x820): undefined reference to `ld_elf64microblazeel_emulation'
-ldemul.o:(.data.rel+0x828): undefined reference to `ld_elf64microblaze_emulation'
-
-The error appears to be that the elf64 files were referencing the elf32 emulation.
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- ld/emulparams/elf64microblaze.sh | 2 +-
- ld/emulparams/elf64microblazeel.sh | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-Index: gdb-9.2/ld/emulparams/elf64microblaze.sh
-===================================================================
---- gdb-9.2.orig/ld/emulparams/elf64microblaze.sh
-+++ gdb-9.2/ld/emulparams/elf64microblaze.sh
-@@ -19,5 +19,5 @@ NOP=0x80000000
- #$@{RELOCATING+ PROVIDE (__stack = 0x7000);@}
- #OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = _end + 0x1000);'
-
--TEMPLATE_NAME=elf32
-+TEMPLATE_NAME=elf
- #GENERATE_SHLIB_SCRIPT=yes
-Index: gdb-9.2/ld/emulparams/elf64microblazeel.sh
-===================================================================
---- gdb-9.2.orig/ld/emulparams/elf64microblazeel.sh
-+++ gdb-9.2/ld/emulparams/elf64microblazeel.sh
-@@ -19,5 +19,5 @@ NOP=0x80000000
- #$@{RELOCATING+ PROVIDE (__stack = 0x7000);@}
- #OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = _end + 0x1000);'
-
--TEMPLATE_NAME=elf32
-+TEMPLATE_NAME=elf
- #GENERATE_SHLIB_SCRIPT=yes
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch
deleted file mode 100644
index c82a98839..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch
+++ /dev/null
@@ -1,429 +0,0 @@
-From d495e03657b25b793f7c9bdd689fdc2d1633a47b Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 23 Jan 2017 19:07:44 +0530
-Subject: [PATCH 33/52] Add initial port of linux gdbserver add
- gdb_proc_service_h to gdbserver microblaze-linux
-
-gdbserver needs to initialise the microblaze registers
-
-other archs use this step to run a *_arch_setup() to carry out all
-architecture specific setup - may need to add in future
-
- * add linux-ptrace.o to gdbserver configure
- * Update breakpoint opcode
- * fix segfault on connecting gdbserver
- * add microblaze_linux_memory_remove_breakpoint
- * add set_solib_svr4_fetch_link_map_offsets
- * add set_gdbarch_fetch_tls_load_module_address
- * Force reading of r0 as 0, prevent stores
-
-Signed-off-by: David Holsgrove <david.holsgrove@petalogix.com>
-Signed-off-by: Nathan Rossi <nathan.rossi@petalogix.com>
----
- gdb/configure.host | 3 +
- gdb/gdbserver/linux-microblaze-low.c | 189 +++++++++++++++++++++++++++
- gdb/microblaze-linux-tdep.c | 29 +++-
- gdb/microblaze-tdep.c | 35 ++++-
- gdb/microblaze-tdep.h | 4 +-
- gdb/regformats/reg-microblaze.dat | 41 ++++++
- 6 files changed, 298 insertions(+), 3 deletions(-)
- create mode 100644 gdb/gdbserver/linux-microblaze-low.c
- create mode 100644 gdb/regformats/reg-microblaze.dat
-
-Index: gdb-9.2/gdb/configure.host
-===================================================================
---- gdb-9.2.orig/gdb/configure.host
-+++ gdb-9.2/gdb/configure.host
-@@ -65,6 +65,7 @@ hppa*) gdb_host_cpu=pa ;;
- i[34567]86*) gdb_host_cpu=i386 ;;
- m68*) gdb_host_cpu=m68k ;;
- mips*) gdb_host_cpu=mips ;;
-+microblaze*) gdb_host_cpu=microblaze ;;
- powerpc* | rs6000) gdb_host_cpu=powerpc ;;
- sparcv9 | sparc64) gdb_host_cpu=sparc ;;
- s390*) gdb_host_cpu=s390 ;;
-@@ -133,6 +134,8 @@ mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
- mips*-*-freebsd*) gdb_host=fbsd ;;
- mips64*-*-openbsd*) gdb_host=obsd64 ;;
-
-+microblaze*-*linux*) gdb_host=linux ;;
-+
- powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
- gdb_host=aix ;;
- powerpc*-*-freebsd*) gdb_host=fbsd ;;
-Index: gdb-9.2/gdb/gdbserver/linux-microblaze-low.c
-===================================================================
---- /dev/null
-+++ gdb-9.2/gdb/gdbserver/linux-microblaze-low.c
-@@ -0,0 +1,189 @@
-+/* GNU/Linux/Microblaze specific low level interface, for the remote server for
-+ GDB.
-+ Copyright (C) 1995-2013 Free Software Foundation, Inc.
-+
-+ This file is part of GDB.
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 3 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
-+
-+#include "server.h"
-+#include "linux-low.h"
-+
-+#include <asm/ptrace.h>
-+#include <sys/procfs.h>
-+#include <sys/ptrace.h>
-+
-+#include "gdb_proc_service.h"
-+
-+static int microblaze_regmap[] =
-+ {PT_GPR(0), PT_GPR(1), PT_GPR(2), PT_GPR(3),
-+ PT_GPR(4), PT_GPR(5), PT_GPR(6), PT_GPR(7),
-+ PT_GPR(8), PT_GPR(9), PT_GPR(10), PT_GPR(11),
-+ PT_GPR(12), PT_GPR(13), PT_GPR(14), PT_GPR(15),
-+ PT_GPR(16), PT_GPR(17), PT_GPR(18), PT_GPR(19),
-+ PT_GPR(20), PT_GPR(21), PT_GPR(22), PT_GPR(23),
-+ PT_GPR(24), PT_GPR(25), PT_GPR(26), PT_GPR(27),
-+ PT_GPR(28), PT_GPR(29), PT_GPR(30), PT_GPR(31),
-+ PT_PC, PT_MSR, PT_EAR, PT_ESR,
-+ PT_FSR
-+ };
-+
-+#define microblaze_num_regs (sizeof microblaze_regmap / sizeof microblaze_regmap[0])
-+
-+/* Defined in auto-generated file microblaze-linux.c. */
-+void init_registers_microblaze (void);
-+
-+static int
-+microblaze_cannot_store_register (int regno)
-+{
-+ if (microblaze_regmap[regno] == -1 || regno == 0)
-+ return 1;
-+
-+ return 0;
-+}
-+
-+static int
-+microblaze_cannot_fetch_register (int regno)
-+{
-+ return 0;
-+}
-+
-+static CORE_ADDR
-+microblaze_get_pc (struct regcache *regcache)
-+{
-+ unsigned long pc;
-+
-+ collect_register_by_name (regcache, "pc", &pc);
-+ return (CORE_ADDR) pc;
-+}
-+
-+static void
-+microblaze_set_pc (struct regcache *regcache, CORE_ADDR pc)
-+{
-+ unsigned long newpc = pc;
-+
-+ supply_register_by_name (regcache, "pc", &newpc);
-+}
-+
-+/* dbtrap insn */
-+/* brki r16, 0x18; */
-+static const unsigned long microblaze_breakpoint = 0xba0c0018;
-+#define microblaze_breakpoint_len 4
-+
-+static int
-+microblaze_breakpoint_at (CORE_ADDR where)
-+{
-+ unsigned long insn;
-+
-+ (*the_target->read_memory) (where, (unsigned char *) &insn, 4);
-+ if (insn == microblaze_breakpoint)
-+ return 1;
-+ /* If necessary, recognize more trap instructions here. GDB only uses the
-+ one. */
-+ return 0;
-+}
-+
-+static CORE_ADDR
-+microblaze_reinsert_addr (struct regcache *regcache)
-+{
-+ unsigned long pc;
-+ collect_register_by_name (regcache, "r15", &pc);
-+ return pc;
-+}
-+
-+#ifdef HAVE_PTRACE_GETREGS
-+
-+static void
-+microblaze_collect_ptrace_register (struct regcache *regcache, int regno, char *buf)
-+{
-+ int size = register_size (regno);
-+
-+ memset (buf, 0, sizeof (long));
-+
-+ if (size < sizeof (long))
-+ collect_register (regcache, regno, buf + sizeof (long) - size);
-+ else
-+ collect_register (regcache, regno, buf);
-+}
-+
-+static void
-+microblaze_supply_ptrace_register (struct regcache *regcache,
-+ int regno, const char *buf)
-+{
-+ int size = register_size (regno);
-+
-+ if (regno == 0) {
-+ unsigned long regbuf_0 = 0;
-+ /* clobbering r0 so that it is always 0 as enforced by hardware */
-+ supply_register (regcache, regno, (const char*)&regbuf_0);
-+ } else {
-+ if (size < sizeof (long))
-+ supply_register (regcache, regno, buf + sizeof (long) - size);
-+ else
-+ supply_register (regcache, regno, buf);
-+ }
-+}
-+
-+/* Provide only a fill function for the general register set. ps_lgetregs
-+ will use this for NPTL support. */
-+
-+static void microblaze_fill_gregset (struct regcache *regcache, void *buf)
-+{
-+ int i;
-+
-+ for (i = 0; i < 32; i++)
-+ microblaze_collect_ptrace_register (regcache, i, (char *) buf + microblaze_regmap[i]);
-+}
-+
-+static void
-+microblaze_store_gregset (struct regcache *regcache, const void *buf)
-+{
-+ int i;
-+
-+ for (i = 0; i < 32; i++)
-+ supply_register (regcache, i, (char *) buf + microblaze_regmap[i]);
-+}
-+
-+#endif /* HAVE_PTRACE_GETREGS */
-+
-+struct regset_info target_regsets[] = {
-+#ifdef HAVE_PTRACE_GETREGS
-+ { PTRACE_GETREGS, PTRACE_SETREGS, 0, sizeof (elf_gregset_t), GENERAL_REGS, microblaze_fill_gregset, microblaze_store_gregset },
-+ { 0, 0, 0, -1, -1, NULL, NULL },
-+#endif /* HAVE_PTRACE_GETREGS */
-+ { 0, 0, 0, -1, -1, NULL, NULL }
-+};
-+
-+struct linux_target_ops the_low_target = {
-+ init_registers_microblaze,
-+ microblaze_num_regs,
-+ microblaze_regmap,
-+ NULL,
-+ microblaze_cannot_fetch_register,
-+ microblaze_cannot_store_register,
-+ NULL, /* fetch_register */
-+ microblaze_get_pc,
-+ microblaze_set_pc,
-+ (const unsigned char *) &microblaze_breakpoint,
-+ microblaze_breakpoint_len,
-+ microblaze_reinsert_addr,
-+ 0,
-+ microblaze_breakpoint_at,
-+ NULL,
-+ NULL,
-+ NULL,
-+ NULL,
-+ microblaze_collect_ptrace_register,
-+ microblaze_supply_ptrace_register,
-+};
-Index: gdb-9.2/gdb/microblaze-linux-tdep.c
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-linux-tdep.c
-+++ gdb-9.2/gdb/microblaze-linux-tdep.c
-@@ -37,6 +37,22 @@
- #include "tramp-frame.h"
- #include "linux-tdep.h"
-
-+static int microblaze_debug_flag = 0;
-+
-+static void
-+microblaze_debug (const char *fmt, ...)
-+{
-+ if (microblaze_debug_flag)
-+ {
-+ va_list args;
-+
-+ va_start (args, fmt);
-+ printf_unfiltered ("MICROBLAZE LINUX: ");
-+ vprintf_unfiltered (fmt, args);
-+ va_end (args);
-+ }
-+}
-+
- static int
- microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- struct bp_target_info *bp_tgt)
-@@ -46,18 +62,25 @@ microblaze_linux_memory_remove_breakpoin
- int val;
- int bplen;
- gdb_byte old_contents[BREAKPOINT_MAX];
-+ struct cleanup *cleanup;
-
- /* Determine appropriate breakpoint contents and size for this address. */
- bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
-
-+ /* Make sure we see the memory breakpoints. */
-+ cleanup = make_show_memory_breakpoints_cleanup (1);
- val = target_read_memory (addr, old_contents, bplen);
-
- /* If our breakpoint is no longer at the address, this means that the
- program modified the code on us, so it is wrong to put back the
- old value. */
- if (val == 0 && memcmp (bp, old_contents, bplen) == 0)
-- val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen);
-+ {
-+ val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen);
-+ microblaze_debug ("microblaze_linux_memory_remove_breakpoint writing back to memory at addr 0x%lx\n", addr);
-+ }
-
-+ do_cleanups (cleanup);
- return val;
- }
-
-@@ -129,6 +152,10 @@ microblaze_linux_init_abi (struct gdbarc
- /* Trampolines. */
- tramp_frame_prepend_unwinder (gdbarch,
- &microblaze_linux_sighandler_tramp_frame);
-+
-+ /* Enable TLS support. */
-+ set_gdbarch_fetch_tls_load_module_address (gdbarch,
-+ svr4_fetch_objfile_link_map);
- }
-
- void
-Index: gdb-9.2/gdb/microblaze-tdep.c
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-tdep.c
-+++ gdb-9.2/gdb/microblaze-tdep.c
-@@ -137,7 +137,38 @@ microblaze_fetch_instruction (CORE_ADDR
- constexpr gdb_byte microblaze_break_insn[] = MICROBLAZE_BREAKPOINT;
-
- typedef BP_MANIPULATION (microblaze_break_insn) microblaze_breakpoint;
-+static int
-+microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
-+ struct bp_target_info *bp_tgt)
-+{
-+ CORE_ADDR addr = bp_tgt->placed_address;
-+ const unsigned char *bp;
-+ int val;
-+ int bplen;
-+ gdb_byte old_contents[BREAKPOINT_MAX];
-+ struct cleanup *cleanup;
-+
-+ /* Determine appropriate breakpoint contents and size for this address. */
-+ bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
-+ if (bp == NULL)
-+ error (_("Software breakpoints not implemented for this target."));
-+
-+ /* Make sure we see the memory breakpoints. */
-+ cleanup = make_show_memory_breakpoints_cleanup (1);
-+ val = target_read_memory (addr, old_contents, bplen);
-+
-+ /* If our breakpoint is no longer at the address, this means that the
-+ program modified the code on us, so it is wrong to put back the
-+ old value. */
-+ if (val == 0 && memcmp (bp, old_contents, bplen) == 0)
-+ {
-+ val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen);
-+ microblaze_debug ("microblaze_linux_memory_remove_breakpoint writing back to memory at addr 0x%lx\n", addr);
-+ }
-
-+ do_cleanups (cleanup);
-+ return val;
-+}
-
- /* Allocate and initialize a frame cache. */
-
-@@ -731,6 +762,7 @@ microblaze_gdbarch_init (struct gdbarch_
- microblaze_breakpoint::kind_from_pc);
- set_gdbarch_sw_breakpoint_from_kind (gdbarch,
- microblaze_breakpoint::bp_from_kind);
-+ set_gdbarch_memory_remove_breakpoint (gdbarch, microblaze_linux_memory_remove_breakpoint);
-
- set_gdbarch_frame_args_skip (gdbarch, 8);
-
-@@ -770,4 +802,5 @@ When non-zero, microblaze specific debug
- NULL,
- &setdebuglist, &showdebuglist);
-
-+
- }
-Index: gdb-9.2/gdb/microblaze-tdep.h
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-tdep.h
-+++ gdb-9.2/gdb/microblaze-tdep.h
-@@ -117,6 +117,8 @@ struct microblaze_frame_cache
-
- /* MICROBLAZE_BREAKPOINT defines the breakpoint that should be used.
- Only used for native debugging. */
--#define MICROBLAZE_BREAKPOINT {0xb9, 0xcc, 0x00, 0x60}
-+#define MICROBLAZE_BREAKPOINT {0xba, 0x0c, 0x00, 0x18}
-+#define MICROBLAZE_BREAKPOINT_LE {0x18, 0x00, 0x0c, 0xba}
-+
-
- #endif /* microblaze-tdep.h */
-Index: gdb-9.2/gdb/regformats/reg-microblaze.dat
-===================================================================
---- /dev/null
-+++ gdb-9.2/gdb/regformats/reg-microblaze.dat
-@@ -0,0 +1,41 @@
-+name:microblaze
-+expedite:r1,pc
-+32:r0
-+32:r1
-+32:r2
-+32:r3
-+32:r4
-+32:r5
-+32:r6
-+32:r7
-+32:r8
-+32:r9
-+32:r10
-+32:r11
-+32:r12
-+32:r13
-+32:r14
-+32:r15
-+32:r16
-+32:r17
-+32:r18
-+32:r19
-+32:r20
-+32:r21
-+32:r22
-+32:r23
-+32:r24
-+32:r25
-+32:r26
-+32:r27
-+32:r28
-+32:r29
-+32:r30
-+32:r31
-+32:pc
-+32:msr
-+32:ear
-+32:esr
-+32:fsr
-+32:slr
-+32:shr
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0034-Initial-port-of-core-reading-support-Added-support-f.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0034-Initial-port-of-core-reading-support-Added-support-f.patch
deleted file mode 100644
index d32b501cc..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0034-Initial-port-of-core-reading-support-Added-support-f.patch
+++ /dev/null
@@ -1,385 +0,0 @@
-From e6929fae6b3850eb925ef147bf0d0b09ca80cdf8 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Tue, 24 Jan 2017 14:55:56 +0530
-Subject: [PATCH 34/52] Initial port of core reading support Added support for
- reading notes in linux core dumps Support for reading of PRSTATUS and PSINFO
- information for rebuilding ".reg" sections of core dumps at run time.
-
-Signed-off-by: David Holsgrove <david.holsgrove@petalogix.com>
-Signed-off-by: Nathan Rossi <nathan.rossi@petalogix.com>
----
- bfd/elf32-microblaze.c | 84 ++++++++++++++++++++++++++++++++++
- gdb/configure.tgt | 2 +-
- gdb/microblaze-linux-tdep.c | 57 +++++++++++++++++++++++
- gdb/microblaze-tdep.c | 90 +++++++++++++++++++++++++++++++++++++
- gdb/microblaze-tdep.h | 27 +++++++++++
- 5 files changed, 259 insertions(+), 1 deletion(-)
-
-Index: gdb-9.2/bfd/elf32-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf32-microblaze.c
-+++ gdb-9.2/bfd/elf32-microblaze.c
-@@ -767,6 +767,87 @@ microblaze_elf_is_local_label_name (bfd
- return _bfd_elf_is_local_label_name (abfd, name);
- }
-
-+/* Support for core dump NOTE sections. */
-+static bfd_boolean
-+microblaze_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note)
-+{
-+ int offset;
-+ unsigned int size;
-+
-+ switch (note->descsz)
-+ {
-+ default:
-+ return FALSE;
-+
-+ case 228: /* Linux/MicroBlaze */
-+ /* pr_cursig */
-+ elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12);
-+
-+ /* pr_pid */
-+ elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 24);
-+
-+ /* pr_reg */
-+ offset = 72;
-+ size = 50 * 4;
-+
-+ break;
-+ }
-+
-+ /* Make a ".reg/999" section. */
-+ return _bfd_elfcore_make_pseudosection (abfd, ".reg",
-+ size, note->descpos + offset);
-+}
-+
-+static bfd_boolean
-+microblaze_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
-+{
-+ switch (note->descsz)
-+ {
-+ default:
-+ return FALSE;
-+
-+ case 128: /* Linux/MicroBlaze elf_prpsinfo */
-+ elf_tdata (abfd)->core->program
-+ = _bfd_elfcore_strndup (abfd, note->descdata + 32, 16);
-+ elf_tdata (abfd)->core->command
-+ = _bfd_elfcore_strndup (abfd, note->descdata + 48, 80);
-+ }
-+
-+ /* Note that for some reason, a spurious space is tacked
-+ onto the end of the args in some (at least one anyway)
-+ implementations, so strip it off if it exists. */
-+
-+ {
-+ char *command = elf_tdata (abfd)->core->command;
-+ int n = strlen (command);
-+
-+ if (0 < n && command[n - 1] == ' ')
-+ command[n - 1] = '\0';
-+ }
-+
-+ return TRUE;
-+}
-+
-+/* The microblaze linker (like many others) needs to keep track of
-+ the number of relocs that it decides to copy as dynamic relocs in
-+ check_relocs for each symbol. This is so that it can later discard
-+ them if they are found to be unnecessary. We store the information
-+ in a field extending the regular ELF linker hash table. */
-+
-+struct elf32_mb_dyn_relocs
-+{
-+ struct elf32_mb_dyn_relocs *next;
-+
-+ /* The input section of the reloc. */
-+ asection *sec;
-+
-+ /* Total number of relocs copied for the input section. */
-+ bfd_size_type count;
-+
-+ /* Number of pc-relative relocs copied for the input section. */
-+ bfd_size_type pc_count;
-+};
-+
- /* ELF linker hash entry. */
-
- struct elf32_mb_link_hash_entry
-@@ -3675,4 +3756,7 @@ microblaze_elf_add_symbol_hook (bfd *abf
- #define elf_backend_size_dynamic_sections microblaze_elf_size_dynamic_sections
- #define elf_backend_add_symbol_hook microblaze_elf_add_symbol_hook
-
-+#define elf_backend_grok_prstatus microblaze_elf_grok_prstatus
-+#define elf_backend_grok_psinfo microblaze_elf_grok_psinfo
-+
- #include "elf32-target.h"
-Index: gdb-9.2/gdb/configure.tgt
-===================================================================
---- gdb-9.2.orig/gdb/configure.tgt
-+++ gdb-9.2/gdb/configure.tgt
-@@ -400,7 +400,7 @@ mep-*-*)
-
- microblaze*-linux-*|microblaze*-*-linux*)
- # Target: Xilinx MicroBlaze running Linux
-- gdb_target_obs="microblaze-tdep.o microblaze-linux-tdep.o solib-svr4.o \
-+ gdb_target_obs="microblaze-tdep.o microblaze-linux-tdep.o solib-svr4.o glibc-tdep.o \
- symfile-mem.o linux-tdep.o"
- gdb_sim=../sim/microblaze/libsim.a
- ;;
-Index: gdb-9.2/gdb/microblaze-linux-tdep.c
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-linux-tdep.c
-+++ gdb-9.2/gdb/microblaze-linux-tdep.c
-@@ -135,11 +135,54 @@ static struct tramp_frame microblaze_lin
- microblaze_linux_sighandler_cache_init
- };
-
-+const struct microblaze_gregset microblaze_linux_core_gregset;
-+
-+static void
-+microblaze_linux_supply_core_gregset (const struct regset *regset,
-+ struct regcache *regcache,
-+ int regnum, const void *gregs, size_t len)
-+{
-+ microblaze_supply_gregset (&microblaze_linux_core_gregset, regcache,
-+ regnum, gregs);
-+}
-+
-+static void
-+microblaze_linux_collect_core_gregset (const struct regset *regset,
-+ const struct regcache *regcache,
-+ int regnum, void *gregs, size_t len)
-+{
-+ microblaze_collect_gregset (&microblaze_linux_core_gregset, regcache,
-+ regnum, gregs);
-+}
-+
-+static void
-+microblaze_linux_supply_core_fpregset (const struct regset *regset,
-+ struct regcache *regcache,
-+ int regnum, const void *fpregs, size_t len)
-+{
-+ /* FIXME. */
-+ microblaze_supply_fpregset (regcache, regnum, fpregs);
-+}
-+
-+static void
-+microblaze_linux_collect_core_fpregset (const struct regset *regset,
-+ const struct regcache *regcache,
-+ int regnum, void *fpregs, size_t len)
-+{
-+ /* FIXME. */
-+ microblaze_collect_fpregset (regcache, regnum, fpregs);
-+}
-
- static void
- microblaze_linux_init_abi (struct gdbarch_info info,
- struct gdbarch *gdbarch)
- {
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+
-+ tdep->gregset = regset_alloc (gdbarch, microblaze_linux_supply_core_gregset,
-+ microblaze_linux_collect_core_gregset);
-+ tdep->sizeof_gregset = 200;
-+
- linux_init_abi (info, gdbarch);
-
- set_gdbarch_memory_remove_breakpoint (gdbarch,
-@@ -153,6 +196,20 @@ microblaze_linux_init_abi (struct gdbarc
- tramp_frame_prepend_unwinder (gdbarch,
- &microblaze_linux_sighandler_tramp_frame);
-
-+ /* BFD target for core files. */
-+ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblaze");
-+ else
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblazeel");
-+
-+
-+ /* Shared library handling. */
-+ set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
-+ set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
-+
-+ set_gdbarch_regset_from_core_section (gdbarch,
-+ microblaze_regset_from_core_section);
-+
- /* Enable TLS support. */
- set_gdbarch_fetch_tls_load_module_address (gdbarch,
- svr4_fetch_objfile_link_map);
-Index: gdb-9.2/gdb/microblaze-tdep.c
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-tdep.c
-+++ gdb-9.2/gdb/microblaze-tdep.c
-@@ -137,6 +137,14 @@ microblaze_fetch_instruction (CORE_ADDR
- constexpr gdb_byte microblaze_break_insn[] = MICROBLAZE_BREAKPOINT;
-
- typedef BP_MANIPULATION (microblaze_break_insn) microblaze_breakpoint;
-+static CORE_ADDR
-+microblaze_store_arguments (struct regcache *regcache, int nargs,
-+ struct value **args, CORE_ADDR sp,
-+ int struct_return, CORE_ADDR struct_addr)
-+{
-+ error (_("store_arguments not implemented"));
-+ return sp;
-+}
- static int
- microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- struct bp_target_info *bp_tgt)
-@@ -541,6 +549,12 @@ microblaze_frame_base_address (struct fr
- return cache->base;
- }
-
-+static const struct frame_unwind *
-+microblaze_frame_sniffer (struct frame_info *next_frame)
-+{
-+ return &microblaze_frame_unwind;
-+}
-+
- static const struct frame_base microblaze_frame_base =
- {
- &microblaze_frame_unwind,
-@@ -677,6 +691,71 @@ microblaze_register_g_packet_guesses (st
- tdesc_microblaze_with_stack_protect);
- }
-
-+void
-+microblaze_supply_gregset (const struct microblaze_gregset *gregset,
-+ struct regcache *regcache,
-+ int regnum, const void *gregs)
-+{
-+ unsigned int *regs = gregs;
-+ if (regnum >= 0)
-+ regcache_raw_supply (regcache, regnum, regs + regnum);
-+
-+ if (regnum == -1) {
-+ int i;
-+
-+ for (i = 0; i < 50; i++) {
-+ regcache_raw_supply (regcache, i, regs + i);
-+ }
-+ }
-+}
-+
-+
-+void
-+microblaze_collect_gregset (const struct microblaze_gregset *gregset,
-+ const struct regcache *regcache,
-+ int regnum, void *gregs)
-+{
-+ /* FIXME. */
-+}
-+
-+void
-+microblaze_supply_fpregset (struct regcache *regcache,
-+ int regnum, const void *fpregs)
-+{
-+ /* FIXME. */
-+}
-+
-+void
-+microblaze_collect_fpregset (const struct regcache *regcache,
-+ int regnum, void *fpregs)
-+{
-+ /* FIXME. */
-+}
-+
-+
-+/* Return the appropriate register set for the core section identified
-+ by SECT_NAME and SECT_SIZE. */
-+
-+const struct regset *
-+microblaze_regset_from_core_section (struct gdbarch *gdbarch,
-+ const char *sect_name, size_t sect_size)
-+{
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+
-+ microblaze_debug ("microblaze_regset_from_core_section, sect_name = %s\n", sect_name);
-+
-+ if (strcmp (sect_name, ".reg") == 0 && sect_size >= tdep->sizeof_gregset)
-+ return tdep->gregset;
-+
-+ if (strcmp (sect_name, ".reg2") == 0 && sect_size >= tdep->sizeof_fpregset)
-+ return tdep->fpregset;
-+
-+ microblaze_debug ("microblaze_regset_from_core_section returning null :-( \n");
-+ return NULL;
-+}
-+
-+
-+
- static struct gdbarch *
- microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- {
-@@ -733,6 +812,10 @@ microblaze_gdbarch_init (struct gdbarch_
- tdep = XCNEW (struct gdbarch_tdep);
- gdbarch = gdbarch_alloc (&info, tdep);
-
-+ tdep->gregset = NULL;
-+ tdep->sizeof_gregset = 0;
-+ tdep->fpregset = NULL;
-+ tdep->sizeof_fpregset = 0;
- set_gdbarch_long_double_bit (gdbarch, 128);
-
- set_gdbarch_num_regs (gdbarch, MICROBLAZE_NUM_REGS);
-@@ -781,6 +864,13 @@ microblaze_gdbarch_init (struct gdbarch_
- frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
- if (tdesc_data != NULL)
- tdesc_use_registers (gdbarch, tdesc, tdesc_data);
-+ //frame_base_append_sniffer (gdbarch, microblaze_frame_sniffer);
-+
-+ /* If we have register sets, enable the generic core file support. */
-+ if (tdep->gregset) {
-+ set_gdbarch_regset_from_core_section (gdbarch,
-+ microblaze_regset_from_core_section);
-+ }
-
- return gdbarch;
- }
-Index: gdb-9.2/gdb/microblaze-tdep.h
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-tdep.h
-+++ gdb-9.2/gdb/microblaze-tdep.h
-@@ -22,8 +22,22 @@
-
-
- /* Microblaze architecture-specific information. */
-+struct microblaze_gregset
-+{
-+ unsigned int gregs[32];
-+ unsigned int fpregs[32];
-+ unsigned int pregs[16];
-+};
-+
- struct gdbarch_tdep
- {
-+ int dummy; // declare something.
-+
-+ /* Register sets. */
-+ struct regset *gregset;
-+ size_t sizeof_gregset;
-+ struct regset *fpregset;
-+ size_t sizeof_fpregset;
- };
-
- /* Register numbers. */
-@@ -120,5 +134,18 @@ struct microblaze_frame_cache
- #define MICROBLAZE_BREAKPOINT {0xba, 0x0c, 0x00, 0x18}
- #define MICROBLAZE_BREAKPOINT_LE {0x18, 0x00, 0x0c, 0xba}
-
-+extern void microblaze_supply_gregset (const struct microblaze_gregset *gregset,
-+ struct regcache *regcache,
-+ int regnum, const void *gregs);
-+extern void microblaze_collect_gregset (const struct microblaze_gregset *gregset,
-+ const struct regcache *regcache,
-+ int regnum, void *gregs);
-+extern void microblaze_supply_fpregset (struct regcache *regcache,
-+ int regnum, const void *fpregs);
-+extern void microblaze_collect_fpregset (const struct regcache *regcache,
-+ int regnum, void *fpregs);
-+
-+extern const struct regset * microblaze_regset_from_core_section (struct gdbarch *gdbarch,
-+ const char *sect_name, size_t sect_size);
-
- #endif /* microblaze-tdep.h */
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0035-Fix-debug-message-when-register-is-unavailable.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0035-Fix-debug-message-when-register-is-unavailable.patch
deleted file mode 100644
index 9983f17f3..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0035-Fix-debug-message-when-register-is-unavailable.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From c6da374fbce33b35b060a07ee446aaf1803b1e1d Mon Sep 17 00:00:00 2001
-From: Nathan Rossi <nathan.rossi@petalogix.com>
-Date: Tue, 8 May 2012 18:11:17 +1000
-Subject: [PATCH 35/52] Fix debug message when register is unavailable
-
-Signed-off-by: Nathan Rossi <nathan.rossi@petalogix.com>
----
- gdb/frame.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-Index: gdb-9.2/gdb/frame.c
-===================================================================
---- gdb-9.2.orig/gdb/frame.c
-+++ gdb-9.2/gdb/frame.c
-@@ -1255,12 +1255,19 @@ frame_unwind_register_value (frame_info
- else
- {
- int i;
-- const gdb_byte *buf = value_contents (value);
-+ const gdb_byte *buf = NULL;
-+ if (value_entirely_available(value)) {
-+ buf = value_contents (value);
-+ }
-
- fprintf_unfiltered (gdb_stdlog, " bytes=");
- fprintf_unfiltered (gdb_stdlog, "[");
-- for (i = 0; i < register_size (gdbarch, regnum); i++)
-- fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]);
-+ if (buf != NULL) {
-+ for (i = 0; i < register_size (gdbarch, regnum); i++)
-+ fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]);
-+ } else {
-+ fprintf_unfiltered (gdb_stdlog, "unavailable");
-+ }
- fprintf_unfiltered (gdb_stdlog, "]");
- }
- }
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0036-revert-master-rebase-changes-to-gdbserver.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0036-revert-master-rebase-changes-to-gdbserver.patch
deleted file mode 100644
index cca0c7af5..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0036-revert-master-rebase-changes-to-gdbserver.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 097961b044891887fec49824edfc15754e5faf10 Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@xilinx.com>
-Date: Mon, 22 Jul 2013 11:16:05 +1000
-Subject: [PATCH 36/52] revert master-rebase changes to gdbserver
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gdb/gdbserver/configure.srv | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-Index: gdb-9.2/gdb/gdbserver/configure.srv
-===================================================================
---- gdb-9.2.orig/gdb/gdbserver/configure.srv
-+++ gdb-9.2/gdb/gdbserver/configure.srv
-@@ -184,6 +184,13 @@ case "${target}" in
- srv_linux_usrregs=yes
- srv_linux_thread_db=yes
- ;;
-+ microblaze*-*-linux*) srv_regobj=microblaze-linux.o
-+ srv_tgtobj="linux-low.o linux-osdata.o linux-microblaze-low.o "
-+ srv_tgtobj="${srv_tgtobj} linux-procfs.o linux-ptrace.o"
-+ srv_linux_regsets=yes
-+ srv_linux_usrregs=yes
-+ srv_linux_thread_db=yes
-+ ;;
- powerpc*-*-linux*) srv_regobj="powerpc-32l.o"
- srv_regobj="${srv_regobj} powerpc-altivec32l.o"
- srv_regobj="${srv_regobj} powerpc-vsx32l.o"
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0037-revert-master-rebase-changes-to-gdbserver-previous-c.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0037-revert-master-rebase-changes-to-gdbserver-previous-c.patch
deleted file mode 100644
index f6c3a0602..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0037-revert-master-rebase-changes-to-gdbserver-previous-c.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From a8b948a7967cbea9b5b2c00ed85d2beb37db53e9 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 30 Apr 2018 17:09:55 +0530
-Subject: [PATCH 37/52] revert master-rebase changes to gdbserver , previous
- commit typo's
-
----
- gdb/gdbserver/Makefile.in | 2 ++
- 1 file changed, 2 insertions(+)
-
-Index: gdb-9.2/gdb/gdbserver/Makefile.in
-===================================================================
---- gdb-9.2.orig/gdb/gdbserver/Makefile.in
-+++ gdb-9.2/gdb/gdbserver/Makefile.in
-@@ -172,6 +172,7 @@ SFILES = \
- $(srcdir)/linux-low.c \
- $(srcdir)/linux-m32r-low.c \
- $(srcdir)/linux-m68k-low.c \
-+ $(srcdir)/linux-microblaze-low.c \
- $(srcdir)/linux-mips-low.c \
- $(srcdir)/linux-nios2-low.c \
- $(srcdir)/linux-ppc-low.c \
-@@ -232,6 +233,7 @@ SFILES = \
- $(srcdir)/nat/linux-osdata.c \
- $(srcdir)/nat/linux-personality.c \
- $(srcdir)/nat/mips-linux-watch.c \
-+ $(srcdir)/nat/microblaze-linux.c \
- $(srcdir)/nat/ppc-linux.c \
- $(srcdir)/nat/fork-inferior.c \
- $(srcdir)/target/waitstatus.c
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0038-microblaze-Add-build_gdbserver-yes-to-top-level-conf.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0038-microblaze-Add-build_gdbserver-yes-to-top-level-conf.patch
deleted file mode 100644
index 37a9646f4..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0038-microblaze-Add-build_gdbserver-yes-to-top-level-conf.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6474cf4147887529ccb506b80f945aa67178f5bd Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@xilinx.com>
-Date: Mon, 16 Dec 2013 16:37:32 +1000
-Subject: [PATCH 38/52] microblaze: Add build_gdbserver=yes to top level
- configure.tgt
-
-For Microblaze linux toolchains, set the build_gdbserver=yes
-to allow driving gdbserver configuration from the upper level
-
-This patch has been absorbed into the original patch to add
-linux gdbserver support for Microblaze.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
----
- gdb/configure.tgt | 1 +
- 1 file changed, 1 insertion(+)
-
-Index: gdb-9.2/gdb/configure.tgt
-===================================================================
---- gdb-9.2.orig/gdb/configure.tgt
-+++ gdb-9.2/gdb/configure.tgt
-@@ -408,6 +408,7 @@ microblaze*-*-*)
- # Target: Xilinx MicroBlaze running standalone
- gdb_target_obs="microblaze-tdep.o"
- gdb_sim=../sim/microblaze/libsim.a
-+ build_gdbserver=yes
- ;;
-
- mips*-*-linux*)
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0039-Initial-support-for-native-gdb.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0039-Initial-support-for-native-gdb.patch
deleted file mode 100644
index 669b59273..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0039-Initial-support-for-native-gdb.patch
+++ /dev/null
@@ -1,490 +0,0 @@
-From db3c0a8a59b292eea6ed1f532f4097c40cafd7df Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@petalogix.com>
-Date: Fri, 20 Jul 2012 15:18:35 +1000
-Subject: [PATCH 39/52] Initial support for native gdb
-
-microblaze: Follow PPC method of getting setting registers
-using PTRACE PEEK/POKE
-
-Signed-off-by: David Holsgrove <david.holsgrove@petalogix.com>
-
-Conflicts:
- gdb/Makefile.in
----
- gdb/Makefile.in | 2 +
- gdb/config/microblaze/linux.mh | 9 +
- gdb/microblaze-linux-nat.c | 431 +++++++++++++++++++++++++++++++++
- 3 files changed, 442 insertions(+)
- create mode 100644 gdb/config/microblaze/linux.mh
- create mode 100644 gdb/microblaze-linux-nat.c
-
-Index: gdb-9.2/gdb/Makefile.in
-===================================================================
---- gdb-9.2.orig/gdb/Makefile.in
-+++ gdb-9.2/gdb/Makefile.in
-@@ -1337,6 +1337,7 @@ HFILES_NO_SRCDIR = \
- memory-map.h \
- memrange.h \
- microblaze-tdep.h \
-+ microblaze-linux-tdep.h \
- mips-linux-tdep.h \
- mips-nbsd-tdep.h \
- mips-tdep.h \
-@@ -2261,6 +2262,7 @@ ALLDEPFILES = \
- m68k-tdep.c \
- microblaze-linux-tdep.c \
- microblaze-tdep.c \
-+ microblaze-linux-nat.c \
- mingw-hdep.c \
- mips-fbsd-nat.c \
- mips-fbsd-tdep.c \
-Index: gdb-9.2/gdb/config/microblaze/linux.mh
-===================================================================
---- /dev/null
-+++ gdb-9.2/gdb/config/microblaze/linux.mh
-@@ -0,0 +1,9 @@
-+# Host: Microblaze, running Linux
-+
-+NAT_FILE= config/nm-linux.h
-+NATDEPFILES= inf-ptrace.o fork-child.o \
-+ microblaze-linux-nat.o proc-service.o linux-thread-db.o \
-+ linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o
-+NAT_CDEPS = $(srcdir)/proc-service.list
-+
-+LOADLIBES = -ldl $(RDYNAMIC)
-Index: gdb-9.2/gdb/microblaze-linux-nat.c
-===================================================================
---- /dev/null
-+++ gdb-9.2/gdb/microblaze-linux-nat.c
-@@ -0,0 +1,431 @@
-+/* Microblaze GNU/Linux native support.
-+
-+ Copyright (C) 1988-1989, 1991-1992, 1994, 1996, 2000-2012 Free
-+ Software Foundation, Inc.
-+
-+ This file is part of GDB.
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 3 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
-+
-+#include "defs.h"
-+#include "arch-utils.h"
-+#include "dis-asm.h"
-+#include "frame.h"
-+#include "trad-frame.h"
-+#include "symtab.h"
-+#include "value.h"
-+#include "gdbcmd.h"
-+#include "breakpoint.h"
-+#include "inferior.h"
-+#include "regcache.h"
-+#include "target.h"
-+#include "frame.h"
-+#include "frame-base.h"
-+#include "frame-unwind.h"
-+#include "dwarf2-frame.h"
-+#include "osabi.h"
-+
-+#include "gdb_assert.h"
-+#include "gdb_string.h"
-+#include "target-descriptions.h"
-+#include "opcodes/microblaze-opcm.h"
-+#include "opcodes/microblaze-dis.h"
-+
-+#include "linux-nat.h"
-+#include "target-descriptions.h"
-+
-+#include <sys/user.h>
-+#include <sys/utsname.h>
-+#include <sys/procfs.h>
-+#include <sys/ptrace.h>
-+
-+/* Prototypes for supply_gregset etc. */
-+#include "gregset.h"
-+
-+#include "microblaze-tdep.h"
-+
-+#include <elf/common.h>
-+#include "auxv.h"
-+
-+/* Defines ps_err_e, struct ps_prochandle. */
-+#include "gdb_proc_service.h"
-+
-+/* On GNU/Linux, threads are implemented as pseudo-processes, in which
-+ case we may be tracing more than one process at a time. In that
-+ case, inferior_ptid will contain the main process ID and the
-+ individual thread (process) ID. get_thread_id () is used to get
-+ the thread id if it's available, and the process id otherwise. */
-+
-+int
-+get_thread_id (ptid_t ptid)
-+{
-+ int tid = TIDGET (ptid);
-+ if (0 == tid)
-+ tid = PIDGET (ptid);
-+ return tid;
-+}
-+
-+#define GET_THREAD_ID(PTID) get_thread_id (PTID)
-+
-+/* Non-zero if our kernel may support the PTRACE_GETREGS and
-+ PTRACE_SETREGS requests, for reading and writing the
-+ general-purpose registers. Zero if we've tried one of
-+ them and gotten an error. */
-+int have_ptrace_getsetregs = 1;
-+
-+static int
-+microblaze_register_u_addr (struct gdbarch *gdbarch, int regno)
-+{
-+ int u_addr = -1;
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
-+ interface, and not the wordsize of the program's ABI. */
-+ int wordsize = sizeof (long);
-+
-+ /* General purpose registers occupy 1 slot each in the buffer. */
-+ if (regno >= MICROBLAZE_R0_REGNUM
-+ && regno <= MICROBLAZE_FSR_REGNUM)
-+ u_addr = (regno * wordsize);
-+
-+ return u_addr;
-+}
-+
-+
-+static void
-+fetch_register (struct regcache *regcache, int tid, int regno)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ /* This isn't really an address. But ptrace thinks of it as one. */
-+ CORE_ADDR regaddr = microblaze_register_u_addr (gdbarch, regno);
-+ int bytes_transferred;
-+ unsigned int offset; /* Offset of registers within the u area. */
-+ char buf[MAX_REGISTER_SIZE];
-+
-+ if (regaddr == -1)
-+ {
-+ memset (buf, '\0', register_size (gdbarch, regno)); /* Supply zeroes */
-+ regcache_raw_supply (regcache, regno, buf);
-+ return;
-+ }
-+
-+ /* Read the raw register using sizeof(long) sized chunks. On a
-+ 32-bit platform, 64-bit floating-point registers will require two
-+ transfers. */
-+ for (bytes_transferred = 0;
-+ bytes_transferred < register_size (gdbarch, regno);
-+ bytes_transferred += sizeof (long))
-+ {
-+ long l;
-+
-+ errno = 0;
-+ l = ptrace (PTRACE_PEEKUSER, tid, (PTRACE_TYPE_ARG3) regaddr, 0);
-+ regaddr += sizeof (long);
-+ if (errno != 0)
-+ {
-+ char message[128];
-+ sprintf (message, "reading register %s (#%d)",
-+ gdbarch_register_name (gdbarch, regno), regno);
-+ perror_with_name (message);
-+ }
-+ memcpy (&buf[bytes_transferred], &l, sizeof (l));
-+ }
-+
-+ /* Now supply the register. Keep in mind that the regcache's idea
-+ of the register's size may not be a multiple of sizeof
-+ (long). */
-+ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
-+ {
-+ /* Little-endian values are always found at the left end of the
-+ bytes transferred. */
-+ regcache_raw_supply (regcache, regno, buf);
-+ }
-+ else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-+ {
-+ /* Big-endian values are found at the right end of the bytes
-+ transferred. */
-+ size_t padding = (bytes_transferred - register_size (gdbarch, regno));
-+ regcache_raw_supply (regcache, regno, buf + padding);
-+ }
-+ else
-+ internal_error (__FILE__, __LINE__,
-+ _("fetch_register: unexpected byte order: %d"),
-+ gdbarch_byte_order (gdbarch));
-+}
-+
-+/* This function actually issues the request to ptrace, telling
-+ it to get all general-purpose registers and put them into the
-+ specified regset.
-+
-+ If the ptrace request does not exist, this function returns 0
-+ and properly sets the have_ptrace_* flag. If the request fails,
-+ this function calls perror_with_name. Otherwise, if the request
-+ succeeds, then the regcache gets filled and 1 is returned. */
-+static int
-+fetch_all_gp_regs (struct regcache *regcache, int tid)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ gdb_gregset_t gregset;
-+
-+ if (ptrace (PTRACE_GETREGS, tid, 0, (void *) &gregset) < 0)
-+ {
-+ if (errno == EIO)
-+ {
-+ have_ptrace_getsetregs = 0;
-+ return 0;
-+ }
-+ perror_with_name (_("Couldn't get general-purpose registers."));
-+ }
-+
-+ supply_gregset (regcache, (const gdb_gregset_t *) &gregset);
-+
-+ return 1;
-+}
-+
-+
-+/* This is a wrapper for the fetch_all_gp_regs function. It is
-+ responsible for verifying if this target has the ptrace request
-+ that can be used to fetch all general-purpose registers at one
-+ shot. If it doesn't, then we should fetch them using the
-+ old-fashioned way, which is to iterate over the registers and
-+ request them one by one. */
-+static void
-+fetch_gp_regs (struct regcache *regcache, int tid)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ int i;
-+
-+ if (have_ptrace_getsetregs)
-+ if (fetch_all_gp_regs (regcache, tid))
-+ return;
-+
-+ /* If we've hit this point, it doesn't really matter which
-+ architecture we are using. We just need to read the
-+ registers in the "old-fashioned way". */
-+ for (i = MICROBLAZE_R0_REGNUM; i <= MICROBLAZE_FSR_REGNUM; i++)
-+ fetch_register (regcache, tid, i);
-+}
-+
-+
-+static void
-+store_register (const struct regcache *regcache, int tid, int regno)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ /* This isn't really an address. But ptrace thinks of it as one. */
-+ CORE_ADDR regaddr = microblaze_register_u_addr (gdbarch, regno);
-+ int i;
-+ size_t bytes_to_transfer;
-+ char buf[MAX_REGISTER_SIZE];
-+
-+ if (regaddr == -1)
-+ return;
-+
-+ /* First collect the register. Keep in mind that the regcache's
-+ idea of the register's size may not be a multiple of sizeof
-+ (long). */
-+ memset (buf, 0, sizeof buf);
-+ bytes_to_transfer = align_up (register_size (gdbarch, regno), sizeof (long));
-+ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
-+ {
-+ /* Little-endian values always sit at the left end of the buffer. */
-+ regcache_raw_collect (regcache, regno, buf);
-+ }
-+ else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-+ {
-+ /* Big-endian values sit at the right end of the buffer. */
-+ size_t padding = (bytes_to_transfer - register_size (gdbarch, regno));
-+ regcache_raw_collect (regcache, regno, buf + padding);
-+ }
-+
-+ for (i = 0; i < bytes_to_transfer; i += sizeof (long))
-+ {
-+ long l;
-+
-+ memcpy (&l, &buf[i], sizeof (l));
-+ errno = 0;
-+ ptrace (PTRACE_POKEUSER, tid, (PTRACE_TYPE_ARG3) regaddr, l);
-+ regaddr += sizeof (long);
-+
-+ if (errno != 0)
-+ {
-+ char message[128];
-+ sprintf (message, "writing register %s (#%d)",
-+ gdbarch_register_name (gdbarch, regno), regno);
-+ perror_with_name (message);
-+ }
-+ }
-+}
-+
-+/* This function actually issues the request to ptrace, telling
-+ it to store all general-purpose registers present in the specified
-+ regset.
-+
-+ If the ptrace request does not exist, this function returns 0
-+ and properly sets the have_ptrace_* flag. If the request fails,
-+ this function calls perror_with_name. Otherwise, if the request
-+ succeeds, then the regcache is stored and 1 is returned. */
-+static int
-+store_all_gp_regs (const struct regcache *regcache, int tid, int regno)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ gdb_gregset_t gregset;
-+
-+ if (ptrace (PTRACE_GETREGS, tid, 0, (void *) &gregset) < 0)
-+ {
-+ if (errno == EIO)
-+ {
-+ have_ptrace_getsetregs = 0;
-+ return 0;
-+ }
-+ perror_with_name (_("Couldn't get general-purpose registers."));
-+ }
-+
-+ fill_gregset (regcache, &gregset, regno);
-+
-+ if (ptrace (PTRACE_SETREGS, tid, 0, (void *) &gregset) < 0)
-+ {
-+ if (errno == EIO)
-+ {
-+ have_ptrace_getsetregs = 0;
-+ return 0;
-+ }
-+ perror_with_name (_("Couldn't set general-purpose registers."));
-+ }
-+
-+ return 1;
-+}
-+
-+/* This is a wrapper for the store_all_gp_regs function. It is
-+ responsible for verifying if this target has the ptrace request
-+ that can be used to store all general-purpose registers at one
-+ shot. If it doesn't, then we should store them using the
-+ old-fashioned way, which is to iterate over the registers and
-+ store them one by one. */
-+static void
-+store_gp_regs (const struct regcache *regcache, int tid, int regno)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ int i;
-+
-+ if (have_ptrace_getsetregs)
-+ if (store_all_gp_regs (regcache, tid, regno))
-+ return;
-+
-+ /* If we hit this point, it doesn't really matter which
-+ architecture we are using. We just need to store the
-+ registers in the "old-fashioned way". */
-+ for (i = MICROBLAZE_R0_REGNUM; i <= MICROBLAZE_FSR_REGNUM; i++)
-+ store_register (regcache, tid, i);
-+}
-+
-+
-+/* Fetch registers from the child process. Fetch all registers if
-+ regno == -1, otherwise fetch all general registers or all floating
-+ point registers depending upon the value of regno. */
-+
-+static void
-+microblaze_linux_fetch_inferior_registers (struct target_ops *ops,
-+ struct regcache *regcache, int regno)
-+{
-+ /* Get the thread id for the ptrace call. */
-+ int tid = GET_THREAD_ID (inferior_ptid);
-+
-+ if (regno == -1)
-+ fetch_gp_regs (regcache, tid);
-+ else
-+ fetch_register (regcache, tid, regno);
-+}
-+
-+/* Store registers back into the inferior. Store all registers if
-+ regno == -1, otherwise store all general registers or all floating
-+ point registers depending upon the value of regno. */
-+
-+static void
-+microblaze_linux_store_inferior_registers (struct target_ops *ops,
-+ struct regcache *regcache, int regno)
-+{
-+ /* Get the thread id for the ptrace call. */
-+ int tid = GET_THREAD_ID (inferior_ptid);
-+
-+ if (regno >= 0)
-+ store_register (regcache, tid, regno);
-+ else
-+ store_gp_regs (regcache, tid, -1);
-+}
-+
-+/* Wrapper functions for the standard regset handling, used by
-+ thread debugging. */
-+
-+void
-+fill_gregset (const struct regcache *regcache,
-+ gdb_gregset_t *gregsetp, int regno)
-+{
-+ microblaze_collect_gregset (NULL, regcache, regno, gregsetp);
-+}
-+
-+void
-+supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregsetp)
-+{
-+ microblaze_supply_gregset (NULL, regcache, -1, gregsetp);
-+}
-+
-+void
-+fill_fpregset (const struct regcache *regcache,
-+ gdb_fpregset_t *fpregsetp, int regno)
-+{
-+ /* FIXME. */
-+}
-+
-+void
-+supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
-+{
-+ /* FIXME. */
-+}
-+
-+static const struct target_desc *
-+microblaze_linux_read_description (struct target_ops *ops)
-+{
-+ CORE_ADDR microblaze_hwcap = 0;
-+
-+ if (target_auxv_search (ops, AT_HWCAP, &microblaze_hwcap) != 1)
-+ return NULL;
-+
-+ return NULL;
-+}
-+
-+
-+void _initialize_microblaze_linux_nat (void);
-+
-+void
-+_initialize_microblaze_linux_nat (void)
-+{
-+ struct target_ops *t;
-+
-+ /* Fill in the generic GNU/Linux methods. */
-+ t = linux_target ();
-+
-+ /* Add our register access methods. */
-+ t->to_fetch_registers = microblaze_linux_fetch_inferior_registers;
-+ t->to_store_registers = microblaze_linux_store_inferior_registers;
-+
-+ t->to_read_description = microblaze_linux_read_description;
-+
-+ /* Register the target. */
-+ linux_nat_add_target (t);
-+}
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0040-Fixing-the-issues-related-to-GDB-7.12-added-all-the-.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0040-Fixing-the-issues-related-to-GDB-7.12-added-all-the-.patch
deleted file mode 100644
index 85f8174a7..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0040-Fixing-the-issues-related-to-GDB-7.12-added-all-the-.patch
+++ /dev/null
@@ -1,306 +0,0 @@
-From bf3c50c95c4dcca6c5c07a3c082bdd9d687f1496 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Fri, 17 Feb 2017 14:09:40 +0530
-Subject: [PATCH 40/52] Fixing the issues related to GDB-7.12 added all the
- required function which are new in 7.12 and removed few deprecated functions
- from 7.6
-
----
- gdb/config/microblaze/linux.mh | 4 +-
- gdb/gdbserver/configure.srv | 3 +-
- gdb/gdbserver/linux-microblaze-low.c | 97 ++++++++++++++++++++++++----
- gdb/microblaze-linux-tdep.c | 68 +++++++++++++++++--
- gdb/microblaze-tdep.h | 1 +
- 5 files changed, 153 insertions(+), 20 deletions(-)
-
-Index: gdb-9.2/gdb/config/microblaze/linux.mh
-===================================================================
---- gdb-9.2.orig/gdb/config/microblaze/linux.mh
-+++ gdb-9.2/gdb/config/microblaze/linux.mh
-@@ -1,9 +1,11 @@
- # Host: Microblaze, running Linux
-
-+#linux-nat.o linux-waitpid.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o
- NAT_FILE= config/nm-linux.h
- NATDEPFILES= inf-ptrace.o fork-child.o \
- microblaze-linux-nat.o proc-service.o linux-thread-db.o \
-- linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o
-+ linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
-+ linux-waitpid.o linux-personality.o linux-namespaces.o
- NAT_CDEPS = $(srcdir)/proc-service.list
-
- LOADLIBES = -ldl $(RDYNAMIC)
-Index: gdb-9.2/gdb/gdbserver/configure.srv
-===================================================================
---- gdb-9.2.orig/gdb/gdbserver/configure.srv
-+++ gdb-9.2/gdb/gdbserver/configure.srv
-@@ -185,8 +185,7 @@ case "${target}" in
- srv_linux_thread_db=yes
- ;;
- microblaze*-*-linux*) srv_regobj=microblaze-linux.o
-- srv_tgtobj="linux-low.o linux-osdata.o linux-microblaze-low.o "
-- srv_tgtobj="${srv_tgtobj} linux-procfs.o linux-ptrace.o"
-+ srv_tgtobj="$srv_linux_obj linux-microblaze-low.o "
- srv_linux_regsets=yes
- srv_linux_usrregs=yes
- srv_linux_thread_db=yes
-Index: gdb-9.2/gdb/gdbserver/linux-microblaze-low.c
-===================================================================
---- gdb-9.2.orig/gdb/gdbserver/linux-microblaze-low.c
-+++ gdb-9.2/gdb/gdbserver/linux-microblaze-low.c
-@@ -39,10 +39,11 @@ static int microblaze_regmap[] =
- PT_FSR
- };
-
--#define microblaze_num_regs (sizeof microblaze_regmap / sizeof microblaze_regmap[0])
-+#define microblaze_num_regs (sizeof (microblaze_regmap) / sizeof (microblaze_regmap[0]))
-
- /* Defined in auto-generated file microblaze-linux.c. */
- void init_registers_microblaze (void);
-+extern const struct target_desc *tdesc_microblaze;
-
- static int
- microblaze_cannot_store_register (int regno)
-@@ -81,6 +82,15 @@ microblaze_set_pc (struct regcache *regc
- static const unsigned long microblaze_breakpoint = 0xba0c0018;
- #define microblaze_breakpoint_len 4
-
-+/* Implementation of linux_target_ops method "sw_breakpoint_from_kind". */
-+
-+static const gdb_byte *
-+microblaze_sw_breakpoint_from_kind (int kind, int *size)
-+{
-+ *size = microblaze_breakpoint_len;
-+ return (const gdb_byte *) &microblaze_breakpoint;
-+}
-+
- static int
- microblaze_breakpoint_at (CORE_ADDR where)
- {
-@@ -107,7 +117,7 @@ microblaze_reinsert_addr (struct regcach
- static void
- microblaze_collect_ptrace_register (struct regcache *regcache, int regno, char *buf)
- {
-- int size = register_size (regno);
-+ int size = register_size (regcache->tdesc, regno);
-
- memset (buf, 0, sizeof (long));
-
-@@ -121,7 +131,7 @@ static void
- microblaze_supply_ptrace_register (struct regcache *regcache,
- int regno, const char *buf)
- {
-- int size = register_size (regno);
-+ int size = register_size (regcache->tdesc, regno);
-
- if (regno == 0) {
- unsigned long regbuf_0 = 0;
-@@ -157,33 +167,94 @@ microblaze_store_gregset (struct regcach
-
- #endif /* HAVE_PTRACE_GETREGS */
-
--struct regset_info target_regsets[] = {
-+static struct regset_info microblaze_regsets[] = {
- #ifdef HAVE_PTRACE_GETREGS
- { PTRACE_GETREGS, PTRACE_SETREGS, 0, sizeof (elf_gregset_t), GENERAL_REGS, microblaze_fill_gregset, microblaze_store_gregset },
-- { 0, 0, 0, -1, -1, NULL, NULL },
-+ { 0, 0, 0, -1, GENERAL_REGS, NULL, NULL },
- #endif /* HAVE_PTRACE_GETREGS */
-- { 0, 0, 0, -1, -1, NULL, NULL }
-+ { 0, 0, 0, -1, GENERAL_REGS, NULL, NULL },
-+ NULL_REGSET
- };
-
-+static struct usrregs_info microblaze_usrregs_info =
-+ {
-+ microblaze_num_regs,
-+ microblaze_regmap,
-+ };
-+
-+static struct regsets_info microblaze_regsets_info =
-+ {
-+ microblaze_regsets, /* regsets */
-+ 0, /* num_regsets */
-+ NULL, /* disabled_regsets */
-+ };
-+
-+static struct regs_info regs_info =
-+ {
-+ NULL, /* regset_bitmap */
-+ &microblaze_usrregs_info,
-+ &microblaze_regsets_info
-+ };
-+
-+static const struct regs_info *
-+microblaze_regs_info (void)
-+{
-+ return &regs_info;
-+}
-+
-+/* Support for hardware single step. */
-+
-+static int
-+microblaze_supports_hardware_single_step (void)
-+{
-+ return 1;
-+}
-+
-+
-+static void
-+microblaze_arch_setup (void)
-+{
-+ current_process ()->tdesc = tdesc_microblaze;
-+}
-+
- struct linux_target_ops the_low_target = {
-- init_registers_microblaze,
-- microblaze_num_regs,
-- microblaze_regmap,
-- NULL,
-+ microblaze_arch_setup,
-+ microblaze_regs_info,
- microblaze_cannot_fetch_register,
- microblaze_cannot_store_register,
- NULL, /* fetch_register */
- microblaze_get_pc,
- microblaze_set_pc,
-- (const unsigned char *) &microblaze_breakpoint,
-- microblaze_breakpoint_len,
-- microblaze_reinsert_addr,
-+ NULL,
-+ microblaze_sw_breakpoint_from_kind,
-+ NULL,
- 0,
- microblaze_breakpoint_at,
- NULL,
- NULL,
- NULL,
- NULL,
-+ NULL,
- microblaze_collect_ptrace_register,
- microblaze_supply_ptrace_register,
-+ NULL, /* siginfo_fixup */
-+ NULL, /* new_process */
-+ NULL, /* new_thread */
-+ NULL, /* new_fork */
-+ NULL, /* prepare_to_resume */
-+ NULL, /* process_qsupported */
-+ NULL, /* supports_tracepoints */
-+ NULL, /* get_thread_area */
-+ NULL, /* install_fast_tracepoint_jump_pad */
-+ NULL, /* emit_ops */
-+ NULL, /* get_min_fast_tracepoint_insn_len */
-+ NULL, /* supports_range_stepping */
-+ NULL, /* breakpoint_kind_from_current_state */
-+ microblaze_supports_hardware_single_step,
- };
-+
-+void
-+initialize_low_arch (void)
-+{
-+ init_registers_microblaze ();
-+}
-Index: gdb-9.2/gdb/microblaze-linux-tdep.c
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-linux-tdep.c
-+++ gdb-9.2/gdb/microblaze-linux-tdep.c
-@@ -29,13 +29,76 @@
- #include "regcache.h"
- #include "value.h"
- #include "osabi.h"
--#include "regset.h"
- #include "solib-svr4.h"
- #include "microblaze-tdep.h"
- #include "trad-frame.h"
- #include "frame-unwind.h"
- #include "tramp-frame.h"
- #include "linux-tdep.h"
-+#include "glibc-tdep.h"
-+
-+#include "gdb_assert.h"
-+
-+#ifndef REGSET_H
-+#define REGSET_H 1
-+
-+struct gdbarch;
-+struct regcache;
-+
-+/* Data structure for the supported register notes in a core file. */
-+struct core_regset_section
-+{
-+ const char *sect_name;
-+ int size;
-+ const char *human_name;
-+};
-+
-+/* Data structure describing a register set. */
-+
-+typedef void (supply_regset_ftype) (const struct regset *, struct regcache *,
-+ int, const void *, size_t);
-+typedef void (collect_regset_ftype) (const struct regset *,
-+ const struct regcache *,
-+ int, void *, size_t);
-+
-+struct regset
-+{
-+ /* Data pointer for private use by the methods below, presumably
-+ providing some sort of description of the register set. */
-+ const void *descr;
-+
-+ /* Function supplying values in a register set to a register cache. */
-+ supply_regset_ftype *supply_regset;
-+
-+ /* Function collecting values in a register set from a register cache. */
-+ collect_regset_ftype *collect_regset;
-+
-+ /* Architecture associated with the register set. */
-+ struct gdbarch *arch;
-+};
-+
-+#endif
-+
-+/* Allocate a fresh 'struct regset' whose supply_regset function is
-+ SUPPLY_REGSET, and whose collect_regset function is COLLECT_REGSET.
-+ If the regset has no collect_regset function, pass NULL for
-+ COLLECT_REGSET.
-+
-+ The object returned is allocated on ARCH's obstack. */
-+
-+struct regset *
-+regset_alloc (struct gdbarch *arch,
-+ supply_regset_ftype *supply_regset,
-+ collect_regset_ftype *collect_regset)
-+{
-+ struct regset *regset = GDBARCH_OBSTACK_ZALLOC (arch, struct regset);
-+
-+ regset->arch = arch;
-+ regset->supply_regset = supply_regset;
-+ regset->collect_regset = collect_regset;
-+
-+ return regset;
-+}
-
- static int microblaze_debug_flag = 0;
-
-@@ -207,9 +270,6 @@ microblaze_linux_init_abi (struct gdbarc
- set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
-
-- set_gdbarch_regset_from_core_section (gdbarch,
-- microblaze_regset_from_core_section);
--
- /* Enable TLS support. */
- set_gdbarch_fetch_tls_load_module_address (gdbarch,
- svr4_fetch_objfile_link_map);
-Index: gdb-9.2/gdb/microblaze-tdep.h
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-tdep.h
-+++ gdb-9.2/gdb/microblaze-tdep.h
-@@ -24,6 +24,7 @@
- /* Microblaze architecture-specific information. */
- struct microblaze_gregset
- {
-+ microblaze_gregset() {}
- unsigned int gregs[32];
- unsigned int fpregs[32];
- unsigned int pregs[16];
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0041-Adding-64-bit-MB-support-Added-new-architecture-to-M.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0041-Adding-64-bit-MB-support-Added-new-architecture-to-M.patch
deleted file mode 100644
index 0c72e792c..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0041-Adding-64-bit-MB-support-Added-new-architecture-to-M.patch
+++ /dev/null
@@ -1,953 +0,0 @@
-From 992c41987cb6c89bb3f9cbc0f6a2b0aa3458e4d2 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nmekala@xilix.com>
-Date: Thu, 31 Jan 2019 14:36:00 +0530
-Subject: [PATCH 41/52] Adding 64 bit MB support Added new architecture to
- Microblaze 64-bit support to GDB Signed-off-by :Nagaraju Mekala
- <nmekala@xilix.com>
-
-Conflicts:
- gdb/Makefile.in
----
- bfd/archures.c | 2 +
- bfd/bfd-in2.h | 2 +
- bfd/cpu-microblaze.c | 8 +-
- gas/config/tc-microblaze.c | 13 ++
- gas/config/tc-microblaze.h | 4 +
- gdb/features/Makefile | 3 +
- gdb/features/microblaze-core.xml | 6 +-
- gdb/features/microblaze-stack-protect.xml | 4 +-
- gdb/features/microblaze-with-stack-protect.c | 8 +-
- gdb/features/microblaze.c | 6 +-
- gdb/features/microblaze64-core.xml | 69 ++++++
- gdb/features/microblaze64-stack-protect.xml | 12 +
- .../microblaze64-with-stack-protect.c | 79 +++++++
- .../microblaze64-with-stack-protect.xml | 12 +
- gdb/features/microblaze64.c | 77 +++++++
- gdb/features/microblaze64.xml | 11 +
- gdb/microblaze-tdep.c | 207 ++++++++++++++++--
- gdb/microblaze-tdep.h | 8 +-
- .../microblaze-with-stack-protect.dat | 4 +-
- 19 files changed, 491 insertions(+), 44 deletions(-)
- create mode 100644 gdb/features/microblaze64-core.xml
- create mode 100644 gdb/features/microblaze64-stack-protect.xml
- create mode 100644 gdb/features/microblaze64-with-stack-protect.c
- create mode 100644 gdb/features/microblaze64-with-stack-protect.xml
- create mode 100644 gdb/features/microblaze64.c
- create mode 100644 gdb/features/microblaze64.xml
-
-Index: gdb-9.2/bfd/archures.c
-===================================================================
---- gdb-9.2.orig/bfd/archures.c
-+++ gdb-9.2/bfd/archures.c
-@@ -513,6 +513,8 @@ DESCRIPTION
- . bfd_arch_lm32, {* Lattice Mico32. *}
- .#define bfd_mach_lm32 1
- . bfd_arch_microblaze,{* Xilinx MicroBlaze. *}
-+.#define bfd_mach_microblaze 1
-+.#define bfd_mach_microblaze64 2
- . bfd_arch_tilepro, {* Tilera TILEPro. *}
- . bfd_arch_tilegx, {* Tilera TILE-Gx. *}
- .#define bfd_mach_tilepro 1
-Index: gdb-9.2/bfd/bfd-in2.h
-===================================================================
---- gdb-9.2.orig/bfd/bfd-in2.h
-+++ gdb-9.2/bfd/bfd-in2.h
-@@ -1896,6 +1896,8 @@ enum bfd_architecture
- bfd_arch_lm32, /* Lattice Mico32. */
- #define bfd_mach_lm32 1
- bfd_arch_microblaze,/* Xilinx MicroBlaze. */
-+#define bfd_mach_microblaze 1
-+#define bfd_mach_microblaze64 2
- bfd_arch_tilepro, /* Tilera TILEPro. */
- bfd_arch_tilegx, /* Tilera TILE-Gx. */
- #define bfd_mach_tilepro 1
-Index: gdb-9.2/bfd/cpu-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/cpu-microblaze.c
-+++ gdb-9.2/bfd/cpu-microblaze.c
-@@ -31,7 +31,7 @@ const bfd_arch_info_type bfd_microblaze_
- 64, /* 32 bits in an address. */
- 8, /* 8 bits in a byte. */
- bfd_arch_microblaze, /* Architecture. */
-- 0, /* Machine number - 0 for now. */
-+ bfd_mach_microblaze64, /* 64 bit Machine */
- "microblaze", /* Architecture name. */
- "MicroBlaze", /* Printable name. */
- 3, /* Section align power. */
-@@ -46,7 +46,7 @@ const bfd_arch_info_type bfd_microblaze_
- 32, /* Bits in an address. */
- 8, /* Bits in a byte. */
- bfd_arch_microblaze, /* Architecture number. */
-- 0, /* Machine number - 0 for now. */
-+ bfd_mach_microblaze, /* 32 bit Machine */
- "microblaze", /* Architecture name. */
- "MicroBlaze", /* Printable name. */
- 3, /* Section align power. */
-@@ -63,7 +63,7 @@ const bfd_arch_info_type bfd_microblaze_
- 32, /* 32 bits in an address. */
- 8, /* 8 bits in a byte. */
- bfd_arch_microblaze, /* Architecture. */
-- 0, /* Machine number - 0 for now. */
-+ bfd_mach_microblaze, /* 32 bit Machine */
- "microblaze", /* Architecture name. */
- "MicroBlaze", /* Printable name. */
- 3, /* Section align power. */
-@@ -78,7 +78,7 @@ const bfd_arch_info_type bfd_microblaze_
- 64, /* 32 bits in an address. */
- 8, /* 8 bits in a byte. */
- bfd_arch_microblaze, /* Architecture. */
-- 0, /* Machine number - 0 for now. */
-+ bfd_mach_microblaze64, /* 64 bit Machine */
- "microblaze", /* Architecture name. */
- "MicroBlaze", /* Printable name. */
- 3, /* Section align power. */
-Index: gdb-9.2/gdb/features/Makefile
-===================================================================
---- gdb-9.2.orig/gdb/features/Makefile
-+++ gdb-9.2/gdb/features/Makefile
-@@ -48,6 +48,7 @@ WHICH = arm/arm-with-iwmmxt arm/arm-with
- arm/arm-with-neon \
- mips-linux mips-dsp-linux \
- microblaze-with-stack-protect \
-+ microblaze64-with-stack-protect \
- mips64-linux mips64-dsp-linux \
- nios2-linux \
- rs6000/powerpc-32 \
-@@ -111,7 +112,9 @@ XMLTOC = \
- arc-v2.xml \
- arc-arcompact.xml \
- microblaze-with-stack-protect.xml \
-+ microblaze64-with-stack-protect.xml \
- microblaze.xml \
-+ microblaze64.xml \
- mips-dsp-linux.xml \
- mips-linux.xml \
- mips64-dsp-linux.xml \
-Index: gdb-9.2/gdb/features/microblaze-core.xml
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze-core.xml
-+++ gdb-9.2/gdb/features/microblaze-core.xml
-@@ -8,7 +8,7 @@
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.microblaze.core">
- <reg name="r0" bitsize="32" regnum="0"/>
-- <reg name="r1" bitsize="32" type="data_ptr"/>
-+ <reg name="r1" bitsize="32"/>
- <reg name="r2" bitsize="32"/>
- <reg name="r3" bitsize="32"/>
- <reg name="r4" bitsize="32"/>
-@@ -39,7 +39,7 @@
- <reg name="r29" bitsize="32"/>
- <reg name="r30" bitsize="32"/>
- <reg name="r31" bitsize="32"/>
-- <reg name="rpc" bitsize="32" type="code_ptr"/>
-+ <reg name="rpc" bitsize="32"/>
- <reg name="rmsr" bitsize="32"/>
- <reg name="rear" bitsize="32"/>
- <reg name="resr" bitsize="32"/>
-@@ -64,4 +64,6 @@
- <reg name="rtlbsx" bitsize="32"/>
- <reg name="rtlblo" bitsize="32"/>
- <reg name="rtlbhi" bitsize="32"/>
-+ <reg name="slr" bitsize="32"/>
-+ <reg name="shr" bitsize="32"/>
- </feature>
-Index: gdb-9.2/gdb/features/microblaze-stack-protect.xml
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze-stack-protect.xml
-+++ gdb-9.2/gdb/features/microblaze-stack-protect.xml
-@@ -7,6 +7,6 @@
-
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.microblaze.stack-protect">
-- <reg name="rslr" bitsize="32"/>
-- <reg name="rshr" bitsize="32"/>
-+ <reg name="slr" bitsize="32"/>
-+ <reg name="shr" bitsize="32"/>
- </feature>
-Index: gdb-9.2/gdb/features/microblaze-with-stack-protect.c
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze-with-stack-protect.c
-+++ gdb-9.2/gdb/features/microblaze-with-stack-protect.c
-@@ -14,7 +14,7 @@ initialize_tdesc_microblaze_with_stack_p
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "data_ptr");
-+ tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
-@@ -45,7 +45,7 @@ initialize_tdesc_microblaze_with_stack_p
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "rpc", 32, 1, NULL, 32, "code_ptr");
-+ tdesc_create_reg (feature, "rpc", 32, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rmsr", 33, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rear", 34, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "resr", 35, 1, NULL, 32, "int");
-@@ -72,8 +72,8 @@ initialize_tdesc_microblaze_with_stack_p
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.stack-protect");
-- tdesc_create_reg (feature, "rslr", 57, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "rshr", 58, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 32, "int");
-
- tdesc_microblaze_with_stack_protect = result;
- }
-Index: gdb-9.2/gdb/features/microblaze.c
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze.c
-+++ gdb-9.2/gdb/features/microblaze.c
-@@ -14,7 +14,7 @@ initialize_tdesc_microblaze (void)
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "data_ptr");
-+ tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
-@@ -45,7 +45,7 @@ initialize_tdesc_microblaze (void)
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "rpc", 32, 1, NULL, 32, "code_ptr");
-+ tdesc_create_reg (feature, "rpc", 32, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rmsr", 33, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rear", 34, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "resr", 35, 1, NULL, 32, "int");
-@@ -70,6 +70,8 @@ initialize_tdesc_microblaze (void)
- tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-
- tdesc_microblaze = result;
- }
-Index: gdb-9.2/gdb/features/microblaze64-core.xml
-===================================================================
---- /dev/null
-+++ gdb-9.2/gdb/features/microblaze64-core.xml
-@@ -0,0 +1,69 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2014-2018 Free Software Foundation, Inc.
-+
-+ Copying and distribution of this file, with or without modification,
-+ are permitted in any medium without royalty provided the copyright
-+ notice and this notice are preserved. -->
-+
-+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-+<feature name="org.gnu.gdb.microblaze64.core">
-+ <reg name="r0" bitsize="64" regnum="0"/>
-+ <reg name="r1" bitsize="64"/>
-+ <reg name="r2" bitsize="64"/>
-+ <reg name="r3" bitsize="64"/>
-+ <reg name="r4" bitsize="64"/>
-+ <reg name="r5" bitsize="64"/>
-+ <reg name="r6" bitsize="64"/>
-+ <reg name="r7" bitsize="64"/>
-+ <reg name="r8" bitsize="64"/>
-+ <reg name="r9" bitsize="64"/>
-+ <reg name="r10" bitsize="64"/>
-+ <reg name="r11" bitsize="64"/>
-+ <reg name="r12" bitsize="64"/>
-+ <reg name="r13" bitsize="64"/>
-+ <reg name="r14" bitsize="64"/>
-+ <reg name="r15" bitsize="64"/>
-+ <reg name="r16" bitsize="64"/>
-+ <reg name="r17" bitsize="64"/>
-+ <reg name="r18" bitsize="64"/>
-+ <reg name="r19" bitsize="64"/>
-+ <reg name="r20" bitsize="64"/>
-+ <reg name="r21" bitsize="64"/>
-+ <reg name="r22" bitsize="64"/>
-+ <reg name="r23" bitsize="64"/>
-+ <reg name="r24" bitsize="64"/>
-+ <reg name="r25" bitsize="64"/>
-+ <reg name="r26" bitsize="64"/>
-+ <reg name="r27" bitsize="64"/>
-+ <reg name="r28" bitsize="64"/>
-+ <reg name="r29" bitsize="64"/>
-+ <reg name="r30" bitsize="64"/>
-+ <reg name="r31" bitsize="64"/>
-+ <reg name="rpc" bitsize="64"/>
-+ <reg name="rmsr" bitsize="32"/>
-+ <reg name="rear" bitsize="64"/>
-+ <reg name="resr" bitsize="32"/>
-+ <reg name="rfsr" bitsize="32"/>
-+ <reg name="rbtr" bitsize="64"/>
-+ <reg name="rpvr0" bitsize="32"/>
-+ <reg name="rpvr1" bitsize="32"/>
-+ <reg name="rpvr2" bitsize="32"/>
-+ <reg name="rpvr3" bitsize="32"/>
-+ <reg name="rpvr4" bitsize="32"/>
-+ <reg name="rpvr5" bitsize="32"/>
-+ <reg name="rpvr6" bitsize="32"/>
-+ <reg name="rpvr7" bitsize="32"/>
-+ <reg name="rpvr8" bitsize="64"/>
-+ <reg name="rpvr9" bitsize="64"/>
-+ <reg name="rpvr10" bitsize="32"/>
-+ <reg name="rpvr11" bitsize="32"/>
-+ <reg name="redr" bitsize="32"/>
-+ <reg name="rpid" bitsize="32"/>
-+ <reg name="rzpr" bitsize="32"/>
-+ <reg name="rtlbx" bitsize="32"/>
-+ <reg name="rtlbsx" bitsize="32"/>
-+ <reg name="rtlblo" bitsize="32"/>
-+ <reg name="rtlbhi" bitsize="32"/>
-+ <reg name="slr" bitsize="64"/>
-+ <reg name="shr" bitsize="64"/>
-+</feature>
-Index: gdb-9.2/gdb/features/microblaze64-stack-protect.xml
-===================================================================
---- /dev/null
-+++ gdb-9.2/gdb/features/microblaze64-stack-protect.xml
-@@ -0,0 +1,12 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2014-2018 Free Software Foundation, Inc.
-+
-+ Copying and distribution of this file, with or without modification,
-+ are permitted in any medium without royalty provided the copyright
-+ notice and this notice are preserved. -->
-+
-+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-+<feature name="org.gnu.gdb.microblaze64.stack-protect">
-+ <reg name="slr" bitsize="64"/>
-+ <reg name="shr" bitsize="64"/>
-+</feature>
-Index: gdb-9.2/gdb/features/microblaze64-with-stack-protect.c
-===================================================================
---- /dev/null
-+++ gdb-9.2/gdb/features/microblaze64-with-stack-protect.c
-@@ -0,0 +1,79 @@
-+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
-+ Original: microblaze-with-stack-protect.xml */
-+
-+#include "defs.h"
-+#include "osabi.h"
-+#include "target-descriptions.h"
-+
-+struct target_desc *tdesc_microblaze64_with_stack_protect;
-+static void
-+initialize_tdesc_microblaze64_with_stack_protect (void)
-+{
-+ struct target_desc *result = allocate_target_description ();
-+ struct tdesc_feature *feature;
-+
-+ feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze64.core");
-+ tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpc", 32, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rmsr", 33, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rear", 34, 1, NULL, 64, "int");
-+ tdesc_create_reg (feature, "resr", 35, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rfsr", 36, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rbtr", 37, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr0", 38, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr1", 39, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr2", 40, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr3", 41, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr4", 42, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr5", 43, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr6", 44, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr7", 45, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr8", 46, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr9", 47, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr10", 48, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr11", 49, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "redr", 50, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpid", 51, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rzpr", 52, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbx", 53, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-+
-+ feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze64.stack-protect");
-+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-+
-+ tdesc_microblaze64_with_stack_protect = result;
-+}
-Index: gdb-9.2/gdb/features/microblaze64-with-stack-protect.xml
-===================================================================
---- /dev/null
-+++ gdb-9.2/gdb/features/microblaze64-with-stack-protect.xml
-@@ -0,0 +1,12 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2014-2018 Free Software Foundation, Inc.
-+
-+ Copying and distribution of this file, with or without modification,
-+ are permitted in any medium without royalty provided the copyright
-+ notice and this notice are preserved. -->
-+
-+<!DOCTYPE target SYSTEM "gdb-target.dtd">
-+<target>
-+ <xi:include href="microblaze64-core.xml"/>
-+ <xi:include href="microblaze64-stack-protect.xml"/>
-+</target>
-Index: gdb-9.2/gdb/features/microblaze64.c
-===================================================================
---- /dev/null
-+++ gdb-9.2/gdb/features/microblaze64.c
-@@ -0,0 +1,77 @@
-+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
-+ Original: microblaze.xml */
-+
-+#include "defs.h"
-+#include "osabi.h"
-+#include "target-descriptions.h"
-+
-+struct target_desc *tdesc_microblaze64;
-+static void
-+initialize_tdesc_microblaze64 (void)
-+{
-+ struct target_desc *result = allocate_target_description ();
-+ struct tdesc_feature *feature;
-+
-+ feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze64.core");
-+ tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpc", 32, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rmsr", 33, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rear", 34, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "resr", 35, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rfsr", 36, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rbtr", 37, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr0", 38, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr1", 39, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr2", 40, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr3", 41, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr4", 42, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr5", 43, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr6", 44, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr7", 45, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr8", 46, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr9", 47, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rpvr10", 48, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpvr11", 49, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "redr", 50, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rpid", 51, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rzpr", 52, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbx", 53, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-+
-+ tdesc_microblaze64 = result;
-+}
-Index: gdb-9.2/gdb/features/microblaze64.xml
-===================================================================
---- /dev/null
-+++ gdb-9.2/gdb/features/microblaze64.xml
-@@ -0,0 +1,11 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2014-2018 Free Software Foundation, Inc.
-+
-+ Copying and distribution of this file, with or without modification,
-+ are permitted in any medium without royalty provided the copyright
-+ notice and this notice are preserved. -->
-+
-+<!DOCTYPE target SYSTEM "gdb-target.dtd">
-+<target>
-+ <xi:include href="microblaze64-core.xml"/>
-+</target>
-Index: gdb-9.2/gdb/microblaze-tdep.c
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-tdep.c
-+++ gdb-9.2/gdb/microblaze-tdep.c
-@@ -40,7 +40,9 @@
- #include "remote.h"
-
- #include "features/microblaze-with-stack-protect.c"
-+#include "features/microblaze64-with-stack-protect.c"
- #include "features/microblaze.c"
-+#include "features/microblaze64.c"
-
- /* Instruction macros used for analyzing the prologue. */
- /* This set of instruction macros need to be changed whenever the
-@@ -75,12 +77,13 @@ static const char *microblaze_register_n
- "rpvr0", "rpvr1", "rpvr2", "rpvr3", "rpvr4", "rpvr5", "rpvr6",
- "rpvr7", "rpvr8", "rpvr9", "rpvr10", "rpvr11",
- "redr", "rpid", "rzpr", "rtlbx", "rtlbsx", "rtlblo", "rtlbhi",
-- "rslr", "rshr"
-+ "slr", "shr"
- };
-
- #define MICROBLAZE_NUM_REGS ARRAY_SIZE (microblaze_register_names)
-
- static unsigned int microblaze_debug_flag = 0;
-+int reg_size = 4;
-
- static void ATTRIBUTE_PRINTF (1, 2)
- microblaze_debug (const char *fmt, ...)
-@@ -145,6 +148,7 @@ microblaze_store_arguments (struct regca
- error (_("store_arguments not implemented"));
- return sp;
- }
-+#if 0
- static int
- microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- struct bp_target_info *bp_tgt)
-@@ -154,7 +158,7 @@ microblaze_linux_memory_remove_breakpoin
- int val;
- int bplen;
- gdb_byte old_contents[BREAKPOINT_MAX];
-- struct cleanup *cleanup;
-+ //struct cleanup *cleanup;
-
- /* Determine appropriate breakpoint contents and size for this address. */
- bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
-@@ -162,7 +166,8 @@ microblaze_linux_memory_remove_breakpoin
- error (_("Software breakpoints not implemented for this target."));
-
- /* Make sure we see the memory breakpoints. */
-- cleanup = make_show_memory_breakpoints_cleanup (1);
-+ scoped_restore
-+ cleanup = make_scoped_restore_show_memory_breakpoints (1);
- val = target_read_memory (addr, old_contents, bplen);
-
- /* If our breakpoint is no longer at the address, this means that the
-@@ -178,6 +183,7 @@ microblaze_linux_memory_remove_breakpoin
- return val;
- }
-
-+#endif
- /* Allocate and initialize a frame cache. */
-
- static struct microblaze_frame_cache *
-@@ -570,17 +576,16 @@ microblaze_extract_return_value (struct
- gdb_byte *valbuf)
- {
- gdb_byte buf[8];
--
- /* Copy the return value (starting) in RETVAL_REGNUM to VALBUF. */
- switch (TYPE_LENGTH (type))
- {
- case 1: /* return last byte in the register. */
- regcache->cooked_read (MICROBLAZE_RETVAL_REGNUM, buf);
-- memcpy(valbuf, buf + MICROBLAZE_REGISTER_SIZE - 1, 1);
-+ memcpy(valbuf, buf + reg_size - 1, 1);
- return;
- case 2: /* return last 2 bytes in register. */
- regcache->cooked_read (MICROBLAZE_RETVAL_REGNUM, buf);
-- memcpy(valbuf, buf + MICROBLAZE_REGISTER_SIZE - 2, 2);
-+ memcpy(valbuf, buf + reg_size - 2, 2);
- return;
- case 4: /* for sizes 4 or 8, copy the required length. */
- case 8:
-@@ -647,7 +652,119 @@ microblaze_stabs_argument_has_addr (stru
- return (TYPE_LENGTH (type) == 16);
- }
-
--
-+#if 0
-+static std::vector<CORE_ADDR>
-+microblaze_software_single_step (struct regcache *regcache)
-+{
-+// struct gdbarch *arch = get_frame_arch(frame);
-+ struct gdbarch *arch = get_regcache_arch (regcache);
-+ struct address_space *aspace = get_regcache_aspace (regcache);
-+// struct address_space *aspace = get_frame_address_space (frame);
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
-+ static char le_breakp[] = MICROBLAZE_BREAKPOINT_LE;
-+ static char be_breakp[] = MICROBLAZE_BREAKPOINT;
-+ enum bfd_endian byte_order = gdbarch_byte_order (arch);
-+ char *breakp = byte_order == BFD_ENDIAN_BIG ? be_breakp : le_breakp;
-+ std::vector<CORE_ADDR> ret = 0;
-+
-+ /* Save the address and the values of the next_pc and the target */
-+ static struct sstep_breaks
-+ {
-+ CORE_ADDR address;
-+ bfd_boolean valid;
-+ /* Shadow contents. */
-+ char data[INST_WORD_SIZE];
-+ } stepbreaks[2];
-+ int ii;
-+
-+ if (1)
-+ {
-+ CORE_ADDR pc;
-+ std::vector<CORE_ADDR> *next_pcs = NULL;
-+ long insn;
-+ enum microblaze_instr minstr;
-+ bfd_boolean isunsignednum;
-+ enum microblaze_instr_type insn_type;
-+ short delay_slots;
-+ int imm;
-+ bfd_boolean immfound = FALSE;
-+
-+ /* Set a breakpoint at the next instruction */
-+ /* If the current instruction is an imm, set it at the inst after */
-+ /* If the instruction has a delay slot, skip the delay slot */
-+ pc = regcache_read_pc (regcache);
-+ insn = microblaze_fetch_instruction (pc);
-+ minstr = get_insn_microblaze (insn, &isunsignednum, &insn_type, &delay_slots);
-+ if (insn_type == immediate_inst)
-+ {
-+ int rd, ra, rb;
-+ immfound = TRUE;
-+ minstr = microblaze_decode_insn (insn, &rd, &ra, &rb, &imm);
-+ pc = pc + INST_WORD_SIZE;
-+ insn = microblaze_fetch_instruction (pc);
-+ minstr = get_insn_microblaze (insn, &isunsignednum, &insn_type, &delay_slots);
-+ }
-+ stepbreaks[0].address = pc + (delay_slots * INST_WORD_SIZE) + INST_WORD_SIZE;
-+ if (insn_type != return_inst) {
-+ stepbreaks[0].valid = TRUE;
-+ } else {
-+ stepbreaks[0].valid = FALSE;
-+ }
-+
-+ microblaze_debug ("single-step insn_type=%x insn=%x\n", insn_type, insn);
-+ /* Now check for branch or return instructions */
-+ if (insn_type == branch_inst || insn_type == return_inst) {
-+ int limm;
-+ int lrd, lra, lrb;
-+ int ra, rb;
-+ bfd_boolean targetvalid;
-+ bfd_boolean unconditionalbranch;
-+ microblaze_decode_insn(insn, &lrd, &lra, &lrb, &limm);
-+ if (lra >= 0 && lra < MICROBLAZE_NUM_REGS)
-+ ra = regcache_raw_get_unsigned(regcache, lra);
-+ else
-+ ra = 0;
-+ if (lrb >= 0 && lrb < MICROBLAZE_NUM_REGS)
-+ rb = regcache_raw_get_unsigned(regcache, lrb);
-+ else
-+ rb = 0;
-+ stepbreaks[1].address = microblaze_get_target_address (insn, immfound, imm, pc, ra, rb, &targetvalid, &unconditionalbranch);
-+ microblaze_debug ("single-step uncondbr=%d targetvalid=%d target=%x\n", unconditionalbranch, targetvalid, stepbreaks[1].address);
-+ if (unconditionalbranch)
-+ stepbreaks[0].valid = FALSE; /* This is a unconditional branch: will not come to the next address */
-+ if (targetvalid && (stepbreaks[0].valid == FALSE ||
-+ (stepbreaks[0].address != stepbreaks[1].address))
-+ && (stepbreaks[1].address != pc)) {
-+ stepbreaks[1].valid = TRUE;
-+ } else {
-+ stepbreaks[1].valid = FALSE;
-+ }
-+ } else {
-+ stepbreaks[1].valid = FALSE;
-+ }
-+
-+ /* Insert the breakpoints */
-+ for (ii = 0; ii < 2; ++ii)
-+ {
-+
-+ /* ignore invalid breakpoint. */
-+ if (stepbreaks[ii].valid) {
-+ VEC_safe_push (CORE_ADDR, next_pcs, stepbreaks[ii].address);;
-+// insert_single_step_breakpoint (arch, aspace, stepbreaks[ii].address);
-+ ret = next_pcs;
-+ }
-+ }
-+ }
-+ return ret;
-+}
-+#endif
-+
-+static void
-+microblaze_write_pc (struct regcache *regcache, CORE_ADDR pc)
-+{
-+ regcache_cooked_write_unsigned (regcache, MICROBLAZE_PC_REGNUM, pc);
-+}
-+
- static int dwarf2_to_reg_map[78] =
- { 0 /* r0 */, 1 /* r1 */, 2 /* r2 */, 3 /* r3 */, /* 0- 3 */
- 4 /* r4 */, 5 /* r5 */, 6 /* r6 */, 7 /* r7 */, /* 4- 7 */
-@@ -682,13 +799,14 @@ microblaze_dwarf2_reg_to_regnum (struct
- static void
- microblaze_register_g_packet_guesses (struct gdbarch *gdbarch)
- {
-+
- register_remote_g_packet_guess (gdbarch,
-- 4 * MICROBLAZE_NUM_CORE_REGS,
-- tdesc_microblaze);
-+ 4 * MICROBLAZE_NUM_REGS,
-+ tdesc_microblaze64);
-
- register_remote_g_packet_guess (gdbarch,
- 4 * MICROBLAZE_NUM_REGS,
-- tdesc_microblaze_with_stack_protect);
-+ tdesc_microblaze64_with_stack_protect);
- }
-
- void
-@@ -696,15 +814,15 @@ microblaze_supply_gregset (const struct
- struct regcache *regcache,
- int regnum, const void *gregs)
- {
-- unsigned int *regs = gregs;
-+ const gdb_byte *regs = (const gdb_byte *) gregs;
- if (regnum >= 0)
-- regcache_raw_supply (regcache, regnum, regs + regnum);
-+ regcache->raw_supply (regnum, regs + regnum);
-
- if (regnum == -1) {
- int i;
-
- for (i = 0; i < 50; i++) {
-- regcache_raw_supply (regcache, i, regs + i);
-+ regcache->raw_supply (regnum, regs + i);
- }
- }
- }
-@@ -755,6 +873,17 @@ microblaze_regset_from_core_section (str
- }
-
-
-+static void
-+make_regs (struct gdbarch *arch)
-+{
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
-+ int mach = gdbarch_bfd_arch_info (arch)->mach;
-+
-+ if (mach == bfd_mach_microblaze64)
-+ {
-+ set_gdbarch_ptr_bit (arch, 64);
-+ }
-+}
-
- static struct gdbarch *
- microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
-@@ -769,8 +898,15 @@ microblaze_gdbarch_init (struct gdbarch_
- if (arches != NULL)
- return arches->gdbarch;
- if (tdesc == NULL)
-- tdesc = tdesc_microblaze;
--
-+ {
-+ if (info.bfd_arch_info->mach == bfd_mach_microblaze64)
-+ {
-+ tdesc = tdesc_microblaze64;
-+ reg_size = 8;
-+ }
-+ else
-+ tdesc = tdesc_microblaze;
-+ }
- /* Check any target description for validity. */
- if (tdesc_has_registers (tdesc))
- {
-@@ -778,27 +914,35 @@ microblaze_gdbarch_init (struct gdbarch_
- int valid_p;
- int i;
-
-- feature = tdesc_find_feature (tdesc,
-+ if (info.bfd_arch_info->mach == bfd_mach_microblaze64)
-+ feature = tdesc_find_feature (tdesc,
-+ "org.gnu.gdb.microblaze64.core");
-+ else
-+ feature = tdesc_find_feature (tdesc,
- "org.gnu.gdb.microblaze.core");
- if (feature == NULL)
- return NULL;
- tdesc_data = tdesc_data_alloc ();
-
- valid_p = 1;
-- for (i = 0; i < MICROBLAZE_NUM_CORE_REGS; i++)
-+ for (i = 0; i < MICROBLAZE_NUM_REGS; i++)
- valid_p &= tdesc_numbered_register (feature, tdesc_data, i,
- microblaze_register_names[i]);
-- feature = tdesc_find_feature (tdesc,
-+ if (info.bfd_arch_info->mach == bfd_mach_microblaze64)
-+ feature = tdesc_find_feature (tdesc,
-+ "org.gnu.gdb.microblaze64.stack-protect");
-+ else
-+ feature = tdesc_find_feature (tdesc,
- "org.gnu.gdb.microblaze.stack-protect");
- if (feature != NULL)
- {
- valid_p = 1;
- valid_p &= tdesc_numbered_register (feature, tdesc_data,
- MICROBLAZE_SLR_REGNUM,
-- "rslr");
-+ "slr");
- valid_p &= tdesc_numbered_register (feature, tdesc_data,
- MICROBLAZE_SHR_REGNUM,
-- "rshr");
-+ "shr");
- }
-
- if (!valid_p)
-@@ -806,6 +950,7 @@ microblaze_gdbarch_init (struct gdbarch_
- tdesc_data_cleanup (tdesc_data);
- return NULL;
- }
-+
- }
-
- /* Allocate space for the new architecture. */
-@@ -825,7 +970,17 @@ microblaze_gdbarch_init (struct gdbarch_
- /* Register numbers of various important registers. */
- set_gdbarch_sp_regnum (gdbarch, MICROBLAZE_SP_REGNUM);
- set_gdbarch_pc_regnum (gdbarch, MICROBLAZE_PC_REGNUM);
-+
-+ /* Register set.
-+ make_regs (gdbarch); */
-+ switch (info.bfd_arch_info->mach)
-+ {
-+ case bfd_mach_microblaze64:
-+ set_gdbarch_ptr_bit (gdbarch, 64);
-+ break;
-+ }
-
-+
- /* Map Dwarf2 registers to GDB registers. */
- set_gdbarch_dwarf2_reg_to_regnum (gdbarch, microblaze_dwarf2_reg_to_regnum);
-
-@@ -845,13 +1000,15 @@ microblaze_gdbarch_init (struct gdbarch_
- microblaze_breakpoint::kind_from_pc);
- set_gdbarch_sw_breakpoint_from_kind (gdbarch,
- microblaze_breakpoint::bp_from_kind);
-- set_gdbarch_memory_remove_breakpoint (gdbarch, microblaze_linux_memory_remove_breakpoint);
-+// set_gdbarch_memory_remove_breakpoint (gdbarch, microblaze_linux_memory_remove_breakpoint);
-+
-+// set_gdbarch_software_single_step (gdbarch, microblaze_software_single_step);
-
- set_gdbarch_frame_args_skip (gdbarch, 8);
-
- set_gdbarch_unwind_pc (gdbarch, microblaze_unwind_pc);
-
-- microblaze_register_g_packet_guesses (gdbarch);
-+ //microblaze_register_g_packet_guesses (gdbarch);
-
- frame_base_set_default (gdbarch, &microblaze_frame_base);
-
-@@ -866,11 +1023,11 @@ microblaze_gdbarch_init (struct gdbarch_
- tdesc_use_registers (gdbarch, tdesc, tdesc_data);
- //frame_base_append_sniffer (gdbarch, microblaze_frame_sniffer);
-
-- /* If we have register sets, enable the generic core file support. */
-+ /* If we have register sets, enable the generic core file support.
- if (tdep->gregset) {
- set_gdbarch_regset_from_core_section (gdbarch,
- microblaze_regset_from_core_section);
-- }
-+ }*/
-
- return gdbarch;
- }
-@@ -882,6 +1039,8 @@ _initialize_microblaze_tdep (void)
-
- initialize_tdesc_microblaze_with_stack_protect ();
- initialize_tdesc_microblaze ();
-+ initialize_tdesc_microblaze64_with_stack_protect ();
-+ initialize_tdesc_microblaze64 ();
- /* Debug this files internals. */
- add_setshow_zuinteger_cmd ("microblaze", class_maintenance,
- &microblaze_debug_flag, _("\
-Index: gdb-9.2/gdb/microblaze-tdep.h
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-tdep.h
-+++ gdb-9.2/gdb/microblaze-tdep.h
-@@ -27,7 +27,7 @@ struct microblaze_gregset
- microblaze_gregset() {}
- unsigned int gregs[32];
- unsigned int fpregs[32];
-- unsigned int pregs[16];
-+ unsigned int pregs[18];
- };
-
- struct gdbarch_tdep
-@@ -101,9 +101,9 @@ enum microblaze_regnum
- MICROBLAZE_RTLBSX_REGNUM,
- MICROBLAZE_RTLBLO_REGNUM,
- MICROBLAZE_RTLBHI_REGNUM,
-- MICROBLAZE_SLR_REGNUM, MICROBLAZE_NUM_CORE_REGS = MICROBLAZE_SLR_REGNUM,
-+ MICROBLAZE_SLR_REGNUM,
- MICROBLAZE_SHR_REGNUM,
-- MICROBLAZE_NUM_REGS
-+ MICROBLAZE_NUM_REGS, MICROBLAZE_NUM_CORE_REGS = MICROBLAZE_NUM_REGS
- };
-
- struct microblaze_frame_cache
-@@ -128,7 +128,7 @@ struct microblaze_frame_cache
- struct trad_frame_saved_reg *saved_regs;
- };
- /* All registers are 32 bits. */
--#define MICROBLAZE_REGISTER_SIZE 4
-+//#define MICROBLAZE_REGISTER_SIZE 8
-
- /* MICROBLAZE_BREAKPOINT defines the breakpoint that should be used.
- Only used for native debugging. */
-Index: gdb-9.2/gdb/regformats/microblaze-with-stack-protect.dat
-===================================================================
---- gdb-9.2.orig/gdb/regformats/microblaze-with-stack-protect.dat
-+++ gdb-9.2/gdb/regformats/microblaze-with-stack-protect.dat
-@@ -60,5 +60,5 @@ expedite:r1,rpc
- 32:rtlbsx
- 32:rtlblo
- 32:rtlbhi
--32:rslr
--32:rshr
-+32:slr
-+32:shr
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0042-porting-GDB-for-linux.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0042-porting-GDB-for-linux.patch
deleted file mode 100644
index 947ac9a97..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0042-porting-GDB-for-linux.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From ecccc76dd8ea2e75cc31435b5885173690b3e07a Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Thu, 12 Dec 2019 14:56:17 +0530
-Subject: [PATCH 42/52] porting GDB for linux
-
----
- gdb/features/microblaze-linux.xml | 12 ++++++++++
- gdb/gdbserver/Makefile.in | 2 ++
- gdb/gdbserver/configure.srv | 3 ++-
- gdb/microblaze-linux-tdep.c | 39 ++++++++++++++++++++++++-------
- 4 files changed, 47 insertions(+), 9 deletions(-)
- create mode 100644 gdb/features/microblaze-linux.xml
-
-Index: gdb-9.2/gdb/features/microblaze-linux.xml
-===================================================================
---- /dev/null
-+++ gdb-9.2/gdb/features/microblaze-linux.xml
-@@ -0,0 +1,12 @@
-+<?xml version="1.0"?>
-+<!-- Copyright (C) 2014-2018 Free Software Foundation, Inc.
-+
-+ Copying and distribution of this file, with or without modification,
-+ are permitted in any medium without royalty provided the copyright
-+ notice and this notice are preserved. -->
-+
-+<!DOCTYPE target SYSTEM "gdb-target.dtd">
-+<target>
-+ <osabi>GNU/Linux</osabi>
-+ <xi:include href="microblaze-core.xml"/>
-+</target>
-Index: gdb-9.2/gdb/gdbserver/Makefile.in
-===================================================================
---- gdb-9.2.orig/gdb/gdbserver/Makefile.in
-+++ gdb-9.2/gdb/gdbserver/Makefile.in
-@@ -659,6 +659,8 @@ gdbsupport/%.o: ../gdbsupport/%.c
-
- %-generated.c: ../regformats/rs6000/%.dat | $(regdat_sh)
- $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@
-+microblaze-linux.c : $(srcdir)/../regformats/reg-microblaze.dat $(regdat_sh)
-+ $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-microblaze.dat microblaze-linux.c
-
- #
- # Dependency tracking.
-Index: gdb-9.2/gdb/gdbserver/configure.srv
-===================================================================
---- gdb-9.2.orig/gdb/gdbserver/configure.srv
-+++ gdb-9.2/gdb/gdbserver/configure.srv
-@@ -184,8 +184,9 @@ case "${target}" in
- srv_linux_usrregs=yes
- srv_linux_thread_db=yes
- ;;
-- microblaze*-*-linux*) srv_regobj=microblaze-linux.o
-+ microblaze*-*-linux*) srv_regobj="microblaze-linux.o"
- srv_tgtobj="$srv_linux_obj linux-microblaze-low.o "
-+ srv_xmlfiles="microblaze-linux.xml"
- srv_linux_regsets=yes
- srv_linux_usrregs=yes
- srv_linux_thread_db=yes
-Index: gdb-9.2/gdb/microblaze-linux-tdep.c
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-linux-tdep.c
-+++ gdb-9.2/gdb/microblaze-linux-tdep.c
-@@ -41,7 +41,7 @@
-
- #ifndef REGSET_H
- #define REGSET_H 1
--
-+int MICROBLAZE_REGISTER_SIZE=4;
- struct gdbarch;
- struct regcache;
-
-@@ -115,7 +115,7 @@ microblaze_debug (const char *fmt, ...)
- va_end (args);
- }
- }
--
-+#if 0
- static int
- microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
- struct bp_target_info *bp_tgt)
-@@ -131,7 +131,7 @@ microblaze_linux_memory_remove_breakpoin
- bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
-
- /* Make sure we see the memory breakpoints. */
-- cleanup = make_show_memory_breakpoints_cleanup (1);
-+ cleanup = make_scoped_restore_show_memory_breakpoints (1);
- val = target_read_memory (addr, old_contents, bplen);
-
- /* If our breakpoint is no longer at the address, this means that the
-@@ -146,6 +146,7 @@ microblaze_linux_memory_remove_breakpoin
- do_cleanups (cleanup);
- return val;
- }
-+#endif
-
- static void
- microblaze_linux_sigtramp_cache (struct frame_info *next_frame,
-@@ -248,8 +249,8 @@ microblaze_linux_init_abi (struct gdbarc
-
- linux_init_abi (info, gdbarch);
-
-- set_gdbarch_memory_remove_breakpoint (gdbarch,
-- microblaze_linux_memory_remove_breakpoint);
-+// set_gdbarch_memory_remove_breakpoint (gdbarch,
-+// microblaze_linux_memory_remove_breakpoint);
-
- /* Shared library handling. */
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
-@@ -261,10 +262,30 @@ microblaze_linux_init_abi (struct gdbarc
-
- /* BFD target for core files. */
- if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-- set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblaze");
-+ {
-+ if (info.bfd_arch_info->mach == bfd_mach_microblaze64) {
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf64-microblaze");
-+ MICROBLAZE_REGISTER_SIZE=8;
-+ }
-+ else
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblaze");
-+ }
- else
-- set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblazeel");
-+ {
-+ if (info.bfd_arch_info->mach == bfd_mach_microblaze64) {
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf64-microblazeel");
-+ MICROBLAZE_REGISTER_SIZE=8;
-+ }
-+ else
-+ set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblazeel");
-+ }
-
-+ switch (info.bfd_arch_info->mach)
-+ {
-+ case bfd_mach_microblaze64:
-+ set_gdbarch_ptr_bit (gdbarch, 64);
-+ break;
-+ }
-
- /* Shared library handling. */
- set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
-@@ -278,6 +299,8 @@ microblaze_linux_init_abi (struct gdbarc
- void
- _initialize_microblaze_linux_tdep (void)
- {
-- gdbarch_register_osabi (bfd_arch_microblaze, 0, GDB_OSABI_LINUX,
-+ gdbarch_register_osabi (bfd_arch_microblaze, bfd_mach_microblaze, GDB_OSABI_LINUX,
-+ microblaze_linux_init_abi);
-+ gdbarch_register_osabi (bfd_arch_microblaze, bfd_mach_microblaze64, GDB_OSABI_LINUX,
- microblaze_linux_init_abi);
- }
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0043-Binutils-security-check-is-causing-build-error-for-w.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0043-Binutils-security-check-is-causing-build-error-for-w.patch
deleted file mode 100644
index bfe57a863..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0043-Binutils-security-check-is-causing-build-error-for-w.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 187f46b3a0d31c5b1eac0ce9ddc7c136b2d53d70 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Mon, 11 Mar 2019 13:57:42 +0530
-Subject: [PATCH 43/52] Binutils security check is causing build error for
- windows builds.commenting for now.
-
----
- bfd/elf-attrs.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-Index: gdb-9.2/bfd/elf-attrs.c
-===================================================================
---- gdb-9.2.orig/bfd/elf-attrs.c
-+++ gdb-9.2/bfd/elf-attrs.c
-@@ -440,7 +440,8 @@ _bfd_elf_parse_attributes (bfd *abfd, El
- /* PR 17512: file: 2844a11d. */
- if (hdr->sh_size == 0)
- return;
-- if (hdr->sh_size > bfd_get_file_size (abfd))
-+#if 0
-+if (hdr->sh_size > bfd_get_file_size (abfd))
- {
- /* xgettext:c-format */
- _bfd_error_handler (_("%pB: error: attribute section '%pA' too big: %#llx"),
-@@ -448,6 +449,7 @@ _bfd_elf_parse_attributes (bfd *abfd, El
- bfd_set_error (bfd_error_invalid_operation);
- return;
- }
-+#endif
-
- contents = (bfd_byte *) bfd_malloc (hdr->sh_size + 1);
- if (!contents)
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0044-Correcting-the-register-names-from-slr-shr-to-rslr-r.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0044-Correcting-the-register-names-from-slr-shr-to-rslr-r.patch
deleted file mode 100644
index a60ed5e70..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0044-Correcting-the-register-names-from-slr-shr-to-rslr-r.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 2c3cd36f5198c5b023f3dd157ef3fa90ab5893d7 Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Thu, 19 Dec 2019 12:22:04 +0530
-Subject: [PATCH 44/52] Correcting the register names from slr & shr to rslr &
- rshr
-
----
- gdb/features/microblaze-core.xml | 4 ++--
- gdb/features/microblaze-stack-protect.xml | 4 ++--
- gdb/features/microblaze-with-stack-protect.c | 4 ++--
- gdb/features/microblaze.c | 4 ++--
- gdb/features/microblaze64-core.xml | 4 ++--
- gdb/features/microblaze64-stack-protect.xml | 4 ++--
- gdb/features/microblaze64-with-stack-protect.c | 4 ++--
- gdb/features/microblaze64.c | 4 ++--
- gdb/microblaze-tdep.c | 2 +-
- 9 files changed, 17 insertions(+), 17 deletions(-)
-
-Index: gdb-9.2/gdb/features/microblaze-core.xml
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze-core.xml
-+++ gdb-9.2/gdb/features/microblaze-core.xml
-@@ -64,6 +64,6 @@
- <reg name="rtlbsx" bitsize="32"/>
- <reg name="rtlblo" bitsize="32"/>
- <reg name="rtlbhi" bitsize="32"/>
-- <reg name="slr" bitsize="32"/>
-- <reg name="shr" bitsize="32"/>
-+ <reg name="rslr" bitsize="32"/>
-+ <reg name="rshr" bitsize="32"/>
- </feature>
-Index: gdb-9.2/gdb/features/microblaze-stack-protect.xml
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze-stack-protect.xml
-+++ gdb-9.2/gdb/features/microblaze-stack-protect.xml
-@@ -7,6 +7,6 @@
-
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.microblaze.stack-protect">
-- <reg name="slr" bitsize="32"/>
-- <reg name="shr" bitsize="32"/>
-+ <reg name="rslr" bitsize="32"/>
-+ <reg name="rshr" bitsize="32"/>
- </feature>
-Index: gdb-9.2/gdb/features/microblaze-with-stack-protect.c
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze-with-stack-protect.c
-+++ gdb-9.2/gdb/features/microblaze-with-stack-protect.c
-@@ -72,8 +72,8 @@ initialize_tdesc_microblaze_with_stack_p
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.stack-protect");
-- tdesc_create_reg (feature, "slr", 57, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "shr", 58, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rslr", 57, 1, NULL, 32, "int");
-+ tdesc_create_reg (feature, "rshr", 58, 1, NULL, 32, "int");
-
- tdesc_microblaze_with_stack_protect = result;
- }
-Index: gdb-9.2/gdb/features/microblaze.c
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze.c
-+++ gdb-9.2/gdb/features/microblaze.c
-@@ -70,8 +70,8 @@ initialize_tdesc_microblaze (void)
- tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-- tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
-
- tdesc_microblaze = result;
- }
-Index: gdb-9.2/gdb/features/microblaze64-core.xml
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze64-core.xml
-+++ gdb-9.2/gdb/features/microblaze64-core.xml
-@@ -64,6 +64,6 @@
- <reg name="rtlbsx" bitsize="32"/>
- <reg name="rtlblo" bitsize="32"/>
- <reg name="rtlbhi" bitsize="32"/>
-- <reg name="slr" bitsize="64"/>
-- <reg name="shr" bitsize="64"/>
-+ <reg name="rslr" bitsize="64"/>
-+ <reg name="rshr" bitsize="64"/>
- </feature>
-Index: gdb-9.2/gdb/features/microblaze64-stack-protect.xml
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze64-stack-protect.xml
-+++ gdb-9.2/gdb/features/microblaze64-stack-protect.xml
-@@ -7,6 +7,6 @@
-
- <!DOCTYPE feature SYSTEM "gdb-target.dtd">
- <feature name="org.gnu.gdb.microblaze64.stack-protect">
-- <reg name="slr" bitsize="64"/>
-- <reg name="shr" bitsize="64"/>
-+ <reg name="rslr" bitsize="64"/>
-+ <reg name="rshr" bitsize="64"/>
- </feature>
-Index: gdb-9.2/gdb/features/microblaze64-with-stack-protect.c
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze64-with-stack-protect.c
-+++ gdb-9.2/gdb/features/microblaze64-with-stack-protect.c
-@@ -72,8 +72,8 @@ initialize_tdesc_microblaze64_with_stack
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze64.stack-protect");
-- tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-- tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
-
- tdesc_microblaze64_with_stack_protect = result;
- }
-Index: gdb-9.2/gdb/features/microblaze64.c
-===================================================================
---- gdb-9.2.orig/gdb/features/microblaze64.c
-+++ gdb-9.2/gdb/features/microblaze64.c
-@@ -70,8 +70,8 @@ initialize_tdesc_microblaze64 (void)
- tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
-- tdesc_create_reg (feature, "slr", 57, 1, NULL, 64, "uint64");
-- tdesc_create_reg (feature, "shr", 58, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rslr", 57, 1, NULL, 64, "uint64");
-+ tdesc_create_reg (feature, "rshr", 58, 1, NULL, 64, "uint64");
-
- tdesc_microblaze64 = result;
- }
-Index: gdb-9.2/gdb/microblaze-tdep.c
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-tdep.c
-+++ gdb-9.2/gdb/microblaze-tdep.c
-@@ -77,7 +77,7 @@ static const char *microblaze_register_n
- "rpvr0", "rpvr1", "rpvr2", "rpvr3", "rpvr4", "rpvr5", "rpvr6",
- "rpvr7", "rpvr8", "rpvr9", "rpvr10", "rpvr11",
- "redr", "rpid", "rzpr", "rtlbx", "rtlbsx", "rtlblo", "rtlbhi",
-- "slr", "shr"
-+ "rslr", "rshr"
- };
-
- #define MICROBLAZE_NUM_REGS ARRAY_SIZE (microblaze_register_names)
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0045-Removing-the-header-gdb_assert.h-from-MB-target-file.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0045-Removing-the-header-gdb_assert.h-from-MB-target-file.patch
deleted file mode 100644
index eac20e3d8..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0045-Removing-the-header-gdb_assert.h-from-MB-target-file.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 38e5305c8e008ded46a9f351cd7f79c8f81df8fd Mon Sep 17 00:00:00 2001
-From: Nagaraju <nmekala@xilinx.com>
-Date: Fri, 17 Jan 2020 15:45:48 +0530
-Subject: [PATCH 45/52] Removing the header "gdb_assert.h" from MB target file
-
----
- gdb/microblaze-linux-tdep.c | 1 -
- 1 file changed, 1 deletion(-)
-
-Index: gdb-9.2/gdb/microblaze-linux-tdep.c
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-linux-tdep.c
-+++ gdb-9.2/gdb/microblaze-linux-tdep.c
-@@ -37,7 +37,6 @@
- #include "linux-tdep.h"
- #include "glibc-tdep.h"
-
--#include "gdb_assert.h"
-
- #ifndef REGSET_H
- #define REGSET_H 1
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0046-bfd-cpu-microblaze.c-Enhance-disassembler.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0046-bfd-cpu-microblaze.c-Enhance-disassembler.patch
deleted file mode 100644
index de93c81e0..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0046-bfd-cpu-microblaze.c-Enhance-disassembler.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From eba7561a36a20c814ca69dc42fa8b0b7f4a33510 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 10:08:53 -0800
-Subject: [PATCH 46/52] bfd/cpu-microblaze.c: Enhance disassembler
-
-See commit aebcfb76fc165795e67917cb67cf985c4dfdc577 for why this is needed.
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- bfd/cpu-microblaze.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-Index: gdb-9.2/bfd/cpu-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/cpu-microblaze.c
-+++ gdb-9.2/bfd/cpu-microblaze.c
-@@ -39,7 +39,8 @@ const bfd_arch_info_type bfd_microblaze_
- bfd_default_compatible, /* Architecture comparison function. */
- bfd_default_scan, /* String to architecture conversion. */
- bfd_arch_default_fill, /* Default fill. */
-- &bfd_microblaze_arch[1] /* Next in list. */
-+ &bfd_microblaze_arch[1], /* Next in list. */
-+ 0 /* Maximum offset of a reloc from the start of an insn. */
- },
- {
- 32, /* Bits in a word. */
-@@ -71,7 +72,8 @@ const bfd_arch_info_type bfd_microblaze_
- bfd_default_compatible, /* Architecture comparison function. */
- bfd_default_scan, /* String to architecture conversion. */
- bfd_arch_default_fill, /* Default fill. */
-- &bfd_microblaze_arch[1] /* Next in list. */
-+ &bfd_microblaze_arch[1], /* Next in list. */
-+ 0 /* Maximum offset of a reloc from the start of an insn. */
- },
- {
- 64, /* 32 bits in a word. */
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0047-bfd-elf64-microblaze.c-Fix-build-failures.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0047-bfd-elf64-microblaze.c-Fix-build-failures.patch
deleted file mode 100644
index ad63a72f0..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0047-bfd-elf64-microblaze.c-Fix-build-failures.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From c848ddceb98359db1efb3ed0d1e7b5a90053dddf Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 11:02:11 -0800
-Subject: [PATCH 47/52] bfd/elf64-microblaze.c: Fix build failures
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- bfd/elf64-microblaze.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-Index: gdb-9.2/bfd/elf64-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf64-microblaze.c
-+++ gdb-9.2/bfd/elf64-microblaze.c
-@@ -1572,7 +1572,7 @@ microblaze_elf_relocate_section (bfd *ou
- {
- BFD_FAIL ();
- (*_bfd_error_handler)
-- (_("%B: probably compiled without -fPIC?"),
-+ (_("%pB: probably compiled without -fPIC?"),
- input_bfd);
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
-@@ -2691,7 +2691,7 @@ microblaze_elf_check_relocs (bfd * abfd,
- /* If this is a global symbol, we count the number of
- relocations we need for this symbol. */
- if (h != NULL)
-- head = &h->dyn_relocs;
-+ head = &((struct elf64_mb_link_hash_entry *) h)->dyn_relocs;
- else
- {
- /* Track dynamic relocs needed for local syms too.
-@@ -2911,7 +2911,7 @@ microblaze_elf_adjust_dynamic_symbol (st
-
- /* If we didn't find any dynamic relocs in read-only sections, then
- we'll be keeping the dynamic relocs and avoiding the copy reloc. */
-- if (!_bfd_elf_readonly_dynrelocs (h))
-+ if (p == NULL)
- {
- h->non_got_ref = 0;
- return TRUE;
-@@ -3096,7 +3096,7 @@ allocate_dynrelocs (struct elf_link_hash
- else
- h->got.offset = (bfd_vma) -1;
-
-- if (h->dyn_relocs == NULL)
-+ if (eh->dyn_relocs == NULL)
- return TRUE;
-
- /* In the shared -Bsymbolic case, discard space allocated for
-@@ -3113,7 +3113,7 @@ allocate_dynrelocs (struct elf_link_hash
- {
- struct elf64_mb_dyn_relocs **pp;
-
-- for (pp = &h->dyn_relocs; (p = *pp) != NULL; )
-+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
- {
- p->count -= p->pc_count;
- p->pc_count = 0;
-@@ -3124,7 +3124,7 @@ allocate_dynrelocs (struct elf_link_hash
- }
- }
- else if (UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
-- h->dyn_relocs = NULL;
-+ eh->dyn_relocs = NULL;
- }
- else
- {
-@@ -3154,13 +3154,13 @@ allocate_dynrelocs (struct elf_link_hash
- goto keep;
- }
-
-- h->dyn_relocs = NULL;
-+ eh->dyn_relocs = NULL;
-
- keep: ;
- }
-
- /* Finally, allocate space. */
-- for (p = h->dyn_relocs; p != NULL; p = p->next)
-+ for (p = eh->dyn_relocs; p != NULL; p = p->next)
- {
- asection *sreloc = elf_section_data (p->sec)->sreloc;
- sreloc->size += p->count * sizeof (Elf64_External_Rela);
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0048-bfd-elf-microblaze.c-Remove-obsolete-entries.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0048-bfd-elf-microblaze.c-Remove-obsolete-entries.patch
deleted file mode 100644
index bee50edf9..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0048-bfd-elf-microblaze.c-Remove-obsolete-entries.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 359ee1650d98372a2f2cd360a7ea9877077f6ece Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 11:23:26 -0800
-Subject: [PATCH 48/52] bfd/elf*-microblaze.c: Remove obsolete entries
-
-Replace microblaze_elf_merge_private_bfd_data with a direct call to
-_bfd_generic_verify_endian_match, this simplifies the implementation.
-
-Remove microblaze_elf_gc_sweep_hook, removed in 2017.
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- bfd/elf64-microblaze.c | 29 +----------------------------
- 1 file changed, 1 insertion(+), 28 deletions(-)
-
-Index: gdb-9.2/bfd/elf64-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf64-microblaze.c
-+++ gdb-9.2/bfd/elf64-microblaze.c
-@@ -1690,21 +1690,6 @@ microblaze_elf_relocate_section (bfd *ou
- return ret;
- }
-
--/* Merge backend specific data from an object file to the output
-- object file when linking.
--
-- Note: We only use this hook to catch endian mismatches. */
--static bfd_boolean
--microblaze_elf_merge_private_bfd_data (bfd * ibfd, bfd * obfd)
--{
-- /* Check if we have the same endianess. */
-- if (! _bfd_generic_verify_endian_match (ibfd, obfd))
-- return FALSE;
--
-- return TRUE;
--}
--
--
- /* Calculate fixup value for reference. */
-
- static int
-@@ -2427,17 +2412,6 @@ microblaze_elf_gc_mark_hook (asection *s
- return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
- }
-
--/* Update the got entry reference counts for the section being removed. */
--
--static bfd_boolean
--microblaze_elf_gc_sweep_hook (bfd * abfd ATTRIBUTE_UNUSED,
-- struct bfd_link_info * info ATTRIBUTE_UNUSED,
-- asection * sec ATTRIBUTE_UNUSED,
-- const Elf_Internal_Rela * relocs ATTRIBUTE_UNUSED)
--{
-- return TRUE;
--}
--
- /* PIC support. */
-
- #define PLT_ENTRY_SIZE 16
-@@ -3704,11 +3678,10 @@ microblaze_elf_add_symbol_hook (bfd *abf
- #define bfd_elf64_bfd_is_local_label_name microblaze_elf_is_local_label_name
- #define elf_backend_relocate_section microblaze_elf_relocate_section
- #define bfd_elf64_bfd_relax_section microblaze_elf_relax_section
--#define bfd_elf64_bfd_merge_private_bfd_data microblaze_elf_merge_private_bfd_data
-+#define bfd_elf64_bfd_merge_private_bfd_data _bfd_generic_verify_endian_match
- #define bfd_elf64_bfd_reloc_name_lookup microblaze_elf_reloc_name_lookup
-
- #define elf_backend_gc_mark_hook microblaze_elf_gc_mark_hook
--#define elf_backend_gc_sweep_hook microblaze_elf_gc_sweep_hook
- #define elf_backend_check_relocs microblaze_elf_check_relocs
- #define elf_backend_copy_indirect_symbol microblaze_elf_copy_indirect_symbol
- #define bfd_elf64_bfd_link_hash_table_create microblaze_elf_link_hash_table_create
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0049-bfd-elf64-microblaze.c-Resolve-various-compiler-warn.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0049-bfd-elf64-microblaze.c-Resolve-various-compiler-warn.patch
deleted file mode 100644
index 9b95e10b3..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0049-bfd-elf64-microblaze.c-Resolve-various-compiler-warn.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From bee1ab76011aca029f89f98b9388aeb0390ee90f Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 12:02:25 -0800
-Subject: [PATCH 49/52] bfd/elf64-microblaze.c: Resolve various compiler
- warnings
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- bfd/elf64-microblaze.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: gdb-9.2/bfd/elf64-microblaze.c
-===================================================================
---- gdb-9.2.orig/bfd/elf64-microblaze.c
-+++ gdb-9.2/bfd/elf64-microblaze.c
-@@ -1258,6 +1258,7 @@ microblaze_elf_relocate_section (bfd *ou
- goto dogot;
- case (int) R_MICROBLAZE_TLSLD:
- tls_type = (TLS_TLS | TLS_LD);
-+ /* Fall through. */
- dogot:
- case (int) R_MICROBLAZE_GOT_64:
- {
-@@ -2569,6 +2570,7 @@ microblaze_elf_check_relocs (bfd * abfd,
- tls_type |= (TLS_TLS | TLS_LD);
- dogottls:
- sec->has_tls_reloc = 1;
-+ /* Fall through. */
- case R_MICROBLAZE_GOT_64:
- if (htab->sgot == NULL)
- {
-@@ -2802,10 +2804,8 @@ microblaze_elf_adjust_dynamic_symbol (st
- struct elf64_mb_link_hash_table *htab;
- struct elf64_mb_link_hash_entry * eh;
- struct elf64_mb_dyn_relocs *p;
-- asection *sdynbss;
- asection *s, *srel;
- unsigned int power_of_two;
-- bfd *dynobj;
-
- htab = elf64_mb_hash_table (info);
- if (htab == NULL)
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0050-opcodes-microblaze-dis.c-Fix-compile-warnings.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0050-opcodes-microblaze-dis.c-Fix-compile-warnings.patch
deleted file mode 100644
index ba8394ccc..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0050-opcodes-microblaze-dis.c-Fix-compile-warnings.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From a0d3bb3d528dfb75e54a0b0c6ff0d6095ba1c2c7 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 12:30:09 -0800
-Subject: [PATCH 50/52] opcodes/microblaze-dis.c: Fix compile warnings
-
-Two compiler warnings were evident, it appears both are likely real bugs.
-
-Missing type declaration for a function, and a case statement without a break.
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- opcodes/microblaze-dis.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-Index: gdb-9.2/opcodes/microblaze-dis.c
-===================================================================
---- gdb-9.2.orig/opcodes/microblaze-dis.c
-+++ gdb-9.2/opcodes/microblaze-dis.c
-@@ -130,6 +130,7 @@ get_field_imm15 (struct string_buf *buf,
- return p;
- }
-
-+static char *
- get_field_imm16 (struct string_buf *buf, long instr)
- {
- char *p = strbuf (buf);
-@@ -327,6 +328,7 @@ print_insn_microblaze (bfd_vma memaddr,
- print_func (stream, "\t%s, %s, %s", get_field_rd (&buf, inst),
- get_field_r1 (&buf, inst), get_field_imm (&buf, inst));
- /* TODO: Also print symbol */
-+ break;
- case INST_TYPE_RD_R1_IMMS:
- print_func (stream, "\t%s, %s, %s", get_field_rd (&buf, inst),
- get_field_r1(&buf, inst), get_field_imms (&buf, inst));
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch
deleted file mode 100644
index f32901571..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0051-gdb-microblaze-tdep.c-Remove-unused-functions.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 202c9a6e8c4e3bfe8f84d1066c8993a77e4ad4a8 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@xilinx.com>
-Date: Thu, 3 Dec 2020 14:51:37 -0800
-Subject: [PATCH 51/52] gdb/microblaze-tdep.c: Remove unused functions
-
-Compiler warns the removed functions are not referenced anywhere.
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
----
- gdb/microblaze-tdep.c | 45 -------------------------------------------
- 1 file changed, 45 deletions(-)
-
-Index: gdb-9.2/gdb/microblaze-tdep.c
-===================================================================
---- gdb-9.2.orig/gdb/microblaze-tdep.c
-+++ gdb-9.2/gdb/microblaze-tdep.c
-@@ -140,14 +140,6 @@ microblaze_fetch_instruction (CORE_ADDR
- constexpr gdb_byte microblaze_break_insn[] = MICROBLAZE_BREAKPOINT;
-
- typedef BP_MANIPULATION (microblaze_break_insn) microblaze_breakpoint;
--static CORE_ADDR
--microblaze_store_arguments (struct regcache *regcache, int nargs,
-- struct value **args, CORE_ADDR sp,
-- int struct_return, CORE_ADDR struct_addr)
--{
-- error (_("store_arguments not implemented"));
-- return sp;
--}
- #if 0
- static int
- microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
-@@ -555,12 +547,6 @@ microblaze_frame_base_address (struct fr
- return cache->base;
- }
-
--static const struct frame_unwind *
--microblaze_frame_sniffer (struct frame_info *next_frame)
--{
-- return &microblaze_frame_unwind;
--}
--
- static const struct frame_base microblaze_frame_base =
- {
- &microblaze_frame_unwind,
-@@ -759,12 +745,6 @@ microblaze_software_single_step (struct
- }
- #endif
-
--static void
--microblaze_write_pc (struct regcache *regcache, CORE_ADDR pc)
--{
-- regcache_cooked_write_unsigned (regcache, MICROBLAZE_PC_REGNUM, pc);
--}
--
- static int dwarf2_to_reg_map[78] =
- { 0 /* r0 */, 1 /* r1 */, 2 /* r2 */, 3 /* r3 */, /* 0- 3 */
- 4 /* r4 */, 5 /* r5 */, 6 /* r6 */, 7 /* r7 */, /* 4- 7 */
-@@ -796,19 +776,6 @@ microblaze_dwarf2_reg_to_regnum (struct
- return -1;
- }
-
--static void
--microblaze_register_g_packet_guesses (struct gdbarch *gdbarch)
--{
--
-- register_remote_g_packet_guess (gdbarch,
-- 4 * MICROBLAZE_NUM_REGS,
-- tdesc_microblaze64);
--
-- register_remote_g_packet_guess (gdbarch,
-- 4 * MICROBLAZE_NUM_REGS,
-- tdesc_microblaze64_with_stack_protect);
--}
--
- void
- microblaze_supply_gregset (const struct microblaze_gregset *gregset,
- struct regcache *regcache,
-@@ -873,18 +840,6 @@ microblaze_regset_from_core_section (str
- }
-
-
--static void
--make_regs (struct gdbarch *arch)
--{
-- struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
-- int mach = gdbarch_bfd_arch_info (arch)->mach;
--
-- if (mach == bfd_mach_microblaze64)
-- {
-- set_gdbarch_ptr_bit (arch, 64);
-- }
--}
--
- static struct gdbarch *
- microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
- {
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0052-sim-Allow-microblaze-architecture.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0052-sim-Allow-microblaze-architecture.patch
deleted file mode 100644
index 88095defc..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0052-sim-Allow-microblaze-architecture.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From acee53a9c9b6cbe826dacb9f02102ae4d58e36ba Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@kernel.crashing.org>
-Date: Thu, 6 Aug 2020 15:37:52 -0500
-Subject: [PATCH 52/52] sim: Allow microblaze* architecture
-
-Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
----
- sim/configure | 2 +-
- sim/configure.tgt | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-Index: gdb-9.2/sim/configure
-===================================================================
---- gdb-9.2.orig/sim/configure
-+++ gdb-9.2/sim/configure
-@@ -3795,7 +3795,7 @@ subdirs="$subdirs aarch64"
-
-
- ;;
-- microblaze-*-*)
-+ microblaze*-*-*)
-
- sim_arch=microblaze
- subdirs="$subdirs microblaze"
-Index: gdb-9.2/sim/configure.tgt
-===================================================================
---- gdb-9.2.orig/sim/configure.tgt
-+++ gdb-9.2/sim/configure.tgt
-@@ -59,7 +59,7 @@ case "${target}" in
- mcore-*-*)
- SIM_ARCH(mcore)
- ;;
-- microblaze-*-*)
-+ microblaze*-*-*)
- SIM_ARCH(microblaze)
- ;;
- mips*-*-*)
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0053-gdb-Fix-microblaze-target-compilation.patch b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0053-gdb-Fix-microblaze-target-compilation.patch
deleted file mode 100644
index 01e48a02d..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb/0053-gdb-Fix-microblaze-target-compilation.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-From e770e163e918c6065fc437687839bfbbd0137cff Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@kernel.crashing.org>
-Date: Mon, 7 Dec 2020 12:03:25 -0600
-Subject: [PATCH] gdb: Fix microblaze target compilation
-
-Add microblaze-linux-nat.c to configure.nat
-
-Transition microblaze-linux-nat.c to use the new gdb C++ style functions.
-
-Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
----
- gdb/configure.nat | 5 ++
- gdb/microblaze-linux-nat.c | 96 ++++++++++++++------------------------
- gdb/microblaze-tdep.h | 3 ++
- 3 files changed, 43 insertions(+), 61 deletions(-)
-
-diff --git a/gdb/configure.nat b/gdb/configure.nat
-index fb4522f579..2b6873f9d6 100644
---- a/gdb/configure.nat
-+++ b/gdb/configure.nat
-@@ -261,6 +261,11 @@ case ${gdb_host} in
- # Host: Motorola m68k running GNU/Linux.
- NATDEPFILES="${NATDEPFILES} m68k-linux-nat.o"
- ;;
-+ microblaze)
-+ # Host: Microblaze running GNU/Linux.
-+ NATDEPFILES="${NATDEPFILES} microblaze-linux-nat.o"
-+ NAT_CDEPS=
-+ ;;
- mips)
- # Host: Linux/MIPS
- NATDEPFILES="${NATDEPFILES} linux-nat-trad.o \
-diff --git a/gdb/microblaze-linux-nat.c b/gdb/microblaze-linux-nat.c
-index e9b8c9c522..bac4697e1e 100644
---- a/gdb/microblaze-linux-nat.c
-+++ b/gdb/microblaze-linux-nat.c
-@@ -36,13 +36,14 @@
- #include "dwarf2-frame.h"
- #include "osabi.h"
-
--#include "gdb_assert.h"
--#include "gdb_string.h"
-+#include "gdbsupport/gdb_assert.h"
-+#include <string.h>
- #include "target-descriptions.h"
- #include "opcodes/microblaze-opcm.h"
- #include "opcodes/microblaze-dis.h"
-
- #include "linux-nat.h"
-+#include "linux-tdep.h"
- #include "target-descriptions.h"
-
- #include <sys/user.h>
-@@ -61,22 +62,17 @@
- /* Defines ps_err_e, struct ps_prochandle. */
- #include "gdb_proc_service.h"
-
--/* On GNU/Linux, threads are implemented as pseudo-processes, in which
-- case we may be tracing more than one process at a time. In that
-- case, inferior_ptid will contain the main process ID and the
-- individual thread (process) ID. get_thread_id () is used to get
-- the thread id if it's available, and the process id otherwise. */
--
--int
--get_thread_id (ptid_t ptid)
-+class microblaze_linux_nat_target final : public linux_nat_target
- {
-- int tid = TIDGET (ptid);
-- if (0 == tid)
-- tid = PIDGET (ptid);
-- return tid;
--}
-+public:
-+ /* Add our register access methods. */
-+ void fetch_registers (struct regcache *, int) override;
-+ void store_registers (struct regcache *, int) override;
-+
-+ const struct target_desc *read_description () override;
-+};
-
--#define GET_THREAD_ID(PTID) get_thread_id (PTID)
-+static microblaze_linux_nat_target the_microblaze_linux_nat_target;
-
- /* Non-zero if our kernel may support the PTRACE_GETREGS and
- PTRACE_SETREGS requests, for reading and writing the
-@@ -88,7 +84,6 @@ static int
- microblaze_register_u_addr (struct gdbarch *gdbarch, int regno)
- {
- int u_addr = -1;
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
- interface, and not the wordsize of the program's ABI. */
- int wordsize = sizeof (long);
-@@ -105,18 +100,16 @@ microblaze_register_u_addr (struct gdbarch *gdbarch, int regno)
- static void
- fetch_register (struct regcache *regcache, int tid, int regno)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ struct gdbarch *gdbarch = regcache->arch ();
- /* This isn't really an address. But ptrace thinks of it as one. */
- CORE_ADDR regaddr = microblaze_register_u_addr (gdbarch, regno);
- int bytes_transferred;
-- unsigned int offset; /* Offset of registers within the u area. */
-- char buf[MAX_REGISTER_SIZE];
-+ char buf[MICROBLAZE_MAX_REGISTER_SIZE];
-
- if (regaddr == -1)
- {
- memset (buf, '\0', register_size (gdbarch, regno)); /* Supply zeroes */
-- regcache_raw_supply (regcache, regno, buf);
-+ regcache->raw_supply (regno, buf);
- return;
- }
-
-@@ -149,14 +142,14 @@ fetch_register (struct regcache *regcache, int tid, int regno)
- {
- /* Little-endian values are always found at the left end of the
- bytes transferred. */
-- regcache_raw_supply (regcache, regno, buf);
-+ regcache->raw_supply (regno, buf);
- }
- else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
- {
- /* Big-endian values are found at the right end of the bytes
- transferred. */
- size_t padding = (bytes_transferred - register_size (gdbarch, regno));
-- regcache_raw_supply (regcache, regno, buf + padding);
-+ regcache->raw_supply (regno, buf + padding);
- }
- else
- internal_error (__FILE__, __LINE__,
-@@ -175,8 +168,6 @@ fetch_register (struct regcache *regcache, int tid, int regno)
- static int
- fetch_all_gp_regs (struct regcache *regcache, int tid)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- gdb_gregset_t gregset;
-
- if (ptrace (PTRACE_GETREGS, tid, 0, (void *) &gregset) < 0)
-@@ -204,8 +195,6 @@ fetch_all_gp_regs (struct regcache *regcache, int tid)
- static void
- fetch_gp_regs (struct regcache *regcache, int tid)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- int i;
-
- if (have_ptrace_getsetregs)
-@@ -223,13 +212,12 @@ fetch_gp_regs (struct regcache *regcache, int tid)
- static void
- store_register (const struct regcache *regcache, int tid, int regno)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-+ struct gdbarch *gdbarch = regcache->arch ();
- /* This isn't really an address. But ptrace thinks of it as one. */
- CORE_ADDR regaddr = microblaze_register_u_addr (gdbarch, regno);
- int i;
- size_t bytes_to_transfer;
-- char buf[MAX_REGISTER_SIZE];
-+ char buf[MICROBLAZE_MAX_REGISTER_SIZE];
-
- if (regaddr == -1)
- return;
-@@ -242,13 +230,13 @@ store_register (const struct regcache *regcache, int tid, int regno)
- if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
- {
- /* Little-endian values always sit at the left end of the buffer. */
-- regcache_raw_collect (regcache, regno, buf);
-+ regcache->raw_collect (regno, buf);
- }
- else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
- {
- /* Big-endian values sit at the right end of the buffer. */
- size_t padding = (bytes_to_transfer - register_size (gdbarch, regno));
-- regcache_raw_collect (regcache, regno, buf + padding);
-+ regcache->raw_collect (regno, buf + padding);
- }
-
- for (i = 0; i < bytes_to_transfer; i += sizeof (long))
-@@ -281,8 +269,6 @@ store_register (const struct regcache *regcache, int tid, int regno)
- static int
- store_all_gp_regs (const struct regcache *regcache, int tid, int regno)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- gdb_gregset_t gregset;
-
- if (ptrace (PTRACE_GETREGS, tid, 0, (void *) &gregset) < 0)
-@@ -319,8 +305,6 @@ store_all_gp_regs (const struct regcache *regcache, int tid, int regno)
- static void
- store_gp_regs (const struct regcache *regcache, int tid, int regno)
- {
-- struct gdbarch *gdbarch = get_regcache_arch (regcache);
-- struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- int i;
-
- if (have_ptrace_getsetregs)
-@@ -339,12 +323,12 @@ store_gp_regs (const struct regcache *regcache, int tid, int regno)
- regno == -1, otherwise fetch all general registers or all floating
- point registers depending upon the value of regno. */
-
--static void
--microblaze_linux_fetch_inferior_registers (struct target_ops *ops,
-- struct regcache *regcache, int regno)
-+void
-+microblaze_linux_nat_target::fetch_registers (struct regcache * regcache,
-+ int regno)
- {
- /* Get the thread id for the ptrace call. */
-- int tid = GET_THREAD_ID (inferior_ptid);
-+ int tid = regcache->ptid ().lwp ();
-
- if (regno == -1)
- fetch_gp_regs (regcache, tid);
-@@ -356,12 +340,12 @@ microblaze_linux_fetch_inferior_registers (struct target_ops *ops,
- regno == -1, otherwise store all general registers or all floating
- point registers depending upon the value of regno. */
-
--static void
--microblaze_linux_store_inferior_registers (struct target_ops *ops,
-- struct regcache *regcache, int regno)
-+void
-+microblaze_linux_nat_target::store_registers (struct regcache *regcache,
-+ int regno)
- {
- /* Get the thread id for the ptrace call. */
-- int tid = GET_THREAD_ID (inferior_ptid);
-+ int tid = regcache->ptid ().lwp ();
-
- if (regno >= 0)
- store_register (regcache, tid, regno);
-@@ -398,12 +382,12 @@ supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
- /* FIXME. */
- }
-
--static const struct target_desc *
--microblaze_linux_read_description (struct target_ops *ops)
-+const struct target_desc *
-+microblaze_linux_nat_target::read_description ()
- {
-- CORE_ADDR microblaze_hwcap = 0;
-+ CORE_ADDR microblaze_hwcap = linux_get_hwcap (this);
-
-- if (target_auxv_search (ops, AT_HWCAP, &microblaze_hwcap) != 1)
-+ if (microblaze_hwcap != 1)
- return NULL;
-
- return NULL;
-@@ -415,17 +399,7 @@ void _initialize_microblaze_linux_nat (void);
- void
- _initialize_microblaze_linux_nat (void)
- {
-- struct target_ops *t;
--
-- /* Fill in the generic GNU/Linux methods. */
-- t = linux_target ();
--
-- /* Add our register access methods. */
-- t->to_fetch_registers = microblaze_linux_fetch_inferior_registers;
-- t->to_store_registers = microblaze_linux_store_inferior_registers;
--
-- t->to_read_description = microblaze_linux_read_description;
--
- /* Register the target. */
-- linux_nat_add_target (t);
-+ linux_target = &the_microblaze_linux_nat_target;
-+ add_inf_child_target (&the_microblaze_linux_nat_target);
- }
-diff --git a/gdb/microblaze-tdep.h b/gdb/microblaze-tdep.h
-index c0fc900733..c777d93a95 100644
---- a/gdb/microblaze-tdep.h
-+++ b/gdb/microblaze-tdep.h
-@@ -106,6 +106,9 @@ enum microblaze_regnum
- MICROBLAZE_NUM_REGS, MICROBLAZE_NUM_CORE_REGS = MICROBLAZE_NUM_REGS
- };
-
-+/* Big enough to hold the size of the largest register in bytes. */
-+#define MICROBLAZE_MAX_REGISTER_SIZE 64
-+
- struct microblaze_frame_cache
- {
- /* Base address. */
---
-2.17.1
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb_%.bbappend b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb_%.bbappend
deleted file mode 100644
index ceb7b02be..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-MICROBLAZEPATCHES = ""
-MICROBLAZEPATCHES_microblaze = "gdb-microblaze.inc"
-
-require ${MICROBLAZEPATCHES}
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb_9.2.bb b/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb_9.2.bb
deleted file mode 100644
index d70757a15..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/gdb/gdb_9.2.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-require gdb.inc
-require gdb-${PV}.inc
-
-inherit python3-dir
-
-EXTRA_OEMAKE_append_libc-musl = "\
- gt_cv_func_gnugettext1_libc=yes \
- gt_cv_func_gnugettext2_libc=yes \
- gl_cv_func_working_strerror=yes \
- gl_cv_func_strerror_0_works=yes \
- gl_cv_func_gettimeofday_clobber=no \
- "
-
-do_configure_prepend() {
- if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then
- cat > ${WORKDIR}/python << EOF
-#!/bin/sh
-case "\$2" in
- --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;;
- --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;;
- --exec-prefix) echo "${exec_prefix}" ;;
- *) exit 1 ;;
-esac
-exit 0
-EOF
- chmod +x ${WORKDIR}/python
- fi
-}
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-microblaze.inc b/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-microblaze.inc
deleted file mode 100644
index 3d3a54fec..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-microblaze.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-QEMU_TARGETS += "microblazeel microblaze"
-
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-native_%.bbappend b/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-native_%.bbappend
deleted file mode 100644
index 45a4dcafe..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-native_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-include qemu-microblaze.inc
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-system-native_%.bbappend b/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-system-native_%.bbappend
deleted file mode 100644
index 45a4dcafe..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu-system-native_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-include qemu-microblaze.inc
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu_%.bbappend b/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu_%.bbappend
deleted file mode 100644
index 45a4dcafe..000000000
--- a/meta-xilinx/meta-microblaze/recipes-devtools/qemu/qemu_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-include qemu-microblaze.inc
diff --git a/meta-xilinx/meta-xilinx-bsp/COPYING.MIT b/meta-xilinx/meta-xilinx-bsp/COPYING.MIT
deleted file mode 100644
index 89de35479..000000000
--- a/meta-xilinx/meta-xilinx-bsp/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/meta-xilinx/meta-xilinx-bsp/README.booting.md b/meta-xilinx/meta-xilinx-bsp/README.booting.md
deleted file mode 100644
index dc48f6b22..000000000
--- a/meta-xilinx/meta-xilinx-bsp/README.booting.md
+++ /dev/null
@@ -1,266 +0,0 @@
-Booting meta-xilinx boards
-==========================
-
-Contents
---------
-
-* [Loading via JTAG](#loading-via-jtag)
- * [XSDB](#xsdb)
- * [Load Bitstream](#load-bitstream)
- * [Load U-Boot (MicroBlaze)](#load-u-boot-microblaze)
- * [Load U-Boot (Zynq)](#load-u-boot-zynq)
- * [U-Boot Console](#u-boot-console)
- * [Kernel, Root Filesystem and Device Tree](#kernel-root-filesystem-and-device-tree)
- * [Booting via U-Boot](#booting-via-u-boot)
-* [Loading via SD](#loading-via-sd)
- * [Preparing SD/MMC](#preparing-sdmmc)
- * [Installing U-Boot](#installing-u-boot)
- * [Installing Kernel and Device Tree](#installing-kernel-and-device-tree)
- * [Installing Root Filesystem](#installing-root-filesystem)
- * [U-Boot Configuration File](#u-boot-configuration-file)
- * [Booting](#booting)
-* [Loading via TFTP](#loading-via-tftp)
- * [Kernel, Root Filesystem and Device Tree](#kernel-root-filesystem-and-device-tree-1)
- * [Booting via U-Boot](#booting-via-u-boot-1)
-
-
-Loading via JTAG
-----------------
-This boot flow requires the use of the Xilinx tools, specifically XSDB and the
-associated JTAG device drivers. This also requires access to the JTAG interface
-on the board, a number of Xilinx and third-party boards come with on-board JTAG
-modules.
-
-### XSDB
-Start `xsdb` and connect. Ensure that the target chip is visible.
-
- $ xsdb
- xsdb% connect
- xsdb% targets
-
-### Load Bitstream
-**(Note: This step is only required for platforms which have a bitstream e.g.
-MicroBlaze.)**
-
-Download the bitstream for the system using XSDB with the `fpga -f` command. If
-a bitstream is available from meta-xilinx is will be located in the
-`deploy/images/<machine-name>/` directory.
-
- xsdb% fpga -f download.bit
-
-### Load U-Boot (MicroBlaze)
-Download `u-boot.elf` to the target CPU via the use of XSDB.
-
- xsdb% targets -set -filter {name =~ "MicroBlaze*"}
- xsdb% rst
- xsdb% dow u-boot.elf
- xsdb% con
-
-### Load U-Boot (Zynq)
-Ensure the board is configured to boot from JTAG. The Zynq platform requires the
-loading of SPL first, this can be done by loading the `u-boot-spl.bin` and
-executing it at location `0x0`. `u-boot-spl.bin` is not output to the deploy
-directory by default, it can be obtained from the work directory for U-Boot
-(`git/spl/u-boot-spl.bin`) or can be extracted from `boot.bin` using
-`dd if=boot.bin of=u-boot-spl.bin bs=1 skip=2240`.
-
- xsdb% targets -set -filter {name =~ "ARM*#0"}
- xsdb% dow -data u-boot-spl.bin 0x0
- xsdb% rwr pc 0x0
- xsdb% con
-
-On the UART console the following should appear, indicating SPL was loaded.
-
- U-Boot SPL 2016.01
- Trying to boot from unknown boot device
- SPL: Unsupported Boot Device!
- SPL: failed to boot from all boot devices
- ### ERROR ### Please RESET the board ###
-
-Once SPL has loaded U-Boot can now be loaded into memory and executed. Download
-`u-boot.elf` to the target.
-
- xsdb% stop
- xsdb% dow u-boot.elf
- xsdb% con
-
-### U-Boot Console
-U-Boot will load and the console will be available on the UART interface.
-
- ...
- Hit any key to stop autoboot: 0
- U-Boot>
-
-### Kernel, Root Filesystem and Device Tree
-Whilst it is possible to load the images via JTAG this connection is slow and
-this process can take a long time to execute (more than 10 minutes). If your
-system has ethernet it is recommended that you use TFTP to load these images
-using U-Boot.
-
-Once U-Boot has been loaded, pause the execution using XSDB and use the `dow`
-command to load the images into the targets memory. Once the images are loaded
-continue the execution and return to the U-Boot console.
-
-MicroBlaze (kc705-microblazeel):
-
- xsdb% stop
- xsdb% dow -data linux.bin.ub 0x85000000
- xsdb% dow -data core-image-minimal-kc705-microblazeel.cpio.gz.u-boot 0x86000000
- xsdb% dow -data kc705-microblazeel.dtb 0x84000000
- xsdb% con
-
-Zynq:
-
- xsdb% stop
- xsdb% dow -data uImage 0x2000000
- xsdb% dow -data core-image-minimal-<machine name>.cpio.gz.u-boot 0x3000000
- xsdb% dow -data <machine name>.dtb 0x2A00000
- xsdb% con
-
-### Booting via U-Boot
-At the U-Boot console use the `bootm` command to execute the kernel.
-
-MicroBlaze (kc705-microblazeel):
-
- U-Boot> bootm 0x85000000 0x86000000 0x84000000
-
-Zynq:
-
- U-Boot> bootm 0x2000000 0x3000000 0x2A00000
-
-
-Loading via SD
----------------------
-**(Note: This section only applies to Zynq and ZynqMP.)**
-
-### Preparing SD/MMC
-Setup the card with the first partition formatted as FAT16. If you intend to
-boot with the root filesystem located on the SD card, also create a second
-partition formatted as EXT4.
-
-It is recommended that the first partition be at least 64MB in size, however
-this value will depend on whether using a ramdisk for the root filesystem and
-how large the ramdisk is.
-
-This section describes how to manually prepare and populate an SD card image.
-There are automation tools in OpenEmbedded that can generate disk images already
-formatted and prepared such that they can be written directly to a disk. Refer
-to the Yocto Project Development Manual for more details:
- http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#creating-partitioned-images
-
-### Installing U-Boot (Zynq)
-Add the following files to the first partition:
-
-* `boot.bin`
-* `u-boot.img`
-
-### Installing U-Boot (ZynqMP)
-Add the following files to the first partition:
-
-* `boot.bin`
-* `u-boot.bin`
-
-### Installing Kernel and Device Tree (Zynq)
-Add the following files to the first partition:
-
-* `uImage`
-* `<machine name>.dtb`
-
-### Installing Kernel and Device Tree (ZynqMP)
-Add the following files to the first partition:
-
-* `Image`
-* `<machine name>.dtb`
-
-### Install ARM Trusted Firmware (ZynqMP)
-Add the following file to the first partition:
-
- * `atf-uboot.ub`
-
-### Install U-boot environment file (ZynqMP)
-Add the following file to the first partition:
-
- * `uEnv.txt`
-
-### Installing Root Filesystem
-If using a ramdisk also add the `.cpio.gz.u-boot` type of root filesystem image
-to the first partition.
-
-* `core-image-minimal-<machine name>.cpio.gz.u-boot`
-
-If using the SD card as the root filesystem, populate the second partition with
-the content of the root filesystem. To install the root filesystem extract the
-corresponding tarball into the root of the second partition (the following
-command assumes that the second partition is mounted at /media/root).
-
- tar x -C /media/root -f core-image-minimal-<machine name>.tar.gz
-
-### U-Boot Configuration File
-Also create the file `uEnv.txt` on the first partition of the SD card partition,
-with the following contents. Replacing the names of files where appropriate.
-
- kernel_image=uImage
- devicetree_image=<machine name>.dtb
-
-If using a ramdisk root filesystem setup the `ramdisk_image` variable.
-
- ramdisk_image=core-image-minimal-<machine name>.cpio.gz.u-boot
-
-If using the SD card as the root filesystem setup the kernel boot args, and
-`uenvcmd` variable.
-
- bootargs=root=/dev/mmcblk0p2 rw rootwait
- uenvcmd=fatload mmc 0 0x3000000 ${kernel_image} && fatload mmc 0 0x2A00000 ${devicetree_image} && bootm 0x3000000 - 0x2A00000
-
-### Booting
-Insert the SD card and connect UART to a terminal program and power on the
-board. (For boards that have configurable boot jumper/switches ensure the board
-is configured for SD).
-
-Initially U-Boot SPL will load, which will in turn load U-Boot. U-Boot will use
-the `uEnv.txt` to automatically load and execute the kernel.
-
-
-Loading via TFTP
-----------------
-**(Note: This boot flow requires ethernet on the baord and a TFTP server)**
-
-Boot your system into U-Boot, using one of boot methods (e.g. JTAG, SD, QSPI).
-
-### Kernel, Root Filesystem and Device Tree
-Place the following images into the root of the TFTP server directory:
-
-* `core-image-minimal-<machine name>.cpio.gz.u-boot`
-* `uImage` (Zynq) or `linux.bin.ub` (MicroBlaze)
-* `<machine name>.dtb`
-
-### Booting via U-Boot
-The serial console of the target board will display the U-Boot console.
-Configure the `ipaddr` and `serverip` of the U-Boot environment.
-
- U-Boot> set serverip <server ip>
- U-Boot> set ipaddr <board ip>
-
-Using the U-Boot console; load the Kernel, root filesystem and the DTB into
-memory. And then boot Linux using the `bootm` command. (Note the load addresses
-will be dependant on machine used)
-
-MicroBlaze (kc705-microblazeel):
-
- U-Boot> tftpboot 0x85000000 linux.bin.ub
- U-Boot> tftpboot 0x86000000 core-image-minimal-kc705-microblazeel.cpio.gz.u-boot
- U-Boot> tftpboot 0x84000000 kc705-microblazeel.dtb
- U-Boot> bootm 0x85000000 0x86000000 0x84000000
-
-Zynq:
-
- U-Boot> tftpboot 0x2000000 uImage
- U-Boot> tftpboot 0x3000000 core-image-minimal-<machine name>.cpio.gz.u-boot
- U-Boot> tftpboot 0x2A00000 <machine name>.dtb
- U-Boot> bootm 0x2000000 0x3000000 0x2A00000
-
-U-Boot will prepare the Kernel for boot and then it will being to execute.
-
- ...
- Starting kernel...
-
diff --git a/meta-xilinx/meta-xilinx-bsp/README.building.md b/meta-xilinx/meta-xilinx-bsp/README.building.md
deleted file mode 100644
index 230037c17..000000000
--- a/meta-xilinx/meta-xilinx-bsp/README.building.md
+++ /dev/null
@@ -1,100 +0,0 @@
-Build Instructions
-==================
-
-The following instructions require OE-Core meta and BitBake. Poky provides these
-components, however they can be acquired separately.
-
-Initialize a build using the `oe-init-build-env` script. Once initialized
-configure `bblayers.conf` by adding the `meta-xilinx-bsp` and
-`meta-xilinx-contrib` layer. e.g.:
-
- BBLAYERS ?= " \
- <path to layer>/oe-core/meta \
- <path to layer>/meta-xilinx-bsp \
- <path to layer>/meta-xilinx-standalone \
- <path to layer>/meta-xilinx-contrib \
- "
-
-meta-xilinx-standalone layer provides recipes which enable building baremetal
-toolchain for PMU firmware. This layer is required for ZU+ devices which
-depends on PMU firmware
-
-meta-xilinx-contrib is a contribution layer and is optional.
-
-To build a specific target BSP configure the associated machine in `local.conf`:
-
- MACHINE ?= "zc702-zynq7"
-
-Build the target file system image using `bitbake`:
-
- $ bitbake core-image-minimal
-
-Once complete the images for the target machine will be available in the output
-directory `tmp/deploy/images/<machine name>/`.
-
-Using SPL flow to build ZU+
-------------------------------
-
-The pmufw needs a "configuration object" to know what it should do, and it
-expects to receive it at runtime.
-
-With the U-Boot SPL workflow there's no FSBL, and passing a cfg obj to pmufw is
-just not implemented in U-Boot
-
-To work around this problem a small patch has been developed so that
-pm_cfg_obj.c is linked into pmufw and loaded directly, without waiting for it
-from the outside. Find the original patch on the meta-topic layer [1] and the
-patch updated for pmufw 2018.x here [2].
-
-[1]
-https://github.com/topic-embedded-products/meta-topic/blob/master/recipes-bsp/pmu-firmware/pmu-firmware_2017.%25.bbappend
-
-[2]
-https://github.com/lucaceresoli/zynqmp-pmufw-builder/blob/master/0001-Load-XPm_ConfigObject-at-boot.patch
-
-
-Using multiconfig to build ZU+
-------------------------------
-
-In your local.conf multiconfig should be enabled by:
-
-`BBMULTICONFIG ?= "pmu"`
-
-Add a directory conf/multiconfig in the build directory and create pmu.conf inside it.
-
-Add the following in pmu.conf:
-
- MACHINE="zynqmp-pmu"
- DISTRO="xilinx-standalone"
- TMPDIR="${TOPDIR}/pmutmp"
-
-Add the following in your local.conf
-
- MACHINE="zcu102-zynqmp"
- DISTRO="poky"
-
-A multiconfig dependency has to be added in the image recipe or local.conf.
-
-For example in core-image-minimal you would need:
-
- do_image[mcdepends] = "multiconfig::pmu:pmu-firmware:do_deploy"
-
-This creates a multiconfig dependency between the task do_image from the default multiconfig '' (which has no name)
-to the task do_deploy() from the package pmu-firmware from the pmu multiconfig which was just created above.
-
- $ bitbake core-image-minimal
-
-This will build both core-image-minimal and pmu-firmware.
-
-
-More information about multiconfig:
-https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#dev-building-images-for-multiple-targets-using-multiple-configurations
-
-
-Additional Information
-----------------------
-
-For more complete details on setting up and using Yocto/OE refer to the Yocto
-Project Quick Start guide available at:
- http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html
-
diff --git a/meta-xilinx/meta-xilinx-bsp/README.md b/meta-xilinx/meta-xilinx-bsp/README.md
deleted file mode 100644
index e41428619..000000000
--- a/meta-xilinx/meta-xilinx-bsp/README.md
+++ /dev/null
@@ -1,88 +0,0 @@
-meta-xilinx
-===========
-
-This layer provides support for MicroBlaze, Zynq and ZynqMP.
-
-Additional documentation:
-
-* [Building](README.building.md)
-* [Booting](README.booting.md)
-
-Supported Boards/Machines
-=========================
-
-Boards/Machines supported by this layer:
-
-* MicroBlaze:
- * [Xilinx ML605 (QEMU)](conf/machine/ml605-qemu-microblazeel.conf) - `ml605-qemu-microblazeel` (QEMU support)
- * [Xilinx S3A DSP 1800 (QEMU)](conf/machine/s3adsp1800-qemu-microblazeeb.conf) - `s3adsp1800-qemu-microblazeeb` (QEMU support)
- * [Xilinx KC705](conf/machine/kc705-microblazeel.conf) - `kc705-microblazeel`
-* Zynq:
- * [Zynq (QEMU)](conf/machine/qemu-zynq7.conf) - `qemu-zynq7` (QEMU Support)
- * [Xilinx ZC702](conf/machine/zc702-zynq7.conf) - `zc702-zynq7` (with QEMU support)
- * [Xilinx ZC706](conf/machine/zc706-zynq7.conf) - `zc706-zynq7` (with QEMU support)
- * [Avnet MicroZed](conf/machine/microzed-zynq7.conf) - `microzed-zynq7`
- * [Avnet PicoZed](conf/machine/picozed-zynq7.conf) - `picozed-zynq7`
- * [Avnet/Digilent ZedBoard](conf/machine/zedboard-zynq7.conf) - `zedboard-zynq7`
- * [Digilent Zybo](conf/machine/zybo-zynq7.conf) - `zybo-zynq7`
- * [Digilent Zybo Linux BD](conf/machine/zybo-linux-bd-zynq7.conf) - `zybo-linux-bd-zynq7`
-* ZynqMP:
- * [Xilinx ZCU102](conf/machine/zcu102-zynqmp.conf) - `zcu102-zynqmp` (QEMU support)
- * [Xilinx ZCU106](conf/machine/zcu106-zynqmp.conf) - `zcu106-zynqmp`
- * [Xilinx ZCU104](conf/machine/zcu104-zynqmp.conf) - `zcu104-zynqmp`
-
-Additional information on Xilinx architectures can be found at:
- http://www.xilinx.com/support/index.htm
-
-For Zybo Linux BD reference design, please see meta-xilinx-contrib layer
-
-Maintainers, Mailing list, Patches
-==================================
-
-Please send any patches, pull requests, comments or questions for this layer to
-the [meta-xilinx mailing list](https://lists.yoctoproject.org/listinfo/meta-xilinx):
-
- meta-xilinx@lists.yoctoproject.org
-
-Maintainers:
-
- Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
- Mark Hatle <mark.hatle@xilinx.com>
-
-Dependencies
-============
-
-This layer depends on:
-
- URI: git://git.openembedded.org/bitbake
-
- URI: git://git.openembedded.org/openembedded-core
- layers: meta
-
-Recipe Licenses
-===============
-
-Due to licensing restrictions some recipes in this layer rely on closed source
-or restricted content provided by Xilinx. In order to use these recipes you must
-accept or agree to the licensing terms (e.g. EULA, Export Compliance, NDA,
-Redistribution, etc). This layer **does not enforce** any legal requirement, it
-is the **responsibility of the user** the ensure that they are in compliance
-with any licenses or legal requirements for content used.
-
-In order to use recipes that rely on restricted content the `xilinx` license
-flag must be white-listed in the build configuration (e.g. `local.conf`). This
-can be done on a per package basis:
-
- LICENSE_FLAGS_WHITELIST += "xilinx_pmu-rom"
-
-or generally:
-
- LICENSE_FLAGS_WHITELIST += "xilinx"
-
-Generally speaking Xilinx content that is provided as a restricted download
-cannot be obtained without a Xilinx account, in order to use this content you
-must first download it with your Xilinx account and place the downloaded content
-in the `downloads/` directory of your build or on a `PREMIRROR`. Attempting to
-fetch the content using bitbake will fail, indicating the URL from which to
-acquire the content.
-
diff --git a/meta-xilinx/meta-xilinx-bsp/README.qemu.md b/meta-xilinx/meta-xilinx-bsp/README.qemu.md
deleted file mode 100644
index 992e06187..000000000
--- a/meta-xilinx/meta-xilinx-bsp/README.qemu.md
+++ /dev/null
@@ -1,25 +0,0 @@
-
-ZynqMP - PMU ROM
-----------------
-
-Since Xilinx tool release v2017.1 multiple components (arm-trusted-firmware,
-linux, u-boot, etc.) require the PMU firmware to be loaded. For QEMU this also
-means that the PMU ROM must be loaded so that the PMU firmware can be used.
-
-The PMU ROM is not available for download separately from a location that can be
-accessed without a Xilinx account. As such the PMU ROM must be obtained manually
-by the user. The PMU ROM is available in the ZCU102 PetaLinux BSP, but can be
-extracted without the need for the PetaLinux tools.
-
-Download the BSP (you will need a Xilinx account and agreement to terms):
-
-https://www.xilinx.com/member/forms/download/xef.html?filename=xilinx-zcu102-v2017.1-final.bsp&akdm=1
-
-Once downloaded the PMU ROM can be extracted using the following command and
-place `pmu-rom.elf` in the `deploy/images/zcu102-zynqmp/` directory.
-
-```
-# tar -O -xf xilinx-zcu102-v2017.1-final.bsp \
- xilinx-zcu102-2017.1/pre-built/linux/images/pmu_rom_qemu_sha3.elf > pmu-rom.elf
-```
-
diff --git a/meta-xilinx/meta-xilinx-bsp/classes/image-types-xilinx-qemu.bbclass b/meta-xilinx/meta-xilinx-bsp/classes/image-types-xilinx-qemu.bbclass
deleted file mode 100644
index 45417ea7b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/classes/image-types-xilinx-qemu.bbclass
+++ /dev/null
@@ -1,10 +0,0 @@
-# Define the 'qemu-sd' conversion type
-#
-# This conversion type pads any image to the 512K boundary to ensure that the
-# image file can be used directly with QEMU's SD emulation which requires the
-# block device to match that of valid SD card sizes (which are multiples of
-# 512K).
-
-CONVERSIONTYPES_append = " qemu-sd"
-CONVERSION_CMD_qemu-sd = "cp ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qemu-sd; truncate -s %512K ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qemu-sd"
-CONVERSION_DEPENDS_qemu-sd = "coreutils-native"
diff --git a/meta-xilinx/meta-xilinx-bsp/classes/image-wic-utils.bbclass b/meta-xilinx/meta-xilinx-bsp/classes/image-wic-utils.bbclass
deleted file mode 100644
index 562f3263e..000000000
--- a/meta-xilinx/meta-xilinx-bsp/classes/image-wic-utils.bbclass
+++ /dev/null
@@ -1,51 +0,0 @@
-# Helper/utility functions to work with the IMAGE_BOOT_FILES variable and its
-# expected behvaior with regards to the contents of the DEPLOY_DIR_IMAGE.
-#
-# The use of these functions assume that the deploy directory is populated with
-# any dependent files/etc. Such that the recipe using these functions depends
-# on the recipe that provides the files being used/queried.
-
-def boot_files_split_expand(d):
- # IMAGE_BOOT_FILES has extra renaming info in the format '<source>;<target>'
- for f in (d.getVar("IMAGE_BOOT_FILES") or "").split(" "):
- parts = f.split(";", 1)
- sources = [parts[0].strip()]
- if "*" in parts[0]:
- # has glob part
- import glob
- deployroot = d.getVar("DEPLOY_DIR_IMAGE")
- sources = []
- for i in glob.glob(os.path.join(deployroot, parts[0])):
- sources.append(os.path.basename(i))
-
- # for all sources, yield an entry
- for s in sources:
- if len(parts) == 2:
- yield s, parts[1].strip()
- yield s, s
-
-def boot_files_bitstream(d):
- expectedfiles = [("bitstream", True)]
- expectedexts = [(".bit", True), (".bin", False)]
- # search for bitstream paths, use the renamed file. First matching is used
- for source, target in boot_files_split_expand(d):
- # skip boot.bin and u-boot.bin, it is not a bitstream
- skip = ["boot.bin", "u-boot.bin"]
- if source in skip or target in skip:
- continue
-
- for e, t in expectedfiles:
- if source == e or target == e:
- return target, t
- for e, t in expectedexts:
- if source.endswith(e) or target.endswith(e):
- return target, t
- return "", False
-
-def boot_files_dtb_filepath(d):
- dtbs = (d.getVar("IMAGE_BOOT_FILES") or "").split(" ")
- for source, target in boot_files_split_expand(d):
- if target.endswith(".dtb"):
- return target
- return ""
-
diff --git a/meta-xilinx/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass b/meta-xilinx/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass
deleted file mode 100644
index 6da28f36f..000000000
--- a/meta-xilinx/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass
+++ /dev/null
@@ -1,35 +0,0 @@
-python __anonymous () {
- kerneltypes = set((d.getVar("KERNEL_IMAGETYPE") or "").split())
- kerneltypes |= set((d.getVar("KERNEL_IMAGETYPES") or "").split())
- if any(t.startswith("simpleImage.") for t in kerneltypes):
- # Enable building of simpleImage
- bb.build.addtask('do_prep_simpleimage', 'do_compile', 'do_configure', d)
- uarch = d.getVar("UBOOT_ARCH")
- if uarch == "microblaze":
- d.appendVarFlag('do_prep_simpleimage', 'depends', ' virtual/dtb:do_populate_sysroot')
-}
-
-do_prep_simpleimage[dirs] += "${B}"
-do_prep_simpleimage () {
- install -d ${B}/arch/${ARCH}/boot/dts
- for type in ${KERNEL_IMAGETYPES} ; do
- if [ -z "${type##*simpleImage*}" ] && [ ${ARCH} = "microblaze" ]; then
- ext="${type##*.}"
- # Microblaze simpleImage only works with dts file
- cp ${RECIPE_SYSROOT}/boot/devicetree/${ext}.dts ${B}/arch/${ARCH}/boot/dts/
- fi
- done
-}
-
-do_deploy_append () {
- for type in ${KERNEL_IMAGETYPES} ; do
- if [ -z "${type##*simpleImage*}" ] && [ ${ARCH} = "microblaze" ]; then
- base_name=${imageType}-${KERNEL_IMAGE_NAME}
- install -m 0644 ${KERNEL_OUTPUT_DIR}/${type}.strip $deployDir/${base_name}.strip
- install -m 0644 ${KERNEL_OUTPUT_DIR}/${type}.unstrip $deployDir/${base_name}.unstrip
- symlink_name=${imageType}-${KERNEL_IMAGE_LINK_NAME}
- ln -sf ${base_name}.strip $deployDir/${symlink_name}.strip
- ln -sf ${base_name}.unstrip $deployDir/${symlink_name}.unstrip
- fi
- done
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/classes/qemuboot-xilinx.bbclass b/meta-xilinx/meta-xilinx-bsp/classes/qemuboot-xilinx.bbclass
deleted file mode 100644
index 1c3f2bb61..000000000
--- a/meta-xilinx/meta-xilinx-bsp/classes/qemuboot-xilinx.bbclass
+++ /dev/null
@@ -1,27 +0,0 @@
-
-# enable the overrides for the context of the conf only
-OVERRIDES .= ":qemuboot-xilinx"
-
-# Default machine targets for Xilinx QEMU (FDT Generic)
-# Allow QB_MACHINE to be overridden by a BSP config
-QB_MACHINE ?= "${QB_MACHINE_XILINX}"
-QB_RNG=""
-QB_MACHINE_XILINX_aarch64 = "-machine arm-generic-fdt"
-QB_MACHINE_XILINX_arm = "-M arm-generic-fdt-7series"
-QB_MACHINE_XILINX_microblaze = "-M microblaze-fdt-plnx"
-
-# defaults
-QB_DEFAULT_KERNEL ?= "none"
-
-inherit qemuboot
-
-# rewrite the qemuboot with the custom sysroot bindir
-python do_write_qemuboot_conf_append() {
- val = os.path.join(d.getVar('BASE_WORKDIR'), d.getVar('BUILD_SYS'), 'qemu-xilinx-helper-native/1.0-r1/recipe-sysroot-native/usr/bin/')
- cf.set('config_bsp', 'STAGING_BINDIR_NATIVE', '%s' % val)
-
- # write out the updated version from this append
- with open(qemuboot, 'w') as f:
- cf.write(f)
-}
-
diff --git a/meta-xilinx/meta-xilinx-bsp/classes/xilinx-fetch-restricted.bbclass b/meta-xilinx/meta-xilinx-bsp/classes/xilinx-fetch-restricted.bbclass
deleted file mode 100644
index a778ec7dc..000000000
--- a/meta-xilinx/meta-xilinx-bsp/classes/xilinx-fetch-restricted.bbclass
+++ /dev/null
@@ -1,35 +0,0 @@
-# This class is setup to override the default fetching for the target recipe.
-# When fetching it forces PREMIRROR only fetching so that no attempts are made
-# to fetch the Xilinx downloads that are restricted to authenticated users only.
-#
-# The purpose of this class is to allow for automatation with pre-downloaded
-# content or content that is available with curated/user defined pre-mirrors
-# and or pre-populated downloads/ directories.
-
-python do_fetch() {
- xilinx_restricted_url = "xilinx.com/member/forms/download"
-
- src_uri = (d.getVar('SRC_URI') or "").split()
- if len(src_uri) == 0:
- return
-
- for i in src_uri:
- if xilinx_restricted_url in i:
- # force the use of premirrors only, do not attempt download from xilinx.com
- d.setVar("BB_FETCH_PREMIRRORONLY", "1")
- break
-
- try:
- fetcher = bb.fetch2.Fetch(src_uri, d)
- fetcher.download()
- except bb.fetch2.NetworkAccess as e:
- if xilinx_restricted_url in e.url:
- # fatal on access to xilinx.com restricted downloads, print the url for manual download
- bb.fatal("The following download cannot be fetched automatically. " \
- "Please manually download the file and place it in the 'downloads' directory (or on an available PREMIRROR).\n" \
- " %s" % (e.url.split(";")[0]))
- else:
- bb.fatal(str(e))
- except bb.fetch2.BBFetchException as e:
- bb.fatal(str(e))
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/classes/xilinx-platform-init.bbclass b/meta-xilinx/meta-xilinx-bsp/classes/xilinx-platform-init.bbclass
deleted file mode 100644
index 5d0995004..000000000
--- a/meta-xilinx/meta-xilinx-bsp/classes/xilinx-platform-init.bbclass
+++ /dev/null
@@ -1,14 +0,0 @@
-# This class should be included by any recipe that wants to access or provide
-# the platform init source files which are used to initialize a Zynq or ZynqMP
-# SoC.
-
-# Define the path to the xilinx platform init code/headers
-PLATFORM_INIT_DIR ?= "/usr/src/xilinx-platform-init"
-
-PLATFORM_INIT_STAGE_DIR = "${STAGING_DIR_HOST}${PLATFORM_INIT_DIR}"
-
-# Target files use for platform init
-PLATFORM_INIT_FILES ?= ""
-PLATFORM_INIT_FILES_zynq = "ps7_init_gpl.c ps7_init_gpl.h"
-PLATFORM_INIT_FILES_zynqmp = "psu_init_gpl.c psu_init_gpl.h"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/classes/xilinx-testimage.bbclass b/meta-xilinx/meta-xilinx-bsp/classes/xilinx-testimage.bbclass
deleted file mode 100644
index 0126d8ba8..000000000
--- a/meta-xilinx/meta-xilinx-bsp/classes/xilinx-testimage.bbclass
+++ /dev/null
@@ -1,11 +0,0 @@
-inherit testimage
-
-HOSTTOOLS += 'ip ping ps scp ssh stty'
-
-python do_testimage_prepend () {
- from oeqa.core.target.qemu import supported_fstypes
- supported_fstypes.append('wic.qemu-sd')
-}
-
-IMAGE_AUTOLOGIN = "0"
-IMAGE_FSTYPES = "wic.qemu-sd"
diff --git a/meta-xilinx/meta-xilinx-bsp/classes/xlnx-standalone.bbclass b/meta-xilinx/meta-xilinx-bsp/classes/xlnx-standalone.bbclass
deleted file mode 100644
index 9232b1ef4..000000000
--- a/meta-xilinx/meta-xilinx-bsp/classes/xlnx-standalone.bbclass
+++ /dev/null
@@ -1,16 +0,0 @@
-# Only enabled when ilp32 is enabled.
-def xlnx_ilp32_dict(machdata, d):
- machdata["elf"] = {
- "aarch64" : (183, 0, 0, True, 32),
- "aarch64_be" :(183, 0, 0, False, 32),
- }
- return machdata
-
-# Only enabled when microblaze64 is enabled.
-def xlnx_mb64_dict(machdata, d):
- machdata["elf"] = {
- "microblaze": (189, 0, 0, False, 64),
- "microblazeeb":(189, 0, 0, False, 64),
- "microblazeel":(189, 0, 0, True, 64),
- }
- return machdata
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/0001-local.conf.sample-PMU_ROM-to-use-pmu-rom.elf-from-pr.patch b/meta-xilinx/meta-xilinx-bsp/conf/0001-local.conf.sample-PMU_ROM-to-use-pmu-rom.elf-from-pr.patch
deleted file mode 100644
index f7d487fea..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/0001-local.conf.sample-PMU_ROM-to-use-pmu-rom.elf-from-pr.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 4694f1ef8bdb40f5aa82597a62f2a8a8a5a38969 Mon Sep 17 00:00:00 2001
-From: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
-Date: Thu, 13 Aug 2020 16:56:12 -0700
-Subject: [meta-xilinx-bsp][master-upstream][PATCH] local.conf.sample: PMU_ROM
- to use pmu-rom.elf from /proj/yocto
-
-Users have to manually copy pmu-rom.elf to DEPLOY_DIR when using runqemu.
-Enable PMU_ROM line within local.conf to use pmu from /proj/yocto/pmu-rom/
-
-Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
----
- meta-xilinx-bsp/conf/local.conf.sample | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/meta-xilinx-bsp/conf/local.conf.sample b/meta-xilinx-bsp/conf/local.conf.sample
-index 377a519..5d567af 100644
---- a/meta-xilinx-bsp/conf/local.conf.sample
-+++ b/meta-xilinx-bsp/conf/local.conf.sample
-@@ -231,3 +231,5 @@ PMU_FIRMWARE_IMAGE_NAME = "pmu-firmware-${MACHINE}"
- # this doesn't mean anything to you.
- CONF_VERSION = "1"
-
-+#Enable the below line to use pmu-rom.elf from a specific path
-+#PMU_ROM = "/proj/yocto/pmu-rom/pmu-rom.elf"
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/bblayers.conf.sample b/meta-xilinx/meta-xilinx-bsp/conf/bblayers.conf.sample
deleted file mode 100644
index 07f756585..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/bblayers.conf.sample
+++ /dev/null
@@ -1,35 +0,0 @@
-LCONF_VERSION = "7"
-
-BBPATH = "${TOPDIR}"
-BBFILES ?= ""
-
-BBLAYERS ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-poky \
- ##OEROOT##/../meta-openembedded/meta-perl \
- ##OEROOT##/../meta-openembedded/meta-python \
- ##OEROOT##/../meta-openembedded/meta-filesystems \
- ##OEROOT##/../meta-openembedded/meta-gnome \
- ##OEROOT##/../meta-openembedded/meta-multimedia \
- ##OEROOT##/../meta-openembedded/meta-networking \
- ##OEROOT##/../meta-openembedded/meta-webserver \
- ##OEROOT##/../meta-openembedded/meta-xfce \
- ##OEROOT##/../meta-openembedded/meta-initramfs \
- ##OEROOT##/../meta-openembedded/meta-oe \
- ##OEROOT##/../meta-browser \
- ##OEROOT##/../meta-qt5 \
- ##OEROOT##/../meta-xilinx/meta-xilinx-bsp \
- ##OEROOT##/../meta-xilinx/meta-xilinx-pynq \
- ##OEROOT##/../meta-xilinx/meta-xilinx-standalone \
- ##OEROOT##/../meta-xilinx/meta-xilinx-contrib \
- ##OEROOT##/../meta-xilinx-tools \
- ##OEROOT##/../meta-petalinux \
- ##OEROOT##/../meta-virtualization \
- ##OEROOT##/../meta-openamp \
- ##OEROOT##/../meta-jupyter \
- ##OEROOT##/../meta-python2 \
-"
-
-BBLAYERS_NON_REMOVABLE ?= " \
- ##OEROOT##/meta \
-"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/layer.conf b/meta-xilinx/meta-xilinx-bsp/conf/layer.conf
deleted file mode 100644
index e680b51c5..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/layer.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have a packages directory, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "xilinx"
-BBFILE_PATTERN_xilinx = "^${LAYERDIR}/"
-BBFILE_PRIORITY_xilinx = "5"
-
-LAYERDEPENDS_xilinx = "core"
-
-LAYERSERIES_COMPAT_xilinx = "dunfell gatesgarth"
-
-BB_DANGLINGAPPENDS_WARNONLY ?= "1"
-
-XILINX_RELEASE_VERSION = "v2020.2"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/local.conf.sample b/meta-xilinx/meta-xilinx-bsp/conf/local.conf.sample
deleted file mode 100644
index 505ba0d60..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/local.conf.sample
+++ /dev/null
@@ -1,235 +0,0 @@
-#
-# This file is your local configuration file and is where all local user settings
-# are placed. The comments in this file give some guide to the options a new user
-# to the system might want to change but pretty much any configuration option can
-# be set in this file. More adventurous users can look at local.conf.extended
-# which contains other examples of configuration which can be placed in this file
-# but new users likely won't need any of them initially.
-#
-# Lines starting with the '#' character are commented out and in some cases the
-# default values are provided as comments to show people example syntax. Enabling
-# the option is a question of removing the # character and making any change to the
-# variable as required.
-
-# BASE = "${COREBASE}/../.."
-
-#
-# Machine Selection
-#
-# You need to select a specific machine to target the build with. There are a selection
-# of emulated machines available which can boot and run in the QEMU emulator:
-#
-# This sets the default machine if no other machine is selected:
-MACHINE ??= "qemuzynq"
-
-#
-# Where to place downloads
-#
-# During a first build the system will download many different source code tarballs
-# from various upstream projects. This can take a while, particularly if your network
-# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
-# can preserve this directory to speed up this part of subsequent builds. This directory
-# is safe to share between multiple builds on the same machine too.
-#
-# The default is a downloads directory under TOPDIR which is the build directory.
-#
-# DL_DIR ?= "${BASE}/downloads"
-
-#
-# Where to place shared-state files
-#
-# BitBake has the capability to accelerate builds based on previously built output.
-# This is done using "shared state" files which can be thought of as cache objects
-# and this option determines where those files are placed.
-#
-# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
-# from these files if no changes were made to the configuration. If changes were made
-# to the configuration, only shared state files where the state was still valid would
-# be used (done using checksums).
-#
-# The default is a sstate-cache directory under TOPDIR.
-#
-# SSTATE_DIR ?= "${BASE}/sstate-cache"
-
-#
-# Where to place the build output
-#
-# This option specifies where the bulk of the building work should be done and
-# where BitBake should place its temporary files and output. Keep in mind that
-# this includes the extraction and compilation of many applications and the toolchain
-# which can use Gigabytes of hard disk space.
-#
-# The default is a tmp directory under TOPDIR.
-#
-#TMPDIR = "${TOPDIR}/tmp"
-#
-#TMPDIR_versal = "${TOPDIR}/tmp-versal"
-
-#
-# Default policy config
-#
-# The distribution setting controls which policy settings are used as defaults.
-# The default value is fine for general Yocto project use, at least initially.
-# Ultimately when creating custom policy, people will likely end up subclassing
-# these defaults.
-#
-DISTRO ?= "petalinux"
-
-#
-# Package Management configuration
-#
-# This variable lists which packaging formats to enable. Multiple package backends
-# can be enabled at once and the first item listed in the variable will be used
-# to generate the root filesystems.
-# Options are:
-# - 'package_deb' for debian style deb files
-# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
-# - 'package_rpm' for rpm style packages
-# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
-# We default to ipk:
-PACKAGE_CLASSES ?= "package_rpm"
-
-#
-# SDK/ADT target architecture
-#
-# This variable specifies the architecture to build SDK/ADT items for and means
-# you can build the SDK packages for architectures other than the machine you are
-# running the build on (i.e. building i686 packages on an x86_64 host).
-# Supported values are i686 and x86_64
-#SDKMACHINE ?= "i686"
-
-#
-# Extra image configuration defaults
-#
-# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
-# images. Some of these options are added to certain image types automatically. The
-# variable can contain the following options:
-# "dbg-pkgs" - add -dbg packages for all installed packages
-# (adds symbol information for debugging/profiling)
-# "dev-pkgs" - add -dev packages for all installed packages
-# (useful if you want to develop against libs in the image)
-# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
-# (useful if you want to run the package test suites)
-# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
-# "tools-debug" - add debugging tools (gdb, strace)
-# "eclipse-debug" - add Eclipse remote debugging support
-# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind)
-# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
-# "debug-tweaks" - make an image suitable for development
-# e.g. ssh root access has a blank password
-# There are other application targets that can be used here too, see
-# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
-# We default to enabling the debugging tweaks.
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
-
-#
-# Additional image features
-#
-# The following is a list of additional classes to use when building images which
-# enable extra features. Some available options which can be included in this variable
-# are:
-# - 'buildstats' collect build statistics
-# - 'image-mklibs' to reduce shared library files size for an image
-# - 'image-prelink' in order to prelink the filesystem image
-# - 'image-swab' to perform host system intrusion detection
-# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
-# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
-USER_CLASSES ?= "buildstats image-mklibs"
-
-#
-# Runtime testing of images
-#
-# The build system can test booting virtual machine images under qemu (an emulator)
-# after any root filesystems are created and run tests against those images. To
-# enable this uncomment this line. See classes/testimage(-auto).bbclass for
-# further details.
-#TEST_IMAGE = "1"
-#
-# Interactive shell configuration
-#
-# Under certain circumstances the system may need input from you and to do this it
-# can launch an interactive shell. It needs to do this since the build is
-# multithreaded and needs to be able to handle the case where more than one parallel
-# process may require the user's attention. The default is iterate over the available
-# terminal types to find one that works.
-#
-# Examples of the occasions this may happen are when resolving patches which cannot
-# be applied, to use the devshell or the kernel menuconfig
-#
-# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
-# Note: currently, Konsole support only works for KDE 3.x due to the way
-# newer Konsole versions behave
-#OE_TERMINAL = "auto"
-# By default disable interactive patch resolution (tasks will just fail instead):
-PATCHRESOLVE = "noop"
-
-#
-# Disk Space Monitoring during the build
-#
-# Monitor the disk space during the build. If there is less that 1GB of space or less
-# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
-# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
-# of the build. The reason for this is that running completely out of space can corrupt
-# files and damages the build in ways which may not be easily recoverable.
-# It's necesary to monitor /tmp, if there is no space left the build will fail
-# with very exotic errors.
-BB_DISKMON_DIRS = "\
- STOPTASKS,${TMPDIR},1G,100K \
- STOPTASKS,${DL_DIR},1G,100K \
- STOPTASKS,${SSTATE_DIR},1G,100K \
- STOPTASKS,/tmp,100M,100K \
- ABORT,${TMPDIR},100M,1K \
- ABORT,${DL_DIR},100M,1K \
- ABORT,${SSTATE_DIR},100M,1K \
- ABORT,/tmp,10M,1K"
-
-#
-# Shared-state files from other locations
-#
-# As mentioned above, shared state files are prebuilt cache data objects which can
-# used to accelerate build time. This variable can be used to configure the system
-# to search other mirror locations for these objects before it builds the data itself.
-#
-# This can be a filesystem directory, or a remote url such as http or ftp. These
-# would contain the sstate-cache results from previous builds (possibly from other
-# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
-# cache locations to check for the shared objects.
-# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
-# at the end as shown in the examples below. This will be substituted with the
-# correct path within the directory structure.
-#SSTATE_MIRRORS ?= "\
-#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
-#file://.* file:///some/local/dir/sstate/PATH"
-
-XILINX_VER_MAIN = "2020.2"
-
-# Uncomment below lines to provide path for custom xsct trim
-# This is required for building Versal based devices, please fetch the
-# xsct-trim from Xilinx lounge area
-#
-#EXTERNAL_XSCT_TARBALL = "/proj/yocto/xsct-trim/2020.2_xsct_daily_latest"
-#VALIDATE_XSCT_CHECKSUM = '0'
-
-# XILINX_VIVADO_DESIGN_SUIT should point to the Vivado installation directly if you are using xilinx-mcs recipe in meta-xilinx-tools
-#XILINX_VIVADO_DESIGN_SUIT = "/proj/xbuilds/2018.3_daily_latest/installs/lin64/Vivado/2018.3"
-
-# INHERIT += "externalsrc"
-# PREFERRED_PROVIDER_virtual/kernel = "linux-xlnx-dev"
-# EXTERNALSRC_pn-linux-xlnx-dev = "${BASE}/sources/linux"
-# RM_WORK_EXCLUDE += "linux-xlnx-dev"
-
-# PREFERRED_PROVIDER_virtual/bootloader = "u-boot-xlnx-dev"
-# EXTERNALSRC_pn-u-boot-xlnx-dev = "${BASE}/sources/u-boot"
-# RM_WORK_EXCLUDE += "u-boot-xlnx-dev"
-
-#Add below lines to use runqemu for ZU+ machines
-PMU_FIRMWARE_DEPLOY_DIR ??= "${DEPLOY_DIR_IMAGE}"
-PMU_FIRMWARE_IMAGE_NAME ??= "pmu-firmware-${MACHINE}"
-
-# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
-# track the version of this file when it was generated. This can safely be ignored if
-# this doesn't mean anything to you.
-CONF_VERSION = "1"
-
-#Enable the below line to use pmu-rom.elf from a specific path
-#PMU_ROM = "/proj/yocto/pmu-rom/pmu-rom.elf"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch32-tc.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch32-tc.conf
deleted file mode 100644
index 72fbc80f9..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch32-tc.conf
+++ /dev/null
@@ -1,220 +0,0 @@
-require conf/multilib.conf
-require conf/machine/include/tune-cortexa9.inc
-require conf/machine/include/baremetal-tc.conf
-
-# Define all of the multilibs supproted by this configuration
-MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
-
-MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard"
-MULTILIBS += "multilib:libnofp"
-MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard"
-MULTILIBS += "multilib:libv7anofp"
-MULTILIBS += "multilib:libv7afpsoftfp"
-MULTILIBS += "multilib:libv7afpthf multilib:libv7asimdsoftfp"
-MULTILIBS += "multilib:libv7asimdhard multilib:libv7vesimdsoftfp"
-MULTILIBS += "multilib:libvtvesimdhf"
-MULTILIBS += "multilib:libv8anofp"
-MULTILIBS += "multilib:libv8asimdsoftfp multilib:libv8asimdhard"
-
-TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}"
-TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
-
-# Base configuration
-# CFLAGS:
-DEFAULTTUNE = "aarch32"
-
-AVAILTUNES += "aarch32"
-PACKAGE_EXTRA_ARCHS_tune-aarch32 = "${TUNE_PKGARCH_tune-aarch32}"
-BASE_LIB_tune-aarch32 = "lib"
-TUNE_FEATURES_tune-aarch32 = "arm"
-TUNE_CCARGS_tune-aarch32 = ""
-TUNE_PKGARCH_tune-aarch32 = "aarch32"
-
-
-# arm/v5te/softfp
-# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp"
-
-AVAILTUNES += "armv5tesoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}"
-BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp"
-TUNE_FEATURES_tune-armv5tesoftfp = "arm"
-TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp"
-
-
-# arm/v5te/hard
-# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard"
-
-AVAILTUNES += "armv5tehard"
-PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}"
-BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard"
-TUNE_FEATURES_tune-armv5tehard = "arm"
-TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf"
-
-
-# thumb/nofp
-# CFLAGS: -mthumb -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp"
-
-AVAILTUNES += "armnofp"
-PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}"
-BASE_LIB_tune-armnofp = "lib/thumb/nofp"
-TUNE_FEATURES_tune-armnofp = "arm"
-TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armnofp = "armt"
-
-
-# thumb/v7/nofp
-# CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp"
-
-AVAILTUNES += "armv7nofp"
-PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}"
-BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp"
-TUNE_FEATURES_tune-armv7nofp = "arm"
-TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv7nofp = "armv7t"
-
-
-# thumb/v7+fp/softfp
-# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp"
-
-AVAILTUNES += "armv7fpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}"
-BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp"
-TUNE_FEATURES_tune-armv7fpsoftfp = "arm"
-TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt"
-
-
-# thumb/v7+fp/hard
-# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard"
-
-AVAILTUNES += "armv7fphard"
-PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}"
-BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard"
-TUNE_FEATURES_tune-armv7fphard = "arm"
-TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf"
-
-
-# thumb/v7-a/nofp
-# CFLAGS: -mthumb -march=armv7-a -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv7anofp = "armv7anofp"
-
-AVAILTUNES += "armv7anofp"
-PACKAGE_EXTRA_ARCHS_tune-armv7anofp = "${TUNE_PKGARCH_tune-armv7anofp}"
-BASE_LIB_tune-armv7anofp = "lib/thumb/v7-a/nofp"
-TUNE_FEATURES_tune-armv7anofp = "arm"
-TUNE_CCARGS_tune-armv7anofp = "-mthumb -march=armv7-a -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv7anofp = "armv7at"
-
-
-# thumb/v7-a+fp/softfp
-# CFLAGS: -mthumb -march=armv7-a+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7afpsoftfp = "armv7afpsoftfp"
-
-AVAILTUNES += "armv7afpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7afpsoftfp = "${TUNE_PKGARCH_tune-armv7afpsoftfp}"
-BASE_LIB_tune-armv7afpsoftfp = "lib/thumb/v7-a+fp/softfp"
-TUNE_FEATURES_tune-armv7afpsoftfp = "arm"
-TUNE_CCARGS_tune-armv7afpsoftfp = "-mthumb -march=armv7-a+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7afpsoftfp = "armv7afpt"
-
-
-# thumb/v7-a+fp/hard
-# CFLAGS: -mthumb -march=armv7-a+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7afpthf = "armv7afpthf"
-
-AVAILTUNES += "armv7afpthf"
-PACKAGE_EXTRA_ARCHS_tune-armv7afpthf = "${TUNE_PKGARCH_tune-armv7afpthf}"
-BASE_LIB_tune-armv7afpthf = "lib/thumb/v7-a+fp/hard"
-TUNE_FEATURES_tune-armv7afpthf = "arm"
-TUNE_CCARGS_tune-armv7afpthf = "-mthumb -march=armv7-a+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7afpthf = "armv7afpthf"
-
-# thumb/v7-a+simd/softfp
-# CFLAGS: -mthumb -march=armv7-a+simd -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7asimdsoftfp = "armv7asimdsoftfp"
-
-AVAILTUNES += "armv7asimdsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7asimdsoftfp = "${TUNE_PKGARCH_tune-armv7asimdsoftfp}"
-BASE_LIB_tune-armv7asimdsoftfp = "lib/thumb/v7-a+simd/softfp"
-TUNE_FEATURES_tune-armv7asimdsoftfp = "arm"
-TUNE_CCARGS_tune-armv7asimdsoftfp = "-mthumb -march=armv7-a+simd -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7asimdsoftfp = "armv7asimdt"
-
-
-# thumb/v7-a+simd/hard
-# CFLAGS: -mthumb -march=armv7-a+simd -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7asimdhard = "armv7asimdhard"
-
-AVAILTUNES += "armv7asimdhard"
-PACKAGE_EXTRA_ARCHS_tune-armv7asimdhard = "${TUNE_PKGARCH_tune-armv7asimdhard}"
-BASE_LIB_tune-armv7asimdhard = "lib/thumb/v7-a+simd/hard"
-TUNE_FEATURES_tune-armv7asimdhard = "arm"
-TUNE_CCARGS_tune-armv7asimdhard = "-mthumb -march=armv7-a+simd -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7asimdhard = "armv7asimdthf"
-
-
-# thumb/v7ve+simd/softfp
-# CFLAGS: -mthumb -march=armv7ve+simd -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7vesimdsoftfp = "armv7vesimdsoftfp"
-
-AVAILTUNES += "armv7vesimdsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7vesimdsoftfp = "${TUNE_PKGARCH_tune-armv7vesimdsoftfp}"
-BASE_LIB_tune-armv7vesimdsoftfp = "lib/thumb/v7ve+simd/softfp"
-TUNE_FEATURES_tune-armv7vesimdsoftfp = "arm"
-TUNE_CCARGS_tune-armv7vesimdsoftfp = "-mthumb -march=armv7ve+simd -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7vesimdsoftfp = "armv7vesimdt"
-
-# thumb/v7ve+simd/hard
-# CFLAGS: -mthumb -march=armv7ve+simd -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libvtvesimdhf = "armvtvesimdhf"
-
-AVAILTUNES += "armvtvesimdhf"
-PACKAGE_EXTRA_ARCHS_tune-armvtvesimdhf = "${TUNE_PKGARCH_tune-armvtvesimdhf}"
-BASE_LIB_tune-armvtvesimdhf = "lib/thumb/v7ve+simd/hard"
-TUNE_FEATURES_tune-armvtvesimdhf = "arm"
-TUNE_CCARGS_tune-armvtvesimdhf = "-mthumb -march=armv7ve+simd -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armvtvesimdhf = "armv7vesimdthf"
-
-
-# thumb/v8-a/nofp
-# CFLAGS: -mthumb -march=armv8-a -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv8anofp = "armv8anofp"
-
-AVAILTUNES += "armv8anofp"
-PACKAGE_EXTRA_ARCHS_tune-armv8anofp = "${TUNE_PKGARCH_tune-armv8anofp}"
-BASE_LIB_tune-armv8anofp = "lib/thumb/v8-a/nofp"
-TUNE_FEATURES_tune-armv8anofp = "arm"
-TUNE_CCARGS_tune-armv8anofp = "-mthumb -march=armv8-a -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv8anofp = "armv8at"
-
-# thumb/v8-a+simd/softfp
-# CFLAGS: -mthumb -march=armv8-a+simd -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv8asimdsoftfp = "armv8asimdsoftfp"
-
-AVAILTUNES += "armv8asimdsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv8asimdsoftfp = "${TUNE_PKGARCH_tune-armv8asimdsoftfp}"
-BASE_LIB_tune-armv8asimdsoftfp = "lib/thumb/v8-a+simd/softfp"
-TUNE_FEATURES_tune-armv8asimdsoftfp = "arm"
-TUNE_CCARGS_tune-armv8asimdsoftfp = "-mthumb -march=armv8-a+simd -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv8asimdsoftfp = "armv8asimdt"
-
-
-# thumb/v8-a+simd/hard
-# CFLAGS: -mthumb -march=armv8-a+simd -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv8asimdhard = "armv8asimdhard"
-
-AVAILTUNES += "armv8asimdhard"
-PACKAGE_EXTRA_ARCHS_tune-armv8asimdhard = "${TUNE_PKGARCH_tune-armv8asimdhard}"
-BASE_LIB_tune-armv8asimdhard = "lib/thumb/v8-a+simd/hard"
-TUNE_FEATURES_tune-armv8asimdhard = "arm"
-TUNE_CCARGS_tune-armv8asimdhard = "-mthumb -march=armv8-a+simd -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv8asimdhard = "armv8asimdthf"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch64-tc.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch64-tc.conf
deleted file mode 100644
index 08c2d1c65..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/aarch64-tc.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-require conf/multilib.conf
-require conf/machine/include/tune-cortexa72-cortexa53.inc
-require conf/machine/include/baremetal-tc.conf
-
-# Define ilp32 variant (not in tune files)
-TUNEVALID[ilp32] = "ilp32 ABI"
-
-TUNE_CCARGS .= '${@bb.utils.contains("TUNE_FEATURES", "ilp32", " -mabi=ilp32", "", d)}'
-
-# ILP request an alternative machine dictionary
-INHERIT += "xlnx-standalone"
-PACKAGEQA_EXTRA_MACHDEFFUNCS .= '${@bb.utils.contains("TUNE_FEATURES", "ilp32", " xlnx_ilp32_dict", "", d)}'
-
-# Define all of the multilibs supported by this configuration
-MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
-MULTILIBS = "multilib:libilp32"
-
-# Base configuration
-# CFLAGS:
-DEFAULTTUNE = "cortexa72-cortexa53"
-
-# CFLAGS: -mabi=ilp32
-DEFAULTTUNE_virtclass-multilib-libilp32 = "cortexa72-cortexa53-ilp32"
-
-AVAILTUNES += "cortexa72-cortexa53-ilp32"
-ARMPKGARCH_tune-cortexa72-cortexa53-ilp32 = "${ARMPKGARCH_tune-cortexa72-cortexa53}-ilp32"
-TUNE_FEATURES_tune-cortexa72-cortexa53-ilp32 = "${TUNE_FEATURES_tune-cortexa72-cortexa53} ilp32"
-PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53-ilp32 = "${PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53} cortexa72-cortexa53-ilp32"
-BASE_LIB_tune-cortexa72-cortexa53-ilp32 = "lib/ilp32"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf
deleted file mode 100644
index c13133398..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf
+++ /dev/null
@@ -1,264 +0,0 @@
-require conf/multilib.conf
-require conf/machine/include/tune-cortexrm.inc
-require conf/machine/include/baremetal-tc.conf
-
-# Define all of the multilibs supproted by this configuration
-MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
-
-MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard"
-MULTILIBS += "multilib:libnofp"
-MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard"
-MULTILIBS += "multilib:libv6mnofp"
-MULTILIBS += "multilib:libv7mnofp"
-MULTILIBS += "multilib:libv7emnofp multilib:libv7emfpsoftfp"
-MULTILIBS += "multilib:libv7emfphard multilib:libv7emdpsoftfp"
-MULTILIBS += "multilib:libv7emdphard"
-MULTILIBS += "multilib:libv8mbasenofp"
-MULTILIBS += "multilib:libv8mmainnofp multilib:libv8mmainfpsoftfp multilib:libv8mmainfphard multilib:libv8mmaindpsoftfp multilib:libv8mmaindphard"
-
-TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}"
-TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
-
-# Base configuration
-# CFLAGS:
-DEFAULTTUNE = "armrm"
-
-AVAILTUNES += "armrm"
-PACKAGE_EXTRA_ARCHS_tune-armrm = "${TUNE_PKGARCH_tune-armrm}"
-BASE_LIB_tune-armrm = "lib"
-TUNE_FEATURES_tune-armrm = "arm armrm"
-TUNE_CCARGS_tune-armrm = ""
-TUNE_PKGARCH_tune-armrm = "armrm"
-
-
-# arm/v5te/softfp
-# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp"
-
-AVAILTUNES += "armv5tesoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}"
-BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp"
-TUNE_FEATURES_tune-armv5tesoftfp = "arm armrm"
-TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp"
-
-
-# arm/v5te/hard
-# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard"
-
-AVAILTUNES += "armv5tehard"
-PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}"
-BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard"
-TUNE_FEATURES_tune-armv5tehard = "arm armrm"
-TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf"
-
-
-# thumb/nofp
-# CFLAGS: -mthumb -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp"
-
-AVAILTUNES += "armnofp"
-PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}"
-BASE_LIB_tune-armnofp = "lib/thumb/nofp"
-TUNE_FEATURES_tune-armnofp = "arm armrm"
-TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armnofp = "armt"
-
-
-# thumb/v7/nofp
-# CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp"
-
-AVAILTUNES += "armv7nofp"
-PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}"
-BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp"
-TUNE_FEATURES_tune-armv7nofp ="arm armrm"
-TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv7nofp = "armv7t"
-
-
-# thumb/v7+fp/softfp
-# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp"
-
-AVAILTUNES += "armv7fpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}"
-BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp"
-TUNE_FEATURES_tune-armv7fpsoftfp ="arm armrm"
-TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt"
-
-
-# thumb/v7+fp/hard
-# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard"
-
-AVAILTUNES += "armv7fphard"
-PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}"
-BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard"
-TUNE_FEATURES_tune-armv7fphard ="arm armrm"
-TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf"
-
-
-# thumb/v6-m/nofp
-# CFLAGS: -mthumb -march=armv6s-m -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv6mnofp = "armv6mnofp"
-
-# Workaround for this multilib in newlib
-# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip
-EXTRA_OECONF_append_pn-libv6mnofp-newlib = " --disable-newlib-supplied-syscalls"
-
-AVAILTUNES += "armv6mnofp"
-PACKAGE_EXTRA_ARCHS_tune-armv6mnofp = "${TUNE_PKGARCH_tune-armv6mnofp}"
-BASE_LIB_tune-armv6mnofp = "lib/thumb/v6-m/nofp"
-TUNE_FEATURES_tune-armv6mnofp ="arm armrm"
-TUNE_CCARGS_tune-armv6mnofp = "-mthumb -march=armv6s-m -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv6mnofp = "armv6smt"
-
-
-# thumb/v7-m/nofp
-# CFLAGS: -mthumb -march=armv7-m -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv7mnofp = "armv7mnofp"
-
-AVAILTUNES += "armv7mnofp"
-PACKAGE_EXTRA_ARCHS_tune-armv7mnofp = "${TUNE_PKGARCH_tune-armv7mnofp}"
-BASE_LIB_tune-armv7mnofp = "lib/thumb/v7-m/nofp"
-TUNE_FEATURES_tune-armv7mnofp ="arm armrm"
-TUNE_CCARGS_tune-armv7mnofp = "-mthumb -march=armv7-m -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv7mnofp = "armv7mt"
-
-
-# thumb/v7e-m/nofp
-# CFLAGS: -mthumb -march=armv7e-m -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv7emnofp = "armv7emnofp"
-
-AVAILTUNES += "armv7emnofp"
-PACKAGE_EXTRA_ARCHS_tune-armv7emnofp = "${TUNE_PKGARCH_tune-armv7emnofp}"
-BASE_LIB_tune-armv7emnofp = "lib/thumb/v7e-m/nofp"
-TUNE_FEATURES_tune-armv7emnofp ="arm armrm"
-TUNE_CCARGS_tune-armv7emnofp = "-mthumb -march=armv7e-m -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv7emnofp = "armv7emt"
-
-
-# thumb/v7e-m+fp/softfp
-# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7emfpsoftfp = "armv7emfpsoftfp"
-
-AVAILTUNES += "armv7emfpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7emfpsoftfp = "${TUNE_PKGARCH_tune-armv7emfpsoftfp}"
-BASE_LIB_tune-armv7emfpsoftfp = "lib/thumb/v7e-m+fp/softfp"
-TUNE_FEATURES_tune-armv7emfpsoftfp ="arm armrm"
-TUNE_CCARGS_tune-armv7emfpsoftfp = "-mthumb -march=armv7e-m+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7emfpsoftfp = "armv7emfpt"
-
-
-# thumb/v7e-m+fp/hard
-# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7emfphard = "armv7emfphard"
-
-AVAILTUNES += "armv7emfphard"
-PACKAGE_EXTRA_ARCHS_tune-armv7emfphard = "${TUNE_PKGARCH_tune-armv7emfphard}"
-BASE_LIB_tune-armv7emfphard = "lib/thumb/v7e-m+fp/hard"
-TUNE_FEATURES_tune-armv7emfphard ="arm armrm"
-TUNE_CCARGS_tune-armv7emfphard = "-mthumb -march=armv7e-m+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7emfphard = "armv7emfpthf"
-
-
-# thumb/v7e-m+dp/softfp
-# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7emdpsoftfp = "armv7emdpsoftfp"
-
-AVAILTUNES += "armv7emdpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7emdpsoftfp = "${TUNE_PKGARCH_tune-armv7emdpsoftfp}"
-BASE_LIB_tune-armv7emdpsoftfp = "lib/thumb/v7e-m+dp/softfp"
-TUNE_FEATURES_tune-armv7emdpsoftfp ="arm armrm"
-TUNE_CCARGS_tune-armv7emdpsoftfp = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7emdpsoftfp = "armv7emdp"
-
-# thumb/v7e-m+dp/hard
-# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7emdphard = "armv7emdphard"
-
-AVAILTUNES += "armv7emdphard"
-PACKAGE_EXTRA_ARCHS_tune-armv7emdphard = "${TUNE_PKGARCH_tune-armv7emdphard}"
-BASE_LIB_tune-armv7emdphard = "lib/thumb/v7e-m+dp/hard"
-TUNE_FEATURES_tune-armv7emdphard ="arm armrm"
-TUNE_CCARGS_tune-armv7emdphard = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7emdphard = "armv7emdpthf"
-
-
-# thumb/v8-m.base/nofp
-# CFLAGS: -mthumb -march=armv8-m.base -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv8mbasenofp = "armv8mbasenofp"
-
-# Workaround for this multilib in newlib
-# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip'
-EXTRA_OECONF_append_pn-libv8mbasenofp-newlib = " --disable-newlib-supplied-syscalls"
-
-AVAILTUNES += "armv8mbasenofp"
-PACKAGE_EXTRA_ARCHS_tune-armv8mbasenofp = "${TUNE_PKGARCH_tune-armv8mbasenofp}"
-BASE_LIB_tune-armv8mbasenofp = "lib/thumb/v8-m.base/nofp"
-TUNE_FEATURES_tune-armv8mbasenofp ="arm armrm"
-TUNE_CCARGS_tune-armv8mbasenofp = "-mthumb -march=armv8-m.base -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv8mbasenofp = "armv8mbaset"
-
-# thumb/v8-m.main/nofp
-# CFLAGS: -mthumb -march=armv8-m.main -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv8mmainnofp = "armv8mmainnofp"
-
-AVAILTUNES += "armv8mmainnofp"
-PACKAGE_EXTRA_ARCHS_tune-armv8mmainnofp = "${TUNE_PKGARCH_tune-armv8mmainnofp}"
-BASE_LIB_tune-armv8mmainnofp = "lib/thumb/v8-m.main/nofp"
-TUNE_FEATURES_tune-armv8mmainnofp ="arm armrm"
-TUNE_CCARGS_tune-armv8mmainnofp = "-mthumb -march=armv8-m.main -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv8mmainnofp = "armv8mmaint"
-
-
-# thumb/v8-m.main+fp/softfp
-# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv8mmainfpsoftfp = "armv8mmainfpsoftfp"
-
-AVAILTUNES += "armv8mmainfpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv8mmainfpsoftfp = "${TUNE_PKGARCH_tune-armv8mmainfpsoftfp}"
-BASE_LIB_tune-armv8mmainfpsoftfp = "lib/thumb/v8-m.main+fp/softfp"
-TUNE_FEATURES_tune-armv8mmainfpsoftfp ="arm armrm"
-TUNE_CCARGS_tune-armv8mmainfpsoftfp = "-mthumb -march=armv8-m.main+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv8mmainfpsoftfp = "armv8mmainfpt"
-
-# thumb/v8-m.main+fp/hard
-# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv8mmainfphard = "armv8mmainfphard"
-
-AVAILTUNES += "armv8mmainfphard"
-PACKAGE_EXTRA_ARCHS_tune-armv8mmainfphard = "${TUNE_PKGARCH_tune-armv8mmainfphard}"
-BASE_LIB_tune-armv8mmainfphard = "lib/thumb/v8-m.main+fp/hard"
-TUNE_FEATURES_tune-armv8mmainfphard ="arm armrm"
-TUNE_CCARGS_tune-armv8mmainfphard = "-mthumb -march=armv8-m.main+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv8mmainfphard = "armv8mmainfpthf"
-
-
-# thumb/v8-m.main+dp/softfp
-# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv8mmaindpsoftfp = "armv8mmaindpsoftfp"
-
-AVAILTUNES += "armv8mmaindpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv8mmaindpsoftfp = "${TUNE_PKGARCH_tune-armv8mmaindpsoftfp}"
-BASE_LIB_tune-armv8mmaindpsoftfp = "lib/thumb/v8-m.main+dp/softfp"
-TUNE_FEATURES_tune-armv8mmaindpsoftfp ="arm armrm"
-TUNE_CCARGS_tune-armv8mmaindpsoftfp = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv8mmaindpsoftfp = "armv8mmainfpdpt"
-
-
-# thumb/v8-m.main+dp/hard
-# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv8mmaindphard = "armv8mmaindphard"
-
-AVAILTUNES += "armv8mmaindphard"
-PACKAGE_EXTRA_ARCHS_tune-armv8mmaindphard = "${TUNE_PKGARCH_tune-armv8mmaindphard}"
-BASE_LIB_tune-armv8mmaindphard = "lib/thumb/v8-m.main+dp/hard"
-TUNE_FEATURES_tune-armv8mmaindphard ="arm armrm"
-TUNE_CCARGS_tune-armv8mmaindphard = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv8mmaindphard = "armv8mmainfpdpthf"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa53-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa53-zynqmp.conf
deleted file mode 100644
index d2bbab0de..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa53-zynqmp.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFAULTTUNE ?= "cortexa53"
-
-require conf/machine/include/soc-zynqmp.inc
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa72-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa72-versal.conf
deleted file mode 100644
index 27e109c01..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa72-versal.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFAULTTUNE ?= "cortexa72"
-
-require conf/machine/include/soc-versal.inc
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa9-zynq.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa9-zynq.conf
deleted file mode 100644
index 02568109b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexa9-zynq.conf
+++ /dev/null
@@ -1 +0,0 @@
-require conf/machine/include/soc-zynq.inc
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-versal.conf
deleted file mode 100644
index fa58dc007..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-versal.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFAULTTUNE ?= "cortexr5f"
-
-require conf/machine/include/soc-versal.inc
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-zynqmp.conf
deleted file mode 100644
index 817150f83..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/cortexr5-zynqmp.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFAULTTUNE ?= "cortexr5f"
-
-require conf/machine/include/soc-zynqmp.inc
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf
deleted file mode 100644
index a53ceac25..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# This is specific to baremetal toolchains only.
-#
-# Some of the operations we want to do are different then regular Yocto
-# Project SDK workflows, so wrap baremetal toolchain items in a custom
-# override:
-
-MACHINEOVERRIDES_append = ":baremetal-multilib-tc"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
deleted file mode 100644
index f2533be70..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
+++ /dev/null
@@ -1,79 +0,0 @@
-# Default Xilinx BSP Machine settings
-
-MACHINE_FEATURES_BACKFILL_CONSIDERED += "rtc"
-
-# File System Configuration
-IMAGE_FSTYPES ?= "tar.gz cpio cpio.gz.u-boot"
-
-# Kernel Configuration
-PREFERRED_PROVIDER_virtual/kernel ??= "linux-xlnx"
-
-# U-Boot Configuration
-PREFERRED_PROVIDER_virtual/bootloader ??= "u-boot-xlnx"
-PREFERRED_PROVIDER_virtual/boot-bin ??= "${PREFERRED_PROVIDER_virtual/bootloader}"
-
-do_image_wic[depends] += "${@' '.join('%s:do_deploy' % r for r in (d.getVar('WIC_DEPENDS') or "").split())}"
-
-UBOOT_SUFFIX ?= "img"
-UBOOT_SUFFIX_microblaze ?= "bin"
-
-UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
-UBOOT_ELF ?= "u-boot"
-UBOOT_ELF_aarch64 ?= "u-boot.elf"
-
-#Hardware accelaration
-PREFERRED_PROVIDER_virtual/libgles1_mali400 = "libmali-xlnx"
-PREFERRED_PROVIDER_virtual/libgles2_mali400 = "libmali-xlnx"
-PREFERRED_PROVIDER_virtual/egl_mali400 = "libmali-xlnx"
-PREFERRED_PROVIDER_virtual/libgl_mali400 = "mesa-gl"
-PREFERRED_PROVIDER_virtual/mesa_mali400 = "mesa-gl"
-
-# microblaze does not get on with pie for reasons not looked into as yet
-GCCPIE_microblaze = ""
-GLIBCPIE_microblaze = ""
-SECURITY_CFLAGS_microblaze = ""
-SECURITY_LDFLAGS_microblaze = ""
-# Microblaze does not support gnu hash style
-LINKER_HASH_STYLE_microblaze = "sysv"
-
-XSERVER ?= " \
- xserver-xorg \
- xf86-input-evdev \
- xf86-input-mouse \
- xf86-input-keyboard \
- xf86-video-fbdev \
- ${XSERVER_EXT} \
- "
-
-IMAGE_BOOT_FILES ?= "${@get_default_image_boot_files(d)}"
-
-def get_default_image_boot_files(d):
- files = []
-
- # kernel images
- kerneltypes = set((d.getVar("KERNEL_IMAGETYPE") or "").split())
- kerneltypes |= set((d.getVar("KERNEL_IMAGETYPES") or "").split())
- for i in kerneltypes:
- files.append(i)
-
- # u-boot image
- if d.getVar("UBOOT_BINARY"):
- files.append(d.getVar("UBOOT_BINARY"))
-
- # device trees (device-tree only), these are first as they are likely desired over the kernel ones
- if "device-tree" in (d.getVar("MACHINE_ESSENTIAL_EXTRA_RDEPENDS") or ""):
- files.append("devicetree/*.dtb")
-
-
- # device trees (kernel only)
- if d.getVar("KERNEL_DEVICETREE"):
- dtbs = d.getVar("KERNEL_DEVICETREE").split(" ")
- dtbs = [os.path.basename(d) for d in dtbs]
- for dtb in dtbs:
- files.append(dtb)
-
- return " ".join(files)
-
-XSERVER_EXT ?= ""
-
-FPGA_MNGR_RECONFIG_ENABLE ?= "${@bb.utils.contains('IMAGE_FEATURES', 'fpga-manager', '1', '0', d)}"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc
deleted file mode 100644
index b804112b5..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc
+++ /dev/null
@@ -1,55 +0,0 @@
-# This include is used to setup default QEMU and qemuboot config for meta-xilinx
-# machines.
-
-# Use the xilinx specific version for these users
-IMAGE_CLASSES += "qemuboot-xilinx"
-
-# depend on qemu-helper-native, which will depend on QEMU
-EXTRA_IMAGEDEPENDS += "qemu-helper-native"
-
-PREFERRED_PROVIDER_qemu-helper-native = "qemu-xilinx-helper-native"
-PREFERRED_PROVIDER_qemu = "qemu-xilinx"
-PREFERRED_PROVIDER_qemu-native = "qemu-xilinx-native"
-PREFERRED_PROVIDER_nativesdk-qemu = "nativesdk-qemu-xilinx"
-
-def qemu_default_dtb(d):
- if d.getVar("IMAGE_BOOT_FILES", True):
- dtbs = d.getVar("IMAGE_BOOT_FILES", True).split(" ")
- # IMAGE_BOOT_FILES has extra renaming info in the format '<source>;<target>'
- # Note: Wildcard sources work here only because runqemu expands them at run time
- dtbs = [f.split(";")[0] for f in dtbs]
- dtbs = [f for f in dtbs if f.endswith(".dtb")]
- if len(dtbs) != 0:
- return dtbs[0]
- return ""
-
-def qemu_default_serial(d):
- if d.getVar("SERIAL_CONSOLES", True):
- first_console = d.getVar("SERIAL_CONSOLES", True).split(" ")[0]
- speed, console = first_console.split(";", 1)
- # zynqmp uses earlycon and stdout (in dtb)
- if "zynqmp" in d.getVar("MACHINEOVERRIDES", True).split(":"):
- return ""
- return "console=%s,%s earlyprintk" % (console, speed)
- return ""
-
-def qemu_target_binary(d):
- ta = d.getVar("TARGET_ARCH", True)
- if ta == "microblazeeb":
- ta = "microblaze"
- elif ta == "arm":
- ta = "aarch64"
- return "qemu-system-%s" % ta
-
-def qemu_zynqmp_unhalt(d, multiarch):
- if multiarch:
- return "-global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true"
- return "-device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4"
-
-# For qemuboot, default setup across all machines in meta-xilinx
-QB_SYSTEM_NAME_aarch64 ?= "${@qemu_target_binary(d)}-multiarch"
-QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
-QB_DEFAULT_FSTYPE ?= "cpio"
-QB_DTB ?= "${@qemu_default_dtb(d)}"
-QB_KERNEL_CMDLINE_APPEND ?= "${@qemu_default_serial(d)}"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc
deleted file mode 100644
index 7b6bd12ab..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-# Unfortunately various tunefiles don't include each other, so create
-# a list of things to require based on the DEFAULTTUNE setting.
-TUNEFILE[cortexr5] = "conf/machine/include/tune-cortexrm.inc"
-TUNEFILE[cortexr5f] = "conf/machine/include/tune-cortexrm.inc"
-TUNEFILE[cortexa9thf-neon] = "conf/machine/include/tune-cortexa9.inc"
-TUNEFILE[cortexa53] = "conf/machine/include/tune-cortexa53.inc"
-TUNEFILE[cortexa72] = "conf/machine/include/tune-cortexa72.inc"
-TUNEFILE[cortexa72-cortexa53] = "conf/machine/include/tune-cortexa72-cortexa53.inc"
-TUNEFILE[microblaze] = "conf/machine/include/tune-microblaze.inc"
-
-# Default to arch-armv8a.inc
-TUNEFILE = "${@ d.getVarFlag('TUNEFILE', d.getVar('DEFAULTTUNE')) if d.getVarFlag('TUNEFILE', d.getVar('DEFAULTTUNE')) else 'conf/machine/include/arm/arch-armv8a.inc'}"
-
-require ${TUNEFILE}
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-versal.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-versal.inc
deleted file mode 100644
index d15f4909a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-versal.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-DEFAULTTUNE ?= "cortexa72-cortexa53"
-SOC_FAMILY ?= "versal"
-
-# Available SOC_VARIANT's for versal:
-# "-prime" - Versal deafult Prime Devices
-# "-ai-core" - Versal AI-core Devices
-# "-premium" - Versal Premium Devices
-
-SOC_VARIANT ?= "-prime"
-
-require soc-tune-include.inc
-require xilinx-soc-family.inc
-
-# Linux Configuration
-KERNEL_IMAGETYPE ?= "Image"
-
-WIC_DEPENDS ?= "virtual/kernel virtual/bootloader virtual/boot-bin virtual/arm-trusted-firmware"
-
-UBOOT_ELF ?= "u-boot.elf"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynq.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynq.inc
deleted file mode 100644
index 0111cbd98..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynq.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-DEFAULTTUNE ?= "cortexa9thf-neon"
-SOC_FAMILY ?= "zynq"
-
-# Available SOC_VARIANT's for zynq:
-# 7zs - Zynq-7000 Single A9 Core
-# 7z - Zynq-7000 Dual A9 Core
-
-SOC_VARIANT ?= "7z"
-
-require soc-tune-include.inc
-require xilinx-soc-family.inc
-
-# Linux Configuration
-KERNEL_IMAGETYPE ?= "uImage"
-KERNEL_IMAGETYPES += "zImage"
-
-# Set default load address.
-# Override with KERNEL_EXTRA_ARGS_<board> += "..." in machine file if required
-KERNEL_EXTRA_ARGS_zynq += "UIMAGE_LOADADDR=0x8000"
-
-# WIC Specific dependencies
-WIC_DEPENDS ?= "virtual/kernel virtual/bootloader virtual/boot-bin"
-
-UBOOT_ELF ?= "u-boot.elf"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynqmp.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynqmp.inc
deleted file mode 100644
index 8d421fb36..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/soc-zynqmp.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-DEFAULTTUNE ?= "cortexa72-cortexa53"
-SOC_FAMILY ?= "zynqmp"
-
-# Available SOC_VARIANT's for zynqmp:
-# "cg" - Zynq UltraScale+ CG Devices
-# "eg" - Zynq UltraScale+ EG Devices
-# "ev" - Zynq UltraScale+ EV Devices
-# "dr" - Zynq UltraScale+ DR Devices
-
-SOC_VARIANT ?= "eg"
-
-MACHINEOVERRIDES_prepend_zynqmpeg = "mali400:"
-MACHINEOVERRIDES_prepend_zynqmpev = "mali400:vcu:"
-
-require soc-tune-include.inc
-require xilinx-soc-family.inc
-
-# Linux Configuration
-KERNEL_IMAGETYPE ?= "Image"
-
-# Support multilib on zynqmp
-DEFAULTTUNE_virtclass-multilib-lib32 ?= "armv7vethf-neon-vfpv4"
-
-WIC_DEPENDS ?= "virtual/kernel virtual/bootloader virtual/boot-bin virtual/arm-trusted-firmware"
-
-UBOOT_SUFFIX ?= "bin"
-
-XSERVER_EXT_zynqmp ?= "xf86-video-armsoc"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-cortexrm.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-cortexrm.inc
deleted file mode 100644
index 66edbdbdb..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-cortexrm.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-DEFAULTTUNE ?= "cortexr5"
-
-require conf/machine/include/arm/arch-armv8a.inc
-
-TUNEVALID[armrm] = "Enable ARM Cortex-R/M Family"
-MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armrm', 'armrm:', '' ,d)}"
-
-TUNEVALID[cortexr5] = "Enable Cortex-r5 specific processor optimizations"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -mcpu=cortex-r5', '', d)}"
-
-AVAILTUNES += "cortexr5"
-ARMPKGARCH_tune-cortexr5 = "cortexr5"
-
-TUNE_FEATURES_tune-cortexr5 = "armrm cortexr5"
-PACKAGE_EXTRA_ARCHS_tune-cortexr5 = "${TUNE_PKGARCH}"
-
-AVAILTUNES += "cortexr5f"
-ARMPKGARCH_tune-cortexr5f = "cortexr5f"
-
-TUNE_FEATURES_tune-cortexr5f = "armrm cortexr5 vfpv3d16 callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-cortexr5f = "${TUNE_PKGARCH}"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/xilinx-board.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/xilinx-board.inc
deleted file mode 100644
index 700a2f805..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/xilinx-board.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-BOARD ??= ""
-BOARD_VARIANT ??= ""
-
-MACHINEOVERRIDES =. "${@['', '${BOARD}:']['${BOARD}' != '']}"
-MACHINEOVERRIDES =. "${@['', '${BOARD}${BOARD_VARIANT}:']['${BOARD_VARIANT}' != '']}"
-
-
-BOARD_ARCH ?= "${BOARD}"
-BOARDVARIANT_ARCH ?= "${BOARD}${BOARD_VARIANT}"
-
-PACKAGE_EXTRA_ARCHS_append = " ${BOARD_ARCH}"
-PACKAGE_EXTRA_ARCHS_append = "${@['', ' ${BOARDVARIANT_ARCH}'][d.getVar('BOARDVARIANT_ARCH') != d.getVar('BOARD_ARCH')]}"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/xilinx-soc-family.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/xilinx-soc-family.inc
deleted file mode 100644
index e6c62ccc6..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/xilinx-soc-family.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-require conf/machine/include/soc-family.inc
-
-SOC_VARIANT ??= ""
-MACHINEOVERRIDES =. "${@['', '${SOC_FAMILY}${SOC_VARIANT}:']['${SOC_VARIANT}' != '']}"
-
-SOC_FAMILY_ARCH ?= "${SOC_FAMILY}"
-SOC_VARIANT_ARCH ?= "${SOC_FAMILY}${SOC_VARIANT}"
-
-PACKAGE_EXTRA_ARCHS_append = " ${SOC_FAMILY_ARCH}"
-PACKAGE_EXTRA_ARCHS_append = "${@['', ' ${SOC_VARIANT_ARCH}'][d.getVar('SOC_VARIANT_ARCH') != d.getVar('SOC_FAMILY_ARCH')]}"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
deleted file mode 100644
index 73f5b0468..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
+++ /dev/null
@@ -1,22 +0,0 @@
-#@TYPE: Machine
-#@NAME: kc705-microblazeel
-#@DESCRIPTION: Machine support for Xilinx KC705 Embedded Kit.
-#
-
-require conf/machine/include/tune-microblaze.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-TUNE_FEATURES_tune-microblaze += "v11.0 barrel-shift reorder pattern-compare multiply-high divide-hard"
-
-MACHINE_FEATURES = ""
-
-USE_VT = ""
-SERIAL_CONSOLES ?= "115200;ttyS0"
-
-KERNEL_IMAGETYPE ?= "linux.bin.ub"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-EXTRA_IMAGEDEPENDS += "virtual/bitstream virtual/bootloader"
-
-UBOOT_MACHINE = "microblaze-generic_defconfig"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-plm.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-plm.conf
deleted file mode 100644
index 9ab8a46b2..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-plm.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFAULTTUNE ?= "microblaze"
-
-require conf/machine/include/soc-versal.inc
-
-# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities
-AVAILTUNES += "microblaze"
-TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"
-
-LINKER_HASH_STYLE_microblaze = "sysv"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-pmu.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-pmu.conf
deleted file mode 100644
index 09fd3c805..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-pmu.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFAULTTUNE ?= "microblaze"
-
-require conf/machine/include/soc-zynqmp.inc
-
-# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities
-AVAILTUNES += "microblaze"
-TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"
-
-LINKER_HASH_STYLE_microblaze = "sysv"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-tc.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-tc.conf
deleted file mode 100644
index bc80ad754..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblaze-tc.conf
+++ /dev/null
@@ -1,541 +0,0 @@
-require conf/multilib.conf
-require conf/machine/include/microblaze/arch-microblaze.inc
-require conf/machine/include/baremetal-tc.conf
-
-# ILP request an alternative machine dictionary
-INHERIT += "xlnx-standalone"
-PACKAGEQA_EXTRA_MACHDEFFUNCS .= '${@bb.utils.contains("TUNE_FEATURES", "64-bit", " xlnx_mb64_dict", "", d)}'
-
-# GNU hash style not supported
-LINKER_HASH_STYLE_microblaze = ""
-
-# Define all of the multilibs supproted by this configuration
-MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
-
-MULTILIBS += "multilib:libmble"
-MULTILIBS += "multilib:libmbbs"
-MULTILIBS += "multilib:libmbp"
-MULTILIBS += "multilib:libmbm"
-MULTILIBS += "multilib:libmbfpd"
-MULTILIBS += "multilib:libmbmfpd"
-MULTILIBS += "multilib:libmbpm"
-MULTILIBS += "multilib:libmbpfpd"
-MULTILIBS += "multilib:libmbpmfpd"
-MULTILIBS += "multilib:libmbbsp"
-MULTILIBS += "multilib:libmbbsm"
-MULTILIBS += "multilib:libmbbsfpd"
-MULTILIBS += "multilib:libmbbsmfpd"
-MULTILIBS += "multilib:libmbbspm"
-MULTILIBS += "multilib:libmbbspfpd"
-MULTILIBS += "multilib:libmbbspmfpd"
-MULTILIBS += "multilib:libmblem64"
-MULTILIBS += "multilib:libmblebs"
-MULTILIBS += "multilib:libmblep"
-MULTILIBS += "multilib:libmblem"
-MULTILIBS += "multilib:libmblefpd"
-MULTILIBS += "multilib:libmblemfpd"
-MULTILIBS += "multilib:libmblepm"
-MULTILIBS += "multilib:libmblepfpd"
-MULTILIBS += "multilib:libmblepmfpd"
-MULTILIBS += "multilib:libmblebsp"
-MULTILIBS += "multilib:libmblebsm"
-MULTILIBS += "multilib:libmblebsfpd"
-MULTILIBS += "multilib:libmblebsmfpd"
-MULTILIBS += "multilib:libmblebspm"
-MULTILIBS += "multilib:libmblebspfpd"
-MULTILIBS += "multilib:libmblebspmfpd"
-MULTILIBS += "multilib:libmblem64bs"
-MULTILIBS += "multilib:libmblem64p"
-MULTILIBS += "multilib:libmblem64m"
-MULTILIBS += "multilib:libmblem64fpd"
-MULTILIBS += "multilib:libmblem64mfpd"
-MULTILIBS += "multilib:libmblem64pm"
-MULTILIBS += "multilib:libmblem64pfpd"
-MULTILIBS += "multilib:libmblem64pmfpd"
-MULTILIBS += "multilib:libmblem64bsp"
-MULTILIBS += "multilib:libmblem64bsm"
-MULTILIBS += "multilib:libmblem64bsfpd"
-MULTILIBS += "multilib:libmblem64bsmfpd"
-MULTILIBS += "multilib:libmblem64bspm"
-MULTILIBS += "multilib:libmblem64bspfpd"
-MULTILIBS += "multilib:libmblem64bspmfpd"
-
-
-# Base configuration
-# CFLAGS:
-DEFAULTTUNE = "microblaze"
-
-AVAILTUNES += "microblaze"
-BASE_LIB_tune-microblaze = "lib"
-TUNE_FEATURES_tune-microblaze = "microblaze bigendian"
-PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"
-
-
-# le
-# CFLAGS: -mlittle-endian
-DEFAULTTUNE_virtclass-multilib-libmble = "microblazele"
-
-AVAILTUNES += "microblazele"
-BASE_LIB_tune-microblazele = "lib/le"
-TUNE_FEATURES_tune-microblazele = "microblaze"
-PACKAGE_EXTRA_ARCHS_tune-microblazele = "${TUNE_PKGARCH}"
-
-
-# bs
-# CFLAGS: -mxl-barrel-shift
-DEFAULTTUNE_virtclass-multilib-libmbbs = "microblazebs"
-
-AVAILTUNES += "microblazebs"
-BASE_LIB_tune-microblazebs = "lib/bs"
-TUNE_FEATURES_tune-microblazebs = "microblaze bigendian barrel-shift"
-PACKAGE_EXTRA_ARCHS_tune-microblazebs = "${TUNE_PKGARCH}"
-
-
-# p
-# CFLAGS: -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmbp = "microblazep"
-
-AVAILTUNES += "microblazep"
-BASE_LIB_tune-microblazep = "lib/p"
-TUNE_FEATURES_tune-microblazep = "microblaze bigendian pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazep = "${TUNE_PKGARCH}"
-
-
-# m
-# CFLAGS: -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmbm = "microblazem"
-
-AVAILTUNES += "microblazem"
-BASE_LIB_tune-microblazem = "lib/m"
-TUNE_FEATURES_tune-microblazem = "microblaze bigendian multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazem = "${TUNE_PKGARCH}"
-
-
-# fpd
-# CFLAGS: -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbfpd = "microblazefpd"
-
-AVAILTUNES += "microblazefpd"
-BASE_LIB_tune-microblazefpd = "lib/fpd"
-TUNE_FEATURES_tune-microblazefpd = "microblaze bigendian fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazefpd = "${TUNE_PKGARCH}"
-
-
-# m/fpd
-# CFLAGS: -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbmfpd = "microblazemfpd"
-
-AVAILTUNES += "microblazemfpd"
-BASE_LIB_tune-microblazemfpd = "lib/m/fpd"
-TUNE_FEATURES_tune-microblazemfpd = "microblaze bigendian multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazemfpd = "${TUNE_PKGARCH}"
-
-
-# p/m
-# CFLAGS: -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmbpm = "microblazepm"
-
-AVAILTUNES += "microblazepm"
-BASE_LIB_tune-microblazepm = "lib/p/m"
-TUNE_FEATURES_tune-microblazepm = "microblaze bigendian pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazepm = "${TUNE_PKGARCH}"
-
-
-# p/fpd
-# CFLAGS: -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbpfpd = "microblazepfpd"
-
-AVAILTUNES += "microblazepfpd"
-BASE_LIB_tune-microblazepfpd = "lib/p/fpd"
-TUNE_FEATURES_tune-microblazepfpd = "microblaze bigendian pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazepfpd = "${TUNE_PKGARCH}"
-
-
-# p/m/fpd
-# CFLAGS: -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbpmfpd = "microblazepmfpd"
-
-AVAILTUNES += "microblazepmfpd"
-BASE_LIB_tune-microblazepmfpd = "lib/p/m/fpd"
-TUNE_FEATURES_tune-microblazepmfpd = "microblaze bigendian pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazepmfpd = "${TUNE_PKGARCH}"
-
-
-# bs/p
-# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmbbsp = "microblazebsp"
-
-AVAILTUNES += "microblazebsp"
-BASE_LIB_tune-microblazebsp = "lib/bs/p"
-TUNE_FEATURES_tune-microblazebsp = "microblaze bigendian barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazebsp = "${TUNE_PKGARCH}"
-
-
-# bs/m
-# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmbbsm = "microblazebsm"
-
-AVAILTUNES += "microblazebsm"
-BASE_LIB_tune-microblazebsm = "lib/bs/m"
-TUNE_FEATURES_tune-microblazebsm = "microblaze bigendian barrel-shift multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazebsm = "${TUNE_PKGARCH}"
-
-
-# bs/fpd
-# CFLAGS: -mxl-barrel-shift -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbbsfpd = "microblazebsfpd"
-
-AVAILTUNES += "microblazebsfpd"
-BASE_LIB_tune-microblazebsfpd = "lib/bs/fpd"
-TUNE_FEATURES_tune-microblazebsfpd = "microblaze bigendian barrel-shift fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazebsfpd = "${TUNE_PKGARCH}"
-
-
-# bs/m/fpd
-# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbbsmfpd = "microblazebsmfpd"
-
-AVAILTUNES += "microblazebsmfpd"
-BASE_LIB_tune-microblazebsmfpd = "lib/bs/m/fpd"
-TUNE_FEATURES_tune-microblazebsmfpd = "microblaze bigendian barrel-shift multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazebsmfpd = "${TUNE_PKGARCH}"
-
-
-# bs/p/m
-# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmbbspm = "microblazebspm"
-
-AVAILTUNES += "microblazebspm"
-BASE_LIB_tune-microblazebspm = "lib/bs/p/m"
-TUNE_FEATURES_tune-microblazebspm = "microblaze bigendian barrel-shift pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazebspm = "${TUNE_PKGARCH}"
-
-
-# bs/p/fpd
-# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbbspfpd = "microblazebspfpd"
-
-AVAILTUNES += "microblazebspfpd"
-BASE_LIB_tune-microblazebspfpd = "lib/bs/p/fpd"
-TUNE_FEATURES_tune-microblazebspfpd = "microblaze bigendian barrel-shift pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazebspfpd = "${TUNE_PKGARCH}"
-
-
-# bs/p/m/fpd
-# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbbspmfpd = "microblazebspmfpd"
-
-AVAILTUNES += "microblazebspmfpd"
-BASE_LIB_tune-microblazebspmfpd = "lib/bs/p/m/fpd"
-TUNE_FEATURES_tune-microblazebspmfpd = "microblaze bigendian barrel-shift pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazebspmfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64
-# CFLAGS: -mlittle-endian -m64
-DEFAULTTUNE_virtclass-multilib-libmblem64 = "microblazele64"
-
-AVAILTUNES += "microblazele64"
-BASE_LIB_tune-microblazele64 = "lib/le/m64"
-TUNE_FEATURES_tune-microblazele64 = "microblaze 64-bit"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64 = "${TUNE_PKGARCH}"
-
-
-# le/bs
-# CFLAGS: -mlittle-endian -mxl-barrel-shift
-DEFAULTTUNE_virtclass-multilib-libmblebs = "microblazelebs"
-
-AVAILTUNES += "microblazelebs"
-BASE_LIB_tune-microblazelebs = "lib/le/bs"
-TUNE_FEATURES_tune-microblazelebs = "microblaze barrel-shift"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebs = "${TUNE_PKGARCH}"
-
-
-# le/p
-# CFLAGS: -mlittle-endian -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmblep = "microblazelep"
-
-AVAILTUNES += "microblazelep"
-BASE_LIB_tune-microblazelep = "lib/le/p"
-TUNE_FEATURES_tune-microblazelep = "microblaze pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazelep = "${TUNE_PKGARCH}"
-
-
-# le/m
-# CFLAGS: -mlittle-endian -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblem = "microblazelem"
-
-AVAILTUNES += "microblazelem"
-BASE_LIB_tune-microblazelem = "lib/le/m"
-TUNE_FEATURES_tune-microblazelem = "microblaze multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazelem = "${TUNE_PKGARCH}"
-
-
-# le/fpd
-# CFLAGS: -mlittle-endian -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblefpd = "microblazelefpd"
-
-AVAILTUNES += "microblazelefpd"
-BASE_LIB_tune-microblazelefpd = "lib/le/fpd"
-TUNE_FEATURES_tune-microblazelefpd = "microblaze fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelefpd = "${TUNE_PKGARCH}"
-
-
-# le/m/fpd
-# CFLAGS: -mlittle-endian -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblemfpd = "microblazelemfpd"
-
-AVAILTUNES += "microblazelemfpd"
-BASE_LIB_tune-microblazelemfpd = "lib/le/m/fpd"
-TUNE_FEATURES_tune-microblazelemfpd = "microblaze multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelemfpd = "${TUNE_PKGARCH}"
-
-
-# le/p/m
-# CFLAGS: -mlittle-endian -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblepm = "microblazelepm"
-
-AVAILTUNES += "microblazelepm"
-BASE_LIB_tune-microblazelepm = "lib/le/p/m"
-TUNE_FEATURES_tune-microblazelepm = "microblaze pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazelepm = "${TUNE_PKGARCH}"
-
-
-# le/p/fpd
-# CFLAGS: -mlittle-endian -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblepfpd = "microblazelepfpd"
-
-AVAILTUNES += "microblazelepfpd"
-BASE_LIB_tune-microblazelepfpd = "lib/le/p/fpd"
-TUNE_FEATURES_tune-microblazelepfpd = "microblaze pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelepfpd = "${TUNE_PKGARCH}"
-
-
-# le/p/m/fpd
-# CFLAGS: -mlittle-endian -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblepmfpd = "microblazelepmfpd"
-
-AVAILTUNES += "microblazelepmfpd"
-BASE_LIB_tune-microblazelepmfpd = "lib/le/p/m/fpd"
-TUNE_FEATURES_tune-microblazelepmfpd = "microblaze pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelepmfpd = "${TUNE_PKGARCH}"
-
-
-# le/bs/p
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmblebsp = "microblazelebsp"
-
-AVAILTUNES += "microblazelebsp"
-BASE_LIB_tune-microblazelebsp = "lib/le/bs/p"
-TUNE_FEATURES_tune-microblazelebsp = "microblaze barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebsp = "${TUNE_PKGARCH}"
-
-
-# le/bs/m
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblebsm = "microblazelebsm"
-
-AVAILTUNES += "microblazelebsm"
-BASE_LIB_tune-microblazelebsm = "lib/le/bs/m"
-TUNE_FEATURES_tune-microblazelebsm = "microblaze barrel-shift multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebsm = "${TUNE_PKGARCH}"
-
-
-# le/bs/fpd
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblebsfpd = "microblazelebsfpd"
-
-AVAILTUNES += "microblazelebsfpd"
-BASE_LIB_tune-microblazelebsfpd = "lib/le/bs/fpd"
-TUNE_FEATURES_tune-microblazelebsfpd = "microblaze barrel-shift fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebsfpd = "${TUNE_PKGARCH}"
-
-
-# le/bs/m/fpd
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblebsmfpd = "microblazelebsmfpd"
-
-AVAILTUNES += "microblazelebsmfpd"
-BASE_LIB_tune-microblazelebsmfpd = "lib/le/bs/m/fpd"
-TUNE_FEATURES_tune-microblazelebsmfpd = "microblaze barrel-shift multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebsmfpd = "${TUNE_PKGARCH}"
-
-
-# le/bs/p/m
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblebspm = "microblazelebspm"
-
-AVAILTUNES += "microblazelebspm"
-BASE_LIB_tune-microblazelebspm = "lib/le/bs/p/m"
-TUNE_FEATURES_tune-microblazelebspm = "microblaze barrel-shift pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebspm = "${TUNE_PKGARCH}"
-
-
-# le/bs/p/fpd
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblebspfpd = "microblazelebspfpd"
-
-AVAILTUNES += "microblazelebspfpd"
-BASE_LIB_tune-microblazelebspfpd = "lib/le/bs/p/fpd"
-TUNE_FEATURES_tune-microblazelebspfpd = "microblaze barrel-shift pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebspfpd = "${TUNE_PKGARCH}"
-
-
-# le/bs/p/m/fpd
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblebspmfpd = "microblazelebspmfpd"
-
-AVAILTUNES += "microblazelebspmfpd"
-BASE_LIB_tune-microblazelebspmfpd = "lib/le/bs/p/m/fpd"
-TUNE_FEATURES_tune-microblazelebspmfpd = "microblaze barrel-shift pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebspmfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift
-DEFAULTTUNE_virtclass-multilib-libmblem64bs = "microblazele64bs"
-
-AVAILTUNES += "microblazele64bs"
-BASE_LIB_tune-microblazele64bs = "lib/le/m64/bs"
-TUNE_FEATURES_tune-microblazele64bs = "microblaze 64-bit barrel-shift"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bs = "${TUNE_PKGARCH}"
-
-
-# le/m64/p
-# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmblem64p = "microblazele64p"
-
-AVAILTUNES += "microblazele64p"
-BASE_LIB_tune-microblazele64p = "lib/le/m64/p"
-TUNE_FEATURES_tune-microblazele64p = "microblaze 64-bit pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64p = "${TUNE_PKGARCH}"
-
-
-# le/m64/m
-# CFLAGS: -mlittle-endian -m64 -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblem64m = "microblazele64m"
-
-AVAILTUNES += "microblazele64m"
-BASE_LIB_tune-microblazele64m = "lib/le/m64/m"
-TUNE_FEATURES_tune-microblazele64m = "microblaze 64-bit multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64m = "${TUNE_PKGARCH}"
-
-
-# le/m64/fpd
-# CFLAGS: -mlittle-endian -m64 -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64fpd = "microblazele64fpd"
-
-AVAILTUNES += "microblazele64fpd"
-BASE_LIB_tune-microblazele64fpd = "lib/le/m64/fpd"
-TUNE_FEATURES_tune-microblazele64fpd = "microblaze 64-bit fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64fpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/m/fpd
-# CFLAGS: -mlittle-endian -m64 -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64mfpd = "microblazele64mfpd"
-
-AVAILTUNES += "microblazele64mfpd"
-BASE_LIB_tune-microblazele64mfpd = "lib/le/m64/m/fpd"
-TUNE_FEATURES_tune-microblazele64mfpd = "microblaze 64-bit multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64mfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/p/m
-# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblem64pm = "microblazele64pm"
-
-AVAILTUNES += "microblazele64pm"
-BASE_LIB_tune-microblazele64pm = "lib/le/m64/p/m"
-TUNE_FEATURES_tune-microblazele64pm = "microblaze 64-bit pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64pm = "${TUNE_PKGARCH}"
-
-
-# le/m64/p/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64pfpd = "microblazele64pfpd"
-
-AVAILTUNES += "microblazele64pfpd"
-BASE_LIB_tune-microblazele64pfpd = "lib/le/m64/p/fpd"
-TUNE_FEATURES_tune-microblazele64pfpd = "microblaze 64-bit pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64pfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/p/m/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64pmfpd = "microblazele64pmfpd"
-
-AVAILTUNES += "microblazele64pmfpd"
-BASE_LIB_tune-microblazele64pmfpd = "lib/le/m64/p/m/fpd"
-TUNE_FEATURES_tune-microblazele64pmfpd = "microblaze 64-bit pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64pmfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/p
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmblem64bsp = "microblazele64bsp"
-
-AVAILTUNES += "microblazele64bsp"
-BASE_LIB_tune-microblazele64bsp = "lib/le/m64/bs/p"
-TUNE_FEATURES_tune-microblazele64bsp = "microblaze 64-bit barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bsp = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/m
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblem64bsm = "microblazele64bsm"
-
-AVAILTUNES += "microblazele64bsm"
-BASE_LIB_tune-microblazele64bsm = "lib/le/m64/bs/m"
-TUNE_FEATURES_tune-microblazele64bsm = "microblaze 64-bit barrel-shift multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bsm = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64bsfpd = "microblazele64bsfpd"
-
-AVAILTUNES += "microblazele64bsfpd"
-BASE_LIB_tune-microblazele64bsfpd = "lib/le/m64/bs/fpd"
-TUNE_FEATURES_tune-microblazele64bsfpd = "microblaze 64-bit barrel-shift fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bsfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/m/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64bsmfpd = "microblazele64bsmfpd"
-
-AVAILTUNES += "microblazele64bsmfpd"
-BASE_LIB_tune-microblazele64bsmfpd = "lib/le/m64/bs/m/fpd"
-TUNE_FEATURES_tune-microblazele64bsmfpd = "microblaze 64-bit barrel-shift multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bsmfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/p/m
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblem64bspm = "microblazele64bspm"
-
-AVAILTUNES += "microblazele64bspm"
-BASE_LIB_tune-microblazele64bspm = "lib/le/m64/bs/p/m"
-TUNE_FEATURES_tune-microblazele64bspm = "microblaze 64-bit barrel-shift pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bspm = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/p/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64bspfpd = "microblazele64bspfpd"
-
-AVAILTUNES += "microblazele64bspfpd"
-BASE_LIB_tune-microblazele64bspfpd = "lib/le/m64/bs/p/fpd"
-TUNE_FEATURES_tune-microblazele64bspfpd = "microblaze 64-bit barrel-shift pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bspfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/p/m/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64bspmfpd = "microblazele64bspmfpd"
-
-AVAILTUNES += "microblazele64bspmfpd"
-BASE_LIB_tune-microblazele64bspmfpd = "lib/le/m64/bs/p/m/fpd"
-TUNE_FEATURES_tune-microblazele64bspmfpd = "microblaze 64-bit barrel-shift pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bspmfpd = "${TUNE_PKGARCH}"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf
deleted file mode 100644
index ed4e2acb6..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-#@TYPE: Machine
-#@NAME: microblazeel-v11.0-bs-cmp-mh-div-generic
-#@DESCRIPTION: microblazeel-v11.0-bs-cmp-mh-div
-
-require conf/machine/include/tune-microblaze.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-TUNE_FEATURES_tune-microblaze += "v11.0 barrel-shift pattern-compare reorder divide-hard multiply-high"
-
-MACHINE_FEATURES = ""
-
-KERNEL_IMAGETYPE = "linux.bin.ub"
-KERNEL_IMAGETYPES = ""
-
-SERIAL_CONSOLES ?= "115200;ttyS0"
-
-EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf
deleted file mode 100644
index f154197ac..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-#@TYPE: Machine
-#@NAME: microblazeel-v11.0-bs-cmp-ml-generic
-#@DESCRIPTION: microblazeel-v11.0-bs-cmp-ml
-
-require conf/machine/include/tune-microblaze.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-TUNE_FEATURES_tune-microblaze += "v11.0 barrel-shift reorder pattern-compare multiply-low"
-
-MACHINE_FEATURES = ""
-
-KERNEL_IMAGETYPE = "linux.bin.ub"
-KERNEL_IMAGETYPES = ""
-
-SERIAL_CONSOLES ?= "115200;ttyS0"
-
-EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
deleted file mode 100644
index c531dbb2e..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-#@TYPE: Machine
-#@NAME: microzed-zynq7
-#@DESCRIPTION: Machine support for microZed. (http://www.microzed.org/)
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "ext2 vfat usbhost"
-
-# u-boot configuration
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-UBOOT_ELF = "u-boot"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-KERNEL_DEVICETREE = "zynq-microzed.dtb"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- "
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf
deleted file mode 100644
index 3e5d623fd..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-#@TYPE: Machine
-#@NAME: ml605-qemu-microblazeel
-#@DESCRIPTION: MicroBlaze QEMU machine support ('petalogix-ml605' model)
-
-require conf/machine/include/tune-microblaze.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-TUNE_FEATURES_tune-microblaze += "v8.50 barrel-shift reorder pattern-compare divide-hard multiply-high fpu-hard"
-
-MACHINE_FEATURES = ""
-
-USE_VT = ""
-SERIAL_CONSOLES ?= "115200;ttyS0"
-
-KERNEL_IMAGETYPE ?= "linux.bin.ub"
-
-# Use the networking setup from qemuarm
-MACHINEOVERRIDES_prepend_pn-init-ifupdown = "qemuall:"
-FILESOVERRIDES_append_pn-init-ifupdown = ":qemuarm"
-
-# This machine is a targeting a QEMU model, runqemu setup:
-QB_MEM = "-m 256"
-QB_MACHINE = "-machine petalogix-ml605"
-QB_OPT_APPEND = "-nographic -serial mon:stdio"
-QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
deleted file mode 100644
index 17e83334b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-#@TYPE: Machine
-#@NAME: picozed-zynq7
-#@DESCRIPTION: Machine support for picoZed. (http://www.picozed.org/)
-#
-# Note: This machine configuration is intended as a generic config for
-# the picozed SOM. It also covers the multiple SKUs for the picoZed
-# including 7010, 7020, 7015 and 7030.
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "ext2 vfat usbhost usbgadget"
-
-# u-boot configuration
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-UBOOT_ELF = "u-boot"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- "
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf
deleted file mode 100644
index 8bccfde29..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf
+++ /dev/null
@@ -1,40 +0,0 @@
-#@TYPE: Machine
-#@NAME: qemu-zynq7
-#@DESCRIPTION: Zynq QEMU machine support ('xilinx-zynq-a9' model)
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "ext2 vfat"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-HDF_MACHINE = "zc702-zynq7"
-
-# Use the networking setup from qemuarm
-MACHINEOVERRIDES_prepend_pn-init-ifupdown = "qemuall:"
-FILESOVERRIDES_append_pn-init-ifupdown = ":qemuarm"
-
-QB_MEM = "-m 1024"
-QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic"
-QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage"
-
-QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
-QB_DEFAULT_FSTYPE = "cpio.gz.u-boot"
-QB_DTB = "system.dtb"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND = " \
- -nographic -serial null -serial mon:stdio \
- -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-qemu-zynq7.cpio.gz.u-boot \
- -gdb tcp::9000 \
- -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \
- -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \
- -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \
- -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \
- -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf
deleted file mode 100644
index 1ce632910..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-#@TYPE: Machine
-#@NAME: s3adsp1800-qemu-microblazeeb
-#@DESCRIPTION: MicroBlaze QEMU machine support ('petalogix-s3adsp1800' model)
-
-require conf/machine/include/tune-microblaze.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-TUNE_FEATURES_tune-microblaze += "v8.00 bigendian barrel-shift pattern-compare multiply-low"
-
-MACHINE_FEATURES = ""
-
-USE_VT = ""
-SERIAL_CONSOLES ?= "115200;ttyUL0"
-
-KERNEL_IMAGETYPE ?= "linux.bin.ub"
-
-# This machine is a targeting a QEMU model, runqemu setup:
-QB_MEM = "-m 256"
-QB_MACHINE = "-machine petalogix-s3adsp1800"
-QB_OPT_APPEND = "-nographic -serial mon:stdio"
-QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/system-zcu102.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/system-zcu102.conf
deleted file mode 100644
index 5d3bbd286..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/system-zcu102.conf
+++ /dev/null
@@ -1,61 +0,0 @@
-#@TYPE: Machine
-#@NAME: system-zcu102
-#@DESCRIPTION: Machine supporting the architectures in the ZCU102 evaluation board.
-
-# This machine sets up a build for a heterogeneous architecture board.
-# In this specific case, this refers to a zcu102-zynqmp board, which
-# should build artifacts for the hard microblaze architecture, and the
-# cortex-a53.
-
-# This is meant to be used as a base case and adapting it to
-# other boards should be fairly simple.
-
-# To build a full system, simply invoke the command:
-# $ bitbake <image>
-# which is analogous to
-# $ bitbake mc::<image>
-# Where image can be core-image-minimal for example
-# If a user wants to build a package for a certain architecture
-# a similar command can be invoked, just changing the parameter
-# between : and : to the desired multiconfig from one of the
-# declared values below.
-# For example, to build the xilstandalone library for the microblaze:
-# $ bitbake mc:pmumc:xilstandalone
-# or to build fsbl for cortexa53:
-# $ bitbake mc:fsblmc:zyqmp-fsbl
-
-
-# These artifacts are the pmu firmware along with the fsbl and the
-# Linux OS respectively
-
-# Keep in mind that there would still be a wiring required to merge
-# the artifacts from their respective deploy directories using bootgen.
-BBMULTICONFIG = "fsblmc pmumc"
-
-# The following should be changed to the machine which corresponds to
-# the architecture of a specific device, in this case cortexa53
-# But there are several hard coded expected values from several
-# repos, e.g. linux-xlnx which expects a defconfig depending on
-# the machine that is being used, as a TEMPORARY solution and
-# to prove how multiconfig can be used to build a full system
-# with heterogeneous architectures we'll use MACHINE=zcu102-zynqmp.
-
-# The downside is that this stills needs xsct and would technically
-# build two pmu firmwrares and two fsbls, one coming from our
-# multiconfig and one that uses xsct respectively, once the values
-# mentioned above are fixed, this should work properly with:
-# MACHINE = "cortexa53-zynqmp"
-
-MACHINE = "zcu102-zynqmp"
-require conf/machine/${MACHINE}.conf
-
-# Use the same format for TMPDIR as in the other multiconfigs so its less confusing.
-TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${TCLIBC}"
-
-# Create dependencies for Linux only, other multiconfig applications,
-# can be built separately, e.g. bitbake mc:pmumc:pmufw
-# in this case, linux cannot, also worth mentioning that these should
-# eventually be set on a recipe level and would probably be useful to
-# create a chain of dependencies: pmufw<-fsbl<-Linux
-do_image[mcdepends] += "multiconfig::fsblmc:zynqmp-fsbl:do_deploy"
-do_image[mcdepends] += "multiconfig::pmumc:pmufw:do_deploy" \ No newline at end of file
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/ultra96-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/ultra96-zynqmp.conf
deleted file mode 100644
index f31c10cf2..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/ultra96-zynqmp.conf
+++ /dev/null
@@ -1,38 +0,0 @@
-#@TYPE: Machine
-#@NAME: ultra96-zynqmp
-#@DESCRIPTION: Machine support for Ultra96 Evaluation Board.
-#
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/xilinx-board.inc
-
-BOARD = "ultra96"
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost usbgadget wifi bluetooth mipi"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu100-revC.dtb"
-
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "linux-firmware-wl18xx"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/v350-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/v350-versal.conf
deleted file mode 100644
index 6741e2f32..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/v350-versal.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-#@TYPE: Machine
-#@NAME: v350-versal
-##@DESCRIPTION: Machine support for v350 versal.
-
-require conf/machine/include/soc-versal.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
-
-SERIAL_CONSOLES ?= "115200;ttyAMA0"
-
-EXTRA_IMAGEDEPENDS += " \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- virtual/psm-firmware \
- virtual/plm \
- u-boot-zynq-scr \
-"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- Image \
- boot.scr \
-"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/vc-p-a2197-00-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/vc-p-a2197-00-versal.conf
deleted file mode 100644
index bbc068874..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/vc-p-a2197-00-versal.conf
+++ /dev/null
@@ -1,72 +0,0 @@
-#@TYPE: Machine
-#@NAME: vc-p-a2197-versal
-##@DESCRIPTION: Machine support for vc-p-a2197 versal .
-
-require conf/machine/include/soc-versal.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-SOC_VARIANT = "-ai-core"
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
-
-SERIAL_CONSOLES ?= "115200;ttyAMA0"
-
-# Default SD image build onfiguration, use qemu-sd to pad
-IMAGE_CLASSES += "image-types-xilinx-qemu"
-IMAGE_FSTYPES += "wic.qemu-sd"
-WKS_FILES ?= "sdimage-bootpart.wks"
-
-EXTRA_IMAGEDEPENDS += " \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- virtual/psm-firmware \
- virtual/plm \
- u-boot-zynq-scr \
- qemu-devicetrees \
- virtual/cdo \
-"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- system.dtb \
- Image \
- boot.scr \
-"
-# This machine has a QEMU model, runqemu setup:
-QB_MEM = "-m 8G"
-QB_DEFAULT_KERNEL = "none"
-QB_NETWORK_DEVICE = ""
-QB_KERNEL_CMDLINE_APPEND ?= ""
-QB_NET = "none"
-
-QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Use booti 80000 6000000 4000000 to launch
-QB_OPT_APPEND ?= " -serial null -serial null -serial mon:stdio -display none"
-
-QB_OPT_APPEND_append_qemuboot-xilinx = " \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-ps-vc-p-a2197-00.dtb \
- -display none \
- -net nic -net user,tftp=${DEPLOY_DIR_IMAGE} \
- "
-# PLM instance args
-QB_PLM_OPT = " \
- -M microblaze-fdt \
- -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \
- -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \
- -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \
- -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \
- -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \
- -device loader,addr=0xF1110624,data=0x0,data-len=4 \
- -device loader,addr=0xF1110620,data=0x1,data-len=4 \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-pmc-vc-p-a2197-00.dtb \
- -display none \
- "
-QB_OPT_APPEND_append_qemuboot-xilinx = " -plm-args '${QB_PLM_OPT}'"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/vck-sc-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/vck-sc-zynqmp.conf
deleted file mode 100644
index 6a453a2cb..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/vck-sc-zynqmp.conf
+++ /dev/null
@@ -1,32 +0,0 @@
-#@TYPE: Machine
-#@NAME: vck-sc-zynqmp
-##@DESCRIPTION: Machine support for vck190 system controller.
-
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE ?= "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-# PMU instance args
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
-"
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
-"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/vck190-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/vck190-versal.conf
deleted file mode 100644
index 1ab6a1c75..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/vck190-versal.conf
+++ /dev/null
@@ -1,78 +0,0 @@
-#@TYPE: Machine
-#@NAME: vck-versal
-##@DESCRIPTION: Machine support for vck-versal .
-
-require conf/machine/include/soc-versal.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-SOC_VARIANT = "-ai-core"
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
-
-SERIAL_CONSOLES ?= "115200;ttyAMA0"
-
-# Default SD image build onfiguration, use qemu-sd to pad
-IMAGE_CLASSES += "image-types-xilinx-qemu"
-IMAGE_FSTYPES += "wic.qemu-sd"
-WKS_FILES ?= "sdimage-bootpart.wks"
-
-EXTRA_IMAGEDEPENDS += " \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- virtual/psm-firmware \
- virtual/plm \
- u-boot-zynq-scr \
- qemu-devicetrees \
- virtual/cdo \
-"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- Image \
- boot.scr \
-"
-PLM_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb"
-PLM_IMAGE_NAME ?= "plm-versal-mb"
-PSM_FIRMWARE_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb"
-PSM_FIRMWARE_IMAGE_NAME ?= "psm-firmware-versal-mb"
-
-
-# This machine has a QEMU model, runqemu setup:
-QB_MEM = "-m 8G"
-QB_DEFAULT_KERNEL = "none"
-QB_NETWORK_DEVICE = ""
-QB_KERNEL_CMDLINE_APPEND ?= ""
-QB_NET = "none"
-
-QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Use booti 80000 6000000 4000000 to launch
-QB_OPT_APPEND ?= " -serial null -serial null -serial mon:stdio -display none"
-
-QB_OPT_APPEND_append_qemuboot-xilinx = " \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-ps-vc-p-a2197-00.dtb \
- -display none \
- -net nic -net user,tftp=${DEPLOY_DIR_IMAGE} \
- "
-
-# PLM instance args
-QB_PLM_OPT = " \
- -M microblaze-fdt \
- -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \
- -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \
- -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \
- -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \
- -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \
- -device loader,addr=0xF1110624,data=0x0,data-len=4 \
- -device loader,addr=0xF1110620,data=0x1,data-len=4 \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-pmc-vc-p-a2197-00.dtb \
- -display none \
- "
-QB_OPT_APPEND_append_qemuboot-xilinx = " -plm-args '${QB_PLM_OPT}'"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/vck5000-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/vck5000-versal.conf
deleted file mode 100644
index 97fb9cc78..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/vck5000-versal.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-#@TYPE: Machine
-#@NAME: vck500-versal
-##@DESCRIPTION: Machine support for vck5000 versal.
-
-require conf/machine/include/soc-versal.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
-
-SERIAL_CONSOLES ?= "115200;ttyAMA0"
-
-EXTRA_IMAGEDEPENDS += " \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- virtual/psm-firmware \
- virtual/plm \
- u-boot-zynq-scr \
-"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- Image \
- boot.scr \
-"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-generic.conf
deleted file mode 100644
index dd6966a0a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-generic.conf
+++ /dev/null
@@ -1,83 +0,0 @@
-#@TYPE: Machine
-#@NAME: Generic versal
-#@DESCRIPTION: versal devices
-
-require conf/machine/include/soc-versal.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-require conf/machine/include/xilinx-board.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
-
-UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
-
-SERIAL_CONSOLES ?= "115200;ttyAMA0"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-# Default SD image build onfiguration, use qemu-sd to pad
-IMAGE_CLASSES += "image-types-xilinx-qemu"
-IMAGE_FSTYPES += "wic.qemu-sd"
-WKS_FILES ?= "sdimage-bootpart.wks"
-
-EXTRA_IMAGEDEPENDS += " \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- virtual/psm-firmware \
- virtual/plm \
- u-boot-zynq-scr \
- qemu-devicetrees \
- virtual/cdo \
-"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- Image \
- boot.scr \
-"
-PLM_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb"
-PLM_IMAGE_NAME ?= "plm-versal-mb"
-PSM_FIRMWARE_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb"
-PSM_FIRMWARE_IMAGE_NAME ?= "psm-firmware-versal-mb"
-
-# We use the vc-p-a2197-00-versal DTB from the external-hdf.
-HDF_MACHINE = "vc-p-a2197-00-versal"
-
-# This machine has a QEMU model, runqemu setup:
-QB_MEM = "-m 8G"
-QB_DEFAULT_KERNEL = "none"
-QB_NETWORK_DEVICE = ""
-QB_KERNEL_CMDLINE_APPEND ?= ""
-QB_NET = "none"
-
-QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Use booti 80000 6000000 4000000 to launch
-QB_OPT_APPEND ?= " -serial null -serial null -serial mon:stdio -display none"
-
-QB_OPT_APPEND_append_qemuboot-xilinx = " \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-ps-vc-p-a2197-00.dtb \
- -display none \
- -net nic -net user,tftp=${DEPLOY_DIR_IMAGE} \
- "
-
-# PLM instance args
-QB_PLM_OPT = " \
- -M microblaze-fdt \
- -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \
- -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \
- -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \
- -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \
- -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \
- -device loader,addr=0xF1110624,data=0x0,data-len=4 \
- -device loader,addr=0xF1110620,data=0x1,data-len=4 \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-pmc-vc-p-a2197-00.dtb \
- -display none \
- "
-QB_OPT_APPEND_append_qemuboot-xilinx = " -plm-args '${QB_PLM_OPT}'"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-mb.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-mb.conf
deleted file mode 100644
index f40b8bca8..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/versal-mb.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFAULTTUNE ?= "microblaze"
-
-require conf/machine/include/soc-versal.inc
-
-# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities
-AVAILTUNES += "microblaze"
-TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"
-
-LINKER_HASH_STYLE_microblaze = ""
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/vmk180-versal.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/vmk180-versal.conf
deleted file mode 100644
index e9044ba7f..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/vmk180-versal.conf
+++ /dev/null
@@ -1,70 +0,0 @@
-#@TYPE: Machine
-#@NAME: vmk180-versal
-##@DESCRIPTION: Machine support for vmk180-versal .
-
-require conf/machine/include/soc-versal.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
-
-SERIAL_CONSOLES ?= "115200;ttyAMA0"
-
-IMAGE_CLASSES += "image-types-xilinx-qemu"
-IMAGE_FSTYPES += "wic.qemu-sd"
-WKS_FILES ?= "sdimage-bootpart.wks"
-
-EXTRA_IMAGEDEPENDS += " \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- virtual/psm-firmware \
- virtual/plm \
- u-boot-zynq-scr \
- qemu-devicetrees \
- virtual/cdo \
-"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- Image \
- boot.scr \
-"
-
-# This machine has a QEMU model, runqemu setup:
-QB_MEM = "-m 8G"
-QB_DEFAULT_KERNEL = "none"
-QB_NETWORK_DEVICE = ""
-QB_KERNEL_CMDLINE_APPEND ?= ""
-QB_NET = "none"
-
-QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Use booti 80000 6000000 4000000 to launch
-QB_OPT_APPEND ?= " -serial null -serial null -serial mon:stdio -display none"
-
-QB_OPT_APPEND_append_qemuboot-xilinx = " \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-ps-vc-p-a2197-00.dtb \
- -display none \
- -net nic -net user,tftp=${DEPLOY_DIR_IMAGE} \
- "
-
-# PLM instance args
-QB_PLM_OPT = " \
- -M microblaze-fdt \
- -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \
- -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \
- -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \
- -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \
- -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \
- -device loader,addr=0xF1110624,data=0x0,data-len=4 \
- -device loader,addr=0xF1110620,data=0x1,data-len=4 \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-pmc-vc-p-a2197-00.dtb \
- -display none \
- "
-QB_OPT_APPEND_append_qemuboot-xilinx = " -plm-args '${QB_PLM_OPT}'"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf
deleted file mode 100644
index 3bdb215d0..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-#@TYPE: Machine
-#@NAME: zc1254-zynqmp
-#@DESCRIPTION: Machine support for ZC1254 Evaluation Board.
-#
-
-SOC_VARIANT ?= "dr"
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-
-KERNEL_DEVICETREE = "xilinx/zynqmp-zc1254-revA.dtb"
-
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf
deleted file mode 100644
index edd3cb2d4..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf
+++ /dev/null
@@ -1,58 +0,0 @@
-#@TYPE: Machine
-#@NAME: zc702-zynq7
-#@DESCRIPTION: Machine support for ZC702 Evaluation Board.
-#
-# For details on the Evaluation board:
-# http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm
-# For documentation and design files for the ZC702:
-# http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/zynq-7000_soc_boards_and_kits/zynq-7000_soc_zc702_evaluation_kit.html
-# For the FSBL 'zynq_fsbl_0.elf' refer to UG873 and the associated design files.
-#
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-# u-boot configuration
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-KERNEL_DEVICETREE = "zynq-zc702.dtb"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- boot.scr \
- "
-
-QB_MEM = "-m 1024"
-QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic"
-QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage"
-
-QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
-QB_DEFAULT_FSTYPE = "cpio.gz.u-boot"
-QB_DTB = "system.dtb"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND = " \
- -nographic -serial null -serial mon:stdio \
- -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-zc702-zynq7.cpio.gz.u-boot \
- -gdb tcp::9000 \
- -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \
- -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \
- -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \
- -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \
- -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf
deleted file mode 100644
index 10b5e29c9..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf
+++ /dev/null
@@ -1,58 +0,0 @@
-#@TYPE: Machine
-#@NAME: zc706-zynq7
-#@DESCRIPTION: Machine support for ZC706 Evaluation Board.
-#
-# For details on the Evaluation board:
-# http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm
-# For documentation and design files for the ZC702:
-# http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/zynq-7000_soc_boards_and_kits/zynq-7000_soc_zc706_evaluation_kit.html
-# For the FSBL 'zynq_fsbl_0.elf' refer to UG873 and the associated design files.
-#
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost usbgadget"
-
-# u-boot configuration
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-KERNEL_DEVICETREE = "zynq-zc706.dtb"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- boot.scr \
- "
-
-QB_MEM = "-m 1024"
-QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic"
-QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage"
-
-QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
-QB_DEFAULT_FSTYPE = "cpio.gz.u-boot"
-QB_DTB = "system.dtb"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND = " \
- -nographic -serial null -serial mon:stdio \
- -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-zc706-zynq7.cpio.gz.u-boot \
- -gdb tcp::9000 \
- -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \
- -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \
- -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \
- -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \
- -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
deleted file mode 100644
index 2c890cfb8..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
+++ /dev/null
@@ -1,74 +0,0 @@
-#@TYPE: Machine
-#@NAME: zcu102-zynqmp
-#@DESCRIPTION: Machine support for ZCU102 Evaluation Board.
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-# Default SD image build onfiguration, use qemu-sd to pad
-IMAGE_CLASSES += "image-types-xilinx-qemu"
-IMAGE_FSTYPES += "wic.qemu-sd"
-WKS_FILES ?= "sdimage-bootpart.wks"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu102-rev1.0.dtb"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- qemu-devicetrees \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- boot.scr \
- "
-
-# This machine has a QEMU model, runqemu setup:
-QB_MEM = "-m 4096"
-QB_OPT_APPEND ?= "-nographic -serial mon:stdio -serial null"
-QB_NETWORK_DEVICE = "-net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND_append_qemuboot-xilinx = " \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zcu102-arm.dtb \
- ${@qemu_zynqmp_unhalt(d, True)} \
- -device loader,file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf,cpu-num=0 \
- -device loader,file=${DEPLOY_DIR_IMAGE}/u-boot.elf \
- -device loader,file=${DEPLOY_DIR_IMAGE}/system.dtb,addr=0x100000 \
- "
-
-# Attach the rootfs disk image to the second SD interface of QEMU (which is SD0)
-QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# PMU instance args
-PMU_ROM ?= "${DEPLOY_DIR_IMAGE}/pmu-rom.elf"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${@ '${TOPDIR}/pmutmp/deploy/images/microblaze-pmu' if d.getVar('BBMULTICONFIG') == 'pmu' else '${TOPDIR}/tmp/deploy/images/${MACHINE}'}"
-PMU_FIRMWARE_IMAGE_NAME ?= "${@ 'pmu-firmware-microblaze-pmu' if d.getVar('BBMULTICONFIG') == 'pmu' else 'pmu-zcu102-zynqmp'}"
-
-QB_PMU_OPT = " \
- -M microblaze-fdt \
- -display none \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zynqmp-pmu.dtb \
- -kernel ${PMU_ROM} \
- -device loader,file=${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf \
- -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 \
- -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 \
- "
-QB_OPT_APPEND_append_qemuboot-xilinx = " -pmu-args '${QB_PMU_OPT}'"
-
-do_write_qemuboot_conf[depends] += "u-boot-zynq-uenv:do_deploy"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf
deleted file mode 100644
index 17a677fe3..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf
+++ /dev/null
@@ -1,38 +0,0 @@
-#@TYPE: Machine
-#@NAME: zcu104-zynqmp
-#@DESCRIPTION: Machine support for ZCU104 Evaluation Board.
-#
-
-SOC_VARIANT ?= "ev"
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu104-revC.dtb"
-
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
-
-MACHINE_HWCODECS = "libomxil-xlnx"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
deleted file mode 100644
index 27ab2a98f..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
+++ /dev/null
@@ -1,36 +0,0 @@
-#@TYPE: Machine
-#@NAME: zcu106-zynqmp
-#@DESCRIPTION: Machine support for ZCU106 Evaluation Board.
-
-SOC_VARIANT ?= "ev"
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu106-revA.dtb"
-
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
-
-MACHINE_HWCODECS = "libomxil-xlnx"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf
deleted file mode 100644
index 24e96ad64..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-#@TYPE: Machine
-#@NAME: zcu111-zynqmp
-#@DESCRIPTION: Machine support for ZCU111 Evaluation Board.
-#
-
-SOC_VARIANT ?= "dr"
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu111-revA.dtb"
-
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1275-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1275-zynqmp.conf
deleted file mode 100644
index 2ac4004fc..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1275-zynqmp.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-#@TYPE: Machine
-#@NAME: zcu1275-zynqmp
-#@DESCRIPTION: Machine support for ZCU1275 Evaluation Board.
-#
-
-SOC_VARIANT ?= "dr"
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu1275-revB.dtb"
-
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf
deleted file mode 100644
index d7d41d4d8..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-#@TYPE: Machine
-#@NAME: zcu1285-zynqmp
-#@DESCRIPTION: Machine support for ZCU1285 Evaluation Board.
-#
-
-SOC_VARIANT ?= "dr"
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu1285-revA.dtb"
-
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf
deleted file mode 100644
index c69b5f35b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf
+++ /dev/null
@@ -1,33 +0,0 @@
-#@TYPE: Machine
-#@NAME: zcu208-zynqmp
-#@DESCRIPTION: Machine support for ZCU208 Evaluation Board.
-#
-
-SOC_VARIANT ?= "dr"
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf
deleted file mode 100644
index 4f07e0ea8..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf
+++ /dev/null
@@ -1,33 +0,0 @@
-#@TYPE: Machine
-#@NAME: zcu216-zynqmp
-#@DESCRIPTION: Machine support for ZCU216 Evaluation Board.
-#
-
-SOC_VARIANT ?= "dr"
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
deleted file mode 100644
index d731b6bb3..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
+++ /dev/null
@@ -1,34 +0,0 @@
-#@TYPE: Machine
-#@NAME: zedboard-zynq7
-#@DESCRIPTION: Machine support for ZedBoard. (http://www.zedboard.org/)
-#
-# For details on the Evaluation board:
-# http://www.zedboard.org/content/overview
-# For design files (including 'zynq_fsbl_0.elf') for the ZedBoard:
-# http://www.zedboard.org/reference-designs-categories/zynq-concepts-tools-and-techniques-zedboard
-#
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-# u-boot configuration
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-KERNEL_DEVICETREE = "zynq-zed.dtb"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- boot.scr \
- "
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
deleted file mode 100644
index 898954e9e..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
+++ /dev/null
@@ -1,40 +0,0 @@
-#@TYPE: Machine
-#@NAME: zybo-linux-bd-zynq7
-#@DESCRIPTION: Machine support for zybo-linux-bd project.
-#
-# generated base on ZYBO linux-bd project
-#
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
-
-MACHINE_FEATURES = "ext2 vfat usbhost usbgadget keyboard screen alsa sdio"
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-FORCE_PLATFORM_INIT = "1"
-UBOOT_ELF = "u-boot"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bitstream \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- bitstream \
- uEnv.txt \
- "
-
-KERNEL_FEATURES += " \
- bsp/xilinx/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.scc \
- features/xilinx/v4l2/v4l2.scc \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
deleted file mode 100644
index d7af056a3..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-#@TYPE: Machine
-#@NAME: zybo-zynq7
-#@DESCRIPTION: Machine support for ZYBO.
-#
-# For details on the ZYBO board:
-# https://www.digilentinc.com/Products/Detail.cfm?Prod=ZYBO
-#
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "ext2 vfat usbhost usbgadget"
-
-# u-boot configuration
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-UBOOT_ELF = "u-boot"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-KERNEL_DEVICETREE = "zynq-zybo.dtb"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- "
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf
deleted file mode 100644
index be0f701cb..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf
+++ /dev/null
@@ -1,41 +0,0 @@
-#@TYPE: Machine
-#@NAME: Generic Zynq
-#@DESCRIPTION: Generic Zynq Device
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-require conf/machine/include/xilinx-board.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost usbgadget"
-
-EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
-
-UBOOT_MACHINE ?= "xilinx_zynq_virt_defconfig"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-HDF_MACHINE = "zc702-zynq7"
-
-QB_MEM = "-m 1024"
-QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic"
-QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage"
-
-QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
-QB_DEFAULT_FSTYPE = "cpio.gz.u-boot"
-QB_DTB = "system.dtb"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND = " \
- -nographic -serial null -serial mon:stdio \
- -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-zynq-generic.cpio.gz.u-boot \
- -gdb tcp::9000 \
- -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \
- -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \
- -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \
- -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \
- -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf
deleted file mode 100644
index 9c7dbe839..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf
+++ /dev/null
@@ -1,84 +0,0 @@
-#@TYPE: Machine
-#@NAME: Generic zynqmp
-#@DESCRIPTION: zynqmp devices
-
-# CG is the lowest common demoninator, so use this by default
-SOC_VARIANT ?= "cg"
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-require conf/machine/include/xilinx-board.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-# Default SD image build onfiguration, use qemu-sd to pad
-IMAGE_CLASSES += "image-types-xilinx-qemu"
-IMAGE_FSTYPES += "wic.qemu-sd"
-WKS_FILES ?= "sdimage-bootpart.wks"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-# We need a generic one that works with QEMU...
-HDF_MACHINE = "zcu102-zynqmp"
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu102-rev1.0.dtb"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- qemu-devicetrees \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- boot.scr \
- "
-
-# This machine has a QEMU model, runqemu setup:
-QB_MEM = "-m 4096"
-QB_OPT_APPEND ?= "-nographic -serial mon:stdio -serial null"
-QB_NETWORK_DEVICE = "-net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND_append_qemuboot-xilinx = " \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zcu102-arm.dtb \
- ${@qemu_zynqmp_unhalt(d, True)} \
- -device loader,file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf,cpu-num=0 \
- -device loader,file=${DEPLOY_DIR_IMAGE}/u-boot.elf \
- -device loader,file=${DEPLOY_DIR_IMAGE}/system.dtb,addr=0x100000 \
- "
-
-# Attach the rootfs disk image to the second SD interface of QEMU (which is SD0)
-QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# PMU instance args
-PMU_ROM ?= "${DEPLOY_DIR_IMAGE}/pmu-rom.elf"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${@ '${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu' if d.getVar('BMULTICONFIG') == 'pmu' else '${TOPDIR}/tmp/deploy/images/${MACHINE}'}"
-PMU_FIRMWARE_IMAGE_NAME ?= "${@ 'pmu-firmware-zynqmp-pmu' if d.getVar('BBMULTICONFIG') == 'pmu' else 'pmu-${MACHINE}'}"
-
-QB_PMU_OPT = " \
- -M microblaze-fdt \
- -display none \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zynqmp-pmu.dtb \
- -kernel ${PMU_ROM} \
- -device loader,file=${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf \
- -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 \
- -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 \
- "
-QB_OPT_APPEND_append_qemuboot-xilinx = " -pmu-args '${QB_PMU_OPT}'"
-
-do_write_qemuboot_conf[depends] += "u-boot-zynq-uenv:do_deploy"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/fsblmc.conf b/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/fsblmc.conf
deleted file mode 100644
index 87bb56a8c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/fsblmc.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-MACHINE = "cortexa53-zynqmp"
-DISTRO = "xilinx-standalone"
-TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${TCLIBC}"
-
-# These should be temporary until the dtg repo has the correct design
-HDF_BASE ?= "file://"
-HDF_PATH ?= "${TOPDIR}/system.dsa"
-HDF_EXT ?= "dsa"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/pmumc.conf b/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/pmumc.conf
deleted file mode 100644
index 756ea94aa..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/multiconfig/pmumc.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-MACHINE = "microblaze-pmu"
-DISTRO = "xilinx-standalone"
-TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${TCLIBC}"
-
-# These should be temporary until the dtg repo has the correct design
-HDF_BASE ?= "file://"
-HDF_PATH ?= "${TOPDIR}/system.dsa"
-HDF_EXT ?= "dsa"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
deleted file mode 100644
index b086f8ca2..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
+++ /dev/null
@@ -1,97 +0,0 @@
-DESCRIPTION = "ARM Trusted Firmware"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
-
-PROVIDES = "virtual/arm-trusted-firmware"
-
-inherit deploy
-
-DEPENDS += "u-boot-mkimage-native"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-SYSROOT_DIRS += "/boot"
-
-XILINX_RELEASE_VERSION ?= ""
-ATF_VERSION ?= "2.2"
-ATF_VERSION_EXTENSION ?= "-xilinx-${XILINX_RELEASE_VERSION}"
-PV = "${ATF_VERSION}${ATF_VERSION_EXTENSION}+git${SRCPV}"
-
-BRANCH ?= ""
-REPO ?= "git://github.com/Xilinx/arm-trusted-firmware.git;protocol=https"
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-ATF_BASE_NAME ?= "${PN}-${PKGE}-${PKGV}-${PKGR}${IMAGE_VERSION_SUFFIX}"
-
-COMPATIBLE_MACHINE ?= "^$"
-COMPATIBLE_MACHINE_zynqmp = ".*"
-COMPATIBLE_MACHINE_versal = ".*"
-
-PLATFORM_zynqmp = "zynqmp"
-PLATFORM_versal = "versal"
-
-# requires CROSS_COMPILE set by hand as there is no configure script
-export CROSS_COMPILE="${TARGET_PREFIX}"
-
-# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is a standalone application
-CFLAGS[unexport] = "1"
-LDFLAGS[unexport] = "1"
-AS[unexport] = "1"
-LD[unexport] = "1"
-
-ATF_CONSOLE ?= ""
-ATF_CONSOLE_zynqmp = "cadence"
-ATF_CONSOLE_versal ?= "pl011"
-
-DEBUG_ATF ?= ""
-DEBUG_ATF_versal ?= "1"
-
-EXTRA_OEMAKE_zynqmp_append = "${@' ZYNQMP_CONSOLE=${ATF_CONSOLE}' if d.getVar('ATF_CONSOLE', True) != '' else ''}"
-EXTRA_OEMAKE_append_versal = "${@' VERSAL_CONSOLE=${ATF_CONSOLE}' if d.getVar('ATF_CONSOLE', True) != '' else ''}"
-EXTRA_OEMAKE_append = " ${@bb.utils.contains('DEBUG_ATF', '1', ' DEBUG=${DEBUG_ATF}', '', d)}"
-
-OUTPUT_DIR = "${@bb.utils.contains('DEBUG_ATF', '1', '${B}/${PLATFORM}/debug', '${B}/${PLATFORM}/release', d)}"
-
-ATF_MEM_BASE ?= ""
-ATF_MEM_SIZE ?= ""
-
-EXTRA_OEMAKE_zynqmp_append = "${@' ZYNQMP_ATF_MEM_BASE=${ATF_MEM_BASE}' if d.getVar('ATF_MEM_BASE', True) != '' else ''}"
-EXTRA_OEMAKE_zynqmp_append = "${@' ZYNQMP_ATF_MEM_SIZE=${ATF_MEM_SIZE}' if d.getVar('ATF_MEM_SIZE', True) != '' else ''}"
-
-EXTRA_OEMAKE_append_versal = "${@' VERSAL_ATF_MEM_BASE=${ATF_MEM_BASE}' if d.getVar('ATF_MEM_BASE', True) != '' else ''}"
-EXTRA_OEMAKE_append_versal = "${@' VERSAL_ATF_MEM_SIZE=${ATF_MEM_SIZE}' if d.getVar('ATF_MEM_SIZE', True) != '' else ''}"
-EXTRA_OEMAKE_append_vc-p-a2197-00-versal =" VERSAL_PLATFORM=silicon"
-
-do_configure() {
- oe_runmake clean -C ${S} BUILD_BASE=${B} PLAT=${PLATFORM}
-}
-
-do_compile() {
- oe_runmake -C ${S} BUILD_BASE=${B} PLAT=${PLATFORM} RESET_TO_BL31=1 bl31
-}
-
-do_install() {
- install -d ${D}/boot
- install -Dm 0644 ${OUTPUT_DIR}/bl31/bl31.elf ${D}/boot/${PN}-${SRCPV}.elf
-}
-
-do_deploy() {
- install -d ${DEPLOYDIR}
- install -m 0644 ${OUTPUT_DIR}/bl31/bl31.elf ${DEPLOYDIR}/${ATF_BASE_NAME}.elf
- ln -sf ${ATF_BASE_NAME}.elf ${DEPLOYDIR}/${PN}.elf
- install -m 0644 ${OUTPUT_DIR}/bl31.bin ${DEPLOYDIR}/${ATF_BASE_NAME}.bin
- ln -sf ${ATF_BASE_NAME}.bin ${DEPLOYDIR}/${PN}.bin
-
- # Get the entry point address from the elf.
- BL31_BASE_ADDR=$(${READELF} -h ${OUTPUT_DIR}/bl31/bl31.elf | egrep -m 1 -i "entry point.*?0x" | sed -r 's/.*?(0x.*?)/\1/g')
- mkimage -A arm64 -O arm-trusted-firmware -T kernel -C none \
- -a $BL31_BASE_ADDR -e $BL31_BASE_ADDR \
- -d ${OUTPUT_DIR}/bl31.bin ${DEPLOYDIR}/${ATF_BASE_NAME}.ub
- ln -sf ${ATF_BASE_NAME}.ub ${DEPLOYDIR}/${PN}.ub
- ln -sf ${ATF_BASE_NAME}.ub ${DEPLOYDIR}/atf-uboot.ub
-}
-addtask deploy before do_build after do_compile
-FILES_${PN} += "/boot/${PN}-${SRCPV}.elf"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2020.2.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2020.2.bb
deleted file mode 100644
index 201b6496b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2020.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-ATF_VERSION = "2.0"
-BRANCH ?= "xlnx_rebase_v2.2"
-SRCREV ?= "e6eea88b14aaf456c49f9c7e6747584224648cb9"
-
-include arm-trusted-firmware.inc
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/bootgen/bootgen_1.0.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/bootgen/bootgen_1.0.bb
deleted file mode 100644
index 887558d96..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/bootgen/bootgen_1.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Building and installing bootgen"
-DESCRIPTION = "Building and installing bootgen, a Xilinx tool that lets you stitch binary files together and generate device boot images"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d526b6d0807bf263b97da1da876f39b1"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "openssl"
-RDEPENDS_${PN} += "openssl"
-
-REPO ?= "git://github.com/Xilinx/bootgen.git;protocol=https"
-BRANCH ?= "master"
-SRCREV ?= "465e32423aa6ba2d71f51c4ae0602cfeb022af08"
-
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-EXTRA_OEMAKE += 'CROSS_COMPILER="${CXX}" -C ${S}'
-CXXFLAGS_append = " -std=c++0x"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install() {
- install -d ${D}${bindir}
- install -Dm 0755 ${S}/bootgen ${D}${bindir}
-}
-
-FILES_${PN} = "${bindir}/bootgen"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb
deleted file mode 100644
index 0ecb3aa3c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Xilinx BSP device trees"
-DESCRIPTION = "Xilinx BSP device trees from within layer."
-SECTION = "bsp"
-
-# the device trees from within the layer are licensed as MIT, kernel includes are GPL
-LICENSE = "MIT & GPLv2"
-LIC_FILES_CHKSUM = " \
- file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \
- file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
- "
-
-inherit devicetree
-
-DEPENDS += "python3-dtc-native"
-
-PROVIDES = "virtual/dtb"
-
-# common zynq include
-SRC_URI_append_zynq = " file://zynq-7000-qspi-dummy.dtsi"
-
-# device tree sources for the various machines
-COMPATIBLE_MACHINE_picozed-zynq7 = ".*"
-SRC_URI_append_picozed-zynq7 = " file://picozed-zynq7.dts"
-
-COMPATIBLE_MACHINE_qemu-zynq7 = ".*"
-SRC_URI_append_qemu-zynq7 = " file://qemu-zynq7.dts"
-
-COMPATIBLE_MACHINE_zybo-linux-bd-zynq7 = ".*"
-SRC_URI_append_zybo-linux-bd-zynq7 = " \
- file://zybo-linux-bd-zynq7.dts \
- file://pcw.dtsi \
- file://pl.dtsi \
- "
-
-COMPATIBLE_MACHINE_kc705-microblazeel = ".*"
-SRC_URI_append_kc705-microblazeel = " \
- file://kc705-microblazeel.dts \
- file://pl.dtsi \
- file://system-conf.dtsi \
- "
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/kc705-microblazeel.dts b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/kc705-microblazeel.dts
deleted file mode 100644
index 45e488c1d..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/kc705-microblazeel.dts
+++ /dev/null
@@ -1,56 +0,0 @@
-/dts-v1/;
-/include/ "pl.dtsi"
-/include/ "system-conf.dtsi"
-/ {
- hard-reset-gpios = <&reset_gpio 0 1>;
- aliases {
- ethernet0 = &axi_ethernet;
- i2c0 = &iic_main;
- serial0 = &rs232_uart;
- };
- memory {
- device_type = "memory";
- reg = <0x80000000 0x40000000>;
- };
-};
-
-&iic_main {
- i2cswitch@74 {
- compatible = "nxp,pca9548";
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0x74>;
- i2c@0 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0>;
- si570: clock-generator@5d {
- #clock-cells = <0>;
- compatible = "silabs,si570";
- temperature-stability = <50>;
- reg = <0x5d>;
- factory-fout = <156250000>;
- clock-frequency = <148500000>;
- };
- };
- i2c@3 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <3>;
- eeprom@54 {
- compatible = "at,24c08";
- reg = <0x54>;
- };
- };
- };
-};
-
-&axi_ethernet {
- phy-handle = <&phy0>;
- axi_ethernet_mdio: mdio {
- phy0: phy@7 {
- device_type = "ethernet-phy";
- reg = <7>;
- };
- };
-};
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/pl.dtsi b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/pl.dtsi
deleted file mode 100644
index 43bc2ab78..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/pl.dtsi
+++ /dev/null
@@ -1,445 +0,0 @@
-/ {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "xlnx,microblaze";
- model = "Xilinx MicroBlaze";
- cpus {
- #address-cells = <1>;
- #cpus = <1>;
- #size-cells = <0>;
- microblaze_0: cpu@0 {
- bus-handle = <&amba_pl>;
- clock-frequency = <200000000>;
- clocks = <&clk_cpu>;
- compatible = "xlnx,microblaze-10.0";
- d-cache-baseaddr = <0x0000000080000000>;
- d-cache-highaddr = <0x00000000bfffffff>;
- d-cache-line-size = <0x20>;
- d-cache-size = <0x4000>;
- device_type = "cpu";
- i-cache-baseaddr = <0x0000000080000000>;
- i-cache-highaddr = <0x00000000bfffffff>;
- i-cache-line-size = <0x10>;
- i-cache-size = <0x4000>;
- interrupt-handle = <&microblaze_0_axi_intc>;
- model = "microblaze,10.0";
- timebase-frequency = <200000000>;
- xlnx,addr-size = <0x20>;
- xlnx,addr-tag-bits = <0x10>;
- xlnx,allow-dcache-wr = <0x1>;
- xlnx,allow-icache-wr = <0x1>;
- xlnx,area-optimized = <0x0>;
- xlnx,async-interrupt = <0x1>;
- xlnx,async-wakeup = <0x3>;
- xlnx,avoid-primitives = <0x0>;
- xlnx,base-vectors = <0x0000000000000000>;
- xlnx,branch-target-cache-size = <0x0>;
- xlnx,cache-byte-size = <0x4000>;
- xlnx,d-axi = <0x1>;
- xlnx,d-lmb = <0x1>;
- xlnx,d-lmb-mon = <0x0>;
- xlnx,daddr-size = <0x20>;
- xlnx,data-size = <0x20>;
- xlnx,dc-axi-mon = <0x0>;
- xlnx,dcache-addr-tag = <0x10>;
- xlnx,dcache-always-used = <0x1>;
- xlnx,dcache-byte-size = <0x4000>;
- xlnx,dcache-data-width = <0x0>;
- xlnx,dcache-force-tag-lutram = <0x0>;
- xlnx,dcache-line-len = <0x8>;
- xlnx,dcache-use-writeback = <0x0>;
- xlnx,dcache-victims = <0x0>;
- xlnx,debug-counter-width = <0x20>;
- xlnx,debug-enabled = <0x1>;
- xlnx,debug-event-counters = <0x5>;
- xlnx,debug-external-trace = <0x0>;
- xlnx,debug-interface = <0x0>;
- xlnx,debug-latency-counters = <0x1>;
- xlnx,debug-profile-size = <0x0>;
- xlnx,debug-trace-async-reset = <0x0>;
- xlnx,debug-trace-size = <0x2000>;
- xlnx,div-zero-exception = <0x1>;
- xlnx,dp-axi-mon = <0x0>;
- xlnx,dynamic-bus-sizing = <0x0>;
- xlnx,ecc-use-ce-exception = <0x0>;
- xlnx,edge-is-positive = <0x1>;
- xlnx,enable-discrete-ports = <0x0>;
- xlnx,endianness = <0x1>;
- xlnx,fault-tolerant = <0x0>;
- xlnx,fpu-exception = <0x0>;
- xlnx,freq = <0xbebc200>;
- xlnx,fsl-exception = <0x0>;
- xlnx,fsl-links = <0x0>;
- xlnx,i-axi = <0x0>;
- xlnx,i-lmb = <0x1>;
- xlnx,i-lmb-mon = <0x0>;
- xlnx,iaddr-size = <0x20>;
- xlnx,ic-axi-mon = <0x0>;
- xlnx,icache-always-used = <0x1>;
- xlnx,icache-data-width = <0x0>;
- xlnx,icache-force-tag-lutram = <0x0>;
- xlnx,icache-line-len = <0x4>;
- xlnx,icache-streams = <0x1>;
- xlnx,icache-victims = <0x8>;
- xlnx,ill-opcode-exception = <0x1>;
- xlnx,imprecise-exceptions = <0x0>;
- xlnx,instr-size = <0x20>;
- xlnx,interconnect = <0x2>;
- xlnx,interrupt-is-edge = <0x0>;
- xlnx,interrupt-mon = <0x0>;
- xlnx,ip-axi-mon = <0x0>;
- xlnx,lockstep-master = <0x0>;
- xlnx,lockstep-select = <0x0>;
- xlnx,lockstep-slave = <0x0>;
- xlnx,mmu-dtlb-size = <0x4>;
- xlnx,mmu-itlb-size = <0x2>;
- xlnx,mmu-privileged-instr = <0x0>;
- xlnx,mmu-tlb-access = <0x3>;
- xlnx,mmu-zones = <0x2>;
- xlnx,num-sync-ff-clk = <0x2>;
- xlnx,num-sync-ff-clk-debug = <0x2>;
- xlnx,num-sync-ff-clk-irq = <0x1>;
- xlnx,num-sync-ff-dbg-clk = <0x1>;
- xlnx,num-sync-ff-dbg-trace-clk = <0x2>;
- xlnx,number-of-pc-brk = <0x1>;
- xlnx,number-of-rd-addr-brk = <0x0>;
- xlnx,number-of-wr-addr-brk = <0x0>;
- xlnx,opcode-0x0-illegal = <0x1>;
- xlnx,optimization = <0x0>;
- xlnx,pc-width = <0x20>;
- xlnx,piaddr-size = <0x20>;
- xlnx,pvr = <0x2>;
- xlnx,pvr-user1 = <0x00>;
- xlnx,pvr-user2 = <0x00000000>;
- xlnx,reset-msr = <0x00000000>;
- xlnx,reset-msr-bip = <0x0>;
- xlnx,reset-msr-dce = <0x0>;
- xlnx,reset-msr-ee = <0x0>;
- xlnx,reset-msr-eip = <0x0>;
- xlnx,reset-msr-ice = <0x0>;
- xlnx,reset-msr-ie = <0x0>;
- xlnx,sco = <0x0>;
- xlnx,trace = <0x0>;
- xlnx,unaligned-exceptions = <0x1>;
- xlnx,use-barrel = <0x1>;
- xlnx,use-branch-target-cache = <0x0>;
- xlnx,use-config-reset = <0x0>;
- xlnx,use-dcache = <0x1>;
- xlnx,use-div = <0x1>;
- xlnx,use-ext-brk = <0x0>;
- xlnx,use-ext-nm-brk = <0x0>;
- xlnx,use-extended-fsl-instr = <0x0>;
- xlnx,use-fpu = <0x0>;
- xlnx,use-hw-mul = <0x2>;
- xlnx,use-icache = <0x1>;
- xlnx,use-interrupt = <0x2>;
- xlnx,use-mmu = <0x3>;
- xlnx,use-msr-instr = <0x1>;
- xlnx,use-non-secure = <0x0>;
- xlnx,use-pcmp-instr = <0x1>;
- xlnx,use-reorder-instr = <0x1>;
- xlnx,use-stack-protection = <0x0>;
- };
- };
- clocks {
- #address-cells = <1>;
- #size-cells = <0>;
- clk_cpu: clk_cpu@0 {
- #clock-cells = <0>;
- clock-frequency = <200000000>;
- clock-output-names = "clk_cpu";
- compatible = "fixed-clock";
- reg = <0>;
- };
- clk_bus_0: clk_bus_0@1 {
- #clock-cells = <0>;
- clock-frequency = <200000000>;
- clock-output-names = "clk_bus_0";
- compatible = "fixed-clock";
- reg = <1>;
- };
- };
- amba_pl: amba_pl {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "simple-bus";
- ranges ;
- axi_ethernet: ethernet@40c00000 {
- axistream-connected = <&axi_ethernet_dma>;
- axistream-control-connected = <&axi_ethernet_dma>;
- clock-frequency = <100000000>;
- compatible = "xlnx,axi-ethernet-1.00.a";
- device_type = "network";
- interrupt-parent = <&microblaze_0_axi_intc>;
- interrupts = <4 2>;
- phy-mode = "gmii";
- reg = <0x40c00000 0x40000>;
- xlnx = <0x0>;
- xlnx,axiliteclkrate = <0x0>;
- xlnx,axisclkrate = <0x0>;
- xlnx,clockselection = <0x0>;
- xlnx,enableasyncsgmii = <0x0>;
- xlnx,gt-type = <0x0>;
- xlnx,gtinex = <0x0>;
- xlnx,gtlocation = <0x0>;
- xlnx,gtrefclksrc = <0x0>;
- xlnx,include-dre ;
- xlnx,instantiatebitslice0 = <0x0>;
- xlnx,phy-type = <0x1>;
- xlnx,phyaddr = <0x1>;
- xlnx,rable = <0x0>;
- xlnx,rxcsum = <0x0>;
- xlnx,rxlane0-placement = <0x0>;
- xlnx,rxlane1-placement = <0x0>;
- xlnx,rxmem = <0x1000>;
- xlnx,rxnibblebitslice0used = <0x0>;
- xlnx,tx-in-upper-nibble = <0x1>;
- xlnx,txcsum = <0x0>;
- xlnx,txlane0-placement = <0x0>;
- xlnx,txlane1-placement = <0x0>;
- axi_ethernet_mdio: mdio {
- #address-cells = <1>;
- #size-cells = <0>;
- };
- };
- axi_ethernet_dma: dma@41e00000 {
- #dma-cells = <1>;
- axistream-connected = <&axi_ethernet>;
- axistream-control-connected = <&axi_ethernet>;
- clock-frequency = <200000000>;
- clock-names = "s_axi_lite_aclk";
- clocks = <&clk_bus_0>;
- compatible = "xlnx,eth-dma";
- interrupt-parent = <&microblaze_0_axi_intc>;
- interrupts = <3 2 2 2>;
- reg = <0x41e00000 0x10000>;
- xlnx,include-dre ;
- };
- axi_timer_0: timer@41c00000 {
- clock-frequency = <200000000>;
- clocks = <&clk_bus_0>;
- compatible = "xlnx,xps-timer-1.00.a";
- interrupt-parent = <&microblaze_0_axi_intc>;
- interrupts = <5 2>;
- reg = <0x41c00000 0x10000>;
- xlnx,count-width = <0x20>;
- xlnx,gen0-assert = <0x1>;
- xlnx,gen1-assert = <0x1>;
- xlnx,one-timer-only = <0x0>;
- xlnx,trig0-assert = <0x1>;
- xlnx,trig1-assert = <0x1>;
- };
- calib_complete_gpio: gpio@40010000 {
- #gpio-cells = <2>;
- compatible = "xlnx,xps-gpio-1.00.a";
- gpio-controller ;
- reg = <0x40010000 0x10000>;
- xlnx,all-inputs = <0x1>;
- xlnx,all-inputs-2 = <0x0>;
- xlnx,all-outputs = <0x0>;
- xlnx,all-outputs-2 = <0x0>;
- xlnx,dout-default = <0x00000000>;
- xlnx,dout-default-2 = <0x00000000>;
- xlnx,gpio-width = <0x1>;
- xlnx,gpio2-width = <0x20>;
- xlnx,interrupt-present = <0x0>;
- xlnx,is-dual = <0x0>;
- xlnx,tri-default = <0xFFFFFFFF>;
- xlnx,tri-default-2 = <0xFFFFFFFF>;
- };
- dip_switches_4bits: gpio@40020000 {
- #gpio-cells = <2>;
- compatible = "xlnx,xps-gpio-1.00.a";
- gpio-controller ;
- reg = <0x40020000 0x10000>;
- xlnx,all-inputs = <0x1>;
- xlnx,all-inputs-2 = <0x0>;
- xlnx,all-outputs = <0x0>;
- xlnx,all-outputs-2 = <0x0>;
- xlnx,dout-default = <0x00000000>;
- xlnx,dout-default-2 = <0x00000000>;
- xlnx,gpio-width = <0x4>;
- xlnx,gpio2-width = <0x20>;
- xlnx,interrupt-present = <0x0>;
- xlnx,is-dual = <0x0>;
- xlnx,tri-default = <0xFFFFFFFF>;
- xlnx,tri-default-2 = <0xFFFFFFFF>;
- };
- iic_main: i2c@40800000 {
- #address-cells = <1>;
- #size-cells = <0>;
- clock-frequency = <200000000>;
- clocks = <&clk_bus_0>;
- compatible = "xlnx,xps-iic-2.00.a";
- interrupt-parent = <&microblaze_0_axi_intc>;
- interrupts = <1 2>;
- reg = <0x40800000 0x10000>;
- };
- led_8bits: gpio@40030000 {
- #gpio-cells = <2>;
- compatible = "xlnx,xps-gpio-1.00.a";
- gpio-controller ;
- reg = <0x40030000 0x10000>;
- xlnx,all-inputs = <0x0>;
- xlnx,all-inputs-2 = <0x0>;
- xlnx,all-outputs = <0x1>;
- xlnx,all-outputs-2 = <0x0>;
- xlnx,dout-default = <0x00000000>;
- xlnx,dout-default-2 = <0x00000000>;
- xlnx,gpio-width = <0x8>;
- xlnx,gpio2-width = <0x20>;
- xlnx,interrupt-present = <0x0>;
- xlnx,is-dual = <0x0>;
- xlnx,tri-default = <0xFFFFFFFF>;
- xlnx,tri-default-2 = <0xFFFFFFFF>;
- };
- linear_flash: flash@60000000 {
- bank-width = <2>;
- compatible = "cfi-flash";
- reg = <0x60000000 0x8000000>;
- xlnx,axi-clk-period-ps = <0x1388>;
- xlnx,include-datawidth-matching-0 = <0x1>;
- xlnx,include-datawidth-matching-1 = <0x1>;
- xlnx,include-datawidth-matching-2 = <0x1>;
- xlnx,include-datawidth-matching-3 = <0x1>;
- xlnx,include-negedge-ioregs = <0x0>;
- xlnx,lflash-period-ps = <0x1388>;
- xlnx,linear-flash-sync-burst = <0x0>;
- xlnx,max-mem-width = <0x10>;
- xlnx,mem-a-lsb = <0x0>;
- xlnx,mem-a-msb = <0x1f>;
- xlnx,mem0-type = <0x2>;
- xlnx,mem0-width = <0x10>;
- xlnx,mem1-type = <0x0>;
- xlnx,mem1-width = <0x10>;
- xlnx,mem2-type = <0x0>;
- xlnx,mem2-width = <0x10>;
- xlnx,mem3-type = <0x0>;
- xlnx,mem3-width = <0x10>;
- xlnx,num-banks-mem = <0x1>;
- xlnx,page-size = <0x10>;
- xlnx,parity-type-mem-0 = <0x0>;
- xlnx,parity-type-mem-1 = <0x0>;
- xlnx,parity-type-mem-2 = <0x0>;
- xlnx,parity-type-mem-3 = <0x0>;
- xlnx,port-diff = <0x0>;
- xlnx,s-axi-en-reg = <0x0>;
- xlnx,s-axi-mem-addr-width = <0x20>;
- xlnx,s-axi-mem-data-width = <0x20>;
- xlnx,s-axi-mem-id-width = <0x1>;
- xlnx,s-axi-reg-addr-width = <0x5>;
- xlnx,s-axi-reg-data-width = <0x20>;
- xlnx,synch-pipedelay-0 = <0x1>;
- xlnx,synch-pipedelay-1 = <0x1>;
- xlnx,synch-pipedelay-2 = <0x1>;
- xlnx,synch-pipedelay-3 = <0x1>;
- xlnx,tavdv-ps-mem-0 = <0x1fbd0>;
- xlnx,tavdv-ps-mem-1 = <0x3a98>;
- xlnx,tavdv-ps-mem-2 = <0x3a98>;
- xlnx,tavdv-ps-mem-3 = <0x3a98>;
- xlnx,tcedv-ps-mem-0 = <0x1fbd0>;
- xlnx,tcedv-ps-mem-1 = <0x3a98>;
- xlnx,tcedv-ps-mem-2 = <0x3a98>;
- xlnx,tcedv-ps-mem-3 = <0x3a98>;
- xlnx,thzce-ps-mem-0 = <0x88b8>;
- xlnx,thzce-ps-mem-1 = <0x1b58>;
- xlnx,thzce-ps-mem-2 = <0x1b58>;
- xlnx,thzce-ps-mem-3 = <0x1b58>;
- xlnx,thzoe-ps-mem-0 = <0x1b58>;
- xlnx,thzoe-ps-mem-1 = <0x1b58>;
- xlnx,thzoe-ps-mem-2 = <0x1b58>;
- xlnx,thzoe-ps-mem-3 = <0x1b58>;
- xlnx,tlzwe-ps-mem-0 = <0xc350>;
- xlnx,tlzwe-ps-mem-1 = <0x0>;
- xlnx,tlzwe-ps-mem-2 = <0x0>;
- xlnx,tlzwe-ps-mem-3 = <0x0>;
- xlnx,tpacc-ps-flash-0 = <0x61a8>;
- xlnx,tpacc-ps-flash-1 = <0x61a8>;
- xlnx,tpacc-ps-flash-2 = <0x61a8>;
- xlnx,tpacc-ps-flash-3 = <0x61a8>;
- xlnx,twc-ps-mem-0 = <0x11170>;
- xlnx,twc-ps-mem-1 = <0x3a98>;
- xlnx,twc-ps-mem-2 = <0x3a98>;
- xlnx,twc-ps-mem-3 = <0x3a98>;
- xlnx,twp-ps-mem-0 = <0x13880>;
- xlnx,twp-ps-mem-1 = <0x2ee0>;
- xlnx,twp-ps-mem-2 = <0x2ee0>;
- xlnx,twp-ps-mem-3 = <0x2ee0>;
- xlnx,twph-ps-mem-0 = <0x13880>;
- xlnx,twph-ps-mem-1 = <0x2ee0>;
- xlnx,twph-ps-mem-2 = <0x2ee0>;
- xlnx,twph-ps-mem-3 = <0x2ee0>;
- xlnx,use-startup = <0x0>;
- xlnx,use-startup-int = <0x0>;
- xlnx,wr-rec-time-mem-0 = <0x186a0>;
- xlnx,wr-rec-time-mem-1 = <0x6978>;
- xlnx,wr-rec-time-mem-2 = <0x6978>;
- xlnx,wr-rec-time-mem-3 = <0x6978>;
- };
- microblaze_0_axi_intc: interrupt-controller@41200000 {
- #interrupt-cells = <2>;
- compatible = "xlnx,xps-intc-1.00.a";
- interrupt-controller ;
- reg = <0x41200000 0x10000>;
- xlnx,kind-of-intr = <0x0>;
- xlnx,num-intr-inputs = <0x6>;
- };
- push_buttons_5bits: gpio@40040000 {
- #gpio-cells = <2>;
- compatible = "xlnx,xps-gpio-1.00.a";
- gpio-controller ;
- reg = <0x40040000 0x10000>;
- xlnx,all-inputs = <0x1>;
- xlnx,all-inputs-2 = <0x0>;
- xlnx,all-outputs = <0x0>;
- xlnx,all-outputs-2 = <0x0>;
- xlnx,dout-default = <0x00000000>;
- xlnx,dout-default-2 = <0x00000000>;
- xlnx,gpio-width = <0x5>;
- xlnx,gpio2-width = <0x20>;
- xlnx,interrupt-present = <0x0>;
- xlnx,is-dual = <0x0>;
- xlnx,tri-default = <0xFFFFFFFF>;
- xlnx,tri-default-2 = <0xFFFFFFFF>;
- };
- reset_gpio: gpio@40000000 {
- #gpio-cells = <2>;
- compatible = "xlnx,xps-gpio-1.00.a";
- gpio-controller ;
- reg = <0x40000000 0x10000>;
- xlnx,all-inputs = <0x0>;
- xlnx,all-inputs-2 = <0x0>;
- xlnx,all-outputs = <0x1>;
- xlnx,all-outputs-2 = <0x0>;
- xlnx,dout-default = <0x00000000>;
- xlnx,dout-default-2 = <0x00000000>;
- xlnx,gpio-width = <0x1>;
- xlnx,gpio2-width = <0x20>;
- xlnx,interrupt-present = <0x0>;
- xlnx,is-dual = <0x0>;
- xlnx,tri-default = <0xFFFFFFFF>;
- xlnx,tri-default-2 = <0xFFFFFFFF>;
- };
- rs232_uart: serial@44a00000 {
- clock-frequency = <200000000>;
- clocks = <&clk_bus_0>;
- compatible = "xlnx,xps-uart16550-2.00.a", "ns16550a";
- current-speed = <115200>;
- device_type = "serial";
- interrupt-parent = <&microblaze_0_axi_intc>;
- interrupts = <0 2>;
- port-number = <0>;
- reg = <0x44a00000 0x10000>;
- reg-offset = <0x1000>;
- reg-shift = <2>;
- xlnx,external-xin-clk-hz = <0x17d7840>;
- xlnx,external-xin-clk-hz-d = <0x19>;
- xlnx,has-external-rclk = <0x0>;
- xlnx,has-external-xin = <0x0>;
- xlnx,is-a-16550 = <0x1>;
- xlnx,s-axi-aclk-freq-hz-d = "200.0";
- xlnx,use-modem-ports = <0x1>;
- xlnx,use-user-ports = <0x1>;
- };
- };
-};
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/system-conf.dtsi b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/system-conf.dtsi
deleted file mode 100644
index 09b26c6ad..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/system-conf.dtsi
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * CAUTION: This file is automatically generated by PetaLinux SDK.
- * DO NOT modify this file
- */
-
-
-/ {
- chosen {
- bootargs = "console=ttyS0,115200 earlyprintk";
- stdout-path = "serial0:115200n8";
- };
-};
-
-&axi_ethernet {
- local-mac-address = [00 0a 35 00 22 01];
-};
-
-&linear_flash {
- reg = <0x60000000 0x08000000>;
- #address-cells = <1>;
- #size-cells = <1>;
- partition@0x00000000 {
- label = "fpga";
- reg = <0x00000000 0x00b00000>;
- };
- partition@0x00b00000 {
- label = "boot";
- reg = <0x00b00000 0x00080000>;
- };
- partition@0x00b80000 {
- label = "bootenv";
- reg = <0x00b80000 0x00020000>;
- };
- partition@0x00ba0000 {
- label = "kernel";
- reg = <0x00ba0000 0x00c00000>;
- };
- partition@0x017a0000 {
- label = "spare";
- reg = <0x017a0000 0x00000000>;
- };
-};
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/picozed-zynq7.dts b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/picozed-zynq7.dts
deleted file mode 100644
index 6f9b653ab..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/picozed-zynq7.dts
+++ /dev/null
@@ -1,98 +0,0 @@
-/dts-v1/;
-/include/ "zynq-7000.dtsi"
-/include/ "zynq-7000-qspi-dummy.dtsi"
-
-/ {
- model = "Avnet picoZed";
- compatible = "avnet,picozed", "xlnx,zynq-7000";
-
- aliases {
- ethernet0 = &gem0;
- serial0 = &uart1;
- };
-
- memory {
- device_type = "memory";
- reg = <0x0 0x40000000>;
- };
-
- chosen {
- bootargs = "earlyprintk";
- stdout-path = "serial0:115200n8";
- };
-
- usb_phy0: phy0 {
- compatible = "usb-nop-xceiv";
- #phy-cells = <0>;
- reset-gpios = <&gpio0 7 1>; /* MIO 7, GPIO_ACTIVE_LOW */
- };
-};
-
-&gem0 {
- status = "okay";
- phy-mode = "rgmii-id";
- phy-handle = <&ethernet_phy>;
-
- ethernet_phy: ethernet-phy@0 {
- compatible = "marvell,88e1512", "marvell,88e1510";
- device_type = "ethernet-phy";
- reg = <0>;
- };
-};
-
-&sdhci1 {
- status = "okay";
- /* SD1 is onnected to a non-removable eMMC flash device */
- non-removable;
-};
-
-&uart1 {
- status = "okay";
-};
-
-&usb0 {
- status = "okay";
- dr_mode = "host";
- usb-phy = <&usb_phy0>;
-};
-
-&qspi {
- status = "okay";
- primary_flash: ps7-qspi@0 {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "micron,m25p80", "spansion,s25fl128s", "jedec,spi-nor";
- reg = <0x0>;
- spi-max-frequency = <50000000>;
- /* Example 16M partition table using U-Boot + U-Boot SPL */
- partition@0x0 {
- label = "boot";
- reg = <0x0 0xe0000>;
- };
- partition@0xe0000 {
- label = "ubootenv";
- reg = <0xe0000 0x20000>;
- };
- partition@0x100000 {
- label = "uboot";
- reg = <0x100000 0x100000>;
- };
- partition@0x200000 {
- label = "kernel";
- reg = <0x200000 0x4f0000>;
- };
- partition@0x6f0000 {
- label = "devicetree";
- reg = <0x6f0000 0x10000>;
- };
- partition@0x700000 {
- label = "rootfs";
- reg = <0x700000 0x400000>;
- };
- partition@0xb00000 {
- label = "spare";
- reg = <0xb00000 0x500000>;
- };
- };
-};
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/qemu-zynq7.dts b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/qemu-zynq7.dts
deleted file mode 100644
index cd0694d6b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/qemu-zynq7.dts
+++ /dev/null
@@ -1,85 +0,0 @@
-/dts-v1/;
-/include/ "zynq-7000.dtsi"
-/include/ "zynq-7000-qspi-dummy.dtsi"
-
-/ {
- model = "Zynq A9 QEMU";
- compatible = "qemu,xilinx-zynq-a9", "xlnx,zynq-7000";
-
- aliases {
- ethernet0 = &gem0;
- serial0 = &uart1;
- };
-
- memory {
- device_type = "memory";
- reg = <0x0 0x40000000>;
- };
-
- chosen {
- bootargs = "earlyprintk";
- stdout-path = "serial0:115200n8";
- };
-};
-
-&amba {
- /* Setup a fixed 25 MHz clock (100Mbps) to trick the ethernet driver */
- fixednetclk: clock {
- #clock-cells = <0>;
- compatible = "fixed-clock";
- clock-frequency = <25000000>;
- };
-};
-
-&gem0 {
- status = "okay";
- clocks = <&clkc 30>, <&clkc 30>, <&fixednetclk>, <&fixednetclk>, <&clkc 30>;
- phy-mode = "rgmii-id";
- phy-handle = <&ethernet_phy>;
-
- ethernet_phy: ethernet-phy@23 {
- device_type = "ethernet-phy";
- reg = <23>;
- };
-};
-
-&sdhci0 {
- status = "okay";
-};
-
-&uart1 {
- status = "okay";
-};
-
-&qspi {
- status = "okay";
- is-dual = <1>;
- primary_flash: ps7-qspi@0 {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "st,m25p80";
- reg = <0x0>;
- spi-max-frequency = <50000000>;
- partition@0x00000000 {
- label = "boot";
- reg = <0x00000000 0x00500000>;
- };
- partition@0x00500000 {
- label = "bootenv";
- reg = <0x00500000 0x00020000>;
- };
- partition@0x00520000 {
- label = "config";
- reg = <0x00520000 0x00020000>;
- };
- partition@0x00540000 {
- label = "image";
- reg = <0x00540000 0x00a80000>;
- };
- partition@0x00fc0000 {
- label = "spare";
- reg = <0x00fc0000 0x00000000>;
- };
- };
-};
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pcw.dtsi b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pcw.dtsi
deleted file mode 100644
index 0f678d39c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pcw.dtsi
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * CAUTION: This file is automatically generated by Xilinx.
- * Version: HSI 2015.4
- * Today is: Fri Mar 4 15:40:49 2016
-*/
-
-
-/ {
- cpus {
- cpu@0 {
- operating-points = <650000 1000000 325000 1000000>;
- };
- };
-};
-&gem0 {
- phy-mode = "rgmii-id";
- status = "okay";
- xlnx,ptp-enet-clock = <0x6750918>;
-};
-&gpio0 {
- emio-gpio-width = <64>;
- gpio-mask-high = <0x0>;
- gpio-mask-low = <0x5600>;
-};
-&i2c0 {
- clock-frequency = <400000>;
- status = "okay";
-};
-&i2c1 {
- clock-frequency = <400000>;
- status = "okay";
-};
-&intc {
- num_cpus = <2>;
- num_interrupts = <96>;
-};
-&qspi {
- is-dual = <0>;
- num-cs = <1>;
- status = "okay";
-};
-&sdhci0 {
- status = "okay";
- xlnx,has-cd = <0x1>;
- xlnx,has-power = <0x0>;
- xlnx,has-wp = <0x1>;
-};
-&uart1 {
- current-speed = <115200>;
- device_type = "serial";
- port-number = <0>;
- status = "okay";
-};
-&usb0 {
- dr_mode = "host";
- phy_type = "ulpi";
- status = "okay";
- usb-reset = <&gpio0 46 0>;
-};
-&clkc {
- fclk-enable = <0x3>;
- ps-clk-frequency = <50000000>;
-};
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pl.dtsi b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pl.dtsi
deleted file mode 100644
index 32bc76885..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pl.dtsi
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * CAUTION: This file is automatically generated by Xilinx.
- * Version: HSI 2015.4
- * Today is: Fri Mar 4 15:40:49 2016
-*/
-
-
-/ {
- amba_pl: amba_pl {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "simple-bus";
- ranges ;
- axi_dynclk_0: axi_dynclk@43c10000 {
- compatible = "xlnx,axi-dynclk-1.0";
- reg = <0x43c10000 0x10000>;
- xlnx,s00-axi-addr-width = <0x5>;
- xlnx,s00-axi-data-width = <0x20>;
- };
- axi_gpio_btn: gpio@41210000 {
- #gpio-cells = <2>;
- compatible = "xlnx,xps-gpio-1.00.a";
- gpio-controller ;
- reg = <0x41210000 0x10000>;
- xlnx,all-inputs = <0x1>;
- xlnx,all-inputs-2 = <0x0>;
- xlnx,all-outputs = <0x0>;
- xlnx,all-outputs-2 = <0x0>;
- xlnx,dout-default = <0x00000000>;
- xlnx,dout-default-2 = <0x00000000>;
- xlnx,gpio-width = <0x4>;
- xlnx,gpio2-width = <0x20>;
- xlnx,interrupt-present = <0x0>;
- xlnx,is-dual = <0x0>;
- xlnx,tri-default = <0xFFFFFFFF>;
- xlnx,tri-default-2 = <0xFFFFFFFF>;
- };
- axi_gpio_hdmi: gpio@41230000 {
- #gpio-cells = <2>;
- compatible = "xlnx,xps-gpio-1.00.a";
- gpio-controller ;
- interrupt-parent = <&intc>;
- interrupts = <0 29 4>;
- reg = <0x41230000 0x10000>;
- xlnx,all-inputs = <0x1>;
- xlnx,all-inputs-2 = <0x0>;
- xlnx,all-outputs = <0x0>;
- xlnx,all-outputs-2 = <0x0>;
- xlnx,dout-default = <0x00000000>;
- xlnx,dout-default-2 = <0x00000000>;
- xlnx,gpio-width = <0x1>;
- xlnx,gpio2-width = <0x20>;
- xlnx,interrupt-present = <0x1>;
- xlnx,is-dual = <0x0>;
- xlnx,tri-default = <0xFFFFFFFF>;
- xlnx,tri-default-2 = <0xFFFFFFFF>;
- };
- axi_gpio_led: gpio@41200000 {
- #gpio-cells = <2>;
- compatible = "xlnx,xps-gpio-1.00.a";
- gpio-controller ;
- reg = <0x41200000 0x10000>;
- xlnx,all-inputs = <0x0>;
- xlnx,all-inputs-2 = <0x0>;
- xlnx,all-outputs = <0x1>;
- xlnx,all-outputs-2 = <0x0>;
- xlnx,dout-default = <0x00000000>;
- xlnx,dout-default-2 = <0x00000000>;
- xlnx,gpio-width = <0x4>;
- xlnx,gpio2-width = <0x20>;
- xlnx,interrupt-present = <0x0>;
- xlnx,is-dual = <0x0>;
- xlnx,tri-default = <0xFFFFFFFF>;
- xlnx,tri-default-2 = <0xFFFFFFFF>;
- };
- axi_gpio_sw: gpio@41220000 {
- #gpio-cells = <2>;
- compatible = "xlnx,xps-gpio-1.00.a";
- gpio-controller ;
- reg = <0x41220000 0x10000>;
- xlnx,all-inputs = <0x1>;
- xlnx,all-inputs-2 = <0x0>;
- xlnx,all-outputs = <0x0>;
- xlnx,all-outputs-2 = <0x0>;
- xlnx,dout-default = <0x00000000>;
- xlnx,dout-default-2 = <0x00000000>;
- xlnx,gpio-width = <0x4>;
- xlnx,gpio2-width = <0x20>;
- xlnx,interrupt-present = <0x0>;
- xlnx,is-dual = <0x0>;
- xlnx,tri-default = <0xFFFFFFFF>;
- xlnx,tri-default-2 = <0xFFFFFFFF>;
- };
- axi_i2s_adi_0: axi_i2s_adi@43c20000 {
- compatible = "xlnx,axi-i2s-adi-1.0";
- reg = <0x43c20000 0x10000>;
- xlnx,bclk-pol = <0x0>;
- xlnx,dma-type = <0x1>;
- xlnx,has-rx = <0x1>;
- xlnx,has-tx = <0x1>;
- xlnx,lrclk-pol = <0x0>;
- xlnx,num-ch = <0x1>;
- xlnx,s-axi-min-size = <0x000001FF>;
- xlnx,slot-width = <0x18>;
- };
- axi_vdma_0: dma@43000000 {
- #dma-cells = <1>;
- compatible = "xlnx,axi-vdma-1.00.a";
- clocks = <&clkc 15>;
- clock-names = "s_axi_lite_aclk";
- interrupt-parent = <&intc>;
- interrupts = <0 30 4>;
- reg = <0x43000000 0x10000>;
- xlnx,flush-fsync = <0x1>;
- xlnx,num-fstores = <0x1>;
- dma-channel@43000000 {
- compatible = "xlnx,axi-vdma-mm2s-channel";
- interrupts = <0 30 4>;
- xlnx,datawidth = <0x20>;
- xlnx,device-id = <0x0>;
- };
- };
- v_tc_0: v_tc@43c00000 {
- compatible = "xlnx,v-tc-6.1";
- interrupt-parent = <&intc>;
- interrupts = <0 31 4>;
- reg = <0x43c00000 0x10000>;
- xlnx,det-achroma-en = <0x0>;
- xlnx,det-avideo-en = <0x1>;
- xlnx,det-fieldid-en = <0x0>;
- xlnx,det-hblank-en = <0x1>;
- xlnx,det-hsync-en = <0x1>;
- xlnx,det-vblank-en = <0x1>;
- xlnx,det-vsync-en = <0x1>;
- xlnx,detect-en = <0x0>;
- xlnx,fsync-hstart0 = <0x0>;
- xlnx,fsync-hstart1 = <0x0>;
- xlnx,fsync-hstart10 = <0x0>;
- xlnx,fsync-hstart11 = <0x0>;
- xlnx,fsync-hstart12 = <0x0>;
- xlnx,fsync-hstart13 = <0x0>;
- xlnx,fsync-hstart14 = <0x0>;
- xlnx,fsync-hstart15 = <0x0>;
- xlnx,fsync-hstart2 = <0x0>;
- xlnx,fsync-hstart3 = <0x0>;
- xlnx,fsync-hstart4 = <0x0>;
- xlnx,fsync-hstart5 = <0x0>;
- xlnx,fsync-hstart6 = <0x0>;
- xlnx,fsync-hstart7 = <0x0>;
- xlnx,fsync-hstart8 = <0x0>;
- xlnx,fsync-hstart9 = <0x0>;
- xlnx,fsync-vstart0 = <0x0>;
- xlnx,fsync-vstart1 = <0x0>;
- xlnx,fsync-vstart10 = <0x0>;
- xlnx,fsync-vstart11 = <0x0>;
- xlnx,fsync-vstart12 = <0x0>;
- xlnx,fsync-vstart13 = <0x0>;
- xlnx,fsync-vstart14 = <0x0>;
- xlnx,fsync-vstart15 = <0x0>;
- xlnx,fsync-vstart2 = <0x0>;
- xlnx,fsync-vstart3 = <0x0>;
- xlnx,fsync-vstart4 = <0x0>;
- xlnx,fsync-vstart5 = <0x0>;
- xlnx,fsync-vstart6 = <0x0>;
- xlnx,fsync-vstart7 = <0x0>;
- xlnx,fsync-vstart8 = <0x0>;
- xlnx,fsync-vstart9 = <0x0>;
- xlnx,gen-achroma-en = <0x0>;
- xlnx,gen-achroma-polarity = <0x1>;
- xlnx,gen-auto-switch = <0x0>;
- xlnx,gen-avideo-en = <0x1>;
- xlnx,gen-avideo-polarity = <0x1>;
- xlnx,gen-cparity = <0x0>;
- xlnx,gen-f0-vblank-hend = <0x500>;
- xlnx,gen-f0-vblank-hstart = <0x500>;
- xlnx,gen-f0-vframe-size = <0x2ee>;
- xlnx,gen-f0-vsync-hend = <0x500>;
- xlnx,gen-f0-vsync-hstart = <0x500>;
- xlnx,gen-f0-vsync-vend = <0x2d9>;
- xlnx,gen-f0-vsync-vstart = <0x2d4>;
- xlnx,gen-f1-vblank-hend = <0x500>;
- xlnx,gen-f1-vblank-hstart = <0x500>;
- xlnx,gen-f1-vframe-size = <0x2ee>;
- xlnx,gen-f1-vsync-hend = <0x500>;
- xlnx,gen-f1-vsync-hstart = <0x500>;
- xlnx,gen-f1-vsync-vend = <0x2d9>;
- xlnx,gen-f1-vsync-vstart = <0x2d4>;
- xlnx,gen-fieldid-en = <0x0>;
- xlnx,gen-fieldid-polarity = <0x1>;
- xlnx,gen-hactive-size = <0x500>;
- xlnx,gen-hblank-en = <0x1>;
- xlnx,gen-hblank-polarity = <0x1>;
- xlnx,gen-hframe-size = <0x672>;
- xlnx,gen-hsync-en = <0x1>;
- xlnx,gen-hsync-end = <0x596>;
- xlnx,gen-hsync-polarity = <0x1>;
- xlnx,gen-hsync-start = <0x56e>;
- xlnx,gen-interlaced = <0x0>;
- xlnx,gen-vactive-size = <0x2d0>;
- xlnx,gen-vblank-en = <0x1>;
- xlnx,gen-vblank-polarity = <0x1>;
- xlnx,gen-video-format = <0x2>;
- xlnx,gen-vsync-en = <0x1>;
- xlnx,gen-vsync-polarity = <0x1>;
- xlnx,generate-en = <0x1>;
- xlnx,has-axi4-lite = <0x1>;
- xlnx,has-intc-if = <0x0>;
- xlnx,interlace-en = <0x0>;
- xlnx,max-lines = <0x1000>;
- xlnx,max-pixels = <0x1000>;
- xlnx,num-fsyncs = <0x1>;
- xlnx,sync-en = <0x0>;
- };
- };
-};
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.dts b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.dts
deleted file mode 100644
index 19654392d..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.dts
+++ /dev/null
@@ -1,184 +0,0 @@
-/dts-v1/;
-/include/ "skeleton.dtsi"
-/include/ "zynq-7000.dtsi"
-/include/ "zynq-7000-qspi-dummy.dtsi"
-/include/ "pcw.dtsi"
-/include/ "pl.dtsi"
-
-/ {
- model = "Digilent-Zybo-Linux-BD-v2015.4";
- aliases {
- serial0 = &uart1;
- ethernet0 = &gem0;
- spi0 = &qspi;
- };
- chosen {
- bootargs = "";
- stdout-path = "serial0:115200n8";
- };
- memory {
- device_type = "memory";
- reg = <0x0 0x20000000>;
- };
-
- gpio-keys {
- compatible = "gpio-keys";
- #address-cells = <1>;
- #size-cells = <0>;
- autorepeat;
- btn4 {
- label = "btn4";
- gpios = <&gpio0 50 0>;
- linux,code = <108>; /* down */
- gpio-key,wakeup;
- autorepeat;
- };
- btn5 {
- label = "btn5";
- gpios = <&gpio0 51 0>;
- linux,code = <103>; /* up */
- gpio-key,wakeup;
- autorepeat;
- };
- };
-
- usb_phy0: usb_phy@0 {
- compatible = "usb-nop-xceiv";
- #phy-cells = <0>;
- reset-gpios = <&gpio0 46 1>;
- };
-};
-
-&amba {
- u-boot,dm-pre-reloc;
-};
-
-&amba_pl {
- encoder_0: digilent_encoder {
- compatible = "digilent,drm-encoder";
- dglnt,edid-i2c = <&i2c1>;
- };
-
- xilinx_drm {
- compatible = "xlnx,drm";
- xlnx,vtc = <&v_tc_0>;
- xlnx,connector-type = "HDMIA";
- xlnx,encoder-slave = <&encoder_0>;
- clocks = <&axi_dynclk_0>;
- planes {
- xlnx,pixel-format = "xrgb8888";
- plane0 {
- dmas = <&axi_vdma_0 0>;
- dma-names = "dma0";
- };
- };
- };
-
- i2s_clk: i2s_clk {
- #clock-cells = <0>;
- compatible = "fixed-clock";
- clock-frequency = <12288000>;
- clock-output-names = "i2s_clk";
- };
-
- sound {
- compatible = "simple-audio-card";
- simple-audio-card,name = "ZYBO-Sound-Card";
- simple-audio-card,format = "i2s";
- simple-audio-card,bitclock-master = <&dailink0_master>;
- simple-audio-card,frame-master = <&dailink0_master>;
- simple-audio-card,widgets =
- "Microphone", "Microphone Jack",
- "Headphone", "Headphone Jack",
- "Line", "Line In Jack";
- simple-audio-card,routing =
- "MICIN", "Microphone Jack",
- "Headphone Jack", "LHPOUT",
- "Headphone Jack", "RHPOUT",
- "LLINEIN", "Line In Jack",
- "RLINEIN", "Line In Jack";
- dailink0_master: simple-audio-card,cpu {
- clocks = <&i2s_clk>;
- sound-dai = <&axi_i2s_adi_0>;
- };
- simple-audio-card,codec {
- clocks = <&i2s_clk>;
- sound-dai = <&ssm2603>;
- };
- };
-};
-
-&axi_dynclk_0 {
- compatible = "digilent,axi-dynclk";
- #clock-cells = <0>;
- clocks = <&clkc 15>;
-};
-
-&axi_i2s_adi_0 {
- #sound-dai-cells = <0>;
- compatible = "adi,axi-i2s-1.00.a";
- clocks = <&clkc 15>, <&i2s_clk>;
- clock-names = "axi", "ref";
- dmas = <&dmac_s 0 &dmac_s 1>;
- dma-names = "tx", "rx";
-};
-
-&gem0 {
- phy-handle = <&phy0>;
- phy-mode = "rgmii-id";
- local-mac-address = [];
- phy0: phy@0 {
- device_type = "ethernet-phy";
- reg = <0>;
- };
-};
-
-&i2c0 {
- eeprom@50 {
- /* Microchip 24AA02E48 */
- compatible = "microchip,24c02";
- reg = <0x50>;
- };
-
- ssm2603: ssm2603@1a{
- #sound-dai-cells = <0>;
- compatible = "adi,ssm2603";
- reg = <0x1a>;
- };
-};
-
-&qspi {
- #address-cells = <1>;
- #size-cells = <0>;
- flash0: flash@0 {
- compatible = "micron,m25p80", "s25fl128s";
- reg = <0x0>;
- #address-cells = <1>;
- #size-cells = <1>;
- spi-max-frequency = <50000000>;
- partition@0x00000000 {
- label = "boot";
- reg = <0x00000000 0x00300000>;
- };
- partition@0x00300000 {
- label = "bootenv";
- reg = <0x00300000 0x00020000>;
- };
- partition@0x00320000 {
- label = "kernel";
- reg = <0x00320000 0x00a80000>;
- };
- partition@0x00da0000 {
- label = "spare";
- reg = <0x00da0000 0x00000000>;
- };
- };
-};
-
-&usb0 {
- usb-phy = <&usb_phy0>;
-};
-
-&v_tc_0 {
- compatible = "xlnx,v-tc-5.01.a";
-};
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zynq-7000-qspi-dummy.dtsi b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zynq-7000-qspi-dummy.dtsi
deleted file mode 100644
index d059a2daf..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/files/zynq-7000-qspi-dummy.dtsi
+++ /dev/null
@@ -1,4 +0,0 @@
-&amba {
- /* empty defintion for kernels that don't have qspi node */
- qspi: spi@e000d000 { };
-};
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init.bb
deleted file mode 100644
index 32509b078..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Xilinx Platform Headers"
-DESCRPTION = "Xilinx ps*_init_gpl.c/h platform init code, used for building u-boot-spl and fsbl"
-HOMEPAGE = "http://www.xilinx.com"
-SECTION = "bsp"
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-inherit xilinx-platform-init
-
-COMPATIBLE_MACHINE = "$^"
-COMPATIBLE_MACHINE_picozed-zynq7 = "picozed-zynq7"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-PROVIDES += "virtual/xilinx-platform-init"
-
-SRC_URI = "${@" ".join(["file://%s" % f for f in (d.getVar('PLATFORM_INIT_FILES') or "").split()])}"
-
-S = "${WORKDIR}"
-
-SYSROOT_DIRS += "${PLATFORM_INIT_DIR}"
-
-do_compile() {
- :
-}
-
-do_install() {
- install -d ${D}${PLATFORM_INIT_DIR}
- for i in ${PLATFORM_INIT_FILES}; do
- install -m 0644 ${S}/$i ${D}${PLATFORM_INIT_DIR}/
- done
-}
-
-FILES_${PN} += "${PLATFORM_INIT_DIR}/*"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init/picozed-zynq7/ps7_init_gpl.c b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init/picozed-zynq7/ps7_init_gpl.c
deleted file mode 100644
index 5587ab25c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init/picozed-zynq7/ps7_init_gpl.c
+++ /dev/null
@@ -1,13191 +0,0 @@
-/******************************************************************************
-* (c) Copyright 2010-2014 Xilinx, Inc. All rights reserved.
-*
-* This program is free software; you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License along
-* with this program; if not, see <http://www.gnu.org/licenses/>
-*
-*
-******************************************************************************/
-/****************************************************************************/
-/**
-*
-* @file ps7_init_gpl.c
-*
-* This file is automatically generated
-*
-*****************************************************************************/
-
-#include "ps7_init_gpl.h"
-
-unsigned long ps7_pll_init_data_3_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: PLL SLCR REGISTERS
- // .. .. START: ARM PLL INIT
- // .. .. PLL_RES = 0x4
- // .. .. ==> 0XF8000110[7:4] = 0x00000004U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000040U
- // .. .. PLL_CP = 0x2
- // .. .. ==> 0XF8000110[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. LOCK_CNT = 0xfa
- // .. .. ==> 0XF8000110[21:12] = 0x000000FAU
- // .. .. ==> MASK : 0x003FF000U VAL : 0x000FA000U
- // .. ..
- EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U ,0x000FA240U),
- // .. .. .. START: UPDATE FB_DIV
- // .. .. .. PLL_FDIV = 0x3c
- // .. .. .. ==> 0XF8000100[18:12] = 0x0000003CU
- // .. .. .. ==> MASK : 0x0007F000U VAL : 0x0003C000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x0007F000U ,0x0003C000U),
- // .. .. .. FINISH: UPDATE FB_DIV
- // .. .. .. START: BY PASS PLL
- // .. .. .. PLL_BYPASS_FORCE = 1
- // .. .. .. ==> 0XF8000100[4:4] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000010U),
- // .. .. .. FINISH: BY PASS PLL
- // .. .. .. START: ASSERT RESET
- // .. .. .. PLL_RESET = 1
- // .. .. .. ==> 0XF8000100[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000001U),
- // .. .. .. FINISH: ASSERT RESET
- // .. .. .. START: DEASSERT RESET
- // .. .. .. PLL_RESET = 0
- // .. .. .. ==> 0XF8000100[0:0] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000000U),
- // .. .. .. FINISH: DEASSERT RESET
- // .. .. .. START: CHECK PLL STATUS
- // .. .. .. ARM_PLL_LOCK = 1
- // .. .. .. ==> 0XF800010C[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKPOLL(0XF800010C, 0x00000001U),
- // .. .. .. FINISH: CHECK PLL STATUS
- // .. .. .. START: REMOVE PLL BY PASS
- // .. .. .. PLL_BYPASS_FORCE = 0
- // .. .. .. ==> 0XF8000100[4:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000000U),
- // .. .. .. FINISH: REMOVE PLL BY PASS
- // .. .. .. SRCSEL = 0x0
- // .. .. .. ==> 0XF8000120[5:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. .. DIVISOR = 0x3
- // .. .. .. ==> 0XF8000120[13:8] = 0x00000003U
- // .. .. .. ==> MASK : 0x00003F00U VAL : 0x00000300U
- // .. .. .. CPU_6OR4XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[24:24] = 0x00000001U
- // .. .. .. ==> MASK : 0x01000000U VAL : 0x01000000U
- // .. .. .. CPU_3OR2XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[25:25] = 0x00000001U
- // .. .. .. ==> MASK : 0x02000000U VAL : 0x02000000U
- // .. .. .. CPU_2XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[26:26] = 0x00000001U
- // .. .. .. ==> MASK : 0x04000000U VAL : 0x04000000U
- // .. .. .. CPU_1XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[27:27] = 0x00000001U
- // .. .. .. ==> MASK : 0x08000000U VAL : 0x08000000U
- // .. .. .. CPU_PERI_CLKACT = 0x1
- // .. .. .. ==> 0XF8000120[28:28] = 0x00000001U
- // .. .. .. ==> MASK : 0x10000000U VAL : 0x10000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000120, 0x1F003F30U ,0x1F000300U),
- // .. .. FINISH: ARM PLL INIT
- // .. .. START: DDR PLL INIT
- // .. .. PLL_RES = 0x2
- // .. .. ==> 0XF8000114[7:4] = 0x00000002U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000020U
- // .. .. PLL_CP = 0x2
- // .. .. ==> 0XF8000114[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. LOCK_CNT = 0x12c
- // .. .. ==> 0XF8000114[21:12] = 0x0000012CU
- // .. .. ==> MASK : 0x003FF000U VAL : 0x0012C000U
- // .. ..
- EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U ,0x0012C220U),
- // .. .. .. START: UPDATE FB_DIV
- // .. .. .. PLL_FDIV = 0x20
- // .. .. .. ==> 0XF8000104[18:12] = 0x00000020U
- // .. .. .. ==> MASK : 0x0007F000U VAL : 0x00020000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x0007F000U ,0x00020000U),
- // .. .. .. FINISH: UPDATE FB_DIV
- // .. .. .. START: BY PASS PLL
- // .. .. .. PLL_BYPASS_FORCE = 1
- // .. .. .. ==> 0XF8000104[4:4] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000010U),
- // .. .. .. FINISH: BY PASS PLL
- // .. .. .. START: ASSERT RESET
- // .. .. .. PLL_RESET = 1
- // .. .. .. ==> 0XF8000104[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000001U),
- // .. .. .. FINISH: ASSERT RESET
- // .. .. .. START: DEASSERT RESET
- // .. .. .. PLL_RESET = 0
- // .. .. .. ==> 0XF8000104[0:0] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000000U),
- // .. .. .. FINISH: DEASSERT RESET
- // .. .. .. START: CHECK PLL STATUS
- // .. .. .. DDR_PLL_LOCK = 1
- // .. .. .. ==> 0XF800010C[1:1] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. ..
- EMIT_MASKPOLL(0XF800010C, 0x00000002U),
- // .. .. .. FINISH: CHECK PLL STATUS
- // .. .. .. START: REMOVE PLL BY PASS
- // .. .. .. PLL_BYPASS_FORCE = 0
- // .. .. .. ==> 0XF8000104[4:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000000U),
- // .. .. .. FINISH: REMOVE PLL BY PASS
- // .. .. .. DDR_3XCLKACT = 0x1
- // .. .. .. ==> 0XF8000124[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. .. DDR_2XCLKACT = 0x1
- // .. .. .. ==> 0XF8000124[1:1] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. .. DDR_3XCLK_DIVISOR = 0x2
- // .. .. .. ==> 0XF8000124[25:20] = 0x00000002U
- // .. .. .. ==> MASK : 0x03F00000U VAL : 0x00200000U
- // .. .. .. DDR_2XCLK_DIVISOR = 0x3
- // .. .. .. ==> 0XF8000124[31:26] = 0x00000003U
- // .. .. .. ==> MASK : 0xFC000000U VAL : 0x0C000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000124, 0xFFF00003U ,0x0C200003U),
- // .. .. FINISH: DDR PLL INIT
- // .. .. START: IO PLL INIT
- // .. .. PLL_RES = 0x4
- // .. .. ==> 0XF8000118[7:4] = 0x00000004U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000040U
- // .. .. PLL_CP = 0x2
- // .. .. ==> 0XF8000118[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. LOCK_CNT = 0xfa
- // .. .. ==> 0XF8000118[21:12] = 0x000000FAU
- // .. .. ==> MASK : 0x003FF000U VAL : 0x000FA000U
- // .. ..
- EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U ,0x000FA240U),
- // .. .. .. START: UPDATE FB_DIV
- // .. .. .. PLL_FDIV = 0x3c
- // .. .. .. ==> 0XF8000108[18:12] = 0x0000003CU
- // .. .. .. ==> MASK : 0x0007F000U VAL : 0x0003C000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x0007F000U ,0x0003C000U),
- // .. .. .. FINISH: UPDATE FB_DIV
- // .. .. .. START: BY PASS PLL
- // .. .. .. PLL_BYPASS_FORCE = 1
- // .. .. .. ==> 0XF8000108[4:4] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000010U),
- // .. .. .. FINISH: BY PASS PLL
- // .. .. .. START: ASSERT RESET
- // .. .. .. PLL_RESET = 1
- // .. .. .. ==> 0XF8000108[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000001U),
- // .. .. .. FINISH: ASSERT RESET
- // .. .. .. START: DEASSERT RESET
- // .. .. .. PLL_RESET = 0
- // .. .. .. ==> 0XF8000108[0:0] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000000U),
- // .. .. .. FINISH: DEASSERT RESET
- // .. .. .. START: CHECK PLL STATUS
- // .. .. .. IO_PLL_LOCK = 1
- // .. .. .. ==> 0XF800010C[2:2] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. .. ..
- EMIT_MASKPOLL(0XF800010C, 0x00000004U),
- // .. .. .. FINISH: CHECK PLL STATUS
- // .. .. .. START: REMOVE PLL BY PASS
- // .. .. .. PLL_BYPASS_FORCE = 0
- // .. .. .. ==> 0XF8000108[4:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000000U),
- // .. .. .. FINISH: REMOVE PLL BY PASS
- // .. .. FINISH: IO PLL INIT
- // .. FINISH: PLL SLCR REGISTERS
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_clock_init_data_3_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: CLOCK CONTROL SLCR REGISTERS
- // .. CLKACT = 0x1
- // .. ==> 0XF8000128[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. DIVISOR0 = 0x23
- // .. ==> 0XF8000128[13:8] = 0x00000023U
- // .. ==> MASK : 0x00003F00U VAL : 0x00002300U
- // .. DIVISOR1 = 0x3
- // .. ==> 0XF8000128[25:20] = 0x00000003U
- // .. ==> MASK : 0x03F00000U VAL : 0x00300000U
- // ..
- EMIT_MASKWRITE(0XF8000128, 0x03F03F01U ,0x00302301U),
- // .. CLKACT = 0x1
- // .. ==> 0XF8000138[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000138[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000138, 0x00000011U ,0x00000001U),
- // .. CLKACT = 0x1
- // .. ==> 0XF8000140[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000140[6:4] = 0x00000000U
- // .. ==> MASK : 0x00000070U VAL : 0x00000000U
- // .. DIVISOR = 0x10
- // .. ==> 0XF8000140[13:8] = 0x00000010U
- // .. ==> MASK : 0x00003F00U VAL : 0x00001000U
- // .. DIVISOR1 = 0x1
- // .. ==> 0XF8000140[25:20] = 0x00000001U
- // .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // ..
- EMIT_MASKWRITE(0XF8000140, 0x03F03F71U ,0x00101001U),
- // .. CLKACT = 0x1
- // .. ==> 0XF800014C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. SRCSEL = 0x0
- // .. ==> 0XF800014C[5:4] = 0x00000000U
- // .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. DIVISOR = 0xa
- // .. ==> 0XF800014C[13:8] = 0x0000000AU
- // .. ==> MASK : 0x00003F00U VAL : 0x00000A00U
- // ..
- EMIT_MASKWRITE(0XF800014C, 0x00003F31U ,0x00000A01U),
- // .. CLKACT0 = 0x0
- // .. ==> 0XF8000150[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. CLKACT1 = 0x1
- // .. ==> 0XF8000150[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000150[5:4] = 0x00000000U
- // .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. DIVISOR = 0x28
- // .. ==> 0XF8000150[13:8] = 0x00000028U
- // .. ==> MASK : 0x00003F00U VAL : 0x00002800U
- // ..
- EMIT_MASKWRITE(0XF8000150, 0x00003F33U ,0x00002802U),
- // .. CLKACT0 = 0x0
- // .. ==> 0XF8000154[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. CLKACT1 = 0x1
- // .. ==> 0XF8000154[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000154[5:4] = 0x00000000U
- // .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. DIVISOR = 0x28
- // .. ==> 0XF8000154[13:8] = 0x00000028U
- // .. ==> MASK : 0x00003F00U VAL : 0x00002800U
- // ..
- EMIT_MASKWRITE(0XF8000154, 0x00003F33U ,0x00002802U),
- // .. .. START: TRACE CLOCK
- // .. .. FINISH: TRACE CLOCK
- // .. .. CLKACT = 0x1
- // .. .. ==> 0XF8000168[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000168[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR = 0xa
- // .. .. ==> 0XF8000168[13:8] = 0x0000000AU
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00000A00U
- // .. ..
- EMIT_MASKWRITE(0XF8000168, 0x00003F31U ,0x00000A01U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000170[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x14
- // .. .. ==> 0XF8000170[13:8] = 0x00000014U
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00001400U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF8000170[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF8000170, 0x03F03F30U ,0x00101400U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000180[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x14
- // .. .. ==> 0XF8000180[13:8] = 0x00000014U
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00001400U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF8000180[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF8000180, 0x03F03F30U ,0x00101400U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000190[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x3c
- // .. .. ==> 0XF8000190[13:8] = 0x0000003CU
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00003C00U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF8000190[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF8000190, 0x03F03F30U ,0x00103C00U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF80001A0[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x28
- // .. .. ==> 0XF80001A0[13:8] = 0x00000028U
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00002800U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF80001A0[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF80001A0, 0x03F03F30U ,0x00102800U),
- // .. .. CLK_621_TRUE = 0x1
- // .. .. ==> 0XF80001C4[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. ..
- EMIT_MASKWRITE(0XF80001C4, 0x00000001U ,0x00000001U),
- // .. .. DMA_CPU_2XCLKACT = 0x1
- // .. .. ==> 0XF800012C[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. USB0_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[2:2] = 0x00000001U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. .. USB1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[3:3] = 0x00000001U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000008U
- // .. .. GEM0_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[6:6] = 0x00000001U
- // .. .. ==> MASK : 0x00000040U VAL : 0x00000040U
- // .. .. GEM1_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[7:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. .. SDI0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. SDI1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[11:11] = 0x00000001U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000800U
- // .. .. SPI0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[14:14] = 0x00000000U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // .. .. SPI1_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. CAN0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. CAN1_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. I2C0_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[18:18] = 0x00000001U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00040000U
- // .. .. I2C1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[19:19] = 0x00000001U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // .. .. UART0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[20:20] = 0x00000000U
- // .. .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. .. UART1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[21:21] = 0x00000001U
- // .. .. ==> MASK : 0x00200000U VAL : 0x00200000U
- // .. .. GPIO_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[22:22] = 0x00000001U
- // .. .. ==> MASK : 0x00400000U VAL : 0x00400000U
- // .. .. LQSPI_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[23:23] = 0x00000001U
- // .. .. ==> MASK : 0x00800000U VAL : 0x00800000U
- // .. .. SMC_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[24:24] = 0x00000001U
- // .. .. ==> MASK : 0x01000000U VAL : 0x01000000U
- // .. ..
- EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU ,0x01EC084DU),
- // .. FINISH: CLOCK CONTROL SLCR REGISTERS
- // .. START: THIS SHOULD BE BLANK
- // .. FINISH: THIS SHOULD BE BLANK
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_ddr_init_data_3_0[] = {
- // START: top
- // .. START: DDR INITIALIZATION
- // .. .. START: LOCK DDR
- // .. .. reg_ddrc_soft_rstb = 0
- // .. .. ==> 0XF8006000[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_powerdown_en = 0x0
- // .. .. ==> 0XF8006000[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_ddrc_data_bus_width = 0x0
- // .. .. ==> 0XF8006000[3:2] = 0x00000000U
- // .. .. ==> MASK : 0x0000000CU VAL : 0x00000000U
- // .. .. reg_ddrc_burst8_refresh = 0x0
- // .. .. ==> 0XF8006000[6:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000070U VAL : 0x00000000U
- // .. .. reg_ddrc_rdwr_idle_gap = 0x1
- // .. .. ==> 0XF8006000[13:7] = 0x00000001U
- // .. .. ==> MASK : 0x00003F80U VAL : 0x00000080U
- // .. .. reg_ddrc_dis_rd_bypass = 0x0
- // .. .. ==> 0XF8006000[14:14] = 0x00000000U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_act_bypass = 0x0
- // .. .. ==> 0XF8006000[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_auto_refresh = 0x0
- // .. .. ==> 0XF8006000[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000080U),
- // .. .. FINISH: LOCK DDR
- // .. .. reg_ddrc_t_rfc_nom_x32 = 0x81
- // .. .. ==> 0XF8006004[11:0] = 0x00000081U
- // .. .. ==> MASK : 0x00000FFFU VAL : 0x00000081U
- // .. .. reserved_reg_ddrc_active_ranks = 0x1
- // .. .. ==> 0XF8006004[13:12] = 0x00000001U
- // .. .. ==> MASK : 0x00003000U VAL : 0x00001000U
- // .. .. reg_ddrc_addrmap_cs_bit0 = 0x0
- // .. .. ==> 0XF8006004[18:14] = 0x00000000U
- // .. .. ==> MASK : 0x0007C000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006004, 0x0007FFFFU ,0x00001081U),
- // .. .. reg_ddrc_hpr_min_non_critical_x32 = 0xf
- // .. .. ==> 0XF8006008[10:0] = 0x0000000FU
- // .. .. ==> MASK : 0x000007FFU VAL : 0x0000000FU
- // .. .. reg_ddrc_hpr_max_starve_x32 = 0xf
- // .. .. ==> 0XF8006008[21:11] = 0x0000000FU
- // .. .. ==> MASK : 0x003FF800U VAL : 0x00007800U
- // .. .. reg_ddrc_hpr_xact_run_length = 0xf
- // .. .. ==> 0XF8006008[25:22] = 0x0000000FU
- // .. .. ==> MASK : 0x03C00000U VAL : 0x03C00000U
- // .. ..
- EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU ,0x03C0780FU),
- // .. .. reg_ddrc_lpr_min_non_critical_x32 = 0x1
- // .. .. ==> 0XF800600C[10:0] = 0x00000001U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000001U
- // .. .. reg_ddrc_lpr_max_starve_x32 = 0x2
- // .. .. ==> 0XF800600C[21:11] = 0x00000002U
- // .. .. ==> MASK : 0x003FF800U VAL : 0x00001000U
- // .. .. reg_ddrc_lpr_xact_run_length = 0x8
- // .. .. ==> 0XF800600C[25:22] = 0x00000008U
- // .. .. ==> MASK : 0x03C00000U VAL : 0x02000000U
- // .. ..
- EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU ,0x02001001U),
- // .. .. reg_ddrc_w_min_non_critical_x32 = 0x1
- // .. .. ==> 0XF8006010[10:0] = 0x00000001U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000001U
- // .. .. reg_ddrc_w_xact_run_length = 0x8
- // .. .. ==> 0XF8006010[14:11] = 0x00000008U
- // .. .. ==> MASK : 0x00007800U VAL : 0x00004000U
- // .. .. reg_ddrc_w_max_starve_x32 = 0x2
- // .. .. ==> 0XF8006010[25:15] = 0x00000002U
- // .. .. ==> MASK : 0x03FF8000U VAL : 0x00010000U
- // .. ..
- EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU ,0x00014001U),
- // .. .. reg_ddrc_t_rc = 0x1a
- // .. .. ==> 0XF8006014[5:0] = 0x0000001AU
- // .. .. ==> MASK : 0x0000003FU VAL : 0x0000001AU
- // .. .. reg_ddrc_t_rfc_min = 0xa0
- // .. .. ==> 0XF8006014[13:6] = 0x000000A0U
- // .. .. ==> MASK : 0x00003FC0U VAL : 0x00002800U
- // .. .. reg_ddrc_post_selfref_gap_x32 = 0x10
- // .. .. ==> 0XF8006014[20:14] = 0x00000010U
- // .. .. ==> MASK : 0x001FC000U VAL : 0x00040000U
- // .. ..
- EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU ,0x0004281AU),
- // .. .. reg_ddrc_wr2pre = 0x12
- // .. .. ==> 0XF8006018[4:0] = 0x00000012U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000012U
- // .. .. reg_ddrc_powerdown_to_x32 = 0x6
- // .. .. ==> 0XF8006018[9:5] = 0x00000006U
- // .. .. ==> MASK : 0x000003E0U VAL : 0x000000C0U
- // .. .. reg_ddrc_t_faw = 0x16
- // .. .. ==> 0XF8006018[15:10] = 0x00000016U
- // .. .. ==> MASK : 0x0000FC00U VAL : 0x00005800U
- // .. .. reg_ddrc_t_ras_max = 0x24
- // .. .. ==> 0XF8006018[21:16] = 0x00000024U
- // .. .. ==> MASK : 0x003F0000U VAL : 0x00240000U
- // .. .. reg_ddrc_t_ras_min = 0x13
- // .. .. ==> 0XF8006018[26:22] = 0x00000013U
- // .. .. ==> MASK : 0x07C00000U VAL : 0x04C00000U
- // .. .. reg_ddrc_t_cke = 0x4
- // .. .. ==> 0XF8006018[31:28] = 0x00000004U
- // .. .. ==> MASK : 0xF0000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU ,0x44E458D2U),
- // .. .. reg_ddrc_write_latency = 0x5
- // .. .. ==> 0XF800601C[4:0] = 0x00000005U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000005U
- // .. .. reg_ddrc_rd2wr = 0x7
- // .. .. ==> 0XF800601C[9:5] = 0x00000007U
- // .. .. ==> MASK : 0x000003E0U VAL : 0x000000E0U
- // .. .. reg_ddrc_wr2rd = 0xe
- // .. .. ==> 0XF800601C[14:10] = 0x0000000EU
- // .. .. ==> MASK : 0x00007C00U VAL : 0x00003800U
- // .. .. reg_ddrc_t_xp = 0x4
- // .. .. ==> 0XF800601C[19:15] = 0x00000004U
- // .. .. ==> MASK : 0x000F8000U VAL : 0x00020000U
- // .. .. reg_ddrc_pad_pd = 0x0
- // .. .. ==> 0XF800601C[22:20] = 0x00000000U
- // .. .. ==> MASK : 0x00700000U VAL : 0x00000000U
- // .. .. reg_ddrc_rd2pre = 0x4
- // .. .. ==> 0XF800601C[27:23] = 0x00000004U
- // .. .. ==> MASK : 0x0F800000U VAL : 0x02000000U
- // .. .. reg_ddrc_t_rcd = 0x7
- // .. .. ==> 0XF800601C[31:28] = 0x00000007U
- // .. .. ==> MASK : 0xF0000000U VAL : 0x70000000U
- // .. ..
- EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU ,0x720238E5U),
- // .. .. reg_ddrc_t_ccd = 0x4
- // .. .. ==> 0XF8006020[4:2] = 0x00000004U
- // .. .. ==> MASK : 0x0000001CU VAL : 0x00000010U
- // .. .. reg_ddrc_t_rrd = 0x6
- // .. .. ==> 0XF8006020[7:5] = 0x00000006U
- // .. .. ==> MASK : 0x000000E0U VAL : 0x000000C0U
- // .. .. reg_ddrc_refresh_margin = 0x2
- // .. .. ==> 0XF8006020[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. reg_ddrc_t_rp = 0x7
- // .. .. ==> 0XF8006020[15:12] = 0x00000007U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00007000U
- // .. .. reg_ddrc_refresh_to_x32 = 0x8
- // .. .. ==> 0XF8006020[20:16] = 0x00000008U
- // .. .. ==> MASK : 0x001F0000U VAL : 0x00080000U
- // .. .. reg_ddrc_mobile = 0x0
- // .. .. ==> 0XF8006020[22:22] = 0x00000000U
- // .. .. ==> MASK : 0x00400000U VAL : 0x00000000U
- // .. .. reg_ddrc_en_dfi_dram_clk_disable = 0x0
- // .. .. ==> 0XF8006020[23:23] = 0x00000000U
- // .. .. ==> MASK : 0x00800000U VAL : 0x00000000U
- // .. .. reg_ddrc_read_latency = 0x7
- // .. .. ==> 0XF8006020[28:24] = 0x00000007U
- // .. .. ==> MASK : 0x1F000000U VAL : 0x07000000U
- // .. .. reg_phy_mode_ddr1_ddr2 = 0x1
- // .. .. ==> 0XF8006020[29:29] = 0x00000001U
- // .. .. ==> MASK : 0x20000000U VAL : 0x20000000U
- // .. .. reg_ddrc_dis_pad_pd = 0x0
- // .. .. ==> 0XF8006020[30:30] = 0x00000000U
- // .. .. ==> MASK : 0x40000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006020, 0x7FDFFFFCU ,0x270872D0U),
- // .. .. reg_ddrc_en_2t_timing_mode = 0x0
- // .. .. ==> 0XF8006024[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_prefer_write = 0x0
- // .. .. ==> 0XF8006024[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_wr = 0x0
- // .. .. ==> 0XF8006024[6:6] = 0x00000000U
- // .. .. ==> MASK : 0x00000040U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_addr = 0x0
- // .. .. ==> 0XF8006024[8:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000180U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_data = 0x0
- // .. .. ==> 0XF8006024[24:9] = 0x00000000U
- // .. .. ==> MASK : 0x01FFFE00U VAL : 0x00000000U
- // .. .. ddrc_reg_mr_wr_busy = 0x0
- // .. .. ==> 0XF8006024[25:25] = 0x00000000U
- // .. .. ==> MASK : 0x02000000U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_type = 0x0
- // .. .. ==> 0XF8006024[26:26] = 0x00000000U
- // .. .. ==> MASK : 0x04000000U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_rdata_valid = 0x0
- // .. .. ==> 0XF8006024[27:27] = 0x00000000U
- // .. .. ==> MASK : 0x08000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006024, 0x0FFFFFC3U ,0x00000000U),
- // .. .. reg_ddrc_final_wait_x32 = 0x7
- // .. .. ==> 0XF8006028[6:0] = 0x00000007U
- // .. .. ==> MASK : 0x0000007FU VAL : 0x00000007U
- // .. .. reg_ddrc_pre_ocd_x32 = 0x0
- // .. .. ==> 0XF8006028[10:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000780U VAL : 0x00000000U
- // .. .. reg_ddrc_t_mrd = 0x4
- // .. .. ==> 0XF8006028[13:11] = 0x00000004U
- // .. .. ==> MASK : 0x00003800U VAL : 0x00002000U
- // .. ..
- EMIT_MASKWRITE(0XF8006028, 0x00003FFFU ,0x00002007U),
- // .. .. reg_ddrc_emr2 = 0x8
- // .. .. ==> 0XF800602C[15:0] = 0x00000008U
- // .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000008U
- // .. .. reg_ddrc_emr3 = 0x0
- // .. .. ==> 0XF800602C[31:16] = 0x00000000U
- // .. .. ==> MASK : 0xFFFF0000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU ,0x00000008U),
- // .. .. reg_ddrc_mr = 0x930
- // .. .. ==> 0XF8006030[15:0] = 0x00000930U
- // .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000930U
- // .. .. reg_ddrc_emr = 0x4
- // .. .. ==> 0XF8006030[31:16] = 0x00000004U
- // .. .. ==> MASK : 0xFFFF0000U VAL : 0x00040000U
- // .. ..
- EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU ,0x00040930U),
- // .. .. reg_ddrc_burst_rdwr = 0x4
- // .. .. ==> 0XF8006034[3:0] = 0x00000004U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000004U
- // .. .. reg_ddrc_pre_cke_x1024 = 0x105
- // .. .. ==> 0XF8006034[13:4] = 0x00000105U
- // .. .. ==> MASK : 0x00003FF0U VAL : 0x00001050U
- // .. .. reg_ddrc_post_cke_x1024 = 0x1
- // .. .. ==> 0XF8006034[25:16] = 0x00000001U
- // .. .. ==> MASK : 0x03FF0000U VAL : 0x00010000U
- // .. .. reg_ddrc_burstchop = 0x0
- // .. .. ==> 0XF8006034[28:28] = 0x00000000U
- // .. .. ==> MASK : 0x10000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU ,0x00011054U),
- // .. .. reg_ddrc_force_low_pri_n = 0x0
- // .. .. ==> 0XF8006038[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_dq = 0x0
- // .. .. ==> 0XF8006038[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006038, 0x00000003U ,0x00000000U),
- // .. .. reg_ddrc_addrmap_bank_b0 = 0x7
- // .. .. ==> 0XF800603C[3:0] = 0x00000007U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000007U
- // .. .. reg_ddrc_addrmap_bank_b1 = 0x7
- // .. .. ==> 0XF800603C[7:4] = 0x00000007U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000070U
- // .. .. reg_ddrc_addrmap_bank_b2 = 0x7
- // .. .. ==> 0XF800603C[11:8] = 0x00000007U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000700U
- // .. .. reg_ddrc_addrmap_col_b5 = 0x0
- // .. .. ==> 0XF800603C[15:12] = 0x00000000U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b6 = 0x0
- // .. .. ==> 0XF800603C[19:16] = 0x00000000U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU ,0x00000777U),
- // .. .. reg_ddrc_addrmap_col_b2 = 0x0
- // .. .. ==> 0XF8006040[3:0] = 0x00000000U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b3 = 0x0
- // .. .. ==> 0XF8006040[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b4 = 0x0
- // .. .. ==> 0XF8006040[11:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b7 = 0x0
- // .. .. ==> 0XF8006040[15:12] = 0x00000000U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b8 = 0x0
- // .. .. ==> 0XF8006040[19:16] = 0x00000000U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b9 = 0xf
- // .. .. ==> 0XF8006040[23:20] = 0x0000000FU
- // .. .. ==> MASK : 0x00F00000U VAL : 0x00F00000U
- // .. .. reg_ddrc_addrmap_col_b10 = 0xf
- // .. .. ==> 0XF8006040[27:24] = 0x0000000FU
- // .. .. ==> MASK : 0x0F000000U VAL : 0x0F000000U
- // .. .. reg_ddrc_addrmap_col_b11 = 0xf
- // .. .. ==> 0XF8006040[31:28] = 0x0000000FU
- // .. .. ==> MASK : 0xF0000000U VAL : 0xF0000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU ,0xFFF00000U),
- // .. .. reg_ddrc_addrmap_row_b0 = 0x6
- // .. .. ==> 0XF8006044[3:0] = 0x00000006U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000006U
- // .. .. reg_ddrc_addrmap_row_b1 = 0x6
- // .. .. ==> 0XF8006044[7:4] = 0x00000006U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000060U
- // .. .. reg_ddrc_addrmap_row_b2_11 = 0x6
- // .. .. ==> 0XF8006044[11:8] = 0x00000006U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000600U
- // .. .. reg_ddrc_addrmap_row_b12 = 0x6
- // .. .. ==> 0XF8006044[15:12] = 0x00000006U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00006000U
- // .. .. reg_ddrc_addrmap_row_b13 = 0x6
- // .. .. ==> 0XF8006044[19:16] = 0x00000006U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00060000U
- // .. .. reg_ddrc_addrmap_row_b14 = 0x6
- // .. .. ==> 0XF8006044[23:20] = 0x00000006U
- // .. .. ==> MASK : 0x00F00000U VAL : 0x00600000U
- // .. .. reg_ddrc_addrmap_row_b15 = 0xf
- // .. .. ==> 0XF8006044[27:24] = 0x0000000FU
- // .. .. ==> MASK : 0x0F000000U VAL : 0x0F000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU ,0x0F666666U),
- // .. .. reg_phy_rd_local_odt = 0x0
- // .. .. ==> 0XF8006048[13:12] = 0x00000000U
- // .. .. ==> MASK : 0x00003000U VAL : 0x00000000U
- // .. .. reg_phy_wr_local_odt = 0x3
- // .. .. ==> 0XF8006048[15:14] = 0x00000003U
- // .. .. ==> MASK : 0x0000C000U VAL : 0x0000C000U
- // .. .. reg_phy_idle_local_odt = 0x3
- // .. .. ==> 0XF8006048[17:16] = 0x00000003U
- // .. .. ==> MASK : 0x00030000U VAL : 0x00030000U
- // .. .. reserved_reg_ddrc_rank0_wr_odt = 0x1
- // .. .. ==> 0XF8006048[5:3] = 0x00000001U
- // .. .. ==> MASK : 0x00000038U VAL : 0x00000008U
- // .. .. reserved_reg_ddrc_rank0_rd_odt = 0x0
- // .. .. ==> 0XF8006048[2:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000007U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006048, 0x0003F03FU ,0x0003C008U),
- // .. .. reg_phy_rd_cmd_to_data = 0x0
- // .. .. ==> 0XF8006050[3:0] = 0x00000000U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000000U
- // .. .. reg_phy_wr_cmd_to_data = 0x0
- // .. .. ==> 0XF8006050[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. .. reg_phy_rdc_we_to_re_delay = 0x8
- // .. .. ==> 0XF8006050[11:8] = 0x00000008U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000800U
- // .. .. reg_phy_rdc_fifo_rst_disable = 0x0
- // .. .. ==> 0XF8006050[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. reg_phy_use_fixed_re = 0x1
- // .. .. ==> 0XF8006050[16:16] = 0x00000001U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00010000U
- // .. .. reg_phy_rdc_fifo_rst_err_cnt_clr = 0x0
- // .. .. ==> 0XF8006050[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_phy_dis_phy_ctrl_rstn = 0x0
- // .. .. ==> 0XF8006050[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_phy_clk_stall_level = 0x0
- // .. .. ==> 0XF8006050[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_num_of_dq0 = 0x7
- // .. .. ==> 0XF8006050[27:24] = 0x00000007U
- // .. .. ==> MASK : 0x0F000000U VAL : 0x07000000U
- // .. .. reg_phy_wrlvl_num_of_dq0 = 0x7
- // .. .. ==> 0XF8006050[31:28] = 0x00000007U
- // .. .. ==> MASK : 0xF0000000U VAL : 0x70000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU ,0x77010800U),
- // .. .. reg_ddrc_dis_dll_calib = 0x0
- // .. .. ==> 0XF8006058[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006058, 0x00010000U ,0x00000000U),
- // .. .. reg_ddrc_rd_odt_delay = 0x3
- // .. .. ==> 0XF800605C[3:0] = 0x00000003U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000003U
- // .. .. reg_ddrc_wr_odt_delay = 0x0
- // .. .. ==> 0XF800605C[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. .. reg_ddrc_rd_odt_hold = 0x0
- // .. .. ==> 0XF800605C[11:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000000U
- // .. .. reg_ddrc_wr_odt_hold = 0x5
- // .. .. ==> 0XF800605C[15:12] = 0x00000005U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00005000U
- // .. ..
- EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU ,0x00005003U),
- // .. .. reg_ddrc_pageclose = 0x0
- // .. .. ==> 0XF8006060[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_lpr_num_entries = 0x1f
- // .. .. ==> 0XF8006060[6:1] = 0x0000001FU
- // .. .. ==> MASK : 0x0000007EU VAL : 0x0000003EU
- // .. .. reg_ddrc_auto_pre_en = 0x0
- // .. .. ==> 0XF8006060[7:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. .. reg_ddrc_refresh_update_level = 0x0
- // .. .. ==> 0XF8006060[8:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_wc = 0x0
- // .. .. ==> 0XF8006060[9:9] = 0x00000000U
- // .. .. ==> MASK : 0x00000200U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_collision_page_opt = 0x0
- // .. .. ==> 0XF8006060[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_ddrc_selfref_en = 0x0
- // .. .. ==> 0XF8006060[12:12] = 0x00000000U
- // .. .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006060, 0x000017FFU ,0x0000003EU),
- // .. .. reg_ddrc_go2critical_hysteresis = 0x0
- // .. .. ==> 0XF8006064[12:5] = 0x00000000U
- // .. .. ==> MASK : 0x00001FE0U VAL : 0x00000000U
- // .. .. reg_arb_go2critical_en = 0x1
- // .. .. ==> 0XF8006064[17:17] = 0x00000001U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00020000U
- // .. ..
- EMIT_MASKWRITE(0XF8006064, 0x00021FE0U ,0x00020000U),
- // .. .. reg_ddrc_wrlvl_ww = 0x41
- // .. .. ==> 0XF8006068[7:0] = 0x00000041U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x00000041U
- // .. .. reg_ddrc_rdlvl_rr = 0x41
- // .. .. ==> 0XF8006068[15:8] = 0x00000041U
- // .. .. ==> MASK : 0x0000FF00U VAL : 0x00004100U
- // .. .. reg_ddrc_dfi_t_wlmrd = 0x28
- // .. .. ==> 0XF8006068[25:16] = 0x00000028U
- // .. .. ==> MASK : 0x03FF0000U VAL : 0x00280000U
- // .. ..
- EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU ,0x00284141U),
- // .. .. dfi_t_ctrlupd_interval_min_x1024 = 0x10
- // .. .. ==> 0XF800606C[7:0] = 0x00000010U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x00000010U
- // .. .. dfi_t_ctrlupd_interval_max_x1024 = 0x16
- // .. .. ==> 0XF800606C[15:8] = 0x00000016U
- // .. .. ==> MASK : 0x0000FF00U VAL : 0x00001600U
- // .. ..
- EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU ,0x00001610U),
- // .. .. reg_ddrc_dfi_t_ctrl_delay = 0x1
- // .. .. ==> 0XF8006078[3:0] = 0x00000001U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000001U
- // .. .. reg_ddrc_dfi_t_dram_clk_disable = 0x1
- // .. .. ==> 0XF8006078[7:4] = 0x00000001U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000010U
- // .. .. reg_ddrc_dfi_t_dram_clk_enable = 0x1
- // .. .. ==> 0XF8006078[11:8] = 0x00000001U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000100U
- // .. .. reg_ddrc_t_cksre = 0x6
- // .. .. ==> 0XF8006078[15:12] = 0x00000006U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00006000U
- // .. .. reg_ddrc_t_cksrx = 0x6
- // .. .. ==> 0XF8006078[19:16] = 0x00000006U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00060000U
- // .. .. reg_ddrc_t_ckesr = 0x4
- // .. .. ==> 0XF8006078[25:20] = 0x00000004U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00400000U
- // .. ..
- EMIT_MASKWRITE(0XF8006078, 0x03FFFFFFU ,0x00466111U),
- // .. .. reg_ddrc_t_ckpde = 0x2
- // .. .. ==> 0XF800607C[3:0] = 0x00000002U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000002U
- // .. .. reg_ddrc_t_ckpdx = 0x2
- // .. .. ==> 0XF800607C[7:4] = 0x00000002U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000020U
- // .. .. reg_ddrc_t_ckdpde = 0x2
- // .. .. ==> 0XF800607C[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. reg_ddrc_t_ckdpdx = 0x2
- // .. .. ==> 0XF800607C[15:12] = 0x00000002U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00002000U
- // .. .. reg_ddrc_t_ckcsx = 0x3
- // .. .. ==> 0XF800607C[19:16] = 0x00000003U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00030000U
- // .. ..
- EMIT_MASKWRITE(0XF800607C, 0x000FFFFFU ,0x00032222U),
- // .. .. reg_ddrc_dis_auto_zq = 0x0
- // .. .. ==> 0XF80060A4[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_ddr3 = 0x1
- // .. .. ==> 0XF80060A4[1:1] = 0x00000001U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. reg_ddrc_t_mod = 0x200
- // .. .. ==> 0XF80060A4[11:2] = 0x00000200U
- // .. .. ==> MASK : 0x00000FFCU VAL : 0x00000800U
- // .. .. reg_ddrc_t_zq_long_nop = 0x200
- // .. .. ==> 0XF80060A4[21:12] = 0x00000200U
- // .. .. ==> MASK : 0x003FF000U VAL : 0x00200000U
- // .. .. reg_ddrc_t_zq_short_nop = 0x40
- // .. .. ==> 0XF80060A4[31:22] = 0x00000040U
- // .. .. ==> MASK : 0xFFC00000U VAL : 0x10000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU ,0x10200802U),
- // .. .. t_zq_short_interval_x1024 = 0xcb73
- // .. .. ==> 0XF80060A8[19:0] = 0x0000CB73U
- // .. .. ==> MASK : 0x000FFFFFU VAL : 0x0000CB73U
- // .. .. dram_rstn_x1024 = 0x69
- // .. .. ==> 0XF80060A8[27:20] = 0x00000069U
- // .. .. ==> MASK : 0x0FF00000U VAL : 0x06900000U
- // .. ..
- EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU ,0x0690CB73U),
- // .. .. deeppowerdown_en = 0x0
- // .. .. ==> 0XF80060AC[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. deeppowerdown_to_x1024 = 0xff
- // .. .. ==> 0XF80060AC[8:1] = 0x000000FFU
- // .. .. ==> MASK : 0x000001FEU VAL : 0x000001FEU
- // .. ..
- EMIT_MASKWRITE(0XF80060AC, 0x000001FFU ,0x000001FEU),
- // .. .. dfi_wrlvl_max_x1024 = 0xfff
- // .. .. ==> 0XF80060B0[11:0] = 0x00000FFFU
- // .. .. ==> MASK : 0x00000FFFU VAL : 0x00000FFFU
- // .. .. dfi_rdlvl_max_x1024 = 0xfff
- // .. .. ==> 0XF80060B0[23:12] = 0x00000FFFU
- // .. .. ==> MASK : 0x00FFF000U VAL : 0x00FFF000U
- // .. .. ddrc_reg_twrlvl_max_error = 0x0
- // .. .. ==> 0XF80060B0[24:24] = 0x00000000U
- // .. .. ==> MASK : 0x01000000U VAL : 0x00000000U
- // .. .. ddrc_reg_trdlvl_max_error = 0x0
- // .. .. ==> 0XF80060B0[25:25] = 0x00000000U
- // .. .. ==> MASK : 0x02000000U VAL : 0x00000000U
- // .. .. reg_ddrc_dfi_wr_level_en = 0x1
- // .. .. ==> 0XF80060B0[26:26] = 0x00000001U
- // .. .. ==> MASK : 0x04000000U VAL : 0x04000000U
- // .. .. reg_ddrc_dfi_rd_dqs_gate_level = 0x1
- // .. .. ==> 0XF80060B0[27:27] = 0x00000001U
- // .. .. ==> MASK : 0x08000000U VAL : 0x08000000U
- // .. .. reg_ddrc_dfi_rd_data_eye_train = 0x1
- // .. .. ==> 0XF80060B0[28:28] = 0x00000001U
- // .. .. ==> MASK : 0x10000000U VAL : 0x10000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU ,0x1CFFFFFFU),
- // .. .. reg_ddrc_skip_ocd = 0x1
- // .. .. ==> 0XF80060B4[9:9] = 0x00000001U
- // .. .. ==> MASK : 0x00000200U VAL : 0x00000200U
- // .. ..
- EMIT_MASKWRITE(0XF80060B4, 0x00000200U ,0x00000200U),
- // .. .. reg_ddrc_dfi_t_rddata_en = 0x6
- // .. .. ==> 0XF80060B8[4:0] = 0x00000006U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000006U
- // .. .. reg_ddrc_dfi_t_ctrlup_min = 0x3
- // .. .. ==> 0XF80060B8[14:5] = 0x00000003U
- // .. .. ==> MASK : 0x00007FE0U VAL : 0x00000060U
- // .. .. reg_ddrc_dfi_t_ctrlup_max = 0x40
- // .. .. ==> 0XF80060B8[24:15] = 0x00000040U
- // .. .. ==> MASK : 0x01FF8000U VAL : 0x00200000U
- // .. ..
- EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU ,0x00200066U),
- // .. .. START: RESET ECC ERROR
- // .. .. Clear_Uncorrectable_DRAM_ECC_error = 1
- // .. .. ==> 0XF80060C4[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. Clear_Correctable_DRAM_ECC_error = 1
- // .. .. ==> 0XF80060C4[1:1] = 0x00000001U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. ..
- EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000003U),
- // .. .. FINISH: RESET ECC ERROR
- // .. .. Clear_Uncorrectable_DRAM_ECC_error = 0x0
- // .. .. ==> 0XF80060C4[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. Clear_Correctable_DRAM_ECC_error = 0x0
- // .. .. ==> 0XF80060C4[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000000U),
- // .. .. CORR_ECC_LOG_VALID = 0x0
- // .. .. ==> 0XF80060C8[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ECC_CORRECTED_BIT_NUM = 0x0
- // .. .. ==> 0XF80060C8[7:1] = 0x00000000U
- // .. .. ==> MASK : 0x000000FEU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060C8, 0x000000FFU ,0x00000000U),
- // .. .. UNCORR_ECC_LOG_VALID = 0x0
- // .. .. ==> 0XF80060DC[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060DC, 0x00000001U ,0x00000000U),
- // .. .. STAT_NUM_CORR_ERR = 0x0
- // .. .. ==> 0XF80060F0[15:8] = 0x00000000U
- // .. .. ==> MASK : 0x0000FF00U VAL : 0x00000000U
- // .. .. STAT_NUM_UNCORR_ERR = 0x0
- // .. .. ==> 0XF80060F0[7:0] = 0x00000000U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU ,0x00000000U),
- // .. .. reg_ddrc_ecc_mode = 0x0
- // .. .. ==> 0XF80060F4[2:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000007U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_scrub = 0x1
- // .. .. ==> 0XF80060F4[3:3] = 0x00000001U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000008U
- // .. ..
- EMIT_MASKWRITE(0XF80060F4, 0x0000000FU ,0x00000008U),
- // .. .. reg_phy_dif_on = 0x0
- // .. .. ==> 0XF8006114[3:0] = 0x00000000U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000000U
- // .. .. reg_phy_dif_off = 0x0
- // .. .. ==> 0XF8006114[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006114, 0x000000FFU ,0x00000000U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF8006118[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006118[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF8006118[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006118[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF8006118[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF8006118[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF8006118[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006118, 0x7FFFFFCFU ,0x40000001U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF800611C[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF800611C[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF800611C[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF800611C[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF800611C[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF800611C[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF800611C[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF800611C, 0x7FFFFFCFU ,0x40000001U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF8006120[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF8006120[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF8006120[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF8006120[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006120, 0x7FFFFFCFU ,0x40000001U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF8006124[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006124[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF8006124[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006124[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF8006124[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF8006124[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF8006124[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006124, 0x7FFFFFCFU ,0x40000001U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x0
- // .. .. ==> 0XF800612C[9:0] = 0x00000000U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_init_ratio = 0xa1
- // .. .. ==> 0XF800612C[19:10] = 0x000000A1U
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x00028400U
- // .. ..
- EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU ,0x00028400U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x0
- // .. .. ==> 0XF8006130[9:0] = 0x00000000U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_init_ratio = 0xa0
- // .. .. ==> 0XF8006130[19:10] = 0x000000A0U
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x00028000U
- // .. ..
- EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU ,0x00028000U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x7
- // .. .. ==> 0XF8006134[9:0] = 0x00000007U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000007U
- // .. .. reg_phy_gatelvl_init_ratio = 0xad
- // .. .. ==> 0XF8006134[19:10] = 0x000000ADU
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x0002B400U
- // .. ..
- EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU ,0x0002B407U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x7
- // .. .. ==> 0XF8006138[9:0] = 0x00000007U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000007U
- // .. .. reg_phy_gatelvl_init_ratio = 0xad
- // .. .. ==> 0XF8006138[19:10] = 0x000000ADU
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x0002B400U
- // .. ..
- EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU ,0x0002B407U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF8006140[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006140[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006140[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF8006144[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006144[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006144[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF8006148[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006148[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006148[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF800614C[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF800614C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF800614C[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x7c
- // .. .. ==> 0XF8006154[9:0] = 0x0000007CU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x0000007CU
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006154[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006154[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU ,0x0000007CU),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x7c
- // .. .. ==> 0XF8006158[9:0] = 0x0000007CU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x0000007CU
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006158[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006158[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU ,0x0000007CU),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x87
- // .. .. ==> 0XF800615C[9:0] = 0x00000087U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000087U
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF800615C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF800615C[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU ,0x00000087U),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x87
- // .. .. ==> 0XF8006160[9:0] = 0x00000087U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000087U
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006160[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006160[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU ,0x00000087U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0xf6
- // .. .. ==> 0XF8006168[10:0] = 0x000000F6U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x000000F6U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF8006168[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF8006168[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU ,0x000000F6U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0xf5
- // .. .. ==> 0XF800616C[10:0] = 0x000000F5U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x000000F5U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF800616C[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF800616C[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU ,0x000000F5U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0x102
- // .. .. ==> 0XF8006170[10:0] = 0x00000102U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000102U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF8006170[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF8006170[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU ,0x00000102U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0x102
- // .. .. ==> 0XF8006174[10:0] = 0x00000102U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000102U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF8006174[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF8006174[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU ,0x00000102U),
- // .. .. reg_phy_wr_data_slave_ratio = 0xbc
- // .. .. ==> 0XF800617C[9:0] = 0x000000BCU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000BCU
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF800617C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF800617C[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU ,0x000000BCU),
- // .. .. reg_phy_wr_data_slave_ratio = 0xbc
- // .. .. ==> 0XF8006180[9:0] = 0x000000BCU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000BCU
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF8006180[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF8006180[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU ,0x000000BCU),
- // .. .. reg_phy_wr_data_slave_ratio = 0xc7
- // .. .. ==> 0XF8006184[9:0] = 0x000000C7U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000C7U
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF8006184[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF8006184[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU ,0x000000C7U),
- // .. .. reg_phy_wr_data_slave_ratio = 0xc7
- // .. .. ==> 0XF8006188[9:0] = 0x000000C7U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000C7U
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF8006188[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF8006188[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU ,0x000000C7U),
- // .. .. reg_phy_bl2 = 0x0
- // .. .. ==> 0XF8006190[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_at_spd_atpg = 0x0
- // .. .. ==> 0XF8006190[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_bist_enable = 0x0
- // .. .. ==> 0XF8006190[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_bist_force_err = 0x0
- // .. .. ==> 0XF8006190[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_bist_mode = 0x0
- // .. .. ==> 0XF8006190[6:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. .. reg_phy_invert_clkout = 0x1
- // .. .. ==> 0XF8006190[7:7] = 0x00000001U
- // .. .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. .. reg_phy_sel_logic = 0x0
- // .. .. ==> 0XF8006190[9:9] = 0x00000000U
- // .. .. ==> MASK : 0x00000200U VAL : 0x00000000U
- // .. .. reg_phy_ctrl_slave_ratio = 0x100
- // .. .. ==> 0XF8006190[19:10] = 0x00000100U
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x00040000U
- // .. .. reg_phy_ctrl_slave_force = 0x0
- // .. .. ==> 0XF8006190[20:20] = 0x00000000U
- // .. .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. .. reg_phy_ctrl_slave_delay = 0x0
- // .. .. ==> 0XF8006190[27:21] = 0x00000000U
- // .. .. ==> MASK : 0x0FE00000U VAL : 0x00000000U
- // .. .. reg_phy_lpddr = 0x0
- // .. .. ==> 0XF8006190[29:29] = 0x00000000U
- // .. .. ==> MASK : 0x20000000U VAL : 0x00000000U
- // .. .. reg_phy_cmd_latency = 0x0
- // .. .. ==> 0XF8006190[30:30] = 0x00000000U
- // .. .. ==> MASK : 0x40000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006190, 0x6FFFFEFEU ,0x00040080U),
- // .. .. reg_phy_wr_rl_delay = 0x2
- // .. .. ==> 0XF8006194[4:0] = 0x00000002U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000002U
- // .. .. reg_phy_rd_rl_delay = 0x4
- // .. .. ==> 0XF8006194[9:5] = 0x00000004U
- // .. .. ==> MASK : 0x000003E0U VAL : 0x00000080U
- // .. .. reg_phy_dll_lock_diff = 0xf
- // .. .. ==> 0XF8006194[13:10] = 0x0000000FU
- // .. .. ==> MASK : 0x00003C00U VAL : 0x00003C00U
- // .. .. reg_phy_use_wr_level = 0x1
- // .. .. ==> 0XF8006194[14:14] = 0x00000001U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00004000U
- // .. .. reg_phy_use_rd_dqs_gate_level = 0x1
- // .. .. ==> 0XF8006194[15:15] = 0x00000001U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00008000U
- // .. .. reg_phy_use_rd_data_eye_level = 0x1
- // .. .. ==> 0XF8006194[16:16] = 0x00000001U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00010000U
- // .. .. reg_phy_dis_calib_rst = 0x0
- // .. .. ==> 0XF8006194[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_phy_ctrl_slave_delay = 0x0
- // .. .. ==> 0XF8006194[19:18] = 0x00000000U
- // .. .. ==> MASK : 0x000C0000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU ,0x0001FC82U),
- // .. .. reg_arb_page_addr_mask = 0x0
- // .. .. ==> 0XF8006204[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU ,0x00000000U),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF8006208[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF8006208[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF8006208[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF8006208[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006208, 0x000703FFU ,0x000003FFU),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF800620C[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF800620C[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF800620C[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF800620C[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800620C, 0x000703FFU ,0x000003FFU),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF8006210[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF8006210[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF8006210[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF8006210[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006210, 0x000703FFU ,0x000003FFU),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF8006214[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF8006214[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF8006214[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF8006214[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006214, 0x000703FFU ,0x000003FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF8006218[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF8006218[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF8006218[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF8006218[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF8006218[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006218, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF800621C[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF800621C[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF800621C[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF800621C[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF800621C[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800621C, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF8006220[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF8006220[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF8006220[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF8006220[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF8006220[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006220, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF8006224[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF8006224[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF8006224[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF8006224[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF8006224[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006224, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_ddrc_lpddr2 = 0x0
- // .. .. ==> 0XF80062A8[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_derate_enable = 0x0
- // .. .. ==> 0XF80062A8[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_ddrc_mr4_margin = 0x0
- // .. .. ==> 0XF80062A8[11:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000FF0U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80062A8, 0x00000FF5U ,0x00000000U),
- // .. .. reg_ddrc_mr4_read_interval = 0x0
- // .. .. ==> 0XF80062AC[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU ,0x00000000U),
- // .. .. reg_ddrc_min_stable_clock_x1 = 0x5
- // .. .. ==> 0XF80062B0[3:0] = 0x00000005U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000005U
- // .. .. reg_ddrc_idle_after_reset_x32 = 0x12
- // .. .. ==> 0XF80062B0[11:4] = 0x00000012U
- // .. .. ==> MASK : 0x00000FF0U VAL : 0x00000120U
- // .. .. reg_ddrc_t_mrw = 0x5
- // .. .. ==> 0XF80062B0[21:12] = 0x00000005U
- // .. .. ==> MASK : 0x003FF000U VAL : 0x00005000U
- // .. ..
- EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU ,0x00005125U),
- // .. .. reg_ddrc_max_auto_init_x1024 = 0xa8
- // .. .. ==> 0XF80062B4[7:0] = 0x000000A8U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x000000A8U
- // .. .. reg_ddrc_dev_zqinit_x32 = 0x12
- // .. .. ==> 0XF80062B4[17:8] = 0x00000012U
- // .. .. ==> MASK : 0x0003FF00U VAL : 0x00001200U
- // .. ..
- EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU ,0x000012A8U),
- // .. .. START: POLL ON DCI STATUS
- // .. .. DONE = 1
- // .. .. ==> 0XF8000B74[13:13] = 0x00000001U
- // .. .. ==> MASK : 0x00002000U VAL : 0x00002000U
- // .. ..
- EMIT_MASKPOLL(0XF8000B74, 0x00002000U),
- // .. .. FINISH: POLL ON DCI STATUS
- // .. .. START: UNLOCK DDR
- // .. .. reg_ddrc_soft_rstb = 0x1
- // .. .. ==> 0XF8006000[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_ddrc_powerdown_en = 0x0
- // .. .. ==> 0XF8006000[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_ddrc_data_bus_width = 0x0
- // .. .. ==> 0XF8006000[3:2] = 0x00000000U
- // .. .. ==> MASK : 0x0000000CU VAL : 0x00000000U
- // .. .. reg_ddrc_burst8_refresh = 0x0
- // .. .. ==> 0XF8006000[6:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000070U VAL : 0x00000000U
- // .. .. reg_ddrc_rdwr_idle_gap = 1
- // .. .. ==> 0XF8006000[13:7] = 0x00000001U
- // .. .. ==> MASK : 0x00003F80U VAL : 0x00000080U
- // .. .. reg_ddrc_dis_rd_bypass = 0x0
- // .. .. ==> 0XF8006000[14:14] = 0x00000000U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_act_bypass = 0x0
- // .. .. ==> 0XF8006000[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_auto_refresh = 0x0
- // .. .. ==> 0XF8006000[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000081U),
- // .. .. FINISH: UNLOCK DDR
- // .. .. START: CHECK DDR STATUS
- // .. .. ddrc_reg_operating_mode = 1
- // .. .. ==> 0XF8006054[2:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000007U VAL : 0x00000001U
- // .. ..
- EMIT_MASKPOLL(0XF8006054, 0x00000007U),
- // .. .. FINISH: CHECK DDR STATUS
- // .. FINISH: DDR INITIALIZATION
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_mio_init_data_3_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: OCM REMAPPING
- // .. FINISH: OCM REMAPPING
- // .. START: DDRIOB SETTINGS
- // .. reserved_INP_POWER = 0x0
- // .. ==> 0XF8000B40[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x0
- // .. ==> 0XF8000B40[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. DCI_UPDATE_B = 0x0
- // .. ==> 0XF8000B40[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x0
- // .. ==> 0XF8000B40[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. DCI_TYPE = 0x0
- // .. ==> 0XF8000B40[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. IBUF_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B40[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B40[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B40[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B40[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU ,0x00000600U),
- // .. reserved_INP_POWER = 0x0
- // .. ==> 0XF8000B44[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x0
- // .. ==> 0XF8000B44[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. DCI_UPDATE_B = 0x0
- // .. ==> 0XF8000B44[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x0
- // .. ==> 0XF8000B44[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. DCI_TYPE = 0x0
- // .. ==> 0XF8000B44[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. IBUF_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B44[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B44[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B44[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B44[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU ,0x00000600U),
- // .. reserved_INP_POWER = 0x0
- // .. ==> 0XF8000B48[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x1
- // .. ==> 0XF8000B48[2:1] = 0x00000001U
- // .. ==> MASK : 0x00000006U VAL : 0x00000002U
- // .. DCI_UPDATE_B = 0x0
- // .. ==> 0XF8000B48[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B48[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCI_TYPE = 0x3
- // .. ==> 0XF8000B48[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B48[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B48[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B48[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B48[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU ,0x00000672U),
- // .. reserved_INP_POWER = 0x0
- // .. ==> 0XF8000B4C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x1
- // .. ==> 0XF8000B4C[2:1] = 0x00000001U
- // .. ==> MASK : 0x00000006U VAL : 0x00000002U
- // .. DCI_UPDATE_B = 0x0
- // .. ==> 0XF8000B4C[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B4C[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCI_TYPE = 0x3
- // .. ==> 0XF8000B4C[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B4C[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B4C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B4C[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B4C[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU ,0x00000672U),
- // .. reserved_INP_POWER = 0x0
- // .. ==> 0XF8000B50[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x2
- // .. ==> 0XF8000B50[2:1] = 0x00000002U
- // .. ==> MASK : 0x00000006U VAL : 0x00000004U
- // .. DCI_UPDATE_B = 0x0
- // .. ==> 0XF8000B50[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B50[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCI_TYPE = 0x3
- // .. ==> 0XF8000B50[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B50[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B50[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B50[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B50[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU ,0x00000674U),
- // .. reserved_INP_POWER = 0x0
- // .. ==> 0XF8000B54[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x2
- // .. ==> 0XF8000B54[2:1] = 0x00000002U
- // .. ==> MASK : 0x00000006U VAL : 0x00000004U
- // .. DCI_UPDATE_B = 0x0
- // .. ==> 0XF8000B54[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B54[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCI_TYPE = 0x3
- // .. ==> 0XF8000B54[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B54[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B54[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B54[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B54[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU ,0x00000674U),
- // .. reserved_INP_POWER = 0x0
- // .. ==> 0XF8000B58[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x0
- // .. ==> 0XF8000B58[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. DCI_UPDATE_B = 0x0
- // .. ==> 0XF8000B58[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x0
- // .. ==> 0XF8000B58[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. DCI_TYPE = 0x0
- // .. ==> 0XF8000B58[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. IBUF_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B58[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B58[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B58[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B58[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU ,0x00000600U),
- // .. reserved_DRIVE_P = 0x1c
- // .. ==> 0XF8000B5C[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. reserved_DRIVE_N = 0xc
- // .. ==> 0XF8000B5C[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. reserved_SLEW_P = 0x3
- // .. ==> 0XF8000B5C[18:14] = 0x00000003U
- // .. ==> MASK : 0x0007C000U VAL : 0x0000C000U
- // .. reserved_SLEW_N = 0x3
- // .. ==> 0XF8000B5C[23:19] = 0x00000003U
- // .. ==> MASK : 0x00F80000U VAL : 0x00180000U
- // .. reserved_GTL = 0x0
- // .. ==> 0XF8000B5C[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. reserved_RTERM = 0x0
- // .. ==> 0XF8000B5C[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU ,0x0018C61CU),
- // .. reserved_DRIVE_P = 0x1c
- // .. ==> 0XF8000B60[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. reserved_DRIVE_N = 0xc
- // .. ==> 0XF8000B60[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. reserved_SLEW_P = 0x6
- // .. ==> 0XF8000B60[18:14] = 0x00000006U
- // .. ==> MASK : 0x0007C000U VAL : 0x00018000U
- // .. reserved_SLEW_N = 0x1f
- // .. ==> 0XF8000B60[23:19] = 0x0000001FU
- // .. ==> MASK : 0x00F80000U VAL : 0x00F80000U
- // .. reserved_GTL = 0x0
- // .. ==> 0XF8000B60[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. reserved_RTERM = 0x0
- // .. ==> 0XF8000B60[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU ,0x00F9861CU),
- // .. reserved_DRIVE_P = 0x1c
- // .. ==> 0XF8000B64[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. reserved_DRIVE_N = 0xc
- // .. ==> 0XF8000B64[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. reserved_SLEW_P = 0x6
- // .. ==> 0XF8000B64[18:14] = 0x00000006U
- // .. ==> MASK : 0x0007C000U VAL : 0x00018000U
- // .. reserved_SLEW_N = 0x1f
- // .. ==> 0XF8000B64[23:19] = 0x0000001FU
- // .. ==> MASK : 0x00F80000U VAL : 0x00F80000U
- // .. reserved_GTL = 0x0
- // .. ==> 0XF8000B64[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. reserved_RTERM = 0x0
- // .. ==> 0XF8000B64[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU ,0x00F9861CU),
- // .. reserved_DRIVE_P = 0x1c
- // .. ==> 0XF8000B68[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. reserved_DRIVE_N = 0xc
- // .. ==> 0XF8000B68[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. reserved_SLEW_P = 0x6
- // .. ==> 0XF8000B68[18:14] = 0x00000006U
- // .. ==> MASK : 0x0007C000U VAL : 0x00018000U
- // .. reserved_SLEW_N = 0x1f
- // .. ==> 0XF8000B68[23:19] = 0x0000001FU
- // .. ==> MASK : 0x00F80000U VAL : 0x00F80000U
- // .. reserved_GTL = 0x0
- // .. ==> 0XF8000B68[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. reserved_RTERM = 0x0
- // .. ==> 0XF8000B68[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU ,0x00F9861CU),
- // .. VREF_INT_EN = 0x1
- // .. ==> 0XF8000B6C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. VREF_SEL = 0x4
- // .. ==> 0XF8000B6C[4:1] = 0x00000004U
- // .. ==> MASK : 0x0000001EU VAL : 0x00000008U
- // .. VREF_EXT_EN = 0x0
- // .. ==> 0XF8000B6C[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. reserved_VREF_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[8:7] = 0x00000000U
- // .. ==> MASK : 0x00000180U VAL : 0x00000000U
- // .. REFIO_EN = 0x1
- // .. ==> 0XF8000B6C[9:9] = 0x00000001U
- // .. ==> MASK : 0x00000200U VAL : 0x00000200U
- // .. reserved_REFIO_TEST = 0x0
- // .. ==> 0XF8000B6C[11:10] = 0x00000000U
- // .. ==> MASK : 0x00000C00U VAL : 0x00000000U
- // .. reserved_REFIO_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. reserved_DRST_B_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // .. reserved_CKE_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[14:14] = 0x00000000U
- // .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B6C, 0x00007FFFU ,0x00000209U),
- // .. .. START: ASSERT RESET
- // .. .. RESET = 1
- // .. .. ==> 0XF8000B70[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. ..
- EMIT_MASKWRITE(0XF8000B70, 0x00000001U ,0x00000001U),
- // .. .. FINISH: ASSERT RESET
- // .. .. START: DEASSERT RESET
- // .. .. RESET = 0
- // .. .. ==> 0XF8000B70[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reserved_VRN_OUT = 0x1
- // .. .. ==> 0XF8000B70[5:5] = 0x00000001U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000020U
- // .. ..
- EMIT_MASKWRITE(0XF8000B70, 0x00000021U ,0x00000020U),
- // .. .. FINISH: DEASSERT RESET
- // .. .. RESET = 0x1
- // .. .. ==> 0XF8000B70[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ENABLE = 0x1
- // .. .. ==> 0XF8000B70[1:1] = 0x00000001U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. reserved_VRP_TRI = 0x0
- // .. .. ==> 0XF8000B70[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reserved_VRN_TRI = 0x0
- // .. .. ==> 0XF8000B70[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reserved_VRP_OUT = 0x0
- // .. .. ==> 0XF8000B70[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reserved_VRN_OUT = 0x1
- // .. .. ==> 0XF8000B70[5:5] = 0x00000001U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000020U
- // .. .. NREF_OPT1 = 0x0
- // .. .. ==> 0XF8000B70[7:6] = 0x00000000U
- // .. .. ==> MASK : 0x000000C0U VAL : 0x00000000U
- // .. .. NREF_OPT2 = 0x0
- // .. .. ==> 0XF8000B70[10:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000700U VAL : 0x00000000U
- // .. .. NREF_OPT4 = 0x1
- // .. .. ==> 0XF8000B70[13:11] = 0x00000001U
- // .. .. ==> MASK : 0x00003800U VAL : 0x00000800U
- // .. .. PREF_OPT1 = 0x0
- // .. .. ==> 0XF8000B70[15:14] = 0x00000000U
- // .. .. ==> MASK : 0x0000C000U VAL : 0x00000000U
- // .. .. PREF_OPT2 = 0x0
- // .. .. ==> 0XF8000B70[19:17] = 0x00000000U
- // .. .. ==> MASK : 0x000E0000U VAL : 0x00000000U
- // .. .. UPDATE_CONTROL = 0x0
- // .. .. ==> 0XF8000B70[20:20] = 0x00000000U
- // .. .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. .. reserved_INIT_COMPLETE = 0x0
- // .. .. ==> 0XF8000B70[21:21] = 0x00000000U
- // .. .. ==> MASK : 0x00200000U VAL : 0x00000000U
- // .. .. reserved_TST_CLK = 0x0
- // .. .. ==> 0XF8000B70[22:22] = 0x00000000U
- // .. .. ==> MASK : 0x00400000U VAL : 0x00000000U
- // .. .. reserved_TST_HLN = 0x0
- // .. .. ==> 0XF8000B70[23:23] = 0x00000000U
- // .. .. ==> MASK : 0x00800000U VAL : 0x00000000U
- // .. .. reserved_TST_HLP = 0x0
- // .. .. ==> 0XF8000B70[24:24] = 0x00000000U
- // .. .. ==> MASK : 0x01000000U VAL : 0x00000000U
- // .. .. reserved_TST_RST = 0x0
- // .. .. ==> 0XF8000B70[25:25] = 0x00000000U
- // .. .. ==> MASK : 0x02000000U VAL : 0x00000000U
- // .. .. reserved_INT_DCI_EN = 0x0
- // .. .. ==> 0XF8000B70[26:26] = 0x00000000U
- // .. .. ==> MASK : 0x04000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8000B70, 0x07FEFFFFU ,0x00000823U),
- // .. FINISH: DDRIOB SETTINGS
- // .. START: MIO PROGRAMMING
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000700[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000700[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000700[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000700[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000700[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000700[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000700[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000700[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000700[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000700, 0x00003FFFU ,0x00000600U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000704[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000704[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000704[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000704[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000704[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000704[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000704[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000704[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000704[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000704, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000708[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000708[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000708[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000708[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000708[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000708[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000708[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000708[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000708[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000708, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800070C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF800070C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800070C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800070C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800070C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800070C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800070C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800070C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800070C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800070C, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000710[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000710[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000710[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000710[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000710[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000710[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000710[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000710[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000710[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000710, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000714[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000714[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000714[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000714[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000714[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000714[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000714[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000714[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000714[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000714, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000718[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000718[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000718[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000718[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000718[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000718[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000718[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000718[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000718[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000718, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800071C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800071C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF800071C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800071C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800071C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800071C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800071C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800071C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800071C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800071C, 0x00003FFFU ,0x00000600U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000720[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000720[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000720[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000720[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000720[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000720[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000720[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000720[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000720[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000720, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000724[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000724[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000724[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000724[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000724[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000724[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000724[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000724[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000724[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000724, 0x00003FFFU ,0x00000600U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000728[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000728[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000728[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000728[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000728[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000728[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000728[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000728[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000728[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000728, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800072C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800072C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF800072C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800072C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF800072C[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF800072C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800072C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800072C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800072C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800072C, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000730[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000730[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000730[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000730[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000730[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000730[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000730[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000730[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000730[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000730, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000734[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000734[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000734[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000734[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000734[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000734[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000734[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000734[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000734[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000734, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000738[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000738[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000738[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000738[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000738[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000738[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000738[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000738[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000738[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000738, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800073C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800073C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF800073C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800073C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF800073C[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF800073C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800073C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800073C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800073C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800073C, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000740[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000740[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000740[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000740[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000740[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000740[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000740[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000740[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000740[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000740, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000744[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000744[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000744[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000744[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000744[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000744[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000744[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000744[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000744[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000744, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000748[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000748[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000748[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000748[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000748[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000748[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000748[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000748[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000748[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000748, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800074C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF800074C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800074C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800074C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800074C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800074C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800074C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800074C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800074C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800074C, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000750[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000750[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000750[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000750[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000750[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000750[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000750[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000750[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000750[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000750, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000754[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000754[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000754[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000754[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000754[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000754[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000754[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000754[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000754[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000754, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000758[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000758[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000758[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000758[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000758[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000758[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000758[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000758[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000758[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000758, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF800075C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF800075C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800075C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800075C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800075C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800075C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800075C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800075C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800075C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800075C, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000760[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000760[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000760[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000760[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000760[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000760[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000760[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000760[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000760[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000760, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000764[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000764[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000764[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000764[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000764[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000764[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000764[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000764[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000764[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000764, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000768[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000768[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000768[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000768[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000768[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000768[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000768[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000768[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000768[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000768, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF800076C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF800076C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800076C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800076C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800076C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800076C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800076C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800076C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800076C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800076C, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000770[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000770[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000770[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000770[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000770[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000770[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000770[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000770[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000770[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000770, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000774[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF8000774[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000774[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000774[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000774[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000774[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000774[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000774[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000774[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000774, 0x00003FFFU ,0x00000205U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000778[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000778[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000778[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000778[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000778[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000778[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000778[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000778[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000778[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000778, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF800077C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF800077C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF800077C[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF800077C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800077C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800077C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800077C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800077C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800077C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800077C, 0x00003FFFU ,0x00000205U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000780[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000780[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000780[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000780[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000780[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000780[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000780[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000780[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000780[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000780, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000784[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000784[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000784[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000784[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000784[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000784[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000784[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000784[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000784[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000784, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000788[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000788[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000788[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000788[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000788[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000788[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000788[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000788[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000788[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000788, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800078C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800078C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF800078C[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF800078C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800078C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800078C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800078C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800078C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800078C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800078C, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000790[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF8000790[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000790[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000790[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000790[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000790[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000790[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000790[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000790[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000790, 0x00003FFFU ,0x00000205U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000794[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000794[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000794[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000794[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000794[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000794[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000794[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000794[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000794[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000794, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000798[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000798[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000798[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000798[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000798[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000798[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000798[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000798[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000798[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000798, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800079C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800079C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF800079C[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF800079C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800079C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800079C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800079C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800079C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800079C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800079C, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007A0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007A0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007A0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007A0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007A0[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007A0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007A0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007A0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007A0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007A4[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007A4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007A4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007A4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007A4[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007A4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007A4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007A4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007A4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007A8[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007A8[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007A8[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007A8[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007A8[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007A8[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007A8[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007A8[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007A8[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007AC[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007AC[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007AC[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007AC[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007AC[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007AC[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007AC[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007AC[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007AC[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007B0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007B0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007B0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007B0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007B0[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007B0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007B0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007B0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007B0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007B4[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007B4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007B4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007B4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007B4[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007B4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007B4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007B4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007B4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007B8[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007B8[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007B8[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007B8[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007B8[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007B8[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007B8[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007B8[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007B8[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007BC[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007BC[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007BC[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007BC[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007BC[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007BC[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007BC[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007BC[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007BC[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007BC, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007C0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007C0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007C0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007C0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 7
- // .. ==> 0XF80007C0[7:5] = 0x00000007U
- // .. ==> MASK : 0x000000E0U VAL : 0x000000E0U
- // .. Speed = 0
- // .. ==> 0XF80007C0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007C0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007C0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007C0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU ,0x000002E0U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF80007C4[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF80007C4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007C4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007C4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 7
- // .. ==> 0XF80007C4[7:5] = 0x00000007U
- // .. ==> MASK : 0x000000E0U VAL : 0x000000E0U
- // .. Speed = 0
- // .. ==> 0XF80007C4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007C4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007C4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007C4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU ,0x000002E1U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007C8[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007C8[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007C8[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007C8[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007C8[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007C8[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007C8[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007C8[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007C8[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007CC[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007CC[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007CC[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007CC[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007CC[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007CC[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007CC[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007CC[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007CC[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007D0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007D0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007D0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007D0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF80007D0[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF80007D0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007D0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007D0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007D0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU ,0x00000280U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007D4[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007D4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007D4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007D4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF80007D4[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF80007D4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007D4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007D4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007D4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU ,0x00000280U),
- // .. SDIO1_CD_SEL = 58
- // .. ==> 0XF8000834[21:16] = 0x0000003AU
- // .. ==> MASK : 0x003F0000U VAL : 0x003A0000U
- // ..
- EMIT_MASKWRITE(0XF8000834, 0x003F0000U ,0x003A0000U),
- // .. FINISH: MIO PROGRAMMING
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_peripherals_init_data_3_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: DDR TERM/IBUF_DISABLE_MODE SETTINGS
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B48[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B48[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B48, 0x00000180U ,0x00000180U),
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B4C[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B4C[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B4C, 0x00000180U ,0x00000180U),
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B50[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B50[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B50, 0x00000180U ,0x00000180U),
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B54[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B54[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B54, 0x00000180U ,0x00000180U),
- // .. FINISH: DDR TERM/IBUF_DISABLE_MODE SETTINGS
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // .. START: SRAM/NOR SET OPMODE
- // .. FINISH: SRAM/NOR SET OPMODE
- // .. START: UART REGISTERS
- // .. BDIV = 0x6
- // .. ==> 0XE0001034[7:0] = 0x00000006U
- // .. ==> MASK : 0x000000FFU VAL : 0x00000006U
- // ..
- EMIT_MASKWRITE(0XE0001034, 0x000000FFU ,0x00000006U),
- // .. CD = 0x3e
- // .. ==> 0XE0001018[15:0] = 0x0000003EU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000003EU
- // ..
- EMIT_MASKWRITE(0XE0001018, 0x0000FFFFU ,0x0000003EU),
- // .. STPBRK = 0x0
- // .. ==> 0XE0001000[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. STTBRK = 0x0
- // .. ==> 0XE0001000[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. RSTTO = 0x0
- // .. ==> 0XE0001000[6:6] = 0x00000000U
- // .. ==> MASK : 0x00000040U VAL : 0x00000000U
- // .. TXDIS = 0x0
- // .. ==> 0XE0001000[5:5] = 0x00000000U
- // .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. TXEN = 0x1
- // .. ==> 0XE0001000[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. RXDIS = 0x0
- // .. ==> 0XE0001000[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. RXEN = 0x1
- // .. ==> 0XE0001000[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. TXRES = 0x1
- // .. ==> 0XE0001000[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. RXRES = 0x1
- // .. ==> 0XE0001000[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // ..
- EMIT_MASKWRITE(0XE0001000, 0x000001FFU ,0x00000017U),
- // .. CHMODE = 0x0
- // .. ==> 0XE0001004[9:8] = 0x00000000U
- // .. ==> MASK : 0x00000300U VAL : 0x00000000U
- // .. NBSTOP = 0x0
- // .. ==> 0XE0001004[7:6] = 0x00000000U
- // .. ==> MASK : 0x000000C0U VAL : 0x00000000U
- // .. PAR = 0x4
- // .. ==> 0XE0001004[5:3] = 0x00000004U
- // .. ==> MASK : 0x00000038U VAL : 0x00000020U
- // .. CHRL = 0x0
- // .. ==> 0XE0001004[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. CLKS = 0x0
- // .. ==> 0XE0001004[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XE0001004, 0x000003FFU ,0x00000020U),
- // .. FINISH: UART REGISTERS
- // .. START: TPIU WIDTH IN CASE OF EMIO
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0XC5ACCE55
- // .. .. ==> 0XF8803FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. .. START: TRACE CURRENT PORT SIZE
- // .. .. a = 2
- // .. .. ==> 0XF8803004[31:0] = 0x00000002U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000002U
- // .. ..
- EMIT_MASKWRITE(0XF8803004, 0xFFFFFFFFU ,0x00000002U),
- // .. .. FINISH: TRACE CURRENT PORT SIZE
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0X0
- // .. .. ==> 0XF8803FB0[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0x00000000U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. FINISH: TPIU WIDTH IN CASE OF EMIO
- // .. START: QSPI REGISTERS
- // .. Holdb_dr = 1
- // .. ==> 0XE000D000[19:19] = 0x00000001U
- // .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // ..
- EMIT_MASKWRITE(0XE000D000, 0x00080000U ,0x00080000U),
- // .. FINISH: QSPI REGISTERS
- // .. START: PL POWER ON RESET REGISTERS
- // .. PCFG_POR_CNT_4K = 0
- // .. ==> 0XF8007000[29:29] = 0x00000000U
- // .. ==> MASK : 0x20000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8007000, 0x20000000U ,0x00000000U),
- // .. FINISH: PL POWER ON RESET REGISTERS
- // .. START: SMC TIMING CALCULATION REGISTER UPDATE
- // .. .. START: NAND SET CYCLE
- // .. .. FINISH: NAND SET CYCLE
- // .. .. START: OPMODE
- // .. .. FINISH: OPMODE
- // .. .. START: DIRECT COMMAND
- // .. .. FINISH: DIRECT COMMAND
- // .. .. START: SRAM/NOR CS0 SET CYCLE
- // .. .. FINISH: SRAM/NOR CS0 SET CYCLE
- // .. .. START: DIRECT COMMAND
- // .. .. FINISH: DIRECT COMMAND
- // .. .. START: NOR CS0 BASE ADDRESS
- // .. .. FINISH: NOR CS0 BASE ADDRESS
- // .. .. START: SRAM/NOR CS1 SET CYCLE
- // .. .. FINISH: SRAM/NOR CS1 SET CYCLE
- // .. .. START: DIRECT COMMAND
- // .. .. FINISH: DIRECT COMMAND
- // .. .. START: NOR CS1 BASE ADDRESS
- // .. .. FINISH: NOR CS1 BASE ADDRESS
- // .. .. START: USB RESET
- // .. .. .. START: USB0 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. DIRECTION_0 = 0x80
- // .. .. .. .. ==> 0XE000A204[31:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A204, 0xFFFFFFFFU ,0x00000080U),
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. MASK_0_LSW = 0xff7f
- // .. .. .. .. ==> 0XE000A000[31:16] = 0x0000FF7FU
- // .. .. .. .. ==> MASK : 0xFFFF0000U VAL : 0xFF7F0000U
- // .. .. .. .. DATA_0_LSW = 0x80
- // .. .. .. .. ==> 0XE000A000[15:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFF7F0080U),
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. OP_ENABLE_0 = 0x80
- // .. .. .. .. ==> 0XE000A208[31:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A208, 0xFFFFFFFFU ,0x00000080U),
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. MASK_0_LSW = 0xff7f
- // .. .. .. .. ==> 0XE000A000[31:16] = 0x0000FF7FU
- // .. .. .. .. ==> MASK : 0xFFFF0000U VAL : 0xFF7F0000U
- // .. .. .. .. DATA_0_LSW = 0x0
- // .. .. .. .. ==> 0XE000A000[15:0] = 0x00000000U
- // .. .. .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000000U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFF7F0000U),
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. MASK_0_LSW = 0xff7f
- // .. .. .. .. ==> 0XE000A000[31:16] = 0x0000FF7FU
- // .. .. .. .. ==> MASK : 0xFFFF0000U VAL : 0xFF7F0000U
- // .. .. .. .. DATA_0_LSW = 0x80
- // .. .. .. .. ==> 0XE000A000[15:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFF7F0080U),
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: USB0 RESET
- // .. .. .. START: USB1 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: USB1 RESET
- // .. .. FINISH: USB RESET
- // .. .. START: ENET RESET
- // .. .. .. START: ENET0 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: ENET0 RESET
- // .. .. .. START: ENET1 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: ENET1 RESET
- // .. .. FINISH: ENET RESET
- // .. .. START: I2C RESET
- // .. .. .. START: I2C0 RESET
- // .. .. .. .. START: DIR MODE GPIO BANK0
- // .. .. .. .. FINISH: DIR MODE GPIO BANK0
- // .. .. .. .. START: DIR MODE GPIO BANK1
- // .. .. .. .. FINISH: DIR MODE GPIO BANK1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: I2C0 RESET
- // .. .. .. START: I2C1 RESET
- // .. .. .. .. START: DIR MODE GPIO BANK0
- // .. .. .. .. FINISH: DIR MODE GPIO BANK0
- // .. .. .. .. START: DIR MODE GPIO BANK1
- // .. .. .. .. FINISH: DIR MODE GPIO BANK1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: I2C1 RESET
- // .. .. FINISH: I2C RESET
- // .. .. START: NOR CHIP SELECT
- // .. .. .. START: DIR MODE BANK 0
- // .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. FINISH: NOR CHIP SELECT
- // .. FINISH: SMC TIMING CALCULATION REGISTER UPDATE
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_post_config_3_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: ENABLING LEVEL SHIFTER
- // .. USER_LVL_INP_EN_0 = 1
- // .. ==> 0XF8000900[3:3] = 0x00000001U
- // .. ==> MASK : 0x00000008U VAL : 0x00000008U
- // .. USER_LVL_OUT_EN_0 = 1
- // .. ==> 0XF8000900[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. USER_LVL_INP_EN_1 = 1
- // .. ==> 0XF8000900[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. USER_LVL_OUT_EN_1 = 1
- // .. ==> 0XF8000900[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // ..
- EMIT_MASKWRITE(0XF8000900, 0x0000000FU ,0x0000000FU),
- // .. FINISH: ENABLING LEVEL SHIFTER
- // .. START: TPIU WIDTH IN CASE OF EMIO
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0XC5ACCE55
- // .. .. ==> 0XF8803FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. .. START: TRACE CURRENT PORT SIZE
- // .. .. a = 2
- // .. .. ==> 0XF8803004[31:0] = 0x00000002U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000002U
- // .. ..
- EMIT_MASKWRITE(0XF8803004, 0xFFFFFFFFU ,0x00000002U),
- // .. .. FINISH: TRACE CURRENT PORT SIZE
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0X0
- // .. .. ==> 0XF8803FB0[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0x00000000U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. FINISH: TPIU WIDTH IN CASE OF EMIO
- // .. START: FPGA RESETS TO 0
- // .. reserved_3 = 0
- // .. ==> 0XF8000240[31:25] = 0x00000000U
- // .. ==> MASK : 0xFE000000U VAL : 0x00000000U
- // .. reserved_FPGA_ACP_RST = 0
- // .. ==> 0XF8000240[24:24] = 0x00000000U
- // .. ==> MASK : 0x01000000U VAL : 0x00000000U
- // .. reserved_FPGA_AXDS3_RST = 0
- // .. ==> 0XF8000240[23:23] = 0x00000000U
- // .. ==> MASK : 0x00800000U VAL : 0x00000000U
- // .. reserved_FPGA_AXDS2_RST = 0
- // .. ==> 0XF8000240[22:22] = 0x00000000U
- // .. ==> MASK : 0x00400000U VAL : 0x00000000U
- // .. reserved_FPGA_AXDS1_RST = 0
- // .. ==> 0XF8000240[21:21] = 0x00000000U
- // .. ==> MASK : 0x00200000U VAL : 0x00000000U
- // .. reserved_FPGA_AXDS0_RST = 0
- // .. ==> 0XF8000240[20:20] = 0x00000000U
- // .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. reserved_2 = 0
- // .. ==> 0XF8000240[19:18] = 0x00000000U
- // .. ==> MASK : 0x000C0000U VAL : 0x00000000U
- // .. reserved_FSSW1_FPGA_RST = 0
- // .. ==> 0XF8000240[17:17] = 0x00000000U
- // .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. reserved_FSSW0_FPGA_RST = 0
- // .. ==> 0XF8000240[16:16] = 0x00000000U
- // .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. reserved_1 = 0
- // .. ==> 0XF8000240[15:14] = 0x00000000U
- // .. ==> MASK : 0x0000C000U VAL : 0x00000000U
- // .. reserved_FPGA_FMSW1_RST = 0
- // .. ==> 0XF8000240[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // .. reserved_FPGA_FMSW0_RST = 0
- // .. ==> 0XF8000240[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. reserved_FPGA_DMA3_RST = 0
- // .. ==> 0XF8000240[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. reserved_FPGA_DMA2_RST = 0
- // .. ==> 0XF8000240[10:10] = 0x00000000U
- // .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. reserved_FPGA_DMA1_RST = 0
- // .. ==> 0XF8000240[9:9] = 0x00000000U
- // .. ==> MASK : 0x00000200U VAL : 0x00000000U
- // .. reserved_FPGA_DMA0_RST = 0
- // .. ==> 0XF8000240[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. reserved = 0
- // .. ==> 0XF8000240[7:4] = 0x00000000U
- // .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. FPGA3_OUT_RST = 0
- // .. ==> 0XF8000240[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. FPGA2_OUT_RST = 0
- // .. ==> 0XF8000240[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. FPGA1_OUT_RST = 0
- // .. ==> 0XF8000240[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. FPGA0_OUT_RST = 0
- // .. ==> 0XF8000240[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU ,0x00000000U),
- // .. FINISH: FPGA RESETS TO 0
- // .. START: AFI REGISTERS
- // .. .. START: AFI0 REGISTERS
- // .. .. FINISH: AFI0 REGISTERS
- // .. .. START: AFI1 REGISTERS
- // .. .. FINISH: AFI1 REGISTERS
- // .. .. START: AFI2 REGISTERS
- // .. .. FINISH: AFI2 REGISTERS
- // .. .. START: AFI3 REGISTERS
- // .. .. FINISH: AFI3 REGISTERS
- // .. FINISH: AFI REGISTERS
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_debug_3_0[] = {
- // START: top
- // .. START: CROSS TRIGGER CONFIGURATIONS
- // .. .. START: UNLOCKING CTI REGISTERS
- // .. .. KEY = 0XC5ACCE55
- // .. .. ==> 0XF8898FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8898FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. KEY = 0XC5ACCE55
- // .. .. ==> 0XF8899FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8899FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. KEY = 0XC5ACCE55
- // .. .. ==> 0XF8809FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8809FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. FINISH: UNLOCKING CTI REGISTERS
- // .. .. START: ENABLING CTI MODULES AND CHANNELS
- // .. .. FINISH: ENABLING CTI MODULES AND CHANNELS
- // .. .. START: MAPPING CPU0, CPU1 AND FTM EVENTS TO CTM CHANNELS
- // .. .. FINISH: MAPPING CPU0, CPU1 AND FTM EVENTS TO CTM CHANNELS
- // .. FINISH: CROSS TRIGGER CONFIGURATIONS
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_pll_init_data_2_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: PLL SLCR REGISTERS
- // .. .. START: ARM PLL INIT
- // .. .. PLL_RES = 0x4
- // .. .. ==> 0XF8000110[7:4] = 0x00000004U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000040U
- // .. .. PLL_CP = 0x2
- // .. .. ==> 0XF8000110[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. LOCK_CNT = 0xfa
- // .. .. ==> 0XF8000110[21:12] = 0x000000FAU
- // .. .. ==> MASK : 0x003FF000U VAL : 0x000FA000U
- // .. ..
- EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U ,0x000FA240U),
- // .. .. .. START: UPDATE FB_DIV
- // .. .. .. PLL_FDIV = 0x3c
- // .. .. .. ==> 0XF8000100[18:12] = 0x0000003CU
- // .. .. .. ==> MASK : 0x0007F000U VAL : 0x0003C000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x0007F000U ,0x0003C000U),
- // .. .. .. FINISH: UPDATE FB_DIV
- // .. .. .. START: BY PASS PLL
- // .. .. .. PLL_BYPASS_FORCE = 1
- // .. .. .. ==> 0XF8000100[4:4] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000010U),
- // .. .. .. FINISH: BY PASS PLL
- // .. .. .. START: ASSERT RESET
- // .. .. .. PLL_RESET = 1
- // .. .. .. ==> 0XF8000100[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000001U),
- // .. .. .. FINISH: ASSERT RESET
- // .. .. .. START: DEASSERT RESET
- // .. .. .. PLL_RESET = 0
- // .. .. .. ==> 0XF8000100[0:0] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000000U),
- // .. .. .. FINISH: DEASSERT RESET
- // .. .. .. START: CHECK PLL STATUS
- // .. .. .. ARM_PLL_LOCK = 1
- // .. .. .. ==> 0XF800010C[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKPOLL(0XF800010C, 0x00000001U),
- // .. .. .. FINISH: CHECK PLL STATUS
- // .. .. .. START: REMOVE PLL BY PASS
- // .. .. .. PLL_BYPASS_FORCE = 0
- // .. .. .. ==> 0XF8000100[4:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000000U),
- // .. .. .. FINISH: REMOVE PLL BY PASS
- // .. .. .. SRCSEL = 0x0
- // .. .. .. ==> 0XF8000120[5:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. .. DIVISOR = 0x3
- // .. .. .. ==> 0XF8000120[13:8] = 0x00000003U
- // .. .. .. ==> MASK : 0x00003F00U VAL : 0x00000300U
- // .. .. .. CPU_6OR4XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[24:24] = 0x00000001U
- // .. .. .. ==> MASK : 0x01000000U VAL : 0x01000000U
- // .. .. .. CPU_3OR2XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[25:25] = 0x00000001U
- // .. .. .. ==> MASK : 0x02000000U VAL : 0x02000000U
- // .. .. .. CPU_2XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[26:26] = 0x00000001U
- // .. .. .. ==> MASK : 0x04000000U VAL : 0x04000000U
- // .. .. .. CPU_1XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[27:27] = 0x00000001U
- // .. .. .. ==> MASK : 0x08000000U VAL : 0x08000000U
- // .. .. .. CPU_PERI_CLKACT = 0x1
- // .. .. .. ==> 0XF8000120[28:28] = 0x00000001U
- // .. .. .. ==> MASK : 0x10000000U VAL : 0x10000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000120, 0x1F003F30U ,0x1F000300U),
- // .. .. FINISH: ARM PLL INIT
- // .. .. START: DDR PLL INIT
- // .. .. PLL_RES = 0x2
- // .. .. ==> 0XF8000114[7:4] = 0x00000002U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000020U
- // .. .. PLL_CP = 0x2
- // .. .. ==> 0XF8000114[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. LOCK_CNT = 0x12c
- // .. .. ==> 0XF8000114[21:12] = 0x0000012CU
- // .. .. ==> MASK : 0x003FF000U VAL : 0x0012C000U
- // .. ..
- EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U ,0x0012C220U),
- // .. .. .. START: UPDATE FB_DIV
- // .. .. .. PLL_FDIV = 0x20
- // .. .. .. ==> 0XF8000104[18:12] = 0x00000020U
- // .. .. .. ==> MASK : 0x0007F000U VAL : 0x00020000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x0007F000U ,0x00020000U),
- // .. .. .. FINISH: UPDATE FB_DIV
- // .. .. .. START: BY PASS PLL
- // .. .. .. PLL_BYPASS_FORCE = 1
- // .. .. .. ==> 0XF8000104[4:4] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000010U),
- // .. .. .. FINISH: BY PASS PLL
- // .. .. .. START: ASSERT RESET
- // .. .. .. PLL_RESET = 1
- // .. .. .. ==> 0XF8000104[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000001U),
- // .. .. .. FINISH: ASSERT RESET
- // .. .. .. START: DEASSERT RESET
- // .. .. .. PLL_RESET = 0
- // .. .. .. ==> 0XF8000104[0:0] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000000U),
- // .. .. .. FINISH: DEASSERT RESET
- // .. .. .. START: CHECK PLL STATUS
- // .. .. .. DDR_PLL_LOCK = 1
- // .. .. .. ==> 0XF800010C[1:1] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. ..
- EMIT_MASKPOLL(0XF800010C, 0x00000002U),
- // .. .. .. FINISH: CHECK PLL STATUS
- // .. .. .. START: REMOVE PLL BY PASS
- // .. .. .. PLL_BYPASS_FORCE = 0
- // .. .. .. ==> 0XF8000104[4:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000000U),
- // .. .. .. FINISH: REMOVE PLL BY PASS
- // .. .. .. DDR_3XCLKACT = 0x1
- // .. .. .. ==> 0XF8000124[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. .. DDR_2XCLKACT = 0x1
- // .. .. .. ==> 0XF8000124[1:1] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. .. DDR_3XCLK_DIVISOR = 0x2
- // .. .. .. ==> 0XF8000124[25:20] = 0x00000002U
- // .. .. .. ==> MASK : 0x03F00000U VAL : 0x00200000U
- // .. .. .. DDR_2XCLK_DIVISOR = 0x3
- // .. .. .. ==> 0XF8000124[31:26] = 0x00000003U
- // .. .. .. ==> MASK : 0xFC000000U VAL : 0x0C000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000124, 0xFFF00003U ,0x0C200003U),
- // .. .. FINISH: DDR PLL INIT
- // .. .. START: IO PLL INIT
- // .. .. PLL_RES = 0x4
- // .. .. ==> 0XF8000118[7:4] = 0x00000004U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000040U
- // .. .. PLL_CP = 0x2
- // .. .. ==> 0XF8000118[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. LOCK_CNT = 0xfa
- // .. .. ==> 0XF8000118[21:12] = 0x000000FAU
- // .. .. ==> MASK : 0x003FF000U VAL : 0x000FA000U
- // .. ..
- EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U ,0x000FA240U),
- // .. .. .. START: UPDATE FB_DIV
- // .. .. .. PLL_FDIV = 0x3c
- // .. .. .. ==> 0XF8000108[18:12] = 0x0000003CU
- // .. .. .. ==> MASK : 0x0007F000U VAL : 0x0003C000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x0007F000U ,0x0003C000U),
- // .. .. .. FINISH: UPDATE FB_DIV
- // .. .. .. START: BY PASS PLL
- // .. .. .. PLL_BYPASS_FORCE = 1
- // .. .. .. ==> 0XF8000108[4:4] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000010U),
- // .. .. .. FINISH: BY PASS PLL
- // .. .. .. START: ASSERT RESET
- // .. .. .. PLL_RESET = 1
- // .. .. .. ==> 0XF8000108[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000001U),
- // .. .. .. FINISH: ASSERT RESET
- // .. .. .. START: DEASSERT RESET
- // .. .. .. PLL_RESET = 0
- // .. .. .. ==> 0XF8000108[0:0] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000000U),
- // .. .. .. FINISH: DEASSERT RESET
- // .. .. .. START: CHECK PLL STATUS
- // .. .. .. IO_PLL_LOCK = 1
- // .. .. .. ==> 0XF800010C[2:2] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. .. ..
- EMIT_MASKPOLL(0XF800010C, 0x00000004U),
- // .. .. .. FINISH: CHECK PLL STATUS
- // .. .. .. START: REMOVE PLL BY PASS
- // .. .. .. PLL_BYPASS_FORCE = 0
- // .. .. .. ==> 0XF8000108[4:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000000U),
- // .. .. .. FINISH: REMOVE PLL BY PASS
- // .. .. FINISH: IO PLL INIT
- // .. FINISH: PLL SLCR REGISTERS
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_clock_init_data_2_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: CLOCK CONTROL SLCR REGISTERS
- // .. CLKACT = 0x1
- // .. ==> 0XF8000128[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. DIVISOR0 = 0x23
- // .. ==> 0XF8000128[13:8] = 0x00000023U
- // .. ==> MASK : 0x00003F00U VAL : 0x00002300U
- // .. DIVISOR1 = 0x3
- // .. ==> 0XF8000128[25:20] = 0x00000003U
- // .. ==> MASK : 0x03F00000U VAL : 0x00300000U
- // ..
- EMIT_MASKWRITE(0XF8000128, 0x03F03F01U ,0x00302301U),
- // .. CLKACT = 0x1
- // .. ==> 0XF8000138[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000138[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000138, 0x00000011U ,0x00000001U),
- // .. CLKACT = 0x1
- // .. ==> 0XF8000140[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000140[6:4] = 0x00000000U
- // .. ==> MASK : 0x00000070U VAL : 0x00000000U
- // .. DIVISOR = 0x10
- // .. ==> 0XF8000140[13:8] = 0x00000010U
- // .. ==> MASK : 0x00003F00U VAL : 0x00001000U
- // .. DIVISOR1 = 0x1
- // .. ==> 0XF8000140[25:20] = 0x00000001U
- // .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // ..
- EMIT_MASKWRITE(0XF8000140, 0x03F03F71U ,0x00101001U),
- // .. CLKACT = 0x1
- // .. ==> 0XF800014C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. SRCSEL = 0x0
- // .. ==> 0XF800014C[5:4] = 0x00000000U
- // .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. DIVISOR = 0xa
- // .. ==> 0XF800014C[13:8] = 0x0000000AU
- // .. ==> MASK : 0x00003F00U VAL : 0x00000A00U
- // ..
- EMIT_MASKWRITE(0XF800014C, 0x00003F31U ,0x00000A01U),
- // .. CLKACT0 = 0x0
- // .. ==> 0XF8000150[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. CLKACT1 = 0x1
- // .. ==> 0XF8000150[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000150[5:4] = 0x00000000U
- // .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. DIVISOR = 0x28
- // .. ==> 0XF8000150[13:8] = 0x00000028U
- // .. ==> MASK : 0x00003F00U VAL : 0x00002800U
- // ..
- EMIT_MASKWRITE(0XF8000150, 0x00003F33U ,0x00002802U),
- // .. CLKACT0 = 0x0
- // .. ==> 0XF8000154[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. CLKACT1 = 0x1
- // .. ==> 0XF8000154[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000154[5:4] = 0x00000000U
- // .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. DIVISOR = 0x28
- // .. ==> 0XF8000154[13:8] = 0x00000028U
- // .. ==> MASK : 0x00003F00U VAL : 0x00002800U
- // ..
- EMIT_MASKWRITE(0XF8000154, 0x00003F33U ,0x00002802U),
- // .. .. START: TRACE CLOCK
- // .. .. FINISH: TRACE CLOCK
- // .. .. CLKACT = 0x1
- // .. .. ==> 0XF8000168[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000168[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR = 0xa
- // .. .. ==> 0XF8000168[13:8] = 0x0000000AU
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00000A00U
- // .. ..
- EMIT_MASKWRITE(0XF8000168, 0x00003F31U ,0x00000A01U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000170[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x14
- // .. .. ==> 0XF8000170[13:8] = 0x00000014U
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00001400U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF8000170[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF8000170, 0x03F03F30U ,0x00101400U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000180[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x14
- // .. .. ==> 0XF8000180[13:8] = 0x00000014U
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00001400U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF8000180[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF8000180, 0x03F03F30U ,0x00101400U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000190[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x3c
- // .. .. ==> 0XF8000190[13:8] = 0x0000003CU
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00003C00U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF8000190[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF8000190, 0x03F03F30U ,0x00103C00U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF80001A0[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x28
- // .. .. ==> 0XF80001A0[13:8] = 0x00000028U
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00002800U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF80001A0[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF80001A0, 0x03F03F30U ,0x00102800U),
- // .. .. CLK_621_TRUE = 0x1
- // .. .. ==> 0XF80001C4[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. ..
- EMIT_MASKWRITE(0XF80001C4, 0x00000001U ,0x00000001U),
- // .. .. DMA_CPU_2XCLKACT = 0x1
- // .. .. ==> 0XF800012C[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. USB0_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[2:2] = 0x00000001U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. .. USB1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[3:3] = 0x00000001U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000008U
- // .. .. GEM0_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[6:6] = 0x00000001U
- // .. .. ==> MASK : 0x00000040U VAL : 0x00000040U
- // .. .. GEM1_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[7:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. .. SDI0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. SDI1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[11:11] = 0x00000001U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000800U
- // .. .. SPI0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[14:14] = 0x00000000U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // .. .. SPI1_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. CAN0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. CAN1_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. I2C0_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[18:18] = 0x00000001U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00040000U
- // .. .. I2C1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[19:19] = 0x00000001U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // .. .. UART0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[20:20] = 0x00000000U
- // .. .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. .. UART1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[21:21] = 0x00000001U
- // .. .. ==> MASK : 0x00200000U VAL : 0x00200000U
- // .. .. GPIO_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[22:22] = 0x00000001U
- // .. .. ==> MASK : 0x00400000U VAL : 0x00400000U
- // .. .. LQSPI_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[23:23] = 0x00000001U
- // .. .. ==> MASK : 0x00800000U VAL : 0x00800000U
- // .. .. SMC_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[24:24] = 0x00000001U
- // .. .. ==> MASK : 0x01000000U VAL : 0x01000000U
- // .. ..
- EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU ,0x01EC084DU),
- // .. FINISH: CLOCK CONTROL SLCR REGISTERS
- // .. START: THIS SHOULD BE BLANK
- // .. FINISH: THIS SHOULD BE BLANK
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_ddr_init_data_2_0[] = {
- // START: top
- // .. START: DDR INITIALIZATION
- // .. .. START: LOCK DDR
- // .. .. reg_ddrc_soft_rstb = 0
- // .. .. ==> 0XF8006000[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_powerdown_en = 0x0
- // .. .. ==> 0XF8006000[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_ddrc_data_bus_width = 0x0
- // .. .. ==> 0XF8006000[3:2] = 0x00000000U
- // .. .. ==> MASK : 0x0000000CU VAL : 0x00000000U
- // .. .. reg_ddrc_burst8_refresh = 0x0
- // .. .. ==> 0XF8006000[6:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000070U VAL : 0x00000000U
- // .. .. reg_ddrc_rdwr_idle_gap = 0x1
- // .. .. ==> 0XF8006000[13:7] = 0x00000001U
- // .. .. ==> MASK : 0x00003F80U VAL : 0x00000080U
- // .. .. reg_ddrc_dis_rd_bypass = 0x0
- // .. .. ==> 0XF8006000[14:14] = 0x00000000U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_act_bypass = 0x0
- // .. .. ==> 0XF8006000[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_auto_refresh = 0x0
- // .. .. ==> 0XF8006000[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000080U),
- // .. .. FINISH: LOCK DDR
- // .. .. reg_ddrc_t_rfc_nom_x32 = 0x81
- // .. .. ==> 0XF8006004[11:0] = 0x00000081U
- // .. .. ==> MASK : 0x00000FFFU VAL : 0x00000081U
- // .. .. reg_ddrc_active_ranks = 0x1
- // .. .. ==> 0XF8006004[13:12] = 0x00000001U
- // .. .. ==> MASK : 0x00003000U VAL : 0x00001000U
- // .. .. reg_ddrc_addrmap_cs_bit0 = 0x0
- // .. .. ==> 0XF8006004[18:14] = 0x00000000U
- // .. .. ==> MASK : 0x0007C000U VAL : 0x00000000U
- // .. .. reg_ddrc_wr_odt_block = 0x1
- // .. .. ==> 0XF8006004[20:19] = 0x00000001U
- // .. .. ==> MASK : 0x00180000U VAL : 0x00080000U
- // .. .. reg_ddrc_diff_rank_rd_2cycle_gap = 0x0
- // .. .. ==> 0XF8006004[21:21] = 0x00000000U
- // .. .. ==> MASK : 0x00200000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_cs_bit1 = 0x0
- // .. .. ==> 0XF8006004[26:22] = 0x00000000U
- // .. .. ==> MASK : 0x07C00000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_open_bank = 0x0
- // .. .. ==> 0XF8006004[27:27] = 0x00000000U
- // .. .. ==> MASK : 0x08000000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_4bank_ram = 0x0
- // .. .. ==> 0XF8006004[28:28] = 0x00000000U
- // .. .. ==> MASK : 0x10000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006004, 0x1FFFFFFFU ,0x00081081U),
- // .. .. reg_ddrc_hpr_min_non_critical_x32 = 0xf
- // .. .. ==> 0XF8006008[10:0] = 0x0000000FU
- // .. .. ==> MASK : 0x000007FFU VAL : 0x0000000FU
- // .. .. reg_ddrc_hpr_max_starve_x32 = 0xf
- // .. .. ==> 0XF8006008[21:11] = 0x0000000FU
- // .. .. ==> MASK : 0x003FF800U VAL : 0x00007800U
- // .. .. reg_ddrc_hpr_xact_run_length = 0xf
- // .. .. ==> 0XF8006008[25:22] = 0x0000000FU
- // .. .. ==> MASK : 0x03C00000U VAL : 0x03C00000U
- // .. ..
- EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU ,0x03C0780FU),
- // .. .. reg_ddrc_lpr_min_non_critical_x32 = 0x1
- // .. .. ==> 0XF800600C[10:0] = 0x00000001U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000001U
- // .. .. reg_ddrc_lpr_max_starve_x32 = 0x2
- // .. .. ==> 0XF800600C[21:11] = 0x00000002U
- // .. .. ==> MASK : 0x003FF800U VAL : 0x00001000U
- // .. .. reg_ddrc_lpr_xact_run_length = 0x8
- // .. .. ==> 0XF800600C[25:22] = 0x00000008U
- // .. .. ==> MASK : 0x03C00000U VAL : 0x02000000U
- // .. ..
- EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU ,0x02001001U),
- // .. .. reg_ddrc_w_min_non_critical_x32 = 0x1
- // .. .. ==> 0XF8006010[10:0] = 0x00000001U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000001U
- // .. .. reg_ddrc_w_xact_run_length = 0x8
- // .. .. ==> 0XF8006010[14:11] = 0x00000008U
- // .. .. ==> MASK : 0x00007800U VAL : 0x00004000U
- // .. .. reg_ddrc_w_max_starve_x32 = 0x2
- // .. .. ==> 0XF8006010[25:15] = 0x00000002U
- // .. .. ==> MASK : 0x03FF8000U VAL : 0x00010000U
- // .. ..
- EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU ,0x00014001U),
- // .. .. reg_ddrc_t_rc = 0x1a
- // .. .. ==> 0XF8006014[5:0] = 0x0000001AU
- // .. .. ==> MASK : 0x0000003FU VAL : 0x0000001AU
- // .. .. reg_ddrc_t_rfc_min = 0xa0
- // .. .. ==> 0XF8006014[13:6] = 0x000000A0U
- // .. .. ==> MASK : 0x00003FC0U VAL : 0x00002800U
- // .. .. reg_ddrc_post_selfref_gap_x32 = 0x10
- // .. .. ==> 0XF8006014[20:14] = 0x00000010U
- // .. .. ==> MASK : 0x001FC000U VAL : 0x00040000U
- // .. ..
- EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU ,0x0004281AU),
- // .. .. reg_ddrc_wr2pre = 0x12
- // .. .. ==> 0XF8006018[4:0] = 0x00000012U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000012U
- // .. .. reg_ddrc_powerdown_to_x32 = 0x6
- // .. .. ==> 0XF8006018[9:5] = 0x00000006U
- // .. .. ==> MASK : 0x000003E0U VAL : 0x000000C0U
- // .. .. reg_ddrc_t_faw = 0x16
- // .. .. ==> 0XF8006018[15:10] = 0x00000016U
- // .. .. ==> MASK : 0x0000FC00U VAL : 0x00005800U
- // .. .. reg_ddrc_t_ras_max = 0x24
- // .. .. ==> 0XF8006018[21:16] = 0x00000024U
- // .. .. ==> MASK : 0x003F0000U VAL : 0x00240000U
- // .. .. reg_ddrc_t_ras_min = 0x13
- // .. .. ==> 0XF8006018[26:22] = 0x00000013U
- // .. .. ==> MASK : 0x07C00000U VAL : 0x04C00000U
- // .. .. reg_ddrc_t_cke = 0x4
- // .. .. ==> 0XF8006018[31:28] = 0x00000004U
- // .. .. ==> MASK : 0xF0000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU ,0x44E458D2U),
- // .. .. reg_ddrc_write_latency = 0x5
- // .. .. ==> 0XF800601C[4:0] = 0x00000005U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000005U
- // .. .. reg_ddrc_rd2wr = 0x7
- // .. .. ==> 0XF800601C[9:5] = 0x00000007U
- // .. .. ==> MASK : 0x000003E0U VAL : 0x000000E0U
- // .. .. reg_ddrc_wr2rd = 0xe
- // .. .. ==> 0XF800601C[14:10] = 0x0000000EU
- // .. .. ==> MASK : 0x00007C00U VAL : 0x00003800U
- // .. .. reg_ddrc_t_xp = 0x4
- // .. .. ==> 0XF800601C[19:15] = 0x00000004U
- // .. .. ==> MASK : 0x000F8000U VAL : 0x00020000U
- // .. .. reg_ddrc_pad_pd = 0x0
- // .. .. ==> 0XF800601C[22:20] = 0x00000000U
- // .. .. ==> MASK : 0x00700000U VAL : 0x00000000U
- // .. .. reg_ddrc_rd2pre = 0x4
- // .. .. ==> 0XF800601C[27:23] = 0x00000004U
- // .. .. ==> MASK : 0x0F800000U VAL : 0x02000000U
- // .. .. reg_ddrc_t_rcd = 0x7
- // .. .. ==> 0XF800601C[31:28] = 0x00000007U
- // .. .. ==> MASK : 0xF0000000U VAL : 0x70000000U
- // .. ..
- EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU ,0x720238E5U),
- // .. .. reg_ddrc_t_ccd = 0x4
- // .. .. ==> 0XF8006020[4:2] = 0x00000004U
- // .. .. ==> MASK : 0x0000001CU VAL : 0x00000010U
- // .. .. reg_ddrc_t_rrd = 0x6
- // .. .. ==> 0XF8006020[7:5] = 0x00000006U
- // .. .. ==> MASK : 0x000000E0U VAL : 0x000000C0U
- // .. .. reg_ddrc_refresh_margin = 0x2
- // .. .. ==> 0XF8006020[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. reg_ddrc_t_rp = 0x7
- // .. .. ==> 0XF8006020[15:12] = 0x00000007U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00007000U
- // .. .. reg_ddrc_refresh_to_x32 = 0x8
- // .. .. ==> 0XF8006020[20:16] = 0x00000008U
- // .. .. ==> MASK : 0x001F0000U VAL : 0x00080000U
- // .. .. reg_ddrc_sdram = 0x1
- // .. .. ==> 0XF8006020[21:21] = 0x00000001U
- // .. .. ==> MASK : 0x00200000U VAL : 0x00200000U
- // .. .. reg_ddrc_mobile = 0x0
- // .. .. ==> 0XF8006020[22:22] = 0x00000000U
- // .. .. ==> MASK : 0x00400000U VAL : 0x00000000U
- // .. .. reg_ddrc_clock_stop_en = 0x0
- // .. .. ==> 0XF8006020[23:23] = 0x00000000U
- // .. .. ==> MASK : 0x00800000U VAL : 0x00000000U
- // .. .. reg_ddrc_read_latency = 0x7
- // .. .. ==> 0XF8006020[28:24] = 0x00000007U
- // .. .. ==> MASK : 0x1F000000U VAL : 0x07000000U
- // .. .. reg_phy_mode_ddr1_ddr2 = 0x1
- // .. .. ==> 0XF8006020[29:29] = 0x00000001U
- // .. .. ==> MASK : 0x20000000U VAL : 0x20000000U
- // .. .. reg_ddrc_dis_pad_pd = 0x0
- // .. .. ==> 0XF8006020[30:30] = 0x00000000U
- // .. .. ==> MASK : 0x40000000U VAL : 0x00000000U
- // .. .. reg_ddrc_loopback = 0x0
- // .. .. ==> 0XF8006020[31:31] = 0x00000000U
- // .. .. ==> MASK : 0x80000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006020, 0xFFFFFFFCU ,0x272872D0U),
- // .. .. reg_ddrc_en_2t_timing_mode = 0x0
- // .. .. ==> 0XF8006024[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_prefer_write = 0x0
- // .. .. ==> 0XF8006024[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_ddrc_max_rank_rd = 0xf
- // .. .. ==> 0XF8006024[5:2] = 0x0000000FU
- // .. .. ==> MASK : 0x0000003CU VAL : 0x0000003CU
- // .. .. reg_ddrc_mr_wr = 0x0
- // .. .. ==> 0XF8006024[6:6] = 0x00000000U
- // .. .. ==> MASK : 0x00000040U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_addr = 0x0
- // .. .. ==> 0XF8006024[8:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000180U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_data = 0x0
- // .. .. ==> 0XF8006024[24:9] = 0x00000000U
- // .. .. ==> MASK : 0x01FFFE00U VAL : 0x00000000U
- // .. .. ddrc_reg_mr_wr_busy = 0x0
- // .. .. ==> 0XF8006024[25:25] = 0x00000000U
- // .. .. ==> MASK : 0x02000000U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_type = 0x0
- // .. .. ==> 0XF8006024[26:26] = 0x00000000U
- // .. .. ==> MASK : 0x04000000U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_rdata_valid = 0x0
- // .. .. ==> 0XF8006024[27:27] = 0x00000000U
- // .. .. ==> MASK : 0x08000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006024, 0x0FFFFFFFU ,0x0000003CU),
- // .. .. reg_ddrc_final_wait_x32 = 0x7
- // .. .. ==> 0XF8006028[6:0] = 0x00000007U
- // .. .. ==> MASK : 0x0000007FU VAL : 0x00000007U
- // .. .. reg_ddrc_pre_ocd_x32 = 0x0
- // .. .. ==> 0XF8006028[10:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000780U VAL : 0x00000000U
- // .. .. reg_ddrc_t_mrd = 0x4
- // .. .. ==> 0XF8006028[13:11] = 0x00000004U
- // .. .. ==> MASK : 0x00003800U VAL : 0x00002000U
- // .. ..
- EMIT_MASKWRITE(0XF8006028, 0x00003FFFU ,0x00002007U),
- // .. .. reg_ddrc_emr2 = 0x8
- // .. .. ==> 0XF800602C[15:0] = 0x00000008U
- // .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000008U
- // .. .. reg_ddrc_emr3 = 0x0
- // .. .. ==> 0XF800602C[31:16] = 0x00000000U
- // .. .. ==> MASK : 0xFFFF0000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU ,0x00000008U),
- // .. .. reg_ddrc_mr = 0x930
- // .. .. ==> 0XF8006030[15:0] = 0x00000930U
- // .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000930U
- // .. .. reg_ddrc_emr = 0x4
- // .. .. ==> 0XF8006030[31:16] = 0x00000004U
- // .. .. ==> MASK : 0xFFFF0000U VAL : 0x00040000U
- // .. ..
- EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU ,0x00040930U),
- // .. .. reg_ddrc_burst_rdwr = 0x4
- // .. .. ==> 0XF8006034[3:0] = 0x00000004U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000004U
- // .. .. reg_ddrc_pre_cke_x1024 = 0x105
- // .. .. ==> 0XF8006034[13:4] = 0x00000105U
- // .. .. ==> MASK : 0x00003FF0U VAL : 0x00001050U
- // .. .. reg_ddrc_post_cke_x1024 = 0x1
- // .. .. ==> 0XF8006034[25:16] = 0x00000001U
- // .. .. ==> MASK : 0x03FF0000U VAL : 0x00010000U
- // .. .. reg_ddrc_burstchop = 0x0
- // .. .. ==> 0XF8006034[28:28] = 0x00000000U
- // .. .. ==> MASK : 0x10000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU ,0x00011054U),
- // .. .. reg_ddrc_force_low_pri_n = 0x0
- // .. .. ==> 0XF8006038[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_dq = 0x0
- // .. .. ==> 0XF8006038[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_debug_mode = 0x0
- // .. .. ==> 0XF8006038[6:6] = 0x00000000U
- // .. .. ==> MASK : 0x00000040U VAL : 0x00000000U
- // .. .. reg_phy_wr_level_start = 0x0
- // .. .. ==> 0XF8006038[7:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. .. reg_phy_rd_level_start = 0x0
- // .. .. ==> 0XF8006038[8:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. .. reg_phy_dq0_wait_t = 0x0
- // .. .. ==> 0XF8006038[12:9] = 0x00000000U
- // .. .. ==> MASK : 0x00001E00U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006038, 0x00001FC3U ,0x00000000U),
- // .. .. reg_ddrc_addrmap_bank_b0 = 0x7
- // .. .. ==> 0XF800603C[3:0] = 0x00000007U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000007U
- // .. .. reg_ddrc_addrmap_bank_b1 = 0x7
- // .. .. ==> 0XF800603C[7:4] = 0x00000007U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000070U
- // .. .. reg_ddrc_addrmap_bank_b2 = 0x7
- // .. .. ==> 0XF800603C[11:8] = 0x00000007U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000700U
- // .. .. reg_ddrc_addrmap_col_b5 = 0x0
- // .. .. ==> 0XF800603C[15:12] = 0x00000000U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b6 = 0x0
- // .. .. ==> 0XF800603C[19:16] = 0x00000000U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU ,0x00000777U),
- // .. .. reg_ddrc_addrmap_col_b2 = 0x0
- // .. .. ==> 0XF8006040[3:0] = 0x00000000U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b3 = 0x0
- // .. .. ==> 0XF8006040[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b4 = 0x0
- // .. .. ==> 0XF8006040[11:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b7 = 0x0
- // .. .. ==> 0XF8006040[15:12] = 0x00000000U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b8 = 0x0
- // .. .. ==> 0XF8006040[19:16] = 0x00000000U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b9 = 0xf
- // .. .. ==> 0XF8006040[23:20] = 0x0000000FU
- // .. .. ==> MASK : 0x00F00000U VAL : 0x00F00000U
- // .. .. reg_ddrc_addrmap_col_b10 = 0xf
- // .. .. ==> 0XF8006040[27:24] = 0x0000000FU
- // .. .. ==> MASK : 0x0F000000U VAL : 0x0F000000U
- // .. .. reg_ddrc_addrmap_col_b11 = 0xf
- // .. .. ==> 0XF8006040[31:28] = 0x0000000FU
- // .. .. ==> MASK : 0xF0000000U VAL : 0xF0000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU ,0xFFF00000U),
- // .. .. reg_ddrc_addrmap_row_b0 = 0x6
- // .. .. ==> 0XF8006044[3:0] = 0x00000006U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000006U
- // .. .. reg_ddrc_addrmap_row_b1 = 0x6
- // .. .. ==> 0XF8006044[7:4] = 0x00000006U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000060U
- // .. .. reg_ddrc_addrmap_row_b2_11 = 0x6
- // .. .. ==> 0XF8006044[11:8] = 0x00000006U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000600U
- // .. .. reg_ddrc_addrmap_row_b12 = 0x6
- // .. .. ==> 0XF8006044[15:12] = 0x00000006U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00006000U
- // .. .. reg_ddrc_addrmap_row_b13 = 0x6
- // .. .. ==> 0XF8006044[19:16] = 0x00000006U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00060000U
- // .. .. reg_ddrc_addrmap_row_b14 = 0x6
- // .. .. ==> 0XF8006044[23:20] = 0x00000006U
- // .. .. ==> MASK : 0x00F00000U VAL : 0x00600000U
- // .. .. reg_ddrc_addrmap_row_b15 = 0xf
- // .. .. ==> 0XF8006044[27:24] = 0x0000000FU
- // .. .. ==> MASK : 0x0F000000U VAL : 0x0F000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU ,0x0F666666U),
- // .. .. reg_ddrc_rank0_rd_odt = 0x0
- // .. .. ==> 0XF8006048[2:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000007U VAL : 0x00000000U
- // .. .. reg_ddrc_rank0_wr_odt = 0x1
- // .. .. ==> 0XF8006048[5:3] = 0x00000001U
- // .. .. ==> MASK : 0x00000038U VAL : 0x00000008U
- // .. .. reg_ddrc_rank1_rd_odt = 0x1
- // .. .. ==> 0XF8006048[8:6] = 0x00000001U
- // .. .. ==> MASK : 0x000001C0U VAL : 0x00000040U
- // .. .. reg_ddrc_rank1_wr_odt = 0x1
- // .. .. ==> 0XF8006048[11:9] = 0x00000001U
- // .. .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. .. reg_phy_rd_local_odt = 0x0
- // .. .. ==> 0XF8006048[13:12] = 0x00000000U
- // .. .. ==> MASK : 0x00003000U VAL : 0x00000000U
- // .. .. reg_phy_wr_local_odt = 0x3
- // .. .. ==> 0XF8006048[15:14] = 0x00000003U
- // .. .. ==> MASK : 0x0000C000U VAL : 0x0000C000U
- // .. .. reg_phy_idle_local_odt = 0x3
- // .. .. ==> 0XF8006048[17:16] = 0x00000003U
- // .. .. ==> MASK : 0x00030000U VAL : 0x00030000U
- // .. .. reg_ddrc_rank2_rd_odt = 0x0
- // .. .. ==> 0XF8006048[20:18] = 0x00000000U
- // .. .. ==> MASK : 0x001C0000U VAL : 0x00000000U
- // .. .. reg_ddrc_rank2_wr_odt = 0x0
- // .. .. ==> 0XF8006048[23:21] = 0x00000000U
- // .. .. ==> MASK : 0x00E00000U VAL : 0x00000000U
- // .. .. reg_ddrc_rank3_rd_odt = 0x0
- // .. .. ==> 0XF8006048[26:24] = 0x00000000U
- // .. .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. .. reg_ddrc_rank3_wr_odt = 0x0
- // .. .. ==> 0XF8006048[29:27] = 0x00000000U
- // .. .. ==> MASK : 0x38000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006048, 0x3FFFFFFFU ,0x0003C248U),
- // .. .. reg_phy_rd_cmd_to_data = 0x0
- // .. .. ==> 0XF8006050[3:0] = 0x00000000U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000000U
- // .. .. reg_phy_wr_cmd_to_data = 0x0
- // .. .. ==> 0XF8006050[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. .. reg_phy_rdc_we_to_re_delay = 0x8
- // .. .. ==> 0XF8006050[11:8] = 0x00000008U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000800U
- // .. .. reg_phy_rdc_fifo_rst_disable = 0x0
- // .. .. ==> 0XF8006050[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. reg_phy_use_fixed_re = 0x1
- // .. .. ==> 0XF8006050[16:16] = 0x00000001U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00010000U
- // .. .. reg_phy_rdc_fifo_rst_err_cnt_clr = 0x0
- // .. .. ==> 0XF8006050[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_phy_dis_phy_ctrl_rstn = 0x0
- // .. .. ==> 0XF8006050[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_phy_clk_stall_level = 0x0
- // .. .. ==> 0XF8006050[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_num_of_dq0 = 0x7
- // .. .. ==> 0XF8006050[27:24] = 0x00000007U
- // .. .. ==> MASK : 0x0F000000U VAL : 0x07000000U
- // .. .. reg_phy_wrlvl_num_of_dq0 = 0x7
- // .. .. ==> 0XF8006050[31:28] = 0x00000007U
- // .. .. ==> MASK : 0xF0000000U VAL : 0x70000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU ,0x77010800U),
- // .. .. reg_ddrc_dll_calib_to_min_x1024 = 0x1
- // .. .. ==> 0XF8006058[7:0] = 0x00000001U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x00000001U
- // .. .. reg_ddrc_dll_calib_to_max_x1024 = 0x1
- // .. .. ==> 0XF8006058[15:8] = 0x00000001U
- // .. .. ==> MASK : 0x0000FF00U VAL : 0x00000100U
- // .. .. reg_ddrc_dis_dll_calib = 0x0
- // .. .. ==> 0XF8006058[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006058, 0x0001FFFFU ,0x00000101U),
- // .. .. reg_ddrc_rd_odt_delay = 0x3
- // .. .. ==> 0XF800605C[3:0] = 0x00000003U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000003U
- // .. .. reg_ddrc_wr_odt_delay = 0x0
- // .. .. ==> 0XF800605C[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. .. reg_ddrc_rd_odt_hold = 0x0
- // .. .. ==> 0XF800605C[11:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000000U
- // .. .. reg_ddrc_wr_odt_hold = 0x5
- // .. .. ==> 0XF800605C[15:12] = 0x00000005U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00005000U
- // .. ..
- EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU ,0x00005003U),
- // .. .. reg_ddrc_pageclose = 0x0
- // .. .. ==> 0XF8006060[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_lpr_num_entries = 0x1f
- // .. .. ==> 0XF8006060[6:1] = 0x0000001FU
- // .. .. ==> MASK : 0x0000007EU VAL : 0x0000003EU
- // .. .. reg_ddrc_auto_pre_en = 0x0
- // .. .. ==> 0XF8006060[7:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. .. reg_ddrc_refresh_update_level = 0x0
- // .. .. ==> 0XF8006060[8:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_wc = 0x0
- // .. .. ==> 0XF8006060[9:9] = 0x00000000U
- // .. .. ==> MASK : 0x00000200U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_collision_page_opt = 0x0
- // .. .. ==> 0XF8006060[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_ddrc_selfref_en = 0x0
- // .. .. ==> 0XF8006060[12:12] = 0x00000000U
- // .. .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006060, 0x000017FFU ,0x0000003EU),
- // .. .. reg_ddrc_go2critical_hysteresis = 0x0
- // .. .. ==> 0XF8006064[12:5] = 0x00000000U
- // .. .. ==> MASK : 0x00001FE0U VAL : 0x00000000U
- // .. .. reg_arb_go2critical_en = 0x1
- // .. .. ==> 0XF8006064[17:17] = 0x00000001U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00020000U
- // .. ..
- EMIT_MASKWRITE(0XF8006064, 0x00021FE0U ,0x00020000U),
- // .. .. reg_ddrc_wrlvl_ww = 0x41
- // .. .. ==> 0XF8006068[7:0] = 0x00000041U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x00000041U
- // .. .. reg_ddrc_rdlvl_rr = 0x41
- // .. .. ==> 0XF8006068[15:8] = 0x00000041U
- // .. .. ==> MASK : 0x0000FF00U VAL : 0x00004100U
- // .. .. reg_ddrc_dfi_t_wlmrd = 0x28
- // .. .. ==> 0XF8006068[25:16] = 0x00000028U
- // .. .. ==> MASK : 0x03FF0000U VAL : 0x00280000U
- // .. ..
- EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU ,0x00284141U),
- // .. .. dfi_t_ctrlupd_interval_min_x1024 = 0x10
- // .. .. ==> 0XF800606C[7:0] = 0x00000010U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x00000010U
- // .. .. dfi_t_ctrlupd_interval_max_x1024 = 0x16
- // .. .. ==> 0XF800606C[15:8] = 0x00000016U
- // .. .. ==> MASK : 0x0000FF00U VAL : 0x00001600U
- // .. ..
- EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU ,0x00001610U),
- // .. .. reg_ddrc_dfi_t_ctrl_delay = 0x1
- // .. .. ==> 0XF8006078[3:0] = 0x00000001U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000001U
- // .. .. reg_ddrc_dfi_t_dram_clk_disable = 0x1
- // .. .. ==> 0XF8006078[7:4] = 0x00000001U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000010U
- // .. .. reg_ddrc_dfi_t_dram_clk_enable = 0x1
- // .. .. ==> 0XF8006078[11:8] = 0x00000001U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000100U
- // .. .. reg_ddrc_t_cksre = 0x6
- // .. .. ==> 0XF8006078[15:12] = 0x00000006U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00006000U
- // .. .. reg_ddrc_t_cksrx = 0x6
- // .. .. ==> 0XF8006078[19:16] = 0x00000006U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00060000U
- // .. .. reg_ddrc_t_ckesr = 0x4
- // .. .. ==> 0XF8006078[25:20] = 0x00000004U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00400000U
- // .. ..
- EMIT_MASKWRITE(0XF8006078, 0x03FFFFFFU ,0x00466111U),
- // .. .. reg_ddrc_t_ckpde = 0x2
- // .. .. ==> 0XF800607C[3:0] = 0x00000002U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000002U
- // .. .. reg_ddrc_t_ckpdx = 0x2
- // .. .. ==> 0XF800607C[7:4] = 0x00000002U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000020U
- // .. .. reg_ddrc_t_ckdpde = 0x2
- // .. .. ==> 0XF800607C[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. reg_ddrc_t_ckdpdx = 0x2
- // .. .. ==> 0XF800607C[15:12] = 0x00000002U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00002000U
- // .. .. reg_ddrc_t_ckcsx = 0x3
- // .. .. ==> 0XF800607C[19:16] = 0x00000003U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00030000U
- // .. ..
- EMIT_MASKWRITE(0XF800607C, 0x000FFFFFU ,0x00032222U),
- // .. .. refresh_timer0_start_value_x32 = 0x0
- // .. .. ==> 0XF80060A0[11:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000FFFU VAL : 0x00000000U
- // .. .. refresh_timer1_start_value_x32 = 0x8
- // .. .. ==> 0XF80060A0[23:12] = 0x00000008U
- // .. .. ==> MASK : 0x00FFF000U VAL : 0x00008000U
- // .. ..
- EMIT_MASKWRITE(0XF80060A0, 0x00FFFFFFU ,0x00008000U),
- // .. .. reg_ddrc_dis_auto_zq = 0x0
- // .. .. ==> 0XF80060A4[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_ddr3 = 0x1
- // .. .. ==> 0XF80060A4[1:1] = 0x00000001U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. reg_ddrc_t_mod = 0x200
- // .. .. ==> 0XF80060A4[11:2] = 0x00000200U
- // .. .. ==> MASK : 0x00000FFCU VAL : 0x00000800U
- // .. .. reg_ddrc_t_zq_long_nop = 0x200
- // .. .. ==> 0XF80060A4[21:12] = 0x00000200U
- // .. .. ==> MASK : 0x003FF000U VAL : 0x00200000U
- // .. .. reg_ddrc_t_zq_short_nop = 0x40
- // .. .. ==> 0XF80060A4[31:22] = 0x00000040U
- // .. .. ==> MASK : 0xFFC00000U VAL : 0x10000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU ,0x10200802U),
- // .. .. t_zq_short_interval_x1024 = 0xcb73
- // .. .. ==> 0XF80060A8[19:0] = 0x0000CB73U
- // .. .. ==> MASK : 0x000FFFFFU VAL : 0x0000CB73U
- // .. .. dram_rstn_x1024 = 0x69
- // .. .. ==> 0XF80060A8[27:20] = 0x00000069U
- // .. .. ==> MASK : 0x0FF00000U VAL : 0x06900000U
- // .. ..
- EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU ,0x0690CB73U),
- // .. .. deeppowerdown_en = 0x0
- // .. .. ==> 0XF80060AC[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. deeppowerdown_to_x1024 = 0xff
- // .. .. ==> 0XF80060AC[8:1] = 0x000000FFU
- // .. .. ==> MASK : 0x000001FEU VAL : 0x000001FEU
- // .. ..
- EMIT_MASKWRITE(0XF80060AC, 0x000001FFU ,0x000001FEU),
- // .. .. dfi_wrlvl_max_x1024 = 0xfff
- // .. .. ==> 0XF80060B0[11:0] = 0x00000FFFU
- // .. .. ==> MASK : 0x00000FFFU VAL : 0x00000FFFU
- // .. .. dfi_rdlvl_max_x1024 = 0xfff
- // .. .. ==> 0XF80060B0[23:12] = 0x00000FFFU
- // .. .. ==> MASK : 0x00FFF000U VAL : 0x00FFF000U
- // .. .. ddrc_reg_twrlvl_max_error = 0x0
- // .. .. ==> 0XF80060B0[24:24] = 0x00000000U
- // .. .. ==> MASK : 0x01000000U VAL : 0x00000000U
- // .. .. ddrc_reg_trdlvl_max_error = 0x0
- // .. .. ==> 0XF80060B0[25:25] = 0x00000000U
- // .. .. ==> MASK : 0x02000000U VAL : 0x00000000U
- // .. .. reg_ddrc_dfi_wr_level_en = 0x1
- // .. .. ==> 0XF80060B0[26:26] = 0x00000001U
- // .. .. ==> MASK : 0x04000000U VAL : 0x04000000U
- // .. .. reg_ddrc_dfi_rd_dqs_gate_level = 0x1
- // .. .. ==> 0XF80060B0[27:27] = 0x00000001U
- // .. .. ==> MASK : 0x08000000U VAL : 0x08000000U
- // .. .. reg_ddrc_dfi_rd_data_eye_train = 0x1
- // .. .. ==> 0XF80060B0[28:28] = 0x00000001U
- // .. .. ==> MASK : 0x10000000U VAL : 0x10000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU ,0x1CFFFFFFU),
- // .. .. reg_ddrc_2t_delay = 0x0
- // .. .. ==> 0XF80060B4[8:0] = 0x00000000U
- // .. .. ==> MASK : 0x000001FFU VAL : 0x00000000U
- // .. .. reg_ddrc_skip_ocd = 0x1
- // .. .. ==> 0XF80060B4[9:9] = 0x00000001U
- // .. .. ==> MASK : 0x00000200U VAL : 0x00000200U
- // .. .. reg_ddrc_dis_pre_bypass = 0x0
- // .. .. ==> 0XF80060B4[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060B4, 0x000007FFU ,0x00000200U),
- // .. .. reg_ddrc_dfi_t_rddata_en = 0x6
- // .. .. ==> 0XF80060B8[4:0] = 0x00000006U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000006U
- // .. .. reg_ddrc_dfi_t_ctrlup_min = 0x3
- // .. .. ==> 0XF80060B8[14:5] = 0x00000003U
- // .. .. ==> MASK : 0x00007FE0U VAL : 0x00000060U
- // .. .. reg_ddrc_dfi_t_ctrlup_max = 0x40
- // .. .. ==> 0XF80060B8[24:15] = 0x00000040U
- // .. .. ==> MASK : 0x01FF8000U VAL : 0x00200000U
- // .. ..
- EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU ,0x00200066U),
- // .. .. START: RESET ECC ERROR
- // .. .. Clear_Uncorrectable_DRAM_ECC_error = 1
- // .. .. ==> 0XF80060C4[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. Clear_Correctable_DRAM_ECC_error = 1
- // .. .. ==> 0XF80060C4[1:1] = 0x00000001U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. ..
- EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000003U),
- // .. .. FINISH: RESET ECC ERROR
- // .. .. Clear_Uncorrectable_DRAM_ECC_error = 0x0
- // .. .. ==> 0XF80060C4[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. Clear_Correctable_DRAM_ECC_error = 0x0
- // .. .. ==> 0XF80060C4[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000000U),
- // .. .. CORR_ECC_LOG_VALID = 0x0
- // .. .. ==> 0XF80060C8[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ECC_CORRECTED_BIT_NUM = 0x0
- // .. .. ==> 0XF80060C8[7:1] = 0x00000000U
- // .. .. ==> MASK : 0x000000FEU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060C8, 0x000000FFU ,0x00000000U),
- // .. .. UNCORR_ECC_LOG_VALID = 0x0
- // .. .. ==> 0XF80060DC[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060DC, 0x00000001U ,0x00000000U),
- // .. .. STAT_NUM_CORR_ERR = 0x0
- // .. .. ==> 0XF80060F0[15:8] = 0x00000000U
- // .. .. ==> MASK : 0x0000FF00U VAL : 0x00000000U
- // .. .. STAT_NUM_UNCORR_ERR = 0x0
- // .. .. ==> 0XF80060F0[7:0] = 0x00000000U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU ,0x00000000U),
- // .. .. reg_ddrc_ecc_mode = 0x0
- // .. .. ==> 0XF80060F4[2:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000007U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_scrub = 0x1
- // .. .. ==> 0XF80060F4[3:3] = 0x00000001U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000008U
- // .. ..
- EMIT_MASKWRITE(0XF80060F4, 0x0000000FU ,0x00000008U),
- // .. .. reg_phy_dif_on = 0x0
- // .. .. ==> 0XF8006114[3:0] = 0x00000000U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000000U
- // .. .. reg_phy_dif_off = 0x0
- // .. .. ==> 0XF8006114[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006114, 0x000000FFU ,0x00000000U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF8006118[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006118[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF8006118[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006118[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_tx = 0x0
- // .. .. ==> 0XF8006118[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_rx = 0x0
- // .. .. ==> 0XF8006118[5:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF8006118[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF8006118[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF8006118[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006118, 0x7FFFFFFFU ,0x40000001U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF800611C[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF800611C[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF800611C[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF800611C[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_tx = 0x0
- // .. .. ==> 0XF800611C[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_rx = 0x0
- // .. .. ==> 0XF800611C[5:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF800611C[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF800611C[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF800611C[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF800611C, 0x7FFFFFFFU ,0x40000001U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF8006120[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_tx = 0x0
- // .. .. ==> 0XF8006120[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_rx = 0x0
- // .. .. ==> 0XF8006120[5:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF8006120[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF8006120[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF8006120[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF8006120[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_tx = 0x0
- // .. .. ==> 0XF8006120[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_rx = 0x0
- // .. .. ==> 0XF8006120[5:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF8006120[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF8006120[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF8006120[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006120, 0x7FFFFFFFU ,0x40000001U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF8006124[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006124[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF8006124[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006124[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_tx = 0x0
- // .. .. ==> 0XF8006124[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_rx = 0x0
- // .. .. ==> 0XF8006124[5:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF8006124[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF8006124[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF8006124[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006124, 0x7FFFFFFFU ,0x40000001U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x0
- // .. .. ==> 0XF800612C[9:0] = 0x00000000U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_init_ratio = 0xa1
- // .. .. ==> 0XF800612C[19:10] = 0x000000A1U
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x00028400U
- // .. ..
- EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU ,0x00028400U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x0
- // .. .. ==> 0XF8006130[9:0] = 0x00000000U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_init_ratio = 0xa0
- // .. .. ==> 0XF8006130[19:10] = 0x000000A0U
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x00028000U
- // .. ..
- EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU ,0x00028000U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x7
- // .. .. ==> 0XF8006134[9:0] = 0x00000007U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000007U
- // .. .. reg_phy_gatelvl_init_ratio = 0xad
- // .. .. ==> 0XF8006134[19:10] = 0x000000ADU
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x0002B400U
- // .. ..
- EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU ,0x0002B407U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x7
- // .. .. ==> 0XF8006138[9:0] = 0x00000007U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000007U
- // .. .. reg_phy_gatelvl_init_ratio = 0xad
- // .. .. ==> 0XF8006138[19:10] = 0x000000ADU
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x0002B400U
- // .. ..
- EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU ,0x0002B407U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF8006140[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006140[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006140[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF8006144[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006144[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006144[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF8006148[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006148[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006148[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF800614C[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF800614C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF800614C[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x7c
- // .. .. ==> 0XF8006154[9:0] = 0x0000007CU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x0000007CU
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006154[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006154[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU ,0x0000007CU),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x7c
- // .. .. ==> 0XF8006158[9:0] = 0x0000007CU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x0000007CU
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006158[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006158[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU ,0x0000007CU),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x87
- // .. .. ==> 0XF800615C[9:0] = 0x00000087U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000087U
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF800615C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF800615C[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU ,0x00000087U),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x87
- // .. .. ==> 0XF8006160[9:0] = 0x00000087U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000087U
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006160[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006160[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU ,0x00000087U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0xf6
- // .. .. ==> 0XF8006168[10:0] = 0x000000F6U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x000000F6U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF8006168[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF8006168[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU ,0x000000F6U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0xf5
- // .. .. ==> 0XF800616C[10:0] = 0x000000F5U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x000000F5U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF800616C[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF800616C[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU ,0x000000F5U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0x102
- // .. .. ==> 0XF8006170[10:0] = 0x00000102U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000102U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF8006170[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF8006170[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU ,0x00000102U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0x102
- // .. .. ==> 0XF8006174[10:0] = 0x00000102U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000102U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF8006174[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF8006174[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU ,0x00000102U),
- // .. .. reg_phy_wr_data_slave_ratio = 0xbc
- // .. .. ==> 0XF800617C[9:0] = 0x000000BCU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000BCU
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF800617C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF800617C[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU ,0x000000BCU),
- // .. .. reg_phy_wr_data_slave_ratio = 0xbc
- // .. .. ==> 0XF8006180[9:0] = 0x000000BCU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000BCU
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF8006180[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF8006180[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU ,0x000000BCU),
- // .. .. reg_phy_wr_data_slave_ratio = 0xc7
- // .. .. ==> 0XF8006184[9:0] = 0x000000C7U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000C7U
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF8006184[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF8006184[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU ,0x000000C7U),
- // .. .. reg_phy_wr_data_slave_ratio = 0xc7
- // .. .. ==> 0XF8006188[9:0] = 0x000000C7U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000C7U
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF8006188[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF8006188[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU ,0x000000C7U),
- // .. .. reg_phy_loopback = 0x0
- // .. .. ==> 0XF8006190[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_phy_bl2 = 0x0
- // .. .. ==> 0XF8006190[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_at_spd_atpg = 0x0
- // .. .. ==> 0XF8006190[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_bist_enable = 0x0
- // .. .. ==> 0XF8006190[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_bist_force_err = 0x0
- // .. .. ==> 0XF8006190[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_bist_mode = 0x0
- // .. .. ==> 0XF8006190[6:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. .. reg_phy_invert_clkout = 0x1
- // .. .. ==> 0XF8006190[7:7] = 0x00000001U
- // .. .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. .. reg_phy_all_dq_mpr_rd_resp = 0x0
- // .. .. ==> 0XF8006190[8:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. .. reg_phy_sel_logic = 0x0
- // .. .. ==> 0XF8006190[9:9] = 0x00000000U
- // .. .. ==> MASK : 0x00000200U VAL : 0x00000000U
- // .. .. reg_phy_ctrl_slave_ratio = 0x100
- // .. .. ==> 0XF8006190[19:10] = 0x00000100U
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x00040000U
- // .. .. reg_phy_ctrl_slave_force = 0x0
- // .. .. ==> 0XF8006190[20:20] = 0x00000000U
- // .. .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. .. reg_phy_ctrl_slave_delay = 0x0
- // .. .. ==> 0XF8006190[27:21] = 0x00000000U
- // .. .. ==> MASK : 0x0FE00000U VAL : 0x00000000U
- // .. .. reg_phy_use_rank0_delays = 0x1
- // .. .. ==> 0XF8006190[28:28] = 0x00000001U
- // .. .. ==> MASK : 0x10000000U VAL : 0x10000000U
- // .. .. reg_phy_lpddr = 0x0
- // .. .. ==> 0XF8006190[29:29] = 0x00000000U
- // .. .. ==> MASK : 0x20000000U VAL : 0x00000000U
- // .. .. reg_phy_cmd_latency = 0x0
- // .. .. ==> 0XF8006190[30:30] = 0x00000000U
- // .. .. ==> MASK : 0x40000000U VAL : 0x00000000U
- // .. .. reg_phy_int_lpbk = 0x0
- // .. .. ==> 0XF8006190[31:31] = 0x00000000U
- // .. .. ==> MASK : 0x80000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006190, 0xFFFFFFFFU ,0x10040080U),
- // .. .. reg_phy_wr_rl_delay = 0x2
- // .. .. ==> 0XF8006194[4:0] = 0x00000002U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000002U
- // .. .. reg_phy_rd_rl_delay = 0x4
- // .. .. ==> 0XF8006194[9:5] = 0x00000004U
- // .. .. ==> MASK : 0x000003E0U VAL : 0x00000080U
- // .. .. reg_phy_dll_lock_diff = 0xf
- // .. .. ==> 0XF8006194[13:10] = 0x0000000FU
- // .. .. ==> MASK : 0x00003C00U VAL : 0x00003C00U
- // .. .. reg_phy_use_wr_level = 0x1
- // .. .. ==> 0XF8006194[14:14] = 0x00000001U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00004000U
- // .. .. reg_phy_use_rd_dqs_gate_level = 0x1
- // .. .. ==> 0XF8006194[15:15] = 0x00000001U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00008000U
- // .. .. reg_phy_use_rd_data_eye_level = 0x1
- // .. .. ==> 0XF8006194[16:16] = 0x00000001U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00010000U
- // .. .. reg_phy_dis_calib_rst = 0x0
- // .. .. ==> 0XF8006194[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_phy_ctrl_slave_delay = 0x0
- // .. .. ==> 0XF8006194[19:18] = 0x00000000U
- // .. .. ==> MASK : 0x000C0000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU ,0x0001FC82U),
- // .. .. reg_arb_page_addr_mask = 0x0
- // .. .. ==> 0XF8006204[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU ,0x00000000U),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF8006208[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF8006208[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF8006208[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF8006208[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_dis_rmw_portn = 0x1
- // .. .. ==> 0XF8006208[19:19] = 0x00000001U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // .. ..
- EMIT_MASKWRITE(0XF8006208, 0x000F03FFU ,0x000803FFU),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF800620C[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF800620C[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF800620C[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF800620C[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_dis_rmw_portn = 0x1
- // .. .. ==> 0XF800620C[19:19] = 0x00000001U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // .. ..
- EMIT_MASKWRITE(0XF800620C, 0x000F03FFU ,0x000803FFU),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF8006210[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF8006210[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF8006210[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF8006210[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_dis_rmw_portn = 0x1
- // .. .. ==> 0XF8006210[19:19] = 0x00000001U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // .. ..
- EMIT_MASKWRITE(0XF8006210, 0x000F03FFU ,0x000803FFU),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF8006214[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF8006214[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF8006214[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF8006214[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_dis_rmw_portn = 0x1
- // .. .. ==> 0XF8006214[19:19] = 0x00000001U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // .. ..
- EMIT_MASKWRITE(0XF8006214, 0x000F03FFU ,0x000803FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF8006218[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF8006218[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF8006218[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF8006218[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF8006218[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006218, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF800621C[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF800621C[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF800621C[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF800621C[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF800621C[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800621C, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF8006220[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF8006220[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF8006220[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF8006220[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF8006220[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006220, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF8006224[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF8006224[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF8006224[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF8006224[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF8006224[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006224, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_ddrc_lpddr2 = 0x0
- // .. .. ==> 0XF80062A8[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_per_bank_refresh = 0x0
- // .. .. ==> 0XF80062A8[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_ddrc_derate_enable = 0x0
- // .. .. ==> 0XF80062A8[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_ddrc_mr4_margin = 0x0
- // .. .. ==> 0XF80062A8[11:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000FF0U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80062A8, 0x00000FF7U ,0x00000000U),
- // .. .. reg_ddrc_mr4_read_interval = 0x0
- // .. .. ==> 0XF80062AC[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU ,0x00000000U),
- // .. .. reg_ddrc_min_stable_clock_x1 = 0x5
- // .. .. ==> 0XF80062B0[3:0] = 0x00000005U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000005U
- // .. .. reg_ddrc_idle_after_reset_x32 = 0x12
- // .. .. ==> 0XF80062B0[11:4] = 0x00000012U
- // .. .. ==> MASK : 0x00000FF0U VAL : 0x00000120U
- // .. .. reg_ddrc_t_mrw = 0x5
- // .. .. ==> 0XF80062B0[21:12] = 0x00000005U
- // .. .. ==> MASK : 0x003FF000U VAL : 0x00005000U
- // .. ..
- EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU ,0x00005125U),
- // .. .. reg_ddrc_max_auto_init_x1024 = 0xa8
- // .. .. ==> 0XF80062B4[7:0] = 0x000000A8U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x000000A8U
- // .. .. reg_ddrc_dev_zqinit_x32 = 0x12
- // .. .. ==> 0XF80062B4[17:8] = 0x00000012U
- // .. .. ==> MASK : 0x0003FF00U VAL : 0x00001200U
- // .. ..
- EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU ,0x000012A8U),
- // .. .. START: POLL ON DCI STATUS
- // .. .. DONE = 1
- // .. .. ==> 0XF8000B74[13:13] = 0x00000001U
- // .. .. ==> MASK : 0x00002000U VAL : 0x00002000U
- // .. ..
- EMIT_MASKPOLL(0XF8000B74, 0x00002000U),
- // .. .. FINISH: POLL ON DCI STATUS
- // .. .. START: UNLOCK DDR
- // .. .. reg_ddrc_soft_rstb = 0x1
- // .. .. ==> 0XF8006000[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_ddrc_powerdown_en = 0x0
- // .. .. ==> 0XF8006000[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_ddrc_data_bus_width = 0x0
- // .. .. ==> 0XF8006000[3:2] = 0x00000000U
- // .. .. ==> MASK : 0x0000000CU VAL : 0x00000000U
- // .. .. reg_ddrc_burst8_refresh = 0x0
- // .. .. ==> 0XF8006000[6:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000070U VAL : 0x00000000U
- // .. .. reg_ddrc_rdwr_idle_gap = 1
- // .. .. ==> 0XF8006000[13:7] = 0x00000001U
- // .. .. ==> MASK : 0x00003F80U VAL : 0x00000080U
- // .. .. reg_ddrc_dis_rd_bypass = 0x0
- // .. .. ==> 0XF8006000[14:14] = 0x00000000U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_act_bypass = 0x0
- // .. .. ==> 0XF8006000[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_auto_refresh = 0x0
- // .. .. ==> 0XF8006000[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000081U),
- // .. .. FINISH: UNLOCK DDR
- // .. .. START: CHECK DDR STATUS
- // .. .. ddrc_reg_operating_mode = 1
- // .. .. ==> 0XF8006054[2:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000007U VAL : 0x00000001U
- // .. ..
- EMIT_MASKPOLL(0XF8006054, 0x00000007U),
- // .. .. FINISH: CHECK DDR STATUS
- // .. FINISH: DDR INITIALIZATION
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_mio_init_data_2_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: OCM REMAPPING
- // .. FINISH: OCM REMAPPING
- // .. START: DDRIOB SETTINGS
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B40[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x0
- // .. ==> 0XF8000B40[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B40[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x0
- // .. ==> 0XF8000B40[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. DCR_TYPE = 0x0
- // .. ==> 0XF8000B40[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. IBUF_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B40[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B40[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B40[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B40[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU ,0x00000600U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B44[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x0
- // .. ==> 0XF8000B44[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B44[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x0
- // .. ==> 0XF8000B44[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. DCR_TYPE = 0x0
- // .. ==> 0XF8000B44[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. IBUF_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B44[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B44[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B44[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B44[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU ,0x00000600U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B48[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x1
- // .. ==> 0XF8000B48[2:1] = 0x00000001U
- // .. ==> MASK : 0x00000006U VAL : 0x00000002U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B48[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B48[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCR_TYPE = 0x3
- // .. ==> 0XF8000B48[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B48[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B48[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B48[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B48[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU ,0x00000672U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B4C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x1
- // .. ==> 0XF8000B4C[2:1] = 0x00000001U
- // .. ==> MASK : 0x00000006U VAL : 0x00000002U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B4C[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B4C[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCR_TYPE = 0x3
- // .. ==> 0XF8000B4C[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B4C[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B4C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B4C[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B4C[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU ,0x00000672U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B50[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x2
- // .. ==> 0XF8000B50[2:1] = 0x00000002U
- // .. ==> MASK : 0x00000006U VAL : 0x00000004U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B50[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B50[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCR_TYPE = 0x3
- // .. ==> 0XF8000B50[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B50[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B50[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B50[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B50[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU ,0x00000674U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B54[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x2
- // .. ==> 0XF8000B54[2:1] = 0x00000002U
- // .. ==> MASK : 0x00000006U VAL : 0x00000004U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B54[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B54[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCR_TYPE = 0x3
- // .. ==> 0XF8000B54[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B54[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B54[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B54[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B54[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU ,0x00000674U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B58[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x0
- // .. ==> 0XF8000B58[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B58[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x0
- // .. ==> 0XF8000B58[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. DCR_TYPE = 0x0
- // .. ==> 0XF8000B58[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. IBUF_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B58[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B58[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B58[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B58[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU ,0x00000600U),
- // .. DRIVE_P = 0x1c
- // .. ==> 0XF8000B5C[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. DRIVE_N = 0xc
- // .. ==> 0XF8000B5C[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. SLEW_P = 0x3
- // .. ==> 0XF8000B5C[18:14] = 0x00000003U
- // .. ==> MASK : 0x0007C000U VAL : 0x0000C000U
- // .. SLEW_N = 0x3
- // .. ==> 0XF8000B5C[23:19] = 0x00000003U
- // .. ==> MASK : 0x00F80000U VAL : 0x00180000U
- // .. GTL = 0x0
- // .. ==> 0XF8000B5C[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. RTERM = 0x0
- // .. ==> 0XF8000B5C[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU ,0x0018C61CU),
- // .. DRIVE_P = 0x1c
- // .. ==> 0XF8000B60[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. DRIVE_N = 0xc
- // .. ==> 0XF8000B60[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. SLEW_P = 0x6
- // .. ==> 0XF8000B60[18:14] = 0x00000006U
- // .. ==> MASK : 0x0007C000U VAL : 0x00018000U
- // .. SLEW_N = 0x1f
- // .. ==> 0XF8000B60[23:19] = 0x0000001FU
- // .. ==> MASK : 0x00F80000U VAL : 0x00F80000U
- // .. GTL = 0x0
- // .. ==> 0XF8000B60[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. RTERM = 0x0
- // .. ==> 0XF8000B60[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU ,0x00F9861CU),
- // .. DRIVE_P = 0x1c
- // .. ==> 0XF8000B64[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. DRIVE_N = 0xc
- // .. ==> 0XF8000B64[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. SLEW_P = 0x6
- // .. ==> 0XF8000B64[18:14] = 0x00000006U
- // .. ==> MASK : 0x0007C000U VAL : 0x00018000U
- // .. SLEW_N = 0x1f
- // .. ==> 0XF8000B64[23:19] = 0x0000001FU
- // .. ==> MASK : 0x00F80000U VAL : 0x00F80000U
- // .. GTL = 0x0
- // .. ==> 0XF8000B64[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. RTERM = 0x0
- // .. ==> 0XF8000B64[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU ,0x00F9861CU),
- // .. DRIVE_P = 0x1c
- // .. ==> 0XF8000B68[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. DRIVE_N = 0xc
- // .. ==> 0XF8000B68[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. SLEW_P = 0x6
- // .. ==> 0XF8000B68[18:14] = 0x00000006U
- // .. ==> MASK : 0x0007C000U VAL : 0x00018000U
- // .. SLEW_N = 0x1f
- // .. ==> 0XF8000B68[23:19] = 0x0000001FU
- // .. ==> MASK : 0x00F80000U VAL : 0x00F80000U
- // .. GTL = 0x0
- // .. ==> 0XF8000B68[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. RTERM = 0x0
- // .. ==> 0XF8000B68[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU ,0x00F9861CU),
- // .. VREF_INT_EN = 0x1
- // .. ==> 0XF8000B6C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. VREF_SEL = 0x4
- // .. ==> 0XF8000B6C[4:1] = 0x00000004U
- // .. ==> MASK : 0x0000001EU VAL : 0x00000008U
- // .. VREF_EXT_EN = 0x0
- // .. ==> 0XF8000B6C[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. VREF_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[8:7] = 0x00000000U
- // .. ==> MASK : 0x00000180U VAL : 0x00000000U
- // .. REFIO_EN = 0x1
- // .. ==> 0XF8000B6C[9:9] = 0x00000001U
- // .. ==> MASK : 0x00000200U VAL : 0x00000200U
- // .. REFIO_TEST = 0x0
- // .. ==> 0XF8000B6C[11:10] = 0x00000000U
- // .. ==> MASK : 0x00000C00U VAL : 0x00000000U
- // .. REFIO_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DRST_B_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // .. CKE_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[14:14] = 0x00000000U
- // .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B6C, 0x00007FFFU ,0x00000209U),
- // .. .. START: ASSERT RESET
- // .. .. RESET = 1
- // .. .. ==> 0XF8000B70[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. VRN_OUT = 0x1
- // .. .. ==> 0XF8000B70[5:5] = 0x00000001U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000020U
- // .. ..
- EMIT_MASKWRITE(0XF8000B70, 0x00000021U ,0x00000021U),
- // .. .. FINISH: ASSERT RESET
- // .. .. START: DEASSERT RESET
- // .. .. RESET = 0
- // .. .. ==> 0XF8000B70[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. VRN_OUT = 0x1
- // .. .. ==> 0XF8000B70[5:5] = 0x00000001U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000020U
- // .. ..
- EMIT_MASKWRITE(0XF8000B70, 0x00000021U ,0x00000020U),
- // .. .. FINISH: DEASSERT RESET
- // .. .. RESET = 0x1
- // .. .. ==> 0XF8000B70[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ENABLE = 0x1
- // .. .. ==> 0XF8000B70[1:1] = 0x00000001U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. VRP_TRI = 0x0
- // .. .. ==> 0XF8000B70[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. VRN_TRI = 0x0
- // .. .. ==> 0XF8000B70[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. VRP_OUT = 0x0
- // .. .. ==> 0XF8000B70[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. VRN_OUT = 0x1
- // .. .. ==> 0XF8000B70[5:5] = 0x00000001U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000020U
- // .. .. NREF_OPT1 = 0x0
- // .. .. ==> 0XF8000B70[7:6] = 0x00000000U
- // .. .. ==> MASK : 0x000000C0U VAL : 0x00000000U
- // .. .. NREF_OPT2 = 0x0
- // .. .. ==> 0XF8000B70[10:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000700U VAL : 0x00000000U
- // .. .. NREF_OPT4 = 0x1
- // .. .. ==> 0XF8000B70[13:11] = 0x00000001U
- // .. .. ==> MASK : 0x00003800U VAL : 0x00000800U
- // .. .. PREF_OPT1 = 0x0
- // .. .. ==> 0XF8000B70[16:14] = 0x00000000U
- // .. .. ==> MASK : 0x0001C000U VAL : 0x00000000U
- // .. .. PREF_OPT2 = 0x0
- // .. .. ==> 0XF8000B70[19:17] = 0x00000000U
- // .. .. ==> MASK : 0x000E0000U VAL : 0x00000000U
- // .. .. UPDATE_CONTROL = 0x0
- // .. .. ==> 0XF8000B70[20:20] = 0x00000000U
- // .. .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. .. INIT_COMPLETE = 0x0
- // .. .. ==> 0XF8000B70[21:21] = 0x00000000U
- // .. .. ==> MASK : 0x00200000U VAL : 0x00000000U
- // .. .. TST_CLK = 0x0
- // .. .. ==> 0XF8000B70[22:22] = 0x00000000U
- // .. .. ==> MASK : 0x00400000U VAL : 0x00000000U
- // .. .. TST_HLN = 0x0
- // .. .. ==> 0XF8000B70[23:23] = 0x00000000U
- // .. .. ==> MASK : 0x00800000U VAL : 0x00000000U
- // .. .. TST_HLP = 0x0
- // .. .. ==> 0XF8000B70[24:24] = 0x00000000U
- // .. .. ==> MASK : 0x01000000U VAL : 0x00000000U
- // .. .. TST_RST = 0x0
- // .. .. ==> 0XF8000B70[25:25] = 0x00000000U
- // .. .. ==> MASK : 0x02000000U VAL : 0x00000000U
- // .. .. INT_DCI_EN = 0x0
- // .. .. ==> 0XF8000B70[26:26] = 0x00000000U
- // .. .. ==> MASK : 0x04000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8000B70, 0x07FFFFFFU ,0x00000823U),
- // .. FINISH: DDRIOB SETTINGS
- // .. START: MIO PROGRAMMING
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000700[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000700[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000700[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000700[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000700[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000700[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000700[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000700[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000700[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000700, 0x00003FFFU ,0x00000600U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000704[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000704[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000704[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000704[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000704[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000704[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000704[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000704[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000704[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000704, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000708[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000708[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000708[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000708[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000708[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000708[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000708[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000708[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000708[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000708, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800070C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF800070C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800070C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800070C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800070C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800070C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800070C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800070C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800070C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800070C, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000710[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000710[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000710[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000710[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000710[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000710[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000710[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000710[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000710[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000710, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000714[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000714[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000714[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000714[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000714[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000714[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000714[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000714[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000714[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000714, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000718[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000718[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000718[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000718[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000718[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000718[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000718[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000718[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000718[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000718, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800071C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800071C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF800071C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800071C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800071C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800071C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800071C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800071C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800071C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800071C, 0x00003FFFU ,0x00000600U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000720[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000720[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000720[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000720[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000720[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000720[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000720[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000720[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000720[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000720, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000724[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000724[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000724[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000724[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000724[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000724[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000724[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000724[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000724[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000724, 0x00003FFFU ,0x00000600U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000728[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000728[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000728[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000728[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000728[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000728[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000728[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000728[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000728[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000728, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800072C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800072C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF800072C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800072C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF800072C[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF800072C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800072C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800072C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800072C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800072C, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000730[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000730[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000730[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000730[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000730[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000730[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000730[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000730[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000730[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000730, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000734[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000734[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000734[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000734[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000734[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000734[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000734[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000734[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000734[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000734, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000738[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000738[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000738[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000738[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000738[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000738[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000738[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000738[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000738[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000738, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800073C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800073C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF800073C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800073C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF800073C[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF800073C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800073C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800073C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800073C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800073C, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000740[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000740[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000740[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000740[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000740[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000740[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000740[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000740[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000740[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000740, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000744[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000744[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000744[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000744[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000744[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000744[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000744[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000744[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000744[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000744, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000748[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000748[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000748[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000748[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000748[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000748[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000748[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000748[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000748[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000748, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800074C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF800074C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800074C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800074C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800074C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800074C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800074C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800074C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800074C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800074C, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000750[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000750[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000750[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000750[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000750[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000750[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000750[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000750[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000750[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000750, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000754[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000754[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000754[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000754[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000754[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000754[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000754[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000754[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000754[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000754, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000758[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000758[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000758[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000758[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000758[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000758[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000758[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000758[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000758[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000758, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF800075C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF800075C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800075C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800075C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800075C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800075C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800075C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800075C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800075C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800075C, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000760[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000760[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000760[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000760[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000760[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000760[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000760[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000760[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000760[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000760, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000764[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000764[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000764[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000764[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000764[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000764[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000764[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000764[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000764[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000764, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000768[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000768[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000768[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000768[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000768[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000768[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000768[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000768[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000768[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000768, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF800076C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF800076C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800076C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800076C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800076C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800076C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800076C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800076C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800076C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800076C, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000770[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000770[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000770[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000770[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000770[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000770[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000770[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000770[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000770[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000770, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000774[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF8000774[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000774[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000774[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000774[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000774[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000774[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000774[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000774[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000774, 0x00003FFFU ,0x00000205U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000778[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000778[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000778[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000778[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000778[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000778[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000778[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000778[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000778[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000778, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF800077C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF800077C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF800077C[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF800077C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800077C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800077C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800077C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800077C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800077C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800077C, 0x00003FFFU ,0x00000205U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000780[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000780[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000780[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000780[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000780[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000780[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000780[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000780[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000780[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000780, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000784[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000784[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000784[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000784[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000784[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000784[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000784[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000784[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000784[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000784, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000788[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000788[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000788[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000788[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000788[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000788[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000788[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000788[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000788[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000788, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800078C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800078C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF800078C[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF800078C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800078C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800078C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800078C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800078C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800078C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800078C, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000790[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF8000790[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000790[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000790[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000790[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000790[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000790[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000790[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000790[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000790, 0x00003FFFU ,0x00000205U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000794[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000794[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000794[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000794[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000794[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000794[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000794[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000794[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000794[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000794, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000798[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000798[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000798[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000798[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000798[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000798[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000798[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000798[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000798[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000798, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800079C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800079C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF800079C[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF800079C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800079C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800079C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800079C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800079C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800079C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800079C, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007A0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007A0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007A0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007A0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007A0[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007A0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007A0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007A0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007A0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007A4[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007A4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007A4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007A4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007A4[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007A4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007A4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007A4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007A4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007A8[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007A8[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007A8[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007A8[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007A8[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007A8[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007A8[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007A8[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007A8[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007AC[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007AC[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007AC[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007AC[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007AC[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007AC[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007AC[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007AC[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007AC[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007B0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007B0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007B0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007B0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007B0[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007B0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007B0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007B0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007B0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007B4[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007B4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007B4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007B4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007B4[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007B4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007B4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007B4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007B4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007B8[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007B8[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007B8[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007B8[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007B8[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007B8[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007B8[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007B8[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007B8[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007BC[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007BC[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007BC[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007BC[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007BC[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007BC[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007BC[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007BC[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007BC[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007BC, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007C0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007C0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007C0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007C0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 7
- // .. ==> 0XF80007C0[7:5] = 0x00000007U
- // .. ==> MASK : 0x000000E0U VAL : 0x000000E0U
- // .. Speed = 0
- // .. ==> 0XF80007C0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007C0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007C0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007C0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU ,0x000002E0U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF80007C4[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF80007C4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007C4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007C4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 7
- // .. ==> 0XF80007C4[7:5] = 0x00000007U
- // .. ==> MASK : 0x000000E0U VAL : 0x000000E0U
- // .. Speed = 0
- // .. ==> 0XF80007C4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007C4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007C4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007C4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU ,0x000002E1U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007C8[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007C8[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007C8[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007C8[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007C8[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007C8[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007C8[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007C8[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007C8[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007CC[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007CC[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007CC[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007CC[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007CC[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007CC[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007CC[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007CC[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007CC[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007D0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007D0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007D0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007D0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF80007D0[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF80007D0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007D0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007D0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007D0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU ,0x00000280U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007D4[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007D4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007D4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007D4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF80007D4[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF80007D4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007D4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007D4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007D4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU ,0x00000280U),
- // .. SDIO1_CD_SEL = 58
- // .. ==> 0XF8000834[21:16] = 0x0000003AU
- // .. ==> MASK : 0x003F0000U VAL : 0x003A0000U
- // ..
- EMIT_MASKWRITE(0XF8000834, 0x003F0000U ,0x003A0000U),
- // .. FINISH: MIO PROGRAMMING
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_peripherals_init_data_2_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: DDR TERM/IBUF_DISABLE_MODE SETTINGS
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B48[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B48[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B48, 0x00000180U ,0x00000180U),
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B4C[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B4C[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B4C, 0x00000180U ,0x00000180U),
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B50[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B50[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B50, 0x00000180U ,0x00000180U),
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B54[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B54[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B54, 0x00000180U ,0x00000180U),
- // .. FINISH: DDR TERM/IBUF_DISABLE_MODE SETTINGS
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // .. START: SRAM/NOR SET OPMODE
- // .. FINISH: SRAM/NOR SET OPMODE
- // .. START: UART REGISTERS
- // .. BDIV = 0x6
- // .. ==> 0XE0001034[7:0] = 0x00000006U
- // .. ==> MASK : 0x000000FFU VAL : 0x00000006U
- // ..
- EMIT_MASKWRITE(0XE0001034, 0x000000FFU ,0x00000006U),
- // .. CD = 0x3e
- // .. ==> 0XE0001018[15:0] = 0x0000003EU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000003EU
- // ..
- EMIT_MASKWRITE(0XE0001018, 0x0000FFFFU ,0x0000003EU),
- // .. STPBRK = 0x0
- // .. ==> 0XE0001000[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. STTBRK = 0x0
- // .. ==> 0XE0001000[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. RSTTO = 0x0
- // .. ==> 0XE0001000[6:6] = 0x00000000U
- // .. ==> MASK : 0x00000040U VAL : 0x00000000U
- // .. TXDIS = 0x0
- // .. ==> 0XE0001000[5:5] = 0x00000000U
- // .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. TXEN = 0x1
- // .. ==> 0XE0001000[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. RXDIS = 0x0
- // .. ==> 0XE0001000[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. RXEN = 0x1
- // .. ==> 0XE0001000[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. TXRES = 0x1
- // .. ==> 0XE0001000[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. RXRES = 0x1
- // .. ==> 0XE0001000[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // ..
- EMIT_MASKWRITE(0XE0001000, 0x000001FFU ,0x00000017U),
- // .. IRMODE = 0x0
- // .. ==> 0XE0001004[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. UCLKEN = 0x0
- // .. ==> 0XE0001004[10:10] = 0x00000000U
- // .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. CHMODE = 0x0
- // .. ==> 0XE0001004[9:8] = 0x00000000U
- // .. ==> MASK : 0x00000300U VAL : 0x00000000U
- // .. NBSTOP = 0x0
- // .. ==> 0XE0001004[7:6] = 0x00000000U
- // .. ==> MASK : 0x000000C0U VAL : 0x00000000U
- // .. PAR = 0x4
- // .. ==> 0XE0001004[5:3] = 0x00000004U
- // .. ==> MASK : 0x00000038U VAL : 0x00000020U
- // .. CHRL = 0x0
- // .. ==> 0XE0001004[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. CLKS = 0x0
- // .. ==> 0XE0001004[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XE0001004, 0x00000FFFU ,0x00000020U),
- // .. FINISH: UART REGISTERS
- // .. START: TPIU WIDTH IN CASE OF EMIO
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0XC5ACCE55
- // .. .. ==> 0XF8803FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. .. START: TRACE CURRENT PORT SIZE
- // .. .. a = 2
- // .. .. ==> 0XF8803004[31:0] = 0x00000002U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000002U
- // .. ..
- EMIT_MASKWRITE(0XF8803004, 0xFFFFFFFFU ,0x00000002U),
- // .. .. FINISH: TRACE CURRENT PORT SIZE
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0X0
- // .. .. ==> 0XF8803FB0[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0x00000000U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. FINISH: TPIU WIDTH IN CASE OF EMIO
- // .. START: QSPI REGISTERS
- // .. Holdb_dr = 1
- // .. ==> 0XE000D000[19:19] = 0x00000001U
- // .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // ..
- EMIT_MASKWRITE(0XE000D000, 0x00080000U ,0x00080000U),
- // .. FINISH: QSPI REGISTERS
- // .. START: PL POWER ON RESET REGISTERS
- // .. PCFG_POR_CNT_4K = 0
- // .. ==> 0XF8007000[29:29] = 0x00000000U
- // .. ==> MASK : 0x20000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8007000, 0x20000000U ,0x00000000U),
- // .. FINISH: PL POWER ON RESET REGISTERS
- // .. START: SMC TIMING CALCULATION REGISTER UPDATE
- // .. .. START: NAND SET CYCLE
- // .. .. FINISH: NAND SET CYCLE
- // .. .. START: OPMODE
- // .. .. FINISH: OPMODE
- // .. .. START: DIRECT COMMAND
- // .. .. FINISH: DIRECT COMMAND
- // .. .. START: SRAM/NOR CS0 SET CYCLE
- // .. .. FINISH: SRAM/NOR CS0 SET CYCLE
- // .. .. START: DIRECT COMMAND
- // .. .. FINISH: DIRECT COMMAND
- // .. .. START: NOR CS0 BASE ADDRESS
- // .. .. FINISH: NOR CS0 BASE ADDRESS
- // .. .. START: SRAM/NOR CS1 SET CYCLE
- // .. .. FINISH: SRAM/NOR CS1 SET CYCLE
- // .. .. START: DIRECT COMMAND
- // .. .. FINISH: DIRECT COMMAND
- // .. .. START: NOR CS1 BASE ADDRESS
- // .. .. FINISH: NOR CS1 BASE ADDRESS
- // .. .. START: USB RESET
- // .. .. .. START: USB0 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. DIRECTION_0 = 0x80
- // .. .. .. .. ==> 0XE000A204[31:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A204, 0xFFFFFFFFU ,0x00000080U),
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. MASK_0_LSW = 0xff7f
- // .. .. .. .. ==> 0XE000A000[31:16] = 0x0000FF7FU
- // .. .. .. .. ==> MASK : 0xFFFF0000U VAL : 0xFF7F0000U
- // .. .. .. .. DATA_0_LSW = 0x80
- // .. .. .. .. ==> 0XE000A000[15:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFF7F0080U),
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. OP_ENABLE_0 = 0x80
- // .. .. .. .. ==> 0XE000A208[31:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A208, 0xFFFFFFFFU ,0x00000080U),
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. MASK_0_LSW = 0xff7f
- // .. .. .. .. ==> 0XE000A000[31:16] = 0x0000FF7FU
- // .. .. .. .. ==> MASK : 0xFFFF0000U VAL : 0xFF7F0000U
- // .. .. .. .. DATA_0_LSW = 0x0
- // .. .. .. .. ==> 0XE000A000[15:0] = 0x00000000U
- // .. .. .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000000U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFF7F0000U),
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. MASK_0_LSW = 0xff7f
- // .. .. .. .. ==> 0XE000A000[31:16] = 0x0000FF7FU
- // .. .. .. .. ==> MASK : 0xFFFF0000U VAL : 0xFF7F0000U
- // .. .. .. .. DATA_0_LSW = 0x80
- // .. .. .. .. ==> 0XE000A000[15:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFF7F0080U),
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: USB0 RESET
- // .. .. .. START: USB1 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: USB1 RESET
- // .. .. FINISH: USB RESET
- // .. .. START: ENET RESET
- // .. .. .. START: ENET0 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: ENET0 RESET
- // .. .. .. START: ENET1 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: ENET1 RESET
- // .. .. FINISH: ENET RESET
- // .. .. START: I2C RESET
- // .. .. .. START: I2C0 RESET
- // .. .. .. .. START: DIR MODE GPIO BANK0
- // .. .. .. .. FINISH: DIR MODE GPIO BANK0
- // .. .. .. .. START: DIR MODE GPIO BANK1
- // .. .. .. .. FINISH: DIR MODE GPIO BANK1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: I2C0 RESET
- // .. .. .. START: I2C1 RESET
- // .. .. .. .. START: DIR MODE GPIO BANK0
- // .. .. .. .. FINISH: DIR MODE GPIO BANK0
- // .. .. .. .. START: DIR MODE GPIO BANK1
- // .. .. .. .. FINISH: DIR MODE GPIO BANK1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: I2C1 RESET
- // .. .. FINISH: I2C RESET
- // .. .. START: NOR CHIP SELECT
- // .. .. .. START: DIR MODE BANK 0
- // .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. FINISH: NOR CHIP SELECT
- // .. FINISH: SMC TIMING CALCULATION REGISTER UPDATE
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_post_config_2_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: ENABLING LEVEL SHIFTER
- // .. USER_INP_ICT_EN_0 = 3
- // .. ==> 0XF8000900[1:0] = 0x00000003U
- // .. ==> MASK : 0x00000003U VAL : 0x00000003U
- // .. USER_INP_ICT_EN_1 = 3
- // .. ==> 0XF8000900[3:2] = 0x00000003U
- // .. ==> MASK : 0x0000000CU VAL : 0x0000000CU
- // ..
- EMIT_MASKWRITE(0XF8000900, 0x0000000FU ,0x0000000FU),
- // .. FINISH: ENABLING LEVEL SHIFTER
- // .. START: TPIU WIDTH IN CASE OF EMIO
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0XC5ACCE55
- // .. .. ==> 0XF8803FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. .. START: TRACE CURRENT PORT SIZE
- // .. .. a = 2
- // .. .. ==> 0XF8803004[31:0] = 0x00000002U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000002U
- // .. ..
- EMIT_MASKWRITE(0XF8803004, 0xFFFFFFFFU ,0x00000002U),
- // .. .. FINISH: TRACE CURRENT PORT SIZE
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0X0
- // .. .. ==> 0XF8803FB0[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0x00000000U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. FINISH: TPIU WIDTH IN CASE OF EMIO
- // .. START: FPGA RESETS TO 0
- // .. reserved_3 = 0
- // .. ==> 0XF8000240[31:25] = 0x00000000U
- // .. ==> MASK : 0xFE000000U VAL : 0x00000000U
- // .. FPGA_ACP_RST = 0
- // .. ==> 0XF8000240[24:24] = 0x00000000U
- // .. ==> MASK : 0x01000000U VAL : 0x00000000U
- // .. FPGA_AXDS3_RST = 0
- // .. ==> 0XF8000240[23:23] = 0x00000000U
- // .. ==> MASK : 0x00800000U VAL : 0x00000000U
- // .. FPGA_AXDS2_RST = 0
- // .. ==> 0XF8000240[22:22] = 0x00000000U
- // .. ==> MASK : 0x00400000U VAL : 0x00000000U
- // .. FPGA_AXDS1_RST = 0
- // .. ==> 0XF8000240[21:21] = 0x00000000U
- // .. ==> MASK : 0x00200000U VAL : 0x00000000U
- // .. FPGA_AXDS0_RST = 0
- // .. ==> 0XF8000240[20:20] = 0x00000000U
- // .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. reserved_2 = 0
- // .. ==> 0XF8000240[19:18] = 0x00000000U
- // .. ==> MASK : 0x000C0000U VAL : 0x00000000U
- // .. FSSW1_FPGA_RST = 0
- // .. ==> 0XF8000240[17:17] = 0x00000000U
- // .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. FSSW0_FPGA_RST = 0
- // .. ==> 0XF8000240[16:16] = 0x00000000U
- // .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. reserved_1 = 0
- // .. ==> 0XF8000240[15:14] = 0x00000000U
- // .. ==> MASK : 0x0000C000U VAL : 0x00000000U
- // .. FPGA_FMSW1_RST = 0
- // .. ==> 0XF8000240[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // .. FPGA_FMSW0_RST = 0
- // .. ==> 0XF8000240[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. FPGA_DMA3_RST = 0
- // .. ==> 0XF8000240[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. FPGA_DMA2_RST = 0
- // .. ==> 0XF8000240[10:10] = 0x00000000U
- // .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. FPGA_DMA1_RST = 0
- // .. ==> 0XF8000240[9:9] = 0x00000000U
- // .. ==> MASK : 0x00000200U VAL : 0x00000000U
- // .. FPGA_DMA0_RST = 0
- // .. ==> 0XF8000240[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. reserved = 0
- // .. ==> 0XF8000240[7:4] = 0x00000000U
- // .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. FPGA3_OUT_RST = 0
- // .. ==> 0XF8000240[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. FPGA2_OUT_RST = 0
- // .. ==> 0XF8000240[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. FPGA1_OUT_RST = 0
- // .. ==> 0XF8000240[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. FPGA0_OUT_RST = 0
- // .. ==> 0XF8000240[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU ,0x00000000U),
- // .. FINISH: FPGA RESETS TO 0
- // .. START: AFI REGISTERS
- // .. .. START: AFI0 REGISTERS
- // .. .. FINISH: AFI0 REGISTERS
- // .. .. START: AFI1 REGISTERS
- // .. .. FINISH: AFI1 REGISTERS
- // .. .. START: AFI2 REGISTERS
- // .. .. FINISH: AFI2 REGISTERS
- // .. .. START: AFI3 REGISTERS
- // .. .. FINISH: AFI3 REGISTERS
- // .. FINISH: AFI REGISTERS
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_debug_2_0[] = {
- // START: top
- // .. START: CROSS TRIGGER CONFIGURATIONS
- // .. .. START: UNLOCKING CTI REGISTERS
- // .. .. KEY = 0XC5ACCE55
- // .. .. ==> 0XF8898FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8898FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. KEY = 0XC5ACCE55
- // .. .. ==> 0XF8899FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8899FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. KEY = 0XC5ACCE55
- // .. .. ==> 0XF8809FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8809FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. FINISH: UNLOCKING CTI REGISTERS
- // .. .. START: ENABLING CTI MODULES AND CHANNELS
- // .. .. FINISH: ENABLING CTI MODULES AND CHANNELS
- // .. .. START: MAPPING CPU0, CPU1 AND FTM EVENTS TO CTM CHANNELS
- // .. .. FINISH: MAPPING CPU0, CPU1 AND FTM EVENTS TO CTM CHANNELS
- // .. FINISH: CROSS TRIGGER CONFIGURATIONS
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_pll_init_data_1_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: PLL SLCR REGISTERS
- // .. .. START: ARM PLL INIT
- // .. .. PLL_RES = 0x4
- // .. .. ==> 0XF8000110[7:4] = 0x00000004U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000040U
- // .. .. PLL_CP = 0x2
- // .. .. ==> 0XF8000110[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. LOCK_CNT = 0xfa
- // .. .. ==> 0XF8000110[21:12] = 0x000000FAU
- // .. .. ==> MASK : 0x003FF000U VAL : 0x000FA000U
- // .. ..
- EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U ,0x000FA240U),
- // .. .. .. START: UPDATE FB_DIV
- // .. .. .. PLL_FDIV = 0x3c
- // .. .. .. ==> 0XF8000100[18:12] = 0x0000003CU
- // .. .. .. ==> MASK : 0x0007F000U VAL : 0x0003C000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x0007F000U ,0x0003C000U),
- // .. .. .. FINISH: UPDATE FB_DIV
- // .. .. .. START: BY PASS PLL
- // .. .. .. PLL_BYPASS_FORCE = 1
- // .. .. .. ==> 0XF8000100[4:4] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000010U),
- // .. .. .. FINISH: BY PASS PLL
- // .. .. .. START: ASSERT RESET
- // .. .. .. PLL_RESET = 1
- // .. .. .. ==> 0XF8000100[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000001U),
- // .. .. .. FINISH: ASSERT RESET
- // .. .. .. START: DEASSERT RESET
- // .. .. .. PLL_RESET = 0
- // .. .. .. ==> 0XF8000100[0:0] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000000U),
- // .. .. .. FINISH: DEASSERT RESET
- // .. .. .. START: CHECK PLL STATUS
- // .. .. .. ARM_PLL_LOCK = 1
- // .. .. .. ==> 0XF800010C[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKPOLL(0XF800010C, 0x00000001U),
- // .. .. .. FINISH: CHECK PLL STATUS
- // .. .. .. START: REMOVE PLL BY PASS
- // .. .. .. PLL_BYPASS_FORCE = 0
- // .. .. .. ==> 0XF8000100[4:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000000U),
- // .. .. .. FINISH: REMOVE PLL BY PASS
- // .. .. .. SRCSEL = 0x0
- // .. .. .. ==> 0XF8000120[5:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. .. DIVISOR = 0x3
- // .. .. .. ==> 0XF8000120[13:8] = 0x00000003U
- // .. .. .. ==> MASK : 0x00003F00U VAL : 0x00000300U
- // .. .. .. CPU_6OR4XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[24:24] = 0x00000001U
- // .. .. .. ==> MASK : 0x01000000U VAL : 0x01000000U
- // .. .. .. CPU_3OR2XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[25:25] = 0x00000001U
- // .. .. .. ==> MASK : 0x02000000U VAL : 0x02000000U
- // .. .. .. CPU_2XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[26:26] = 0x00000001U
- // .. .. .. ==> MASK : 0x04000000U VAL : 0x04000000U
- // .. .. .. CPU_1XCLKACT = 0x1
- // .. .. .. ==> 0XF8000120[27:27] = 0x00000001U
- // .. .. .. ==> MASK : 0x08000000U VAL : 0x08000000U
- // .. .. .. CPU_PERI_CLKACT = 0x1
- // .. .. .. ==> 0XF8000120[28:28] = 0x00000001U
- // .. .. .. ==> MASK : 0x10000000U VAL : 0x10000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000120, 0x1F003F30U ,0x1F000300U),
- // .. .. FINISH: ARM PLL INIT
- // .. .. START: DDR PLL INIT
- // .. .. PLL_RES = 0x2
- // .. .. ==> 0XF8000114[7:4] = 0x00000002U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000020U
- // .. .. PLL_CP = 0x2
- // .. .. ==> 0XF8000114[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. LOCK_CNT = 0x12c
- // .. .. ==> 0XF8000114[21:12] = 0x0000012CU
- // .. .. ==> MASK : 0x003FF000U VAL : 0x0012C000U
- // .. ..
- EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U ,0x0012C220U),
- // .. .. .. START: UPDATE FB_DIV
- // .. .. .. PLL_FDIV = 0x20
- // .. .. .. ==> 0XF8000104[18:12] = 0x00000020U
- // .. .. .. ==> MASK : 0x0007F000U VAL : 0x00020000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x0007F000U ,0x00020000U),
- // .. .. .. FINISH: UPDATE FB_DIV
- // .. .. .. START: BY PASS PLL
- // .. .. .. PLL_BYPASS_FORCE = 1
- // .. .. .. ==> 0XF8000104[4:4] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000010U),
- // .. .. .. FINISH: BY PASS PLL
- // .. .. .. START: ASSERT RESET
- // .. .. .. PLL_RESET = 1
- // .. .. .. ==> 0XF8000104[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000001U),
- // .. .. .. FINISH: ASSERT RESET
- // .. .. .. START: DEASSERT RESET
- // .. .. .. PLL_RESET = 0
- // .. .. .. ==> 0XF8000104[0:0] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000000U),
- // .. .. .. FINISH: DEASSERT RESET
- // .. .. .. START: CHECK PLL STATUS
- // .. .. .. DDR_PLL_LOCK = 1
- // .. .. .. ==> 0XF800010C[1:1] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. ..
- EMIT_MASKPOLL(0XF800010C, 0x00000002U),
- // .. .. .. FINISH: CHECK PLL STATUS
- // .. .. .. START: REMOVE PLL BY PASS
- // .. .. .. PLL_BYPASS_FORCE = 0
- // .. .. .. ==> 0XF8000104[4:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000000U),
- // .. .. .. FINISH: REMOVE PLL BY PASS
- // .. .. .. DDR_3XCLKACT = 0x1
- // .. .. .. ==> 0XF8000124[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. .. DDR_2XCLKACT = 0x1
- // .. .. .. ==> 0XF8000124[1:1] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. .. DDR_3XCLK_DIVISOR = 0x2
- // .. .. .. ==> 0XF8000124[25:20] = 0x00000002U
- // .. .. .. ==> MASK : 0x03F00000U VAL : 0x00200000U
- // .. .. .. DDR_2XCLK_DIVISOR = 0x3
- // .. .. .. ==> 0XF8000124[31:26] = 0x00000003U
- // .. .. .. ==> MASK : 0xFC000000U VAL : 0x0C000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000124, 0xFFF00003U ,0x0C200003U),
- // .. .. FINISH: DDR PLL INIT
- // .. .. START: IO PLL INIT
- // .. .. PLL_RES = 0x4
- // .. .. ==> 0XF8000118[7:4] = 0x00000004U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000040U
- // .. .. PLL_CP = 0x2
- // .. .. ==> 0XF8000118[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. LOCK_CNT = 0xfa
- // .. .. ==> 0XF8000118[21:12] = 0x000000FAU
- // .. .. ==> MASK : 0x003FF000U VAL : 0x000FA000U
- // .. ..
- EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U ,0x000FA240U),
- // .. .. .. START: UPDATE FB_DIV
- // .. .. .. PLL_FDIV = 0x3c
- // .. .. .. ==> 0XF8000108[18:12] = 0x0000003CU
- // .. .. .. ==> MASK : 0x0007F000U VAL : 0x0003C000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x0007F000U ,0x0003C000U),
- // .. .. .. FINISH: UPDATE FB_DIV
- // .. .. .. START: BY PASS PLL
- // .. .. .. PLL_BYPASS_FORCE = 1
- // .. .. .. ==> 0XF8000108[4:4] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000010U),
- // .. .. .. FINISH: BY PASS PLL
- // .. .. .. START: ASSERT RESET
- // .. .. .. PLL_RESET = 1
- // .. .. .. ==> 0XF8000108[0:0] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000001U),
- // .. .. .. FINISH: ASSERT RESET
- // .. .. .. START: DEASSERT RESET
- // .. .. .. PLL_RESET = 0
- // .. .. .. ==> 0XF8000108[0:0] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000000U),
- // .. .. .. FINISH: DEASSERT RESET
- // .. .. .. START: CHECK PLL STATUS
- // .. .. .. IO_PLL_LOCK = 1
- // .. .. .. ==> 0XF800010C[2:2] = 0x00000001U
- // .. .. .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. .. ..
- EMIT_MASKPOLL(0XF800010C, 0x00000004U),
- // .. .. .. FINISH: CHECK PLL STATUS
- // .. .. .. START: REMOVE PLL BY PASS
- // .. .. .. PLL_BYPASS_FORCE = 0
- // .. .. .. ==> 0XF8000108[4:4] = 0x00000000U
- // .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. ..
- EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000000U),
- // .. .. .. FINISH: REMOVE PLL BY PASS
- // .. .. FINISH: IO PLL INIT
- // .. FINISH: PLL SLCR REGISTERS
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_clock_init_data_1_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: CLOCK CONTROL SLCR REGISTERS
- // .. CLKACT = 0x1
- // .. ==> 0XF8000128[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. DIVISOR0 = 0x23
- // .. ==> 0XF8000128[13:8] = 0x00000023U
- // .. ==> MASK : 0x00003F00U VAL : 0x00002300U
- // .. DIVISOR1 = 0x3
- // .. ==> 0XF8000128[25:20] = 0x00000003U
- // .. ==> MASK : 0x03F00000U VAL : 0x00300000U
- // ..
- EMIT_MASKWRITE(0XF8000128, 0x03F03F01U ,0x00302301U),
- // .. CLKACT = 0x1
- // .. ==> 0XF8000138[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000138[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000138, 0x00000011U ,0x00000001U),
- // .. CLKACT = 0x1
- // .. ==> 0XF8000140[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000140[6:4] = 0x00000000U
- // .. ==> MASK : 0x00000070U VAL : 0x00000000U
- // .. DIVISOR = 0x10
- // .. ==> 0XF8000140[13:8] = 0x00000010U
- // .. ==> MASK : 0x00003F00U VAL : 0x00001000U
- // .. DIVISOR1 = 0x1
- // .. ==> 0XF8000140[25:20] = 0x00000001U
- // .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // ..
- EMIT_MASKWRITE(0XF8000140, 0x03F03F71U ,0x00101001U),
- // .. CLKACT = 0x1
- // .. ==> 0XF800014C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. SRCSEL = 0x0
- // .. ==> 0XF800014C[5:4] = 0x00000000U
- // .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. DIVISOR = 0xa
- // .. ==> 0XF800014C[13:8] = 0x0000000AU
- // .. ==> MASK : 0x00003F00U VAL : 0x00000A00U
- // ..
- EMIT_MASKWRITE(0XF800014C, 0x00003F31U ,0x00000A01U),
- // .. CLKACT0 = 0x0
- // .. ==> 0XF8000150[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. CLKACT1 = 0x1
- // .. ==> 0XF8000150[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000150[5:4] = 0x00000000U
- // .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. DIVISOR = 0x28
- // .. ==> 0XF8000150[13:8] = 0x00000028U
- // .. ==> MASK : 0x00003F00U VAL : 0x00002800U
- // ..
- EMIT_MASKWRITE(0XF8000150, 0x00003F33U ,0x00002802U),
- // .. CLKACT0 = 0x0
- // .. ==> 0XF8000154[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. CLKACT1 = 0x1
- // .. ==> 0XF8000154[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. SRCSEL = 0x0
- // .. ==> 0XF8000154[5:4] = 0x00000000U
- // .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. DIVISOR = 0x28
- // .. ==> 0XF8000154[13:8] = 0x00000028U
- // .. ==> MASK : 0x00003F00U VAL : 0x00002800U
- // ..
- EMIT_MASKWRITE(0XF8000154, 0x00003F33U ,0x00002802U),
- // .. .. START: TRACE CLOCK
- // .. .. FINISH: TRACE CLOCK
- // .. .. CLKACT = 0x1
- // .. .. ==> 0XF8000168[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000168[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR = 0xa
- // .. .. ==> 0XF8000168[13:8] = 0x0000000AU
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00000A00U
- // .. ..
- EMIT_MASKWRITE(0XF8000168, 0x00003F31U ,0x00000A01U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000170[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x14
- // .. .. ==> 0XF8000170[13:8] = 0x00000014U
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00001400U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF8000170[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF8000170, 0x03F03F30U ,0x00101400U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000180[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x14
- // .. .. ==> 0XF8000180[13:8] = 0x00000014U
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00001400U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF8000180[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF8000180, 0x03F03F30U ,0x00101400U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF8000190[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x3c
- // .. .. ==> 0XF8000190[13:8] = 0x0000003CU
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00003C00U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF8000190[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF8000190, 0x03F03F30U ,0x00103C00U),
- // .. .. SRCSEL = 0x0
- // .. .. ==> 0XF80001A0[5:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
- // .. .. DIVISOR0 = 0x28
- // .. .. ==> 0XF80001A0[13:8] = 0x00000028U
- // .. .. ==> MASK : 0x00003F00U VAL : 0x00002800U
- // .. .. DIVISOR1 = 0x1
- // .. .. ==> 0XF80001A0[25:20] = 0x00000001U
- // .. .. ==> MASK : 0x03F00000U VAL : 0x00100000U
- // .. ..
- EMIT_MASKWRITE(0XF80001A0, 0x03F03F30U ,0x00102800U),
- // .. .. CLK_621_TRUE = 0x1
- // .. .. ==> 0XF80001C4[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. ..
- EMIT_MASKWRITE(0XF80001C4, 0x00000001U ,0x00000001U),
- // .. .. DMA_CPU_2XCLKACT = 0x1
- // .. .. ==> 0XF800012C[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. USB0_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[2:2] = 0x00000001U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. .. USB1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[3:3] = 0x00000001U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000008U
- // .. .. GEM0_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[6:6] = 0x00000001U
- // .. .. ==> MASK : 0x00000040U VAL : 0x00000040U
- // .. .. GEM1_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[7:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. .. SDI0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. SDI1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[11:11] = 0x00000001U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000800U
- // .. .. SPI0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[14:14] = 0x00000000U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // .. .. SPI1_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. CAN0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. CAN1_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. I2C0_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[18:18] = 0x00000001U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00040000U
- // .. .. I2C1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[19:19] = 0x00000001U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // .. .. UART0_CPU_1XCLKACT = 0x0
- // .. .. ==> 0XF800012C[20:20] = 0x00000000U
- // .. .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. .. UART1_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[21:21] = 0x00000001U
- // .. .. ==> MASK : 0x00200000U VAL : 0x00200000U
- // .. .. GPIO_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[22:22] = 0x00000001U
- // .. .. ==> MASK : 0x00400000U VAL : 0x00400000U
- // .. .. LQSPI_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[23:23] = 0x00000001U
- // .. .. ==> MASK : 0x00800000U VAL : 0x00800000U
- // .. .. SMC_CPU_1XCLKACT = 0x1
- // .. .. ==> 0XF800012C[24:24] = 0x00000001U
- // .. .. ==> MASK : 0x01000000U VAL : 0x01000000U
- // .. ..
- EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU ,0x01EC084DU),
- // .. FINISH: CLOCK CONTROL SLCR REGISTERS
- // .. START: THIS SHOULD BE BLANK
- // .. FINISH: THIS SHOULD BE BLANK
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_ddr_init_data_1_0[] = {
- // START: top
- // .. START: DDR INITIALIZATION
- // .. .. START: LOCK DDR
- // .. .. reg_ddrc_soft_rstb = 0
- // .. .. ==> 0XF8006000[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_powerdown_en = 0x0
- // .. .. ==> 0XF8006000[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_ddrc_data_bus_width = 0x0
- // .. .. ==> 0XF8006000[3:2] = 0x00000000U
- // .. .. ==> MASK : 0x0000000CU VAL : 0x00000000U
- // .. .. reg_ddrc_burst8_refresh = 0x0
- // .. .. ==> 0XF8006000[6:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000070U VAL : 0x00000000U
- // .. .. reg_ddrc_rdwr_idle_gap = 0x1
- // .. .. ==> 0XF8006000[13:7] = 0x00000001U
- // .. .. ==> MASK : 0x00003F80U VAL : 0x00000080U
- // .. .. reg_ddrc_dis_rd_bypass = 0x0
- // .. .. ==> 0XF8006000[14:14] = 0x00000000U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_act_bypass = 0x0
- // .. .. ==> 0XF8006000[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_auto_refresh = 0x0
- // .. .. ==> 0XF8006000[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000080U),
- // .. .. FINISH: LOCK DDR
- // .. .. reg_ddrc_t_rfc_nom_x32 = 0x81
- // .. .. ==> 0XF8006004[11:0] = 0x00000081U
- // .. .. ==> MASK : 0x00000FFFU VAL : 0x00000081U
- // .. .. reg_ddrc_active_ranks = 0x1
- // .. .. ==> 0XF8006004[13:12] = 0x00000001U
- // .. .. ==> MASK : 0x00003000U VAL : 0x00001000U
- // .. .. reg_ddrc_addrmap_cs_bit0 = 0x0
- // .. .. ==> 0XF8006004[18:14] = 0x00000000U
- // .. .. ==> MASK : 0x0007C000U VAL : 0x00000000U
- // .. .. reg_ddrc_wr_odt_block = 0x1
- // .. .. ==> 0XF8006004[20:19] = 0x00000001U
- // .. .. ==> MASK : 0x00180000U VAL : 0x00080000U
- // .. .. reg_ddrc_diff_rank_rd_2cycle_gap = 0x0
- // .. .. ==> 0XF8006004[21:21] = 0x00000000U
- // .. .. ==> MASK : 0x00200000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_cs_bit1 = 0x0
- // .. .. ==> 0XF8006004[26:22] = 0x00000000U
- // .. .. ==> MASK : 0x07C00000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_open_bank = 0x0
- // .. .. ==> 0XF8006004[27:27] = 0x00000000U
- // .. .. ==> MASK : 0x08000000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_4bank_ram = 0x0
- // .. .. ==> 0XF8006004[28:28] = 0x00000000U
- // .. .. ==> MASK : 0x10000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006004, 0x1FFFFFFFU ,0x00081081U),
- // .. .. reg_ddrc_hpr_min_non_critical_x32 = 0xf
- // .. .. ==> 0XF8006008[10:0] = 0x0000000FU
- // .. .. ==> MASK : 0x000007FFU VAL : 0x0000000FU
- // .. .. reg_ddrc_hpr_max_starve_x32 = 0xf
- // .. .. ==> 0XF8006008[21:11] = 0x0000000FU
- // .. .. ==> MASK : 0x003FF800U VAL : 0x00007800U
- // .. .. reg_ddrc_hpr_xact_run_length = 0xf
- // .. .. ==> 0XF8006008[25:22] = 0x0000000FU
- // .. .. ==> MASK : 0x03C00000U VAL : 0x03C00000U
- // .. ..
- EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU ,0x03C0780FU),
- // .. .. reg_ddrc_lpr_min_non_critical_x32 = 0x1
- // .. .. ==> 0XF800600C[10:0] = 0x00000001U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000001U
- // .. .. reg_ddrc_lpr_max_starve_x32 = 0x2
- // .. .. ==> 0XF800600C[21:11] = 0x00000002U
- // .. .. ==> MASK : 0x003FF800U VAL : 0x00001000U
- // .. .. reg_ddrc_lpr_xact_run_length = 0x8
- // .. .. ==> 0XF800600C[25:22] = 0x00000008U
- // .. .. ==> MASK : 0x03C00000U VAL : 0x02000000U
- // .. ..
- EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU ,0x02001001U),
- // .. .. reg_ddrc_w_min_non_critical_x32 = 0x1
- // .. .. ==> 0XF8006010[10:0] = 0x00000001U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000001U
- // .. .. reg_ddrc_w_xact_run_length = 0x8
- // .. .. ==> 0XF8006010[14:11] = 0x00000008U
- // .. .. ==> MASK : 0x00007800U VAL : 0x00004000U
- // .. .. reg_ddrc_w_max_starve_x32 = 0x2
- // .. .. ==> 0XF8006010[25:15] = 0x00000002U
- // .. .. ==> MASK : 0x03FF8000U VAL : 0x00010000U
- // .. ..
- EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU ,0x00014001U),
- // .. .. reg_ddrc_t_rc = 0x1a
- // .. .. ==> 0XF8006014[5:0] = 0x0000001AU
- // .. .. ==> MASK : 0x0000003FU VAL : 0x0000001AU
- // .. .. reg_ddrc_t_rfc_min = 0xa0
- // .. .. ==> 0XF8006014[13:6] = 0x000000A0U
- // .. .. ==> MASK : 0x00003FC0U VAL : 0x00002800U
- // .. .. reg_ddrc_post_selfref_gap_x32 = 0x10
- // .. .. ==> 0XF8006014[20:14] = 0x00000010U
- // .. .. ==> MASK : 0x001FC000U VAL : 0x00040000U
- // .. ..
- EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU ,0x0004281AU),
- // .. .. reg_ddrc_wr2pre = 0x12
- // .. .. ==> 0XF8006018[4:0] = 0x00000012U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000012U
- // .. .. reg_ddrc_powerdown_to_x32 = 0x6
- // .. .. ==> 0XF8006018[9:5] = 0x00000006U
- // .. .. ==> MASK : 0x000003E0U VAL : 0x000000C0U
- // .. .. reg_ddrc_t_faw = 0x16
- // .. .. ==> 0XF8006018[15:10] = 0x00000016U
- // .. .. ==> MASK : 0x0000FC00U VAL : 0x00005800U
- // .. .. reg_ddrc_t_ras_max = 0x24
- // .. .. ==> 0XF8006018[21:16] = 0x00000024U
- // .. .. ==> MASK : 0x003F0000U VAL : 0x00240000U
- // .. .. reg_ddrc_t_ras_min = 0x13
- // .. .. ==> 0XF8006018[26:22] = 0x00000013U
- // .. .. ==> MASK : 0x07C00000U VAL : 0x04C00000U
- // .. .. reg_ddrc_t_cke = 0x4
- // .. .. ==> 0XF8006018[31:28] = 0x00000004U
- // .. .. ==> MASK : 0xF0000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU ,0x44E458D2U),
- // .. .. reg_ddrc_write_latency = 0x5
- // .. .. ==> 0XF800601C[4:0] = 0x00000005U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000005U
- // .. .. reg_ddrc_rd2wr = 0x7
- // .. .. ==> 0XF800601C[9:5] = 0x00000007U
- // .. .. ==> MASK : 0x000003E0U VAL : 0x000000E0U
- // .. .. reg_ddrc_wr2rd = 0xe
- // .. .. ==> 0XF800601C[14:10] = 0x0000000EU
- // .. .. ==> MASK : 0x00007C00U VAL : 0x00003800U
- // .. .. reg_ddrc_t_xp = 0x4
- // .. .. ==> 0XF800601C[19:15] = 0x00000004U
- // .. .. ==> MASK : 0x000F8000U VAL : 0x00020000U
- // .. .. reg_ddrc_pad_pd = 0x0
- // .. .. ==> 0XF800601C[22:20] = 0x00000000U
- // .. .. ==> MASK : 0x00700000U VAL : 0x00000000U
- // .. .. reg_ddrc_rd2pre = 0x4
- // .. .. ==> 0XF800601C[27:23] = 0x00000004U
- // .. .. ==> MASK : 0x0F800000U VAL : 0x02000000U
- // .. .. reg_ddrc_t_rcd = 0x7
- // .. .. ==> 0XF800601C[31:28] = 0x00000007U
- // .. .. ==> MASK : 0xF0000000U VAL : 0x70000000U
- // .. ..
- EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU ,0x720238E5U),
- // .. .. reg_ddrc_t_ccd = 0x4
- // .. .. ==> 0XF8006020[4:2] = 0x00000004U
- // .. .. ==> MASK : 0x0000001CU VAL : 0x00000010U
- // .. .. reg_ddrc_t_rrd = 0x6
- // .. .. ==> 0XF8006020[7:5] = 0x00000006U
- // .. .. ==> MASK : 0x000000E0U VAL : 0x000000C0U
- // .. .. reg_ddrc_refresh_margin = 0x2
- // .. .. ==> 0XF8006020[11:8] = 0x00000002U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
- // .. .. reg_ddrc_t_rp = 0x7
- // .. .. ==> 0XF8006020[15:12] = 0x00000007U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00007000U
- // .. .. reg_ddrc_refresh_to_x32 = 0x8
- // .. .. ==> 0XF8006020[20:16] = 0x00000008U
- // .. .. ==> MASK : 0x001F0000U VAL : 0x00080000U
- // .. .. reg_ddrc_sdram = 0x1
- // .. .. ==> 0XF8006020[21:21] = 0x00000001U
- // .. .. ==> MASK : 0x00200000U VAL : 0x00200000U
- // .. .. reg_ddrc_mobile = 0x0
- // .. .. ==> 0XF8006020[22:22] = 0x00000000U
- // .. .. ==> MASK : 0x00400000U VAL : 0x00000000U
- // .. .. reg_ddrc_clock_stop_en = 0x0
- // .. .. ==> 0XF8006020[23:23] = 0x00000000U
- // .. .. ==> MASK : 0x00800000U VAL : 0x00000000U
- // .. .. reg_ddrc_read_latency = 0x7
- // .. .. ==> 0XF8006020[28:24] = 0x00000007U
- // .. .. ==> MASK : 0x1F000000U VAL : 0x07000000U
- // .. .. reg_phy_mode_ddr1_ddr2 = 0x1
- // .. .. ==> 0XF8006020[29:29] = 0x00000001U
- // .. .. ==> MASK : 0x20000000U VAL : 0x20000000U
- // .. .. reg_ddrc_dis_pad_pd = 0x0
- // .. .. ==> 0XF8006020[30:30] = 0x00000000U
- // .. .. ==> MASK : 0x40000000U VAL : 0x00000000U
- // .. .. reg_ddrc_loopback = 0x0
- // .. .. ==> 0XF8006020[31:31] = 0x00000000U
- // .. .. ==> MASK : 0x80000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006020, 0xFFFFFFFCU ,0x272872D0U),
- // .. .. reg_ddrc_en_2t_timing_mode = 0x0
- // .. .. ==> 0XF8006024[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_prefer_write = 0x0
- // .. .. ==> 0XF8006024[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_ddrc_max_rank_rd = 0xf
- // .. .. ==> 0XF8006024[5:2] = 0x0000000FU
- // .. .. ==> MASK : 0x0000003CU VAL : 0x0000003CU
- // .. .. reg_ddrc_mr_wr = 0x0
- // .. .. ==> 0XF8006024[6:6] = 0x00000000U
- // .. .. ==> MASK : 0x00000040U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_addr = 0x0
- // .. .. ==> 0XF8006024[8:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000180U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_data = 0x0
- // .. .. ==> 0XF8006024[24:9] = 0x00000000U
- // .. .. ==> MASK : 0x01FFFE00U VAL : 0x00000000U
- // .. .. ddrc_reg_mr_wr_busy = 0x0
- // .. .. ==> 0XF8006024[25:25] = 0x00000000U
- // .. .. ==> MASK : 0x02000000U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_type = 0x0
- // .. .. ==> 0XF8006024[26:26] = 0x00000000U
- // .. .. ==> MASK : 0x04000000U VAL : 0x00000000U
- // .. .. reg_ddrc_mr_rdata_valid = 0x0
- // .. .. ==> 0XF8006024[27:27] = 0x00000000U
- // .. .. ==> MASK : 0x08000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006024, 0x0FFFFFFFU ,0x0000003CU),
- // .. .. reg_ddrc_final_wait_x32 = 0x7
- // .. .. ==> 0XF8006028[6:0] = 0x00000007U
- // .. .. ==> MASK : 0x0000007FU VAL : 0x00000007U
- // .. .. reg_ddrc_pre_ocd_x32 = 0x0
- // .. .. ==> 0XF8006028[10:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000780U VAL : 0x00000000U
- // .. .. reg_ddrc_t_mrd = 0x4
- // .. .. ==> 0XF8006028[13:11] = 0x00000004U
- // .. .. ==> MASK : 0x00003800U VAL : 0x00002000U
- // .. ..
- EMIT_MASKWRITE(0XF8006028, 0x00003FFFU ,0x00002007U),
- // .. .. reg_ddrc_emr2 = 0x8
- // .. .. ==> 0XF800602C[15:0] = 0x00000008U
- // .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000008U
- // .. .. reg_ddrc_emr3 = 0x0
- // .. .. ==> 0XF800602C[31:16] = 0x00000000U
- // .. .. ==> MASK : 0xFFFF0000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU ,0x00000008U),
- // .. .. reg_ddrc_mr = 0x930
- // .. .. ==> 0XF8006030[15:0] = 0x00000930U
- // .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000930U
- // .. .. reg_ddrc_emr = 0x4
- // .. .. ==> 0XF8006030[31:16] = 0x00000004U
- // .. .. ==> MASK : 0xFFFF0000U VAL : 0x00040000U
- // .. ..
- EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU ,0x00040930U),
- // .. .. reg_ddrc_burst_rdwr = 0x4
- // .. .. ==> 0XF8006034[3:0] = 0x00000004U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000004U
- // .. .. reg_ddrc_pre_cke_x1024 = 0x105
- // .. .. ==> 0XF8006034[13:4] = 0x00000105U
- // .. .. ==> MASK : 0x00003FF0U VAL : 0x00001050U
- // .. .. reg_ddrc_post_cke_x1024 = 0x1
- // .. .. ==> 0XF8006034[25:16] = 0x00000001U
- // .. .. ==> MASK : 0x03FF0000U VAL : 0x00010000U
- // .. .. reg_ddrc_burstchop = 0x0
- // .. .. ==> 0XF8006034[28:28] = 0x00000000U
- // .. .. ==> MASK : 0x10000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU ,0x00011054U),
- // .. .. reg_ddrc_force_low_pri_n = 0x0
- // .. .. ==> 0XF8006038[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_dq = 0x0
- // .. .. ==> 0XF8006038[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_debug_mode = 0x0
- // .. .. ==> 0XF8006038[6:6] = 0x00000000U
- // .. .. ==> MASK : 0x00000040U VAL : 0x00000000U
- // .. .. reg_phy_wr_level_start = 0x0
- // .. .. ==> 0XF8006038[7:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. .. reg_phy_rd_level_start = 0x0
- // .. .. ==> 0XF8006038[8:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. .. reg_phy_dq0_wait_t = 0x0
- // .. .. ==> 0XF8006038[12:9] = 0x00000000U
- // .. .. ==> MASK : 0x00001E00U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006038, 0x00001FC3U ,0x00000000U),
- // .. .. reg_ddrc_addrmap_bank_b0 = 0x7
- // .. .. ==> 0XF800603C[3:0] = 0x00000007U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000007U
- // .. .. reg_ddrc_addrmap_bank_b1 = 0x7
- // .. .. ==> 0XF800603C[7:4] = 0x00000007U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000070U
- // .. .. reg_ddrc_addrmap_bank_b2 = 0x7
- // .. .. ==> 0XF800603C[11:8] = 0x00000007U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000700U
- // .. .. reg_ddrc_addrmap_col_b5 = 0x0
- // .. .. ==> 0XF800603C[15:12] = 0x00000000U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b6 = 0x0
- // .. .. ==> 0XF800603C[19:16] = 0x00000000U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU ,0x00000777U),
- // .. .. reg_ddrc_addrmap_col_b2 = 0x0
- // .. .. ==> 0XF8006040[3:0] = 0x00000000U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b3 = 0x0
- // .. .. ==> 0XF8006040[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b4 = 0x0
- // .. .. ==> 0XF8006040[11:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b7 = 0x0
- // .. .. ==> 0XF8006040[15:12] = 0x00000000U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b8 = 0x0
- // .. .. ==> 0XF8006040[19:16] = 0x00000000U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00000000U
- // .. .. reg_ddrc_addrmap_col_b9 = 0xf
- // .. .. ==> 0XF8006040[23:20] = 0x0000000FU
- // .. .. ==> MASK : 0x00F00000U VAL : 0x00F00000U
- // .. .. reg_ddrc_addrmap_col_b10 = 0xf
- // .. .. ==> 0XF8006040[27:24] = 0x0000000FU
- // .. .. ==> MASK : 0x0F000000U VAL : 0x0F000000U
- // .. .. reg_ddrc_addrmap_col_b11 = 0xf
- // .. .. ==> 0XF8006040[31:28] = 0x0000000FU
- // .. .. ==> MASK : 0xF0000000U VAL : 0xF0000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU ,0xFFF00000U),
- // .. .. reg_ddrc_addrmap_row_b0 = 0x6
- // .. .. ==> 0XF8006044[3:0] = 0x00000006U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000006U
- // .. .. reg_ddrc_addrmap_row_b1 = 0x6
- // .. .. ==> 0XF8006044[7:4] = 0x00000006U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000060U
- // .. .. reg_ddrc_addrmap_row_b2_11 = 0x6
- // .. .. ==> 0XF8006044[11:8] = 0x00000006U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000600U
- // .. .. reg_ddrc_addrmap_row_b12 = 0x6
- // .. .. ==> 0XF8006044[15:12] = 0x00000006U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00006000U
- // .. .. reg_ddrc_addrmap_row_b13 = 0x6
- // .. .. ==> 0XF8006044[19:16] = 0x00000006U
- // .. .. ==> MASK : 0x000F0000U VAL : 0x00060000U
- // .. .. reg_ddrc_addrmap_row_b14 = 0x6
- // .. .. ==> 0XF8006044[23:20] = 0x00000006U
- // .. .. ==> MASK : 0x00F00000U VAL : 0x00600000U
- // .. .. reg_ddrc_addrmap_row_b15 = 0xf
- // .. .. ==> 0XF8006044[27:24] = 0x0000000FU
- // .. .. ==> MASK : 0x0F000000U VAL : 0x0F000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU ,0x0F666666U),
- // .. .. reg_ddrc_rank0_rd_odt = 0x0
- // .. .. ==> 0XF8006048[2:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000007U VAL : 0x00000000U
- // .. .. reg_ddrc_rank0_wr_odt = 0x1
- // .. .. ==> 0XF8006048[5:3] = 0x00000001U
- // .. .. ==> MASK : 0x00000038U VAL : 0x00000008U
- // .. .. reg_ddrc_rank1_rd_odt = 0x1
- // .. .. ==> 0XF8006048[8:6] = 0x00000001U
- // .. .. ==> MASK : 0x000001C0U VAL : 0x00000040U
- // .. .. reg_ddrc_rank1_wr_odt = 0x1
- // .. .. ==> 0XF8006048[11:9] = 0x00000001U
- // .. .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. .. reg_phy_rd_local_odt = 0x0
- // .. .. ==> 0XF8006048[13:12] = 0x00000000U
- // .. .. ==> MASK : 0x00003000U VAL : 0x00000000U
- // .. .. reg_phy_wr_local_odt = 0x3
- // .. .. ==> 0XF8006048[15:14] = 0x00000003U
- // .. .. ==> MASK : 0x0000C000U VAL : 0x0000C000U
- // .. .. reg_phy_idle_local_odt = 0x3
- // .. .. ==> 0XF8006048[17:16] = 0x00000003U
- // .. .. ==> MASK : 0x00030000U VAL : 0x00030000U
- // .. .. reg_ddrc_rank2_rd_odt = 0x0
- // .. .. ==> 0XF8006048[20:18] = 0x00000000U
- // .. .. ==> MASK : 0x001C0000U VAL : 0x00000000U
- // .. .. reg_ddrc_rank2_wr_odt = 0x0
- // .. .. ==> 0XF8006048[23:21] = 0x00000000U
- // .. .. ==> MASK : 0x00E00000U VAL : 0x00000000U
- // .. .. reg_ddrc_rank3_rd_odt = 0x0
- // .. .. ==> 0XF8006048[26:24] = 0x00000000U
- // .. .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. .. reg_ddrc_rank3_wr_odt = 0x0
- // .. .. ==> 0XF8006048[29:27] = 0x00000000U
- // .. .. ==> MASK : 0x38000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006048, 0x3FFFFFFFU ,0x0003C248U),
- // .. .. reg_phy_rd_cmd_to_data = 0x0
- // .. .. ==> 0XF8006050[3:0] = 0x00000000U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000000U
- // .. .. reg_phy_wr_cmd_to_data = 0x0
- // .. .. ==> 0XF8006050[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. .. reg_phy_rdc_we_to_re_delay = 0x8
- // .. .. ==> 0XF8006050[11:8] = 0x00000008U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000800U
- // .. .. reg_phy_rdc_fifo_rst_disable = 0x0
- // .. .. ==> 0XF8006050[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. reg_phy_use_fixed_re = 0x1
- // .. .. ==> 0XF8006050[16:16] = 0x00000001U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00010000U
- // .. .. reg_phy_rdc_fifo_rst_err_cnt_clr = 0x0
- // .. .. ==> 0XF8006050[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_phy_dis_phy_ctrl_rstn = 0x0
- // .. .. ==> 0XF8006050[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_phy_clk_stall_level = 0x0
- // .. .. ==> 0XF8006050[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_num_of_dq0 = 0x7
- // .. .. ==> 0XF8006050[27:24] = 0x00000007U
- // .. .. ==> MASK : 0x0F000000U VAL : 0x07000000U
- // .. .. reg_phy_wrlvl_num_of_dq0 = 0x7
- // .. .. ==> 0XF8006050[31:28] = 0x00000007U
- // .. .. ==> MASK : 0xF0000000U VAL : 0x70000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU ,0x77010800U),
- // .. .. reg_ddrc_dll_calib_to_min_x1024 = 0x1
- // .. .. ==> 0XF8006058[7:0] = 0x00000001U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x00000001U
- // .. .. reg_ddrc_dll_calib_to_max_x1024 = 0x1
- // .. .. ==> 0XF8006058[15:8] = 0x00000001U
- // .. .. ==> MASK : 0x0000FF00U VAL : 0x00000100U
- // .. .. reg_ddrc_dis_dll_calib = 0x0
- // .. .. ==> 0XF8006058[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006058, 0x0001FFFFU ,0x00000101U),
- // .. .. reg_ddrc_rd_odt_delay = 0x3
- // .. .. ==> 0XF800605C[3:0] = 0x00000003U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000003U
- // .. .. reg_ddrc_wr_odt_delay = 0x0
- // .. .. ==> 0XF800605C[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. .. reg_ddrc_rd_odt_hold = 0x0
- // .. .. ==> 0XF800605C[11:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000F00U VAL : 0x00000000U
- // .. .. reg_ddrc_wr_odt_hold = 0x5
- // .. .. ==> 0XF800605C[15:12] = 0x00000005U
- // .. .. ==> MASK : 0x0000F000U VAL : 0x00005000U
- // .. ..
- EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU ,0x00005003U),
- // .. .. reg_ddrc_pageclose = 0x0
- // .. .. ==> 0XF8006060[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_lpr_num_entries = 0x1f
- // .. .. ==> 0XF8006060[6:1] = 0x0000001FU
- // .. .. ==> MASK : 0x0000007EU VAL : 0x0000003EU
- // .. .. reg_ddrc_auto_pre_en = 0x0
- // .. .. ==> 0XF8006060[7:7] = 0x00000000U
- // .. .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. .. reg_ddrc_refresh_update_level = 0x0
- // .. .. ==> 0XF8006060[8:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_wc = 0x0
- // .. .. ==> 0XF8006060[9:9] = 0x00000000U
- // .. .. ==> MASK : 0x00000200U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_collision_page_opt = 0x0
- // .. .. ==> 0XF8006060[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_ddrc_selfref_en = 0x0
- // .. .. ==> 0XF8006060[12:12] = 0x00000000U
- // .. .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006060, 0x000017FFU ,0x0000003EU),
- // .. .. reg_ddrc_go2critical_hysteresis = 0x0
- // .. .. ==> 0XF8006064[12:5] = 0x00000000U
- // .. .. ==> MASK : 0x00001FE0U VAL : 0x00000000U
- // .. .. reg_arb_go2critical_en = 0x1
- // .. .. ==> 0XF8006064[17:17] = 0x00000001U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00020000U
- // .. ..
- EMIT_MASKWRITE(0XF8006064, 0x00021FE0U ,0x00020000U),
- // .. .. reg_ddrc_wrlvl_ww = 0x41
- // .. .. ==> 0XF8006068[7:0] = 0x00000041U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x00000041U
- // .. .. reg_ddrc_rdlvl_rr = 0x41
- // .. .. ==> 0XF8006068[15:8] = 0x00000041U
- // .. .. ==> MASK : 0x0000FF00U VAL : 0x00004100U
- // .. .. reg_ddrc_dfi_t_wlmrd = 0x28
- // .. .. ==> 0XF8006068[25:16] = 0x00000028U
- // .. .. ==> MASK : 0x03FF0000U VAL : 0x00280000U
- // .. ..
- EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU ,0x00284141U),
- // .. .. dfi_t_ctrlupd_interval_min_x1024 = 0x10
- // .. .. ==> 0XF800606C[7:0] = 0x00000010U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x00000010U
- // .. .. dfi_t_ctrlupd_interval_max_x1024 = 0x16
- // .. .. ==> 0XF800606C[15:8] = 0x00000016U
- // .. .. ==> MASK : 0x0000FF00U VAL : 0x00001600U
- // .. ..
- EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU ,0x00001610U),
- // .. .. refresh_timer0_start_value_x32 = 0x0
- // .. .. ==> 0XF80060A0[11:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000FFFU VAL : 0x00000000U
- // .. .. refresh_timer1_start_value_x32 = 0x8
- // .. .. ==> 0XF80060A0[23:12] = 0x00000008U
- // .. .. ==> MASK : 0x00FFF000U VAL : 0x00008000U
- // .. ..
- EMIT_MASKWRITE(0XF80060A0, 0x00FFFFFFU ,0x00008000U),
- // .. .. reg_ddrc_dis_auto_zq = 0x0
- // .. .. ==> 0XF80060A4[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_ddr3 = 0x1
- // .. .. ==> 0XF80060A4[1:1] = 0x00000001U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. reg_ddrc_t_mod = 0x200
- // .. .. ==> 0XF80060A4[11:2] = 0x00000200U
- // .. .. ==> MASK : 0x00000FFCU VAL : 0x00000800U
- // .. .. reg_ddrc_t_zq_long_nop = 0x200
- // .. .. ==> 0XF80060A4[21:12] = 0x00000200U
- // .. .. ==> MASK : 0x003FF000U VAL : 0x00200000U
- // .. .. reg_ddrc_t_zq_short_nop = 0x40
- // .. .. ==> 0XF80060A4[31:22] = 0x00000040U
- // .. .. ==> MASK : 0xFFC00000U VAL : 0x10000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU ,0x10200802U),
- // .. .. t_zq_short_interval_x1024 = 0xcb73
- // .. .. ==> 0XF80060A8[19:0] = 0x0000CB73U
- // .. .. ==> MASK : 0x000FFFFFU VAL : 0x0000CB73U
- // .. .. dram_rstn_x1024 = 0x69
- // .. .. ==> 0XF80060A8[27:20] = 0x00000069U
- // .. .. ==> MASK : 0x0FF00000U VAL : 0x06900000U
- // .. ..
- EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU ,0x0690CB73U),
- // .. .. deeppowerdown_en = 0x0
- // .. .. ==> 0XF80060AC[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. deeppowerdown_to_x1024 = 0xff
- // .. .. ==> 0XF80060AC[8:1] = 0x000000FFU
- // .. .. ==> MASK : 0x000001FEU VAL : 0x000001FEU
- // .. ..
- EMIT_MASKWRITE(0XF80060AC, 0x000001FFU ,0x000001FEU),
- // .. .. dfi_wrlvl_max_x1024 = 0xfff
- // .. .. ==> 0XF80060B0[11:0] = 0x00000FFFU
- // .. .. ==> MASK : 0x00000FFFU VAL : 0x00000FFFU
- // .. .. dfi_rdlvl_max_x1024 = 0xfff
- // .. .. ==> 0XF80060B0[23:12] = 0x00000FFFU
- // .. .. ==> MASK : 0x00FFF000U VAL : 0x00FFF000U
- // .. .. ddrc_reg_twrlvl_max_error = 0x0
- // .. .. ==> 0XF80060B0[24:24] = 0x00000000U
- // .. .. ==> MASK : 0x01000000U VAL : 0x00000000U
- // .. .. ddrc_reg_trdlvl_max_error = 0x0
- // .. .. ==> 0XF80060B0[25:25] = 0x00000000U
- // .. .. ==> MASK : 0x02000000U VAL : 0x00000000U
- // .. .. reg_ddrc_dfi_wr_level_en = 0x1
- // .. .. ==> 0XF80060B0[26:26] = 0x00000001U
- // .. .. ==> MASK : 0x04000000U VAL : 0x04000000U
- // .. .. reg_ddrc_dfi_rd_dqs_gate_level = 0x1
- // .. .. ==> 0XF80060B0[27:27] = 0x00000001U
- // .. .. ==> MASK : 0x08000000U VAL : 0x08000000U
- // .. .. reg_ddrc_dfi_rd_data_eye_train = 0x1
- // .. .. ==> 0XF80060B0[28:28] = 0x00000001U
- // .. .. ==> MASK : 0x10000000U VAL : 0x10000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU ,0x1CFFFFFFU),
- // .. .. reg_ddrc_2t_delay = 0x0
- // .. .. ==> 0XF80060B4[8:0] = 0x00000000U
- // .. .. ==> MASK : 0x000001FFU VAL : 0x00000000U
- // .. .. reg_ddrc_skip_ocd = 0x1
- // .. .. ==> 0XF80060B4[9:9] = 0x00000001U
- // .. .. ==> MASK : 0x00000200U VAL : 0x00000200U
- // .. .. reg_ddrc_dis_pre_bypass = 0x0
- // .. .. ==> 0XF80060B4[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060B4, 0x000007FFU ,0x00000200U),
- // .. .. reg_ddrc_dfi_t_rddata_en = 0x6
- // .. .. ==> 0XF80060B8[4:0] = 0x00000006U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000006U
- // .. .. reg_ddrc_dfi_t_ctrlup_min = 0x3
- // .. .. ==> 0XF80060B8[14:5] = 0x00000003U
- // .. .. ==> MASK : 0x00007FE0U VAL : 0x00000060U
- // .. .. reg_ddrc_dfi_t_ctrlup_max = 0x40
- // .. .. ==> 0XF80060B8[24:15] = 0x00000040U
- // .. .. ==> MASK : 0x01FF8000U VAL : 0x00200000U
- // .. ..
- EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU ,0x00200066U),
- // .. .. START: RESET ECC ERROR
- // .. .. Clear_Uncorrectable_DRAM_ECC_error = 1
- // .. .. ==> 0XF80060C4[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. Clear_Correctable_DRAM_ECC_error = 1
- // .. .. ==> 0XF80060C4[1:1] = 0x00000001U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. ..
- EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000003U),
- // .. .. FINISH: RESET ECC ERROR
- // .. .. Clear_Uncorrectable_DRAM_ECC_error = 0x0
- // .. .. ==> 0XF80060C4[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. Clear_Correctable_DRAM_ECC_error = 0x0
- // .. .. ==> 0XF80060C4[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000000U),
- // .. .. CORR_ECC_LOG_VALID = 0x0
- // .. .. ==> 0XF80060C8[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. ECC_CORRECTED_BIT_NUM = 0x0
- // .. .. ==> 0XF80060C8[7:1] = 0x00000000U
- // .. .. ==> MASK : 0x000000FEU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060C8, 0x000000FFU ,0x00000000U),
- // .. .. UNCORR_ECC_LOG_VALID = 0x0
- // .. .. ==> 0XF80060DC[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060DC, 0x00000001U ,0x00000000U),
- // .. .. STAT_NUM_CORR_ERR = 0x0
- // .. .. ==> 0XF80060F0[15:8] = 0x00000000U
- // .. .. ==> MASK : 0x0000FF00U VAL : 0x00000000U
- // .. .. STAT_NUM_UNCORR_ERR = 0x0
- // .. .. ==> 0XF80060F0[7:0] = 0x00000000U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU ,0x00000000U),
- // .. .. reg_ddrc_ecc_mode = 0x0
- // .. .. ==> 0XF80060F4[2:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000007U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_scrub = 0x1
- // .. .. ==> 0XF80060F4[3:3] = 0x00000001U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000008U
- // .. ..
- EMIT_MASKWRITE(0XF80060F4, 0x0000000FU ,0x00000008U),
- // .. .. reg_phy_dif_on = 0x0
- // .. .. ==> 0XF8006114[3:0] = 0x00000000U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000000U
- // .. .. reg_phy_dif_off = 0x0
- // .. .. ==> 0XF8006114[7:4] = 0x00000000U
- // .. .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006114, 0x000000FFU ,0x00000000U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF8006118[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006118[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF8006118[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006118[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_tx = 0x0
- // .. .. ==> 0XF8006118[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_rx = 0x0
- // .. .. ==> 0XF8006118[5:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF8006118[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF8006118[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF8006118[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006118, 0x7FFFFFFFU ,0x40000001U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF800611C[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF800611C[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF800611C[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF800611C[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_tx = 0x0
- // .. .. ==> 0XF800611C[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_rx = 0x0
- // .. .. ==> 0XF800611C[5:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF800611C[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF800611C[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF800611C[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF800611C, 0x7FFFFFFFU ,0x40000001U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF8006120[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006120[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_tx = 0x0
- // .. .. ==> 0XF8006120[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_rx = 0x0
- // .. .. ==> 0XF8006120[5:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF8006120[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF8006120[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF8006120[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006120, 0x7FFFFFFFU ,0x40000001U),
- // .. .. reg_phy_data_slice_in_use = 0x1
- // .. .. ==> 0XF8006124[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_phy_rdlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006124[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_inc_mode = 0x0
- // .. .. ==> 0XF8006124[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_wrlvl_inc_mode = 0x0
- // .. .. ==> 0XF8006124[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_tx = 0x0
- // .. .. ==> 0XF8006124[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_board_lpbk_rx = 0x0
- // .. .. ==> 0XF8006124[5:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. .. reg_phy_bist_shift_dq = 0x0
- // .. .. ==> 0XF8006124[14:6] = 0x00000000U
- // .. .. ==> MASK : 0x00007FC0U VAL : 0x00000000U
- // .. .. reg_phy_bist_err_clr = 0x0
- // .. .. ==> 0XF8006124[23:15] = 0x00000000U
- // .. .. ==> MASK : 0x00FF8000U VAL : 0x00000000U
- // .. .. reg_phy_dq_offset = 0x40
- // .. .. ==> 0XF8006124[30:24] = 0x00000040U
- // .. .. ==> MASK : 0x7F000000U VAL : 0x40000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006124, 0x7FFFFFFFU ,0x40000001U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x0
- // .. .. ==> 0XF800612C[9:0] = 0x00000000U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_init_ratio = 0xa1
- // .. .. ==> 0XF800612C[19:10] = 0x000000A1U
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x00028400U
- // .. ..
- EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU ,0x00028400U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x0
- // .. .. ==> 0XF8006130[9:0] = 0x00000000U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000000U
- // .. .. reg_phy_gatelvl_init_ratio = 0xa0
- // .. .. ==> 0XF8006130[19:10] = 0x000000A0U
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x00028000U
- // .. ..
- EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU ,0x00028000U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x7
- // .. .. ==> 0XF8006134[9:0] = 0x00000007U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000007U
- // .. .. reg_phy_gatelvl_init_ratio = 0xad
- // .. .. ==> 0XF8006134[19:10] = 0x000000ADU
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x0002B400U
- // .. ..
- EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU ,0x0002B407U),
- // .. .. reg_phy_wrlvl_init_ratio = 0x7
- // .. .. ==> 0XF8006138[9:0] = 0x00000007U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000007U
- // .. .. reg_phy_gatelvl_init_ratio = 0xad
- // .. .. ==> 0XF8006138[19:10] = 0x000000ADU
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x0002B400U
- // .. ..
- EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU ,0x0002B407U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF8006140[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006140[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006140[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF8006144[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006144[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006144[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF8006148[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006148[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006148[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_rd_dqs_slave_ratio = 0x35
- // .. .. ==> 0XF800614C[9:0] = 0x00000035U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000035U
- // .. .. reg_phy_rd_dqs_slave_force = 0x0
- // .. .. ==> 0XF800614C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_rd_dqs_slave_delay = 0x0
- // .. .. ==> 0XF800614C[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU ,0x00000035U),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x7c
- // .. .. ==> 0XF8006154[9:0] = 0x0000007CU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x0000007CU
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006154[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006154[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU ,0x0000007CU),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x7c
- // .. .. ==> 0XF8006158[9:0] = 0x0000007CU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x0000007CU
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006158[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006158[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU ,0x0000007CU),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x87
- // .. .. ==> 0XF800615C[9:0] = 0x00000087U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000087U
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF800615C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF800615C[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU ,0x00000087U),
- // .. .. reg_phy_wr_dqs_slave_ratio = 0x87
- // .. .. ==> 0XF8006160[9:0] = 0x00000087U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x00000087U
- // .. .. reg_phy_wr_dqs_slave_force = 0x0
- // .. .. ==> 0XF8006160[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_dqs_slave_delay = 0x0
- // .. .. ==> 0XF8006160[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU ,0x00000087U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0xf6
- // .. .. ==> 0XF8006168[10:0] = 0x000000F6U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x000000F6U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF8006168[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF8006168[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU ,0x000000F6U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0xf5
- // .. .. ==> 0XF800616C[10:0] = 0x000000F5U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x000000F5U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF800616C[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF800616C[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU ,0x000000F5U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0x102
- // .. .. ==> 0XF8006170[10:0] = 0x00000102U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000102U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF8006170[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF8006170[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU ,0x00000102U),
- // .. .. reg_phy_fifo_we_slave_ratio = 0x102
- // .. .. ==> 0XF8006174[10:0] = 0x00000102U
- // .. .. ==> MASK : 0x000007FFU VAL : 0x00000102U
- // .. .. reg_phy_fifo_we_in_force = 0x0
- // .. .. ==> 0XF8006174[11:11] = 0x00000000U
- // .. .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. .. reg_phy_fifo_we_in_delay = 0x0
- // .. .. ==> 0XF8006174[20:12] = 0x00000000U
- // .. .. ==> MASK : 0x001FF000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU ,0x00000102U),
- // .. .. reg_phy_wr_data_slave_ratio = 0xbc
- // .. .. ==> 0XF800617C[9:0] = 0x000000BCU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000BCU
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF800617C[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF800617C[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU ,0x000000BCU),
- // .. .. reg_phy_wr_data_slave_ratio = 0xbc
- // .. .. ==> 0XF8006180[9:0] = 0x000000BCU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000BCU
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF8006180[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF8006180[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU ,0x000000BCU),
- // .. .. reg_phy_wr_data_slave_ratio = 0xc7
- // .. .. ==> 0XF8006184[9:0] = 0x000000C7U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000C7U
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF8006184[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF8006184[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU ,0x000000C7U),
- // .. .. reg_phy_wr_data_slave_ratio = 0xc7
- // .. .. ==> 0XF8006188[9:0] = 0x000000C7U
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000000C7U
- // .. .. reg_phy_wr_data_slave_force = 0x0
- // .. .. ==> 0XF8006188[10:10] = 0x00000000U
- // .. .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. .. reg_phy_wr_data_slave_delay = 0x0
- // .. .. ==> 0XF8006188[19:11] = 0x00000000U
- // .. .. ==> MASK : 0x000FF800U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU ,0x000000C7U),
- // .. .. reg_phy_loopback = 0x0
- // .. .. ==> 0XF8006190[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_phy_bl2 = 0x0
- // .. .. ==> 0XF8006190[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_phy_at_spd_atpg = 0x0
- // .. .. ==> 0XF8006190[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_phy_bist_enable = 0x0
- // .. .. ==> 0XF8006190[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. reg_phy_bist_force_err = 0x0
- // .. .. ==> 0XF8006190[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. reg_phy_bist_mode = 0x0
- // .. .. ==> 0XF8006190[6:5] = 0x00000000U
- // .. .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. .. reg_phy_invert_clkout = 0x1
- // .. .. ==> 0XF8006190[7:7] = 0x00000001U
- // .. .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. .. reg_phy_all_dq_mpr_rd_resp = 0x0
- // .. .. ==> 0XF8006190[8:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. .. reg_phy_sel_logic = 0x0
- // .. .. ==> 0XF8006190[9:9] = 0x00000000U
- // .. .. ==> MASK : 0x00000200U VAL : 0x00000000U
- // .. .. reg_phy_ctrl_slave_ratio = 0x100
- // .. .. ==> 0XF8006190[19:10] = 0x00000100U
- // .. .. ==> MASK : 0x000FFC00U VAL : 0x00040000U
- // .. .. reg_phy_ctrl_slave_force = 0x0
- // .. .. ==> 0XF8006190[20:20] = 0x00000000U
- // .. .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. .. reg_phy_ctrl_slave_delay = 0x0
- // .. .. ==> 0XF8006190[27:21] = 0x00000000U
- // .. .. ==> MASK : 0x0FE00000U VAL : 0x00000000U
- // .. .. reg_phy_use_rank0_delays = 0x1
- // .. .. ==> 0XF8006190[28:28] = 0x00000001U
- // .. .. ==> MASK : 0x10000000U VAL : 0x10000000U
- // .. .. reg_phy_lpddr = 0x0
- // .. .. ==> 0XF8006190[29:29] = 0x00000000U
- // .. .. ==> MASK : 0x20000000U VAL : 0x00000000U
- // .. .. reg_phy_cmd_latency = 0x0
- // .. .. ==> 0XF8006190[30:30] = 0x00000000U
- // .. .. ==> MASK : 0x40000000U VAL : 0x00000000U
- // .. .. reg_phy_int_lpbk = 0x0
- // .. .. ==> 0XF8006190[31:31] = 0x00000000U
- // .. .. ==> MASK : 0x80000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006190, 0xFFFFFFFFU ,0x10040080U),
- // .. .. reg_phy_wr_rl_delay = 0x2
- // .. .. ==> 0XF8006194[4:0] = 0x00000002U
- // .. .. ==> MASK : 0x0000001FU VAL : 0x00000002U
- // .. .. reg_phy_rd_rl_delay = 0x4
- // .. .. ==> 0XF8006194[9:5] = 0x00000004U
- // .. .. ==> MASK : 0x000003E0U VAL : 0x00000080U
- // .. .. reg_phy_dll_lock_diff = 0xf
- // .. .. ==> 0XF8006194[13:10] = 0x0000000FU
- // .. .. ==> MASK : 0x00003C00U VAL : 0x00003C00U
- // .. .. reg_phy_use_wr_level = 0x1
- // .. .. ==> 0XF8006194[14:14] = 0x00000001U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00004000U
- // .. .. reg_phy_use_rd_dqs_gate_level = 0x1
- // .. .. ==> 0XF8006194[15:15] = 0x00000001U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00008000U
- // .. .. reg_phy_use_rd_data_eye_level = 0x1
- // .. .. ==> 0XF8006194[16:16] = 0x00000001U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00010000U
- // .. .. reg_phy_dis_calib_rst = 0x0
- // .. .. ==> 0XF8006194[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_phy_ctrl_slave_delay = 0x0
- // .. .. ==> 0XF8006194[19:18] = 0x00000000U
- // .. .. ==> MASK : 0x000C0000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU ,0x0001FC82U),
- // .. .. reg_arb_page_addr_mask = 0x0
- // .. .. ==> 0XF8006204[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU ,0x00000000U),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF8006208[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF8006208[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF8006208[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF8006208[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_dis_rmw_portn = 0x1
- // .. .. ==> 0XF8006208[19:19] = 0x00000001U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // .. ..
- EMIT_MASKWRITE(0XF8006208, 0x000F03FFU ,0x000803FFU),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF800620C[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF800620C[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF800620C[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF800620C[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_dis_rmw_portn = 0x1
- // .. .. ==> 0XF800620C[19:19] = 0x00000001U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // .. ..
- EMIT_MASKWRITE(0XF800620C, 0x000F03FFU ,0x000803FFU),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF8006210[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF8006210[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF8006210[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF8006210[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_dis_rmw_portn = 0x1
- // .. .. ==> 0XF8006210[19:19] = 0x00000001U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // .. ..
- EMIT_MASKWRITE(0XF8006210, 0x000F03FFU ,0x000803FFU),
- // .. .. reg_arb_pri_wr_portn = 0x3ff
- // .. .. ==> 0XF8006214[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_wr_portn = 0x0
- // .. .. ==> 0XF8006214[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_wr_portn = 0x0
- // .. .. ==> 0XF8006214[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_wr_portn = 0x0
- // .. .. ==> 0XF8006214[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_dis_rmw_portn = 0x1
- // .. .. ==> 0XF8006214[19:19] = 0x00000001U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // .. ..
- EMIT_MASKWRITE(0XF8006214, 0x000F03FFU ,0x000803FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF8006218[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF8006218[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF8006218[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF8006218[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF8006218[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006218, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF800621C[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF800621C[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF800621C[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF800621C[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF800621C[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF800621C, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF8006220[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF8006220[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF8006220[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF8006220[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF8006220[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006220, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_arb_pri_rd_portn = 0x3ff
- // .. .. ==> 0XF8006224[9:0] = 0x000003FFU
- // .. .. ==> MASK : 0x000003FFU VAL : 0x000003FFU
- // .. .. reg_arb_disable_aging_rd_portn = 0x0
- // .. .. ==> 0XF8006224[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. .. reg_arb_disable_urgent_rd_portn = 0x0
- // .. .. ==> 0XF8006224[17:17] = 0x00000000U
- // .. .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. .. reg_arb_dis_page_match_rd_portn = 0x0
- // .. .. ==> 0XF8006224[18:18] = 0x00000000U
- // .. .. ==> MASK : 0x00040000U VAL : 0x00000000U
- // .. .. reg_arb_set_hpr_rd_portn = 0x0
- // .. .. ==> 0XF8006224[19:19] = 0x00000000U
- // .. .. ==> MASK : 0x00080000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006224, 0x000F03FFU ,0x000003FFU),
- // .. .. reg_ddrc_lpddr2 = 0x0
- // .. .. ==> 0XF80062A8[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. reg_ddrc_per_bank_refresh = 0x0
- // .. .. ==> 0XF80062A8[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_ddrc_derate_enable = 0x0
- // .. .. ==> 0XF80062A8[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. reg_ddrc_mr4_margin = 0x0
- // .. .. ==> 0XF80062A8[11:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000FF0U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80062A8, 0x00000FF7U ,0x00000000U),
- // .. .. reg_ddrc_mr4_read_interval = 0x0
- // .. .. ==> 0XF80062AC[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU ,0x00000000U),
- // .. .. reg_ddrc_min_stable_clock_x1 = 0x5
- // .. .. ==> 0XF80062B0[3:0] = 0x00000005U
- // .. .. ==> MASK : 0x0000000FU VAL : 0x00000005U
- // .. .. reg_ddrc_idle_after_reset_x32 = 0x12
- // .. .. ==> 0XF80062B0[11:4] = 0x00000012U
- // .. .. ==> MASK : 0x00000FF0U VAL : 0x00000120U
- // .. .. reg_ddrc_t_mrw = 0x5
- // .. .. ==> 0XF80062B0[21:12] = 0x00000005U
- // .. .. ==> MASK : 0x003FF000U VAL : 0x00005000U
- // .. ..
- EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU ,0x00005125U),
- // .. .. reg_ddrc_max_auto_init_x1024 = 0xa8
- // .. .. ==> 0XF80062B4[7:0] = 0x000000A8U
- // .. .. ==> MASK : 0x000000FFU VAL : 0x000000A8U
- // .. .. reg_ddrc_dev_zqinit_x32 = 0x12
- // .. .. ==> 0XF80062B4[17:8] = 0x00000012U
- // .. .. ==> MASK : 0x0003FF00U VAL : 0x00001200U
- // .. ..
- EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU ,0x000012A8U),
- // .. .. START: POLL ON DCI STATUS
- // .. .. DONE = 1
- // .. .. ==> 0XF8000B74[13:13] = 0x00000001U
- // .. .. ==> MASK : 0x00002000U VAL : 0x00002000U
- // .. ..
- EMIT_MASKPOLL(0XF8000B74, 0x00002000U),
- // .. .. FINISH: POLL ON DCI STATUS
- // .. .. START: UNLOCK DDR
- // .. .. reg_ddrc_soft_rstb = 0x1
- // .. .. ==> 0XF8006000[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. reg_ddrc_powerdown_en = 0x0
- // .. .. ==> 0XF8006000[1:1] = 0x00000000U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. .. reg_ddrc_data_bus_width = 0x0
- // .. .. ==> 0XF8006000[3:2] = 0x00000000U
- // .. .. ==> MASK : 0x0000000CU VAL : 0x00000000U
- // .. .. reg_ddrc_burst8_refresh = 0x0
- // .. .. ==> 0XF8006000[6:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000070U VAL : 0x00000000U
- // .. .. reg_ddrc_rdwr_idle_gap = 1
- // .. .. ==> 0XF8006000[13:7] = 0x00000001U
- // .. .. ==> MASK : 0x00003F80U VAL : 0x00000080U
- // .. .. reg_ddrc_dis_rd_bypass = 0x0
- // .. .. ==> 0XF8006000[14:14] = 0x00000000U
- // .. .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_act_bypass = 0x0
- // .. .. ==> 0XF8006000[15:15] = 0x00000000U
- // .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
- // .. .. reg_ddrc_dis_auto_refresh = 0x0
- // .. .. ==> 0XF8006000[16:16] = 0x00000000U
- // .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000081U),
- // .. .. FINISH: UNLOCK DDR
- // .. .. START: CHECK DDR STATUS
- // .. .. ddrc_reg_operating_mode = 1
- // .. .. ==> 0XF8006054[2:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000007U VAL : 0x00000001U
- // .. ..
- EMIT_MASKPOLL(0XF8006054, 0x00000007U),
- // .. .. FINISH: CHECK DDR STATUS
- // .. FINISH: DDR INITIALIZATION
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_mio_init_data_1_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: OCM REMAPPING
- // .. FINISH: OCM REMAPPING
- // .. START: DDRIOB SETTINGS
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B40[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x0
- // .. ==> 0XF8000B40[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B40[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x0
- // .. ==> 0XF8000B40[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. DCR_TYPE = 0x0
- // .. ==> 0XF8000B40[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. IBUF_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B40[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B40[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B40[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B40[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU ,0x00000600U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B44[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x0
- // .. ==> 0XF8000B44[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B44[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x0
- // .. ==> 0XF8000B44[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. DCR_TYPE = 0x0
- // .. ==> 0XF8000B44[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. IBUF_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B44[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B44[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B44[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B44[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU ,0x00000600U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B48[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x1
- // .. ==> 0XF8000B48[2:1] = 0x00000001U
- // .. ==> MASK : 0x00000006U VAL : 0x00000002U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B48[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B48[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCR_TYPE = 0x3
- // .. ==> 0XF8000B48[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B48[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B48[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B48[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B48[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU ,0x00000672U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B4C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x1
- // .. ==> 0XF8000B4C[2:1] = 0x00000001U
- // .. ==> MASK : 0x00000006U VAL : 0x00000002U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B4C[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B4C[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCR_TYPE = 0x3
- // .. ==> 0XF8000B4C[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B4C[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B4C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B4C[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B4C[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU ,0x00000672U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B50[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x2
- // .. ==> 0XF8000B50[2:1] = 0x00000002U
- // .. ==> MASK : 0x00000006U VAL : 0x00000004U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B50[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B50[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCR_TYPE = 0x3
- // .. ==> 0XF8000B50[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B50[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B50[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B50[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B50[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU ,0x00000674U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B54[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x2
- // .. ==> 0XF8000B54[2:1] = 0x00000002U
- // .. ==> MASK : 0x00000006U VAL : 0x00000004U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B54[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x1
- // .. ==> 0XF8000B54[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. DCR_TYPE = 0x3
- // .. ==> 0XF8000B54[6:5] = 0x00000003U
- // .. ==> MASK : 0x00000060U VAL : 0x00000060U
- // .. IBUF_DISABLE_MODE = 0
- // .. ==> 0XF8000B54[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0
- // .. ==> 0XF8000B54[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B54[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B54[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU ,0x00000674U),
- // .. INP_POWER = 0x0
- // .. ==> 0XF8000B58[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. INP_TYPE = 0x0
- // .. ==> 0XF8000B58[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. DCI_UPDATE = 0x0
- // .. ==> 0XF8000B58[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. TERM_EN = 0x0
- // .. ==> 0XF8000B58[4:4] = 0x00000000U
- // .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. DCR_TYPE = 0x0
- // .. ==> 0XF8000B58[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. IBUF_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B58[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. TERM_DISABLE_MODE = 0x0
- // .. ==> 0XF8000B58[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. OUTPUT_EN = 0x3
- // .. ==> 0XF8000B58[10:9] = 0x00000003U
- // .. ==> MASK : 0x00000600U VAL : 0x00000600U
- // .. PULLUP_EN = 0x0
- // .. ==> 0XF8000B58[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU ,0x00000600U),
- // .. DRIVE_P = 0x1c
- // .. ==> 0XF8000B5C[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. DRIVE_N = 0xc
- // .. ==> 0XF8000B5C[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. SLEW_P = 0x3
- // .. ==> 0XF8000B5C[18:14] = 0x00000003U
- // .. ==> MASK : 0x0007C000U VAL : 0x0000C000U
- // .. SLEW_N = 0x3
- // .. ==> 0XF8000B5C[23:19] = 0x00000003U
- // .. ==> MASK : 0x00F80000U VAL : 0x00180000U
- // .. GTL = 0x0
- // .. ==> 0XF8000B5C[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. RTERM = 0x0
- // .. ==> 0XF8000B5C[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU ,0x0018C61CU),
- // .. DRIVE_P = 0x1c
- // .. ==> 0XF8000B60[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. DRIVE_N = 0xc
- // .. ==> 0XF8000B60[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. SLEW_P = 0x6
- // .. ==> 0XF8000B60[18:14] = 0x00000006U
- // .. ==> MASK : 0x0007C000U VAL : 0x00018000U
- // .. SLEW_N = 0x1f
- // .. ==> 0XF8000B60[23:19] = 0x0000001FU
- // .. ==> MASK : 0x00F80000U VAL : 0x00F80000U
- // .. GTL = 0x0
- // .. ==> 0XF8000B60[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. RTERM = 0x0
- // .. ==> 0XF8000B60[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU ,0x00F9861CU),
- // .. DRIVE_P = 0x1c
- // .. ==> 0XF8000B64[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. DRIVE_N = 0xc
- // .. ==> 0XF8000B64[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. SLEW_P = 0x6
- // .. ==> 0XF8000B64[18:14] = 0x00000006U
- // .. ==> MASK : 0x0007C000U VAL : 0x00018000U
- // .. SLEW_N = 0x1f
- // .. ==> 0XF8000B64[23:19] = 0x0000001FU
- // .. ==> MASK : 0x00F80000U VAL : 0x00F80000U
- // .. GTL = 0x0
- // .. ==> 0XF8000B64[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. RTERM = 0x0
- // .. ==> 0XF8000B64[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU ,0x00F9861CU),
- // .. DRIVE_P = 0x1c
- // .. ==> 0XF8000B68[6:0] = 0x0000001CU
- // .. ==> MASK : 0x0000007FU VAL : 0x0000001CU
- // .. DRIVE_N = 0xc
- // .. ==> 0XF8000B68[13:7] = 0x0000000CU
- // .. ==> MASK : 0x00003F80U VAL : 0x00000600U
- // .. SLEW_P = 0x6
- // .. ==> 0XF8000B68[18:14] = 0x00000006U
- // .. ==> MASK : 0x0007C000U VAL : 0x00018000U
- // .. SLEW_N = 0x1f
- // .. ==> 0XF8000B68[23:19] = 0x0000001FU
- // .. ==> MASK : 0x00F80000U VAL : 0x00F80000U
- // .. GTL = 0x0
- // .. ==> 0XF8000B68[26:24] = 0x00000000U
- // .. ==> MASK : 0x07000000U VAL : 0x00000000U
- // .. RTERM = 0x0
- // .. ==> 0XF8000B68[31:27] = 0x00000000U
- // .. ==> MASK : 0xF8000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU ,0x00F9861CU),
- // .. VREF_INT_EN = 0x1
- // .. ==> 0XF8000B6C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. VREF_SEL = 0x4
- // .. ==> 0XF8000B6C[4:1] = 0x00000004U
- // .. ==> MASK : 0x0000001EU VAL : 0x00000008U
- // .. VREF_EXT_EN = 0x0
- // .. ==> 0XF8000B6C[6:5] = 0x00000000U
- // .. ==> MASK : 0x00000060U VAL : 0x00000000U
- // .. VREF_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[8:7] = 0x00000000U
- // .. ==> MASK : 0x00000180U VAL : 0x00000000U
- // .. REFIO_EN = 0x1
- // .. ==> 0XF8000B6C[9:9] = 0x00000001U
- // .. ==> MASK : 0x00000200U VAL : 0x00000200U
- // .. REFIO_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DRST_B_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // .. CKE_PULLUP_EN = 0x0
- // .. ==> 0XF8000B6C[14:14] = 0x00000000U
- // .. ==> MASK : 0x00004000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000B6C, 0x000073FFU ,0x00000209U),
- // .. .. START: ASSERT RESET
- // .. .. RESET = 1
- // .. .. ==> 0XF8000B70[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. VRN_OUT = 0x1
- // .. .. ==> 0XF8000B70[5:5] = 0x00000001U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000020U
- // .. ..
- EMIT_MASKWRITE(0XF8000B70, 0x00000021U ,0x00000021U),
- // .. .. FINISH: ASSERT RESET
- // .. .. START: DEASSERT RESET
- // .. .. RESET = 0
- // .. .. ==> 0XF8000B70[0:0] = 0x00000000U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. .. VRN_OUT = 0x1
- // .. .. ==> 0XF8000B70[5:5] = 0x00000001U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000020U
- // .. ..
- EMIT_MASKWRITE(0XF8000B70, 0x00000021U ,0x00000020U),
- // .. .. FINISH: DEASSERT RESET
- // .. .. RESET = 0x1
- // .. .. ==> 0XF8000B70[0:0] = 0x00000001U
- // .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. .. ENABLE = 0x1
- // .. .. ==> 0XF8000B70[1:1] = 0x00000001U
- // .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. .. VRP_TRI = 0x0
- // .. .. ==> 0XF8000B70[2:2] = 0x00000000U
- // .. .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. .. VRN_TRI = 0x0
- // .. .. ==> 0XF8000B70[3:3] = 0x00000000U
- // .. .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. .. VRP_OUT = 0x0
- // .. .. ==> 0XF8000B70[4:4] = 0x00000000U
- // .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
- // .. .. VRN_OUT = 0x1
- // .. .. ==> 0XF8000B70[5:5] = 0x00000001U
- // .. .. ==> MASK : 0x00000020U VAL : 0x00000020U
- // .. .. NREF_OPT1 = 0x0
- // .. .. ==> 0XF8000B70[7:6] = 0x00000000U
- // .. .. ==> MASK : 0x000000C0U VAL : 0x00000000U
- // .. .. NREF_OPT2 = 0x0
- // .. .. ==> 0XF8000B70[10:8] = 0x00000000U
- // .. .. ==> MASK : 0x00000700U VAL : 0x00000000U
- // .. .. NREF_OPT4 = 0x1
- // .. .. ==> 0XF8000B70[13:11] = 0x00000001U
- // .. .. ==> MASK : 0x00003800U VAL : 0x00000800U
- // .. .. PREF_OPT1 = 0x0
- // .. .. ==> 0XF8000B70[16:14] = 0x00000000U
- // .. .. ==> MASK : 0x0001C000U VAL : 0x00000000U
- // .. .. PREF_OPT2 = 0x0
- // .. .. ==> 0XF8000B70[19:17] = 0x00000000U
- // .. .. ==> MASK : 0x000E0000U VAL : 0x00000000U
- // .. .. UPDATE_CONTROL = 0x0
- // .. .. ==> 0XF8000B70[20:20] = 0x00000000U
- // .. .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. .. INIT_COMPLETE = 0x0
- // .. .. ==> 0XF8000B70[21:21] = 0x00000000U
- // .. .. ==> MASK : 0x00200000U VAL : 0x00000000U
- // .. .. TST_CLK = 0x0
- // .. .. ==> 0XF8000B70[22:22] = 0x00000000U
- // .. .. ==> MASK : 0x00400000U VAL : 0x00000000U
- // .. .. TST_HLN = 0x0
- // .. .. ==> 0XF8000B70[23:23] = 0x00000000U
- // .. .. ==> MASK : 0x00800000U VAL : 0x00000000U
- // .. .. TST_HLP = 0x0
- // .. .. ==> 0XF8000B70[24:24] = 0x00000000U
- // .. .. ==> MASK : 0x01000000U VAL : 0x00000000U
- // .. .. TST_RST = 0x0
- // .. .. ==> 0XF8000B70[25:25] = 0x00000000U
- // .. .. ==> MASK : 0x02000000U VAL : 0x00000000U
- // .. .. INT_DCI_EN = 0x0
- // .. .. ==> 0XF8000B70[26:26] = 0x00000000U
- // .. .. ==> MASK : 0x04000000U VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8000B70, 0x07FFFFFFU ,0x00000823U),
- // .. FINISH: DDRIOB SETTINGS
- // .. START: MIO PROGRAMMING
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000700[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000700[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000700[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000700[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000700[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000700[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000700[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000700[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000700[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000700, 0x00003FFFU ,0x00000600U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000704[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000704[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000704[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000704[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000704[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000704[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000704[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000704[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000704[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000704, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000708[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000708[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000708[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000708[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000708[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000708[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000708[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000708[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000708[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000708, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800070C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF800070C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800070C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800070C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800070C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800070C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800070C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800070C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800070C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800070C, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000710[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000710[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000710[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000710[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000710[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000710[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000710[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000710[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000710[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000710, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000714[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000714[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000714[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000714[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000714[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000714[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000714[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000714[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000714[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000714, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000718[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000718[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000718[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000718[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000718[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000718[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000718[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000718[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000718[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000718, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800071C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800071C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF800071C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800071C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800071C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800071C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800071C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800071C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800071C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800071C, 0x00003FFFU ,0x00000600U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000720[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000720[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000720[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000720[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000720[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000720[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000720[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000720[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000720[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000720, 0x00003FFFU ,0x00000602U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000724[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000724[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000724[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000724[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000724[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000724[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000724[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000724[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000724[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000724, 0x00003FFFU ,0x00000600U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000728[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000728[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000728[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000728[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000728[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000728[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000728[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000728[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000728[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000728, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800072C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800072C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF800072C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800072C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF800072C[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF800072C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800072C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800072C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800072C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800072C, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000730[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000730[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000730[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000730[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000730[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000730[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000730[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000730[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000730[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000730, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000734[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000734[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000734[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000734[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000734[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000734[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000734[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000734[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000734[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000734, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000738[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000738[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF8000738[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000738[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF8000738[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF8000738[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF8000738[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF8000738[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000738[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000738, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800073C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800073C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF800073C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800073C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF800073C[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF800073C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 3
- // .. ==> 0XF800073C[11:9] = 0x00000003U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000600U
- // .. PULLUP = 0
- // .. ==> 0XF800073C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800073C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800073C, 0x00003FFFU ,0x00000680U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000740[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000740[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000740[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000740[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000740[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000740[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000740[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000740[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000740[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000740, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000744[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000744[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000744[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000744[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000744[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000744[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000744[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000744[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000744[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000744, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000748[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000748[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000748[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000748[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000748[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000748[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000748[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000748[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000748[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000748, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800074C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF800074C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800074C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800074C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800074C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800074C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800074C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800074C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800074C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800074C, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000750[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000750[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000750[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000750[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000750[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000750[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000750[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000750[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000750[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000750, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000754[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 1
- // .. ==> 0XF8000754[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000754[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000754[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000754[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000754[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000754[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000754[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000754[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000754, 0x00003FFFU ,0x00000202U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000758[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000758[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000758[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000758[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000758[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000758[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000758[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000758[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000758[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000758, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF800075C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF800075C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800075C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800075C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800075C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800075C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800075C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800075C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800075C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800075C, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000760[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000760[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000760[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000760[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000760[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000760[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000760[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000760[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000760[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000760, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000764[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000764[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000764[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000764[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000764[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000764[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000764[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000764[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000764[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000764, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000768[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF8000768[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF8000768[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF8000768[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000768[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000768[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000768[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000768[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000768[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000768, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF800076C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 1
- // .. ==> 0XF800076C[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. L1_SEL = 0
- // .. ==> 0XF800076C[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF800076C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800076C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800076C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800076C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800076C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800076C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800076C, 0x00003FFFU ,0x00000203U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000770[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000770[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000770[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000770[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000770[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000770[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000770[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000770[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000770[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000770, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000774[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF8000774[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000774[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000774[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000774[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000774[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000774[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000774[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000774[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000774, 0x00003FFFU ,0x00000205U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000778[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000778[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000778[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000778[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000778[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000778[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000778[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000778[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000778[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000778, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF800077C[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF800077C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF800077C[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF800077C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800077C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800077C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800077C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800077C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800077C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800077C, 0x00003FFFU ,0x00000205U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000780[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000780[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000780[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000780[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000780[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000780[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000780[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000780[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000780[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000780, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000784[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000784[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000784[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000784[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000784[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000784[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000784[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000784[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000784[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000784, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000788[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000788[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000788[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000788[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000788[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000788[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000788[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000788[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000788[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000788, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800078C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800078C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF800078C[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF800078C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800078C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800078C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800078C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800078C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800078C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800078C, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF8000790[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF8000790[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000790[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000790[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000790[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000790[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000790[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000790[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000790[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000790, 0x00003FFFU ,0x00000205U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000794[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000794[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000794[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000794[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000794[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000794[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000794[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000794[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000794[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000794, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF8000798[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF8000798[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF8000798[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF8000798[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF8000798[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF8000798[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF8000798[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF8000798[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF8000798[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000798, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF800079C[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF800079C[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 1
- // .. ==> 0XF800079C[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. L2_SEL = 0
- // .. ==> 0XF800079C[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF800079C[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF800079C[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF800079C[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF800079C[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF800079C[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF800079C, 0x00003FFFU ,0x00000204U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007A0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007A0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007A0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007A0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007A0[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007A0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007A0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007A0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007A0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007A4[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007A4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007A4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007A4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007A4[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007A4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007A4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007A4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007A4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007A8[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007A8[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007A8[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007A8[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007A8[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007A8[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007A8[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007A8[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007A8[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007AC[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007AC[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007AC[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007AC[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007AC[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007AC[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007AC[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007AC[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007AC[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007B0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007B0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007B0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007B0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007B0[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007B0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007B0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007B0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007B0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007B4[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007B4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007B4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007B4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007B4[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007B4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007B4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007B4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007B4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007B8[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007B8[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007B8[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007B8[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007B8[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007B8[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007B8[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007B8[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007B8[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007BC[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007BC[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007BC[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007BC[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007BC[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007BC[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007BC[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007BC[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007BC[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007BC, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007C0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007C0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007C0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007C0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 7
- // .. ==> 0XF80007C0[7:5] = 0x00000007U
- // .. ==> MASK : 0x000000E0U VAL : 0x000000E0U
- // .. Speed = 0
- // .. ==> 0XF80007C0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007C0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007C0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007C0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU ,0x000002E0U),
- // .. TRI_ENABLE = 1
- // .. ==> 0XF80007C4[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // .. L0_SEL = 0
- // .. ==> 0XF80007C4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007C4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007C4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 7
- // .. ==> 0XF80007C4[7:5] = 0x00000007U
- // .. ==> MASK : 0x000000E0U VAL : 0x000000E0U
- // .. Speed = 0
- // .. ==> 0XF80007C4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007C4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007C4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007C4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU ,0x000002E1U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007C8[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007C8[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007C8[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007C8[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007C8[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007C8[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007C8[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007C8[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007C8[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007CC[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007CC[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007CC[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007CC[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 0
- // .. ==> 0XF80007CC[7:5] = 0x00000000U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000000U
- // .. Speed = 0
- // .. ==> 0XF80007CC[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007CC[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007CC[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007CC[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU ,0x00000200U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007D0[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007D0[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007D0[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007D0[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF80007D0[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF80007D0[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007D0[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007D0[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007D0[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU ,0x00000280U),
- // .. TRI_ENABLE = 0
- // .. ==> 0XF80007D4[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // .. L0_SEL = 0
- // .. ==> 0XF80007D4[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. L1_SEL = 0
- // .. ==> 0XF80007D4[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. L2_SEL = 0
- // .. ==> 0XF80007D4[4:3] = 0x00000000U
- // .. ==> MASK : 0x00000018U VAL : 0x00000000U
- // .. L3_SEL = 4
- // .. ==> 0XF80007D4[7:5] = 0x00000004U
- // .. ==> MASK : 0x000000E0U VAL : 0x00000080U
- // .. Speed = 0
- // .. ==> 0XF80007D4[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. IO_Type = 1
- // .. ==> 0XF80007D4[11:9] = 0x00000001U
- // .. ==> MASK : 0x00000E00U VAL : 0x00000200U
- // .. PULLUP = 0
- // .. ==> 0XF80007D4[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. DisableRcvr = 0
- // .. ==> 0XF80007D4[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU ,0x00000280U),
- // .. SDIO1_CD_SEL = 58
- // .. ==> 0XF8000834[21:16] = 0x0000003AU
- // .. ==> MASK : 0x003F0000U VAL : 0x003A0000U
- // ..
- EMIT_MASKWRITE(0XF8000834, 0x003F0000U ,0x003A0000U),
- // .. FINISH: MIO PROGRAMMING
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_peripherals_init_data_1_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: DDR TERM/IBUF_DISABLE_MODE SETTINGS
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B48[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B48[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B48, 0x00000180U ,0x00000180U),
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B4C[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B4C[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B4C, 0x00000180U ,0x00000180U),
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B50[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B50[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B50, 0x00000180U ,0x00000180U),
- // .. IBUF_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B54[7:7] = 0x00000001U
- // .. ==> MASK : 0x00000080U VAL : 0x00000080U
- // .. TERM_DISABLE_MODE = 0x1
- // .. ==> 0XF8000B54[8:8] = 0x00000001U
- // .. ==> MASK : 0x00000100U VAL : 0x00000100U
- // ..
- EMIT_MASKWRITE(0XF8000B54, 0x00000180U ,0x00000180U),
- // .. FINISH: DDR TERM/IBUF_DISABLE_MODE SETTINGS
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // .. START: SRAM/NOR SET OPMODE
- // .. FINISH: SRAM/NOR SET OPMODE
- // .. START: UART REGISTERS
- // .. BDIV = 0x6
- // .. ==> 0XE0001034[7:0] = 0x00000006U
- // .. ==> MASK : 0x000000FFU VAL : 0x00000006U
- // ..
- EMIT_MASKWRITE(0XE0001034, 0x000000FFU ,0x00000006U),
- // .. CD = 0x3e
- // .. ==> 0XE0001018[15:0] = 0x0000003EU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000003EU
- // ..
- EMIT_MASKWRITE(0XE0001018, 0x0000FFFFU ,0x0000003EU),
- // .. STPBRK = 0x0
- // .. ==> 0XE0001000[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. STTBRK = 0x0
- // .. ==> 0XE0001000[7:7] = 0x00000000U
- // .. ==> MASK : 0x00000080U VAL : 0x00000000U
- // .. RSTTO = 0x0
- // .. ==> 0XE0001000[6:6] = 0x00000000U
- // .. ==> MASK : 0x00000040U VAL : 0x00000000U
- // .. TXDIS = 0x0
- // .. ==> 0XE0001000[5:5] = 0x00000000U
- // .. ==> MASK : 0x00000020U VAL : 0x00000000U
- // .. TXEN = 0x1
- // .. ==> 0XE0001000[4:4] = 0x00000001U
- // .. ==> MASK : 0x00000010U VAL : 0x00000010U
- // .. RXDIS = 0x0
- // .. ==> 0XE0001000[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. RXEN = 0x1
- // .. ==> 0XE0001000[2:2] = 0x00000001U
- // .. ==> MASK : 0x00000004U VAL : 0x00000004U
- // .. TXRES = 0x1
- // .. ==> 0XE0001000[1:1] = 0x00000001U
- // .. ==> MASK : 0x00000002U VAL : 0x00000002U
- // .. RXRES = 0x1
- // .. ==> 0XE0001000[0:0] = 0x00000001U
- // .. ==> MASK : 0x00000001U VAL : 0x00000001U
- // ..
- EMIT_MASKWRITE(0XE0001000, 0x000001FFU ,0x00000017U),
- // .. IRMODE = 0x0
- // .. ==> 0XE0001004[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. UCLKEN = 0x0
- // .. ==> 0XE0001004[10:10] = 0x00000000U
- // .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. CHMODE = 0x0
- // .. ==> 0XE0001004[9:8] = 0x00000000U
- // .. ==> MASK : 0x00000300U VAL : 0x00000000U
- // .. NBSTOP = 0x0
- // .. ==> 0XE0001004[7:6] = 0x00000000U
- // .. ==> MASK : 0x000000C0U VAL : 0x00000000U
- // .. PAR = 0x4
- // .. ==> 0XE0001004[5:3] = 0x00000004U
- // .. ==> MASK : 0x00000038U VAL : 0x00000020U
- // .. CHRL = 0x0
- // .. ==> 0XE0001004[2:1] = 0x00000000U
- // .. ==> MASK : 0x00000006U VAL : 0x00000000U
- // .. CLKS = 0x0
- // .. ==> 0XE0001004[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XE0001004, 0x00000FFFU ,0x00000020U),
- // .. FINISH: UART REGISTERS
- // .. START: TPIU WIDTH IN CASE OF EMIO
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0XC5ACCE55
- // .. .. ==> 0XF8803FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. .. START: TRACE CURRENT PORT SIZE
- // .. .. a = 2
- // .. .. ==> 0XF8803004[31:0] = 0x00000002U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000002U
- // .. ..
- EMIT_MASKWRITE(0XF8803004, 0xFFFFFFFFU ,0x00000002U),
- // .. .. FINISH: TRACE CURRENT PORT SIZE
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0X0
- // .. .. ==> 0XF8803FB0[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0x00000000U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. FINISH: TPIU WIDTH IN CASE OF EMIO
- // .. START: QSPI REGISTERS
- // .. Holdb_dr = 1
- // .. ==> 0XE000D000[19:19] = 0x00000001U
- // .. ==> MASK : 0x00080000U VAL : 0x00080000U
- // ..
- EMIT_MASKWRITE(0XE000D000, 0x00080000U ,0x00080000U),
- // .. FINISH: QSPI REGISTERS
- // .. START: PL POWER ON RESET REGISTERS
- // .. PCFG_POR_CNT_4K = 0
- // .. ==> 0XF8007000[29:29] = 0x00000000U
- // .. ==> MASK : 0x20000000U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8007000, 0x20000000U ,0x00000000U),
- // .. FINISH: PL POWER ON RESET REGISTERS
- // .. START: SMC TIMING CALCULATION REGISTER UPDATE
- // .. .. START: NAND SET CYCLE
- // .. .. FINISH: NAND SET CYCLE
- // .. .. START: OPMODE
- // .. .. FINISH: OPMODE
- // .. .. START: DIRECT COMMAND
- // .. .. FINISH: DIRECT COMMAND
- // .. .. START: SRAM/NOR CS0 SET CYCLE
- // .. .. FINISH: SRAM/NOR CS0 SET CYCLE
- // .. .. START: DIRECT COMMAND
- // .. .. FINISH: DIRECT COMMAND
- // .. .. START: NOR CS0 BASE ADDRESS
- // .. .. FINISH: NOR CS0 BASE ADDRESS
- // .. .. START: SRAM/NOR CS1 SET CYCLE
- // .. .. FINISH: SRAM/NOR CS1 SET CYCLE
- // .. .. START: DIRECT COMMAND
- // .. .. FINISH: DIRECT COMMAND
- // .. .. START: NOR CS1 BASE ADDRESS
- // .. .. FINISH: NOR CS1 BASE ADDRESS
- // .. .. START: USB RESET
- // .. .. .. START: USB0 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. DIRECTION_0 = 0x80
- // .. .. .. .. ==> 0XE000A204[31:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A204, 0xFFFFFFFFU ,0x00000080U),
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. MASK_0_LSW = 0xff7f
- // .. .. .. .. ==> 0XE000A000[31:16] = 0x0000FF7FU
- // .. .. .. .. ==> MASK : 0xFFFF0000U VAL : 0xFF7F0000U
- // .. .. .. .. DATA_0_LSW = 0x80
- // .. .. .. .. ==> 0XE000A000[15:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFF7F0080U),
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. OP_ENABLE_0 = 0x80
- // .. .. .. .. ==> 0XE000A208[31:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A208, 0xFFFFFFFFU ,0x00000080U),
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. MASK_0_LSW = 0xff7f
- // .. .. .. .. ==> 0XE000A000[31:16] = 0x0000FF7FU
- // .. .. .. .. ==> MASK : 0xFFFF0000U VAL : 0xFF7F0000U
- // .. .. .. .. DATA_0_LSW = 0x0
- // .. .. .. .. ==> 0XE000A000[15:0] = 0x00000000U
- // .. .. .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000000U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFF7F0000U),
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. MASK_0_LSW = 0xff7f
- // .. .. .. .. ==> 0XE000A000[31:16] = 0x0000FF7FU
- // .. .. .. .. ==> MASK : 0xFFFF0000U VAL : 0xFF7F0000U
- // .. .. .. .. DATA_0_LSW = 0x80
- // .. .. .. .. ==> 0XE000A000[15:0] = 0x00000080U
- // .. .. .. .. ==> MASK : 0x0000FFFFU VAL : 0x00000080U
- // .. .. .. ..
- EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFF7F0080U),
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: USB0 RESET
- // .. .. .. START: USB1 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: USB1 RESET
- // .. .. FINISH: USB RESET
- // .. .. START: ENET RESET
- // .. .. .. START: ENET0 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: ENET0 RESET
- // .. .. .. START: ENET1 RESET
- // .. .. .. .. START: DIR MODE BANK 0
- // .. .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. .. START: DIR MODE BANK 1
- // .. .. .. .. FINISH: DIR MODE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. .. .. START: OUTPUT ENABLE BANK 1
- // .. .. .. .. FINISH: OUTPUT ENABLE BANK 1
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: ENET1 RESET
- // .. .. FINISH: ENET RESET
- // .. .. START: I2C RESET
- // .. .. .. START: I2C0 RESET
- // .. .. .. .. START: DIR MODE GPIO BANK0
- // .. .. .. .. FINISH: DIR MODE GPIO BANK0
- // .. .. .. .. START: DIR MODE GPIO BANK1
- // .. .. .. .. FINISH: DIR MODE GPIO BANK1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: I2C0 RESET
- // .. .. .. START: I2C1 RESET
- // .. .. .. .. START: DIR MODE GPIO BANK0
- // .. .. .. .. FINISH: DIR MODE GPIO BANK0
- // .. .. .. .. START: DIR MODE GPIO BANK1
- // .. .. .. .. FINISH: DIR MODE GPIO BANK1
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: OUTPUT ENABLE
- // .. .. .. .. FINISH: OUTPUT ENABLE
- // .. .. .. .. START: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW LOW BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW LOW BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW LOW BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW LOW BANK [53:48]
- // .. .. .. .. START: ADD 1 MS DELAY
- // .. .. .. ..
- EMIT_MASKDELAY(0XF8F00200, 1),
- // .. .. .. .. FINISH: ADD 1 MS DELAY
- // .. .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. .. START: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. FINISH: MASK_DATA_0_MSW HIGH BANK [31:16]
- // .. .. .. .. START: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. FINISH: MASK_DATA_1_LSW HIGH BANK [47:32]
- // .. .. .. .. START: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. .. FINISH: MASK_DATA_1_MSW HIGH BANK [53:48]
- // .. .. .. FINISH: I2C1 RESET
- // .. .. FINISH: I2C RESET
- // .. .. START: NOR CHIP SELECT
- // .. .. .. START: DIR MODE BANK 0
- // .. .. .. FINISH: DIR MODE BANK 0
- // .. .. .. START: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. FINISH: MASK_DATA_0_LSW HIGH BANK [15:0]
- // .. .. .. START: OUTPUT ENABLE BANK 0
- // .. .. .. FINISH: OUTPUT ENABLE BANK 0
- // .. .. FINISH: NOR CHIP SELECT
- // .. FINISH: SMC TIMING CALCULATION REGISTER UPDATE
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_post_config_1_0[] = {
- // START: top
- // .. START: SLCR SETTINGS
- // .. UNLOCK_KEY = 0XDF0D
- // .. ==> 0XF8000008[15:0] = 0x0000DF0DU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
- // ..
- EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
- // .. FINISH: SLCR SETTINGS
- // .. START: ENABLING LEVEL SHIFTER
- // .. USER_INP_ICT_EN_0 = 3
- // .. ==> 0XF8000900[1:0] = 0x00000003U
- // .. ==> MASK : 0x00000003U VAL : 0x00000003U
- // .. USER_INP_ICT_EN_1 = 3
- // .. ==> 0XF8000900[3:2] = 0x00000003U
- // .. ==> MASK : 0x0000000CU VAL : 0x0000000CU
- // ..
- EMIT_MASKWRITE(0XF8000900, 0x0000000FU ,0x0000000FU),
- // .. FINISH: ENABLING LEVEL SHIFTER
- // .. START: TPIU WIDTH IN CASE OF EMIO
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0XC5ACCE55
- // .. .. ==> 0XF8803FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. .. START: TRACE CURRENT PORT SIZE
- // .. .. a = 2
- // .. .. ==> 0XF8803004[31:0] = 0x00000002U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000002U
- // .. ..
- EMIT_MASKWRITE(0XF8803004, 0xFFFFFFFFU ,0x00000002U),
- // .. .. FINISH: TRACE CURRENT PORT SIZE
- // .. .. START: TRACE LOCK ACCESS REGISTER
- // .. .. a = 0X0
- // .. .. ==> 0XF8803FB0[31:0] = 0x00000000U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0x00000000U
- // .. ..
- EMIT_MASKWRITE(0XF8803FB0, 0xFFFFFFFFU ,0x00000000U),
- // .. .. FINISH: TRACE LOCK ACCESS REGISTER
- // .. FINISH: TPIU WIDTH IN CASE OF EMIO
- // .. START: FPGA RESETS TO 0
- // .. reserved_3 = 0
- // .. ==> 0XF8000240[31:25] = 0x00000000U
- // .. ==> MASK : 0xFE000000U VAL : 0x00000000U
- // .. FPGA_ACP_RST = 0
- // .. ==> 0XF8000240[24:24] = 0x00000000U
- // .. ==> MASK : 0x01000000U VAL : 0x00000000U
- // .. FPGA_AXDS3_RST = 0
- // .. ==> 0XF8000240[23:23] = 0x00000000U
- // .. ==> MASK : 0x00800000U VAL : 0x00000000U
- // .. FPGA_AXDS2_RST = 0
- // .. ==> 0XF8000240[22:22] = 0x00000000U
- // .. ==> MASK : 0x00400000U VAL : 0x00000000U
- // .. FPGA_AXDS1_RST = 0
- // .. ==> 0XF8000240[21:21] = 0x00000000U
- // .. ==> MASK : 0x00200000U VAL : 0x00000000U
- // .. FPGA_AXDS0_RST = 0
- // .. ==> 0XF8000240[20:20] = 0x00000000U
- // .. ==> MASK : 0x00100000U VAL : 0x00000000U
- // .. reserved_2 = 0
- // .. ==> 0XF8000240[19:18] = 0x00000000U
- // .. ==> MASK : 0x000C0000U VAL : 0x00000000U
- // .. FSSW1_FPGA_RST = 0
- // .. ==> 0XF8000240[17:17] = 0x00000000U
- // .. ==> MASK : 0x00020000U VAL : 0x00000000U
- // .. FSSW0_FPGA_RST = 0
- // .. ==> 0XF8000240[16:16] = 0x00000000U
- // .. ==> MASK : 0x00010000U VAL : 0x00000000U
- // .. reserved_1 = 0
- // .. ==> 0XF8000240[15:14] = 0x00000000U
- // .. ==> MASK : 0x0000C000U VAL : 0x00000000U
- // .. FPGA_FMSW1_RST = 0
- // .. ==> 0XF8000240[13:13] = 0x00000000U
- // .. ==> MASK : 0x00002000U VAL : 0x00000000U
- // .. FPGA_FMSW0_RST = 0
- // .. ==> 0XF8000240[12:12] = 0x00000000U
- // .. ==> MASK : 0x00001000U VAL : 0x00000000U
- // .. FPGA_DMA3_RST = 0
- // .. ==> 0XF8000240[11:11] = 0x00000000U
- // .. ==> MASK : 0x00000800U VAL : 0x00000000U
- // .. FPGA_DMA2_RST = 0
- // .. ==> 0XF8000240[10:10] = 0x00000000U
- // .. ==> MASK : 0x00000400U VAL : 0x00000000U
- // .. FPGA_DMA1_RST = 0
- // .. ==> 0XF8000240[9:9] = 0x00000000U
- // .. ==> MASK : 0x00000200U VAL : 0x00000000U
- // .. FPGA_DMA0_RST = 0
- // .. ==> 0XF8000240[8:8] = 0x00000000U
- // .. ==> MASK : 0x00000100U VAL : 0x00000000U
- // .. reserved = 0
- // .. ==> 0XF8000240[7:4] = 0x00000000U
- // .. ==> MASK : 0x000000F0U VAL : 0x00000000U
- // .. FPGA3_OUT_RST = 0
- // .. ==> 0XF8000240[3:3] = 0x00000000U
- // .. ==> MASK : 0x00000008U VAL : 0x00000000U
- // .. FPGA2_OUT_RST = 0
- // .. ==> 0XF8000240[2:2] = 0x00000000U
- // .. ==> MASK : 0x00000004U VAL : 0x00000000U
- // .. FPGA1_OUT_RST = 0
- // .. ==> 0XF8000240[1:1] = 0x00000000U
- // .. ==> MASK : 0x00000002U VAL : 0x00000000U
- // .. FPGA0_OUT_RST = 0
- // .. ==> 0XF8000240[0:0] = 0x00000000U
- // .. ==> MASK : 0x00000001U VAL : 0x00000000U
- // ..
- EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU ,0x00000000U),
- // .. FINISH: FPGA RESETS TO 0
- // .. START: AFI REGISTERS
- // .. .. START: AFI0 REGISTERS
- // .. .. FINISH: AFI0 REGISTERS
- // .. .. START: AFI1 REGISTERS
- // .. .. FINISH: AFI1 REGISTERS
- // .. .. START: AFI2 REGISTERS
- // .. .. FINISH: AFI2 REGISTERS
- // .. .. START: AFI3 REGISTERS
- // .. .. FINISH: AFI3 REGISTERS
- // .. FINISH: AFI REGISTERS
- // .. START: LOCK IT BACK
- // .. LOCK_KEY = 0X767B
- // .. ==> 0XF8000004[15:0] = 0x0000767BU
- // .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
- // ..
- EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
- // .. FINISH: LOCK IT BACK
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-unsigned long ps7_debug_1_0[] = {
- // START: top
- // .. START: CROSS TRIGGER CONFIGURATIONS
- // .. .. START: UNLOCKING CTI REGISTERS
- // .. .. KEY = 0XC5ACCE55
- // .. .. ==> 0XF8898FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8898FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. KEY = 0XC5ACCE55
- // .. .. ==> 0XF8899FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8899FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. KEY = 0XC5ACCE55
- // .. .. ==> 0XF8809FB0[31:0] = 0xC5ACCE55U
- // .. .. ==> MASK : 0xFFFFFFFFU VAL : 0xC5ACCE55U
- // .. ..
- EMIT_MASKWRITE(0XF8809FB0, 0xFFFFFFFFU ,0xC5ACCE55U),
- // .. .. FINISH: UNLOCKING CTI REGISTERS
- // .. .. START: ENABLING CTI MODULES AND CHANNELS
- // .. .. FINISH: ENABLING CTI MODULES AND CHANNELS
- // .. .. START: MAPPING CPU0, CPU1 AND FTM EVENTS TO CTM CHANNELS
- // .. .. FINISH: MAPPING CPU0, CPU1 AND FTM EVENTS TO CTM CHANNELS
- // .. FINISH: CROSS TRIGGER CONFIGURATIONS
- // FINISH: top
- //
- EMIT_EXIT(),
-
- //
-};
-
-
-#include "xil_io.h"
-#define PS7_MASK_POLL_TIME 100000000
-
-char*
-getPS7MessageInfo(unsigned key) {
-
- char* err_msg = "";
- switch (key) {
- case PS7_INIT_SUCCESS: err_msg = "PS7 initialization successful"; break;
- case PS7_INIT_CORRUPT: err_msg = "PS7 init Data Corrupted"; break;
- case PS7_INIT_TIMEOUT: err_msg = "PS7 init mask poll timeout"; break;
- case PS7_POLL_FAILED_DDR_INIT: err_msg = "Mask Poll failed for DDR Init"; break;
- case PS7_POLL_FAILED_DMA: err_msg = "Mask Poll failed for PLL Init"; break;
- case PS7_POLL_FAILED_PLL: err_msg = "Mask Poll failed for DMA done bit"; break;
- default: err_msg = "Undefined error status"; break;
- }
-
- return err_msg;
-}
-
-unsigned long
-ps7GetSiliconVersion () {
- // Read PS version from MCTRL register [31:28]
- unsigned long mask = 0xF0000000;
- unsigned long *addr = (unsigned long*) 0XF8007080;
- unsigned long ps_version = (*addr & mask) >> 28;
- return ps_version;
-}
-
-void mask_write (unsigned long add , unsigned long mask, unsigned long val ) {
- unsigned long *addr = (unsigned long*) add;
- *addr = ( val & mask ) | ( *addr & ~mask);
- //xil_printf("MaskWrite : 0x%x--> 0x%x \n \r" ,add, *addr);
-}
-
-
-int mask_poll(unsigned long add , unsigned long mask ) {
- volatile unsigned long *addr = (volatile unsigned long*) add;
- int i = 0;
- while (!(*addr & mask)) {
- if (i == PS7_MASK_POLL_TIME) {
- return -1;
- }
- i++;
- }
- return 1;
- //xil_printf("MaskPoll : 0x%x --> 0x%x \n \r" , add, *addr);
-}
-
-unsigned long mask_read(unsigned long add , unsigned long mask ) {
- unsigned long *addr = (unsigned long*) add;
- unsigned long val = (*addr & mask);
- //xil_printf("MaskRead : 0x%x --> 0x%x \n \r" , add, val);
- return val;
-}
-
-
-
-int
-ps7_config(unsigned long * ps7_config_init)
-{
- unsigned long *ptr = ps7_config_init;
-
- unsigned long opcode; // current instruction ..
- unsigned long args[16]; // no opcode has so many args ...
- int numargs; // number of arguments of this instruction
- int j; // general purpose index
-
- volatile unsigned long *addr; // some variable to make code readable
- unsigned long val,mask; // some variable to make code readable
-
- int finish = -1 ; // loop while this is negative !
- int i = 0; // Timeout variable
-
- while( finish < 0 ) {
- numargs = ptr[0] & 0xF;
- opcode = ptr[0] >> 4;
-
- for( j = 0 ; j < numargs ; j ++ )
- args[j] = ptr[j+1];
- ptr += numargs + 1;
-
-
- switch ( opcode ) {
-
- case OPCODE_EXIT:
- finish = PS7_INIT_SUCCESS;
- break;
-
- case OPCODE_CLEAR:
- addr = (unsigned long*) args[0];
- *addr = 0;
- break;
-
- case OPCODE_WRITE:
- addr = (unsigned long*) args[0];
- val = args[1];
- *addr = val;
- break;
-
- case OPCODE_MASKWRITE:
- addr = (unsigned long*) args[0];
- mask = args[1];
- val = args[2];
- *addr = ( val & mask ) | ( *addr & ~mask);
- break;
-
- case OPCODE_MASKPOLL:
- addr = (unsigned long*) args[0];
- mask = args[1];
- i = 0;
- while (!(*addr & mask)) {
- if (i == PS7_MASK_POLL_TIME) {
- finish = PS7_INIT_TIMEOUT;
- break;
- }
- i++;
- }
- break;
- case OPCODE_MASKDELAY:
- addr = (unsigned long*) args[0];
- mask = args[1];
- int delay = get_number_of_cycles_for_delay(mask);
- perf_reset_and_start_timer();
- while ((*addr < delay)) {
- }
- break;
- default:
- finish = PS7_INIT_CORRUPT;
- break;
- }
- }
- return finish;
-}
-
-unsigned long *ps7_mio_init_data = ps7_mio_init_data_3_0;
-unsigned long *ps7_pll_init_data = ps7_pll_init_data_3_0;
-unsigned long *ps7_clock_init_data = ps7_clock_init_data_3_0;
-unsigned long *ps7_ddr_init_data = ps7_ddr_init_data_3_0;
-unsigned long *ps7_peripherals_init_data = ps7_peripherals_init_data_3_0;
-
-int
-ps7_post_config()
-{
- // Get the PS_VERSION on run time
- unsigned long si_ver = ps7GetSiliconVersion ();
- int ret = -1;
- if (si_ver == PCW_SILICON_VERSION_1) {
- ret = ps7_config (ps7_post_config_1_0);
- if (ret != PS7_INIT_SUCCESS) return ret;
- } else if (si_ver == PCW_SILICON_VERSION_2) {
- ret = ps7_config (ps7_post_config_2_0);
- if (ret != PS7_INIT_SUCCESS) return ret;
- } else {
- ret = ps7_config (ps7_post_config_3_0);
- if (ret != PS7_INIT_SUCCESS) return ret;
- }
- return PS7_INIT_SUCCESS;
-}
-
-int
-ps7_debug()
-{
- // Get the PS_VERSION on run time
- unsigned long si_ver = ps7GetSiliconVersion ();
- int ret = -1;
- if (si_ver == PCW_SILICON_VERSION_1) {
- ret = ps7_config (ps7_debug_1_0);
- if (ret != PS7_INIT_SUCCESS) return ret;
- } else if (si_ver == PCW_SILICON_VERSION_2) {
- ret = ps7_config (ps7_debug_2_0);
- if (ret != PS7_INIT_SUCCESS) return ret;
- } else {
- ret = ps7_config (ps7_debug_3_0);
- if (ret != PS7_INIT_SUCCESS) return ret;
- }
- return PS7_INIT_SUCCESS;
-}
-
-int
-ps7_init()
-{
- // Get the PS_VERSION on run time
- unsigned long si_ver = ps7GetSiliconVersion ();
- int ret;
- //int pcw_ver = 0;
-
- if (si_ver == PCW_SILICON_VERSION_1) {
- ps7_mio_init_data = ps7_mio_init_data_1_0;
- ps7_pll_init_data = ps7_pll_init_data_1_0;
- ps7_clock_init_data = ps7_clock_init_data_1_0;
- ps7_ddr_init_data = ps7_ddr_init_data_1_0;
- ps7_peripherals_init_data = ps7_peripherals_init_data_1_0;
- //pcw_ver = 1;
-
- } else if (si_ver == PCW_SILICON_VERSION_2) {
- ps7_mio_init_data = ps7_mio_init_data_2_0;
- ps7_pll_init_data = ps7_pll_init_data_2_0;
- ps7_clock_init_data = ps7_clock_init_data_2_0;
- ps7_ddr_init_data = ps7_ddr_init_data_2_0;
- ps7_peripherals_init_data = ps7_peripherals_init_data_2_0;
- //pcw_ver = 2;
-
- } else {
- ps7_mio_init_data = ps7_mio_init_data_3_0;
- ps7_pll_init_data = ps7_pll_init_data_3_0;
- ps7_clock_init_data = ps7_clock_init_data_3_0;
- ps7_ddr_init_data = ps7_ddr_init_data_3_0;
- ps7_peripherals_init_data = ps7_peripherals_init_data_3_0;
- //pcw_ver = 3;
- }
-
- // MIO init
- ret = ps7_config (ps7_mio_init_data);
- if (ret != PS7_INIT_SUCCESS) return ret;
-
- // PLL init
- ret = ps7_config (ps7_pll_init_data);
- if (ret != PS7_INIT_SUCCESS) return ret;
-
- // Clock init
- ret = ps7_config (ps7_clock_init_data);
- if (ret != PS7_INIT_SUCCESS) return ret;
-
- // DDR init
- ret = ps7_config (ps7_ddr_init_data);
- if (ret != PS7_INIT_SUCCESS) return ret;
-
-
-
- // Peripherals init
- ret = ps7_config (ps7_peripherals_init_data);
- if (ret != PS7_INIT_SUCCESS) return ret;
- //xil_printf ("\n PCW Silicon Version : %d.0", pcw_ver);
- return PS7_INIT_SUCCESS;
-}
-
-
-
-
-/* For delay calculation using global timer */
-
-/* start timer */
- void perf_start_clock(void)
-{
- *(volatile unsigned int*)SCU_GLOBAL_TIMER_CONTROL = ((1 << 0) | // Timer Enable
- (1 << 3) | // Auto-increment
- (0 << 8) // Pre-scale
- );
-}
-
-/* stop timer and reset timer count regs */
- void perf_reset_clock(void)
-{
- perf_disable_clock();
- *(volatile unsigned int*)SCU_GLOBAL_TIMER_COUNT_L32 = 0;
- *(volatile unsigned int*)SCU_GLOBAL_TIMER_COUNT_U32 = 0;
-}
-
-/* Compute mask for given delay in miliseconds*/
-int get_number_of_cycles_for_delay(unsigned int delay)
-{
- // GTC is always clocked at 1/2 of the CPU frequency (CPU_3x2x)
- return (APU_FREQ*delay/(2*1000));
-
-}
-
-/* stop timer */
- void perf_disable_clock(void)
-{
- *(volatile unsigned int*)SCU_GLOBAL_TIMER_CONTROL = 0;
-}
-
-void perf_reset_and_start_timer()
-{
- perf_reset_clock();
- perf_start_clock();
-}
-
-
-
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init/picozed-zynq7/ps7_init_gpl.h b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init/picozed-zynq7/ps7_init_gpl.h
deleted file mode 100644
index df5205e81..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/platform-init/platform-init/picozed-zynq7/ps7_init_gpl.h
+++ /dev/null
@@ -1,130 +0,0 @@
-
-/******************************************************************************
-*
-* (c) Copyright 2010-2014 Xilinx, Inc. All rights reserved.
-*
-* This program is free software; you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License along
-* with this program; if not, see <http://www.gnu.org/licenses/>
-*
-*
-*******************************************************************************/
-/****************************************************************************/
-/**
-*
-* @file ps7_init.h
-*
-* This file can be included in FSBL code
-* to get prototype of ps7_init() function
-* and error codes
-*
-*****************************************************************************/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-//typedef unsigned int u32;
-
-
-/** do we need to make this name more unique ? **/
-//extern u32 ps7_init_data[];
-extern unsigned long * ps7_ddr_init_data;
-extern unsigned long * ps7_mio_init_data;
-extern unsigned long * ps7_pll_init_data;
-extern unsigned long * ps7_clock_init_data;
-extern unsigned long * ps7_peripherals_init_data;
-
-
-
-#define OPCODE_EXIT 0U
-#define OPCODE_CLEAR 1U
-#define OPCODE_WRITE 2U
-#define OPCODE_MASKWRITE 3U
-#define OPCODE_MASKPOLL 4U
-#define OPCODE_MASKDELAY 5U
-#define NEW_PS7_ERR_CODE 1
-
-/* Encode number of arguments in last nibble */
-#define EMIT_EXIT() ( (OPCODE_EXIT << 4 ) | 0 )
-#define EMIT_CLEAR(addr) ( (OPCODE_CLEAR << 4 ) | 1 ) , addr
-#define EMIT_WRITE(addr,val) ( (OPCODE_WRITE << 4 ) | 2 ) , addr, val
-#define EMIT_MASKWRITE(addr,mask,val) ( (OPCODE_MASKWRITE << 4 ) | 3 ) , addr, mask, val
-#define EMIT_MASKPOLL(addr,mask) ( (OPCODE_MASKPOLL << 4 ) | 2 ) , addr, mask
-#define EMIT_MASKDELAY(addr,mask) ( (OPCODE_MASKDELAY << 4 ) | 2 ) , addr, mask
-
-/* Returns codes of PS7_Init */
-#define PS7_INIT_SUCCESS (0) // 0 is success in good old C
-#define PS7_INIT_CORRUPT (1) // 1 the data is corrupted, and slcr reg are in corrupted state now
-#define PS7_INIT_TIMEOUT (2) // 2 when a poll operation timed out
-#define PS7_POLL_FAILED_DDR_INIT (3) // 3 when a poll operation timed out for ddr init
-#define PS7_POLL_FAILED_DMA (4) // 4 when a poll operation timed out for dma done bit
-#define PS7_POLL_FAILED_PLL (5) // 5 when a poll operation timed out for pll sequence init
-
-
-/* Silicon Versions */
-#define PCW_SILICON_VERSION_1 0
-#define PCW_SILICON_VERSION_2 1
-#define PCW_SILICON_VERSION_3 2
-
-/* This flag to be used by FSBL to check whether ps7_post_config() proc exixts */
-#define PS7_POST_CONFIG
-
-/* Freq of all peripherals */
-
-#define APU_FREQ 666666687
-#define DDR_FREQ 533333374
-#define DCI_FREQ 10158731
-#define QSPI_FREQ 200000000
-#define SMC_FREQ 10000000
-#define ENET0_FREQ 125000000
-#define ENET1_FREQ 10000000
-#define USB0_FREQ 60000000
-#define USB1_FREQ 60000000
-#define SDIO_FREQ 50000000
-#define UART_FREQ 50000000
-#define SPI_FREQ 10000000
-#define I2C_FREQ 111111115
-#define WDT_FREQ 111111115
-#define TTC_FREQ 50000000
-#define CAN_FREQ 10000000
-#define PCAP_FREQ 200000000
-#define TPIU_FREQ 200000000
-#define FPGA0_FREQ 100000000
-#define FPGA1_FREQ 100000000
-#define FPGA2_FREQ 33333336
-#define FPGA3_FREQ 50000000
-
-
-/* For delay calculation using global registers*/
-#define SCU_GLOBAL_TIMER_COUNT_L32 0xF8F00200
-#define SCU_GLOBAL_TIMER_COUNT_U32 0xF8F00204
-#define SCU_GLOBAL_TIMER_CONTROL 0xF8F00208
-#define SCU_GLOBAL_TIMER_AUTO_INC 0xF8F00218
-
-int ps7_config( unsigned long*);
-int ps7_init();
-int ps7_post_config();
-int ps7_debug();
-char* getPS7MessageInfo(unsigned key);
-
-void perf_start_clock(void);
-void perf_disable_clock(void);
-void perf_reset_clock(void);
-void perf_reset_and_start_timer();
-int get_number_of_cycles_for_delay(unsigned int delay);
-#ifdef __cplusplus
-}
-#endif
-
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/pmu-firmware/pmu-rom_2018.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/pmu-firmware/pmu-rom_2018.1.bb
deleted file mode 100644
index 195c63090..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/pmu-firmware/pmu-rom_2018.1.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "PMU ROM for QEMU"
-DESCRIPTION = "The ZynqMP PMU ROM for QEMU emulation"
-HOMEPAGE = "http://www.xilinx.com"
-SECTION = "bsp"
-
-# The BSP package does not include any license information.
-LICENSE = "Proprietary"
-LICENSE_FLAGS = "xilinx"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
-
-COMPATIBLE_MACHINE = "zcu102-zynqmp"
-
-inherit deploy
-inherit xilinx-fetch-restricted
-
-BSP_NAME = "xilinx-zcu102"
-BSP_FILE = "${BSP_NAME}-v${PV}-final.bsp"
-SRC_URI = "https://www.xilinx.com/member/forms/download/xef.html?filename=${BSP_FILE};downloadfilename=${BSP_FILE}"
-SRC_URI[md5sum] = "cea5f11761e7f38cbfcf0a07a19094e0"
-SRC_URI[sha256sum] = "7ac0ac3a5fb7dd162c0a922c66edb33b5737955ef6570a1a1d3b15b4344f7cc1"
-
-INHIBIT_DEFAULT_DEPS = "1"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-do_compile() {
- # Extract the rom into workdir
- tar -xf ${WORKDIR}/${BSP_FILE} ${BSP_NAME}-${PV}/pre-built/linux/images/pmu_rom_qemu_sha3.elf -C ${S}
- # tar preserves the tree, so use find to get the full path and move to to the root
- for i in $(find ${S} -type f -name *.elf); do mv $i ${S}/pmu-rom.elf; done
-}
-
-do_install() {
- :
-}
-
-do_deploy () {
- install -D ${S}/pmu-rom.elf ${DEPLOYDIR}/pmu-rom.elf
-}
-
-addtask deploy before do_build after do_install
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2020.2.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2020.2.bb
deleted file mode 100644
index 6a2ca7cc4..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2020.2.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "KC705 Pre-built Bitstream"
-DESCRIPTION = "A Pre-built bitstream for the KC705, which is capable of booting a Linux system."
-HOMEPAGE = "http://www.xilinx.com"
-SECTION = "bsp"
-
-# The BSP package does not include any license information.
-LICENSE = "Proprietary"
-LICENSE_FLAGS = "xilinx"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
-
-COMPATIBLE_MACHINE = "kc705-microblazeel"
-
-inherit deploy
-inherit xilinx-fetch-restricted
-
-BSP_NAME = "xilinx-kc705"
-BSP_FILE = "${BSP_NAME}-v${PV}-final.bsp"
-SRC_URI = "https://www.xilinx.com/member/forms/download/xef.html?filename=${BSP_FILE};downloadfilename=${BSP_FILE}"
-SRC_URI[md5sum] = "5c0365a8a26cc27b4419aa1d7dd82351"
-SRC_URI[sha256sum] = "a909a91a37a9925ee2f972ccb10f986a26ff9785c1a71a483545a192783bf773"
-
-PROVIDES = "virtual/bitstream"
-
-FILES_${PN} += "/boot/download.bit"
-
-INHIBIT_DEFAULT_DEPS = "1"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-# deps needed to extract content from the .bsp file
-DEPENDS += "tar-native gzip-native"
-
-do_compile() {
- # Extract the bitstream into workdir
- tar -xf ${WORKDIR}/${BSP_FILE} ${BSP_NAME}-axi-full-${PV}/pre-built/linux/images/download.bit -C ${S}
- # move the bit file to ${S}/ as it is in a subdir in the tar file
- for i in $(find -type f -name download.bit); do mv $i ${S}; done
-}
-
-do_install() {
- install -D ${S}/download.bit ${D}/boot/download.bit
-}
-
-do_deploy () {
- install -D ${S}/download.bit ${DEPLOYDIR}/download.bit
-}
-
-addtask deploy before do_build after do_install
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/files/0001-Remove-redundant-YYLOC-global-declaration.patch b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/files/0001-Remove-redundant-YYLOC-global-declaration.patch
deleted file mode 100644
index 7091098ca..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/files/0001-Remove-redundant-YYLOC-global-declaration.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8127b19aa42ccfb3faae1173a12b3eb0cebf8941 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Thu, 30 Jan 2020 09:37:15 +0000
-Subject: [PATCH] Remove redundant YYLOC global declaration
-
-Same as the upstream fix for building dtc with gcc 10.
-
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
-State: upstream (e33a814e772cdc36436c8c188d8c42d019fda639)
----
- scripts/dtc/dtc-lexer.l | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
-index fd825ebba6..24af549977 100644
---- a/scripts/dtc/dtc-lexer.l
-+++ b/scripts/dtc/dtc-lexer.l
-@@ -38,7 +38,6 @@ LINECOMMENT "//".*\n
- #include "srcpos.h"
- #include "dtc-parser.tab.h"
-
--YYLTYPE yylloc;
- extern bool treesource_error;
-
- /* CAUTION: this will stop working if we ever use yyless() or yyunput() */
---
-2.29.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc
deleted file mode 100644
index 97c449bd3..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc
+++ /dev/null
@@ -1,70 +0,0 @@
-inherit xilinx-platform-init
-
-FORCE_PLATFORM_INIT[doc] = "This variable is used to force the overriding of all platform init files in u-boot source."
-
-PLATFORM_BOARD_DIR ?= ""
-PLATFORM_BOARD_DIR_zynq = "board/xilinx/zynq"
-PLATFORM_BOARD_DIR_zynqmp = "board/xilinx/zynqmp"
-
-do_zynq_platform_init() {
- for f in ${PLATFORM_INIT_FILES}; do
- if [ -d "${S}/${PLATFORM_BOARD_DIR}/custom_hw_platform" ]; then
- cp ${PLATFORM_INIT_STAGE_DIR}/$f ${S}/${PLATFORM_BOARD_DIR}/custom_hw_platform/
- else
- cp ${PLATFORM_INIT_STAGE_DIR}/$f ${S}/${PLATFORM_BOARD_DIR}/
- fi
- # Newer u-boot sources use the init files in a sub directory named
- # based on the name of the device tree. This is not straight forward to
- # detect. Instead of detecting just overwrite all the platform init
- # files so that the correct one is always used. This shotgun approach
- # only works due to this recipe being machine arch specific. Do this
- # overwrite un-conditionally as there is no guarantees that the chosen
- # board config does not have the device tree config set.
- for i in ${S}/${PLATFORM_BOARD_DIR}/*/; do
- [ -d $i ] && cp ${PLATFORM_INIT_STAGE_DIR}/$f $i
- done
- done
-}
-
-python () {
- # strip the tail _config/_defconfig for better comparison
- def strip_config_name(c):
- for i in ["_config", "_defconfig"]:
- if c.endswith(i):
- return c[0:len(c) - len(i)]
- return c
-
- if d.getVar("SOC_FAMILY") not in ["zynq", "zynqmp"]:
- # continue on this is not a zynq/zynqmp target
- return
-
- # Determine if target machine needs to provide a custom platform init files
- if d.getVar("SPL_BINARY"):
- hasconfigs = [strip_config_name(c) for c in (d.getVar("HAS_PLATFORM_INIT") or "").split()]
- currentconfig = strip_config_name(d.getVar("UBOOT_MACHINE"))
-
- # only add the dependency if u-boot doesn't already provide the platform init files
- if (currentconfig not in hasconfigs) or (d.getVar("FORCE_PLATFORM_INIT") == "1"):
- # force the dependency on a recipe that provides the platform init files
- d.appendVar("DEPENDS", " virtual/xilinx-platform-init")
- # setup task to modify platform init after unpack and prepare_recipe_sysroot, and before configure
- bb.build.addtask("do_zynq_platform_init", "do_configure", "do_unpack do_prepare_recipe_sysroot", d)
-
- if "boot.bin" not in d.getVar("SPL_BINARY"):
- # not deploying the boot.bin, just building SPL
- return
-
- # assume that U-Boot is to provide the boot.bin if no other provides are selected or U-Boot is selected
- providesbin = not(d.getVar("PREFERRED_PROVIDER_virtual/boot-bin")) or d.getVar("PREFERRED_PROVIDER_virtual/boot-bin") == d.getVar("PN")
- if providesbin:
- # add provides, if U-Boot is set to provide boot.bin
- d.appendVar("PROVIDES", " virtual/boot-bin")
- else:
- # prevent U-Boot from deploying the boot.bin
- d.setVar("SPL_BINARY", "")
-
- if providesbin and d.getVar("SOC_FAMILY") in ["zynqmp"]:
- # setup PMU Firmware path via MAKEFLAGS
- d.appendVar("EXTRA_OEMAKE", " CONFIG_PMUFW_INIT_FILE=\"{0}\"".format("${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.bin"))
-}
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx-dev.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx-dev.bb
deleted file mode 100644
index 3e40bfa17..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx-dev.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-# This recipe allows for a 'bleeding edge' u-boot-xlnx build.
-# Since this tree is frequently updated, AUTOREV is used to track its contents.
-#
-# To enable this recipe, set the following in your machine or local.conf
-# PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx-dev"
-
-UBRANCH ?= "master"
-
-include u-boot-xlnx.inc
-include u-boot-spl-zynq-init.inc
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://README;beginline=1;endline=6;md5=157ab8408beab40cd8ce1dc69f702a6c"
-
-SRCREV_DEFAULT = "aebea9d20a5aa32857f320c07ca8f9fd1b3dec1f"
-SRCREV ?= "${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/bootloader", "u-boot-xlnx-dev", "${AUTOREV}", "${SRCREV_DEFAULT}", d)}"
-
-PV = "${UBRANCH}-xilinx-dev+git${SRCPV}"
-
-# Newer versions of u-boot have support for these
-HAS_PLATFORM_INIT ?= " \
- zynq_microzed_config \
- zynq_zed_config \
- zynq_zc702_config \
- zynq_zc706_config \
- zynq_zybo_config \
- "
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc
deleted file mode 100644
index 4b8c4efee..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-require recipes-bsp/u-boot/u-boot.inc
-
-DEPENDS += "bc-native dtc-native bison-native"
-
-XILINX_RELEASE_VERSION ?= ""
-UBOOT_VERSION_EXTENSION ?= "-xilinx-${XILINX_RELEASE_VERSION}"
-PV = "${UBOOT_VERSION}${UBOOT_VERSION_EXTENSION}+git${SRCPV}"
-
-UBOOTURI ?= "git://github.com/Xilinx/u-boot-xlnx.git;protocol=https"
-UBRANCH ?= ""
-UBRANCHARG = "${@['nobranch=1', 'branch=${UBRANCH}'][d.getVar('UBRANCH', True) != '']}"
-
-SRC_URI = "${UBOOTURI};${UBRANCHARG}"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot:"
-
-SYSROOT_DIRS += "/boot"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2020.2.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2020.2.bb
deleted file mode 100644
index 95c7254c6..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2020.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-UBOOT_VERSION = "v2020.01"
-
-UBRANCH ?= "xlnx_rebase_v2020.01"
-
-SRCREV ?= "bb4660c33aa7ea64f78b2682bf0efd56765197d6"
-
-include u-boot-xlnx.inc
-include u-boot-spl-zynq-init.inc
-
-# Patch required for latest gcc and 2020.2 version of u-boot-xlnx
-# This will be removed once the SRCREV above has been updated to include this change
-SRC_URI += " file://0001-Remove-redundant-YYLOC-global-declaration.patch"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
-
-# u-boot-xlnx has support for these
-HAS_PLATFORM_INIT ?= " \
- xilinx_zynqmp_virt_config \
- xilinx_zynq_virt_defconfig \
- xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \
- "
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb
deleted file mode 100644
index e8b91922b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb
+++ /dev/null
@@ -1,96 +0,0 @@
-SUMMARY = "U-boot boot scripts for Xilinx devices"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-DEPENDS = "u-boot-mkimage-native"
-
-inherit deploy nopackages image-wic-utils
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-COMPATIBLE_MACHINE ?= "^$"
-COMPATIBLE_MACHINE_zynqmp = "zynqmp"
-COMPATIBLE_MACHINE_zynq = "zynq"
-COMPATIBLE_MACHINE_versal = "versal"
-
-KERNELDT = "${@os.path.basename(d.getVar('KERNEL_DEVICETREE').split(' ')[0]) if d.getVar('KERNEL_DEVICETREE') else ''}"
-DEVICE_TREE_NAME ?= "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', d.getVar('KERNELDT'), d)}"
-#Need to copy a rootfs.cpio.gz.u-boot as uramdisk.image.gz into boot partition
-RAMDISK_IMAGE ?= ""
-RAMDISK_IMAGE_zynq ?= "uramdisk.image.gz"
-
-KERNEL_BOOTCMD_zynqmp ?= "booti"
-KERNEL_BOOTCMD_zynq ?= "bootm"
-KERNEL_BOOTCMD_versal ?= "booti"
-
-BOOTMODE ?= "sd"
-
-SRC_URI = " \
- file://boot.cmd.sd.zynq \
- file://boot.cmd.sd.zynqmp \
- file://boot.cmd.sd.versal \
- file://boot.cmd.qspi.versal \
- file://pxeboot.pxe \
- "
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-UBOOTSCR_BASE_NAME ?= "${PN}-${PKGE}-${PKGV}-${PKGR}${IMAGE_VERSION_SUFFIX}"
-UBOOTPXE_CONFIG ?= "pxelinux.cfg"
-UBOOTPXE_CONFIG_NAME = "${UBOOTPXE_CONFIG}${IMAGE_VERSION_SUFFIX}"
-
-DEVICETREE_ADDRESS_zynqmp ?= "0x100000"
-DEVICETREE_ADDRESS_zynq ?= "0x2000000"
-DEVICETREE_ADDRESS_versal ?= "0x1000"
-KERNEL_LOAD_ADDRESS_zynqmp ?= "0x200000"
-KERNEL_LOAD_ADDRESS_zynq ?= "0x2080000"
-KERNEL_LOAD_ADDRESS_versal ?= "0x80000"
-
-RAMDISK_IMAGE_ADDRESS_zynq ?= "0x4000000"
-RAMDISK_IMAGE_ADDRESS_versal ?= "0x6000000"
-
-
-SDBOOTDEV ?= "0"
-
-BITSTREAM_LOAD_ADDRESS ?= "0x100000"
-
-do_configure[noexec] = "1"
-do_install[noexec] = "1"
-
-def get_bitstream_load_type(d):
- if boot_files_bitstream(d)[1] :
- return "loadb"
- else:
- return "load"
-
-do_compile() {
- sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
- -e 's/@@KERNEL_LOAD_ADDRESS@@/${KERNEL_LOAD_ADDRESS}/' \
- -e 's/@@DEVICE_TREE_NAME@@/${DEVICE_TREE_NAME}/' \
- -e 's/@@DEVICETREE_ADDRESS@@/${DEVICETREE_ADDRESS}/' \
- -e 's/@@RAMDISK_IMAGE@@/${RAMDISK_IMAGE}/' \
- -e 's/@@RAMDISK_IMAGE_ADDRESS@@/${RAMDISK_IMAGE_ADDRESS}/' \
- -e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \
- -e 's/@@SDBOOTDEV@@/${SDBOOTDEV}/' \
- -e 's/@@BITSTREAM@@/${@boot_files_bitstream(d)[0]}/g' \
- -e 's/@@BITSTREAM_LOAD_ADDRESS@@/${BITSTREAM_LOAD_ADDRESS}/g' \
- -e 's/@@BITSTREAM_IMAGE@@/${@boot_files_bitstream(d)[0]}/g' \
- -e 's/@@BITSTREAM_LOAD_TYPE@@/${@get_bitstream_load_type(d)}/g' \
- "${WORKDIR}/boot.cmd.${BOOTMODE}.${SOC_FAMILY}" > "${WORKDIR}/boot.cmd"
- mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
- sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
- -e 's/@@DEVICE_TREE_NAME@@/${DEVICE_TREE_NAME}/' \
- -e 's/@@RAMDISK_IMAGE@@/${RAMDISK_IMAGE}/' \
- "${WORKDIR}/pxeboot.pxe" > "pxeboot.pxe"
-}
-
-
-do_deploy() {
- install -d ${DEPLOYDIR}
- install -m 0644 boot.scr ${DEPLOYDIR}/${UBOOTSCR_BASE_NAME}.scr
- ln -sf ${UBOOTSCR_BASE_NAME}.scr ${DEPLOYDIR}/boot.scr
- install -d ${DEPLOYDIR}/pxeboot/${UBOOTPXE_CONFIG_NAME}
- install -m 0644 pxeboot.pxe ${DEPLOYDIR}/pxeboot/${UBOOTPXE_CONFIG_NAME}/default
- ln -sf pxeboot/${UBOOTPXE_CONFIG_NAME} ${DEPLOYDIR}/${UBOOTPXE_CONFIG}
-}
-
-addtask do_deploy after do_compile before do_build
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi.versal b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi.versal
deleted file mode 100644
index d56b7c8cd..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi.versal
+++ /dev/null
@@ -1 +0,0 @@
-@@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.versal b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.versal
deleted file mode 100644
index 10e83cd09..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.versal
+++ /dev/null
@@ -1,3 +0,0 @@
-setenv bootargs $bootargs root=/dev/mmcblk0p2 rw rootwait clk_ignore_unused
-fatload mmc $sdbootdev:$partid @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@
-@@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq
deleted file mode 100644
index bbd2e01e9..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq
+++ /dev/null
@@ -1,7 +0,0 @@
-if test -n "@@BITSTREAM@@"; then
- fatload mmc $sdbootdev @@BITSTREAM_LOAD_ADDRESS@@ @@BITSTREAM_IMAGE@@ && fpga @@BITSTREAM_LOAD_TYPE@@ 0 @@BITSTREAM_LOAD_ADDRESS@@ ${filesize}
-fi
-fatload mmc 0 @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@
-fatload mmc 0 @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@
-fatload mmc 0 @@RAMDISK_IMAGE_ADDRESS@@ @@RAMDISK_IMAGE@@
-@@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp
deleted file mode 100644
index 43062ce8f..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp
+++ /dev/null
@@ -1,9 +0,0 @@
-setenv sdbootdev @@SDBOOTDEV@@
-setenv bootargs $bootargs root=/dev/mmcblk${sdbootdev}p2 rw rootwait earlycon clk_ignore_unused
-setenv bootargs $bootargs root=/dev/mmcblk0p2 rw rootwait earlycon clk_ignore_unused
-if test -n "@@BITSTREAM@@"; then
- fatload mmc $sdbootdev @@BITSTREAM_LOAD_ADDRESS@@ @@BITSTREAM_IMAGE@@ && fpga @@BITSTREAM_LOAD_TYPE@@ 0 @@BITSTREAM_LOAD_ADDRESS@@ ${filesize}
-fi
-fatload mmc $sdbootdev @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@
-fatload mmc $sdbootdev:$partid @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@
-@@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe
deleted file mode 100644
index 407965453..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe
+++ /dev/null
@@ -1,4 +0,0 @@
-LABEL Linux
-KERNEL @@KERNEL_IMAGETYPE@@
-FDT @@DEVICE_TREE_NAME@@
-INITRD @@RAMDISK_IMAGE@@
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-uenv.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-uenv.bb
deleted file mode 100644
index 6e4c3c0b2..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-uenv.bb
+++ /dev/null
@@ -1,110 +0,0 @@
-SUMMARY = "U-Boot uEnv.txt SD boot environment generation for Zynq targets"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-INHIBIT_DEFAULT_DEPS = "1"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-python () {
- # The device trees must be populated in the deploy directory to correctly
- # detect them and their names. This means that this recipe needs to depend
- # on those deployables just like the image recipe does.
- deploydeps = ["virtual/kernel"]
- for i in (d.getVar("MACHINE_ESSENTIAL_EXTRA_RDEPENDS") or "").split():
- if i != d.getVar("BPN"):
- deploydeps.append(i)
- for i in (d.getVar("EXTRA_IMAGEDEPENDS") or "").split():
- if i != d.getVar("BPN"):
- deploydeps.append(i)
-
- # add as DEPENDS since the targets might not have do_deploy tasks
- if len(deploydeps) != 0:
- d.appendVar("DEPENDS", " " + " ".join(deploydeps))
-}
-
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_zynq = ".*"
-COMPATIBLE_MACHINE_zynqmp = ".*"
-
-inherit deploy image-wic-utils
-
-def uboot_boot_cmd(d):
- if d.getVar("KERNEL_IMAGETYPE") in ["uImage", "fitImage"]:
- return "bootm"
- if d.getVar("KERNEL_IMAGETYPE") in ["zImage"]:
- return "bootz"
- if d.getVar("KERNEL_IMAGETYPE") in ["Image"]:
- return "booti"
- raise bb.parse.SkipRecipe("Unsupport kernel image type")
-
-def get_sdbootdev(d):
- if d.getVar("SOC_FAMILY") in ["zynqmp"]:
- return "${sdbootdev}"
- else:
- return "0"
-
-def uenv_populate(d):
- # populate the environment values
- env = {}
-
- env["machine_name"] = d.getVar("MACHINE")
-
- env["kernel_image"] = d.getVar("KERNEL_IMAGETYPE")
- env["kernel_load_address"] = d.getVar("KERNEL_LOAD_ADDRESS")
-
- env["devicetree_image"] = boot_files_dtb_filepath(d)
- env["devicetree_load_address"] = d.getVar("DEVICETREE_LOAD_ADDRESS")
-
- env["bootargs"] = d.getVar("KERNEL_BOOTARGS")
-
- env["loadkernel"] = "fatload mmc " + get_sdbootdev(d) + " ${kernel_load_address} ${kernel_image}"
- env["loaddtb"] = "fatload mmc " + get_sdbootdev(d) + " ${devicetree_load_address} ${devicetree_image}"
- env["bootkernel"] = "run loadkernel && run loaddtb && " + uboot_boot_cmd(d) + " ${kernel_load_address} - ${devicetree_load_address}"
-
- if d.getVar("SOC_FAMILY") in ["zynqmp"]:
- env["bootkernel"] = "setenv bootargs " + d.getVar("KERNEL_BOOTARGS") + " ; " + env["bootkernel"]
-
- # default uenvcmd does not load bitstream
- env["uenvcmd"] = "run bootkernel"
-
- bitstream, bitstreamtype = boot_files_bitstream(d)
- if bitstream:
- env["bitstream_image"] = bitstream
- env["bitstream_load_address"] = "0x100000"
-
- # if bitstream is "bit" format use loadb, otherwise use load
- env["bitstream_type"] = "loadb" if bitstreamtype else "load"
-
- # load bitstream first with loadfpa
- env["loadfpga"] = "fatload mmc " + get_sdbootdev(d) + " ${bitstream_load_address} ${bitstream_image} && fpga ${bitstream_type} 0 ${bitstream_load_address} ${filesize}"
- env["uenvcmd"] = "run loadfpga && run bootkernel"
-
- return env
-
-# bootargs, default to booting with the rootfs device being partition 2
-KERNEL_BOOTARGS_zynq = "earlyprintk console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait"
-KERNEL_BOOTARGS_zynqmp = "earlycon clk_ignore_unused root=/dev/mmcblk${sdbootdev}p2 rw rootwait"
-
-KERNEL_LOAD_ADDRESS_zynq = "0x2080000"
-KERNEL_LOAD_ADDRESS_zynqmp = "0x80000"
-DEVICETREE_LOAD_ADDRESS_zynq = "0x2000000"
-DEVICETREE_LOAD_ADDRESS_zynqmp = "0x4000000"
-
-python do_compile() {
- env = uenv_populate(d)
- with open(d.expand("${WORKDIR}/uEnv.txt"), "w") as f:
- for k, v in env.items():
- f.write("{0}={1}\n".format(k, v))
-}
-
-FILES_${PN} += "/boot/uEnv.txt"
-
-do_install() {
- install -Dm 0644 ${WORKDIR}/uEnv.txt ${D}/boot/uEnv.txt
-}
-
-do_deploy() {
- install -Dm 0644 ${WORKDIR}/uEnv.txt ${DEPLOYDIR}/uEnv.txt
-}
-addtask do_deploy after do_compile before do_build
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot_%.bbappend
deleted file mode 100644
index b85223699..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot_%.bbappend
+++ /dev/null
@@ -1,11 +0,0 @@
-include u-boot-spl-zynq-init.inc
-
-# u-boot 2016.11 has support for these
-HAS_PLATFORM_INIT ??= " \
- zynq_microzed_config \
- zynq_zed_config \
- zynq_zc702_config \
- zynq_zc706_config \
- zynq_zybo_config \
- "
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-core/glibc/glibc-locale_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-core/glibc/glibc-locale_%.bbappend
deleted file mode 100644
index 68ae89b4d..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-core/glibc/glibc-locale_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-do_install_append() {
- # Remove the libdir if it is empty when gconv is not copied
- find ${D}${libdir} -type d -empty -delete
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0001-Add-enable-disable-udev.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0001-Add-enable-disable-udev.patch
deleted file mode 100644
index f38862fac..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0001-Add-enable-disable-udev.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 96f204df74f7dde5f4c9ad6e6eefc2d46219ccd9 Mon Sep 17 00:00:00 2001
-From: Jeremy Puhlman <jpuhlman@mvista.com>
-Date: Thu, 19 Mar 2020 11:54:26 -0700
-Subject: [PATCH] Add enable/disable libudev
-
-Upstream-Status: Pending
-Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
-
-%% original patch: 0001-Add-enable-disable-udev.patch
----
- configure | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/configure b/configure
-index c9a4e73..75f9773 100755
---- a/configure
-+++ b/configure
-@@ -1606,6 +1606,10 @@ for opt do
- ;;
- --gdb=*) gdb_bin="$optarg"
- ;;
-+ --enable-libudev) libudev="yes"
-+ ;;
-+ --disable-libudev) libudev="no"
-+ ;;
- *)
- echo "ERROR: unknown option $opt"
- echo "Try '$0 --help' for more information"
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
deleted file mode 100644
index a8ab7daa4..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 5214dd4461f2090ef0965b4d2518f49927d61cbc Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Wed, 28 Aug 2019 19:56:28 +0800
-Subject: [Qemu-devel] [PATCH] configure: Add pkg-config handling for libgcrypt
-
-libgcrypt may also be controlled by pkg-config, this patch adds pkg-config
-handling for libgcrypt.
-
-Upstream-Status: Denied [https://lists.nongnu.org/archive/html/qemu-devel/2019-08/msg06333.html]
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- configure | 48 ++++++++++++++++++++++++++++++++++++++++--------
- 1 file changed, 40 insertions(+), 8 deletions(-)
-
-diff --git a/configure b/configure
-index e44e454..0f362a7 100755
---- a/configure
-+++ b/configure
-@@ -2875,6 +2875,30 @@ has_libgcrypt() {
- return 0
- }
-
-+has_libgcrypt_pkgconfig() {
-+ if ! has $pkg_config ; then
-+ return 1
-+ fi
-+
-+ if ! $pkg_config --list-all | grep libgcrypt > /dev/null 2>&1 ; then
-+ return 1
-+ fi
-+
-+ if test -n "$cross_prefix" ; then
-+ host=$($pkg_config --variable=host libgcrypt)
-+ if test "${host%-gnu}-" != "${cross_prefix%-gnu}" ; then
-+ print_error "host($host) does not match cross_prefix($cross_prefix)"
-+ return 1
-+ fi
-+ fi
-+
-+ if ! $pkg_config --atleast-version=1.5.0 libgcrypt ; then
-+ print_error "libgcrypt version is $($pkg_config --modversion libgcrypt)"
-+ return 1
-+ fi
-+
-+ return 0
-+}
-
- if test "$nettle" != "no"; then
- pass="no"
-@@ -2902,7 +2926,14 @@ fi
-
- if test "$gcrypt" != "no"; then
- pass="no"
-- if has_libgcrypt; then
-+ if has_libgcrypt_pkgconfig; then
-+ gcrypt_cflags=$($pkg_config --cflags libgcrypt)
-+ if test "$static" = "yes" ; then
-+ gcrypt_libs=$($pkg_config --libs --static libgcrypt)
-+ else
-+ gcrypt_libs=$($pkg_config --libs libgcrypt)
-+ fi
-+ elif has_libgcrypt; then
- gcrypt_cflags=$(libgcrypt-config --cflags)
- gcrypt_libs=$(libgcrypt-config --libs)
- # Debian has removed -lgpg-error from libgcrypt-config
-@@ -2912,15 +2943,16 @@ if test "$gcrypt" != "no"; then
- then
- gcrypt_libs="$gcrypt_libs -lgpg-error"
- fi
-+ fi
-
-- # Link test to make sure the given libraries work (e.g for static).
-- write_c_skeleton
-- if compile_prog "" "$gcrypt_libs" ; then
-- LIBS="$gcrypt_libs $LIBS"
-- QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags"
-- pass="yes"
-- fi
-+ # Link test to make sure the given libraries work (e.g for static).
-+ write_c_skeleton
-+ if compile_prog "" "$gcrypt_libs" ; then
-+ LIBS="$gcrypt_libs $LIBS"
-+ QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags"
-+ pass="yes"
- fi
-+
- if test "$pass" = "yes"; then
- gcrypt="yes"
- cat > $TMPC << EOF
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/flash_stripe.c b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/flash_stripe.c
deleted file mode 100644
index a9a6e76a5..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/flash_stripe.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Stripe a flash image across multiple files.
- *
- * Copyright (C) 2019 Xilinx, Inc. All rights reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <stdbool.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <string.h>
-
-/* N way (num) in place bit striper. Lay out row wise bits column wise
- * (from element 0 to N-1). num is the length of x, and dir reverses the
- * direction of the transform. be determines the bit endianess scheme.
- * false to lay out bits LSB to MSB (little endian) and true for big endian.
- *
- * Best illustrated by examples:
- * Each digit in the below array is a single bit (num == 3, be == false):
- *
- * {{ 76543210, } ----- stripe (dir == false) -----> {{ FCheb630, }
- * { hgfedcba, } { GDAfc741, }
- * { HGFEDCBA, }} <---- upstripe (dir == true) ----- { HEBgda52, }}
- *
- * Same but with be == true:
- *
- * {{ 76543210, } ----- stripe (dir == false) -----> {{ 741gdaFC, }
- * { hgfedcba, } { 630fcHEB, }
- * { HGFEDCBA, }} <---- upstripe (dir == true) ----- { 52hebGDA, }}
- */
-
-static inline void stripe8(uint8_t *x, int num, bool dir, bool be)
-{
- uint8_t r[num];
- memset(r, 0, sizeof(uint8_t) * num);
- int idx[2] = {0, 0};
- int bit[2] = {0, be ? 7 : 0};
- int d = dir;
-
- for (idx[0] = 0; idx[0] < num; ++idx[0]) {
- for (bit[0] = be ? 7 : 0; bit[0] != (be ? -1 : 8); bit[0] += be ? -1 : 1) {
- r[idx[!d]] |= x[idx[d]] & 1 << bit[d] ? 1 << bit[!d] : 0;
- idx[1] = (idx[1] + 1) % num;
- if (!idx[1]) {
- bit[1] += be ? -1 : 1;
- }
- }
- }
- memcpy(x, r, sizeof(uint8_t) * num);
-}
-
-int main (int argc, char *argv []) {
-#ifdef UNSTRIPE
- bool unstripe = true;
-#else
- bool unstripe = false;
-#endif
-
-#ifdef FLASH_STRIPE_BE
- bool be = true;
-#else
- bool be = false;
-#endif
-
- int i;
-
- const char *exe_name = argv[0];
- argc--;
- argv++;
-
- if (argc < 2) {
- fprintf(stderr, "ERROR: %s requires at least two args\n", exe_name);
- return 1;
- }
-
- const char *single_f = argv[0];
- int single;
-
- if (unstripe) {
- single = creat(single_f, 0644);
- } else {
- single = open(single_f, 0);
- }
- if (single == -1) {
- perror(argv[0]);
- return 1;
- }
-
- argv++;
- argc--;
-
- int multiple[argc];
-
- for (i = 0; i < argc; ++i) {
- if (unstripe) {
- multiple[i] = open(argv[i], 0);
- } else {
- multiple[i] = creat(argv[i], 0644);
- }
- if (multiple[i] == -1) {
- perror(argv[i]);
- return 1;
- }
- }
-
- while (true) {
- uint8_t buf[argc];
- for (i = 0; i < argc; ++i) {
- switch (read(!unstripe ? single : multiple[
-#if defined(FLASH_STRIPE_BW) && defined (FLASH_STRIPE_BE)
- argc - 1 -
-#endif
- i], &buf[i], 1)) {
- case 0:
- if (i == 0) {
- goto done;
- } else if (!unstripe) {
- fprintf(stderr, "WARNING:input file %s is not multiple of "
- "%d bytes, padding with garbage byte\n", single_f,
- argc);
- }
- break;
- case -1:
- perror(unstripe ? argv[i] : single_f);
- return 1;
- }
- }
-
-#ifndef FLASH_STRIPE_BW
- stripe8(buf, argc, unstripe, be);
-#endif
-
- for (i = 0; i < argc; ++i) {
- switch (write(unstripe ? single : multiple[
-#if defined(FLASH_STRIPE_BW) && defined (FLASH_STRIPE_BE)
- argc - 1 -
-#endif
- i], &buf[i], 1)) {
- case -1:
- perror(unstripe ? single_f : argv[i]);
- return 1;
- case 0:
- i--; /* try again */
- }
- }
- }
-
-done:
- close(single);
- for (i = 0; i < argc; ++i) {
- close(multiple[argc]);
- }
- return 0;
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch
deleted file mode 100644
index 6f7fb5225..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/env python3
-
-# Xilinx QEMU wrapper to launch both PMU and APU instances (multiarch)
-import os
-import subprocess
-import sys
-import tempfile
-import shutil
-
-binpath = os.path.dirname(os.path.abspath(__file__))
-mach_path = tempfile.mkdtemp()
-
-
-# Separate PMU and APU arguments
-APU_args = sys.argv[1:]
-mbtype=''
-
-if '-pmu-args' in APU_args:
- MB_args = APU_args[APU_args.index('-pmu-args')+1]
- APU_args.remove('-pmu-args')
- APU_args.remove(MB_args)
- MB_args = MB_args.split()
- PMU_rom = MB_args[MB_args.index('-kernel')+1]
- mbtype='PMU'
-elif '-plm-args' in APU_args:
- MB_args = APU_args[APU_args.index('-plm-args')+1]
- APU_args.remove('-plm-args')
- APU_args.remove(MB_args)
- MB_args = MB_args.split()
- mbtype='PLM'
-else:
- error_msg = '\nMultiarch not setup properly.'
- sys.exit(error_msg)
-
-error_msg = None
-if (mbtype == 'PMU' and os.path.exists(PMU_rom)) or mbtype == 'PLM':
-
- # We need to switch tcp serial arguments (if they exist, e.g. qemurunner) to get the output correctly
- tcp_serial_ports = [i for i, s in enumerate(APU_args) if 'tcp:127.0.0.1:' in s]
-
- #NEED TO FIX for next yocto release (dont need to switch ports anymore, they will be provided correctly upstream
- # We can only switch these if there are exactly two, otherwise we can't assume what is being executed so we leave it as is
- if len(tcp_serial_ports) == 2:
- APU_args[tcp_serial_ports[0]],APU_args[tcp_serial_ports[1]] = APU_args[tcp_serial_ports[1]],APU_args[tcp_serial_ports[0]]
-
- mb_cmd = binpath + '/qemu-system-microblazeel ' + ' '.join(MB_args) + ' -machine-path ' + mach_path
- apu_cmd = binpath + '/qemu-system-aarch64 ' + ' '.join(APU_args) + ' -machine-path ' + mach_path
-
- # Debug prints
- print('\n%s instance cmd: %s\n' % (mbtype, mb_cmd))
- print('APU instance cmd: %s\n' % apu_cmd)
-
-
- # Invoke QEMU pmu instance
- process_pmu = subprocess.Popen(mb_cmd, shell=True, stderr=subprocess.PIPE)
-
- # Invoke QEMU APU instance
- process_apu = subprocess.Popen(apu_cmd, shell=True, stderr=subprocess.PIPE)
- if process_apu.wait():
- error_msg = '\nQEMU APU instance failed:\n%s' % process_apu.stderr.read().decode()
-
-else:
- if mbtype == 'PMU':
- error_msg = '\nError: Missing PMU ROM: %s' % PMU_rom
- error_msg += '\nSee "meta-xilinx/README.qemu.md" for more information on accquiring the PMU ROM.\n'
-
-shutil.rmtree(mach_path)
-sys.exit(error_msg)
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/flashstrip_1.0.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/flashstrip_1.0.bb
deleted file mode 100644
index eec7b2dad..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/flashstrip_1.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Building and installing flash strip utility"
-DESCRIPTION = "Building and installing flash strip utility"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://../flash_stripe.c;beginline=1;endline=23;md5=abb859d98b7c4eede655e1b71824125a"
-
-B = "${WORKDIR}/build"
-
-SRC_URI += "file://flash_stripe.c"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_compile() {
- ${CC} ${WORKDIR}/flash_stripe.c -o flash_strip
- ${CC} ${WORKDIR}/flash_stripe.c -o flash_unstrip
- ${CC} ${WORKDIR}/flash_stripe.c -o flash_strip_bw -DFLASH_STRIPE_BW
- ${CC} ${WORKDIR}/flash_stripe.c -o flash_unstrip_bw -DUNSTRIP -DFLASH_STRIPE_BW
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -Dm 0755 ${B}/* ${D}${bindir}/
-}
-
-FILES_${PN} = "${bindir}/*"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees.inc b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees.inc
deleted file mode 100644
index 8e752921a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees.inc
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "Xilinx's hardware device trees required for QEMU"
-HOMEPAGE = "https://github.com/xilinx/qemu-devicetrees/"
-LICENSE = "BSD"
-DEPENDS += "dtc-native"
-
-inherit deploy
-
-LIC_FILES_CHKSUM = "file://Makefile;beginline=1;endline=27;md5=7348b6cbcae69912cb1dee68d6c68d99"
-
-PV = "xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SRC_URI_append = " file://0001-Makefile-Use-python3-instead-of-python.patch"
-
-BRANCH ?= ""
-REPO ?= "git://github.com/Xilinx/qemu-devicetrees.git;protocol=https"
-
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-S = "${WORKDIR}/git"
-
-# Don't need to do anything
-do_install() {
- :
-}
-
-do_deploy() {
- # single-arch dtbs
- for DTS_FILE in ${S}/LATEST/SINGLE_ARCH/*.dtb; do
- install -Dm 0644 $DTS_FILE ${DEPLOYDIR}/qemu-hw-devicetrees/$(basename $DTS_FILE .dtb).dtb
- done
-
- # multi-arch dtbs
- for DTS_FILE in ${S}/LATEST/MULTI_ARCH/*.dtb; do
- install -Dm 0644 $DTS_FILE ${DEPLOYDIR}/qemu-hw-devicetrees/multiarch/$(basename $DTS_FILE .dtb).dtb
- done
-}
-
-addtask deploy after do_install
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees/0001-Makefile-Use-python3-instead-of-python.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees/0001-Makefile-Use-python3-instead-of-python.patch
deleted file mode 100644
index afbe31560..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees/0001-Makefile-Use-python3-instead-of-python.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From e5af9cc9b167acc5c04d15fea03b34b70ec537c9 Mon Sep 17 00:00:00 2001
-From: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
-Date: Sun, 7 Jun 2020 20:35:59 -0700
-Subject: [PATCH] Makefile:Use python3 instead of python
-
-Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
----
- Makefile | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 36b4937..efaa39a 100644
---- a/Makefile
-+++ b/Makefile
-@@ -89,9 +89,9 @@ $(LQSPI_XIP_OUTDIR)/%.dts: %.dts $(DTSI_FILES) $(HEADER_FILES)
- # TODO: Add support for auto-generated dependency list
- versal-pmc-npi.dtsi: versal-pmc-npi-nxx.dtsi
- versal-pmc-npi-nxx.dtsi: Makefile
-- @python -c 'for a in range(0, 54): print("\tGEN_NMU(" + str(a) + ")")' > $@
-- @python -c 'for a in range(0, 50): print("\tGEN_NSU(" + str(a) + ")")' >> $@
-- @python -c 'for a in range(0, 146): print("\tGEN_NPS(" + str(a) + ")")' >> $@
-+ @python3 -c 'for a in range(0, 54): print("\tGEN_NMU(" + str(a) + ")")' > $@
-+ @python3 -c 'for a in range(0, 50): print("\tGEN_NSU(" + str(a) + ")")' >> $@
-+ @python3 -c 'for a in range(0, 146): print("\tGEN_NPS(" + str(a) + ")")' >> $@
-
- clean:
- $(RM) versal-pmc-npi-nxx.dtsi
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2020.2.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2020.2.bb
deleted file mode 100644
index c7fc70b3e..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2020.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require qemu-devicetrees.inc
-
-BRANCH ?= "branch/xilinx-v2020.2"
-SRCREV ?= "0097f0f651d67b3a8495693e9e17c443948d3c77"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-native.inc b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-native.inc
deleted file mode 100644
index aa5c9b9a7..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-native.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-inherit native
-
-require qemu.inc
-
-EXTRA_OEMAKE_append = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'"
-
-LDFLAGS_append = " -fuse-ld=bfd"
-
-do_install_append() {
- ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-targets.inc b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-targets.inc
deleted file mode 100644
index 24f9a0394..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-targets.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-# possible arch values are:
-# aarch64 arm armeb alpha cris i386 x86_64 m68k microblaze
-# mips mipsel mips64 mips64el ppc ppc64 ppc64abi32 ppcemb
-# riscv32 riscv64 sparc sparc32 sparc32plus
-
-def get_qemu_target_list(d):
- import bb
- archs = d.getVar('QEMU_TARGETS').split()
- tos = d.getVar('HOST_OS')
- softmmuonly = ""
- for arch in ['ppcemb', 'lm32']:
- if arch in archs:
- softmmuonly += arch + "-softmmu,"
- archs.remove(arch)
- linuxuseronly = ""
- for arch in ['armeb', 'alpha', 'ppc64abi32', 'ppc64le', 'sparc32plus', 'aarch64_be']:
- if arch in archs:
- linuxuseronly += arch + "-linux-user,"
- archs.remove(arch)
- if 'linux' not in tos:
- return softmmuonly + ''.join([arch + "-softmmu" + "," for arch in archs]).rstrip(',')
- return softmmuonly + linuxuseronly + ''.join([arch + "-linux-user" + "," + arch + "-softmmu" + "," for arch in archs]).rstrip(',')
-
-def get_qemu_usermode_target_list(d):
- return ",".join(filter(lambda i: "-linux-user" in i, get_qemu_target_list(d).split(',')))
-
-def get_qemu_system_target_list(d):
- return ",".join(filter(lambda i: "-linux-user" not in i, get_qemu_target_list(d).split(',')))
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb
deleted file mode 100644
index ecc965216..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-
-python () {
- if d.getVar("PREFERRED_PROVIDER_qemu-helper-native") != d.getVar("PN"):
- raise bb.parse.SkipRecipe("Set qemu-helper-native provider to use this recipe")
-}
-
-def get_filespath_extra(d, subpath):
- metaroot = next((p for p in d.getVar('BBPATH').split(':') if os.path.basename(p) == 'meta'), None)
- if metaroot:
- return os.path.join(metaroot, subpath) + ":"
- return ""
-
-# TODO: improve this, since it is very hacky that this recipe need to build tunctl.
-# include the existing qemu-helper-native
-require recipes-devtools/qemu/qemu-helper-native_1.0.bb
-# get the path to tunctl.c
-FILESEXTRAPATHS_prepend := "${@get_filespath_extra(d, 'recipes-devtools/qemu/qemu-helper')}"
-
-# provide it, to replace the existing
-PROVIDES += "qemu-helper-native"
-
-# replace qemu with qemu-xilinx
-DEPENDS_remove = "qemu-system-native"
-DEPENDS_append = " \
- qemu-xilinx-system-native \
- qemu-xilinx-multiarch-helper-native \
- "
-
-RDEPENDS_${PN}_remove = "qemu-system-native"
-RDEPENDS_${PN}_append = " qemu-xilinx-system-native"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-multiarch-helper-native_1.0.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-multiarch-helper-native_1.0.bb
deleted file mode 100644
index 55cec776b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-multiarch-helper-native_1.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Helper scripts for executing a multi-arch instance of Xilinx QEMU"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-RDEPENDS_${PN} = "qemu-xilinx-native"
-
-inherit native
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI = "file://qemu-system-aarch64-multiarch"
-
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-SYSROOT_DIRS += "${bindir}/qemu-xilinx"
-
-do_install() {
- install -Dm 0755 ${WORKDIR}/qemu-system-aarch64-multiarch ${D}${bindir}/qemu-system-aarch64-multiarch
-}
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc
deleted file mode 100644
index d8f06c772..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-require qemu-native.inc
-require qemu-xilinx.inc
-
-DEPENDS = "glib-2.0-native zlib-native"
-
-SRC_URI_remove = "file://0012-fix-libcap-header-issue-on-some-distro.patch"
-SRC_URI_remove = "file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch"
-
-do_install_append(){
- rm -rf ${D}${datadir}/icons
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.2.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.2.bb
deleted file mode 100644
index 45d474d1e..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require qemu-xilinx-native.inc
-BPN = "qemu-xilinx"
-
-EXTRA_OECONF_append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
-
-PROVIDES = "qemu-native"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2020.2.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2020.2.bb
deleted file mode 100644
index 93afebed2..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2020.2.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require qemu-xilinx-native.inc
-
-EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}"
-
-PACKAGECONFIG ??= "fdt alsa kvm"
-
-PACKAGECONFIG_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
-
-DEPENDS += "pixman-native qemu-xilinx-native"
-
-do_install_append() {
- # The following is also installed by qemu-native
- rm -f ${D}${datadir}/${BPN}/trace-events-all
- rm -rf ${D}${datadir}/${BPN}/keymaps
- rm -rf ${D}${datadir}/icons
-}
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc
deleted file mode 100644
index c22c43c06..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Xilinx's fork of a fast open source processor emulator"
-HOMEPAGE = "https://github.com/xilinx/qemu/"
-
-# x86_64 is needed to build nativesdks
-QEMU_TARGETS = "aarch64 arm microblaze microblazeel x86_64"
-
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
- file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f \
- "
-DEPENDS = "glib-2.0 zlib pixman"
-
-XILINX_QEMU_VERSION ?= "v5.1.0"
-BRANCH ?= "master"
-SRCREV ?= "${AUTOREV}"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-PV = "${XILINX_QEMU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
-REPO ?= "gitsm://github.com/Xilinx/qemu.git;protocol=https"
-
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-SRC_URI_append = " file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \
- file://0001-Add-enable-disable-udev.patch \
-"
-
-S = "${WORKDIR}/git"
-
-# Disable KVM completely
-PACKAGECONFIG_remove = "kvm"
-PACKAGECONFIG_append = " fdt gcrypt"
-
-DISABLE_STATIC_pn-${PN} = ""
-
-PTEST_ENABLED = ""
-
-EXTRA_OECONF_append = " --with-git=/bin/false --disable-git-update"
-
-do_install_append() {
- # Prevent QA warnings about installed ${localstatedir}/run
- if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2020.2.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2020.2.bb
deleted file mode 100644
index fd1904aba..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2020.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require qemu.inc
-require qemu-xilinx.inc
-
-BBCLASSEXTEND = "nativesdk"
-
-RDEPENDS_${PN}_class-target += "bash"
-
-PROVIDES_class-nativesdk = "nativesdk-qemu"
-RPROVIDES_${PN}_class-nativesdk = "nativesdk-qemu"
-
-EXTRA_OECONF_append_class-target = " --target-list=${@get_qemu_target_list(d)}"
-EXTRA_OECONF_append_class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
-
-do_install_append_class-nativesdk() {
- ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu.inc b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu.inc
deleted file mode 100644
index 4864d7e93..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu.inc
+++ /dev/null
@@ -1,197 +0,0 @@
-SUMMARY = "Fast open source processor emulator"
-DESCRIPTION = "QEMU is a hosted virtual machine monitor: it emulates the \
-machine's processor through dynamic binary translation and provides a set \
-of different hardware and device models for the machine, enabling it to run \
-a variety of guest operating systems"
-HOMEPAGE = "http://qemu.org"
-LICENSE = "GPLv2 & LGPLv2.1"
-
-RDEPENDS_${PN}-ptest = "bash make"
-
-require qemu-targets.inc
-inherit pkgconfig ptest
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
- file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f"
-
-SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
- file://powerpc_rom.bin \
- file://run-ptest \
- file://0001-qemu-Add-missing-wacom-HID-descriptor.patch \
- file://0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \
- file://0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch \
- file://0004-qemu-disable-Valgrind.patch \
- file://0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \
- file://0006-chardev-connect-socket-to-a-spawned-command.patch \
- file://0007-apic-fixup-fallthrough-to-PIC.patch \
- file://0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
- file://0009-Fix-webkitgtk-builds.patch \
- file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \
- file://0001-Add-enable-disable-udev.patch \
- file://0001-qemu-Do-not-include-file-if-not-exists.patch \
- file://find_datadir.patch \
- file://usb-fix-setup_len-init.patch \
- file://0001-target-mips-Increase-number-of-TLB-entries-on-the-34.patch \
- file://CVE-2020-24352.patch \
- file://CVE-2020-29129-CVE-2020-29130.patch \
- file://CVE-2020-25624.patch \
- file://CVE-2020-25723.patch \
- file://CVE-2020-28916.patch \
- "
-UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
-
-SRC_URI[sha256sum] = "c9174eb5933d9eb5e61f541cd6d1184cd3118dfe4c5c4955bc1bdc4d390fa4e5"
-
-COMPATIBLE_HOST_mipsarchn32 = "null"
-COMPATIBLE_HOST_mipsarchn64 = "null"
-
-# Per https://lists.nongnu.org/archive/html/qemu-devel/2020-09/msg03873.html
-# upstream states qemu doesn't work without optimization
-DEBUG_BUILD = "0"
-
-do_install_append() {
- # Prevent QA warnings about installed ${localstatedir}/run
- if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
-}
-
-do_compile_ptest() {
- make buildtest-TESTS
-}
-
-do_install_ptest() {
- cp -rL ${B}/tests ${D}${PTEST_PATH}
- find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {}
-
- cp ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests
- # Don't check the file genreated by configure
- sed -i -e '/wildcard config-host.mak/d' \
- -e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include
- sed -i -e 's,${HOSTTOOLS_DIR}/python3,${bindir}/python3,' \
- ${D}/${PTEST_PATH}/tests/qemu-iotests/common.env
- sed -i -e "1s,#!/usr/bin/bash,#!${base_bindir}/bash," ${D}${PTEST_PATH}/tests/data/acpi/disassemle-aml.sh
-}
-
-# QEMU_TARGETS is overridable variable
-QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc ppc64 ppc64le riscv32 riscv64 sh4 x86_64"
-
-EXTRA_OECONF = " \
- --prefix=${prefix} \
- --bindir=${bindir} \
- --includedir=${includedir} \
- --libdir=${libdir} \
- --mandir=${mandir} \
- --datadir=${datadir} \
- --docdir=${docdir}/${BPN} \
- --sysconfdir=${sysconfdir} \
- --libexecdir=${libexecdir} \
- --localstatedir=${localstatedir} \
- --with-confsuffix=/${BPN} \
- --disable-strip \
- --disable-werror \
- --extra-cflags='${CFLAGS}' \
- --extra-ldflags='${LDFLAGS}' \
- --with-git=/bin/false \
- --disable-git-update \
- ${PACKAGECONFIG_CONFARGS} \
- "
-
-export LIBTOOL="${HOST_SYS}-libtool"
-
-B = "${WORKDIR}/build"
-
-EXTRA_OECONF_append = " --python=${HOSTTOOLS_DIR}/python3"
-
-do_configure_prepend_class-native() {
- # Append build host pkg-config paths for native target since the host may provide sdl
- BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable pc_path pkg-config || echo "")
- if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then
- export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH
- fi
-}
-
-do_configure() {
- ${S}/configure ${EXTRA_OECONF}
-}
-do_configure[cleandirs] += "${B}"
-
-do_install () {
- export STRIP=""
- oe_runmake 'DESTDIR=${D}' install
-}
-
-# The following fragment will create a wrapper for qemu-mips user emulation
-# binary in order to work around a segmentation fault issue. Basically, by
-# default, the reserved virtual address space for 32-on-64 bit is set to 4GB.
-# This will trigger a MMU access fault in the virtual CPU. With this change,
-# the qemu-mips works fine.
-# IMPORTANT: This piece needs to be removed once the root cause is fixed!
-do_install_append() {
- if [ -e "${D}/${bindir}/qemu-mips" ]; then
- create_wrapper ${D}/${bindir}/qemu-mips \
- QEMU_RESERVED_VA=0x0
- fi
-}
-# END of qemu-mips workaround
-
-make_qemu_wrapper() {
- gdk_pixbuf_module_file=`pkg-config --variable=gdk_pixbuf_cache_file gdk-pixbuf-2.0`
-
- for tool in `ls ${D}${bindir}/qemu-system-*`; do
- create_wrapper $tool \
- GDK_PIXBUF_MODULE_FILE=$gdk_pixbuf_module_file \
- FONTCONFIG_PATH=/etc/fonts \
- GTK_THEME=Adwaita
- done
-}
-
-# Disable kvm/virgl/mesa on targets that do not support it
-PACKAGECONFIG_remove_darwin = "kvm virglrenderer glx gtk+"
-PACKAGECONFIG_remove_mingw32 = "kvm virglrenderer glx gtk+"
-
-PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
-PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr --enable-cap-ng,--disable-virtfs,libcap-ng attr,"
-PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
-PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs,"
-PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen-tools,xen-tools-libxenstore xen-tools-libxenctrl xen-tools-libxenguest"
-PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl,"
-PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg,"
-PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng,"
-PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,curl,"
-PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss,"
-PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,"
-PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+3 gettext-native"
-PACKAGECONFIG[vte] = "--enable-vte,--disable-vte,vte gettext-native"
-PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng,"
-PACKAGECONFIG[ssh] = "--enable-libssh,--disable-libssh,libssh,"
-PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt,"
-PACKAGECONFIG[nettle] = "--enable-nettle,--disable-nettle,nettle"
-PACKAGECONFIG[libusb] = "--enable-libusb,--disable-libusb,libusb1"
-PACKAGECONFIG[fdt] = "--enable-fdt,--disable-fdt,dtc"
-PACKAGECONFIG[alsa] = "--audio-drv-list='oss alsa',,alsa-lib"
-PACKAGECONFIG[glx] = "--enable-opengl,--disable-opengl,virtual/libgl"
-PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo"
-PACKAGECONFIG[numa] = "--enable-numa,--disable-numa,numactl"
-PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls"
-PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2"
-PACKAGECONFIG[libiscsi] = "--enable-libiscsi,--disable-libiscsi"
-PACKAGECONFIG[kvm] = "--enable-kvm,--disable-kvm"
-PACKAGECONFIG[virglrenderer] = "--enable-virglrenderer,--disable-virglrenderer,virglrenderer"
-# spice will be in meta-networking layer
-PACKAGECONFIG[spice] = "--enable-spice,--disable-spice,spice"
-# usbredir will be in meta-networking layer
-PACKAGECONFIG[usb-redir] = "--enable-usb-redir,--disable-usb-redir,usbredir"
-PACKAGECONFIG[snappy] = "--enable-snappy,--disable-snappy,snappy"
-PACKAGECONFIG[glusterfs] = "--enable-glusterfs,--disable-glusterfs,glusterfs"
-PACKAGECONFIG[xkbcommon] = "--enable-xkbcommon,--disable-xkbcommon,libxkbcommon"
-PACKAGECONFIG[libudev] = "--enable-libudev,--disable-libudev,eudev"
-PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2"
-PACKAGECONFIG[attr] = "--enable-attr,--disable-attr,attr,"
-PACKAGECONFIG[rbd] = "--enable-rbd,--disable-rbd,ceph,ceph"
-PACKAGECONFIG[vhost] = "--enable-vhost-net,--disable-vhost-net,,"
-PACKAGECONFIG[ust] = "--enable-trace-backend=ust,--enable-trace-backend=nop,lttng-ust,"
-PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,,"
-PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
-
-INSANE_SKIP_${PN} = "arch"
-
-FILES_${PN} += "${datadir}/icons"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch
deleted file mode 100644
index 1304ee3bf..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From b921e5204030845dc7c9d16d5f66d965e8d05367 Mon Sep 17 00:00:00 2001
-From: Jeremy Puhlman <jpuhlman@mvista.com>
-Date: Thu, 19 Mar 2020 11:54:26 -0700
-Subject: [PATCH] Add enable/disable libudev
-
-Upstream-Status: Pending
-Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
-
-[update patch context]
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- configure | 4 ++++
- 1 file changed, 4 insertions(+)
-
-Index: qemu-5.1.0/configure
-===================================================================
---- qemu-5.1.0.orig/configure
-+++ qemu-5.1.0/configure
-@@ -1640,6 +1640,10 @@ for opt do
- ;;
- --disable-libdaxctl) libdaxctl=no
- ;;
-+ --enable-libudev) libudev="yes"
-+ ;;
-+ --disable-libudev) libudev="no"
-+ ;;
- *)
- echo "ERROR: unknown option $opt"
- echo "Try '$0 --help' for more information"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
deleted file mode 100644
index 46c9da08a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 883feb43129dc39b491e492c7ccfe89aefe53c44 Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Thu, 27 Nov 2014 14:04:29 +0000
-Subject: [PATCH] qemu: Add missing wacom HID descriptor
-
-The USB wacom device is missing a HID descriptor which causes it
-to fail to operate with recent kernels (e.g. 3.17).
-
-This patch adds a HID desriptor to the device, based upon one from
-real wcom device.
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-Upstream-Status: Submitted
-2014/11/27
-
-[update patch context]
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/usb/dev-wacom.c | 94 +++++++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 93 insertions(+), 1 deletion(-)
-
-Index: qemu-5.1.0/hw/usb/dev-wacom.c
-===================================================================
---- qemu-5.1.0.orig/hw/usb/dev-wacom.c
-+++ qemu-5.1.0/hw/usb/dev-wacom.c
-@@ -74,6 +74,89 @@ static const USBDescStrings desc_strings
- [STR_SERIALNUMBER] = "1",
- };
-
-+static const uint8_t qemu_tablet_hid_report_descriptor[] = {
-+ 0x05, 0x01, /* Usage Page (Generic Desktop) */
-+ 0x09, 0x02, /* Usage (Mouse) */
-+ 0xa1, 0x01, /* Collection (Application) */
-+ 0x85, 0x01, /* Report ID (1) */
-+ 0x09, 0x01, /* Usage (Pointer) */
-+ 0xa1, 0x00, /* Collection (Physical) */
-+ 0x05, 0x09, /* Usage Page (Button) */
-+ 0x19, 0x01, /* Usage Minimum (1) */
-+ 0x29, 0x05, /* Usage Maximum (5) */
-+ 0x15, 0x00, /* Logical Minimum (0) */
-+ 0x25, 0x01, /* Logical Maximum (1) */
-+ 0x95, 0x05, /* Report Count (5) */
-+ 0x75, 0x01, /* Report Size (1) */
-+ 0x81, 0x02, /* Input (Data, Variable, Absolute) */
-+ 0x95, 0x01, /* Report Count (1) */
-+ 0x75, 0x03, /* Report Size (3) */
-+ 0x81, 0x01, /* Input (Constant) */
-+ 0x05, 0x01, /* Usage Page (Generic Desktop) */
-+ 0x09, 0x30, /* Usage (X) */
-+ 0x09, 0x31, /* Usage (Y) */
-+ 0x15, 0x81, /* Logical Minimum (-127) */
-+ 0x25, 0x7f, /* Logical Maximum (127) */
-+ 0x75, 0x08, /* Report Size (8) */
-+ 0x95, 0x02, /* Report Count (2) */
-+ 0x81, 0x06, /* Input (Data, Variable, Relative) */
-+ 0xc0, /* End Collection */
-+ 0xc0, /* End Collection */
-+ 0x05, 0x0d, /* Usage Page (Digitizer) */
-+ 0x09, 0x01, /* Usage (Digitizer) */
-+ 0xa1, 0x01, /* Collection (Application) */
-+ 0x85, 0x02, /* Report ID (2) */
-+ 0xa1, 0x00, /* Collection (Physical) */
-+ 0x06, 0x00, 0xff, /* Usage Page (Vendor 0xff00) */
-+ 0x09, 0x01, /* Usage (Digitizer) */
-+ 0x15, 0x00, /* Logical Minimum (0) */
-+ 0x26, 0xff, 0x00, /* Logical Maximum (255) */
-+ 0x75, 0x08, /* Report Size (8) */
-+ 0x95, 0x08, /* Report Count (8) */
-+ 0x81, 0x02, /* Input (Data, Variable, Absolute) */
-+ 0xc0, /* End Collection */
-+ 0x09, 0x01, /* Usage (Digitizer) */
-+ 0x85, 0x02, /* Report ID (2) */
-+ 0x95, 0x01, /* Report Count (1) */
-+ 0xb1, 0x02, /* FEATURE (2) */
-+ 0xc0, /* End Collection */
-+ 0x06, 0x00, 0xff, /* Usage Page (Vendor 0xff00) */
-+ 0x09, 0x01, /* Usage (Digitizer) */
-+ 0xa1, 0x01, /* Collection (Application) */
-+ 0x85, 0x02, /* Report ID (2) */
-+ 0x05, 0x0d, /* Usage Page (Digitizer) */
-+ 0x09, 0x22, /* Usage (Finger) */
-+ 0xa1, 0x00, /* Collection (Physical) */
-+ 0x06, 0x00, 0xff, /* Usage Page (Vendor 0xff00) */
-+ 0x09, 0x01, /* Usage (Digitizer) */
-+ 0x15, 0x00, /* Logical Minimum (0) */
-+ 0x26, 0xff, 0x00, /* Logical Maximum */
-+ 0x75, 0x08, /* Report Size (8) */
-+ 0x95, 0x02, /* Report Count (2) */
-+ 0x81, 0x02, /* Input (Data, Variable, Absolute) */
-+ 0x05, 0x01, /* Usage Page (Generic Desktop) */
-+ 0x09, 0x30, /* Usage (X) */
-+ 0x35, 0x00, /* Physical Minimum */
-+ 0x46, 0xe0, 0x2e, /* Physical Maximum */
-+ 0x26, 0xe0, 0x01, /* Logical Maximum */
-+ 0x75, 0x10, /* Report Size (16) */
-+ 0x95, 0x01, /* Report Count (1) */
-+ 0x81, 0x02, /* Input (Data, Variable, Absolute) */
-+ 0x09, 0x31, /* Usage (Y) */
-+ 0x46, 0x40, 0x1f, /* Physical Maximum */
-+ 0x26, 0x40, 0x01, /* Logical Maximum */
-+ 0x81, 0x02, /* Input (Data, Variable, Absolute) */
-+ 0x06, 0x00, 0xff, /* Usage Page (Vendor 0xff00) */
-+ 0x09, 0x01, /* Usage (Digitizer) */
-+ 0x26, 0xff, 0x00, /* Logical Maximum */
-+ 0x75, 0x08, /* Report Size (8) */
-+ 0x95, 0x0d, /* Report Count (13) */
-+ 0x81, 0x02, /* Input (Data, Variable, Absolute) */
-+ 0xc0, /* End Collection */
-+ 0xc0, /* End Collection */
-+};
-+
-+
- static const USBDescIface desc_iface_wacom = {
- .bInterfaceNumber = 0,
- .bNumEndpoints = 1,
-@@ -91,7 +174,7 @@ static const USBDescIface desc_iface_wac
- 0x00, /* u8 country_code */
- 0x01, /* u8 num_descriptors */
- 0x22, /* u8 type: Report */
-- 0x6e, 0, /* u16 len */
-+ sizeof(qemu_tablet_hid_report_descriptor), 0, /* u16 len */
- },
- },
- },
-@@ -271,6 +354,15 @@ static void usb_wacom_handle_control(USB
- }
-
- switch (request) {
-+ case InterfaceRequest | USB_REQ_GET_DESCRIPTOR:
-+ switch (value >> 8) {
-+ case 0x22:
-+ memcpy(data, qemu_tablet_hid_report_descriptor,
-+ sizeof(qemu_tablet_hid_report_descriptor));
-+ p->actual_length = sizeof(qemu_tablet_hid_report_descriptor);
-+ break;
-+ }
-+ break;
- case WACOM_SET_REPORT:
- if (s->mouse_grabbed) {
- qemu_remove_mouse_event_handler(s->eh_entry);
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch
deleted file mode 100644
index d6c0f9ebe..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 34247f83095f8cdcdc1f9d7f0c6ffbd46b25d979 Mon Sep 17 00:00:00 2001
-From: Oleksiy Obitotskyy <oobitots@cisco.com>
-Date: Wed, 25 Mar 2020 21:21:35 +0200
-Subject: [PATCH] qemu: Do not include file if not exists
-
-Script configure checks for if_alg.h and check failed but
-if_alg.h still included.
-
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2020-03/msg07188.html]
-Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
-
-[update patch context]
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- linux-user/syscall.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-Index: qemu-5.1.0/linux-user/syscall.c
-===================================================================
---- qemu-5.1.0.orig/linux-user/syscall.c
-+++ qemu-5.1.0/linux-user/syscall.c
-@@ -109,7 +109,9 @@
- #include <linux/blkpg.h>
- #include <netpacket/packet.h>
- #include <linux/netlink.h>
-+#if defined(CONFIG_AF_ALG)
- #include <linux/if_alg.h>
-+#endif
- #include <linux/rtc.h>
- #include <sound/asound.h>
- #ifdef HAVE_DRM_H
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-target-mips-Increase-number-of-TLB-entries-on-the-34.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-target-mips-Increase-number-of-TLB-entries-on-the-34.patch
deleted file mode 100644
index 5227b7cbd..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0001-target-mips-Increase-number-of-TLB-entries-on-the-34.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 68fa519a6cb455005317bd61f95214b58b2f1e69 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>
-Date: Fri, 16 Oct 2020 15:20:37 +0200
-Subject: [PATCH] target/mips: Increase number of TLB entries on the 34Kf core
- (16 -> 64)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Per "MIPS32 34K Processor Core Family Software User's Manual,
-Revision 01.13" page 8 in "Joint TLB (JTLB)" section:
-
- "The JTLB is a fully associative TLB cache containing 16, 32,
- or 64-dual-entries mapping up to 128 virtual pages to their
- corresponding physical addresses."
-
-There is no particular reason to restrict the 34Kf core model to
-16 TLB entries, so raise its config to 64.
-
-This is helpful for other projects, in particular the Yocto Project:
-
- Yocto Project uses qemu-system-mips 34Kf cpu model, to run 32bit
- MIPS CI loop. It was observed that in this case CI test execution
- time was almost twice longer than 64bit MIPS variant that runs
- under MIPS64R2-generic model. It was investigated and concluded
- that the difference in number of TLBs 16 in 34Kf case vs 64 in
- MIPS64R2-generic is responsible for most of CI real time execution
- difference. Because with 16 TLBs linux user-land trashes TLB more
- and it needs to execute more instructions in TLB refill handler
- calls, as result it runs much longer.
-
-(https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg03428.html)
-
-Buglink: https://bugzilla.yoctoproject.org/show_bug.cgi?id=13992
-Reported-by: Victor Kamensky <kamensky@cisco.com>
-Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
-Message-Id: <20201016133317.553068-1-f4bug@amsat.org>
-
-Upstream-Status: Backport [https://github.com/qemu/qemu/commit/68fa519a6cb455005317bd61f95214b58b2f1e69]
-Signed-off-by: Victor Kamensky <kamensky@cisco.com>
-
----
- target/mips/translate_init.c.inc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: qemu-5.1.0/target/mips/translate_init.inc.c
-===================================================================
---- qemu-5.1.0.orig/target/mips/translate_init.inc.c
-+++ qemu-5.1.0/target/mips/translate_init.inc.c
-@@ -254,7 +254,7 @@ const mips_def_t mips_defs[] =
- .CP0_PRid = 0x00019500,
- .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR) |
- (MMU_TYPE_R4000 << CP0C0_MT),
-- .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (15 << CP0C1_MMU) |
-+ .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (63 << CP0C1_MMU) |
- (0 << CP0C1_IS) | (3 << CP0C1_IL) | (1 << CP0C1_IA) |
- (0 << CP0C1_DS) | (3 << CP0C1_DL) | (1 << CP0C1_DA) |
- (1 << CP0C1_CA),
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
deleted file mode 100644
index f379948f1..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 5da6cef7761157a003e7ebde74fb3cf90ab396d9 Mon Sep 17 00:00:00 2001
-From: Juro Bystricky <juro.bystricky@intel.com>
-Date: Thu, 31 Aug 2017 11:06:56 -0700
-Subject: [PATCH] Add subpackage -ptest which runs all unit test cases for
- qemu.
-
-Upstream-Status: Pending
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-
-[update patch context]
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- tests/Makefile.include | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-Index: qemu-5.1.0/tests/Makefile.include
-===================================================================
---- qemu-5.1.0.orig/tests/Makefile.include
-+++ qemu-5.1.0/tests/Makefile.include
-@@ -982,4 +982,12 @@ all: $(QEMU_IOTESTS_HELPERS-y)
- -include $(wildcard tests/qtest/*.d)
- -include $(wildcard tests/qtest/libqos/*.d)
-
-+buildtest-TESTS: $(check-unit-y)
-+
-+runtest-TESTS:
-+ for f in $(check-unit-y); do \
-+ nf=$$(echo $$f | sed 's/tests\//\.\//g'); \
-+ $$nf; \
-+ done
-+
- endif
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
deleted file mode 100644
index 33cef4221..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ce1eceab2350d27960ec254650717085f6a11c9a Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Fri, 28 Mar 2014 17:42:43 +0800
-Subject: [PATCH] qemu: Add addition environment space to boot loader
- qemu-system-mips
-
-Upstream-Status: Inappropriate - OE uses deep paths
-
-If you create a project with very long directory names like 128 characters
-deep and use NFS, the kernel arguments will be truncated. The kernel will
-accept longer strings such as 1024 bytes, but the qemu boot loader defaulted
-to only 256 bytes. This patch expands the limit.
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-
----
- hw/mips/malta.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: qemu-5.1.0/hw/mips/malta.c
-===================================================================
---- qemu-5.1.0.orig/hw/mips/malta.c
-+++ qemu-5.1.0/hw/mips/malta.c
-@@ -59,7 +59,7 @@
-
- #define ENVP_ADDR 0x80002000l
- #define ENVP_NB_ENTRIES 16
--#define ENVP_ENTRY_SIZE 256
-+#define ENVP_ENTRY_SIZE 1024
-
- /* Hardware addresses */
- #define FLASH_ADDRESS 0x1e000000ULL
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
deleted file mode 100644
index 71f537f9b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 4127296bb1046cdf73994ba69dc913d8c02fd74f Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 20 Oct 2015 22:19:08 +0100
-Subject: [PATCH] qemu: disable Valgrind
-
-There isn't an option to enable or disable valgrind support, so disable it to avoid non-deterministic builds.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
----
- configure | 9 ---------
- 1 file changed, 9 deletions(-)
-
-Index: qemu-5.1.0/configure
-===================================================================
---- qemu-5.1.0.orig/configure
-+++ qemu-5.1.0/configure
-@@ -5751,15 +5751,6 @@ fi
- # check if we have valgrind/valgrind.h
-
- valgrind_h=no
--cat > $TMPC << EOF
--#include <valgrind/valgrind.h>
--int main(void) {
-- return 0;
--}
--EOF
--if compile_prog "" "" ; then
-- valgrind_h=yes
--fi
-
- ########################################
- # check if environ is declared
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
deleted file mode 100644
index 02ebbee1a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 230fe5804099bdca0c9e4cae7280c9fc513cb7f5 Mon Sep 17 00:00:00 2001
-From: Stephen Arnold <sarnold@vctlabs.com>
-Date: Sun, 12 Jun 2016 18:09:56 -0700
-Subject: [PATCH] qemu-native: set ld.bfd, fix cflags, and set some environment
-
-Upstream-Status: Pending
-
-[update patch context]
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- configure | 4 ----
- 1 file changed, 4 deletions(-)
-
-Index: qemu-5.1.0/configure
-===================================================================
---- qemu-5.1.0.orig/configure
-+++ qemu-5.1.0/configure
-@@ -6515,10 +6515,6 @@ write_c_skeleton
- if test "$gcov" = "yes" ; then
- QEMU_CFLAGS="-fprofile-arcs -ftest-coverage -g $QEMU_CFLAGS"
- QEMU_LDFLAGS="-fprofile-arcs -ftest-coverage $QEMU_LDFLAGS"
--elif test "$fortify_source" = "yes" ; then
-- CFLAGS="-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $CFLAGS"
--elif test "$debug" = "no"; then
-- CFLAGS="-O2 $CFLAGS"
- fi
-
- if test "$have_asan" = "yes"; then
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch
deleted file mode 100644
index 98fd5e913..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-From bcc63f775e265df69963a4ad7805b8678ace68f0 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@xilinx.com>
-Date: Thu, 21 Dec 2017 11:35:16 -0800
-Subject: [PATCH] chardev: connect socket to a spawned command
-
-The command is started in a shell (sh -c) with stdin connect to QEMU
-via a Unix domain stream socket. QEMU then exchanges data via its own
-end of the socket, just like it normally does.
-
-"-chardev socket" supports some ways of connecting via protocols like
-telnet, but that is only a subset of the functionality supported by
-tools socat. To use socat instead, for example to connect via a socks
-proxy, use:
-
- -chardev 'socket,id=socat,cmd=exec socat FD:0 SOCKS4A:socks-proxy.localdomain:example.com:9999,,socksuser=nobody' \
- -device usb-serial,chardev=socat
-
-Beware that commas in the command must be escaped as double commas.
-
-Or interactively in the console:
- (qemu) chardev-add socket,id=cat,cmd=cat
- (qemu) device_add usb-serial,chardev=cat
- ^ac
- # cat >/dev/ttyUSB0
- hello
- hello
-
-Another usage is starting swtpm from inside QEMU. swtpm will
-automatically shut down once it looses the connection to the parent
-QEMU, so there is no risk of lingering processes:
-
- -chardev 'socket,id=chrtpm0,cmd=exec swtpm socket --terminate --ctrl type=unixio,,clientfd=0 --tpmstate dir=... --log file=swtpm.log' \
- -tpmdev emulator,id=tpm0,chardev=chrtpm0 \
- -device tpm-tis,tpmdev=tpm0
-
-The patch was discussed upstream, but QEMU developers believe that the
-code calling QEMU should be responsible for managing additional
-processes. In OE-core, that would imply enhancing runqemu and
-oeqa. This patch is a simpler solution.
-
-Because it is not going upstream, the patch was written so that it is
-as simple as possible.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
-
----
- chardev/char-socket.c | 101 ++++++++++++++++++++++++++++++++++++++++++
- chardev/char.c | 3 ++
- qapi/char.json | 5 +++
- 3 files changed, 109 insertions(+)
-
-Index: qemu-5.1.0/chardev/char-socket.c
-===================================================================
---- qemu-5.1.0.orig/chardev/char-socket.c
-+++ qemu-5.1.0/chardev/char-socket.c
-@@ -1292,6 +1292,67 @@ static bool qmp_chardev_validate_socket(
- return true;
- }
-
-+#ifndef _WIN32
-+static void chardev_open_socket_cmd(Chardev *chr,
-+ const char *cmd,
-+ Error **errp)
-+{
-+ int fds[2] = { -1, -1 };
-+ QIOChannelSocket *sioc = NULL;
-+ pid_t pid = -1;
-+ const char *argv[] = { "/bin/sh", "-c", cmd, NULL };
-+
-+ /*
-+ * We need a Unix domain socket for commands like swtpm and a single
-+ * connection, therefore we cannot use qio_channel_command_new_spawn()
-+ * without patching it first. Duplicating the functionality is easier.
-+ */
-+ if (socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0, fds)) {
-+ error_setg_errno(errp, errno, "Error creating socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC)");
-+ goto error;
-+ }
-+
-+ pid = qemu_fork(errp);
-+ if (pid < 0) {
-+ goto error;
-+ }
-+
-+ if (!pid) {
-+ /* child */
-+ dup2(fds[1], STDIN_FILENO);
-+ execv(argv[0], (char * const *)argv);
-+ _exit(1);
-+ }
-+
-+ /*
-+ * Hand over our end of the socket pair to the qio channel.
-+ *
-+ * We don't reap the child because it is expected to keep
-+ * running. We also don't support the "reconnect" option for the
-+ * same reason.
-+ */
-+ sioc = qio_channel_socket_new_fd(fds[0], errp);
-+ if (!sioc) {
-+ goto error;
-+ }
-+ fds[0] = -1;
-+
-+ g_free(chr->filename);
-+ chr->filename = g_strdup_printf("cmd:%s", cmd);
-+ tcp_chr_new_client(chr, sioc);
-+
-+ error:
-+ if (fds[0] >= 0) {
-+ close(fds[0]);
-+ }
-+ if (fds[1] >= 0) {
-+ close(fds[1]);
-+ }
-+ if (sioc) {
-+ object_unref(OBJECT(sioc));
-+ }
-+}
-+#endif
-
- static void qmp_chardev_open_socket(Chardev *chr,
- ChardevBackend *backend,
-@@ -1300,6 +1361,9 @@ static void qmp_chardev_open_socket(Char
- {
- SocketChardev *s = SOCKET_CHARDEV(chr);
- ChardevSocket *sock = backend->u.socket.data;
-+#ifndef _WIN32
-+ const char *cmd = sock->cmd;
-+#endif
- bool do_nodelay = sock->has_nodelay ? sock->nodelay : false;
- bool is_listen = sock->has_server ? sock->server : true;
- bool is_telnet = sock->has_telnet ? sock->telnet : false;
-@@ -1365,6 +1429,14 @@ static void qmp_chardev_open_socket(Char
-
- update_disconnected_filename(s);
-
-+#ifndef _WIN32
-+ if (cmd) {
-+ chardev_open_socket_cmd(chr, cmd, errp);
-+
-+ /* everything ready (or failed permanently) before we return */
-+ *be_opened = true;
-+ } else
-+#endif
- if (s->is_listen) {
- if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270,
- is_waitconnect, errp) < 0) {
-@@ -1384,11 +1456,27 @@ static void qemu_chr_parse_socket(QemuOp
- const char *host = qemu_opt_get(opts, "host");
- const char *port = qemu_opt_get(opts, "port");
- const char *fd = qemu_opt_get(opts, "fd");
-+#ifndef _WIN32
-+ const char *cmd = qemu_opt_get(opts, "cmd");
-+#endif
- bool tight = qemu_opt_get_bool(opts, "tight", true);
- bool abstract = qemu_opt_get_bool(opts, "abstract", false);
- SocketAddressLegacy *addr;
- ChardevSocket *sock;
-
-+#ifndef _WIN32
-+ if (cmd) {
-+ /*
-+ * Here we have to ensure that no options are set which are incompatible with
-+ * spawning a command, otherwise unmodified code that doesn't know about
-+ * command spawning (like socket_reconnect_timeout()) might get called.
-+ */
-+ if (path || sock->server || sock->has_telnet || sock->has_tn3270 || sock->reconnect || host || port || sock->tls_creds) {
-+ error_setg(errp, "chardev: socket: cmd does not support any additional options");
-+ return;
-+ }
-+ } else
-+#endif
- if ((!!path + !!fd + !!host) != 1) {
- error_setg(errp,
- "Exactly one of 'path', 'fd' or 'host' required");
-@@ -1431,12 +1519,24 @@ static void qemu_chr_parse_socket(QemuOp
- sock->has_tls_authz = qemu_opt_get(opts, "tls-authz");
- sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz"));
-
-- addr = g_new0(SocketAddressLegacy, 1);
-+#ifndef _WIN32
-+ sock->cmd = g_strdup(cmd);
-+#endif
-+
-+ addr = g_new0(SocketAddressLegacy, 1);
-+#ifndef _WIN32
-+ if (path || cmd) {
-+#else
- if (path) {
-+#endif
- UnixSocketAddress *q_unix;
- addr->type = SOCKET_ADDRESS_LEGACY_KIND_UNIX;
- q_unix = addr->u.q_unix.data = g_new0(UnixSocketAddress, 1);
-+#ifndef _WIN32
-+ q_unix->path = cmd ? g_strdup_printf("cmd:%s", cmd) : g_strdup(path);
-+#else
- q_unix->path = g_strdup(path);
-+#endif
- q_unix->tight = tight;
- q_unix->abstract = abstract;
- } else if (host) {
-Index: qemu-5.1.0/chardev/char.c
-===================================================================
---- qemu-5.1.0.orig/chardev/char.c
-+++ qemu-5.1.0/chardev/char.c
-@@ -826,6 +826,9 @@ QemuOptsList qemu_chardev_opts = {
- .name = "path",
- .type = QEMU_OPT_STRING,
- },{
-+ .name = "cmd",
-+ .type = QEMU_OPT_STRING,
-+ },{
- .name = "host",
- .type = QEMU_OPT_STRING,
- },{
-Index: qemu-5.1.0/qapi/char.json
-===================================================================
---- qemu-5.1.0.orig/qapi/char.json
-+++ qemu-5.1.0/qapi/char.json
-@@ -250,6 +250,10 @@
- #
- # @addr: socket address to listen on (server=true)
- # or connect to (server=false)
-+# @cmd: command to run via "sh -c" with stdin as one end of
-+# a AF_UNIX SOCK_DSTREAM socket pair. The other end
-+# is used by the chardev. Either an addr or a cmd can
-+# be specified, but not both.
- # @tls-creds: the ID of the TLS credentials object (since 2.6)
- # @tls-authz: the ID of the QAuthZ authorization object against which
- # the client's x509 distinguished name will be validated. This
-@@ -276,6 +280,7 @@
- ##
- { 'struct': 'ChardevSocket',
- 'data': { 'addr': 'SocketAddressLegacy',
-+ '*cmd': 'str',
- '*tls-creds': 'str',
- '*tls-authz' : 'str',
- '*server': 'bool',
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch
deleted file mode 100644
index 034ac5782..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From a59a98d100123030a4145e7efe3b8a001920a9f1 Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Tue, 26 Feb 2013 11:43:28 -0500
-Subject: [PATCH] apic: fixup fallthrough to PIC
-
-Commit 0e21e12bb311c4c1095d0269dc2ef81196ccb60a [Don't route PIC
-interrupts through the local APIC if the local APIC config says so.]
-missed a check to ensure the local APIC is enabled. Since if the local
-APIC is disabled it doesn't matter what the local APIC config says.
-
-If this check isn't done and the guest has disabled the local APIC the
-guest will receive a general protection fault, similar to what is seen
-here:
-
-https://lists.gnu.org/archive/html/qemu-devel/2012-12/msg02304.html
-
-The GPF is caused by an attempt to service interrupt 0xffffffff. This
-comes about since cpu_get_pic_interrupt() calls apic_accept_pic_intr()
-(with the local APIC disabled apic_get_interrupt() returns -1).
-apic_accept_pic_intr() returns 0 and thus the interrupt number which
-is returned from cpu_get_pic_interrupt(), and which is attempted to be
-serviced, is -1.
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg00878.html]
-Signed-off-by: He Zhe <zhe.he@windriver.com>
-
----
- hw/intc/apic.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: qemu-5.1.0/hw/intc/apic.c
-===================================================================
---- qemu-5.1.0.orig/hw/intc/apic.c
-+++ qemu-5.1.0/hw/intc/apic.c
-@@ -603,7 +603,7 @@ int apic_accept_pic_intr(DeviceState *de
- APICCommonState *s = APIC(dev);
- uint32_t lvt0;
-
-- if (!s)
-+ if (!s || !(s->spurious_vec & APIC_SV_ENABLE))
- return -1;
-
- lvt0 = s->lvt[APIC_LVT_LINT0];
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
deleted file mode 100644
index d20f04ee5..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From cf8c9aac5243f506a1a3e8e284414f311cde04f5 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@xilinx.com>
-Date: Wed, 17 Jan 2018 10:51:49 -0800
-Subject: [PATCH] linux-user: Fix webkitgtk hangs on 32-bit x86 target
-
-Since commit "linux-user: Tidy and enforce reserved_va initialization"
-(18e80c55bb6ec17c05ec0ba717ec83933c2bfc07) the Yocto webkitgtk build
-hangs when cross compiling for 32-bit x86 on a 64-bit x86 machine using
-musl.
-
-To fix the issue reduce the MAX_RESERVED_VA macro to be a closer match
-to what it was before the problematic commit.
-
-Upstream-Status: Submitted http://lists.gnu.org/archive/html/qemu-devel/2018-01/msg04185.html
-Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
-
----
- linux-user/main.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: qemu-5.1.0/linux-user/main.c
-===================================================================
---- qemu-5.1.0.orig/linux-user/main.c
-+++ qemu-5.1.0/linux-user/main.c
-@@ -92,7 +92,7 @@ static int last_log_mask;
- (TARGET_LONG_BITS == 32 || defined(TARGET_ABI32))
- /* There are a number of places where we assign reserved_va to a variable
- of type abi_ulong and expect it to fit. Avoid the last page. */
--# define MAX_RESERVED_VA(CPU) (0xfffffffful & TARGET_PAGE_MASK)
-+# define MAX_RESERVED_VA(CPU) (0x7ffffffful & TARGET_PAGE_MASK)
- # else
- # define MAX_RESERVED_VA(CPU) (1ul << TARGET_VIRT_ADDR_SPACE_BITS)
- # endif
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch
deleted file mode 100644
index f2a44986b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 815c97ba0de02da9dace3fcfcbdf9b20e029f0d7 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <martin.jansa@lge.com>
-Date: Fri, 1 Jun 2018 08:41:07 +0000
-Subject: [PATCH] Fix webkitgtk builds
-
-This is a partial revert of "linux-user: fix mmap/munmap/mprotect/mremap/shmat".
-
-This patch fixes qemu-i386 hangs during gobject-introspection in webkitgtk build
-when musl is used on qemux86. This is the same issue that
-0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch was
-fixing in the 2.11 release.
-
-This patch also fixes a build failure when building webkitgtk for
-qemumips. A QEMU assert is seen while building webkitgtk:
-page_check_range: Assertion `start < ((target_ulong)1 << L1_MAP_ADDR_SPACE_BITS)' failed.
-
-This reverts commit ebf9a3630c911d0cfc9c20f7cafe9ba4f88cf583.
-
-Upstream-Status: Pending
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-
-[update patch context]
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- include/exec/cpu-all.h | 6 +-----
- include/exec/cpu_ldst.h | 5 ++++-
- linux-user/mmap.c | 17 ++++-------------
- linux-user/syscall.c | 5 +----
- 4 files changed, 10 insertions(+), 23 deletions(-)
-
-Index: qemu-5.1.0/include/exec/cpu-all.h
-===================================================================
---- qemu-5.1.0.orig/include/exec/cpu-all.h
-+++ qemu-5.1.0/include/exec/cpu-all.h
-@@ -176,11 +176,8 @@ extern unsigned long reserved_va;
- * avoid setting bits at the top of guest addresses that might need
- * to be used for tags.
- */
--#define GUEST_ADDR_MAX_ \
-- ((MIN_CONST(TARGET_VIRT_ADDR_SPACE_BITS, TARGET_ABI_BITS) <= 32) ? \
-- UINT32_MAX : ~0ul)
--#define GUEST_ADDR_MAX (reserved_va ? reserved_va - 1 : GUEST_ADDR_MAX_)
--
-+#define GUEST_ADDR_MAX (reserved_va ? reserved_va : \
-+ (1ul << TARGET_VIRT_ADDR_SPACE_BITS) - 1)
- #else
-
- #include "exec/hwaddr.h"
-Index: qemu-5.1.0/include/exec/cpu_ldst.h
-===================================================================
---- qemu-5.1.0.orig/include/exec/cpu_ldst.h
-+++ qemu-5.1.0/include/exec/cpu_ldst.h
-@@ -75,7 +75,10 @@ typedef uint64_t abi_ptr;
- #if HOST_LONG_BITS <= TARGET_VIRT_ADDR_SPACE_BITS
- #define guest_addr_valid(x) (1)
- #else
--#define guest_addr_valid(x) ((x) <= GUEST_ADDR_MAX)
-+#define guest_addr_valid(x) ({ \
-+ ((x) < (1ul << TARGET_VIRT_ADDR_SPACE_BITS)) && \
-+ (!reserved_va || ((x) < reserved_va)); \
-+})
- #endif
- #define h2g_valid(x) guest_addr_valid((unsigned long)(x) - guest_base)
-
-Index: qemu-5.1.0/linux-user/mmap.c
-===================================================================
---- qemu-5.1.0.orig/linux-user/mmap.c
-+++ qemu-5.1.0/linux-user/mmap.c
-@@ -71,7 +71,7 @@ int target_mprotect(abi_ulong start, abi
- return -TARGET_EINVAL;
- len = TARGET_PAGE_ALIGN(len);
- end = start + len;
-- if (!guest_range_valid(start, len)) {
-+ if (end < start) {
- return -TARGET_ENOMEM;
- }
- prot &= PROT_READ | PROT_WRITE | PROT_EXEC;
-@@ -467,8 +467,8 @@ abi_long target_mmap(abi_ulong start, ab
- * It can fail only on 64-bit host with 32-bit target.
- * On any other target/host host mmap() handles this error correctly.
- */
-- if (end < start || !guest_range_valid(start, len)) {
-- errno = ENOMEM;
-+ if (end < start || ((unsigned long)start + len - 1 > (abi_ulong) -1)) {
-+ errno = EINVAL;
- goto fail;
- }
-
-@@ -604,10 +604,8 @@ int target_munmap(abi_ulong start, abi_u
- if (start & ~TARGET_PAGE_MASK)
- return -TARGET_EINVAL;
- len = TARGET_PAGE_ALIGN(len);
-- if (len == 0 || !guest_range_valid(start, len)) {
-+ if (len == 0)
- return -TARGET_EINVAL;
-- }
--
- mmap_lock();
- end = start + len;
- real_start = start & qemu_host_page_mask;
-@@ -662,13 +660,6 @@ abi_long target_mremap(abi_ulong old_add
- int prot;
- void *host_addr;
-
-- if (!guest_range_valid(old_addr, old_size) ||
-- ((flags & MREMAP_FIXED) &&
-- !guest_range_valid(new_addr, new_size))) {
-- errno = ENOMEM;
-- return -1;
-- }
--
- mmap_lock();
-
- if (flags & MREMAP_FIXED) {
-Index: qemu-5.1.0/linux-user/syscall.c
-===================================================================
---- qemu-5.1.0.orig/linux-user/syscall.c
-+++ qemu-5.1.0/linux-user/syscall.c
-@@ -4336,9 +4336,6 @@ static inline abi_ulong do_shmat(CPUArch
- return -TARGET_EINVAL;
- }
- }
-- if (!guest_range_valid(shmaddr, shm_info.shm_segsz)) {
-- return -TARGET_EINVAL;
-- }
-
- mmap_lock();
-
-@@ -7376,7 +7373,7 @@ static int open_self_maps(void *cpu_env,
- const char *path;
-
- max = h2g_valid(max - 1) ?
-- max : (uintptr_t) g2h(GUEST_ADDR_MAX) + 1;
-+ max : (uintptr_t) g2h(GUEST_ADDR_MAX);
-
- if (page_check_range(h2g(min), max - min, flags) == -1) {
- continue;
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
deleted file mode 100644
index d7e3fffdd..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From c207607cdf3996ad9783c3bffbcd3d65e74c0158 Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Wed, 28 Aug 2019 19:56:28 +0800
-Subject: [PATCH] configure: Add pkg-config handling for libgcrypt
-
-libgcrypt may also be controlled by pkg-config, this patch adds pkg-config
-handling for libgcrypt.
-
-Upstream-Status: Denied [https://lists.nongnu.org/archive/html/qemu-devel/2019-08/msg06333.html]
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
-
----
- configure | 48 ++++++++++++++++++++++++++++++++++++++++--------
- 1 file changed, 40 insertions(+), 8 deletions(-)
-
-Index: qemu-5.1.0/configure
-===================================================================
---- qemu-5.1.0.orig/configure
-+++ qemu-5.1.0/configure
-@@ -3084,6 +3084,30 @@ has_libgcrypt() {
- return 0
- }
-
-+has_libgcrypt_pkgconfig() {
-+ if ! has $pkg_config ; then
-+ return 1
-+ fi
-+
-+ if ! $pkg_config --list-all | grep libgcrypt > /dev/null 2>&1 ; then
-+ return 1
-+ fi
-+
-+ if test -n "$cross_prefix" ; then
-+ host=$($pkg_config --variable=host libgcrypt)
-+ if test "${host%-gnu}-" != "${cross_prefix%-gnu}" ; then
-+ print_error "host($host) does not match cross_prefix($cross_prefix)"
-+ return 1
-+ fi
-+ fi
-+
-+ if ! $pkg_config --atleast-version=1.5.0 libgcrypt ; then
-+ print_error "libgcrypt version is $($pkg_config --modversion libgcrypt)"
-+ return 1
-+ fi
-+
-+ return 0
-+}
-
- if test "$nettle" != "no"; then
- pass="no"
-@@ -3124,7 +3148,14 @@ fi
-
- if test "$gcrypt" != "no"; then
- pass="no"
-- if has_libgcrypt; then
-+ if has_libgcrypt_pkgconfig; then
-+ gcrypt_cflags=$($pkg_config --cflags libgcrypt)
-+ if test "$static" = "yes" ; then
-+ gcrypt_libs=$($pkg_config --libs --static libgcrypt)
-+ else
-+ gcrypt_libs=$($pkg_config --libs libgcrypt)
-+ fi
-+ elif has_libgcrypt; then
- gcrypt_cflags=$(libgcrypt-config --cflags)
- gcrypt_libs=$(libgcrypt-config --libs)
- # Debian has removed -lgpg-error from libgcrypt-config
-@@ -3134,15 +3165,16 @@ if test "$gcrypt" != "no"; then
- then
- gcrypt_libs="$gcrypt_libs -lgpg-error"
- fi
-+ fi
-
-- # Link test to make sure the given libraries work (e.g for static).
-- write_c_skeleton
-- if compile_prog "" "$gcrypt_libs" ; then
-- LIBS="$gcrypt_libs $LIBS"
-- QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags"
-- pass="yes"
-- fi
-+ # Link test to make sure the given libraries work (e.g for static).
-+ write_c_skeleton
-+ if compile_prog "" "$gcrypt_libs" ; then
-+ LIBS="$gcrypt_libs $LIBS"
-+ QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags"
-+ pass="yes"
- fi
-+
- if test "$pass" = "yes"; then
- gcrypt="yes"
- cat > $TMPC << EOF
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-24352.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-24352.patch
deleted file mode 100644
index 861ff6c3b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-24352.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From ca1f9cbfdce4d63b10d57de80fef89a89d92a540 Mon Sep 17 00:00:00 2001
-From: Prasad J Pandit <pjp@fedoraproject.org>
-Date: Wed, 21 Oct 2020 16:08:18 +0530
-Subject: [PATCH 1/1] ati: check x y display parameter values
-
-The source and destination x,y display parameters in ati_2d_blt()
-may run off the vga limits if either of s->regs.[src|dst]_[xy] is
-zero. Check the parameter values to avoid potential crash.
-
-Reported-by: Gaoning Pan <pgn@zju.edu.cn>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-Message-id: 20201021103818.1704030-1-ppandit@redhat.com
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-
-Upstream-Status: Backport [ https://git.qemu.org/?p=qemu.git;a=commitdiff;h=ca1f9cbfdce4d63b10d57de80fef89a89d92a540;hp=2ddafce7f797082ad216657c830afd4546f16e37 ]
-CVE: CVE-2020-24352
-Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
----
- hw/display/ati_2d.c | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/hw/display/ati_2d.c b/hw/display/ati_2d.c
-index 23a8ae0..4dc10ea 100644
---- a/hw/display/ati_2d.c
-+++ b/hw/display/ati_2d.c
-@@ -75,8 +75,9 @@ void ati_2d_blt(ATIVGAState *s)
- dst_stride *= bpp;
- }
- uint8_t *end = s->vga.vram_ptr + s->vga.vram_size;
-- if (dst_bits >= end || dst_bits + dst_x + (dst_y + s->regs.dst_height) *
-- dst_stride >= end) {
-+ if (dst_x > 0x3fff || dst_y > 0x3fff || dst_bits >= end
-+ || dst_bits + dst_x
-+ + (dst_y + s->regs.dst_height) * dst_stride >= end) {
- qemu_log_mask(LOG_UNIMP, "blt outside vram not implemented\n");
- return;
- }
-@@ -107,8 +108,9 @@ void ati_2d_blt(ATIVGAState *s)
- src_bits += s->regs.crtc_offset & 0x07ffffff;
- src_stride *= bpp;
- }
-- if (src_bits >= end || src_bits + src_x +
-- (src_y + s->regs.dst_height) * src_stride >= end) {
-+ if (src_x > 0x3fff || src_y > 0x3fff || src_bits >= end
-+ || src_bits + src_x
-+ + (src_y + s->regs.dst_height) * src_stride >= end) {
- qemu_log_mask(LOG_UNIMP, "blt outside vram not implemented\n");
- return;
- }
---
-1.8.3.1
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-25624.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-25624.patch
deleted file mode 100644
index 7631bab39..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-25624.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 1328fe0c32d5474604105b8105310e944976b058 Mon Sep 17 00:00:00 2001
-From: Prasad J Pandit <pjp@fedoraproject.org>
-Date: Tue, 15 Sep 2020 23:52:58 +0530
-Subject: [PATCH] hw: usb: hcd-ohci: check len and frame_number variables
-
-While servicing the OHCI transfer descriptors(TD), OHCI host
-controller derives variables 'start_addr', 'end_addr', 'len'
-etc. from values supplied by the host controller driver.
-Host controller driver may supply values such that using
-above variables leads to out-of-bounds access issues.
-Add checks to avoid them.
-
-AddressSanitizer: stack-buffer-overflow on address 0x7ffd53af76a0
- READ of size 2 at 0x7ffd53af76a0 thread T0
- #0 ohci_service_iso_td ../hw/usb/hcd-ohci.c:734
- #1 ohci_service_ed_list ../hw/usb/hcd-ohci.c:1180
- #2 ohci_process_lists ../hw/usb/hcd-ohci.c:1214
- #3 ohci_frame_boundary ../hw/usb/hcd-ohci.c:1257
- #4 timerlist_run_timers ../util/qemu-timer.c:572
- #5 qemu_clock_run_timers ../util/qemu-timer.c:586
- #6 qemu_clock_run_all_timers ../util/qemu-timer.c:672
- #7 main_loop_wait ../util/main-loop.c:527
- #8 qemu_main_loop ../softmmu/vl.c:1676
- #9 main ../softmmu/main.c:50
-
-Reported-by: Gaoning Pan <pgn@zju.edu.cn>
-Reported-by: Yongkang Jia <j_kangel@163.com>
-Reported-by: Yi Ren <yunye.ry@alibaba-inc.com>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-Message-id: 20200915182259.68522-2-ppandit@redhat.com
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-
-Upstream-Status: Backport
-CVE: CVE-2020-25624
-[https://git.qemu.org/?p=qemu.git;a=commit;h=1328fe0c32d5474604105b8105310e944976b058]
-Signed-off-by: Li Wang <li.wang@windriver.com>
----
- hw/usb/hcd-ohci.c | 24 ++++++++++++++++++++++--
- 1 file changed, 22 insertions(+), 2 deletions(-)
-
-diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c
-index 1e6e85e..9dc5910 100644
---- a/hw/usb/hcd-ohci.c
-+++ b/hw/usb/hcd-ohci.c
-@@ -731,7 +731,11 @@ static int ohci_service_iso_td(OHCIState *ohci, struct ohci_ed *ed,
- }
-
- start_offset = iso_td.offset[relative_frame_number];
-- next_offset = iso_td.offset[relative_frame_number + 1];
-+ if (relative_frame_number < frame_count) {
-+ next_offset = iso_td.offset[relative_frame_number + 1];
-+ } else {
-+ next_offset = iso_td.be;
-+ }
-
- if (!(OHCI_BM(start_offset, TD_PSW_CC) & 0xe) ||
- ((relative_frame_number < frame_count) &&
-@@ -764,7 +768,12 @@ static int ohci_service_iso_td(OHCIState *ohci, struct ohci_ed *ed,
- }
- } else {
- /* Last packet in the ISO TD */
-- end_addr = iso_td.be;
-+ end_addr = next_offset;
-+ }
-+
-+ if (start_addr > end_addr) {
-+ trace_usb_ohci_iso_td_bad_cc_overrun(start_addr, end_addr);
-+ return 1;
- }
-
- if ((start_addr & OHCI_PAGE_MASK) != (end_addr & OHCI_PAGE_MASK)) {
-@@ -773,6 +782,9 @@ static int ohci_service_iso_td(OHCIState *ohci, struct ohci_ed *ed,
- } else {
- len = end_addr - start_addr + 1;
- }
-+ if (len > sizeof(ohci->usb_buf)) {
-+ len = sizeof(ohci->usb_buf);
-+ }
-
- if (len && dir != OHCI_TD_DIR_IN) {
- if (ohci_copy_iso_td(ohci, start_addr, end_addr, ohci->usb_buf, len,
-@@ -975,8 +987,16 @@ static int ohci_service_td(OHCIState *ohci, struct ohci_ed *ed)
- if ((td.cbp & 0xfffff000) != (td.be & 0xfffff000)) {
- len = (td.be & 0xfff) + 0x1001 - (td.cbp & 0xfff);
- } else {
-+ if (td.cbp > td.be) {
-+ trace_usb_ohci_iso_td_bad_cc_overrun(td.cbp, td.be);
-+ ohci_die(ohci);
-+ return 1;
-+ }
- len = (td.be - td.cbp) + 1;
- }
-+ if (len > sizeof(ohci->usb_buf)) {
-+ len = sizeof(ohci->usb_buf);
-+ }
-
- pktlen = len;
- if (len && dir != OHCI_TD_DIR_IN) {
---
-2.17.1
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-25723.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-25723.patch
deleted file mode 100644
index 90b3a2f41..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-25723.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 2fdb42d840400d58f2e706ecca82c142b97bcbd6 Mon Sep 17 00:00:00 2001
-From: Li Qiang <liq3ea@163.com>
-Date: Wed, 12 Aug 2020 09:17:27 -0700
-Subject: [PATCH] hw: ehci: check return value of 'usb_packet_map'
-
-If 'usb_packet_map' fails, we should stop to process the usb
-request.
-
-Signed-off-by: Li Qiang <liq3ea@163.com>
-Message-Id: <20200812161727.29412-1-liq3ea@163.com>
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-
-Upstream-Status: Backport
-CVE: CVE-2020-25723
-[https://git.qemu.org/?p=qemu.git;a=commit;h=2fdb42d840400d58f2e706ecca82c142b97bcbd6]
-Signed-off-by: Li Wang <li.wang@windriver.com>
----
- hw/usb/hcd-ehci.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
-index 1495e8f..1fbb02a 100644
---- a/hw/usb/hcd-ehci.c
-+++ b/hw/usb/hcd-ehci.c
-@@ -1373,7 +1373,10 @@ static int ehci_execute(EHCIPacket *p, const char *action)
- spd = (p->pid == USB_TOKEN_IN && NLPTR_TBIT(p->qtd.altnext) == 0);
- usb_packet_setup(&p->packet, p->pid, ep, 0, p->qtdaddr, spd,
- (p->qtd.token & QTD_TOKEN_IOC) != 0);
-- usb_packet_map(&p->packet, &p->sgl);
-+ if (usb_packet_map(&p->packet, &p->sgl)) {
-+ qemu_sglist_destroy(&p->sgl);
-+ return -1;
-+ }
- p->async = EHCI_ASYNC_INITIALIZED;
- }
-
-@@ -1452,7 +1455,10 @@ static int ehci_process_itd(EHCIState *ehci,
- if (ep && ep->type == USB_ENDPOINT_XFER_ISOC) {
- usb_packet_setup(&ehci->ipacket, pid, ep, 0, addr, false,
- (itd->transact[i] & ITD_XACT_IOC) != 0);
-- usb_packet_map(&ehci->ipacket, &ehci->isgl);
-+ if (usb_packet_map(&ehci->ipacket, &ehci->isgl)) {
-+ qemu_sglist_destroy(&ehci->isgl);
-+ return -1;
-+ }
- usb_handle_packet(dev, &ehci->ipacket);
- usb_packet_unmap(&ehci->ipacket, &ehci->isgl);
- } else {
---
-2.17.1
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-28916.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-28916.patch
deleted file mode 100644
index 521219683..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-28916.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From c2cb511634012344e3d0fe49a037a33b12d8a98a Mon Sep 17 00:00:00 2001
-From: Prasad J Pandit <pjp@fedoraproject.org>
-Date: Wed, 11 Nov 2020 18:36:36 +0530
-Subject: [PATCH] hw/net/e1000e: advance desc_offset in case of null
-descriptor
-
-While receiving packets via e1000e_write_packet_to_guest() routine,
-'desc_offset' is advanced only when RX descriptor is processed. And
-RX descriptor is not processed if it has NULL buffer address.
-This may lead to an infinite loop condition. Increament 'desc_offset'
-to process next descriptor in the ring to avoid infinite loop.
-
-Reported-by: Cheol-woo Myung <330cjfdn@gmail.com>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport
-CVE: CVE-2020-28916
-[https://git.qemu.org/?p=qemu.git;a=commit;h=c2cb511634012344e3d0fe49a037a33b12d8a98a]
-Signed-off-by: Li Wang <li.wang@windriver.com>
----
- hw/net/e1000e_core.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c
-index bcd186c..d3e3cdc 100644
---- a/hw/net/e1000e_core.c
-+++ b/hw/net/e1000e_core.c
-@@ -1596,13 +1596,13 @@ e1000e_write_packet_to_guest(E1000ECore *core, struct NetRxPkt *pkt,
- (const char *) &fcs_pad, e1000x_fcs_len(core->mac));
- }
- }
-- desc_offset += desc_size;
-- if (desc_offset >= total_size) {
-- is_last = true;
-- }
- } else { /* as per intel docs; skip descriptors with null buf addr */
- trace_e1000e_rx_null_descriptor();
- }
-+ desc_offset += desc_size;
-+ if (desc_offset >= total_size) {
-+ is_last = true;
-+ }
-
- e1000e_write_rx_descr(core, desc, is_last ? core->rx_pkt : NULL,
- rss_info, do_ps ? ps_hdr_len : 0, &bastate.written);
---
-2.17.1
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-29129-CVE-2020-29130.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-29129-CVE-2020-29130.patch
deleted file mode 100644
index e5829f6da..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/CVE-2020-29129-CVE-2020-29130.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 2e1dcbc0c2af64fcb17009eaf2ceedd81be2b27f Mon Sep 17 00:00:00 2001
-From: Prasad J Pandit <pjp@fedoraproject.org>
-Date: Thu, 26 Nov 2020 19:27:06 +0530
-Subject: [PATCH] slirp: check pkt_len before reading protocol header
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf8
-Content-Transfer-Encoding: 8bit
-
-While processing ARP/NCSI packets in 'arp_input' or 'ncsi_input'
-routines, ensure that pkt_len is large enough to accommodate the
-respective protocol headers, lest it should do an OOB access.
-Add check to avoid it.
-
-CVE-2020-29129 CVE-2020-29130
- QEMU: slirp: out-of-bounds access while processing ARP/NCSI packets
- -> https://www.openwall.com/lists/oss-security/2020/11/27/1
-
-Reported-by: Qiuhao Li <Qiuhao.Li@outlook.com>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-Message-Id: <20201126135706.273950-1-ppandit@redhat.com>
-Reviewed-by: Marc-Andrà Lureau <marcandre.lureau@redhat.com>
-
-Upstream-Status: Backport
-CVE: CVE-2020-29129 CVE-2020-29130
-[https://git.qemu.org/?p=libslirp.git;a=commit;h=2e1dcbc0c2af64fcb17009eaf2ceedd81be2b27f]
-Signed-off-by: Li Wang <li.wang@windriver.com>
----
- slirp/src/ncsi.c | 4 ++++
- slirp/src/slirp.c | 4 ++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/slirp/src/ncsi.c b/slirp/src/ncsi.c
-index 3c1dfef..75dcc08 100644
---- a/slirp/src/ncsi.c
-+++ b/slirp/src/ncsi.c
-@@ -148,6 +148,10 @@ void ncsi_input(Slirp *slirp, const uint8_t *pkt, int pkt_len)
- uint32_t checksum;
- uint32_t *pchecksum;
-
-+ if (pkt_len < ETH_HLEN + sizeof(struct ncsi_pkt_hdr)) {
-+ return; /* packet too short */
-+ }
-+
- memset(ncsi_reply, 0, sizeof(ncsi_reply));
-
- memset(reh->h_dest, 0xff, ETH_ALEN);
-diff --git a/slirp/src/slirp.c b/slirp/src/slirp.c
-index dba7c98..9be58e2 100644
---- a/slirp/src/slirp.c
-+++ b/slirp/src/slirp.c
-@@ -756,6 +756,10 @@ static void arp_input(Slirp *slirp, const uint8_t *pkt, int pkt_len)
- return;
- }
-
-+ if (pkt_len < ETH_HLEN + sizeof(struct slirp_arphdr)) {
-+ return; /* packet too short */
-+ }
-+
- ar_op = ntohs(ah->ar_op);
- switch (ar_op) {
- case ARPOP_REQUEST:
---
-2.17.1
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/find_datadir.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/find_datadir.patch
deleted file mode 100644
index 9a4c11267..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/find_datadir.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-qemu: search for datadir as in version 4.2
-
-os_find_datadir() was changed after the 4.2 release. We need to check for
-../share/qemu relative to the executable because that is where the runqemu
-configuration assumes it will be.
-
-Upstream-Status: Submitted [qemu-devel@nongnu.org]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-
-Index: qemu-5.1.0/os-posix.c
-===================================================================
---- qemu-5.1.0.orig/os-posix.c
-+++ qemu-5.1.0/os-posix.c
-@@ -82,8 +82,9 @@ void os_setup_signal_handling(void)
-
- /*
- * Find a likely location for support files using the location of the binary.
-+ * Typically, this would be "$bindir/../share/qemu".
- * When running from the build tree this will be "$bindir/../pc-bios".
-- * Otherwise, this is CONFIG_QEMU_DATADIR.
-+ * Otherwise, this is CONFIG_QEMU_DATADIR as constructed by configure.
- *
- * The caller must use g_free() to free the returned data when it is
- * no longer required.
-@@ -96,6 +97,12 @@ char *os_find_datadir(void)
- exec_dir = qemu_get_exec_dir();
- g_return_val_if_fail(exec_dir != NULL, NULL);
-
-+ dir = g_build_filename(exec_dir, "..", "share", "qemu", NULL);
-+ if (g_file_test(dir, G_FILE_TEST_IS_DIR)) {
-+ return g_steal_pointer(&dir);
-+ }
-+ g_free(dir); /* no autofree this time */
-+
- dir = g_build_filename(exec_dir, "..", "pc-bios", NULL);
- if (g_file_test(dir, G_FILE_TEST_IS_DIR)) {
- return g_steal_pointer(&dir);
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/powerpc_rom.bin b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/powerpc_rom.bin
deleted file mode 100644
index c4044296c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/powerpc_rom.bin
+++ /dev/null
Binary files differ
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/run-ptest b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/run-ptest
deleted file mode 100644
index b25a792d4..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/run-ptest
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-#
-#This script is used to run qemu test suites
-#
-
-ptestdir=$(dirname "$(readlink -f "$0")")
-export SRC_PATH=$ptestdir
-
-cd $ptestdir/tests
-make -f Makefile.include -k runtest-TESTS | sed '/^ok /s/ok /PASS: /g'
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/usb-fix-setup_len-init.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/usb-fix-setup_len-init.patch
deleted file mode 100644
index 92801da46..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu/usb-fix-setup_len-init.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-CVE: CVE-2020-14364
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From b946434f2659a182afc17e155be6791ebfb302eb Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Tue, 25 Aug 2020 07:36:36 +0200
-Subject: [PATCH] usb: fix setup_len init (CVE-2020-14364)
-
-Store calculated setup_len in a local variable, verify it, and only
-write it to the struct (USBDevice->setup_len) in case it passed the
-sanity checks.
-
-This prevents other code (do_token_{in,out} functions specifically)
-from working with invalid USBDevice->setup_len values and overrunning
-the USBDevice->setup_buf[] buffer.
-
-Fixes: CVE-2020-14364
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Tested-by: Gonglei <arei.gonglei@huawei.com>
-Reviewed-by: Li Qiang <liq3ea@gmail.com>
-Message-id: 20200825053636.29648-1-kraxel@redhat.com
----
- hw/usb/core.c | 16 ++++++++++------
- 1 file changed, 10 insertions(+), 6 deletions(-)
-
-diff --git a/hw/usb/core.c b/hw/usb/core.c
-index 5abd128b6bc..5234dcc73fe 100644
---- a/hw/usb/core.c
-+++ b/hw/usb/core.c
-@@ -129,6 +129,7 @@ void usb_wakeup(USBEndpoint *ep, unsigned int stream)
- static void do_token_setup(USBDevice *s, USBPacket *p)
- {
- int request, value, index;
-+ unsigned int setup_len;
-
- if (p->iov.size != 8) {
- p->status = USB_RET_STALL;
-@@ -138,14 +139,15 @@ static void do_token_setup(USBDevice *s, USBPacket *p)
- usb_packet_copy(p, s->setup_buf, p->iov.size);
- s->setup_index = 0;
- p->actual_length = 0;
-- s->setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
-- if (s->setup_len > sizeof(s->data_buf)) {
-+ setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
-+ if (setup_len > sizeof(s->data_buf)) {
- fprintf(stderr,
- "usb_generic_handle_packet: ctrl buffer too small (%d > %zu)\n",
-- s->setup_len, sizeof(s->data_buf));
-+ setup_len, sizeof(s->data_buf));
- p->status = USB_RET_STALL;
- return;
- }
-+ s->setup_len = setup_len;
-
- request = (s->setup_buf[0] << 8) | s->setup_buf[1];
- value = (s->setup_buf[3] << 8) | s->setup_buf[2];
-@@ -259,26 +261,28 @@ static void do_token_out(USBDevice *s, USBPacket *p)
- static void do_parameter(USBDevice *s, USBPacket *p)
- {
- int i, request, value, index;
-+ unsigned int setup_len;
-
- for (i = 0; i < 8; i++) {
- s->setup_buf[i] = p->parameter >> (i*8);
- }
-
- s->setup_state = SETUP_STATE_PARAM;
-- s->setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
- s->setup_index = 0;
-
- request = (s->setup_buf[0] << 8) | s->setup_buf[1];
- value = (s->setup_buf[3] << 8) | s->setup_buf[2];
- index = (s->setup_buf[5] << 8) | s->setup_buf[4];
-
-- if (s->setup_len > sizeof(s->data_buf)) {
-+ setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
-+ if (setup_len > sizeof(s->data_buf)) {
- fprintf(stderr,
- "usb_generic_handle_packet: ctrl buffer too small (%d > %zu)\n",
-- s->setup_len, sizeof(s->data_buf));
-+ setup_len, sizeof(s->data_buf));
- p->status = USB_RET_STALL;
- return;
- }
-+ s->setup_len = setup_len;
-
- if (p->pid == USB_TOKEN_OUT) {
- usb_packet_copy(p, s->data_buf, s->setup_len);
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/run-postinsts/run-postinsts_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/run-postinsts/run-postinsts_%.bbappend
deleted file mode 100644
index 3923fa2d5..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/run-postinsts/run-postinsts_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-# Update-alternatives is not able to find stdout when using JTAG boot mode on
-# our devices, exits ungracefully without performing the required work (symbolic
-# linking), pass kmsg to it as output to achieve proper behavior.
-
-do_install_append(){
- sed -i "s/sh -c \$i \$append_log/sh -c \$i > \/dev\/kmsg/" ${D}${sbindir}/run-postinsts
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/cairo/cairo_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/cairo/cairo_%.bbappend
deleted file mode 100644
index c3f12f63a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/cairo/cairo_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-PACKAGECONFIG_zynqmp += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \
- egl glesv2"
-
-# OpenGL comes from libmali on ev/eg
-DEPENDS_append_zynqmpev = " libmali-xlnx"
-DEPENDS_append_zynqmpeg = " libmali-xlnx"
-
-PACKAGE_ARCH_zynqmpev = "${SOC_VARIANT_ARCH}"
-PACKAGE_ARCH_zynqmpeg = "${SOC_VARIANT_ARCH}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/egl.pc b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/egl.pc
deleted file mode 100644
index 65c4c1f3a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/egl.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=/usr/lib
-includedir=/usr/include
-
-Name: egl
-Description: MALI EGL library
-Requires.private:
-Version: 17.3
-Libs: -L${libdir} -lEGL
-Libs.private: -lm -lpthread -ldl
-Cflags: -I${includedir}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/gbm.pc b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/gbm.pc
deleted file mode 100644
index c40b5f4fd..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/gbm.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=/usr/lib
-includedir=/usr/include
-
-Name: gbm
-Description: MALI gbm library
-Requires.private:
-Version: 17.3
-Libs: -L${libdir} -lgbm
-Libs.private: -lm -lpthread -ldl
-Cflags: -I${includedir}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1.pc b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1.pc
deleted file mode 100644
index 39467f332..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=/usr/lib
-includedir=/usr/include
-
-Name: glesv1
-Description: MALI OpenGL ES 1.1 library
-Requires.private:
-Version: 17.3
-Libs: -L${libdir} -lGLESv1_CM
-Libs.private: -lm -lpthread -ldl
-Cflags: -I${includedir}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1_cm.pc b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1_cm.pc
deleted file mode 100644
index 1547b4c82..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1_cm.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=/usr/lib
-includedir=/usr/include
-
-Name: gles_cm
-Description: Mali OpenGL ES 1.1 CM library
-Requires.private:
-Version: 17.3
-Libs: -L${libdir} -lGLESv1_CM
-Libs.private: -lm -lpthread -ldl
-Cflags: -I${includedir}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv2.pc b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv2.pc
deleted file mode 100644
index a0a84f233..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv2.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=/usr/lib
-includedir=/usr/include
-
-Name: glesv2
-Description: MALI OpenGL ES 2.0 library
-Requires.private:
-Version: 17.3
-Libs: -L${libdir} -lGLESv2
-Libs.private: -lm -lpthread -ldl
-Cflags: -I${includedir}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb
deleted file mode 100644
index 5c45b2baf..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb
+++ /dev/null
@@ -1,201 +0,0 @@
-DESCRIPTION = "libGLES for ZynqMP with Mali 400"
-
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://EULA;md5=82e466d0ed92c5a15f568dbe6b31089c"
-
-inherit features_check update-alternatives
-
-ANY_OF_DISTRO_FEATURES = "x11 fbdev wayland"
-
-PROVIDES += "virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-REPO ?= "git://github.com/Xilinx/mali-userspace-binaries.git;protocol=https"
-BRANCH ?= "rel-v2020.2"
-SRCREV ?= "da73805e3e011382c4d014ac10037cd193aaa9a0"
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-
-PV = "r9p0-01rel0"
-SRC_URI = " \
- ${REPO};${BRANCHARG} \
- file://egl.pc \
- file://glesv1_cm.pc \
- file://glesv1.pc \
- file://glesv2.pc \
- file://gbm.pc \
- "
-
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_zynqmpeg = "zynqmpeg"
-COMPATIBLE_MACHINE_zynqmpev = "zynqmpev"
-
-PACKAGE_ARCH = "${SOC_VARIANT_ARCH}"
-
-
-S = "${WORKDIR}/git"
-
-# If were switching at runtime, we would need all RDEPENDS needed for all backends available
-X11RDEPENDS = "libxdamage libxext libx11 libdrm libxfixes"
-X11DEPENDS = "libxdamage libxext virtual/libx11 libdrm libxfixes"
-
-# Don't install runtime dependencies for other backends unless the DISTRO supports it
-RDEPENDS_${PN} = " \
- kernel-module-mali \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11RDEPENDS}', '', d)} \
-"
-
-# We dont build anything but we want to avoid QA warning build-deps
-DEPENDS = "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland libdrm', '', d)} \
-"
-
-
-# x11 is default, set to "fbdev" , "wayland", or "headless" if required
-MALI_BACKEND_DEFAULT ?= "x11"
-
-USE_X11 = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
-USE_FB = "${@bb.utils.contains("DISTRO_FEATURES", "fbdev", "yes", "no", d)}"
-USE_WL = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}"
-
-MONOLITHIC_LIBMALI = "libMali.so.9.0"
-
-do_install() {
- #Identify the ARCH type
- ${TARGET_PREFIX}gcc --version > ARCH_PLATFORM
- if grep -q aarch64 "ARCH_PLATFORM"; then
- ARCH_PLATFORM_DIR=aarch64-linux-gnu
- else
- ARCH_PLATFORM_DIR=arm-linux-gnueabihf
- fi
-
- # install headers
- install -d -m 0655 ${D}${includedir}/EGL
- install -m 0644 ${S}/${PV}/glesHeaders/EGL/*.h ${D}${includedir}/EGL/
- install -d -m 0655 ${D}${includedir}/GLES
- install -m 0644 ${S}/${PV}/glesHeaders/GLES/*.h ${D}${includedir}/GLES/
- install -d -m 0655 ${D}${includedir}/GLES2
- install -m 0644 ${S}/${PV}/glesHeaders/GLES2/*.h ${D}${includedir}/GLES2/
- install -d -m 0655 ${D}${includedir}/KHR
- install -m 0644 ${S}/${PV}/glesHeaders/KHR/*.h ${D}${includedir}/KHR/
-
- install -d ${D}${libdir}/pkgconfig
- install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc
- install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
- install -m 0644 ${WORKDIR}/glesv1.pc ${D}${libdir}/pkgconfig/glesv1.pc
- install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
-
- install -d ${D}${libdir}
- install -d ${D}${includedir}
-
- cp -a --no-preserve=ownership ${S}/${PV}/${ARCH_PLATFORM_DIR}/common/*.so* ${D}${libdir}
-
- install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/headless/${MONOLITHIC_LIBMALI} ${D}${libdir}/headless/${MONOLITHIC_LIBMALI}
- ln -snf headless/${MONOLITHIC_LIBMALI} ${D}${libdir}/${MONOLITHIC_LIBMALI}
-
- if [ "${USE_FB}" = "yes" ]; then
- install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/fbdev/${MONOLITHIC_LIBMALI} ${D}${libdir}/fbdev/${MONOLITHIC_LIBMALI}
- if [ "${MALI_BACKEND_DEFAULT}" = "fbdev" ]; then
- ln -snf fbdev/${MONOLITHIC_LIBMALI} ${D}${libdir}/${MONOLITHIC_LIBMALI}
- fi
- fi
- if [ "${USE_X11}" = "yes" ]; then
- install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/x11/${MONOLITHIC_LIBMALI} ${D}${libdir}/x11/${MONOLITHIC_LIBMALI}
- if [ "${MALI_BACKEND_DEFAULT}" = "x11" ]; then
- ln -snf x11/${MONOLITHIC_LIBMALI} ${D}${libdir}/${MONOLITHIC_LIBMALI}
- fi
- else
- # We cant rely on the fact that all apps will use pkgconfig correctly
- sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if (1)/' ${D}${includedir}/EGL/eglplatform.h
- fi
- if [ "${USE_WL}" = "yes" ]; then
- install -m 0644 ${S}/${PV}/glesHeaders/GBM/gbm.h ${D}${includedir}/
- install -m 0644 ${WORKDIR}/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc
- install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/wayland/${MONOLITHIC_LIBMALI} ${D}${libdir}/wayland/${MONOLITHIC_LIBMALI}
- if [ "${MALI_BACKEND_DEFAULT}" = "wayland" ]; then
- ln -snf wayland/${MONOLITHIC_LIBMALI} ${D}${libdir}/${MONOLITHIC_LIBMALI}
- fi
- fi
-}
-
-
-# We need separate packages to provide multiple alternatives, at this point we install
-# everything on the default one but that can be split if necessary
-PACKAGES += "${PN}-x11 ${PN}-fbdev ${PN}-wayland ${PN}-headless"
-
-# This is default/common for all alternatives
-ALTERNATIVE_LINK_NAME[libmali-xlnx] = "${libdir}/${MONOLITHIC_LIBMALI}"
-
-
-# Declare alternatives and corresponding library location
-ALTERNATIVE_${PN}-x11 = "libmali-xlnx"
-ALTERNATIVE_TARGET_libmali-xlnx-x11[libmali-xlnx] = "${libdir}/x11/${MONOLITHIC_LIBMALI}"
-
-ALTERNATIVE_${PN}-fbdev = "libmali-xlnx"
-ALTERNATIVE_TARGET_libmali-xlnx-fbdev[libmali-xlnx] = "${libdir}/fbdev/${MONOLITHIC_LIBMALI}"
-
-ALTERNATIVE_${PN}-wayland = "libmali-xlnx"
-ALTERNATIVE_TARGET_libmali-xlnx-wayland[libmali-xlnx] = "${libdir}/wayland/${MONOLITHIC_LIBMALI}"
-
-ALTERNATIVE_${PN}-headless = "libmali-xlnx"
-ALTERNATIVE_TARGET_libmali-xlnx-headless[libmali-xlnx] = "${libdir}/headless/${MONOLITHIC_LIBMALI}"
-
-# Set priorities according to what we prveiously defined
-ALTERNATIVE_PRIORITY_libmali-xlnx-x11[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "x11", "20", "10", d)}"
-ALTERNATIVE_PRIORITY_libmali-xlnx-fbdev[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "fbdev", "20", "10", d)}"
-ALTERNATIVE_PRIORITY_libmali-xlnx-wayland[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "wayland", "20", "10", d)}"
-
-# If misconfigured, fallback to headless
-ALTERNATIVE_PRIORITY_libmali-xlnx-headless[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "headless", "20", "15", d)}"
-
-
-# Package gets renamed on the debian class, but we want to keep -xlnx
-DEBIAN_NOAUTONAME_libmali-xlnx = "1"
-
-# Update alternatives will actually have separate postinst scripts (one for each package)
-# This wont work for us, so we create a common postinst script and we pass that as the general
-# libmali-xlnx postinst script, but we defer execution to run on first boot (pkg_postinst_ontarget).
-# This will avoid ldconfig removing the symbolic links when creating the root filesystem.
-python populate_packages_updatealternatives_append () {
- # We need to remove the 'fake' libmali-xlnx before creating any links
- libdir = d.getVar('libdir')
- common_postinst = "#!/bin/sh\nrm " + libdir + "/${MONOLITHIC_LIBMALI}\n"
- for pkg in (d.getVar('PACKAGES') or "").split():
- # Not all packages provide an alternative (e.g. ${PN}-lic)
- postinst = d.getVar('pkg_postinst_%s' % pkg)
- if postinst:
- old_postinst = postinst
- new_postinst = postinst.replace('#!/bin/sh','')
- common_postinst += new_postinst
- d.setVar('pkg_postinst_ontarget_%s' % 'libmali-xlnx', common_postinst)
-}
-
-
-# Inhibit warnings about files being stripped
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_SYSROOT_STRIP = "1"
-
-RREPLACES_${PN} = "libegl libgles1 libglesv1-cm1 libgles2 libglesv2-2 libgbm"
-RPROVIDES_${PN} = "libegl libgles1 libglesv1-cm1 libgles2 libglesv2-2 libgbm"
-RCONFLICTS_${PN} = "libegl libgles1 libglesv1-cm1 libgles2 libglesv2-2 libgbm"
-
-# These libraries shouldn't get installed in world builds unless something
-# explicitly depends upon them.
-EXCLUDE_FROM_WORLD = "1"
-FILES_${PN} += "${libdir}/*"
-
-do_package_append() {
-
- shlibswork_dir = d.getVar('SHLIBSWORKDIR')
- pkg_filename = d.getVar('PN') + ".list"
- shlibs_file = os.path.join(shlibswork_dir, pkg_filename)
- lines = ""
- with open(shlibs_file, "r") as f:
- lines = f.readlines()
- with open(shlibs_file, "w") as f:
- for line in lines:
- if d.getVar('MALI_BACKEND_DEFAULT') in line.strip("\n"):
- f.write(line)
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libglu/libglu_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libglu/libglu_%.bbappend
deleted file mode 100644
index 56924658c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libglu/libglu_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-DEPENDS_append_zynqmp = " virtual/libgles2"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali.bb b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali.bb
deleted file mode 100644
index 747ec724c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "A Mali 400 Linux Kernel module"
-SECTION = "kernel/modules"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = " \
- file://linux/license/gpl/mali_kernel_license.h;md5=f5af2d61f4c1eb262cb6a557aaa1070a \
- "
-
-PV = "r9p0-01rel0"
-
-SRC_URI = " \
- https://developer.arm.com/-/media/Files/downloads/mali-drivers/kernel/mali-utgard-gpu/DX910-SW-99002-${PV}.tgz \
- file://0001-Change-Makefile-to-be-compatible-with-Yocto.patch \
- file://0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch \
- file://0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch \
- file://0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch \
- file://0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch \
- file://0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch \
- file://0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch \
- file://0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch\
- file://0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch\
- file://0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch\
- file://0014-linux-mali_-timer-Get-rid-of-init_timer.patch\
- file://0015-fix-driver-failed-to-check-map-error.patch \
- file://0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch \
- file://0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch \
- file://0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch \
- file://0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch \
- "
-SRC_URI[md5sum] = "85ea110dd6675c70b7d01af87ec9633c"
-SRC_URI[sha256sum] = "7a67127341d17640c1fff5dad80258fb2a37c8a2121b81525fe2327e4532ce2b"
-
-inherit module
-
-PARALLEL_MAKE = "-j 1"
-
-S = "${WORKDIR}/DX910-SW-99002-${PV}/driver/src/devicedrv/mali"
-
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_zynqmpeg = "zynqmpeg"
-COMPATIBLE_MACHINE_zynqmpev = "zynqmpev"
-
-PACKAGE_ARCH = "${SOC_VARIANT_ARCH}"
-
-EXTRA_OEMAKE = 'KDIR="${STAGING_KERNEL_DIR}" \
- ARCH="${ARCH}" \
- BUILD=release \
- MALI_PLATFORM="arm" \
- USING_DT=1 \
- MALI_SHARED_INTERRUPTS=1 \
- CROSS_COMPILE="${TARGET_PREFIX}" \
- MALI_QUIET=1 \
- '
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch
deleted file mode 100644
index 3c82f602a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 6d283b9aa3f7fb761da4cb076b47a62275fc4caa Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Date: Tue, 21 Nov 2017 03:57:25 -0800
-Subject: [PATCH 1/9] Change Makefile to be compatible with Yocto
-
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com>
-Signed-off-by: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Upstream Status: Inappropriate [Xilinx specific]
----
- driver/src/devicedrv/mali/Makefile | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/driver/src/devicedrv/mali/Makefile b/driver/src/devicedrv/mali/Makefile
-index 5a259fe..a6dd94c 100644
---- Makefile
-+++ b/Makefile
-@@ -89,7 +89,11 @@ endif
- # Define host system directory
- KDIR-$(shell uname -m):=/lib/modules/$(shell uname -r)/build
-
--include $(KDIR)/.config
-+ifeq ($(O),)
-+ -include $(KDIR)/.config
-+else
-+ -include $(O)/.config
-+endif
-
- ifeq ($(ARCH), arm)
- # when compiling for ARM we're cross compiling
-@@ -204,9 +208,12 @@ EXTRA_DEFINES += -DMALI_MEM_SWAP_TRACKING=1
- endif
-
- all: $(UMP_SYMVERS_FILE)
-- $(MAKE) ARCH=$(ARCH) -C $(KDIR) M=$(CURDIR) modules
-+ $(MAKE) ARCH=$(ARCH) -C $(KDIR) M=$(CURDIR) O=$(O) modules
- @rm $(FILES_PREFIX)__malidrv_build_info.c $(FILES_PREFIX)__malidrv_build_info.o
-
-+modules_install:
-+ $(MAKE) ARCH=$(ARCH) -C $(KDIR) M=$(CURDIR) modules_install
-+
- clean:
- $(MAKE) ARCH=$(ARCH) -C $(KDIR) M=$(CURDIR) clean
-
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch
deleted file mode 100644
index 0a7b6736f..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From f27aab2b0e4d5dea9b5a0e4648c142257940c428 Mon Sep 17 00:00:00 2001
-From: Hyun Kwon <hyun.kwon@xilinx.com>
-Date: Thu, 25 Jun 2015 17:14:42 -0700
-Subject: [PATCH 2/9] staging: mali: r8p0-01rel0: Add the ZYNQ/ZYNQMP platform
-
-Add the number of PP cores that is required for Zynq/ZynqMP configuration.
-
-Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com>
-Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-Upstream Status: Inappropriate [Xilinx specific]
----
- driver/src/devicedrv/mali/platform/arm/arm.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/driver/src/devicedrv/mali/platform/arm/arm.c b/driver/src/devicedrv/mali/platform/arm/arm.c
-index 4e09aca..fac99bc 100644
---- platform/arm/arm.c
-+++ b/platform/arm/arm.c
-@@ -261,6 +261,10 @@ static struct mali_gpu_device_data mali_gpu_data = {
- .dedicated_mem_start = 0x80000000, /* Physical start address (use 0xD0000000 for old indirect setup) */
- .dedicated_mem_size = 0x10000000, /* 256MB */
- #endif
-+#if defined(CONFIG_ARCH_ZYNQ) || defined(CONFIG_ARCH_ZYNQMP)
-+ .fb_start = 0x00000000,
-+ .fb_size = 0xfffff000,
-+#else
- #if defined(CONFIG_ARM64)
- /* Some framebuffer drivers get the framebuffer dynamically, such as through GEM,
- * in which the memory resource can't be predicted in advance.
-@@ -271,6 +275,7 @@ static struct mali_gpu_device_data mali_gpu_data = {
- .fb_start = 0xe0000000,
- .fb_size = 0x01000000,
- #endif
-+#endif /* !defined(CONFIG_ARCH_ZYNQ) && !defined(CONFIG_ARCH_ZYNQMP) */
- .control_interval = 1000, /* 1000ms */
- .utilization_callback = mali_gpu_utilization_callback,
- .get_clock_info = NULL,
-@@ -505,6 +510,11 @@ int mali_platform_device_init(struct platform_device *device)
- mali_write_phys(0xC0010020, 0xA); /* Enable direct memory mapping for FPGA */
- }
- }
-+#elif defined(CONFIG_ARCH_ZYNQ) || defined(CONFIG_ARCH_ZYNQMP)
-+
-+ MALI_DEBUG_PRINT(4, ("Registering Zynq/ZynqMP Mali-400 device\n"));
-+ num_pp_cores = 2;
-+
- #endif
-
- /* After kernel 3.15 device tree will default set dev
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch
deleted file mode 100644
index 98aa6ac93..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From d6e44bbf8d1377f78481f611dec237e8d24baf74 Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Date: Tue, 21 Nov 2017 04:00:27 -0800
-Subject: [PATCH 3/9] staging: mali: r8p0-01rel0: Remove unused trace macros
-
-TRACE_SYSTEM_STRING is not need in each trace file anymore.
-
-Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com>
-Signed-off-by: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Upstream Status: Pending
----
- driver/src/devicedrv/mali/linux/mali_linux_trace.h | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/driver/src/devicedrv/mali/linux/mali_linux_trace.h b/driver/src/devicedrv/mali/linux/mali_linux_trace.h
-index 7f0b19d..33cb1ca 100644
---- linux/mali_linux_trace.h
-+++ b/linux/mali_linux_trace.h
-@@ -13,13 +13,11 @@
-
- #include <linux/types.h>
-
--#include <linux/stringify.h>
- #include <linux/tracepoint.h>
-
- #undef TRACE_SYSTEM
- #define TRACE_SYSTEM mali
- #ifndef TRACEPOINTS_ENABLED
--#define TRACE_SYSTEM_STRING __stringfy(TRACE_SYSTEM)
- #endif
- #define TRACE_INCLUDE_PATH .
- #define TRACE_INCLUDE_FILE mali_linux_trace
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch
deleted file mode 100644
index c5c496796..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 2f5e8944357f43fbde4cb642c6ee4a699c88efb5 Mon Sep 17 00:00:00 2001
-From: Hyun Kwon <hyun.kwon@xilinx.com>
-Date: Wed, 29 Jun 2016 09:14:37 -0700
-Subject: [PATCH 4/9] staging: mali: r8p0-01rel0: Don't include
- mali_read_phys() for zynq/zynqmp
-
-mali_read_phys() is not used with CONFIG_ARCH_ZYNQ and CONFIG_ARCH_ZYNQMP.
-
-Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com>
-Upstream Status: Inappropriate [Xilinx specific]
----
- driver/src/devicedrv/mali/platform/arm/arm.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/driver/src/devicedrv/mali/platform/arm/arm.c b/driver/src/devicedrv/mali/platform/arm/arm.c
-index fac99bc..62f9be6 100644
---- platform/arm/arm.c
-+++ b/platform/arm/arm.c
-@@ -38,7 +38,9 @@
- static int mali_core_scaling_enable = 0;
-
- void mali_gpu_utilization_callback(struct mali_gpu_utilization_data *data);
-+#if !(defined(CONFIG_ARCH_ZYNQ) || defined(CONFIG_ARCH_ZYNQMP))
- static u32 mali_read_phys(u32 phys_addr);
-+#endif
- #if defined(CONFIG_ARCH_REALVIEW)
- static void mali_write_phys(u32 phys_addr, u32 value);
- #endif
-@@ -578,6 +580,7 @@ int mali_platform_device_deinit(struct platform_device *device)
-
- #endif /* CONFIG_MALI_DT */
-
-+#if !(defined(CONFIG_ARCH_ZYNQ) || defined(CONFIG_ARCH_ZYNQMP))
- static u32 mali_read_phys(u32 phys_addr)
- {
- u32 phys_addr_page = phys_addr & 0xFFFFE000;
-@@ -592,6 +595,7 @@ static u32 mali_read_phys(u32 phys_addr)
-
- return ret;
- }
-+#endif
-
- #if defined(CONFIG_ARCH_REALVIEW)
- static void mali_write_phys(u32 phys_addr, u32 value)
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch
deleted file mode 100644
index 3d7846042..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From e67e20ec6ff0c9720d87844270421453c738066a Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Date: Thu, 16 Feb 2017 12:15:58 -0800
-Subject: [PATCH 5/9] linux/mali_kernel_linux.c: Handle clock when probed and
- removed
-
-This patch will handle the clock through clock
-specifier for GPU PP0 and PP1.
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Upstream Status: Inappropriate [Xilinx specific]
----
- .../src/devicedrv/mali/linux/mali_kernel_linux.c | 40 +++++++++++++++++++++-
- 1 file changed, 39 insertions(+), 1 deletion(-)
-
-diff --git a/driver/src/devicedrv/mali/linux/mali_kernel_linux.c b/driver/src/devicedrv/mali/linux/mali_kernel_linux.c
-index d7893a3..f15fb56 100644
---- linux/mali_kernel_linux.c
-+++ b/linux/mali_kernel_linux.c
-@@ -45,6 +45,14 @@
- #if defined(CONFIG_MALI400_INTERNAL_PROFILING)
- #include "mali_profiling_internal.h"
- #endif
-+
-+#if defined(CONFIG_ARCH_ZYNQMP)
-+/* Initialize variables for clocks */
-+struct clk *clk_gpu;
-+struct clk *clk_gpu_pp0;
-+struct clk *clk_gpu_pp1;
-+#endif
-+
- #if defined(CONFIG_MALI400_PROFILING) && defined(CONFIG_MALI_DVFS)
- #include "mali_osk_profiling.h"
- #include "mali_dvfs_policy.h"
-@@ -580,7 +588,23 @@ static int mali_probe(struct platform_device *pdev)
- }
- #endif
-
--
-+#if defined(CONFIG_ARCH_ZYNQMP)
-+ /* Initialize clocks for GPU and PP */
-+ clk_gpu = devm_clk_get(&pdev->dev, "gpu");
-+ if (IS_ERR(clk_gpu))
-+ return PTR_ERR(clk_gpu);
-+ clk_prepare_enable(clk_gpu);
-+
-+ clk_gpu_pp0 = devm_clk_get(&pdev->dev, "gpu_pp0");
-+ if (IS_ERR(clk_gpu_pp0))
-+ return PTR_ERR(clk_gpu_pp0);
-+ clk_prepare_enable(clk_gpu_pp0);
-+
-+ clk_gpu_pp1 = devm_clk_get(&pdev->dev, "gpu_pp1");
-+ if (IS_ERR(clk_gpu_pp1))
-+ return PTR_ERR(clk_gpu_pp1);
-+ clk_prepare_enable(clk_gpu_pp1);
-+#endif
- if (_MALI_OSK_ERR_OK == _mali_osk_wq_init()) {
- /* Initialize the Mali GPU HW specified by pdev */
- if (_MALI_OSK_ERR_OK == mali_initialize_subsystems()) {
-@@ -608,6 +632,12 @@ static int mali_probe(struct platform_device *pdev)
- _mali_osk_wq_term();
- }
-
-+#if defined(CONFIG_ARCH_ZYNQMP)
-+ clk_disable_unprepare(clk_gpu);
-+ clk_disable_unprepare(clk_gpu_pp0);
-+ clk_disable_unprepare(clk_gpu_pp1);
-+#endif
-+
- #ifdef CONFIG_MALI_DEVFREQ
- mali_devfreq_term(mdev);
- devfreq_init_failed:
-@@ -673,6 +703,14 @@ static int mali_remove(struct platform_device *pdev)
- mali_platform_device_deinit(mali_platform_device);
- #endif
- mali_platform_device = NULL;
-+
-+#if defined(CONFIG_ARCH_ZYNQMP)
-+ /* Remove clock */
-+ clk_disable_unprepare(clk_gpu);
-+ clk_disable_unprepare(clk_gpu_pp0);
-+ clk_disable_unprepare(clk_gpu_pp1);
-+#endif
-+
- return 0;
- }
-
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch
deleted file mode 100644
index 3e1745fd5..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ed7242238151c12029c566d1974058c579d8ae3d Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Date: Wed, 25 Jan 2017 10:00:33 -0800
-Subject: [PATCH 6/9] arm.c: global variable dma_ops is removed from the kernel
- 4.7
-
-Refer kernel commit 1dccb598df549d892b6450c261da54cdd7af44b4, the global
-dma_ops variable and the special-casing for ACPI is removed , and just
-returns the dma ops that got set for the device, or the dummy_dma_ops
-if none were present.
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Upstream Status: Pending
----
- driver/src/devicedrv/mali/platform/arm/arm.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/driver/src/devicedrv/mali/platform/arm/arm.c b/driver/src/devicedrv/mali/platform/arm/arm.c
-index 62f9be6..57ca989 100644
---- platform/arm/arm.c
-+++ b/platform/arm/arm.c
-@@ -529,8 +529,9 @@ int mali_platform_device_init(struct platform_device *device)
- */
- if (!device->dev.dma_mask)
- device->dev.dma_mask = &device->dev.coherent_dma_mask;
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0))
- device->dev.archdata.dma_ops = dma_ops;
--
-+#endif
- err = platform_device_add_data(device, &mali_gpu_data, sizeof(mali_gpu_data));
-
- if (0 == err) {
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch
deleted file mode 100644
index 98a86c883..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 58e2c55176f1a146781430b2a570c8ce5f80d426 Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Date: Mon, 28 Aug 2017 09:40:37 -0700
-Subject: [PATCH] common/mali_pm.c: Add PM runtime barrier after removing
- suspend
-
-Runtime PM suspend "put" results in addition of PM suspend
-API in work queue. This barrier API will remove it from
-the work queue.
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Upstream-Status: Pending
----
- driver/src/devicedrv/mali/common/mali_pm.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/driver/src/devicedrv/mali/common/mali_pm.c b/driver/src/devicedrv/mali/common/mali_pm.c
-index 858c689..62a1e5f 100644
---- common/mali_pm.c
-+++ b/common/mali_pm.c
-@@ -301,6 +301,7 @@ void mali_pm_init_end(void)
- }
-
- _mali_osk_pm_dev_ref_put();
-+ _mali_osk_pm_dev_barrier();
- }
-
- void mali_pm_update_sync(void)
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch
deleted file mode 100644
index 38ab4042d..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From aeff13ad9e9ef73172a9325f669aefd3c0403dbb Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Date: Wed, 21 Feb 2018 16:52:15 -0800
-Subject: [PATCH] linux/mali_kernel_linux.c: Enable/disable clock for runtime
- resume/suspend
-
-Enable/Disable the clock for GP,PP0 and PP1 during runtime
-resume/suspend.
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurki@xilinx.com>
-Reviewed-by: Hyun Kwon <hyunk@xilinx.com>
-Upstream Status: Inappropriate [Xilinx specific]
----
- .../src/devicedrv/mali/linux/mali_kernel_linux.c | 65 ++++++++++++++++++----
- 1 file changed, 54 insertions(+), 11 deletions(-)
-
-diff --git a/driver/src/devicedrv/mali/linux/mali_kernel_linux.c b/driver/src/devicedrv/mali/linux/mali_kernel_linux.c
-index f15fb56..e61f33b 100644
---- linux/mali_kernel_linux.c
-+++ b/linux/mali_kernel_linux.c
-@@ -51,6 +51,7 @@
- struct clk *clk_gpu;
- struct clk *clk_gpu_pp0;
- struct clk *clk_gpu_pp1;
-+mali_bool clk_enabled;
- #endif
-
- #if defined(CONFIG_MALI400_PROFILING) && defined(CONFIG_MALI_DVFS)
-@@ -281,6 +282,46 @@ struct file_operations mali_fops = {
- .mmap = mali_mmap
- };
-
-+static int mali_enable_clk(void)
-+{
-+#if defined(CONFIG_ARCH_ZYNQMP)
-+ int err = 0;
-+
-+ if (clk_enabled)
-+ return 0;
-+
-+ clk_enabled = MALI_TRUE;
-+ err = clk_prepare_enable(clk_gpu);
-+ if (err) {
-+ MALI_PRINT_ERROR(("Could not enable clock for GP\n\r"));
-+ return err;
-+ }
-+ err = clk_prepare_enable(clk_gpu_pp0);
-+ if (err) {
-+ MALI_PRINT_ERROR(("Could not enable clock for PP0\n\r"));
-+ return err;
-+ }
-+ err = clk_prepare_enable(clk_gpu_pp1);
-+ if (err) {
-+ MALI_PRINT_ERROR(("Could not enable clock for PP1\n\r"));
-+ return err;
-+ }
-+#endif
-+ return 0;
-+}
-+
-+static void mali_disable_clk(void)
-+{
-+#if defined(CONFIG_ARCH_ZYNQMP)
-+ if (clk_enabled) {
-+ clk_enabled = MALI_FALSE;
-+ clk_disable_unprepare(clk_gpu);
-+ clk_disable_unprepare(clk_gpu_pp0);
-+ clk_disable_unprepare(clk_gpu_pp1);
-+ }
-+#endif
-+}
-+
- #if MALI_ENABLE_CPU_CYCLES
- void mali_init_cpu_time_counters(int reset, int enable_divide_by_64)
- {
-@@ -593,18 +634,19 @@ static int mali_probe(struct platform_device *pdev)
- clk_gpu = devm_clk_get(&pdev->dev, "gpu");
- if (IS_ERR(clk_gpu))
- return PTR_ERR(clk_gpu);
-- clk_prepare_enable(clk_gpu);
-
- clk_gpu_pp0 = devm_clk_get(&pdev->dev, "gpu_pp0");
- if (IS_ERR(clk_gpu_pp0))
- return PTR_ERR(clk_gpu_pp0);
-- clk_prepare_enable(clk_gpu_pp0);
-
- clk_gpu_pp1 = devm_clk_get(&pdev->dev, "gpu_pp1");
- if (IS_ERR(clk_gpu_pp1))
- return PTR_ERR(clk_gpu_pp1);
-- clk_prepare_enable(clk_gpu_pp1);
- #endif
-+
-+ err = mali_enable_clk();
-+ if (err)
-+ return err;
- if (_MALI_OSK_ERR_OK == _mali_osk_wq_init()) {
- /* Initialize the Mali GPU HW specified by pdev */
- if (_MALI_OSK_ERR_OK == mali_initialize_subsystems()) {
-@@ -632,11 +674,6 @@ static int mali_probe(struct platform_device *pdev)
- _mali_osk_wq_term();
- }
-
--#if defined(CONFIG_ARCH_ZYNQMP)
-- clk_disable_unprepare(clk_gpu);
-- clk_disable_unprepare(clk_gpu_pp0);
-- clk_disable_unprepare(clk_gpu_pp1);
--#endif
-
- #ifdef CONFIG_MALI_DEVFREQ
- mali_devfreq_term(mdev);
-@@ -644,6 +681,7 @@ devfreq_init_failed:
- mali_pm_metrics_term(mdev);
- pm_metrics_init_failed:
- clk_disable_unprepare(mdev->clock);
-+ mali_disable_clk();
- clock_prepare_failed:
- clk_put(mdev->clock);
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)) && defined(CONFIG_OF) \
-@@ -706,9 +744,7 @@ static int mali_remove(struct platform_device *pdev)
-
- #if defined(CONFIG_ARCH_ZYNQMP)
- /* Remove clock */
-- clk_disable_unprepare(clk_gpu);
-- clk_disable_unprepare(clk_gpu_pp0);
-- clk_disable_unprepare(clk_gpu_pp1);
-+ mali_disable_clk();
- #endif
-
- return 0;
-@@ -816,6 +852,8 @@ static int mali_driver_runtime_suspend(struct device *dev)
- devfreq_suspend_device(mdev->devfreq);
- #endif
-
-+ mali_disable_clk();
-+
- return 0;
- } else {
- return -EBUSY;
-@@ -824,6 +862,11 @@ static int mali_driver_runtime_suspend(struct device *dev)
-
- static int mali_driver_runtime_resume(struct device *dev)
- {
-+ int err ;
-+
-+ err = mali_enable_clk();
-+ if (err)
-+ return err;
- #ifdef CONFIG_MALI_DEVFREQ
- struct mali_device *mdev = dev_get_drvdata(dev);
- if (!mdev)
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch
deleted file mode 100644
index 24f0a22c4..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 779b1883d56804ecd08fe7f57d6c01e3db4e893b Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Date: Wed, 5 Dec 2018 18:07:29 -0800
-Subject: [PATCH 1/3] linux: mali_memory_os_alloc: Remove __GFP_COLD
-
-The support for Cache hot and cold pages are removed from the kernel.
-For more information refer kernel commit 453f85d43fa9ee243f0fc3ac4e1be45615301e3f
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
-Upstream Status: Pending
----
- driver/src/devicedrv/mali/linux/mali_memory_os_alloc.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/driver/src/devicedrv/mali/linux/mali_memory_os_alloc.c b/driver/src/devicedrv/mali/linux/mali_memory_os_alloc.c
-index 1602371..830e8c6 100644
---- linux/mali_memory_os_alloc.c
-+++ b/linux/mali_memory_os_alloc.c
-@@ -202,7 +202,9 @@ int mali_mem_os_alloc_pages(mali_mem_os_mem *os_mem, u32 size)
- /* Allocate new pages, if needed. */
- for (i = 0; i < remaining; i++) {
- dma_addr_t dma_addr;
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
-+ gfp_t flags = __GFP_ZERO | __GFP_RETRY_MAYFAIL | __GFP_NOWARN;
-+#elif LINUX_VERSION_CODE == KERNEL_VERSION(4, 14, 0)
- gfp_t flags = __GFP_ZERO | __GFP_RETRY_MAYFAIL | __GFP_NOWARN | __GFP_COLD;
- #else
- gfp_t flags = __GFP_ZERO | __GFP_REPEAT | __GFP_NOWARN | __GFP_COLD;
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch
deleted file mode 100644
index c28a83f47..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From d20b6eb3e48e56558488dbdda98875b1aed0c29f Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Date: Wed, 5 Dec 2018 18:13:28 -0800
-Subject: [PATCH 2/3] linux: mali_memory_secure: Add header file dma-direct.h
-
-Add dma-direct.h header, as API dma_to_phys is defined here.
-refer kernel commit ea8c64ace86647260ec4255f483e5844d62af2df
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
-Upstream Status: Pending
----
- driver/src/devicedrv/mali/linux/mali_memory_secure.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/driver/src/devicedrv/mali/linux/mali_memory_secure.c b/driver/src/devicedrv/mali/linux/mali_memory_secure.c
-index 2836b1b..4f55fa5 100644
---- linux/mali_memory_secure.c
-+++ b/linux/mali_memory_secure.c
-@@ -13,7 +13,11 @@
- #include "mali_memory_secure.h"
- #include "mali_osk.h"
- #include <linux/mutex.h>
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)
-+#include <linux/dma-direct.h>
-+#else
- #include <linux/dma-mapping.h>
-+#endif
- #include <linux/dma-buf.h>
-
- _mali_osk_errcode_t mali_mem_secure_attach_dma_buf(mali_mem_secure *secure_mem, u32 size, int mem_fd)
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch
deleted file mode 100644
index a7c1d5cc6..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From b6936450484b5aa9dd2438367a907af020341d1d Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Date: Thu, 6 Dec 2018 13:30:44 -0800
-Subject: [PATCH 3/3] linux: mali_*timer: Get rid of init_timer
-
-kernel 4.19 got rid of ancient init_timer. Hence, replace it with
-timer_setup API. For more information refer kernel commit
-7eeb6b893bd28c68b6d664de1d3120e49b855cdb
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
-Upstream Status: Pending
----
- driver/src/devicedrv/mali/common/mali_control_timer.c | 6 ++++++
- driver/src/devicedrv/mali/common/mali_group.c | 6 ++++++
- driver/src/devicedrv/mali/common/mali_osk.h | 15 ++++++++++++++-
- driver/src/devicedrv/mali/linux/mali_osk_timers.c | 15 ++++++++++++++-
- 4 files changed, 40 insertions(+), 2 deletions(-)
-
-diff --git a/driver/src/devicedrv/mali/common/mali_control_timer.c b/driver/src/devicedrv/mali/common/mali_control_timer.c
-index 1296ffe..d24b934 100644
---- common/mali_control_timer.c
-+++ b/common/mali_control_timer.c
-@@ -65,11 +65,17 @@ _mali_osk_errcode_t mali_control_timer_init(void)
- }
- }
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
-+ mali_control_timer = _mali_osk_timer_init(mali_control_timer_callback);
-+#else
- mali_control_timer = _mali_osk_timer_init();
-+#endif
- if (NULL == mali_control_timer) {
- return _MALI_OSK_ERR_FAULT;
- }
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
- _mali_osk_timer_setcallback(mali_control_timer, mali_control_timer_callback, NULL);
-+#endif
-
- return _MALI_OSK_ERR_OK;
- }
-diff --git a/driver/src/devicedrv/mali/common/mali_group.c b/driver/src/devicedrv/mali/common/mali_group.c
-index 5c7b3f4..1702e9a 100644
---- common/mali_group.c
-+++ b/common/mali_group.c
-@@ -65,9 +65,15 @@ struct mali_group *mali_group_create(struct mali_l2_cache_core *core,
-
- group = _mali_osk_calloc(1, sizeof(struct mali_group));
- if (NULL != group) {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
-+ group->timeout_timer = _mali_osk_timer_init(mali_group_timeout);
-+#else
- group->timeout_timer = _mali_osk_timer_init();
-+#endif
- if (NULL != group->timeout_timer) {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
- _mali_osk_timer_setcallback(group->timeout_timer, mali_group_timeout, (void *)group);
-+#endif
-
- group->l2_cache_core[0] = core;
- _mali_osk_list_init(&group->group_list);
-diff --git a/driver/src/devicedrv/mali/common/mali_osk.h b/driver/src/devicedrv/mali/common/mali_osk.h
-index a501778..fe93d79 100644
---- common/mali_osk.h
-+++ b/common/mali_osk.h
-@@ -947,7 +947,17 @@ _mali_osk_errcode_t _mali_osk_notification_queue_dequeue(_mali_osk_notification_
- * asked for.
- *
- * @{ */
--
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
-+/** @brief Initialize a timer
-+ *
-+ * Allocates resources for a new timer, and initializes them. This does not
-+ * start the timer.
-+ *
-+ * @param callback Function to call when timer expires
-+ * @return a pointer to the allocated timer object, or NULL on failure.
-+ */
-+_mali_osk_timer_t *_mali_osk_timer_init(_mali_osk_timer_callback_t callback);
-+#else
- /** @brief Initialize a timer
- *
- * Allocates resources for a new timer, and initializes them. This does not
-@@ -956,6 +966,7 @@ _mali_osk_errcode_t _mali_osk_notification_queue_dequeue(_mali_osk_notification_
- * @return a pointer to the allocated timer object, or NULL on failure.
- */
- _mali_osk_timer_t *_mali_osk_timer_init(void);
-+#endif
-
- /** @brief Start a timer
- *
-@@ -1034,6 +1045,7 @@ void _mali_osk_timer_del_async(_mali_osk_timer_t *tim);
- */
- mali_bool _mali_osk_timer_pending(_mali_osk_timer_t *tim);
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
- /** @brief Set a timer's callback parameters.
- *
- * This must be called at least once before a timer is started/modified.
-@@ -1047,6 +1059,7 @@ mali_bool _mali_osk_timer_pending(_mali_osk_timer_t *tim);
- * @param data Function-specific data to supply to the function on expiry.
- */
- void _mali_osk_timer_setcallback(_mali_osk_timer_t *tim, _mali_osk_timer_callback_t callback, void *data);
-+#endif
-
- /** @brief Terminate a timer, and deallocate resources.
- *
-diff --git a/driver/src/devicedrv/mali/linux/mali_osk_timers.c b/driver/src/devicedrv/mali/linux/mali_osk_timers.c
-index e5d7238..f9b5a86 100644
---- linux/mali_osk_timers.c
-+++ b/linux/mali_osk_timers.c
-@@ -21,13 +21,24 @@
- struct _mali_osk_timer_t_struct {
- struct timer_list timer;
- };
--
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
-+typedef void (*timer_timeout_function_t)(struct timer_list *);
-+#else
- typedef void (*timer_timeout_function_t)(unsigned long);
-+#endif
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
-+_mali_osk_timer_t *_mali_osk_timer_init(_mali_osk_timer_callback_t callback)
-+#else
- _mali_osk_timer_t *_mali_osk_timer_init(void)
-+#endif
- {
- _mali_osk_timer_t *t = (_mali_osk_timer_t *)kmalloc(sizeof(_mali_osk_timer_t), GFP_KERNEL);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
-+ if (NULL != t) timer_setup(&t->timer, (timer_timeout_function_t)callback, 0);
-+#else
- if (NULL != t) init_timer(&t->timer);
-+#endif
- return t;
- }
-
-@@ -62,12 +73,14 @@ mali_bool _mali_osk_timer_pending(_mali_osk_timer_t *tim)
- return 1 == timer_pending(&(tim->timer));
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
- void _mali_osk_timer_setcallback(_mali_osk_timer_t *tim, _mali_osk_timer_callback_t callback, void *data)
- {
- MALI_DEBUG_ASSERT_POINTER(tim);
- tim->timer.data = (unsigned long)data;
- tim->timer.function = (timer_timeout_function_t)callback;
- }
-+#endif
-
- void _mali_osk_timer_term(_mali_osk_timer_t *tim)
- {
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch
deleted file mode 100644
index 5363c37e8..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: mali/linux/mali_memory_os_alloc.c
-===================================================================
---- mali.orig/linux/mali_memory_os_alloc.c
-+++ mali/linux/mali_memory_os_alloc.c
-@@ -239,8 +239,10 @@ int mali_mem_os_alloc_pages(mali_mem_os_
- /* Ensure page is flushed from CPU caches. */
- dma_addr = dma_map_page(&mali_platform_device->dev, new_page,
- 0, _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL);
-- dma_unmap_page(&mali_platform_device->dev, dma_addr,
-- _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL);
-+ err = dma_mapping_error(&mali_platform_device->dev, dma_addr);
-+ if (likely(!err))
-+ dma_unmap_page(&mali_platform_device->dev, dma_addr,
-+ _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL);
- dma_addr = dma_map_page(&mali_platform_device->dev, new_page,
- 0, _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL);
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch
deleted file mode 100644
index dc8bbebf4..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 8cf1dd43f3f25cb4afb84dfc3b0e7c02bc8f7f0c Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Date: Mon, 24 Feb 2020 18:19:37 -0800
-Subject: [LINUX][rel-v2020.1][PATCH v1 1/3] mali_memory_secure: Kernel 5.0
- onwards 'access_ok' API does not take 'type' as input parameter
-
-'access_ok' no longer needs 'type' as input paramter from kernel 5.0
-onwards.
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
----
- driver/src/devicedrv/mali/linux/mali_ukk_mem.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/driver/src/devicedrv/mali/linux/mali_ukk_mem.c b/driver/src/devicedrv/mali/linux/mali_ukk_mem.c
-index 4ec57dc..270bb6d 100644
---- linux/mali_ukk_mem.c
-+++ b/linux/mali_ukk_mem.c
-@@ -207,8 +207,13 @@ int mem_write_safe_wrapper(struct mali_session_data *session_data, _mali_uk_mem_
- kargs.ctx = (uintptr_t)session_data;
-
- /* Check if we can access the buffers */
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
-+ if (!access_ok((const void __user *)kargs.dest, kargs.size)
-+ || !access_ok((const void __user *)kargs.src, kargs.size)) {
-+#else
- if (!access_ok(VERIFY_WRITE, kargs.dest, kargs.size)
- || !access_ok(VERIFY_READ, kargs.src, kargs.size)) {
-+#endif
- return -EINVAL;
- }
-
-@@ -266,7 +271,11 @@ int mem_dump_mmu_page_table_wrapper(struct mali_session_data *session_data, _mal
- goto err_exit;
-
- user_buffer = (void __user *)(uintptr_t)kargs.buffer;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
-+ if (!access_ok(user_buffer, kargs.size))
-+#else
- if (!access_ok(VERIFY_WRITE, user_buffer, kargs.size))
-+#endif
- goto err_exit;
-
- /* allocate temporary buffer (kernel side) to store mmu page table info */
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch
deleted file mode 100644
index 9c4bbee9f..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From 953cab73b8bc487da330aa454abd7f8c7466737e Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Date: Mon, 24 Feb 2020 18:32:16 -0800
-Subject: [LINUX][rel-v2020.1][PATCH v1 2/3] Support for vm_insert_pfn
- deprecated from kernel 4.20
-
-From kernel 4.20 onwards, support for vm_insert_pfn is deprecated.
-Hence, replace the same with vmf_insert_pfn.
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
----
- .../devicedrv/mali/linux/mali_memory_block_alloc.c | 6 +++++-
- driver/src/devicedrv/mali/linux/mali_memory_cow.c | 14 ++++++++++++--
- .../src/devicedrv/mali/linux/mali_memory_os_alloc.c | 20 +++++++++++++++++---
- driver/src/devicedrv/mali/linux/mali_memory_secure.c | 7 ++++++-
- 4 files changed, 40 insertions(+), 7 deletions(-)
-
-diff --git a/driver/src/devicedrv/mali/linux/mali_memory_block_alloc.c b/driver/src/devicedrv/mali/linux/mali_memory_block_alloc.c
-index 0c5b6c3..e528699 100644
---- linux/mali_memory_block_alloc.c
-+++ b/linux/mali_memory_block_alloc.c
-@@ -309,9 +309,13 @@ int mali_mem_block_cpu_map(mali_mem_backend *mem_bkend, struct vm_area_struct *v
-
- list_for_each_entry(m_page, &block_mem->pfns, list) {
- MALI_DEBUG_ASSERT(m_page->type == MALI_PAGE_NODE_BLOCK);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
-+ ret = vmf_insert_pfn(vma, addr, _mali_page_node_get_pfn(m_page));
-+ if (unlikely(VM_FAULT_ERROR & ret)) {
-+#else
- ret = vm_insert_pfn(vma, addr, _mali_page_node_get_pfn(m_page));
--
- if (unlikely(0 != ret)) {
-+#endif
- return -EFAULT;
- }
- addr += _MALI_OSK_MALI_PAGE_SIZE;
-diff --git a/driver/src/devicedrv/mali/linux/mali_memory_cow.c b/driver/src/devicedrv/mali/linux/mali_memory_cow.c
-index f1d44fe..1dae1d6 100644
---- linux/mali_memory_cow.c
-+++ b/linux/mali_memory_cow.c
-@@ -532,9 +532,14 @@ int mali_mem_cow_cpu_map(mali_mem_backend *mem_bkend, struct vm_area_struct *vma
- * flush which makes it way slower than remap_pfn_range or vm_insert_pfn.
- ret = vm_insert_page(vma, addr, page);
- */
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
-+ ret = vmf_insert_pfn(vma, addr, _mali_page_node_get_pfn(m_page));
-+ if (unlikely(VM_FAULT_ERROR & ret)) {
-+#else
- ret = vm_insert_pfn(vma, addr, _mali_page_node_get_pfn(m_page));
--
- if (unlikely(0 != ret)) {
-+#endif
-+
- return ret;
- }
- addr += _MALI_OSK_MALI_PAGE_SIZE;
-@@ -569,9 +574,14 @@ _mali_osk_errcode_t mali_mem_cow_cpu_map_pages_locked(mali_mem_backend *mem_bken
-
- list_for_each_entry(m_page, &cow->pages, list) {
- if ((count >= offset) && (count < offset + num)) {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
-+ ret = vmf_insert_pfn(vma, vaddr, _mali_page_node_get_pfn(m_page));
-+ if (unlikely(VM_FAULT_ERROR & ret)) {
-+#else
- ret = vm_insert_pfn(vma, vaddr, _mali_page_node_get_pfn(m_page));
--
- if (unlikely(0 != ret)) {
-+#endif
-+
- if (count == offset) {
- return _MALI_OSK_ERR_FAULT;
- } else {
-diff --git a/driver/src/devicedrv/mali/linux/mali_memory_os_alloc.c b/driver/src/devicedrv/mali/linux/mali_memory_os_alloc.c
-index 3fb6f05..7de3920 100644
---- linux/mali_memory_os_alloc.c
-+++ b/linux/mali_memory_os_alloc.c
-@@ -378,9 +378,14 @@ int mali_mem_os_cpu_map(mali_mem_backend *mem_bkend, struct vm_area_struct *vma)
- ret = vm_insert_page(vma, addr, page);
- */
- page = m_page->page;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
-+ ret = vmf_insert_pfn(vma, addr, page_to_pfn(page));
-+ if (unlikely(VM_FAULT_ERROR & ret)) {
-+#else
- ret = vm_insert_pfn(vma, addr, page_to_pfn(page));
--
- if (unlikely(0 != ret)) {
-+#endif
-+
- return -EFAULT;
- }
- addr += _MALI_OSK_MALI_PAGE_SIZE;
-@@ -416,9 +421,13 @@ _mali_osk_errcode_t mali_mem_os_resize_cpu_map_locked(mali_mem_backend *mem_bken
-
- vm_end -= _MALI_OSK_MALI_PAGE_SIZE;
- if (mapping_page_num > 0) {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
-+ ret = vmf_insert_pfn(vma, vm_end, page_to_pfn(m_page->page));
-+ if (unlikely(VM_FAULT_ERROR & ret)) {
-+#else
- ret = vm_insert_pfn(vma, vm_end, page_to_pfn(m_page->page));
--
- if (unlikely(0 != ret)) {
-+#endif
- /*will return -EBUSY If the page has already been mapped into table, but it's OK*/
- if (-EBUSY == ret) {
- break;
-@@ -439,9 +448,14 @@ _mali_osk_errcode_t mali_mem_os_resize_cpu_map_locked(mali_mem_backend *mem_bken
- list_for_each_entry(m_page, &os_mem->pages, list) {
- if (count >= offset) {
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
-+ ret = vmf_insert_pfn(vma, vstart, page_to_pfn(m_page->page));
-+ if (unlikely(VM_FAULT_ERROR & ret)) {
-+#else
- ret = vm_insert_pfn(vma, vstart, page_to_pfn(m_page->page));
--
- if (unlikely(0 != ret)) {
-+#endif
-+
- /*will return -EBUSY If the page has already been mapped into table, but it's OK*/
- if (-EBUSY == ret) {
- break;
-diff --git a/driver/src/devicedrv/mali/linux/mali_memory_secure.c b/driver/src/devicedrv/mali/linux/mali_memory_secure.c
-index 5546304..cebd1c8 100644
---- linux/mali_memory_secure.c
-+++ b/linux/mali_memory_secure.c
-@@ -132,9 +132,14 @@ int mali_mem_secure_cpu_map(mali_mem_backend *mem_bkend, struct vm_area_struct *
- MALI_DEBUG_ASSERT(0 == size % _MALI_OSK_MALI_PAGE_SIZE);
-
- for (j = 0; j < size / _MALI_OSK_MALI_PAGE_SIZE; j++) {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
-+ ret = vmf_insert_pfn(vma, addr, PFN_DOWN(phys));
-+ if (unlikely(VM_FAULT_ERROR & ret)) {
-+#else
- ret = vm_insert_pfn(vma, addr, PFN_DOWN(phys));
--
- if (unlikely(0 != ret)) {
-+#endif
-+
- return -EFAULT;
- }
- addr += _MALI_OSK_MALI_PAGE_SIZE;
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch
deleted file mode 100644
index 9797db629..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From ad5c569f0cc40698699fc2f2c1db3ceb9f8b8f35 Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Date: Tue, 25 Feb 2020 11:36:01 -0800
-Subject: [LINUX][rel-v2020.1][PATCH v1 3/3] Change return type to vm_fault_t
- for fault handler
-
-From kernel 4.17 onwards the return type of fault handler for
-vm_operations is of type 'vm_fault_t'.
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
----
- driver/src/devicedrv/mali/linux/mali_memory.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/driver/src/devicedrv/mali/linux/mali_memory.c b/driver/src/devicedrv/mali/linux/mali_memory.c
-index c0f0982..2b2b209 100644
---- linux/mali_memory.c
-+++ b/linux/mali_memory.c
-@@ -70,7 +70,9 @@ static void mali_mem_vma_close(struct vm_area_struct *vma)
- }
- }
-
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0)
-+static vm_fault_t mali_mem_vma_fault(struct vm_fault *vmf)
-+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
- static int mali_mem_vma_fault(struct vm_fault *vmf)
- #else
- static int mali_mem_vma_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch
deleted file mode 100644
index 154bb673e..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c6a6b39cea3fdfd91cae7f2a4ef6f36d2c55fdd6 Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Date: Tue, 25 Feb 2020 15:17:17 -0800
-Subject: [LINUX][rel-v2020.1][PATCH v1] "get_monotonic_boottime(&ts)"
- deprecated from kernel 4.20 onwards
-
-As "get_monotonic_boottime(&ts)" is deprecated, replace the same with
-"ktime_get_boottime_ts64(&ts)". Refer kernel commit ID
-976516404ff3fab2a8caa8bd6f5efc1437fed0b8
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
----
- driver/src/devicedrv/mali/linux/mali_osk_time.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/driver/src/devicedrv/mali/linux/mali_osk_time.c b/driver/src/devicedrv/mali/linux/mali_osk_time.c
-index 03046a5..bfcbf7f 100644
---- linux/mali_osk_time.c
-+++ b/linux/mali_osk_time.c
-@@ -53,7 +53,13 @@ u64 _mali_osk_time_get_ns(void)
-
- u64 _mali_osk_boot_time_get_ns(void)
- {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
-+ struct timespec64 tsval;
-+ ktime_get_boottime_ts64(&tsval);
-+ return (u64)timespec64_to_ns(&tsval);
-+#else
- struct timespec tsval;
- get_monotonic_boottime(&tsval);
- return (u64)timespec_to_ns(&tsval);
-+#endif
- }
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mesa/mesa-demos_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mesa/mesa-demos_%.bbappend
deleted file mode 100644
index febf1636d..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mesa/mesa-demos_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-# OpenGL comes from libmali on ev/eg, when egl is enabled
-DEPENDS_MALI_XLNX = "${@bb.utils.contains('PACKAGECONFIG', 'egl', 'libmali-xlnx', '', d)}"
-PKG_ARCH_XLNX = "${@bb.utils.contains('PACKAGECONFIG', 'egl', '${SOC_VARIANT_ARCH}', '${TUNE_PKGARCH}', d)}"
-
-DEPENDS_append_zynqmpev = " ${DEPENDS_MALI_XLNX}"
-DEPENDS_append_zynqmpeg = " ${DEPENDS_MALI_XLNX}"
-
-PACKAGE_ARCH_zynqmpev = "${PKG_ARCH_XLNX}"
-PACKAGE_ARCH_zynqmpeg = "${PKG_ARCH_XLNX}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mesa/mesa-gl_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mesa/mesa-gl_%.bbappend
deleted file mode 100644
index bcfefa1e1..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-do_install_append_zynqmp () {
- rm -rf ${D}${includedir}/KHR/*
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/wayland/weston_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/wayland/weston_%.bbappend
deleted file mode 100644
index febf1636d..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/wayland/weston_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-# OpenGL comes from libmali on ev/eg, when egl is enabled
-DEPENDS_MALI_XLNX = "${@bb.utils.contains('PACKAGECONFIG', 'egl', 'libmali-xlnx', '', d)}"
-PKG_ARCH_XLNX = "${@bb.utils.contains('PACKAGECONFIG', 'egl', '${SOC_VARIANT_ARCH}', '${TUNE_PKGARCH}', d)}"
-
-DEPENDS_append_zynqmpev = " ${DEPENDS_MALI_XLNX}"
-DEPENDS_append_zynqmpeg = " ${DEPENDS_MALI_XLNX}"
-
-PACKAGE_ARCH_zynqmpev = "${PKG_ARCH_XLNX}"
-PACKAGE_ARCH_zynqmpeg = "${PKG_ARCH_XLNX}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
deleted file mode 100644
index 33d33b0f5..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 3fbb596e53524e78703b76c4fdc33cd6ac62f777 Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Date: Fri, 11 Dec 2020 16:21:38 -0800
-Subject: [PATCH] libweston: Remove substitute format for ARGB8888
-
-Xilinx DP gfx layer does not support XRGB8888. Hence, remove the same
-as opaque substitute.
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Upstream-Status : Inappropriate [Xilinx specific]
----
- libweston/pixel-formats.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/libweston/pixel-formats.c b/libweston/pixel-formats.c
-index 79dc709..ec2d3b7 100644
---- a/libweston/pixel-formats.c
-+++ b/libweston/pixel-formats.c
-@@ -193,7 +193,6 @@ static const struct pixel_format_info pixel_format_table[] = {
- {
- DRM_FORMAT(ARGB8888),
- BITS_RGBA_FIXED(8, 8, 8, 8),
-- .opaque_substitute = DRM_FORMAT_XRGB8888,
- .depth = 32,
- .bpp = 32,
- GL_FORMAT(GL_BGRA_EXT),
---
-2.17.1
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/weston.ini b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/weston.ini
deleted file mode 100644
index 2ff81795c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/weston.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[core]
-idle-time=0
-
-gbm-format=rgb565
-
-require-input=false
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/weston-init%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/weston-init%.bbappend
deleted file mode 100644
index aaee7f5dc..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/weston-init%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend_zynqmp := "${THISDIR}/files:"
-
-SRC_URI_append_zynqmp = " file://weston.ini"
-
-do_install_append_zynqmp() {
- install -Dm 0700 ${WORKDIR}/weston.ini ${D}/${sysconfdir}/xdg/weston/weston.ini
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/weston_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/weston_%.bbappend
deleted file mode 100644
index d1912a814..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/weston_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS_prepend_zynqmp := "${THISDIR}/files:"
-
-SRC_URI_append_zynqmp = " file://0001-libweston-Remove-substitute-format-for-ARGB8888.patch"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-armsoc_driver.c-Bypass-the-exa-layer-to-free-the-roo.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-armsoc_driver.c-Bypass-the-exa-layer-to-free-the-roo.patch
deleted file mode 100644
index 2e0247944..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-armsoc_driver.c-Bypass-the-exa-layer-to-free-the-roo.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 497de8b16265468cacad880f4a371756924ae0c1 Mon Sep 17 00:00:00 2001
-From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
-Date: Tue, 14 Apr 2020 15:25:13 -0700
-Subject: [xf86-video-armsoc][PATCH v2] armsoc_driver.c: Bypass the exa layer
- to free the root pixmap
-
-Since the root pixmap was allocated through miCreateScreenResources,
-the exa layer is not aware of the pixmap resulting in the assertion
-to fail. Instead, we can directly invoke fbDestroyPixmap, thereby
-freeing the pixmap and avoiding a memory leak.
-
-Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
----
- src/armsoc_driver.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/armsoc_driver.c b/src/armsoc_driver.c
-index 3ace3c7..a4a1ba3 100644
---- a/src/armsoc_driver.c
-+++ b/src/armsoc_driver.c
-@@ -1259,7 +1259,8 @@ ARMSOCCloseScreen(CLOSE_SCREEN_ARGS_DECL)
- * we do it here, before calling the CloseScreen chain which would just free pScreen->devPrivate in fbCloseScreen()
- */
- if (pScreen->devPrivate) {
-- (void) (*pScreen->DestroyPixmap)(pScreen->devPrivate);
-+ fbDestroyPixmap (pScreen->devPrivate);
-+ armsoc_bo_unreference(pARMSOC->scanout);
- pScreen->devPrivate = NULL;
- }
-
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-src-drmmode_xilinx-Add-the-dumb-gem-support-for-Xili.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-src-drmmode_xilinx-Add-the-dumb-gem-support-for-Xili.patch
deleted file mode 100644
index bf2169ee3..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-src-drmmode_xilinx-Add-the-dumb-gem-support-for-Xili.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 630a8ea035fe2f075f6ea7f4bad0928f5b541c80 Mon Sep 17 00:00:00 2001
-From: Hyun Kwon <hyun.kwon@xilinx.com>
-Date: Wed, 21 Jan 2015 11:53:19 -0800
-Subject: [PATCH] src: drmmode_xilinx: Add the dumb gem support for Xilinx
-
-Add the dumb gem support for Xilinx
-
-Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com>
-Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
-Upstream-Status: Pending
----
- src/Makefile.am | 3 +-
- src/armsoc_driver.c | 1 +
- src/drmmode_driver.h | 1 +
- src/drmmode_xilinx/drmmode_xilinx.c | 76 +++++++++++++++++++++++++++++++++++++
- 4 files changed, 80 insertions(+), 1 deletion(-)
- create mode 100644 src/drmmode_xilinx/drmmode_xilinx.c
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 3b2601927c..db5f110fb2 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -43,7 +43,8 @@ armsoc_drv_ladir = @moduledir@/drivers
- DRMMODE_SRCS = drmmode_exynos/drmmode_exynos.c \
- drmmode_pl111/drmmode_pl111.c \
- drmmode_kirin/drmmode_kirin.c \
-- drmmode_sti/drmmode_sti.c
-+ drmmode_sti/drmmode_sti.c \
-+ drmmode_xilinx/drmmode_xilinx.c
-
-
- armsoc_drv_la_SOURCES = \
-diff --git a/src/armsoc_driver.c b/src/armsoc_driver.c
-index 83e74a7ed1..3ace3c7be5 100644
---- a/src/armsoc_driver.c
-+++ b/src/armsoc_driver.c
-@@ -737,6 +737,7 @@ static struct drmmode_interface *get_drmmode_implementation(int drm_fd)
- &pl111_interface,
- &kirin_interface,
- &sti_interface,
-+ &xilinx_interface,
- };
- int i;
-
-diff --git a/src/drmmode_driver.h b/src/drmmode_driver.h
-index 879fc60ddc..18245d591a 100644
---- a/src/drmmode_driver.h
-+++ b/src/drmmode_driver.h
-@@ -106,6 +106,7 @@ extern struct drmmode_interface exynos_interface;
- extern struct drmmode_interface pl111_interface;
- extern struct drmmode_interface kirin_interface;
- extern struct drmmode_interface sti_interface;
-+extern struct drmmode_interface xilinx_interface;
-
-
- #endif
-diff --git a/src/drmmode_xilinx/drmmode_xilinx.c b/src/drmmode_xilinx/drmmode_xilinx.c
-new file mode 100644
-index 0000000000..f4faceb0b4
---- /dev/null
-+++ b/src/drmmode_xilinx/drmmode_xilinx.c
-@@ -0,0 +1,76 @@
-+/*
-+ * Xilinx X11 ARMSOC driver
-+ *
-+ * Author: Hyun Woo Kwon <hyun.kwon@xilinx.com>
-+ *
-+ * Copyright (C) 2014 Xilinx, Inc.
-+ *
-+ * Based on drmmode_exynos.c
-+ *
-+ * Copyright © 2013 ARM Limited.
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice (including the next
-+ * paragraph) shall be included in all copies or substantial portions of the
-+ * Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-+ * SOFTWARE.
-+ *
-+ */
-+
-+#include <stdlib.h>
-+
-+#include <drm.h>
-+#include <xf86drm.h>
-+
-+#include "../drmmode_driver.h"
-+
-+static int create_custom_gem(int fd, struct armsoc_create_gem *create_gem)
-+{
-+ struct drm_mode_create_dumb arg;
-+ int ret;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.height = create_gem->height;
-+ arg.width = create_gem->width;
-+ arg.bpp = create_gem->bpp;
-+
-+ ret = drmIoctl(fd, DRM_IOCTL_MODE_CREATE_DUMB, &arg);
-+ if (ret)
-+ return ret;
-+
-+ create_gem->height = arg.height;
-+ create_gem->width = arg.width;
-+ create_gem->bpp = arg.bpp;
-+ create_gem->handle = arg.handle;
-+ create_gem->pitch = arg.pitch;
-+ create_gem->size = arg.size;
-+
-+ return 0;
-+}
-+
-+struct drmmode_interface xilinx_interface = {
-+ "xlnx" /* name of drm driver */,
-+ 1 /* use_page_flip_events */,
-+ 1 /* use_early_display */,
-+ 0 /* cursor width */,
-+ 0 /* cursor_height */,
-+ 0 /* cursor padding */,
-+ HWCURSOR_API_NONE /* cursor_api */,
-+ NULL /* init_plane_for_cursor */,
-+ 0 /* vblank_query_supported */,
-+ create_custom_gem /* create_custom_gem */,
-+};
-+
---
-2.11.0
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend
deleted file mode 100644
index 955398a3f..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/xf86-video-armsoc:"
-
-SRC_URI_append = " file://0001-src-drmmode_xilinx-Add-the-dumb-gem-support-for-Xili.patch \
- file://0001-armsoc_driver.c-Bypass-the-exa-layer-to-free-the-roo.patch \
- "
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config/zynqmp/xorg.conf b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config/zynqmp/xorg.conf
deleted file mode 100644
index 9ef39462a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config/zynqmp/xorg.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-Section "InputDevice"
- Identifier "System Mouse"
- Driver "mouse"
- Option "Device" "/dev/input/mouse0"
-EndSection
-
-Section "InputDevice"
- Identifier "System Keyboard"
- Driver "kbd"
- Option "Device" "/dev/input/event0"
-EndSection
-
-Section "Device"
- Identifier "ZynqMP"
- Driver "armsoc"
- Option "DRI2" "true"
- Option "DRI2_PAGE_FLIP" "false"
- Option "DRI2_WAIT_VSYNC" "true"
- Option "SWcursorLCD" "false"
- Option "DEBUG" "false"
-EndSection
-
-Section "Screen"
- Identifier "DefaultScreen"
- Device "ZynqMP"
- DefaultDepth 16
-EndSection
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
deleted file mode 100644
index 72d991c7e..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/dp/kernel-module-dp_git.bb b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/dp/kernel-module-dp_git.bb
deleted file mode 100755
index e5356d865..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/dp/kernel-module-dp_git.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Xilinx DisplayPort Linux Kernel module"
-DESCRIPTION = "Out-of-tree DisplayPort(DP) kernel modules provider for aarch64 devices"
-SECTION = "kernel/modules"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
-
-XLNX_DP_VERSION = "5.4.0"
-PV = "${XLNX_DP_VERSION}"
-
-S = "${WORKDIR}/git"
-
-BRANCH ?= "master"
-REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https"
-SRCREV ?= "a3a7dfe17cf610fd4186b11638e1ce6b78dc958a"
-
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-inherit module
-
-EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_zynqmp = "zynqmp"
-COMPATIBLE_MACHINE_versal = "versal"
-
-PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/dtc/python3-dtc_1.5.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/dtc/python3-dtc_1.5.1.bb
deleted file mode 100644
index 08e356d43..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/dtc/python3-dtc_1.5.1.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Device Tree Compiler"
-HOMEPAGE = "https://devicetree.org/"
-DESCRIPTION = "The Device Tree Compiler is a tool used to manipulate the Open-Firmware-like device tree used by PowerPC kernels."
-SECTION = "bootloader"
-LICENSE = "GPLv2 | BSD"
-DEPENDS = "flex-native bison-native swig-native"
-
-SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git"
-
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
-
-LIC_FILES_CHKSUM = "file://libfdt.i;beginline=1;endline=6;md5=afda088c974174a29108c8d80b5dce90"
-
-SRCREV = "60e0db3d65a1218b0d5a29474e769f28a18e3ca6"
-
-S = "${WORKDIR}/git/pylibfdt"
-
-DEPENDS += "libyaml dtc"
-
-inherit distutils3
-
-do_configure_prepend() {
- (cd ${S}/../ ; make version_gen.h )
-}
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/hdmi/kernel-module-hdmi_git.bb b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/hdmi/kernel-module-hdmi_git.bb
deleted file mode 100644
index b26ecd948..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/hdmi/kernel-module-hdmi_git.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Xilinx HDMI Linux Kernel module"
-DESCRIPTION = "Out-of-tree HDMI kernel modules provider for MPSoC EG/EV devices"
-SECTION = "kernel/modules"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=570506b747d768e7802376f932dff926"
-
-XLNX_HDMI_VERSION = "5.4.0"
-PV = "${XLNX_HDMI_VERSION}"
-
-S = "${WORKDIR}/git"
-
-BRANCH ?= "rel-v2020.2"
-REPO ?= "git://github.com/xilinx/hdmi-modules.git;protocol=https"
-SRCREV ?= "2cbacc12910bab236e491c5aa44999fa16cbaea9"
-
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-inherit module
-
-EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_zynqmp = "zynqmp"
-COMPATIBLE_MACHINE_versal = "versal"
-
-PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
deleted file mode 100644
index eb64045a8..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
+++ /dev/null
@@ -1,29 +0,0 @@
-# TIInit_11.8.32.bts is required for bluetooth support but this particular
-# version is not available in the linux-firmware repository.
-#
-SRC_URI_append_ultra96 = "\
- https://git.ti.com/ti-bt/service-packs/blobs/raw/c290f8af9e388f37e509ecb111a1b64572b7c225/initscripts/TIInit_11.8.32.bts;name=TIInit_11.8.32 \
- "
-
-SRC_URI[TIInit_11.8.32.md5sum] = "b1e142773e8ef0537b93895ebe2fcae3"
-SRC_URI[TIInit_11.8.32.sha256sum] = "962322c05857ad6b1fb81467bdfc59c125e04a6a8eaabf7f24b742ddd68c3bfa"
-
-do_install_append_ultra96() {
- cp ${WORKDIR}/TIInit_11.8.32.bts ${D}${nonarch_base_libdir}/firmware/ti-connectivity/
- ( cd ${D}${nonarch_base_libdir}/firmware ; ln -sf ti-connectivity/* . )
- rm -f ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_7*
- rm -f ${D}${nonarch_base_libdir}/firmware/TIInit_7*
-}
-
-INSANE_SKIP_${PN} += "installed-vs-shipped"
-
-PACKAGES_remove_ultra96 = "${PN}-wl12xx"
-
-FILES_${PN}-wl18xx_ultra96 = " \
- ${nonarch_base_libdir}/firmware/wl18* \
- ${nonarch_base_libdir}/firmware/TI* \
- ${nonarch_base_libdir}/firmware/ti-connectivity/wl18* \
- ${nonarch_base_libdir}/firmware/ti-connectivity/TI* \
- "
-
-PACKAGE_ARCH_ultra96 = "${BOARD_ARCH}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-microblaze.inc b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-microblaze.inc
deleted file mode 100644
index e23a50e8c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-microblaze.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-# MicroBlaze is a uImage target, but its not called 'uImage' instead it is called 'linux.bin.ub'
-python () {
- if d.getVar('KERNEL_IMAGETYPE', True).endswith('.ub'):
- d.setVar('DEPENDS', "%s u-boot-mkimage-native" % d.getVar('DEPENDS', True))
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx-dev.bb b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx-dev.bb
deleted file mode 100644
index acb9938ff..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx-dev.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-# This recipe tracks the 'bleeding edge' linux-xlnx repository.
-# Since this tree is frequently updated, AUTOREV is used to track its contents.
-#
-# To enable this recipe, set PREFERRED_PROVIDER_virtual/kernel = "linux-xlnx-dev"
-
-KBRANCH ?= "master"
-
-# Use the SRCREV for the last tagged revision of linux-xlnx.
-SRCREV ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-xlnx-dev", "${AUTOREV}", "84fb0cc65aae5970471cbc54b0c89009b9b904af", d)}'
-
-# skip version sanity, because the version moves with AUTOREV
-KERNEL_VERSION_SANITY_SKIP = "1"
-
-LINUX_VERSION ?= "4.9+"
-LINUX_VERSION_EXTENSION ?= "-xilinx-dev"
-
-include linux-xlnx.inc
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
deleted file mode 100644
index a98fc8018..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
+++ /dev/null
@@ -1,65 +0,0 @@
-# This version extension should match CONFIG_LOCALVERSION in defconfig
-XILINX_RELEASE_VERSION ?= ""
-LINUX_VERSION_EXTENSION ?= "-xilinx-${XILINX_RELEASE_VERSION}"
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-# Sources, by default allow for the use of SRCREV pointing to orphaned tags/commits
-KBRANCH ?= "xlnx_rebase_v5.4"
-SRCBRANCHARG = "${@['nobranch=1', 'branch=${KBRANCH}'][d.getVar('KBRANCH', True) != '']}"
-
-FILESOVERRIDES_append = ":${XILINX_RELEASE_VERSION}"
-KERNELURI ?= "git://github.com/Xilinx/linux-xlnx.git;protocol=https;name=machine"
-YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=yocto-kmeta"
-SRC_URI = "${KERNELURI};${SRCBRANCHARG} ${YOCTO_META}"
-
-SRCREV_machine ?= "${SRCREV}"
-SRCREV_meta ?= "33bd5e8ac6fa46d5d7891b6e850603159f095b1a"
-SRCREV_FORMAT = "machine"
-
-require recipes-kernel/linux/linux-yocto.inc
-require linux-microblaze.inc
-
-DESCRIPTION = "Xilinx Kernel"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-
-EXTKERNELSRC = "${@'1' if d.getVar('EXTERNALSRC') else ''}"
-
-# Force the use of the KBUILD_DEFCONFIG even if some other defconfig was generated in the ${WORKDIR}
-do_kernel_metadata_prepend () {
- [ -n "${KBUILD_DEFCONFIG}" ] && [ -e ${WORKDIR}/defconfig ] && rm ${WORKDIR}/defconfig
-}
-
-do_configure_prepend () {
- if [ -n "${KBUILD_DEFCONFIG}" ] && [ -n "${EXTKERNELSRC}" ]; then
- cp ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${WORKDIR}/defconfig
- fi
-}
-
-inherit kernel-simpleimage
-
-# Default to be only compatible with specific machines or soc families
-COMPATIBLE_MACHINE ?= "^$"
-COMPATIBLE_MACHINE_zynq = ".*"
-COMPATIBLE_MACHINE_zynqmp = ".*"
-COMPATIBLE_MACHINE_microblaze = ".*"
-COMPATIBLE_MACHINE_versal = ".*"
-
-# Use DEFCONFIGs for configuring linux-xlnx kernels
-KCONFIG_MODE ?= "alldefconfig"
-KBUILD_DEFCONFIG_zynqmp = "xilinx_defconfig"
-KBUILD_DEFCONFIG_zynq = "xilinx_zynq_defconfig"
-KBUILD_DEFCONFIG_microblaze = "mmu_defconfig"
-KBUILD_DEFCONFIG_versal = "xilinx_defconfig"
-
-# MicroBlaze BSP fragments
-KERNEL_FEATURES_append_kc705-microblazeel = " bsp/xilinx/kc705-microblazeel-features/kc705-microblazeel-features.scc"
-
-KERNEL_FEATURES_append_zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)}"
-
-KERNEL_FEATURES_append_zynqmp = "${@' features/xilinx/overlay_of/overlay_of.scc' if d.getVar('FPGA_MNGR_RECONFIG_ENABLE') == '1' else ''}"
-
-KERNEL_FEATURES_append_versal = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)} features/xilinx/hdmi-module/hdmi-module.scc"
-
-KERNEL_FEATURES_append_ultra96 = " bsp/xilinx/ultra96-zynqmp/mipi-config-ultra96.scc"
-
-KERNEL_FEATURES_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', ' features/ocicontainer/ocicontainer.scc', '', d)}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-libtraceevent-Fix-build-with-binutils-2.35.patch b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-libtraceevent-Fix-build-with-binutils-2.35.patch
deleted file mode 100644
index 25bc9f5b3..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-libtraceevent-Fix-build-with-binutils-2.35.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From c2fd34d4311033120fa502aa8bd4723cdeee0103 Mon Sep 17 00:00:00 2001
-From: Ben Hutchings <ben@decadent.org.uk>
-Date: Sat, 25 Jul 2020 02:06:23 +0100
-Subject: [PATCH] libtraceevent: Fix build with binutils 2.35
-
-commit 39efdd94e314336f4acbac4c07e0f37bdc3bef71 upstream.
-
-In binutils 2.35, 'nm -D' changed to show symbol versions along with
-symbol names, with the usual @@ separator. When generating
-libtraceevent-dynamic-list we need just the names, so strip off the
-version suffix if present.
-
-Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-Tested-by: Salvatore Bonaccorso <carnil@debian.org>
-Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
-Cc: linux-trace-devel@vger.kernel.org
-Cc: stable@vger.kernel.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- tools/lib/traceevent/plugins/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/lib/traceevent/plugins/Makefile b/tools/lib/traceevent/plugins/Makefile
-index f440989..23c3535 100644
---- a/tools/lib/traceevent/plugins/Makefile
-+++ b/tools/lib/traceevent/plugins/Makefile
-@@ -196,7 +196,7 @@ define do_generate_dynamic_list_file
- xargs echo "U w W" | tr 'w ' 'W\n' | sort -u | xargs echo`;\
- if [ "$$symbol_type" = "U W" ];then \
- (echo '{'; \
-- $(NM) -u -D $1 | awk 'NF>1 {print "\t"$$2";"}' | sort -u;\
-+ $(NM) -u -D $1 | awk 'NF>1 {sub("@.*", "", $$2); print "\t"$$2";"}' | sort -u;\
- echo '};'; \
- ) > $2; \
- else \
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-bench-Share-some-global-variables-to-fix-build-.patch b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-bench-Share-some-global-variables-to-fix-build-.patch
deleted file mode 100644
index e938ccf3d..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-bench-Share-some-global-variables-to-fix-build-.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-From df35e878d0a51755fb500e2e8e29c7ebb0239756 Mon Sep 17 00:00:00 2001
-From: Arnaldo Carvalho de Melo <acme@redhat.com>
-Date: Mon, 2 Mar 2020 12:09:38 -0300
-Subject: [PATCH] perf bench: Share some global variables to fix build with gcc
- 10
-
-commit e4d9b04b973b2dbce7b42af95ea70d07da1c936d upstream.
-
-Noticed with gcc 10 (fedora rawhide) that those variables were not being
-declared as static, so end up with:
-
- ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `end'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `start'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `runtime'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `end'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `start'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `runtime'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
- make[4]: *** [/git/perf/tools/build/Makefile.build:145: /tmp/build/perf/bench/perf-in.o] Error 1
-
-Prefix those with bench__ and add them to bench/bench.h, so that we can
-share those on the tools needing to access those variables from signal
-handlers.
-
-Acked-by: Thomas Gleixner <tglx@linutronix.de>
-Cc: Adrian Hunter <adrian.hunter@intel.com>
-Cc: Davidlohr Bueso <dave@stgolabs.net>
-Cc: Jiri Olsa <jolsa@kernel.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Link: http://lore.kernel.org/lkml/20200303155811.GD13702@kernel.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-Cc: Ben Hutchings <ben@decadent.org.uk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- tools/perf/bench/bench.h | 4 ++++
- tools/perf/bench/epoll-ctl.c | 7 +++----
- tools/perf/bench/epoll-wait.c | 11 +++++------
- tools/perf/bench/futex-hash.c | 12 ++++++------
- tools/perf/bench/futex-lock-pi.c | 11 +++++------
- 5 files changed, 23 insertions(+), 22 deletions(-)
-
-diff --git a/tools/perf/bench/bench.h b/tools/perf/bench/bench.h
-index fddb3ce..4aa6de1 100644
---- a/tools/perf/bench/bench.h
-+++ b/tools/perf/bench/bench.h
-@@ -2,6 +2,10 @@
- #ifndef BENCH_H
- #define BENCH_H
-
-+#include <sys/time.h>
-+
-+extern struct timeval bench__start, bench__end, bench__runtime;
-+
- /*
- * The madvise transparent hugepage constants were added in glibc
- * 2.13. For compatibility with older versions of glibc, define these
-diff --git a/tools/perf/bench/epoll-ctl.c b/tools/perf/bench/epoll-ctl.c
-index bb617e5..a7526c0 100644
---- a/tools/perf/bench/epoll-ctl.c
-+++ b/tools/perf/bench/epoll-ctl.c
-@@ -35,7 +35,6 @@
-
- static unsigned int nthreads = 0;
- static unsigned int nsecs = 8;
--struct timeval start, end, runtime;
- static bool done, __verbose, randomize;
-
- /*
-@@ -94,8 +93,8 @@ static void toggle_done(int sig __maybe_unused,
- {
- /* inform all threads that we're done for the day */
- done = true;
-- gettimeofday(&end, NULL);
-- timersub(&end, &start, &runtime);
-+ gettimeofday(&bench__end, NULL);
-+ timersub(&bench__end, &bench__start, &bench__runtime);
- }
-
- static void nest_epollfd(void)
-@@ -361,7 +360,7 @@ int bench_epoll_ctl(int argc, const char **argv)
-
- threads_starting = nthreads;
-
-- gettimeofday(&start, NULL);
-+ gettimeofday(&bench__start, NULL);
-
- do_threads(worker, cpu);
-
-diff --git a/tools/perf/bench/epoll-wait.c b/tools/perf/bench/epoll-wait.c
-index 7af6944..d1c5cb5 100644
---- a/tools/perf/bench/epoll-wait.c
-+++ b/tools/perf/bench/epoll-wait.c
-@@ -90,7 +90,6 @@
-
- static unsigned int nthreads = 0;
- static unsigned int nsecs = 8;
--struct timeval start, end, runtime;
- static bool wdone, done, __verbose, randomize, nonblocking;
-
- /*
-@@ -276,8 +275,8 @@ static void toggle_done(int sig __maybe_unused,
- {
- /* inform all threads that we're done for the day */
- done = true;
-- gettimeofday(&end, NULL);
-- timersub(&end, &start, &runtime);
-+ gettimeofday(&bench__end, NULL);
-+ timersub(&bench__end, &bench__start, &bench__runtime);
- }
-
- static void print_summary(void)
-@@ -287,7 +286,7 @@ static void print_summary(void)
-
- printf("\nAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
- avg, rel_stddev_stats(stddev, avg),
-- (int) runtime.tv_sec);
-+ (int)bench__runtime.tv_sec);
- }
-
- static int do_threads(struct worker *worker, struct perf_cpu_map *cpu)
-@@ -479,7 +478,7 @@ int bench_epoll_wait(int argc, const char **argv)
-
- threads_starting = nthreads;
-
-- gettimeofday(&start, NULL);
-+ gettimeofday(&bench__start, NULL);
-
- do_threads(worker, cpu);
-
-@@ -519,7 +518,7 @@ int bench_epoll_wait(int argc, const char **argv)
- qsort(worker, nthreads, sizeof(struct worker), cmpworker);
-
- for (i = 0; i < nthreads; i++) {
-- unsigned long t = worker[i].ops/runtime.tv_sec;
-+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
-
- update_stats(&throughput_stats, t);
-
-diff --git a/tools/perf/bench/futex-hash.c b/tools/perf/bench/futex-hash.c
-index 8ba0c33..2177686 100644
---- a/tools/perf/bench/futex-hash.c
-+++ b/tools/perf/bench/futex-hash.c
-@@ -37,7 +37,7 @@ static unsigned int nfutexes = 1024;
- static bool fshared = false, done = false, silent = false;
- static int futex_flag = 0;
-
--struct timeval start, end, runtime;
-+struct timeval bench__start, bench__end, bench__runtime;
- static pthread_mutex_t thread_lock;
- static unsigned int threads_starting;
- static struct stats throughput_stats;
-@@ -103,8 +103,8 @@ static void toggle_done(int sig __maybe_unused,
- {
- /* inform all threads that we're done for the day */
- done = true;
-- gettimeofday(&end, NULL);
-- timersub(&end, &start, &runtime);
-+ gettimeofday(&bench__end, NULL);
-+ timersub(&bench__end, &bench__start, &bench__runtime);
- }
-
- static void print_summary(void)
-@@ -114,7 +114,7 @@ static void print_summary(void)
-
- printf("%sAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
- !silent ? "\n" : "", avg, rel_stddev_stats(stddev, avg),
-- (int) runtime.tv_sec);
-+ (int)bench__runtime.tv_sec);
- }
-
- int bench_futex_hash(int argc, const char **argv)
-@@ -161,7 +161,7 @@ int bench_futex_hash(int argc, const char **argv)
-
- threads_starting = nthreads;
- pthread_attr_init(&thread_attr);
-- gettimeofday(&start, NULL);
-+ gettimeofday(&bench__start, NULL);
- for (i = 0; i < nthreads; i++) {
- worker[i].tid = i;
- worker[i].futex = calloc(nfutexes, sizeof(*worker[i].futex));
-@@ -204,7 +204,7 @@ int bench_futex_hash(int argc, const char **argv)
- pthread_mutex_destroy(&thread_lock);
-
- for (i = 0; i < nthreads; i++) {
-- unsigned long t = worker[i].ops/runtime.tv_sec;
-+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
- update_stats(&throughput_stats, t);
- if (!silent) {
- if (nfutexes == 1)
-diff --git a/tools/perf/bench/futex-lock-pi.c b/tools/perf/bench/futex-lock-pi.c
-index d0cae81..30d9712 100644
---- a/tools/perf/bench/futex-lock-pi.c
-+++ b/tools/perf/bench/futex-lock-pi.c
-@@ -37,7 +37,6 @@ static bool silent = false, multi = false;
- static bool done = false, fshared = false;
- static unsigned int nthreads = 0;
- static int futex_flag = 0;
--struct timeval start, end, runtime;
- static pthread_mutex_t thread_lock;
- static unsigned int threads_starting;
- static struct stats throughput_stats;
-@@ -64,7 +63,7 @@ static void print_summary(void)
-
- printf("%sAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
- !silent ? "\n" : "", avg, rel_stddev_stats(stddev, avg),
-- (int) runtime.tv_sec);
-+ (int)bench__runtime.tv_sec);
- }
-
- static void toggle_done(int sig __maybe_unused,
-@@ -73,8 +72,8 @@ static void toggle_done(int sig __maybe_unused,
- {
- /* inform all threads that we're done for the day */
- done = true;
-- gettimeofday(&end, NULL);
-- timersub(&end, &start, &runtime);
-+ gettimeofday(&bench__end, NULL);
-+ timersub(&bench__end, &bench__start, &bench__runtime);
- }
-
- static void *workerfn(void *arg)
-@@ -185,7 +184,7 @@ int bench_futex_lock_pi(int argc, const char **argv)
-
- threads_starting = nthreads;
- pthread_attr_init(&thread_attr);
-- gettimeofday(&start, NULL);
-+ gettimeofday(&bench__start, NULL);
-
- create_threads(worker, thread_attr, cpu);
- pthread_attr_destroy(&thread_attr);
-@@ -211,7 +210,7 @@ int bench_futex_lock_pi(int argc, const char **argv)
- pthread_mutex_destroy(&thread_lock);
-
- for (i = 0; i < nthreads; i++) {
-- unsigned long t = worker[i].ops/runtime.tv_sec;
-+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
-
- update_stats(&throughput_stats, t);
- if (!silent)
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch
deleted file mode 100644
index 28873cdd4..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From bc79abf4afea97d5ce682aa2bd1095fb74400916 Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Tue, 5 May 2020 21:36:42 +0800
-Subject: [PATCH] perf cs-etm: Move definition of 'traceid_list' global
- variable from header file
-
-commit 168200b6d6ea0cb5765943ec5da5b8149701f36a upstream.
-
-The variable 'traceid_list' is defined in the header file cs-etm.h,
-if multiple C files include cs-etm.h the compiler might complaint for
-multiple definition of 'traceid_list'.
-
-To fix multiple definition error, move the definition of 'traceid_list'
-into cs-etm.c.
-
-Fixes: cd8bfd8c973e ("perf tools: Add processing of coresight metadata")
-Reported-by: Thomas Backlund <tmb@mageia.org>
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Reviewed-by: Mike Leach <mike.leach@linaro.org>
-Tested-by: Mike Leach <mike.leach@linaro.org>
-Tested-by: Thomas Backlund <tmb@mageia.org>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: Tor Jeremiassen <tor@ti.com>
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20200505133642.4756-1-leo.yan@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-Cc: Paul Barker <pbarker@konsulko.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- tools/perf/util/cs-etm.c | 3 +++
- tools/perf/util/cs-etm.h | 3 ---
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index 451eee2..f5a9cb4 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -94,6 +94,9 @@ struct cs_etm_queue {
- struct cs_etm_traceid_queue **traceid_queues;
- };
-
-+/* RB tree for quick conversion between traceID and metadata pointers */
-+static struct intlist *traceid_list;
-+
- static int cs_etm__update_queues(struct cs_etm_auxtrace *etm);
- static int cs_etm__process_queues(struct cs_etm_auxtrace *etm);
- static int cs_etm__process_timeless_queues(struct cs_etm_auxtrace *etm,
-diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h
-index 650ecc2..4ad925d 100644
---- a/tools/perf/util/cs-etm.h
-+++ b/tools/perf/util/cs-etm.h
-@@ -114,9 +114,6 @@ enum cs_etm_isa {
- CS_ETM_ISA_T32,
- };
-
--/* RB tree for quick conversion between traceID and metadata pointers */
--struct intlist *traceid_list;
--
- struct cs_etm_queue;
-
- struct cs_etm_packet {
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-tests-bp_account-Make-global-variable-static.patch b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-tests-bp_account-Make-global-variable-static.patch
deleted file mode 100644
index 4239f0855..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-perf-tests-bp_account-Make-global-variable-static.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 73d2d6b421dfdc66b4615452a94efcece27a3c21 Mon Sep 17 00:00:00 2001
-From: Arnaldo Carvalho de Melo <acme@redhat.com>
-Date: Mon, 2 Mar 2020 11:13:19 -0300
-Subject: [PATCH] perf tests bp_account: Make global variable static
-
-commit cff20b3151ccab690715cb6cf0f5da5cccb32adf upstream.
-
-To fix the build with newer gccs, that without this patch exit with:
-
- LD /tmp/build/perf/tests/perf-in.o
- ld: /tmp/build/perf/tests/bp_account.o:/git/perf/tools/perf/tests/bp_account.c:22: multiple definition of `the_var'; /tmp/build/perf/tests/bp_signal.o:/git/perf/tools/perf/tests/bp_signal.c:38: first defined here
- make[4]: *** [/git/perf/tools/build/Makefile.build:145: /tmp/build/perf/tests/perf-in.o] Error 1
-
-First noticed in fedora:rawhide/32 with:
-
- [perfbuilder@a5ff49d6e6e4 ~]$ gcc --version
- gcc (GCC) 10.0.1 20200216 (Red Hat 10.0.1-0.8)
-
-Reported-by: Jiri Olsa <jolsa@kernel.org>
-Cc: Adrian Hunter <adrian.hunter@intel.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-Cc: Ben Hutchings <ben@decadent.org.uk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- tools/perf/tests/bp_account.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/perf/tests/bp_account.c b/tools/perf/tests/bp_account.c
-index 016bba2..55a9de3 100644
---- a/tools/perf/tests/bp_account.c
-+++ b/tools/perf/tests/bp_account.c
-@@ -23,7 +23,7 @@
- #include "../perf-sys.h"
- #include "cloexec.h"
-
--volatile long the_var;
-+static volatile long the_var;
-
- static noinline int test_function(void)
- {
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
deleted file mode 100644
index d5b96c2d1..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From e33a814e772cdc36436c8c188d8c42d019fda639 Mon Sep 17 00:00:00 2001
-From: Dirk Mueller <dmueller@suse.com>
-Date: Tue, 14 Jan 2020 18:53:41 +0100
-Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration
-
-gcc 10 will default to -fno-common, which causes this error at link
-time:
-
- (.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here
-
-This is because both dtc-lexer as well as dtc-parser define the same
-global symbol yyloc. Before with -fcommon those were merged into one
-defintion. The proper solution would be to to mark this as "extern",
-however that leads to:
-
- dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls]
- 26 | extern YYLTYPE yylloc;
- | ^~~~~~
-In file included from dtc-lexer.l:24:
-dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here
- 127 | extern YYLTYPE yylloc;
- | ^~~~~~
-cc1: all warnings being treated as errors
-
-which means the declaration is completely redundant and can just be
-dropped.
-
-Signed-off-by: Dirk Mueller <dmueller@suse.com>
-Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-[robh: cherry-pick from upstream]
-Cc: stable@vger.kernel.org
-Signed-off-by: Rob Herring <robh@kernel.org>
----
- scripts/dtc/dtc-lexer.l | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
-index 5c6c3fd557d7..b3b7270300de 100644
---- a/scripts/dtc/dtc-lexer.l
-+++ b/scripts/dtc/dtc-lexer.l
-@@ -23,7 +23,6 @@ LINECOMMENT "//".*\n
- #include "srcpos.h"
- #include "dtc-parser.tab.h"
-
--YYLTYPE yylloc;
- extern bool treesource_error;
-
- /* CAUTION: this will stop working if we ever use yyless() or yyunput() */
---
-2.29.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/perf-fix-build-with-binutils.patch b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/perf-fix-build-with-binutils.patch
deleted file mode 100755
index 1470a5d7c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/perf-fix-build-with-binutils.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 0ada120c883d4f1f6aafd01cf0fbb10d8bbba015 Mon Sep 17 00:00:00 2001
-From: Changbin Du <changbin.du@gmail.com>
-Date: Tue, 28 Jan 2020 23:29:38 +0800
-Subject: [PATCH] perf: Make perf able to build with latest libbfd
-
-libbfd has changed the bfd_section_* macros to inline functions
-bfd_section_<field> since 2019-09-18. See below two commits:
- o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html
- o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html
-
-This fix make perf able to build with both old and new libbfd.
-
-Signed-off-by: Changbin Du <changbin.du@gmail.com>
-Acked-by: Jiri Olsa <jolsa@redhat.com>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-
-Upstream-Status: Backport [https://github.com/torvalds/linux/commit/0ada120c883d4f1f6aafd01cf0fbb10d8bbba015]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- tools/perf/util/srcline.c | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c
-index 6ccf6f6d09df9..5b7d6c16d33fe 100644
---- a/tools/perf/util/srcline.c
-+++ b/tools/perf/util/srcline.c
-@@ -193,16 +193,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data)
- bfd_vma pc, vma;
- bfd_size_type size;
- struct a2l_data *a2l = data;
-+ flagword flags;
-
- if (a2l->found)
- return;
-
-- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
-+#ifdef bfd_get_section_flags
-+ flags = bfd_get_section_flags(abfd, section);
-+#else
-+ flags = bfd_section_flags(section);
-+#endif
-+ if ((flags & SEC_ALLOC) == 0)
- return;
-
- pc = a2l->addr;
-+#ifdef bfd_get_section_vma
- vma = bfd_get_section_vma(abfd, section);
-+#else
-+ vma = bfd_section_vma(section);
-+#endif
-+#ifdef bfd_get_section_size
- size = bfd_get_section_size(section);
-+#else
-+ size = bfd_section_size(section);
-+#endif
-
- if (pc < vma || pc >= vma + size)
- return;
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.2.bb b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.2.bb
deleted file mode 100644
index 44fa42de1..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.2.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-LINUX_VERSION = "5.4"
-SRCREV ?= "62ea514294a0c9a80455e51f1f4de36e66e8c546"
-
-include linux-xlnx.inc
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SRC_URI_append = " \
- file://perf-fix-build-with-binutils.patch \
- file://0001-perf-bench-Share-some-global-variables-to-fix-build-.patch \
- file://0001-perf-tests-bp_account-Make-global-variable-static.patch \
- file://0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch \
- file://0001-libtraceevent-Fix-build-with-binutils-2.35.patch \
- file://0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch \
-"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
deleted file mode 100644
index 05c399514..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require linux-yocto-xilinx.inc
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-tiny_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-tiny_%.bbappend
deleted file mode 100644
index 05c399514..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-tiny_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require linux-yocto-xilinx.inc
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-xilinx.inc b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-xilinx.inc
deleted file mode 100644
index 3f3efa95c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-xilinx.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-require linux-microblaze.inc
-
-# Zynq default generic KMACHINE
-COMPATIBLE_MACHINE_zynq = "zynq"
-KMACHINE_zynq = "zynq"
-
-# ZynqMP default generic KMACHINE
-COMPATIBLE_MACHINE_zynqmp = "zynqmp"
-KMACHINE_zynqmp = "zynqmp"
-
-# MicroBlaze KMACHINEs
-KMACHINE_ml605-qemu-microblazeel = "qemumicroblazeel"
-KMACHINE_s3adsp1800-qemu-microblazeeb = "qemumicroblazeeb"
-
-# MicroBlaze default generic KMACHINE
-KMACHINE_microblaze = "microblaze"
-COMPATIBLE_MACHINE_microblaze = "microblaze"
-
-# Default kernel config fragements for specific machines
-KERNEL_FEATURES_append_kc705-microblazeel = " bsp/xilinx/kc705-microblazeel-features/kc705-microblazeel-features.scc"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto_%.bbappend
deleted file mode 100644
index 05c399514..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require linux-yocto-xilinx.inc
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/lopper/lopper.bb b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/lopper/lopper.bb
deleted file mode 100644
index ea3a9a34d..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/lopper/lopper.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Device tree lopper"
-DESCRIPTION = "Tool to subset a system device tree"
-SECTION = "bootloader"
-LICENSE = "BSD-3-Clause"
-DEPENDS += "python3-dtc"
-
-RDEPENDS_${PN} += "python3-core python3-dtc"
-
-SRC_URI = "git://github.com/devicetree-org/lopper.git"
-
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8e5f5f691f01c9fdfa7a7f2d535be619"
-
-SRCREV = "f4389167a200c5d41ee276ff9ad67d01ef6f0aec"
-
-S = "${WORKDIR}/git"
-
-do_configure() {
- :
-}
-
-do_compile() {
- sed -i 's,#!/usr/bin/python3,#!/usr/bin/env python3,' lopper.py
- sed -i 's,#!/usr/bin/python3,#!/usr/bin/env python3,' lopper_sanity.py
-}
-
-do_install() {
- datadirrelpath=${@os.path.relpath(d.getVar('datadir'), d.getVar('bindir'))}
-
- mkdir -p ${D}/${bindir}
- mkdir -p ${D}/${datadir}/lopper
-
- cp -r ${S}/README* ${D}/${datadir}/lopper/.
- cp -r ${S}/assists* ${D}/${datadir}/lopper/.
- cp -r ${S}/lop* ${D}/${datadir}/lopper/.
- cp -r ${S}/LICENSE* ${D}/${datadir}/lopper/.
- cp -r ${S}/device-tree* ${D}/${datadir}/lopper/.
- cp -r ${S}/.gitignore ${D}/${datadir}/lopper/.
-
- ln -s ${datadirrelpath}/lopper/lopper.py ${D}/${bindir}/.
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
deleted file mode 100644
index febf1636d..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-# OpenGL comes from libmali on ev/eg, when egl is enabled
-DEPENDS_MALI_XLNX = "${@bb.utils.contains('PACKAGECONFIG', 'egl', 'libmali-xlnx', '', d)}"
-PKG_ARCH_XLNX = "${@bb.utils.contains('PACKAGECONFIG', 'egl', '${SOC_VARIANT_ARCH}', '${TUNE_PKGARCH}', d)}"
-
-DEPENDS_append_zynqmpev = " ${DEPENDS_MALI_XLNX}"
-DEPENDS_append_zynqmpeg = " ${DEPENDS_MALI_XLNX}"
-
-PACKAGE_ARCH_zynqmpev = "${PKG_ARCH_XLNX}"
-PACKAGE_ARCH_zynqmpeg = "${PKG_ARCH_XLNX}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb
deleted file mode 100644
index 817aa3806..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Linux kernel module for Video Code Unit"
-DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices"
-SECTION = "kernel/modules"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
-
-XILINX_VCU_VERSION = "1.0.0"
-PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-BRANCH ?= "release-2020.2"
-REPO ?= "git://github.com/xilinx/vcu-modules.git;protocol=https"
-SRCREV ?= "844d4c4292e08ad8c3f22ac78e9a937395c1db4b"
-
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-inherit module
-
-EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
-
-RDEPENDS_${PN} = "vcu-firmware"
-
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_zynqmp = "zynqmp"
-
-PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
-
-KERNEL_MODULE_AUTOLOAD += "dmaproxy"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb
deleted file mode 100644
index b52bdf042..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "OpenMAX Integration layer for VCU"
-DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
-
-XILINX_VCU_VERSION = "1.0.0"
-PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
-
-BRANCH ?= "release-2020.2"
-REPO ?= "git://github.com/xilinx/vcu-omx-il.git;protocol=https"
-SRCREV ?= "4e9daf282a12ecba19fe12f296a31315f6a6bd2d"
-
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_zynqmp = "zynqmp"
-
-PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
-
-DEPENDS = "libvcu-xlnx"
-RDEPENDS_${PN} = "kernel-module-vcu libvcu-xlnx"
-
-EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include"
-
-EXTRA_OEMAKE = " \
- CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \
- EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \
- "
-
-do_install() {
- install -d ${D}${libdir}
- install -d ${D}${includedir}/vcu-omx-il
-
- install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il
-
- install -Dm 0755 ${S}/bin/omx_decoder ${D}/${bindir}/omx_decoder
- install -Dm 0755 ${S}/bin/omx_encoder ${D}/${bindir}/omx_encoder
-
- oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/
- oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/
- oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/
-}
-
-# These libraries shouldn't get installed in world builds unless something
-# explicitly depends upon them.
-
-EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb
deleted file mode 100644
index 10b9a4d85..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Control Software for VCU"
-DESCRIPTION = "Control software libraries, test applications and headers provider for VCU"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
-
-XILINX_VCU_VERSION = "1.0.0"
-PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
-
-BRANCH ?= "release-2020.2"
-REPO ?= "git://github.com/xilinx/vcu-ctrl-sw.git;protocol=https"
-SRCREV ?= "b82de3783fe66ee72f28b51313e8b42827d3f202"
-
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_zynqmp = "zynqmp"
-
-PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
-
-RDEPENDS_${PN} = "kernel-module-vcu"
-
-EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'"
-
-do_install() {
- install -d ${D}${libdir}
- install -d ${D}${includedir}/vcu-ctrl-sw/include
-
- install -Dm 0755 ${S}/bin/ctrlsw_encoder ${D}/${bindir}/ctrlsw_encoder
- install -Dm 0755 ${S}/bin/ctrlsw_decoder ${D}/${bindir}/ctrlsw_decoder
-
- oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include
- oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/
- oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/
-}
-
-# These libraries shouldn't get installed in world builds unless something
-# explicitly depends upon them.
-
-EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb
deleted file mode 100644
index 87c0475ac..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Firmware for VCU"
-DESCRIPTION = "Firmware binaries provider for VCU"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=63b45903a9a50120df488435f03cf498"
-
-XILINX_VCU_VERSION = "1.0.0"
-PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-BRANCH ?= "release-2020.2"
-REPO ?= "git://github.com/xilinx/vcu-firmware.git;protocol=https"
-SRCREV ?= "4e0bb53eba9ad84bf113a2efc12a4539e980f2c9"
-
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_zynqmp = "zynqmp"
-
-PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
-
-do_install() {
- install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw
- install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw
- install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw
- install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw
-}
-
-# Inhibit warnings about files being stripped
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-INHIBIT_PACKAGE_STRIP = "1"
-FILES_${PN} = "/lib/firmware/*"
-
-# These libraries shouldn't get installed in world builds unless something
-# explicitly depends upon them.
-EXCLUDE_FROM_WORLD = "1"
-
-INSANE_SKIP_${PN} = "ldflags"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-support/libgpg-error/files/lock-obj-pub.microblazeel-unknown-linux-gnu.h b/meta-xilinx/meta-xilinx-bsp/recipes-support/libgpg-error/files/lock-obj-pub.microblazeel-unknown-linux-gnu.h
deleted file mode 100644
index 9843f4d91..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-support/libgpg-error/files/lock-obj-pub.microblazeel-unknown-linux-gnu.h
+++ /dev/null
@@ -1,23 +0,0 @@
-## lock-obj-pub.microblazeel-xilinx-linux-gnu.h
-## File created by gen-posix-lock-obj - DO NOT EDIT
-## To be included by mkheader into gpg-error.h
-
-typedef struct
-{
- long _vers;
- union {
- volatile char _priv[24];
- long _x_align;
- long *_xp_align;
- } u;
-} gpgrt_lock_t;
-
-#define GPGRT_LOCK_INITIALIZER {1,{{0,0,0,0,0,0,0,0, \
- 0,0,0,0,0,0,0,0, \
- 0,0,0,0,0,0,0,0}}}
-##
-## Local Variables:
-## mode: c
-## buffer-read-only: t
-## End:
-##
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-support/libgpg-error/libgpg-error_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-support/libgpg-error/libgpg-error_%.bbappend
deleted file mode 100644
index 7a4d11429..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-support/libgpg-error/libgpg-error_%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI_append_microblaze = " file://lock-obj-pub.microblazeel-unknown-linux-gnu.h"
-
-do_configure_append_microblaze () {
- cp ${WORKDIR}/lock-obj-pub.microblazeel-unknown-linux-gnu.h ${S}/src/syscfg/
-}
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-headers/opencl-headers_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-headers/opencl-headers_%.bbappend
deleted file mode 100644
index afe3e9cda..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-headers/opencl-headers_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb
deleted file mode 100644
index 97a7a4012..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "Xilinx Runtime(XRT) libraries"
-DESCRIPTION = "Xilinx Runtime User Space Libraries and headers"
-
-LICENSE = "GPLv2 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=da5408f748bce8a9851dac18e66f4bcf \
- file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \
- file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
- file://runtime_src/core/pcie/tools/xbutil/LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87 \
- file://runtime_src/core/edge/tools/xbutil/LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87 "
-
-BRANCH ?= "2020.2"
-REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https"
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-PV = "202020.2.8.0"
-SRCREV ?= "f19a872233fbfe2eb933f25fa3d9a780ced774e5"
-
-S = "${WORKDIR}/git/src"
-
-inherit cmake
-
-BBCLASSEXTEND = "native nativesdk"
-
-# util-linux is for libuuid-dev.
-DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf"
-RDEPENDS_${PN} = "bash ocl-icd boost-system boost-filesystem"
-
-EXTRA_OECMAKE += " \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_EXPORT_COMPILE_COMANDS=ON \
- "
-
-PACKAGE_ARCH_versal-ai-core = "${SOC_VARIANT_ARCH}"
-EXTRA_OECMAKE_append_versal-ai-core += "-DXRT_AIE_BUILD=true"
-TARGET_CXXFLAGS_append_versal-ai-core += "-DXRT_ENABLE_AIE"
-DEPENDS_append_versal-ai-core += " libmetal libxaiengine"
-RDEPENDS_${PN}_append_versal-ai-core += " libxaiengine"
-
-FILES_SOLIBSDEV = ""
-FILES_${PN} += "\
- ${libdir}/lib*.so \
- ${libdir}/lib*.so.* \
- /lib/*.so* "
-INSANE_SKIP_${PN} += "dev-so"
-
-pkg_postinst_ontarget_${PN}() {
- #!/bin/sh
- if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then
- echo "INFO: Creating ICD entry for Xilinx Platform"
- mkdir -p /etc/OpenCL/vendors
- echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd
- chmod -R 755 /etc/OpenCL
- fi
-}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/zocl/zocl_git.bb b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/zocl/zocl_git.bb
deleted file mode 100644
index 1479e2010..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/zocl/zocl_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Xilinx Runtime(XRT) driver module"
-DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule"
-
-LICENSE = "GPLv2 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8"
-
-BRANCH ?= "2020.2"
-REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https"
-BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
-SRC_URI = "${REPO};${BRANCHARG}"
-
-PV = "202020.2.8.0"
-SRCREV ?= "f19a872233fbfe2eb933f25fa3d9a780ced774e5"
-
-S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl"
-
-inherit module
-
-pkg_postinst_ontarget_${PN}() {
- #!/bin/sh
- echo "Unloading old XRT Linux kernel modules"
- ( rmmod zocl || true ) > /dev/null 2>&1
- echo "Loading new XRT Linux kernel modules"
- modprobe zocl
-}
diff --git a/meta-xilinx/meta-xilinx-contrib/COPYING.MIT b/meta-xilinx/meta-xilinx-contrib/COPYING.MIT
deleted file mode 100644
index 89de35479..000000000
--- a/meta-xilinx/meta-xilinx-contrib/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/meta-xilinx/meta-xilinx-contrib/README.md b/meta-xilinx/meta-xilinx-contrib/README.md
deleted file mode 100644
index 952392af0..000000000
--- a/meta-xilinx/meta-xilinx-contrib/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
-meta-xilinx-contrib
-===================
-
-This layer is a contribution layer to support for MicroBlaze, Zynq and ZynqMP architectures.
-This layer depends on meta-xilinx-bsp layer.
-
-Supported Boards/Machines
-=========================
-
-* Zynq:
- * Digilent Zybo Linux BD Reference design
- * [Avnet MiniZed](conf/machine/minized-zynq7.conf) - `minized-zynq7`
-
-Maintainers, Mailing list, Patches
-==================================
-
-Please send any patches, comments or questions for this layer to
-the [meta-xilinx mailing list](https://lists.yoctoproject.org/listinfo/meta-xilinx):
-
- meta-xilinx@lists.yoctoproject.org with '[meta-xilinx-contrib]' in the subject.
-
-
-Subscribe to mailing list at
-https://lists.yoctoproject.org/listinfo/meta-xilinx
-
-Maintainers:
-
- Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
- Mark Hatle <mark.hatle@xilinx.com>
-
-Dependencies
-============
-
-This layer depends on:
-
- URI: git://git.openembedded.org/bitbake
-
- URI: git://git.openembedded.org/openembedded-core
- layers: meta
-
- URI: git://git.openembedded.org/meta-xilinx
-
-
diff --git a/meta-xilinx/meta-xilinx-contrib/conf/layer.conf b/meta-xilinx/meta-xilinx-contrib/conf/layer.conf
deleted file mode 100644
index 7da472987..000000000
--- a/meta-xilinx/meta-xilinx-contrib/conf/layer.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have a packages directory, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "xilinx-contrib"
-BBFILE_PATTERN_xilinx-contrib = "^${LAYERDIR}/"
-BBFILE_PRIORITY_xilinx-contrib = "5"
-
-LAYERDEPENDS_xilinx-contrib = "core"
-LAYERDEPENDS_xilinx-contrib = "xilinx"
-
-LAYERSERIES_COMPAT_xilinx-contrib = "dunfell gatesgarth"
-
-XILINX_RELEASE_VERSION = "v2020.2"
diff --git a/meta-xilinx/meta-xilinx-contrib/conf/machine/minized-zynq7.conf b/meta-xilinx/meta-xilinx-contrib/conf/machine/minized-zynq7.conf
deleted file mode 100644
index b43bcec75..000000000
--- a/meta-xilinx/meta-xilinx-contrib/conf/machine/minized-zynq7.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-#@TYPE: Machine
-#@NAME: minized-zynq7
-#@DESCRIPTION: Machine support for MiniZed. (http://www.minized.org/)
-
-require conf/machine/include/tune-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "ext2 vfat usbhost wifi bluetooth"
-
-# u-boot configuration
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
-UBOOT_MACHINE = "zynq_minized_config"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/bootloader \
- "
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "linux-firmware-bcm43430"
-
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- "
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-bsp/device-tree/device-tree.bbappend b/meta-xilinx/meta-xilinx-contrib/recipes-bsp/device-tree/device-tree.bbappend
deleted file mode 100644
index d9535da0f..000000000
--- a/meta-xilinx/meta-xilinx-contrib/recipes-bsp/device-tree/device-tree.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-# device tree sources for MiniZed
-COMPATIBLE_MACHINE_minized-zynq7 = ".*"
-SRC_URI_append_minized-zynq7 = " file://minized-zynq7.dts"
-
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-bsp/device-tree/files/minized-zynq7.dts b/meta-xilinx/meta-xilinx-contrib/recipes-bsp/device-tree/files/minized-zynq7.dts
deleted file mode 100644
index 4570fa6e0..000000000
--- a/meta-xilinx/meta-xilinx-contrib/recipes-bsp/device-tree/files/minized-zynq7.dts
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
-* dts file for MiniZed
-*
-* Copyright (C) 2018 Clément Laigle <clement.laigle8@gmail.com>
-*/
-
-/dts-v1/;
-/include/ "zynq-7000.dtsi"
-
-
-/ {
- model = "Zynq Minized Board";
- compatible = "xlnx,zynq-Minized", "xlnx,zynq-7000";
-
- chosen {
- stdout-path = "serial0:115200n8";
- };
-
- cpus {
- cpu@0 {
- operating-points = <666666 1000000 333333 1000000>;
- };
- };
-
- aliases {
- serial0 = &uart1;
- serial1 = &bluetooth_uart;
- spi0 = &qspi;
- mmc0 = &sdhci1;
- };
-
- memory {
- device_type = "memory";
- reg = <0 0x20000000>;
- };
-
- usb_phy0: phy0 {
- compatible = "usb-nop-xceiv";
- #phy-cells = <0x0>;
- };
-
- leds {
- compatible = "gpio-leds";
- led-psg {
- label = "led-psg";
- gpios = <&gpio0 53 0>;
- default-state = "on";
- linux,default-trigger = "heartbeat";
- };
- led-psr {
- label = "led-psr";
- gpios = <&gpio0 52 0>;
- default-state = "on";
- linux,default-trigger = "heartbeat";
- };
- };
-
- gpio-keys {
- compatible = "gpio-keys";
- #address-cells = <1>;
- #size-cells = <0>;
- autorepeat;
- sw3 {
- label = "ps-bp";
- gpios = <&gpio0 0 0>;
- linux,code = <108>; /* down */
- gpio-key,wakeup;
- autorepeat;
- };
- };
-
- amba_pl: amba_pl {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "simple-bus";
- ranges ;
-
- axi_gpio_0: gpio@41200000 {
- #gpio-cells = <2>;
- compatible = "xlnx,xps-gpio-1.00.a";
- gpio-controller ;
- reg = <0x41200000 0x10000>;
- xlnx,all-inputs = <0x0>;
- xlnx,all-inputs-2 = <0x0>;
- xlnx,all-outputs = <0x1>;
- xlnx,all-outputs-2 = <0x1>;
- xlnx,dout-default = <0x00000000>;
- xlnx,dout-default-2 = <0x00000000>;
- xlnx,gpio-width = <0x1>;
- xlnx,gpio2-width = <0x1>;
- xlnx,interrupt-present = <0x0>;
- xlnx,is-dual = <0x1>;
- xlnx,tri-default = <0xFFFFFFFF>;
- xlnx,tri-default-2 = <0xFFFFFFFF>;
- };
- axi_gpio_1: gpio@41210000 {
- #gpio-cells = <2>;
- compatible = "xlnx,xps-gpio-1.00.a";
- gpio-controller ;
- reg = <0x41210000 0x10000>;
- xlnx,all-inputs = <0x1>;
- xlnx,all-inputs-2 = <0x0>;
- xlnx,all-outputs = <0x0>;
- xlnx,all-outputs-2 = <0x0>;
- xlnx,dout-default = <0x00000000>;
- xlnx,dout-default-2 = <0x00000000>;
- xlnx,gpio-width = <0x1>;
- xlnx,gpio2-width = <0x20>;
- xlnx,interrupt-present = <0x0>;
- xlnx,is-dual = <0x0>;
- xlnx,tri-default = <0xFFFFFFFF>;
- xlnx,tri-default-2 = <0xFFFFFFFF>;
- };
- axi_iic_0: i2c@41600000 {
- #address-cells = <1>;
- #size-cells = <0>;
- clock-names = "ref_clk";
- clocks = <&clkc 15>;
- compatible = "xlnx,xps-iic-2.00.a";
- interrupt-parent = <&intc>;
- interrupts = <0 30 4>;
- reg = <0x41600000 0x10000>;
- };
- bluetooth_uart: serial@43c00000 {
- clock-frequency = <0x2dc6c00>;
- clock-names = "ref_clk";
- clocks = <&clkc 0>;
- compatible = "xlnx,xps-uart16550-2.00.a", "ns16550a";
- current-speed = <115200>;
- device_type = "serial";
- interrupt-parent = <&intc>;
- interrupts = <0 29 4>;
- port-number = <1>;
- reg = <0x43c00000 0x10000>;
- reg-offset = <0x1000>;
- reg-shift = <2>;
- xlnx,external-xin-clk-hz = <0x2dc6c00>;
- xlnx,external-xin-clk-hz-d = <0x30>;
- xlnx,has-external-rclk = <0x0>;
- xlnx,has-external-xin = <0x1>;
- xlnx,is-a-16550 = <0x1>;
- xlnx,s-axi-aclk-freq-hz-d = "100.0";
- xlnx,use-modem-ports = <0x1>;
- xlnx,use-user-ports = <0x1>;
- };
- };
-
- wlreg_on: wlreg-on {
- compatible = "regulator-fixed";
- regulator-name = "wlreg_on";
- enable-active-high;
- gpio = <&gpio0 56 0>;
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- startup-delay-us = <100>;
- };
-};
-
-&gpio0 {
- emio-gpio-width = <4>;
- gpio-mask-high = <0x0>;
- gpio-mask-low = <0x5600>;
-};
-
-&intc {
- num_cpus = <1>;
- num_interrupts = <96>;
-};
-
-&uart1 {
- status = "okay";
-};
-
-&sdhci0 {
- status = "okay";
- bus-width= <4>;
- xlnx,has-cd = <0x0>;
- xlnx,has-power = <0x0>;
- xlnx,has-wp = <0x0>;
- non-removeable;
- broken-cd;
- vmmc-supply = <&wlreg_on>;
-
- brcmf: brcmf@1 {
- status = "okay";
- reg = <1>;
- compatible = "brcm,bcm43430-fmac";
- };
-};
-
-&sdhci1 {
- status = "okay";
- non-removable;
- bus-width = <4>;
- max-frequency = <12000000>;
-
- #address-cells = <1>;
- #size-cells = <0>;
- mmccard: mmccard@0 {
- compatible = "mmc-card";
- reg = <0>;
- broken-hpi;
- };
-};
-
-&usb0 {
- status = "okay";
- dr_mode = "host";
- usb-reset = <&gpio0 7 0>;
- usb-phy = <&usb_phy0>;
-};
-
-&uart1 {
- u-boot,dm-pre-reloc;
- status = "okay";
-};
-
-&qspi {
- status = "okay";
- #address-cells = <1>;
- #size-cells = <0>;
- interrupt-parent = <0x3>;
- is-dual = <0x0>;
- num-cs = <0x1>;
-
-
- flash0: flash@0 {
- compatible = "micron,m25p80";
- reg = <0x0>;
- #address-cells = <1>;
- #size-cells = <1>;
- spi-max-frequency = <50000000>;
-
- partition@0x00000000 {
- label = "boot";
- reg = <0x0 0xff0000>;
- };
- partition@0x00270000 {
- label = "kernel";
- reg = <0x270000 0xd80000>;
- };
- partition@0x00ff0000 {
- label = "bootenv";
- reg = <0xff0000 0x10000>;
- };
-
- partition@0x01000000 {
- label = "spare";
- reg = <0x1000000 0x0>;
- };
-
- };
-};
-
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-bsp/reference-design/zybo-linux-bd.bb b/meta-xilinx/meta-xilinx-contrib/recipes-bsp/reference-design/zybo-linux-bd.bb
deleted file mode 100644
index be68918cf..000000000
--- a/meta-xilinx/meta-xilinx-contrib/recipes-bsp/reference-design/zybo-linux-bd.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-SUMMARY = "The reference design for zybo-linux-bd"
-DESCRIPTION = "Contains the Reference Design Files and hardware software \
-hand-off file. The HDF provides bitstream and Xilinx ps7_init_gpl.c/h \
-platform headers."
-SECTION = "bsp"
-
-DEPENDS += "unzip-native"
-
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://Projects/${HW_BD}/readme.txt;md5=e1cb7639bf00b6e730ff3a7f13714951"
-
-COMPATIBLE_MACHINE = "zybo-linux-bd-zynq7"
-
-HW_BD = "linux_bd"
-
-SRC_URI = "git://github.com/Digilent/ZYBO.git;protocol=https;nobranch=1"
-SRCREV = "63ca49fe027da49f3b0ac636bd404fd31fbbd945"
-
-PV = "+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-HDF = "/Projects/${HW_BD}/hw_handoff/${HW_BD}_wrapper.hdf"
-
-S ?= "${WORKDIR}/${MACHINE}"
-
-PROVIDES = "virtual/bitstream virtual/xilinx-platform-init"
-
-FILES_${PN}-platform-init += "${PLATFORM_INIT_DIR}/*"
-
-FILES_${PN}-bitstream += " \
- download.bit \
- "
-
-PACKAGES = "${PN}-platform-init ${PN}-bitstream"
-
-BITSTREAM ?= "bitstream-${PV}-${PR}.bit"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-inherit xilinx-platform-init
-inherit deploy
-
-SYSROOT_DIRS += "${PLATFORM_INIT_DIR}"
-
-do_install() {
- fn=$(unzip -l ${S}/${HDF} | awk '{print $NF}' | grep ".bit$")
- unzip -o ${S}/${HDF} ${fn} -d ${D}
- [ "${fn}" == "download.bit" ] || mv ${D}/${fn} ${D}/download.bit
-
- install -d ${D}${PLATFORM_INIT_DIR}
- for fn in ${PLATFORM_INIT_FILES}; do
- unzip -o ${S}/${HDF} ${fn} -d ${D}${PLATFORM_INIT_DIR}
- done
-}
-
-do_deploy () {
- if [ -e ${D}/download.bit ]; then
- install -d ${DEPLOYDIR}
- install -m 0644 ${D}/download.bit ${DEPLOYDIR}/${BITSTREAM}
- ln -sf ${BITSTREAM} ${DEPLOYDIR}/download.bit
- # for u-boot 2016.3 with spl load bitstream patch
- ln -sf ${BITSTREAM} ${DEPLOYDIR}/bitstream
- fi
-}
-addtask deploy before do_build after do_install
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
deleted file mode 100644
index b34eea349..000000000
--- a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
+++ /dev/null
@@ -1,41 +0,0 @@
-
-SRC_URI_append_minized-zynq7 = " \
- git://github.com/murata-wireless/cyw-fmac-nvram;protocol=git;branch=orga;destsuffix=cyw-fmac-nvram;name=cyw-fmac-nvram \
- git://github.com/murata-wireless/cyw-bt-patch;protocol=git;branch=morty-orga;destsuffix=cyw-bt-patch;name=cyw-bt-patch \
- git://github.com/murata-wireless/cyw-fmac-utils-imx32;protocol=git;branch=orga;destsuffix=cyw-fmac-utils-imx32;name=cyw-fmac-utils-imx32 \
-"
-
-SRCREV_cyw-fmac-nvram = "d12c2ac1b93941eaa03063bb7cb3c1ee1aa1b7d0"
-SRCREV_cyw-bt-patch = "9216e0d9f778009b5667d032886dfd49174c4b3a"
-SRCREV_cyw-fmac-utils-imx32 = "060688dfe76df98751207c8146268ce7fd80b6ab"
-SRCREV_FORMAT = "default+cyw-fmac-nvram+cyw-bt-patch+cyw-fmac-utils-imx32"
-
-do_install_append_minized-zynq7() {
-
- install -d ${D}${bindir}
-
- install -m 0644 ${WORKDIR}/cyw-fmac-nvram/brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/
- install -m 0644 ${WORKDIR}/cyw-bt-patch/CYW43430A1.1DX.hcd ${D}${nonarch_base_libdir}/firmware/brcm/
- install -m 0644 ${WORKDIR}/cyw-fmac-utils-imx32/wl ${D}${bindir}
-}
-
-PACKAGES_prepend_minized-zynq7 = "\
- ${PN}-bcm43430a1-hcd \
- ${PN}-mfgtest \
-"
-
-FILES_${PN}-mfgtest_minized-zynq7 = " \
- ${bindir}/wl \
-"
-
-FILES_${PN}-bcm43430_append_minized-zynq7 = " \
- ${nonarch_base_libdir}/firmware/brcm/ brcmfmac43430-sdio.txt \
-"
-
-LICENSE_${PN}-bcm43430a1-hcd = "Firmware-cypress"
-
-FILES_${PN}-bcm43430a1-hcd = " \
- ${nonarch_base_libdir}/firmware/brcm/BCM43430A1.1DX.hcd \
-"
-
-RDEPENDS_${PN}-bcm43430a1-hcd += "${PN}-cypress-license"
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch
deleted file mode 100644
index 660bc2182..000000000
--- a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch
+++ /dev/null
@@ -1,305 +0,0 @@
-From 21cc8144efdaa3cd8dbd7279f87b14fa3432fae4 Mon Sep 17 00:00:00 2001
-From: Jason Wu <jason.wu.misc@gmail.com>
-Date: Sun, 10 Apr 2016 13:14:13 +1000
-Subject: [PATCH 1/3] drm: xilinx: Add encoder for Digilent boards
-
-Add the dglnt_encoder driver that enables DRM support for the VGA and
-HDMI output ports found on many Digilent boards.
-
-Upstream-Status: Pending
-
-Signed-off-by: Sam Bobrowicz <sbobrowicz@digilentinc.com>
-Signed-off-by: Jason Wu <jason.wu.misc@gmail.com>
----
- .../bindings/drm/xilinx/dglnt_encoder.txt | 23 +++
- drivers/gpu/drm/xilinx/Kconfig | 6 +
- drivers/gpu/drm/xilinx/Makefile | 1 +
- drivers/gpu/drm/xilinx/dglnt_encoder.c | 217 +++++++++++++++++++++
- 4 files changed, 247 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt
- create mode 100644 drivers/gpu/drm/xilinx/dglnt_encoder.c
-
-diff --git a/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt b/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt
-new file mode 100644
-index 0000000..242b24e
---- /dev/null
-+++ b/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt
-@@ -0,0 +1,23 @@
-+Device-Tree bindings for Digilent DRM Encoder Slave
-+
-+This driver provides support for VGA and HDMI outputs on Digilent FPGA boards.
-+The VGA or HDMI port must be connected to a Xilinx display pipeline via an
-+axi2vid IP core.
-+
-+Required properties:
-+ - compatible: Should be "digilent,drm-encoder".
-+
-+Optional properties:
-+ - dglnt,edid-i2c: The I2C device connected to the DDC bus on the video
-+ connector. This is used to obtain the supported resolutions
-+ of an attached monitor. If not defined, then a default
-+ set of resolutions is used and the display will initialize
-+ to 720p. Note most VGA connectors on Digilent boards do
-+ not have the DDC bus routed out.
-+
-+Example:
-+
-+ encoder_0: digilent_encoder {
-+ compatible = "digilent,drm-encoder";
-+ dglnt,edid-i2c = <&i2c1>;
-+ };
-diff --git a/drivers/gpu/drm/xilinx/Kconfig b/drivers/gpu/drm/xilinx/Kconfig
-index 57e18a9..d9ecff2 100644
---- a/drivers/gpu/drm/xilinx/Kconfig
-+++ b/drivers/gpu/drm/xilinx/Kconfig
-@@ -33,6 +33,12 @@ config DRM_XILINX_DP_SUB
- help
- DRM driver for Xilinx Display Port Subsystem.
-
-+config DRM_DIGILENT_ENCODER
-+ tristate "Digilent VGA/HDMI DRM Encoder Driver"
-+ depends on DRM_XILINX
-+ help
-+ DRM slave encoder for Video-out on Digilent boards.
-+
- config DRM_XILINX_DP_SUB_DEBUG_FS
- bool "Xilinx DRM DPSUB debugfs"
- depends on DEBUG_FS && DRM_XILINX_DP_SUB
-diff --git a/drivers/gpu/drm/xilinx/Makefile b/drivers/gpu/drm/xilinx/Makefile
-index 19bc154..c2717e40 100644
---- a/drivers/gpu/drm/xilinx/Makefile
-+++ b/drivers/gpu/drm/xilinx/Makefile
-@@ -7,6 +7,7 @@ xilinx_drm-y := xilinx_drm_crtc.o xilinx_drm_connector.o xilinx_drm_drv.o \
- xilinx_drm_plane.o
- xilinx_drm-y += xilinx_cresample.o xilinx_osd.o xilinx_rgb2yuv.o xilinx_vtc.o
-
-+obj-$(CONFIG_DRM_DIGILENT_ENCODER) += dglnt_encoder.o
- obj-$(CONFIG_DRM_XILINX) += xilinx_drm.o
- obj-$(CONFIG_DRM_XILINX_DP) += xilinx_drm_dp.o
- obj-$(CONFIG_DRM_XILINX_DP_SUB) += xilinx_drm_dp_sub.o
-diff --git a/drivers/gpu/drm/xilinx/dglnt_encoder.c b/drivers/gpu/drm/xilinx/dglnt_encoder.c
-new file mode 100644
-index 0000000..cb9fc7d
---- /dev/null
-+++ b/drivers/gpu/drm/xilinx/dglnt_encoder.c
-@@ -0,0 +1,217 @@
-+/*
-+ * dglnt_encoder.c - DRM slave encoder for Video-out on Digilent boards
-+ *
-+ * Copyright (C) 2015 Digilent
-+ * Author: Sam Bobrowicz <sbobrowicz@digilentinc.com>
-+ *
-+ * Based on udl_encoder.c and udl_connector.c, Copyright (C) 2012 Red Hat.
-+ * Also based on xilinx_drm_dp.c, Copyright (C) 2014 Xilinx, Inc.
-+ *
-+ * This software is licensed under the terms of the GNU General Public
-+ * License version 2, as published by the Free Software Foundation, and
-+ * may be copied, distributed, and modified under those terms.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ */
-+
-+#include <drm/drmP.h>
-+#include <drm/drm_edid.h>
-+#include <drm/drm_encoder_slave.h>
-+
-+#include <linux/device.h>
-+#include <linux/module.h>
-+#include <linux/err.h>
-+#include <linux/i2c.h>
-+#include <linux/of.h>
-+#include <linux/of_platform.h>
-+#include <linux/platform_device.h>
-+
-+#define DGLNT_ENC_MAX_FREQ 150000
-+#define DGLNT_ENC_MAX_H 1920
-+#define DGLNT_ENC_MAX_V 1080
-+#define DGLNT_ENC_PREF_H 1280
-+#define DGLNT_ENC_PREF_V 720
-+
-+struct dglnt_encoder {
-+ struct drm_encoder *encoder;
-+ struct i2c_adapter *i2c_bus;
-+ bool i2c_present;
-+};
-+
-+static inline struct dglnt_encoder *to_dglnt_encoder(
-+ struct drm_encoder *encoder)
-+{
-+ return to_encoder_slave(encoder)->slave_priv;
-+}
-+
-+static bool dglnt_mode_fixup(struct drm_encoder *encoder,
-+ const struct drm_display_mode *mode,
-+ struct drm_display_mode *adjusted_mode)
-+{
-+ return true;
-+}
-+
-+static void dglnt_encoder_mode_set(struct drm_encoder *encoder,
-+ struct drm_display_mode *mode,
-+ struct drm_display_mode *adjusted_mode)
-+{
-+}
-+
-+static void
-+dglnt_encoder_dpms(struct drm_encoder *encoder, int mode)
-+{
-+}
-+
-+static void dglnt_encoder_save(struct drm_encoder *encoder)
-+{
-+}
-+
-+static void dglnt_encoder_restore(struct drm_encoder *encoder)
-+{
-+}
-+
-+static int dglnt_encoder_mode_valid(struct drm_encoder *encoder,
-+ struct drm_display_mode *mode)
-+{
-+ if (mode &&
-+ !(mode->flags & ((DRM_MODE_FLAG_INTERLACE |
-+ DRM_MODE_FLAG_DBLCLK) | DRM_MODE_FLAG_3D_MASK)) &&
-+ (mode->clock <= DGLNT_ENC_MAX_FREQ) &&
-+ (mode->hdisplay <= DGLNT_ENC_MAX_H) &&
-+ (mode->vdisplay <= DGLNT_ENC_MAX_V))
-+ return MODE_OK;
-+ return MODE_BAD;
-+}
-+
-+static int dglnt_encoder_get_modes(struct drm_encoder *encoder,
-+ struct drm_connector *connector)
-+{
-+ struct dglnt_encoder *dglnt = to_dglnt_encoder(encoder);
-+ struct edid *edid;
-+ int num_modes = 0;
-+
-+ if (dglnt->i2c_present) {
-+ edid = drm_get_edid(connector, dglnt->i2c_bus);
-+ drm_connector_update_edid_property(connector, edid);
-+ if (edid) {
-+ num_modes = drm_add_edid_modes(connector, edid);
-+ kfree(edid);
-+ }
-+ } else {
-+ num_modes = drm_add_modes_noedid(connector, DGLNT_ENC_MAX_H,
-+ DGLNT_ENC_MAX_V);
-+ drm_set_preferred_mode(connector, DGLNT_ENC_PREF_H,
-+ DGLNT_ENC_PREF_V);
-+ }
-+ return num_modes;
-+}
-+
-+static enum drm_connector_status dglnt_encoder_detect(
-+ struct drm_encoder *encoder,
-+ struct drm_connector *connector)
-+{
-+ struct dglnt_encoder *dglnt = to_dglnt_encoder(encoder);
-+
-+ if (dglnt->i2c_present) {
-+ if (drm_probe_ddc(dglnt->i2c_bus))
-+ return connector_status_connected;
-+ return connector_status_disconnected;
-+ } else
-+ return connector_status_unknown;
-+}
-+
-+static struct drm_encoder_slave_funcs dglnt_encoder_slave_funcs = {
-+ .dpms = dglnt_encoder_dpms,
-+ .save = dglnt_encoder_save,
-+ .restore = dglnt_encoder_restore,
-+ .mode_fixup = dglnt_mode_fixup,
-+ .mode_valid = dglnt_encoder_mode_valid,
-+ .mode_set = dglnt_encoder_mode_set,
-+ .detect = dglnt_encoder_detect,
-+ .get_modes = dglnt_encoder_get_modes,
-+};
-+
-+static int dglnt_encoder_encoder_init(struct platform_device *pdev,
-+ struct drm_device *dev,
-+ struct drm_encoder_slave *encoder)
-+{
-+ struct dglnt_encoder *dglnt = platform_get_drvdata(pdev);
-+ struct device_node *sub_node;
-+
-+ encoder->slave_priv = dglnt;
-+ encoder->slave_funcs = &dglnt_encoder_slave_funcs;
-+
-+ dglnt->encoder = &encoder->base;
-+
-+ /* get i2c adapter for edid */
-+ dglnt->i2c_present = false;
-+ sub_node = of_parse_phandle(pdev->dev.of_node, "dglnt,edid-i2c", 0);
-+ if (sub_node) {
-+ dglnt->i2c_bus = of_find_i2c_adapter_by_node(sub_node);
-+ if (!dglnt->i2c_bus)
-+ DRM_INFO("failed to get the edid i2c adapter, using default modes\n");
-+ else
-+ dglnt->i2c_present = true;
-+ of_node_put(sub_node);
-+ }
-+
-+ return 0;
-+}
-+
-+static int dglnt_encoder_probe(struct platform_device *pdev)
-+{
-+ struct dglnt_encoder *dglnt;
-+
-+ dglnt = devm_kzalloc(&pdev->dev, sizeof(*dglnt), GFP_KERNEL);
-+ if (!dglnt)
-+ return -ENOMEM;
-+
-+ platform_set_drvdata(pdev, dglnt);
-+
-+ return 0;
-+}
-+
-+static int dglnt_encoder_remove(struct platform_device *pdev)
-+{
-+ return 0;
-+}
-+
-+static const struct of_device_id dglnt_encoder_of_match[] = {
-+ { .compatible = "digilent,drm-encoder", },
-+ { /* end of table */ },
-+};
-+MODULE_DEVICE_TABLE(of, dglnt_encoder_of_match);
-+
-+static struct drm_platform_encoder_driver dglnt_encoder_driver = {
-+ .platform_driver = {
-+ .probe = dglnt_encoder_probe,
-+ .remove = dglnt_encoder_remove,
-+ .driver = {
-+ .owner = THIS_MODULE,
-+ .name = "dglnt-drm-enc",
-+ .of_match_table = dglnt_encoder_of_match,
-+ },
-+ },
-+
-+ .encoder_init = dglnt_encoder_encoder_init,
-+};
-+
-+static int __init dglnt_encoder_init(void)
-+{
-+ return platform_driver_register(&dglnt_encoder_driver.platform_driver);
-+}
-+
-+static void __exit dglnt_encoder_exit(void)
-+{
-+ platform_driver_unregister(&dglnt_encoder_driver.platform_driver);
-+}
-+
-+module_init(dglnt_encoder_init);
-+module_exit(dglnt_encoder_exit);
-+
-+MODULE_AUTHOR("Digilent, Inc.");
-+MODULE_DESCRIPTION("DRM slave encoder for Video-out on Digilent boards");
-+MODULE_LICENSE("GPL v2");
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch
deleted file mode 100644
index 9b6229db0..000000000
--- a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch
+++ /dev/null
@@ -1,607 +0,0 @@
-From 217e3b6f4393926b8dcad841381527ef3fc808c2 Mon Sep 17 00:00:00 2001
-From: Jason Wu <jason.wu.misc@gmail.com>
-Date: Sun, 10 Apr 2016 13:16:06 +1000
-Subject: [PATCH 2/3] clk: Add driver for axi_dynclk IP Core
-
-Add support for the axi_dynclk IP Core available from Digilent. This IP
-core dynamically configures the clock resources inside a Xilinx FPGA to
-generate a clock with a software programmable frequency.
-
-Upstream-Status: Pending
-
-Signed-off-by: Sam Bobrowicz <sbobrowicz@digilentinc.com>
-Signed-off-by: Jason Wu <jason.wu.misc@gmail.com>
----
- drivers/clk/Kconfig | 8 +
- drivers/clk/Makefile | 1 +
- drivers/clk/clk-dglnt-dynclk.c | 547 +++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 556 insertions(+)
- create mode 100644 drivers/clk/clk-dglnt-dynclk.c
-
-diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
-index dccb111100..7fe65a702b 100644
---- a/drivers/clk/Kconfig
-+++ b/drivers/clk/Kconfig
-@@ -148,6 +148,14 @@ config CLK_QORIQ
- This adds the clock driver support for Freescale QorIQ platforms
- using common clock framework.
-
-+config COMMON_CLK_DGLNT_DYNCLK
-+ tristate "Digilent axi_dynclk Driver"
-+ depends on ARCH_ZYNQ || MICROBLAZE
-+ help
-+ ---help---
-+ Support for the Digilent AXI Dynamic Clock core for Xilinx
-+ FPGAs.
-+
- config COMMON_CLK_XGENE
- bool "Clock driver for APM XGene SoC"
- default y
-diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile
-index 0760449dde..45ce97d053 100644
---- a/drivers/clk/Makefile
-+++ b/drivers/clk/Makefile
-@@ -24,6 +24,7 @@ obj-$(CONFIG_COMMON_CLK_CDCE706) += clk-cdce706.o
- obj-$(CONFIG_COMMON_CLK_CDCE925) += clk-cdce925.o
- obj-$(CONFIG_ARCH_CLPS711X) += clk-clps711x.o
- obj-$(CONFIG_COMMON_CLK_CS2000_CP) += clk-cs2000-cp.o
-+obj-$(CONFIG_COMMON_CLK_DGLNT_DYNCLK) += clk-dglnt-dynclk.o
- obj-$(CONFIG_ARCH_EFM32) += clk-efm32gg.o
- obj-$(CONFIG_ARCH_HIGHBANK) += clk-highbank.o
- obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o
-diff --git a/drivers/clk/clk-dglnt-dynclk.c b/drivers/clk/clk-dglnt-dynclk.c
-new file mode 100644
-index 0000000000..496ad5fc90
---- /dev/null
-+++ b/drivers/clk/clk-dglnt-dynclk.c
-@@ -0,0 +1,547 @@
-+/*
-+ * clk-dglnt-dynclk.c - Digilent AXI Dynamic Clock (axi_dynclk) Driver
-+ *
-+ * Copyright (C) 2015 Digilent
-+ * Author: Sam Bobrowicz <sbobrowicz@digilentinc.com>
-+ *
-+ * Reused code from clk-axi-clkgen.c, Copyright (C) 2012-2013 Analog Devices Inc.
-+ *
-+ * This software is licensed under the terms of the GNU General Public
-+ * License version 2, as published by the Free Software Foundation, and
-+ * may be copied, distributed, and modified under those terms.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ */
-+
-+#include <linux/platform_device.h>
-+#include <linux/clk-provider.h>
-+#include <linux/clk.h>
-+#include <linux/slab.h>
-+#include <linux/io.h>
-+#include <linux/of.h>
-+#include <linux/module.h>
-+#include <linux/err.h>
-+#include <linux/kernel.h>
-+
-+#define CLK_BIT_WEDGE 13
-+#define CLK_BIT_NOCOUNT 12
-+
-+/* This value is used to signal an error */
-+#define ERR_CLKCOUNTCALC 0xFFFFFFFF
-+#define ERR_CLKDIVIDER (1 << CLK_BIT_WEDGE | 1 << CLK_BIT_NOCOUNT)
-+
-+#define DYNCLK_DIV_1_REGMASK 0x1041
-+/* 25 MHz (125 KHz / 5) */
-+#define DYNCLK_DEFAULT_FREQ 125000
-+
-+#define MMCM_FREQ_VCOMIN 600000
-+#define MMCM_FREQ_VCOMAX 1200000
-+#define MMCM_FREQ_PFDMIN 10000
-+#define MMCM_FREQ_PFDMAX 450000
-+#define MMCM_FREQ_OUTMIN 4000
-+#define MMCM_FREQ_OUTMAX 800000
-+#define MMCM_DIV_MAX 106
-+#define MMCM_FB_MIN 2
-+#define MMCM_FB_MAX 64
-+#define MMCM_CLKDIV_MAX 128
-+#define MMCM_CLKDIV_MIN 1
-+
-+#define OFST_DISPLAY_CTRL 0x0
-+#define OFST_DISPLAY_STATUS 0x4
-+#define OFST_DISPLAY_CLK_L 0x8
-+#define OFST_DISPLAY_FB_L 0x0C
-+#define OFST_DISPLAY_FB_H_CLK_H 0x10
-+#define OFST_DISPLAY_DIV 0x14
-+#define OFST_DISPLAY_LOCK_L 0x18
-+#define OFST_DISPLAY_FLTR_LOCK_H 0x1C
-+
-+static const u64 lock_lookup[64] = {
-+ 0b0011000110111110100011111010010000000001,
-+ 0b0011000110111110100011111010010000000001,
-+ 0b0100001000111110100011111010010000000001,
-+ 0b0101101011111110100011111010010000000001,
-+ 0b0111001110111110100011111010010000000001,
-+ 0b1000110001111110100011111010010000000001,
-+ 0b1001110011111110100011111010010000000001,
-+ 0b1011010110111110100011111010010000000001,
-+ 0b1100111001111110100011111010010000000001,
-+ 0b1110011100111110100011111010010000000001,
-+ 0b1111111111111000010011111010010000000001,
-+ 0b1111111111110011100111111010010000000001,
-+ 0b1111111111101110111011111010010000000001,
-+ 0b1111111111101011110011111010010000000001,
-+ 0b1111111111101000101011111010010000000001,
-+ 0b1111111111100111000111111010010000000001,
-+ 0b1111111111100011111111111010010000000001,
-+ 0b1111111111100010011011111010010000000001,
-+ 0b1111111111100000110111111010010000000001,
-+ 0b1111111111011111010011111010010000000001,
-+ 0b1111111111011101101111111010010000000001,
-+ 0b1111111111011100001011111010010000000001,
-+ 0b1111111111011010100111111010010000000001,
-+ 0b1111111111011001000011111010010000000001,
-+ 0b1111111111011001000011111010010000000001,
-+ 0b1111111111010111011111111010010000000001,
-+ 0b1111111111010101111011111010010000000001,
-+ 0b1111111111010101111011111010010000000001,
-+ 0b1111111111010100010111111010010000000001,
-+ 0b1111111111010100010111111010010000000001,
-+ 0b1111111111010010110011111010010000000001,
-+ 0b1111111111010010110011111010010000000001,
-+ 0b1111111111010010110011111010010000000001,
-+ 0b1111111111010001001111111010010000000001,
-+ 0b1111111111010001001111111010010000000001,
-+ 0b1111111111010001001111111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001,
-+ 0b1111111111001111101011111010010000000001
-+};
-+
-+static const u32 filter_lookup_low[64] = {
-+ 0b0001011111,
-+ 0b0001010111,
-+ 0b0001111011,
-+ 0b0001011011,
-+ 0b0001101011,
-+ 0b0001110011,
-+ 0b0001110011,
-+ 0b0001110011,
-+ 0b0001110011,
-+ 0b0001001011,
-+ 0b0001001011,
-+ 0b0001001011,
-+ 0b0010110011,
-+ 0b0001010011,
-+ 0b0001010011,
-+ 0b0001010011,
-+ 0b0001010011,
-+ 0b0001010011,
-+ 0b0001010011,
-+ 0b0001010011,
-+ 0b0001010011,
-+ 0b0001010011,
-+ 0b0001010011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0001100011,
-+ 0b0010010011,
-+ 0b0010010011,
-+ 0b0010010011,
-+ 0b0010010011,
-+ 0b0010010011,
-+ 0b0010010011,
-+ 0b0010010011,
-+ 0b0010010011,
-+ 0b0010010011,
-+ 0b0010010011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011,
-+ 0b0010100011
-+};
-+
-+struct dglnt_dynclk_reg;
-+struct dglnt_dynclk_mode;
-+struct dglnt_dynclk;
-+
-+struct dglnt_dynclk_reg {
-+ u32 clk0L;
-+ u32 clkFBL;
-+ u32 clkFBH_clk0H;
-+ u32 divclk;
-+ u32 lockL;
-+ u32 fltr_lockH;
-+};
-+
-+struct dglnt_dynclk_mode {
-+ u32 freq;
-+ u32 fbmult;
-+ u32 clkdiv;
-+ u32 maindiv;
-+};
-+
-+struct dglnt_dynclk {
-+ void __iomem *base;
-+ struct clk_hw clk_hw;
-+ unsigned long freq;
-+};
-+
-+u32 dglnt_dynclk_divider(u32 divide)
-+{
-+ u32 output = 0;
-+ u32 highTime = 0;
-+ u32 lowTime = 0;
-+
-+ if ((divide < 1) || (divide > 128))
-+ return ERR_CLKDIVIDER;
-+
-+ if (divide == 1)
-+ return DYNCLK_DIV_1_REGMASK;
-+
-+ highTime = divide / 2;
-+ /* if divide is odd */
-+ if (divide & 0x1) {
-+ lowTime = highTime + 1;
-+ output = 1 << CLK_BIT_WEDGE;
-+ } else {
-+ lowTime = highTime;
-+ }
-+
-+ output |= 0x03F & lowTime;
-+ output |= 0xFC0 & (highTime << 6);
-+ return output;
-+}
-+
-+u32 dglnt_dynclk_count_calc(u32 divide)
-+{
-+ u32 output = 0;
-+ u32 divCalc = 0;
-+
-+ divCalc = dglnt_dynclk_divider(divide);
-+ if (divCalc == ERR_CLKDIVIDER)
-+ output = ERR_CLKCOUNTCALC;
-+ else
-+ output = (0xFFF & divCalc) | ((divCalc << 10) & 0x00C00000);
-+ return output;
-+}
-+
-+
-+int dglnt_dynclk_find_reg(struct dglnt_dynclk_reg *regValues,
-+ struct dglnt_dynclk_mode *clkParams)
-+{
-+ if ((clkParams->fbmult < 2) || clkParams->fbmult > 64)
-+ return -EINVAL;
-+
-+ regValues->clk0L = dglnt_dynclk_count_calc(clkParams->clkdiv);
-+ if (regValues->clk0L == ERR_CLKCOUNTCALC)
-+ return -EINVAL;
-+
-+ regValues->clkFBL = dglnt_dynclk_count_calc(clkParams->fbmult);
-+ if (regValues->clkFBL == ERR_CLKCOUNTCALC)
-+ return -EINVAL;
-+
-+ regValues->clkFBH_clk0H = 0;
-+
-+ regValues->divclk = dglnt_dynclk_divider(clkParams->maindiv);
-+ if (regValues->divclk == ERR_CLKDIVIDER)
-+ return -EINVAL;
-+
-+ regValues->lockL = (u32)(lock_lookup[clkParams->fbmult - 1] &
-+ 0xFFFFFFFF);
-+
-+ regValues->fltr_lockH = (u32)((lock_lookup[clkParams->fbmult - 1] >>
-+ 32) & 0x000000FF);
-+ regValues->fltr_lockH |= ((filter_lookup_low[clkParams->fbmult - 1] <<
-+ 16) & 0x03FF0000);
-+
-+ return 0;
-+}
-+
-+void dglnt_dynclk_write_reg(struct dglnt_dynclk_reg *regValues,
-+ void __iomem *baseaddr)
-+{
-+ writel(regValues->clk0L, baseaddr + OFST_DISPLAY_CLK_L);
-+ writel(regValues->clkFBL, baseaddr + OFST_DISPLAY_FB_L);
-+ writel(regValues->clkFBH_clk0H, baseaddr + OFST_DISPLAY_FB_H_CLK_H);
-+ writel(regValues->divclk, baseaddr + OFST_DISPLAY_DIV);
-+ writel(regValues->lockL, baseaddr + OFST_DISPLAY_LOCK_L);
-+ writel(regValues->fltr_lockH, baseaddr + OFST_DISPLAY_FLTR_LOCK_H);
-+}
-+
-+u32 dglnt_dynclk_find_mode(u32 freq, u32 parentFreq,
-+ struct dglnt_dynclk_mode *bestPick)
-+{
-+ u32 bestError = MMCM_FREQ_OUTMAX;
-+ u32 curError;
-+ u32 curClkMult;
-+ u32 curFreq;
-+ u32 divVal;
-+ u32 curFb, curClkDiv;
-+ u32 minFb = 0;
-+ u32 maxFb = 0;
-+ u32 curDiv = 1;
-+ u32 maxDiv;
-+ bool freq_found = false;
-+
-+ bestPick->freq = 0;
-+ if (parentFreq == 0)
-+ return 0;
-+
-+ /* minimum frequency is actually dictated by VCOmin */
-+ if (freq < MMCM_FREQ_OUTMIN)
-+ freq = MMCM_FREQ_OUTMIN;
-+ if (freq > MMCM_FREQ_OUTMAX)
-+ freq = MMCM_FREQ_OUTMAX;
-+
-+ if (parentFreq > MMCM_FREQ_PFDMAX)
-+ curDiv = 2;
-+ maxDiv = parentFreq / MMCM_FREQ_PFDMIN;
-+ if (maxDiv > MMCM_DIV_MAX)
-+ maxDiv = MMCM_DIV_MAX;
-+
-+ while (curDiv <= maxDiv && !freq_found) {
-+ minFb = curDiv * DIV_ROUND_UP(MMCM_FREQ_VCOMIN, parentFreq);
-+ maxFb = curDiv * (MMCM_FREQ_VCOMAX / parentFreq);
-+ if (maxFb > MMCM_FB_MAX)
-+ maxFb = MMCM_FB_MAX;
-+ if (minFb < MMCM_FB_MIN)
-+ minFb = MMCM_FB_MIN;
-+
-+ divVal = curDiv * freq;
-+ /*
-+ * This multiplier is used to find the best clkDiv value for
-+ * each FB value
-+ */
-+ curClkMult = ((parentFreq * 1000) + (divVal / 2)) / divVal;
-+
-+ curFb = minFb;
-+ while (curFb <= maxFb && !freq_found) {
-+ curClkDiv = ((curClkMult * curFb) + 500) / 1000;
-+ if (curClkDiv > MMCM_CLKDIV_MAX)
-+ curClkDiv = MMCM_CLKDIV_MAX;
-+ if (curClkDiv < MMCM_CLKDIV_MIN)
-+ curClkDiv = MMCM_CLKDIV_MIN;
-+ curFreq = (((parentFreq * curFb) / curDiv) / curClkDiv);
-+ if (curFreq >= freq)
-+ curError = curFreq - freq;
-+ else
-+ curError = freq - curFreq;
-+ if (curError < bestError) {
-+ bestError = curError;
-+ bestPick->clkdiv = curClkDiv;
-+ bestPick->fbmult = curFb;
-+ bestPick->maindiv = curDiv;
-+ bestPick->freq = curFreq;
-+ }
-+ if (!curError)
-+ freq_found = true;
-+ curFb++;
-+ }
-+ curDiv++;
-+ }
-+ return bestPick->freq;
-+}
-+
-+static struct dglnt_dynclk *clk_hw_to_dglnt_dynclk(struct clk_hw *clk_hw)
-+{
-+ return container_of(clk_hw, struct dglnt_dynclk, clk_hw);
-+}
-+
-+
-+static int dglnt_dynclk_enable(struct clk_hw *clk_hw)
-+{
-+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw);
-+ unsigned int clock_state;
-+
-+ if (dglnt_dynclk->freq) {
-+ writel(1, dglnt_dynclk->base + OFST_DISPLAY_CTRL);
-+ do {
-+ clock_state = readl(dglnt_dynclk->base +
-+ OFST_DISPLAY_STATUS);
-+ } while (!clock_state);
-+ }
-+ return 0;
-+}
-+
-+static void dglnt_dynclk_disable(struct clk_hw *clk_hw)
-+{
-+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw);
-+
-+ writel(0, dglnt_dynclk->base + OFST_DISPLAY_CTRL);
-+}
-+
-+static int dglnt_dynclk_set_rate(struct clk_hw *clk_hw,
-+ unsigned long rate, unsigned long parent_rate)
-+{
-+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw);
-+ struct dglnt_dynclk_reg clkReg;
-+ struct dglnt_dynclk_mode clkMode;
-+
-+ if (parent_rate == 0 || rate == 0)
-+ return -EINVAL;
-+ if (rate == dglnt_dynclk->freq)
-+ return 0;
-+
-+ /*
-+ * Convert from Hz to KHz, then multiply by five to account for
-+ * BUFR division
-+ */
-+ rate = (rate + 100) / 200;
-+ /* convert from Hz to KHz */
-+ parent_rate = (parent_rate + 500) / 1000;
-+ if (!dglnt_dynclk_find_mode(rate, parent_rate, &clkMode))
-+ return -EINVAL;
-+
-+ /*
-+ * Write to the PLL dynamic configuration registers to configure it
-+ * with the calculated parameters.
-+ */
-+ dglnt_dynclk_find_reg(&clkReg, &clkMode);
-+ dglnt_dynclk_write_reg(&clkReg, dglnt_dynclk->base);
-+ dglnt_dynclk->freq = clkMode.freq * 200;
-+ dglnt_dynclk_disable(clk_hw);
-+ dglnt_dynclk_enable(clk_hw);
-+
-+ return 0;
-+}
-+
-+static long dglnt_dynclk_round_rate(struct clk_hw *hw, unsigned long rate,
-+ unsigned long *parent_rate)
-+{
-+ struct dglnt_dynclk_mode clkMode;
-+
-+ dglnt_dynclk_find_mode(((rate + 100) / 200),
-+ ((*parent_rate) + 500) / 1000, &clkMode);
-+
-+ return (clkMode.freq * 200);
-+}
-+
-+static unsigned long dglnt_dynclk_recalc_rate(struct clk_hw *clk_hw,
-+ unsigned long parent_rate)
-+{
-+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw);
-+
-+ return dglnt_dynclk->freq;
-+}
-+
-+
-+static const struct clk_ops dglnt_dynclk_ops = {
-+ .recalc_rate = dglnt_dynclk_recalc_rate,
-+ .round_rate = dglnt_dynclk_round_rate,
-+ .set_rate = dglnt_dynclk_set_rate,
-+ .enable = dglnt_dynclk_enable,
-+ .disable = dglnt_dynclk_disable,
-+};
-+
-+static const struct of_device_id dglnt_dynclk_ids[] = {
-+ { .compatible = "digilent,axi-dynclk", },
-+ { },
-+};
-+MODULE_DEVICE_TABLE(of, dglnt_dynclk_ids);
-+
-+static int dglnt_dynclk_probe(struct platform_device *pdev)
-+{
-+ const struct of_device_id *id;
-+ struct dglnt_dynclk *dglnt_dynclk;
-+ struct clk_init_data init;
-+ const char *parent_name;
-+ const char *clk_name;
-+ struct resource *mem;
-+ struct clk *clk;
-+
-+ if (!pdev->dev.of_node)
-+ return -ENODEV;
-+
-+ id = of_match_node(dglnt_dynclk_ids, pdev->dev.of_node);
-+ if (!id)
-+ return -ENODEV;
-+
-+ dglnt_dynclk = devm_kzalloc(&pdev->dev, sizeof(*dglnt_dynclk),
-+ GFP_KERNEL);
-+ if (!dglnt_dynclk)
-+ return -ENOMEM;
-+
-+ mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ dglnt_dynclk->base = devm_ioremap_resource(&pdev->dev, mem);
-+ if (IS_ERR(dglnt_dynclk->base))
-+ return PTR_ERR(dglnt_dynclk->base);
-+
-+ parent_name = of_clk_get_parent_name(pdev->dev.of_node, 0);
-+ if (!parent_name)
-+ return -EINVAL;
-+
-+ clk_name = pdev->dev.of_node->name;
-+ of_property_read_string(pdev->dev.of_node, "clock-output-names",
-+ &clk_name);
-+
-+ init.name = clk_name;
-+ init.ops = &dglnt_dynclk_ops;
-+ init.flags = 0;
-+ init.parent_names = &parent_name;
-+ init.num_parents = 1;
-+
-+ dglnt_dynclk->freq = 0;
-+ dglnt_dynclk_disable(&dglnt_dynclk->clk_hw);
-+
-+ dglnt_dynclk->clk_hw.init = &init;
-+ clk = devm_clk_register(&pdev->dev, &dglnt_dynclk->clk_hw);
-+ if (IS_ERR(clk))
-+ return PTR_ERR(clk);
-+
-+ return of_clk_add_provider(pdev->dev.of_node, of_clk_src_simple_get,
-+ clk);
-+}
-+
-+static int dglnt_dynclk_remove(struct platform_device *pdev)
-+{
-+ of_clk_del_provider(pdev->dev.of_node);
-+
-+ return 0;
-+}
-+
-+static struct platform_driver dglnt_dynclk_driver = {
-+ .driver = {
-+ .name = "dglnt-dynclk",
-+ .owner = THIS_MODULE,
-+ .of_match_table = dglnt_dynclk_ids,
-+ },
-+ .probe = dglnt_dynclk_probe,
-+ .remove = dglnt_dynclk_remove,
-+};
-+module_platform_driver(dglnt_dynclk_driver);
-+
-+MODULE_LICENSE("GPL v2");
-+MODULE_AUTHOR("Sam Bobrowicz <sbobrowicz@digilentinc.com>");
-+MODULE_DESCRIPTION("CCF Driver for Digilent axi_dynclk IP Core");
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch
deleted file mode 100644
index a98d84c55..000000000
--- a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 1a18e2b514ae9e75145597ac509a87f656c976ba Mon Sep 17 00:00:00 2001
-From: Nathan Rossi <nathan@nathanrossi.com>
-Date: Mon, 2 May 2016 23:46:42 +1000
-Subject: [PATCH 3/3] drm: xilinx: Fix DPMS transition to on
-
-Fix the issues where the VTC is reset (losing its timing config).
-
-Also fix the issue where the plane destroys its DMA descriptors and
-marks the DMA channels as inactive but never recreates the descriptors
-and never updates the active state when turning DPMS back on.
-
-Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
-Upstream-Status: Pending [This is a workaround]
----
- drivers/gpu/drm/xilinx/xilinx_drm_crtc.c | 1 -
- drivers/gpu/drm/xilinx/xilinx_drm_plane.c | 3 ++-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c b/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c
-index 631d35b921..93dbd4b58a 100644
---- a/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c
-+++ b/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c
-@@ -88,7 +88,6 @@ static void xilinx_drm_crtc_dpms(struct drm_crtc *base_crtc, int dpms)
- default:
- if (crtc->vtc) {
- xilinx_vtc_disable(crtc->vtc);
-- xilinx_vtc_reset(crtc->vtc);
- }
- if (crtc->cresample) {
- xilinx_cresample_disable(crtc->cresample);
-diff --git a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c
-index 6a248b72d4..d2518a4bdf 100644
---- a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c
-+++ b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c
-@@ -140,7 +140,7 @@ void xilinx_drm_plane_commit(struct drm_plane *base_plane)
- for (i = 0; i < MAX_NUM_SUB_PLANES; i++) {
- struct xilinx_drm_plane_dma *dma = &plane->dma[i];
-
-- if (dma->chan && dma->is_active) {
-+ if (dma->chan) {
- flags = DMA_CTRL_ACK | DMA_PREP_INTERRUPT;
- desc = dmaengine_prep_interleaved_dma(dma->chan,
- &dma->xt,
-@@ -153,6 +153,7 @@ void xilinx_drm_plane_commit(struct drm_plane *base_plane)
- dmaengine_submit(desc);
-
- dma_async_issue_pending(dma->chan);
-+ dma->is_active = true;
- }
- }
- }
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0004-minized-wifi-bluetooth.cfg b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0004-minized-wifi-bluetooth.cfg
deleted file mode 100644
index f71e53abb..000000000
--- a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2020.2/0004-minized-wifi-bluetooth.cfg
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Bluetooth config
-#
-CONFIG_BT=y
-CONFIG_BT_BREDR=y
-CONFIG_BT_HS=y
-CONFIG_BT_LE=y
-CONFIG_BT_BCM=y
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCM=y
-CONFIG_BT_HIDP=y
-CONFIG_CFG80211=y
-CONFIG_CFG80211_DEFAULT_PS=y
-CONFIG_CFG80211_CRDA_SUPPORT=y
-CONFIG_BRCMUTIL=y
-CONFIG_BRCMFMAC=y
-CONFIG_BRCMFMAC_PROTO_BCDC=y
-CONFIG_BRCMFMAC_SDIO=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_CMAC=y
-CONFIG_CRYPTO_SHA256=y
-
-#
-# Regulator config
-#
-CONFIG_REGMAP_IRQ=y
-CONFIG_I2C_XILINX=y
-CONFIG_MFD_DA9062=y
-CONFIG_REGULATOR_DA9062=y
-
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2020.2.bbappend b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2020.2.bbappend
deleted file mode 100644
index 535fbb264..000000000
--- a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2020.2.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-xlnx:"
-
-SRC_URI_append_zybo-linux-bd-zynq7 = " \
- file://0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch \
- file://0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch \
- file://0003-drm-xilinx-Fix-DPMS-transition-to-on.patch \
- "
-
-SRC_URI_append_minized-zynq7 = " file://0004-minized-wifi-bluetooth.cfg"
diff --git a/meta-xilinx/meta-xilinx-pynq/COPYING.MIT b/meta-xilinx/meta-xilinx-pynq/COPYING.MIT
deleted file mode 100644
index 89de35479..000000000
--- a/meta-xilinx/meta-xilinx-pynq/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/meta-xilinx/meta-xilinx-pynq/README.md b/meta-xilinx/meta-xilinx-pynq/README.md
deleted file mode 100644
index a40ff96b2..000000000
--- a/meta-xilinx/meta-xilinx-pynq/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# meta-xilinx-pynq
-
-================================
-
-Introduction
--------------------------
-
-This layer collects recipes required to build and run PYNQ based examples using jupyter-notebooks on yocto
-
-Maintainers, Patches/Submissions, Community
-===========================================
-Please open pull requests for any changes.
-
-Maintainers:
-
- Sai Hari Chandana Kalluri (chandana.kalluri@xilinx.com)
- Peter Ogden (ogden@xilinx.com)
-
-Layer dependencies
-=====================
-
-URI: git://git.openembedded.org/bitbake
-
-URI: git://git.openembedded.org/openembedded-core
-
-URI: git://git.openembedded.org/meta-openembedded
diff --git a/meta-xilinx/meta-xilinx-pynq/classes/xilinx-pynq.bbclass b/meta-xilinx/meta-xilinx-pynq/classes/xilinx-pynq.bbclass
deleted file mode 100644
index a183a78e5..000000000
--- a/meta-xilinx/meta-xilinx-pynq/classes/xilinx-pynq.bbclass
+++ /dev/null
@@ -1,38 +0,0 @@
-PYNQ_NOTEBOOK_DIR ?= "${datadir}/notebooks"
-
-PYNQ_ARCH_arm = "armv7l"
-PYNQ_ARCH_aarch64 = "aarch64"
-
-PYNQ_BUILD_ARCH="${PYNQ_ARCH_${TARGET_ARCH}}"
-PYNQ_BUILD_ROOT="${STAGING_DIR_TARGET}"
-BBCLASSEXTEND = "native nativesdk"
-
-PACKAGES += " ${PN}-notebooks"
-FILES_${PN}-notebooks += "${PYNQ_NOTEBOOK_DIR}"
-
-INSANE_SKIP_${PN} += "staticdev dev-so"
-inherit python3-dir
-
-# Used for setup.py on PYNQ
-BOARD_NAME_ultra96 = "Ultra96"
-BOARD_NAME_zcu104-zynqmp = "ZCU104"
-
-do_compile_prepend() {
- export BOARD=${BOARD_NAME}
- export PYNQ_BUILD_ARCH=${PYNQ_BUILD_ARCH}
- export PYNQ_JUPYTER_NOTEBOOKS=${D}${PYNQ_NOTEBOOK_DIR}
-}
-
-do_install_prepend() {
- export BOARD=${BOARD_NAME}
- export PYNQ_BUILD_ARCH=${PYNQ_BUILD_ARCH}
- export PYNQ_JUPYTER_NOTEBOOKS=${D}${PYNQ_NOTEBOOK_DIR}
- install -d ${PYNQ_JUPYTER_NOTEBOOKS}
-}
-
-do_configure_prepend() {
- export BOARD=${BOARD_NAME}
- export PYNQ_BUILD_ARCH=${PYNQ_BUILD_ARCH}
- export PYNQ_JUPYTER_NOTEBOOKS=${D}${PYNQ_NOTEBOOK_DIR}
- install -d ${PYNQ_JUPYTER_NOTEBOOKS}
-}
diff --git a/meta-xilinx/meta-xilinx-pynq/conf/layer.conf b/meta-xilinx/meta-xilinx-pynq/conf/layer.conf
deleted file mode 100644
index 0168bb4ae..000000000
--- a/meta-xilinx/meta-xilinx-pynq/conf/layer.conf
+++ /dev/null
@@ -1,15 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have a packages directory, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "xilinx-pynq"
-BBFILE_PATTERN_xilinx-pynq = "^${LAYERDIR}/"
-BBFILE_PRIORITY_xilinx-pynq = "5"
-
-LAYERDEPENDS_xilinx-pynq = "core xilinx"
-
-LAYERSERIES_COMPAT_xilinx-pynq = "dunfell gatesgarth"
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc
deleted file mode 100644
index 96303bdfd..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "Xilinx PYNQ Library"
-HOMEPAGE = "http://pynq.io"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b42e39ad2ddbad7e8ad47f3eee6feff5"
-
-SRC_URI[md5sum] = "9950894100c20293e921090b76ca9f17"
-SRC_URI[sha256sum] = "4f719e2753093d1e79931755c624d160cf342c03af49e027d09abe75bdc8e8c5"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-asyncio \
- ${PYTHON_PN}-cffi \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-math \
- ${PYTHON_PN}-mmap \
- ${PYTHON_PN}-multiprocessing \
- ${PYTHON_PN}-numpy \
- ${PYTHON_PN}-pycparser \
- ${PYTHON_PN}-resource \
- ${PYTHON_PN}-setuptools \
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-xml \
- ${PYTHON_PN}-audio \
- lmsensors-libsensors \
- libdrm \
- libcma \
- pynq-overlay \
- "
-
-inherit update-rc.d xilinx-pynq
-
-DEPENDS += " libdrm boost libcma"
-
-SRC_URI += "file://pl_server_init \
- file://0001-Fix-3.6-ism-in-Xlnk-class.patch \
- file://0002-Avoid-deleteing-notebooks.patch \
- file://0003-Use-sysroot-for-Displayport-library.patch \
-"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}:"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME = "pl_server_init"
-INITSCRIPT_PARAMS = "start 99 S ."
-
-do_install_append() {
- install -d ${D}${INIT_D_DIR}
- install -m 755 ${WORKDIR}/pl_server_init ${D}${INIT_D_DIR}/pl_server_init
- rm -rf ${D}${PYNQ_NOTEBOOK_DIR}_*
-}
-
-
-FILES_${PN} += " ${INIT_D_DIR}/pl_server_init "
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch
deleted file mode 100644
index d947a3a61..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 940acab94a60708a9a9092579af52c1195f23fae Mon Sep 17 00:00:00 2001
-From: Peter Ogden <ogden@xilinx.com>
-Date: Tue, 3 Mar 2020 06:21:03 -0500
-Subject: [PATCH 1/3] Fix 3.6-ism in Xlnk class
-
----
- pynq/xlnk.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pynq/xlnk.py b/pynq/xlnk.py
-index c07f1e5..a25e0e3 100644
---- a/pynq/xlnk.py
-+++ b/pynq/xlnk.py
-@@ -423,7 +423,7 @@ class Xlnk:
- for l in f.readlines():
- m = re.match('CmaTotal:[\\s]+([0-9]+) kB', l)
- if m:
-- return int(m[1]) * 1024
-+ return int(m.group(1)) * 1024
- return 0
-
- def flush(self, bo, offset, vaddr, nbytes):
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch
deleted file mode 100644
index e67c80488..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 70b38f8748779d57117bca3e37441e2223372293 Mon Sep 17 00:00:00 2001
-From: Peter Ogden <ogden@xilinx.com>
-Date: Tue, 3 Mar 2020 06:23:26 -0500
-Subject: [PATCH 2/3] Avoid deleteing notebooks
-
----
- setup.py | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index df1dada..95479e3 100644
---- a/setup.py
-+++ b/setup.py
-@@ -36,6 +36,7 @@ from setuptools.command.build_ext import build_ext
- from distutils.dir_util import copy_tree
- from distutils.file_util import copy_file, move_file
- from shutil import rmtree
-+import shutil
- import glob
- import re
- import subprocess
-@@ -322,8 +323,8 @@ class BuildExtension(build_ext):
- for ol in overlay_dirs:
- src = os.path.join(board_folder, ol)
- dst = os.path.join(self.build_lib, "pynq/overlays", ol)
-- exclude_file_or_folder('notebooks', src)
-- copy_tree(src, dst)
-+ if not os.path.isdir(dst):
-+ shutil.copytree(src, dst, ignore=shutil.ignore_patterns('notebooks'))
-
- def run(self):
- if CPU_ARCH == ZYNQ_ARCH:
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch
deleted file mode 100644
index f250e4a24..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 65e1134505235a60013d91c8b03401b8b4062cde Mon Sep 17 00:00:00 2001
-From: Peter Ogden <ogden@xilinx.com>
-Date: Tue, 3 Mar 2020 10:32:35 -0500
-Subject: [PATCH 3/3] Use sysroot for Displayport library
-
----
- pynq/lib/_pynq/_displayport/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pynq/lib/_pynq/_displayport/Makefile b/pynq/lib/_pynq/_displayport/Makefile
-index 5567e34..7f1f7b7 100644
---- a/pynq/lib/_pynq/_displayport/Makefile
-+++ b/pynq/lib/_pynq/_displayport/Makefile
-@@ -2,7 +2,7 @@ CC ?= gcc
- CXX ?= g++
-
- OBJSC = displayport.o
--INC = -I${PYNQ_BUILD_ROOT}/usr/include/libdrm
-+INC = -I=${PYNQ_BUILD_ROOT}/usr/include/libdrm
-
- all:
- $(CXX) -fPIC $(INC) -c -g -std=c++11 displayport.cpp $(CFLAGS)
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/pl_server_init b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/pl_server_init
deleted file mode 100644
index 8b13ae1f1..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/pl_server_init
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/bin/sh
-### BEGIN INIT INFO
-# Provides:
-# Required-Start: $remote_fs $syslog
-# Required-Stop: $remote_fs $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Start daemon at boot time
-# Description: Enable service provided by daemon.
-### END INIT INFO
-
-dir=""
-cmd="start_pl_server.py"
-user=""
-
-name="pl_server"
-pid_file="/var/run/$name.pid"
-stdout_log="/var/log/$name.log"
-stderr_log="/var/log/$name.err"
-
-get_pid() {
- cat "$pid_file"
-}
-
-is_running() {
- [ -f "$pid_file" ] && (ps -o"pid" | grep '^ '`get_pid`'$') > /dev/null 2>&1
-}
-
-install_overlay() {
-if [ ! -e '/sys/kernel/config/device-tree/overlays/pynq' ]; then
- modprobe uio_pdrv_genirq
- if [ ! -e /proc/device-tree/__symbols__ ]; then
- mkdir /sys/kernel/config/device-tree/overlays/pynq-symbols
- cat /lib/firmware/pynq-symbols.dtbo > /sys/kernel/config/device-tree/overlays/pynq-symbols/dtbo
- fi
- mkdir /sys/kernel/config/device-tree/overlays/pynq
- cat /lib/firmware/pynq.dtbo > /sys/kernel/config/device-tree/overlays/pynq/dtbo
-fi
-}
-
-case "$1" in
- start)
- if is_running; then
- echo "Already started"
- else
- echo "Starting $name"
- cd "$dir"
- install_overlay
- $cmd >> "$stdout_log" 2>> "$stderr_log" &
- echo $! > "$pid_file"
- if ! is_running; then
- echo "Unable to start, see $stdout_log and $stderr_log"
- exit 1
- fi
- fi
- ;;
- stop)
- if is_running; then
- echo -n "Stopping $name.."
- kill `get_pid`
- for i in 1 2 3 4 5 6 7 8 9 10
- # for i in `seq 10`
- do
- if ! is_running; then
- break
- fi
-
- echo -n "."
- sleep 1
- done
- echo
-
- if is_running; then
- echo "Not stopped; may still be shutting down or shutdown may have failed"
- exit 1
- else
- echo "Stopped"
- if [ -f "$pid_file" ]; then
- rm "$pid_file"
- fi
- fi
- else
- echo "Not running"
- fi
- ;;
- restart)
- $0 stop
- if is_running; then
- echo "Unable to stop, will not attempt to start"
- exit 1
- fi
- $0 start
- ;;
- status)
- if is_running; then
- echo "Running"
- else
- echo "Stopped"
- exit 1
- fi
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|status}"
- exit 1
- ;;
-esac
-
-exit 0
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.5.1.bb b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.5.1.bb
deleted file mode 100644
index 5a904c8fa..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.5.1.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit pypi setuptools3
-require python-pynq.inc
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/libcma/libcma_1.0.bb b/meta-xilinx/meta-xilinx-pynq/recipes-support/libcma/libcma_1.0.bb
deleted file mode 100644
index 9d9a2b388..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/libcma/libcma_1.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Recompile libcma against pynqlib c"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b42e39ad2ddbad7e8ad47f3eee6feff5"
-
-CMA_ARCH_arm = "32"
-CMA_ARCH_aarch64 = "64"
-
-PYNQBRANCH ?= "image_v2.4"
-SRCBRANCHARG = "${@['nobranch=1', 'branch=${PYNQBRANCH}'][d.getVar('PYNQBRANCH', True) != '']}"
-PYNQURI ?= "git://github.com/Xilinx/PYNQ.git;protocol=https"
-
-SRC_URI = "${PYNQURI};${SRCBRANCHARG}"
-
-SRCREV ?= "3d659d374701b7c34fa702e7aa23f71f9113f826"
-
-S="${WORKDIR}/git"
-
-CMA_ARCH_arm = "32"
-CMA_ARCH_aarch64 = "64"
-
-do_install() {
-
- install -d ${D}/usr/lib/
- install -d ${D}/usr/include/
-
- cd ${S}/sdbuild/packages/libsds/libcma
- CMA_ARCH=${CMA_ARCH_${TARGET_ARCH}} make install DESTDIR=${D}
-}
-
-SOLIBS = ".so"
-FILES_SOLIBSDEV = ""
-FILES_${PN} += "/usr/lib/libcma.so /usr/include"
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/LICENSE b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/LICENSE
deleted file mode 100644
index e1e09ab59..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/LICENSE
+++ /dev/null
@@ -1,23 +0,0 @@
-#*******************************************************************************
-#
-# Copyright (C) 2019 Xilinx, Inc. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy of
-# this software and associated documentation files (the "Software"), to deal in
-# the Software without restriction, including without limitation the rights to
-# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-# of the Software, and to permit persons to whom the Software is furnished to do
-# so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in all
-# copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-#
-# ******************************************************************************
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/generic-uio.conf b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/generic-uio.conf
deleted file mode 100644
index 84d06c84c..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/generic-uio.conf
+++ /dev/null
@@ -1 +0,0 @@
-options uio_pdrv_genirq of_id=generic-uio
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq.dtsi b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq.dtsi
deleted file mode 100644
index 8c20cdd50..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq.dtsi
+++ /dev/null
@@ -1,16 +0,0 @@
-/dts-v1/;
-/plugin/;
-
-&{/amba} {
- xlnk {
- compatible = "xlnx,xlnk-1.0";
- };
- fabric@40000000 {
- compatible = "generic-uio";
- reg = <0x40001000 0x1000>;
- status = "okay";
- interrupt-parent = <&intc>;
- interrupts = <0 0x1d 4>;
- };
-
-};
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq_symbols.dtsi b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq_symbols.dtsi
deleted file mode 100644
index 69cbdb659..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq_symbols.dtsi
+++ /dev/null
@@ -1,15 +0,0 @@
-/dts-v1/;
-/plugin/;
-
-/ {
-
- fragment@0 {
- target-path = "/";
- __overlay__ {
- __symbols__ {
- intc = "/amba/interrupt-controller@f8f01000";
- };
- };
- };
-
-};
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp.dtsi b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp.dtsi
deleted file mode 100644
index 4c389dae7..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp.dtsi
+++ /dev/null
@@ -1,17 +0,0 @@
-/dts-v1/;
-/plugin/;
-
-&{/amba} {
- xlnk {
- compatible = "xlnx,xlnk-1.0";
- };
- fabric@A0000000 {
- compatible = "generic-uio";
- reg = <0x0 0xA0001000 0x0 0x1000>;
- status = "okay";
- interrupt-parent = <&gic>;
- interrupts = <0 89 4>;
- };
-
-};
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp_symbols.dtsi b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp_symbols.dtsi
deleted file mode 100644
index 2e8ea882d..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp_symbols.dtsi
+++ /dev/null
@@ -1,15 +0,0 @@
-/dts-v1/;
-/plugin/;
-
-/ {
-
- fragment@0 {
- target-path = "/";
- __overlay__ {
- __symbols__ {
- gic = "/amba_apu@0/interrupt-controller@f9010000";
- };
- };
- };
-
-};
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb
deleted file mode 100644
index fb8d7012b..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Xilinx PYNQ overlay"
-HOMEPAGE = "http://pynq.io"
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=23;md5=04c57e41ad93d4d6b6ca3d766372b0fa"
-
-DEPENDS += "dtc-native"
-
-SRC_URI = " \
- file://pynq_zynqmp.dtsi \
- file://pynq_zynq.dtsi \
- file://pynq_zynqmp_symbols.dtsi \
- file://pynq_zynq_symbols.dtsi \
- file://generic-uio.conf \
- file://LICENSE \
- "
-
-S="${WORKDIR}"
-
-PYNQ_DTSI ??= "pynq_zynqmp.dtsi"
-PYNQ_DTSI_zynqmp ?= "pynq_zynqmp.dtsi"
-PYNQ_DTSI_zynq ?= "pynq_zynq.dtsi"
-PYNQ_SYMBOL_DTSI_zynqmp ?= "pynq_zynqmp_symbols.dtsi"
-PYNQ_SYMBOL_DTSI_zynq ?= "pynq_zynq_symbols.dtsi"
-PYNQ_DTBO ?= "pynq.dtbo"
-PYNQ_SYMBOL_DTBO ?= "pynq-symbols.dtbo"
-
-do_compile() {
-
- dtc -I dts -O dtb -@ ${WORKDIR}/${PYNQ_DTSI} -o ${S}/${PYNQ_DTBO}
- dtc -I dts -O dtb -@ ${WORKDIR}/${PYNQ_SYMBOL_DTSI} -o ${S}/${PYNQ_SYMBOL_DTBO}
-}
-
-
-do_install() {
-
- install -d ${D}/lib/firmware
- install -m 755 ${S}/${PYNQ_DTBO} ${D}/lib/firmware/${PYNQ_DTBO}
- install -m 755 ${S}/${PYNQ_SYMBOL_DTBO} ${D}/lib/firmware/${PYNQ_SYMBOL_DTBO}
-
- install -d ${D}/etc/modprobe.d
- install -m 644 ${WORKDIR}/generic-uio.conf ${D}${sysconfdir}/modprobe.d/generic-uio.conf
-
-}
-
-FILES_${PN} += "/lib/firmware/pynq.dtbo /lib/firmware/pynq-symbols.dtbo ${sysconfdir}/modprobe.d/generic-uio.conf"
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn/0001-BNN-Notebooks-changed-default-picture-location.patch b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn/0001-BNN-Notebooks-changed-default-picture-location.patch
deleted file mode 100644
index 1d106f9cb..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn/0001-BNN-Notebooks-changed-default-picture-location.patch
+++ /dev/null
@@ -1,3577 +0,0 @@
-From f988ae0140a5e639dbc70cd2451bd3a12f92d8da Mon Sep 17 00:00:00 2001
-From: Vinay Senthil <vinays@xilinx.com>
-Date: Fri, 26 Jul 2019 16:44:11 -0700
-Subject: [PATCH 1/2] BNN_Chars and BNN_MNIST: changed default notebook
- location and removed scipy dependency
-
-Notebooks can now be found in /usr/share/notebooks and step 5 in both BNN
-webcam notebooks now use PIL instead of scipy
-
-Signed-off-by: <vinays@xilinx.com>
----
- notebooks/LFC-BNN_Chars_Webcam.ipynb | 17 +++++++++--------
- notebooks/LFC-BNN_MNIST_Webcam.ipynb | 18 +++++++++---------
- 2 files changed, 18 insertions(+), 17 deletions(-)
-
-diff --git a/notebooks/LFC-BNN_Chars_Webcam.ipynb b/notebooks/LFC-BNN_Chars_Webcam.ipynb
-index 74d1855..cf520b2 100755
---- a/notebooks/LFC-BNN_Chars_Webcam.ipynb
-+++ b/notebooks/LFC-BNN_Chars_Webcam.ipynb
-@@ -156,7 +156,7 @@
- "img = PIL_Image.fromarray(cv2_im).convert(\"L\") \n",
- "\n",
- "#original captured image\n",
-- "#orig_img_path = '/home/xilinx/jupyter_notebooks/bnn/pictures/webcam_image_chars.jpg'\n",
-+ "#orig_img_path = '/usr/share/notebooks/bnn/pictures/webcam_image_chars.jpg'\n",
- "#img = PIL_Image.open(orig_img_path).convert(\"L\") \n",
- "\n",
- "#Image enhancement \n",
-@@ -209,8 +209,9 @@
- " \n",
- "background \n",
- "img_data=np.asarray(background) \n",
-- "img_data = img_data[:,:,0] \n",
-- "misc.imsave('/home/xilinx/img_webcam_char.png', img_data) "
-+ "img_data = img_data[:,:,0]\n",
-+ "im = PIL_Image.fromarray(img_data)\n",
-+ "im.save('/usr/share/img_webcam_char.png')"
- ]
- },
- {
-@@ -242,7 +243,7 @@
- "from array import *\n",
- "from PIL import Image as PIL_Image\n",
- "from PIL import ImageOps\n",
-- "img_load = PIL_Image.open('/home/xilinx/img_webcam_char.png').convert(\"L\") \n",
-+ "img_load = PIL_Image.open('/usr/share/img_webcam_char.png').convert(\"L\") \n",
- "# Convert to BNN input format \n",
- "# The image is resized to comply with the MNIST standard. The image is resized at 28x28 pixels and the colors inverted. \n",
- " \n",
-@@ -269,7 +270,7 @@
- "header.extend([0,0,0,28,0,0,0,28]) \n",
- "header[3] = 3 # Changing MSB for image data (0x00000803) \n",
- "data_image = header + data_image \n",
-- "output_file = open('/home/xilinx/img_webcam_processed', 'wb') \n",
-+ "output_file = open('/usr/share/img_webcam_processed', 'wb') \n",
- "data_image.tofile(output_file) \n",
- "output_file.close() \n",
- "smallimg"
-@@ -302,7 +303,7 @@
- }
- ],
- "source": [
-- "class_out=hw_classifier.classify_mnist(\"/home/xilinx/img_webcam_processed\")\n",
-+ "class_out=hw_classifier.classify_mnist(\"/usr/share/img_webcam_processed\")\n",
- "print(\"Class number: {0}\".format(class_out))\n",
- "print(\"Class name: {0}\".format(hw_classifier.bnn.class_name(class_out)))"
- ]
-@@ -332,7 +333,7 @@
- }
- ],
- "source": [
-- "class_out=sw_classifier.classify_mnist(\"/home/xilinx/img_webcam_processed\")\n",
-+ "class_out=sw_classifier.classify_mnist(\"/usr/share/img_webcam_processed\")\n",
- "print(\"Class number: {0}\".format(class_out))\n",
- "print(\"Class name: {0}\".format(sw_classifier.bnn.class_name(class_out)))"
- ]
-@@ -374,7 +375,7 @@
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
-- "version": "3.6.5"
-+ "version": "3.7.0"
- }
- },
- "nbformat": 4,
-diff --git a/notebooks/LFC-BNN_MNIST_Webcam.ipynb b/notebooks/LFC-BNN_MNIST_Webcam.ipynb
-index 7182666..180d335 100755
---- a/notebooks/LFC-BNN_MNIST_Webcam.ipynb
-+++ b/notebooks/LFC-BNN_MNIST_Webcam.ipynb
-@@ -143,13 +143,13 @@
- "from PIL import ImageOps\n",
- "\n",
- "# says we capture an image from a webcam\n",
-- "cap = cv2.VideoCapture(0) \n",
-+ "cap = cv2.VideoCapture(1) \n",
- "_ , cv2_im = cap.read()\n",
- "cv2_im = cv2.cvtColor(cv2_im,cv2.COLOR_BGR2RGB)\n",
- "img = PIL_Image.fromarray(cv2_im).convert(\"L\") \n",
- "\n",
- "#original captured image\n",
-- "#orig_img_path = '/home/xilinx/jupyter_notebooks/bnn/pictures/webcam_image_mnist.jpg'\n",
-+ "#orig_img_path = '/usr/share/notebooks/bnn/pictures/webcam_image_mnist.jpg'\n",
- "#img = PIL_Image.open(orig_img_path).convert(\"L\") \n",
- " \n",
- "#Image enhancement \n",
-@@ -181,7 +181,6 @@
- "from PIL import Image as PIL_Image\n",
- "import numpy as np\n",
- "import math\n",
-- "from scipy import misc\n",
- "\n",
- "#Find bounding box \n",
- "inverted = ImageOps.invert(img) \n",
-@@ -202,7 +201,8 @@
- "background \n",
- "img_data=np.asarray(background) \n",
- "img_data = img_data[:,:,0] \n",
-- "misc.imsave('/home/xilinx/img_webcam_mnist.png', img_data) "
-+ "im = PIL_Image.fromarray(img_data)\n",
-+ "im.save('/usr/share/img_webcam_mnist.png') "
- ]
- },
- {
-@@ -234,7 +234,7 @@
- "from array import *\n",
- "from PIL import Image as PIL_Image\n",
- "from PIL import ImageOps\n",
-- "img_load = PIL_Image.open('/home/xilinx/img_webcam_mnist.png').convert(\"L\") \n",
-+ "img_load = PIL_Image.open('/usr/share/img_webcam_mnist.png').convert(\"L\") \n",
- "# Convert to BNN input format \n",
- "# The image is resized to comply with the MNIST standard. The image is resized at 28x28 pixels and the colors inverted. \n",
- " \n",
-@@ -261,7 +261,7 @@
- "header.extend([0,0,0,28,0,0,0,28]) \n",
- "header[3] = 3 # Changing MSB for image data (0x00000803) \n",
- "data_image = header + data_image \n",
-- "output_file = open('/home/xilinx/img_webcam_mnist_processed', 'wb') \n",
-+ "output_file = open('/usr/share/img_webcam_mnist_processed', 'wb') \n",
- "data_image.tofile(output_file) \n",
- "output_file.close() \n",
- "smallimg"
-@@ -295,7 +295,7 @@
- }
- ],
- "source": [
-- "class_out = hw_classifier.classify_mnist(\"/home/xilinx/img_webcam_mnist_processed\")\n",
-+ "class_out = hw_classifier.classify_mnist(\"/usr/share/img_webcam_mnist_processed\")\n",
- "print(\"Class number: {0}\".format(class_out))\n",
- "print(\"Class name: {0}\".format(hw_classifier.class_name(class_out)))"
- ]
-@@ -325,7 +325,7 @@
- }
- ],
- "source": [
-- "class_out=sw_classifier.classify_mnist(\"/home/xilinx/img_webcam_mnist_processed\")\n",
-+ "class_out=sw_classifier.classify_mnist(\"/usr/share/img_webcam_mnist_processed\")\n",
- "print(\"Class number: {0}\".format(class_out))\n",
- "print(\"Class name: {0}\".format(hw_classifier.class_name(class_out)))"
- ]
-@@ -369,7 +369,7 @@
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
-- "version": "3.6.5"
-+ "version": "3.7.0"
- }
- },
- "nbformat": 4,
---
-2.7.4
-
-
-From 002ac424c8a340b7b356fcb7fa8ae63f85f800e3 Mon Sep 17 00:00:00 2001
-From: Vinay Senthil <vinays@xilinx.com>
-Date: Tue, 30 Jul 2019 17:38:01 -0700
-Subject: [PATCH 2/2] BNN Notebooks: changed default image location
-
-/usr/share/notebooks/bnn_examples/pictures is the new location
-
-Signed-off-by: Vinay Senthil <vinays@xilinx.com>
----
- .../CNV-BNN_Cifar10-checkpoint.ipynb | 425 ++++++++++++++
- .../CNV-BNN_Road-Signs-checkpoint.ipynb | 410 ++++++++++++++
- .../CNV-BNN_SVHN-checkpoint.ipynb | 208 +++++++
- .../CNV-QNN_Cifar10-checkpoint.ipynb | 608 +++++++++++++++++++++
- .../CNV-QNN_Cifar10_Testset-checkpoint.ipynb | 345 ++++++++++++
- .../CNV-QNN_Cifar10_Webcam-checkpoint.ipynb | 357 ++++++++++++
- .../LFC-BNN_Chars_Webcam-checkpoint.ipynb | 383 +++++++++++++
- .../LFC-BNN_MNIST_Webcam-checkpoint.ipynb | 377 +++++++++++++
- notebooks/CNV-BNN_Cifar10.ipynb | 10 +-
- notebooks/CNV-BNN_Road-Signs.ipynb | 8 +-
- notebooks/CNV-BNN_SVHN.ipynb | 4 +-
- notebooks/CNV-QNN_Cifar10.ipynb | 4 +-
- notebooks/CNV-QNN_Cifar10_Testset.ipynb | 10 +-
- notebooks/CNV-QNN_Cifar10_Webcam.ipynb | 6 +-
- 14 files changed, 3134 insertions(+), 21 deletions(-)
- create mode 100644 notebooks/.ipynb_checkpoints/CNV-BNN_Cifar10-checkpoint.ipynb
- create mode 100644 notebooks/.ipynb_checkpoints/CNV-BNN_Road-Signs-checkpoint.ipynb
- create mode 100644 notebooks/.ipynb_checkpoints/CNV-BNN_SVHN-checkpoint.ipynb
- create mode 100644 notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10-checkpoint.ipynb
- create mode 100644 notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10_Testset-checkpoint.ipynb
- create mode 100644 notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10_Webcam-checkpoint.ipynb
- create mode 100644 notebooks/.ipynb_checkpoints/LFC-BNN_Chars_Webcam-checkpoint.ipynb
- create mode 100644 notebooks/.ipynb_checkpoints/LFC-BNN_MNIST_Webcam-checkpoint.ipynb
-
-diff --git a/notebooks/.ipynb_checkpoints/CNV-BNN_Cifar10-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/CNV-BNN_Cifar10-checkpoint.ipynb
-new file mode 100644
-index 0000000..d4febdc
---- /dev/null
-+++ b/notebooks/.ipynb_checkpoints/CNV-BNN_Cifar10-checkpoint.ipynb
-@@ -0,0 +1,425 @@
-+{
-+ "cells": [
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "# BNN on Pynq\n",
-+ "\n",
-+ "This notebook covers how to use Binary Neural Networks on Pynq. \n",
-+ "It shows an example of image recognition with a binarized neural network inspired at VGG-16, featuring 6 convolutional layers, 3 max pool layers and 3 fully connected layers\n"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 1. Import the package"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 1,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "application/javascript": [
-+ "\n",
-+ "require(['notebook/js/codecell'], function(codecell) {\n",
-+ " codecell.CodeCell.options_default.highlight_modes[\n",
-+ " 'magic_text/x-csrc'] = {'reg':[/^%%microblaze/]};\n",
-+ " Jupyter.notebook.events.one('kernel_ready.Kernel', function(){\n",
-+ " Jupyter.notebook.get_cells().map(function(cell){\n",
-+ " if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;\n",
-+ " });\n",
-+ "});\n"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "import bnn"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 2. Checking available parameters\n",
-+ "\n",
-+ "By default the following trained parameters are available for CNV network using 1 bit for weights and activation:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 2,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "['streetview', 'road-signs', 'cifar10']\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "print(bnn.available_params(bnn.NETWORK_CNVW1A1))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 3. Instantiate a Classifier\n",
-+ "\n",
-+ "Creating a classifier will automatically download the correct bitstream onto device and load the weights trained on the specified dataset. Passing a runtime attribute will allow to choose between hardware accelerated or pure software inference.\n",
-+ "\n",
-+ "Use `CnvClassifier(network,parameters,runtime)` for CNV network topology:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 3,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "hw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A1,'cifar10',bnn.RUNTIME_HW)\n",
-+ "sw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A1,'cifar10',bnn.RUNTIME_SW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 4. List the classes\n",
-+ "\n",
-+ "The CIFAR10 dataset includes 10 classes of images, the names of which are accessible through the classifier."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 4,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "['Airplane', 'Automobile', 'Bird', 'Cat', 'Deer', 'Dog', 'Frog', 'Horse', 'Ship', 'Truck']\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "print(hw_classifier.classes)"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 5. Open image to be classified\n",
-+ "Download a JPEG image of a deer and place it in a valid directory. The image can then be loaded and displayed through the notebook."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 5,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAARnCAIAAADogNswAAABJGlDQ1BJQ0MgUHJvZmlsZQAAeJxjYGAycHRxcmUSYGDIzSspCnJ3UoiIjFJgP8/AxsDMAAaJycUFjgEBPiB2Xn5eKgMG+HaNgRFEX9YFmYUpjxdwJRcUlQDpP0BslJJanMzAwGgAZGeXlxQAxRnnANkiSdlg9gYQuygkyBnIPgJk86VD2FdA7CQI+wmIXQT0BJD9BaQ+Hcxm4gCbA2HLgNglqRUgexmc8wsqizLTM0oUDC0tLRUcU/KTUhWCK4tLUnOLFTzzkvOLCvKLEktSU4BqIe4DA0GIQlCIaQA1WmiS6G+CABQPENbnQHD4MoqdQYghQHJpURmUychkTJiPMGOOBAOD/1IGBpY/CDGTXgaGBToMDPxTEWJqhgwMAvoMDPvmAADAxk/9GlU2EAABAABJREFUeJyU/cmzLslxJ4r93CO/c4e6NVehABRmziRIkE32a1LdJmuTtOl/TLunpXavV1pIZrK2Z7KnjUymydSvm60eyEc2MRIgCsRUhbGq7nS+DHctfAiPyDwXeGnArTz5Zcbg4XO4e9D/8H/836kqM7eNW2uAiEhrTQREREQqUFUAzExEvXccLiISEQBKICJ7aF91kN0QmqpaX8wsAkAAgIRVQOpf9Z2ZRURVW6NG1HvvvUezcuhcs0cbCRGBhJTtR+s0f1ViIoL9CgBsz5nZXhMqTatSQ32zdmv/taEC7F3HxK1ZQOyhkFoXip7vMLNq92GLqqp2Yd5aa/32uu/75XIJgDOAfd+3ezfSNWdqsyNq2XsFPgDChYgUXWQHwOwLRHjGTAAUvfcu3T6hDok2SRW9d1UlNGZurRkOOCRVVXWLJyucZYwnn9cP7XlADztut21jZuuxtWZIdXO5v+87gEtrAKQ7wJlo2zbAR2gDU1WJeyHHokTjBFqBG3Fz1G3WfoxnC0wWEUMPg5V0+Dqqr4KI9N6F2J8LWmvMm9HC9ba31lprIrLvu61j753ICWHGliAfkoSqI2ffk8psMKLdKMVeK1TTDGeyQQLnAuWwB4YTMbNomygoriSH+hAAuuS3oEGVRAqAOAk6Xmcfv+6dFBVtyqQk/+y9Jw7MY1ZbEVtEItpaWxCs9jugqoM2k2CVYN3lrCXeISLmraCrzZErlIhIrnICnIHz4uzIm1EiGD3akqkQAOaWLSu1gMxAgOQ2Y10wuI2/A4gIgwyGRNoCeokSObqcgshu6GSzcyIS2bZLBbsK5Z8VQ04gT7K8qao2zHVF5g/t90qGxnnsBcNDZi6QpNYaqVyvV+vIxITRWiJ7zs6hJINSUqLZCJOu7UZEuKG1lt0lAbbWer/G1HL8SkQMMvxEsA77SUJOBQt1kjSxONBvxvacyFg6DjAas5FEv74Mxnl4EEuFtmFUDgOAoToA7VBfVvvExwndfDXJgRmoO8ALmkY7E04OSRP4yf+ZWbGX4XEyFGYWmDhovXeoLZkKSXy7Ac54ATRQkkPiZ2PWfTfcANDlysyNWFVBt8xsohAkSQqEbvMgNCVGiB4jVVFVJTHgEAPo0SPRQODscYK8D6yXRSlAw7VSdJmF6TOxHPGc+TLEHJJ1KPOmRbyqatWFiH0MqqqOORLKm6+aLWgP5KxITkSKjQuQfbIB/MEB1KmAeKgxUA7scnDVxbLLqBgAqGW/RrlCsJmSraCRRMCzDlVDNcKseAC4udmSfPLlQuhFkVNXEXvvImJSOxdUdM8vMV8aOl69T0aKmQeK3toLLtxjYEYmBlsRacTbthGw2ffcprHm23UQxhanKU2C8AT6dXAqE1sx4QGSBgKRQutAjZgBul5vDVi48yJVEE1QKHr5iSAnImAC34FIxnPjB4Zede4VD6xBGqR7sjYFmYjb1JEh0EZMRMSbql6vV45VVFUJpTNEzjx/omMv5YmGPWXoCyICKYN9OMbCHYDUhx7DJsygnPiwCIBlGNO9Q2/FZqKJtvPa2k3jRkRgRog3pmATgzBch4Zq6iL2sk8w2FzMi/KdBVfJrTXJ8UyUr6ZJDMK2ZpyjnV1OouRzFFUiulwu2d22bUQt+Kxh+IohOZJ6k6Na4HbXSGqbNpe8L5L+/KuFxk/frPC0tS6/BFbTpLsnU+TWZHdTfIFADkNV00o8TFmq9YiUkfEQZwNWQfzoHwZjBJ1hqU0RK4QHVwlcOtFfl2bV1VaZXqP8ilSNYDE3NWTDeRfzNM+4rspsrS0LWuVKzMVfMJP4eNVvX0D+y6gGt3/hawaUlFhwlhpon3hVrAIAIqZiGgc2mVfAPE9WVUEQmysRmETjXmALUSFDoLSBExVFzLc1RmvKWcXGbGfwFh4YW4GnBAU0LDOBGm7QvF6LwCUy39Mwxtw5FvZP/JkDnxopl5i1lo1b9wZJA6GYfNUYnrUvZ2ipDPQDQXF1ty0TmZ9TjElzwN35cyOSvivQ0bZixnLQl6qCiHYVACyjFyLqIgZhJ3tlVe0QAOTqbFCrmDaoxruUQJTvGDRMJeAOJSD8gKnvsqF6RYADzIHCH4gMbwNtyFrw6SR4DiqNS/OKDwpNwlzwcOk9uIIxJQKpgo36wwvDQgow+Z8UqzPIbXgTFAQK1KDAQyU380zdsjuO1uAMVipyrlxdwVQ8s7nMMS/xx4VeKvDzI1q1Nff3zZJlPKhNEWhpNt+rjrNlcdOaqoPpvTNtKIhRhL5zhryxpozbBJJAVfd9F5FNMQRhdk/D8DKQnAvXE7Q4asChx5in2TwoydHaMLyiwSJOREQ6ZpZNyQVyzInHA9azDj0N/vBTVQ6CcWFubfDlcTNNmsL4mx7e9Weumaqaj5kVCmXeQC4YmCadJj+RwuBqy7X9eaguEcyjGQhATIZz3mxrHAoExedGaY14bEcs1ylWHMezwBMzpvn7YTrWD6tGDgDKFOjEtA1fOwgaIpzUHTBYnW2VVI43p9xtrPYLtdjEImZWMktMDfMXm9OemF1d+10GkwpLAZR5JmS86az2RKGZWlMqzVIqRjP5TBOZ4HOm1+oBCWtTZGKeVnJQVVZwawza9z2/L8vkcmIh4dqFGkrIEFFatPYT3FMh8GGwAE+2PhGJj9xIoNV3iSicp0OxNgnCd5hSM+U64wq4qZs1amRF7lVXhTJ40uNzo6D0wsAR/EcEZjP5af4paCHRIC2EYlxxqwq0eYkWhDxldz6FsqlY0PvoRDw2MGGRiuvrqmo7mnCRJrnDZop1HVXK1IU0XEWgE8ObiNTl3VDH01WW46HhOklHtvnji0yhnq07+witF2CEm8nBgiZ3wPMI3oAnUVKWMszY4AnUFRqcChngKkj8GUCftaJqnbpa7P4Ix1pf4tyLO2Jdh83z8BBAh8LhodEsxFaa4GQZX4sr1lAhBXYVgJvmSpnviWw/o87CaJlExwqqUqj1RMRCSoYQrEJmHgAgkrCGAgkpLSlWVQJ1G7yyEEEVSqbjplKHQQhG4oPDz/zBlZn4BCLTrkVy41RLKh1P/5098QCkOpgIUNKAvKqqqGEiYIyawycFaBNT1lUBIdoC2q6Dh36P5dIiLycpz7agzaad+nrAYVKIhwqhPoiCQlCFKqkQoCKDzEWVaUL+QgJCB62diGwbfwGaTfrwZHADh20o5aaqrYCAKQCyrLhPMDbKcr52WYSLgmKlw89IhuHYGawQKLmfd5b0Oe1JaWDU3fZFfXkBNwdA0gGGKjmgxYjfMEDhbMhbVohg2zwsBLCdSoYiNnRw1N0xUHw0VRcpB2ZsdCaeadjZSJndJMIBLNvWCT06U3HGa6oAms+WMkIGwEaMxqqqEX6wbRu6wFGEVAcRMnNVxe4aSXloEzQ4c4hpCSGkcIoKS5dMk1AA0kEkgSAtgI9607VT7TGlSsiIZDrevqqGVwlEqWoe19SBnSwMrTILJYBdmIBqL61iI3mQDEmw7NQ/ouUQ8G4zptFS9aRp938ZZ6WglP3MDKbWmouj2Be211trNOu1dUONDlpOfbECSlWDMMW0fQAEc+7ZZIbOmpqHFiXsdBZH+B+fdKgpVaLicyEA2oakJCXNWTp8RFWVmbdt094z6CVph6iZ064yygWfmVkg6JpAy33VOh1vkI9bsQyY3pFMQ3vY/2kyYWILrXgNhz4XSHQOKLiWmYIkb6xbVlfojZe7aFRXlTTIfFHITvYea9fRoY2QATHPEiMfDgxPAROIYcwTi9Z+7HEGzgou6BQ9FdcJXZeffI7dPeAEcGCPAo7HIYCm0K8augaLFzo6GtQ39i00Bc5IoSK+cc9DtEkHoEQQldS2IWAmUCMGEfX91kK51rmHzxXBewFipi5CQfMaDNwQ4AAKwBSt1MqiOXWa41CkYjcA3JHOcCAiFohIXaWbXQNE0KspQ4DmmHW4BdiUOEPgwTOFAOrRERW9PzS3mJ1LyTSr0ka1PjSWjGy0omTxD0U8AGjO3JWEjAzZ9JhEG1V3HMfQOS1AJcrAIlEhb0qYucN34TYTIpJq9JhOSj0hDfyx3cVwi3YVApFAWQPhVc0g95WQHnQ98MFG1AOqNgc3F9R3fhJ/nC9plRfV+x73ydw0pVlKk9mqyY4Qfi6YpAArzIHMsXZceWodvWv5qD8p1EMDY4836JQiNCu0mCJeU9WeJk7N6T6EsnsaKCR9MPxWNBw6DGlxeaCwi5NdoNrCeDjY8ni+tLncWFMpnqqcTUdDXlX8JUMew3Z2SNJ1F/EIobZtzKZrSXTXRKR3zdg+b9F1fV0Gdxz92ROTHZJKcM5EtYeKN9RhjY4qW8yuyY02yUYWbYNiJU8eHoBb0dHe4aFDEADb4hzvhCZUIa4hlWm2YerAMlSa3OvpkhQdIM52VImZG9yIVyWRXgdP83xTDNer/kSun6XWHqG66vGgBbZERJxbIkLMqegQzUBermWyp5DPpTyuWl2Is9lhiVtIwpsDq6aROBb8qoiIg9w9feE8Li3xpIIdvnXOSqYceORPjCFfk6WFOngUoGn6Y/3XVv3uiYd1DFXrLVOzdRQ6QJjCgjrAMNTAtanVPD59B+r6BynQXQFM60WZ+75vaFDW4h+yqMTWzjd5TJIxsxIxDR36DqTCMinVk9EKDQ/SspRFTU8DoEq+kK5hsJ3DSghkLbgdnjo6EZsSn1zQBHzG9khVY4oTgdAQenYKciJS7SCI+ua98TMighBUa3AF0qcY+lNqPCM6USdEegGxHPhqO+ruqc3MraHiWBgSk2U7STL/nGxHNh8uEZUTRyrwWW7K4BgGB0oNASFM4z+6Dsnul7DUfD8FhL1VlQlrw/7CGUhzXSpqkW+VDO97yBGj0zo8xCwG9sTECSDFhqGRuLlqToaYLMFJoynAyoaKdfDL2lVwBZ4xMJxuqqqhikmhAlUAm/ompal37FkNxAqN/cumgDmlg2DcFxALOhRoj+0JkA9bwZpgj92VnhMB4AYnEQmah38QuxqqRCXEzohrRFQyWfx9zqf+e7wILOKzKfBUmXdRrUEikn3dDM+GYlYjsDA5s8lJooq9HOjRy8QhrmWSCyaCx1En5kfjKawXcjC/kYOKiRURhqAAgVlT2opPkIgEUvaBYrXckBicVlLpEkVL5E+urlUK5PMcZKXWSJg8l2tYDemxjpUDZI+gwZ1O+cPylfSa2zA3dcAZwwdmTqTawyuxLRpPfq/aVSd9RaFE0I4FIv4tQzU3dGz5rN0KVgUkvD+DzVGRepmeaLy77x4OgfVy12OK58CngbXBAsqa0PC4n/DuwL/l/THZyGSlSIQq0Edl02eCYdKNHKSKocCJiSuQaFdBayK7CX1m2y4EiFSEyqzjXyJSG2z2UDRAhVu/xivN1jbRqAiRowqixuF6UVYAzFsu03FqLqFfLBHnXxcQlfvzFgwmSRix0HfGRpe+kAmpy8vWae62HydFFI76kAcjaWldQW/KrC8iYm7MrEoCVQv+GGFqlCFVxx7txp2FMyI6UxzXpLunE/2YmlLA4svU2qUsZbUcTtJkiQgzM8ILL4qISM5h2O46wSxS8uA/AMS8bZsFmyrCsedYy6zUZHaKOPzQa24QiebGJWZMSyZYfuKcctKJae2VV5ZOqTpmsn1DDWu53+VumXWaeqUX04cXpnKIXmDIpFa43ORaI5qZcw5Dou/IMSBqAIn7kpq5j1NwKnEqqESk4ZiwBHjNcVrjCC1mnZFbCPNTJko9uCp8FWITVVo7Vf+L2RlcBNPKQqQoFrNICgDaxvoJr6A532M0ItNrOm8+Zy/cLiLSuwDYzLYHVMEg8mVFuh6rYEL4mB211LjQOniw1nklDjunRkQ5UCg8Wr2YOdRi9pmDXN1Xz+ma9eDj5mTBubGjSi2h1sdutjU2dEsAcxS7tVPARR5+DVKUUIRZTXELxHY7gPB0CgbYmBCBCmIdEGmkI1EoqDFdJR3YIrA4BLFIA1JbBVhYiA6H/ejaAkuhrjV6ONXY8jJCDV9k1xo7kHZaLiJmJNy2LQMtPAtfdxGB8+HEYf8y1rzKhdzEMNntIDWIOfxLRr7dyNAPku04umazdaAWKaE+fyCUDFWi8tHQf8RcDiQAu/KtQHr9J66V5Gkwn2S0567YmDW97zRsUR+5h51ICSK9w78wr8UUOp83C7EP/KlpvoXVcDtf4oUp5b8hfKg2vrCX2ois0RbYpUP6FhOYAMrMIrYN15ZuaE4DXeXHgXe4aRvrCsAqN2DWROq4jw+JiLSpylxto9le8MyU/a/QbhftMAd/oiaeMveUcJGG788PscvOaCvSjBln40rEx0RJTsppsEoXsWkUMLFKMswshfRyMK7axbVMh4gQqZBWW4bc0ecRsK21ZOLuJG4I7mPYRqr9mNdYuzv+pAd1Kp9X7EwhWlZ2VbKJMviYiBpKCYiF/Ma3CuaTsZ1ib+06X5iXuMUmzxI6FRow1mTT2n7hCIPIKwDt30xHLoIk8JaXahXNKLdGm9Sua7RAZtYfoTFgeMcLx7X4VZdHdg4tLoKFBvnEL7UASA1HWbhn9p50l0aXMhq1ignLyEvUR3VL+3J0eAjrwkljspMA8F9HItqgEfs9XzZWT0Qht0qDHgLOVfDbzCq4csAxnTWGNa9lKQHTBTURe5E0xjPrtzU/tbKvpbtw4tOCSzrCMIbuPgjT3DRUIz7v4PymYbd1OonqFiqd7cwrNQFk8GGZkKEAYVVoqniOJFcbc9WWRnBUlYMiJ7tYByVgnbWNLUJHVuGdS2QQUxevCMUuWLH5xVL9ri04n6+hgy4TVSEqqXQCbPJZVUWgCk9M9K+MycB1xAnmXITCZOJKahSGBfY/JZBHLYIIZJEDZBMZ70EBNl7skT/2X0n8GSRcaX8tEgK3UmyBRISIhbqqMLGVQOkDkshVY4opu88bSkweoRG8QieFRzxmE+JqdAwpjSyMbT1VhaiC1IPZLH6YFJwKa11E1YoeyXByluXX9JMqrz/hxLQjolAoYlHiuf0rAmjG3cRvzGqhR3NjHn4TS98VHHZV2hXzkFaWW7mZ3Xdo2N6hLMnETyTy018gno79qk671nU8h28BWGiE3QysFlUI1/EfO104cPCQc7PhyKBUe/rUIrvGnQX2kga/S8XdFAJk0HCSqF11m9I+PF5DmSDbFF73cQBQcQoQ0b7vpcwf2iG37wDZIzoOil8WIxWUCuFFSziCdSgcs46Vb1JswSc3KW9qvu9SQafCkUTb1DFAxK3RnkFvqlCS2aCsQ6JQ3BcQlD80Gev4MOgxV9y4dqNLwTMTYDBDq05/QH8Nzh4jPBLSAh84EzCVLgtZaG0hsc5iJ6gUh7LyTFZE8ug8I5rgXBcun+Ty1YW2n5hGImwgSSWTdbl57ksVxNRak77QoVeBtHJyx/WKmxXPqei+lYJOGzksx0lg9LJAd7Wz3OcnNDPcY/tCWbkOmHbSqEYN2vMjEBaAlFBsqs4PImrMqnqV7sJhgdscKqBx8TyXMyC0Cmd/edXaR2/5MOaVXNEy83S8p0StApDj6VFm1ADCE2rCvFiDHQkDfSnsc3olQtb91TqR6IJj4ieMvgyeFwVuZobTOM9nNIvYLHRLEWGY3/pNT5uTVIMtiwSE1/aN+yqH2UZERL0LU4sSDiNEnpkUffGz2L/77mVe7U/DYcsaYibxtMjBY6tLk9CgasPpSP/hUPEUyseRW+/uEadMztGwJI74AHio57KyRNSViIYbgkrUh6o56n1BRaSrbLRpxQlAPU1OkhHVLZfxolqc2KSvaIQa53gKZ2ODiHUvxjBKkptxAdmtuojHoQ0QHahIaeRB2S6y6q6qwp6nbFRmSCqa5S7JGjMaTr0wealn62aIOTI0eSLMI+QDf/bg501kTyAckx1D9Gdm87DZAJJSVlK6Jp+puJoXuSshBxTxukeNHiBqQsjge2CaV2mwIKdCC04mNBahOdhFpP4uYWYYkW+DL00Lq15vOIrPYGsNh/m+4M+quM/XalTYFNp2wq9y5PlT4f9j97sua+qNi7WvUzkmCjTTyCSZtPbWGv3f/vv/tmohqdZE2Rqn3kwM7G55jGGJiNWlTuKMgqDQonglj1i2tv1NgaVmXtqg5wxbFBFPTsp0nPgwNnCczE+xqt5HwVp2Q21UTR6vCQGJLpsJQuc1CF0zNfWB2YZJuyWdr7IqcddLyfZ+rO+RL4v4jt5A8VxgajmMrBHLUQObomhJNsXRhaoAQuxKPIVaXPkmgK4tVy0XWlW7TqONuWvUZtS6KEC4GipqHgzQBcUTArULHvnydFypKkqc8U2hfn2Z3bIiKN6yZajc1k98VoWP1Naka62BowMBOEtTTwOejdjs4A5uAls4jWt03Ud2fC6BennjWeksV2XrsQpbfS8La4iI8gQZJ3CdFjRxj3jUZSdSETFvnpBi5DoN4dSKUZExRTUYBhjCg2gF/liFjuUnQ+Ptwn0fMxtjHgbAVLloYu4yiZnKOofGQ1VgjHmlEkMpos7sw/HQhzGqejuFDq98iHaP9mFbHRFJlpJ0xIqaRGGIUvE851t5RUCYaoKUjzACTrid22mph9m+fzQodcnyw977FnyjhtEDEFodAe4Ypmk6hkV1JDmvBbALSpDk7pMki1DVqA/jl0GgtaY6QrNQsH3kQ7MrEMDIlvY+YzsFwK5jZwyzZMxOs5dYwQzSSIY2c56JFZ/zjSIT5yzGNlWBzPumW2ULA4yNc3NMZGx51WUd5QFV5+CZOjsfRrYWkB10ZCLslHdVBMhxzluR6YQSM6u8oGfxW9V2VOuqgdCknBQR1xR3UD/Pweyyrq9dfKgYm2NYljXa0uP7RCQ4kY/HZRpjmI/byU8Ek8Mxhxph5xOxlAZkHU85WkfvFrLG/G1FbCG2baOpWuIJ4wXQPTHSaZOZzcRqwfSyaL1dNUO9AnaQm+4zoNaXY/CtyK+xOhybw/mTG/lnXglEidiFqK2DqnTlGKq9lhvvIiKyW1NWBTJHtfF5LUgEWZpgs8BIBrA54bGomDXAxK1RL5hCsByfYQmgFIudN/HNziUCNEBf+chgDc04fQNkSEWEYe6mQjN2B5xWgAMRXa/X1lprYE+99LVJOFgimYZvNWLTJ2uBmfs4BSksjdlWO/KIA4rQsn514n4oCIDZP127qDjBUS5t6dc8K9AsD8wWBksyTKDaTh1bBd22bZXZHTnX8ueS1IsZr+xJUkjlPijUBUCL3oAiriTcMrUjR9bRSEv/xMJc8qoEliMcFMXL7Pi4Uur22Fy58rBtvYCiPjoh7zugsTxRnZKVcwCnbPRFgznYQlQEoc7fOj7NOLBAI9pxY0tVNfw68cJ6SM2CvVWahtN6SNn8KcfQsIYDWWs9zsco6EcA9W58vNWRL7w+z56rD+s0jUYLHAZALKd8DEnhGxC+o57vmm5qTY1TBaI7L443Tdl9b0PwLMsXQ5jCCGkuL3u8YqaUNaxGUyV+2thGgrd8z1CtxRaZmXmrIXbZrKqKO2J4ja6srEDrcW9Z6SJHa5BcPV5l+kCGmiRVMQtGCWcLmoXVF4VmyTxJca9CUtxMgL2QklZlymeNnAezxNQEUWLLClig7+uT4NvVfvPUYlWQ1+1YmYOU9Z0Jc0RWGFjiP3U7gnJNjx7EMawgxpqfNiZFgFY+MMRl0L0R17JMd15na3pynzRbqEYLeQbiRXWdMmUASKUDgAoprSWtqsFDROm/mokOy4Q0aqRIYQAot62QcL0k42TGQE3/Wl+uA1g2nC2WcgGnvSB9tucTXHzuUa59Ldwvf53k9SwZEWkGZs9reGPT6WAceJmdqh1Dl89PGDtFAdE6izrCih7HIrB1Rsu8KmvN97MaDM0llZdZJxJmuckqlFHcK0lyMXCqcMsutm0zJ68WHVXj4MtEPicwInJtOoRMJvmK2PfDHPGRhZADmfNLPduAfH8zMdEScf1lBTKVnbKqnEHBozgAmHIcIPCC1rEClsqNsitsJDpX1ZnXTESUxIJBiSi5mxBq3ZgK98oLpFRAt1fUxYNi8JCh7U0CziZJTVVgMe8xqKR2VbKtOnW8n8yGvJ/5y4RqBXERTMBG6IGbXaapRSNkZhpUKU1z1JIm8V5a8LLPk41mD4IkhJCmKcK5H3ymAjogXGXX0vhky+b73lesXYwpYtPN+5UKYkCp8aC9Asx8zQC+Pj8iFc3zTVQ5DrV2t7x25BcTEzy7lCwdzjfVcqxSJUUdP6bG6zCWxRoodBzAHeqfqoodkBTTYeYOiQrQsqvyoCnyxl2/J3BzfC0COPp13b0eAzcBZy2b6NeyCWsJEqXNc/4ADHd7fRjXqCJSS7XSlPBkEyyEI6nEnNg54OZr55yS/XZaDlJGnEjC2UWiMxFUd4w4pRrOfihrO085XF+6wMSqJg+w3IGi/hxNxUsw14XI9Uo2njuWFaQY+opZzCOAJLbg7avhJOJZcyoDOycrpatDcuKQUxk+gPyMHlGQpcq4kRZpM7TXiWsE949hNG/NHtsBriGPKyodQyPqaAVZOcipRsT4M3okXRFRKM5IQyXBXhVvlL515kslVtvbWUaCrvlQVS0wzY8zCg2KCv+xHcsC5FAcdaxXCrg6sPwqwJvAt0ac9s37GRPk2MyjhJa9Q0TMm4jgEPKRf0iHKsCDNdoni3wksHr0f0IISc7HooE5i4WH2L9Mk+e7EtQ6wsOTowSZllK1975t5yeSVt699LKMYXknxznge7dUGp/EazWHTaYCULJont6+EBHFmgnQ7urRoWEm/SjqkwjP6pnVoEnnHoxudgZNGJsTqeOv9JgDzn+rbEo0yPadfOawcyIK3cRsm8l303vvvWfsiXWxEa0kGpC1dteYxSQ741WaEhpxCh2sHKhBhLqTc0HfoHbrsVTwcp9NAquCL8GYnCFVQX8591xyCZM5pBUBtEZEfkqOxs4aM+0SCuXQEZt6lVOyHdVc9epDGuiuBF0WA4vWXkFfSa4usA7+PlAhP+kqMGOFKUOSAIgG38x1ifVSq/EUVVbV4+Q8Zi7xKoa0shFVJXDdacoFIqKMTa/4eteVv55i3en7M5AHsnhox4TlddwaJhnpIU2nDjK0H89kzXUgKsAXFL+VK/SjtTNWeOSztYjN6cun/GJAqQyvItjCFyr0jvNV1ag0svpXEv+Og9HjjGD0ZfdFW7UeCk5H0AXSXJKwvF+w+qra0xEwLJBMlUaY9Al5P1rFPp6aygMKRGCV/8nc/HPkAGCKkCviOrHjGaQ5DHvBSTWYbwxoqB3QEiZxqqhNHEOHBVgXwm3YAz+sgySioBEpujsAyKE8jo/QzSfVyL12x/NIPIouLChk1OwPE8OipCqclECSJ4RrhAvntJjJsuQrRSfEytxpwYGA9hCQcdhaHSxUNWICx0aoiYBrT9bttpBIIvjUVAoO8yDZL9JjsdRFkTNP9nA4Gg9nPHFmy9F7XlOkkKqanlq3/qX4a1SHgimY3LFEXgNqUNaEvVx7sVcc94bKq7Vq0GgW0JFdYPp6J2rmxUPVVJK10sg7nyeYK4gYw2LRGQSSuu9Q1M6Yeb6wBE4AnmpbGZr9tHdLyrRItdZVQdTVzvSxL1Nm4QXXMoyFfheQquruG0LA2IM7ne6dyjG5kmc+I024qTv+JkdbrJ2mD3Qd56/X49LacZz1eR2AaDdFy8TC3jszc6O+r8nZMa/QtVy+9CVBX1XJqvP7wxVv7Z7ZN04L0Vk0+fIaZ5tnS0fuzZwVIwBZyLhM/0S8jlaIl/cpc0rhhEGpZgP7fqsijSkM/66qxLyFX0kzNlpFjtgzliH5eIFyjiCl+IjND+KnEXmia7Ma7iXYKX3BEyXFZ5hgq36G+VhTE7oMwMtTIo0LqMfamo5PhGbv9LmmrK2jCVyEh09d9yob7pAQCYQS95xzU1WPMvK5VzWLgnORhNsgd41FRZRAouOAvWxyRNna3xlRiqnfKjAcTvBz0UwLtG0FCm0jJgKaPA3DC6VckwHMRDbTKCup2w5ACoAUl2MQNKr+ldU/5bxjDATMzkItN7m6hutUGYedq0JlyQrostMe89UoR+hedk1ICmBBB/5atlBlw4FQJ4Zy5KGLJ7h+vtz7t+6vjYpn6WhcqypFC+oBFQllG2w0vnZHRL13jdihEoN4woEmil45nGtCBstEp8oxBGBxFTCRapE05XgPw4QwZRMMxRmJOVa+Xgvkj1NIVBc/s9j96KUNBqCUAfFGh+FoD7OQAKqZsFOaHIdMFdsh0dmIVViZXcxLk4cFAkDWRLOuKu6NdoafkgEISdnTWqWpFumrXhF8bTM+HAfKwJW8CcKqrlzC9UzKMtVbOXBjWuJS7SREsiv3Oo/ZHT1x0kgyNmvNCjIu8wKgckIX8FAfhE5LIkPL0fA35aTyHWMhMX4y3KV0b6uLsKicN9YxpTCtB+t4+3tRRPJGVe0EbZjB7xm3qrGdRWRplBSKO4zTxIL6WqTcmUHBql6tNjR/2wPHWEcfCYpGZHRBquhuvYiqpiXjKrvEFCIUk6NET4YIj5aL4S3mhAbgUwtmHuuB1BAcF5PonI8oIKrtDv06skcMCesvysyS0yMTgpryBI63DblDGBhSV7rxUMpT4tRlXZ5UGZcPj3Kkssdjv/XDtR1xzSPB7bjH67dwdFrpRSfMHEqFreNlhM7OfLv4HCmEqb1WQ7Q1khDyqNDqETBVx9rmsXvs2ZXTCMNozWHkKuR4ZldpnuM5Gqmy+LjTUl4cD1Ke1iClc0E8r46WgyDzoWUqLyw9QV2zhiiKeYxiolUAAICOBSt1o8Ct9d4twN0VfXKyyWpgyoSM7CsH71GJaKRwDgkIpQBFxJAs7hBCHE1CBG6FgcYJ0sGkCKaNa9OoGJ3Gg4aPKAOEhMgcF8wUW+eQEmgglm4P0djlB8BQLogCh8JYXptdUeODdmasyrt8OH6SlBzOtsQcjVk1rjCImSfO7UzKis+JlISEmZlcgRcrAzaUYoPPQCMh38sx8WZzRsklqFNQVSkGlUY7CmoRJh5AM1RB3Wq0vWDHw4W7jbNUGpUc6PIvgKLnhR3LrdUMnGRZrWzpVrIpHIfXPL+Zw5YVH0szxF0UqZAoSXaE1Zj4WXRB/rlQu449x8ovglPPPGRGg4lz1QZBKxrr6dt0F4Jp1tkgYg240Ui+IeNcrrvH0DWKbyxAyHoR2XFNVB3DuUNaV1pLwCdgx69T4MTSo6uz4sTqZrwLA7Q8AllVoYPpk6bRrigREbxN1QMptG2ZFE3bppP8sEd4TFqQGX+fLhKq8s+nQB0gUaDuMIx/k8Aj4KcKxR75mqhFGCvMKzbauoeuOVIRkjXlsvoNNYwQCElQS2Ac5WCW7W/n4qGbDlUbybIClxYdCICKHeGe/raMMPFi0JrADJYgNencStOHl8VV80RvMwNOsTG8zxMGImJyyoq4UqtMEptXbA+JANq7RZACgJAyz3GMCirZvdA8yyK6SxyIbRBT2zMma+wsqiaf1FEERqUbH1U7XcSKAhK88j/Cw7CF0zBURxOvImHfhWRLQhixLvksJWC8psu/R6yW0EYUHmsrodMdWDQAUGvWSu9ieQkIr4EtuKYhNOHS+iTssoFSADyQbf7wFD2S2R5/sl8lDDANyegLVIwZ5J5PMLdJdPoLAMrn5fjbfL8OIxjXeDJnH02NG4ZMs4i5ppaS5w1r0ZIXaaJDz1YVsLpCplEMAyXFFkDNXE8qG6DzYHqiUiGggYhIVP0YLD/lQDskQ8lz5LVlpEZk06Eyy9QvhxadipK/JsnH5vWt+wkVPmnqZJi7vbYlbYhojR0M/t+hTB7wYqqYcaBJXyTyY5CNH7JFwBNEFRxC0bNXEFgVSK1KasnOACLyS13a5TlHKSCJSMTqVxQx6TdamKAOxXccUjBMGaIMR2d4rpFPx/iSN8XiwEFXZcsaJcLFY65iX7tk1MP51BgeAOhW1OtUFEiCiWl4Q8XzpKS6h1PAwwvKMtmYmUQgAmOhKhOGAaC+noESYqkTSTXm6q9cdr7NZ9Ml61LbrAM/ejJQ36cLg2pRgLL3wSCQ6Y8niq9PfDyMM+ETILn0ScPJCzLPL9+/y7Zp5s5X1eEqUADatAzAazykjKQRYODR1dW1Oc96oBzKpSVrfvAghcQBZ/VfuxaGsvCRCjHVcfJx5TsYivL04RKAiKJviYSsLZ+MkNazvCh7s/ee/jcJ+zsikjuCPNCnytzLagIYFa39tVq5ZaBBhW5pEOlKq11UzjiHkCzJeZwemlDcHd9675ZEU5Ewj100AqvDGzRYqt/U4jk6LH/KpFJV7VAP8nElJCmQqxGYM/Kl0cHB4YJwDdEpP1HEZPf5+YgP5Dz0uhhjMdN17cKHraoqQypPAGSuZDgST2UEfqRQtxamuIvEiklmVULAVtYR5R0t/dbKJwbwlBRFEVMLbc+1hqoiqsqYegjf4m4kqhMG+pT3EEypy7pkD++O1iF6ToiqYhe1bQJmbq1d+542CZlz2pTS5I2m/oYCk1igkwJKfWyLTZ2vmmbsKnQJclLp0jOIX2UYEkQkKa04q3Ak3zCvfK0WMjGu+ueydnXp60/Jo/JzLYUmq4wYO3hOqrmL3tQsESbjVIRGaKoK5ZKy6RuY1RmHM63uBZcNZgqCGlVuTw6KPjL25aFNdlHpKgSObdak+co6UByCxw9r785v+3Sge/57hwsFkG418DVCEq0VomZUQRH/5jwsa06QQok9PzsZiCwzq2M4TkFVRfasVoQDCp1iF8r6VnDVd+5C2sUTn69xCM2xnzbpLedNJcLkv6NmXP2ZmYOdMNCZmdD8jFxDZZq2jOsSqqoScoNs2Gc6AGG8YOC6shnqai2GQNr33Ws5EVlNOpXdsJyh5Psji4D0Nlvwhwpoe01EAGJWO355OQTetPZU4vceSa6uslubvsU5AnVCM4gt+wNa6CgDVMdTpW++LCJC4kGWNLlKrABvxRhm3ve9bSTFqzO6lpWS3OCRTsXPl/+apZROJo3DIyXMHMy4LrWcVlUHDzqlvW8GXmZaoNDDwggcFFE1JokpRwGf4MxiRnfpRxyWz7IoOqeJoBCqdDciFxksgYELmS26b36YZeZqVmUdQ65aIOeAWx3VgiQoZJuzq1IkeXeaRvacotOFfWcvEkUPEzh5aOKAJAFnrhdE9n15X8natIfRI8WJYL04FeKnwY58eJAF5vVlv8oo6rxSTNZmmZqmIuhyZCKcmBSPT7ZRJkxEulWCHmRiH5aUo5IFAYDYawJkHdhFVLN5gsHZiC+fh3P0UfbKNEOeDm/OCXY/1tU6rfg5kshnqiQzCcZ+ccSkDFAogYNJHo4xDnTauFFFocBD6IHpqdXdt3nTMFSISCNiKRAsIvF4xX/fBeUVAx2euF9fxkBUze5iLnlQ9yrREyZJ3cmymNl2B5iN1aimJWceX3UnvvWpI8o/rWVb33U3z/7cxatPQKNMamuby00AfuJPVhtMDoCIgay7KANmAR53hJnqXiZ+wVivil29gEIk/XdaSwUkNWKuwjGzrxGDFP+zCbQwqpYlm7xO4yKHq4HCSypQmapqVgyjObirXgKVJFs0EemkzExSp09E52g2sCX8SoRp91ipGJbsg4aCdfiSJm2yHh8xPAIRTnLQiyvvmuA8D2+sQpRIWqdwcPHYFUx+FGKqUuwIh1TYHLzZlPRFSU0dIKewzCjnEii6aBSyhs2Um/wzt7tVp3d6l2pBZcvLeSylTTdLitlciQ61ERyE45iROHHGmWfOaEArYHMYQ8SVoW5Pnto87bMQjR2t0DMJ7aQA2sb9Otq0EVpTcIWbwNyvImTr1HQ3XpM7p7H8JXyTaIhVC41zsgfv0l3jCcdo20hEte/bZvVk2LYLHY6Cbqq2M/RMtsmNWnMSa2tkLiXDIY0QDikHWxhj6t3Qr0lZ0Sow0uUA0LZdkoqqRiJRWc9+dXzqnayivHF2352AglSbauwEKzTsxb3L5XLZRUV6awSm3oWY9uvghrZTYdjTix5QCM+OUmUidxUTOyPm7UZFdU9VKeYL2dOQCHwlZmiX3s0nXQW515ifqYKIbq2gpygpiHNgY7sgLg7ZiuM+vr2QQDZ6iCFBeg8Ik4jpiHS97vHh5HpMJdvAm1BqoBQZoMUzp/s+jsywRtpm+SUW6ipEzdWC3pEHDAFW9GNhTFYiyhpsjXrvptW01nJIjS/FGcxIaDM0bffSct+vgagc+wOdmLD7euhswFjeOvnWBCWp6jaNFuH5qzrN6ChWH4NjOnuxP/cwSwgcpcHZ4jkKhC0yW6ozicgLaVUvdeCXArpxPfZBYwCy77XllIjSddgn/pUKgP35Png9DWq9vV69lT5O+xJIU5IuzDyC3QkifdtmqSkkJBSGMRFBUTKr4AzXHb2aObKuQAukjy1HQG/tYPOYrH0pIqRiA1NVyCBJMHqEHWeurIi0IdjMR5BJWoOWFcIarIzcp+Or3AgAid7ylUo4dUqgTbhjijgnJTD7eRcjaMJEj4qSu/iJMscJIO2mvto4h7Dsce4SgDjtmwDs8jgrzdlnCT1rh5lbuwAklhMVJ0E6RZvCzeapVVIlEBPHgTvUJd6RUDjjWvas7N70JYnzUxAyV+cw2XjfkmuhKr33DrUsu33fwYP2HRqtbdvWo8KLn54Qvd+0aX2D3ruVmUPwWSJ1Vh9HhKr70MbOW9hRhMmSV5FeK20P5l/kTul6Ur+MHLZt02ACtZgDNS+vqSHfE7BthBZomlxbIHN2nZ0mIy1UCQBdzJB2fCfGRiSQrIoDgD0txWdUfQGD5Q5x4EqMT7PodlquRoSom1efRy5NavNWhG/4o5LxAkAU9gHMevRIGBGYW2GZtQ00KuFaTpoTIZeTeaicyYNwhGdInmp3Fq05itx1UzVVT7tpGRJdc9mEJ7biD4YJnOBC5WaxRhH65aho55aoeoC2bWCqanEsOhN2vL3uRNTshGxF4miNf0uCMvBbmQobSWsmGjRXgYqjAUA3XhEp7yk7Wqn7TkSjqBd1EDE3C9ExW46AjUikS6n5SAA33kVqbYNscOs9OU5aFQSgy3DalYBF1NO2yqXM7IecCTpUugN6mw/USBzqu1Y6HKhorBb+mkDNnrbs48Ah82eZ7d7THVIVr1sX2JLFgAsBp2Wv0WDMGranPNBddE/unysdvCmb9dM6mPn5s9scjEzl4bRSrhRqzamHMANAojKCPSKES7WrUjo1gSYCkV3muq0JQBGrdTWb3elhkz1AqiTECkXveq0LMdqEyBzlEgjhdwA8dY8ganWCddhL4QIQqDl7GDQqP2j1HdqNP9mv6ajOQFhTU5IqajZMM7EFeN2u3FIPDXLdWM/RiUiGYzGzOvdf8ByWJB02p2bv+/OrSrapGQzNeTJufJ6jdUyIy36P0KOmqtfrFcHBpY97IskTJRHyW0qNrSHUaxYsOhFxHvU3OwPS8R/vB/tQqISFHYto+1r5SWKLlFMnU82Cezim2PQkJSIyTKi0QK6I6hhSkcd1/ImlPbTJfBLDGy/XLnYZ0ep5EREUVn5LZCTpU6TqEJHqrqPaiQdRGe2nABKR6/VqFs5iz4wB926sxkBhVVZyfybQRWVfR24kkHKUQ5PzaSZjKeUOVPVyaSoCzzLyujwq0gsa9F0Mb1NIDCQBREUhsIqUrgSI7GaWrHY1hdti73uCLnIJOpgw7wQSied3okq7Ii/C8CZWFE+tXHfA3LVEFnTpU4YdkKlp85dVCJy8RlQPEYYXsCLYALuyF30HEPWYM+ugzqVSVhE94pa7ak2orficH4pYWfZAciGJ3L5+eyUi3lq69OxsG8P1hToAXK9X66WqmykEaQzS6D1S90gVKk75/kS0A12jWHN0ZD2KKjFRP8QS1JtqJy+rTIkkQIacAWhUygaZEqlAJBgAyBNkCy6deI4Hb1kUeiJ4wKoPB4nKFqwVJ53r4TIoxETyNokxN/fKADX+N9RxhTth1edraoki5ROK5M2QEl99ztxiyV9B6PuO5kjiqsO8tUvMqREyM4eeZkX5fFIFqk65SXe1lnnsXqoqQfoSJeIEEsno5M5vm3KbSlqXSyLqz5GBN2ZJgAxU8Y2trIqcgiNfSw455l5QtJKMz8V0hqI/WKnneK0ecQqFNhDaOL4NbqX0Cr8IuUxd1H+t7OhkMKotVRBrOR0i+xXHmTBzF6HMiHfb0oq8zoBLq9S8huYoSZFBSxmywtEmFB8EJpJs12LctXcVEVPgTF9vTYgiKLlpOmtTKSEQdRueSc2cOIk4gvaeUyARGvVZI9bTBtJ3sjx+2wMwC6x3NkOCiFL36ErdTUEQEboSIey63KY3DKBYYpK9bIILuXbl3uKAth2AQnYSiJ8pww1ZmV/jJGQUAeDKSC9KRlzRrDMXU6DNJiYZ5vgsCbryQDUfcG6Vhv1p55mp0m3xfs30LzlGGo69se2lKtU4FNeGwyQb+X/zsU1eZ20ctZAEbM1PFEJD9lQ0Tp9ua77VQVH5JHl9iSQ0fuHPWwsW4rzRxfkeJ5viEGSss9ZoD1uzvnpR6SKfqGzZE+2uwF22o4cJABfBn7MGkHw58ST+nYJkiMjOXgVNpnVisj2XEdLg06kYWG9ykHmlRqvwTZJcji5i4x9Tw2qH1CnHJ8PRoGFpq0qd75iykulRJnSk93BANtfaRepulRVpSD/NOPlhWNFQnY62BtwGyNES0bYtsdfdbLDQY52/jxfWEzG9314gpsVBbnLFkYTHLvz1au+HuIV74/b9mkw4oLflgxi25nkiVg/IYRK83XXpWT0y+DflDE410rA5sUbQfJjcpgH3IS8m5OFwh2v3eCt/CQOv/H1bVLfchhVt/Sa/tbQU+6Rtm4VESlGJJgGnnBYR1muoApgpLnlB/jlRdGgeJRshpgxh4vKaZjS0TVxN2hKIyJgWtFG6TwEOB4csqVYDjUjRIsvMRJEl/RZiV3hlsTIfuH/EwSFh+bAVcw4q4Dg0N+ACqNV79sIvMji5QjscURN/FBghLsui5FpHC5TjY9e6prUA4KpD/BF4orQxOtCJ3Lc9ViIWSEIrnzT+bL1Snz0IaNtCx1aGz8vuFXF+UCyOveaQojn3QDUIrCCcuv1/JSLVESgL27EhP6y0Pke4fpaoFQ1BNmfTugcn+UZlOHYqp893hAZJ5UumaMTMO6IQBdyINnTnmo0T9hs8jVk5HPNChAaQn3gtMs5yJlNRK1kVQdBTf1VRhRB52QADTEbsqIIz5CTgnItbIRC4IUTEIuTAhO3RAqBGdh+mWRKm0EjAsEUZbpel67hRZkq/EkfZ2e26a4kdDaoAQXhgceCRnVq09GQoYY5d3S19KoPG/KSu49X7PhyEPFxf9ejpLn2X3qVDqYsyk3QV9I2axQgA4DjXNXFT7RjRw0mKHgBQkuFCBgPQ6rGWpHm1M5PNg02AhYg1HfarMPO2jT3ZFoGeNraMoOVmG1gIluf3XZPfWVwBk1c4ME7BoJEVqiOrGiq0i6vdrTVLarRGknp7ly6JAWT6kG0vtI1MabEJMyDUAXBRVmwibrCqZOZwLr0YLyyVp5W9DFXqKw0TUnLdgysO+0BxK4E3jFqiixOLORRsm6Uc8gLb6IPHITp3gFCkl5nRToEbAQwNmJRkHYHzBEskGBsmOsZ5rSrpwG2JCBMiyr2/Kmlm9JdEmOSt8VMStrR2yXYUu5alNAUA8ACmsUxDS8D8pzORasBUhq4RMpifmA9YQkJV8e9aRG6Aih+8Rzq0+YT2AoEYTAot0xQyJIbE7HUtHZF7UuuW2h2AnayF4685qrkKSp4vLYIu2kGgIVBUpBMvheacj9cThX2vPy7X/kOS2cPb6zOmcV41ANWdiKTUlVftiQbV72HYbgDJOKLk6U6SMhxmWoSNjdM7VcqNKc0z4YmMB1Y7kNyA92YdUDqoI0GNWaNNlCa+hOJupC2qKtDGk48KECulLXMFm8JXNwzEdslHRFTqc/vIOWCoWk0p6yvcFlTDdsUPalCdNuuJyOs8gkR1ZANjkJv50UsFLR18ScchgAYDtVRIW1RmOwssgpSIVIUi1NX1edOlSY3Rshv25BJKAQJxhB3ENCtpbOYLjDXlxcFJAjDrYI8G9Vg7Ik+9QO9XlC4GicFE4+iRIKRxcMNsz5CrO8YBXPHwAUf9QgClUKzuBa8mkrfghKJpVvyr8uv4Z32orvy5rqwuTay9qUmQqEqjLU+wcfmooZONV00LUqqJIvP42ZgerLqBh5U2Qp8dHOVbzMNfXMsqsicjEoEZfqm1J1PiZnO3AWoWVdl3D60pm8ykqqwSx6DZPofaVt08GsNbYwPOKJgpZL0xcyOoEegVAvo0uTytJg2bzH5NvwkFE0Bkp4jRMxNrpD4yo2vRbosIWwghQR3ISQU5HZdjhBLoQQCIPaqNRGmET2tpftQLhnMna3ZUj1jEVGILRaRQFhGxf1trm/mz6+6ViQRj7YXRB0DbFGMK+DisOJQ7xmITCdDc6VpwV5WK78y5p+XC+eTV6uMSgUUB2hQWfa0kSgSweeAcrKqhWytELGZx2ve0S6Z4hrGWrSF10CQAIlVQ2RV1mUdEAuoeSt5bHwDcpCXzhZ/oht7lgnBe2GgthBUKJekaermtKyFKyVrslrptM2DFbEnu0ntHR999XZJWkSJZR/WlgIAwc0eo46a/QuAVkabkEkrPGYVNUOCmLlDG+ooaIeVaqMDC6EMMU0SkaPX+9tas96FZYhgz7iAkapY/JGLLmFy7Z3KwB936qmaup6AG0Belv8bFRo+rj4p4IDwV8Ma/QkS311siaq3VOui99wz3NHSaSWCkYGZ3GWIBYN9vjQd6I+YUia3bGUpiQeottkerh9uBbGQ+d5ctGFhMsNafqhujIpINKRtPnWbZss8r4aBzdNC2bYyhfhWt8cTgp8MBRoMRE/NwZkxO6OPL+WfOK4TWVH1ogl4gKoXbw+E21yTlZj4Sfvr0aWtt2zZzsVue/e3tLbEy99Ya00blKgKMY/rWYCi4Xv/R4bPRxaqogkhDHKrqNbQOolQolTy2PkunO1lBfQcggKPpVsyFZua0UkRECaF3Lom5J4uuFu7VOITQWA7TM/SQomfFH8oKpnusrrvvnjP7AZTMXGW8iFgyCYGJp5gucTC6uR7+R0/y1NihLutifMnTjVQ9zDH8KQRsgGBUTrRxUiwWxYC1CBb71tQ7Cz5hUJT/soUA1I8chu0fwPff1YJSXM3lZqhb8FyDkwNAX639tL13SCciJsMQwIK51eudw0rw0QQQwNxJdQNNrLQye+wjhspb9ex0oni4kTITe80WHQUICMUbQoCfszjILebidfgMUkOXSthqNO6yQCMKu+InEbR360LcTiLbLNXJ5+36DFEqmgp4nH2kF48UlBQK5Iun7jY2ZCDX6SN6ChEpqoicPCv7bJsAGQseqxvL7PWp7TgzYaio2Hnn6N1G5aouE8f/4GfdgC3Avdm+OkR66FumjxrTU2IqXfpo9VDUxTAqNUlmbhuxS0tWVUZYRjmqiC4qfKNsT5nyGYgRupzsuxWHMDOghUaj1W9FYaAyj5x2IlBJAiaVLQsewk9HFvEifwRYDI9pLpy0GWhZsdS4QJz0F8VrfVKO4Tk2d7iYMmB8BczMglrUwYeUZoIJHVVVPwyYt2Bngy16sQIiHWXtnbBVrGiSVhSSTCBjVSUOf4zBlKOOEmKDyniKZixzlFkYa6ZqgWsCAjciJhK92u7PLqLdNtbE3U5pPFURIuoSC65PAO7CCPd8JIE5sZWSZPBlaOQ7bEOZ8w0L2jAkjaTTC/DcPw2v3uVyISLbinDGpUBQMwAqJeeI3EOfpELkhaKhbKgj4rtj4bSLCZZqHomO9kLhuZqSqe87AMZw57skozF+u+FI3aslSANo8GM4yoa++cys+pDF68lQVX32ANi4UrQWABSFr4kjEFTFIoCJeYuQ8aG8lhMzNTV6w8aCEpgShhQjrNGxYCgr9qzQqZbCReMwwsJuDG5+kquZebFAuQGSYt67TM6IkJp21RO1cmmkJNMQxWkvsd+SI9diCbRWGrWmDmrrGMyqfw81naRMfrYWipQaCJMfLliU79dd2qCsiNwPOmozRXOpTlq184QJgDxXIZ8sA6bZ61bHb5e1ZoZTHbBd1xISg9EX935l5ow795/R79+/LyL7vts0jRU8ePDg2fMnPn3skOGbp0FWapnNCOqL8SXLBIC9XynyalDw/JKF0MOcNtHPzOHgSEwBEfUIjQPZjlM6zDJ0KiL4tes4YaN6PQSqPJ256e41EPU84c9tno2Zmaz6RDos0pO9RpknX3VNiAf1mYwy8okIV4gYXokLWrXNOE0RJuLRpUTMlt1PxEy777wFmwomavKSBoTFohwkEn+JhNAyRHiU/7AyJ6GqqQhRuAw4tAOYg8lTYylK0KR88uBmVlYrnNeJmHzKZOeak7qorkSXiGL2vK/+OMgCDb6nbudAkAf4InXcYM6iqiBp7IETgIUppOKuAMDkfsckLjRo7oI6TyGiCMVR09vFDwJvwWZqIBwAWB5vzCtQG67H2BTr+1S2DZPjOa6Ua5AMXNtpRF1Nr3VHQkSAUIRaqWqcU+o2s8Zqevo1DXWfzLSLnPIxHI3Nz2hTY0EAYNu2tDOTX1GaeYX0cq9GtYt0kV2VvMowJHKOKXkkUYqhhDAlV3R1ws0JZIWgAUBkbPpSuVJiUmT6ujNts7vc4Ugl51jcLDR19xCdEncCSv1+sDgxmvLgFwlo29R0ATWRUgmbzPku00ewbhER3dUPzAm8dSQfXCiwYjRi91WKJVsOKxZRp1U8qIwATwgGhY6B2eNG5CccEZnGr72bfkPbsjUziF9t544AVvV9TFUVPxioqgukiq6dlSC6Q5jR4LvbvQ+l3C5b4wylqHvrcMFsi8EiPdiaCoSZwGSOdS8Sr0rq9RwoFBqoQidssCUMDw4XYTBUCrPkiBxZElFUNcIQBWi20F2vFWJJaUZFRpDiyY5iPi0rJpGdIsQSF/0xxhqs0DefKB5GQJGSbW2AerhjScc6jhLmRAzLjjcUsh05UhB47CB7qIJVrLNA9mW9VNUCePIn5yDJenRCaIMRDZRdlTkiP2IpO+q9U25Xkx8NoiKNb4RElUTsgDEhNGbNPVyFnZsxDVvXI94TDeK1QrGLEzdeC89rZNIYX8jIn3gnY9ObiEgXxa4eKG/oZiK4DM/VCF6HBADYNrMUgbAMDdSV9di3xhp2RdV18n1XOAqEQevKLjSScqJQC3EzbwQwaiAY3zHxo5ZMNdocB4UM3e5AjO7hdnzwLbvhOOQ4lzvmMsL2ji07AONXeyEbT/BmgxT80bDAfDLMFhjqSqpvsgUrICLaArXmHQkdIf6UvauqURIxh4vX/GB6uVyQxF4ShdNjVKBlzfbQBqgq7r37+GPD32YnreWekPGuakYCgIgWWU6lxMQWZiRxI2MsfpKmYaxro1O+trG7uq1UUYuIsHkB5uBJQsQYXl6KPHCbfq6zxj6776huF+vcNr/Sc+SOVctbs9WMuXkolKoyuSMGgO/sAfAofxFViFi9YSclGnXQgU7pEHYpLCiKO0iYhXQjIiAC1n1uGZvU2feUzMnlSgAAbhTCu+aymZKtlCkFHsmpMUBXmkVNpeP0mi864nZpXByNif+tNeMoPAqVEKDUPCrUjhAA4NmBzugswd0+GTXHyPTcULtpuk9yM+qYapZz5lgHexlpGL5Kw5ni/3P0YLcBJnKsEJz+tLUyGg8FRgE01zcAoHkYJgDwaNgNIbWyQqQRKeNL5h7xEfwWYZ8gaMEBXxDNpUGRXObdUlXjVXAH/xChNJ007I80LKv4Kd38uLm51OU2BGNXKsa6oBxGmT/BU6RUVdm2xsOuAxFoBDWpqpkcORIrm2shQkQu+QG0oiEMNhnR/IWrB8Q9UCASvWKKN3wZipkxjRhrK3iVMLfQFAyiGCVDfUL+vlpvDZcFztFaGq7ZlLUfKyXIuRRXsvVVd92rT0rz3E8mZwuWLZ3rS7G7S+GmseFte79FEaU8TuYM7zKzegggVCcllSqAiAAS2wJtEBKS6USSgr6GvzF6JotflDhuSVTI0hx691AT9QhRU1K3rZHtzbHaTh0OV1dnuIMOYFEbqu7GMHtAiQhMKjtAhK0MVQEVMn3XDB81J3XvPatu1eVVgES2bavFgCyvq9aXqHBI9uC4DKsaRxKb1IGmo1xGqji9a1ePNpEkEaCr7r1bp5dSIYsHc0Hb3ENMql26oFvNByumWdfLXmvbpGgOCoGogMymDq0FQB6gQG5cFsuzTD9ZRvaYWeT2XGQnapcbVqHexRyIYRSloQ8KQndZFFd0VbVe2/bKREattORu7FGFyq6ucRx6hElIfpXjRyDbiBsRuVwuNR7GppWmY/03x5B6ai43EQEVzwVezTO28qPTIqRHdGO0LABqlaeKeHUJlDRzmpvpWb5yZAlcGhGpdfreXQnbqCvLc9nBOlTZu0hnZovDFhHLWqntcxvDrkQ0ABiTrV/N03eu5fMaJ7yS3VuJT9vxcH2iFW9N6Ou8USrcAIiaDTvraVawW481ei33cH3kwdO5Iepj5r+qZUelavmqeu/eJSCpsZtEFqUDyi14iJhipICEOaRMTZmUlJmvaaVA0j0GAKTbpVktCAtrMfYrSinVRXZVMHPjtoRmFYAzpw/CcLdLV8kNJACqQ3kqizIASERjE9/LWzuULBDG99Ag5ocWgUT9UB0OAmMInAiZypCx6zJ2wDGQr/seKTKpSwGAooMyZ5Ey6S168R5DGxPmC4W7Kt17zo2i4zTetNSZziRG80/ZGuUwGjE1bo1rUf8CWG1t4j9lQ0/cc+/2mFi0gOpOZgVBVDvyGCy5qqqKA45VLRiJ6V6smoBHWCZ0IUObIKn6v2E5uxJhKnWBcNiiA4ap2dvvEhBb1KxJPGFmGgs3sIF1lRoeydZXRCPVDC4RUYgFBGmUuM6liCiaAfyVr86jIor8zhKgmxrFgXGZZi9phJgVR8R21B0ziLbixHGIVb3cjJZKpNZRa820lBjscJrQvFFpNZ2qk8Xko0EOJiOIQZMrnSOIKlDC3fbiJ+pMktRutrbln0RMkVW47MgB7hQbHu4prGuYqfZT7eIY6JHupCVgEus1WJDozsykQ+GpdmmCyH5Rj3IjYEqltWTiU/2wxTkJLt3YmEOn/+5//7/1zX3TT5m3bbtcLvsuaj6nUuBTRLTdUNHPhtuM9vhzKrnF1GOpJoRuZeuqAmi/DtGeULheryJ8uRifFVt0WIBscd1VzgWsILDCiBxB0pWoyKqRHcpfEhHshEIdg48mOfcK9KAZu4D0PcpZIMxwGPjEK4oQUaqnGduqEZ2prgZJHmlkvHsJJuaIRVZVHtuIzG4SaES1qKeERrjCgsTmKaxjO6KpsbqY0fQ8329T/fuCD7E5N8GE4gQ+12kawJaE0mXDYDQDpKmQFXwQVZV+jdektWah8CKSDh4twf25oDHOcThLbKAZzAP/Swktayqxq27veGsMYNS1XeA5Jq7DHwMAPMWUx5ynDOwJ4TGSbuefhoKVhBCwnRiNuoN06OUomwDh6J0W0f6swUI5nh6xenWyAPjwOSIPlYtnKI2xwLep9qWzzgK9Clj7MG8qdwoiGlyosuzkEsxck/KtPcAjIbjOa+grJip6bTynEDCkhFIe5TZhBRq3ileeMczsBcXjp5E0edw+Skj71FKQm6uMhzZJ5HlHzBwHDWZKqI+hYWDgAt7j4sL1WgPdBAS0al0P3Wje0QIGru4LsVtTCR8DdYrDKGuuVi+4IEaJhS3WvuBibit1ZitqZddjBfPyD3oa8ONS1XaxoqKxPaJWH0ysWlRS1hFiqqoYynfPrcuYaYA9vXcRW24LR7tlTRjMfIGYKp+p0BMLoUfupwHhWVe12ly9hV+fiCw5VXWV4yi7nVltpu9C7V6O3H6CE9SYtYZVXBhF5bpENE4ZW0gDpXxn8lgRMR1URFq7VGeBnXeToo6GoElLDAV7y4lji26HoQJqcV9aPQMtpkW8M+081J8KDIctB6zkE58fIQ8At7e3WjSZ7EtnJcoIWUSinbbAc2k5/0yyzScYVF8Wa/SbJZUNqpHUfh3NEmumnIlOQF7GU264o3YdIZp1yc6vmo9hWo8CfgDFDGoTIQQA07aiDUN1Rj+P2muc2DXBRyxoenIrq7oXU9xCrLANrT3sEI10RInDHziKS7XWNjPBVTXNPgvNPG7N2LXfjrqwRKRRNEYo5V/hbmPQHL6cITUXkM04MWRnAD25PzFT1k7JpC4zLvNeDieEEQuEMhhxGWE1Ipc1cNgRSv0m8g2O+XwsjkSuZGXRd4FkpJt4zgoBqyt6RHwGz1JV8xNrA/umNVn8JbNIx6onlVl7SQNj85HkkfYvjTqw6htP6RS0YbhisRxQGt8rjbWztfSImmA51m3uA5ufJoCczoMR3Jhs2v41F4+ShT9ZMLGoetJeDEcDhhGJX9tnB7p7/kCB/0qEkiJtspwsuk7R6niczGikUY66eySHmn0DT4ZvlQZHICIc8dOwXKfnnPo0p+kyrUIWjy9DzSFMLL7y/RxSeXhoAQCwbcMOzF91bPdPxIKglyrg7Wp8Nsi60JW9+g5XGSEp6cqmp1kc2jztZQHv8eVtG54kig0NIrjAnlJRR3BLNu6nGMQPlbPlv4uHKf6cdpbjmvDZfAHeoyRn0AqNelO5GRF50A5PSRSqyqDMeNYIqVQ/B9W8noxRSdq3pGLAHntQHXtj9KrIIxxA5LzCka1whaFSp2FZZk1ElBWWKswRBqpqr6G3NpXoq2W1ByqWFYCoxQkibNDQ9lPzUCayLYt6+a8tubSxBbY0zeG7sfgfHRssVV1bI1ldxSnUbWMJKvaIc0IakOROTVPpuNGG4MYELqrUgFVdoIax1mT+IINMuJNbnH5uo4nY5YljuOdnmEPeIzboSDADQk9OBA7c88HwWKAMD3PUKlFy6XoHgEvjfd+199baFrvBygwobywCqEI6EzHlATog9UPPbNETFdWigwjDV3KAG8iTF5NmqWreVhQBQMVuIi0bZRUHKPjDglelx4LkOraF87JPtq0dvy0f5hMzD8CxKwKg4ltUcstP/PMlpDP7Eum5K84RtENEwFZ7TJzILDKQkGdADMPGlrvOolHTWegwmkxCLZTdOtXjRYP0LBguVnPSWwqTXB1tQQJUlklZnSVya+hSrQbDJRp+pWmLwJ43WADhgO2yxIYAtk2Rn4A8ZRakW/E9172PEolFnpAE93CQSBfxfERNj5Ra6qRU6kKEFhjHBzAEutZkr/oJHQAHIoosLAZZop6bg0vaQS5SOfvIVWMiVlbf52d3NuQ0uVmb1p1zZPKQzpC1ZFw6JQ4F2SfoC/QjCDgDlnKuMUglsgWEezan9QeRZGFRQzwERRlk87+muzMPAvAmIDfbvd77sFNCD+BQAiM9187d7FZf2ToVEQ0+NXugB0NpCmSSSGFAdnAVe2RtJllP1SHrvzryDxce4dtqdqx19GvcuLg9HKvSXpABBwWA7dIozshInZtMM5m6hm9ptcIBNYLvJ4ZrKOA+Eo8FBGDHT0VxAIUnOUHHOQ4EUpoYRJnC8LzmCKuqbas36CVir2ldgiWFaNIejgyrHlUdxGVaZsk+D2JpjRpKPLKqz5RGHMUyO9V1nPOvuYihhpaR29ar6xUjiNjppYZdz1CaNFcUVKkDqHu+CFXY7m33Jj4Jj3WIbV3djQQgIs7CkqTgG4Cf6xEeR4QS79MObWFd3zDw7MyOlAcRbBlvpmNsst4nRlo23MKvFBZ9QA+AxwYouulOBpP4VXlWIE559UBFwNP8gBrAswyshh6heMFra4QT/gPAfW+2v2Eh7xAiLydlkoB1BO9G5b0kKHHdHZ2IWlBQRLyP/XdfjYxksITajHWmiHvxILKmZLkgHWCQ1R6JTgcAai3m9ERYNnPFUgpNBVEPh5kpFVDAj/v1uI5Gg9IFFZjZJnMblSitFCwBEDuNd6MWaV3e/0GrKGDMU3VHBLApyRYNEnv9UGLK9BVbnUipQk+ERKcQcxR7ItndIAvZI4mIjFOVTW8W8UAprz/COlZcVeLEbgJUDeGji8GWR9jSDECx7oHJfzE89+ppuHFiwXgIZGmdYSHkvr33GwOg8LIFGRXWXTTsxqUcbQJ/CCkNDY08dMKrrq1UrPO5CvWqzLxQpf+ZEbLGDNk9HSGGgh3JJem3IQ5DVLMPZ0lhN6n3akGqBphDeddh96b3/XTwYI0gcqod2YtzbMWAXsCk+4C9Za+lwxqaGkljrxDkZGUcR9X0Xg1FGrGUGWnZUOu3sWoPX4OvvnVg/3JU28sBb3kEt12LfhaJF0jtIY5rHuINAy+HHDP9SNMVQ2SMKVRh0MK74xLtkZAwFBEmkMVCkRA1ZtIRgo/VqWlbZrTVJ0mZlUjqIqVaM9hKMQM4SD2lDrGVJPfnWcSSua76CEfLvibwalTrTS0/0cgjrhDcpn7pTn0iO5Hbzy4+jtw0AxGxg6pNwYwZRdSBApHzpJrxCW4XxeCXLbNhe9iTzXZIy/yKaKT6Z8ZxLtCoW1eOWuqOH8CYPozxsUW5kzs8YsM4EcbaaVFvLkcYzZIQZ0KLYFtUSSsaoeiIVBOK6gEVxzxMM5SSHLznGmS/ErWlC/Tcnl6A4Ejo5S+htktABIpwxdH7kKNUgr8rABPIlUhtySrl1mvhzj6kXORR7BlEnkjgb6qdb2DIr8x0aL7GxGv5F1GNxJiWB+ZU0vMs9wIrg95h+DXELn/NOFSjLh0Fr91KHyJQPWXNy14UlwmR1esmEiFmxpDWYWY4rJG5dOuKQAgr5odMZfIqWMk6NNW4PMlLvU6faUQaMaNL3bEwD+aLiFRJWgGFhmHJ49vULAFk8veAuTmPw1O1sNx6U1l3cVgUVkx1m52Xjiji9Go7GZueoEv+NjAcpgPZlsIebxZTgYo97yYUkyeLe6gDwAZ8OzaU7ERpym/CAW+hoSHuilJO5oLMpTFSR3cuEWxw3Mc0ezhsLWm6Huw1eO828A2RlmpQtHU0NqJeThCQPrZP68IxU8TYCxFHhAND9ohR9tUBidk+y0L7z85JrXwFUkGh3K3ymgpuYxANR30y62CxWFcnrMjgCUhMUejlYikxHWRpb1YEQm1d1NzrlLlhCQHYiQx+ZHxXYjE7rUI7B6Yuao2IXLexNDk7E9X5QwnA86OC/e+tzmooslFxiAk07UZOfH6MJFg3Ub6WrAbLRdN+wqAbHu7z8rKdnzAOcJzwrTDVbJwAbM3PhaAom+HhIu66IRGhyB/Tus0oPVwbhqtV+KKyIB+6KShhxljjzXJvRh5afKyYWwMULfiuu+Tcd0l5jXd1FHkjgtbDpxqpunTOMCqN/TRVVUsOHIdULpEX6ftApi3ZgaGGLeOAOUegyVga/DZQactkLCqxH2W1i49KSFV7lHBeQkWzg4opy5JPa6/l/vBt/bxMwPCgqoCytS117hIohkD6tCxTkbIE/yQMnyBHCqvJCxE7RFf78DUa40g9SYKenTwieRG5YDFsm++0w5AKhhINuRNXZCBZBqR6gW37wnavmMypbOX8zYRXTYXbR0Wk6MIRY9CKhUPYwyRogHjo6hz1kUZaIhYw/MdQk8AdLqvAEUsqhAZlKEMpRbSOYABmXnCDeOUXahGQHBIWata2IX8Lnh+jckOxaAem+iJ1T0DdMTaqPWTubC6J+OTawEOollsJNFPfAgp8ALQqlJ60MLOGdF5mdcFKn/PN2KGy1hxJihMU5Uhwh16uy1ycQdMH7GWFHe1TSrldlGuc+MapnXhMKgAiXqTFkYoXzbUNnuNf1OWO+a6JSlY8qTLa2kSysyLPppGQKQcx0xewoxx2bXkQSyBuawAYpUR0ngtB5PpbnXgq08mIjvFsHMmbgWEOfRfUFby+pUYi6awZqGJfHwssO+1AW2zmCOUxQ6nQFPYLUtXWlrOu0qtKc8srkx/yQhVAGxVgpkuQG7maJjERRXleGqcYUlGGygIFKg6ruG49Nzc8RtCwaW/13IYYp8X1U3hvTSXiThIVGlBehlqe+kSt9oYQEduZksOj6fZGjXHPheM8MsVsMdU8n6Xstc4FDDgWbmxhFaGpVh0Hw5Bwg1BLt74CnhfirbqNrsy+TehsVyI7/URxV6gd9BO1NNg3pgAq8XIuQJAjMThQArZq5BGUGFIsDjjPALwA62bFicjD/B1dN26WuLMxma0LDzMMYgxGZ64cbLYN6iqUpos0tgBzFta17J1p7I6rWrV9dfloNY4SPvFHZQm5Lh4lUhZFNUKSitvV3xca9eALi1PtKMwtCNZRtbiVFFAKNXGw90jf2mjkhk2su6SmRL+ARzf5dFgNz+YBGysJ3k4Ed7T7S87WA9plgaAAbMNbc7VT5JkE94IhNlYVDrS5+yLbT4M7KesuYnkHBVHzDEeyhcWIszPS8Zx1gjkUYdojW4rMyOlKM5UBSOzIgdxa3WYuaqmIKa+JzP5EJtfZQtQiKjNNWuHYYT2b19MEjH3fC7pIPXcm93+ZWSKmueSdTJK1/osQY7XshrfjDBcZWRVDpsqFaQ31tukOb7rF7OafyyeFRMnqpiFPDlCP1ghONBbbPYNuPAQGTEiMyR09k0Gx8NMJl9USV7HHbexgCPJMMhDcqxGud4jKxiCirbVw/7t+Q8EZmwcaUKwjO5MuEtpTGA/HiLqa0S3+UjRCpFSVFFk/lhZzTiKsv5RTMIQuIB0cExiubhWlCYoLRE1vmpaeyCwNUbeyWhTm90ge7bUeT5ZfBdft+zLOTr4BVUMsaDiPArF5TCTQYExQVZujVUgA15ZJWQClEWGvQflBjGHJuCCRPdYrF8XRcWHBPgV3IAYLDra87IAVPpJJrqrquU3MIQESPc3VB+pnAj4GNq1WaGWmoIgqT195tinNWaepaA4Ksquea0oz5eQSzOJNimIcok410zGX8Weutv2VocYtDqRzxJ4PMALMBV7Lga3KLtHApYDO4IqmxCBCyTUucgHhbcR/hfvRQ2ZNJt6ALAIKQ7+kZFjeGoXEsb8dbEQLZKJBIh1JhMjPEK7lqjCSh9tOaa82ACI76U0BVfNRG//Paojxvob8rZwK4TikgZslwNTPtd3GE4OuKS4WcqBsGrxtSarqvopFF5ypt5WTdzYiIlSQIqfQ2laLC+Vyu3PEDa4hBYA9OVjhn/VIxuSvrfxLUOrQ2HCfKnUWUCfHMGOD0DTksim2AjeIWqg4U72mbNDGpL4/7LAVEU49TgGhVr4VFUUo3dHaVGS1Fg7SQMfBtRzDRLBt27Zx7713aa1tW1MBtFMj2zaxnNrEcw0NWwOTM6RBVVnJp8+EbmEwLq38HqBwZpGfRZPKpWdDm5tDUvrEvKuwAOBFFwqv0NlCyLQTZzs9c8eSUZi4dxKIZQ3pPxmczkMBrRGgkRBvvaV1Qel0JyKdwtjGxybCYOvIOjbEshVOsLvIB5PaOY8o3us4ZbbAZ7ARntR3BaBiUet+opCf7gD02JbWdFHlgOOwORBSNc1Fr8oJEUV+Bdw9XxJnAjq2hU5V4tsKkgdfDTcf1VfchPPX/ZfIOCo7kwAwPDPiFk7KCPNDZh76uirW1jGgJQvr0Kz7lm+FJ8+uBvpSrJMZ5FNIva9MuPMxyzOOqk8D6WxOmVOV/HQWjT48Rj3TJ9s/dlS7IA9dsDpfpKFrwqyiITVVYQd2LkQ1NgcAhCPEp1l7HyybLKYcRBpbJ0E8NfQt2AGjiaonbmuTutti8ox4a8Z5ufdOatUPYR4Ga8fcJJFRhzrI4+LmT/ncijCP7ZeISDGAiOrgtqYbxMF7GTNjH07HtwREFGq/OOOuyDirpKrhYFjLHfrmeNCFROgJmMi2gVPViOOLSRUj7n1EcALABovbSmU1Ngeqj5lcIYjZZXRv4pgS8QLYQTLGaktxwJyjv8Ouc9c1SmoKeJLCa/zWdnJaK+GLLiOxq89wHlslVFt2pgnItI6VDE+iKm2VtTAHhx5F2bI8pUs9cCv1ywGrGO3U7xF0a7+L8nFYgspAUPimvxOxKu5H0Aielop7AOmiyYUhNA2PCOZwja9AUTibw1MbLNcscGP0qbAODZ5msqqzNqTMGTQT+oOrkLlLAQ1PcNmutMmuWqnDqsa/rYz05JAEAIgkb6iUifuJ5QMMQWkKXmcU8BzSSks5fGP4+b5a0EuGuhoXUkn3CtONSUiOcwl3eDGHxISUeiLiNXmCDaURXk5gmhCeYy/MfvTiCpo5A+n9VsAKMZ4sInNsfIaHl9AcSom1dsg2sfmPU23X4blXGKEq2DIcWNTrwYfirgRiUvGYjjjMLsE+/lUmsogdc4ASotANCjmUudhPI0vVRfzk17BzcAlFoV+J1Hyu1Iz33Fzu3dzciMiuYr45kb33HkdMSkPby6YouZXtO5bwIsSj/aWaFoKINm6GOelpas4+hcrxUTxocxLKYxYQItXI8E7tguA5A2NJQUQN7aqhflcO44IveEG0A6JcL7hv2pJHGXGu0WCBUQIrmSElVi8e99Q9LI8rXIFed5siZEhH7azutrFHGIW4Vwkf2+TpOGxIuuwONkVhQZHXownMZBrVfuq1EUcUkBp5MXmiBUKpmxCsFDiySAWbsKCTGnhjBRms6NGCu/Mjb8QRIIBHyOVVKazbUmKy+lOsChNF8EJ46ezPjcyfoFseXU4lKy6LzuTquzbGrGJclPni1YvtDQlrJnN6Zu97Ln+s3Ky4VxUkhYHJD3tejljPYFaPuSTf+XU0ikYmJ1aWSV46Gslh8TwZStbiCQU3NppFMl4iqXEQgU/KviqGfhz8kRTi0/FyMfbaGJUF1XsLJHl6OSbZKY0gYBHZWusBWM93cSITdyp0UepEVsO/pz7Nns8l+W1CowLQ2FNgtHE5IpA2o9XgSq4Ea1b1qQsKjwJShYoqE0vutMx6Ur0pTL9a5JNUy4uoEoBUl1vv3TJxLYHJWmjjTedGNBkFltpd8x8Mx0w/wKDASUEcY8twmjI2BSjrndfpVIATaz1HTLWXXTwbrEQMFNXPvRGTCuzmxfRTAeYCzyMmL40nf9i41abqcuT7U2t3LJnKtOLjW/XDujFCBh0kFcIL8d510aFcAJfzDXLuWuJoI/hyzGifABLvLQBkd73sNeGsXEEFI/ERQXdVhgGxNzKJfI8mIiJEOa+itdufqwVORG5Wmc8yNPX4l9S0LXvDanEqh2zDgnW7rpNayBPrUvoAxgKZSp2Gn5UxCQVtwToMjr1CMhuMNycDjJsdpDJtc2XKeGxLtlwLwiYqYD/lRER4l96FNk5MiFJmmrsdzFyi80b2WEqWSjX5PJ8seFu9bg0tTVFHEuI8xBlliw/mhDGtQonYZKUnMFU5WAl5Iw+9sEAHi7EiBXvsssCPvmqmPEQuXNh4Y9Gp5PSSM1jKwVf5uHrHKl+KxIChOyKy+SsyjBtRZt8VufDl/s3958+f//jHP37nnU+11oh0V4AELvQZRKzUA7l8ORRxZCXbKV25KGT7xjFPxwBVjTOSnV2Iqh0lSw0Kc/3W0YpOcjDRIIsB5EPDQ1PkCgmwUWjmVh7Q5py3V0dDVH+HW2AkZLEEA55+KurEf8oCYyZMVTu3DiZGeQg+yws/Z31jbLblchArudAUQQ3J+phYQKpq56LYCT+V+TdWjwGFjkSmBWegKqGXNoPSkc+kkjmP2c0HWxsFIkXVeget06E48D4ad/8doYHsFFMKirAI5fh2qvus4ctWVVbYeSa9d/o//Hf/bRU8A1i8JHcmFJqWa/ThobYeep6L51OKk5hyKL3vc0g6tFR1TcI48HF3pBTamKzPKDlBkzwrsY+FYGZXShuiVEut5UQdhB3pgDvVQsrLa7mbcax3DJ68vmztxV6fp+wjtwjX9IBmy6amh+z3xnv3Et1be6jaG6htClJLXm6tka4M3f8VRRhdmNlE5RdjeEIAxrnm8c6uewWaOa5E5MKeU2HtlANBgJV4bOkmbSag1FR7IHQBMlHfLbhs4mVkKWaqvq/No5fEnwFvm6yMM3oCMZKTAhi8QVUB3nUKWck2K/QSbkREusba+jinfZuy0V/Ev2fDqLbWdl07jR7lqJuikNuE/Csyj1rmdjZNbdwGQAtjy7mXqjKVpVTrpfC4aTdjuuLE5fq+Riha/SRXPw+LKVAdvGX5KmFYf1Xz9dlKNU5Vg4i6VQmEHaNWdx39/VYC9CvYtSS30OxVSkJYrOWAG2fJL81y1MmjuNOKV1Yxs9ZbSNzWjJ1AQQa4WedKVY6ZmaU8yYdE7VAW9sRgq/dME4QBpIJbMKSUXKx11scLI4kt28/1QmH4AW0Ze/ezb6jLs5ub+9Lp9nZn5m2zEgOy75f79x7e3u432z2Bbhue7U+BHWpHtvrnlvIehUBGWWUS30VU9uw3qldhF/5ANWJNBy7VCU6GLrk3V1VbMk8PLfNqztKIqVW4VeSsmO8kHFBZFk5GMrRFkgSZHMrXmiuwtdZ7P+pqNSSpLkHldYkM+X45t8RnsbScE+Hw5W33LkS0X/X/8X//d7/4+dNHL7/xF3/x37z19quPH/8UtKt2VvTeOw6OD/UzCpf2g88M/HHSAxD88LhkPSr6L9BOT3AUca66u9aZOlYLqWrbfO403C4yrIVoX1UNs/K8iGUAJZxjyh0Cs7nw8sl1H3BOxEAhtOAAFPM618t55KoFlDj1rlSBnN2J7pZ4M6KGAnIzj7K1aETU2pa0EDytEZHEUSoGwGVUPv6yyrbXcuSHJMPaz5IjqmJVmBK2Aw8Ppz06zvQpp3H0Mii0aTEbWAcO+CqIK6uqWs7fdYTZtm3LyeQK0WRSn3Dneh//hqFjBWwzEn1K5If7fjBs69pIpZa8gSt/PkEaXRt8hyNtHCVByIrXwXEnzRuu8SdfdX0DiM0mTw8B2pa7P0lmFYOzFx/DiAQF4CUzCSNZx9+cT4SO+WqZ+pg+SMcTyZwBq8FnPmDlYLLeBSE225QjISSaBkEaZflCA5cLFy0hGXmTfx7DND1zUW31NQn/ErGDomrxeRo/INRHKn7QykQqYNn8yply5Ym4oiOahWKTGlBL21e45z8RTzAqJxAyQ2gKLFNVrzEBRB2/WfsBEuuWHT3P7sXi29ZxwDJi74xyGvNVMaE2chf1xQItoUHxpqifmu6N+POWimnA0wC46+qQXqZfOxWRRusEZox16qncCggTWrNrAW+nvcxlDevch+my9lsGsACKClYfLyrSNDdzVRXoWvhpwfwpHyNenvTv+Omk6GfyvfoyDgutxd2+gtfDiIfqD0DVikznXlDFqBFquMw9Gp+qIakqdCfzKlkLLtJ2nTH/iKJ1KVU1o1eXK6uZoWDH4EK6Np4LsbRW/qy24rQdlBcRPbj/yu3t7b73bdsMcuZ0uLk8FOF7D15+/Phxa00ZjTdShGG8yubWOOP9bJZI0gAtMkJVuU0OryLFppv80w7iBWAy2yZ2nDuV4su5dokVpxbxESbTnxm0aHqU7a2uYYpjXikRMA9v3/eyvkOcndXJnr5d8KfeJMnUNltr1+v1u9/93te+9rWXHr52e9X/8P/79//kn3zl3g3f3Nuu19uH925EBHr09zMRzXhISy+YtdjT4f0KLm1JSpp1bLPNg/7gEd2FCYcMB6DFwccT5ljvbl8RkQXc2mHKIc04dLBBRKo7pnPi69hWjnQkvbswq+dOoAeve7kL1vShwDe1VUlUMPSZeRgmu2xSDUTMyrypiuqoeRQdFXo/HKsy+HaCwLXHyupBrmWF8jDJi+RLQwMMY2lV3I/4MAFzYFqGUbhioKG8nbGFlTrG8ZOqoya6bdmM9cNAax3ZcpPiPrQlP8cnl8E4iHlZyHPn57DIHCURNU7UqQcUlyNaMUUsjeCnFcnMKR6BdFxmXtK+ye3gVizF8EkY5+WWXofKgNIvHmjhbJTRKuhzFcdDV9lTlUGgCzJ+g4girT45vK30euQTDYPH1wUZA2ObQdR9P9RKOopmvM0pA61XXd/F8zG+TYsl7OCceMXm3EtJHEuwzPLpKJysP8tnWpP8rG2K2mfwCIeqCDq0NRTT2Bp2RTyrTJjWXr6K6NOSNkWkUUVECNCzTPYKVdWpIlA+PoJ3EIIiIbOE+uRXVa6UdU/QVcxZiHS9xq+af0qi0HG5S9b46cS1DrjSyzT/Gr5frM3K8rgS7MhvQcqepVmiDAI5st0Tw+Z04Sq1Ztc6BSxpZa+qlUfp0qzesani0jey8JOxvHhsy69ELcKhEziNiZzvza53FMN4hcPYTtHU3ccAPDWY68NlMAuvW+5Fp8PDMxxi6sUPQiIU6a2H4wuOU9ASNRtXzT46QYPnz4TaDberxTCICBSXy72bm5efPb397nv/+A//8A+PHj38yh/+fmMmaqCuqiq5uAw/35TqxOkOEptxKZABKC5SnQfpPLwxLKVeZ4jAd0+m86E1dBmNowZUTUVwy+vXwX9/OJN80ntUHzURVj4fzoEV5guxHMm2krbq6qFUw+0l6T8+770zbSB69vT5w5cefOITn3jjzdcef7Q/uqH79+9/9zvf/eznPvPo0aNt226vT8DEytXGEKnnAJ4QbxKCKwOBmQuSD3k3SiSfUWsJWYyvdGpKKEExvpobcXiqhs7jzwZvGfXTkDEO9j0AdyJ57pCFiZgEFE0zQl2VgeM3qc6TSQ55VnZ2DJKCpQcXGsnl6EFNXWckJB0ztcANGjLY/IA9apiyx7a6CO5TqHpZiKn4YVncCc6zHl8BaJ9OlO7fSv45+p0gcJB6emjHKzIYYpjTp/zKSghldTIhoIqtlvNrkdEPCHHNBrIu1fhurCyqfqBDp7Sf2LHKhhI1OO1bIuXoa0gyYuayN1c4tY4tcgBZxsoQTmMkPtZIbp3F7Ygf5UIQJUujaOcJO2ZWFXZUQOQYaxaUpPBbm59eVYk1Sq2ZG9omQro71wjt0CI60itMRJRe3gRj8dhVRW38GffWldNDPLQ2Bark2a4S1Qslz8UYQ/UOXBGsOjRZ/b+5AI6PTzQ4CWx5rW6VqvUyLC4icINIBygaIYthIaL5FLdz56ii50YKNxDqsQO5sdMOTwonHexs5jslhjj0UoqwKwcmfFUqWYzt14VlDzFDYwCDy0cApc3KNK1lwtFmZGAnU3YjT4kAEtbmaxacKR0L2RfOWl44zmb0Uk5bM07PFFWAggxXbrsqpqNTKonU6TEFTJ3IjJrclwwKqg3NU5gQ9Vddzl5C3q4/89RUwkR1ctioquUJJY0ByD1TorKbiQkOxwgZeBpJo7FWziYRBs9xgssy5a/MHKF2fXkz3hlx5Ge/nrQ56wZlOlQdlj1JYHSEM3K1dyZJNkWOTuRAak4WmTjSqFB8DMYIzh1PlNWl6TJfBMNRQMHU+85MaLjdhXl76eErDx6+8vW/++6t9O9893s/+dnPHrx0f7t3I7dPEeeepEgy2FNYXBjKwdjwNOdZzb+nEuvMs5Kamsryp0NANLPThrYhmTLI84ea14AA15HPC3PGHPJhTUJjZp3e5+QStRpYnUuiVv1zmoX/dOLkApCxSW1osUREqX5ya7331ppCr7f7w4cPP/e5z/3Xv/3m7fMnNxe+ubn5+299+/b2M++++85HHz595dWHve+qxm1ktK66xGoe1wKhtcfspI5/UIo4f475eQtxwhTBS6rkAg3IaPEN+a+qiJKj0csYSXBjqKrK9SArPfHZ3iFq8DASG4nJx9iDg1jkV1rOByAcEcSeH5POHQ7G72kMURWQMLpPA9BVdWgNRYzROPnLfxb46T3u2iy+rYHMJITJ14CDjFatiNcH4y2WWLSpQQKhk0UlNxHJUKuKNhrnxx+nmd4lY3okTRmqyimw5qQUjaqUyzVCZXIaEUy5cPzQ3cGYQZBj4rAr86GIZLIv0VBlix0IipMCiEwt6IjMsPRqp6jgyc9nDH1Y8xbHHDqhukYYR2mSR7B4Bm00oq5eWEgGjexJe9iL97HigZW5pMhPcBgpWM1OddeES7aobVa1yeg/PdCRJ2MkoVHAEINTALH7gTEeYxgS1G+VWELBVkI3+4q9gJGaIVcVyjGWOzQkHaFKg+XZCxz4oBRfRR1fK9lgGN+lE4C5dEnl5qX0ikvfAz/yuoEOK2qARGDriKuO2gijBa9PbOWxxrmqNi9JO4ocpmWFbZPOW0bcpPOFAU9uV5Q663ERDTC6MBq2kDKd7+ZH1ZEaeTno+QCTadWO97lMdWUT8qUL2/EAkPqrhpq16HYr46v/4o4gFluyhFuuI8XxBkf6Sg6zDPUoXe7CYfuLpkJs9Vs5/aqs9TRZ0VXDWKF9YN+1feLavvPGYzLPPJ7FEpiWwOidiJguGvGdokN7uAsyC5BpnDqZHUn2DiSr7BEJebJZtwz+9DIPUZmChhqWLXT1UOrxcAFp/fNkDCXR/9C7X9z0Kl3B++0O2t55+7Pt8vB77/3wq9/8xrXvXffPfe4zf/AHv9ugu0i/3mo7md1oLWv4hF5rO79HlKPAqj5iHcHMVq/wCMNIhF0KjLSpEsDQLSjIVBNKTh13MIeqFNYRhn1Eqa/CdT6DfLr2oFMFR2vfWxJRYDJcS/tjx/V04qp2BN4JW6sIsO9XwtbahYiu1+v9+w+/9KUvfu+9H/Z+/Yd/+PbnP//FT37yU48fP3727PbRo5ehpNJFrTiBVzwDQNRqKlqONijCNSqJMYhIVjleQJeQr+uuqiLD2RT+bAvSLVOb2yFAuyy2cFlHW4XuimyMv+7vOQz9O/cuWcBtY1PIpHehYPrMLHKC5ABERihRWZGTvQX/AbBSK9GGQSlOnqDcYBzT8Sm7Guj6mzv4qjJluTFEQDPmGQEXFog7q+8WoT0zq5iRLMtdEcxDSSnNdcmlry/n9I+hYq4/rzvS0Z1Xo8qmuhcFHEAWVSruzqHo19KE2yXqyyZzcL8yr0uSgMZAu+KJN/cicRVRHNvXNjW2UkqymxK5sAwiMkbG7OXSs8dC6BHqHnJ351EjNiORcnl8wDaM2szwZE/rfRR4W7qoM56biJn3nctXcU+k6Hk2QYIL42hS1+fPOLsxxNRljaaU/bzY3EYZdSGRNqJmDHiqTUnAqatZfLMv3qJgDZqUPtgHxji1QKbCx1ywFDAUeL555mtHHqN9qAHD8cIof2XhRqkw2eRGkJ/kcehYLpPWZX39tRKVlIeIRH5qrp0m+KkqWB4q5tviCSXXQNUkEyOMM2rDQZXjOor8MbyTKMH6RAA+XSNaErYiUcfttGFgjNMjKqMxpBkwDCFEs4KeoX6194nfuTkxuGLOorSNZBElxEvTU6i69nIKukUcrlBLZ/4psGkMfmpqaSHvZ/k0XnAKMGVoPK9ljisCTCN1P/I0EswiJJWSXKn6yTqnshKqCnCcSzLGbARQWc0pNpZhBr0poNXhNHxalMSQJA2gqCkVwpgWdOR1Td0hdNPlcXw12+RHq2O1ebJgpc6okjrBbd9ba/suoJvX3viE4PI3f/1f/93/+O+f749fe/2Vd95++3d/+4uvPLz35PFHInsjUyBwjFgDavTmUN0w1DAcpoxMy/Px63hngV7ghjI3sk0fIWNH0eYIXDZxT4dOTU89jjxfW0QwCvhrjME0nXEEoT+ZZjRW5KRf+2nm4YfXIvdKQ4hqXJUWRKQxrtcrGrZtE5FXXnnl0aOHP/np+621n/70g9dee4WItm3bxQIsGkRUd0WPiqx28BkqSsccTT1RDv+wZjR/6PllwIFdh+VWVYiAVCzjSxACxOqmq6rtPQ7G7qc7hWEPwE4kFa28ohOg2rPcVnarsZNPMAfg7F6Z9qgBWBmgHNjJeh0R4Eh09SeZQp7sHUGi00FxtyTOmetmzIzThCuPo0xTB/zku4iZQRx4PdPpWbz7gq5L0Mtd1FJYUE9SJaIu18JDTRBr2NQxioklWtZIq23WMP2Y+IGLzgX1N5ASF+0uOfNh2e4Sn6EkuUIWWmz3B+qagQX7iihHva1FZkezrYyk/Oq3AvMnh668zSExyQq30GRLyYKoZoDB1z0QS+1wqQlYi5RF4W5E1KIMovVCsVapxGf0qv3Z7Hmcpx4dI4I3RvsUtVGjSoZGwpnt9FEdRjwf4hlqUUtpSwQA3Q8+dm+p6IK5ssTnlszgCK4dkDezq5Sog2buigg0qn1VnMlyeMu1TG0iZiILeotEnF4Qh2BoQZLhT1PUR2khtPAcCWUN+8zd9hK15miCaWrspgWFeQjURNUTEXh4Mk1wJvfjC1kZY4FPXbj6XM/0p+O3loy1SNADactdVeTuYgKnEz8OI/40ue6GR6EdMywm5bhe2e+x9+M1WFlM9vS1yuUSIElQx6+MxJbJ0okwi+foKhNwapvFv/BCX/I8Lx9n8DUAUOJmGtz0oZm9p4I2hzDxYds0Ve7TjoQNko/vR0fIRYxftU6qwodogoB5BPMJr/xHj91NkNHDE5T+4+GALba+43J58Ppb79y7uf/Vr3/jP/3nv/z+j77bXmpf/uPf+Y3PffadN195/NFHsj9XVdy7iSOOS7ZJOdVy0FFuVR1EfyBYr5xQRKC9Bw2KWEDjMMa4uaZl1ovFX85c0VQQn2q5qXjLqbpV4BwZyMLtMWeRaujrSVDRuOsq6ppWxJQqZjlCOoLnVWu5/UmFWrV2ADKFFSHH31rre2emrd20xk+fPiXCJ955a799BuC6P/3Zz99/8ODBX/1P/+VP/uRP96tc+zXQQO1wSRNgjUZ3Wi4qfN4/FCXb2Q4o1eUQZKG5agUEhiilfpwM3FJmkeHgtgSltJ2IWPhXyQ0zohZLABDJ42+xbiEOZ9OgLVWIhdYQ5Qlofpa2nzSM49RewI6OWNTKrvIAnaET22aeJgdQVcSwRy8lykQDre2sgALQTMr38plxJEOl08S9ohrNunvtTN3wMC0imihzVFVkqZyDXFu4t85J2LURIlLtduZZaWp5wbWXIo+ycVbVDZmFWSGl2rZtYfcp+DGvJVkGfbBRJkKclUVESp1cScltCyFaz19IbK4HME29RJZh5BbCon/s1t8UN2Qntu2By0NHiReIpuRCGXH5LvKdg5lMSrIRsWOSiIrim3PJ5/N6u4uXUN80XJoUEcoCMjlPf+6NZ93giaiIxGPALHbIKk40jYgEkrkoLjVLO89Vd9armtVvKhpRGGaBQ1qa0gb0eli0HWNJXN+s2FK+HQ6ACsCyTKCIINKwvgmCENgEtbOvE/cMaoSgvUkMBC3RkJeMsMljk50r7uSwo5o77NAAYwm+1qKqNJ+XNGALPwT3pNEZJi/+6VTtqiu1NiKx9wjzvijIqsfHVobEUR0+7RNOfcqjbVm3NgTM1HUcEZw0Ec9T43F0coZ+hwFAhzRlFGw88sSg2RMQVTwcTPxMoZkZpW8yHeeOgqXl+TQF22KOmQ9pkTK4FoI8GrE2nYUD18uEegWFqu1Q8ypdDAVoFTYzKIZPHQDMkaUTajmLLTEML8bqX+damCQA8Iinj36rPTB9q6pbOfly+lXWN/0eNyB+5eU3CdtXv/6Nv/7r//L+T3709NmHv/27v/uFL37mjVdf/eXPf3LTtq3Rrcjt/ryNqk2p+jtKcBwzwsyZ4SAktJgK5guIJbbqveRa7uBs+bKvXUE85zBzAljR14dQO2CLpuC4C/LLw6o4aik/eljpNSd75RVn7RORhbYmOeS3AZ9JVVqAg4JyvXc7rfXJkyc3N9vDhw/lwq211torr7zcbtrPf/6TbXvn48dPvva1r/3mb/zO7e2t6g4SCw+JBVXREwWLXHM6B5TJrGp7qIbL8A7AAh1iZUJtmhwZoQsX4qzsrKoNXuxJxw6MvSmRlS4R4jJYnDdlp0aaLenrNS2QyL64nBbI40DghWNM201TIzT9KSLqlYmGSFJ4IJBCMCKB7YNECUq2Y1axyF4D8VV7eKmdluBsdq3okMNeBOToNKZsya8lES5n17O28jRlkqwkFpNNd1jdZa0jaYH8u06OuXNz6OxeVXW7aXDIOigJgGvi3uVksvC2aPm2KkJZOcxWIgqyXmbG2piINgBRPbDWnRzuYRyR5qhPmB6gtgk1ZWjRHHuU7EBVM3rY1IcENzNrD4JUePUQIrTVl2lLyKBL28QT10Sks6UFKKR3ImrE3eLDTELr9TAh/1+tDc8tKxZPOi7GnteJvCQiNNiZKZQV9UmIaJMGwB0L4/2MrQlgGjTUgwuTC4yS4RYbF9XB4To0dRf0k6IPoCT1qpLa+RZao0JD+NUPh9ziiLHRWaUoq5CKUYT3IeL5qEIv8GGnYmhZU8x+pi4AoDUiQKwORvMDXNKAjj2Hbrl7biSMupZxhNOCh/C8lprjvwhgf7/IjOBbkXRqbzge+dm6QJygSQcbSYW65WCEOu5VKhCxWkTMTUR26V6DtVgXVJKwKTWg5IzjlEciN72GN2heKZpUE68osgrmurJVABBNqBg2hiDhMtn8kQc8mWpzR950nGNnmrGoYtJsTLWKE8GS/5Z621RKnoeS0wvJDAZT1jf+9dpLobKTqtgRj0Biu8n1iI/IcYcENAXdokbTzlRt6sWeN0+oVV0ismK9Uu52Kknq9YapoSxoCq1B/tP8UHMwlhJSCxDcsh5nBRxOv/ajgSbpuxBIQtgN9GQ1OZE+JtvaZdcOoud7l4u+9fqnn1zlx9//++9856vvf/D9xx//4u1PvPq/+fN/8crNg6cffXy53Ht+e0tErV1Mi0CYkbG4UFVRdBUisiSxJXWJ4ho4lT+5BOlumHlVqxh13wEwk/iZo+pR8wSoxrkzLRodm4oCpNOn0Jf0PmzdiUVA5iN4zNUR5zOEeOjpSo83A/PTR24cSgMxu1W2YQmHLg0coEkZUgCN3JqXvo/X/GWFuv8nxPuoxE3YAH327Mm23fSut89Ftb/22qtf/erfPd+fff4L7z7/yeMf/PC9L33xd374/R+989a7j155cHv9+PZ6K10v2/3rtV8ugDzvtC02hss7Aqx2DTMpcqOSWM1pJCrh0/UY8crHysGrRETaje9ZugLbAY7GCXvvDLJDo1Q70UW6ApulfBA5fyBC7zsgrTWC9N5dm5Sus37iaD+dT9KIurlmKOuYUCtKs4qO8p01tXIpq10Qu+pX4FmdsIWuL4DITxclS2XxCM8GCtVusZQiLN5EhrNWMFPUTTGpZ8JXSbzOvaA4TQiIYj6VLgA7XiwpNAP5SDNJZoBAFSR7ht3WWK9GIJWU0YVGwvCI6h1WH9ZPQo19ua6RtNsaRJR5swOPSbk1Q32ktWbdGrltlRHH6KdTUcpyKgDLiQg5NEh6ZuKaESOVaOv9sUpA/nTH82HgUpH35HUYV9uxJsXXduZi5yMEqkoFKtcRDg6N7qLRDme22I8Qlg7rPJ9atcb4Tv9ms1WFNYQm1/wwSd+JCY5ri5I0GW/nL9yRq5BrWtmN4cXMZ8ebqsOyKmAZ1pEWp7vNLG6tEaKDc5HmD4IANNW7GlJyxKUFCER0OGEdyydVR1mIucPK8E/r7jcFDaSOqUw+h7Sg3PHNqmFMvczKa8UTnrVzqorOWTtHj8i60DNY8s/j4JfRxiIOgJzRK6pPbnCYk4jDc/0MpdFKm8v4xwuqSN/yGQCPQKg/1aHWXnLqFJh/nOfSQj0TEUA9Lj74wNBfHcedGydUxyqLrggdYy5mygCXx8tC2dMzcoKWX4iFultl/vN1DDNbeXj+u7y5IFU+r31V/nNXU8vLx4cLZi73zHy5XK7Xa+8dBObt/v17D199XZ7jm9/89s9/+cPv/+D9jx8/5Xb5oz/6o1deeXTx47V123jfRRUcHmLM2DiI/TAqr4a8RpZzhkaeXkesM0COh2jpy1zw38VHun7vQPITwE4mLk6Y2mF2x2aP8Y7r2Gac0blT8Sp4d+4JqMhSdCVviWjbNiH0fWe6Pnjw0rvvvvvkyZMHD+7d3Nx/9dVXW7s8ffr0jTfe+MY3vvH7f/jb9x+8dHt92hqePn16796Dfd9B2koRjjqveiZDamYT664SYXxYA4qgaidD26/mXGiqu6q2dgFgDh0hkHcHyXJnBKuNUnmCueQpttRMt81RpcFsfwEgaqogt52IiCKEw2Oo7iKfuoJV6GDg+UrRp98CZqiMo9xMZR+Nj5OzTyS3I8Z8dpLGpsSiS8S6jHtdd67OZS6KvnRGOystq05+99GO8vF8ngSdNxj2DIU+jqIPi0icOJnp0d5CnayqbllnmgYNmidvvBYQBAAWUMSfDqFLgpFIN1vYChStNEd8lwJ3ZEk+T15f8OeH9POFfy0a86ri0whfQcHOMQY3peJ/wYq0EZF5YSe2UkF8NB6SSZkQH7OwfkkWPSZ+wulV4VPTkGdyOv/4iMSVgb5AlI5fD4J8QuKAKhFFpO05g66fR+PFu1ZOpCsEtkqvANR4dvpCfn4XTIRdQt4lZIUm1RA+lBUt8/70hLm7rNbTIaEshBZFJ58k1ieDoELAC289MpRcuOPSG/3ma9PACgxtySrhnybz1WSpX3kN5JmnXCeV9/Ha+OmcscYXFVdVFXTyfnnnVwz4sByuNWpYwneNfHouFS2TXRRmLWcWiNrGcF3ic5Ux37eDDJNp5CHQFcI56yNPwBne5gvHNytwEtmOjYzXJoOwtjD+nEn7IJiViUjZtwhUlTber52ARy89ZLm8970fXraX3nzjk++99w/Qy5e+9KWv/PEf3b/c7P3KzOquXzGrprJulOULeK62TUwzi5GcXwUOS0nH2Fg3oUwtsx7jtVWSarEs7+LViwCK12c6yn8A3O0RqE+M85Xxjzh+U8NoVtxPGjyLiItfTXHHGdPwP909iSYi+74/ePDg05/+9Acf/Hjf948/fiIdty/pKy9fRPQbX/vul//ot1p78Pz5R9ul7fstM1usrDW+JuOmaREaVVIQSgxbSKtkFx2GgKAg2AiRcqirefZu+96QZGL7Z2T9jY5IdlWvw+HZcZ4tbe3YfSK/iAIaZxvbjnT6nhtFfApRo3LItJlFejgZlw4YdUr4VLT/I7sjGrvfp4178Ug4Ex5QFdVUGAqNtOYRhsFgoXNaSTLsBMtMX35DhRYwBSzZwPoiOHjuJFs+TH/U5z1eJmuOACxjUx2JudbLxFiy3208cltBCWtl09qxRTr4KCmVKkY9aMP+5YDjcfTx69mKjilFa6sSWSdAB1Xeri2PbnV4uceDCZZ8WCYOIpK5wlE2VUM7KpSJQTSl0Bm7b9h0fO4buFTyHUIqRFO9W4uNFKAsfkLjOjFmZoitCvF8P5dJOlyrHD3TrUcXh0CdE9KNZspLzuDuwitUhYmRmV5UjlZdOk3Duv6qs/b2YpXL17QxpkpY7t/h9dvVAelKgaGgKvOENno3GH/1kA4fWhRWxfN8MyVcIicREbPeYZxgXvFTZl3fySPoVyrTCcZaVL2pr3BALL3btAAsYSovhs+LrxhY/XOVIvnTOFnGhn5gL/5vYZ3zCCdmWr86PFScrd062dE1hw5BlroCAFrVoxVEsobCYR6JexN8di5enb6OLpX4io6MZQHCDDTFKOWi8W/dek1oDAAubGFiEFPsFi2TTqlcgamqpjSpKog7et93ZialXejRS49eevTGRz+/ffzR7Vtvv/13X/vWk8fPv/CF3/xv/tlX3nrj9acfPr599rw16iqACOGy8fXal4VbgH9K4yGwWtZrp9gcV1UMJU913omtrXWJpO2gL7tMcZmmXP44rs6LCFzHy7FmQ4JrsQem12ZDTgfzHIWDJgo6kxfHcVZSPQWyxaplG+JaMAHYtk1Vnz9/To3/1b/6V//6X//rjz968sYbb/zwBz/etu3jjz+8f++l9777w0cvP/zilz755OmHDx7cPHnypLV7GjVeTvtNHEsmXxFgcMjiTlYLbfAtAi6zygh+BtCh0lVgWgQ1dXWdTKEebh1V1Q5S7ey9ux0BEogFJU05h4kSMbzmqiwlvW801DYjFzuXAGThg+XCHdeCA6fQWx6OmjDlCNu6vqoTPquI69Dk4SYAiLBteTJHDx3DOHRumJhQOR/G6UM6OfaRshBkzHcasgVUqqpBGJNwZ1XNkBstsTGi0279zG8ndkfDqJv0CgBEzMxbpIeZ3DVtWnDY1kx1uiBuLr/v8oyh0yrPpkkHob4YOerLRGSRRImecMaPsMaG1DRC2rZxthzWlbMp8wKpo3DNER7HWSUHEZGXJWb4TpAWoaJENZi7V2abMNRDWHYS0gKKBTjZSEHEEy1hGXktNVhfXjxeaztVcT8TD4k21ZNUdeAXkfrdWWjHz+9aF7pDOa5MocJNIx192dwuE5m8s0PRtPKdQWGn/Z4Pbw1XOBHbx+dL9dn5z8kt+gLdQsuOUAVgwcP1Q5ol08mkPGL8APOzsjDlmvSP6bu7meyCz8fJauyNjj/PmMxpF/VaerkLqV7w1alsmxHvaHMOM2zoDPF76WdsxwPwamsgDgWXXNXjiOpq6y7oAQPPZjGhBwo2nnKV2tSRLx1X7cis7BNuqciu2Pirl6DoBFqk6X693n/48tuf+NTT2+svfv7x66+90eX6d1//u3c/9faXv/zlt15789mTxwwruGQRjwRICX48UYjvuoxtn07Nm1r4TPnfOhslwFIwOJSDWjPOO7H/LKVFF6AtVFAVkeWT8sLJ8+MVb8rh4V0Oo4mZp4BbgHzaUZ2vRtSZ6U9Wt4mZ7z+8/7kvfP5b3/77P/3TP/3EJ3m/9tv9+trr97ftyd/+zdcevnR55dVXnz37iBnX/bbxzV2Ku1VVspNhPGjB7BnRJWghVA4lIiXSco4sedGI0AI5zq1IXLI9OQKgm52zx6y2e+m1zlwX7NoJiFOKhIgUIlDpbpxHs951JK3uCmQaCRG1NnZFrL4os20P0lE64AzbF82wAk3nHebgabnWprIRwuuhGuUTDpSS7COfRCW6Nfc0oVQxxFO2mCTOCansC2XVicjKX+hoyUa7ZZY/gIzkiSGZttwLp1oQaezrJm8/8j2KmyzK4j+dEUFlpBEaPSzCjJM5X7nhiTTFxbeDATL/8/oVLUmQQP4yDXSac1VeQ37ohCX5CeuoUIHggOy1FL1FN8xBAMnYxxAqh+BkGSPjJYHEJBkrM8s8EqMG21bwrLHE0ToLx0DHi9gxG7Aww26RUgCUaDYtWFFwNsk1oqbqkT3jndPBLH9OAukOkeyv0fHhi7RPLcbAXVpUvK2ZzxGk0sfS3TG15cnpPQruVbitPxFRncs8r6UR89RMPfKozJO9KEBYD1o6QqCucipJ+bDe06z0wA0wqi/HEGNrDKBSoisDJxZwHaF3pLUcmz0GMNKbYmc8fcWZFxuhYXUneoTI61kXx5u70OZOdPpV1+mHR/Ae6aV+fqpkLDLvlPqOV7zWlm8P03fJOHKEPU0aSn76qKOyf2YftqnbUs7irokszLYyiruuRToucKgzXXnOoRGaXew6HPajBbuXREtwqExT8ENXQbt54/W3tnv3v/2173z408dvvvH2t9/7xocff/DHn/itt954/frs+f0H9OzZ7UZNRHlj0X0X3bqd70IZ0hqd3sl2NKRhQHUNmCHKY3N9emcnswIA86aWEBxC1kpqLAiZ+vHxYCO44tgdC+KXYOPrm4fgt7Ec9cmiiFDZPc4OqGgCOOOig9EdNJTSVMW6KakmtCUW6dIB8oM/Lb3kK1/5yne/+93Hj59+/NHjn/7052+88dbTp0/fevv199+//t1//fo//xd/tvOFcH327Lbd2+oBjtM4BTZPS2YbCWwh8iJ021iih8wSrDCdb7Mrkwpr7rx0tV8BpEbCUbdgt1LV7iIRuK6V8GFVERcx5O3EgZteqqhoTSIdyuKS1xNP7SAdd34zYRIcA6mW80OW1a984Hhzxt8GMcYLA6mWCKUkhC5+cGSyAiUoQUTACjVa6ESbrZ7hxxKdRoc4k2WhT3hgMk7AVPM6C7iulQbbWCC1U3wSSpaeEAFAIFIvk7pSE2aGudzkC4mlhgJbJlC6bI3zCKjEE9eFqdD353a+KRfeACQMreoLAA8NX1wOuqjF4cEs58DbTRXwdTALM02GcmRD0f6JOExVZpE3VDT15TqCcvlpedlOWs1BEVFWRz4QCXCUDWQlzKl6NieZ8auUm1NJSQeRfDeE1z9dQTjkGJw2Eqz2zoFVfDWGqRMJ+f2ALalikWEAkDWzs9n8dvAjmhqc2/dPFrdKCifnJky2VVY+v4MRFDgHYlZ2eULGp5BfFnF5s+KtlvixM346CarjUOdZO6hq5nQG6JtAPUW6Mp6io3svp6UPX9DC+uaE9lW5DF5RXqCEfP1wbfkOpRBnS5BfjH5f7IE+IPDxXudqS8laFz4y7ewTqZ1iPWDi7oPCtVqRJZOAtHQvw8Y6nbuugXI0lM74CcCIka289LitdwKf017u5mZ1FjrqX0xlmlTtFxJ0KL/88su8Xb733g/fe+8fnz3uz/fnP/n5D37n9z//yU+/rrI/efz4+9/5x2uXz37uc3lMHjP3XfREHMQ4cYJRNPNuW4LlSMsUGSiKy11kSESWdEPGdA474dkbx5Ge9VuiVH5o+faO5ThIh7uBP7pYgaBEPDbcAhPsryWngsZbJzyt/OS35XdPeWTemLl3AfDk8dP92t98880vfelL3/7777z++usi8stf/vLm5uaVly+f//xnv/e97/3kJ7/4xDsvP33+YWvUZTd2uFSGqDc9zlirEipfzuWjEOWmtatQh0JUyQ8lzSUwX76WYiPswIhYZW9NhiIZ8DB85zK8sSsUo/KCkuoGZ/5CrZF27tpao61Rdw5goxo1U2yPJ/aSl/M0ZhI7Wa9qbtdfKwaiINupnMpROcztGBVVEbFaK8Ti7tDkNlFrU+c4tJrTmIh3ypqqpCiTcjBG8jcW3X1+Wer4qQr9Ayjqa2cJnyd7Zfk+WWXG8oW6Kj6DuH5shOcdn1RhtquEfKnUFir7yPlXmJ42t1yVUxAmwTlg0RyhM0Up6aSAUlONGMlkM3bSoSqL03PP3edhSjKz6A4i87+6aCTRkjxaZq2Vo81gHnsoZJYliLxO+bQuOZ5zBapQTwXRrwnhujR6CKTxEVJRCMg7VKBG5VZ+e1fvOmk/sizE6fs5kqTz/BeYcBgFjUWkZkS11uZe/HNet3qjTejYeDwoxJViEyb1T1WtmuU8ax/ncuP3M7EkfCRiAReiOIUeRQGEk/bvAHItmXrHIJ1BTV/dqbUf2j/wrCObw4yEL37/rsuGONHYmXFVXWtAuhQo/o2XzzYMz1tewhVGlcOiJ6m21lTXVXvR1JSJFWGoEJFXNbYyoAd/uY7d4JwSmc8BZwhwN3M+8ZdXhnlsp6KrnqFffSLj/QENLaEdSxd35Xl3Kw8HIuKXHj16/Pjxt7/zDwL+/Bffff+DHzx+9uEXv/jmz3/x/t//3d+/ev/RL3/2w078mc9+9t7Ng9v9uYAu2w1Ee9daQWKAjmL9i3PBx6B0cPwxFKMq4kF7rlxrkUGttSz2rKWcbmnBX16qSCUXWhT6RfhOwK9GxwHvTpnJcSIg4amyyqp85HiKCJ4arIiH2FGM11baZ+btchGxgqqsqvu+E13+F3/xz//Nv/k3Nzc327Y9efLxRx/df/z06aff+ewbb7zxnW+/98abvwfg3oObJ0+eNVxqobmKoktfLj6cKwKAhN3Y/BwbODdWlojh2aO2t0V6SFYLEVIFqLsSoETUVH2HxEoHmtPekh0Dd5LQHCYureYp9N41arRnOUIrxmIlqlknrV3VA+wS+Om/t6qJR2ypsKo4UOhx+iRj3EWznscYOYopmyvbe9hFbZLFMzLH8ENAM6jTSCnmdhKJsCDbtMpF3wtiNL6dkMdx7kVJeJEwIqJaPMfGn1OmsZkzKe4J2ERCZt5aSzsjitTKOGLAfrL4m2TBQ1CBdXjWK3QiFC8EQ4HCGLQWPxONmrt1szjj79Gwgh4Agbo8r0NKbM7ykVVm2EQXHgdPzpgEQA6sKvoZB6+qtLGWQ92IVdEVyrSpRz7V01WyBJIWGEwqew4+FxnxPCrfUxfL3Wz2glehgh2qc0REL0yWZDYW7kzFDOgY/M17N0Dnipht5ZNSFHznsP10itsBsr44TfA8Fn1y1oMGRWRHtAGrYcoQlZPCFgGWs+NGxQtSIap2CJ9CU9c5ykuiDaKA5hY8EcEPHG3b1izXQkRAxAWwltMa9EtxKBlU9owP9wYZCmG6xByH/CMadWTT3LR5JEkubFRdp+EUDwDMXq4QThxufBERFQOBZ+ireoJXtGkel0ZjjquJTiWPRT3gDyJKjZlJ1Q5CGAwOmHwEg9PN40QwdaGZp4ZCwlP9XWhEVSqU6aI+81xWc3cR8sgI8ur7lNpF0t4Y6liOZhtiCjv+ATNLoVpDQCcNqfATrsLAysETUZ56bau6G4Qj8C+IKDYg48+k1kYkXZnArRkp9N5VtTXOyhWAKFjVaonuQfFTbIZ5l0WsfLjjg6GGyghQsZeZx6rUmYoIU6vUVF+wm3rUVO89DeZyxAEBGCelkqjEfHnARAhkh0IAIGpoattfU3167XRV4t714YOXBPiH9753269vvv3GvVf6D7/+V0+ff//B/U/95ud+95vytW9/6+v/+N73PvXZz14e3tx7cNOfy7NnO182uV719pbatiw6zB6NchhEmShvOs5aD061CzTwPKKUdVj/JmJ670Dbtmbwse3VJAcAXhaitUpUiTM3rfXe7fg8db2nJwdMxJ58e/Zttu+G3LYsX3yewmjyuLVWrQVAmzEu9s0gtYL0POtb0YWfBN6IwrJ2jGJmok3E6tDDONUuArCr/tJUiOmmX0WgTK3vAmDv15t77eH9e7/xm1/427/9u9/7gy///bff++XjJ59551MffPDjhw8fXW/161/93h//yR9++OHPGm2gXeLA733fmTci3ndhHsVkjOPb0Fk5nVVEjZkBtrM/iKjT5imjooaSzmhBKujismOoleZv575tG1R7tz00MAkUzRfdzo2BsxwXqWRH+l4ag8CNKWKrvFikaX7cAJGuIGLirmDaurJclajz1iKyjvseNiGR5cvYoRASR0GQZ334RgeVkEsR4VAXy7Gnqaca4WT5bAndjO2wF4/+MWenqmMsxJjbzFIAJiuSzy0Fo5CS8CWIpRueC1QB0d05Q3FSV9w2khWRZpZVOD7KCw2QHnkOIFKwr7LqzdaKeNVS+9LZ2lTVEF12tOanv1MIdBhbcxvBC3LE2clpaSflCjNVKk0AjQSFqiLkPCsB5zt1qguA6r95U7QEDUKl1lpVoKcPz3yNIsJzlv1yr0Mh83FK/FpndyppsqNjsy++Wab/gtcWoB3/PHky59Taf097r9fZ2LKEc1p+wMioWIdRq6woBGQhpeNNKnowHN1hdfJjBV2x/pWgm1b/bLf9FDIotmWRJRN+Hp8fe1wH4PNqMG2M4vP522NcYPQ7HXCTcDit+qK6lovK51T1ufl5DvLXRK3lftQbOYv6EOe2x43sSUWzfXx2A3gN7MO6XJMUr/eYwX4Ci3n6tYWEQMSATkFBy1fL81MkqWpNSpQ6BT2E5SwvLHiF0FOHfJo9Z8erwGHw5Px3mTgNB4TbDItlGO3cnWo8hn0S/3Nckey3BhvUdoyla/ho0juzvGa33oL/JzMy84iWseIYS+RHT6RKYU5N3vj2dm98efToldun/fvvff/5Vd/9w0/zze1LD+5/+Mv2+c9//qWHL33lK1/5p//kT775zW/+5//pb/7Df/iPf/HP/vz+dk9u5Pn1VkW5bX4qx2yu6Az/CsYXrOMROABMR1Mo2RH09uvqVi/3J4RMKIb9HkHzrmbdUZUyxrM0tbJWGhuGY30ro1g4RoIl2lnZSxwDlL0pIhylUFOENetodg1fTqZBXtDOerncbL1r7/33//DLf/vVr3300Ueff/fT77//E2a+f//+xx9//MrLrz158uyD93/60qN7z58/Bymx3monDzSwA1kLpsUAsmuZSqux+rhHQE2mdNmGaIqkVNkr/VIYLaqIPaJVbVB3VK/jISIlH4A7SS1iWUeGbGsXsAxWmTswIwfJFLDpoExmPzjEDzMyaz9c4CLSQo5rsPo6tcKRENNfEdjnwmTKPhmVBZcltOmQCpBXE9HB0wINmEIcF/gg9xKjX6HDsRW5ENu2kVON6fcDYvHiJGeXhTiuS3wiU0dorU0u9lTcUR7mCA0mBwYOAJsOR11qHmNWZSPjRC0gmkpkHIY+vUnLgt1xHVWH2k4dScx8ergM49gC80C4hXndNZ47Bjn9Wm9eUIkPsypJNKmYp8LyLkmQv+O8u/Ok/tPp1C5ih4GWOlM8mQeuek5JTydDKOp+HmwZmJACAFU7KY35aweh4h6XeF4tvZqgk83WJxU5o9nz6Iv5YeT/qQLs0Vm8qFBjFhUZVoVe14HlmxMcDuuSLGP5qZ4CHW1x4ucBwdZmlxXB4aogvWtsOBBCDrVS6/L5cUWOtHAc0il/qGAvRF3fnGvznWkbC+MCQoQEHp5OvPw5Pa97iUcoQddyoy74p9NnrZxcHpiyzHm0ad4sOhxWamBcRms4bCW3y6jYZNWCcigriBn4y2rWP+v9WfjmipY2wamjqGp/hqvWhXfU2rbv+xgYUyMmolu5BdGnPvXZl19646/+6m9++sHPPvrooz/8g9979aWHl7a9++lP37QbsyieXfcv/ebvvv2pz/zl//d//I///i//5b/8l9fr9dnts3ZzIVKRXTUixsoUcPjTpzZP/wSpVv5DYi7jgioWJ3AQEExEusp1cpwxHA6RPeB8in6mxkxWADwxmheECWE3SMx1pGVGuT0yz5dp1MUrPxHicHtazuDEiniKUUy5RA25djzp8x3anzy73NxcpV9u7v/Gb/7md775rT/5yp80lfd/9nMoP3367K233nrl5bdau3n44NW+09PnP9tv97bR5dIAQJTI3Ouc8KnDK1q7V7M1GEnkqno1GhUFiaodqV6mM+R+TrO1KXshybZDW3JR42amvRArOjiqiMz75zQZCQYxlx0iAmrurCYiEBTSIcClHO+g7rlXuAK9RHeAwiucwreWHZvXMdMAKus7X/GZLhxiyf18gjKirSi0dqIpGUNV71JLFv6W0zFbTaI8fPWnLJxq8SwvFJr7hwVJZvuh6lQ1bGyGwBnHmD7flpcobIUjx6n3Q9Qd9IMCu/Wr46Vh3pnI2ff9+P6kLM7N0mzT5AuVKlYUOVT5+DWvik//c789lYi4A7zHkS8wKa0NZW6WFlS0lshudt47PlxmVwdJREsVuViDSVtVi7Q9tW0mBYjin+FptviBkeTnx4uvRRgqHlK9Zoid5prU+zrB+acDPrjWW1OHVyWSihcw2p98UUfEc6DcqfbltSg6lX/5s/LvQTPQ1WBbhn1Xv8uAs9m7+ED+W3n9C+iuY2wmBJ9VIlKmwdSDBRsqzHDw7gQiebpUWZSGZsW57E1RJTBAu1yTWEp4Dy24YqxzVkxRk1ZxMPlO0f4I2PoyEUEbAM8zdzq1k7oX5hbrOOp9FejJikh5cRw+Ti7+jfy9hlpRdPgg24aMwcxC68OqtU2odXiCwIrqa8/76oiNsamGx+vg+zjPJDP+T6StMTN3FRG5Xm+fP3/eWR+99Prbb33y29/47l//p7958tFHvd/q/uyjXz798Bc/+1/9r/+X927uP3ny/LJxa/Ts9tou25//+Z//u//X/+cnP/zg3qP7N9vlKoIueT6DpQLjQAsraZztIB1RJT9UYQJF+ulY91psOz9hZilEhGJPcNnEyIC6rsI1OW9KzBhrlP069R1IXmMPC4dLqTm1UqrmiFo3yi5xghdh6G3q0U72AnXzE9WWNXw5mlo7NAAcHIZhxzC5mxuX7Z4qRLFL/7M/+7OnT5787IMPXn706NGrj97/8U8eP3323e997ytfeUupdW2vvPb2s59+tO9dulwuHjC2tSZyneTCJMuccAIW4Wi3fRPh4F6+r1VDOi0M2Pjktm2JGM0DQiQVqlyyTjpZUjrqnHiDsi4WBk0J4OWn7ORdJjfvHffCiUmq3UtNgSgZsopKg0ZZeggsInoyPzRCqSXOmi0iugqCMo0oiZVBescp1IlMcrYk8VdMsJC2RdgtpKfoZiHP7U9isbzvNqcLFBk7HtUZwVRDc5OlT9o8yiGSs84wtJpK18cRHuGzlRju2PvTVUepn801JdYWT7WE40/H13KB5y3X0UVykypORIRWD8Gkvh+7i66qYvEi0+I4l+jifAvSWBIOkm+ZCA4rtHS08s2zl+8YwBAbL16mc0Y8vT90d//EhUwdMcbhebZfSa6hjwYVvkM6hyedIeiqK1QuUEd4CqhfB0TZ7F1QNYuiq/Nr6wzHkAaappBGUTzRouf86vEs1wKc5c1QcZhotkaK1n43KO6Kgjs5722h2UqDEvUfY9aAhy0ovIIeYjUBnK+RzsmgVRgsL9dfT1etqyrM2+rULSdA8BTuHHYdVYHktGVRXjjR2yqPOgJwgWQZeQb9Tq1VLcofLqsZ2ynm6VigGsC3wy2KvFTf7I4aC2OtZ1D7dNRdVuTf+kAsqWm9YhqrYUwh8OraLR+m7nUEbLzMDrMBwIkD9N5NE+q9W7W4fd+v1+tHzx5/8XO/9Yuf/uyv/vNff/jLX967d3n55Zd/9I/f/eXzX7z7qc88uHn0+KNnDx68dL0+FaHGD+7d3y6X+x9//PE3vvGNf/Yv/rw/ffLs+dN728UUi+BBY4Sx7zfJo3khciIn4rJONjyyZP0EOfACTCJKJcDWouY/BFW6mZSK7BG2vu7lNz1o7TiIj1M5kisVY2jLt92T0zhDflXV8jIVUne0ai9UxH2igQVaQhC6GmDuAJ+mN9JVbvf9wjcP7t3cXp99+ctf/o9/+e+f78/pcq9t9PDhg5/89P1vf/vbb7zx1ltvPXn33Xc/8da7z2+ffvjRz2/3q+ei7Gt69zxZm12q9RouCfO2KgDxIBmxyBTMUFVVEbl3716d78guJaSAdWwnqGobmGZfsbkhZKYa+xkApDvpKIsKaARzpvmXkDdmsmwOH/UHVVXLMcE6qRzEYXshNdqpgL1Fg9sXSIuvsNPkwN61OAHqXBXtqGUN5kDrC0RkhxSVCgEeticiOMiLhUi1FBHKYD9GA4mic7EoiKjqh14P8KCy55h5HJg4aTWnqo493JYmljeW71+giBx/Wno9fdMwJrd3W2u+mmFM+eeqPJKZJn3orn5Ph0pE0uX4a36ysIwjftw58cOPFdzJu0/7xRmUTuE2P5y46mBwZwD5n7WOFclMd0fBSCBCmCeScEOrENsgUbQqqw6b/n5NwX+nbxxlXh32cnP6QqGrX6FSj+U7HPDps/41KmFP99PRQJPZVkXvXcncU9eng9dzwL4AmLWdYK8rs37x7JYWACj7wVQijhVWcZBDSC/YqHHhALFlyezmGHpR6d1rF2ciFJBJftEU1X2kY0dHoIWQFpo3l4yux8sFQssE7WGBLQ/kcs3DI0qJSHWF+RhhSdF3gJSR55RVoR2hqR9HB8u0VcBiEJLk1dXopXDkncRSoaQair7Py/UH5k1EiEZh8nhom6tcW4sFyuv4K+AOLX9+iaIiAo9V3bbt/v37n3vlc5/6xKf+z/+n//573/3eTeNHD+9v99oHP/nxE3n2R3/85/uuDx8+6rsC6L0z6fX57b7La2+8+lxun+1Xgd67d29/fhsJe0REIEoHZ8RoHlY8VKJcbvuph5bq4MpJaYa65XKzqoC3RSSDqGuA58BMpIQQWAlyi1o+hE7leu0VyCtzq8E2fn8n1zVRkEtTPwcgbu1xHNQY01IW9IwYWzgP0qpPoovosm4anqdge3fiGquK7q2RyP7sydPe+0uPHn3ht37jq1/9ar/98N69B6+88rC19stf/ry1tm3bZbv5jd/+/BtvvY0ftvc/+P5la4Dcat+2Tdfs+KT3gZNCbDUaEMq3iCgBPYnXz4qhCF9RVeuaS7UfCvfzpPzNXaPAzbYssoT/6fIpmMO5buXtxf0RqkyjBp051JjRnWdmwqEfUcOkg3urq9dE0MEfsuu8L1w6sbotjMVyTJeRzyiarmQ+bJFS1mOwT+TAZtVfs+xYRkXLiHdPvmcYvOZjgHLMwcfqsqiqCkGZgE2qWCHKqnS5xJU0nE5jj5rKl+tqHlivjW0r751YG4sIwUFwYqbSBe5rn/NXmLXwKoqi2XUkUsrSOdDv0N1nEK/9zsM7MQMWzlU7XYZ9aG0FY0WvBderErMM+Nj+DFsfdhmJB3WUb1ij4P/S1Avg41uBBc+CsxcoHaZwlPH+gmYJnEmon/UbP5+hUEX3ytey99MYu7yOIuG4KDgoQ3YGR4VTPca8jvYodQp8xOEwz4jo5KsVJAuqz8OeBhAxweXbwzvhAsEBDwHAGVmOLQv7Tq1Gy1QmOBPUnXRXmYxRlu8yny6EJwUOxu8+Qj4k+0aHHrTdVahqoo7PFT1YVXLDFweUm8Ey+G9dKP+QuVh0q6WxoNzSYPK/WSwxvaCo/OzxBaAuS+rSh+atPKpfkCvrJskGnNFAql5CaYhYg8+0HHfc19kdmcDpO7HWtCIg1jrlFaRHrEqJAIAab7b6vRPRgwcP3njtzZ9/8JP3f/QDQgf0k598e9f9b/72r9989+3WLgqWjuv1ev9+23d9/uwJb/rgcvOJT3+q975Tl6Zy3TeeylirKqJ2/hEOMbUTciYiKgfkzfLU/wzBSqrKVtOkfj5MPc+FKL9GnZl5jfLf0/Fk/+tvmieRxzvOdiarNbsS0XSaBoNqoSqpoaKQRzVTunx8uGo/JTArCh3QjFRVeSV/dTM9/t4ICtn7syfP33zzzY+efvTJz37um99/Dz9/2nu/vT67f//GqnI/f/70hz/6weXe5Xd+97deffX1X/zyZ7e3T9tGTBuUa2hfDAMY1e2mmKUBZ0uGog4SYt0aayAvAaQM805ypLT6rmkHEbXJMvQ1GOzalW1mLpu9Qx1bFAzaHJHgLnZmD1ErVcO5WP5ENIeq2xKkctnK1iIzNxp6s82lar1U6puV3PShuw9sAQcyzVROnciU4tVGZWaioXZjvhZmHq/p6X5pZTg8y4L4aTgul5Ju2TiSREqltWNroUGNFJSyxZGpIEcl/FyebmX+aXncoVqdweX0+V1PliuxJGPcRaRN4ddDezar8WQAB0WkjgpnSnblaxrKyimPqw/rIh17OWZVzt2tGPMCsFCRQGOa8VOqO/PsOJN06xzncU1s0aojrbMoLR9Ge6qFnA8esIOQGCvicW1nWsrDE/9grd15qnS+6GH2dSS5KiEWvCJqWrYagnWeuGHuAoV1If30HV5Q68VNLVf9MEq1ntiEy8Tv6mXB6uX9XlM8hyat8IOuiOYTQIz/qMDrCYVQUEw7XUnXqjJKYpWax30ORRtLOStSM2cc6ghFFVQ/d+JgvtYP7wbv+Yrk4F22hmKBF5LGXb1YC/WEhPPX5uhMhLjFDFXmRsKqXSeGRmGSkSoTrXmoMd+6iTThzwuQp0rr5bnOMe4a8V3J+WcaDKzzMYwSEHrAXoqr2ya6jsDum5ubV994/dnjZ//D/+X/yoTPfvZTz59f936rrMz8Z//sz8Hbtl0g9ODBg2fPfvbg3j3shLaL7L//5d/78U8+sLw8Vbm09kxlrnQMpbKNU4R35TALZOqYE9T+Dvnp9K0x1MUcM5OeAFZVs7hCtlyFi4hQY6ZBUL8+V6kDyxstnCGmeyb+xide9KOuKRXfipDwqIQd1W/VDvpJQWlhJzSUEfVYdgS0Y2rTOIhIWK7P9/vbvY22jz76SC/UG77yT//p3/6//3Lf91dfffWy3Wvt8uTJ0+v1CuAff/CDL/7Gl956852PP/7wRz/+R0Av9+4/e/bk0rZldrHiDKPF5JYCN0xmP4trNbMDJZntrOayVXERkci7BJzVTaKf3ABC8sm0H9SXwGXBZdvSy6lWWdAbCaIrdlkdc66Xzsgg7EZLxcak33x+pIUkf1tZS95IQaNZYZa8Em58bg4/r7CkLhrMEsocZY12sNRfX1cNWHY/cspZ58oWVGUIi3jTWNaePCfnnjfqJTKHulLZYdwthDyXQ6RJTT/lz/XaSrm6jEtBgPjILu1Jkam+savgaf3y3iJNa6RBmBjDfIlpE4CObnPwjAdVVUHhTVUEU7FxKk8hBW2ciJtDEhFgU01yH/LpCKxosGpvviGT+DpQZOx45KbowGMFQUCRZ0O5BaOoVZnGKobF5vex0QNFaJO+wRr/hwgBZUMNgYedyMqyKsybogBRu8tFbcFbFHVUksaq60kPBpJPU8qfsTLk4Yk5rKaqx0R1i08lGdF+jldhfhBNgQEIVSBZWD5cZqR+KseUG0SzdeTdeREt4yBkQkjE9KHg49w04IshNwa3jcLWI2Glkmu8bRNBhFOfM516Lfn7tkwZ6EyhaZUyutvSbw5m6WKRxFWpAtBAFCZ9Ajn6Vf/eFEhHe8AU53qk7rLjR/V/zQrkEhHYsVoAGh7i+VJURVCL2jRWtlk9ByvfW5KxVHXkCZ17+ucdWM37mlupI+SjeH1IQ9MPcT4rsv6hLUHggJMp8liu9CNQkI87tNxUCs+QdmUitCYidu53rJ0ow9gKhQDeVbfBZDRBbw+IrUTBOFbGWFSczABirtXiyhkFfmBhstHCD2F2O4VV6dW6nWRcfkebQ2JFOWrNjC4iakBnN1Q4RSZBVRkKZab7qp2bqir4/uuvfua/fPv/2R7oFz772Vcfvf7k8bOr9G9842s397d3Xn+VmXvvimvfdWsPujBtItgE9Oy6v/LKa7dPb1WVaNvNGGNRI4S8GDD4R4H5QWuhQKhbIBRn9ExiMcmQwM1MX0GIYFYvEpOiPd/XIryQThxVdY2rjTxg5w8pxNF0sBGQLlGyjj/Kk1aU4eNmIIFClT/dMCRYsRgCsZ+YbgcpKOD1B3lmz1pXE35suwQh7dLhjNe1hpwdaJOZcVk7e2vt4XbdO7oQoFd9wDdvvv7OS//8L/7tv/23H/z0/YcPH73z9ieI5Mnjn77y8mt9f/BXf/VX/+RP/+iTn/7Uj3/yA2785OnT1rauZnCylRlP/t/HhlhEepAhgDIxuorI5XK5XC7do8ZP/Cbxr9uxptExt21rUWwnFZTmOg4bD2WoHdgAKJrocoCgt0XosJO7WFVbKhJRdYoa63IwSGtEfiaGiEBhJfmh3QZAEqmrgJ0SRY2hMNkqgQnbXIUmJSPzJHnrksH94TbBBkDFIn2qdm6HXEE8+cwyaFVVnQXVfPdmh2+4mz9boOmMUtGgIT9SwwiDJxUq2XueZYT5yk7zAKIwfso6hoAw2rHKyTpYRIyj6FF25ogNIvGnco/J7VqPi6eRuL14YpBMtl613frvXYpIvvziF8bYDvoNhaHD82unnw/GWrpb3jleFPrI8Z1FQRxKQEZTObf136FL8t+Ur/OioepIyFBVP8mshNYdC4m8YFI0EOVF9pwenI2zgU4nublKaelhyriazJLIGfF9/DrrhOG00MP4AZV4ndTbclQhn04mm59kF5gxSlUz/dQvzx6kbCteW+d9QPXh7rW/hk5D0U7MxWRVTnCyb+cVHJI+LMaFKg8LSvWT43LXr5Ka7up9QdGK/FkfreoBC0woDnI67feIk3eNFmV9K8IcB3z80O8Hjo0Y00RmVZyOB8Gg80mNRsW0+mu/dda4c7FGv5XHjtdmIJNLrgFku2ceEepLR0dxeTrs8VCZZq3OJpPnN9WcigU5jxNcAEXkMtFgWflGJeoKFj8RDq48xrfKjbZ273rtKp6B99brb8h1//a3vv/Wm5965xOfvn32TNF/9ON/fPb8489/4TN1B28iEGNNATQKq2nEqgZu0Gz1TYOsdm/swATHGw9zRSr3i5G0UwpaILkQrA9/uZQBD5VUoYVzWWkmNcZH5PeEFlvflTYX4ZvLdJQ49ZP8M5gVMNxaxu6gOsW+29dEeXzHSYxvBUXCYQDHdkjUT+mCCES197feePMPfu/3/9N/+i+qyrS9/fbb77333i8++vAPvvDbP/rxD771rW/9wR/83m/95u997et/e//+g32/ZWbmjShjV8IxtG5k+WQNr1qDl0UqYSqVeZb1kmRBUVsdRH5yZxGXcPjk3kMp7G2i5Ri9jFA6K5Tsue0D6MxPANAUHBs4YkRw2Gyv7u3khOtCzNddbGEGyzh8s+701q8WvppPFmUgbypfrSM8lqGr01l0iaSvIzkspFFYwTpfv/e0cXL0Hj/XkZ8TXV6qukX6Odn7qTpYwf+04KxF+f9T9qfNsiU5YhgIwE/E3d7+Xm6VWXtXVXd1q6jm1mxqbCiJkobDb5L+3vwDjhmHJrMxmxmJpLhJ3SJVvRR7qa6uzq49l7e/u0TEcWA+wAGHL3Ff8ljmfREnznGHw7E5HA6UZeigLG1yj/UELTYhiLBuJizvgdt88RkEC5gD21bzdEJNRwLSOg47QTOVOLfcGbvoRGonxWaNKKHEvUur+ThtnMFm1/uiOvuqWcvCYPB8jAh52804CwYAhtwUOh3NSrqAWi38iAF1GomZ7qAN2nv6uMfgqpiz5LJ1LKogx/WMzntvhTukx/DAVruxnCJSxvDo84bT+hOQXVNT2ojaN4I9xb9HplbxWvDT0G28Wj09gSRib3p0qfsaP0zFRAPe1IAgnCiN8HwVr5Mt/t6Oj78ewzmGxqPGisSA1YqFrpIlTpVcq3JGVDhiO5iP4S2OsXum+9BsUtWL4jdstrvsZghurX+hkcNtX5P87i3w+qEJDzs2C16X962sgYM6bxEyTykzvRkRjohKUcKyypoSnZwu19fXp2enZ2dn//pf/+vTk7vvPPmAaAOyf/nyZUr44OHd3/6b31uWZV17lYElR3pBY03hJ3UmKFZCOaoZGtruhjCqFcSSoVxEfW9kH8BC0d7CLMfEvmc9JiLOIMNy7hZtOFVk3Z1jz9T7xv7m080icxMThARY6zQDmK9RagsGdveu3g9DRgCQxIAIBEiJiJEBRSAf1pPTs2//2rc+/dVnv/rVr168ePHlr37l69/8xg9+8IOb3Zv333/3pz/9+Ve+8pWLi4v79x6/fPX07t3zw35f8ExIIYU0NqLGaCOU9AYA9bKbP7Fxq01ImsQs+GqLh+5YndBsiirikKTvOmCnieVo2lT+Hwz6OKeIYqdTG6FXBC/2gjdSZhTFFZw2Stamj2I2swY5rTqTQE7xq7+oNFki8aBnFpxZ3lU0DTw0lfYF7uNSsX1d54XrK8E+ifzST1Mr64/ZaQsIapIdADAiQ++ge9OGOrc1x/FMeb77MBXZ4wOORBFhqMlNpdYIq82IlBLTiOT7+b6I6mY9DmE6qDiF/u5IVV0jOFpsiABJl1uxG5hdlvUcPDjIFnJUhlGBrZnae0S4NvcVlt3K0J0ZqDFHRXYigBTPuskGl0HZR1098QDishXLThQXn7KGPQz0IAQyCZtp9UrdLw6PTbSaXhzWklGqg5k0LLrMREDkulWlF4kjhOM8xn4n2SQAwNLh1UPoYQj6YSJAwcWcmN9RJqaMAj5KECJSEyqKBtSvVOXyVLJ3TU1vouWXlUC1xcIho8NI/5aQemwNqJ8pZ5BRdEyFick1GaEN9kHlRDOaAaKStzbKKKwVGGAe/0a0hHlPjvZKFgLuEe9eb8Y1s/mjHPLe+yOShiSxYNn65BDWrF+50BWjxeiICECpNh+arVvJEwkGILrgrOtSs2lytfgbONtCBGjRO12ehxoZNVMZ2F6gdgYCACzLNufDssGbq0tC/OiDj9ZD3t/snjx5stlsiPD1m5fb7fLmmi/O79y79wCwGjoYgnqLJykACeA7ZAhhLaUPQztHx/Tr9OpYTEQ8YDX8RD7FrW7q0zHHBo1Hgo07uLRNY3b1Fgsr55w9vUkTa9ruDzj8IxIKwBKfjOlEKN4pr0Oa2/S1hcENMRhS+ncxzluQcEHMmEEk87rbn5yc/c2/8Z//fz//n69vLm92V4k2FxcXn3368+/+xn/2V29e/y//y7/4R//oH73/3odPn352c7PfLORrCaizbfV+6ngbM8CjMQEQMMVcGp2CLgQfrPZhyADIzVEHG2wNWRToQmX8dQ+igpZUTJ6LZYipY2lpzFBaYw5ribSqa1ohaY307p7OuJqaSV0lQf8UmlX8NzXm/Jno+AfDkvMOmuFeGplVhYNGa4iIQCO15qHF0zN44St1HpPuydp+sVOPaL0GJQAAi09xbU6DoBKInSl2csFySLQnlNvl1ET6+wZisNUiEdzSjsKT22D3TrrhQCtjU1HoTFWUPWlxz2a+6G3mXuoZzbjpUNd5UmIQ3cCqnGkxKSOw0eYDEDKlor82lCciOHd9gls7/qT90CiwAEGngKmkoWjwoywRnXM60toLJdLUFH6HEQRkqd4L4wTdlOeib1QYOplKUFStjqxJGKTGDaGmOZtOfXzdNZP91JRhii1+cZWMujATcSNbb45H8SoeC1l0seMzsIfeC8uE/eIWPw3w/tOxLcJOsB57fcrsaJal154euQ89UXHreYptdqIAptj2Xdpw7kVYUtAr0BJ82yxPR+EsgEO80Ftp6cgzulGOI0jl+ZAFoGW36SxPQWjISUcaj5d10AIAFO4LhpTxmisnY5CaZcgfxrAlO92VmuFBUe3SEsGiJOKQRxTNRzu0fzgcTjYLr4ezs7OUToiWzz/91eXrl89e/urb3/rWuq7Pnz9dluXFi1fvvPPOQhcZD5rxA1TMlMEiS4GyQX4w3JstYrT6ca3KhxbzjZJGqKzqNwG63RWTgQJWmEwb9VeYq7kV2sdoCne83HITxWSpECYusmfXDmIJ1xwNFOemKdc4xw0zS54GauT9KBBizKZLfsRa/64TKeUAJSGCGnOMAgTIzDkfzs5OPvzwg48//vgnP/n4m9/81nvvv/OjH/3w8ePH3/72r/3xH//pZ599dn5+utmcJNpslr4wX9GOwenbsm05nuiKGBMiI+dGUDic5G6QYiJAyGuuNMblV50aQuBGzkPxM3HHE7auwaq1Y++B3QhLlA6055hFOsmmPho3cnR2JiKaiCBG8gSt0WmEwCy98u2uUQg3ZBnIppJioCM97R0B7loAKKrE4RxZo0Xv0a8dnduQyZWO88vYPkJFnQ2qkdXdtVQpU12MarI3dq02d8yqgEHmziQ4TJ8cf43z7TdZY73NdgfdYlFdYlcH2bGOYrPTz04QXbORIlfpy/bqQpNgYpoAQFgDh5JGgtIbyrUvUf9rUAOIaILMsVQez0e37OM//dJwFPFjxkP16GOz2Kgj8vYKrqTIHc7QrAYp6WTVU/AlhiYoOXQYghzXpBGFtQoEAWZwG1t/qtvcrVaIdNX+2hQ6EfNITKUDmMdiRLXUvqCYRwggGVjNrmIDoS1vBHLhLCGP0nFei0NwDCJgK3Zp6rKN+myUMscYM8yLOmkKeqGVNd6yS0mAYoKWr9zzS+y7E+Idbru3pnJzHGb5Cv18xc9hCAWMFOpCNO1a/mwlSIByGg+xnNcsRc514G3y/BbUZhT9wCHmdGvosL1oDBWL7aNhNbwwX8C3niHfAcut55NEBMiYsWtC4Q+l4PUSSz4J0Ht0oPJ3Q3uIaIexokhHMDXV08PxkCQiEuB1XTebi7tn9/JefvGLX/zi5z+hM8j5K59++smLl5+/fnX5/NXrD7/01Tdvrs7OE7IsOlIBRGJmkqbfME0Twx0GtEcFFNXlSIojPzqdiEUU22MVXY1umtkfAVHQZR9qF/x1UYfB0ImteT2a8ddgbDVKZGwTLPnEmP4vyOdFJMcuIm4rSLEgo9TREU7wgBY/BUCAKIiAlMrhBMi8UsK//1/87s9/8bPDfvdXP/6Lx48fv3718vv/5+//X//BP3z//Sd/+Rc//O5v/cZHH34183qzewXcKmsAQF4svfkouHzTjwiV8MOZk550yeyBQmkkxtF+MkEj/crzDL6J2oTKCFgaoqDpJOxAdoovUS2SVSau3xtkkSor0CxICgUflH8luF/r3A1SH1qjLlILAPihjtgMAJTT7XWBP+HBOi92p7Bh2OXrCKzTO/Fmd/lr1gLe/vAtlhXUbI9f/JqLcb8W32p3DBWLinXYHUEAIMMg0vX3EZXjV6gWUr/yKJyPUPWlrvJVWSrtSt+yCGsqpk4yRrmJjf6uYHSCdQptN5bbX1EETac2AOBFyAHAghGn3dqyBAB8j86+jgFC9eyBX4ioaWUqhq3AobQitWUwcoHVwQ+gZpp09lD5VapXNVRMTI2xa2sVHwiAYiNu7pFRlAbGVQ4KwExiwRERwvLdB45YPQoqWoocDg+LdGEq0XOJDuq4sxFQpz/FTHw12H14WLmgF3VT4vH7I0lPfzrW1DGBhdhshXfPjzVc/C/acqR+xf4xsEkdwe4gnErYY6joH0O0g76hfCCAxvp0e6PHrI2u/RGfEySP8JV3GxyGvxjbEZFyBm4Ymu1r9TrPnmkArkPwEvczyBChdc0uBkYMnCsddgiJWKogyVswgUfy5UOP54mR6pfjqnsRAAA4Z1mW7X6X77zz+NNfffYnP/jTy6uXX3r3o5evXhzW/WazIMmHH37wn33vN05ONuu678S4t4mGoHoTnGw7Pi5fvMz7Ma03djTAj14NNwy/P+QQBfgREaGWTTpKkSFdkq/iRmESz/80HNrytcyMewcVEYH18CWFdEw115Y9vABw18IwrNqj8Fy8xN7JdROYV54QEJHKCT0i+O/+4X/9T//pP91tNnfOtptNev7i2bOnn9x/+PD5s5evXr16//0v7Xa7NV8xM3CJzBbRkM6ghaVJzI8kIClSAqsz54hB0ZCbOtcbArSv1VSgznEJhT77U/L6mdoyqC06SxyxNlUyW5pY8hgq0+lFr1HMEgb18SgciAiHiiJ60ZFKzwPkjTS5jTCCP27Kzp2gvr2d7sP0V2jxrB/CGRXbHFMvY7/GKP7QY8ItCvkxMKwzt6DxuNd3BABSImdOfV9D3zJHq8tXolW7xHF6Et9j+OqY1l/uhucQj7a7Gu4YtKOP+JgwvaX98erAq1n5LFCkbwrCatX3OqFmGZpaCSPFtCwadpMnHjVSQQkze24cmjP2OMDwmaB153IswCToc1XHxZOANv/ghEGY1HZv4Zy4G6XwZTG1GxkYOFy/l1egBrl3MDiFRKXVxI20lUfZm6w+MN1R6TEJ7R3Nkx3bEajyuNADIpQ0f+BCEABYZGlj5jqijfIIi3dnspBAxJIzbTCURwFXMWpXRzPjGVAxjw5iqb1ZXwyPxdZkYCWYkX1HtFGoFRQFOu+eiRPtMj0GdMXGa/IPMAIDgCCyCrmGyJMpp1CL0pH7RoQ7qCO/hHbQ1q512RMfHqcSjkzxABsiNj2KeijblXDw5BiWCsWGd48U+WpQdET+tIiKexETOgEAc0w4fbnDPiPifnd4/52PlnT6/e//ITM/eHDvgw8+ROGU0jvvPH758vlXvvrh2dmGZR+2zltgXMhEb3ShjclxjjkxEEW6sl8BPMnmYHQKN7OJtqc6pW0IOyrDLE/PxpSIlMgR5QFC4Wpbelu6FPHcdpXLQuCyN+imWAypVRmb8xqRTFQUhfSioMj3Tkz5AzmHXakWgJFr0KR0SS6oiVHVG005EW3SkvPhS196/8tf/vDnP/vZp5988uH7H3z+/Nmf/tkPvvq1b4jQrz755dnZxcMH7xzyq1LT3SVVYC6j7XiuRpBKJSWLrmYiYoERTmvEZrnuuJZ+YLiMGrvtNVupBORH7MFAb8Gh1owFQ8hNQLgmfiSAUierwO81iW4VOMdgmArMMEqAIAfe2r7/6muDmDl+ikwI/OU6a6qSnNSbUOcvYjEGx409qQOhiIfQXd9g10UP2P/nn/0/0DSiTaSISEobZta080REzZmYoX6HJa2MXG0QO0unSC79KeZw+LrL2NXNdwmitWajzyNZpESXLb+9qhXC4cexu/GniG4/+hAyuANiOc036u9VVjQURJU4MlLsJbZQoIO6rGcE9xmHh+tBZj/CFT1q+mRaSMI6pDKMKhICCa5W5lpJsaH4vtbaVJJ26O+5t4CU450m4boflkLs2UaCJaGGfRdQjoEyp9Pa1iALnUqFP76bHVc42WhW7mgoliU2i+asWtpKhN7RmC2nfCCMk9WRR5zEqVis8x4yJDT0jwCDdHD4x6vkym27hnZqImE3U9Z20U1N/NqhFwAQJjH6iBgjO0wE5zjwVkvVgm5jUxXnQVIdkw86SpcJAMC57mj5WxUGM8u6prpagA5DpAeJ0TXQ5BWuDSIzs66iY1OR/CCQK7aFsewn5upFKaQuZnlN8VbKHQyBgnG57ct1RBQuayS/w8wpJWVgpRd9q2z62w6YD7P8mmV3kDXDb/z6d55/9qv/9V/+82W7ef3mChe5c+fOsmyfPn16enr627/92zlnZt5uT5dlgV5JQca+wF83EdSdTuMeD3GuOyRAVNJavMlDCmfoFBH/gaA2CACUIEoqx0mR8OGEX3kr9YX2ioQM8kRvFzrJzSH4KpegZ9sI1ciSTgn9uEaOLnjuBUiBFqqq7QSLvz5KSzIT0FFEwsuyKAI3m81+f/NP/sk/efnqxePHD+/cuXN5eS1MDx69f/fu47Pz+7/27e+ebunNm1csuyUBy5pSWne82Zxk2DlsinaDLaGVkmioOveqvECLzeZDhTOs7iAwLwTeAQCB7D+RVM0IA90OX6vB4Jl8R00U7vQnIkyPhCmQ5kWfkSj83eqSNuI6PhlfX004OD5dEvrAI0KGrDgGW5rrC5GGPKDlXwcJXV9TA2dAUbN55e13m0vhFYYJkhtHqhRPSnklpUpa/vwyjkovL+EGRUbEcDQZ3uoZeODPmjU5ijZ7u6YljizaDrh2bNEzRZGYLwMYPYKk7nB1TfnVSczoVpxSQC9QlPhkZLBydKZMf8GO7xjEBP+DkdR+Dt1NZJMfD+8awRDgFbBcTzcXyhANLSjpcquOHhBl5MsdhH75FMcRiVfWnImG43QCnetIqTZwKUQXMyIqJdivfbPm7QXzoMV3RzyHVX45MqStxNd8hOieEmmSe7StYTe6BvjuzjFmDIO97YFj1N7Mu13chug4nAPxj8x+tP2xryjpxlc6HRx/OnanUyFO5xjg978RJ3GnZcxLcEuPU5ACMCMB63qyb3Akj9sFXWyziJfZk8OdyWrq1lGoBdmd2KlnBwEg0jDaIWBHvl3K6iM24hgb1ogE4x94kBUlEV47XoSSTDaljazrg8ePrm8On376bFm2283JvQfnn3z606urGwBYluVb3/rWvXv3Li8vLy8v9/u9iKRFa05h5ySa4bPB3ihvO2weYxa0pRcixoCWKc9iyIkRy0u4HO54TYfSMWqR20eiCPTIpkRfi5Sfu5bLWwEGfVb/A6ocBy17jqi7hbWPCoTW5HU+ihKm+yshoKiSKODhcFiWZVk2OecHDx78N//tP/xn/+yfPX/+/M2bN9vt9uTkDGC9vHrNsvzlX/74e7/1G/fu3Xv95gXzXg8iU0LmlagFGMp+heVir9golfLCsr8dacMv0JoZHa4QsZ1a9hc1Nt6lHwCo6S/UoBorGbjok2SRHgCR/hVjPpWIE6UAvsAQ2xz0XzvWLs0OBkDH/rHx8f50LPHhyJ4N3R5h6jEbzNisiziiatt0VpCbWxAofEQX1JmdD9m77tSEtJe/uzADEbaHSBCgJ504hhmUDbsOlNdE7PWiTY4OI3YdYqAtd6VUJhEGjYfOoAtQjGXnmt70FYNoKrKPEU2kzmKYNuPSscOIZUOCaqamYpTnrY8TDHaEcWZIl7Vyd3zBS2aWxQuKKTwfUWtYH1mRa4EMZBRgFiYkhFqbaKTpNgjIYaAYogBfxOhEFV5hUKYZAowZACwIpIy7PFmEQ5Ua4Sh3YYOOqyOrdAhxQTnVeQ2EJFBJVK+SsH983rlDT99Pry4rlotU3bMst1rI/eZbkYxYHNM1KdgRVerteDaM+CsM9DMKyumTI3jHxPcxxowNYOvLjzdd9sX245Nj+x0ZxEtEjqQ+GB4OdtaUeEZFcru0iUjz5hBRD6XV4ZSbjZF3rF+j8MLSAACQkMznqs90oWg4Qc7YZswpUd+tyruWXUO7bqFYRKwbQYG8vTURuVl5v8r52Z3PPnv6k5/+LDO8evXmcrfXZO3X19f379+/d+/e4XDYbrcAsNsdRtwyM6YUJ7NizD2jgkNexYnV3sxXq4y7nJ6dRu+amsYEo3kmRupVZLJgfF4/RWAA+glC99YPzBu/TjlUpNjIo3yISZ86HuxGar/2NaTLr1C7rrk7j4CEiFqb0PsiIhJAQEpJUXo4HBDl+vr6a1/72re+9a0//uM/BODzi23m65vrl++8+3DZbN+8ePPZp0/f/+Dd09Pzw54BhPNhWXRPLKpdruvYUlAJlOCZhTQPnKYravYflEj6/FH6tdsJHAUXYo0s0jlvcCJ6yKUmkwhKGcGsLW8tBQ/msdmfy6iYvKTVqv65eavVg6N06oiZpgMfMNNBG2XdMbnaPR8A7M3axmB4m/dqfH0KwNRTMHJQN7rRilhsqNTlEvHtCd2ppJRCxdoBg+HwXzcGkUbSmQR0gzXKOAIAbsmlwA2CNf0iCrLTjSCI0xCQAGtNOFezHQa5FHhokY61DsBUdkxkNNaal8VWKzqGFGApfjfFO/ihGQDdlEWNPsqVr2ySmnnSDzHImMzBXJzJijpVQBU8tmTsyIGatR2GUMEudiMifnhcRMTS+oqUqLZgzurnzpB1M2JuuxTECUBNWoEFw936ilF1zpq1CDcqFqGa4DEktzgOkEBCrk0FRbcRUeJCDm3QMoGwMG39DIF/RHPsoNmLrMc6IQu3pw+0i4m7S//GkJ6uo+4FBdQXTnEPrqPVKLOmqh2G5FKFVbEq2tF+7T4fk6TeL85smmOvHLumjXefG8HaHqbsuF7CjOrzqiCjnI1/o/DVdykUt+96r7A10ckVoih1BSYCfZzHbhbETOpbEFieUU8bNVQkDQEXwQDq/qmShjAUMx7UDwowInKuoX0t3hrCmw4NEUFIu3SDDFtLNzYYqzUjFIcFqjrQHWqAZbM8uv/g3oP7P/vZz15fvTndbHaH/evXr5HyyckJYnry5N3N5kTVEzNvt1tESwoU+SXgEJrPTs8IQF7CYpyGYzSvvdTQIynBL/ltlFAlA9W6rb67GOfI6TPed20CLb/EllV4fnFzZzo8UKOwo+Ejnonj+doDw4QrAaFtfmJcDITdTrtjusSwgggkJe8x6tFJkpzz+fnpuq6Ip//gH/yDq6s3n33+yzt3zi4vL1+9evbe+197/PDR5WX+/POn9+7d2242sJyt+VohJEKooXrs6lNJi5oNJSqpNUJoaCuT2aVWGIXGUutNR7AgQiqnQ8sOiv4HbVgOqQV060XGVo7JBCVbTzsdNjQWM84rPKCnDX210L2ihHpcDhy731HpLW/FX2e6oF4R7RXgWbNRR4xdd1pvVK/dw3GR6TdHBjzW3UAtAG3uoCX8UPNN+svQSrdR1I4dR+Amk6eme/9MTYwaFX8U6O1ASYr0Z09UWAivrgrebjqItyvilQhdgutV0sZhHZopaYjO5gib3fGVBgAIewVHAGVa7nOxg1mlAGHHQ8xGN5FRu7Q4LXCNbF+DBY8lP2iQjJqCY56GMpKvMADaAWXu7bnmq+ExoMHzELfEOluJOvAAYIdEvam6NQ8AtiFZjSEBBjCnEWt6OPvNMlqgBdgUDW21vgVE001Ohk8WQxz0HwBIOVMBAChSz14zM3o0jvUrIuKx7KgVfyK7dVzTC8fugY7Fbhdqs3xSwxxBYRvs5n1gW/112uMo04+1M8LsA+kk5rQve7jfei6vHI9+ifQTZf1UerbSzh/ryT4+VEbNMMqcEQPe0dumr19UjM3ORxHiyoahTcjmuLLUxsNCz3YUp80ev6qzwNvB1srH9qiMwdAY08HMJRGEcggHLnevvvHB+7vDzadPP3nx4tnF2ebk5OT0fHN9mfe79eTk5Jvf/CYRieDhcJCSqm+CQG6JNvKaeLwdgEgRNYx9xkwBEJFjWV1ELGkVlhXIeDUTKvVmQRRiU/lpxnpdIyrl4v1hsnq0tzs5VdcQbkahNE6c/+qOvIkNMAB/69XbHhDmKDLgeNnee7mYOS1JRHa7HSXUCJm/9/f+3r/4l/+//X6/PVnevHn98cc/vnv3vfOze4DL9fX1kk4BCAWXZUEUgUw1u3YD/7SCabttUsIqioro3Dw2rlmSeH0bupTtPkf1yfYMWCdd9acaMdE2NSXItqPmqx9fBqgS1h8YZ6SLQb/lYZ/oEQlTCpxCOyWJ2yXVsaamYjbIh3pHju02NG/1mu4IkDJOXxxaOaajzYgQUFlhcTmkUhhDl4/HqreMwq4jF1OD5OGSGYq9DpEhAYC7OqDF2lPyT1AkS+kIyQ1BQQSuQoebKJYw01ayp7wiBv8sbxOGQIvSkIMUPB8A4IeN3JNdHjUhTGLeGmXaAhIfo+BAmk1+Q1Mw9ewCYyOgwYwb3dpAKy5gGcjd0WsD9xGIiEifJYOL5dyRYVUMFrgiAbCOQCUsyaB4rLFHJndI9mWJxJTPIhijPHXlr4m6FADPc4BYNu7VJDYslzuFxuQoh1NYQ0ap5NGFps4RAaXEsVhOleL6AbAoMX/dmyJo7seuj32d/jSKNiOkXs9FsVIexoZnYUqEumOme0c6cWJjdJxG+UVvAWzsqBPQo/QYrykqbr8ZRyrtCfgIzyiscZjBDniVjmDnXo4JSbs8O8oXsmBGmVDoZ/DoxGsqTKYqjUvWGoMNO3urZpsphqkzfovYccQYOMjb6QwvGSwM/3rkEKxmmkdgzCKZM9Jycnbx8uXr65ub3WGVfDg5vyBa7t9/+Pz503v3Hj988Piw7ph5Xdezs9P9fo0qyQcSNwmj0SAWDcF1hI0Dpbs6hq2GlMW1FyOp4KTlx1CzL4Nb+gHJYXsZ2p8AeurtCGCgyXIGONpA6iaejuvYNcYKx/tT06QFu1wRV+1jOi6wn7BI2iDKRqNKRJLtbtVmkZlxWUiPQeecD4fDO++/961f+873/+Dfv/vknfMzOeyunz/79Nvffj9z2t/s8tkJEhItSASwIiOXmACMdCKQU6JGpaqOwd6bcAuza1PJz1b5FmgxNfLQCDu1QFBx9oBUe35Y7ImIut6d9ZLB0GMSm7fGUXTS+9gwKyMEuzz+FF9BWyd3bx1TCl+czEIjRx+IHd3S8gjAlCZvB2xs38VpNbEGG0BEluEFQhLEJvUSFIPHwTpmK4D31E2DWgDxRA50aQ3FLdE+5CZejIBcsmXH3suHcgT2KKK7lqVFX6e5bdqa13109Wxo9BCLIG4MCUUK62dGwXi0ugBcGS8u3WBKrFr0oWUhRhALPhGRGIVpSw6MKC31U8ikQZyBggJS4xg8F4oEnLpKQ5RyXtWWWQh1OQFCR0i2o5bjlzYgWbBgEgVKaBAKgNgiDVGK7V5mxFKvqNgx7MIRDxAD9nINAWa1xgz4xSRklnrMES30K54VAQBIiUKM2duvyP+RlcQK6ym87LbOKHr0K096HME4Blgkv0523NKCksMoaCLmR6rr6AGj2TTQia3f+mZh2JGAXpPVn3qYm8eOriimg0IrehDa0e2+0YXsH9+ijSIGhuFjh95xOoYemyeDfJhOa4rHMxBR78wmogHShHw/kPBGKSY1KipvylHhJwVqF1IeZhBgVFnILGcXDw4rvnp1Q3hyen4X82GznAm/ZuDDIb/33gcAsCzLuq6IuN/vsc27UuGhnkTrBDEC8oCAYwvFOOSiPuKMszkgGjsvoDS2yRbzGaf1rfQ5ffLYY1XghGzik8cgd3GV0QrAI1UgwNzM4U5oMj4cchK43MPWo6931I09DbnxjtIYk4ZMqKIYUkrruuacEUUO+Ou//t2f//zn6/5w9+Le6ze7n/70r+/dffDo0Ue73e784vTsbENpm3m30AKJvbqwcxPY8WmYGT8tNuL3Qb8ULT7PjjKaQhCm2PZN61tTqQJQ+agoziPuwlu+6t9QF6XoP/0cc7+MeBjvRwECt5K0q8X4cDMRs/FK93X0Xg1BYlMIRSb2AAxmW70f5H3EsGdbGgXyiA1oOTdK7CW+Y3wiiEhJ0w5mAEgpeVIqnaYIImKTltvBisdYAZpIcRHBmBZQQniD+SGkeDX8MctHi4AcIqKlZLYtP5UWoFOcnaq2h/vVhefcCWp1vmjDGhM2UwMD0qGsOpRVEO0g2UiknSljdkkxZCEAY0dUoxo2jecMBlKytFk1Kz2uY1qjQqhDt1DearhPfSoiwsw5Z90yExEvgWZ4q+ufCA8Mniqjq5jza1KAgDMDAJWcolWgiyAAC4OWdG2lhno3WUT4SMrzMNENAx+4zarhxOBgc81JF6gLOytHhthoa7KPB4PAw51k0ReKjO7YKqz1O9Ltmu1nsLWNItW1f3sLbxyL35cjhjtAI2rhP/FqGnT2bdmZBjMo9ju24y9GCEWaBW384FmDul/RXRq9Uqlttqrldn98BTtS5vhTHMUxVReHH6mlRQIO+aZ0I7RxFtZ2OCxaGpJrYBspEAbzrsMbuF0+XIxNwb5yk3llvn/v0e4mv7naHzKuB+T9en21f/Xm5ur1s81m841vfAMAQCjnvCyLpgkeUYRmT0NLsRVaoVGhTOfx2KxJfQtEJqra3+0mlNu45Y6PHNse4z7OmrN/7BQZmMuRXwQAZBBAABnS9epFArE7v5+hJ84C9szxMeKqvhiGNn04Croo7sbenaQiq6ZE67ouy3I47Dabjaq2w+GQgM7Pz3/rt773h9//g0cP37nZfXKz3/3s5x9fXLxzfXN5ebk92d7fbBJLQhRmSWHHHgxvALgGx1DET4LJXHeSBIOJOaUrRGzNp1xJpdm+Lg9T9M93zOgRs6i7YAIwKdbmDBuz70XJ3yjTdiXpz3TCpwOm+9CJSpzJvVH0jTBDx8ItZkJfvQKdNiJWsYTX5gho6Hpa8bq5jgnhrt9WFDTvjiNdumK5iFiivQkpOA8YAYlIwKMBTRKUBdZCSQ8yprTklYVte50QAJgFIBcUILEwVYJAAPBQYEpUhJvSk+kDkMQiGlsoxWAFAICFs5Sjq4gWV11M2IY4ipoFTYTYGB86Pcw8RB4Do2bdAc2OTGQpxteihnUamIEopZTWbIUz2y3g4ghOCRBFMlv4HdcQgqx56EUkMxP5ZkiR9tpmNozYdLpMdjkeSRMwlZvO3ipSbWVMFglVQF1lFefkRMKcS8hNo9WIFsSULEmqU78eKgUAzisRaTRKGYYilnoO0c8l9T4QAGTIJZYEkcRimhXzAryWhZNxMkvZiwBElCya951zBtCDrQkAhCQD2FlhgSJSaxhiFAolzzpjVEuKRjEtqkSISBr+H+x4VB2fAJFgPWQVu5wFkL0SdfYVfOB6AcFEYIdtvWYwmKHv2C5HowHzmiOea/uhkFBUdU72IuKhMl1Aqk+EiCBJTbLabqOPYkhEUMphMhALBwIWX2m7Q9KS5CAWD2RAAoAteNw/6tLpsB6m+kCgl27qdOhCSiKntNhAZkVgMzQfHWdXBk0FnMxjtvjGAd+JdbcduzQ1nTjyF5vXDYsq5hDHcuU6l1BIUWo8awp0jrbuJSLEZMVzapl0ZqYFRcqRUDfKEZEQcs4S1vNSVjWNGyAiUMcd4fTynNDGF6EfvW+bQoGEgLQIU0okKDf7A9H24vze2fLg2dNnT3/+9PmnL68v+Z3H7+/2+/3VtdDZt3/ju5vzU4ac5QAkLAKYqigMulMsEqajExFxw4s7IxtynKAKchGULdWZ/YOI0xxrI0nXTC9cVgwq0lmax/xdnduy7Ay15FJCsLOMvpgEgRUQCE2+lM1qAQCJHu7KIBgKRcXJJdbTujbRbouEQ5MRSxHmaPxpvnMMeTAj/bgEg1Z/wXAl1f9g6XwRAZGoeIJzzkTLuqrWXRAQsiAsX/7oa3/8R3/y9PmzlPB0S5wvb178YrM5+/QXv7x/73EGuTi/e/X687PT5bCGWgT6QQBRNkm5CC2I0I7UUsZqLFlBEgDp88gZziEGsuumtgB4AA0AAOECVpCwjZMVtMWxbdD2Zl+dXiVIQIWXkdUH17jSEWsecEEM8yWR8q2+BCKWApGNgxGIiCXDMF9RTkqU4SJevCXgorHZFM4osqCV9toUQQGbmYW5KBQBKCVjwbWV/i32Z+sYyjlTZbTqzWRm3VHv1KuISK1fVC4BhuJ/wOgy9r5a/eVyYNACAKKhMoOOme1lzLwvYJYrImrhhqgXDZVNVXlVVz5I+6VH9wirvRU/T5bm3uwoVQt4hBIEljUHAiJtYHrXrITKSiLSlRoGm+Cu1I73S0ZeiGraiiswU6jJM0lO8D/AcwuufOwdNqaXaGCMKSoIMDQKNKyqIThUmkIDQhh5uBNwrYZzJux+1enoLqP7Gjc51kWLnMash4fCRpAV6oqPIeIqbKs4ECnRRQySuCwgI5WKCJdKfvFob9n04Azqp0Qs2pFz7+Y3NL89QAWG+Y2Qi6aRH9wPLna7Q04TJI8Y7g3fZsZVPYzKxkklDtA+a9PTZlEjTMbsOuWxchi6MfiwWFwTf1VXeCt+ODbkcL9Zf8aWu158+qbt3IITvxnBiy20hcwm7d/CwtByGQ6ObRjcyaGjPs0oIKNmh64Db94a0QIAtiPa0OqtIM+p0RtM4ZxSaU1gBc5rxkQnm80hw3vvvYcif/Znf/bs6dPdboeIm83Jm8vLy6ubtN2cnHrUoiAic5VpPoT6FSp+mr89uhzQCUq7aRpnTURsodo7+abCXKRORCdOO6iajpBDWrXJpA8SrLw1AlPFtVmQHWk5B8U7HfFPpXRHdd1hze7524m/GSkOd255GACRbm5uttvt9773vX/37/7ddnt6drYRkZwPb252T19cXtx79K3vfPvq6tnZnYvd9ctEmzo6rX6gORxKaxKPn8W+fOrHGRzHG4kz8HVPS9Coyuksz9vvvuIsbEavYyFJ03Zqg8f5+q0gTSUVDHzRIWQoYHQMk41M7qirk/9N1yJxOjrZ3sHPzOqWGbHUPX6MEsL9eUdL+zwMItvntb8K4uwXzffMrIcFQRBYGFtIRTCbBzbIqTQekjsyZkFM2Jfm1kTjQnVSEAsLTXDxBRFX22f3InN4hRwD+pWozGxKi9NEsxSDjhyb5BhFtSAhV29WN/bpcDpou8+RuG02O+w1AlrMu+Z3YndhjhpdXoVL0DGpGI4g4kIZRXozLo5OtZRSSAXDzu+jbW9pxlzmuv4pcJYC15HQa1pcWpI6KcQ6VQd8gZAIAIU14h1BKJed4/I2QMljaYfDFLGVjVet02nKQIQzgITYegDoCo118zXKhVE8xUuwyY8WRt1gFc2uRVsoVgA6aWv3EetJpwqP4LH2W1LUxVsWi1wz531kn9JGeySgJQzqLQA0bxwOka9jygJH2y2SMQrH7nWAHrFHXpxfx8T6yNrjK8fuOAOOnD6CGi1UMMVzrN8gx0Ag2xFk314pQb2llnCAv5udKVRKCc2gyrmMuX51gheRaAYBaBHAhXMmZIa038HZ2cX16/3rNy8vLy+J6Ozs4rPPPnv2/NOUlg8//OCDD95bFlp3+zWv6k3EWRYUg6qfNUNIP7r+xVuNktpmuHfsmdi1n9XpyeCI5I+QoNrlMj82Ot5ERECetBDHeGR0Jk8ygMdMIhx5YUSUQ0LJBCCA+oFVQJXGBnMch/Wk/9K1fGyO9L7Sw7quX/rSl87OLna7nYiklD5//ulXvvqty5v86aefffjlL4OkvK6bzYazMVdZ8bJK+b5xqNZ86LFg6YtcnZzpzNaalrTcnyyTVJt3ltXIs8pxpNym26TK6aZ33yruGsN3BjCU9ioY3btm3dW/tzw2a7zzFzRj7F55i1a9daUnMl+Fdq+LCIIe449MhN5M3PmHdtamMESJpE8uzSCHJKDNlNw6pIIyII2iBqu9aj+RiOiZImuzZBep2+9SdqlLv9KixtOh2PGpjqxL7PvsisBLcYna6+6SLME2vtFjB60wUkAxFovtWrKSVOrXbeo5ilRfUdknVT87m4Hrade4KEbsyxE7/Q21saz9ZsBHoIAuvUN5V+K5MfUfKzYcyRhOw/SdF05jBGxYop+goACOsU2eyGIArFajYYNdE4tkNZT1pxLRYN4j3RrTxxRL1AQL9qpawtmMgLFQggoSCFgdGTTpjCKZiJAWBLbdNEDEXA0gVUNF4TTlWHy3TnwrE43VixczA4vUI7+F3QglDzoj2Lsd20b+bxA86P5e8IXCLvYTdXOoANsDpOHKdaI1rhc7zFf7oL+kATgI9Im8i3wXht/I2eMWDPmTt4u4DkVf5L5fIxhxM2F6jRMx1TeTTgfXVNuvdL/WO+HMhqk3s6vsEQFGgnKCGwTK+W+hkskKYuMyLlRcnAoj1Dg6tRYEgNUoUptBQGoWLGTJCy5MQCld3xzu3Xm4pO3Tp7847PZXV1dPnjwhkB/+8qc3V5ePHz/8zq9/88k7j3PO67pm1ijNo6cLejPBevRp7XA4YtJfmbbfPt9Q70g5trRwC6Cd38FusGa5PxpUZdTEoPEJrdZnkazemrffICRScktLuQFA6sR5BipEZJw4pBUeEeiYpgqQAdNTRVGto9CFj3pqDx2YiYgzL8vya9/59p//+Z/nnDebZZ9vfvGrn5+dPbjZHfa7FTELrtvNIpIBBJBtQ0hjQ5BlNTvHRb4AegVxv3haeqkCPIxrPGPmVjsYajrZFb2Wo7UwNT3fSrrdgcAol+LrUz6Cloq6lqefj4Fx+yiGThsWMxNugDn2ewQN2G4OT9Xr2HLMynXLWG65WZOLhyUpIi6V+bFJTeqmM9hCCtUN01ttBTsWQhDVjC7BUV8tqlXIe0G1tt0YCiOffPCvAJ76oBuzUFh6SOu0Dg/W3oNH6haisfmusZ4+wqJ97GaXzHXKDF4iTgUfiyARFgc8l7pXYkduWzAAQMJm9KhIBroBK5UWHSqTw7sISYQRG270Zm24qKkhelwJgciMZyeXy9BeAaRSvDkCroIsABNI1CYbMYmGr0djqBywCzauNaIpAEZ+cz1ks1PfErQx2o6EiC07KxqpmPhAwizAIqQF4FQ1hvZBLN/zKFXD0Q+EitNiE7MIllN66Bw6JV0OMe7xZmQr/wGbw75uUvs0QJxcPYXckZ9/1nbU9sLRIhIct1zGRgB8gVruVytBGuKvU9alfgMYCXLgFzSyqXBOldz4wO1G2xHG729OLYmOu29RqKpNp3NRUOFUPaOTDoEAoPnE9BUV+YqfkjqgrO3rWGJY4DHu906lW7bdrqR1PWD7f4KQCisJAK9rPuwO733tfWR8/fLV4XBYFjo7O7l88zrn3cn5FpI8fvIAgK+vL53RIMTXRaQds+rAlGCciDCceYjXOPxBlkoHQIeljnqlebc4dztjyC4Vg12MHMTuRptDetE9bIKpwJfeDzqj3mi790GJZXRB/3aIati/NapGrpzyDswuGfbo2k4xZzk5SQDw1a9+9Ze/+OTq6goBt6fbm8P+yXsPznZ4eXl9cpr264p3tkuJI18FGIK+KKH1kDVnJwCUbfkiYqobuyyKouvd2LOjpCMUkuG2i73PDjOmGSdIExFKR43RDqQvePOL/9SI9yMzfvv9kdJiF9HSc/F1yxi7Hg24L2TeaONE0QU+sd3jYI8plPiwBErTD0sZXmu1T7qpxmr5YFxdn4LG2k5ENTyfEVDaTSJCEerKmIpnejcU+AfxaSggEVoWkWZIdgbfswREu03x32nHkRSaO5REey3ilAxS7E5g2KuNmA7GBCKCSPYwd6KEiG5r6oJETT3m1ZY94ojtEC6t9wVmJBt+pS7/lEmJbj80tefRIz2Rk7H/JIyz2MRaRxaqxd8DNkW791bTxypyyFcsQd9w9CoVc7MUzHIIBTKLWiTeI4O49eizAwWFGOpqgag0ZQoCr/h9sawrSrN6pCprbRZElCTipxcKzUasZk0fCeDuKCg7xAM6C5zmXUahyORWhKvFZy/x3SDryoZ3mviYOgxqHt3yGJ/xz6UXgbg5VkUn9mZTbMce1jvcEYzIpHcJhnvk96799k7vf1XfWMCk6r+y9TEqoKmdMd55q0KaPuZfb88KL1MDtOInwDADw18X0XSj6EoUTX5a+vHahR8IO4aNDgmlx/bU73Q4iKh1HMtRTs9wwgqAIAkBrytvt9v79+8//fzlj3/8V8z8+PHj/e7mZz/7yfXNm/sPLr7ytQ/Ozk5yPogIpYSyySt7xZgOw+XrEMdf/k5M6mqARjvY8dkN/BiKHJkiVuQu9MteGnyGqBGNofEatWKvYxSt0AVttnqhZ67ijG/QE/EwhH6xR4M4dUUsoddaaUWWHtrrxtXN0RTC4bExJA9EYLCKywPMvNlsACCvcnZ68fjx491ul1LKuJyeX1xfXwtvP//8829842tIJ5fXl/dO3JuQAUQgA6uhli02ic3pE/ZAsDf8poYHAPjWtzGgqf1yQjk6dqpascGGseNtvUyvKVEFRpj4JnBcWnzh7sauY1MjbXeT3nEctPR2rAsVibNyb9OHK9c7h/rNoCaOtmNNoevBIzx727JkOvzF8g/Em01i/2NXx2YqgOxIOCIiEeWcNWVhDAwQddxLdU4XgyzUrekGIFDsfjcrEVEDB9RO7wr83aLqjJe8fae3uK5A02etQDcvfgQvaFYkQoYq5NS5iwACkihZ1ppGQNd+Y1FN6vPrQ0W4q4SOYqQKx6A8uFpO/coPEQFSTV8QCNERGOAMaKhWfr+U7MpFdX/HZv0rh/ueEs4N9/CwYaAUdScABiUGZEDM2YNkAlRtLmrFlJemiuonGC4IAALU+ZvZiuDWQkwaPs4V/2KnO7rGux1MlwgwmWWAMJVQLObClZYhDkUkBbsNh8+j5usk3VQ1xquVNVQxc9xQ8w9UNi6awLZiQ3zRYgsNKhDrOUtHTpRrrVLvd07ssUkgTfQYdCiKd27H5xe5RrPj2M2uo+7zaNxAiwr9DmbKH4On4I2aF1WeAAByCQcbQY3C3+koxm62HNjIq+mI7GIAQRYJWQ0ARVYGJE2BkBZ89/H7vMrPfvoLTdD+/Omz129e7faX9x9cZL7ZbGXZgIgsG+K1JvkpBlY/awptD5oiITomoq1gdRvmHr7OSrOmeqvCpc0ELTVsqWnHtNXU5ju6WI3Aty32Zq7+a9NZn7QMUaB/y0CMTso+WLEWNWiyHc5g5HU07+PqhNItrNG1b3+PnA1oK9r4ZxYGocM+i8hms/noo49evHiBmM4v7uUV7927d1jx2dNXf/Hjv/7Od751eLM74NWyQYEsIoBqu3PR+MhScu9I2NaOtns0MecD8QVzo61EKDKTqUIMnqz2p/7qJPOU5CZs27w7v9/ZgV27t8zd7WLwFrF2TOROrd6uZWfb2M4o8P2zf42bda06KIJlSqjhDvlpn1GVtIpe+iZaq0mvepIy/uwCYpzLuNuucLtKheo/KI0wcy016S2H1OOVJmrE7GQYYiFW/sM4JSNG5qgMRCgi0DrmTR7BJIhOGgkec6s5uojUX97XjBCpIR+IFFfGbvcTJYRmM7ebrY6TYxfTD+Vvw2/NesMeXkRyXAXAcIUJsfaFupSaABCT942QgBm1MPCeiKAdZu1QFzRq8wFhuN9PNwLUOkrj+Q29bKElaKk59Q6p+6T3w0XXu+tdBgAWoOSKhwEgodUya5+34Td3HJMSsaf/6WIm52lV7YrAVudpBjRvOSbhmYqPDpixcYjMeGsgRxV25YN0vXRNTUcEpcfmGcTBc2VtppiqTFWdEXjXkXddMe/BILOYk4jVqR4aRzFKnikXdw8fUx5jI92vg7gwDM82kfvGsSEM0yJH1a32FVeb5S2rARPmV+8czRZyRM/ZvHCWsicpIrKklAVyPqx5FUr37t179uzZX3/8MbCcbLbXcIUoREgkgnxxcbrf71UsH/aHk5OTiivqZ0o/eB707qcx3qzINGoIo5u76ejiY/6AngQLekQMn2C4bV6cXgMF8rihFMEDKC6wVjuASJZwpFWbLOTBlZc12aJn3NIbI5DHxEgHiX2d88jtN+NP9sCEd0Yh7KxNuFxfX2+3WyJa1/XBgwfn53devHhBS95uT/fr4WR7p7gjOd25+3C9foVEgCyQRxshdDS3Qd96hVDDozb0EWLo6ww4X7dCYN6gpi/0CR00O0bDoENsa3ig2O7GsYFPuGlmy7bTOnkXAqJG4Ra7iI+ZduizvZUPx0Ni/PVjD3g7zIyWVjL+NBXCt1/HCj8tZY8KoGb418qUmCFujgyxFvaTUi+mRCJqK2BKCACrMCRaLC0rYkIkrVYNZqhBsdUEzdaHer/qBkQEy1OhmQsREYmEGaV6xeNMR4Gr/TvUncCNkxGTExdR6tuOLcWntEDbaVFpJodFhDR2X4CQWFYwa8QnxeV1MdigJG1wqdnZDR3L+vJRazg7GM00lVBshbMk52zphhFRCEp6QSE0kQ2Bjpel2S0CQCJKKeWs4AligRYRtaC0Znd2I6DY0CGXOdhSlZlNYzMAECSp6fg1UjD5/BUmtOOqmoUaETUM3dP72ONm7EpjHonuaCJQQhDirEOgYsULYIphA5rzWDgfCBcp5yxznJqFSBjWnC0sp5wkZYstwVDmxonQQRIgLsejgShpktCUCJFy1pAzEAAiJCBmXm3NvEpGxISkROeaOK+2JQ0IWHfki68eMOco0MHztGo4Jle+R1ATHGuVNBYmiK8HgQvJhUk5WcjuBYhnqnw1WM1oqrICEfXQhTWLiCVpldga3w1TjZOpqUJdNImAblhLsDWj4LYpsNUy2Bazb+z4WVg7UtYn6O3y62PztZK9dZ3q5pIEuTRyJehPTs9R4lcuAERMJjxARDKhWcxB1YbqRep1VulKCR05GotFZo+W/OWIMUgGEXOu+cvR+B4ANOG075UlJDvur4xaYk6cYiaVSEEdIgY/Iop5fRBEMhISSEI6v3iQs/ziF78A4Ivzhz/9xY936yXjPguTpLOzBw8fvZcgCQuJnJxuRDIlEMielagjXUQEtrzOrUawuP9+wcOcy/QP+fhBSd2W4aX8W3VqNFyw4MK81ogW1z7snto26LwQKkA0MsysChKJVXl5GmKIyfKJZlmeGLHEZxfscNuLj9FWBSLlLI3js9M+4x0/e+N5rgoMLABa+SVED0qpe2AqsmLCPRGtVppfUjzZigRUsDVXOHPeJOH1Zjk7Zdlzhu/+5rf/3b/93292b+7fv7vZUub96cXpmzdvPn/27PGjd/hke8DLzbKDw0r5RDilLQvshRcAEMgkAEAAmSAhohXyszNXqKpHZ7d3JUSMNQdIACTgOZpG4UNDhyk1e8jajtdPqJIKtIJNLXnhomaaYFfvePETae0NjSlAADvcHKyjYCe7VAcouQcBgIshUTVjVK8OAHPdQBM3utrc8y4qTY+ocVIOGgiUEJDSeCKvd4GImQ9xUuoZ7rRI2bXX3UMkq+GjelcPV7OmR1+SZHYzqiySMSEW9i9nHVQliZ/eqSMl81/AkfKXjfV57JLBHIx92EXQFRkWwja2S0SAC47GPNzlgaES2K2dljudIL5lOCMKxpYjmTbMM3cRTaDqwDgGT9Dxczgdkqi5o2qJj3V3uq/WVKV4H3f859hIV1VFaggKAUA2kxl8fwYAi4vcCzEBQNGIQohKvADQrpEAQA19822oVd1Pa0Q1Ea7rqmpABHJedVDMvf+yqy7UYZ4zRtsRi2uhOczEgqjWp5CAyv1qtWvjK5Ss5Ki1acXTxnuXKGilbkQ8Fh+xbF8EAOKCszMX2HS3CazK4jqHvd8FoFadRPNYzwhS4r8yUO+w9K80ORJ/lP4hZyV2z4DtdYyNdHrL/1Kqi1Uwwk4pdRFHDjZRv0lSCrBxY0lCW50eiiXsWK0KBkK6JxHBkAM+4GoiMAu9NSgV0ILp6B7NBsPTFurPiCLolDZ9Jr5bQcLZzS92RYmkarAjUf3AE99Sw8Kj5GzpP4/DTyiCsizLnbPzm6vrN69e73Y3CYUA82HNh3VZFkry6NEjdaCOkaxT3RFhiDDbTT39JZ3hCMFuGN+NUtfmfb7zANAbIlgSrCix9VRtq6Vx1sRHGeRBUbMjnvuXxQcozRQ3DzgQYclg15TwOgGOZqmP6FJpAdBJ7wrqVHqbSKyvuF3RyY3YTvcZsa5IU0rLsty7d+/N1TVIZl43y+n9O2c54/Onz9598g6muy9fvNgs+7tnJ5JFCXUcO6KlnCvIaUwFIop7HaPUGhsMq6NaKG1kotrO8SnoGj8mMfz1osjC1ByhH4AB1aGR+fNT2KZA+pCnfPcFhwOBJMrz4S1praxjJN3yY/gqVCM4Gnh6r3cDiS3Yx7HEJztgmjzuURNLe8dY62jTERQAyILRRnS3RDepcdhF0ZYoL09P5U1HTRyk/EwBwJH5k6JtJs93sju+AtDz/6CTIgJvO0w2Nu4kMv7k97tfA+T1zjFujPfjGMOOBALYKrIdV+xXxxVb8/MM0667qC9vJ1YqBVt0ElHUBNXQK2a0npGapNnpWD2y38DqzbvdwwFyVNWVS2hKsmfL81ZmUrGn5juLSFpKa5TBjg1kCQyFAhAM93VdKwtAwlTkcoy2V7+749NhIKnTp6BnkFR1Q5NnsLgoakRELEwYp8YmnQVicpuKq25v0Q7XdqZPCNEpKG3zIDX0jJrmngIkxYDQ0rCaW6kEWmtrNGGTSjnH5YBIPUkMeo4ijhF8LiC+1bUWEdXdP8aA3RWfV+4pGhH7ZyamWSupxM5kN33NlvSDfJgYZL2gmIHfPay0rx885O+YTMNhgFOExCgdpGqkLkiCQMyZcyJ49fzls88/vb66gvUaOCeU/fXNm+ur7Qm981vfuXNx5m5daZd/U3083g94u80UECkQ1uc1n6WdpA8quXkrStpG8mORh17NLT6AiKAe3AEioxkBgGL0i/p3Pe2E85BEtyUWMWIRGlRmswOsQwISeH6nEUgRNWH8GFAN7q7yv6BrtHLqZ5GqryNdNQ/M7kdI9A4lBKh1Q3VeRFitaKJSJj6lRLR88MEHf/njv3jx8un9e3h6986eD3fOTl+9evPs2dMPvvTO1fJSeEWk7cmyLNvXV6/SgrZfanINYkf9dYy/Opj7VwBgtvrtBODt5Botrln7t10dg0zhBGA1yuosHFuxDqMIimliwY9C4xjMMrOmtDMY0AWoG7NNj1V8zWfhto5KU13yj7p+7uOoUVRStQ6smYyKhL0c7RibO1D4BMJhHWzfqk1zOIKpnsUSJWF2GAzzHXoZ8tto9hhwGCq5EJFw30434C+uWTv+H8niFpYILTDUtUH/1qDM6qJo7DfCE198myKZ3KyNW2Hz0BcCl+NrkR+OYUO4vouIOc+di0FANBOXXa3oaS1CABDChZbYVwoVs8vYsSnlva5rSgkR1QLWQXm5JfPEi/c7ReAwxqqu7FXm8npR4Vm4a9afRESWlQiJtaBFEinZZgCguFTDabBilzMiZiA0ZZmWpcBDpDjUre1c+SsGDhtOMnJJAKIVEno3M6jtbjq9Wdu0s4dOLsfICQAymJAFbLzaTVrJjvUGzrI1Wi9MHZTBCo+7ov7TKED9qjt77Qrz2CvHhoy+zgw5RgHAz2ej7WaY5G3smK67MpxOzg16FxF1FxtaogWAGKFRftKllG9/GbL9b5juudrr2H+KkIZ3zOiKYqoww62+/FtEa0k/gCo9lf412KQ0noByziByfXmV97ubq/2adyklItqm5fGD+1/78ldON1u2FbZ3d8xk6aDymXrrw964t4wh1ghaEqV4bLeOunwpXYOHt9VKiIE1ysRJ0MhH0CieFNJDU6Cd2fbdunkl7bLfLyLoa4IWS3LCsLegzinkWHqrYwwYwZ4K8/JZ3YUl1A3DnC4AgAk0b3XgShEBQFHLm5mJ4PGThz/5adrvbl6/fJXwlPD0/oPHV1dXl6+fr/svEZxvTvje3bPd9esf/eiH53cvHjy8d2zUJn88yqWKzVvGO7Y2xjqLiEjuIrWg0tJwZ2Z23wJAB8b0+fFdR6z+GtLBHX2lPDmsdsaOMOzY+JNGQh0eJmQZlVoYDkRG8zN4BlUdVIeQHifScAeXJ+0mZH2PumILwLFmQh3piKN2OMs4Mf61oy1bn/SmpLOiPmyZzStP5rKjBABkZ3rmpXRjdyYdLB0VTP6Obx37eqyXKHMdKR2OjrXWGT2dcBmb8sdip8zS/dS9Ox2vfS0CKErn7mEHQUyfd+Bpos2u/UFqCDNrxCQkb0amSu4WZsa2miy4tpBWmLYw1IdJPBwNLKre1jwWx2ZBFF7/y5qSCIm3z1AHQkV1GaiCFk2ofnfMmbMIM+esJ8RLmCZRyvmAxWYSxWrM5SrisTCFqhFRY8k0N6I7A7rZDFymAOqIUEu8EoVMQUKMSKZ3BXTHI4MPWQD6WMPZrElzpztp7fNOrb+nsonE4yVCRGD5diaGuyeODFwWt9RaSu51fAS7m1Z/jMVi1QFE881ae6N4VBUe2ykbfbbaEQ+ZcCYyWedviSnmyB0RznZE/YuRrQAg++GfFs648SAAlvajz3TmbRJNjDYcGL8Z+4DkDuF9/EiYtVuEr/P7+CC2RNWBhIgpLUva5v2BmS8vLy9f7w+HA8u63189f/7i5OTk8eN37ty5N8rwcSKOiaxRoB0D3p+MExRfvF2G+0/h9b7T0BpHa7lDF4ARIvSuvtjRdHK7DTrnx5FQbdmALeom0I6vS7uQ6zBzDNsAtZCnGxUuyhQbFE5D6s4shEnpdI2oALQhoBVd9jnNOSPm8/Pzs9O7r15+hnCz5sOrly+A6ORks9/vr693282dH//lD4nf+T9+71+dX2y/9eg7CCnuFI3X7frxizwvQUXqiZT4QJSf3kT8CY7PTgfVsbmYCooR5kZf0FsWWgAh7hw0blLfBAhe8CnGIp9Oue8YnNBiTKTJs6R+SUcG1FqcY240G1Q02a3/sJBwEwIQERiGxNw95k3R3MZHTaiMC9NIB01zs4jGODeMEEwrvQhqBq5idgD0Exm/Vuwju7WpacKkutwKzuPs9jbEDDvTr1GyDy3cZtSOtHW0pHb7roTgDQxmpQ8kwtANcBTBUQUeo/LyLjQVyMcsbUeFLyzQQmjF7SdqulXAjXpD7IOdxhY0kttC3huoNCRYwparnspVM52I1jVDOJvvyBzFkZiVbfvp5DpM27fNHKVnYmCGihwuvviSmJ9KIpcMQEJMApwJEQ9ZD1dVx5R1B7rw0H0DICyZ+xkTlXNsdvBRD21VNFbSR4RyiM2PVyYzJYu8iAU7TCDcpikb5IiM9Fyid2YLRZ9JLGmXCvJtKdLLbhGOefcdt2JXvOmXrpoiT0VadaLq+gIAjy2BgbwdJ/EMa+Tukcj1pntSOzDGVYq0tkuXL6+TuiK9Udy93o6uhqkw9HDqley0qkseNIx0V7XRBjDaiRYQmG54RmR1YLeSYXaJp+tFW0QRAKxZkGSDKaXNzX598fzVbnfY7XYAsD092a+7zebknXfe+8qXv5ZS4lBvDtu46ikaAQB6T/NR6yrOchVqxix4RNdMU0cbmwBAPPtdH3DYxhehs4dqrKFE2koo5GtRJWm1v4th0e9vJzudHRWfPyGihlaz+u8mVD/kI2sYaDkiqoBOBZsocfOovKTaMmS3UytehXkfFtW35igyrVRCvFAoJWuTl+Xk7p1HP/npr05OhRLv883N7vL+vUefPX2Z8y5tEGH5/d/7/uWb669//evvvPPObrfrzhz7FU98tmTjlk/zfBvMU2O92labk063UPWETlpTfirWoCc/N9v6x7pemjs44YL4oXvL+y1y9W3yGdp6l8eI7a0DFDvtdOz5EQaIxhij9GdOSIJ1F5iFbVx6MllllGAgj6r75udY6rX0AanD1Y1zPARW7qtZGErVlLVvPc/+FvHdqS6w+kqmxNlnzgUxM08r2I/wj0YDtNZApIDJ9AyG8hQJt9wcmcesgZ7yJPhcj6nq8Ppty1lo+aQoWx2j+G/lgZgQf8ozbYOkPrwYLtldFvZaB0hUT2mMouHIYIvy9okQYBZGSJ6XQCsGdNLfkQOmIMddNqgKtVkR2YsODzGAgs+scZAlMkfDXQAAqRoZIMTICh5LsVnRWDFGqwdis7N0mDSgG7H8DwBIVHJbC9aUo4hIJJgBgILLR0OZqI6C3FuAtkTspOf00mdCgZjeeugZ1n4aiaHrJb4e1XZs8Bjl6wdPojc+PB1RFD6Rg44NfAQgPNxIm1pzoNVs1DYe+xLR3cwpyfWQRBRBWKUEQ5B8e1eOG+7quB9BOjY1o7yCdgpERAJRRCD1e/M1PHOLrgFwT5UmNKmKWRIJMAMx4H6/+/GPP768vD4c8un5KSJeXl4ipGV7ev/RI1o2CCvA2ml30yMT0kLsZq9B0Re5dBdOz6Yfm8ehxzIlCACSgTEa/eH58XzqbRodoBi7MbYCJ7bdIIfLmbQcVGEdQftwbGeiH6FVo9BSTpyO7ldsrVuIC5LBbOoIqUy3BaWU1DQ+F1QwYOKXixoUAWwUrgr2L3/5O69e7569+Owv/vLPt9uTAz+4OexfvXr1q09/+uUvvffhh1/eX7/61je/9uWvvHtzvUsL1bSe1mfBSSig1s1CJ4LG8Y4cFOWAdXHLWvTtpILBXrzlgR7IWwPhAMCt9tvFLIS1VpAcWOSYO+MLZvQ1cAAiGYwtT+RMsA2OybcpUb31Cr14EmLbySF/Bg2GvvbtLbMwFaGghvsXAU6KCXVUBlnoc7/4gLroLFn/nDemqrpr3+EeDa+iOFv7zH86RjFfZLLHy+VsBCmqVX+sA/527Rh/ijdHuhnnDwBE3gI2OBu4eY0GM08QjohdjJc3zp68ErCkkNNfE4lIk1yi7EgSEoFZGCICCILgK+l5UjDFIRFQg+oIpzohWA6IKACZMwAsG8o553xItHXgY4aBWolwEHwAEAMJEJFwYV4t35OqOASQZsVIpCW+tamcV5TYRcHjZik7FSiNUlTasGVwQj/OC+Qwx4lA1KUAULDeFKuIuptMTamjliIqhSDAbH6nslhENLNnMzu3ioumNdvXtu2Rwak21lc3zMRgoe6vxSn1L3bMaCNKrkf9V2EUc0MOXIxg1VJFGvaUcjUFHPxYhYTTI7egV3znv3YHGSS1Ac0ARUVRUPydsgkIEBc1Y9Yg4xrfejom+vo747zEv0UZCIy/diIxYv6YQIvQiogtfBr7DLF4fxJtPvnkk8PhgLhBxGXZnl3cvbi7ICZhJFrSAuv+ZiTpY2QzhQRaEsUQNNXaV5WXNfi+k+H6IVnh1khRiEjm/W0RwtIXKKzwxCyQ4S0v2FkNcZEa7xpZb0R+kesA4ocsj6+vsBYYAsQm2TwLO5YAAQAASURBVEAdmgPctuDpIzt5wpIRyXYWwey0PhclBpsh/vWmRq1a+S70yFwNd9300/ubzUKURODps9fnF/fOLrZ/9fElLnRysk3L8ur15cd//cN3n9zbLNvzs7uPHj7JmdOS1nXfDjysWkWk7K+iY8CH07FJh2cp7zbmpi/kXE52mC+9TF4sbd4i8LtG3np17DxtM07ZMa7vHpbeJpks3m4B42inbZqEqQSIL+or3vIoTAZgJuHfwhBsd+2SQJNtzFLNxPZv+XWhBUVKMcj6ggCFrY4CnxADCObCCJXlREQIPUVoIjW8inBXCCxZpAgIMwtRCgJOOYoASiaBdgBVNTrXVUKRhoGrAivpmJyNY7gOu+YlauSp67aOVrqv4U5VmfpTrpEJCFDqfbBMUliU9Z8BqSsZg2ribrexO9Ka37vcrlAnXiWJe9yMaUGXUdWAZgAQQDvmz10BWilpPkTN+CqcG2aIvUcJ5Y5bSo2Zrin/RViAoLATgpYSAEBE9SyDBcOklNSUjKqlEB6kzbKsnDXyUe1FT/euijMuUxWAjVdCb/ZkeElbax+1FoHWZAVCgYzAiYCsdgEzbxRniJQ0Iz6ALTWrPad0iwgCy3LSzJTRNpWUrl5HmEREMtOCmgiRZUXwRCzsua7jKg4RLc+0/kTVb2eHyKWcFyfjE533ImMSlKNwzICYlqVgL9vWg+Rydraj0gxir+cCGAKU+KgS1eN0QoCcxUi0ykE19CNLqlXk90Uk58yhBAwRL2kBTMwllSggsLDWtWWGlRXHSccoa91qRwSyUlkJNM1Ec7QRsRjxiChSjDmx9WfUNFWaY4mGEmAEco72LBouRoSQRACSBK4WET1ysZZ9mFLhoWQVRFzIFzDiLAAAUrI/RdsLEJGRRdiaMYpXW9isLJW06PEDhTrLryDAmWNad9FEpop/qBt65cS10rNB4lkNpAq/yRVx7mIJESkthT5xc31zQ2mDlB88eMCyu3xztd6kZUkn99LZKSTc729uvBFjPZ1BKmldRTyNapBajRNaRAAFA1tRWSHrwRR1PAGvBwZhhrxKzqKJYn06IgE7PSciIhCWzLzZbLzH0HsK5NcgR1eU/kplwGxJEdoFAxNmCKRednowBUVR3hLlI42ebbLxzC4fIAMIkaLHM0pV+7twQw3+VeHPWnnCB0hD0jAocmA186DOlbVfNEiwkGVBBNB9pwK+AUBeI0VYv2LpIjMDJsRl2ej69j/8++//yR9d7tfDd//Gb370jb/15vrpNe82eLPy5XU+e/HqzeN7j9778Gs7PCwL5fVyg0nTE2MCIV3ME22WnPMCSRTtLKtUL1U5I2vxAqORhm2Ily/Pfb2BZUG+GsOWaTT5U8Pnunl0epZAKtOJRnNMqMz0Z8bWvJfyNXfPgDmMAMKpHkQEi931SYTAgC5a3X4oaj2wtr01Me5Z88o7IOGp4PRujPvOnPPsatQcYA161o3SNu2eH45HExrWvjnvyjZ4qZyg9qr3YutMoRm2AWDhtffbF+ymal01E0zN1/q32+Ix+7KrzeY0p+neVDiCmYHGjNaXjrNdJkbkYowR7ChP6s1mJoLphu3qKqi6gGkNRSrKKwrR+Sqt9ZBVgBtd2F5462o7/hQH0r0yMl6BpwTFYJ0I8SN7tSMYuHfK1dG26B7rup7G+o9g1wmtS0FxN7Z+FbOQIjwe/Be4iBDbHeII6szjOAi1qM1cPpraVoErDIIRmJRQhMj3HJBRIOw1RQdtgjqzNAWjW7OJzMkjvIu+iIraX0jXPsXQkJJ1kJOvCNrNsQJA210nqQkXxiIuxuOzDQwCCCnGDZd9wvaQDMdesOkxru7i5e5/ZtYMP2CGOzMgZhPWZtCX0AuScgZJBDIICvgOXk/2YtZwvHkM/x2i/GvLvPH1Zt34RRqc6lTnr8i/AFD8IkG1YFHwnpiMxirC1kVqNm3mUJVdlDKsMqFlQQgzI2DkO3v56MD1ea1hpiAlWvb7fTpNh0P+7LOn19c3u91ut9sJ8cp84MN+d0Wvr//yr3+0vfjmdrv4KBA9RWPVU6KJzrCn8+6z6q8o/eJPukQEwcySc86rMPPhkKPB4WNJqbKSxn8vC6XUpwQZwejQlgrzur0tJRCuERoVztQuyL2g1VQfhWk66ro6NssADJB8yClAMu2osyLi1an7KYQUdGspRAhFiYjIyDF1RgSQ0PeP1R44SZuV8263Oz09Zearq6vPn/5y2Zz+4I//5Bvf/vo777+zWRART0/O0nb7+eefP7hzFxGvrq7Ssj0725CUk04gCCgIyTIc1CzYQtjYNkdWRBEtEXvYS2OUztnaYQ8nbQI0dkuH2hHV7qIG6aVQLMQW/x4THeN0m7r0z28hiQpVB+Txvm776RgajrTcMdd/gi2nRu7Am2j6DmGygnqrxlmO0lA0WL1LBK/W6YQFraGmZZND1jkVGTnuI6CFZETzEQBiNQr9Wvuyx2K/YLK3kzIAINJEN0KgrUhqcCsXwRfAIAarHbGYSGBC37guLFT692sj8DayUIisX4W8Gd0MPAEQtCpfImJHWyaGkUgoVhxajvTkhD9SWJw7Cvkc+wEM9707LGvriSyIlpynR2z5jwExqacBsd9kTbUvDFe7z1uVtBUUdhwSlSKvdQh2tIsAgLQaH2Qox0NtjBg9BAtWh2V/uHOUgyCk62TEYmffTqt1YhClrbyoZhAi+OmnwVhB88b5Tc0fFJ4f6qe0LYDrfUHAQdbr/WOn/m4RlB0loK1w2PLVoDrCx6VsJSTN02dKX2RJG+tCD+FY+0XBtxPRgQrUZc2LklABVg+KjtnXfl6Q1d/iYvHeltc5fvAhdgre5QYLj4Y7WUWw24kHq63cX1EU+Iem68bsO6pop3eOyRB7MiHifr8umzPC7e5m3e9XouXm5rUwrszrup6cJIF899522bBIFkkxFNBmtRjupX0RZ9Jb2GrUxPaVcl4BBARz5sM+M3POJWBGN0OixlG+0QM5aB82m7mQbL82+m4wOMrp0o6d44gQEYBjvrwpQ8Wfoqkx/joCPH1Apo6nwaCMbBjI+y29uJ7qxGbpVznrlvUYgppURLSuK1pqAgA6P7v47ne/+4MffAKC+5vDj/7k41fPHn/9G1/Zni137j26vHn5i1/9/P13n5xsNpmFliXnA8YuhIKQNzYhjJa3lG22fi00MleH0ohPEQRgAII2qK9F49v1RTcd3pf1bouiCoxbdPWtkd+7ecdqfjRdBH6cgDGCN6VAm9Dm9UhXEzgTtRi2X2c7P06345S5A45E9/oNdWXHugr8mCUiXH3dXwnrmTC6Xj4sLtwjahCx6+atarXtPovZJe7hFlkhbLi0msAPCPpP1U/p4AMYKtqI6m6EkUo6CRXbnBL0qJ+GoTkK4hojTH+bv3lKx9DQX9P7F9cfsQuRuo4eYW7ll/2S2dHd8cD0gwMgA9jTcZFVV/YzrACVQ8LDxjzN1JRq96pyShSHFJMZGjcY+5qktEl2TLvDudTT/d47US89A/wAICiRYgFANpQMJyyhTUxCYksOkxGISKkpPYaYirwaeKGfKUgQdI+97sNxHE7OqDQq04JlkRhK6EvAs71Crab0tRP5Qp2LuVweY5dcc25ihDQN4yt6rYLaP2CokLpIa5IIaV8550IHZTheEtwgFBRyIeCH41UuJX/LdJ65EpLVLIeyVinDbBZs6sJsNMF0LDiLevQre0BUnImAgRGrnfAEAMQ6C1Out3aw4koQrCAXWhhVeKtReKPk6cSjDR6KBVlGpMNH3f7QlVDD6TJpEPRoNZZycODSBnCzPdWoLUR59fKScLn34CFtFr7Z55zPL07SQu+9/+jrX//Kyck2Zy5LakQEEtStmSITHAwNM+3G0omITt/3zwiKYF4l58wMh8NhXdf9fn84HMBi5PwvES0LLcuyWRY94F7CAgclBVBCFgHAAu/K1ZaUrouxY3wEVRpkaAMeoiHVUdo4xcdI0ZtSeHyzyxs5Bl6H29Hw0s8kHc0DYjmSFEcXP+tF0FSRIwJXkkUJoQCABkCqlbJJ6ebyijO8++77H335nb/44U/y4fTi7NFPP/7sxfPL737vOx9++OU3lxevXjxflpSF31ztH8l9QkTYMQsAhbDe4ibQ2DLUeEHLLSjD8muKnDgutnhCaWw7Et9ybX0Nwo63ruVJd51J3WG1nRcK1s7cLDnWeNdLuel1To4ohU7ixTGONPnFr1KeuBrJWKDznmP048AsYWoKwIiYQHIrz1XF+EviZ7fQ7XUHorMEKip6yYAIAIvaISb9HSzw0vHQTlI3oyPujKqMh5vZ0gViVDylzlZ4t9UiyGarlXtiGNdG8loVTNVMUDDtywb3FHaH3hDrNHQW6vSKvOQPN6Kqf8NUz2CwWjtz+vuCRBkBGOelM767cy3jWw1rRaUceA9aDNwOcBypzU0X4tYohtC7QPH/1TBil8st/OIhKNBmPWrAhur59jtise/DKLDkRFIuC+n23ONsQclZf9ETTspEMdNRabC1D7DdJ4lu7AK/bTofQ2wFeNAB1nJ0nQpAOT6OunleAsp7E82etxMpxQImXTAhhoiIOKdHdHPW3PKIo3k0jqsjSJ+7Dg9OAGgmEWItUIVuuAMpwMzma2xWJiqhq8QgItuUKVm64n4dIiLqCbaeusbJMfljpqvhx6lUvzJa6vXw4jERFHDVjH2iCE1D+CuGpWpEAgBAQjuVUeIp2pJ+sf8pYD198lwKDSKoGdHYWpD0el+PQiFiIkJhyiteXd0w0sXFBSKyZCRgXi/OttuT5fz83BAuwmWb0+NNoT3lAlDW856aDYbLGb8jV86CQAKY85pzFvW7H/Jud7Pb7dSJu9ls/FRGKtdG63Quy6KSJwqljv47SdViae7iuUVz3f6Y2wfW8rAwO9JIzBihDCK28PVxxQsxRv9HDTWHTRq2nUzHMeGDiCnY7moOAOjaT2UfCgIwJyIAyMzLsmy3W2RElv/qH/79Tz755M9/+PMH9+Du3cfrAf7sz374zW9+9aMvv88H/uTzz770pS9hWp6/vHrn4UkSEVATTVM8mewd4lJsR3s+2A63kQaiZoxcEzEsjZE3WV13RHUMdd3D4aLYQicN9BrrSPhYmlGMwiGs0I6Rt784vdm17xA6WzWfj7YeYwXR/0QDPXbhBoy0trtZttH0VdMpMnW25m1GWuCPwQiex/2oOG5AnAiRioumOI62IIhh7WAt2eZCNdnRLPh4IYnv8sdZidPQKc5m8gLWunyfRyjVt1S6Bo+ib96O1daJuBqs9rdcI0OOr/dTJhmG8xMw7NQE3fB20Rw7qpo73JyKZr089cfIIzNpjqMfGgAAGYHaEZUroVvQqKmFpRjWjSJxeqCEYEWaAADDyg2gloN1veWIQvf/iwC3lduQRXzNIL4IxDamjYgQU6yZGmVTp7YTNqUV9AUQjE6mERvjfSsalUsDlRdsvIhIlYMCc9XTPIgoDBgiYpFKUEp8pj4sYq760h2jRpejH2pETS50q88JcaJ13PXuPxFW+8AyCHlEVGnEDtsBJQEhLAuPxrCIZGzS4wiXtYH7UBZILtyDYARpu0jxLQknpkY0dgNvf7LPvhBuhCFG1nSEI4JurhJ1nBtWre32iAhGSKRGTDWkG+hwbkxMFYqIsM7UQAVY7RIyXZsAYL/fn56eC8t+fwBaTKQz87osdDgc7lw8OT+7t655WRYR3Z+r2bT05AOAUi/0SkCN8FYkKlNDI8brlXMmWkR4XZkZmEHTQWqMDAARJcQEZRsZU0qbzUaPouplJnuveSOWFEWNfQNiFkn2KRYpR1pwoFhp9nyagJlxUrw1xMYs8/bHSzW81KDQ0pEEIw8GswkCmXbGVve5bPiFpgE1c7Y6Fxp0oe0+eb8klh5XQNWJZ+xRE3NZlnVdkQAFdtf7tGxTkpub/b07d/7v//i/ef76//X02WfbO6cbWmBHv/zZL5dleXj/8Zs3T5fN6b0Hj2+uXidaSIhFmNWMIReDEQPlXvA9HRt1Z2tVk0YfsMz7HcEYVZi+w2ant3syfhgl7fQaKGc8ntFvG0476uAZ8dBB1VGL9d5Aewx4b6qTSIijv6v+GsH23lXvdKaIiBBwy2KQjIf0EQPF/5UuIzYCeOFeaC2HWyZlsBLCgLvPI3nFYRCRWM5Ah1NEoORfjwbZGHXUbMva2akINEfjIwKjfouR1vVwbYeCUaN0amY29iao9xbiayV+H9MP/4lXh94jyjICVll3HMi4WkHSIBZpfxDPPyrWeGsWNGO5JZeop2KM6fNG+AepwcUjMngOYvpzdzeG6cidNdYJsqjkYJx35C64jXQIROhbnIjslg1y15djErFuIekDHsIh4Sx7l9vUAe5EQ5mTW8XrKJqhHkZUMzdW8QipXcpMc8BFT+1WT9ZhaGKgRwFaMr2U+EsAaPLKO7RsBTraQiqNDdpRstOPb6pg2LiwnRMsGMOCZDdAAdRwd3qug45yY1nKKdeO2tGeRExl8RM29MZZa3VMyEdO2D1gwq65P85pp7T8+ZpvQbHXuo2dqALB5/gVZ311OkMCPcclQQtV89gopsYu4Ag967AMb6pEaLNZDofDdnOxCovI6ekpAl1dXampdHJydnFx7/69R8JJOOU1u83j0w0htElELaBKVFLW3oMuGIiwEDADomj1CNT1EgNhwrAR5L52deV6lBcGLvMOO4GPFdR6AlsfBACwms31+SEmS8zuhyCNzSssYYeqkYpKL6OI9kO9HR0agZU3wgM1Zn1KCfH1BuDZKEahPSY/KFSXC+pq+6FWkdvxYRNGcs4JabPZHg6ZcybYCEpe91/56ge/+1/+zX/1b//9cprTRjYpXb5+8xc//Mnf/lu/+eFHX8uC+x3vd4fe2VSgRSwHaF2X1hSN08FGAusEYPcZoJY3OqYRZHDMjXMaZ6GDwb/a5zbAcQa5FNU8Bzs+46MbgY8PQKWuQHIGxXHRMdH1tzx5XGhPAItfTYYiSG+7q0AAo38AAItoncw7HKu9AXLcbbykbkvFOK3PBhgWzXEyerSSROdl+Sc85q/XLByS7QEo1pHYQqQAJmAJCDuCQ0ThydAwpOlxYLqMp9AKgojWlsRXewwNKB3RPCFANVgHUxIGDoldd1+de+PDt5Dg2KxeVFyP5Wis2x+UaOwIApKnN7H1uN8CQ9ArXwjaMEbxHJ0REio5Geu+QewL3aSgHkURaZ3oF/PQF9o2B2TLz405Etc1AT/g6U0NrobmS3fDyY1RTvX4Mvsycz3FH+mB7ahCd3HTDgECaMZDSwNiCkIq65vtEqkufhVBcKqYEWcdmHYawt4YIeYyKTpTRNz2NWtYH0jhbEAHiXfnfm4R0bOnza9lkOVr8XGH46pT9kfNXNmaU4joMceICO1B4SmDd6waH+6A9F+nmixeJoX0nXqzmYK20xkw5LM8UHIKwZfHAHC51zCv+vJja2gxnR0YHdd3aIkLpcqVCDnnZdnqUcL79+8jvnn69On1zTWQ5Lzev/NIgAA3mYnXzMIJK3PZ8rXiRIphEw/sFvdtnBQ/sVSlX2t/iIhVdyjCRK1zL16BiCcnJ2dnZ1giqrNGt7vN7awX50jqoloEuO1uBZOuYjMukjVyb5gsVa8dKa4KbowaDYJIQ8J6Vdgk7Z/bdq5yi/quIxjeine6B7pRxEZcpwB0dTkLgyNghmai/XNd7Yvmta6QnGyW/Zr3vNc9mZwzIkHmzLvv/fZ3/vIXf/36FTz7/LNf+/K3Xn76eQb+P37/+//1P/wvHj14tD/Ifr8e9vnsfMPrXkSIkm1JBbGvkBB6jvwOCRFUP8xTpM7gGitMBJXAOvFY7nRqpNI/2sJQv9b/tHkwlW3cWsNruwZ7eR8gPCZDcGZd2P2B5GYWyLTN8YFbnu+eiWIwNhhHCu0cRVRb2rbedo9NCeTZJDIAMrOx31FkRkgc5qNZZcjmshW7yHmNlgIClmN/tgmr+RZQqKSipISImRkBFiIByJaZuHjFNKoEWQkmFoAw7YIAZUXg8s65udgdvuqQImNAQPclNf2z+6W0TXffMq+WLeRoMvxIapFKnDjYqsMCAOECZRSVRju5P52PThR2jrQq6KHk662HPgUQNSsuMq8QnHCIKKiZtzWDvngyHzEJh4gIenpLRASSCkVJANnMPyI1e4SFgSk4EGthF0eUz5sOvctvyMJouNIqGESaS9E8QAKQVycQIUzFFmcASYvisKQ8Ugu/cIem6m8OTRK0WI1wFh1gQU2RB7RKSPWQWRZdRGDplD0WPuBGx9f1AOSCZwIQM5ZFCBcx9UxEJVkjc9w6R13Ph2VAJJICq5nDwg29ESxhDcM2UtA81iiACIQpIZadO8m612EjLXTOIhb9khA9cjsFO7uOV0RSKbA+Svni6/LUuIUpG8RXWaSUPyZ7FRGdF9Fa1cFSFDt3G3Z7EJfyK0ldqTJzOXxcbTUxQqrmKSIKlrTcS5ExiopA0krnJr+DxRPXPOx3Eiz+LloUh4gI5VBEUGxpY/aIQmj7GJESAJgI3I9AoX4ChrMTjmIk4mIs6kwKhGUeYql5T1DjwtsUt42pbSeGtbiep821AQJybjYlWpKozOgUnmvCq5LhOAMzc4K0nNCBd1dXly9fvn76+Yubm30+rLLAyckpLmvaIpAccj6hTUqYDwyQNNZ8WUhkXdd1s9lkRgRBJCEBSAKMCEuxgV0ogZ6lguCIYZAq6xATLVlYAARLilIiOhwOu4Pm1U5aJmO72abNNguQwLKkZVk0LaRw8RIY+6pVVzQuFDd79oLQxhTZNBcTMYV8Veu6FgKoSwL3/ReUAwjbvqKGkFlZurggzAWexlIRNTKcPoMLv3HnK9AAJUQnWBfFiUODYY0AiHjgpjidd6Spz9X0AICSyBgBYBPCkWvObLQ9XjDsFhrWAnbKhJy03UQkkplpUaeekFASFoB8OKwb2FxsTv/L3/n7/+R/+n+/WfefX36+OdtePn12787FH/z+n/7tv/t3Hz148uyzn//qs19ensLjB4+JGYSFKKWN2+sJEhJKqdtKIm4f1Yx5Hvqi8hYIPeeM+rCYOXlpbUWREikSSHlYQopnREJzJFVMFh9QY/EHad9IWmYv86KZVXuHcQn7CZaa/ppVP7rfHRERhEWymQdB+jGz5CJhEPrz6No2CEABPaSnNFCdOxi4hG25Dag9iXsP6xBEJPitGpN5LI+lv+qCVjpI1FuOziPRrx00oHBVByFiFtQqMD1tkqdx0NQUhQHJIrJEFMCRS8KVQuWGBoNhPgBUnxEissYFowZA6Za9CwsoqOuCfuyvwwqBYrppmz7QCZco+0SkG2zBYGjekQUAppErxN5H7K573hc9zTPB9RFMqoy+8Kitie6pE5qbfHBwxpF6Yx1Zx5MWMgDTtdN9AIDFHBjxZjFPyijFOKUauEXpte1HL8KEgI4AAA359zNuAHRfo7Ei0HydejsmN0cwHc89eO2m3vSBoUfp/nKpw1ouX2f69gKVQiQI0NCAiC2DAeIJExGBVI3CMiJCrBZqIQG2Fdsm1aoWBTbNfl3SWhnAZXUSy1o09N/AEGaPiz3AZDFdlvl4spS9BW/d52amohpBk7eemQfFty+6zbf4uSnRFUKbRtEJw8k8a60C07UfW/C/enPcOOwe1j4qsbUPR+/pKMw76vWAAaeHbpgAwGhLGbTEZkVpJQTdTozIp074dLidsljE2xGpUB4QkYySc6agPpl5t+5RYL/fn11sT09PU9qIyH6/X5ZFfdvLsnAWzrKusj05PRwOYr5gLOez6yqr1biNfckgnCOiCArjFOXCWVbhA+dIEpFaqPjZCQkSUgrp3Jzx43i7idMqbzmvtohia86tcxmFYcT/LfzVfC7bWBxbQECUfivGhdXYSLwjIjXkKajNjkpJikmnD9moJY5CREDqWtGmKHrcGEUPM4EHR2mHXv9BBME8oFb2mAFQF1JSPEuw0LKuDCiPHjz83b/7O//zP/+3T59+9uDsAS+H5292nOTHP/34q8tXgJYXL1/cOb1byAlRymGDEuvFvApV9i4TYd736TVlFmGUulvYsRUC2FbhoBPDqI9eIlobUJxMfOYd/8cUOvTiFCHkmEfEUu7KtvIEAYaxH6PGiA3vK4ri8bHIOwDOx7dJp67rKmOPWMXxJg6hj1Px230e5wja9UMnFbsWxA33DnEqKiOoOrkKKQBAQ0MCIFjWkaEDKEkxUYCQYipQao7WlpVKJ+L911EYOfRoW+Hd+CUcJugGH8ViHG8KeVW7LrreRxKJD4T8breZmLWFNsFIeMaPIYtZxtXqmqDCEvoa9Axh/dcpAxxiYTv81IdFhCr3Imp0nZh/uSf9kUYjqKLZIQdgYIac6dVxxUjZjv/yNWQBm4/3VqMhDqHgeaQ3fWAG4S3yyFf2aim6XoEiRqs/Jgb3jyTXSswKas4HAHNVAAiQHjNlWcvWECCS6lQVam3Lls+biJpIA+hH1LGVGyIAoPZcgwRGad1jGBQDAo6htB32InpVaNYnzXAPmzz1UK+3Gf8eEzId6WJYYPSkO5mIOdgj/O1bTftzjTJ20F4KUpdYaQqe2+4jVGX4LsrF+bXgU0Rr/JUw6ynAoScE8+g7x0kJbRIVgFDanlAXI6n3Oed1u90CwuFwUD8083o4HB7ee/DmzSv1pqeUNssmr/ucc0q43+9PtqfMebs5YaTry8P2ZLPyoTXNR4dIY7gDAINIbg6NiKxq3jGzMGSBDMIMIpjSBspS3CStLcX1G1EiJDBtqMzged/R3EzMrGFLeuZVRNZ1zXlFRN2c1CQ1YCe2bR3SE3MXayHteKOCaGkG+4LlxsgjqLHHyIyRukJfMaIgKr7e69RzJdc1DgBIXpsekYvJWHYtyvktKKYKlI1SgFDVV8uQB/ljjicAOBzyZrPBDCfbzbe/8c2/+OFPPv7Lnx02Z2d3z58/e/bsdf7Jz//q/N7pw0cP72wv3n98kfdvWIMUKuQEAJCa2E0t74ACfmi+kwYayBQvYxMsAynZvQorKaqLFiN7wpELUPY63IDVpGWWnc8DeeRIxEEurv3+vsdyqcAJez/onZYRG0KcYEZZeqteg+6ZqSzt5Ko/xtVTDPHJjgu6z10jg4io8MQCbc39xpCLOgimVze6yjIs3U29Fm83IlHaevWxRftSE5bbrwIgJKlxHYWsIMr7IxBI7IsNlUphMOXvFLOogl76Y/KRSrB4K3tNNloG42BHQmlkXCgxiOHXsF0VbgKYiejNWkyCGpoQjCwT6h2i7EW2reQ4qGAeIcsRImuxVwELUIlkt8ltdAxExAgidWGNddU8j/UfSc2+VkEf+LwB1acPbCsZG8MCIJQsjmxc2ufAbDZS27eQriNF1winn9h0Qure7Xqffh17DH/roEKtAwHkzNWdSYQAnDnjkTn1Smditr7F7lvsBC2AqW5Vq4RV8suA5ZQbuCUhIpYLEQFASt0im47yAacIwWafuvQfy0sjIjBh2C6MvGMcpGzfY9I09FzCdncqgUnsKBe/moDVlIY4uQ2G3UUUCNKD4nw1FTtt1QC6EYDBvxBjDOKLmptm1D35yEqmu24RawX+XmDXNEzWF/iIpORdmbRW8qwLACRGAURmQQSCybkUv+PsYn+L1vdh9jAzivJxeVBYIDMjcM6Zeb28fP385Ys17/hp3m6XlNL29AxoEcGSPQZXSml3WLeb88urm5zz6dnJ/rBSqhMau7a5M/wLahgxgwAjcwlGBRE9HUt2unEVzlnWldd1zatQKpyLuKRUD6oGVAijoKnXFTjwLFm8PAMzyyrFXs/MvK4rc1b9mFIqm2kpWaBUQ4dOsb3QaOzUnuzbD9TZ7iqr1GQjItIovrIrmKAyncYv1ngVaNdjU0qOQbAQVEMdhVVj1/tN4TzkmiUkFy3DhZ579lSKi9byCAwALJiQJbOwrLDy3/zP/8abl9cvnr7c8wEANpvNuq4f//WPEd7/6DsfiuwNVCUS9Y4rkq1atk0AqPA3tdmqNl3YVCsAi0ulRs/2kyVU+BHLKVxomS00CwDIvMYW2AqQF+9MzfZcH/G5GBSQajFABFEhYNGIXpvZ5loxg4X3UdCWDeOm5dRyiM9E8h4pOWiiwtHRQgAAkewK4Rah2im4DrCAwzyyHgB4EogR/ulXI/KmowAehr+AGuPevOmoscNGg3h1y1RiQ/YYI9dtX9d3qK/brhoA6EEogL6mdDwp34/QbJTbdVhk+GO/ejs+DQI5srAtpgCsBM8xjEOL/U5IxX6nYHdUFd7iqXk0Pm8NVQPUW1Bba3xY5eB4s7SvnIDNKgiZdbcL0fbsynvNpipUGHpuN2Yr9lAX+95dA9X1DHMLe2Op6WBhyu0sdPQztmPKAGFGS1OiumUgnXY8oiPn5OQqSkQS9gJOP7DzrNV193kssdNUTGHEREQq1lXkq8KzMLeePvVr5qb2grQPjKKtmKAQ9+vmIqyAXegoBMtVX/wc1RUJTYRDG+E2ex7RA/rR+d3Wd0XCiOZzA7BTvA5nFYbd3E2n3p/s+Pqtsmuk/MkojlxRXEOgdhFBM0o7831s0FqYrASiQOj6GlvwrscnIxpHBhQRtcU82gEAaClnA5BlQWLm3e4mbYl5PT2/S1bubV05pWWhxAJLWnbr4ZNffX55efnBBx/c3NycnGwyM0I/KcwCpWh3lTM65VzsamYGYcywimDOeUkLC+TMOef1wPt13e/XdV23skEErZPgIQRlRLzaMRLbXhOP32hAYmZk0TC2dV3Vdt/tdsxZ4dTkktqCHuNOSGCcDBq9oGesMWK1rnslmAjdXEQKjDRvLZRNAhES24FEK9uCmHRZLm7BA8eORuq1sauU6FbCHPNfgRp9pRJfBqvyYSIMdDvXIEeRat9zaUHd0tKvn7VUhWZ0FACAtKG8ZgDIsn7+yecffOnD3/zN3/y93/t9yunk5ORkc8JrfvrZ59slf+W9O4/vL8KaJ6Oe/tdmNZYqjt3S2jRZFqZX86tQsZRVaNpv7kqPMxXkJ1VgygjdsFfTGeylvq5nnLKOMABAKLGJb9P3gMIUksih+tEgY7s1JyKdc3Dsuomtra31gI3iqxOhjIJ17xCKA6Mx05rxTuERqyPZsQkiCnOzuVRXXbmDVvc4vaKzNe2KdWLx3kIei5/CUaLQDyysmtepwXHXcLVWEemHLSTkBYepTfCiKzER0UcgZI0WySrDG/o4gseKJ0dZb/j2cueW46eIOJnJW69jBBflFDaZeZx/JMB71AxtxEogxwToq/b6K6A0i84Mlawnaz4R8SJBUbk2CtWKEEUCspSf5Vs7cAdGGa+AiFCWt/pf3DSfYtVHas808DvS3KMMgUqbltsMj8f29GNC8UZnWPocg0cABBG4F8TFR2G526vRA/YJw9RApZwhOKF8qMTgFKtWxIg0RCQXXlhdViqsy+5zOSUuRY1JLpUcEyASalpgDLteUI4n+lkZaKkdEf3hDpjwOXVBMlDpCkBqZkzHBmKVMzBc4f5EwHnvEtaEUvYldTejFfp6NDE0rhhTJAEb75TfGULKDMfMNEtVAKYfTqdmIhWRlekZRV8xZwRAxMPOIfDRICWy9YJVS6KfZmtc72oCRKgCDB4fpU1Vs6miWupZK3Y6wThD9Tj2LbPWX0JuP9lF67qen54S0ctXz1++fMnMKaXd7orgVGX7fr9PadFkMjlLorNXr998/PFPdjcHRHz48ObO3ROBzMxtsJ5rzSoMIaQLtAs5SwYWQWZhhgPnnLPWTD3kdV1LQvdDZiKlQFlZitTJB6SEgFCO6KnNk6HKjUYOc7lWRFyZV+bMvF/XzGuyLDYpJZaVeSmOWMw2vcpLqs2x1IlrtzFFBGZJMAaGxSBRSohOOQnJWaPuE5EHulZqFMJETipG+ZrDlyMwTksS+AtMXzMz6WjsedGdRVZXcbEIlUKIKCUEKMe5xY99Q7EfNTBG038Jo1iCh8ITbZq4/bpfBAlIVrl6c73frd/+9e98/w//kK8g0ZLSBjAhbT/7/MUf/+mf/53f/o0z3Ci9A4LmJva5cMQ2wQi6fW1nFivhwdqJCAx7ffEqskgXbKV9LD/YB1UcPtciwkgs7Ef/a9KbXNOD2gcUEdC02sHkKFBJdm+9T2VoATCUlkcEdSMl9cyYAGJBlE6/O476XW4wUdmRyvDiRKoY8eRy2N8HM3ssIn8qsW+TXcNV3hrSd3bqAMNf74iZY02YePV53KuQ9XMhRUtjSZ/g3Rf0idZZEqMZbWbBFP3uxb0a0yE53OL2buPFuQVNdTqPL7nEnPcxDuGW2Y29+GfUynw6dFvY2PAxPuzPd+3HUYyEGJ+MMwqmnifPexFKqoJeJyigpHljEMeNcRC/ogVb2/dKvlSyIUCtJFR87ZVdm8E2oYxmzhqczu2OFmzo57YLzXjvJmt85pbXK5xf4MVmWr8AkHGiu0l3fIpUQo3vRlHoQ0spSW7STtfnh9SEsX0g1JKuzFwSNFBCxETOdLb/rBwKqVv6Y7B6dfx+p5vEAS3hQFJZ+cRmkkAenq+ysiNLHx3HY08zbPsdA897r9TyVq4MdxhaHp++29E/dDQzlV2z7qbU4p91BmO/3byDT5W/6MFIoUGJhISNGIGBvEdNppcGtuoaTIIF1o9oxi8innq1KCwx/eTZTUVsyjQgP6W0WS5OLzabzX6/Z8m4wHrgZVnOzk7uP3rIzIfDgU5OFqJNWl48v/rDP/iTV6/enJycvPvu47Ozk802XV2/AbDQhUEjRnFkLFOGrGEr6p5kZs5y2O+YeeUsghrHIgwgutguAWXruqaExV4CBoAD4uLLaDsWFuODsVQ+Al0WIKLG9LuN5UfFBLKGY6mCi+ljmuF09SIqbidCaTbpPuOQsyD6vl6O1hwCoR2OBCGAXDfO0G2SsiK6hR0ijQVSIQ/3zznzWk44MHPZRQQAoJQSMyAyUUkmpllkoKVAZkZoUs0ioparAxcTAAAMiMxCkE5PT3e73ZMn757fu/vp818x5OV0y5T2LNeXB/rl869/c/fVh2cASWQVWVnY0IvmmZQMtTgoABBNFt4+8A4DTq7OfTVrWasvxDwX1o5ylpOxHnGu2YqC7R7i1AEJCVW5hKrD2MiK5LkTXBzp2skfdpR7kM/qWat8uqWmOW5lZuPP8ueju6SRlkJOje3lp8WyT3f3RBVWM9EXZUL34ij2xzYBwE9exC66lVhUJdMGOziX6aMiktqQlUgTPpimxYBNVe1mepbZTYC5eE/199hOyOQQ9EcvSgY0Rcx2SMQQExZ/ktbI8OeJxe8Wbldhw2ZTmhRDpakhTKg0a+nPTKLVqVGfDjf3kYFNhTSGu21NGMBQ3+0w0PJqk59HhucjMiMtRmbwsSAA10wdYFjo2ue6uAsCxw/fdMB0ZIONa7O/sDWMjkn8CHzkByTxCvCRkh0ex0PX3RROMASMMIjUQ8ndfQhybXxrOupuXmwvuOI50psjz0POyq/J04epFx+ICBekOn2MKLqmRkTIGlJT5LKF21LuXOM2XxKi2kZusg9xjlLcPRQRBM0YHalCIpP6w+Psd3dc33RTieX8mTbN0fMUUd217Pi3pQFAm2LV4zLZ6nHaqsCmwvkkdKcwegs+j7eTQUeHMlNmESeJjv7kiEUB6WMSetmoW+hNd3quDgoeqpphYua0NHTbXdPBdlANhNRs6DHz69ev757defLkyS/uPH328hUzn5+fX16/ORwenZ2dKUHeuXMn7w+73e4//uCHb17v37y+yat885u/du/e6eX1UyzhndpRnRTEkhhRO5Jw5Zw1NmbNohVSOQszHzJwqZMqzJxXZmZBWJzGGAVKkpmcs5crOaBgcQQzIiZcwtFVjEa8tqyhMqURFAH3xyMzZyunlQNKYwspOJKj3MO2TovPjiAJsJ8RBwABFIBU4MnKHswrERJRsd5AzNIC3f1vDXcMV53uCBXZTk0ZGyICJKTMxd7KfFjXNR9WnxpmBmCiRaUZZ5EFBEUz5SsxMphyzMUw5RUASg5oMz0TYkEjWxpCJskCJIkSAcCry6v3ls1v/62//T99/P/kPZ/y3bsX55xhJ/L01Zt//ft/9M1//N9lOLAgsoBk9UoIsOasDUmcTKBxjZICs6qdKiAYduUZWbCcaWYRYNZSR1AXcr3F358ZEAbOhX78xLN/0DoMToQdY9ZGDPNI5ZiyizIsrl30zRBtRDWJu+dXRAolsUBqPbjYO3Pu7kS01NddPsw0bLycbPQzzSTSMfElRRY2uikKK8ePN9KKsv7O2FQnGPUnIjp2aHhBYQQsR+KhmIqbRF6y3pY4CKU6QOVCHxe45wSxpJ62vG+ar0pJ2N8SkaUcU1ezuBJHWmpevHKSRvezLOyBi6e5cHsuRn+Dc6Vp15GOSixbySAWJeb2Qjwk4RYJM5e87AU8rPON2bS1rWeQWYQQ4hoGGl4CRNQQD0vtLEXQSz2XoCZgqaZVjo9nMd2p+PcWsFStAg00EguZimw/zjoiCjBSsXWKzOKVmSm5wS1QlGfNJA4+E7b8KOkXTUQioh3H6WP4bP1TghQkWAmQULgpUhCPOrTEVocQv/owy+yoMwsgRNoES8WBD55je8xXPhFIAMtNhtjYE91ApLKABp1zqX8txZntgUZqEHdgAwAIITWiQck2bbZlZm0xgESImLKKe6x5/VWJQrbawYKIaSl0sspBQ19LRCpYYjJkR4T1QwAZsA0xEtBc4WlZJFK2Y60+XE/TK98VX0tZ9hbqLTNl9ZXrXGQuz4R1IYDkEscCiChrQBQVrGPjfFob3GoVrAJSLbYVJ1Sz8QQyqW/GprDK/QzVYRxjmr2RZuUZD+EF8i52arPsVEWVjRe8NqrI4XAgSyfiAKKuWmkDFrxfkSkAmKHIUlSsFiCzlCzZdphPx+KxsFLBQQAQZC2gQCX2wMMVGtXuAy9JpgvHJXKRCN2hruK8sDMSxlwIBCACJ3RycX6+u8kAQFs5PU9XmS6vrs5Pln3mZdliohevXrz7/nvbzd0/+ZM/efNyeXj/S1dXb07O1vO76yqvkIRkESnRF4gCmLnUsyizk0E8QaraN4gpZ1lXyBnWzDnLYZ9zzlKiuhMKcZZ1ZRGx4kqAqJGGnNfMeUUUWEQYU0rMJc1rOe0K+81mQ0QbSiklLLkOE1IGwvWwCkmGvK57IQbgLLSkVOqqZxYkycwCuBRJHitA6RnWMi+WFp+INCm1olmxnU1xlAwlphjVaS0CO94hIQCVEAnAnEF3AkSESBCLhk8pAVCCxKEahggQ0bIs2QoC1lluAAEvlQYlgw3lfFg1DgkAgNb1cDgcsqwislAiKiYOIwuwQNrvc2Q0VW5ItFo0iOerMMspi0BKCZGQWWCPRMuaEp0wLodDPt0u9+/fubl+8/Dh/YfvfJCvcuL0+dPP8maRJHcu7lw92/38F88+/Oi9fPOaSuEaycK2iYhSKgCQqo+c2fOCAzAVeSsCOQFJ3VkJFwhAYqQsLCKJNiwleVHOmWjR3QXExMKcwaUgQAn9Z2EGYUYWYqHMwpxFgDW3DBALpESJkgCuuWBVkVYsNFa+0P92YPsny7IFAJECzGazEUnMq56+OKwrIq5r1pVeorqzKpI3pHsdRYemMjWc0sY9ILpK4SL5bWEDpf4JM7M0uyhVeDJTcvlDFqcOAMLFVhqM7M6vB+5h6V31+oCRa2dl2eJTf7N8VP6zqwMxa62Qok4bmzBkwJTAAiNr18xL2fEM5n/XtHdfMAsAfiIhtmWxueJOnRj0Nlydxvce4/34rvQIbR7unjSE9l13Yxw7ktYZcAxsHIITbrmONXgMA1NQR1OguzpL/a1Qwax3avdVm0aO4K0/bNEasjMwjpIENPbQPALqyFA66xExHMBXYHxJcwwwe2y0zFozekj9oTzrFklZwdrxtLCAaQym8TS994XUD1NEveYTquti973ZHEJKIKxDkhUP8hbiwG+nSftKRcDp19aRgHXF1USVdDHlAKmUeimQNIPSGXT7M0xHwwW3y6vYYORrg0rGdrrP4yxAO1lt4wimCaCd36a1kj+mmR13j41E3go9gJrSu3hw3R01HutvZGmdgAnetHXXT1HKDa01myF1WAP96Oureih06V/P50iyilaB4wAs/B7NVghA4rIsnPlwOJycnNy9e/fNbnez2929/+CrX/3qdnN+spy98+TxNl388pNnH//oJ3ld3r374MPlo29+873NZnNYb5aFtBifhUxrlw1TS3sBgDDmvDILC+Sc9/sVhLbb00Pe6zMs6NMBAIuICDFzx8U311pZk9R/D1ZPZ7NJAJmoFF4kIiRh0Wj8cpQipZRzwZUubcmuQB7VWIkSpoamCNjkYmdnxFnjsD6MCFFjV68EiKAR9vXorm2gof5p5UbpsWjuEF9X+zWS0xYVkpwzM+Sc1zXnfBA9Cryumdf94SAiy7IgrooiAFhoI1Ct8ygktW50obFwdNgNwYIKMAe/cObDyuvZ+R15KbvdHt7cbDd3/tbv/L3v/+//YbtsF9rg6UnOh/NlSSK/9x++/1/d+b+cX2wuL6+226VEFGXxMyrFOR7qyomIAANwMpQAYDYAejrUmbWTXR7Rypp/idfMrDJADQGtaIRY+tRmFJkuQCxNfpk1EdCkAu5E16akGJcFGG3B95pAKK8H0z6CiPvdCgACfDjksnFb3PwCIKnQrZFcWU0VinUK94r1RBTDipZlEREGQHZLIwGI2iFRTirknFH5u6VzjEewGkkeqRbRa+11YtkfsI3B/siWE/wtr0eZGdVWC2rz1ZtapA3mG1vvXqZYNTDq9fqhNENIQJ3wbYyP5vU5UnrtOALpN1t1ItHhB92ivkXGtNl6p+xrtgnXsRwen5g1M7u5G/Wx68hscbwzzu5Ir1/kcnOtsZZC6EUdkfY1vG6fRDfQQ2ZoVv/KtNNhxdcTbqTyjuKnZk3HqBE8b1l3iibAh4HbRV2Pw2dxnjQENhIhfC67Sf6TgujDrLh16VyW3eN5naCBOrBb8OrfJoA8pEvrWrB11BTnqDszCNCcQe/G1VwhvLJdabShjQggoWrPyMVxjPHFFi1xiLolhOpWKLOkqU0Fmpu6hIshOrHZ2lnTqRwLLajKo0mDUNOJBkkjHlFoedCnQ4NAuhKMJ73vqldtMjVZ0JZtMfB0isCWXMFHIW3X3fwGkuiF7RT+8UKsp1YRESHZnqI1aARjdoMDjIjIkoloWRIRbTabO3fuPFhXSumDL33lzt2H25PT05O72+XuZ7988e//tz989vT117/+9U8/+xXL5eN3vyuSESVnXpaFuWT1sAFSOXysTkkRKWG9kBlEkFdGTAJ8OOxzls1yUkLIZMk55zXnnDmLzsOyLACZmQH1iLMQAhEgUs55XRkA1pXXQ1aHK0LKJ5wSU0JOxJyWZUESjRV2P5wapqqpU0L16NcAGxLEUsEaoJ8d9rR3nLTYqpmqLs0gF2LTIp0HlwANwaOGSAFb/VgWVKdEXgWgpBXVrDIppVU01lxZTxCRAYSZSspOkJpMsHwt5AVoqwE5HPJ6sLBszjnnw+FQcuzs98yc0moZ7RMApSSYUkSOMgUJ6O6cRQAKJSDQdZSFZJTKSyDCBCBAiJJZrnZX67o/o/uHG75z/95XvvrVH/7xn+XLw+Wb1/hmee+Dd++cnry+vv7Vs1d//Gc//N73fp02p4d8OBx42W6Ycw6HZHIuZ1RENB+iMoAwFqc7AGAIOIhcL5rvgdeUEmLSnQ6iJHkVEX1NN+70lXVd4+ae04Nmv/H64j7v+piu8nzdxeF8oJQsPcogIJzMfK9RLURChJnL+VqtF6anqMlCaw5Q6CGlpIeJwcRUzgf9kJQBNFwCtBaEENpOtpnpo3PEBXJHwH5MIjzcl2TyX8Nj8wPcjUQtfwksmVLpUTSEMuzTFl00MVfaDpp19ciJei3T31xt+J2o3TupXb6yoBcIs8wFGpQvwVi5HWisManWRbWEJMLpHsTaZrDsgySobVVBZcRyu7LBYBDj8DDZtoPp/tp+VGajhuvG7h6O/lerg9u9MsIc2TLekeB3mYwuvGIvTlYXtU3oSaJtTkCq7MO2CswIW2csiuiWOJqpF2EUKGl34zRCXNHefukkEqVjJDe94/zfzWZ3P34WEac+b8q3ZcGCzcb56vAzrVRfQ5XssfIwTBoBgHAGiOPuEw9ZhmAw75wewiPscSD2TI9/9fF0OA7sWZJCOoIQEdr9zaZBkW612AmfRhuZvI6/Rs3XAYOIFqvWAtn2Fduf/qrdQhvRboOdc2Vt1mS9/zp90kfXdlqI0PfZqrtdTT0kX5fp7EYqvVUoWS8zVPjrHeGNyBknVI3FY2OEgQg7CIno5ubqZHN6OByY+eLiLm63m+3pzX4lTKfbs0f3n3z2y+d/+Ad/+rOffnLv7kNY5Pmr51/76jubTVrzfrvZqCmjKGqhFVvNqW+SRbTAHIkwmzJBTJsNbranAHQ4HDawRVg5Y84ZiKn4KWWz2dix0SwiOfO66hqamNecZb87rCsTCtFCBFpOalmIist8TQtaqEBFgsaZANAmLe5uB1AbizCE5oN5THWBh1SOsdmSkdy5W4yz0onJnBTyVYjlH2RmPggCEIoQZz18yUAIQGwx+xokJISQSDRPVbPgJ7H41ZGnNLc2cV2aqnN9PZTPeh0O+XBY13Xda0BIZkRJqdS7oCQAK7ZHBdSsL58XWRZMKQlAZlhztoOsghQLmMDKKxEA0W53Q5sFEdfdCgc835w+urj77OWnZyl9/uzZ3YuTi5MnD9598uypfPLy2fPLy5MtyGG3PVnWdQUhLuzmh68KLyckABTJAoyIuQTMWLLNnuVBCEJEPucSwpRNuxVBlBk8GjC2hGFHrpAKo+3+SeQ+nSmfNYuqKpZc2TRTfS0CkqDm1/fGtS8GSTlzziszp8VFtGQWyTmnvCzLioKICRy8lYgyYrI455QSM6XFIk+MLZyEcpFVBAqlmseKNwRycaeRn+FqFTd0PwE0WfPjk3NZbb6YVvThYML1erNR/ZOlAvlbUAQRQpdVxlWjhGPLcVJFBJh9kQR2ygctFIGg2u5lkLNTUD54bI3jAei6Xhw0wQR3EaFjO80zwWBViTk1TLE1QBsU2zXtrrtQO6jGVvmrt48MvM+reqwwzTjGrus5SO2vgUA7kvLZKQ8O3XlyfgZA97tPFfMU1FHHT4G/hUi6S8zmcyuZmS3U8q1d9IEE0dyJf/2VSMMAoDburAuEgPbIa5HLfJO9nRp0puvR1QjcaudZoChju0UWQfLN/E48OcDtfXFTfmS0DmmOlg7b4mmY2yfhyNUiFtTGmgjNAFWHom5oHcBRthwT4uUn6TPtFhYO6R1UHWJIhXb70ILPYb4KtanvuUnpRK9IgTnnzbKMTUl7hqfDQMFSB0z9NkfgsUF1fzlmEZmpq+71MAuIWFcHWhgVAHa73W63XzaIkM7OzhjSdnv64MGjq8ubP/z+D/7qxz87v7i/LMsnn/wSib/+a187OdnAfnc47BE1xHwdKpCoCWWmL2uaNCVUIqLdbscMJ6enKW1ylpxzoiWve/11syGRLJJEsrCsWTtCog2AcD7kDGqye6ACFFtcl1sZUcxnzIBAtEkJ7Rnn0UVEEGWhYoMSYsKKxk4KOfkRupQWsdPVAFCCrQvC6xGFY3OaixIgsMiLov8YCVPmDIKWDFHnMZ73KOaTQtjpTaeWGnhzWJWY13XNB17X9ZBXOyXMu8yHNWNasqy68lhBSBiEiIvTzn3GRJQSLAsmAiJKgAx5AfQswCRlKYOsmY5RkQWUDisDCAueLCfXby7v3b+3Rb589ead83vX6dlu3cN6ePb505OLs/O7d97/6IPd9eXnL55+9MGT/WHFFQ4azEMbG3jL5okBilGn5iarxz3XUJmIHCnFSehwOMTMvyltdLXOmi2W15wFAFJKztw6cyouADALrCyZi7LTXZSFku1RKJ24faPtcJtfiwRJUIAYBGxJAsxC4SQk0aKHqxExrxr3pZUMkJHzysIrWoTYgtkJhkhDuyMVEgACSl5NyAMCIpPHPtwmyU1XTqyITrSWqYJm4x1A94ejv7ys55t3g8znquaq7Q7m2er4FJRmzQq1q7oyG0hEQCunGi+BVclSE9xNAgDjSAGB4XCetVVG67a7aNwaKTQGVt2orWpjisRKsp0abu3CUee1xgd0r0c7DJoDA5OrM0dajOuQsdM0nqe2GyZWt1xjB5fl/hFKql/rnPYj7Z6fAn/7GDvdPJo4x+aowFWr3AsIEoRMreYoRlOVMfsBRBNwOurjozu24OmarRZVq9VceYyQjLTUQIKl9HYFBACg5EixV2S6y+b8FFVX/FDuY7NGN+bqDU27fGFZgzgB3HBv86ggk5qWSqJl9Q82Rf36BGxZ64fV3F2ew+n+iKKlxADoSt6YLjIyo7RefwnrpSq7TQ5CeBexkZc+c2CM5GBHwDoJUMZVQ3r6FdSRqzrRbb4GKg11A5j7rdhBgKAWe3LAjvUef4qKZ6QiEdEw7hjge2x0o4AdfwVoAMO4rO8exuFOy4Yd/BEbTm8iojEh+mx8bF0Pm7RoHaLtdpuWze5mtyzb05OLD95/93Sz/NF//NOnnz9Py1YQYQPPnn/2la9+cPfexWHdUYLrq5uTk7MSq9DPIzbLFDNk1WRZWShtKFFKC2ISOawsAJJBNOOWBlcDMAuI5M2yQVRVLVr61C0eRFyWBRHzyppsBtTsXTZpgWUhsBQcRJRBkBCREAiY1W5DlMVqlC4EBFW4KT1nO3/pc8qs5yAZizlVLDKtgIo+WN3Ame3RS9nYIQBY5cAIuicoIsxCQACkAUKICIwrZ2GgBUBS1ftlCx4kl60566VyJVuek5z1A/PKLLyXvF8POWdRJygCJ2TOanoKEmUVOIys0UoAHvFfUvQLE6ak6e1h5QMR6GJJfdZKCL7ZKSLAgkiHvQjK4XC4eXPz7sP3Xnz6s49/+KObm5uzzfL0s08w55ura1758vJqIbi5uf7pT3/6+NG9hOlqd3O62eaclVo6RhORVPpkFABgz/Mta3Oe3t/iUrZcMgtiOSzBLJp1x9Z3BAArMyJxXp28VX7rxkWJEbeTvrpAVbQDQEpJ6/qie+gxA/ayy3eEyHJtiZjKYx8sLAsiJiJICYUSr3ldD5q/B5AwoQAIl/EKUYJyAMB3SIjYZQIRQYZlqTs2QkhWX1KsUjValJ3RWIiQkT7YvVMBACAl1r/z36Vse5ujFK3IsfaHi8bQibdd89OGDvAy/uxwTKyW4bH2J462uymz5i1XUccUCbTYdMJFTzEeaGi0fqYAR8jjk9HjeExxuka5BTneCCJS3UsCqPIJen/d7N0RbHGr/chb4cMc+GM94rCSgyPmTvmpph0YYLCSLiICvvobSM0kyNw4HiHt6AE6khtCdQFG+XL0ZtcgDLiys2VGisUg/kIXmu3eDTNSUTeojtdGXogxea2gmTi/p5iJedNvIQypVlTfmvWlpUNGkXfUEHRVUTaNuCxOoujwE1FQDHcKlnZtcAwtMw0dDGIR9c7KYPKOGrEb9RQhUBcLzYVtGjL1YnaHRG+R1IjoqAAhf9APWkhZs9Vh+mcN9XatiSF91tiLCzEYuLtDArjnteCnF0dehjDejE9Oua/wvkycPmNrzWcpg6W0IOJ6WA+Hw2az2Z6cvrnZ7ff7v/Fbv33n7Bwkb5d0WHci8t6Xnnzy7BNE+PVf//bduxdrvjzsdpvNBhEPux0tYY+3eDHr5EqJB0NNCaWYPjk5AQD1tQOlZcF1XU9OTnLOKwFkBgBAIsnMeuSA1YxARCTQfIVEOSVNJsOWVabkYyHilDAlhBLjUfMdkaXrUYcfESQgEUESrYwacxJUGWuNL8vixrpYFgpt2+RntdoFQVjEIp5tJQ8sKEB6WlYEtRNBYBa2AGegxFqSVoHhnDL5SUci4lwlPLcreedxC+Fgd70fODNkhgyIkkhEGIQBCdO6y4KO2yRIwoJE2YvBS1mSZcaEuAUBFCAUFhRBFhZkEBTSvB2g3vdSKB1y3p2cnAtjznmzbDd08+Mf/cef/fVPr1/mVfj+vYcnJ5vL693N68s3z169/+FHzz9/effe+eXlm5/85Bdf/fIHIMvltXrcmy3ZYAWZHDPbXdQFY/ahz0JZ21AVyQDq5BaAsoejyZdFstZPSQn2uRZy8mV8scoEQVBY3K4gWnI+gGAJ1RBE876p712ABRlID6JQIiSsB0x1M0SHyZkEsiKfQYAw0UIESKD1NXPOSjOUitTyKK8VADWhpoja7u3ZKkBLp4uIQkhCIQq/nsl2ST5R/bVm3DFRP2rVo1Kr0ykFdeaLaXU6dk6Pvqm6mLUeEUC3E+IqwgLdlq4P53wM8+1YEAttjOoQi0BXyirHbqp9FozjTjXGYR8zW0eKD4v11hU0NXmjI3PS7y0Otvoktra7tdkbAeOkjp06JJMpb8GO7saqTdum4ovjSZQRhtsvR9QIFbb50WP7JkswlmOUxnPWLks8SWG7+xFiwesYp/Af+ynOTjez47gieUCDzJ4Ou5lKgBHHRUeInrHzqSk/IjSRTWi2+xTJVY0Z4UcIx+dH8DAEdwq3RILcequbi7F4StqWYYRWLOjCSyAXDalI76OGYh9qf7Siww5FFMUZaDiDDMY9wGC4+4fOcMdQYw9m1DIy4JStjqHdrzo7Ql4MK77u8Fj7Ke6cAqjJPltoDYvbDreq2zzPt9/sPO63UNp0pB299WLnVmx0bSJitvJAYC+X9nWp3w4Qmhy+pUElrsPhsEnLyckJIr5+9fosS0rp4mJ7/+7F86dPX7548eMf/XDdH07OLzKsmPjx44cPH96/3t1sNnI4HBbC6+s3J5vtylk8vsjLRgpg8oiyat2KyHZ7UrxRxIKkSTC221PmtUzTIgSihMmyUk1pKgJZzw4K5C1u1R3OvDInsFgnEUkJ04JpQbSc7mAJOqIJgogpYdJ0NG1WIiUD/aBLVjeGWJhCNBfY8rKTG3XXFPupx3Caoki3cF6FV0iGOnWv6tVU5wmFcJ26YlC+iKzr6p8VM0rYDDmDSBJiYhDhLAAsop7jtGwRE9CCSFkYITH3rkpTByIinDWKpmg03kNC1JSmNtIiJJdl2e/WvBIzPnp47yTBv/3Bv/r888838vDpi+egofzAJ5vt/tX19gN8/Pi968uXSzoVpkQnjJrsPCmdQBAF5bNVUimlXMSybw9x2HYVOvVLH9Cj0jrjK4ttwCY15T2BjNEVeeL2suAnn5Eyy6F9XTNU+lGztJJNrSeVTMAiE62rpczn1Xg555VTWtJpyof1cDjkfGAGIqKl8UdgWb2GNKZSnPomz5NW/kbU059la7dozolYQ//JhIwGvfTpqgv+G6cJ6EEXl+Hd1OgDbRCRatPGrrB3lQAiWTakauNthHzUIPHpJW7pRpGthpe/ECwABChHTiO44hmOZEVEDbQSESjHDvrWBBkQQPps/znXfN6RZqsgsA4REUEyVKs6wr9gbRaC7SuWex8RAetej6a8lWqpNFn8dEKgWaU1BNdhrwMGBnR1745fy9YMzvegHV0+qSWffUnlPmm5g6qIYAJHjTqZ2WPrsXrZATQ+pKfy+FXPwYHhqDOwpIT0Iwn7rhyaT5pqLYxqBunnHN1Ioh44Qj2hU1xWRWwVo7CQw4rgriOd936rS5+Lrlm0oxoiItmfRMBa+y1DKepObcxiZk2JVZMCFEfXilwyOZYYFbBjQxESDjtxukcPmL39yLZ++EFngGiBwRmfAIWKX8F+KnPu7ObUDgCy1qSzAFBwhUCEKMRcTteVVqLrTkSLh2Op5AScyxFAFQiEmDXxr47FjhJxtvEav3NmSCXXrjALEZjp5moGAFIi5oIuX6XowaAyfCMVKRNaksFbTFO7BwrDhXEGI4/7XAiAazLg3EgJEZSitNhd4JSSZ7vTvGc+I9qIhkYEnlIi8eS+NrMIQiiAIpAwOdnUs3fJAlWxllsHLIUejGiyCo2i7sLAdZhSJGyzbEBnea6Ft0RE4zokGHxOZkUO0wYASrYfRNB8+0YA4os+65MBCImhRreXuYBVeF0ZtI7o6fnZ7vLqe7/9vf3V+m//13/5zrsP7zw8/+unz9999P7JvTN5uX70tY8Ac0qb3c2KsDkcDsuy3a8ZONR55eLbPuSMkqSsoBC1jnBRohZLoMEbhU+tqmBKAEKgB/JAJC2pUiwiEZ0wrzkjbWERTcSBCVICKxvEzMwkmrt60Qlk5rQk4BLBSwTqYttutnLYu62mWBMUYd5QYs4IsK4HEUEkENL9HBZEIGRE1cWkhgai3mbkrHNqRGKUzCyiWZooEVIGAcpKlsSCQAsIksZku7lsrLEQA2QEEMySU0qoYdbZXaQia/Z1mr5c7fVSjQgPqwAAs05NWnDZbBEAYNmW/mhBRGHUOJ/1UPegdB4QMaUNS6a0MABnPik1m4B5FSIW4rxuNgkQ94dDSikR5bw95D3i/uLu6fXuxb/53/7N06ef/Nq3vvGXf/HZzf7q8xefnZ/dBUJgYFm3adnv6fLV4eSUPvnVy8ePdqRHHg6HJVWmthgORgGgxJkRhaDshVIhrG6Hn9TnysxUjjckhCRApUxvWhh0BUgpFXN5v79Jm0WfTSWROa+svWAWZgRGyMwLEy3ohQUARIPLhVcxCsfosy/LLVhzdqlT4n5EH4DFSvEwhzmSTECcVxDcLNtlWZhXEWHIWtpG92EoERKtKmORiBKkBVJSbaqyTpPvpJIEqUgb3UkDKLsIylxQrZtqFpcCQkXO94naBEAPCwhI2e/i4n1wvtAUtyriFkRmm6lyAerRD23OFBNqPUgrjZNzVWEqdkREQBCT9QQsJVe9fjUFgQi4oF0QLmtrcknw7QXDordKS9UkRMH+dWwXEPHdrp0IlffSNzWcvcMjq5bYZtc7hkOo8fVqRx7Bw/hrh8m33j+G5xHyt4IRHsA6TKm3uud9Ilrsqae8869Xayb0S5FOau8azdjmKceq1wswcSkslu/ZbTUQgpBPMAKvX6Osn+BWyIv/de/Gme3oXNoFXhjUZK47im2MoeZv3XOqMzUDoOMmj1/tR9ZzR59RUSB3NUT1Mf017iSOzY7Expag2gPh/HW3Ed13GPc9p+OSWoC6/EoBEs7ow/FExR2Qh8OhEprRBgJ02RVrm93OQ0tFMPAFD7GMCm0QIE16orZTrXHbdAQt2XBkNVUTWBnhi1wFYIRiaZlNLYRClV8qPSj8QbjFra0OaSIirKtwau7av4gV7XqvG+MxQTcdRd+1FBtllOc5r7ww5wMA3L9//8mTJ+98sF2W5fd/7w+u9oc79x4cVrh7784vP/3li8un2w28986TlNJhtz+sO5S1hnFG/7FMCOAYtAighlGnGvQcqbYmIlgqHCEzC2QUIIJlWQ6HAwKkVPbEUt2Rr6tQ7Ys0gQxKLhtHqfSVGQWINuK124qlgqBRLsMUiK1jjSB0uYKMUIO5Ubx4DQRutUFZmwAkkMHy6iEWZ62Usyzl9dIP2r7BgqEdHWmt1hlSKjODZnxUq1ukeFL1MGNKqB8AsUjGtFCsJCWUhZl5e6IBGxALHRARiJamEgBKKXnySiDaHQ53zk+Zeb9fN5uNvbgHwUTn64F/7/f/ucD6P/6P//2SLp49+zc/+8Uvvva1r2XGzz5/tmy3Oec3l6/g5G7O62Gfzk4319fXF2cbPYtMqUiEwqNFAzLkMvtAZEoRIMgfp3yTP0oeJIxCgi3HuSgjIqIlpbTyxHMP6kY1DzoiohS5bfKWAZJ54auS6qQlIi5WMw5AEN2Bgl5YylMDKV8sy4IoiAlRAC0AJxziNLWeSo7TNhO/P6PCQVpXV4O3im3LyDvQtoh4AUEM9l5UDbULoRgOIEa0+tYKrD6LIo8LSI5z6ALrpbZTOSIMpA8NgmDDxNEsLi+CZsK2rbkd34mJ+ICzPWJ/Eqhipz02J7rGAuxS9nSWRPdVRCDROCoMoQL+ZDfATvuqhyxMmBiVuOO2kdcEVYKLMZ6f4e/av+U6miRG7OfgeZpiZsBPR67zqzwzy+qGiCLkpzqOKLZm+zWOxyRpYzE7rVu+4SbXEpsTl5lByFRhPzoHD22hFRs3YLRkabMvCbZgiDA770U4ERsygzD1PSSNZT+BswzHTlJgPcJbN6ziEEZCFZuCOBw3baEuOINUVftVmryTPtgopLre41S2UxOhkigxfVtf8xLEg3HciicIrho1O+qGTJ9khpD6mdUP1kIdr887Alop1uaKLcc7UXbFUbtiGPEDJli7icO6s4egdnl5QA9+1WekaN+ob9D3BqC9OnHnnzHoch9X/EztwOuEQj0g7uQXvU0kzF4lNzBLh4SIurgLIRB5ML7bQBJJd8oC0xh6KFkyQETu3LlzebXbbE4ePXlys989f/2Gtqe/+OVny7LZbDaHw4tXTz//zd/69v37d5eEmfNClLOS3wEYBJ2QyiZY53Iz6iJsjm7DhiiLBuBWfknNaBAA1HuNqDkHVR+0xy2Q0Qx3UKeviLJSpWdEtDUYUVLDM5citbonklE08F2ZjqQaapq5Fby2K2ACwOjLEICys0062Mj4jnMRqfu9uvVLQhmy7bEoP/Q8UgiVqByGQUSp0y1h90wI0USHCGrCR6dMpYeFUC1Ra6bMDmBKKQlhzlnj7RLLuq46opwzHEp+cZ8OItI4GSDykBKGvNmmm8OecEGgm5v9drvdbk92u+uUtm8uX//RH/3+3fubv/O3/86jdx796Ic///gnf/W1b3z9O7/x7c+fvviTP/1zItyebW/2+4sLPDs7Ww+7w3599uzF9t1HJR99LpOu9apzyUKLSMzCC5CIqHMkl804xzh48gCAsO0mYtlmG4PV6Eb0YwqWN5im6OTGQqibG2WtCBYnQ5UeEAVRNGmmiG7+IAAsVlEe4mYLaooeEIGEiRmZaiADACAK0YKkO01amTXwfs3dCV5oLA4h8lFc7oqUfWikaG+qwJuYYRj0YFR22JoEfokZ2YjISN396aU/5SYvc+UoKQ74Ci1RsZjKBIUh+6RC4LKlA9EfNdcQIpbTluW+2R9xtBRqCHdDGgXxkavZazMRph/q14iZ+M84Cr8RNUR3jdrRxYpjsComaCy8rruRCL745QB08JgQrUeV3aqIRBzfwpaqRIRwgWHWAaAE2AEIA6CMDWqugDjeABg6NhpoWw9WZAD/kEFleduslKROrk29I5/9EVfdoMRC9KIiEVsQRsrEwZFfOWRmRbWtWSMzaofJTQtmlGrLytBgnDKIFGV2Xliad2EtApYE1wPZoeTkqksvH1PsEQezdUrGAdTiPnFBZo2jCFrAbtJwVTRPvGkU5BAw44Bx5mjLuqSm1IAhVd8XjeUzqCQCWDuq94NkjyF5/rr/GnEyTrcOUAQQI1GV+/6uYt8OF7bzWDvVAfqQm7OAkRaMR+bZM2cMC1gyuNdh+sPjUmoUjCQ1k6kIC7naq7wcXukPvXQ8FfEJwaSbXlOSi8PMeU0pC9D5nbsvX12fn58jpk9++ekB4L0PPvrsZz+5e/fuuu7XfI2Uf+M3v32yXZgPkFckQGci3aLmOsxKA6YrrdPKMT7XC+LqHCclOZL6EQs2JJMdjkS1uTVXt8jZ2ZlvTAFysmyJWpVpWRY3VbEsCRa2TSQUwFIZvsRwelJqPaOHiA2TAwMkRK3N5DW8tLVic5ty0UFnkOMVFewiQEBAWLIFhetJP+81SBt0pCGinWMsnkuiSsYMzIeVWSAhI0AiNzu0tQU1dIVY1L+z6NfMhbUREttEVBgo4QIZM1j1iVT89RqLB+5QIQKidNhnSJAFNsv29OTs9evXZ2dnP/6rP//Rj//jlz9673d/93dS2vzLf/Uv/uMP/vTu/Sd/83f+1umdiztrPjk/Oayy8vri9bPz+/fv3jl//frAzNdvLuWdhzoBukCiBIJqlDs7ABHpNlBZCwoAACaTFUG6enAUCKmrTRtzgrEqbHXuFmryKQqIol3j3UU4uUbOmUj9dAQAhI2M8gMzLklM4Ivxi6n74plBKFGzSKRe7Zp5BjGpscG8imyISMGsIf7Wl/6rxoK0xisYSeubZNY2EUFwOBZOaD36xt19pXm/H9WW0SF43CMfFWBzGwAAMkgKKeQx2B4ulomoOwdScAWNW6HMJIAILKP49quTs/HraGHEB6IAOlYgpl0IUfNLazz5jHqzsUFGCChuDN+o27rWIvHFt0b9oevHKtTdYiPs+u2UfTdenq38plcEuHwQ9Lz43UBCX90EQ1wCjVSFWD+XkO1Zs35zvN+3KQ0lxM+RMKBT/6XAWLMaVMIWO5ICACI+QcrLc5PXDffQaQ3oGmfcr2NDK52G+7c8rOB3xKCcD2oJ+U/o8q5rDNVNFBCOsazDlC98K7Zm34XGv+LQwZEL28PHDqdIKQkRpqaZoEZE5mJeawJjbbMUmcfhebOzJbtEK4uBcn8gMLN7TM2ZnxIRQYoCcD3n0xrFVLzjpSgjEnp8BZwr/yKApX+xr+5BIPQlYkPwgWwiWWJjvvcBGAHgXggfkzDjA1FR+WGe+BUmF4Nl8PWkW7ltCgBE9F4VU2Nj9mtnuPeLw+6vDIeky+siKSUGvNnvTs5Oz87OXjx99ud/8mfvvffRe48e/fLjn6wrAzAlfvLw7pOH9042tNvlQ95jzgCisRa8rlpZyTdXNbQgoEKHmcIkoi25EwAkREtoCwil7qYFQDEgEsWzUlCWciWFPJcoEQA08bPdbnNlgcbFSLoCFNDwIcN86U6ARFYE0EMmVEglTr1SUdbAWUAG8Iw3zTRVUmzOSU+MlDKFUBYVHlLV8RpAPbloIyJNv0NLAsZYHAgSqXfPawBHGZ7SxqSB8kWppgRZSzbhQpAxMTORZkcpziZFuIfw6eHjZI2DZVMQ4LyumBKzLMsCiFe767sP7zz97Jd//IP/80sfPvmd3/27WdZ//a/+zR9+/4++/OWv/N/+8f+w3Z68fPH67OL87v07P/35J1e7G0iwrjf37j3i9WS/3x0OB2ChhQBAckZgPfhiMyKCDJYRSCwouxzvkRy5A9z1wGiVN6uxhIhUQoF0D6GKHbeX4iyLCICklAj89KfYgkdNYybSlRKU2CTLWA0AXtWKiPwwNBj7C6Ga7UHNiQeML7QIcOi0ZHg0B03yU4VGNrWvngLrWMCpLnxQA63fXpZqFZQ4L73PLohABMoh9bZZ5Yxy3NDZk0Fm8QrQvQ4AGUuKdGl3y+PfzJ3jKR0LatXGl7Kt1hqLUgu4NNwIx2NAB+T2BnRsvH24X+vHlqNEiD/5gBOAJ35qNOlxv+n0vhO6PdNQg1J8hL8RUu3NrjucQXI7VKJru4Y6S/cNNQXhimFhoILSrdsjc99+ZYhJJw3mJmDGPqjvp9W4Frrs8+WHHOIYi8R0tEhdWljP/YkFKWvssFsEIKUmWtFPBT8C6r8IwyIrkNngQWb2t2mLxsRvIGkFxGh/iJQonY5CuBjWwetZOjyyVsSmI+zdaXUI5d1C8BzFyNgsHLlGLmtGV/Lsdpa9Ws9lcaVX+YlLggsV7hJODzuebVBMVNR5QUeo4dflzS3YZWbWw65FH2uaP2GRINO9Ef8QpHaPwIgKRNTSId6zYpFZrAAHBE8zmalEjGXXypvNLN6bGVWASDUNXGlBr8Z77QBL8bt00yfQlp+Li3DNumwYRrB8OwQ98aPGB+rpSogSgQGBhGy0QiE0v13dGJqw90tMhX8dQJC0PR/ZAxCmHgB4PazrirTJOT958uTyzfX19c2d84tPf/XJluHs9GJ7dn4Ch9Nt+s43v3735EQOK8jh/8/Zfy3LsiWJgZi7r4jM3PLIq+8trVoBqAZ6hoYhbMwwM3yk8Y2P/Cn8A418HzPacMZogybEtEAV0D2NVlVdVbeuOufcI/feKWItdz64WB6ReaobDLt1Kndk5IolXEtNzNPW64izOHI//RwpusRHxIKSCx+Z8JdODQGYTPDVXe1RPaBFBxMoqrVYpKCbGBd1S2Ni6EK8NBaelShAa8bDKBSmSsQFgmtEGbTGQIKARKNvJ2tBD5XispcSkQFnltoOZurS091DJCDRPnF0wh2qnzWaVFUjZm4iCMgaUDcQcMQszeht5yC6A4WEte8EEJlfggWogBop9UWVUAQ0HDnibVz0hFJKU4FYhTqI/H4BNNI0DKN6A8YV7nY3/5//9X+8vn70L/6P/4Mw/smf/uHf/uwvP/jwo3/+z/+7sl7ta11dnA0b+Nb3v/PZV0+kcWvTdndT8P7Z2UakFoLaDmfDObA2BiUkYJAoRIgCLJWBo+p56R0rjVAkCQoBkEEQbDka4KoSArl1PEicA9LSsGJgUaUYQa4dy1g0ozTiH4moIFFZWgHCIrIaiyMLdhIEgAXdsBIHBCJqKFEncNNQfOcIISf0+pL6jgU9z9OYsb8jiVE8oRw04m2G0YjAmDRknOsAfBzw6XUyJIkN3I2py9KL/ln3s+d0KbqIL7mxTRURuVlmgQK9AAGaqM/zohoaQQeIw+zub5SwF9t3TL6P7yBiCF4LxunX0k68eOaY48b9k8/3b3vo1WxRkcSWZ7tYOABk/prP9XgCi8kf33eGdFpyOj51+9MIaK69TTGxeCz2Z/5eAjgx1RkjtFToPFGFjP4rBAAgxB6jlgVrGy3Lov52xGWng46f82a08YCXIVqI3YiKNl03i4uPl4+IqQa2EunTp5zFl7yTAJ0ixAc52kyJ0Z0oeKhYL8TmU7LqudZvUMQ3oc88EyCH9mNoif2cqebMTGqVz6bNrB0loSSWsADpk8DcV2pyyewxtppiEIK7rQ6Kl73j6s1Egr7nAH0AQGSaxXx352yU64oDYuvPUiFq6UWYo0QiQa8Cic6zF+vS+znOJ68X5rmnff5zGAj1lZFmyC1Wlvnk9ooImGIwa5kcsWcLpDhJ3N52/5hy5vlHhOMRwRFARvHO78ZgABGbGKvJlV5PCATm9cQ8fucUMCNN+swiQWW2SwkjMnYQcmuNoDx8/Pjs7PKzX35WsFxcXN3+6mdf7A5EBaHsD4cH9+7/1ne/fwa4q3ciXEoxG75YPZw51nc8knk0HYBGkIufjdL2jFAc3rzkL57JoNGAHT13IuRyqSjYaXtMLCFdAXdidkqLxx0DCaBRp2B5nzX4QRAJScANT4jqCNC9bYjD7EC7hobgZAgRGxIJILC2rBQE1VeHmbCVUFstlywqbWcya4MTaC+exbZH9JrRN9GWfoBmLgdBBGZCLWEJyrdWQFWYWVC8yJgImkMAM+9gaJLy2YhISBDLMAyHw/7e/etW9//T//j/2m5v/y//5//rZn316tWrVy/qe+9/5x/93j+j4ez1zZuzs7PKdXu3Oz8/F2hYyn7aPX/2+cXZeH5+CdIAaL/fPX54VRtp7I9II7ejMQEiMWCtlYG1dFvzeK7iBq/YT4fP8C4iAAh5iVUtuo75V7PjWBATdCIcZfQGKkLWmAkAiEzp8p6m4McRYI8iVgNUJP5zoALNDwQF1oAmEEbUSO6ZxMzgOda2TJObYa7xJpzNAnT2Hdkndu6vJvwW9DugFBjnOY2ZanGOaNWJ6bDO4IiovcUa2KciImqgZwzV2nKzePa8rVoEh+IUzxa3ILNBD/WzhcrMt2bJePK32QUz247E/0R6p48FHe/DyuxmIli4eDjPO08yHp5xkaXAcXoV+YrDi4VEMC4RLVy3x8MeD3U8GYC3xvqf3H9EaxuZ5xbPw9GhLlYxE/uONlkvd5of2Z5PdP8ihyReqA0I3T6Uzk4xUBYoof9yzMTN7TbNMsvV0EIHmA56sYoy1/jS8fU/F5CQx3kbwOfNiJ+f7NIq6YIQ3Nk09RiTuS0EdyICxFqjtu5sjRErAnMTacSFAzARhVsZjFB2Dzsza73K+dEs1wUJik6g5/xStBCZgaiIaMiEUkANA8hEJ2IAxC3H8VWEE4xlpsiFQTe8ivl5sd6QxJbQZoVcQWhI2dIiXUQD68Fqg+kHdNsOmlW6Y66aMk76FdN+9Arxs01zozvM8z7jfG2l9l8/Hch6lb83f3v8FZB/NX8mIj5PYs0RjMXl5mRPg0PEAtB8ZBLTP0U62AAAIAsv6f9JAu5zWPqv8xYBWHWUOQaxiAxFpmmSiR8+fLjf12fPnqHgV188Odzdvt4dHr/z7sXVJb/gdx/ff/fhA94diKi1ym0ilIKEVNz+l+s0Y5xU6x0fnTsmrEcBcJJsGxL6IQAAI/Z8wdh8IgIQ1zAJoNd0YmQPK+/lj2cWDfVEkZ2nwcNM1SFrg8oo0FryXKVdbVSKQ0jTUBEiQELt9CwG/56UjPOexhn+ARihRAAMmByXxcTMjtH6bgohdReE597E+WK3fZITEK+iY9s7lUJWlbxZMYVSIlYemEV9d8TU2kSEBQt5mRSdT2tNrZmIwByNrlBEKvN6tWaGWuv19SWi/M3P/vKrp1/+k9/9/dVqdXv75ic/+Y9lePDbP/zhaijb7S1w3e12iCSMUzsAQa3T+XjeuN7cvGbm2zd3RLDeDB9/+Hi9XvPhICJNSKABEpBoIb/qqaUoVsNA03wXIc09zlANGloE1nM31SWew6v8rE7QcN3PUlCzQksprTVpTAUQhygtQKSHGwC89JQq+E1TxEC6jA8EAFNtTrvEZASFcoutz6hh+kAmTQIudy0kjZAfUr85SGRtsd5OAxOjtgV6TKZ4nEW8QkQwGSZsSh67H76p/G3r0bxdh5fYf6MnyfTpL+rR7SIiwpMp9qWgN58CfHsI65C3Js9J61VjEBoxxWiYJz8BAKAG7b0lXJ61wHPif4JaIly/Vhq02PTlK059e8yERASE1GtL2J+ZSQCiRMRiNIsRQ3uApQIAChRj4NYQIR2VMS6iAn4SfW6tzTspImL0tmgIS16uB+f3yBkxAQByAz97TIAoXQHIeggG4vX3WvO5JR/1WTUB7cMH2VNv2+vyU/9tLqtn7jyI/fdDIXH0c48FIWqVOitfKgACBAjVcv7RKHU+dOnJ4cEgY256p7FooTQRYWkqbbCwr6gvWemLvq4nAYkUKoLQuAXLAbTmHLq7rNQHUdjCcliYfGfYgvccS0UZj0ILatdunCehk3aQAxCRcRwXpAe6NgU5Q9dIFYln3KsiD/Zf2hmFSETj7/n4RHBmz05IlGlfRj3707I8RAczJIr2Lp0BW8i48B6BGEBEtC22H1luuN0Qiwa9VG4api9QEaWUItBqrXoipRQCiLrOzoyN8oag09qEtFJurTyJmVerlYgINERSL2025qlph5BAyoxwtUXurxk9fbtMX2IkxXSuwTjdVC1FRBr73iIXZTMCwkLktEb9+oQuV5121jkXnH2LiMKeeIMxglIwcNVgNl6DDieusCBqcQsREEFzRTqpZECykG7Pk4NC1lehwy30JLJQNVPVdmCwqDkldyIiCKp1uNPGNN5YL7M0rl4hHgmHqU6TwDDQVPHJl19JG16+uGXmYVw/uDfebl/fHG7ql4O04Zvf/OQgu2FdDrdbFAZoZSiHAxNBGQpP3LoQEAIHJ0QQACHCSGps1n7BAofQy3c69is57Q3IlbPYWoSUh4pooU5pTRC5AJZSWCqzVVs1PsFKETV/VGEVSQNjWLSOB4LiFnsNOm7CInoQbCeNgsCFCKAyExCjWlILggAzCQBprXy14Yq1uiTCqmFFUMw5hiZnjzhYXi1JMPRiNR9VSGhZnCIkZkYT4BmtMgm2qZGGTwBAsSkjwsRNTxw8EkzFwnE4C2AbRkubQcSxDJYtUFDPcSChsVQWlokl6C4hQkEcnEAhcBn0LW0YcKSNQCurglKHs8Zt/7Of/dmjR2f/9Pf/a0Z88vzJbb37b/6bf3E41FfPXyDSy+df1Frff+9DZry+vLp5+XozrlfXBQ/t5vnrFZBMByhlYBgQW7tTwziKQJT1RBCRkXEoYyuRuiMqsyBPSvkQUa1XRl6QAYRlQixDN70b3hhhB4jQ1lBdyIuTgsXP2IMoQAPB4MUACLp8ieAROECakY/GklBxQFHBogEFscsYCA1CRhErroCoDhjG4qQJmjpS2JKM2YRclWrExIss2mVGKSldR4TVChYISEQiVeFEUrqXCSzulQ2jexBbAEA2P4BErScLzR/8vZUsQFvpFYUuMeOh3kRYgRBAmAVAACsCMoMgMLPUqhoUgQX9j2NRvFZGpmFm8/EZAHNezm8yGMeuRQO1/isoWvkothUtQAfyRh/zHt+yZRmEYwb2D72kB3JYMlkWWY+MZ6I1i+dmV4WeLtn8/zkVGyrgRRKhXzxzfEeXojOIf/U/Oprt0Z8UYp+4ugVLS4yWv0+MPHk8dbYdFfVMKb936aNADSzzuLTAK59Gl1DbUWEc8XYGThbKSQt3SDCnNpoCArOtLo4gA+FsmfPdyycS0m2swj8sf6KvCEonou2G7IFsRdPI/L4V3nsIU/hQbKzI7ESGwdpdBNm1+aQVzVJlrGBpXhpCSgqLyZ/8N9YV8fj5gXz6usHsfW2mqTJEfpVNGQlA2Ltzk65C+UprYk0ogaGrLjwMg4PibLfDAsHeOl6vu7u7zWajKaettUhNA4BCIy6bsJKHFoWJJL4QsUqASpckfW0g0cAEDy0VIQg9wgzIVL6gIUKCFC2i+mGYOceQCaO7aIdwhecKR9cC/I5vnnr4BPEBU0U0+gES/ByRfQsC6TVEjqlWZgHxW5kNJYuHIdGl+JeIBAhRS0Fb1oSqfJvNZr1qf/xH/+H165uHDx8PVOQMz67WFcqLV2+Gke5d3htKIbVPAlYz4qpWbJpAmnUPd9G4W+lKWo99Vxg+2tVlVQq9kg9tWXXHnzejVeTDiBsC8tXpRuQPmabkOrPF3tvPeqUXQgAEsgE16MGQ0BfSAEIuN4rtEVHk5TzAuULQGduXVJUh9ierxDC3tkCCIvDQtSRLzcAGjy61wOXANo8Y8Rl5Toe+dxBgj07Ul6tGzR6KptIYoqj/oUkbx1FIri/uC0xPnny93e5/+MMfrtfr7WF/cXHx8P791Wql3o43b16/uXkNWHa7/b17D25vtlpEqyDtp51I227XtTIz7/d7adNQiBN9ltgPwqbn06yifkBRQe+yhBjyDCIWihaWEWce+ucJAF2AZZyFCbhm6uowR4TaJROcJppIIN0UaWMiG1L3aGT9Koo1GVqp3C6mYhLi0pUvlgHFsJSzlrEGmbwER04BUb2ML0LXhWwKXfA1ChPm9mPf4+JOGBfy3EUqYvF9aRYRhx6/7uvNy4yFqE1KqwNFwGetdTWsxaWC/Kvsuc1+qkF6CT+N4dPDyzGy+tlCmtLCkikavFwRICJEvK30kBk/9WXd8h6NjRnE/wuF+JAR2lypyD+3B5paiNHDduecbxmZDScZ1cmJ5Qfy2/U5tnTT088ALDcq//sbVh2f/YBnrp94DBN3tK9MBFGVum8Ihoi5xLJ4q9N0B0dxbQFcuM8TS2WO+qzSv/MOw0JpLcvdiDuLLRKRxYQDHo53LN9fDHtqb2fZAogITAY0+lpRBgxVuAkzCCBBCYaIOPVkF53u4kTyYmNbcoqFM7zM2AaMnBWImGzUqrGKOiJirJvy/Ek5YEaLkBzyJiSwxD5/kYhRiWcQ1WFt2te4XvuhIDMzeJFQKmq8ExYibLVNtQFA4+ZEHzTPTw1vs/q8zRYojK26KNmAG3BrMhgvPxwO5BeiSXvToUExe0zAG6LWOsxYbKfQbCeCDiPMg3AYFQDQT8czxgDcU0RZedZlMAoyZkdWYCIiSpKqj1D+WGQUgGX/u8C5has9ndRM6c1Y4AwPwHmviwXCc6nrbVe8/jc+tugl3i+EAomn+tmj9kcW02xleze98/hc2s20r4il1goDAA3j+YYn2e/377zz/vX1NU9ViTwhIqNIFiutDWGaAzsYyHx6TXfeIScnTfms0+7lzfBzVFdVKORg8jliA0Ruplci9JfqE2F/VekE1SmbGgw7DHjmPQKIKuoxpZhUa60UQKQmQAJIwqAlo8dYvoWxWR0/MwF0CjfnoQsNMJ17siCkPVmQXA1FMMmetVSgiFjGZFC8eD50gAxjiChgASN+ihGErXkFJDOAxCp92MARIloV3B8Om3EjIutx/Wf/6X+vk/z4H/3T9WpdSnnx/OXDhw9VtNpsNre3t8OwOhwO++3u4sOL2zd363E87A61HQqSqlTDQMBQ60FEVkOpmoPYbdC+acXiSZClIWrNIkTEps5GjRTt+TlkDVA7R4BQW0xqXyqKx5uJ6hiZcZacag/iZul+uAvLZqShs6B9zq0tmlqjGd0gIbZmzbJYJMxALCPZF46pRD76IJud5CUwA4AIYXeZW7oOnIyVeXMWhDHeyMnIqLHpSSE0LeWtfXhSWqpPte8qt8Yg0SOstTbJhGaatJsaBdp5xFyuG45fuMC6xVeheyMWEYZektnnZDWwZmKHvTKZMUQ6qvdLSI7gb/b9qcBNO0hepIXNCLSSTpyVEdSUfJiPpgQ03Zwbn2CuGCzmtvh6cecU3xLEt42czT/6rSBaLKahatq/ULkxKRUIBY5UcfSjsma8PZm7q/4iAgIzUVhjQBkSACicmeDCmcSLJRcyWtGFTnOT5d78cgqXp0uk9viw2VmLxsksVmZ1P1ScBgskdpjpFizbK2Phrn8u4Cpe19dk4q1ADpIB85qjhXp79I4rx1pHAgAW2W8heNHc4uJ/xrHG1X+LJk0ufQuI2CJPsx+cys2nVZQ5OjhxNvZs0t6CtOnVbWaaRecgsV6tdTRWy0ezFnoApMIWM7fG0zRp5ExlYWaWRgIATASllMGPu9sYUuhzfBWEDxH3U0XEcRxJBJmB5FCnMUrdCCMWEU8BE/HWlUGFknSiHXOMDdjCtVqLuB4CCL1ns4t0bs0VYWsuE6zReYA2PcT8Ott0kgUQBgAsnsxMK3GF5YEuqI2vNI5S6aHRTAttZwHwYJg0EWPmOBs/v/EkhMT8HVxn8+nPC2UPmwWDSTeGaZDV4XD48IN3Ly6u/vqv/y3RsFkNhUYaxiZ8qPz6zU1jePjw4TgMbdqthvHQJhYEoTIQW56SxrBC+Px9/qyCL7rg4kpxA6AoDwfIWXZ/G5dk7hw6x6e6xq6nwAxoqadenNEwz0+1UBfEGwjN+5xowQBlaHoTEUEw6qW4EzJJJCSIUAqVYrE3YNyteIw+uDnOaR1zDNDXIuIR/1rsBVFUjPMQKTDC2mFIbUMa3haETml0CEauutiw8VsGEAHm+ApECEkAhVyAY6vuh4iC6tNTZp7a9zAiauZqt5UgYpXp/GxdxrJeDdM0PXvy9fXF9f17D7Z3slqtbm9vP/rkG+thhBXsaTdNU91P29u71+PN9vbusN1dXV3JOUttrTYiaK0Ow3io+8PujuuEYsGNigKeJaK7ZsxFRDQ72GusqASvHCopM2WeQ+xnNKALLQkyEdQobmZmRHAdr2+rkqNgLJqUmaV2ZK8OE2+EluVuv23Rof0pFRw0mdrM9slEIkth19cl+U/mlBByFIsSf+oq5jsjsyvYBIlwqrWazO0Zl/VPTpPxWVcFp7nsDhE8aQgeenuiwCJi7RcS9V6oxBrKWxCQzVRRSmER8KT25bmbldQl1EAkaCcYSewdeFiVeEMWrTbASUSDRN2MQs16GHXNBqAbDhdUtcOHPWn8JgYRaAhFkkHE92sJHIt/QUnQvHqM2cmS2HTEqPrq8lD5zlu4b8QKw+InbxvqaIQTetRbR+PY/9lUE6QymELPjGZ3B2NjMUquH68Bu4Z3iChA2l5wFs3llYAtrp27suSVGeIIZsbsrIUEeACIZ32FnqDrovlQEEtzMXF25UM5hsxjID+633N0jp+0f6kgMhgw6wYjABAJAkXhicWRBfxH1F0sc3nWiiAe8oGAatJThp69IypgFevX6Klvhh6Jtac5QMJEmIMZW3anqygIeujMmm4LRIKI6M0UWwgggoQFizASaSgzmpTWWCZuJisBMdfWuGqVLlCAibKMztBN9SKRaoSwqc3SiO/hcNCgdnU1bjYbMA5NygW7t11d5CpqWGD3LA/BKKHvmGmU4eEAEI060PoVAABxDKDRkbZxAADaMbFzGqDAynlnYo7hZ1dUZJszJ8hhQtDlYzj58PGVYExAPfbiLMC+BdGaDy61x8P5pYthj2ma+P4nVooipklquMj8twhW+U7FmwLAwzASnj24fvTl5199+flXZ5urMhQax2EYAeRwuN3t9vfu3Xv8+N3D1Abf2JSeqBCKUhsAWsySUH6vmmJ1glFIALFHMhj2Le3uS90p6IYLorFj6gTThqYACilI0GocWadRGkfHSMadUwdme4vpfqaSiMU+KmaAIBXFVadydqiNiYpVrxQAQFKBA9HaSEHXp+asypUfQBZIhRaCiIVBJ357AhiC3KW16GNBtCXJZIg4pXjCBVUkt6CIHygiFm2euWz0YW2qRCKn32Z4ud7sDoc21Yno7ub22bNn3/r930ehq4uzN7e3IlJrvbm5uby8vri4GIbhsJsePXzngw8+OF+fvx5fAwuy7HZ3m7IpQymllLHAQYjobD2ebYa95sxAESv7D9ZJ1xfLcwhCKhJkPSkecLSZ/lUm2smrr9VbHBYdqTF0FvutiJdh6fSkeNcwyYYNN4X66zSXI9Ah7utkC4A1dDOMTzIVzmR38f98FajlFtRm161IukWSkuNPyj8ZSGzOyMwNvXjoMSAdfxacFXpymNQ9JsET+x9zCHROx9W92ZyS/8DBPtAnryivIusYyuOGsIL7c4iIbt51jg2uPQs26fwGEcCdgC1hS+JS1hHzBEfKM+NZ9cDjU1nwodmmCKkODp0V0ck3+q8WEhhF5f/Tczs6GP12EcYHCWGWd9A/49Hk/0suo1/zmcQVlgxEFCBv6wAFafFG195ihCLQGD031i9xGRSwH0cCJvt5EzZjhlhSqfJ4mvX6tfhJEbAclxRgoHBZKJfhmwnZJ/chgQSelCcWoszi6jcl6sG7mGiC+AIUo9lKQJd+NWsNFsMSDjggALQWhsPAmsJOVUWSI68rw+K7lBQD2woTaHqIZ4Rqz3mhJfuoDQzFCbrMjHDGdEEEBDhAHcNmADDMYve527mhmNmvG1x7hzxuprxFMRlN2uAGwiis2X5SJ27ADNi0Ox0gDFQJgBtUHjy5nqJrHSIjCUhtVctbs0CdahW4vLzc7/d3d3dnZ2dEFE2gvGyZiAg3IHJSY74jPe1uO4n9ETFVw/cfxLcCoYATGGdn7J2qzLIgIgowTGpl1/gbjkTGkL3mZ7EkfZxags+AfBlD6bC6FCxdMHoL2RFPhtDQEH0Nii7f80Z8pgxc5hWEfQKBlbqQ/vKYudgZ+B3WxxaYq50mlQkZcBLRarV+751vCOMf/ds/5okPNF1dX5yfXwHhzavnb27fTK1+84P3r+5dA0yr9RkAkAwNDpmhEBFogIK9k72wFYhoZqCYXOHOYUTUKjRdskBR20SnLTPBY+FxRWPWIurwEWBkEGPkKAKVG6g0nEgWIGqevWvyCABNlUxGEatbICn83Tx1ri5yEy2krj+XBqauuDJjvkFEUSei91An6kXV0ImKHkSm2F6ZAQogCJDG4SxhK7EkEWRBFjeGz3n9Cf7igoTZ8g0kCElACKkC+2Z7MDaypPpaCZEFQKjnMPSz01xYEbm8vFiv19P+8O7jxz/+8Y83m81u2wDg+vr+dGjMTeTm8vJye7tbldX15b3zzcVqGC/Ozg+7O6lw/9696VCx4AQMwlOrjExjKQVHQQDS7kkMONgmUcWmCycpzMwOlyVRocjY1lWmfdUlZI8rw9KQrWFYXfA2aLUKoTNZQikV9voTOWg28LeLSYlSRbCWDeWHbj1rRRiRCkDrCawiYoGtmceJKcZGWMswZBscen1hS9hIUrUmXQQngiUX6yHj7KoL4iLXBdJP1E9s/DdiLKVr7A2T7J7/zUOlO7l6R/+2S9uIiKg5XbEodLGeUkWmWKZoVZk8bv9lMRNavAniqOOOC9yLoe2tICiAmmWJffBF1KbMhewZTUz/LlYeFzsw+CqIQQSSry3PHzRiArBPGwCIWVReinkeb/TxweRhY+H5MafCANB9KPNxlnB2fGVyGaMfP4yzykFzfJjPEFywA3CLDYK4xk0miORCfrqKLFLMypKkdfVy4nkDBQEk7OsU0/OvCdy2l3+FHvsbAiULK+12e+VMylnsv36O+bdwreAs/Cnk3fi5oWIDIhToRaMUG47N+TrsLBaTu5KmrtIEwKTSbpg+shesZ+hiyA1HJskUzR+cFRzd8pVe2sFsdi5Zosr9FF0IEwEsRXVvjSlv1QztOIMH8O7WorIXMzcQYOqhfjAwiybysDZKR5xqtVI0zCJKKlTbERJAhMFSqTSsHGB+3OK6RK1VpO33+1rrer322jVagMLLUFo4QCe46dz1GQEXlMEIS0QleR8RnQwKeFEptUwBKIJYExMAFKkW6W6B7wLgrXNixxFpHsKUMTQf1jH1W1CALmx5+aZe19+iCN4a0BIA1RRLuxGO9SaYYATgDUEyZomLxRkf+zF1JmVEYDGHTD1EZBgG/52Wa2ARjZ8Zv3ry5OnTr1fDeiyri4urcbW5PdxtNufPvn5akB7cf9hau91t1+sVNCbEUooWSSRvAbYoKj/bBJs8uLEzlsBZoAcA0XS0E6GYBh5aoDCwrwdQiYiGNKue7FCg78BeowOJUARZo9ACiwUBUSzYRFzEifpObo7piRYCgmUgk3lxsPo0zETKlVC0DXBPvyNVLDO/S9DahTY56q9nc0xEOCfcB3zOaY5J7bLUAzsiADK4MgOIiohIMjCJVsOJ1lcCIF17yHxAN0/LR6oqKFYxVmqt9y7vQSFm/rM/+7N79+69+/jR3fZG2ubs7Ozy8vJuuxfBly9fnq03u91OmgDzfr8vpVycna3H1Zu713d3ZVydNeFD3dOAVaqgIIYHlTEKn5lbQ9B0RRBgrRxkvFcgIBawk4vouiVGCTWyBZvU2Tqddy/gPP7UztygYnXnIwSNATGChxHMxiNpzDjNI7pkx66Q6AH67GGbDEYuMcfDmumqi0k9RRXdMpUBDJKYS3Rkn/BrIbxl6oQ+mcXOnJDZEohGxE7fZ8SSssnzCLE/TtZMuA1WbknGLBHEq4HsKQtrNrdMZrVmmj52wnyyuHO8ETMEZlG1PpKKAk9Oy6HHm/WWwMHF7H/TCP1OEVHbk5wUsKATjnkRycXCEw1a/LyT77ng/rYlhPSpnGlBniBF/iznCS4/pbHy645f5HPrDQ4QkesySiTvg+InCEZqgZjpbnni82zrvvZI4BBGxlm75s6SqUDfhBnVBrCovuQqhQV3z4VE+n12ZoIYguni3PNMFqfZJyAzCJeFVAed3yy+WiBIrnsQZk/xCjM+jdLhIFWSiWFLKV5FZDnb+es46NqsYQT3uS1mpQUZ80sXW3GMZXpH7eviInL8NoUgS6TxiUhrzE2qBq6LSxUNgLq7MIPHoU4AANZ6tJRSAEkleVB2C0s4X/zrybJ8dnZWa22t3d3dXVxcjOMoUUEypXnpBJp6IQxZJP4tYtMBALDeqBBz1rihHkuhDT4swoSC2ZGJ+z2BKeuHcen8U1o5uGChIK24cOK8IElFNtFU4nPxvMFDUubnj5U5rotPw3w2kkLd1HCf6MCJa0k2sc8ny2cJefWB3jYrsp+JqBQkgnEcSym//MWv7u7uBuSHj94FgFrr2dkFtDe73W61Pr+4uKitCUyCKywEzIpNaBJ8a60VmSfGoJdmiV0KKu0GOacnS3UxnwUkwBaPt5FUoL3vLEDkVnHyXYtIA6HUM4S9Ih26WR0z/RUEn6JhAatuRoIiZiUh0HihiBSKEAgoCE2rOjJLFpJUh80TswjjiGV1MkJEwBIu/HhSy9gFkIfWlOlnJ4lgbO5t/DpvYN5wwx3Wus6hMxvO9AN1Ya/CLOQGEQGYiIbhbJqmsazHcXzz5s00TYhYCk3VxO5W6+bsYhjG7Xa72Wwu1lff+uZ3Li4uhpF++ezZNE3DMEhtlSoLwAGH9QoIsRhhYWnCSnWJEQjJOzCwlkrtgIFMiK11WpTZhGuSAYfL/Qm+GNuFbxFv4sTyxmKKRAioVUt87HwuuZhPQVT564E95lEWCWNcIxoMCBOjicE15zVPVUuuRZUwhbdSStYPPR+MZ4LBKbCxE+fjnMYZHwfna0MZ0DNclRypZQpdx0AoaJK3LkfphuKd/mcAkAdHtHBxHKJK+IwM6k7mKXFqFKXT0z97OUg3DNi/Gt0U+BVIYQU5NbtGRKPVWBiRIi8FAFANeJq4pVjCYLXTVTCWWZ8j9GVoG4KgBYH8Ai1CpWKpIlHOGGKbNIW7SkskI4lHaikxiRnEQ1nFVKuCAN6+SxDFcgqpp9nrRfM4vw6FGX7EyqjZxjoPSwcGAGNLRilbGiJwB2tdiLaeQcwOsgSXAIUokVcxkTwlrYKLtiKChdx9LgDmlSuAVsl+/islICl7VfIc2AAcGHv5pHG9mQ4HABiGQSOJyYv+Qr6iZHucoy+s2048rE3r2UbvHL2Z48LBKZrSuNl5AXkzAj8RMwZKPr48lIcRY9TGFjEJw5DVj1CHix3OMScUjXJcgI5TSCfI/lEAlD72ThOBxkpBSilEhU12BwvM1X3q1V1sXuJFuNTyiK5GhkEx5BIWIYpSx6BTKkMBQKvjKCwIjMAiLNxYSvEBkagMzDDVCTXZlKE1aZZRCiIRM+m1ugAn5gawXl3udnfMTGVoLFBhHIAZhvU4CSIUDcnRNi6ttQFWjVsBnqQd9nvUftGAjWm3n4hoqrzejE2Yp0MpZaSVWFViVAaiW2pYzxZ0SDRgoUidEwDwlr16zkofqJRWGchkl3EcCVegYG8uIAGA1gSJATykRlDD4gWp8mTAQAiIrDYwASxW611RgXvPDgWwROUU2rguYrQEJASmeNhBA6B7VDp11bqZ0k3sRsxFBIG9IY4DrS6QmN2MnfOqKcM8EgbpgCK8DNTBVG7V4N5rwgofCg0I49Sg8STAFxf3Ly/ub3eHn//qF6vLzfn59fXj+59+/tmD+4+I62effzod6qN3ri/uX3BrddrIdLYaGiPXVokGbsaHigCiFqb3SyicMM2lSU8lZyVA9oCTtdjeRMOL5EjlVp28CFtUm/quOeJZ/QNOUyULNmgi0oALIJI0rghrSS3MdEBgRur2VBJHf6u7gNpHIseQS8FiPRO4FI0PaiBQoRENhTQ7xXoAIUirdRiGUqRZf0jzgtlZsSBRKQN5Pxo0Sy0QonIRFAaB5ske1TrygCAyi0tuXaB3wdRDsueVW4WZSjEpShhRSikorKH8FnLHCKDFUkrwfQDQRh8sgoSDigfOXQDA6ioCn63PEYaBN08///rsbLXZbO62bwiJCD98/93nT58/e7O9f/9ha/LBOx99/PEnDfjp86fAhy9++Xd8e7c5OxegOt0hrZsgT/V6s7lar4mGCiI8OesiBGAR7aUkLERECC0CEmzOZBst5Al4BcPT29GoOzMxSsmmjgRJ+Os+cNFYanM6azQoo9sbuoHMS5i3Jg5ROqwJvrmkVUJrBrcFm1iirnG3hrk8BF3+lxbJX4C9aSMAFAJtcoBQyBsO6rq7JANMZE2ptNNqQi5DT/fgAQAwk0gj6EbuiJ5yq1OjoZt4tLBEgOtsydisNSoAEjrDNearBFeRznave6is6g43EM/CGscUry4UXnoAQCBugh6RyywgQtqQzOFgJg6+3Rkx9zZGg5JFB6ylwkfdHmjzw1RqwKQiEW0tYwX4xTGMEUQoOfP7rzLz0MOSzvPA5gZLIFPVFxJYxzP6fz5+/FCyqekU1M7H18cCezITnT9/UlH0ac8MVLORjzVu/cr10fT8W6cHdkynlfKjh4/gwZpLT621VsWiI3zYw+FQaw1hPS9/to3JtHO8CR18/frNazk+l+OXLn6Y/blxP0NyzOT41W89hVMzxLn+nR7j3/zzmNJiDkGb3rYb+cOxUrEYJLKKfUAteDxIq+yXhNid3ks0lFKEwcR7kWY+L2RuKrUzSKsctLJpu28GEdy3qYFhC4sQiThuMvM0TYVLQcBSSOv2mJinPSAJk9sUsQxDIaLp0OrEq/UwjmOYKFDL8B3RLhEBoCaMFk2u3kJvQAOEKAxSoAhD5aafiUiVE61iocE5KSjTRTQBa2/ZCUEREZAmcxijcM0k2osnqYMBZIlTBaVjBmUnMrMhZT+L5jz4lQ89g1lQa+l9r5CIplbj+axbLsAsv/94MvldCTsAAIZhYFZeheM4AsB6vRaRn/zkJ6WUjz766N69R1oS9MXLr2utu92Wma+vrwsOu/2+HfYAlxGPKyxzpJt55IL2iwiVMp/2jP5IyBSJyGQEXNSIUJgXFgUkEYlGE5k4E1GbKoBFI4kIIwwCRDhJJaKReoSrbjjmDqn+7sTjZuZDAK4s6ggFgSYMyIhATdS+yyOSFIQxjDJ+1gUINdpMPN5P54mCIsJuMSGvEqZKOoa5DXqYh07Jyo6hNchjY1VoirHvaNS/ksTEY5wT1NUpWgDSSdBaEMagHmoOuLi4uL25u73ZXl6e7/fTarW+ebW7vvdgau1uv3v65Pn5+WXZjPs6PXny5NG7jzfn6/3tdHt7uz9saVxRGVmY2gRcmUcouNmsVqvVVLfC2u+1uO7j9kprp80MErXIZutyWrXYxrQJ+aAh85F0cwbUmRAhp1rdS5Y0+0l8FqHjt+SjERE3LC7CKGbHl/9d0J/lGSGC7Z7dz3wc5/M/OdRQhhDltZIMSO+gktEZZqGqXYgNNF9M3l+3lHjzlBYBhPFBbTT+227CYObISH7bv7YuxxwfVNwEwa4J+f/ZCq3+o1ms3uaaSZ9NaNP8Uc0FzComLDHzhFh89Nn0JFi62LrjyYF+RihBW3ejqoKmUWhyJUnJQOmDoHmFBJjm7vb5qhdrR8TjaKF8eMfocXzn+KZOGEyjcZUJAJHUKRxcMuHhcgP7Ak/t8zErXazOH+2yBUJBbFEGNIZShXUYBrIeYB2IQ92KIkLRsntxHWPpApHyG2OGi/UukOd48MWTcIqUnKRrx+h6cgnpKNlbJehXcY5vndJiCcd4cQpI+sTcBk9+k+YjAJgzgaXp21GYBZpy68agEiqb+VwCf5m5lLGUQlhqqy64IzO3KpUbMzBEJV0CkCrAU40yjoTDVPciAlQYhUTraRbxhhIMiMyEJFY9TxikgQ2of2o+njSepqmUsl6vx7EMwwBCdeJSdEqWiGh74v5oBSVtcZkdegIaqYmCgoIgwBQyHxFpHzqowsD9aGbGDmQAYJDBRQTVRiIORFtoidsXuQXOYhgGWYCOiM6CBZ7kWJKEzgxX+eYCdE9wTe+5GAI6AKgwraev8Se6I2rZOjb3ZHDO4LqYW/zZmpBZsKxiGCLe3Ny8fPmy1unrr79GLLe3W0TY7XZv3rzZ7e/OzjeXl9eHw7Qq689ffHaxbp98/FA9qU1EpIkVG51hN8CMXqGZjUDTdEU0aVPMb5dqf8T8M8HR7wPj2N2Y3Ms6oWKNMAekcQNBYmbNNdII+IpYCgq3UkAIkIAkbdoRidMd99QMJ93mUiPEJgxEAGoxZUDS1sXAhaU2QkSsiAXVaC7UmgA1Mv9tFQ+dQlcTmHs7blWMW2tV1LnuZuAydmu6b5FO1ylIEncyBUvFs0UEl6fW9z+x+6DMQgBailhERBp6r85jBq1GBMIBCtZav/jii9baj3/843FcT9NWOzrLxLvt4YsvnwCO3//+9ytPt7c3H20+vNvva5s2m/WjR4/2u+n27qasEZhEmsA0Ve3fjEirrZFObXdVIm+EvP+OIGlhrjjfNFUHvlPXHMGXz8ReqaCDfplVOHPyOcs7vpnvyKLfC8zGyWwO5uJSPF+8EV16sn9vtVk9UkDFdkwZ4dGVWQB69ZSkw3hKT3gjTV53GyJIm+keHY+Udh1FUvgDJ8Ro0SpFTq/jX0RsyZOfx+mMWB8ntABvD0gWL/Vh63VbPGDgNQDKwJ7yAeB3TTA8EiD0u5bcnihRiiB0/7zg+MBgHrc4P+YZiCSImelw+f3+TAoLC3JgciQvxvQnydVThWRkFGRAIyKK2hLuJ8CCcJThIcjUS6+wZ2sKgDalAwCx6s+AQDIPzs3iWuzMjEKdktgyYB1z2RPC5Qk19HjU/vDxi/LEFu+N11nNTAVEHHAQKERiYVdqZMVCx/qryFL8jT/f5uEJX1U+i5BXTm7ayR3Lb89X4NVvvpk3AebncvIK3IvxoJ+7V3w52m0nXn3+HYN4KWYhosc4zEQ38EC9THH85+hseBZZpDMVMehlFqICQq0KCzZWxzdGCUiMIFdEAWzCmm8qSK1JbS6129ygCrgBW6UZRCQWnKZJEAAKgvddGgYGaYylCYGWAABG0taszGwRGwhAqEKPReGTNtyFBlYgR1uYQkHg1kCQsdCg2aAMXABFpWa1r0scqwtYygVMKqDWQkmGqQk0a/AugupQRqtXMJObEREKaqSOWEF33f8G5vUNx4XED7uD1WQvi9RNMALd1jq3L+b6tgvsC7DBrrQIJY/lDNRxAPNpCrgvhQUpNHbwyWkf3MpEJOCVenzOiyrDJ3EzXypNWVIq0HqzHobh+ddP3ty8aq1N9QDA07Sv3Ka6HVd4aDIMdH11cbY6G8e1ME6t4lCgMlrylQR4i1hQcebxvu1GEbWeu5lFBZVHyDwAV4eKUE9wNhSUKnNf8bhER+RIJ2ULfW5spckFhKkxc2OypBRzHQy9t50Hz7AfuvozXRpRmu+UH6WJgFbuk8YsoiO3YTUCI4MWcxUEhkIqCAgINKtGRVRYi2yE8gDADaiYLS8i9XVmA5FIYzaFNh931MbOexjfJgY0I2U49+THrjJHVRkIZ75EO0yIAqYt8jD9gI3fowAKTNPhbHOOTD/7m7+9PL/45iffOuymm5u7MqyYZTfVyixUfvHpr77z/e89ePzo5dOvp3Z4/vz57atX2+32cNjv99PDB/eBZEJpPAGP6/P1vXtXRMQNCAeBxsxskXHanhI9dwjBM4YzmNp6l3yvb13HWdOUlo8QkSxlOAbv5xEECtxHH8Fy8T6nKnSkFVgV6RMzm02yaW/a9Ha9Dyg9s/NYuvA/wbQY/cNdMifTMmefnajav9DtVvp9+NZy7G4P/MM+YAY8/9MsPjHJ8C0sWDmZqmY/1ZkBQI8TCnjGsKkpKs6EpZNyiIgMGoTu04pkrLfKJVoOQkS0jgWYqA0usBpB9EjMyMqyIoDSS3iir1wCgFQWcTHaRITYtRAydAPinGZw7EldDvbo1Cb/1n5nUjqBSOSbud1dE88FcwdaYGxomdKxnXlzEREBpac26c2oHdt/Egfjh7gMz4B8lqfUmMWTCna5uKeYN3P59j6yfU4DHqkWMAffGUqou9zbDzlIoSCDiBra4SiLLsJwXYSYFag5+ca4k2d1vKjFAo/vHD+PiA6Hbx325J/HQy1I7Jz8nUal+Qn2ikDxbVo7InawEU91BzOBQIA99CJ6Je+836Ru8TUloe920gGUiuE0Wb+k1oyv6AflCqUMwzACAHOEYFJrBxEUJOXoDTSssQhy494VklkqcxMYIlpPeSujAHKTA7dhLFZhRFoDzVGwtRMWKCCEtbF2X0FExAGxqBhNNDCDCBOyijYAyCBNmHBANJEdBCw3umdU+P/Ekozd4wZgZBuFm0gESqpeFHE1NskCxXEEG4rn20aUswo9igUnwMOsgS7Ex58LxAwwyEB1zG/yTb+vNFYWY8IR7iBiuMtiHL1KKRp7SkSa1Zd/mPE6XpFJ5fGqETX2U4gGLYM2DMPLF69/+tOf3t7tb2+2iLRarT788P2Xb15vt7d329fT1B4+vlivx8O0vby8vLq+QODD1EYkSNEaBuciwKkcda5BbDhIyMDYXIJiZHP0xKIWl7GqELLMpeyyrAZYMmiscA8zA2nCjRuKRhKzKq4CwCI8cRkJQAQaChABKzBIAw9VUl5Toh9tD05A6PYloFKEUdG3NgEzeSM2c76RSuekOoJVu1JMR0QsBFiEGQuo7qG1QlrVKk2CxmrNhzaJoEXitgUgyVFMZgbU9NUMzHpKUtp/Z8pBcvsmsOV+qAyk42uM3xLC9SxKGZi51u0vfvGL3/3d3z07O2OZVqvNOI4iuLvdjcPZ7/z27z1//vzm5maz2YjI3d3dzc1NnabtdgsArbXb29vL64vNetzVSaANI52fn9fKh5ra1wOARZSbIcbXZ5EbHuNwnCTauW3sgP02PRSLi0WGgImI4OXHIZEFMMtEvwJV5+hpTp38wMLwekxAOt/RVeXiDWp3xxllWAziP2cAQCniWcbkAkOGpdkPk8UdI5dprmbnBdqwEZ2oMqf0ofrO6GpcKLUZYjd8LIaFU+ROx2QEDHoed9QSpAQjlWRdLFb/HCKmTKViBEBnOcc/AJXMjFp1gQDAOxK6iCH+ylRfHBCbF13oWx0yO8Sgif3kuaZ/l1AiEj+Nn2M2k6h30vda/SYIKKQ6hmONCeWIIoSohjsMY4lOt2mvwVNHJXoOs9Mia3eMNh/fWDB5jJcCZXDWYw4Kv0kAPfHwyV8F58i0IL7N9G328z62dbgA43YZgYlhaTtHd0oGKEuPjyT04t8nJw8pFCpvdX7pMZwsRju5IfFZ5nh4/MDi80mBAxLEzjdk9mHxfEKxE/qSPnBMazL5lrklfkY9ObLiuqDCAlZa0YfUIAB/wLq2EREitcbT1FqbtN0pGDu3JNNhGIZhKGWstbZW/XVNW3wjkBDWWltlQUAEomG/3zIDliICtTYAGoZVtiA2lkbV3g5cGBqoACFkDT5FW8NWbiIewKC/ZkZErk2kjuM4WnYh1VqxUEGgMgBAa6LVJCLnirUkBbOw77nHyTQv9Q0AAFadsJSitTsaiwgTWeA+EDRhayCnGcnehV404KBHsQMCWWdCD0TR80jqbiyqn2/OFRE/EUhICgCaytbBwIrDAFmfhI4ajqeng2rmOh7OeJUjXQChNsHNEBgP9KyyOYjiKf2cEIUGxQZmKAUBcLfbbbf7N2/eMPPlxTUVOL/YvL57XdseQErBDz58b70ZXr/6+uri/Pr6kmjXGhfSpIuYo4P4W+wg8ZCCoiaTQmSoz4s/Srr0J9b/N9FJ9eck5dnUbGalmlIrM0spoPoksCWf1cqttRVaawYkrXnflLJRESIqXq3cU0iAMPbfK6jawVtN/sagJSN1zvtWS5FhWOGATRDZOxq0pgjIzI2BXDXVtlmUVB0AqCKkGYciAD3AHcDLWeTtMktBt0bFhzkkzKqHobsBUc2BJMLWAgDSmPaviPSQtlIEvDbPMtQ4XrpaDY3r3/7t3z599tX/6Zv/PaLUQ0PEcRzbVJ989fTl81e//Tu/+9FHH//ilz+7vLxELDc3d+v1+sHV1U/e/PHdzR0AHbaHW5TL8T4iTtN0OBw06YVoOBz2zNqHEAGSZd3RwVuSBxak4OmjiOL5vyIiR+WyQuHJGMe9vVpGdk2V9ccC8eEIkQEgrBJ5hEw3ji8NVbLx/R3xrRX+16RVF2DEHSIMXWBDjCJKpEka4mDZhcccS+MLEulFhAPk6C2Srd6MhKjFM9nzP5P6fNq2hNif3MRttsMIAAMiY9a0oai8bmFtgN7YNc8tT3WY/S0E7pPIguP8GQM8vzmraaWzJ0uhVSztBNqtAuZlPrl90q3s/d/EJ2b8w2/OpB/d58YtdhmAmL3EmJ1oU3Yr1tQSlaUxAnk2tyMYCQpwj5zBNKWYSSx/jjDEC+SbfavLK7iQjJMOsgCgBdrM9013Y9a4JwDl+NWmJ81lX3QKEk86hXSdxgo9LydgiwVBwIWMrg9khTvfXFRWxiT+Zqg9piPSVaB+Z5FRfoQzS80484wjMDZ5N726E9ZTO7DczHz54Cfso3kJC5Y2f0Fh1U5tqsrN9D/05Xs8DEgzVx02r9EGYBVUFMHJAsXEE+NsXapkTZWnaaq1aYHFICJ6jCCINAhQY66t1ebiC2goOmihJGFkqxgH+7qvwkTDMIya89YYpEmJMjvqwqvCWjgCYELBehCRQkgggNyIWmtEoHnP4h3W1dOrUq8GIBwOlWjYbEYGaE1qZSU7AqBx49yaWXGgiFUnB0YtGIMAFt0HFkEHynSZmbQksQAg5Dpl4Vq0rUawwExLDDD6I63Z4QqCQGPWrzWmFosVFEI1Z1qFFkwn3QWa4CUZpzLMHyORSO83Zz/U38ZjDpGYakdkxJmP5szgVHS7PzbjT0ZBdV+Tccsmo+DSCyXRzc3N06dPD4cDM4/juNlsmFutKh3thhHOV/fW6xGhCuyePvu8DHhxcTY1GZHMEaTJlGxhhLlOS+AsAKBtZnU7vYV2GOFKCWSxdv+tOPZZjW0VVpgrh6jE4L2QuugWaK773JhBQBq31mqtEA4NhqZitQgiFg1BJKKUL4uI7PWjDFxd2m2tMktrrbUKKIhqUyxIAkAg1ATJQywtr0MAQBALWBiMUi1L8EAUFu0HrJxAWKKmx0wLjY2ym9QZU2xjyr2xm8yzn0fBSXsmFccEAGQt5d5rQUovU2vlfTQlBtOVQRqAN5uLX336y2Gg8/PNfr/f7beI+PD6wd104CqlDOfnl5vNqu4rcnv46PGvP/t0v7/97je/8ebNzXa7vbp8QMNIBHWa9u2w3oxEdHZ2MQxjOxzEsxLEKxfljBFRxt8LyHR9B/VAEO2pI4ORHf0cJk8xUD4Z0W60P0nzC/VmNkn7lcz/XM4HTL/KQlGzg9dD8Ye5ZzKctpSRMKK2PKAAAABNbs4O55jwCXE8yIuNqTJxsudmSQAjGSnn4J0WdU78uVgFn5JAYp6IOACxR4VkWh1kYQb2aWSdkhenTMXUnRos48WX39t93YqGUgA8b4Bjy7AYccRQCdAkgGWMVHCC4AF5MUTF+bvPw2QpEyUTQUTN1XGiVjRJyRRxTXqYn3dee3NHo+Tq5miOwoz2sYkZZ3RJdvB0hG1vuTIU5jtvu/Jx+hFbXbDFrkbW/3LYrvZIXoXLhUdv9E5X89uk9FEnkGX6gNqMBpEm0td7VMZ+AazHMe75QwZOSYJ7fvIY+vM2Lvb8+Ml8R9KmLfdzPrc8Zv4+4C0NOzvKGGABYC1Xw5gd/VKE0qs1GUcrdQIAavhsrcaT4ZfwRbHjC4rgNNXD4aA/90K281A8L6LSvAORiv5ENHFrTVprgkg01FprrYw8lJUCQK2MRAORzi04GdHAangX5rYvtaA0AB4Kaay7y+U4tTrSaPHQzK2JWohrrYhlHAdErBPvYTq/2DCzroXKiC6CaD1NogFAo/dEmyuKxuMDYeq+5IduWg5m0QGLCLfW0KpOSQvRHAAwYNL7DpYBWFqrXcShUoikHmIrtEqjWRaO8NThQ82PJnRCP7uZ3JMB2++UsLaICJZuQIlfISLXCsnGH+ceoTtw5A2Lx47xYg7wMzDO0IuIwzhwwzoxDlDKOE3Tzc0dIk7THhG3u9tnz56VUl68flHb4YN3P8Dh4t69e8OAZ5tBoE1T22757PyeJNuwlihFgEFl1DTnPD2ZS9UNZg/kPQzyJUlwt19VVvalLcaJSKFrmg5WedM3TfW91qZwqjCb+wsRD1NdiVJOUXNMKajQDp1PQeRYesadklZ3+ABUBgBqUBmBCqnYTgW1I7Iiu6fuWcKC4XspetOXHC1s0PJvjaQr15MCRhMkAs27QUGlUnKECpaE7lmScMxEFmzsyUweoE7S1emEIi1ayou50/XnSl40TXDh+Ymrtbbb3T158mS9WT189OBwOGgVo9U4/uLJrz//9Wfbmy0K3NzcTNP05Zdf3r/3TmXGYRSR3W63Wm3Oz8/vdvtB6HA4APLZal2QmHk6NDcBIzAKmKulo5jrM+CoLdIZBFjPN4kqeXH5biRItueXfMqB9oQMoM0FM0NfEJnQdjoeIUVZ31zmOA8OqcORHSIyILZmkkA8N1/N6QtRQ4+7wUv8/oIExboWEkognY+AwtzMrTQT0CPM/Tj+cL7A2Z+ZZp58EubEsD8PqF2Ko9ni4odvG1n/HEDIo18WgmO3lPQ+1QCAPR9Om8U4ZASict4RHMfWGnPL4pr+v88MFtNabIpeUcGHmcGqQKqlTUNQEIB8WCUWoPG4iC0iawGAsSIiCoqoEFNEKyibo5wQmCG6lCEBB4kopTCzcCulsLAVPyBzMqppE4cRrXkwaFKewaeW90yL1Y8NulG+q7weYpT3xLaF0d6np6Ef3MMU6BSE720Apy0iEbtk7GHKqXJwQviOxqmeDEBT7ykLexpDTK4HXMXqwCXI9AYXH728jI8c7Lx7YBP8IJjbsa8r47CkEsgmfHjSiseBNAAYhiEXYwqRS+Yl+SQ1cl+gdPxW0pUfi1/NFxVEWfe/b0eTRipLsRbWUqwmi8ruBhWzI+ZXK1NUQRqJNMJSkABoP7H/SlGbvEoM+ymjChCH2vbTTnM+mVkaimgXjDBLFMSCZc2AwtJEAAcAYOGpcWNilVlgMIWdCggMtNZIaEAcVyvdg2EYWmted87xlAkRuWkH1ibSBoJhUA/BtBpGIuRG+9Y0nIFoGMdSm+gxlWGojQ/T4cGDi9ba/lDHcUSk2qRA0wK4aOZLLTktAEJEKCC1QRkEAEwBdg7ESAPVwzQLVnGTkmFHGPUIEIE0coACi81ihGwiO/XmFSCChQYRaVVHIWFolYUVX1SJQAAQo2nI5lZVR0oVd/ehDFr4K/gQaC2FwHu2jdKLuRXy3Hp9yNjYDE+zBzkAPkgHQORUBDoAurTkD3QdAMBQQeejjJkEQKjteRgGwDoMq/32sB7O727udnfbw20bULhOn3/+8w8//uCwfyVt9+zZV/cevbder87Pr4ZSD4d6tl611qb96uySgbAJI29b3Y2FuKFQITFPCwjUZn7Xyk0DREXQ/EvDSIiqQQGACHvhY/JYF8UmVGu+CIBFacg0HWzVggCtgZRSSLBVK6ARuwECBUYEZp6gaVpF9PUEQGltIqJShqGgVXlqk4gghg/NTHhAyIKEhDRo6BcSloK8rwBYaF1oRJJS7KDLaswQopZPVsXUgm0kNwZBshAsZkYYoRj5qMxEBQH29cBTVZ2Q60RzlY+IGAQJq7BRYhBVlgEACKvyU6OdKpM1FW+sor4KGGywV6A094gpHRNGkUpD0R5GiKDVWgYkAJimvRauZWYAKqUAIlE5TDcDvffi2f6d995tbRrKePNmd//+/buJf/Hrz8pI3//etwnatN198N4Hq9VqtRnutuuH99+/ef1mtTk/wO4g02YzCInUVgYasewOeyFsSLv9ARCqcE/hRa8XTmisx6rhukU58ZYmk3JbosElAmND2rsJAQgQurXOMuuVLhWrf49NxCIxmKmXzwQq0B2tOLSq+0bcGBE1+IobA6Cm2ColcBYfINO5niO+/Wm4o6A4eEfeREDA1ZTMNI3QYZpc2hYUQC0QzxIuUwDQjuQIAFBgyRYd4EQUZ30h6t7sFgoAGHK8gEOXePKu48qMDC4Io14rdaOJRiGYcoWgMeXae6BiK8X8VIDDCCAuytuAQX+YK1g6qy4HBuYFuBjeBnPK0REini0gJtc645EIcYNkuRSRaZo41bgITI7J+ZpP2GP6HNKl99irSqM3/ZlDj7BgWAXUx60vN95q0pKqj9qjy/QeLR2aLgxxyydcIAmgmTZBjiFNTgwwESafeignMznvbRcmfeY3PDN/428KR6Ne13muJiXmerTz6rea+QfYgpcUZrqYewzc/8DJx+AuWCyteosnIZ1WLEe6mcd3wP8NqMCUAnJ8ZUj2P2emxMUPF+uLX2FKXjke2cd/a6gDHJEJH3n5IknJSAAaHBLv9UAvIbGwiHB8x1tAxFLoBEATUlurUjnDfyklVx1urTvHHctK4MLUmsYZKxFUwdzM226ziaGUpLbGFgveqoiANESoAKK5jygoU+7LyMk+x8waXRCGySxZxnYZuVBKGu0DI8WwVgBA6HXilV60VgMC80FkePAQlwT+6eE+DULVr3Rk9NLHAiAUCUIAIICAQTzdLqtRCtm5hALgekPjRt78MuO+7om4DB33Y65HSLq8n4l2BtHjrcjfFs+h0o70tizEqFyux0gCTQSglTKam2e/v7y8vnlz9+bNm9vb23E1sNT1+oLlYr/f11qHYbi9vb2839guKGU825zvdruXL16RrK4uVlRqrVstcFprG0ebo++MLZAA2azFxtR53rDQQswSIjsT0Q6Akvch0AFSzK3Mw2f1YubQxBSqAcUt8Q0Rh4EMpP30h2FAK16k9E3LOCJLQY+KTkevWRM61QbWCC8fsNM0b4yUGwvm05fEOgEk6tZn5htGUEScpil+pSVERWSaJqIhh2Tk8cUtEfmNc/rfnYRN+qU3teUT1VkAUgAtM5urjTkss+OIiPTixavb29t/8aP/ipmnabvd3T0aHux2u9evX9/dbh89eu/58+fPn784Pz9fX63HVbl/fe9svf6rT//i7OwMRbhxWY3bw5ZBVqvhcDh88O77F+dXmewcX+HvjNVlgNSvEm3p4W0Qzx1ZPPWPuJP/7QfKi/P1gRxKMxiHu0NEJME/eid1lyNPM/c8scU0gvQ5GJ/g6f3Jo5v24TcKFQoDPOkKRZJioG1QJYltx7gZgxjNnE8vrxIkrIJZFTk9K3GbHQhIDx3qe5VjDlXItIWkkFcRGUK+AYjp9d0RxpksKpKE9fl/jn26n+Tqo0yTv3t28FQKIiClaue6j0exK5kxZEQVQWbQjnT5vv/ZxTLPqGMR4YZEVAqXgYCxDCIWrTGoSCqWWqYrVW+SJt7VlmrABXAbN42UDpONFmJoB/FjCD59wvNv40VviZkHOHVfzLmxRJvF+JkEY2iGS+RhrQm2/OGcnctcW1i8+jcs3zFxgcCzP/NsF68QV88iezJjAiIWHIgIkkC/GOqYp548mgxpJxdytPCETdLfG1UOFnuyEIzit1kGXSiBeRXNxSFEEp45YSUbZvpiO9fUQFhEVBlGS7OLdE8XogE6Ag3YBUGdklrXK6sgFZjrFZakK73MFgGo7YAaaxh6TYE8IlWPshGK+khWhYZh0BZItnZEglGjUyBlfuuKttstEW02m4gEYAZvh4RaIB2xA3+qqdVvKj0A4MD9fL5HaC6SXFOIOJeCZmCsz4VNOsPVAtrtRc2DlNBqiQSIWiUEJbDMVLr85IS+Rx4fkRQ8STryHOZ3YgcCvOVI/jh9JWiRxr3gBrYeATlN+2EY1uv17e1WLkRl6IuLi91up9bi1tput1Ml7eJyePzg/t3NzevXtwjj2eZSmO7udtvt9rBD/PCq4J5lD4wIgCQsEwIhoFpxCM38pscFQBGKyR7azsKpRlg/fUNbLDjvrKTMB8yjKVDIc205bz7M6K2Fs0tKGJsmtbXjMAxUrHO37j8VhZ8qgkTaORI1uQi8laEa0xFx1S3rGilq8uuM5hSrX7QE6excPTpYg8bQ2FFEqyCn8XXVzMwIYvUre8R5fh0AiSADk6OQ8fcUHIu5CpDMhQGvIKTNHBa1y0A3RWplEpFSQLnEahwvzu/9m3/9/y1l/MEPfrDfb29v95vNxfn5+c1Xz3a73evXNy9evDhM7fXr12dnZ8+ePd3X/fe+9z0ievbsWa1VGiPifr8/TIdxHDfjapqm+/ceImKtdbVa7Q9TTNLcewl+nJJ3shf6xvFuz/4ks4bAkcXTF75U3e2lvQ0mLH41FwUh/xAAstkbuvK/FMrzsXIKiz3mp5aNQKct1mAeZp1PnLt4SgwhIrCmSzeXQVBEohyK3iEiNI6Zdb28LcsJBDpn1ixHgk08fnw/NqEAMgV1jJEDpONXCOblQEiYiIhaJQksCdZ60bJwLwUQwqWdMZTE6cHN8MAuqdsgYsWfwIUDfSwOL0Jgg8ApHSmaoprCwBFRkCUYhjl/XS/ouTj6gMpgDFhSAECmnhxWeb0U1aeDtguhgUlGFMBhoIjJU2hkDFJNUfVCtPxEN/YFtFDwP9OjZsRoZj8I/On73Bkh+LqywBdkNE44gUzi9NKJbJfXMyTB8kLozhdR1t4aY3f5z2lrOikHfYIjch78PltK8gN5zvNfKrmn+bczqpR3z6NE+nz86HNiMUCQDA9r02eyEz/WeJJiLub8tnVlY/+x0HOM8HNChvETSYL+W2ZynB+sAoe2LHXeDxrbB+CNuhydY6UAlj+p24jcwMU4Ym7cAIS0V4v/pD9cubXWuAWHjoA0bdikMbcoCMICQgzWgoSIuLUgNSa1N+FmZUBU+2p1EhECRhQqMgjyQIxUUs1S2zFBZhiGFfNB2T8ADkNBpHFc6Z3WhMhs8Ii9XGuiy3YamqSoHEP3UbzubfSPzP+GFIKIZegh6exFM4MTz4Ovuv01sCwDbX8SAdzKHhPmWQONQEvFxxlbCpLbPCxEUnpcNsPDKfjP8zkJkDHP/MxJyD/FMoFEtYounG3WZ1999dXjx48vLy95Yk1LBeRxVVgYUGqtUzPC/uDho/V6vdvdcStnm1FE3ry53e+mYRjvbvd3d3dXl9Owwem2MdNqHA7TLQ1niGaRiT0nIsShlEBwVYEAVG2z1Tih1o7Rbmv39RIACAK3GuWJGCGIZm8+6pxDhcvSExVmwhMRaTwMESEJGYngoO1aPghBY9NBKycBmq+AyN5IxS0iaEPpWyLWOAf9hy2ciDQCIY4sykSKC5u6BALRVFrdrolZi8yUMgaxnVhQuJQS8VfHYOZngYwukutMkrtPRFJ6RoIxoHRfXXyigobRwlC0mNlqnJt40Jq8eX37+PFjItJqkq21m5ubV69uVmVzfi7b7fbmzd12vxNo337/23e73ccffvjn/+nPXr14ybUSEbLs9vuhWJ/BzWbzjY8/2Ww2u91uv1dQRREL4fXlL2wudrIBABAcX50MiARDHBaSmFwK8HakpCg4Nhc8eijsArszH4QjJT+zeumm3w4hATkLlP/NLDWnAea3B3xi/wlIJB0Cq+yubXTitwTISZGO8ZVvilQdmVmILAgayag9FSsTEsvvxJx5HiyTdjmlIR1vGqIXhXIsDPwVkdR4DEVjTo1N2OuCXMewGtgDAIOEcIkuFqiu5hJzNsNrvSWTKa1DiYIGIw4RjhK7DACCRWURt0SorozIoA0IvQSNvrOHSKMplCpweNY/RMcHZTmQchdDeZixB2auVU152FqbJmVj0Bo1Rh6LYBnEqhEDIBFJAysTB2ApSshqwmev4kPFw+qt2p1XwPQkoQyjStnT4RkgxsYG4MpJ6JhfC03gGDEWoHNykMXPqUe613jgbT8MQkpELQku4ICLiJGTcPK9b50/eovLmU6ylGbyZ5n5cDVsfSa4gwvcIoLJAJBd4cdXXtTJ3VjMPGPvb7gWRGHxRqWPgUH5V07Teyq2/wRVg2dAhyUSkWmq+XVOABO38LLB+qfWfBQRJG6tHQ6TpgEIImtBRiLAwoIsKECtSi/fDuqDMv1ZrBsMMgg30CanDIgaRoNRGMeWZoMQAiBzm6ZpmqZWp1I0YgVIUJCmyq3th8HS8VyYRgAoqxGAWINzRBBxGAZmHhG1kuXgbBCRxEMNoMPSTKTW7UKz9OiENQobwHJJIJJJyE19ESIjISykk41/s2wUD+iCsu63YKJWfH4ZPbh0kEICdX2RomEps5iW04B3Wr0/8TAcIW/+eZ48zPE9z4H8W7vj7KEO0xdffPHixavf/d1/RESvnr84HPZEdHt7c7u9u7g8J6Lt/qC/vri4GIcBWAB4v983oVLWjSeCMjW52+43mzaQspJmU4YmIOheamT1S6kVQzUZEKlq+5Ke6+K0Qih7HUVEs5MFWziZdBwhHFwUJqJIBo0TN6plLuNlD3YFbFSARUJRRVIrxugDRcuhIhJCARwkhZoMg5beb+FtB2Crx2/9ZBkRBTvUBfAAQCwzqOsMSDLpKwNFXR1pIlrPiihadhCS/5CILNSWfQPdCo0loKgwcMROsyfCBjiJCJK0ya25Qk2mmJta9MXrkKLrZlqfkblpqxP1VwDAdKgicn19XUrZT5OIPHr0qLX26uXtNLVXL17/+tPPHz58eO/evdu7N+M4/uDjj9+8ev2Tn/zk9vb23tXF3c3t/m5rhr8q0zQ9fu/x1dWVKpz7/Z4KM5uKF7iAqHmDgN5IFHFwIl99rRzNhuJ0EEBoHgLq26L/j0dqs0Hp2/B5Mb4zR5hTrcUVRDsXC8kE7fhafKtcoH9Os13w3MW/OgojQDRn9Yr4WQIRMaPAkuwIiDvhFyPnuKDFYo9nkiaZcwLBLV+YveIerBAqTYxj5xU6QRAQdKU3AFgF+o7gGWmj6CaYFihZrBTr+SfQRQT7oTAKoXi8dt6pmEQmTK01xEFEy+kbbbIDnku34DqAD2nyQZg6wmgkiTogYgPRtA1mYAQWYZamPjsQYKlNG6wwIHPhEaGIxIZEeSZfYyFC5kPsrNWHJGFNYyeVbFDz3nsVIiFfy4zJ9V3NbACSXpuemiHPWyTa38x0j78NgIgzIqJhGA4VIEUuoksxcYIsVnkW0yxjKHDqn9E+vx3n6NoJWVc+eZEeEI9lKLKQUI+/jiUsEBVC9OEFgp2wDi4+H30128PFlh7v8PH4cScfHDPr2wzwMB6e/cocx6lYsrjQACa1mxyvkKZmK1MDdN/sMM3D0iHMZFdEJJCmQlRkMFofRDMZlkiB94BgiqH07Qcr+o4M0qqw5x5qFlqTxsJOJ5BUdw/NBBhANIGMZaKhaBZSA9bHmmj1dyujAgB1EkRcrVbMPI4jIg6Dirio1WwCTkoZzH6ZLgDIRI9IbVmZDBpRLWWck0o7Miqkgleo5Tqsv2bJXDN3gcQjF0a4xa9EhAHLaTSnHqmfaFd2DRGRNr/zvL1INOyc8ghcjxitXTPCmFASY7sCWUStSsmfEBd7gd1UnY0BgACvr69/8pP/WCv//o//2TRNdX8gkdVqmNqKm3ATEKy1Hg6H66v75+fnN2/uSllhESQYBtgdatvfEJbDgfc75IELAHObaivFPQxCbsu1KAtNhUybEDlqqfujd8OORaMa7y35jBCAaEBEHAqllo2ISNK7M2bw08AdksBfJVzcIUgTNsV3vlg8j5qTmUEYiQaQ8BWQxydYLFYSU9RgXxBBSrhSm9rCEEAQyHvFx+EiYiljk9T4CYOGqAVkoBUBS2sEUflevSIINNdYPH0SAEA6tbOSc+4UQsaqdzyLpis2AIBsOcSEA0PNLEBXvUDzBU7p3MCjj1ar1be+9R1EqbWO4/ry4vrp06//8j//zZMnT25u7iq3+/cfXF1dEdGjR4+k8b/5N//m2ZOnm3HVWtvv9xqcOZRCVAjxo/c/GoZhd9iPZTWO46HuNZAJ1RCgfh6UoGAi6LL7jBWKSKxad1xEtOe7pDAYPGprFYNkWhG7FxboeEsgsgPVjJW/jYtBIk0nCdfiV9lsHPd1TxZTzVceM38mmcvuR+OTdN91/BwZo3gaJIqX/ZA5d3GxzMW+6euSBa2LUr60VLBLTOMiQRSxvGprYywg1D0V2lfccoK0nZAAgLWAdTUsVLq3hj3YuyOQxnON4isBEVL8DCUqWY8UsHQxsXT7mZ+69LeL1fBNgr6K4K0rK05Y7ReZLnTon6dNaJgdAHjiOhVXNHQ2rTUcMAEtafQVYLY6FMUldNk0H6dJq5QohVjhiAXtOEaDxQP55gIJF+i9GPMYeWLAk7ixwEwiGnGU1GcnfpgmMCsMoxbu41dHcFue8zEpWTzTF8JdUs9IkrBFR7PHsm66wEybmJ8LJoU7o9lifxZ3Mi07ucNvu47xX9+r+v2C9uk8/fnFz2H5pHnnseORuowBAKgUdq2GPDQCBIRSaqnOxUczd5nKu+nci+erkV+DCE4ehtZaC7rDzBojYxEyAFgIgYioISNq1yIqRIgCohHkKqZY6C0NZQAshWjSAAYRaQiABZBggBFJsJA4gjNzqw0LSTPjKJGa9SPmhZKkpPe1Bm7fwwx7RN3KlQ89RdN1k7mBEBEJpocFAItaInCmwQZk6kxkXvo23hUHBHM0sTD8NAeD0jmM4VF+YWstayP5WqBk+nM2h7cRkMWLFn8a9XYMDZhjVsOJpJ+o1A7b7fYbn3zy+vXN06dPv/rqq6+++mq3211eXr6+fU1Er1692u0OgrTf70Xa5eXV1fnF0y+fbs4Jifd3t3iB40jr9Xq/3+8nZjlDAYCDwL7WJjKacx2ZeGjQQdeRqOhfDLhEz3A1Q4pajX0DKgURUaggWv0x9VOZWF+t3v9inwln0QWIGFETDq8CoD0FiohgCVXZQI47yyQsgqD2I8CQ/Hs9tx6AHrGCgRcMKfNmRrRnvbd96vat22jIOiCQGdorVlPlnWGYsOxTyuAdcKb0RV2LVSbW0n1N27IavtschASgYdin9VxQrEXajLDHsLHxBVAIRKQMtD9s33nn0Wq1ev3l6/fe/QSA/vW//sNXr25fv75rVd55952L83s3N6/Pzs7W6zUBfvn5F6vVaqCyvb1BxNVqNU2TiKBQoeGDDz5Yr9dY6LA/bLfbMs70FlQJQaz2i6OJ+lo5ICdzMd/vnpirJRJDepnDYRceFmRkgZ6L33Z+kPYt/nSQO3HF0o55WRiw89sXw+LRUMfzzFfYBAk0JqsuKJtijPS9sg9kXr2Z7A4AOH9j2DtiOf5hGYLrGzUD49i9oRSRxpKkIKsphToJrVJqcksysiyWb/NBdpsL6s0hTAvz6c6ODQQ5pTfNd1JC5s48JmYQ2qEkbpecX132ysCdN8hmld1M0sXNqPqX0EBEBCyVXtQCx8zsPlMwuJQCWEoh1Pwe89enaQARNWlidgIUBAFymjgAAIYNTxlwPj+hvK7FeS+uxWnJP4BNLq7j5wPy4BRAvO3hEEdkfsUISgYhxGVwVpRCzQDAi0nM6MjsgaMPs89JsI4r7FXpyeUgueRITEBEQqMCjzddOASPcW+xvcf7N9/S04rZCT+ve8Ggn0t/e0pkmb3Cy+3FhAtYk1rMtMbWOvPm5+wuDRK3CYhINAYyO7dHPwfza9ZC3BSDUkbjIz5hbeUeG6guaRAWxlJUDekiLzMTwVCsTRKar9/sgqDFFlgAgEpBkoJYhpFgFGhEQATUwwzKajUys5ZeVnl9miYtTI5EA43RiBQIxVoekQAgkaAFn2oxRDsXh6cFKdPFiUgpVIrWElWbmRmtc46p2fxUrkrQq0dQtcJX2FGUEKtcgk6YzFiBAKB5qB08jgZERIQSJQREek+rdEycDRzxlUZTwJxW+IcZEiUCsrQvLH6bLxGB8KhESIYIMJOH9AQQokgVwdKmafred777l3/1s91uX0o5Pz+/296UUqY2McNqtbm929Vaz87OAGi9Xms3rtVqYIazs/WhTvvDtnHb3dw9undB47rVLQATUa11LEOTiWhAEi0olxeI3fxmSKH8UhkQAGRJQ6fOICBa7BdKsVJ0bttgIlJOBNICyCERHJAes+fA09NvAFlzqMgtWdqoy+ofMoMMANAqq7lfySSiLgSpGKar5KpILVaO0JqDgTnorNAJc83E1h0pQmVZoEmnHfRWF+URKd6GLCW8olPRMIdnMqKxZ25xV3jhgBC3y7REoMYwDoYro6kJEFHzU/Ut9pkEPYnRJX9ExFevXn399dd/8id/8v5H/3K1Wl1f3Xv+/MXnnz3hur53/YiZC403NzfjavytH/7WwwePf/bXf3V3d3c4HKAMOvj+brtarUhgs9lcXV09fvwYEYGlchvHUbDvgBIiW7K7TxOdGfTExSN/MgrjnIOjG62Syw6hez4TbUnebxEBC+3TA+kDltKLecTpMLN7LCHZTLulLKhKAHA2SMVNTNpj3wpHouP7J4lJwhFfS6JmSTudJ/xqBX3HX0QE0I5AzWViG1xHWDDTPpkUxxgTAgAsSt9i5vaVGPo0gB6yZduoeyLiRnCro5bpQOxG7KfirNpJmXkAKZ4bJI72iNhRDhGxWIR7n27fMqsPyMDCEhmiSsnUzL04OZui6XASor/2eiRWBNZ+Mapqo4gmEEchKwBEQG7ctNB1aw1JnezCIuNqRG9CjYBEhQEZuGAJ30qQJ52YpqiCEKPHGAHUJgTFMQIKjcysRWZKxGyp8096roaKU0dgRzAD5bCWDcysdL+b9ECiGDPO3TERpa3ujUxMF4R1AQHxYQb6R3Jzky5RxKxizvkyIsuQD7df4oww7nuHGji6Zr9VghqeRGgZ50UEQEohbegQv8mSE5r3cBZANTijCo4SMHA8jWwDi+PTLznRr1xqQVqDGV5A/pDH11mVAYUN5gGkSdP3VmbzzmvQs1mjqDRz5UfzCGVsrsZDMCS0whZ29ISowXVuM9AfABWiUkQ8uIg7RsQHAMAanHtWljueGUZrty4i4zi2Zl0/h0HFEKWRNJLWcyjcWhUeCw4DcmsMZVyV1tq0PwiBSt3DOJidjywaAQA0365OW7JYGmkCSGW1ORtWq9ZaYxjXZwUwJJVxHBGLiiyB6X52pRTSpjZBkRHRwwkIsbuwmZlgULFHY4VjH1ajVZpT2glh9QClV0uzyGCD9PbSeh5+jjNHEICX0faexMmIFaClMRqIkQdvLehRMMIGlv7fBJBKl0L+NmjPpCNtDjBnSmIvSguxJXSSVQAEmaVqQyIBZq61qr+Fpba2t/LCjQGwSAEaAOCHP/gOluHwaaWR2k52u0klb2YuBENZIQwX62scV9Oh7W922HC4PCtr3KzG+vpQm2CBr75+cfbxJ0htt/16Q1Dk/MBCVASwmgEORWqBUWHGihMRooA7cAjAGmer+0hM3EcEJCRPcsBm0lAjIhQYBt0WQURhKauBHE+dDIqI8hd0ysYW6wyNXMwymAQre+ByLQFopWbCAkMhkJLOSLXxQRjAEzoSQ+9xGkGUuDVhLkS8LBWqrMq6MhckQAYEcoiyZpQCAKSF7EUs2w/AWoOpsaegxya5pBXEUN83eCFXkUYEAxIjWDsHrkF23HwjOjcNkNOTXJUC4xkBIpGxWCIoREQstQyo7DtUjpEKweX25eu/+PIvf/T9b/3gtz8GgOcvvjocVudnw+3t7aNHj84uNkT44ccfvPPeu3d3d3/4h3947+riVZ3qfifMILJarQBgPBtghN/7x7+3uTgXhLu7u4IkJAxYyiyZSkS4tdVmbb3toEWCByKicJvqZrPRdnKbzUa0NVwuDAUQTLoMY60VwcrFKFSVUqCxlmoeoIAnHCIQa1ilC74+K3ZHacd3Jb/677Fc0QdVJV+BQQFGfaSgzaTVUSIATdx0hu7Y5FTTVpIEj4itTf6V82Kt10dasJgAAJpiR0NEaByiqXilIxHNDAUBVoFQ/HI6j8IWzBx10YPyx2JFRKQqiWABpfZa70Xa0o2vP6z1gIiIRbSln0e+ibAV9inkRACooMYMNvZOMp3PkoggqSum7veTmgMGKgjQlWYR8ciqpUxj03KiPf8WiseuhKdCuQ8iaiHoLtNoCf3Sy6yaXc7fiJ7yChEcJqLlcvJ8NDJIJyTQ8oSZuYC42oMAaqSnRLxcOfMm0un+TM2FeeyUXlkJmQF6J8H9YUhX2mRwJ8syntvOIv3ueJDF2992HU8gRosTXwyV/8wPUCLo+b2YrsVbFlsNCSTy8/ohtSKfDyVlsRX6cuohJUtPXDyb/0RnG/1kj9be3zlfYxgnYjRJYs3JbTw1nzwN7cqwyCXqf+UAZUQEIK49BndhxU/LOWpzY9aRDr1RNy3iaOPl6AHiMaaIrFYrRDNaIKJIc93eLGSONOTYpEItNOEQ3IkZSS3xwgTQzMpIiFSQmVvDUhBljYjKsYi0uLa4QcFOebO+1CrXPE8vLmUsBXT+K9CFWL8FTPr54orc3HjGTscgtesn2iDMsYAjBDxrgAFUbsnulio/TUBahqzoBIx6ykwbRE1LTJCQEGdW3Qgx16yIZ2IPIT+8eDWcQoEM3pka5N8u0CQRt35fDTTslwiYvMKNubIcEIX8AaLCDRCh0n41kjS+efV6tzvcu3fv1as3wzAgc2tSJwbEoazONhfrcXV5fiGt7vZ3Dx5cAjAilBHOyigsh91UJyYYGg8TTFAPNBZWwbZWhEIjeZ2DpLQzCDZfiyMOwswWbteSKioEUid+BrcFF4eoQbgS5C78PRgaeL9PWcSJ0yFCJSSSSk8gosbZnzzxxXV8gvF8dg70P2UG6rEDbL3wOsHPVXTyu0oZFrzSdmpejS2ceOJSUUzG7hOSCsTYjQ0O+rEPtBCn1DYnHgs6jmtEXJ+vfv3Z53/8p//+d378fwMZAMv777+7292tN5sPPnr/zZs3jx8//J3f+u2Hjx/+q3/1r549e3J1cbFarXiq+2kCACqwWq2G9erx48fvfvD+sBq32y2obwSi5sfsIqIwSiIOWu3EdglhXGt/ut6AtrUGUBwUs1kQo0BUqmSqEugJp72IWOtgnDFNz5NBnCM+aoTCcvqaSnEiWFeUxBsUzUGL7Ja+Trp2t7S4Z+6Dzu5FRKQKozUwgt6vMWidV2INYoUqRums4OgUjl/HKf4ZsBv+ZHbxyUHit/NtV20qVQCTImLhMb7wAoBsfbhC5zXJ0Hg9mw2LSMumSQ/oTPxAESYEZdWPdX7AR81iAsGSOIv5q3wkiS+6fpdFK8ICMzSLjcCjCvmqi1AZqABzEU9YNLu1nNj3kxLP8ppbHMVnAjDDwLwJ+YJeuANdZwhQnl2KYERdhViMfPyW4/vgMPe2z8f4kOewGFNEkJbTiFfPUd2/gmXUJviOLd6YwWnxdvEQHb19PLc0yQ4vMFfTM4fApHnOwW82MiYZV5I6tNjGfHNZmjuw4C1iUAw1B13njn3yed9m+MLMzK0cVcwFEC3TkieZX5FenfoqA4SV3bURACis1mUipNlCgvOp0UuLcPUA2TIEsiAWEZmadRIlCzcARsgEkcRifrTVd20MQMxUq3mWqJRhjJgo0TlYALEIYCWilcfImYu8tYFG8IyLAWkc15BcWNiZewfUI8yN/RdENbp0FaVJs+g4B2MTEJKMlQ86J4Is9jPuZJ5xEjz0N8fjAEAps4oTeo5i+liCB2sutODTJ64F3QgP+wI78p24YpCwafVZeaasXY1VMRsKtNakVSRpIppWATANZWVmqYbDsCLEabd/ud3VWksZ2qS2ZBzKCoBqhZHGRw8fnp9vDnW6uHd58eAKAJD46yevNmer9WqoDc83562td7WOBQ6Hg8mUQjhIwcIiIKil3iEtSNQCxQiAWo/T9lAQQMsiJ9uElVkwUdthShCpAIr2L7btFdTxtG2IhWi5TRQRkLGntXHQw2MgQc3jBFVcw6nSstPsLVTU15iOcg5LSzQBp3JhHYBEt8kC003EDzjPr+CUIpLpdqdgPqaIABAUAYTCJSIEYhOIqAp7U0lGtzhoaAd6Wb0Q3DvP8aokbAXm6+r84vxqtToDJrk4v3758lArP3rn/rh5b7PZvHj29cvXL77//e98+9vf+pu//atf/N3Pbt+85lqlMSEOI03TxIw0DJdXVz/63d955713W2tTqy0ioFL8SewGzauxhUlRxHwIh8Mh9vaYtqdDnMkweT/FE59wtqsOY4C9sqLfzG84YqZx3xXaoyftzyhGlAxnR0uQrij3/MY5eYGAzERqrDJvLCRBiydv5PmIeN13RgaeV7JSyRhFQARcDINo8gUA0d0ZAERQ9Wfurf1QwItAHMkPVq0Ve9l8lVejL4GY64m0AHcQkwwtwX10FwDQA/RhyM+pB+YIApZgt0TpIzz31dpPIkwqgxoDZ56kuYgo0LAXWlE6wSKAMKT45tgJRNSgwCAWaEZBLDBk1pIQA/PuB5eKkLggTLFriyX7KmaUMe9Afj4m4ElvCyYaYTB9ZB+wA/EC7ucYGBclOSwu6aZ7HbBP0eDedkCc7M5khv4ibmodIpAeLpas56fF2flUZjQo/ykpmzt/dbTYPiqnRhJzyvJW6AeAY/9GfLsYJD8yGyol3OS1LMY8Pqy3PYOm7Nm3rbVFQQ97RlgEgtwFeIK79yKnIr8o0U3Xlj3GUTlIzM17ocd8FhoLhLlR+egwqKDSszYVs7CsQBmjUd0e+xi9P0XEa3iB8EEr5YmsZuc+RVN385ITEQA36ZgLHq/VWiOPkAEAy3EFAI8RjJjXfBa6gRl6O/aRIFLeSY1S0ennxjSUfh6ApBu+OIW8ugV2LBBo9iXO6V6IUEs87wxGpKtJSs+UTsIREJ689Bm1AGG3ePl+eR1omV9BvgICbQLiWcyax9y41tpa49YO0w4ag9f708e2ra1Wq/XqTFrbTlsAJsSb21vtvjlNU20IgJuyWq/PVuNmt9v/4hc/J+Drh/debd9cH+6u712eX4zT1fnhMG02F9vt/v7V9cXlu0+f/nwcDgOO3EDDJ1ZYWJC0oGpxq7ZbuCxKHaLbqzakRWPiLmcjIiMge4xst54yABZ1rHkqoZ2hGDVGErQyK3403UffjnEZU+XnfjMp2BpgECC9AGw/FwuZW55UNyIsVTU0e6yG28/v+z6YKCPdw5OBAVIken5LWhqpPJdwc4ionsVUAWCAwZesndEUu01wj9eR+9yFbSDdnFD429B+/w/+yc9/8cuHjx9cXj34n/+X//d//sufPnzw/oN33nn55MXtzc04Dl98+dn//L/8T//hT/64TQf9FQogQTs0EanM2+324XuPP/7GJwCw3e+GYWitlaHUw4Rzth7rLb0tAAgVABPJSFBt8YIkgqnLsz9uci1IWk4MG3pRCHL5pSLCEc0gKElWR4uv7E+KSCSqOTykI0CnJ8GRl8aIRcelOHGy7iEqVyh2hdgOYOVALI+xW9YW8JkKs1J+VxBb+2EqSNiQcS6IBjgZN53HAwurhtPSgAbeCnWtNZkJ64F67hvvSgWqgB4IzCxeJEYt8ct4Kv3Qc/aaHpINMEDCc72Vnb8ncNgDnjKz0Q+2s3OxwxWLGfrlKRoDFqsrbcWvssCaHssflJSEFC4W/utgNz+VkAuVzS/WGG53RC+/FZfXBQcAYQYN2gvXodPjqGyVcam7jXqpTjQ1LqwALDEHTEAAcwE0b8jJK85oQRDl6LH+1RHV1keOyQQoA0MrWKk7b4wd8HhWb5tnIEaeZAYPgA4oi0EWPwmGkQE11hUcJT1/2nV4cuYiEh0VY7ELEtnhMKmpp8Y/rWDYVEFkfl7O/yRFsAMiaRAiAIBnKwaM+TMMAC6lxbECOKza2zUPrc3mr8qq/jmLq+lUhpn7qomQaHSsKVlwh+IxuEI5MT3WkiUSRCy+ekNAALXIjudrn+FKE4kUi6dWa62+URacozF/rTV3BXhRfzR9/thp7lu0qPqKmjCbz1e5pNr8nLZo+TztUd9xM1siT3pUF9ccHhY8snOpY9L3913kzD3jO8A/CP3jTjfWxiEi4twK1Un6wtbe7zfR47NQGa6Na+PWpsM0VQ2bQTfQTtN+KJvDvlbeDUMVtpqeQxlrm3SHB6DGstvtGPDr508fPLz49re/+cu/+9u729cj8L3HD1fDeNjfDQQ3293D63eZ+dWb7eXZvcNURA5lXaowVKDSCgM0MdstM2ERESKR6OXHKBJhUVqvVCkDRfUPVnkTGnhyMRhbwMG6nC4FAtW30VVE23NPc1hsbDoWOW13sPCeplbmYHYsTYB7iHA/XH3RrPdWgjF77BjqiKhglItcylL+mEYFmIQhC5EsJf/la0af0Sw0YnzWvOgL0ErFo3qFzVIKFQSvdd2x2Fl2zFx/xMz7evfxNz66uLr+/vd+OK43T756BkDTNF1eXWx3d7/zO79dUFD4P/7kp0++/Hw1UCt4cXFGgNN+P03T6mx9sV4j0Xe/+93r6+v9dGithdKQF75Yssb7BSVHK/ZVAbHWag6E2kQEWUqZRWQhotBs54+x76gWkNH5qEYgIgKymJUcuebe9hkSjudvQ4zB+bGKNSFZEqKQD+ckd6mtZUjLr1M37zEY971Koj8IMTZgWT4zGzZeZPK6xapI6Eqi3R/01UB5zztACoDXXzYJoomAILmOoRPKuxnzz7uqQDJfMiHJwD2Ge1aSBo+EIQhxzW/i/LNvLiBqf4GlVVJJtz5TejdAqzxDaUxHzlkhzHw2MXhkyouISMv1rGLxcer6Z26JLM7X45nQMmNRsQ8pnOME57OHebYEjYdBxIULph92OpI84awL5es3I9Li4ZOEsuPtnGfr/P15BCe9IsGPlpJEYMxinnMKMv+KO0hgSqnsddaPlM5YzRyTZ/l24sQ95LM8ycUcFuiRwaOfpludO2BAwaxSio9u8Z2nBReAhRR4fKaz/S9EOaQ1sjKk12fgMHUDABQVGTuZdnyh49chkhrCtQEwAIDMvN6YGKEuoRAgYmvAnHzfM8QB5Tr6w5pMbqAuYBAhWI3FV0TaykyXQ6l5sxm1xxV4QygwBDfzORGNYMXXAoW7RE64Gkat9qjPl1KSzWimVB8DQBDxfO7g0ZzJjN2pHbokJSaZsdvpT9d5BNC6frP7BsAnROflPPMVz3QqNKeQACVgUkTIBLilrUWTDmX2OgWGE0QJLE2zOwxdOANJ74rNFBGxLqdNLe7S7KrcmsDUeNpX6YJ7o7InIr67W61W964f3Lt378Xz1zfTDQloWwAAWK/XtbahyOvXLx+/9/Djb3zyNz/78wJn19fXL5+/oiaPH93fHl48f/L0sGsPHtyr+8PjH/3o4cMPX7/5rFYGAAEZCRugCENFMh6sCXqe+d20+YN5MoVBrIIEohdvaCeOxhiz2trByEjAg/KnTnDC8hMYt9hwRAycY04xbyEoKPTi/CcoRePo5vAPAG6e7PR/jhezKij2Ci9qSUTd1GqXzmchWM/YiqQruRMXGmOsveeWSFKt43I8LXLEu4mIPSrJV4QO7BxWducUAsAifHl5+fD+ezdv9k+/fMpSz88319f3Drvt7/3Wjy4uLi7ONv/5L/78fLMiwu3d7XpzNgzD7m57mCZGEZFhHN99991/8vs/JqLWeBiGVisAcG2lFG6ahQCJDCBIBEwxIpKmzzJXJq6HxjAIAaAwkxW4x2jM5KRn5uqPI2MvQnLEZWaXE/+uh2M6rBg5+08CMPCIUqVzzwBs5NT+haKokWiQlkSD0GwRO0HDGThJ6nOk2eHFpd45FT3CR17SW2JkARAhM/QjACIDeXIR69M6TdZ25CIabSoqtYvlaksP3DXmQkRi0RxDUralmcTSJ+h019fIvZd2jBbLt59EiiZbu1NIYXm4OJslBJwS3MFoU7dqi3HSLh8vxhmSEMwAuew6qiUShKxXYXbzJYEsEQXbirTIQguNc6aHxKYsFpLXlCnF8ZITAzNM0vIy0VIxvzcg2G4CQZLjE33JRg7JFoLFKvL8HQlPSO0LOF6g2eJ5Gy0A0f8D6Gbd4xEE8pxPStt9dkoL8ggdQE8l06QBEebmgcUO5G2BtKX5+ZNQza7qdjKgQCjzn4g1EjmeQ97nTLx8dcZR4uH4CSJGoaSgic19QcVrLKi1W2ayWouEciouELgmo68gb5YJcwmeEJklZK9etZM5yhHqHqCemlu10ZJ1Zujvi7Uar0TRoUbJUvP4XkRkInK9vQAVo8XFEunMDyZCpXgojm7gLMutaMYl8/IsBhKRoawo9VhAU4Rm5C/vfxaD/MsMSAaT2XgGIJGeq49nKhEAEPGBCzTMKDzDZZhd8VXoJwsAnuVRueAeG+VfzYh+BoPFhsAR5iYPyUy8C5Uy/1BEVHAPy2j/zCLWRqdqULuGyuxra5X3h1YPGvoMACxQ7vaH9Xo9ljLVup8Ol9dX1/fvff3i5X5/ICJmGAY6Ozu7ubmpdf/pr372/d/+geButS4i7f7V9bPnN0++fFpa+/KzL+thev386/MzPOzbkyfPry4fvXz1RQPWqMUGOIhoWbLm6WMMaPUrGQHUz6NaOiKG1VAAoGrse6daJneI9k8REGSQLnqC909JuxqVhHRvu0hzkuPkO+6ZJ0TLNtRSS/ZzYIqivW1muDkm+/lwM5gF1bKLAshnp+wfIEA4E7oMbw6ZM20zLXCOI74X4vRHv0q2vO5wi5kfb1rcJxrAGsv3FxERjYA4np89+OrL559++unF2dnV5fjBe9/c7l+i8Plqtb27efrlV7/4xd8Votam/Z622+2zZ08Qcb1eA8BqtfrR7/z2+ebsME3MXMah1gosrTZ0xTh2IFMSQkQay0Bam7+JjAD1gABQD9PhcAAW7PkDs3IFOdUqLFaQsDXK3OVzBgCAeQiWYByj7hp3C1GmEiZche0yIlDy4eZjzXYERG12CRLRIWIcQWaw0XlKAYS5NphP0+8TnJJM5j+ZBR2IMkSRDK4zUiyUS8roKxA1HxeCqMa6XYLv++CwF9jtjcHNJa7zR041lEUEoTuuZ2c2OwirAwsgw5Geb8BgjoB5Xiai5jREQE//QQEiOxdUU4MAEEpjCZ2XSPtGLV/WtSe0dimSzli3lo9kVl1kDnqZLVWLBPWE9JwKayRaZXsTUE9bKDHONe9gpm59y7zzViyQktAwB7h0KvaV78/bSbZemULlARebc7yW41fnOx3yaIGxp39+/K7jh09OKVsifwMXSUPZ/+cNz+UdFotNS15uxQJy4gXHuxRD2U9SN6h8RpAgJFxyC66GqcHK/ED7K+JbhFK0MpTf6REsRwxJL60OCQBEkLs8kncU1k60GTvQ1CfJ6mIOAcdU3KpNGqLQSarmp7YU2aXvRw1l4QmSLiciSIII0DjVzFYGoCIpAkABLGXQSq26h4wc5fZFmGgIV8AwDAvXOTMPw1pENBAulskNcFhu2nwDOYMEETXudzJc5XrVGj5hZ+R1qQN4bJ5iKqGusL/3LQ70CPoUb9ZK88CIBbYuYybmC4z9Qa+6oUGZmEQ0O8sTlU+XMPa2t+Rn1BwVLvv+W+4B7q01rhoeMyno1oknLZReq4gMBAhlt9vJek0Ed/vd1eW9R48e/epXvxZGpIIotVbhWtthXJ0dpt2hHYY1fue73/3rv/6b29vt5eXVzSt++uTJw/v3r6/KL371yy8//3Rzdu/vfvaL3/+nv8sC47iOaMk6NRoAuTCzGlxMN1XICe2atL2p0InCDMZAwTsddipk7kTXMOc+QEsnk6jyfIItBgFB557oEYCmcGo/Li0h76EjAMDdy880NwmJCMCMf+FbpN6Z1I62uqbNF9K5SwA5YraOB8RmaFlQWl+gPp9/0kUL9tKu+UWIVqtYJxa5cLP9n8GqoUBrFVICOhEhSqGxVVyN54fDYRhhszmfprZZjX/xn/5sGIZPPvmo1mmaJkL5zne+84tffnp+fgYA0zRdXV1RKWdnZ9/+9jdrretxdbu9k8OkXiYiIoEqvNiNIK1EpCYKHBCcwq+vLoZhePbsmTaLkNZKKdK4SewqACAwAlpEpY42qkuTUdRYRnHcc7wWAg/a9jsIAsyNyORxCEJkCgOCa/KeR6ShUP30j8kCeHbsTICcScPIsxawLplZb2NGEySX6BCiWv5thLgsEMg+ISDMUCxj92KokN0DlkRU2NVsK3sWUXNee0/f/HaXSykmLUbVB6XQufWUsJouEMyHqTPRV4d3uoTSy8wDWuoMBr4pR/ekDpBcQBSh6F6KxtIusd1FbuX0g4iUkk8Ug2ckyHirXSF/IBGxzu7KHUEEhQVTK3sP/1/K0+h6+bGhLp+ib1aHMyV85KEIIoLRQGqOjcpnMQWYLHyODazBCqkm0pPrgbnzVNP2sJ9fzBA8JSJjiBa3imXOVOy5CrvYZ2YLE3Qe78CnEWAubYQ+Lh1oTDrxCQMLa0ljdD3KNGmdOWlghBqckhcPXYtiES8TJnrKfQViAm26I6IcIlBroWD0VLw5IAXRsXGsLMl88PAaZTAJ7CCiKqycko4OKKQWN32JRl0voM5OxNm53cECZmcqUT4//ZBXq5UGfzsnQ4VVESFA/Q809chAZQKIZHkJzQcEUYCgg7TiS65Pn69hGN3zY/NRQkc2X62dhADaQqWRAHNLe8qAjIDNO8yFKV2T9ihRAD8dhdgCAChUqFvcG8iAxMyEpJE7KmaXUjAkZj88RCyDAjKqqhA0R7Ud5qoH2K3yGg8UaGJ1AAQBpGkMnN1PqNQrzzhZU8NA1iq74HLS8h0j5G8VRFGPW3Gt405gMWsB/k4TcDag2oGZpZDil75R4QpzFbk4eh/KGInejhfteVoNA3okABScWq2tAsO0P4xlUEOjADNIhCWICLdWa53qpIJ7q9SaIAkWEGnasuvAMAyDNLrb7sdxbHxYjfv7j+5tLsaXz19Q2RRsONJhuuW2u7s9nG2GF0+eP/7Rtz/+9vc//eqLiq/vX63vnT98/eLNy+cvbt7s6rZ9+fX0+J3rDz++uD3cvvP+N29vnmEhKIUnAVxLo3FdWtvXqjusUuIAoII3NSqVBVEIqUWpZ4GRSP3w1iFYGQCpbC8s7KlABlAhBrvQY/BTyphOpNOTgVbdPIwhjwrP09LQw+WFmZw5Ftf4SllU2xBV7yF5bAJa9GIQDSuP3oIi0kRKGkQS41a/WUw+JhYxG0fg3RsPZ6jz/gAYMaU6HA0jmlQhaPsoIlKiYwyacVetdCwoGocAAdfIAMit1joM4+FwKKuRW5tqpRHPVyDQ3vvg8nA47Hb13XcfH/Z3H318/o//yR88f/rs//F//39uRr559XURRsCrq6t37z968fRJ4+3Upm3dkIy/9/v/6PrRZZ34dv9GRZLKlQAZy6HVwtCYAVGTZFqtWixHxjIOayK6OLsopcBAw3qg1Tgi3W7vWhnX9+/xVPmwpybTdNhNtZRCQqWUqdbxTBCEBoKDHVxVKYKQAVnEdzHTc92KKi7CGe6jeEVRjF80ngzevMY8AGjtbTS1kKigphtpedUeZKv6gzQoQyFSKopaxgehsSAyYmEBmZqYHboQqf5g8m6DJsm5R+af1rxWBSoVZFVdgQqWthV0VZPx3KNMVsWMWUBUJlHyppASmO9vVO7DAKLJqdqYrJQVc5PWtGcSIQD2+i5CUMX4gffzBJ0eRt/fYva1bF9Xn3riKYBYTJcFFCSjJ2wrEAHzUy9c+bDM5DhtJVp8DvzMX82fgYWrPZ6POzI3o6brOKmFIceSQsNUgWEhVIEjeVCcxb8nXxpEYbEWdMtHvmSp7p/QEPqLupHVF+MNmfP5wds3PM+5s+10c3EWsQkO98s4HH9G8iCLVyNSEFbbSSigBie2bH6F2kXn1Dz+cuQ02uIrl4QWQ5nABAC+kac3Z/He4wcWd+QIaLFbKfo2+s2Fc7nzv8USAGY6wwLqFm9cbFcfXzPzhohtm4Xf5PA4w+jZ+J1Da1RlvKujvyz7FYDzzjwfjKxQ7kXoLc4o2a0NLKFRAT2pYiK+6oQq6yAiej+0GdgjImoxDxU8ndkPyWpSVCFA9lEltiI2QcwD1hsuklWYwWyBFjODCQCmJJkTELI4KTQVsQdkOnBmZJzJ4pBQMpAxBlxgrl4nFb88pfk4ssAavdWSgSO2SyxCY2kuiiXkuSl1Xa1WXCuKZdcd9hMiDuOw3d621oBlmiZtn9m0u6f0mgxENI6jHsEemiCgMGkiI3tqSiFt7Qvq5UAYVuO3vvPt509f7ffb8/PzfT1sNpt33nn362cvhPFv/uZnDx7e++a3P/nmN344TYcHDz/88tOvzi/vf/HZl6vN+uOHD3/5q6efffbFy9evHr57//LexWH3prbDOK4KASINOBAhYKmVNRVVNB1NUA2TnBpwBmj5uXd48DucQ08pJY2kEMETZwcZ6UyoF0RyK0Yo3hYioQ/2Zu9CxzkVx7CUj3gRCZ1xP98P0OqeqJScKmHa7UE+Nph3g5nBGyLKPPw9QVegf8ndfFWxgd5KbIZfx8T2OH83viqlTNO0Xq9v7+5KKWoK2d7x1dX9i4uL/b7d3d08fufBB+/98Ee/9YN22P+7v/qrR48e/fznP9/tdu+8884XX3zx4tnXw1DOLzYsFzfbO2j84UcffPKNj2qth0P1kqYWdOBRjgKAZRiYeSgFkQ67/UgjIMDA6/WaNOluGIYyljIS0cUFfvLJJ9v97s3rV9NduXv9qgkItNZARMZxHMdxv9sjySCFYHRiq4YnypwoU4ZgAYtCkMJdM4xtF1EJcUY0GIDYu22RiCydzwBQa9MAdK1pKpF7ZrAdwS0OpVoLodcO8nM087PxzwZALCjo4od1PQNo2CFQf9JRwIvgAQTd1egaj+L2uHozyEhXPQDAKk8Kowh42GoTYQ1y0ro3YchnAGu1NMA4jq3LMzNEa00Q22y3hXIGOSLmam+s+RGoBgJ9kQjI4HXdIZtyFImYRZgRITvKPVX2SGpXh3h36FhgkJKb9GQIW5L+9E0ljOzVALUApkSDFkZZkOT9yVRAjmO/5tfxnQVTzEPFAehRL56MCZwcHHPeJ7KGRkUqw8k3xpLzndkkhYK05uXHVJ1QAqSTBYi23l2HyW9Jfvb0UtdVFl7LYz4Rfy4e8BctF+vP2435EfQ//SaFCD6/n1+h8tOsYIgDYVZm9L80/4VobppbyqKWZR33DA/HUUAamrkcUP9dwMlc0spM1M8a4tRiCcdXX7JjkM4ocBAR1Vkwq2lIqJ4KTDuQDk7PGgDALf2G1KpQpG0X+zXNaIV/NVPR0fKzlg2J7IFkLGBgRAA+EdXn0EjQtBoMlNSCSkRdc32lkU8YQpgwA3QWlUHrGOkyNVgoDIvj8wmcTg0/eXOBSov5BG3pKUoYjM0YJCIGQVhMiWE5pq3I5c8sUYmIFT8MYHbSsqJxEmitiRfDFpHtdmuRMNJ44trqxE1EsFCdDr7VNAzYmlXtHAYBYBECGKIIoIgoOFUAIATC3WFPQ3nvvffuP7r//PnzfZ0AcL8/tApEw3Y7bcbNn/z7n55trn70gx/v93sAeOf9zevXrxvD69dfn1+v3v3gwRdfPT80+LP/9Jf/6Mc/OL98cHfzahwGKdIaAmITaE2ojAJNmAWszJyZEgBAs5xTxeEFYXezt0YnzKT2jpISOz/jnqpAngK2CSOXIjw8yNYz0kwJBEA53R8S6zyWbo/hyvc8QfJRxcb414AqesjPydRi2AX0JgK4DM3KI/hjZVEqQ7TapgdIA4DMaMuJRitxmRMYiLkxQxUgGhBpv5+I6OrqarU6e/XqzaG29fPV/nDz8UfvEdGf/vSnu+22ILapcm2H/XZztvr666/PNxetTY2nq6uLzdnlf/1/+IOHD+8fDnudDzOrE7ABqI1yHEcR0AKRyMKNt7e3PG4GkB1LQZr2h8vLS/Ov7g/rsw0Wuri4Wm3Wq9VqOuyx0KsXL1EmYD7UKltZr9dENKxGba9u59i30aA3k/HYK9Zy+8hgFLXZjxlyzQwxFdaAuYMlOZ+YseAuoNeJ0ZlJZ8FClSAivSxwARAA1Pkp0qWO2SXgbFolPBAvAAgAImwRN6fkgQUlz0xT5jbcMFKLiBBGjyoAYqiCWg6CGLmxGakQtY67SAMRZASKkIQmFXoqrStBRio19MA3UGNcI5tReStgNN0D8kgKa4eMiCLILMOCvmSqhPNaSx2LjG102UO/FBGABvPwy4ABAOgWgoTM+XULIhJPLjBxfrJdO0/8jDX0IgYPOD6ij8tp5AvROgkvwCLY9qnpxVqOb+t3M9Oyhx+E9bSDmt5ZuDs6PeV+IvHtYmmQBOXfsNJ8rGKoYt/kp8RLaNtoUHLoiySxBgA8BST+BDCr/JHn5Kji7KlVKL02qf0k6T/609LYjwfPO9YJ3xwFmqFRAYTFG+OkYjRFrXxSSkBjTxb4lZFH/9Rai4vnYSaQdUV0sXx9PsekAmhBjKz4QarnoD8z8V2v1Ll2sczlzHXMbO93AEAAC14Bddf68atEoLd169QWCdCJVJwLompTac/NSagqeqisWpRBnzghH+vztVYwUqZbbqH/hneIUDA6UokInVLMbOZOQuJ8MVkQZ7CkNQvQUrelIxXLkS38eOb5z4W5PaODk/v5r9SfoXvvbE8ktXM4hQ6O+x2X2QVK9eKGPrC72yrAaI4pAABpIKLs7rb10EYqiFSAxMrnepEWZsRBENCadSt6ABYWtmhXcxkDahl+ITm0Q7trl5eX3/3e9w5/8ReHwx5Zq7kDT/UAhy8++/XZ2dmf/tGf/uMf/9P3P/xgX6fz6/HrV68n4XFTfvnrv3nw4KPV+bDf1tub7dOnX3//e9+um9r4QKUM6htENetiiLzCxiYBoHiLsQUlwY6/C2NNl9rjDMUd6IqpefMXaNvhp1jIn/7r526RIqgGBUAAYg8mhv+SKw568V6cQ8gx3QNQ7JuR1oQUIUkPcXPB1rNztRM6LbGd2kPGN2CWDQSvCaGVOjCxLUhcLC8z7mgZABqH/X6/Wq2maaq17vf7Dz/6uFX5xa9+ef/h43Esz1882+12//nP//dPf/nru7u7r7/+WkTeffyOdkQ6+/Cj/X5/eHkLwCz1G9/85Ic//L6OPx0ORIRJ1yUaxjKo0b2Ucr7eFKSb/esXXz/f3e0fvfuOEyK4vHc9jOPjx49LKauLs/PLCzwcVmeby8vrWqsAvtlugQ/T4aBegkM7MDMQikiZFz8IvpOliM6yrTIBaMscEW0joMWUQATIMu8to0rQwn58hwUAGwAhZqzQNWrhwkkFLUHEorFehUYsAVEG/BowI1aeJYrJZpkqVe9QJc26vTI3JeaIVoDIIk/02SSYAQCymylz+RMTozUkFVE8J1MBjb0wK1opWEFEaaJmImtQwlqKnoQsmohVtywo0qZWSxkBIOohoxS0fMYeMwYu3xORRxDoLpCxSOohZ8zgpkURkaEkg5kumnxtWunNlhzODsUkQC9yZJpvshx7Yqvy+BljaHF4BMkIcYThas+OJFcAcNOQI6aZ84HcEyFdQAFEUpeJci2TKYx9JgIXanuQCL9pM0kBXgsClLOqM5k4JmEwk4wFYEnC4s8gQHm0/Gd6EwWb8dnOpMZ4VrluILYllbAQkUcNojF6fzjmPPuwINOpysqCZywIaGym3ZnzF0eo2W/zTqbNmZlm48kl45lNuxyLdItL1CqblRVdqbnrM1cI4jW7/MS7dOuydTcFQTpcvWQuuEf1yfywXmbqw95dL2YeELK40jxz8fKYuQFhPKlNaBy/Xc4FkxREBMHjW5wGDEjQ78QK4MABkHGfpUufRhLA+nUAclq1z85GAAAgNiDxwqkGD02DK3SFDYSMRvZ/fYGmvkZ9ekBGBJ4qzNQnK2snZIJw3Pfd9rkewWGnn0eCXackwGK2FulENIETEYqFeC4E936mMM93dwFoBlqLWfUPNPObB1RoQysJX7JTJ/FqGJC66ojIWAYEbK1RGdabM53DxcXFZr36HD+/ef3mfL0ZShGGQ512u50KcFgaImIhFGtTQIMUBJLCWpIIRERqrU0zswdA1uw9ZOba5P7DB48eP/7s159KbQQILOM4TtPh+fMvr67vXV1d/fH/9u9+/5/9Vx998mEDOr88++iTj2+3z/jV4Xb/8vf+8ff+9q8/wwFevHgFMl5fPX71+gkRlGE8HKaBCtLQWkMgBGqtNTdkotczUYv7PKCU59sb6tkMHkTa24I3fKhlkKp/7o2uwI0meuwA4DkUyqlPC+4xjfxnGnP5wBxcjy7qlBkQAIpAz6pa/ESSYp+/Ra2adcRy+25YVb6ZDTV0m6BjmFjMMQte/KnXjisza7RMa22aJiplXK2+8Y1v/fmf/eXN9u67jx/c7u6+fvbs6Zdfvfj65b2ri1/8/OevXrzk2s7W4/MXz548efLBBx+MY9nvtxcXZ1CG3/u93xvHcXfY73a7WkV7hCGiuiRQQM2rAxJMDbC9fPPyyZdfPX369O5m+/lXX7Ymu+mwXq+vr6/LMHzvez8YhoFGevTO4+v790Rw3KxLGS8u77/zbm03L3796183PhDgOI6IyMzjuOY6QWKjXYIqVoq3EAlC1IwHIC8RgwKs89TdBQBGKEesU+VCmseCYkSZdAJoXRHjmEREgKyHKpAnzGJYeESg9VBHCR4qAt7nFNCbUiAQMgANAtAsYVDnLdIA52QzgBlEXVKR/mfiJcyLugSkiYrjIgBayVgTwJFT62OEJoINBAQHKgDcWptqo8IFClExE4RLSmxh/drZdwwzjr5LnTQ8w0cmJAEU0G5c3VjjIf44RG1/rTKjMVLQOTQgLpEh8DBjzpwlVACPNCUT18QDhU18nwtKYKJ/6miP9pS+nFOpDe0ghXPRLZi079eMk+Vp5zvx2+ypybKjpGCbmdgEIqdIRr45+wyc8Cuk21m6pP7fYtrLSwhEMBnmRST8j3mGMFcw5liHBs2A1viqV49aRJj41qUKJ7kn2jF11glYogsCgKAJJQIgJwIj0ka9bfcWvprFG3/jV7O2aidePf8Oe0nXhU5VjhEhXrRgfnG4i83BdEn6E1xgWoycl0OkKTUSgpooWelmfvHbAGCdhgEsYXUOioF9ThwFIHWuzRCoYTWafCw9pE9XEK+OmjdlLFYi3vi6pqojJbhCgZY5thwzfgDtDaf0u6FEWzdk0RIfkmT3HhB2ZKJeFOCLbfBWTTbZWEl0cchTiU1CQAIGMOu9wjhFynyaf0YQ7XoHb7nybi8OHZJgF6uDJb5kHUxN1yCkh94VhWKW+BjHyAVLH3BBTkVEpXa9wNWG1WbNzGU1Pnrn8WazkcbDMFys1+v1+s2r1+th3O92+/1+mvbrVbnbbQFAcABQ5U+GQsxcaGjUlEo0YZXXBaeBhug5ggBqYgSi66ur3/qd395t7558/oV+e3F+OYwARNu7N0+e/Pre/Ud/8ec/PTsfh836vXfePRuHm9tHmycXT548ee+DR5/++vM3b17vd9Pz7958/Ml74+5Na1tdTgMkACyDFjGGRlJ7g5uIU4/cNXR1sZ/gXDJPuMZ5M50On/B8HpMREfMUeadSCzpNOrgmV8hRqMySIOe3xBGffGzJ0mYXaX3MNJrmrbQZW3nLAJkgJ325q6Alx7p4E2hA8b5vlMproAi4YcXkSmv8HS1t5/xIRIYyHtpBGAiL0qS7u+0//+f//OL86n/913/4wQcffPyNj/7jT/902t790R/9yfe/9b2nT5++efV6v929+/jh69evb169HpDaYbq6f2+aJhqG3/qt3/7GN76x3+/R4mGaiLSpIlhTi1JKrbXtD7tDPex2BPj5559//vnnL1++bE3KejVNbbffP3r3HdrtRXYvXrzY7w+r1Vj3dTWsW5WzBmdXl2NZvf/uB/vzzZvb3asXz7fbO4G2Xq+ZobUpzKyx8ZhiPwLwOEpGokbIgIgpF4AowZcFG1q1L73hjedECd0ipThkd10vETVLVi5EhEfKGwIJWc6SS7fkTbbFBU6di//QKh2wjlQwlgZEUVqnuaKYgRkQrfQKgLtq/bNNzKbnzBrJ+smggHdZ1YooUAgaeDpvQRJuIsy1ISJQKeTEVDP/sMXw7OEehRkYO76AVksH4VYLRT8Ts69bjJhinJC6pDRggZmHkDNyJk0wv0zK46gScsYB9y1zHmCyO3V4Ur7vj/lxLuTdY+Q3Qml2Ki0VlEzyMnvM59WloiNSlZkTuAFD/1tKjbEJx4SVl9Grx6LnbF3ifyaJBf7eayGIo4fuzG9SvGtBhReDBI5hKrBzdMRvS+7x5xXC/177Dc6+0stSudNywHSzt/OL4/molJXaL8+ogxP9vCKxBpdLY9JibwGALRF8cfS5WemJWB10Agazcg0ndcsTQjwA5HihI9FNBYVOiOMx+Y0pHLYElIiqyj907HABPYWI5CeThThM8h13fZfQQStQCcCD10WaraDnK0e0jyUQdPtumrbOCwCKQCiYaq4hAWtHLVkkytM23G8ucSJ2r5T0iCMBAIJsaDwFzLZFsdXL2S52HhJ2H0Pd226evJ+d4JlUZuIGM6CC+PZ4/MW7FhQvxkdEtJii7uQZx/Vqtbo8v3j0zmNajRO3s7OzzWbDzFIb13rv+v7ZsEKAm4IF2zTi5dVmsz07HA6HWqdpOtQJEcf1ChEnblJrUfDiRgAChDQA0RAhoY2HcbRyU0CX965/9KMfvXz29PXL5w8fPgRs77z78G7bnj17dveGPv7gw6+ffPFH/+7f/7f/8r/b303nF4/OL+8/fveTi5//52Gk737vWz/9D3/NNP7yF1+8997j8/PLm9uJmcdxVK+U+joQoXg3HF21liMLuaSfr8IAzg4lbyakOnqIvd4XYlCSuY7Uf6iPFZXHlFMbRCGDaJElfSlAihzLIxwTkwwni2t28y1QI+asX04eFi7IpLBKvuMwfBRPCKCY5UJMj6VEACCWSlbqEcyDDszcylFDCR8T8gcREEs1BgA4HA7MLAjTNJ2dnX300UcvXrzYH3YffPR+WQ3Dqgx4fnlxfba5fPH8CQGux7G19uXnX3BrIrzf767x/jiOl5cXf/AHf3B1dXVztz8cDpUrV0bE1ppK0kS0Klgb3725+eKzL379q08Ph8PNzc3usN8d9udnl4XgbneYWhWE/eFQyrDdH/bb7d3NTUG6uroe12uujAy0Gs/Pzzf3H3//+6tf/t3fPnvyVePpUCcRAeSRVrZe31JnZP5hXrhPNxIC98UToLPtAAnZqgwDpsZPaiMgALCSdGQJRd0lwmauJj3T9AwCIKPmVvmrWbCg2wWCcTdEq8oSkEZmeAcRdP6CEVGRszljtn05R/JJwqCZFt2RRUhN6gBkadaCjMBW1waUVgihxugT0TiuW5smblC1Y0nTaYMVn0JCYRBoqmOUQBFjXpY/1g0CWqsPhLiBO0lEzH7toUqBPxFBe8wVjrljJv3xTHqY4w5231Y/4xhqkSUJc3Ljj7FSv3wS7n1GB7yl4JLPL166IJc+sWXsaZ45zC/9xd/LejM5jogQD2pH7LojpqnalhL19pl5CTyfjMhsdTklJQBicV5q0Co0ZqNjlg+OV42IzZNC0AmTH1y4aCgOHREjLjOPqUc2o/vpiI+x7pif6fcAYA3n7QRPnMXRqR1z1jSiS+15wgkU//4QUidPuezgCdMaJAjBeY3bxdqX+yNdU8+YmKlS/slsM7FfMq/BiqikUEreH4uGZGSGlF+7OKB5YCWGSTIqqQNAGJuLJ8uIdPacS68miVlDeHVCHETZYliCWIkxpwDsRSn6OBdIJDI2Rys667qory6bFE8bEcRksiiHqvnK5gSzg5jlWM9zck6J3bB4cXp1a2FM+geJ4ycvSW86Ri5ICBhL0GTTgOdSytnZ2cXFxePHjy+ur8ow7LmSe+Ebt92rN+NYtMg6cAVg4AmxnJ+fD8MwtjZNE+62IqKtgop7ZhCIwBx6WKxFFwAMw1BrJSLtMYhDuTo/u/jWtz79u7+d9rfjqI1Bm1rspml69uzJ5eW9m9dvfvonP/3u93+0ud7UQ/v8iy8F13e7LaLcv/cQ+d6zp18zw+X15W7/ptY6DmOtrJ7mILxE66hEpKRLBfd8ZBEBN99JXhyrM5fs+ZllW0Ut4PwwaDC3N6BBDJiBGWvvBYsYu578D4p3X0zyGNTf8rBG32bhuwPnnBZJvpMIxYkMe/Eqw/qK8FQAAGLB5K9DRE9TmcmjMcmO4wmqmbnWOo7jfr8fhmFqFRH/4A/+oJTyb//tvwWAH/zgB59/9cX3vve9H3z7+7tX25dPXx0OB42Gf/7s61prrZWlnZ+f397eDsPw7uP3rs4v3rx6I0Ai2lvAxCdCmqapHg7Tbrq7u/v053/32aefffX5F4fDoQqP6xUQ3nv44M32blyvNuP55vJqu92WKtv9bpqm/eub8/XZ86+enl9dAsDhcLj/8EEd1meX66GsXr54dXd3t1oP2kiVaKXJzcF0lAUr4x+GARGVGiuv76G5qAxUq0uTwKwFsDMmImrsYXK6uIKkJjONlJ35oIhAaLWS1qxedlyllMpxRkre40ytm0cXF4EQwQcIBdBjfZtKPB1uMzQmYE4Vq4+AGRGlR3AoG+rIZxAlhbECK8SyTowImLlZQgaWUpgNmIdhECrSrA90SGJg7DTgE5lBVVGM9mGsIYto5Zubmq6AQYB6MAhLR/khS+qeQoSBThnl4iZ5Q0cnPRo+H0F4QX1MqFIyjWblFUTSdA3Fqb5T9rweQ64bY+xcwkKW4jURIZUlXmpXkgQp26lUs1kBABEFoKXWIQHAKg1kKuPxTxZRmwhH11Jic0UkrIxBU1RKCBQii3pHAAQhL4CHjUUlilA9RaC5MJzoYGe3x/QXfV/iq1hI44ml6vzVg+Y/s9rVkKiqiGAZbfcRRKSpVIpUXOGJkX0TESAIet8cshAI17r7r5bJkXG+8VsACIO6lq09TqO15afIab1ZCEWgNSu7rL+VYKgyG4SIGgM6IgVnIgGAAtohJ2QpUEcQwKxNjwSn9zt9rsxCgzEw3eQhHAvi87D9sQVoh9Q5fOoR67/LDGbz+Cl8JsoWyBjj6NyWNA4ZSQqhIJIY7eg17kN+NRBRnU3DKKEUdOuIhHaqpbx0ccjQbd9ObzJw6qb6fjV306gHzwi3AICASEOAoaAgirB0DYoBoBTScuNamlpf5nCI/iJFfMPHXHdfnDHE3EQkd3JdsI0AOXHLYjZJxLfsV6Ies/K7cwpMmYKlI3OabKX6OdBBc+TyYar4G3PIL5Jcq0cQAYWFhSeWYRiIZaCyWq2w0Opsc//xo/X1uRSCYZRdaweetnd1d9i+ef3ll09WhRDx7u7u+uri9vZORMZRNufj2bAZZFqtR2QUQgaZWpXGZShTazLQCgYAqLWuhlHriOvmFBpFpKwMp17v33z8wePf+se/9dd/+ZfbN/sPv/H+p5//ahzvFan37z169fKlCD549O7LF09fvrj3kIb1+fDky0939e6b3/ykjPTOu22/n/Y3hz/63/7dv/zv/9uzzf0Xr1+AMBFJU9eNlpzWHsCleCHIILBEMHjrNysho6DD1RlzBmMKgwIzsxyCnasUZa3TfEBmTed2HtrUUKJQlKCi5Ghet3/Ni/Fj/IeIYv4EmXvnFn0bzIuNkU3n+kNX8kXMdqAWJbPxJS1iZkHw6M2AZaUYM81f99VvdPaBOCQ8MhAWYaMwyr9cfkMA8JYp6Ay6IAGw1KZWU/n/Mfbnv9YsSWIYFhGZtZz1rt/6tn6vl+nZmtOaGc5wZjQzpAUINAEKlg2JXmiZMEwT8D9jC5JNG6IJWz+QlCnKsEhLhmEblgEaFk2Tw1l7ut/+7ffec89ap5bMCP+QS2XVua/Jg4fvnVunKisz9oyMBQEwazrDIJ3tmPnq6vLp82cvX735//zX/+zm5ma/+39Np+Xv/vbv2IaNMdvD+vb2VsBay11TAXfGtodjVX/dqUwjqj/3G7+t1aQ1hpmRSAsCStcZyrTS2DW8u7vvqvrLz796fXezWq3arrPAruHJYrZw7TjyvHj+4UdtZ46dLTTVxm422/lkqoryUB+7rjscDvPzs6Npr9iSXHRNUzdHJGvZMKvZbO5OsImoYwOWPF2JcW3jre2csJLQtKQHPjvV42WIohzEuoxPQKE+bYYQMictY8F+X1dNIHTDkKj1RESEADjLCstgAZHIsLCgDwUhFEZ2ZEPIVgDQCgASkrLWWmFExZYVks+iZEASVl5TZ5QE2yKy9F6SSFTe5SPeKI/8G1aPAmgBUQlYZpZQ9YpIIZtYvpaDfc6IBOgLQCFlIJZJEJEtW1RCJMLWslJKZxNrrc92FRDrjStjLYC3RVn83oqIAIUIBUQxMYt12tkfIwOzWCvOYJDgx3H2to5AGDEeDD9R4UHCi6Nn0+/xSsK0kEbjjN44oKpgBiXglvTmkYb7pnGSx/uZpI+ns43u7YHGC+7D07WMPg9exNSIH96eLDZqTZ+//FNGdor89HU47CCbEnH8M0UfALD19ieAMDJRdKD2czt5NSYjeO87yfhO/+xgxf2+Dk6GTe7pt0zg6F5OIJe84vRiShijKfmdUkIDEAysb4D5T/NaPbzknuZP5UW8a0CQ/9Jhh1P6KdfHGlG5uhxDThmxLTxE8MlMUUSc/CMiV0rZX5FhWUzkWPkxZo1Hpe7+iQyHEhNM/cOnAAm/YrxDAMLWrnerK9fXLEluigAcfZfo6ekdKu4Vg3xfT9JDATW6AYBju8t4TyoYYbC605D0sIGP9SgTOvkpBDB644M/xbc8JMb/JVJruEbIc0VC7lQYFZWz6XyxKKYTrXMAqA6Hru66pt2t1rc3b6vd/vXr113b1nXFzCgWEa+vry/PL7LqMJlMEDHP8zzLLLMRLrLckrUuQCrXNpiVRVE0XYcxkE8IgrMQABpb3R92Z4+vzx5fv/3y1Z/51R9irnbrJtPamFZrvVqtsqKczhcvX74kLM7x4gc/+MG7mzfr9ZYAsiyr9kdmPhwO6/U6z3XXdVlRtm2X68yLgqT7hIuNiZITEYlARdMc5UFEDIzjoFOYmXrLHvwOCUkEnccdAFKno4jQYM/fE5i1nm4hoT3HrKmoT3EcVzRijVNiG11MHwm7mJ5Dg+9pbDb4+T/ULnqkm5LT2gd0TeCLgY4AGPh3wiv6p9wXy7YvxYPeg2aaNs/z3W5bluUPf/mXd9vDP/kn/3S1Wr948erx4/Yv/+W/LAjHQ2W67sXLrzebTZFrrXXXdU3T6DwDgP1+Pz9b/qW/9JcePXrUsSUiy9w2DRFpyigTADB1y013f3//9Zcvbt68vd9tBQEIFSid5yJSVVWe59P5Yr5cMEhj7Hw+b9u2bpusLKxw3bVd11nTIuK0OjxBubg4b9ojADx59Pj1m2PbNlpj0zRFMRERdzhGOHbCOsg8yOMjZnfU7YiKiMg5RBARtdvOEaD0PvKB0Is9/nwaDJLfLQC4U1hXDcZVWRTuDQwR7/ZGxFh51XEEwDCHkGOlFzADExREvAdWwUACn36H4UdEQth8z60Sa8Qk8JHE+gT/luBWJiShMAVJmGI0bF8OEgCHh2bBgayQma3piEVrjYShjkiMtYNYyMsao4N51LsDA/WPy3GkzHkKoFMllw4YlVP8cgpK8IaUyCDywQ3bO7EgIbsYTzJ+38n4qcRJ1WcqHH+Kyjwd6pQHHngc++rJqQJIlagHCyPggJfiYOkeRuRfzorjqeLJFQAAiFVK3MUYBjNyN46Eb/gS4h4QKYm+GCiS4QzdYJhoo5GGSN91ukA/3rDSaKonfgoQ/E+Mru9xfFq8dR6C5yj96WHrJ8Dn4W3DaOajB93/458RSCPYjqhrBIfTwSN5pBN4cHrxvTAEXQRg/zhJDOtnx4yhQBiGABXsvX1ubPZmlju9EYlnrGEBTr+igES+cJUMwtySW51Y77tAcNIcSwL7ILhjdXiAHU6+82jhQWgN8PVNcBuB9BTIkVqGNw96XUWyhyGu4ZvxBeD2uX1uazLhBzz9cQE/ZcB/lQUioukMKuWJBCVaAAEAAElEQVQ6wkzms0ePH0/ms6zIhaU9ttX++NWnnwPA+v6+qqp3797c3d0x8/GwA4CqqjJFq/V6Op1O8/z6+tpFwxdFoTKNijRlWZmJSNU2llkRuQ41zJzrLJVCAMGPiFDijImvn7/3W3/hL/znf+8/+/rr1+W0qHY319ePm6Zd3a11Ud7e3RSHfWfM1dUjvcXF2cXZ8pqwOBz2KI3OyLaEiPt99a1vvb/a3LsX8bA/2ugT/E2AriVScjYbeSf1+6QX4xcjFuJxkDExaD4mrknCLyLCODyBAUTveIvHuaEyYrIDxFOLfKjsUhIaiZSRHhzRw5Dw0oPQWNUAApWO9SMm5sGQ3h6m0nizSLpeCW/n0ZQk5KRGVeB0pbjiO4hAyGIZ2LBBpZ4+e58w//3f/8OymL33/IOqbn/3z//O2dkZohyP1f3tnYgF4LOzs/ubmzzPj8fjer0WRajgw48//Na3P2EEYwwiuXCypmmyaX48HnOtu2P74suvfvynf/r6zbuu65quZRYrUpblJCvqtjkcqywvJ3k2BarqhgWm89mxbleb9SQv9GS6qw5d3diuybLMIsy2s8N2l6sMwRZFYa04129M1XWGO4TEjFCzxRcSPY0kSeDfSy1EZ5qLa62BNqYGZS40nYgcSEGACJEjWgeHgQiulKcr1EgIJMSIChBDFSIJOlcEkdlvWYWRAV3KLHpTHmLtF2GvidgXFMaUYb9J7aafVLEG1Q/O7BJBt81zOb4iwNJ3wxSmECriiZ5Iiz9nC1pEREKeZGAfl06d6C0BEbDWxLi76P0M6yVrTWjRqtjX4e0rQnZd59BqrdWnhu9ICT3IVCmATuN0v+kp94g7YYl+lPi6VAL2UAuwGE2p/xNDATX3jDhnBvQuwG/E3AOGy/Dmh7cW4wkMfx1OrH9pshsGSMJLCNSokJOjKk5aRqevO623nUI+nUAYrd/dpffwQzGCcV8YZzJapoj4Wp/hw66aJHkjqFcX7Ky9dFbuZX1puVMAPvhSfz2o8tF6R3oomkTjtwRxFn8VQiLyx2rBoh/RQPpnfNPoFen9FE7NJGzSokZHv2F7wEw//ZwO/q/+q3udsSbNSRiB6JRO+ouhF6m7X2nHsyL+AFoQfayao5HkZmdf6nTYOM8Y3ubq5Lq6PQJjcopPiVj05X+dye+FgFivmYJGF4qZCQ7O4IME3E0Uguv9vyHPLVSRT0ERynT0+8/IsP0yw5394yPwun99ZheOnpLUrEmxcDoOJHJDTrKQe7pOUDwSeSIcRQ0+xDWI6HdSJ7Iuw4yIOmYx9kypyXyR5bk1tjvWu81+t1q/efHKWntsGgZe7/bHprbW7qrjdrsmwPl8Lrvtvjrs7tfny7PlfOE+y+Xy/PJiclESadQKCA2zYYtKQQj3HEHVFZS0YiArVEZa5d/+9rfPzs6+/vrrq/MLRdQ2RxRiMSIWDFibVcfd2zdfAbw/ncw1ZhfLyyLLTdOI6fKrJ5vD5uXLl8+ePVkslrvNWiliOzDcXXCwk4cuDAB8ryhwIa0xadRBMjXlnSXn5j/qzhsIg4Y3qIgj8DYoOPk/JMVT6wTTqjURs2N+H6rX0edUlo7UTa93XCgR9Dt1RAQk7INrBJMPPLSdjtNDxOhuj7/iwBZPATK03YW8XTRYUaxyCIg+TV5Ct0lB4K4riuL+fn199fi73/2Z+/uNMP3CL/zg8vy9n/vFV0+fPilzvV3ftW3b1NV0WnbT6Wa1YjZC2NoWFRjh9z/84Ld/93dQgTGtiFjbmc4w8/FQny8vlvN5ta2++PGnf/AHf3C/3XVsa9t1xvp0WMsZW53nqLJj2/BRq/3u8vHj3b4inR+bejaZMkI5nXVN3VpTH4/UNPmkEGZkIUBSCoGISCndtl2Zl13TZkXuQMfMvhwTYazLJEk0ZooOSuTeKXmICJCKWU8uwHBAFYBEg50S9HagL79GRIAE4hI0sc9JJQXMobw3WiMAKOzaZCiHLkLFbAJFkduYBcLyzStcJAyFUs4MofRZQiouu8tXcPdHv35VrgyMMDFaCnwZud4drblTiAA9jG0FFbl9Uawf74omO5g7U3vMaxHUob8B9YpASABErNba2etsRUK7JQZhEGbrYutdYrEV1mnntqG58/C7e6AM3XsjayBhPI7tEkLE8DhpIB3HHR1KWswRfTBWfCAWzR2JttEkR1ZRwGX/Z3z8QRAHHDxcPeZByPQwofFOwE0bAgGFAEE8LQvuVhYnnMpEgD7yt+c3xycnPrnx25Mw2RHiRlAaXUl/ikEv/YMSQt5AXPmSMIHQmxNTy/UBaxiGJPTwq/vNenzQW2gBI/EGBxYIRlhc1GDhbqIAYE/Ck1LrfASWb5peGFl6O2nIU8lofvjTVUcsn2qvdD6jOYzuT0aD1I+YPvugHRB5LbUsT5Y4KBUaRvPf3ceYLkFxv2sM1OJiW4KkBVC9nyI4asKT6Ivd+/qn7Gsa+G5A0Pez8ElOqUSKZm7Pm+Rlmp+eDKAa5xP/Tr9IYgDF+xEQQUHPwB7sHlI8oJ9RimoK0wSSD/Pdgx/sTx44WuzOYTEcOdTLT94YoR2GekBOQoDebD6/vr4uiqJpmqqquqo97g9vXr2xRu7vN6jVvt6rPEfSh90BFaHSmc6arm2ahpk1yNubd3d3d7PJdLlcXlxcWGuLLC9mEy2oQRVlaYSt+D50LuY+ycv0H7IkREpnudLb6kBoz2bTzf3acqMUMkORZca0xWQmbJBtddy9ef31cnme5XNENZ8tD7wmonKStzw5VvV+X10/eVwfqqatM9WzSSoVRcTXlAg7OhIQYIHBaRIOTXMZfpyo1zp3/Ogo031JDhYgFk5zg/jtwVD4Q8KqOPyckMdPoyXHPnHm6U8xdDClzDiJQBUOXONXRJRFORxuS+izTzf/Rll68vFpb34Q/zJCV1i2f6MDbIIL180FwYIYtqbji6tHP/jhv5Znk9ubl7PZzBheLGfVp/s/Xd/94s//3OtXL7/8/NOc8P7mHSFqrfe7TV1XSimVZ5Oi+OEv//LV1UXbGmbuOtN1HQl2rdFE0nFd13/0+3/wB3/wR6/fvVV5JkphloGxzAKos6JAlbnqqJPJJCvKrCgUZYJqt9udXVycLRZlXnRNW7edFe7EkmVjTF3X2+16sTwrdTaZTLTKu64Ty8YYIo5OW2YxxnheCd69UxUQP5hsrkQEyBWCcah2dX6ERfQgls+HKj1AcD2yvVUAwfE6dM0QgICg9cdHbhhf6x3BBZQ5Z79Kj/EBXE4nBr3vVXy0ztzCRVKqg2DxYXIlSlpnlAqIYhDV1xyTJDTAKQV0EgYxRGoJuvh7F3AQhnWmkWtfBT5uKHBZD3XX9UlcDi6GebncTURQwsKh7I8iJYwAsdsdAfjmTZqTOiQpOhB74ZW+O71nZGHEQUZDxT9TuUakRoME6CdOL5IHLY/4Xb7BOgcACH0FIIAl3BH/J2nS5Mg+j+JpJNcA4lpSz3cwBoJATIWa+8nlgA3lr/MFpLGA6a4jJi05IegPHyhU+YCgjyWh1jjbwDMIQ/nYg1eF0u/huvs/h7TO0b8jzIYFhy5OwyPaAWH42t9++eR6BfdmU+j9gj0CBjAP4THp0kY1ItOppjen9MbsaAkRUVxHMtdiLDR7D96cSDPjKh/p4KcKz71tkGkAlsWgl0VjvTtUcsNRkh1p8tR4q3n64HA0hOSwPlXwqSnQryueXI0X5VU2hiMsAQuh7WqCnegV6yeTjkI+Xcd92JeI8SmT4PkxrBV83XEBIVf4VsQDEr2znyTQveMLRf0mFtHlfIO41Hw/aG+jYwwB8o4ilrRNxCleo90f1tsLgaFgjIww3PD33lNXDiK+RYK/FjHaN+7O3tAJ97qFxM3SaCYS3uR7V0diOBWBw9nC6UdElNJ111prrx89mkxm3BlbG2n57YvXANA0XWu5sdw2zaE+TqfTyXz26u2bWTm5uLhg5t1mSwRAWNUtG6tQum5X1+3x2Ox2h88+++Lnfu77z957PpnPQCk0JteaEbquI5U56ec7O4Z5FloZka5qRMTUVab5UB8P3Q4s7w77IsuzvIAWikxdP34kgvPF7Fh3n37647OLR+dnV2fnCwA4HI77fZVPSgD4yY8/03leFJNjXaH2rXOcaymmcrqOsEPACQyzeiIMRxchWOeppQ7BMu7hn5g14v9z5i0yoPX8K/EpdOfrRI4UGF2DXokxvg9ic6Q309tSmQCJgHIX40Ex+OPE8b7OOgYO7CUAPm1Uxo7e8NTgmnglDAwY+y1K+AkAQ983BFCnBQwQxgiKLZZELBA6q70zRmtd180v/ZmfO1te/MEf/HG12zMDkSZRd7dvm+b4f/7i07Y+7Nf3dXUwXVvoTCnlolDcYc58uXj+3tPj8aiVsp0pc13t9gRkOisit+9uPvvss3/6T//Z6v7+2NS5TCBTpFTTWWYR7jrLStgKa5XPF2dAlGX57rCv63o+Xz558mRSZAT44m51PB41gRXUmWKR4/Gw2+1c1fPZbFaWU9M1ejp1RrkxJq2CQCEzPVDjAPUPfgLew56NbfjuE1iJKC2QD73fxFNWqssc0i2L73wSXJBeCKGvIs8uNsYCKiUiGCv3u9qsSJoAojkBIAKIAsKu7CaeFJNhr2V7kosJKn7O0WACgNCrNZYeYBEFURT7cCxnuiAiUaQ98hQpNjj7lQvIYmtDbKcCcKHrYTK9Yhv3VHH+JkTX4TDE9/tdKDJ7i8Idp/RCAFFHiypB4ZirU4RFV3H6a2rVjeRCmAekyuxBHekZNeohZJDBI/GnVBL1kmX4GUmNVL1J8jl9sFeBPEhLDdclTF7SVSRqcqzII8UPTRk7HHYwScdyMDS8Tqf6TTMfwQFOAI6INixfxgZfD88Uv+n4fkzvXn+gQdUJbCNImXueCYvlaBj17+pffXLS99Ot9pTMTpEOzuEznGo/y5BogEn48wjy0bQ6BWmKLGd2uKN2AAD0UXP9u0bHUw/Gp6YQHH5GBJmuRYKfAYYoS+WdnNru3Nd3AK8+JUajE6CgXxdITzMCdtRTa0QzyZc44Wi1W2b2J0XS+9HTra+IJVDss117UIs4c7aXRaeYGl0JxOCjFwgA+paBwWJ4iPJTjLgyvumwfMKeJxjkB69/E6JhSNIY94EO7wmCUvCmcABkkAekYhw23VSMAh3jl7ZtO9Mpnc9mMyKq9sd6d7i7u7t7+66zYhk6tnpS7O4rEdzv91lOAFDX9cXFhbGt2w4ZY0ShUjla3mx3h6o6NvVmtyUiaQ1YeP7RB5PF3J1eZEohgom8wE6b+d2asQaQMlIkjGAeP7t8e3PbZbJ5t97sN9NiOi35+dP3iLRtmuOxxom+vn66Wu/s5sYK64LySVlO53W1bdsWEKuq2u+rZ0+uAHi7WZdlHmW1DBRcCpkHZELP8p6nBuXenb0uImnCQ3zQMWQqDyE0ScVhjT8MTaBSIz6O5F4F3r5xLBT00ck8IW4NT7jjlETji4z3H6XbFfeiwSlcSkIPXhn/KkGcJnAe3TNm8LHtT9Hpg4gxVEkQWMQiGGs7a5q6/eijjx89fvrq1dvD4bCYL29v37158+r+5i7TcHnx+NM//dOXX381K/Krs/OubfaHw7Ha7/fbLMvqpjm7vvyt3/nt2XxuTdtay8aIUm3TNMeGhFar1e3bu1dvXt/e3dW2a4xZLGYAUFVV07WLxUIp5WIeHl0/mS7mRLQ77Kuq0lnBzFdXV13XLaezqto3TQfMgtiaDkmq+li308lk4raRSuknjx4XmT5Uu+Px4FYdzm08ZtnXmx7Ud45SwhuqAdfxth6ihLHLXgr24Johr8YxYuqbLRMZsI8LkBEG640HItIiGAq9KRFGFEHlglid/3/g6fDHyJgQeZSTfosXd9G+46uMKd89y8DgnN5IIgYRGcWCKA8NFdKg/ZsRSFiwD/j0GyRB6/qKA6Gw8wwKM6MiGH0QIVSUcpCUmNFLpEhHORBKZIqIWBABQa1CdjuQ0sysI+7hpxq7p/o4srr7kqTNnqAvqckYjwjjG0fDeuCSpIQoEkr2IAIIsw/hIqLoKksnk0qceBwZ2T59YyqjR3NIl5KYTFGqphgZ+1rS1Yf7wz0uSCmIYwzusREDxJ3WKV7gVPwNr5zMYbCvCIr/AV/vSGhiYkqOJ8Cur7NQUm/+NEPLv07Ie0hDydHBnN2/HCnBQ+1B8ksdjekNp4tNgZbOjROHKIY0OAk7ezihyXSckRYcfWL0KouJfbL6D3C0cR+c+UjCpstJV/ENWBtzENsB5aRf0tdhn9w2gqFfrnc0+6vsZLo7B/XjgE390CxJw47w1pSsfBkisGwdJQzw2N/XF761BK7dyiCMR0QALPhKBZCckAzgQ6EjHSK63fKINoarHjOy+zc1xZB8G9cRwOPjUTSlCHqQJlMCS38d3ZlONd6cTjtlW1/tByXa7v4tMFjOaJ6njG8V5JRneam1tp3hzoBItd1Py9mXX311tLaYzZmMyrSIHI+d0liW5f3tXVmWSuNsNhOR/X5rRKxlItR5Biz36zUhLhaLLz77zBiz2e++97PfX1yeWxHTGWuMZDSaiTgvBollLlTWtsfXr7/+/s9/7y//wr99s9n9g7/99z/79FOwPCnKd+/ePXr0yDTcNs3NzU05m8/nkywv94d1tsouzy+fP3/PtOdfvXzVGTOfL3e73eX58vz83JrOx9QmFjN43TFwQMgJ3lOxiYhKUZpIExFKNOhnGW5WHOjf8WKa2hSnAUNuxeQwXMSdAo2TFCLqZUjVo3tGXDCiz/TONKoHEV04spvRgMzCCIRRrwEkEacDsHACw2+oekQJG7rCJiN2GE2+6zpwZXkR2VprrWFrQRbL8x/+8q/u1vvPPv98Ws7W63We53d3d8fD9v1nz96+fXvYb88Wi64+gnB7rPf7vbDRWm936+tHj/7sr//606ePjTGEaEwnLG9fv7l9d3f37tZ2/OmnnypQ+6q21gKiLgtUtNlsxEJRFF3XFZPpdDqt6/p+uzHi9KbKlT42zQfvf2CM4c7s1T7XmRjbdV1d28PhkOmFKwrZdO1msyF1luf60aNHRLDbbxxSsix3KtV1bBURCeExIpKid0CrpzAUn1YXrCSPTV/1KKHwQAxjjEeCEUYRDjtdce5tBLQiIODzhZEAkIg6Y621RDrMQim/L40yM+tTVEUgNOuQoXWkThp7jch7xAKESkbhi0JEfchx1PaxdiMElzqHCnUuFzhswClAjK0VrVUEV2TeSPxOK0WeIqKOfdMMIu2D5KAHuNaaiLquc0LDGKOTfrNA5HMOEFGEmNFlJWPY3yCiW98ILi7fIGXslNUxmEcU+rNIUiJmxNLSu/kglh9C9GfZiYyL8OVgHIfsBwBnV7tCOwSxIOiJyZhKFjFhcAidJt2dHj7RZnIRFw5u8QDUMYlSyj7UYIiZVXp+LeT9h2F36MSfy3jwu0bnwXWPAHXGvz3LVMA9xc1ougvCsaoZV+bywBf/oCRWQkzGip8o9CM2A+i859Lah01kFBuiTgQAxPbFHSN5+LX7+3hwEUNBSSQB157Azd875JLQYhQRG/92ROIoxr0LiYV1XogIWyvMxviK466ebmQqlzoowoAIRM7nbKVPAgHf1kF5nhURsM51EPKBHCv1sYApeSNKrKnu6LPHP7JfXY+3uMN0O/uBdRURN0pWjjIrRAR6Eo04CsVovbDx3geI0egirmJjb0AbJ3y9pGYRMUYErUpY0gaceoHrYOVrU7v3uopdYn3ePjCIkBXbZ/8MOn245PpAz+w8JCIuusmbI544QyGqCJ8gHxURuVCZUHkfo16KeTJx5zD6SGJ1RQwCQOx0E8Abwe5m4agPkzo2lCKOTrej3ohBt3kdHgFzuhl2w4q4YvMmUIvPGHbDEMR6AxJ7VjiVzMxK+wxLCvbWyCBzsoKZFQJlmSBbazvbGjH363XdNa3YSsx2v7/Icu5MpovOyvz8gk2d5RMhulmtlrPZZDLp2poZoOXFYsHM7aHJS32/WT++flRMp/f3a/P6xaGt55PpL8yXs0m5rWuxxrJkWQbWOtcZMpO1iNhlGUgLxmTQ5ar84Pl3NTx6fvn+v/s/+mv/y3//f1HdrTZ3N2eLs91Gl/OFIdDV8f6rry+ePQUA1GSg7vhYZPlksXz+nnrz9cvjds9NNy8nj58+mizOjocVAnBnVI4obJh1nnVW1LBeFhCJZyKAGALlY/8c1QFEL2ZkYyIMUSXoOncgISITeonYt35zvxHaXvE7Gol8AeFYKnCAiIiJyjHWyXL0gyp0cefonIiSIbXSHAlEAeJIK2qHXGnfujhKS5+xG32cg5hGd3PsmhFcNCLCSqlgN6AxloW11sRgbRfpPugjC6B8wIaPKdAovkJD72wRRCRhabsOyQKAZRBBpTPqRLMlpN/5jf+GreWP/+BPl/OzalcdDgcUQCtPnzx5+/Y1t02hiIWXs9nusD3WFbSttS0qyPN8ebF8771nhc4QMVPlttm+u7ndrLe7/fHdavP2zU1TNzvbMTMrZKGrq6u6aQAIc1rM5sfjMS/LvJwe6k5r3TI/fvy4LKed4auz60wXrTXH43E2m3398qtDtcuyLMuyb33rEzbddn1X5PrHP/qT6XRalAplamy731dsHXbQx/qLS/RHpRSQAgCCcPIjwMYGnCEbS9R3XJJQ4p181RRBctGrgD58yVtosf+M1zvAIemTXRxwQBx3pkMiEOfT9gH3guQqYggRCLrkblKKDaLSAmAFkLQKZJQeNznJB94xZB0NxqqHURGERxBCObLkhDJSpt8sWleeBd02gpTTbqLiOyOb+GB0FFF+mbG3DwbLll3FdyBmp3mV02PMjCGBG5UWEQAERN+ZhBRRJiJWRLmU3SS73duWQi4KlMUgKEVKkVJ55rvTOXltrTVGXElvpVzY39j515sTiTYS7sHX/3bisEyPaGPaxOip4dFt3Bv0GeinWvb0iqSTHt754C+SuDdiZcbTO+OL0p9SHczMOGzZ0z8oD4wz+jMdP1HY3qZBb6wndVGGGfenwAnKXlIIu3n2wfiJIB7FHY3GlAT3/T293TtYBQ6doyNgJoZIb6qeQkZEiEaw6qP/4/3key96FEAwQSAxcHlYnxWSE8beRg0bVGeGhaA4X4k2vs6xX1ovdQRhEQF8kAAhknGQMqdEFRO/etkRtv0Q3QDBnPd2ZMJxGJbSIyu68VIZBg+RsX+p9FdiZ6dvYKkBjfWqNHmkJ5t4fySAHqQ2ItQJIodlCD4bANAITCpJ2B/MaMRxMEBW/2u8mIqdeCWS0EjojZY8GAQeuFNOwJs+Mpo9RvP9wX3CiaxIyVhEEAfefei5uL+NiBDQmT5xpSKSliWJHze+UkoAiCjLFQJU+/3d3d39/b0uCufUPB6PLKK1Pp+cM/Nuc3z8+DER3a9uW2upaWaTWV3XzbE2xohIVham7Zqm6axh5urYbLfb/XaXkdJaf//nf8609n69msymdd2W0wkqYhEWYZIs09K2RZ61pj7sdqLyrJwAStvVT548+ht/46//h//zf3+/3eJRsUJRNJ8vtVIseNzt9/tqdnYJZbda3V6eXy2W569evTnUR2Rvsux3FWWk82lbVyojYzsiUlq3basoi2QbIOzkyVimRTCmOi5KIXD29EBCelyHDV5vE8SRT+VqpJ9TZnQtxvyQPamneYE4KqSYskb8kk7AOZfCDThibffhb+CUYY5H/wgEwZsSXoTlSIaP2NbPWTxJp7VT4r/WSpZl3u0l7jb6rd/8LY30e//894H5uD+uVisEtl27WCy6eqeR1tWubWsR3u7W1f4AwLP5pLNqv98/ffb4z//O70yKsqlrRGyE9/vq5t3tq1ev7u7uV/ebpukOh0MtrLUWIBFuTWeM0UVelmVrDJDuum532ANKMZ24XsIC1LZ1ae3+WDVNVx8OdV03deU89B9++OHxeLi9uRVjbm7eZhpWtzdFptl2Itw0jbVWKRVKHo12+4CILvY9mlinNCMPmVKnnx5rgCi9DrWctMd2nudhI9XTcSJhiA/gZmstc99yOxKkC7SDngX6Z6nPPMQRYYhIWqja05KrQ98vXbmlUNQFMHCZMfosC88mvW8FBYRDViR7PyQQKmutsK8kI+L2KEoSV29KyanGj8iCZBfa0zyoWBoRER2u435GN63RWislGLyIrn+ncxMheh98+pogd3oX7KlCGqmukb5JKWn0r4hz+Tm2Rzix507FTUqRvUr7hhfhQ7a7BJkH4tvbpvJupCnTVUS70Lk1JUm6HenduIBTuZkOfrJTUhzKPI0aXiYj9MUHIiLiwimpXTBgHlKnKBsNPpzJw8yvKEtvjv8qfBhiAxwNFj4YOe5bEE/lC8dE9QAxH6Cc3hk3IQEyTjvaZFYumPAUBYgY2Ddc/cbJJ9sqt8QR5affETFmz4i3/k9J8YE6+g9TbIL0+Dl9abxnINzZl9WKFwb6O13jcGTsB++fTugH4s4ETj6STNx9QQDnVB5QCIqIZCSMsc+RBy+Jr4uLQJA4ERBdebFRADonbNeXy/C/DRMhUlh9k0gZfYLcHw8Sf40MHhlTxPfbiDf0D2ISfTTk4nh/Sg/u42I5XIkxD9jBDkTShVPo+Yo+aqhvOP2NS2M2bWc7Xq/X681qt9tlXXc8HgFot9/P58tD3VxOJ4hY15Obm5vLy8vFYrHd3G/v1227nkzn96tN3XTz2UQpVUE1KWeb9a4+tkYYSXeGf/L5Z4f6uF6vz68uicgcO2stProop5OmbVSRZ0V+bNqJ0mJZGKeLy6d6YqxsNpv5fN519vn77/31/9nf+A//g/+gatrcdlW1L4tMqykItPuDLst2s91auX72FBXUdb1a3d7f35dlyQjHumXCi/JCkDt7QBJSYLpWA2vQzJyczAzI5gEMBjIbffe3BWsgpSsBEBlQCKIrWc1pXbLhK9xGvQ/6SvYAfp4u7yQVIPGdp3MeERsOibAfViBkfgdXwlCwj1hmdJAOJ5ITk11NOJl7SMs/zHz9DYhorXVnp/5ipgw37vRbLP/KL//Z88XlV5++UEpxJ+/evRbm6bTMi+Kw27SH3ds3r16/fGVsW2ht2k4jlJOybWtGfvL8ya/+6q9MJiUwa1Bvb25Wd4fVarXe7N7d3t6u1l1nj3XTGpNPZy59cDKbolb7dZ0V+XxR1MdWZRoIs0zNl0tjTNe1QN623mw2lOVEVJZlpvXV5bmpm4uLi6qqXrx40TbHIqMyo7IsN/d3F2eLvNB5nmlNWmvXEc9y4nMcSNHBfuwEdCcKxdMRRPc2IwAIuTKgGOXNwNMMABJCNk6C7hyV+D5Cli0iWnDK2us+YwxhHuWV+6L8EXHvjIhhM249gbowPhjee7rWQLGhTqR4476/NXzx1WD6kGaAqNlTRjjVs6c/IWL0JLrHOdm3J59eJcVgd3+lj6B+QAv4GHdrrUjfY0JErLVxR8I8sN2TUfAU/XDCwz899h0Sn2gKCEgaIKc3p3AcEesYmv3jDxhSKazBCxo3AU4vgq/lgs7ISxETW416alMqRXm87ZSaJPk8CJPwcatzAWzRsnHoHEw+YPfhgHgRZJZQLcEr8lF3LUl2hyNcjN4iJ0L/mzwroYwaPDjmQwt/YBwACG0O1PDHUUuaPjIkMU08lIj6MmGIKqYnpig4JdE0aFQYgQRc8ZGe6gY6bAQxlrHeSsEDEG3jFF9uM/2veoQS2Wd0Q3gw3ZgB9OeG0dx+sFwPSOIRFxEZRdXLN2IwrGXcMTHcz0GOu80A+4m5+n8huiMObcUiMrgIdbAcLHLxvhJxLpDUNAcAQA6WzWCncfqRxEUECSWfrs6BITq3TpasTi+69Y4gkz6eUml/5QFPzMMW/Ml3X2U8zj88JeGIO43bNogoQtIH0Q0kocO6UipXikjnShNphWA7U1X7erOZT6aMtNtXTdMorSyDUlQUEyJ9c3c/m0yyvFR51tWNCOR5bq3Ni0nbtmU5ff7B+19//XVVVV3XTafTho2p7edffHV/f//kyZPFdFYovVwuxfKTZ4/J2q49ZIJTraVpRGlBZEZdTliEuTPd0RgjZfnBJ9/6q//jv/Yf/c3/1aGtZtPpbrdlwdlkmud513XMeBS5JZzMJtVx/zM/8zOLxaJtTdd1VVO7+lo6m8wXst/fEnSKwNou1xqsiyvoQc1BpHCyGUuxlh5afoPN1H+XU7kqhDiKE/BywOM0GB8jyTMU/miYCcDRbTITBX1kWk9CI5H+4L8x0WUklEZaOJJQbFSdbO+9ERYfTEkuHqr/lA+HFpLJi1hEXB94z86irLWkqW0bw/ILv/BLj6+fvvj67XazN429vbkxdXN+vrSm3R8Ph2q/evNqs72flnmWTdf3d1191Bm1bWuQzy/Pf/CDH5xdnBtjCdEY8+VPvnj9brNeb5uurY3tDNfG1KaziNK1AECAx6brBLIiX5yfUaZVUZ6dnSmN1tosV3V7ZOMMVri4vFYqK6YT07R1XTXNUSm8vjzPMv17v/cjBH5yfb3d3BHh5v52MZlY03HXiQoWKxGHkm6p0ezIIkZIjugn/DkwnxBRGFEBu6LiTuzEWg0A4dg/CUcEH0oKMHAtAxA7k1GYASUEFXsFHdKmuc/967MfnR2lEInIhVOJCLOJm1sMbh0ikp7AvGkUv0d96qmEEUhscMG6SUYHGQSHWvRKJZqLEAf+nVGaCgBY14MeXCtxZBcHjqid/kVARPaRcN5OC0jx9rMbKvIpIqZWe+Ss0WmGawHF7uQFUQc42pQVXRjPiMPd0gJwH7bOU85MHx/Ge0gKi54ssC/Nk1onPakN7YPTj5xYOSNjYig4BsJIQs2vPqnRn+x4OCjVU1uSBuCrYSGGsmHhMH1ku6Xf49vRx7AKAFg7MiNIBJOOHpym8/v3JBubBNqSIijezwEmcQ4jZI2mmt4wmDyMa++4DyWn8HHMU0QkCP3pm0CbRsiIN8H7eRJ532EMC0nj/t1gYUCKQE6XE+ETKHAIAUZAdxBEwW2PQ6i4/4UGbPDASt14J1/8ClI2HgEn/R5fGS6ONtL+v/TtKesNyGMgmt2HPclGrgwlePwIkk7mYdY7xbiIuHNWP7G433NVscXnYcc5Y/DooHRC2i3OUz7YEADAABQ2SKiU4oRU4sIfhGSc5ylgRxuhSA+nBBPvGF2Mciyh1YfvSSFPQydZSpbpnXGoUXgMgLioSpuEfiaHDIgoLm/SXWRml+UVs6gR43YUSKGLAVUIhJARQmg8tFqtlgtmpPPzy5vVfY75ZrNZLBbGyvnlxW63u12tCABJN1010+rJs2er1cowd1232+1m02mWFYf2AKSEVMsWWfIsu9/ujnU7KctpkS9m89evX3/nk28/f/7UGKNqs1wuG+5YGdGZEdF5lhc5oba2Q5G2bS3zr/zqr+52u3/4D/7B7fruYrHkAxIBAUgnosWK2d53r1/qDz/4dlPvy0l+dnb29vYOESeTyc3NzdXjpxcXjyy3m/W7aZkRkbWdpkxCDlWg9ghfCNcl5WVEPcJ1lK2nAi4I88CqQpyEHsZxRvSTDB7DBpidx7pXNWhFAJCGuwuXFCjCowPJdOTIs8n4IOyL7cVlPUjGkOyBT+cswXB/yFoYS61AjZTOCoJkDtP2fUOjtJmUpeW2qTsW+/57Hz55/Oz2Zn3z9s627ddffbVfb54/ewLWbNd3Xdfsduu62osx0+XSdM1ut1EaJ5PC2A5U/q1vf/L8g/frw5EtWLEvX7x9+erm9bu1iLSms4hWSEiJ1ra1rg2cUgoVWcHJbJHl5f5wbLtO59lisajrqu06Y/jsbFoWs2PdTqbTspxakP1+33VNpmkxmzPz7/3e7+332+999zvApm2OGjMudFMdTFMLG6XyMtflJG9NJ8YopSPBOBBZ51sJED51jAIAYm+P9Y8zAYkFUcEn7RJJg5mHIsyCIkAwwEhKA9D/5JKWfKFtEbEiiOSqYli2TmhT8KxjqJukvE3l638wD/K4XGSLiERPv1uFBZSeqIRAYcopQi4bLVGFYaPoUro8a/QlaMPq/NtSlsQQtPygakj5l4gkrDDFQmg11XNQmoeWnhv3ZD/UaDoOISEunsjx9oiv8CG+giDuT2r8JUIhCoJIXoOMwKGqS9Y2IIXRJ33XgzJOelAOksOGRHZqBnmpF+ccQpcknse5abetzw3w1BaSoR0fjfA3klN+jS5Q0id2RLLoFzJ0tPuITLcz41BpJ9JHJC9JlDomZscIKWmxy1Mwxj9xaLikg7h/YwIcjiXFqcg+NdbTzdLgesJg8cNp3LM7fYpQZT8BEPFdGMLxQi/Rksl7IkzDJ+IS0DsmBYMW7O/xoe0YTma8/9j/OMDvYMfYX+/Lh/eCwCEEhh6IOKU4/4Q+YfiuAX7jIyM6DKJhsIVOi6n1fCrJn+MSQBBOVEVktDUaIDcd0N8s4OEWo78ABXwVGva547GWmVdIzkNMJOB7zrlB/OkEJeGLcdXO0zxA3FAcwbCaSro5H5FKhJvjvhSD8c8RXkaknmJKJATzSH933Hs99NQAlcPBZZQOiCiIbgcrLoYzJi/FwQPqXQdv5wYaS2A/VbCalNYELHVdbe7vm+ZYFFlRFK9ev8jL+fnF1cXFxf16Q1o1XZeXBRE9e/7+fre5u7vLtMrLQqtcabQg2+02y7KqOlbVUWeZ0jrLsqIslVJ3d3dVUxc62x+reTvdKjzUxwyoOdavvvp6sZh9+9vfVoBWsWGrp9NyNgUF1tRChIhaaUcR93f3v/Ebv8FN91/+F/9ofdicKX2sK2vMrJxZ23Wmy4nevviyq9rrx49nizPSermci9jbt2+ISCBDkcuLJ2J5v11JDjkhY/dN1U6/6XwmGhmnMj+1JDzAg5wHANda0n1iLhMMaVi8Me0JILkYsoo98/bq1YUqAA7ei4iIPr8znaeIuF3xaF3uggzJDyCl4t5RwqHm9HDaUe9IFD9RvoUB++p4YVYSC4FHrZ5Ow73LNR5yQLNsDNu6bq+urn7xF3+43Ry++PQLEXjz6tVuu704W2iQl69e1s2OwdbH7Ww2rY677W4NbIsyK7QClFk5e/bRR9/9zvcyXZocV3fr9Xr3oz/59PWb1Xq303k5mU0P+71hWS7Pq3fvVKaBFDPrvJjMZqRVnueAJICL5VLpzArvq0Ndt5cXj548fV9R1pnqcDhawLquq6oqct01bV3Xn379+d3d3fnZWZZltulms+lhs9Jg90VeH3cKr3KdwWzWsd1XBwCg5MTPIzegI7UFT5QRp67umA/mBRP5BHxmBoUiiL6+eIiY8WUWIarCEyp1gs0hqyeSaOAwCyKRVmLH5RPQx3N3ACo6RkX8RkD6o9dBMpKkjjahWJQsSTJRQkzSyzoI3XbdHD0fYd8ZIJXzrhBILx4TknbpFpFhvdR1fqdB4HQIQko/fsnKFX8BRACKNYAD1/U2Q3gF6izLBtqVmb2vJQPAYcUczyppJkHidevNi5hAJgIPejcf1G2jK8Ixp4Cin+Ohp6Jl78nFjd+frQ+TCEfT+Cnfo0zk8JFBSIlFf6ajnMjwBb8gWtKpx2tgqqarkHHswcAzGh+Mke7uE6LeU5tM4nvTfREGCkiFHRGllZ4REcLmIY3DGWPkIVi5zDMIJk68ORo6g7ec1I2OK+Xe84d4guXwYYDUWLHRJ8T9UAOdl9DkKKRk7Lkcv4kZQwerdFYBLNGcZQhmEwyJDUPU2WA5/VDxIsUSPSl5pArvG6DRv+UhuhoQUpTOQXQkI7sUNEqvRAgP4CbOLHCd4VwpgvHB13jOySoeMNxFwBnuIsJs0sRixP44ywe7g1fqIMJoAZSXhkAwpMmAtXRb+PDuYsjREjYPA5UQ8UJxszVg5AGDJ68bh349+BlSu5zA0/8/MXTidwh7yNEG2F2R2D/OXxEAFhAhBcyCsTZCmvjA4o9cEKy1RQ65zpDleKju7++263XdtoigtQaAm5ubi6vHWuu8LA6Hg9ZngqiUKiezsjxU1X65PN/u98v5rMgnTdPkeT5bzO/vVi6Ates6Y8xsMcdcWwNWo1i+r/ZFpuquneq867rVavX06dN8Ps3v787OlsW0AABAowqdlQURCKLtbJZlTd2VZSmG//Xf+W0k+Uf/6D8/HHbGmOV0ZoyZTuZ5XnbH43Q2bep9U89ms9l2va+bdjGdCaljVd3frbqm/eQ7H19ePa/rprOHTJG1llSZMmYqSyXZB6Z09aDYlOF9EmxQvwHggap1Md8pQgGinRRH6A1oSHQW+xKKmJKTCyqO05NhyEpKhInig3Rv4EyIVKJ67SiR+wBcRCK7MP04z2i6+UPL1ISIfigAiJG68aUuvjGEUw+2r0RkjGnbxjWVVEq5jvGdrY3hxWLxq7/y6+v73cuXr7XWX375ZVNXGeHZfPbm5YvdZsXS7o+7s/NZU3Vd11XVXmtSCkFhOSk++uijJ+9/Ky9mh+q4Wq23u+qLr169vV3tDnXdSdfsWxbDDISk87yc5Hme5zkQFUVh2AKgznIRySfl8vxc5/nheDSGz5bn77//IWFxv9pcXC4P9VGRnpTTSV6URWbahhSIyA9+8AOt6HjY3d3dVLt121SzSc7WdKY1pm3aowmV3PJiYjszIioM5vsIp8NoWIFE+GD09zE6ewcVkj93ddQI5HP/fFCA9PY6uWrj5MqncCQPYBYJLR076yqPOdcIAiC4nMBAfqn5ngpkTzoErnwcJY7CNCyNox0l/R4gPflBRBASktOjfWGQJHaoj4gfyOfBCdUoIi7OOa4CFLH0m350wZ1EMi6rijH+mYiiazLFiwz9d+hi3KOTCX2g9oOOn37xzN5mHSqYgeJMoxTGhksy4wip9AqzRFNpJASHSm4wWhwnTqaXJUkGACTlz1IBNBwWsY9DEmdgpIo8GPEWQsxTsDCc4d5vZE/nPJqkiBDqFJLpW+L8IfH7OkPZ/cvs8eWsMkws4/iKdPMweC+p0VmPDM3TEZBTMk0h1Rmboj6Or4b8gcOWEKltHXkspYT4YIwqC2vpVYujF8csCQAhxjticmoR8Z6wBES2CR4xPym3x05IKJBKP+eoXThYrG5fF/yy2O/0UsYO8VN+oxLX2tO/jQ4ncMrWP0sYwQN+h9DjLgVakCAPl6dwllmk+R71IBEvaVUZHsbcA4s38blfVDLgmBL6cdgV3vLfOVSqZbEBUP0OEAAQ2SljRNcxj1E6ZuU1PULSSlJEBJLY+jCHBwRIvOE0ui/GwqXrjUvok/r7SnzOgh4sNn5P+4ak/6ohv8d/ORHowwmPOTFdhYh3rievjhzaB773uMZ+6xvFxYjZo6/O/WSNQYIiy4moaRpS+bNnz3aHxv1ZFAUzltNpVVXWWhdTfnZ2tlqt2Jjlcnk87B3Kms4uFovD4XDY7cuyzPPs7n7VbNZ5WRCozvJiNq2qqrGGmbkzbdsuZ/OXN2/v6u2zZ88utpvzy7OszGbns/OrSzUp2q4TBAJsjvVkMmvrxhpTTPJf/63fzCb5P/w//B+b5rgXmM3m++qQt+1icWaPxyzP16u7spiWs6kgHOvDbDKdzSaHg22a7t272/fff/7k8Xtv33xWd3WZo4h14SUBZo7emEhH2kgFYMprKVXICMrgaScNXopIYeY0TAWTzyBsQCSSh7WSVhhzc7E2OS/oSz7A6HWjSSXL8dwqMuhd0C8cAFgSUhw57wfA8UQY5Mzo1RI8RynQEDEagvF2N6BjVSLKMhfXZOu6BgAL7WJ+9mu/9ueM4dvbVX1sX7161bbtYrEozvR2u1mv7soiu19vzhaTyaT4+ouXbVs7gKtMF3k+nU5ms4kw3t9vuq471t1PfvzFvmqq2jQWLq6v6rbZbDZPnj4Xkfv7e7G82+2KyYSZy3KiMq20Ph6PoOjy8jLLsqqq6vp4/fjxxcV1U3fVoXr+/ENSncrysiyJqK4O1rTT6RTFfvDBB8fj8e72hoC3mw2JPZsv2CGdRZFzBnVeVg/9NQNdwL2kTV1+4eZB1EOK1rBBilU6AsAh+Nu9KhxYkxLMVmY/MRF0hrvz01vr62hbBkZSlMFQDWH0LolYa7PMx7uKCCkMPaE86TrdMVSsp6Y2AACDRBJ11y2IiMR+j+GRYK+KFQFMmkt6ziftxHogRN8rkK1xeaeJPEcR0Nrri574H7JmXVRnEOOxGVZkBEydeimc++4kyfkUIiIQsAgIElJk0mDwQtjUOXDFAiAYYY3hqMJJ7ZR7o2yKmgMAQ+zHoAwQgAIB8EXcbeKs7Y1vpbLg4Kc4rFKZ+BjxgW0R9/qJCEBEkhDJNZCzfi3DzI9+99PLUwpNMRDRt8OQfjKY7M8eEExJbNJA2HlBiaHblDCb6MYmAmu569q4w4u+/9ErRKx7ir0NQOjqqbI3plOeFx8ZgRG5jh5EhEjHt6M3HAEASVlvYgaHpZ8+Dg0C8U2wNfYeF2ZGQBJi67tpYix5GUJHWHoggyv/6pyOoiNvMgsAeY5CCOiyEcyOZtyfTmMphW5FzCbAP1IFREz1swcAV4wcvdMgYFAEAAFIkzA7hjLGNWDCYAeKd3qK9OQN7rikTxQOTnEBtpge17gzxz6ZxoE37iK0m01PYC4hRgR7oUMCYPxJGgZmwTQVO4oPJ5KYORxSxyYMCkCEhGN9SSf1QIUuBEIEliOdJ1ByGfBEyiU5ASAqEWNBujYoIW+dAyCTM5BFOmFmTVqcgCOCrmOlVG82QZBO0m+QHLlGVoJkU9rrCVAOR8Ls8kmsFWOYxTibwN0TuSMrSAFYZiJQKoPYKCA5YklbslvrvIkYKVAEiMhwcIEDYh9PBkg+GSa2dkNEQKZYen8Y8RWkfKpxfTKWX6NvHuQVSbDpIBKhMW2KffAJ3B53iB2AFTJVs26Oe+BDW23Pl0tBZaxcni1VWVrQ9/utAOaTsm1bRARjpvMZKnry9Pn9/X1j4PL5s83dfdsatMyMj64eN6YzCMvFnPa7uj5C8P1v95XDe2VMrjOLIF27bur8uLcM99Pi7LifzybP1WMA0AiAgCSdaJUXbdt6vqsky7If/uKfXZTF3/mP/07dVIpoks86yzVVy/kCme2xun/3+uLy+uzsfF0d3h73y7Ozs2mxOx7rqrm73V0/vnj+wfe++OKPwNhF5t0xIq5oOSBwpqkzBl1RQpS4i3bo8wZqLzoE0k4UkohoFvI2lkUQgXha6Ls5Rr/7qfpwJMFJCW2XF+jMFKJQNioUsJMQhKYQenUVbb7QNsG6lvLKyWfLHDbeKGz9OQARIfhWJBLiWxx9uh4xqSVAIdIsuvCUUiDALC6NzWkusAZDgrqfGIo4jUMOjGFYEFTEbFCBMZJlmWHJy7yq9tZag/y7v/YbOp/8+E8/586+fv2maZrJtLDWvrtfHTfr6XS6264AADGrD6ZrWmGjsX10ecYI3/rOzyyX1+9WG91YUvrHP/lytd5vq/Z2tcEszwpROp9mOZK2AMVkopraki6LyXRStG3bdd3Z+SUiMggRccf79l5YXV48ubx4mmHeQKMUV8f1bDYlEJCmbdr79V2mdHfE1WrFzIpgPi3X9+80muVy1hwOk/lcg6icre4aqC1A29YixnKdqVlMvfNU4OxU4K4zzsEXcREFY9wrOllKpGOdIhBkiE5D4M4yM4dSEyLWpccx23jOj4QoiEIEykAnAJ1lRAVI4ukRwVprDCjtNYtGFKW1BukISVgUoqv9bqxVSrEkNePtwC0S3SvoeyN4B1wQYiqs1IXJAqmkXIELXkFwnUysBWbWCqMsRXF5rG58EttnZRMRgWIW12TQGUnu5EeCje6IOeodSGKbEYCt9d1Fhk731BKLbB4Y3LN/apqCS06l8InepmhAh/t6HY/Jw9GSGA0dJiFBJY9n08Mx0alBxXoDLGpcAIBhEnSagT5akgT33qknAQauwTil4L7yOjbxGSAIQqwb6lDSK37MhmdP3hJNTeFeLA6BPphSMvPRI+5C/OkUjPFoCZN9V9wtxPXGxacTi25pdzE9eEmnN5q5JEkLpyvCpNJ8DKFJtxZE1HVtvBl791I/lLP+kSRCOwVIoml6rSAiiOzSwuyJJ2mwffhmpAxgNV5+fye7FrCc3skAgLZvGpoUGObAPjKgZyEjHZEm6s+jkJFQa5IUffHDsZD7QwhKdXBcZnqqmNzWIwtARXk9glJEMYUsnDQzuydy30o1oU9FABDTW+MMtdYiYo21trPWsrXOxc7+7MibPuQsnxhT7sK1RSKlK3IuCstM4HTGcOEeJSfZ2DCk1dPjJvfFLdNaC0IxIx8H2/6BX2SAVi9IHpZyEc5xVkN2kwe8n2HQCPbIBQ8weAhl5JPT2B47fiY9IUVadWWhnfPSGKNJOW8dEByPh7atScH9/Z1hsgyWsRW5fvJenucskOc5WWma5ng8mlYpRc+ePTs7O9vv95PZrMjyrmmgs9a0x+Nxkk0s2qqq8jx3y3HvbduWmZEly3JEaE3XdR0JHA6831dX5xfHunvy+PqLz18VJYp8MpnnIoZxVhgDeS4AQorJusCJZ08/+Lf+7f/2f/F/+odVfQCAeTGtjnsQu8wfC3O13yIi6ixTCoQO+/3yen6WTw6H/a21eUGPn1x859vf/+LLn3RslQVHCQqU+PJ3ichKGCqlt5HQ7hVz6MKWSr/0Tgk7q/QTb0h8NyFKMJGEfufv/BbOnhCOsjelZBxWiuspigSkP6iMRBUawHnewVRRJkohlRsYYgXjlbjA4F/z9xhjMgpewZ6eRUQU6UDz5DZBwsLCAmAtK6XatiWiqqqcUvvt3/3dspy8fX1jLX/x+edd1y1m82N9uLu7MfURjKnrA6LkuV6tbo0xxlbMNsuz5x98eHZ+OVucZ+UMs5I7ORwO23319s27w7EWVAJ4dnF+u7otinK6WEwmk/liAUq/efPGKaOz88u6ri8uLoBwu93qIgfS03xZFOXl8rFSGQLNZrNjfdjtdtPpJM+1td3xeNRaTydTUzdd14llVWabzWY2meazyW5z37ataTutXe8tzjJlO2uMEQGllDX9IaHHu3USwJtezOxy89yfea5cBoLW2gUXIWLXdTH3SUSQkVTwUot7MEp0BuvPlqMgQkFABgYnNp2TOJ2SBM3uS1kEA4+ZXYx+JM5UZKXklH7pDXpJtnMxZ++kOvZIzgeal/hS25uL8SxoGGOTcHQ6Hxlq5MhlDzKv5wjoV5qyngxbGCVudIBEf8UvOlrtUTF8w4vDYtzxK3IykJvHoLoIwMhN2L/7dDYAggM95+zpHkMgiMp33w13eldW3MenI4tIyK9Il+CEWioTR7U1ew9WLFckoT6I+9vt3gCAUKJnDnpqS6xG11QusXdTLKYK2008UltAmFupSJ+aQCkhak0Sor7iJ33FCRIdzOMrARKjOdmRj2PQU6jCiaZJ74zzZGatdWobuY+1NuI6tRsQMZ58hdOJnm9TtRehl04jgMXGMk8i4xlGxkspLSGnMW+P8NUHr3OAFdgQBeiG7ckvWvDpGz1JBG90WiQnUAsycjTf0g0YJGad9Js354kaB7hHKkqv9EtDSBcOoESc6ZyyT2rIxmggAKFY+T4uJJFgIL5GL7CIWEdRsQqH+0PSvWhULYEOJYYleHpOWNt9dOZd6exlix2lD47Ql3oyInDihFJA+S+IgEgqg8SWRcQ0IssTAIfxE9SH0VBOfBZhbr3EGSJuQJD+XyI2NhbWUEqnAqeHu5eHvXmUrtffht6nlBwLCABY7ty7jHUloQkJdUbALhqerYW6OjZ1BcDWdFXdKV3Ol0ttwdj2sKtrYxbtYjlfKKW6rmNj9vv9TnZO1V89eiytYWP36w1YXiyXb9++reu6nM9YsGlbY4xiXRQFCxhj8knWNE0majaZ1scDIxLRoaqY1LGz22316Ooyz8GY7lsfPzX2eHn+kXFdvkkxdgZIay15pnTxsz/3C9Pp9O//3b9zOG67pl7Olk2Hm/VqPp9nWQZsTH1kUkLUmW69vXvy5D2VZYd98/VnX3Vd9+G3nr//Id68/jGzFJoUEXcGCIl0xzZCmQT4BHERvymNpfga3eOHQhEYi9/4cQLBydWUztMwcUTf6tIxiIjE/nU9qZ8IxvQE20lva20IqQqRiiOjOmFKSOpPY2InudeljdIlCR6IsHKcokAHCg1MKogwAFr6CraiVUbkkyUQpW3bX/u1X3v06Om7Nzer1fr27Q0AXJydt91xdXvXNAfT1lzXYLoiV21Tm65Zre+YayK6vHhycfkoL6eff/Hi6fsfXFxcrO4OP/7JV5vtoZzOVtuDylBYNrsNZRlodazrtrMCtFtvSOCDDz4URS7u5fz8fF8di6IDAIWYUXGxeJTnpaK8bVsWc35+tlqtqqqaTIosV0SU60yY27ZVKjPt0TStabuWuw5Mc6wdApv2oBSVkyzLVV1ZpTIrfKyPaljay0lyY0yoX8yt6dyW2IHOxDMuEGKrWBm2RKQJU9WvRCE5UcPiU5tiYT23IXTY7J0IQEBR2LOwj3Lqj7KZWQATSnjAeI30EFJRe1oV733vQ3MZIIrTXp9iHxwbOWWk6MH7WGPIt3drJ8yIaWXFSMmBxcI+JBHFkFjbUQikasixqmV2Ewk3+P8AIFTREQxRA8w23QFhKPwFIJp05q8hInmuZhEVqs0kXJ2ohFCMImHlPvUtIuDEPzj4nC4v/TiYOJQFZQmujlU0kjCU/4NEDHm0xRhrBAFxOfvxT0R0tDd8XYSQAw5hEuMLieBwM9NaxUh3H4wbNiEeYoyRjEZrTLDrYDUW1glwOJbISPZhHOtVO4LA4QcCrY9OAHolQYMQpnSS8cqpnB7Nf8QMQ4S6k3oJyiLufQanQo5LtdajpI3Uch+93b/UHQS7OC4QdgVGxMQKx3Ai9B/UmqMrqaRIv8RZxDmLU9gCzvdAFANhGWPDQnewG4ULYQzp8bdyrP/m/2cclsHHKqWcP5p5ioIUg6mVkEIPvYcPY4BGoGeXXW3SfWaEngxjauNQwfsbj638T8xhV++1sGcZZhstS0TNRGxJxCrIjW2DW04IkIhIAaFGdN2mBzTW58wM145jw6gX0N/Aer0PIwKTiLTOJSmREd6OQMieMoPcJY9sB3hPddFDk7BVNGtEvtGtnk4vRfHoVwxnZeliY0BgfOqUJYmIwxbUHQQhAAADuKLLwq7eh9ZIBCLtsS5QaY2KaLGcTaclv1u505JyqqbTqbKwr+uiKESp+/v75thOJhNjWqfe8rzIskwhWRABaY0FVEICli4urpjN3rjuj5lSGRGV5TTP8+PxiABKaVRUTieuQ2Q5nc6WZ/t6f3N/1zZnWhUX57Ouhbo2Sqv9ZsvMk/lsvlgKQseWsywTyWgqJB9/+5O/8lf/u3/rb/5vrOryLkfEzu40AQCURVHvN7frXTlfXF9fq1y3ba2p0IRV1axu78vJZH5xtry+3qzuu87qnLxcctxpe9SQuG41gL48hAe9Y48ErVEn9QWyBrW9ouvooU8qHtM9YUrejgNT6tWqdxZ4agwqIhAJ98zuHRApHUqqGk63nfKQmQLDI69UFjl3b2Q6d7NSKnb6jP0EKUlSCrKrXxfqTBAPdWVFmHmz3f/whz/88FuffP3Vm5ubu5cvX5VZXmT5bru5u7upqr3pNl3bFkrpnKpqf3v3xlqz327PLsqLy6tvffzxZHaW5dN9/WVn7KE6rtfV3Wq72R1ns1lRTuu2qZqj1tn8/GI2mxFRpgtjjMqK51ePrh49zvOciC4uLqy1N29v5+X8+fPnWuumNdayWGy7pqqqrNDMtuua3Wa7Xptnz58URcHK1sdjVdWaFGVZ29Zd05KVSaEmk0lTH+tDpZ7OLy4Xy+W8anm329XHDhURKTYhFGp4ENe0TWoPxPASpTIIbniXROT87kCuV3Iifxh7HzkwCrDYPlyeQEDQBQYDOvteHDcIiwCLD8glUILgs94dToNUBAABBiQkn7UMAJYty0Dmp2TWK4KepoYOuJBd5kJW4glkH5Lg7ElwedUObgSuM2wg3aAHe9uPQiNLd6g12hWMZjtiTPc9da2mvBPn5i4617Bj11QapMyFiNodYafzC4war7nK8MHsG1xPYkX80OQcePEFI6d7nN/oPDcSHwCJ9CBDX0caAHr/HLrIYl/R0wcCBhQOqun5QZLOz97lHJyIydoHahJBRd8kBHMz0ZTSGUOuvxeyC6pBcgQ4PJ052eHEAR9Ec7zOAzrwPp3wfeDFQRKivixUCtV0whD2Fe7PGAI0Irh4ZfRTKnwh3QZgD8bhg72ZnpJpSuiBDcARr4i4wl6I6ELQ/FST5q/9fPx7bEz35hAOlkx5AN5TyI9IZTjPCO04HACgoDc/o3M8jUhxDYCirgKRbMjVniR6eAL0rtZB2cH4GZnsg4UN91oj8I7wGBcuvhneIEtbRMA3l+2LxwF4T388kPHrRbR+vW4nTOyrtLshFSIKCKq0XJeIIHPHIMBR3ikQRlAU2rh6e5cRlPNt9NznFwgWxMVQhQQ+sBJ6Ro3Qmn5JQSci6Vl/ejRE42RN8jhKQAIALuYeEa3tEkT0W3EXSxpujp6FXh6mEwusPPAROC6gJPzslABERJKuKCNMpVQU1uiPQXzyGgCgtRyjZTQpYDZd1wlYMZ2AdGDLQl9fnr/4+g2b1jKbttts1svzKwKcTqclIDN3xjyaz40xVVXNz86Wy+Vut1utVoeXtYhkeTmbzcyxuV/fgaXl2aXZb5fndmZt27b7/V5ElMomEyICpXVVVce2LRdz7rrWmM4YJlPOCiv23eqemefzedvkytp9tdpVh/l8/viJ1Vpb4aIoxFggDaK6znz4wbf+6r/3P/x7f+fvrtZ315ePyowOh13btmWWi8h2fXs47AqtGjTS2eX0nIC0psPh8Pr12w+K8vLqPe5of3/bdrYsMivcWatUJrZNMaKSMtIRpw/KFhiIIEIRZrYgkXjIVQDyI/T0AMm2LbZricyLJ3IGMabNPGBViI99t2lR0aGYdall0ZHfK9l0nFS8QypMEjs7EnCESZBpErUAYzRAAWCgIyCYJWmlMqXyQ7Vzjrz7+/vr60e/+Is/ePPm5vXrd9vtFlnEMiEcjzvTVl1z7Oqq7er5xflxt7u9f3c47FnMfDE9vzj79re/e3Z+Vbfccnd+8SgrZoZps6tQ5UoX+2MDmZ7kWTFbvP/++5CV9/f3y+VyPp/e3NwszpZX19cMklFWFMVmtTlbLn/2u99/+fLl/evb999/f3l1tdvtDofDerup6yrPs+XZ/NnTx19++XVnzIcfvc9s9tWuOhyOxyMKZIim7XbrjczzMp/WdZ1pPZlMrq+vl8ultbauG3fIAFYBIfu6nKHOvut5BEKkmdnFBDCD+8/Rj/sQUZ7nUTiwYiWKYoy0ILh6MhzNOXbNHFyyhIsu6VAUcHIUCSguFzYcejs82lAh1OFdempJ/7W+8sxYc8V7HCHJYCuI6SPgXBHDYjKphe3EJSKiUsbFmPmsMxEfutO76iM0JGwDgs3Dvfc90nEyh6iIH+JKjE9F2sbEvKSQ/heJP37SKzoqxYFi9qYe9OownMvTIPad3M4Hgs4DbxaksaEDPh9NN67kROlSwEJ4l/iMz6Rslssp5BE4RliPJrj/lfEUHNHTIeJUevpIWhwm0plkWRZfiuQj4JVSYjkCLSzKmxenQACAUKSC0osuiBCHkU/iE15NouydgTtAfArtkUgFAAxVWSwPKC+FWDLzMe5OmUrpgdczubk3GtIB3eHAiNCttTqpCoLBPxTdNqPxASCJ+RZnZGNgvuG6etUyhnzwNzMzYlygC7bGYKkRkPclBNAQiADYZDvcm2shGMadA5iIl5jmGOvLpgQf/VgiMVbE2dYYTFkY0myycRrieoSjU9QkFyH6+0aoF5+gPNDlcRB/RUIqPWJI0ffNXhI4KwzBaTrPQUREiQhY9pnWImANoiu8iQCAyQk7ETnEpm93Jovz53NofC3AMExD73HzkN86JYCU6kTESnSr9NY5ALhOVPFANoFw5NzB3lIlMbsPseEYHfHRIWGclONMIt3d2CN0y7AElhcSSVo/gGDQVQDg6nr6l1vjdm8aQReloAjYuqqkqTXRbD7RK8QOu67pWC6vn8zncxGxzMvlcr+vdJ4ppQ6HQ2uYUE/K2cWFHLtWIZ1fnImxXVtnZfH1119Xx+b58/fb67au67u7OwCYz+cEoJR69fZVVR1n5XQynVZVta8qx79X1xeassP9Uazcb3b2c6t0cXV9Tqibltv7XWdYa1Kazs7OcDkH0sQlZNi2/LM//8P/3n+/+N//7/727fr2bLKYTRda6+q4n2l1vlxakc16dZYp1pOdWQEqXUyJYbddffbj5jvf//jy6qlCvb57DZ3JMoVWgIQQ7Qg17ER5dLL4jT0mro1oJYenXCgQoUjiwUdwui16LtwXAASUYVJHJIY+VCaUgkm+jBxDjmJ63k9n5HmKEDjR3RJ9/L0TPV37yTigVBaj28P21ZGujZScqn4XAhQjJ/sQbQQJNUBMUN4CYrvaWJvl6v5+NV8ufutf/53t7vjFF69u392bpi7K7N27t4t5iWIJoW2q2STLNOx3m5ubt3V1KMssV5PZbPLe+x9O5+eHqr168igr53qyWK1WdV2/ePXyfruzljvm6ezMWiuIj548u9nsLGAxm4uiy8dPPj47A4CqPmoLq816e7/dbHYfffDhR+99dHt7u9lsZF+dn5/LtNSaAM/vN6vN5l5E1ut1WeYAUO0P2+2WQM1ms64xynZ1XU+n0zynw+EAzJPZ4myx1CpnhvV6e3u/PxwahSWQdG2bFs2TcNzi7HIOZc1SgeCyhyExlCFkh7PPVSUfHuPNXAKwwdo3LgASCaLD1yJm4tBiEREYXQEaBWT8psI6ZwIRiSfCXrOk5sRIVMaZRxGHPq4doPe2oPOwacq8vRSsC/LZojoJOgAR9wD2YEFWnmHZGKPINyKAEK7pYmYGagKSTr2JbpKBieJgGK2y6IXUyT0Dl6LI2KwnImNHZ3JeLGhItEj6A/Q6byCeouspQLy3XxIQU5RWI2spfmgYfR9vlqQlhAjGiEzbe+5p4LVCxeJLNIA3RwBdRpv4UvzJWgazChNLfkJwWf+nWjaFr4i4lrwY834oNjLw9l9KcACAwyorJ3Po3+XJzvk4el+dz7gVSQQ3cmqVxmfjIwNMJYM/OI3RT+kgclLvHHvjG1LgpLek1yOBppomjm+MUTpLjYxwrD9oNZ/qDIbe0AeA2Dck2LvpIvxTEVbpet3Y6SvGQEjyL8VXq0VhEmYGK+IpLCUkiTtGCOrbE2EPw6QB1gBrrrpZMj2P+izTMPykouQUZTBEbnjpqAZiytoYbom7ZRRGtqCUqyCB6DPVrASzT7x89P4V9CcVmI7s4l2M6cDLhR5ELKI8xkPp3CSyX2vNIDzIA47IdQYIR7yPqG9kr6TPhn/9r9G54mhSkUohDz37IPRCxvVRchQYDZFeLuFJpKMkknCEr4T9B7gTB1PuHRPpF/HHI72ccaeIp7GhkfjdKxBEwHuH3XFmnE88YtZaAzMKoYBS1DJ3pim0yjRpFGutaet3797Nzi61zhSCYVsW0+1m79wZ9/f37bH2doCC2XJ2v1qz6ebz+eL87Gfms7ZtO8PGWnACAckYbppGbPfkyZPVarVcLsuyJNJN04hI27aE+X53FGYkOhyrY1Mfmva73/3u8jxDVdiufXN7x6ZVCi732667fnSlq7bR5Uwvy7rmT77zM/+Tv/43/tZ/9Dc3+w0DaK13u40xZr48ny/OrIitbXOoKM+yIkdGAVKStYfNl1+8+fij95Znl017PB7WAOxKoADAkOIG0E4IdSyOYjlOSfQduLMnbxZLHDulWE/nQ4dcKmBTgYCBvl31j5Tw0N88pDTPTUFEcCiP5t4ucQM5zqAYrTTqhVTUQ9xvn2whIJibIy+sa9YOABw8oOkCrbV10wnY/b7KsuzXf/3PleX09//FH93dbZqmyYhevXhJyK9f3rRNRcCTItPKdm19c3Oz3W4Vwnx+MS1KIjhbPP78sxeGaX7xpINmvdl/+vlXm83m7m6b53ndtWezsyfP3nvz5l1RluVkcXx9c35+Pl8sXr9+rfLsw+9cISJttxNV7Jomn5um7Y7WnC2WlrCclJN8ymIUQrXfTeaTs8X87U2FiBcXF2WZt/Vxu90SUa5zjXq/vSHuAGAynwE3zJjlWdu26+0G8TmIahu72x3u73bTybKcTgCgP6MO+3xXCKjrOkrKabg7jTEA4FRMjF+Q4JaOnukYSYGImhQzuEM5a4XZogDGGBkA32xVgBmtFXKyFwkJnFR2ac0+8d1Zw0q5fFnXESLSUpxAnFtayNKTR1ipv4QgLMxMOjgEQxBNIJie3TzLwCBBDkFJqJmDiMx9uldSrgejKY+IsVYKJ/FgIy4bMe/IThuxDCa9d1INPmK0+EHXnjBeDTuMQWWSYaRNP8porJRLMfGYJoVPBhorPT5LRUDorBZtJQwhMWkMALisCAk9GuDEKkXq3zV6HAabmyA+nCtUenC7E0zXmU8Sveve4gx3IsqyTCkVVSD7uuYYCnvHHOeeetIpIUI6bfedOR4/wfDmQVOnaLiPpucAG5o0ecPX7/vCNFTit0tJaoTcaF7jUDGMfhpRlYgopUcwj8SdDuLm33VdXL7nVbAYToTT+fRjBs6NVBnIadz0CvpU8fFUJbFaIvAl7EVOr4uIqL5EpTAhAFBfs9/7+71X2JU6dyNA+nYRgVCqUbzqRgCghIYTEn34E+h/HPL0TdhJd0rhOkb7W4LZnYIakvO3NDg1gS35or0RdIpcKzBM6qsgovfui4jzagMhilJKxTe6bBD0uSj+ABH9XjWNi01FyQNCLoiIFL8p6Qb6saegk2AYAYBzrsdHOtvDFkFF8sMgf4IQjwHogwJTEeanTSXDumzqs8dwqquSSIZYF9Jam9a79EKGe701opwhR4hTjq4SqetnJSHHHREF2FguKGPArmumeU6T/FjtAVkplWW0324Ry/V6jVkJTauyHAhns7PD4VAURab14XDouq4sy9lstj9stdbz6bTpOpVndV13dT2ZTDCT3W5HpOfzeVVVZVESkTGZ1vrJkydZlm02m6wsJpPZ4bDTWq/v9rnS1orSICSIuD9WP/7s0/myfP7e0yLTh6o+Vls2TXXYWNthJ7Ozixlmu101mU71LPv444//2l/7a3/7f/231ptVptR8dla3m7o1OivOLs5tqzb363xWTPVSLGid284qUOvb3Qt68+FHT64fPXltqmN1mBWIAo5/MUAzhXAkuRSbwxPR3h3j0kD9ndKLegjkPRLLjmlTOziV4c4C9nTryizCgBgwsD1hL/8jMcZZuW9xp5pw0IiWBvkb6Xwk7BXTI7t4thnZNwqltu201jFOwFpL5ISPg5tzDTgTSrrOGtu6Of/mb/7m8+fP//iPPv3yy5eL+cX8era9X+V51tT7tm3KMi8yVVXV8bB/9+7d4XBomkYhLJfLaVEWRVZV7WZ9+OS7383K4k9//OlPPv1CWBGpxfnZbDar6/bi8jorJ+Vk90u/9ENA9ezZ8djUk8m0nE1vV3fvbu8+/PjDJ8t5tTlMzhaU52C5mE2zSXHx5FGus8v50hizO+wQpar2Wuurqysi6rquKAoHyTzPu6ZTmkSkaZrrx4/W97fNcbeYl7tqt5zNrh89ev7s/aKYmK5ZLBa2RcKcmZuuSfPfwAt5L7Kc6nf2uguMUcqXlEm1jDNJnQc9UoS1vg2Fc07FcgtERDCUxs5sHDaOFL+FEBdXiYhaaSKyLEopUlm0g1N+ifa0m2Tqbu8JNZXhCNHtxbYvexjNfWZGtCl9EpE/GEu6fFjuXIiFtZ1K6uwNmdcFCDERKTXwrEXhKcl+NU40jvCgQE5VUrTl4qtHx63xfgDQo9ia+Bhin3nZSw1EFgUoysPCN8IF4PTcEMPNSqloesY1iLgEAjeVvuNSWFtvbQTkEbMgaGFwBd8BwIVYifRGAyQfRLTGIfGBiAJJ9HSPm2A7SQAZeQX7gMEXGYNiKVMhYbbMoex6pD90+GYjROTgCwCklL+OKW6C90VFz32s1udw5OVdQLc/dhEAZy5ZYdfgGhEI+sMyAADl2NWHSFrboVt2gDn4bG4B8FX2xJWX9sFqHLMwnXGjFRFpt3VO6CdE4IRWNQAxHAgFQGEfsB7P5rTWAQ4O5CiiBICt4KAJdhrjCI4agsEhHgzoCw0lmwQngATRsXrMcEB0LW9DnVeEvmWaSKxhjP5Rt8vjviSfcxiIiLAQAVufc2aNIKLSigNxR3HmX0QINqhecFHakYAVMzilFVlPBTKHIas7WCCGvPSekATFh9KDiMumce+yYQT2/gY3MYG+Ek60EiCetQY1jMZExwPF4pCx9r8IApMFUOiy46U3CMBVFAMEIhIEK0IC1lpBQgp9GZVW0WwQz2XOhWIRNQQr2aJxSEQSp9qjsMZk+9GzrSuejQgBC6istcZpIiTsrGFmQADLIigujQp8fXpEYJZ4oAxCqIhFWFhJjEo0kMbmkgqMLQ6mQaY5XKZ5Lxjio1RCBohIIMihShIiusQyESHCgU5zOQYgAmKt9yq5JnKYWPw+XhOE3FG1C0sITQNEBLhPYTJogTgrs9ZaVPlkelbQesp823aKso65rg9zcyAplsszRRNGefbsWds0r2/enp+fP3183XXd27dvQWi9XheTyXQ6VUrpRf62Ou7vN0rRsw8+OB6PiAqyQkTyPDO2vb+7nZQTVCqflJPJZLVZU14w8/RiIRbQ5tJZJYU19ljVAtR23eFQXz65vH50vqkPqphWDb99t4FKzc+OH387V9wwtgebm+nsk+/98N/7n/6V//h/+5+sd62x9XxStl31+Rc/+l75s9PJMmtNd+yOYrPzS86QiRpuZwLVuv2SzXsff/To2c99+ekf1l2XYZvBlARZkNkgEjr7hCRU1UNxrPdwoQnXsoAAAAVcdBm7tAt2Ys36smZOY7idsHLWNksgOU9d7vzEAgIoDN0VSLx4BEIkX7zACVcvzyl1XDpiFBGkTETAW8nC6Ar8iaO9yE0QehRaK67XDPs2NyCCSmWByCVV0HEzDwDGGECOlgolZWctiNbaiIixiMwizJBlBQuzNQDQGWZb7fb1977780+fffL27eZHf/qVomyxmG1vXu82q+awb+o9WrOcLzbruy+/+JSkM7YxUgF2i9nF9dUzpHxfH9/evXvy8UfPP/nOv/j9P/r65VudzyaTSVN3GvJO8P2PP8yy/OXrV5ePH2ezWV3XelZenM03u92+OlxcXeo87wyfnS3qfbdYXlB+bKqDnpVMSFoz85uXLwGAFS7Oz/b7rbV2VpYXl2e7/f5wOGhdXpyfV1VlxDJ0VbUFtEayzrbWclXVF8uLosiePHnC2JmuRtvW+w2QqpoaVebKeXv3aBB9Uf11rna+UsoXfPQFOAXR2Z7ePABAgM7aPM+F2RijtUZUXddprS04gyGHxKgjIgSOPeOddCYiRrTWkNZshZmVzt0NSgmSQlRF5s6rpchyZradwZA87aQrEDmC7qzbMARjPe4VEqMZE4+YzjPmcGxAKCyGLSICsg2KyhmToJSI5JgF28m6yiIkLmTIiIjrdyIiLoRNhGNTQjer6KpLfIu9jCVC12kEEXWIbUN0etPxbCyQ6MZ1ph0H06k3TSluMILSd3PQ6R8RN+iNlLSea7QTkn15/++Dni//UKKiwiMMIQZm4GGKAq5XSf+yz2hk92HmuAWM16OxmCxnEFnu3jeSs5zuN+JUAVQfxOIsZu8LiW9xoDOGRfqQqQjh9JDlwUXFN57egAkK4xWf2JH4odMNajKUH23UGAsS1I/eGJ8dpWlDKPExcsSGIU4mOTxbjo8gpp1fx07Kb6IB56kaOXUQsbONiCjKopRxKzVpefvE5Rk5MB4yhp8Ge0g3NxyUoaSYywFuExCUqV+42x74mHhMGMHZuKkngDA0nIot7SMwISE/TD5xCSNqGeF0dFt0yMTB/WlpkkQ+ALsitxFn5yZ0pjMCoWJhYVaIwUvhq2RhMNidVeEXEoSRxxd7I9JhhwRYGENWuogQqRHiRQQsO9sdxcWuDIqTeqnq/TRDiI1yiN27ReDkNEZ8cDBx0guCmWOYU2SiiIeUTx/6nrg5T7L0RuyWypl04el1GX6YIQ2YSaWcwzP1JOS2vmLBokuERd+PnpkJkUNyjx/EWBEBFjRsrc0ULZazCwJSecfq2Jnq2Bzr3XpTlcVyfn6WZdmkLCeTWVnmbWOIXE2M7lg12/1+Pp+fn5/nZXF9fe3cjdPpPM+r3fYwny+zLNvvt/WxK6ez87PzzWbDoBdnV08MHPcHADBidEHAYtquhqq1XYumzABn2a45Ht++ubhaPn76bLdZHzab/ep+v1kv13PS8P777zPzbHkuLXfQfvytH/53/h399//u31lv9pbPFrQsJ7MvPvvyo299qyjKbn/Yb3eLswsiYuHFdFbvjse9taS//vKrT7790bc/+e6Xn/2xCCL2UbAcUpKMEUUjGx1SrMXrgSJSfYqIPsQz0kSiIPyGUw1P5CWQkWt8JuHwKr4dhwquf3BEZEAx6CsQkkJEQuXScqKkFenPpXvGTERTmPMDZAzBmx5VRE/2wTvgxHDkawFgZq1zY1qtddu2jem0pqYzj5++9/O/+MP71e6f/bPfL7NyNs2rw6bubtf3XyulpnPV1rJavXr37rXI8dnzR1+++BrQFmXmarlglu+a4/e+//NVVQOp6WJ5/RjybIKId+1KKHvy7Olisbhd3aHK5suztm0dWN3clsuzy6urSTExxhpjG2uOXVuUZVmWnTF5mRVFcX93x1W1PeybrgUFWtNkNnUuhslkslqt9vu9VspaW5bl7e3tZDLRGVrbLZdLms/q477rOhH77t27gqwuMl3kXWfblkU0CLRtk2VZCvwoyjgUD+2P3MMGicYdaZI64IlGdh56p6dSdPtno2WZOHZFBH2mE6Dqg0OItATlhugLUQCAeAdJEFBBQmIoe5rKSTfzcFIdZb7/Tr5DH8UCpkHoiQxVnl9sb3l66yUUd0YYKhT3RQVbkUJcdPwzQiYsrudQ9OvroTqS8L2seCDyzt3QO7+C8SYQ20+miEnhkn5P77HiS+k89CYc/Rvg20MBEm2UShPmvk7WCByhyopKzaP0WRiIOQAi52WEQI7OYpJ0oeitcEREVx1yAFNXl4fCjQEOXhHHtF9fVMiN7zrkMQiDACG4lo6KXOhpyl0pfE7AJaNfU7XdC98kqMnbHzFASPoS9Ri9s4nhjrEc9TAIZ/QiSDgzlmaXcDYU3z5a1Agpp7TxsCwYIj0mKCdoVQBMocJA0vQ+viXG4nM03bxhqpSEY0EAi31sdM9XqbmcniemsmCIkd52d3+6V2N/4NWPCUMOSqft5J1vwomMw72uD6sLuDilEzjZgA0YIdBJFM2Jbh6jKc4q/YwgkCLRXWRvNLCIuFMI9qFqDkRWRLgzYTYcudBFmClAt2qMTA0A4IoHIwCQz3mwIuDabPWrczXHokjrPxy4P8zU9iVT3WwBwNUPHVARC5GX4YhC6Der7sDqISr1YCHqq2wN2QHQx/z084nSL8VRCtj+evJrj+J+CoPauJGpE5wig/e79w8JCQIKgxCjjQJXRNhVDwvtzZ3/tuu6uj4a24lwlmXb3eHy0fPzciJK/+lPPiXKXAVrRIWgnj9//uLFi/XdmtlMJpO2bXe7nS7yophYge12v1jMzs7OFBVt204nS2uwqur5fL5cnL969Wq+mBZFUTc8m188efp0Ml3sdruiKNa7jW07YcPM+XyuDrvSmKtH1wa7R/Pnh/Vmtd0R2+qwK7IMiVb7FaOsNqvZdGqMWZ7tn733gW1aUdPv/czP/bf+3X/rP/tP/96uWlmWC8pF2pcvXnz00UeLxfzubvX25Yvl5dVkvjhWh8littsdj9UBAF5/9fKjb73/3gefvHz1VdNVSikCISKVaReQkGUZhPLPI84Kjqqkxgsy9KIjUBSBu9Gf3acCA8af9EEah6oG+gwBmT35gaMTBQCAaeqbSkyEIGfSMLgoMZK6WETqQbpNJzmgvRBU5lw1zg0UJ8/MFiQa9+5xpVTTHIlov68oIyTuTLu8ePzLv/Ibu3332adfImidSVMdtrv7rz7/Q2vl6eNnTdMY05qu7rp9027fvtver++MVd/79s+9/96HnTH7/fH88vL84tHZJX314vV6c6hbSwpubm4RcblcLJbnRNQaFoTpdMpAWuurq0fv3rwl1PPZcj5dHJv6cHuvKJsulrf36/12d3m2zLMSEU1ItLXWdl1TV+10PjvLc51nWuWkbJ7nbdtaayeTiW27osjOH1/v97vdphZrpGuZuaprraltW2MYgcpyMinbY1tbw4oQgms1SjZKeh3K8BzSKVkXEx/9WSnBUAhOwmB9KqX4pJiHN6DZ1YfBVAYioqtWwiAILh7BSxcXeRM0Nom4YNHexpXY6zQoX/KxXkONk8wlWu0iwrZ3TaY8FavBYGIuiggGt2a/VxFHbP5sQbww937eaLi76UfQURICl6Ig+RPTP1Ngxuun6mCEmtOn+kDk+GSirwehexK8y+67caU8kxcPhx5fGQ4erXbvtU1Nt9NZAvT7EQkFFuNPRL0rNHJ7hFGKs+HgA/Mo/SAiANlwivGgPLIgiEh9+Z7OL4od5gaHpIgaEgaDIdbTiSVTHVjtqWM4xevpdwCAtOJ+XJGHw0P3J1SVnkjE6xGkUSKEAJWx4xBx4BCCBPXplREFpxmo4Z7IsQNfMoBKLJUQzZQuPQlcc8XewflsRtQIRng8+TiF4WRosOf09SB7Pxl4RWjiuaFS5E4mIu3F+SfoVrHUFATbXQTivjUCCYef0QxTckqRFT/QMy9AkoWZXgEAJh9GIgCu9rbrYOCqXYjvnxfKqyftWNxJaXyLtRJjggggrNEqChQOQsIM7ILTkL2Powd3mAZ483pIKxHLFM4W3O+BPt0NzEyh1o2fG1jhPuFGQs0NV1EUw15LkxIRIH8yEe2lFJsIGILLPJTCBN1BNOIgpnnsQE2pIsU1JEIAvuGTPEWI0FfrC0dVbhOj/MErhLWDZSZEIu0Ky4iQOJ8xWId3BlTSt8UABGuYBYoszyaK247ZrNerGmamtU19xCzPi/Lbn3zXWADQb25v7+/X58vle++9d35+vupujQFj+Pr6erqYuziZzpqyLKfTORCtbu+n01leZpcXj2bTZdu2rW1ni/PZfC4i14/eK2claT1ZaMzKyWRydnXdtm3THruuRRRBvt9uDoeDIGZlQVrf3t6DMcBWXyyLScHcHox98fKNre2Hz5/vV/e7WTmZTTmncpp99zvf/2/+xb/8D//hP6qbw/FYEunVqkGUDz746NmTJ/uq2m/XXddlRW4RJpNis96RwMpyptXT50+ePPvW6y//mEEyABfcobUmQGssfoPHPWCc03Yo0u/2QcS67ktIvlKGiCjAcO4zOPKFsYzqaWNYBGFoxGN/xdOnKAAJrXYc2l2SiY+7cGVeRdIzHEwLLbjQrziFSHEjGh5Re7jiZZQ/8GGW0/6piG5HVNd1Psn3h52ILYriV3/1X9e63G53whmAsebY1QdNRlhP8jLPJk3Vdo3Z77fGdLmG1epdpvInjz/41gefTPLFP/mn/7/3vvXJ4+cfvltvLs6vbu93HWNrQOoOKSvL8vzq2ggowOXZRdOatjEqYwDIMo2IBCrTWddZ09pyUtZVU5B67+mzm7fvbl6+ls48e/IYjN3c3dv22Fmj8kyj5Hmel4VC2u535+fLp0+f3t3dgQiirLYbrbXr/9p1ne1atGY2nRiFzlfFxloreVaen6uqWdd1JR0TaQYWJwvcLgsREEnr4Cgc1GKOciY63SOoo9TCcDW9kqLS/aky7c/eAZD6/olinVAFJEBU6AJ0GULKktdpQEgiEKJ5wcUsDKXf6dtxYLgPJh9zNhAH1QVS0doL8DAVR/EQDHfwEY/9MqM9I3Zgc6aQjOCNc05fF1XbgwI/UrsLSfZDgXMhi4iwjN/oPj/N4/6g+kiBwqHU4mhQDPue0cjfJGvSkQEG4E4/yRWV2u4RUpHaPCwS9yQO7KdvXFf4izjWAzxxd8XJICKjd1MAuO4/YZKh8W9PWME2dTek24wRoMJOIA3p6WEVCSVOI2LEf+d+qhKNwn7+Y6USGTu9eQRzTDx56RbTGdyJEPcR/736P0Ff+m+MHBgtKjpB0deLFcQBCkTYNY5NJ+xUQIQJ+yI8/mObmoh62RGwEGv8I6I7HXbXrUTCFgDgQOfWV4NxxqU33xDAHRFK/3Exh64pgZsS+gclYoG8nTwAUU//mPQoDdbswEwHgNNqRaMvp8AfEYAHoFDY1IE3rb1fzZcf9aXY+thWnwocURbTOQDAucgZRPlUGfImpYD4c3AWAGbRGPbhvRcDRKzbwTjfLwBSsEPJuZARUUK8PiASiacTdFNKLPgeGiLSp4c4gHgKFHSmesgOFBafrsAmvE2ScUIZSgesZItOpFMXeArtIJ3G8D9F0BA1D2NW+q69LrA4JRsUAAJf7T48SE7y+f+BL1Ea6s0DuPwHcA0K0LIIEgJZAWHQOpvOZ7P55MXXtx0rUWV3t1ZlWc7OprMlkTo/P7+/v7+9vS2KopzkWussy6bTqRC4M/e6bZRSWuX7qs7zPMtyrXOwqjEdYkYZ5Eovl5dKKSS6uCoN291uk0+nTJRPJtNp0TUNszGmNWKbruYswyKzTV3ks/Mzoo6aw741x836MJkUebmclKo+Hm9u15dn5213pMxeP7mGSQcwK8vJn/ml31DZ9L/8R/9ws73NsuL87Gq7XX/9NTx//v58cQbHum2ORFBX+3yutBIwXXOE16/eWJaPvv0Jvvfx69cvj009mZQolpm1LqyTGoJIKX4ZBk6B2JQUPH9Bn4LviYQg1vRPuzuJOEkIw4+AYydkSFxpUeBHqsOU/gYDkKMn6DObVUpm6ZgikjoTAHoJHCk5hp+lF0cSiZkBEyeUUsw2LYIJfp8PzFzXLREdDkcQnExmv/ZrvzadLj//7Oubt3cEioTr6nDYrbabm6uLx8xcH+r9br0/rHf7W8K6mKvdTi3mV7/0g1/TWP7kx5/dr6vvzC/PLp5vzdsX727vDxVbyqfzPC/PLx+JiM4yFjFtW5bldDrtui5rWqUUgALGpjqePV7kOj/aelJMtdbSdNbYhS4mV49W797evHwt1pi6qeqKiLKyWC6Xy7Oz2XSBJIfDoa7bosjyPL9fre7ubpazOSk0bQcAbduisBjTtphrPZ2WeZ4zg2lM0zROoFkQDUAqAzSpqUN9h07vWY+61cE/z/MgqQYH7FEjO/TRSR05GOudgTUcv4unBwVEDII2CL2eZFD6NyK6XkgAmHjchzpd0qW5GPeoBxOaVP3XpBLDyCPerzQYqNFwV4AiolTmh/EKJ6aoJlVW0n6xPVgGErh/3QmDQCLMf8r3U5jHKzKKcR88hsihsliy8oHLHF1Yktvnp7E+yU5lOA1K/UCIg2OFoLRJxAMAkvnErMEw4UGkUfxpJEGS+x/e9wCEsn29QlVCiL3d3A+eIoBQuykZYfT1gwgARWwgGg9A8J45DzQJPuD4PV4fycERwT34U4pLZhbft0zixYiXCAAIsnUEh0jocPIREZeQLkmwYzzxjJOJhjs8gPoeHekmNX08zGFQeSY85UdOYZLYLgHI3LfqYGaPHBcuicG09McGfg7Bb+smI/2hbe8n7bVXvHNEG8nq1NAPmq5rQEJJaLWKqSrozVFP/ikERhhPuWYgvxKdffoIEdnwazpyev9IUpDf2wtRXJR7sDdYnayMYhcAAJRzXQgIoXYlU8T5FHppCQDAYlzTWHGtnhHTg4gwmoSXuin1oh8R3XbLYgqTfslRUvWwCnaQHy2sgsBb/MzsCiZC6IeK0B8rQ5DFAbW9sglTGpy3nKAMTrGTSrA47fDjyEHrGdl6ez1cdPOSuJUSBhdtShgP20SYjXFZrGEHY9lLYAp1pxgRAQFYkBhUawCtVUTTxXx5dja52W5vtoC5KpZX5+fHziAJoihF5+dnx0N2frHsuu54PIrYq6uL2/uViwdA0ufn54fD4c3N7dXV1cXkzBgzKYv9etO15vzqQhFMZ4tM6dZ0wmiNTGaL6XzSGTNfLBbzGTMb0x6qnTFtXhbz84v3ALjt9tvdq/WLfLKclIv97r7ar43hXNT1o+eTPL95/eL/+4d/dD4vi2mh7u8Le9TwRENhtfr+z/zC4bD7v/1f/y+tOa7Wq4vz8+Px8PbtaxE5v7iq6mZ/2JVIe3M/n53N5pP9sb2/uzUsk+n8w/c/MIw3b181TTsptAg0TZPnuQ+JEQLva7Cp2I9U35+QMBOBC0VjsfGkMb0/td1h6M+OzOtKgw5JxW0ve9+cdwQEb4O31RP7JyjoWCMLwAcfDpRC/9Iw1ag13JdR4C8kOi6R1XxqAEVujYTedR2RzvPcMIhhUuoHv/jLTx4///rLdXds2djN5la4a6tNXe+ePHmyu18xt+v9+n79qm23hDVgUx+7Ilv++p/9neXi0epuc3t7p/Ps/Q8/vr3f/8lPPnvx8rXKi+fPPgSi+WQhgtVu33WdK22klCqKQsAeq32e5zkWtmvYdseqIpZpVtS7w3K5PBz289kMEA67nRIpy7IzjSIAElA0W8yXZ2ez5YKISACmtFrdGmPm8+l6vbbWXl1fHg6Hrmnrul4sFihcbTfGGLGS51p8dTjbNk1jwTU99WmdoJyACqrC1ZFWOveKz8XuEhGCiyC3UdZAqmRkIH+QSBEhok3q/Xvi80h3gncg1kTACohvRamEhcWizpRSEOp688gj7NqEJ9sGQcCQEkbJ9fhvSi2eooRi0wAc2mmQRJGlYjYa7tGXQ6EcCEbXSzrNJPknnX9MTnUhshGAPf0nxoBIYmAMXbepPZYyl8/0kgARAGYBEZ1aJOmTAiQwOFL3/AYiIUQ1ksoYUogA41y38CelijliJX5PDpaHpo8HXL8kBEKIpsPwVAggHv/hgEwGH0RE6EN03DBOEfcGpQx2bOncXFyyiNgQmyJJvwMiEgsQjs6FJWwso9XhSkk8MPi/9BNXmsytTzYNOPWmbbrAyGnp0Wc65jfNAUERom/PhuCdJUK9qE2gNLL+RyOPbk4wiKnVDmHDkPhvbDK9sfZyIsUxsDEmqgq2EOMpETFWDHK/2iT+m4j7rB1wEUEqojXMNkb1DNwPmPxprdOag+0ZjpV3j5ogO8PGJhhbp1iIj5yyrYROZCMhFabqGGTQMXSEoyHxjGVXGBBTIQvJwbq/AZU7zwyAcgMpDFVrfDFNPw47ayOkpfYRh8H1LhBazSKQJIY4CChAUD4bKZIchh1dmLOTp0kqtovgYYfTJNqKXDN7xiQkPbgGBslD7i8PB3Rtk9MdssT5P4S+sK4hYE/ZMCIifTz+yUkyoqN8gJTZMbHdMSLCZbKCBw641CGHDAtIiCLsNKmA6kwnzEVRFkVW6qlYozI9n5ebbbVa3V49npRlfvn40W5fv3n9qhNiNov5/HA4IMp+v724uDjWh+Px2DTN4XCYTOfz+Xx+dj49VNba1Wr1+PHjqqpWqxWhOru8EITFYtEca9uZw+EISh49eaJzJYTlbCIiZVne3+3evno7m03Ory6BZF9V08lZ14LK59//+e9lJL//z/9pZ9v5crYspl+9fPH8ydNHzz/ohL9++4qylz9bfE+ptuJ7a0XpbLqY/8ov/3pdt//V/+P/3tr22FSAiAd884YBcX52flmc77aVASJAnWez2fxYt+vV3ec/wVwXlxfPiOj1yy9aY6dlwcaysaQHeEzYc8C5iA45EX02feSE+YAA2B929VUNUoZNzr48gaRENSC2oXwI/Z18tFs8gRGGsJEeZnV76oKo5ka/puognYAkHtDAxQNXSJSxHE4nHcUqhcemQyQR+tnv/8J3vv2zd3c3m5uNqRsw7aRUq9sba47vPX16rA+IWNfHw35tTc1sCFRzFAD94QffnU3Pb96tfu+f/fO6PUwXy2NTf/HVm9VuQ0V2dnZ5/eTJH//xj7pzuLq4XFye375+KyJVVRVldnF2bo3hzkyKbLdZKwYSuL95t9fF+++/X7ddvT803fFY7YktoOS5Xt3fVnV9eXVujibDLM99fZWqqowxZVmenZ29efPGGKM1nZ8/btu2aY7H40HrvCjz7fr+cDgokjLXXddVVVUpattWRLTO8jzPLLquSKgVILoGy4Do/A0WJFcqmjEOIw68o0KiEGLW/W0CEvKUnFxQMSvDISuYKzaiPkqhQAbMHFMJGSnNWeShj3JEIeiKvwEiorXeLRg/I7bqRwAliRfJ74EjLSWHP5hIdQyxPX2oTOLFdwoqZSs2vXONVKL3H3DNjGl+wBHegg7plPEfGud2xqk+qIj16amWuBw+hKRHKYQl8UigPLiA9LoMC7FLdKfjcKBo8Mm4dLf7yYazw5GASGXEYA5DuTmamP8igzQCn00YxvEju9o8DzkpiQhRMxgngWDgRo3kNdhNQkIZcfKeGk6qPqdrTLAwMHbjxB40FGAscAegPrUM4BucJXEm6ZGc+CXbYYp6GMT2dOXnIM4+GK8uAtO9f/T2lGNTWhXp63C7zRIAIJKIjfk0HoO+paGCUO0nwhUA0kh3Il+hEhGtz23gdALOGA1zxmi7Y1BBaYQGojCzUhn4KIuIR7d5Tj2yKubgOtfIqeF+yqQp3FL74Kej3t1vk35sKWXysEgLQCigCa7JmdMNDhdO5gVi9nLTMUL02/XeGqUUsNvz95vV/u3BDGVmB93oaxgtZCz0EYMnomfkgB1IJP7A6YK9OYKR9yNmMXhAMbh5mJkwMVAEg5xAV64LxP0OaejXgE977HzDQr7hE28b8bvDYBgYJRGP4UMOe4E14gAIIXXd7e3jxyUBMAMiMAILCoC10iKXOpstF4+ePrvZ7utGQDV1fWzbNmvaXGci0ra1K2HRdc1ms1mezd97/1lVVfP5nJnzslgul7vd7lA3u91OkZ5QXlWVoBKRuqmbppnOZ3XdHLZb1G73a92RZpbpLMuaw75rju/evduuN1rr/WablcXZ/KyzuDy/MvRienF+dbG8Wb3NSzRN9fbNSxasbSs1Pf/WJ11nX79d1cc/+aXvf0xXqjHNZL5glMX8/Df+3G8RwX/1//zHrTHUNEppWx1WqxUouri4enL96NXbN9vttu7Ms/eK8/Pl/f32uN1/+eULa59dX19pktubl23bFllOgNBXPByr25SGgzJNPd59HFpKJwHLPnREhUqf4JHqbACxSePC5Hwfcbyj6+czJLRAijTiFEddvadQRCCwxmi0SJ+JVhqfNlBSWAnR97iJIZcjOcbMKs+OdaeU3mx23/7ku7/4Cz+sDvWnn72o18euawjMdn3Ltr66PG/bdrvegIWusabjtmWxOF9eZLTQOv/kk+/c360///zFdrd59OT8B7/yr11cn90eWtpmP/gzvwBAy4vzZ++/d9wfm64tshwA9vv9ZFrMp7OmadarWwDIctd2kbebzdXFZdfZ7WYzX5wxc9u2++1mOZ93XXfY7w5N3Zj6q5cvZsXMCu/2+/V+t1gs3KLm8zkYOT8/ZzYff/xxXdc//tGfiNhMaaVks9lsNxul1GxaPL6+zDK12227snCyMc91litqOhbURR7N8SisJLEuMLGOHGCdUZ6QmY93d7Xeo989FTXxSoqaSM/x7N3fSWQ6a512Vlr1ittZ/yMzF1MhL9jrrxgw7FlloPoT9cSY7lExhKSmC4+2ShzBdbj3c44WoA+VUf6lSWxkCjfEPjn1QQ2bTvL0YuwnGB+MARojERG+e59LeMixNGoS8A4YADuoqgEixMzCwqGsG0DoSa6ECIkodIvtzwvc8Krnf5fdIpJwu4h0XRfqoA+m2wevJ1JAJJoX4/2NJPo1XbC4PJcQh4wAmBxSIyJIr1/BqzdC7HeQHv0MINGcdwf6SEigAFzKjpO2BCKgUBkjWqsIiv6DIXMHBMgXvAiWERKpEQE86LSOUAqEqHz1U1ddI9UBER9Irv2qc/27n5VSCpQ7JGJmBwrx1bh6g8MRmdv3JoANFIkMABoIxVW/97tT11uUCUYY8dODnp3iaD3bYwp8b0zHx2PTGSKydhB2j33vN0orWCEoBGTr6r77Mzhmtux6VxGDj51ARBHbsVXCWmsd6hZHOSgizDY584GUGmNYv/gdnYRWYtHJ6jcMABJrnEOsaejiRZCCQelfEeSXcQ2/UspEhNihIoIiwrzjjkjHsrECPt+FXAXl4UZIoqckYQc/4GlykjvRUgj+0ANjkC6GI0iHZeU6y7ggDcvuwF986UsgYSSxlglAEbjS5O5dRsCfrrg2N77luRC4fbQF0Y4w2AIAE6JryiPByMCQq5RlRbQJUpITwaSugrjRRATBl1fjaGEzECpmyz7aylUTcwlWzhMKACFOwUFPPKhjEzTDlpk1UdgxoT8AGWqjVN+4T0SECNo+NkZE+qaJzJZIhzLzgugaQQgAWhEHE3TJFYIigEjuorVWoZLIj8jiOt2wkChFDEqAhE3ekiJmpdtS1W23wzzXFu7fvM5EJCueP3t83zSH3f5us9pXajlfXF1decLsTJ7n5XSyODvfHarVakVA6/W6UrkFub6+fvbo+v7+/rjbdU09m85ns2KzXpu2LcoyyzIWmZVT27T77XY2mynBUmXUcXc4cmsyIMzyjPG8mO/u28urq/e+92f39r9u1y+LxWK7P9ysNh9+eIGUfe9nf+5Hf/T762r3R1++vDpcvPf8iVa2Pd4WmdLl5Nd+83dNXf3jf/z/BtMh4mw23x+2ljulcD67evbe8/X9tjX2uNuWk9mkVG3XbVerF8ZY8+zq+nJxzuvVWwYh5RqVut03M7PWuYhYIwJdFL9BWLlWOCiuZwSQq5ju0t8Fk7rpGFJGAAAkGBupInDl5J1M4Lh7RPTFnZxo8TqFkJCCby7oO/RVX62LtkIn0yAIXhL2rA6JiE7EXd/60ZNxsDpEfHU195/rdYKIgOy8qlmWiQgyZqRUnlnbaaK2MSJYFEVV1cBUHdrnz97/c7/xq8d686MfffXVF28fX87q/a46bqw5np8tTNM2Tbfb1pmqj/W2OmzAmiLLm2P70UcfT2eL7mBNY1+/ewuzxS/8xr95/cEHb97dvnj19XxxdX39VJCItALMlNaUHQ91OSt1RsdDpQSaY9UcjoDSNU3dtpqUdO2bL7+8urqCJi/PF7Vt2vUG2uOq3iyXc10wHEyZTy6fXu+2lSCIKvI8P7t8zKbd77bVrson+m6zPl/Od4f9F5991nXdo0dXwMLGrA67YpJXh31rus5aNh13dnPoDvXx+YRUQcWxyI4ICkgL2VzAioCLbVHuMJDEAdZLdRZCzIvCiWtmFmFMTSYBTQoDuUAwowEwEoEzsqQ/oIZgbvrrTrAYFtAZIFok8L2TfWEuIlQqoyTUFoBJ55GMg34EJ7O8YkUREULtDM5Uz7L1tC0i0W6J29og853BzSj9qalYJq2AJahdBJezD0CuqyJi7KoRWczvi0LTlWA9xnaZQ33Kzm0/3u0wnESCEGJYbjzFSg4QxhrZt75JmZCC7Y5Dj87AauybzkJ0RCWGHUKITIo4GI3g/nRF71O7ocdZ8ni8X5Lv8Uu0qOLj6T1xafKQO/zkkUEYKwB8U5DM+COU5hemm4F0tHSlSTw9BvOU+q3RyfLjUM6YTgldgksjUrMMm1+aYby1WwgRkfTFHKNl49V+8sZ0PidwHlwJ2B/EQY0+mAQhxMmM0BRHi/ogvT/erEIHq3SeRGRtGnstSKxQeaNEJNT8Sc43nK3CjuCNUhkjWmubek/knBHKsUqwoR/eSadbRwha0/mTRj+NEDogjPBThDYASFIULsVCCjcMfgVr+/SyMac4b11yfjpawgBNYUdtT+gndEjw++LhOOwEqGtI5oxG8PFabpfCJCzAIQAXEYN2HzCFr5vuW1S6/w1XHW4WH+MOvfxJaTKF/AjCp3h09OB+IhDB/lSKQo1IiCVHJUTAPzRUpMBAwAMij2+LN8d/E0ZOqWWQzACDdtzuZgth9zgitnDGYhzuI6+DOzfnZGKCEvIFrYBr+OMW0rYGTNsZuLu7qw67Q60n80dE8Pr1a8zK62fva1LGmMNuc/nBB5PJhIgOh8Nut0NQeZ5PZtM8z7O2mUwmtjOTaWmabr/fWtt99P5Hs9mkbc0km7BtiVCM7eqjFWOaFjPddk3T6PV6rUnNZrPdekNEWuXVsWrbdn52OZ1Mcp219dEYI4J5Nru4eK+cX/7oRz/K8mnbmi4XrdUn3/3+yxdfvbt7a4zJtZqWk8XZvKqqCapM8C/8G//Gu5vVH/7hHxuWPM+Vypj5/vYeJFvS+Xa7bYy1LOXkOJkvilx3Tbder4wYkedX11caYb1+x5al6/I8b5o2yxUROf8Uet8WOuvVWT7guw47AuitBJcO5Y6IHqDPIb2ltsX4TkcqCVuNiDMV5gkh9cMOnEeUSpv+sjMEAMNOOfrJOOwtoogOrnokiTVGwjTEtjbLsmPTKIWkCADyPD8ej6TL+/v7q6ur3/qt39Jq+vlXX375xRf7/abevL24OMuUlmJiOj7sdpnSea4Pu32Ra02kytKYNsuK99/7sLP2sz/5/IuXLw91M79cMsLv/4s/bIxZLpecl3VdT8rptChns1ldNdv1pm1bNrVCIoGyLItME+B6c//i66+fPnnWHev5dLZvTNe01trtdpsVedse79d3KsfptKjrBkFNpnOdFcUMdJ5dXD0ybFFRUU7r+gjKx6nf3d2B2LIsFSIBGrYicn19XdfV+n6lQdbrNbdNptVMZ2xaV9ukLMu8xO7YEBFbL66JfLAFhULjvQykviihw2E0AwIWfcjcoFq2F/M4/Dsaez21pGo6z/PoJnf4T093409RIKdnvLEhcf8yiHrGMoPLi+gHCcWoASB6aiCxDCFsPgdWizdexTUpi784N/rgnvD6qBAB+87EkR0CU4zsz7Guf/BzOuF05FRtUeJBY2adPg8hli69gg5FQ/73Y7kAVK/jHS4HWhySwN/Ri9L4inTBI8OoF0wP2dyp6BlNLwUlBtN2BIv0LTGYyTszuAffaPfjBw+xwlE4uqkkhjuF2r39xMJi+w6diXB0b4wEPRTQEQgUXRf+ZgmhY268EcxjIyQcfuCElmRoO6bTPv0eJ0zDLGREJTIOvkpvoFjFL9mw4dAgS+n4wXE45MUm+ibmyw5I329OQLmNspDEWCx3v4O+DSnFiEozMbJzV8S9b5yAeujMJwLazQRRlNLxLQ/cDOC56uQo05FWRIKjrhE9xyVHJRp/Tah0MMk+e2mYEHwqU0amwEimxByd4XN9sp2rTu2o27GUy89zzgoHC4x3uoa/6AoUcmBD5y7mQKeI2BccE/+/fnVxfu52QYp+8TDVB2ydaB+Pac/t310Ghw8+dAMj+zSviCwE9C7wU1qVkI8OnlwfgLbjlHjYlSIlDd3xTtmEyCXJ4oDE6RDjEBK8RCHpM67CRGPoqqfeUCLJ770JgEgjOUmI1hoUVFn56PrJm7uqaxuzvZ9O51rrl29erfeH8ydPc01PnjxZzhfT6dS0bZZlRKS1KiblZDo9Nk2137V1rbU+P18eDsf6UL169bJQ+vryqql2JHx5eXls66auTNcpwq5tikIDQF3XCmlzv86Vrqoqz/OyLDXq6WyKLLZuZ5OSQOrDViM9fvSB6Wo+3n/ys+X69mZbHVgkL68atDWWlE2r1vzo0y/u7u5+5Vd/Ocvzptss5meL+fm/81f+B3//P/1PfvRHf3y/vjs/E01KQV7td5PJ5Pxi2Vk51u1uvyEivTwrc1xvD8x8V85ms8Vs8agx3WG3npSZtRYVRbQiouEOk6Z7qQCExFyO3x2m03siAw7Lj/YUZTk5Zkw4PbJJT+GpFkg+7k9FfYU+tyuWZH6n6mD0Uz9bDPvVUOsGQIIpEVU5h4uQZarrurLMXUV8IjLGAND9ent2sfyLf/HfzLP5l5++ev31TQaqOazfrm4O1XmZF9a0bFql0EAD2K3u3s7nUwDpui7Pi9/57T9fHduvvvz65e3qbr2bX15//+d/XijPylIsX1xcgJrWVY2Cbd0tZsv99tBKZ9vu+tEVG3v39t1us52WeZFl06JsjzW3rTnWzeHQNvWTx48yrV6++moyne4PayJuW/Pu3Tud59P5AoHatju7vpwvzkTTcjrtuu7N65fN4bCYT+XYOlY9OzvLtb55+/b29paZ2ZiLizPnLcrz/GyxMG1e/f8Z+/Nn6ZYtIQxba2XuqeY60zfde9+77/V9PTc0NMKBw2CkNrYAE2CHgvAPRkKAwajt8BT6Gzwg2woRxrYsQBZuRXiSInBIhC0jjG2QFUI0dNPd9Bvu8N1vOlOdGveUuZZ/yGFn1TkXe8d7362za1fuzJUr1zzsd1WOtq3butHFJMuyPJdD03nhiwKfCrjhDE3hnA/OFhHxbU8jsrnkCnB9toB9nbwEwQaFbSB0gVhJFDYwxKhEqpVyTwwNIiHI7hEDj9mPQAiPP8q09jydhYf4cod0JwicyhXhZphhfMwHurDLkHTPk3iLPRzJISJJXEas3xbPjog4YKav9vfD1CWYMh/zoMfXYz5ycqIhcAcdhO2ERjw5JktaBcptKCbC0yCw+nPOJwOcMsjjqTyGeDpvERepHGcAwdAlAE/ExJ/AJS7+8bIGQFMyPTmyf6fzTOndsKLg/j/V6kCl4YYn84n5ne5DSgFFIGXAJxRcRNgOqTxBgHNwOFm4IhwO7TctP1J5IoJvqCrzJEohumYcR2sMM7Hw1EUhMUOSoO+g8A3bJOwlH1CDgJW+OpIGdyeK8q71nhPfIGA5ACTRXG5/g+BuY4SGEfYZPnSs5kAshhKEUTg6vV7xC/TLxoU4U32cQ3hArLUx9OUEsCkTR0QBOzj4jqXtsO/+gzNsHM067m9QN07OyDcduvSx1IN0nFl/Miu/QO1iwcH6YF9hH2kGwsCIAsIATK6lkisJxxJKh0sg2EKACMhCCOxLQ4Lr7BmgOLw+GPkg/W/83gYGExfF8A1mcgDw5Nl11hL2YjuiC2OP7xYRREZU0UJ5MiAznwSMYhKbFBB4+K1H3NgwMvwkSu0cG8JbZubO9EQEAgiKSBCArfW2CXcAHBIguz50CikaqlR4L/OQjQ2DD9dVqyAW4M6IBRTJFGQ6m0zPpovlfHK7r9fr3eH9+7eT6ZKZ99uVVWo2nlxcXbHpd5vNZrM5OztTSqkss9YeDjuVFRcXF23b2r5n5qJYvK8P1ahQCpSGvm02D6vFbJwrlSllAdiah/vVBCRHJWLH+Wi9Xo8WpWsV2TTNZrPRWqOYDjFT1Pd1vd1k1WQyXhjDMBmpctQZe3/zvt/usmp8dnE1bqSaTW6v34lp33y43//t//fLly9fvnypVfn+w/3l5fkf/WN/7P9out/4tX+EAkVWzaZ6u91aay+unk0Xs9V627T96v52v9+/ePFqNqmaTj7/wY8eHtY/99t++vLqIwHarW7KXGeZbtpaEeR53vd93NxIASIOhB0PSBvwyB6XhUgPJx+npaXcAY6ldocBkBCreEXGnaIcOLtjCCpwx1bCSfZvi+fI4WdCseJyiMg+Eqo8zrOTFIFAAEnQ+eVcrhSKiNaaQLVNj6j7fj+bj/7gH/yDCNmbr96+ef01WN6uVhnS5cViu92L6SeTCWgyfXPz4c3NzXVTr9vuMC6r6Xjy23/7z09ny7cfPv/iq7fXq/Xs4uq3/85/anJ28Ru/9VvVZHH57Op+tZ7PMp1n+82hHFV9b6fjyfX+uu/7XGdImpkPh4Mm6PveubO46zXSbFRNq1JpWa/v+r61+85ys2sOIjLJ50U5WszPdFFqVeSzscozFumsscLL87Nb7ta7LXX9crlUOD3st03TLJfL5pDf3t6C2NvbW2B7dna2mIy7etc1bZ7n45G2fQfMRLrvjAOUADv7OqILkon7HsDubH1p7PtgW2WI7bnQ2SBEwSC7p2TtMf91Ge5DIKWPpDrKQ0ut/qFVyxEHwWi+GhRaDs9AfB4EOEil1qZFZtK0wCP8jyci/hmtRY8oP1OCwDiwtmNXMw2HMXlAorpyKtzGP75Bdj85Hale9PjfdDscMF07FRl8ANEiJSASa4gAAKC4aBy3fIkZv2FEiuQfQ+W+yH6enOvjmaV4lZKDMMlQEyfeSQhHulv/hOtkMpg4awY5JnngxOA68N1Tr4rTU9M2n245Ua6lFL0AvPgoMBTpOZHgTyiyuxzdi4lNbuR0YoE9xPYKiN4a6hvHIBKCipoohL3g0Kz+/8/LL1PcBPAU0RMW9eSmfBNFGMDjZv8NahilyVIAEHw4Tq4RkZNiCJJ6TmSQ6ZViay0x+QQpRm+8EOtCmMkHaXi1caAAyQJhyNZnRC1JR9v4sARDbyrpnlwJNE5RMQ6VcmgKxddi4ESI52FQp0Qtyo4yKDOnyAbHBxMRDXtLCSbWWgBQsTrNscyPhMwMKK5QuzghHpxswuTt5UOpxeiXIwQWFiH0ebok7g+n4aISBAEDoHzYDIuQK5/HIi5Vxy3BorhGywPEHi/zyQu93kWISNp3iHQpCRTKliGmKPlEDa/hpZya8+UEVOgVwuT548PitsmKF+/cZS0btjGO8UQl45DnFyNBEcgRpfSwWAESB+2U3zjc9hTMCpuOjTG2N5oUFZlWKtPVd77znUPd3T78ap6hsf12u51Mp4fDwbZNQ9i19Xy2PBwOALDdbufzOWm93+93h/3y/HI8HrMxmVK2N28+vK9GxcsXz9Dy9bu3bKwmvLu5rmaTqsi6Brqu3T6srJiyLHOdAYvtjdhQr1OkLIqqLNe39+PpRKusrWvb7UWEVFWOF1jkTdejLp69fHXYbyHPJStefuu7I3tYXDz7zX/09zf7exFhuD40RmWVLgtGKDL6Y3/sv7rdbj//wZfCVJZllmWr+4O19tXHnyxmE8Nwc3tvTbe6v55OlsBgTX/z/sNvZPqnfvazVy8/vSV8eFg1+6bMMkDuWiMCiMCA4usFA/vwYXfHBjtRmuupvkm3PGFzJ/QnJTjxQ7weY2kkYgl5YYxu94F6/JN0+5PR3GeK2dLgPNICAAIiKp2R00sthDxyw2yM0VnWiGmauiyq3/eLv7/Ix19/ef35D74oFOzrdX3YVNVoebHcrNcPqw0B1/Xh3ZuvDvVaUQwMsz/9sz9rmX74+et/+Ku/fr/eFuPZz//C7z5/9vJmvZlMl88/+hhB3beb29v7i6srIt+dtK5rEXHNSgudFUVR7w9bsVmWuQzOrmtEhG2vkdbr+v7hrgdm4DzXVVVZI1pno9GEshxJTeczNanyolB5dmjq6/fvMkVVVTW7re37Ms93u82HDx/auj5fLp2OB2zm83nX1Gwss8nznEQKnZmuHY1GRTXtDdRdbwSURkANjOSyH/AI/uAzrAbDgfIIYB9hAosM/RxIXE5jkAOPyz3H+5iEUwr7FKMTTIvMKEqc0ViXyAbOMpXIxTCYDzwGwcALxTdND4lGA1p+o1EYoiSNMc3M1xzxrMeXx3G2Vzc9CZLm0/wCAweLJrnTVyfFOUBIhloUKlqRkqM3PJsetJQRQ+ARDuxD9w0niqYTFREUZ/vCqCphoscM0xUAiSnDwXIjAIN6fmQwPkGIdIqxHufJTOjYEizRx/2o/kbAkiFmXYaMe3zy4QgUAPARQMfPpE+GmwBP7KmT8ofYU3cz+RX+k2RjJyhgyG2L1rxHzoRkMgSuNfGAJOj2bBDMASCR89zG0aMgDXffPuoM5b99FIzhSEOyGHJzPYHwN13HwDytjgLxOPGgyblfOBxEZ/wJVZUAACxHkwN4uceP42juUa848SKvk3eZWYNm1xtInIMvchhI23qnQAvEyG3QkFYSxWKlsO8ZEWOuepxP1zXphsaTHD57/XgIaThG3bgXLgzDkSFEcLky1hqlCgnm9ojPEXkGcnZs/0uRIX0+dUGEPXPq64n6wSgEwiDi26mCRQFEEbDIIs7ojowuMciZ1dE6MZuc8On2GsCVqCEgQXA1V32AGkkg436eLJZFELMwZ0ZXujQJUj+GttMpomgPzsoo3o8vrrIMoO9C5YrUikvqCpck+s8J6g7gGJjWE1bPFKRpJOiwLt+ZQSId42APsUYAhIKkEuwLJILMVoLsHu4ji0sGcKOyESZBQhIGAUlqCXq4CopYr+MxiAhZVr0oYphPZ+fzedut141pzEEXeaG1Zcumt31XH3Zt2/dtByyKMiSV5+VU6fF43Lbt9YcPBEhEZ2dnpus2m02htAVBQtN3N3fXM27mk3mR6bqrwfR9fZC2zydTMLat681mMyrHRZVbY5yw1bU1KipHE01Yb9dAh3y81HlpbTuZTqvp7NnVed/WfW/fv/twfn559fxZL/itH/vJHxpzf/0uy4v27fvl4my2mCkUU2UwKf/4H/+v/bV/65ev37//4eff//jFJ3me3958mEwmZxeXWZZfnC+JtAB0faOoePXs7H61ff/16+msYiOT6VLp/GF123NLVgS4yPKu60gfcd/Iv5TPJ0wgH6jEY3QCABUK1CYMa6APJyQi3jli1seE98k7pFzZusRGoKJ72ZMaR0YFhjB6kSTyKoR6PsJ5zyJ9NSn2M7fWGmNUnhkDLlpmOp3+wu/8XefL8y8+f//rv/qbYs3W7Fb3H0bjalRVm/Vqv99Px1XX1l+9/rzeryfjUV3vR+MJAf6O3/ELz55/6+u37968v15tD0xqNlv0QptDc6h7wQxBj8fj589ffPhws91ui2r0cPdwdnZ2/7BSSlGmHzbrcTWqqqreH9q2nc1mXUdN07Dtue9sbwRsUWRWbNc3Os8QkVCfXS7Hk9n+0OnMTqaLfd1u7m4W52d5UY1G5XQ8fv/2bbvf2d4sZrOu6+5ubrum1US31zejUbmczzVhlimFAGLatkVrfC6gwvPL51qP7jb7lhVR5hiNQjohPI4giq//G2ztIgLgdflhr53+7/4aSJlCYaBH23f0p4plRYSEJJqNUuw94ZInOJmQNUFkhYoTQ5jtexkeRgwebZuYGyI1jk4GEQEYrGbuSz97OrI8RcMf+SavzsZ6WnbdrxePqilGp/rJgYpEm4iAhioWIgCOC6fqyLFZ/YQRx7cH9nF0QtFZBwfelhhv4swUoByHtKIv/uZFFtcPxVqXFxVmGyvJhCbG8bf4lPRzYqE84YJPkgB/Z5Cchh/KI7F6EEGeUhgSOngktaf0MT7pvwpKycmkEBFAuUk9njAAOAE3wQxHiAe2Lez9JicTiFei5FECt1TqOirUFe+nzMCZaR+TbHgEbf9nMmBgPKcMI9akA2dogSPh+gSAj9/7+MLjUifp82nseAolCVk46DPxKJ7to+UrBCH23ft8QAsJsM87HKihQ1h0NW0HtfCxDD14S4K0NITHRCSPSzjBDRneFSTIowd8p/QnMSouUI5jowHgsdMTHu3sY+adglrhkMnq/lWRvKLgYJYIIbm+a5sFAEAm8R1OSUCiHc+93RFSZGIJBMoN4lt+opAgAyABCyp31CTqwcjO7uDkBwJAtpKINQ5unKTPJsQBjiMCQ/QtAjpBmW0QZi2GQqIiIsJELuoXRYQTUB8N7tYeTDLRCu4+pPBP53ayHe6ExidFAHwdGlRKWWNiKT1m1lq7fEoAiIU4Uz+Mm6cry+1G8QarUFY/tq4dpoSotSZAQosaGYGtGGMBeDKu1P1GKQKV1bs9AtedXD1/pomstXmWdbpXKmuaRuVFXbdI1Df9frvvWjOqqlFRWoCzs7Pb6xs2dr/fM3Pft0Skap1lGZKw6ZqalVKH/pBbLqqpWN48PEznc2ZomoaImv1hPp/WnW37TiGZZm8BrXDT1dPlom36y2fPq3Gh80x2++l0+rC6Ozs7y0ZT0ffLy6v2cLhbrZ9dXv7gR5//9E//RF1rrWmz3k9nk//6P/8n/s1/86989fqL8rY4Pz+3DNvt2gpM54vpZI5aAaqmWbOxnaZMmfFkqgXffPVGlPnsO58+f1F++cUPbd+ORmXfGUWaxaSUKpDQQKkQnXoIQ57Y04I7BR59Mo49phgOtdLkYzg+409+lrQue2J3P7lSnEdJyEgs3OEOOw6xOsMDviROzIsTd/qUwjzPW2PzPN/XdZZlP/szP/fy5Uevv7r+e//xf2J7M67ym9t3mmgyG4s16/V6XFbGtq+//qFCM6rK3W5DgKDp4vL51bNXN3f3683+i6/eGsDRbD6eLtvOLsvR2NCz2bLp+u12LwI6L7vOoOp0njVdyyD1Ya9JiTGHw0Ej9dZoQiDqrMnKou5qY7pRkdne3K3ujJhqXFIGWudKZ5ZBZ1Ve6bpt9OFQlqPZaLZbbdv+zoK9Oj+7XJ5d13WWFbnWzjF1OByAbde0IrbM8/1+z2wApcyztq01iC4KpVRWFdV02gsdWmatM43MJMYKHvFWTyHpiKp49zowgGf6iIOjwz15LOyiRuBTl/UwIGKo9wUKaWANAKB1nuabAoAjreSTrQdpIUVUz/iShIrOuoKSzo80PJmW5RV+Gp9TkQlDfPxjVAeXsZZ09kTEoUxkxHMcDEDgwXhE7VN6Hu8HD8ap9BL7vTxmvum/qVD0WAIUEZ0ajTARWo9mH55m5tihy4/u7FpD3qfAMU+Mi3m8wihweHiE8Lg40ZPNSKced1uOVbf4bZRKTxDl8Wjh8xDXntwf7GpJ8TiAILijz5Y7mlj471HYzMn8H8FnyGQ92aeTjTwBTrw/hPSE4vSQoMXJT1KInZyiVFeOg6QbdzKNSCMCDIdVf9OS02HjNFLNLZ2eHEuNJyBNoYHBCOo+h7IzwMzW2ii0D6QHBUGQUWlg68soxV1GoFjJJEzs9BAew+24uSYKs3Pq6fgTSiphpVqEw7TgeYSg8iTBiI+AmW7fCW4QUZZlhh+bTAB8XYvhAMLxqYzzxEQfPiEuw59DYbikInUSQkZITmpH9LmlECPOkRGQyMsVIkJhkCCmS8x5RRzqtXuLnWP+Ai4ohpnxyEJ55Kl4jOTulemdAWnZo5zDj3hHECTREtnV7ztWxlJwCVgklR7AGON8Mh9IcDKGucfsCGsT4hnSikSkqqq+7+PgRDpSTqUUkRaxxpiYEKm1ZmbxrNr524aDc+QsRgQABotIWiknC/jTFL9lUxbZ3kjTmgzJtO2Llx9fnF+1bTuirDWt1tpa2/e9yqq26UmrzWaz2+2IaDqdXizPitkoUwpYmv3h7u6Omev60Pf9rtlv1g+L6bxt287ssyyrN7tue3j+UVlVVd02ANC2LTNPR+Ou66zYpm/26+24qmbjgsTu9w9k+ulittlszi6WQur27n48qpZnC9M0HQuIFNV4PJl9/O1vvfnyi/uHh/l0+vXrL1++fIkCOs+yrJ3ORn/yX/zn/+q/9Vff/eZbY8yomjysVtvtXmtNRE3d5aOJtYYQ+3anKUM29X5fjafr/fZXfvXXfuF3/Ny3vvXtL7/8kQj2XZtlmRCn6S6BeEYp2RWtc386PD+qRpfg7ZDKckTJQ6mQU+KZIPnJKUjJb8TDWFIdEqlORACsP99+JiLCLpYW4NRqEx9LuYnDbaUGo4bzZHIohWStzbKsa42IfO97P/7d737366/f/l/+3b9Fqh+P4O3DRmtd5EXTHHpzUKCstdZ0eZ41pt3tNkVREKjv/cSPfec7P1bX3X/y935ld2gOddvZ/mJ2tVieqbzoe1sU1eHQAKrbm9sizwGBQRaLRdO1bd87ZXU2m9m2ZWNAIM/z0ag0xtzf35NSFhk03W0ebNvkuSJnk0DRKsvy0lpp214ExuPpfD5HxFEx6vu+73vTmfu7uwxwOZnVh92XX35Z1/WLZ1dEZEw/Go26ruuapt7vzs+XgNJ1rRgrCruuk6pARYZJCaksR1IMohQySrqzGILl4DiiIQAcITEqpYK4iChFaSEyERF0AgkF0jQkMCilousvctsTZh13NrigOXn8CFGTJSAHUumaQhD5pntxtk4NdKtgGYokuviZGL2TjglPXi6UhY7RFZBPZFSScCqHM3I0TFrfN9pHyBv+HtP5ePPkMKZZcI8PaapWua+GqjLDoALWWlQCPq0BkFkhUoiiiyHsisC1TQVkdzAx1J1gZhfW4/ytfkeTiCvSSoJ+7xb/Dc5Bjx/x26BCxTnHZufAA5Mm5+pDDJVsPTU8KsUfrGhuOUfenEDynFqKiMiQhmV4GoZOoQw3GQCB0a8FAUJjFx7MtO6FYRWDghEn4C3UiiToBALCQ1A7otLuXQ5RAQCVEgsiQEQUsjkdKB4JiIOIT0lZwIHBnx54r/CeZES5eSAihNoZ5AsBCwAg+eoHEWEQPWXnpMsmJ2yDSAkfvcWNeoKf8XlARkJhn2gY5SKwwL7Qu49d0UoJAAIKWxGfWADiS2egCjrkkCkPAC5JMjZLUwDCEs+ktxyccLiIOeAqcqAgKmYTzyOzAIhSGKvvY9TpISE6CMHgHwqtKEQ5cklF9h8hZl2jKReJIkcnmkIej8TYcXI2YI9vAEA6Ju8K+I6aIABKoeuxDIIqLaMZ6vBA6Gzg2l2L9IDi6vgLMLBxGEwozAKWBS0RIFoR7g1rsAoR2PokIRcWaTuknIjEMyNAFFBERJbZ+3JRCVhmQkTyJcyZAMTXBTMCR3U/I7QDPRlqiR4xknCYYzeQgHfOEeYNUYjIbEOz2iTYEZRP7kSO6cIi4oxe1lpNSinlazGJeAnaubYTLOJY0Feihw0I0IqAkA5WdkfrJHDfKAi6Uv1KZYjGsc940sXTs1A8RCkJplVEUuF8ZeiCu3pSSEBIkBGJSA+kAZaz+fWG8XCoqLe2ny0vCp3t1pvb1YNlWJ5f6bzQKh+NtSYANpv15uOPP95ut0VRWISazVjrw35PWvXANCr33R4mM2v73lLHdHd3V5DOiW5v3iPKxfLs5v2XOs+7pm/7/uVHr9Y7a0BAq832UNdtTkoJ1Ic+L4t683B5Od5cv11Op8p03brfPqyrvBiNJsVsvlldL+eLujVX3/oe2/bmYXe4vea23+/M66+u+w6evbi8v9+AoovL83/xT/65v/Jv/KUvf/BF27diZHlx+fn3f3B2dTlbzKiFMq+so8ZKbXbrh93DdDq/fP7perf+D//23/09/9nffXb18u7mLSg0YtC6whUEgpaNr5uPgj77GQYdVRxFcgiSUCSwrti722IrGMJUEBH1IBYcVZIR126FThv8RYQ/ZqbQW0v+5wKuEpe3TfpeHQJWhBFYI4ByCXq+8GscCkBy7QozsIgVAURUhFq5aC3prXVJxiCSFxkzI2QCxkjT2f7Vy29/+q2fevv67q//n/+9h4f3o9EozyeZUtNx1TSH7oDM0u7XNbPl/rDdr9drQN7tNldXVx9/8j0QXK0eNpvNdl+LUovFueHiet3OpGBdz2az9Xa12WyIaLvj5bPL7WZzbs7yXI9Go/12u9lsttttu9+XZVkVhS4zyrO6ayfT2eFwwK1t20OWkbG2EzMqRmUxM72FbHJx9bIz7EV2IhEZjUYsZjGbmO6gMl1k2X6z3db7yWg80ZmRQ7vfzSfT+1XX9z2KNV2v84wQ0UjbGgYrIJlSIH2RlUohKFCAJIp7MKbTWnddp7UOechIQE7eVSGe2yXGaK0RxVqriHwp2Cf6Z/mdAgBE5XonISnrcSAK5UqAyNcAxaQqQ+DmQbxhRABBYEXgogNCtoPP/yHCpBM5IIqrQiCIelwmHN9PkjA1NKPSIILMbMVqpZgtW5sExLoFBH9DGMqzdAIRhpCqCSzC1oIVl72KQzW+YFH1jOMx14hmOGstoiLyXacguQLoEnvZcWSH81wRkrBADN8XEI5h95jKkDqBzjAQEaVClV/pIDpTiI46enegL2GVPufsVBwP1p0niEhcVRz1ZMYRBPFXjzWqFMnAB05QHCrSwXQDRCTWrHKAia84ns/Ths+TZyCRq/y/gbOm4pT7ygZ9IBHNQUDwuGpS3Pgnp/F4PvEgxSudpMjgJkhRKn0gRbIUFE8uGY9TF+PPAcBlw8SFP5k/4CDmmpg+RoAnF+siU9jbRwd16GTJ6bRPgH8MmaPVgddWBmg7iMJTJRoef46HBRM7vRyHacXXIQ5dl8GfDsGhyo6/TjwhR6KYb3VMztbCzMYYQo3HFTMjnCHBTDwWbdOFpJsYQXRCLsiZpZE53UexKMAu7N7DnMXlq5EAg7U9givcKSQgYgGsT1FgdvE3PtgMrPhkg5iBE+cgXskVEeShJCIw+8jOI30vnbb7FKFLybGKnhM5+UkAY+h05i2IMd3KQwnZxeAPjeSiku9ALam6dRQlDwmWJhelq3CEOOJAsPF4rDvRrp3qGO1AyXtO81hSwnj8GBIBhS7iRCQIWZF3XXc4HLquU0ha6/v7+8OhNgxEWum8N93y/CIvqu12rZSazRZN0yGoV68+VkpVk7GIbLf7H/7wh6ZrmLntO6VzXRTzyUXXdVOVZ7XpD/vdZiudUQTcdJvdFkhn1bgaVQppNp4gyuFwOBwOIjKezph5t9vlpm/b9t27d2dXV23e7uuDuK40AKTUZDrt+hoV7Zp6iYvnL1/o3/1P/cf/j78piE3bt13HYFVGs/n4sD1stJrMZ3/iT/wL/8a//pe/+P7nZV42zW4ymzeHfTUqlcqbpplMJpSpD+8/9JanswUAr+6u58vFbrf5R//wN777Y98+P7u6u/3Qs9HISimXwaUz7YQJV1o0HtJo8hQRZAIAIR8j5xuLHRFqYXtK5CEhEY+5Urx/QurTr4LmxpH6UEqGhhoW0UYzhC6kGBW74EXBDl19MxEAGJfjruv6vs/zHKN31GprYLlYfO+zn1zd3/+Nv/E3Vg83k8nE2O7mw/V3v/sdQqlr2e23AGBsBwBNc2iaWsCC8Hg6+dnf9nPGdtc39//g7//9w+HQdvazn/xJzIpt3Tz/5FtXV1cAcH9/bxhQZQ/r9W632/ety77I87woisvLy4eHh/1+nxNtt9vDbmf7rizL/X6fKV2WRd/3o9HImDbLCu6NMVAWVT4ts9GkKIqz5RRRWWurPAcAY4ywAYDxeNy3nWUjbKqifPf1m6rUAPD69evD4VBWhSYltn92eTWdVvvdbrdfd13H0CuSUuVa648++mg0GnXOJ0za9j0T6cxjFIshJJJYImTY0GgPwqQq4GPCmJKClCFaa33KYJDkXU9rSvTDdNhESjzCwxP2F39Ix7bUeBkxiMcnwi1BEELgSxToVdIYO0VFolTwi5MRRDh5r2PuiJgm5qZTineiY9NT50fFSyIA0x/KIw35KXp7ZNcPCzm197vrqAFTOhVM5iGJBBl4A4oICPk6oEdzCoICgohwaDTlxnP/w0dB8yc7mkLqBHxyKtvFBVMYykVzUkxDThUAF/TsOK4M8a8CjwRKjO7kb7hO5uz+VIow2Z64iigwnWyhDOWEBpiIgCQaW0QXRBxq0UAQXQAgWO7S8U+O6CmxPtYE0udTCJxsymMIoEf6I9wC8CrriYInIuAQA06EQkjiLoYLg/j1zZtwOr34sKcLFO2jg3flqXWd1sB27CrEKTCA8tJkaEAmXj+EYMcEH6rqb0qIqh8i409m6OcThE5/x3lgkh1UgHiaaXwk95/suNdIEzKd5gNEsJ8AipNBjp8Mkil6DTP+kADBdZ7lAbDkNpgEEclnqDEAIltAFmFwPhFk1w5K2AKwy2d1Wf8u715EXOEYQCYkQEIRK4KggMRVihcRAYuoUIDIu0QAwHEvAteu5OgQJ8A/shpEsCRpeT60EUmcSukPl+8I4Fdt7ZEnBBF9nRDkE43I4cMwJxEXax5/y8yxRlZ8nU26LMGgvwEEfwIiph0uj6mljTb4AXOCTBZfjZ6ZeXIZHhx0ACQPaiIq8qrP8+lsXBUPLev5dHY41L2tUatK67yoBLOqqgB4v992XW+MKYribHn+5Zdfjcfj7/zYd/umK0ejzXaV57kxZr/fGpbRZFJMynIybi2bfVO3dbc/sDUZqa5u7us7A11eVAZpa0xVVYuzCwaZTPDu5t503Ww2y7Q2bNvtVmXZfLkwXVfvD+PphLTSWTYajZRS4+lkpEZoZHZ2tt4fpt2UtR7Nl812rYRB4OZuhRo/zT7RWtvedE13/vz8X/qlX/or//r/5off/0HbHl5lNBqNmv0BBMfjKZIg2950TduJyHw60yRvv/pS52Wz73YP9eXVonhV3dy+b5sNoqJMYdhHdzC1cvoVYMj3c5vgNGEEDG0nIg541yjCEz0xUipxhFpwxHFPGO4JhqR5irGkaWi24I6Mq7ftuJdT+Th5p3upj05O6UmcnjU9IozHIwCs69q1yO07C5j/zt/+u/uO/s7f+Zv1bvvixbP1es3Mi8VcRNab1X67JYLtdqOxV0ptNuvl2fTt223btr/v9/2+8/Pzza75lV/5labts2LM9ZZUrvPRPJ+9ePUxIm6326/fvvdiejUCUrnOmkP9xY8+/973vqcpq4ry41cf/eZv/mbd1vP5vGsOqPX97W2eZyK82+1IeZ1kVE2s7jNdiii25IovNXU9my5Iq9XtXc+279u6rrWmPM+LMpcWDodDvdmtHx42aK21bdu2bWvZzKcTpVTf99ut2azXYKwxprdtWWgAQJayLIuiAJWplo2jmci9MToj33RPgLyS7g1YkT5I0MSUUvRo68MZH9x9iAhJcioPSOW/AkQahCNMfnV6pWgZcRUSasbeuTTM2T1AogOuqhRdLTmD0SC7x2EpdE5IJxCqbjkcDuzs9KQISAwQ9cgf4lYHavnkupJyuh7gYQJHDDouOSXmR3Og08MLp6dy0AHkxOKevgaTuuZxuGQgwhARL8kFx/Iv4lFyYSq+xM2OIqkE+1+YCUStJRU+vmk96Z8isQI+hISNofC72w3rKSOAL2FJ0TTmfsi+akqqlg3QPJF+IMFFOa4v6T6fZGwkewBPXxI8lkjBV+JuPP14ukdpvBSF6mkp3jy1od8IzGNR4HS9jzs5OZkKnxLEB/ngGD4AkJbLS5FEhopAw1cpwjw+UY//TN918jz5I40CwkhDhA+RiGgEDjjiNcPEQAspdxzIF6Z/xeC/E7TxjyXN205ww31FAkGcPT357nKKtFIqJWEuGCPSyvSHaaDtEZQwmdUR/J00we65AW7ofgIBOBKqSLGAEAOADUVQXPIAiBUARhDULqCORRjEIgiIDctEEBcRYLxq4MZHBCHnfUcBJHQVpp3wj6HQu8CRnJpwlydQN35OEUzEA9JF/PndIeEY1ClMQNafR1TKn+IIZERE5MTQ5Y5hwI0jjJV0AiKJF+D4wgDqyJaUinYKEfFxc/EOolNzPEW11ro6xMfdSOJ2Q0JWeDBzkKtQJIQu7osQMS/L0Wg0HpdlqVXT264ngcl0tN3Xi+VyuTw3DKSzw+GwethkWZapQi91WZYZKWZomz7LMtMaIr1YnG02u87Y+WI5mk+zKkdFOkcr1BmW3nSW+67trVF5gYybzUNetrocvX3zGgAmswUKdF03GY201uuH9WazUUpN8hwAsiwjgNlkut5udvVea91kvSDQKOsPTVGVtjeUF6Kys+fPv9xupevG1Uhpvbrfavz6J3/ix1WRffWjr63Cjz968Wf+3J/5X/2lv/iD3/qBvlbGmDwf5aPxxx9lfVsoDcvZHEjdP6zWm5XprlnUaIzz+XK3qe/v77/z3W8tz55vHrhpDgBU5rlTqLTWYjkWlkZ0AbUAAMIca7WgeDXY/WVtwvVJMHHInNDDlBa50xgrZqSU4YS6HjUN9Mwv9Hf16OE6XIKnlC4kNZBvTDDJvSfI7lE+QyehapUxszO6K6V2+1rr8md++ufBZH/z//p//+IHXyhinI2mk9HDQ7ff703fNs1hOq7atilyXe/3q9X9od7sD9g0h88+++z86nK7r9+8e1fXtemh7cxkem4lW0zP52fn9aF7//5927aj0WS2WO73+7Is5/Plzc27tm0BYLPZKJUh4mg0mo4n9/e3u81GKcx1VlSlJtX1TdMe5vN529Z5PtJIbdvPZ+d5Xk4mU1Rq87AWQQRVVdWorKyYg/Bqf5flynRdpma5zl48e/4bN/8IgOfz+c3tB2aeL2YoMK6qXGej0Wi/X7eHOtMKgJVSRVHkeU5Efd+77h9EoFiAQBNZAU0KBURYKXL5AyoxVwU5kmMDURArAkmH9MBQUgbmpHNPZzQPrMcN6yzuEX8Gid/9hBInTBz/EUHzzAiOjUrDIKEOW5xMQG9f65mSpAo3jbQww4kYgF5qH94SVnQqFfiyqgO2D9Qy0n8RCYQctR6izTHRlOKATx0xZ4E9UqRTGB1bWwIzGvYLQEDHJ+LL/A+Cqp1C/7FUJILOaRzByE+Rj/TPkFggiOAURAnGyxAa7tohndopn8SA8C063EvzrtLEfAnmUBiw8ESCPOLxAzU84oWDFIjHilT8ITO4cHMnPLuHKQkiT+cgIgCnm3osARxB7wQUJwuJH9I03/S36WfX1MW9LbmPAOmYbpLweAQHsSe+DY6CE1SJw4qcfuuBaZNMxPjtU9J2ugsnW3ACEAhqTArhJ0EakJyjO89JKuJ6UhxlXz1d7SEdNmWKj5E2zNtiUrkSAAItiDF/gizim1E/nTScrhcTzEREhJN9R3gqUWGA3qP7R0c4qI4iEsz/noq5BwjQ+dYU+GASJ+sLsNM9vPzBAuQCGV0nJhdJbhFYgYvtQ5fvxixEmpwDjdkJ5+g7milXbV1c7VOvAySYaQ3HyMtkOSnOPAEBAIh5L1EtBQkjD8ED/kSjo1QqZJQOChsRuQZbJ+gmpwahb9SfIyIlFFgguFEksS+E55393qGTjZQnjuZd2+GFAKCQEF0lTveQ080CuXNuDdc/CyXLMgWCKARaa7r+8O6w37LRu2Y3mU2NtVqTZUMEGeKhbrK8fPH8ikhv1ofdbqebZrlcjqaztmlE8HA4qBxFZFSNx5PpaDJurSFQk/G0OdQ2w17VTAq1UlhqkKyqJlACYtP1oBpj+g/v37Ztu7w4Pzs7K/PcWnv/sNpsNsvz8+l0OhqNRqPx3d3ddr0mIi344f37ajq7fP6ssX1RFIZpupwo0lfPXjS73fJh293dPay3k3GlCK8/3C9m7z/77LPl8ryu2/v7h/Pl+M/++T/7v/5L/8uvvnib56Oq5LKqbj68N7Z/9fIjpQu2wNbc395orYuiqneba2PPL64syPe//4NvfefbF+fPHx7u226PiEppZmZjiXyRjHD+OGzcUXY1hFCoFDHiriG6/Isjo1hKGVI66QqbRutYOpTDtJPO5ZGeoy8DAe7AiQgAPyIejp1BgqISixIGwR0AwAW4973VWud5vtlsELOf/qmfy6j6W3/z//n5Dz+fTcerh5uvvvrq2bNnk8nE9N3hsCky1TT1Yb8lot1u2/UNojysV9/97LOf+W0/t1nvAOjLL76yDG1n2Wqly4vL5yqr6pZ1SS9evGrbtusaBjns674z+93h+fOXXdft9/t3b94T4PPnzzebzfOrC7F9nudZpoStabvtbr1erzUhEYzLSuuciMpyMp8t+96YnqdVdbZYkM7rul2tVkqposzY2t60linPcwCw3Nd1bfq2KArLfZZl08lkMpsQoOma/X5vbe/IQ1EUSqGILbTK83w6nSqlbN8aIFIMQJYFAfIsAxalyOntyluUCVFc+xHlUymUzzMlCsGlp9Q+ZOHFyEkcECnEMqFPHzrCrhMehwOBOi35nVK2gS4loTXpUMcsb0DXOKb7Kw4l1jqfeGR27rcJy3NfuRBNCGaL+KSPXUymF9J5nSEnIchxtkNa2jDngX2na4/PDFzbvSNWjkZIoJpadigdP85BR372eC8fAzq+2P8CRESYASmGiPsCrojOa/7Y5uqlBw4NuiMgBnnlZCboa70+mswTukQy52HBwdfjCJOvXeqwMFijjwD9JHc/Xntad1yefCCd27Bbx8rDk1/5JagEJ5JfpRGH6SRT+psOG7Oe44T93E5yI47x7/E8T+4/fqmIROtRuvyA8/7PE8YQj2sKEEx01sdGSCdVhcrlj/1Cqa/K5Y545QuTCx5d4b5EmgU+gIqUs1cda9Lp5P3LkgPnpg4ATo3DsIeuZjYCcCgjE6AXlHsHH+QQsOhBmgp8J3Tz8QaJDNsbbnqf1Ynn5xsgMGxE/Cq8VIKmFx9j732TKJi6tnpCAoICCgCITYcogEwiDBa4B2ASEOhBxDWlQQx9PsGCKBEfvQ0ijKIwQ2IRFDBoFZBbpK9Sz57ssAuY4dgw+BtDCfnkZgBduoFD+V50ubaJXOW22+FWaL+VdgqkeKwwCT09xqJH2BtOSnJ2UhPOkMbhFD9XqpJCK0FmxuARcrcQAIHJJw5GOu8rujuIRQCEA2UdJIjI1YVTpJRCBSRgUeWgSGfAtmtr03csCIaIiPbbza6symqCYomFxe7rXdfITV0Tkc7yKwZd5Id9Q0STybxpmul03vZd03QMsN2ubt5fL6czXWSo9Hg+zWfznPCw3zddXRGV49GHDx82m3VejbablbX9bDZZLBabzQaYZ7OZUqqqKiBk5rptR5NJ3/da6zIvgLAqq65uatsU4/liPkeWm/fX3/n0269efUSG1yqz9k3TdGWeKaR//Fs/2mx23/72t6f5eLvZZSSLs/G/8Kf+9L/91375i8+/7o0Zj8dVVSnA29vbrjNXz148uzi/vrsHFGYD1IFk2829zjOR6ubd7WxRjMeLLMvqZlsoKovMmsFAE7bbl0hiDhXonMtNUCCG2DirkN9Oj8z4/8MDOWAUooLI9Z5gScNJd/o2YDqCr94OgylEnZyvxJqIAIhCKIRe7AEAFmLu3YNlWQDQZrtFxE8//XG26m/97b/z+Q++fHZ1ZblZ3ct2vdtut5cX5xcXZ6PyTGv6+vUXWab2223XdSKy3+8/++yzz378x/f7mlSx3WzOLq9ubzb7XTuejvNi3PayfbhrjC1G4xcvnimljOG2rSej8Xg6ub758P79+yzLZpMpTaaru7uqKEwotLrdrmeTads1P/jHv1mVObC0bavQnp9fHg6HoqjOz86qqhpX2LZd0zTlaNLW9eHQAEDb1U172GwexuPxcrncbNbX19cX58u+78tRtV495MXYgXq/3XVd07dtmWeZotq0RVFMJpOmObB0CJb7rmkOt9c3s4vzPC8RAVGUq9+OAl5e9xKOeLsvKJfcEvoi0dDt4dQDnJKgxzIAkZIEQ0QcwcNosjkmngFHkxzCE1nohGGdxMTHbzlgY6jzRpF/DaguviCkK9xwMr77cNyYjJMiObGNsSOkJ/a44JuKUaA+OI1OwCXJ53i5ExzEgRMGFKodHh2aU+AkUHpC/AZXVSYFmcQGk/gNA0liuIqf7KCaO8mDiDCZ0MneYMgFcJB17gYJPbFSBPJtF4/3+7GsBt76i8FsObzIerHJI1NcvNv+QCWfEDc9HIJAn/6bPg+PlgmPzwMAgDc8wOl1KuInG4YnJQIAhBBPerU8/vmA/cwSSqN4rQi8TDdIJMe7/9QMwyoCYONjiL7uKcBRT+DHwIwfUlUtPJBKvEeaDGIsB/8EhOPE0uclhmTjyYejUKsBx7wjOD3ebrQja4FC4KBmH00vfDiJIz8B3QnGUtqV2tGfZMsAIOQByTfgzPCiFM6RCKYG4CefP7kJx9TlhIUnEAtFxMCC3ybf2jZQAVcjjkUsCbCjCR4yLOLa8hlgK8AkzO54sSEQRsHQRFgIERDEMgOiAhSBEPHl8gHQCjvHHYsPGAj6KhAAkLC3DD2iGycH+TFquWeDmWfYNQRIG05FuCV7ilFWd3uaBJ0f6VrxBKXTcLPF47BAOEF1/8KIeAKPUrrjoohIxDIPSVruUoEeiHDaZwMREdjRHCIBAKUQvTHIlehEy5xl2fe+99mmUfvfuuG+a+ummE/2+1oEH+7uR9NeqxK47g3v9wegPM/z3ti23d4pNZ7N8zwHyOp9Mx6Pz0bV7ep+tb4fTcYXZ2cuGEAVuW727f7QrjfGSFmWAtDZDhiuXjynTO/3ewKDYLfre8qnfd83h4Oj2C6WnZl3240mRQBVUaKiMi8IkHvTde3eboupbvYH0/Sb1Xo6mhV5SYDny4vVw13btMvlnEB2+/rD9a1QDzz5arMCfDmfz/7wH/kjf/Wv/m9Xq/XtbZFlWZZliAqVNn07mY6yLNse6rqucy3CtbVSqkVb79+8PhwOZy9eZpPJSMACtwCAJLZjlXvrT3D1+OZZ4GPbHfVWgYBzsDIKwNHZP2HwEXMsg4hggrcWEETokb0pxWovtafKgJukiAvBAgBki047Ty7EIT8nTpLZROKDqBSRYZ9D3zQdgnzrk2+PJov/19/6u9dvVlVR1Lvd6uHD7e2tMWxtSwi73ebTb3283237vq/36/1+n+ts9XB3eXn5Y9/7HiJud7vZtLi5WX319dc9Myi9PLu6fP7x2zfvp+cXz589a/bN+zfvu64piqLnHgBG4+ry/KIs89vrm9umXc7m9/f3tjdXV1fb9Wa1Wj083IvlrqmrqqjrGoGZeTab53luDLdtu1qtDvv95eVlXqie1f39/bNnL/KiapqmbvhhvUZFn3z726PRCBSa+/umbd+9e9e37dnZmdh2s9nkeTabLY0pNw8P41GlSU3nkwyx1Bn3XT4qUYy09eFweP/+/cvvfLtcErEBhTlpETTC7pgG8LOLkHQeP0SIcSyOFABEaVXSTY+7nDIvz+1IMcRE/KMtTh87oTxxqBM2/fiNqUEqHYpDvfm4tPCnj1RxAxCABQESSvPEju3i4A8OpDzRE084QvvYVhaCrR3Qqa6xaU86pWO0T07Tk59PnsSTm0nVuBSezANtT0fT6Wwi0JVSggNwIyzEhTQJ+ApQYfvTHQJvWGU4Zo2nO5pMJRbPlpB67KcUigpKYnc94WpPXmmNoTCjo6nGKfkqckSCx8Y5BEEgRWIMHIuqAaCnzNV9xa7eaVKyxn2dnoqjrxAkJiIFOTUOKMc/hG9AHRGJFQZhwEInCjyNRpIIr3h8Dp98/mQa8ecRsZ4Uf8Kzw/UYC8NNFDmKaQEYmMfjQX3xPa/9D5FwcNSIKj29R+8dFn6sg+Hxn+5VsTgRwJAzcLIpp5wvfHXq6AiPpcnp6QgO7VNoumeCTfeUy0bLAR3PIap84pUlF+4YMpmOnekYE1aOty1+xkSN98mZxzknzCY54E64ZAC/NwCASCzGGuPqyWgE16cWwbpqvM44x+JS3lEr9DYAIUQgX1eOUCsvsjjfIrpCNYMcAyEfztcNfuSp8JdPKj1SGQHAwtHOAggmdbFw2Nl4HFCeOibMw8mNlM0TtcHpccTJRI7eFfbl0cwBIFHSBKwk/dogUQzcJqevCL8ewn6Oz/vQkY0oYoiwZUDWlBGR6QWt1VqfnZ2dL82tWffW1nXtWhb0fb++X4Ho2fIsz8rmcFCFIGKW566QvEbKsizP8zLPx+OxyvTZ2VnX97vNrspHo1EFGW6aw+ZwKDM9nk4KA9Z02/Vmd9iavvv41bPFYsZs2rav99t2MiHJsyzbW8vMZVmORiNSKs/zXdcemvp8vgCAen+YLhdd01iR5XIhvbl+8w5EirJ8+/Wbj55fzcYzunr+/v1bRVnXbdfr9WQ61kW12qz7fssvnk0X47dv3jPzaDL+M3/2T//yL//y2x/duCM8mc5VXmw2D53pt5v9xfOXi8Wi2e+2u/V+v9vtDldXH3WHrq77r1+/e/58cXY+sYb67kBElKPhDoMJKUrtzOwK+BMRkSvc54//UD44+H/gGy7xjFhEBAe5B+IxefwwuPZqMLBC9xOFZHig4cwMwOrY453SdvT80UdsJimSETmpLLPDoRGBly9fLhaL//Qf/PpmfdBaZ0r92q/+p9e37z777MffX9+iti9evFAgm82D6TtjuqZpskzf391nWfZ7fs/vKUbFj370hdLl9fXt6n59ODRN3fWdHA6NCM4Wi/PLy9F0cjZd7vabu/t7EenbdrW63zysPvnkk+V8wcauVqubm5uqqna7nYhkpPI8r6qqKspM0Wp1Ryhny7mIkMBms8myoigK5Wm4FYHpdAGBCRZF0fbNYjm7uLgoqupwOLja8Kvbm7o9dE2b57kCGI1GRZEDgFIhHgapafdWwEDbdV0xzrq247adlMVkMsmyzCWIEyo2bF3HhkFgsOiBPfQcTPdFjk1gj6SIU5HR/euqysQ7kc48TnLFIP+c3DmSdr75OnlAaQQ5YZGACOqo4CGJiHO54lCRXQBiDDqk7QUSRB2iAMJxwLTWlvvgg2QS283JhBEx9Zy7w3HCoNM/3fvDf46gJydS9ADqJ+wyAKAFveSKiG69QMggwhKbgACAMIRiFWF6nibEiSoJBWQwSmAoasj/PFqAELrx2fZ9B7GSnS+YpTUmia1EZI2ffRJF5AgEALicaIpgZu4RFTPz0EFaAyCAqwJBjk4ies+RMa6pYdgMN4hjrBw1MBRX5IGEiDrDKslsIFdyn7njPnQhdngjzKyJgMhhk5tiZMnHiQgnauKxuCwUxCdkNtZaBzRrrdaZE87c8KlJXhgAh54dsaJ8qFvg8CA5k6Hqc3LghYjIxTjykfQpoUOew0QMCjEze1lXhtgYd18NQeTopoeISOja2scUcgQFSFZORVgHM0Ri7hERwNX+1hFaUcuToev70B44kLPkMIsv334srg3Ad28ECB01bYeIQazByHTJ1YUFDHvq3xkqxoiISacBPPSU9YB0LxUb68GADxiVmPEcgRBQQiJTJGYbfigy0CscvI1irQVCiF6kQD7wlKAP5FKRewhdrNGQAOQjJpnZkEBGbq9NQG0BEWbjGiGAWAXoo18BCaxL9iRhhcAgQn3Q+AFAyCrLHSICKVJKGBhYiAk190yohZzY7nrdakRiNL7+DSKAYgT0Yf1+cylCxi2NhH0A95H8oUCBCKMAMMiA/+DjplyuLjl0AEBFA5H0rEuQiLSOvjIgIhVNCcfJ1o+Yqw9BjopQrGIU0IOiL1REgIUAQwVLDm01hzhOFywjwpqGoVI/XqxFKmIh2OcAwOXGESCSkAYiYmArXChuMW9b9f7rd9v1lknv6lZrEAFjOlTqcGiU0pUdAcl0MdoeuqazgDiZzEjpxWJmgdtup3RpBbpD9+bNm6bvmqa9vb2dzsZ13xVVeT6d931fFFVfHx4+3PfW5Lq4ODuv217pMitKZlBKPdzezM/0ZDK7ODvvezOeTMZVJSR9XxeoyiK3gtvDznI34lFJqq7bqjedsUiSFxVqdfX8k9paKYmy2Wi81+tbrUmMtHtTZty2ncbZ7e3BsMzm1Wa9m0wmk/HFn/qTv/SX/vL/8OvPvzBsv52NJrqQvm/3u5x0u344f3ZVZNNM09313X5997VpX336qbS7rtPr6wp4PFmeS5Ybuypza1u01oq4EkgoINz11lpQ2vmflfLNb5Vv3+Gqtyty1lCM1tBoneJA/UBESHzZfnfsIXh+GAfSISH23bGLkJbtDgUjohVGFGN6EVEg4JQLEiISCz7pBQBccfkQDu8LbrDLUvEOKCNGoxbbW8u2a19+8mOM41///t2XP3zfHA46w+9/8dVqu2eb/ePf/CGgWZ6N0BorVmz3cH9bN3tQcL+6P0jzz/7Tf3Bx9dHr12+UmhPo1fp+tXpA0MT9vKyqjAT60WQJim5u7rq6mZ8ty/Ho4eFBUBXVqG6az7/86uNvfzweTwHg4e5+dffQHvamaZVSpmvm1Ugptdk+kHA1KhHRWtu13dnZmda5tXa3PSwWiyIfd13HphuPx7vDzhjujdkdDsWoUFnBpO63691uV2ZZOR4VRUEs/eFQzSeXZ2fMvNuulVLz6cT2ZtfswTo+CNNZ1TetabpSFwBEZaGyQqFGZCSyClAErZD2xEQpnUqQkZigO9qB1Lj+FZw0lsEgcDNb4zsm6QSdvLUiihRBxHRiQ6L2M4oIoRZGCDXXnbillLLcx3eJSBRoOeRviIiTm4JggPA4ahoAEMlLhk+b6lNLmST2tSOpY4gJxEFo8BUPeNAz0RF8ShMU0w8uKtcpStbrRV6dji+KQmyYgw8RZ4kdtQ0mGZgDM3JWS1+N07NvDOUudNw2ophEMtjIY1yRhKIKUcgL9naMMoKIEwcFgNHVl2AxxiXhQQpNAN9gKPQAVy6HIoqMbj6u3CQmnuWQHjEIQOxTqgggohaBM2sJCnn3nLdyMYZAEYlrPAJWCK6KER3WSlqKW0TECpJlI4yDXiE++lxwqOLC8SdWhEM3RAyXePUg2ikHGRERXUF+1wnAicuYtK+CxGTLzH3vpNhTpc2lLsUbIi6wwcZNTA+G93UcnRFMF3h6hJJnhvGDVGF9cq5TwSVOFR4dJ1cYwUnoRIDoqIavt5cSl5OdSj+fiF/pT8SbnNNJUrqnKVQfj5++2k067mC8efLYCYoCwElEtSQ5EsnxEXBRXyLugUBBLDPTE66AU0u/EhysIyS+cujwAIArAiTgK2NF8Pp+9wCeWjmS7N7oyxqSACAgCXJUTqKG4TQWf/YBwNWTcVMB9vI6uFeEQl4unN/a3rV0AS9YAAIC2qAoMSJ70cCyRSu+GytB8CVZsYjsNAxhdAdFCINtIxDU4chbcApfMOS4BzzckCG0NArQ8zJQ/FPisMfI5q3gaRyWP8MebU7OV2oDCz8Y/vQTODGNuooefgJyjNXDmHHhCZYeHaL0dDw+YifoHQwKCsCyFQErYrMMm3Z/u2ryclxV487Yw+HQ73adYYB+s9lMJhNrZTIeb7b7utlPJpP5Ypblut5s1pttc8Ddbnd1dbVcLq/vbo0xTc1K4/nlhcoyl8e82awnZTGZTQud7Tfbuq51piL1qOtaBFluDodDWY7Gk1mRZ2VZ1vX+sD20PS+W513T7vf76WxCpJmhLCuFlCkYVyOl806sWM4y1fdcTMcVz/OHsTrsu6a3XY07KavMWrPZbCw31rZaaxHUulzMl7/05//lf/V/+j+7u7n96rW8fPnJbrdfLM4Y7PX7lojGs7G1drFYHJrrzebBfvH5uByfL6/aZrdbU2d301lWVmOxB6Wk73u3fcEVg13XofbCrudEiEoxAOg8gyHS1zIOfPmYcHn8Z4dEIsLefOOiWGk4DgIAguTj111NCEGk6Ah1VCoIA8c+HPbDhsAFf/EgH3hEQnd0vKVWaFPXz198ZCzevL+5udvleb7fbh7WD/f39wCii6zer6ez6ux8YcWg8Hq9dq2CD/umado/9Ef+8McffXJ7e/vhwwclGXNzOBw2m10+qvKiMD3f399zOfr2+TNEnM/ndZ5vt9u+b7XW+3pXjUcMMh6PN5vNqKzKLL+6urp9/+729vb+7q5vu9liUpZlNSrYeHMkCew3W0eZjTFd1xVFYQw/PDzMZrPDbn9zfVdNxkrnhq0Q7g77t+/fjafTtun3+33rzFOIk8kkA2iaPRFtt1thW9f15eX5brMtypyEskwhQtvtp1UBtmfuqqo6v7iqxiOllPM1K0TQShHZE9/+CT0BRzuPgh6P9v34z7CnqaObkifh8ZW+7jEXjvHu38Sg46QRY36Xu+MNn+kzEGqfEJHIUcXC9HWpgAGPKFuYwxFHRsSQThaMNTBg74n8Exd7LAkMjJiS7M3HV5z28QF5GrYxNPdkg/Q3/QYTxQJgOIROIHOHN/QMwrhOdlYD8K9iZteAwFonZLtugoyIZLWQ5UzHGIAQUz5Mzr3TDmLraS68iDjECl1RHFezACBIAAIszhwr7DrFgKu7LEE655CAxj7vOgIUAZAZGCGgiB0EMgtibKxhT0TKhyIgoWsWywHu3iKLPi8b40ojI3+E9Ighm+14U51tWwCG7tmRv8d3+UGcUhFMwu5+mkj05DlHPEWieP8EcU+QKQxloyziX8oREZhDSarjn4iADUnwA6YBWhflma4rwucxCYmrGHxE36BphDGPon7TQcJQR7LasF9HB/VUWIdHlVuYzaNn3GNean8EwxP94Zuq9BxdcUoE5PN1Bhw4ir4QHyAYxb5o0HVQHd6TEj6SwT/jcdiJFMBEhKEQS3wFCbBYF1nr65NYx/8YxZeJBBFxBZi8bOFOk0Lv+RT2eROMqB3jd69h6UUUkRooZQj1QfA9atCq0A1UybAwBqeBPMWxYEBsi4JO6wkajid0/pmEaouIQpAQWioiGIODPKyeUAif3FAfsHdMzTUQuDjOOEkQ5yYKToXwcwAAMBLVlYGpeAgly0yPf3jdoM0CAJFyyw8Sv3tMAYFSykCnMyxKLCutc73dbPKqzLIMEQtUh0PTtbWMx0ph1x8O+zWpYrsr8zx3Ve0m1RhI9W1jjMly3bdN3/dIejqemcbY3owm41bk6vwCxGrBdW9QUV03s3xyaBphHI1GImiMYba2byypdr8zXT+bTE1n729Xk+msa+vtfte2/dii9FSNRqOy2m5uDct2v+utnJ1ful0rRlVR5JiDhf7+YY1ku74fq+pwOCBiVRU98+p+D0Cmt0plWaaKcvHf/u/8D/4X/9pfePf1G2PM5cVHxpiqKk1jH+5XiHJom09efTQ/P/uN7/+g7vaWrNzbT15+Z3N3PbbTspix2CzL+n6XZZkr6Y2ONWiV52XTd2k6kKuOhzFE0/sJfctbt5HDP4EtRiQPX6X5RQLHgg57mucOWcQsYu69NdZVg3e2GGQQdPwdvVbuqt9wEH2YPeNWqdKIjCy2F7p89tFs+ezr1zfrh7rf86/+6j/Smo1pEAXQIPHFs7Pv/dinoG1XN33ftabf7/dGuK6bjz7+1tXls6bpmtqsH7ZK5Rppv69BaDQabe83pmfUo0++/e3JZFL3tjesc0Udblbb3W6X53qz2Qhw17eTUVVkum27vutevXq13Wya5jAeV33XEWLX1lrrcVXYrt/1RmutlGrbnogUZQ5WTdfiflfmZd92rbE6yxjQgD2/upxMRk4rE2N1VW5X984h8bDZmq5WSjVNI2zqep9rpTQqpRSopql3u+1iPs7zXGxbZuV4Nj6/uizLsnd0wwuvKu1+Gk9uJOInpz7ytcdU6CkmC3AscEeZ+p8gaKaCgQzOQx+VfjyNU/Ej1iENd46inU8mDF4glChnR9acrsgNGzmXR+1jU11kfSkEXJ+wYzpp4dgD4MTV4NIU9OEIkByB9PSlliC3gKEl9lOgPLX0pQsUV8c9ZUIQxMoYiHnyvhjD5JIVIhh54FDgeEDEnSCCu6rAPSbFrcGyEDGzMZ1SmVIKjytVxZQIIsLjUoPRopdMzNUvQxGBUNXBqW4MDK6DuO9z5Bbl5KchgYZCXQgegp8j+UMRYLYu5ZyZgY0kllGllFJEbGNppQEpHXWDAYGiV0uR8wqBN6sDeLVo4PpHGxvFx7A74ICZnODEJiICyv/cddyOAKQQwxQOlf9FkAUkHAwJh+pIi4vCXyxb5gzDA6rEkkNOQIuh1b6ByFHkNwBjSA9NLddHMDw+xo9Pvl88oCRY6vWipKxHkglKMa0ZjlKEB4Q/IXaIKajcTmEY9LHMDY80b4k08LT3cMBttt6nDADusHjyIUcZyYHQgKufnvBjJjk2GPsyf6eOxQSx/Qrg8YVMMki6AMFwy4LkUlDESwNi/TSQSUQgRphxGNwOkrpYBGY2IhbEgDAIh/q4jKABLBCJ910KiBVQIoDgc+0cpQw1WGzw0oBvlUTKx8lgGorGMR4UEVlckt5xuD8CsI+UQ1biqvp4AEDUYRG8exAR3UFVhJK4K094myTlaYTlMZ5AwmlgeJdfKgAo7+cIv0KOfbHcnbi75GUu//8kK/F0SgnOxIswqXYcaAjFejPumTzPx+NqNh+dXyxUzj1n9/eGmbWmshyVo8lud2iadrN5YIZiVHR9A1338EBZltnVigHns0U5nsymCzZ9XdcAMBmN9nX98PBQZvl4Nu2aVjH0XSciD9sNkc7zPM/Lsqi6rqMCtFLGsALs2dSHrirK5WIioEdlabpuPp60fbdetYaZhNrG5hfV1cWz7XZdHzbWSL3bd8ZeXFzkmrIsB5LWdFLkZ89eLC7f3L1/R2LyPN92dd+3s9lEUdb1/XbTEOmizBFleTY+v7j4l37pv/UX/if/4839ndzBi2cfTSbjjhgIe+Czq8uaTTmqfurnfwYz/eu/8Wudbd+9+XJUjg9tnZcqH2dlOc3H3uKe5apt264xiMpYEzmmj/cTUQqIiPseEV1fZIdNGHElMWpEy1FKxwAQIJQHcG1YT5TJ0BMdg6rmbG3WWuHY+N0L7ojIbFwIzrHILiHSxqGWxWC1ZWaywKDycjKeXb67Xq/ud7/56z/4rV/7UQe784uFSE8KgOR8Of/4k5dn59OmOQDw7d1129aMcNgfXrx6+Xt/7+8F0dcfPnSdyfMSkfrO1ofWGNP3PWoFRpaX56SVFWawm+2u6dqiKFSmr55f1nXdma7ruu1u17fNZDIBgCxTqOhnfuanDrv93d1dvd8gCLOgWK21C12rqkpThgJFUQjj4dBUVTaZTIui2G8O1XjUGssMqsi2++bm7nazK8ZVuVwuM4V3tzdsbdd1zaFrm4MCaJqGbT+ZTJTCuq7Hk2q73U6qUZ7nbHvTdTfX14v5eDKZXF1djacTQGTr0wYAwBtAh9huT5zdR8ejH9F5ObHORWkkUEJ4fHkUOrItAhwxHZDEl5iKxfFPOCZ3j15xxN2CyDG8JTzmqn1DjLxyNJy9wxZ8QKkPloUghQgAuBJbUTBwM0QAHhAeEJFAkCiRlKwTbaJhMf6bkOsQHuPtvINEAT7A0k8+vtoLmcHwKsegSet8pJJkelOnM5CEQ3PighERtpIyOUku94x3r4CzCzsmRMx8LIgPJmoicP61kAEgXjeSuCTHcYf5HG+hn4m1FoTYu1B8kSIRYBNEV7LiYjd9bO9gQnaqoEuj5SDWDuV0EBHRWJPCxFrpOtP3fZA8BsE911opHw3uwvtc3xOlFAIY25GQgCJyshCFCAQKwQlH7pjk8yC7R+AHETlNMovPRyg5z6YFEBJB31TtiJGnskK63cegFnnUkCzFIUepT1ACCCVIY0dfecmAYyS6G8f2PQazpda54wqxtmOKaSfC88lB8m6a8FiykCjLugwEH7F9AtiT1ckjISwuWcKLnKKIx6F18bCIV29OydkwFNijBQ6k0N8PARhH+gkcKSd43J+VYSAFYdfivj9RXjNVUaKOwp5ahxgYZibly0YDAiC7wDg1DO5KSksw3IqTUsmTFWZx5naDwCIW2YJ32rGACShEJIZQuQAYVuDaqoIPuFFIFPw4Tq8VAHKoIqEYo4iIuNw4ErQkPohfAIJI4frAehQMOobPawm6KyM7E3hwxiXwQWAUX8Ih9OwQSCoOxY32O/vIApJiwmPSfPIVoqjgS/EXSdQ28YnTIUGQOlX7T/D50aw8FZdQCVCcFhb6JxIRsMrzsizLyWi8O9S7be1kSGOttT2BCz6hruvHk4nSNJtNus6YvjambVsjjDKZdvVh/OJFU3er+wcRWS6XWmvTmruHzeFwEBELdjodjycjZwZanl3kReH8tw7gZVmCLlfbOxHp+mazWRtjZ5Mxgp5Nprf3d4AswHVTl6PZZDJDxPdvv9of7rrWEGWa9H79QATz83MrYsnm1Qh19t3PfqI97A9od/UWABjs7rDf72utNYoY02cZMrPOHojk4uyj/95//1/+V/7C/2izvi3Xhc4KpfSPXv/wSj6yuTocDtPZbHl1sZjPP/3Odz7/jR9smkZ6M12eXV9fT89m0+l0PJmuH971ph2NKqLeILgsoMhBnJ2IRMQ1d1SOd3q/MUdj9tDXWGLAHTjXV0KWiYhoII8MiCGkMyChL+7KFliMl9rFAgugC8+17IuVCTOT9qfnhLCl7MJTGAalSKtMOBtPF59/+eZ+tev2/e3NvbV9VmabzWY8yT7++JVSSmtVVNR1TTUevXv3zjCXo+phs54t5r/rd/0unZe27/ab/e3q3hibZ9l2+9CaXgi3272m7Ozi4urFc1TUcjcaTfK83LcNi9nsN7vdrijy2Wz2+vXrvmvub7ZtvX9+9exiebbfbTSps7Ozrqn7Zl/XdVFkYrmtm/l8WlUVM2dZYa3dbfa7/b4oKiLVdR0APGzW1WSa5aVhe3F1uZDzDzfXTdcCcJ7nWuvtw3o8yjOF691hv9v1TWOtnU3H0+m0zLP9ft91HRFZaxXhdDTu25ptJ7NRb9qXH73KqtKCMLNC0gqFMRo0IWEfEENej+2OAKfsIz3+J3QJEZ58ON3QJ7+NjC9lduHPwaiHmNDjJ6paDOaz45/4WbETRgUA9IlYEnli/BOP1Ya4TASGUMrJvcc5hmQo/e5jff16Q1E5SGKYMS39AQAozkKcwuebaHuET+g7HsQV5LRvQ8jTo2SqgIg6vRVrBg+p6+Hi06xEv0dByQa2QuRiYC0m8p8jQOJN2toYEwGKPn4XUYR1kMAGec4BHR3BYh4qHsTA+jA5FyFN4As/WxFnJnMdRgJ00fHzGGmKVoAFGFz8DxISB/Ee0VM/8HkbzmZsrbWuzmtvOwGL4fAopaywYspJUSwcARYZRUQjWR4SRFL2aYwrguxauys4OmwQ9k+COCJe6kcE9MJixM5kWCdeEXi8CK8kP060oZ0cCQCIZY8gOZ/pfE7QLhUTExyVkwuiHinxa06FoZCo4SJqvGKXRgWfHODhsBzPX4KH7pSi+dChgT+FkY9MU+kC07/i+NE9l3zHgABsJTHzg/jCfSA+5dnpoBhKIA/LCfI6+BQil0o75BP7fQ9mNXj6GjIp3b8U7wNEr0j8GBYVhL8w6wDTQZ/xOq+77aq1Q6qTRNWRwQdbuHpTVtx6mcWngjCSgGUUALEiFtHF3bLECA1k6Y2gAiIBC6Ic0Dw0HTD8RjgNzSG3BSAkQlGiyOeWBJwkAzzQDRulm2ipekqQdaRNsVjgWBjXSf98pN2I77cQUME3vEzR6QRv09c9tsEk58WjcfIT0ahsFNajo+DUhP+YHbrdVHHAdGIxQiaZJ/lAMqGQg+OHZUYrgFb6zm43ddcZrbNcGzWuNoe9MMRISGv7w2GfZRn0UNf1yxevQOkP79/3BpbLi9XqbrZYtoc9CBZFJo1s1tv1em3Z2N5orRdny+12bbqu3kGhMxExxkwms7bZlWVJApnSXdc93N1bK0VRMPP1zfuuNVVVVeW460zfNqqkvq2txVevXo3H1Vdf/ODrr38kuFWUj6uZJjDN4f663+0OWZEXixEWlTm0zDSdL5r9Q1M3iFhS0XWmbXqt0JhSEyiNXduOytF8PHlYHc4WL/7sn/tv/s//1X/lYXfdmvbq8uP5xRlkuK0PZZ7fru5VmYuii4ur3eV682HVc384bD5+8d3dfnf9/ka9OpvOL3ab1eGwVwq11sb00Q6RYmagAx5PmFkEOWSyx/JrEOmwuLNAImaIVARAVFGfFxEWIBkKEni0ZMvMxnbDD9k6FkTCzCzAiE9Lb+Fm/IrEp4iQCNadXZw/y/T4Rz/8dQD68kdfrh5uxpPSYFuUxXwxbts2y7LxeATQ99asr6/39YGZD4cDEf3CL/xCORr1fds3vYjYrt/v96Yw1tqmOSCiYXt1+fyTTz5llVmEr7/6sm3Mxdnl2bPztjXni+X9/V1d13mWffLxq/fv30vfffjwQSwTsCZ1/f5DVeRElBF2INwbRLRdX9e14/siarlcLpfLvKhcpPuhaZTKivGkKMt93XTGisCzZ8/OLs6ttXW93283m4f1uBoR2KIo2rZlYK11VZSz2Wyz2cynk7zQ6/UaWXa7XdvUZaYJbZ5p7ruLq0/OLs9Vpi2zkSP/rQi7lOWADwMZiRua0IQBi07E4uQDRuJzTE+eMJmdXJH1SBBFEpT7Rlv+IxSKzPHUeug+WDtM2Nre9Q0/kVIi3wQACK2gw5+JLDisnX3xAd8fJszN8RyX7BH/BxA/CwCKcqZmP1sE5XTl42U9li6S6O5kKqGg3CDrgnXGPMAjQWtIH3aPRZYchzoJpU/e7h3ZweIT6T6mgk6oumCZdSqIxFGYDaJSFq2rdUWedoiIj3MSIhKkNPf0FCg+2l7QUQcRJlRECIQuDx/RVZE72uBHKxouBm/XQ4UA6LJz2RWeIwRCGyLegRkZtRPKwCkgFOK5RXyJFRWjV9PIRQhHzu8axLNxZJ8LwoRbrBNxjsZx2lece4K1Ia8COZrknUTMYtPiEsOLEu08OYSQKk5whIjJb/2vkiCroFGQAl/RjL2pW0RiGZlkGuziqUQ0OnUoFM9JdypOLN6Jb8dwblMADo8BSVIZbcCfRJ1N4f94ySIOkgPnizsYT8pw6pLtTsUjSMq6hflHl7fFMIGgFlsAgKS84zHE4rQ5/OjxxU6JTcn0k8if0oG4FneTFCAMKCGWA7XyoCMv14JPMhLrckUdBRQUsEbANRa2KOxqzlhrLRsAozQii7UMIIiKdAYunUOU+MRYREQG62klGwZXqwZDUqrDNhecbhEUgI2RfbF+WVxj+BA3CwCQRCGAHR5jZ8nnKC4DuLD7FM3ivqA3caS2nyD5uhcErgDHaOwZbbIR6cjhtiUgm9zEoJXHAY9RAtKw5hPcQG/RkUix0/thAhT2lCKz05QJ6922vf6wOnQKFVVVUYxHu91uvd0hYpYV4/EYUVlrmkNXlmXXt7ZrizLD1nRdvVxWIna728ymy9lsRnTYbnciMhlPSeF0OmVjM62bQ5ujqg8HlWVVVWWZbluls5y7TmutAHdaz6YLY7umaZiNZf7669fj8WQ6mVdFtmt2d/fXoorJdMRir2/eFCW11ojw7d2OOJ/MzpHyvOmevXpZ5jmBIshMz/Pp7K1P9we2VFQFIu63O6UQMrV52GZK27Zd3d0U40leXX363Z/+87/03/3X/uJf2PXXxarMRrkq8pvtu8X0nJm//MEXk/msedEuFufU44d370RBb+pRmb97/ZUx5sd/4scQ8e6mQURXPl9n1DX9sMuJXOJtXtFeFoUkG3fQx5TG5P7onU4vm9TJtgCQmCqZmU3vbe0hj8vL+MDkbfyoFJFChXAqpIQYdzcZEABXE0uAEHvBajR98+F6t961bdvU28m83K53irQx3X7P1pZKqa7rqlFmrN0d9kTEIL21rz7++MVHLw6Hg2G7unm4ubnZ7/fcm5oZkJum6bpuulzmeX5ze0vV+HI2e/Xq1Q9/8Pm7D2/vNvefvPpIazWbzb5+/brvmnE1+uSjjzeTcZHlrs/xZrNBgtVq1XVdt9s4ajOZTCbTqbW9RiqKbLutt9vtaDTKVIZIeVmWpNu2pSLLx9V6f7DC9/f3WVGMxpVjdkRU1zUg923LbKpR+fHFR6v3NwJ2v99vt+si+0hn5KT2pqkRQPpGEWRUnp2d/dzP/VxZlg2IYR9u6rwfxzWvnjBpfTN5P/rzGMeOuOeT3OSEvQYJ4QnZINUGH9GlJ66nwzWPXx2kC0je/ljNwITRPXYqDhKXj88ULz4joiumgiEYk5RPEjshyEdv9Bnd7mXg02qT9WIiSrmbzIxBB/OPeWNZCkabwhmO2bF2BzgkOw62dmPM0W8SSSXMxvmFvVfOSWBuuxOt2xdid69USkUhjDkpuxOumOxirQ94ZWYQUkopHd97xIScRSAAbWBRXooCF0yPA1tUQ0SKiDMvAeJxEmG0oHlq5UNfmNnaUBFPEYiAZeOMgszAXjhw8dQuJ8/FCIJlyjQz933v3GFpZHxYBSPaELwIKgrTbqKIDjOGdAHm6M1wsftOiooI7X6u9FEIFUqA4XAAj+Q5DKgWoREY/KMi66f4gHF3IgJ6jykykZ9qbGETmZAboet7rbULPCAikSgHq9SlEI5YJAdwckWbYoQThJMTfo4hXOc07iv9YRznhHg5vHVenfjDcBNOBhmgGuy4KbYnb7dxL9y2pO4CRDlZFCTUMyUoT8rsceJOdsdIY5hx2LXQ21BExIKcnjII+l6cvzsviAiOicRDjYOQCs5gAIAoYo1435gBZhR3bgerg6/GBRaPlCIGZEByTRyZmQEVKR9XA0yocPAZWgnVEoHQqR8xT4ATERmA3XGCI2oFATQCSXQ7ohApDgyA4tEhOYH/N13u2LpJHnc+5vQZSdhm2PojM4r/yjMnb9ZJuIm3GcGAct4f8k/gmvH4wjdURA02lEFXZCuIajJeZHpXr7dZnlcVEFGWZU3T9J0py9Hy/PLs7Gy9XrOAMcYYU5YlAGitrZH9fjfTJTNnWUakF4vFeDzJ8zzLc0bJs6xvm/bQak3r9VqALy4uiqLY17u2bauq6jym4WKxvNusFObY95p0npO11piexSBD2xyEDWVFnmsAs99vEQ7b5oE74A6n1RkBE1Khs1K59kxMqC+W5x/ah67rck3T6XS3rfM8z7Kst11vUGHeClTl5Pb6drG0c6Xu7laHZvTppz/xp/8bf+ov/9W/2NS7u+sPQqocTR/u78u8QESzr19/+eZ8MpmUo6vnz9fbzZs3b/q2m44n19f3FxcPi7Pq/Px8f9h0ncmyrG1bCpenLYgOOzzvCAkVkXgxDxsUd1YkOsWVb+qOKM6NctzwJeqyjs25LRMZmmGDR8JAnRC0Jp0psd5mMRx5dgO6aTjJhqIx5/nLVwy4ul9//PHHv/pr/+DsbCHGWts2B8ssbds+e/bs/PzcCk9m49evP9/v69FovNvtxuPxP/OLv3+z2aCC/Xa72282m03TNJeXlw/b7cPDA6ATBOj2/u7y4vliMa8mY8jKn/+F37l92Hz48OGrr76qqrLI8/Pz8/Xq/quvvip0NpmOlFKTycgYo7Vma7TWbCxkWZZlbdexmM16JQCTycRa6zKJD/umqlBlWUhGsovpdDSenl3Adrtr23bz8PD+7RulVDEpD7vteDz+8Pa+rw91vZ3P55vNZjQaAfJqtVrOF5vNZn/YmrZDBK21sKnrZj4bP3/+/Gd+5mfOz8/dBtlElCJEVoJw1Hv+ePejUP7YDIePxVlP3DDpovOU6B8nkH4rUVBJ/kwZoogoRUcpcPGNMvwqIlokSemLPLYHZIutCSU07owzTC1oUUbnY9U0pb04zNM6Q6GrhAs0pG2kJPSYD/pF+Yo4j3gBHstXw1DH7pHUWPYY2ilI3Rt1PKvx7AU+Ib53Ayp0uVxOhbIgghbEFZQAABeDLYJCvv8TofOxCpFWypmmMbZHFTYioDPdd5aIQOm+75lJE1orgMwsAASierYiQgSm78m4fmCKaKA4jo+Ls3MxMCGCrxOkVJBCvI7hSsj5jlxOP3GHARFZkJ3m5hOMBYfLLdEqRULISjJdVGVu+sYY44CmPHcURMwQ0PUxYQAQAlBKo0srEZchISDMll1aMliOOEdKETrngfSWkjkEERPEWOMeJxqEJ2M6l1vg995ZKB0oxaWzBGxAAAAbipXC0Ql332OET0QGZpbkUOEJerknwdcpcLMlV7YchRS4Wub+vBECgCINhGCtNbHsI1nr4pJBKaVU5lLmHZ+BYGJysU6ICDhU6fGXICIFD9SptK0VBg3TjxSUJQRXEjfk/YSCM55FefFxkJVVqu67+yrUfEjkG0m4qkBo08DMIZYgWuKFyCfmOmVOhnpBPlfkaIMSlRUAgNCw170RgP2RIQkNNRPiZY/32ukbGkMvXkc+ImL4JR+7WZ3KByLaOevEuaasMyEQkXAnIopABMWygCFEF6OiAAhd7IUV7MH72IybibXAzD1brZSFnvvMKRrWtUWNjWzd9llWShMqDtmxvqkEAoIoXxSXhQUxo8Ek49IG/AaBF50HNgYAFl3gE7rqh+RR1yhU6MLogYC89MPSK5WBZx5ifZ8sZGZgX8fWbWWI3/fFoPx2Bzc3ADDEyiHEzErlDnGYuwh8Zkb0J5ddMNRQ+yiWCvAIQIQuvwBdc3TfJhAxaTHIR+WQffcJCWobAFphEVCkmBkYiEhyApyr8rYo12dj3K2EVd2ZttAXk3H16bc+Wa/X6+1udQfj6bLr+iyn3a7ZbreKNBuTFWVZKmuk2e+2hAppsVjqrMiInj171rVmt9k0zaEsC611YCJqv99b22qlLs/OM4V2NNls1qv1g1LqfD5rmgZMKyJd1yGhQL/Z3l3OLqu8AKC2scJqv2+VUm1nuk1vmUbjWTmd9YTz+Wg8LVVmoNVFkYuSrjH5KK9mI9PUXdcg8Xa3VgrH43HTHPq+s9YuNmcZc2/g4X57dXUBZ3Mt8+986+f/yB/5c//ev/Nvc23KVV6IXk4XXWtmy3lZltuH9bpr2nKUZVnXNsDS970mRcj/4Fd/5Wd++qeKIgMcFVVubFtoJJv0XgAQAWsFhBB6EALXVRh8UTJX7ceJ2o5/OF4pILaXRIQSrXVMykckJ6YQKWN7jQQCbdeKSNcbsabv+zzPAS0ikiilRSnWGhFyRBeMKyrTjsyLiKtl4BBSK2l7IcyQtLUWFNZ1vxyNF/OPbj7cZKCb3W6ixk29y8vs+bPLLz5/O52Nvv3pq6IomPsiKzcP667pNaj761ux/Iv/pf9CWea7HW3XdVfbDx/e1c2uGk8ftg9dZ9quUzovUaGAyvNiNqM8Q8RCZ3XddLafzWY3Nzfr1cOoKomIBJbT2f39faFoNqrauoG+L7N8NqrWfWca09WHemfzamR77lqT5/lh0yAiI9Vd9+pbz3VerPeHspwURbE3fHP3gFkBuR6dz23Xb+rdYbPLddabWqxRYOez0ec3X6PwetVVo4IU7fcHEQsk680q15kuMmt7tjYjyquxVkUxnrz41qfZeGq4B8MEKOiYoxJxIgs73hH5QiqqQqiOEKmQ64GTcoHY5CQwKkl84IQ4VJyNVlGv9yUiUqAnQy5QwsIitzWRePtSpCggvrO1yFDGCINZLcoUKQckIFfqOBR6EATQ6CMko9/SS8aABGKNL5QeF87GRKE3nLIeQvKMUwM0KVJBuyCXtS+BU2CQg2iIIY+TdAE1XmJCYRcyGnNQLBJlioLhL/ZTOy1zh6iAhAJ9RkRXxQRBoQuVOQGxhBj3uM4oNDC7EE/RAByjIIiIyJiOxE3Zm4f9mEERiTJT3GnfgCmI4C4LB5Csdb3T2Qb7sguRihgZ4WutVZqYrbMmkvc3HC0HITVy+VUYv5c6CA32SMxCjhZxNzsRH3CiwFmOraJCKWWMCS2NxJ2oLEEyTq6oLaXQjnJVBHV0exFF9IPIaN1/mY8U6GhX838mhYRORNsjMTdiwzeY4uJL45FOx0yO6xMjI2IsY3KytHjHgddJ7yLS9ybCxForMvhnTibv3i7AEArRhCeGeSZG/yPopYuNADz58PhX/wSwxAkcQ2CwdJ78MGYOuRZjySZCOpTb1mM4SzrgsJxj2wkdNwN6PIEUnh6QQe0MqRGSgA4fg/HYspI0l0vA4tP8vXclqI4szIaZKTzM9jgxN5435lAMKXwbFO+hPJB/3m02aq3Al00c/LMAQOhT/iOIFA4OEIinJjiCfGCMvzMo/IAgYkUUIIPQY7giikpehOnk03OUvDTdqRNMSNd48iFFV3cjbJ84JTChMAM6yWlVoiPsheMDIiIQas4GJI0JykohjUajly9fKnqQLPtw/7Dvmq7fTiaTIteu5SQCHQ47ANxutxcXV03TbLdbEdGdGc+ms/n0sLNEsN9vd7vdfHF+trxCrRGUrSqRvCyLutlvt+ssU0VRdH17OGwUkZ2ZyagU548V6Jq2GFda69FotN/vJ5NJ13UosH1Yj9QIgKtMa8m3q4erq6v5fPn+/aooxqaXxex8Mpk1ne26bjwe73a7xflIRDJSmOemHF+cX92+f1fX7XQ6reuaiPI83++3hm1RFK9fv15Mxog4Ho1ub28ZLCucqvnP/8xv17b+d/+dv/6wWSldFGVJSt9d3zx//lwptd/v95vtdrtfLpemt1dXVyKy3e8vLi5u7+8uLs66vikKPR5NDnUoE4xMFtj6NnbCSKpwm0ESAw4RwHbGKWw62mgCr4nVuk7otjifrTM6MIMRY4xRStVNzcKZzh1ndLqogCWlslwBYuzkgMGIJiLCvriMe4UVqMqy762xYq0wY6ZGn3z0WVs3//Af/trrr95MRlNEmU6nu8N2u11fXZ4/f36Ra/XDH/zWqJq8evXx9ft3+8PW2m6zvf8Df+AXZ/PxevNgbb/dbnfbg8tgXq/XiBjWToiIisbj8Wg00jqvD23dGJ0VWZbZzmRZhgKbzQYsi1hCfPHixXp1I6yKosgz3TdtU+/7vtdai4guckQkpRZn0/l8zgx1Xddd++rjj/KyUlovi1IpbYRJZ3lZWWFGLPICikKswIhHZUWqv7/dsG37epfneZHppquNtTfvP1hrgSTP8/F4TIDWWmMAjB1NRmDsbDG9uroajUZaa9tx6pWNFACPY8dT6nHC79KtP35soD+PhYFTdnhKmWKkBg/ziR51gMg7XDc+99k5MUOrt1MaGOnw8ZWEegZCF+fo3hMteyfzjwtPaS8EgTPeibKlf16sABzV6vMW8RNY2fgM+gbeETxxDiwgSH6GwIN8iChp7wNItil8GDYag+DuZqvTVcUrsv8AtcGEGeOwFYgNrJCItLOze04fvNKIIEeIgug3zdjBM+Lwj5lB0FhnJmYA8hU4gQHAitFau4m5DFfw+qVxlItIu+ZdnGiNCL5c3sl2AgAIubZSbkmEwZAcfEauJpDPQHAJiKAAGEgBKBRmpa12aXZIRNoJmnbwB4lzvVh7ogh5sIYmGilJjWUTnSXvMSOPcSMi4pixb1DndlRMGi8EJwkBMtz3xmaBUDwiQCbQ/RSnJRHXMJHmENH6INqBjogvBDSQCX4U1i/eNukb6AZ/z9PO+hSbj+8LJm0gASCNw0lldwyxcU+gQXggvX+Sq57C88krJXnxeLsrlaQDYdJxOZHkhTnHdwyZu+k8U9nO32dfh1BcPCUieIAPnUExZH+ydx1AEEYDhh/nDiVkNN4Z5FFPIjwGukqO3nqQ/NDL9PF5APCdlWOsh38yJEcyOouSiDCD0izi0sPde57oZ4GI5Msf+rp4Gsm6KpXsyGLMjmDwPMPL8T7fJbY7SAw+6I3SaH3+9GCWJmHxBYYt+qg2Z7Zxbgp0HED81GMzikGxSSH8zfhztNeRT0e0jAfqMQ7H1wVKEpXbY1b31DSOpxraYIfsXOvrazFji5YpL6hosqJRSk1GU60nddcCgFIqUzrLC6K8MwaoUgqzLGPFhKrv+/1mq7W+u39AgrNlqbOyruu39VugrKrGWY5lUfV933RdZw1qBNMDoumshX4P22a3RRZjetN2OqPr6/eIOB6Pz87OEPH6+lrEVlXxsFkRQamySTa6/vKr5Xg6Hc/fS1bm8/nlcjKdl2WV1e1ut2vbuigKsbY3bTEeZ1lW5PnV+eXm/q6rOxe1kue5iJRlaWyPiF3Xrda9eNkXR02132wB5Pzy4j/ze/5zdWv+g7/xH+z2K2v7Tz76NJ+M1g8PznD+/NkzglvT9YVStu+JqFSZUmpf11NritH44eHu/q5+dnnOZHy1IuyNsDeHuQQwcM2SOHa4BIDQyzlizpCLjMkVH2BBYcmRfNUaImawgLbrEFGh7q0BUgToghyUQlerGRFQoQIkAiQyLMo54QJT8qjFqusMoEJkC3hxdjWbPPvRD999/fb1ZDz76Z8+22w2X3zxxfp6dXd/c3a2+NbHV4D26zdf7fe7yWRyv7ru+nqzvTPd9lsfv/rJH/9OXddvbm9ub+/fvnm33e6JqJqMt5u9iDD3SilE5Qp6OJKbZZkFuLu7A1RZlonA1cVllut6f9g+rA/7LQBsNpvFYrFePVhrIdNaU9daEauUury8PLTddrdbXlyeXV60TV9U+a5pFheXoDMBUEW53W4WZ+O6rqvxCEiprNCKmFkrKkdVkWck0B8O3HdVkTc7y6bviY0xnTWu2sAoH+VlMdfUNe12uzXGTMeV0qi1vrw6Wy7nTdPQIUOdRQoQPWYp6UjZerz5JLU5YcQQylQ4oNEx84riUHw4fhVDfCEJ4YhvT35ydIX6FBzFyOTJWLDMzd9GDujIDjxljzu5UhErsl18pJDgkV+C4SgRlhEQBjt31CV8mG40/59AVcQ1u8STb2OgfwqWOLeTmZ+cU0RMHB3g/AruK53Ur/B+dvcy16s2mZkfH8BLugCgBNgKoxFB7U1kjCDeWJis6mR+cW1uBYjKGdjBbb/ryhJarLv2vCAuqniQdYJP3yl55LzNwkwAREC+PwKSi88PIgT3zL6+qWXm4H2AYKnFoKj49xKmQQs+yxIAwIpSSmsizAHAF0EZIlD9/hEBESjlohHcIYlQ5eBwGaAU99jVlY8K8WMYRs4apSIATIr9iddo+YnT65DgmJdL3JbkFUMY+om9PG6fm36Kbe5PSRx2T2aX+g8hs5ZIOVdv2FaC4KJCn8ONwbg4iJ4e5ADRQ5dWzfDPByE1AiESu/QzJq6PFFwn8H8scj1a/qmGEJ8hAlfcI0IgGuBhIILuRydtpE7JBDy6Tg78ibAYKUKQ+YaOQiegeDzy4EBIFPwI5JOfEJErKYNiI0oxM7qcVN/Gz8Yj7ON9vHoTUQt8wBxRqA/jiKYzQdiT8CGllLCgK3YHZIKw6d4VAOr5RuAB6bRjmfWodxG4oire2CMIrl4suth3ACQUJy0JgKtsEwX1iJQpOp0Q6xQNHtPrdPtOPHIYEmMgOYzpmMfpGQN2hfGPtjvdzSPL2RDSM/gXRMT0CNqO9GSxfLVtrlVx13cdQNk0O2YejUaL3NFDXZQjZuitvb+/H08no9GErZRlud/Xh+1uNM7retuMRs+X58ZI00iR51mW5bnkuW7bWmtNqLvOiMhsNjVNbfp+vV6z7cdlpQiFjaZKk8qyDFhQwPT9eFTu93trDBGxSK6KKtM3b1/PZ7NiUrLVZVGUxdR0vK436+2mGo0O291ut1suyFrWSo1KlWXZYrEodLEx682mdkE7d/v9dDwqiuJwOAALs6y3m77vAV2kPhVFsb1fTy/nv/jP/IGu6/72f/i38ly///D1xy8+zTK9701d1/lz/ezy8m61Apb16iHP87wsDtvdJF9++frr56+e50W5b2pFGSpARGsNiHfT+330jAy9cSoU+C8UMbM1rsBaMD+jz0xNsSvqgCLCILazAAAKetNba42xZZYzs+nbPM8BBZVWCooCSLlILSRShBpJEEUNIg5TKHAkIjrLrbV936PGUuf7XZ2r/kc/fG25eXbxcrV+uL6+3mw2zOxcNG1b/9b3f2M8yZ8/f15V1Zs3byy3xrYXV9P/4j/7ny9H6u5+c3t7fXv7sNvtVqsHlWdzRa6HUdd1prekgZkznY1Go6qqTG8NgAjW9aHrukxliPjh/TsR+fbHn2SadutNNRpZ2xdFUVWlNcZBtus6sDwqyt4cVJlfPH/GSPt2V/c9aTU/W653+9rYq8VcSPXGjMaTw+GQF1VnLFqmjPKiAsuG2bTN/fWHssw04W676fvecN/0nVJqeb4Qy1mWWXalaWql1HL5XGydZ7rMiaXb7lZt205oaQyHs3/Ulijy36fkyFML+pMcTULjIS98e0uKfxCc7TX8zBGP9BXpex1zSWqgDwQKEUmivXwgfSjBdBL6u0fCGdk9gASziBuQIyOIk0qNEcNMQ3PDEOUSfyUAbp7OXqUSDihBUHaR0+J+7crFh+EZ3XzchEOHcnfAXCNSHIrJJaryaZ/X4c+wX4NxPcLvJFXAJSUjopbEGqq97ZPZWgxDA4BrjpMAxddARiRSvpcx+m4mgi5K0oP+qB9vYBJeZAEAl07iUMR7LjA2Y3aQYQAkAteorO97RHQNzMC51BWSZ+riUtkQFSlfPcfL7ILihgURsS5xxjcjxBi+TGG3EBEB2WXzKC84xiswVE8Z/epU9NQEnuqMyCBCiJRIruleiojSjq1aFoaokyg6aXgZLwrcNuwte3thKESX5p+6QPfw0nAYPF4fDRsPeZTUk/0aJPj0eT8fL0gHPPadJn06MISQmMdSgkdlB3oiAG96D7HgEPZlQOVjKWeYhluXOzDJ5CPFOSJeJ/TrMRDSNx6fokGvc9PxZwGiXnHaBhUAYjeu9FiKeAtxXI+IBNUC4krjn470wTEKpYgEx8lA6YaePPboJLpvE2wOxFqO9FhBCWExIiHMUQIODNhEgPLIgaucyOHDAS0kOOBC7VxQCluI8He4wWyAMgkUBgJ+Eroi8jZaFjPl8m0IADJRNrYgdZo5+eOBcdoq1a+G+RAQCAFYAWeCCtGNoBBAgEkUI1PovDv4cnzjJsdXfPD6iesm3Z0UD+OGpozwMet1K3JRfBL6UsafBLR3pDspNJGUFj2ZxsnI8Zi7HQGvMsU5EJGwUWyVobwcXTx//u22VZuHmw8ftq3pi6I4bDeM1HdN3ZiyaMvR+GG72e03iLjZbPreTiczlxw8KkZtb121jfF4Mp5kivK27UfjyjUkKstyv99btpPJZDqd2r69u7ltDodMU5ZlVVlst2a73S4WC5c9xcxdW5uuF8sKiRQCg2mbxlCz7z+8+erjT78zn87n89l2vW7bGgD6riOC+5WZL5f3q9uqHAOwtdA0jbVWCIGobXsAyPP8cDjsdrspTcbjsTGmrvd122ZZtt37sicicqgqJpwspv/07//Ft2+//q3f+K2r8+zD+7cfvfhkuZz3fb9arRaLxeX5+cPDQ1EW4/Gk73uFVGZ515i+sy9ePbtYLE3TuIbfzL14Ww879HYZOOg6cAEykRfkQRES6lAZOeCP0y2j7pegASlFiGiQyftbKdOaUFsRQShGYxKwtleklVJaW4EeCElrBRmictGyMWwaQaGrjGdZQHrpSZPpmJCqqjpbvJjPX/zMz6r/27//77/+6t2Hm2sXePPy1csi16+//OL/8/3/yNp2Mv1YRA6Hw2Qy6i1Y1n/oD/+BVx89e/P1Bxe003VN13Xn58v3N7eIOB5Nm651MosvjqHg5vZ2vLi8WFzlo+loMn3//v12twYNdXPI83y33vzoh9+vqooEmuZQlNnFxQWAfHj/PiOfide2bb0/WOGzFy9Y6/fXN1mW1XX36aefjqazh13NSjVtP5pOSGfFqMqr8mG9LcsRKtV1XYMNCgOY/WFtbNdu9tZ0m82DFTMdjWfL2b4+aKU3h7UIK6WyIp8QKSStNWOf53o0ygE4y1RVFUQELKEs3rCJQSWDJ68T0vH42/SxgQQBpG+BR+wDXPs5AGt7ItKaRMRaIz7+M61ud/QiwMEHjogYpGoXxyxgEwUhsNX0TznC6pSQhukdUTkRIYJAI1NFJZRFkcgEQcDKYJccIiAQwfdF9Wb4I2gkSwtLFnKlCwRdYVwM8WUAQQABAABJREFU7NUtyC3Z2yKjbS5JKnskYnnRQBAHA58LBdVKDVZtInJ1kfreuKy1MIgLqyARIRU4orMEKEwou1temjscCkYm4oJndK4Vueu6hoQu8dVaIhISY4z4GslChDojV40sJhOcRF8gAqKwt3wDETAwIggYL1t6g70Eb/ZgeXDObR1kb0JwNaeVUo7qRanL4Z8HKwAiuF4WgX6CCNBRr2kODiAgX5N6sJ244aI3Mz0tTiE5xrkAQ5taiyVxzURsD7gLdkhXTYQDSK4nWDhY8E4McOVyHKsYYrmOBY7Hx9uTlcSwRyFjNUV3t4McxvF+leNZRaH/5H7A6aiUPyFkh68G8KYHPkL76AQm1so4c/iG64QyEg2qwnAcEH0MUWh6kkDPexIAABGYg9IYrAwYdiHA82jjTvZxWPOARZGmS5DA0v4JXgQMEJDYw+ERGAHAhbekvkUvyvMx/qCAoB22SZzS75xWYC2zs7WHqVprSZEAIQlbscKAAEhACNYRRF8VNy7Bp2Pi0VsdPsRzh6g0ofXt84ZOkM6e4iJ20qTbEB8ZGxxxOKcq6jbkQpGARCyBErEEvk42Bgaa6GZy7Oc9wvyTHTzGiqMLEiRM6QMkvpoYjeN+4vpCiMTonWgg0MNyT45S2I6Bk0nAWjHJn4hIWVZYls6AiB5NPv7443K/yXbbL+bF8lDvVg8PxhgLzkpV9m1TVdVsNhPG3W4ngrv9tiyqyWQiImWeE0HX1MJKadaVns8n1UgfDty2bdv2VTW2th+Px1VVqfPLzcO6y7Qm3fddnmki6vu2aZr9fl8WBQBrrbk3CpAtk9aC0Pc9cF2U+d3tu+l8+vHzlwZxv9mh0G73kBfadL3KtLVWKahGRW+arunb9sAgs8W8adrtYTOaTMbjMTOvVnebzebs7AwA5vN53/dFVfXW7NtG7/d937948eLN67dX3cVsMflDf+i/bPq//tUPv1x8a/72w9effvrj5+fL3e5we3vrlIHtfo+ITdNcjEcf3rylqrh590FZeXZ5bhilt0WRgWgRl/zj0s0RvI2GAMmrlaHmKvgg1YB17JFHRNAHdAEhgYSeL8p19gDDokS0zl3JFGt7gCzP86Y9lGVR5UXbttb2pIiQFBWEuW+Wh2DA9UJ20e0CAKIARIjYGiCdAUDbmdli+fqr13/3P/p7Nx/uDPfGGLC27vuP6Plisfj1X9uWZZnno67rHVGqm+5w2P3sz/3k1eX5dr1Z3d3f3T4UeT6fLtq6R8SyLJ1Fv+97J046BG2apqwmWZat1+v712/Hk+mzZ88Wi1nfmtevX88v5vmrj15/9UXftFdXF0We52WW6+zhYQUAWZaJQq211bpuu/Fi8fzli054dr487Jt8lFWTqWXorNGGZsultRYQVw8Pi/n88vKy67q2t2WVa8K266ztJuMS++n7929Xd7dNV4/GZVYUOs+gBgsshHlZoEBzOBBgVZUionUuIpb7vMifv7waTUdd13Hipw0HNlTzi0T5Gyxr6a9OeBY6ovVUJEnyF0cRMxJSACAGEnA5lxSMV+RjF55g5YkJSghg6MsZghUh4I83iAytzlPZF4Kxy0tTialuIJgYHIZRJj4RAERCsW9vzj2VHEIC3gBdomygk8AwlFilOEdEV1tXoTzRGCtMY2DBESCIcBIBBUHIibKEy0KOVFq7PIzQIM1noztZ1g03MAwUEKHYwC9UkENQQmhtL9HcK+wAyWxiItrx7COTwBiF6f2/RKJcs0OFym+HUgTsmsnpYDwIDj8YQim8DAyIKMpXdYkdJQHYuhw3p1SJMBAhAQKDEKANaIHo3T0W0VklcLB5RGHaZUuABRBEUs4gGuJtHNJELBERZBj6bCVuFGEhIhx6DosTibyl1gNgQKwY50NEaVhLnFsQHGyKx3Ha6YeIiClCnKBOIlVgeieK1CejJW9Jg1Y8WJyxMOwIEpEMoZmDSJ0ICqdawYBCRwsZ5CTXRBOOoy/CL9xK41SP5pnKrHKsCh+TrScmk1KHQCU5TAMGrc9fPqjuhM6mi43E6PFOpbMFgFjxJtC1Iz/JyYCp+BhPTbpx6Z/+YQ6b4qFnKRzx0/lIkKpDBpIARNt8gDYikthT6wgEndz5XiDqZt6BYwHINXwAYhEEV92R0Bk73XtAJGjCCADKDe4ChR0wybVKxoAzEQ0GLW7IRgVAYAQVEgMUsjBaZ2sEUCI2fus020CXlCcvQ0DkoNifZJ08Pox4fCX2mFPZPQVg/ComAolIrMHqVhh+SCkaAFAaqBoPZni/AiftBccdcwsAqIFFC08BVkXF1m73m7aua6+NW6N1TgRIUNc1ABRFsVwumfn2fsVi0cdAmnE1NsYc6pVS+eFwWC7Pq9k0zzOlUSk1m80Oh53WORGVo9F8uVBKcdfWXWNsh4ij0Wi1WgFAnqnD4eDCqkZVZYwRZCTiQmulhXC/Prz5+ouiKM5fvroBqOv9uKpAQd02Csfb7XY2nx4Om5ubD3muz5ZjpbPZbHZ/fz+fz4uicOH7k8nE9N1+vweAtvUeFSRhhCzL2r7LVyvTtPvt+rOf+vGymvzRP/pf+T/97/8P2+2mzMuvv/768vJyPB4DQM92uTj/+uuvX79+nef5i1cvrSXFAJ1Z3d47y7FpthcXF0CKjUVAAe1EhRCC6AocqehAjR45QXClkFwBV+uiEcUfOicKGGOV78Sn8qzoTScirtaCynRRlbY3ZZkT0Wg0ErBN35HKlEZSAKJJZVrliMhiKLiwxCWMASMqREClgYGRFWVnZxdscbVa1XVdZmUniglX69X8fIqIm80my7Jf+IVfONRbnQEitG2LiNPp9LPPfqw+tHd39/f3D6vVOtNV0zREtN/vz87Ouq6rm86F2xljmGsAyIpKaw1CRVHlqts8rEmhW8snn3xy/e59I/ajjz56uLvf73amKEhPuqZpmmY8rpDlULcikmXZ7NmzydlZlpcPm/V4Nl/v6uViaZGyLD+/uHx//cFxbWPMeDy2Rmaz3FpbPzyISFVmGULb1Zv1nWkbBt43+9b05+NzUrheP5RludlsiqJARBApyzJTWiF1XadJIVprjdY0m0/yQnEDfW91lhLqwVgbiXDKN+W44shAzI8JjqfGiV3VoVL8PkqNacsXTzXUUCArGoCiuf3x6xBj1OJA3MT1yhxE9oHQDRVFUEJsPIiIigJxMpJ4I6n/tZcJfSulIFaBi2x0JlcKoctpJQOOFA/RJ445znVizvOCbmjgiIgIFGR3x/pBuULkkNqHUGRodRx2JzVAD8uP1N+VWw1PDsK9BgAXeeIijN0ort5QIOVHEpiLvUbCWL1BwMQU4pQlnLCZAdROyQNiHzVK1vo0VMepEdEVnCGlWAyAIAqFFEyXi5lyrFj+BQFD/Wa3PSrwaBdFjSKYZS7JJvh0lHY0Cyy7QgqkHClkJCHCUNvD+ytDuXoUX4jGhS2Ts3K5JUa4x7bV6aGKMBnOQHL8QkLSIIclC43I/TjX8+hoIQkMAsAgsIY3ut8eRVYM73gq+Ds+H/9M8RiOL/88DXsUj7f38oe3uP84TUyp4QjFFJwTWTN9RYpd4dwOyQPDNgWtINYTjEsOazmSzt3n1LOcYm/6xvT4JS/yE4Coaz2hC5EkLqM4qxTaAOBIQ4RJpFwnU4r4n1LqEyts/MnjvcNBoE+sHT6m9ojswFPYAkNprtMNAkTHXwSYmZEECQhRxNX9FCLSWht3OBKAO0FfEUlSK0DAoCh0QoGfCYI/OwPzQEUgviCsg4FKwpAk7pcveuMnG95rHd1gsW5gdFF4TkXJgsAUNBMRETESShvF7Odhy463IBzzo6I38ckUhVJCgXj0fLKV/k7wCEv40eDdSkezQ4TlET4Yw+kbJRHciVyBSFe6PnylxVpB57DgygpNptnZefWjL/eOaxzqGgittZvNZrk8X69Xm83mk08+cWWwDUvXdSJyODQAMF+eW2s32818di5iRfrb21sEVRTFqJpprV3mKBEZttP5UpM6bNYt2Oaw6/t2NptlWVYfDtutKXRmrFFE+/2+73siyIoclepsZ3qbFfru7qY59D9V5OcXZw+31yIWjHRdu9vtmFTPrbG2adrx5GK6mLb7bV7l4/F4v91sNpssV8hCBFVV1XVdliWzscKb3dZau9/VzHx1ddWZXnqz2+w//+Hn0+Xi8urin/vn/vgv/7X/nRXrWm+qvACA6XRKRBcXF69fvx6NRuvVw/nlZW9FqUyYD/s6K/P1aj2fL7UmD21xgoIkzDvmOaAIEIX9Ci4ar0QJn4gdjh85D0ye55PJpO97a60i3O12hCrP833fF0VVVZVSarvdlmVZ5i4R3FjLIKQoFxFrLIQ6tCIuIh+dnaLrekVlrjMAPZ9dfHh/27VMRJeXl28+vCeiYlQ9e/bMWrup65/4iZ+oisL2DbMxptOocqV/9ud+igBub+/ev7ve79rNZtfUD31vptOpc7OIyHq9VkqJ+CXneX5+eXZ2dukWu1gsYLNxRkmttTHm4uLisN86DNRaTyaTtm1N17VtO6qKpmkAoCzLZr/rTE9EddcyyGqzHk+nRVmiImNMURRFUX3+oy9/7HufAZAmtVqtqlEOvvWhbZqmh263WR+2G9Rqs9tmhVZZtdtvK676vgeALFcvnj3rum51uyIW0/XAUlUVCuwPOz1VV8+fXVycudobSuloXIgUMn5Oac4Jd4gi9Qn1SPHh6IFwL6F13jCRBpp7duP6tzt3KIQyiMO7Uu7sCDACwFArBBkB0zZDYSZHCwFvnDo1MKXmBngkz0T4xMid+JYUJlHmSWQG/zAN9dYwkPdj7cXLlu434soED3NARl/xILGtiODgQHAWvbQMzOlU47uiGOPnRqQJ4f9L2J8+S5Ik94Ggqpr5Gfc786yjq4/qbgCNBikkh8cMGwR3dyjcEdkP+5/uDEnZEYIgCXLIBRpoNPruuiszX74zLr/NVPeDmZt7xMsGQ0peRUZ4uNup9tPrp8IWESOt+uQk0HFkLHNfqYv62VWEzNIfZgYRewUICSz4ZRTimznggtBN8IJGANFZoVCECFmRiCCDMYYQBNlp8ASASC4/KoDoYCQLmQ2IIKMMHgQFJADG6T1GDJLyDNmGlUYAUeQtGESEIKTJhR8BCAArtISEwKSHmRMXIAQA4iJgvSENRBBBKR3YYxCdDZFDLgWqg5lwExqArFv2BF74MjOSc/TAaB27BuPRZHvI4pw+6EKR/Q6hPsxlfDCDRwnO6ul2xQBpXOwXeYesG1m3bYf2YD93Igda4HizsQ1OW3TlQsCVztQ+iJaZQQgpWDqlV3sOFBKXRevvPzqBHA8VeEeNQ/8W+9aIGBBwMK/fouGHfUedxJEQrQO91GAiINLhnqE5AH4WRKRnYEXfZm9w9XVP3Vy4cRbx2qZSBOAZ1sJIggff6ItX294XIZ4X1Wn8tseF/TwFb+DAkS+959TJGzcQMraCgCcTpUGssiJEJO6xo1tOobAigx8BYWf3cFWQmZy9jcG57S1bgaHOHFiLwk6aCrN2ZZk82zqDIw9mI6BACSklIhoUM4PjyAE0VqIoMgLCoKIIhJjBBdRGkQ40eMzsdC8GQ6iBBUAUKiK0YtHp4+hqDbKT4ooYyAt0heLp7Z0OIqKcKVIMoBKxIAQI4eBUKAwWUSGwUyTAhQ76tekDTwFAYIjywl6bGud6hc0rDMKglNeT2VhEFGYCRAFUsbVdP12MXlexIYwewDnf2N0aFbnl5DwDbhkyAPbJKKGgJgBZkChSgRYNejMNOroet6GUQgH21XtQsSLVCVpSwtCmeppH2cVlu9smm+3WMM9mi9a2bVcAJAT52epss9ms79ZxlG63+7qu4yRt29ZaJqIvvvhsNlsIkFL4fPWejsTYtG3bsqyyjHa7XZZlURQhEgpX+1LppOp4Nl2xRQYqy1qBI0fTxpg4ilzwutaEwrZznL9qmqSgNIjoyNy9+XwymZTtrrGqaRodR9y21loLk2QVffSdD7NpDsCS2OnMqORtnCYMtm0q07QXl+f7/b7rTNPuFvOJ7WwaJ3me73ebsizbtn2wm4hUQvF+V06z6e5mM1ssfvTH//Lf/tt/m+f1vt1mNI10VtVtZ3ixnH1v8d23V/dN1zamNBbF2Gw6mU6ny9Xk9PL87ub6bL6MSNqm0lozAgeyX0XAoJTqOlfkV5QD7KTarqNIiyC7Ckoq1nGskBaLxW6z3e03y9lyv98vVqcuMCbLMqxrlz5Oqp1M8qIoutbs9wUzL5fLKEom8Yyxdn0nwHgRV6ZJ4ziiWCSKoqgoiratkyQGAMudO9UUQgfN+cVpXZebzbauqt1mCxZVrGLMXj45v7g8//qrL15/+VmaxHEaXVxcrFarutrX5Q7JpEnUNe1+u/vqqzdpMhPQVV3tysIiqDTibVPXTaRiQCrqMp9N67qO0iiOp3E6RaSu65ROLs7OyrLY3j0o1JvNZrVaJTpKI50oUgq7rnOOiKdPLnabh7YpWtMZw0opVFTbjmqlKBErJGo5P2nKWkV6Mpl9+P7k9dWbt69eP3/+HIhOTk4AjBK5XC7q/a7aba2ptDCyPFy/7ordyXIZxWqz2VT7UoQ1oBVYr7eJVnma7TcFAWqtuq5JtYq0Pr948ff/wT9P89Vms4uz3FQNDrjZG/W8dWlA6k7u2n7/+uKPR1IIjrOh2GOboRSSOxCVo0kZ4U4LfWRvHyI4KAlj3SAcaiEdExGxjxlGp+YBuOp7SqnesCj96fwYgh+Y5N3jXCxxYJvpedyDzSIoNozoD/0emAGAEA0PdU92dB0KB0d93xFkFq1Dqw5YYnogAYjsQDn5c/PYKufnZST/xwqY5SbQA4bTGwBkFBrq4jtcWoCmAzA05BZQb1PHgbvel8PAAY2H1xBf1bNA+G4T6N7JLsPYwUA7GOZbfH6DDqAnuImVUiDijAoDAO0ncrwuewg2JCQiohIMAb+RCsE2QB5Sjql/xM0fOi0KwQd5oy9FgBTuND6SPZQjomBfH7uex39Hc3Owo3AgkAFXpgnD4T8aWx4cWIcbBgL+pqAG9o6Cd7z8MA50Jf1+GwoDHUxNaEr4rXvDtht9OGrtiA2m30Iio4xGN8FhNl3a8fhbcAvywJo72sww3HY8ROOfQ8//Om7z+L3IMD79opU+2vvd9mnyJS3s0bcCdkx1398KHK/2eJ/3zz02fox/+7t4tUJPx7IjfO7G9+gnj1dL2J4HwhGcWoYeL8ogI/0FLONe+JDvkZR0zXaS05kgINRuZIGeKgsRXR1HBo1kKTD5uMqpEuQPdWwRFQXTAA3cZOOh6NfA8Tp3eQWOP94xB8Cg8YeJYMSDoWAxznNn2boFCgij2iLsq1qDOJP8eHWiV+Tce///YYV4EQrBKO4HlhAk2OMfT/qQ7BXuNZp313EB6Fm9XHL54XEOwXSCBz8ngT7UJwwpuzFHHEkwQGdNBwAhFAQiRURiAVUcp5MkmcXJPk1TIl02DRJqNZnNTwi75XKJiNba9Xrdtma1Wu2LMo7jLIvSNN1u93d3d/lklmW5zz3wByo6XvZnz57s9pv1ej1bTPPZ9PbttVKqbOqzs7OiTLq63q5voyiaTKe2bbquc0zkxhitFSJMp9O6bUARopyendV1vdlsXKfKsozTpG1bY9o0TdEyGLadaYvKcifSaR2dnZw3RemUgTiJAMBa23ZNkiRt2yKio4kEVNbatm3jOK72xZOLyziO7+/vT87OVFmmafrixYu7u5u6Lgn1cnmilHLlUReLxXK5TFJdlnXX2dXqMouztmhgOp2vptEZmrYp60ohudwypagvIkZKUdsarXXbtlEUGYBpmgHAvq5izJGQ2EO0JIrbuol19Pz586Kcd10XpQmCWiwWb968KYpiNpuRgoji09PTui5dUBOIzOdzY7q7u9uzs7M0mcRRVuz3ZVmWZfP04rJpmrZt4ziyxsaRL5hlrSXUilQH7XZf6CgBgLuHddu2bWPEWE1xud+DVt/6+FvGdK+/+tp23Nh6dXLy8ccfiwihff36q+Ui6wyv1/dtV4jI27dvm5YRNDOv1+vdbkcYE1EURUmaNV273W4BaDrVAJDn+XK51Mmss7ZpmqZpqqrSFM3nc0Tcbrbz+VREyrKKokgrFUeqKSuxzMxVUWeTXEQURXk2ZdJiWSURkbbWpmla1pW1djabXZ5fdNZUVZUkiTCzsQqQAPMktVVRtEzCwLataiKq67qqxFq7Wq3yNK2qal/XXd00bLIkz/O02JVdW2WJKk3z9OnTf/EnPzo9PS/Lcjqdb/a7OEpYDkpeBFnRZxkdHJ1H4GwQNeGYePTtoSzFYAwO3psDsOHtmBCOo8EQNLr37zrjnKDyTwzWq0GkB/oHgEGd8GY1eXc+GwQAMz4Tw5WPrx9rL33XjmMNhvsenpUHDZDjxvi7kXp8q6ORf3y38QXjBhyc1IgQKKXHTXRfByu7w3/M3nHg+tv/B66UOAQrrydeHJ7oTbbQ5x+4SBIYuhowyjgoHBFlFGRMRCBC5C2Xcpgmf9R+f3z24MmlnJEwu3Aun7Q3TOq4NImLYlB9AoSv2+lMrUjo15Mgou0to64TR5MRNklYCtRDzWG2fEq18/i4YRmh48H37U9hEXEWaEeYAxC+CoQkw6+pL9V5NP3Ym7fdaPtS8oghBmCciD1eQCGEa3xDIm8yx5GW5f4Grn3pfXZurDprgghAFBDH281hI7EnwvZPP6qe5b/wkWro2Wx8sP87NkaIDHunEHHzj4jujhJQlXM8wEC2Feo6kUe1Y4WB3UIPT3QtHY+5c1bgaAylfx23R41sFeT3Tv/8YZsERyG/i9Lb/eZgxMAnEvUeowMpjIiA7JU+dB2XoIE71N6r9EGC2/BPgGFdjcNmRPryTIEmHR2RIosgETA7ZZRFAFCBcpkmgEioIzEGASmKPGerIodGRGQcKT6SAxSYB8KM94xegF6PZKebs7gR6ZkuEYEZxGenADJaEGIg7u0XEChtxNF6gEIfM+lWBfmFdMA/4OaP+neuSMeYGBgQkdRxBsJR78K6wv5gG/1T+mPOf46Izu/hvgi73m8x5avdu2E8EqROwBIRAI+B+xB94UgRFIoQi+gom84vV2fvp6/+lm1uWpMkSdvZdLLojIlT0zU4mUy6rhNBnWtjTFNX1to0la5TcazTNE5ivd/vmqpeLk4YdGlrRFmtThaLxb4svn71BlGiLKY4mi0X+w0i864ou6pSSuWTCVsbRVHb1l3XddYAoQsxs8Lb/VaQMq2LqorTZHWyqGoDGvJJqjR2xrgzhSJ9sTrdPayvr66syHw5PztfTiZZmmZ5ntf1BMSatiGC1Wpxd2fqurYduVr0u90OAHb7Ok03z549447vHtYPD5vnz593nb2/XwPh+x9+ZGxV143lpqr2k8lcq7gsy/V6e3+/ySdpHEdaRxcnp0mS/c3f/PWvfto9/+DFhx99KCCoIhUrY0TrCCygVrvdTmstgvP5vG276WzeNE2SpUZ4MpmdRjERFfsqUno6ncZaA4Cezeu6FpG2bXe73enpabGv1uv1bDYry3K9uWfmSZrlee4y3JxaUhRFXdeTyeTq6moymbqlUle2q3gdFUR0e7vO8jhN0zjWmnSSRF3Xbbbrtu2USkgJqkhFMUj1+vXVz/7ml03ZEOg4jieLOQncXd9cnj+xpo0Vffz97yKo+4ebm+u72Wzx4QfvvX179+tf//xb33qOiopqDxKnebZcLkVkvd1Z011eXnaW27btuo4E8tk0iqLFYjWZzBBV07Sb7b6qqs40Ilg1dV3XSRoxc9d1RbErioKZXzx5ogjui9vtw7ouS0TMkrSqWxEyRjBCrRLD0tRtnbfLxQKgKMuSCCaTibJYl4VCUErtNttY6QhBEbR1Ve7XbVOu7++YgZmbpplMJmkSAYu1XBTFviiyJAE2XBs2LMaSErb26fPZj/74nz579sQYA0CtsY4yEh9hx/68dhLs3SHKjw/EcJ+jC2gUgANewWfs0/KUK0mOw3lEPWwd/RXEgX567FsUliCwZQjLPGhVf5J6wTiSnwfSfiwaD6UlPhae/fkOwYYIEOzcg8FORMTz+UofwHscGCzhID58kByaaDHY3SQkGQ7Pcch0NCl92yhkXh2/RhGsIh7nCADoI9CplGsEsKBzQ7tTL4Qmj2CuV/XcuukVD8QDPuwxU9wwmuM3Hq/jAEeg14ewh55KKWEXwHAcmU19jmZ4fphDj9DJxxUhW2QwbALKFPGuJQAAtAhIAu4M9cPjFxl6J7nvL0Af0TGQH6E37josFdhvhrOZjqFG/2bg3EXv43Z3Hi+aQS90cL833NGwXEZsgy6peTwaoRlhS4R96wopQ29gfdzO0U4GFwHgewzo9nOQIGNZEJBciL32dw4lgsGtLXYRySoikHF4rl9talQW/rDxftEfiaHRng+j5+KXHi8/9y33sWA4TucYxrJ/HX0OAHBQszY0JgyyIIIzAboc5+EmJGKGIBY/PgPH0Tu07YOfjxoGo5eMLO4uFyV8HnLISNTB9b0uyjSAszCbzKzdxuytv06v6y3ohwZ+ZAgcW+IVe8/J6nA5Ws/m6yWGqyQDjiEdEQG0lQ76natID345Ghata0Q/IN4yhENG6UF6PotXIKlvqwIETw8L/SS60HZwuUMO0ToVwwWSiQgKimdycBKNsC8fgX3luf4sOThp3N4Ma3tkknLqt5d7QWE+DsEM3OqjWRv/CwBwxEPamz/6TwhdJGA/eggAoqGvOy5E7iQbSU4fJzPSz5FG61BEXKU7ACCgKJueXj799quvXm/ub5I0k4aNqHJfWDKsVPmwn8+Xk9m0LOs8z3dFlSSJtSzMxrRZNlFRUtdtXdfb7VZFOonm+WQiIlVV7Ipt0zQ60cvlsm6rqqrm00lVVWBsuS6TKE7iOI7o4eFhu9sZY1QckRgXYNZZAwCN6d5///0kTW/u7uq2QgWT+bLrOq3p6dMP9kUhInXXLhaL3b5YbzetMYvVcnV6MlstjWmbXoK5KkVN00RRhIinpyut4/u7W2c7d2Ro+WR29fZmNpkCQKSUiLx+/VoptVgt0zT94IP3Pvnks125QxWlk7xrLSjKppP3FydffPFZHMdt2/7kr3/85PKFrc3V1VvTdaerk8vnT4Cw7loLAEY0aBGO47Rt2zhOADDNssViVdd13bWIuLl/mM0Wxa4wjUmShBhRKM9zl/RRVdXd3f3Z2ZllqOsaEc/Pz50NuygKnhillNZRXdfMstutoyiqq4qINpvNzfU9smRZdnp6ysyfffrF+fn5Yr4ytl0/7BaLRZ5nVdWKyGy6TNMUlCildrt9WdYuvny9XkcURUn8+3/4g8lsWrdt3XWN5ekkvzg7T9O0bhtELKry2dOL+/X217/8edc1y5OJIh2nOYAuy7JtTJpny8WJWI7juNpt67pGAoU6z/PFfHV5+TSO07rp6rYuikpIJrNZnCXFdlcWOxHNbG5vbqztTlcnk2lOXff26u1+u2nbNtaJBqnrNtIaQHWtJTY6ifM0Lbjc7XZKqSRJRKTrOtN2cRyXbdGqZjKZQGfbpmulQ9s93F/vi3VV7ffFNk4yAFAKszS1tttut8aYPJ9oVGVV2K41YtqqUYRpRtP59PR8/uTpiSCbjrVKGuPILs3Y/BQgVn8CHGTI9MJnkMzjgyCcyDA6U0ahFh62hV+5wCdEdHSC0IMWHJlZZXgWDParAxjtOckcZO9tuO6ycM1BpfCRiINxfHnPzntsHZee8qE/FPxPqUcvj3GxxwwAPk8bXLJWKCh5bO97x2k7qAEBBgQIdjDyw5vDQmkygvvHDfPm3bFuFK7gwBF2dB54y+LIfsYKABAMDpMHEuKBPLodnhcA1ihK5HG3D67sT53xegJPUqnA1+IZcMwIQnngftSXPuIeBaw3eokvUSujFwD06heTkLOyg4fv2Md1W0Ds+wsAoBS5ku3SU/EIWHcEjm/uQDy6NoRhdyz9RAE9eNM7AqLH7sABQwSbqDf0MXvW0YConbXRNZTceCAjEQzGeD/3R0qpnxoZ3CRH0zT+8GiRuTcaDwzt0C+xztrx5zxUGA5spsMEYk9jBwAhX7t/1rBwg9KMo1zMd24n6G2NI/j+7ugU57whX1fLPcWFmrn7u50Jve1YXORHsA0cjySO3xMRRVoTkfJmcuNuCexc3r3c9VqvCrfCQ4WBiJy5fJzFD4PsEJeAIcHCfajDBH9qv1uHsQp7E7kPhvHqnIN4AYr3E9eTyWAP3JF6ThhkIgJx6arDFgN0NWQEHG8YMQAiC4oGYK20BePt3CJOi3NDomPNDMIu5RTZCtA4JIbClPaj4UNbxpKx/5ZBAElIMPBa9jq5jJcFKWC2AkJEhOKKp/bS3xuOCMRJEhQLntBaATCCEn94jLUv10R/LpKfLie2UISdVhQu5lEhBQAQZ/QiBo+eB7sJeoO/16X8yukVY+uPJBdCw4BjRjkCFAzVb/38Dvt6vN+VUjQSRC7nQUSYRaFmUYJ6uXz2R3/0j9v2v799s2GbNG2Xxkiprur64eGhrutLfHpzcxOnWRylHdu6rtM0VUTWWoWKmafTqbXm7uZ2uVJFURjh09PzXGcPW6uUUhFNkmnbmqJqJpPZ+u42zadZEm3XDwoZSadpZrtWRFrTCZg8zwGlLEsFlKTpdD5L87y15u7ubr2+d9TvhrssT5i5apv9fm8NLM9OF8uT+elqMp9Eka6bMiW6uHhijGmbpurapvGU4VmWdZ3NJtOu64hoMplst9v1eg0ATdNMsjw7OdmXRVmWDrhvt9vOmsXJ6u3bm7op7+5u4iTvjGSTNI6yfDqxInEUbR7WX375eRZPsmwKrfrq81cn5xeL1WnatabttndbrSmONSKdn18opUhF6/W667o4Tuuy+dWvf2WM+da3vvP1F1/Wda1VzMwffPQNEZktpmmaWivT6bzpDHRmNlsw835fpmk6ny+ZeT5fAlCWTR4eNm/evKmq4smTJyJIQmzh7v4mSRJRkrXZ/f19URTr/bppmrPlRZ7nbXNXluV0lp+dnSJEILptyyhBAbq7X++3xes3bzprus6erBY6i569/xyVent//Zv/339bzWdPXj5PJ5P67m693VRVdXN79+rrr4qiAMtvru7zPC+KRkeCiuq2qZp6Op1GeWSFmdmYNo7jOErSKJ1m011RCcTpZD5fzpJ0v6/2TVPd3t2cr5bTNEnTmK0Va2zXaa0U0mb3cH971zYVIuaTSRJHjbECgEojYlXWXLXnT5+cnZ+0bYsklk2aJbYznWkJpC4LJRIhJoq2+43tGmua7e6+KcuqK6bTaaSTrus605RluVwu0yiuqqopK621WFZKEShMBIFRuuks/YM/+IMsnQCQNVy0lcvpRxykutukA3A/RKThEBkfiyMxOIjlcIiMz4L+Mvcsb5hwEmN8sAIcEMiMZB0EASUHuWrS0wyEhjqZhz2vRsAVQX8IB1wIaugNLyPQ+LtO/9HnePjP4yv7kIcD9sZ+EI7NxI/Hdiwt4e98Baw14DqfqYt9jacjG//BjItIIIxHl+EUUML46nFJW8cB577SPlbGHzj9b8GnQTKDjChNhpCVA2wHoywKGaspIszOQuatO96PQKJQBzPSyCo8KvV3cISPrMveuMvCKJ6Hni1b8JVMek0OEMHHxUKf/+ECIAK+AT/c7sF+hQUCbGMMMyulWKwAA4IIC1gZVasZoVXPjSiWXX6muzEBk5tLNdCqhNkCF6o0lBkL8yo9se5xzDeN9s/4Pgd+FvB16MPP3rkKx8e5e8Psq+ocYWK3Ux+vPGYmcovKjgsFOEQIvR8OZMTg8Sj2dzyGMFq9/WZwUfFB0PRqMQAcyQ4AAFCuFT74yt2fj4Ta4euoylLfR/G37he+C3CHSCfWWmbjjnynmjoGJy/RjqXP4Cp55yyMfzV+491cI9Tu3lCvfPefmMO7eUMsohob+8Od+xPCAgDKQUltZkP9BmEfiSaOd525V31dfBmiYT9WSggRwdOwijC7ym/ungQunR8EiEgDsBEhVAxigZ1LyiWMjteDGzcAADkKreqL7woJutLCzvLjtGJw6Z6OE6PXGLnfHNSHpFtE8jSR5CLLnLRwKyGoeQqACRUfyyjpPZyj2UQWkeAccHJjNEdyeLFPdfd2DXFjJIBOdOBg9XcZ2wCIzpfqHJ4iIv2wOq8XA/mIO/L1NNxzBwcx9rox9cVKwlAjOhM+I4q1tu0oUunp+Qff/71qs/6vxb4hkCSNKFFsaT5rnU1XKdVUdRzHy9k8OjmlSJdltd5s5vNlmsaIxMynp6uz08Vmu8cOttv1ZDa9uDizwqgwiRJYra5ev1lMZ9l09nB70+yLoq5P5/NJHOd5Xu52TVspihiRdOSUGqVUUVXnz55qrduu2+52bdMQUZ6nDw93WscMsFzOEZURXKxWs8UyTlMkraIopQkIqSRLkixLJ9y1SlMcxwCkddy2JQAsFosoiuqyCOcXkNqXlbV36bNUq5iIqrKxIJ9+8sXFxUWeTaqqscKAkk3SKImjWJGm/a548fzZi0lW75tJtry935mu2n/6NcXRD//RDyeTfN9tsywDC1EUp2lmOi7K+ubm7vLy8u3bmyRJNEXWytu3N03TPX3y/LMvvoqiaDabv76+vrq6IqL5fK6Uunx6WZbly5cv9/tyt9tZa58+fap1rHVa7Js0jYuqURQRamH1xeevkGS5XL55e13sds+fz6eT+U//9ueOglNE8jxP4hkjZVnSGLu/vm2tWSwWjTFFuZ5MJkmaRpFCRSpRl08vus5+//e/++TZkzRN8tn05Xsv/uanP/m//6v/NYpUU+3qrt3tdp01X3759fp+7QhtMIGLiyROcrZQVZWIKBUZw0miRWyaxVXlODGxa21dN1NEK9x1XdVsbu/uGtORkjxPf/XzX0wn2fn5eRLptq7vb2+bshJm27X7/abrOkQhpWZ5Ossn26KMUJg5SeN9WV1fvX724kWep01bKx0rJJ0kYBkFUh1lSYKW26Yqip3taq0kVqpTgJ06WZ05b0zTNA/ru6asQomisiqyLMnz3HbclFXX7dNEP3t+/uzJh3EyrSsLEGlNljtE7KxV/T4dhTMAwIFsd1n6vTw8gLY9qoHH5Ff9z8NpMobFHByAY/yAA7gfZdO8C+AePsL9XiDYkQ9/GFDQ4U8YDmQ6B7NIgFUiQKN+4VjDecRO0V821hOG04R6oIA+jt+DLTu08yBm4bBtg17UW3DeEeB+hB9ExsgLYDRrw2uIju4NpuP5OH62iFdHvKGtx1XumsOgnD4e3isrODLEHgt9N0CH/MThvSuDZD0vu7NvoerzBeFYxRnh1BH9EKKLRB1styKuWoANzJ194q/CAew6x7xXGQMvtXCvHo5WhGNF6OeemNkYEzJTRwN4MLBhqDGQJRP11XeFgMEXaQ/p2+6/PpYdBFGHkRzvKBoBWfdXjeL40RMnjxJPLROiPUj3PH69E7zyURGfd+mZIsex1GFqrOXx+IzglzhsJEPElEOi41TrYSSdAgbOAOCfIm7picgBG/dY7z/cHqN5sb2t13ftCLu/a/sdZPGG/eJiXtx+ZmYFFqwBAHHeGRZmY601AjDaBW52RESp6NGDRCSEDkIwuj969HCBWzByiNr9CBwm3bqN47xl7s4uDdHdxHlph5ZYFhGXrtHzuHuFVsDR3jB6MiWBkWzuLf6EfcghOQIkAHYs4Z6G39WxEgCw1rIFIEdbhzKOPZOe3lHEFa6C4EYbeY2RcJxD7PaAgAfNXrINNmwGwOCbQOjd0wjoGXkFkVHcrvL2b0R09DJCw15T4wg6/2g/VnAoBETsSGYeCPSD5YouvhQBGPsJReC+PrcjfGEFLpXebbfAXg+uPk/fFHYB7tTXrBE+MPOMg3wC8S4eONORLSgvLZEF2EIngHH64v1v/0Mrf/WXf33zdnt7d086pThxhXLYwrNnz5qm2+53bdu6lMr9fmdZkiSZzpe3t/ebzSZN0yzbTvJUR8murDo2oEArMsY8PGxc+mDX2dl8vtlsmPns8kmudVWUwihEkU6yiTRNVRa1jqgzbKzc3q9PL3Ynp6d5nj9//vz25mZfbKez2Vl6BgBX17cu/rjrZLfbFVW9WCyyySSmWaw1qHgPhECz2YKAt9t1U+/TLCFUaZpuNhsiatsWhS8vL7uu2263p+cXWmvTdq011b5YLpdt25ZNbQ0+PGy01jqOtNZN105n8zSNUavTi9OiKF5dvXn/vRfT2ayrVW2sqe0smr59e7dd7xbzmUlTTXr9sN1u2sVi0XTtL3/5a1fhta7aN2/eGGFr7csPv/HZZ5/t6oZjve/a5SQ1QrcP6zRJiqpeLpeTffX69ZssmSyXy7axxpiH+3XXdWVZXr1+nec5EMVxvNvsttstACRJ8sXnr6y1Z+fPWaK7+/3tzfbj7//+9fX19fX1N198Y/twLyK3t7dd17x48WK1PI1iBQCx0iTA1iqlTi9O/8k/+ycP99tXr9589I0PsixzNW5/8hc/fn55MZ/mIlJsO2v5fr3dbvdtXQGpzWaXJJkxVJYmjqluqrZtJ5PJfDq7v7/f7/dEQAriRLedtdbGcTybzbTWUaS11m1rhNCYttztlML5bLJ5WO/u13GkSICt0aSsaeumdLwIk9kkyVIRRK10FBFCWe1PVmfpyWJflZZbpFjHKGLb1hARWCalga3t2qbr9sUGuGubAtNIxUp1EdS1YcmzrCiK3WZz+/a62O7SNNWa3G5qxaqmSaIUSbIs/e7H7//Tf/o/xfGya5Uw1XVjmJXGqqmTNGIjvUDmAxnSG+MDag+n8zvwnxd0QcL0VrweGAS7zMixeQxmetF0HFLr8cCIEvHg6eIMzf5/fSNt30iHzh+jdghHyZgY90hUHp3OB0fnCOEcXsljgeykKzPToaMgROk8fqK/G/qoUTcefUjQwWWPpqCfu1E76VEITX//IxMruANLMx/bF7E3p427Go4QZyn36WJ4dOqEkAMYGZmCqjeofeCTXA+Gw93H87XLsATRx/4erJ6j2fXnyDCLw3kNAMgM/TDZtiMi7Z8CAII+kSJokOhTFNAtRD1ANPEQAQARfSiwsyL3naIQ3T7aA65hjqve4Rbprd6IfX0u8gUpbcB8B5ijH2ortkfwgZwRwtI/XCju5wPwHY1PP3r9N+MPH0/K0ZJy7130S/SujSoiYnpHyujRzAzqoC5VeEofIWBEDgLxGayID5py//VSSr0T6ATJImL6oBcAAPYFCEctQkTErmsR0RUYH/vsxiH7eJiiMO7vqH+DTty3x4oId0YO/FfseIUb0yGiK6Ew2qfiWvIuYQQhBn28Nt4hIkeGkPG3HtD32m8YA68ijtJLwupl5uE+3Md99exJPSHXEKxvrSUMczFu0Zhw14FNcAkwROKrvPHgChQRQm2FFSilos7aIASZGaQX4iAAwswIrBQ4c/uRnGRmX8FDjq0uTgIcyVZm684kZkYUpSLxj+ot4mgRNAmAI14AZw5R2PMRgQ9tOrAeuZ0wXvD+PbJz/fG7su3HEwrgM1sBwB+BI1s79IeuJuUcGSLijhwFCIgMKH2iqmuMQ/1mtNcQcXxKjaPteyHMConZgnIqHyuNSIoZWBAp/863vytc/V9//uNin282TTzB6XS62WxIQVmWcZwCS13XSZJsi33XdUTq7u6OdExEEdHDw0MUq7PTCxYTx1qU7rpGY7QttsV9XVVVnk+11lrHz1+82GwfNKnqYd1ZXmaTOI6LchdaiyhRFAFA27affPq5jpJ8NhVSs9nUfcgMeZ5PJpOqqqIoMhattagsLU7ASLkvJmkWkzo5OWPmuio+3W2KosrzdDadd11nbDedTqMouru7y7KMiO7u7pyBf7VYLBYLZ8dx1T1/+9vfNk0j97JczqeLyf3D7Wx+IiJFXUWJns/n3/r4Oz/72U9v7q6/+dHHSRrFSdJUDaGqyvoXf/szhfzk+bPClHEcO1Z7ZsiyzBjzVz/+SZIkRVE0Yp88efbrzz5ZLJc3N7fvffhB13WfvHr13pMXFMVXb29OTk4+WJzcXN9lSfrb3/72+9///evra0eG8/Dw8OzZs/Ozy88++6wx3WSSffbZZwoxTVMnoz744IO6an/+61/tygIRQdRieVrVXdPaumqVKpVSq9UqSZKHhwdrbZJGy2n61VdfMEI+mQmpLJ0YMdti+1/+458lcfYP/+E/3O43Sni329+8vkrTtKm7r7/+er1ea60r60jGlDDMZ2ez2azrGmtYRKqqmk6n0/lsv92dnZ0ojUVRGGPybHZ6eppn0zjWiNg0TWc4yxJru7v7a2PauU7yJN3tdtv9Lo60JtWaYrfbWbBt26ZpXFUVkk6nsyTJLAMA7O4fyrI8PTubzqZd17y93pycnjoCCRKwzBZsWZZNXTOzsTUpqJuy7ZAIuq4r66a7vj5bLlwUaBzH1tqyLPM8RQHDxpi2qeo0ToD5ww+e/+AHf3BxeWbtvCxLtgCkTVsqraIoatuWRAcZfnBGj87fAJbcleP9G2QOjki0xkLVJSWP7nOM6QfRzYPhY/w5eOfeILIOHt0Lr3C0eapltr7N4nzUzkJp0bv1xjKbAcAcUlC88/gLGGB8WXiNUUm4zB3NzEwjMsqj2/Z3hqOvxvcMA/j4DkfD6H7SW9mObTpHfRk1wQ+7Hovm4M0nIhey4ocgzGhIFgs1QAespvoHuWb5/riQFH8NAPQmMX0YrQ59MK3xtaX8fVwhQKdnBozbN4wBEJVH3wGtiwiSCBP0lNtA3kBIRFpDgIaIynMoAg7GpT4/g9kCgFPHx5MN4CrDOrSvHR88MzPDqJHerujCQ621EFzsiIRewfEYhiWEqIL3ijuo55QlCH/FO7O9nblXjxBCGdsR4HMeEdWHoPg4KgAfpuwVsR4fD+FTR7wcTs0NVkMggRA/gSLGmscLFJ0hEgDQVxUOagwbCw4TsDD4NXaI6pxw8f1VpMLG8CnL/VwEiCmWEaA3AzvFhr24AEeIBJqGGF8AQOf+Z/Gcm0M838APM96izD60iV2kvu8vD3IKxBG0ExGy7WPGxJUkcfCdmUGsiJiuhdaySKs6HUWghgx3ROUsncxuxJFZHB3vWMce6RVelHtLfD9QjtVHwXCN3zWj2ERmJgWACsQHjCOiaRulFJtOKaUQOmvd0wnQuZWQhIg0Algx4Ecbe7XTgBMTboO4aWEAr4kDMg+KkFhjkMC6ICUSREUCzgdgpHWJAa0xREop7QZe6dhaYetmDJXSIMSi0CKAGyj2lIIMAKF4kHcCaAJHHePUD0G01m3b3hOnvCByqry1IIJEGsEiKFTOZ9IhYoQRIlhhQKVctayQTOBTYaXXksZexwMzjDvSWPryJV5AjrA7ui8VCrMwknNKMAmQK6NsGfvSvM5l5BmQBBm83wm1AsvAPU2no8z3smiwtoQNpbDPSXb1m701SJCEGVUU/LSEQC4iB7tOKLbJ9P2PvlOuy+3bH7cTWj0/6/adtQYAVsvZdrdnNppot9vFUaRTqtq23BdmUaVxstsWWZbt7tdpnBGRimMdx2VToVJtVRHANE8BTGcqazvUqjXcIBvB1cUFRVG9t/uiydMcAE0noliUZWYhsYJfv3n91F7O53NjzOok1Zq2261SNJtP4jTpug5EiBSI3D28nc8XaTI1VrJsgqDiyXJfNy8++BAU3N3dIGKaptttW1dNWVTOpt50hrQipaQzwNI0DQDEWdIBd3W1Xq+NsVEUFUU9nS3bupUcxcLm9v708sn0bEFluVwur+9uJ5drJUjRTvIWp3E8mbDC2rBljJMJlm3TtURUVVWa5IbpyXP89a9+AwBxmihUp/NTYUAD969vptNpdb+pposf/N73f/azn20etkqp09PzzWbz+s1Xs/lXr15fIaJl2KzXrkzs/WYNhOvtZrE62W22gqqsqo8+fGKt/eVnv/7y6y+TJPnH/+ifZFkmxj49u9jcreM0ubtfowCfnl6/+eVyPsvyaP7saV2vHx7eUpyUXX1ydrmrdpTGv/dHf/if/t2fXZxP03zy05/+bD6f/q//279aF5v7h4fNw61t20jh2dl5URSCwAi1aZTGuq5VFC3PLl+9+uridGlF9tU+imW+mLKF+9u7KIlJYWuNBQSMq6Iq6wZ0VIOtsa2kbboa17umqkEEmcF0Vrqy3OdpWjUtRMRIbMnURpoOTIckaTJZLqWuaxALlhWgKdq1vQe2p6fnjJjouOuaxWpeN+Vuty/W90kSRUlkuqooazFyMlsAYNu/Xjx7fn19pZQSYwBRAzHRtthL0zybrf7g5TefLN9r26WRRkiM7UzXIklrnOmErPM38XCS+lO+CzYRDgwiwRgUpIgvvtGXVOs5ZAcTu6PBdVAW+0o77rbBAMHvYoxx5wv0CKW3bHo8FiBlb3AL16O/xFmNvKE2eIiD6BOBAxso9TmEHmcGKfo7gDKydY88MF4yKqLO2mDHcIcnoOrY9LXMQiUW/zgP5Pqb+9MNyJ2Pjsd8aBjJo8a4fw5JCCPwLKMDoocoDrugJ5nAQ1uhHnveR8rHYDIXcbQj7p8HVtWDyaOAefsL3pXX3MN6ZM+pd2imBRkIgw9NQY/tUP4jPG4S+uE+vra/G/R9GVIJRxPPruSVALgQ2z4NFIMT2TWM2QULHaRouAIx7k59j/qODEExDsr06FPY51j3hSod2jxiODl6czQS0HfsYEZGmtz4DkcT5xv/P3jESAeVw9cohiEgbEQUHky54wkag28CV5HbP5H6CqAu4sil/HIf8HPEk3M0taENcLCpDgbwcG8PgxM+EYcf5QA6DShehEehUOObjNuPLOP+QvD2iIBYZgbLYqztjIiI8bQzpJRSSgQ67PqI54FDMHRhLLVDSMx4jtjPCferlEPbfatGOQkiEmSxHKpPIdjDvXd5VNDLo67rSCsAcAHtLsEEh7R14J7kBRF9NJrPHiEBcdBffE3HcMw4iOnFtQsZssDCB9yv1jr9Z1RCCv1B8njBi0gvkmTYkn5+nV4UvDTsfBoWhkPC4VzxCiT1VKUY0lpEpI/J92piPwIWQno7DgdeGPnHu2zYlXiw992aApBeCLv5FaVQXOFtH+TjGiEA4f6II+VzcG1jsGKooRcjyeAyjP/H7fSvnvBBSBBAVFPL6cnZR9968de/+Oz+7u50djabzaqqquvGjWqWZavVqjPcdZ3uuvV6fXNzEyVpkiRaa631zdWbk/OL3X4/WSyySf769Zv5cvn0+fOyLMv9vmkaa8vpfOlyTGklTVm9vb6uq7KuK0RJkzhTRJrqplOxmkwmURwjSFE1cdzGcXx3faMUOjN5tS+YuSgKAMjzXGmFAESkNAJA1zUITERZltVgWHA+XzLDYrFi5t1uV5blycmJiGy3W6UiZgZCRxweRZH7qqqrsiyJVJqmTdPsdzsRqctqt9udnJyU+302yfebLQA8ef6MQRTS+eXF7stXm83m7OxkuZwTwXq9Xq/XeT59/fr17e1ta/j999+31v7yF7/66KOPRHBf7oqiSlPJJ5OLi4urq6uu64qi+ou/+ItPP/308vKpq2U7ny9/85vfbLfbv/iLv5hMJvP5/PXr13VVbTabLMsQsapa5x5h5tVqdXp6+vrVVVUXV3c3Z2dnsU5ub2+zJL04Pfviiy8eHh5aaMuy/Ht/7+/NZrNf/vK+ur9Z8nTFZ8p0F+dPmq7eldV2fbdcnV2/unn28r3v/t73T09Pv37z9WdffPrDH/7Qpc/td7u7uzvnAdjv92madl3HFtq2vbm7W61WSniaJVGa7IoiUlSWZYRU1e311VtUlOd5FEWTycQy7Ha7OI7jJGksl/vCCmdCXJmmcmFFZVNWpCBSGlFa0yVJ1FUlWFZxZGx7f3/LSrLZlNmenKyiKN7tdlGsOmujKHp4eIi1ms0WIrJtt7N8AshN0zRVnabpbrdh6dJEz2Yz0xi2IAJN2zgnSVmWIrJYLBBkv9+TAOhkPmFt7epsFWdpPp0bcb6gwQrLh8KcD4UhIo69ymGHhkKQYV8HQ9jhYTds8BBWgIg9pB9gWDh5wx1oVO79UDIcx3a73zIHsooDtDamn+aeFXp8AI2fMjT/d4qjo2726F+OhojfFRr8jtse3f+oa+6wPTxq+0NwBNzHvxqTlARsMTwXDr5ET3bt/eRjAKPDAD3G7mEIRIRkPMcHQ+n+Ir17EP+Ho3MEwo4x2bvUkfFlQ/g3DAcPwpg7wl/qLPdEKDLSzxyCJMLAGOMIElEBCqHuQ2AxLH1vxOotW33zMDxqmDBQPTmJf1Gf2gsAJIyIHNoJCMCBtcMx7mGvZ2A//cfrbcTaBocLDg+VxfFQI+KBajvu4fH7Abj+rpd7yrFAgRDKcvzo4RpE3SsxR3EgYTXiCOgfSqg+OVgCBZAA+Bi1noFPhSk2ckDWEcaKJCClcJO+0YevI1ES4vPGPXJlNw+udBc7wM3Ow2qtMWA6EDEsAmC1iuMYYxBm64GXC73Agz0/2gjYuzh7RR+k52AUAeGRKuXlLzgPkkswxVBJiq33qJII9KSBzCzGJXOzoNg++stz7QH0yeXgKhz3KZ7obObuCxQFBB4Zi5ASANUvBjcvpEjYkMfELl+TgACsJQIGR1Pvbkh+dbjkWkf7wuzzQX2J0F44DELT5VyPE2qH9AlrrWfCAacr9vvikVwKgynet3fw8kcRMgnZkKzc+8hczMxo4tTROhy//OfIg+EqrK7jPcjgnRfOeAF9AF5o1QFw9+tQUHof1Fgm4JE7S8h7q9/VxvHgoP+EAJWItA0n0TyfzqLEZJnsG16v17PpFJHKskyTfDp19CbWWu66LtF6Op3udyVzGUVR29VxoqMour6+QtI6jph5Os0nWSLAdVPtq8IaZubMdlmcpWkKAF3XUaRzNYkiZY3BKCZSdbknncwWcwfQHZhZP2zzWX5ycrLfb6uyzCeTtiqLulFKK4Isy9I8A9LMtq7LKEockStRvFieiNgoyab5BEWUUovFommaOI6LoojjeLmYVXW53+/rqsmzCZIiVCBYV01Tt1GcVGXZdZ2IVFUVR2ld1/vtbjlfdNJ++fkXs8V8MZutnlxsTYdGLp4+ubq9W6/Xb968ErHT6bSqqp///Jda67OLZ3cPmzdv3r558/a99z/oLP/8l7/6zne+Q6TLsvzqq6+U1t/97ndXq9PXr19/73vf+5u/+Rtj+KuvvppNpgBUlmVZlnEc7/d7rTUAJEmy2WyYdVk+uDq1k8mkbVvnGo2iKM7SbbF//uzlYrF4e3W122zpJV1dXf36178mIqPsd777MSP8p//y5/eb++fPn06j5Rc3b88TneUpIUbI67dvFtN5miRXb64/+MZ7TdP86X/+U52opy+e3t5df/755z/72c8+ePmy7Wpr7Xa7dgIKSSaTiY4jVCSE88UCEB/Wd1VdNR1jFM+Xp/uynjelkOg4nkxnqCbgrAAM1sp2v2vLWqoaq9Yak2UZMYOxxrSGbRzrjq1mRUSdMW3bRlq7SvDGGIXUtHB1/fb58+etNbvdLp9OJpPs4eGhNV0aJ03TKMB8kqZxXCiwnTXG6IiKfYUkClRZ1A8Pa6Xh6dOn8/m8LlVR7B7u7+fzWZZlmU6KtohiIWPzRf6t732cTvNdZ7uuC/vXla6TnsDxCLj3dpYBHR5hgLFIOfxQxgbTMa5DxIAReyhojg7f/iv9zgeBL8UaQJoEn7CIHKWfQo+FBqH2qCzJ8Rvvhw5kc/648ackQjgMR+JqkKhhNJi5t+Yc8CPT7yyEB4+HC0YyOYxY/9U7ED88OlYORn50ylNIUOTjmzgvug6/PALr4/ficv1YENEIHAx9fwbjKB/rscQfgw/02hUEpNv/DVcOQA2RmIUZOHD+B8tWPzZymAQgh9qe01uwjzSQUVlygKF4JygCcTT43BvzhAWEHV9EsOAe6ZEHKc9u4pk9jED0QbQOHPgHIYNLgu5zCfqRgbFe9fjQlPHE+I8wrA/lf3vwg0dg93+gXOHIUxFaNf7nuxqm0JXCRQ675Z2UfH4K+viSMPUavT/CoXY4pDtEYRBxse0DZur5Kx/rH6OV46ayr/7LACOtZ2wnd/cJuda/A68crKu+fuFIKeLBYzB83v+EvHHBx1RZa8WBF2tZkK1CF/dEpEhZK4iWiBAIaChZNxJ/DguLQ5/9XQ+TZRn6lHJP4u4jxISDPYbZaRIhzdov4PGzXL0sUgAITgI7TaBlQ8p1GURciqdzmGK/fYhBEEgPyBMESfm1IeCIBcnlWFKvf/vwbadLESkfvyRsmZkB0SIigqsJZxlQATGzUrpXEnCoxiesaFiBo9XolPajsQUWy+JjMRH7aDgRAHHsEO7R4T5KKetPE/CuP5Qj3Rr706VflcHSEMxgzuwkBwsTjwWmF2WEAMZPPzpFgvzIs/OHUO+EHDT/0YS6SHeEXsPEw1Rsr8UxMh+cJcOSUxYAAmu+56IEEVRKgekk1dM0mQpZpTlqpWhKQGagPJ+kSXZ7f7fZbJIksVZIRZPJRCOSAqc97fdbREzTdLN5UCpCkulsMV8tNSkgySapjiMAKPaltbas9kTUsZ3OZpNZXuz2ZVmg2FhHD+s7FWXn87MkS5u6bdouiaLpZKoUVvVWIpWmqeNpTZIEdRTHsVKqrKpdsWcgHSWz2ezs7DzPItJRW1fz1YmxbZbPNPLF2SmKlI06u3zCeF0UO4r0Zr9r27Y1NtKxUkprrSINhG3V7Ha7rutcfHOappFOkigiRNt1xW43nS+zLLOdOT8/F61P5rOrq7effvJp13Xz+VRrnaRx3VSL+fK73/3uJ5988rOf/1IE5ovl/f39ZPowmUyKsi6rJtJqtVo1TfPq9dXPf/7LZ8+euSDPDz74Rp7n19fXVVHe3Nw8PDxkWbbdbplZ63iz2RVF0bb19OwsslZrfX1zAwB5nredzfNpXZe73e79999fnqz+8i//0lr78be/U5blX//lj2ezmbW2q5u2btbr9Xq3ffb8ZT5Nfvnb38wWUz69mFeVtVXXVrazP/vJT3S2/MEf/YM4i28fbnflbrVcvr2//o///t9/8uvfnJ6eVlWllHKZCV3XTSZkjIl0PFsukixbLFbLk9OmM7BZ6yS/XJ2k0SSdLk7P2/vNjSJYnJ2gjpRKVESoItAqBrgvd0VRdHXbVhWw1Vo72dt1nY6VBSUAqCjTGdS1tVYr5bJ3ivXasEXSpxfni9OT29tbSyCEFxcX6STfFUXXdfP5HMUSIZIws1au+oG46VaI1nhm57Is27rJ8/Ty8vLh/j6OYwDo6qYqi9kqP3uy/Af/6B/OT1Zl28GIaY29LEUc1aYMJxQGVjoZH2XHoPPxEdZ78Ea3cqYWdx8W6U836PX5cBbACIC6UOoj0SoiMCoLHX7LzC6WHXrXPpIPnTwqdRSk8VGzx896J4bhnjNj3LWDXwG7zMzhbl48sgxlLoYnBsQyPvfH7Qn/6l0jQVajCB9ZVI/u/PhuBy0Xb5g66hHJAL/0iC7gcGictTJY8hzZyrtQ39EBA4cDTYfU7OHKxx0Yt350Vh3rJUdjF5bU47EYg+zQEu4z2/xQ9AcSOII4QhLlgKgvwe2C6AH6mN3wjGBXC08/yF/0DYbg0w++dXZ2RznMRh3TeIc3j4d06Orh+B0t7uNmvGuof8e4HY0w9hcf/BZG8/vOG44X1dGeHHSg0YtHlCYeYvRSY3zZ8Ag+dsYhyxh898+V0AX4HWvJvUjAk2sfDum4yzASaqP7OEE2yCk3au49EYE1rkwV9y+X6GmMsW3HQGitsaItqyiKtIY+9B+B0FduQmcvh9GCR68A+zv71spwgTAwC6C4uA0vg4SDU0/cuh+NQ/hquCEKs2Xjp4aELVtjjIBV4sLxe1QOhCjWRTR61hUCAJeUTeJRL4Mzl1i3oahf1X2AtQEAIhUC9tDFsQABELMhIhBiEmRGQKKBJxHeHf40CBwRCyKe+YeEvFXbB8nQKLQP/FACgLiKyT2axxBGImLHmd9u7yBLL1JGSwuxr5t8zLU13hcigt5pMHAVh/XfP7ffDtSTprr1yeLk+khEuDN4vHTdIAzJrP3IYBA1bjCD/zq0M2yowc7n7jOqgKZ1pFDaulmePvm9P/x768J88fm9slzX++Xy7ORk1bZd17RW2AHl6TQHwbJpSCTP8yxLjDFtXVVVUZf7JJvUde3yPUzWzqM4jjW6bBCcmNZURanqAkhzkkwm0yiK8jyz1rKYE0VEVNft3cMWAJazeZyoKE67try/vwfkSZpEWmdZulwuiUhItW1d1TWiaEVKo44o0orFlvsKAN5eX1dl+ezF89u3V19++fXT87M0S40xT58+3e9n1lrmLaJSKlpvt1GaxUoniRZBBmyNBVJuiSqKtNaoFAIYY5qmae/v8/l0Op9ba1H0/cN9nucffvjh/c1t27bf/NZHSZI4vpr1epvnU6X2URQZw1k2+frrr997+cFm+/mPf/zjk+Xqo48++ugb3wJUP/3pT9u2jaLkv/7X/xZF0XvvvefIWF6/fl2W5YcffliWZWs6Btmu12dnZ2/elHGcEsGXX35JpM/PL5umIqLdfn97e1tWTVk1uN6dnpzHUYSIDw8PeZ5/9NFHr1+/tuvmq88+31elGPPpr39jxMwW0/fffz9OJ53tzlYXIE3TNF+/uS33+4e72/lyERGqOJpMp61pzy7OP//k04f72840RDSd5lGktCZrxRjvfc7z/L0P3q/bbr3d6ThbzmeXl5eKdJrPdBTdPNxlebI6ORVE0rjb7ZJsAhJzoleXl6Lonq525W4qynhOXkNEzttACrTWoggUKSRCJKVUpJNIVdsNIaSzSZTHr++uxUp93yRpfnJ2+ub127KuJ5NJUzbTPFdJqgnrskZEZtu2htkiURTr5WSeZdlut3t4eNhu8fLi7PT0FEC222212+bTLCJ1eXn55MXzDsVYadraJfYIAsqw46Rng8U+tdShdrd5wxEMI7g1jnV0/4fDl9/RPSucNxoO9ZgdW4bwqPja0Ssc04cSzBnLBpuIO4IHROdtyMftOTptj544HGoBRfTSqW8twpCd5qwWgCPePESE/nrf1ME+yAG8/a7OvrOdMBrw8HM3ZQwH3QEYY5KDbg7t8V2Co6iKIdol2C1FdMCjzvCDHruM00mPWjwcVOPmurEdH5z9wd+blUbNxcN5O4BTvdnS/8qdCkRg7fji0Fvog+8PBxfGcM0/TJzjfsy+4udSAkE1OajuLIgoAg45jW7bP+LAwzD2toxzR7x6MDQYLDEIusgiOxpDAvZBHf2NUA6s+f3G0G48j5WlsE9HYwwwqh48XpF+efS+i/Dmna9+ToNjzu9GDyOAH98fei451/kAC8YNUD7gvw9e79cM9RvMGfFRHcfS9c1it7Sc6CEBUICEYtlRkkuAtn2683jlwKMdCCDYs+mNen0sPnx2z9CREEUNwX6JI+wrYhl8JoAN+fgkSqExyAjCwtayABPqSKHpK32iInIhzgpgKHcXNnloUviQmV0K6VjMCYszvYNlZibwGTb+GuTeR2RdLEqvh3B/B7+ErO3AekocZlbamWz7yEVwZvtBj5UhSM+tfzWgQzGEKmDQPuoGCdnluDsPlTjkyS7l0ws4ay0QkhDAuIy22wsjzN1/04eFuKlhDJf1EjP4eVyvgd5hr0JEUgiCjiOS0JVOE2stKue05EDVSF7ycjix0BdZICLHHeV1FT+hINjnch+eXuB0lVAezv11syYMfXEm8NFQfu0K9yqrV7zcPPcqkhzoJxRYfcKiYpc/3FvmHp+X/p+jeB43RKbtHPJhpZ+++O4f/FCq5i/uHu6v3twKzPM8bZpWRIhoNpsZw23bOtMvqaitKhHWWkdR3Ja1Iw9B4f1+a61tm8oiXjx9kkS66owRFhRUpOOYGdq2BQCxXd00bIy1NoqSotwBUD6ZxHGaZ4ltG2Nbx/DdtNX24T7PstVqWRRvi7J6+fIlKMryZJEsdRILo9bamHa7bVgwzlIVRzEnwPry8vKT9frq6ury5dPbu7vT01NSkWW4fPJst9t99dVXu90uSZLz8/MoTdwKadtWKYVJprUmrcq6io1BRE0kjEkWoyP0QEzieJElV6+vvvrVb7M4+eCDDxbzpbHdbDrPsolSyXq9ztNMqaiF1nbm9PT07fWbDz94r2vroihub2/jOH7vvfceHjbn5+dRFG232641n336+Wq16tqW2TLzfr+/vb19+d77URS92V89e/YsTdPXr1/f3NzMZrNvfPAy1lHXdXk+3e/3WZYxc5Ik93d30+n0888///TTT6dZysw//8Xf5nkekdrcPbTWLFbLsizPTk8un12++vzrL6ryB7/3/bv7jTVNkkSz6fz2i1f/13/+Ty9evPf8ved/9IM/PL04v71+C0SgiDBiZqUwjmNXH3293kaRyrIJxPFkNk+yfFfcTqfzs7OzNI0jUi1LnE9iSSfTlYitajOZqSRP8+m0rJubh3UFFuJYpfH0dJXn6fqrr7npRBNpxS0zMyqKoggUkVZKoQJkYztrlDEGOM6zju3pxTlG8cWzZ2/evIl1siv2UaKfPL1oq45N23WtgEUU2zVtW2uty7J1wVWu/joz13Xd1k2WZbvdZrfb5Xm+2227ulFaJtP0O9/5zj/75//LbHVa121rOrZC0RFqAQAUnxfv2G/ffc7CI5NfeMHB3cZyzZsZwtb2OgAy+qIgQo4YvlcYxH/s9HZfPwh6mSvgKjWTEDIz9tl3iAjE/VXYf+ZEcQhFDoDNi8bDw1eChWf4aHTB2Gl80MXRQYkkQ0T0wAYwPHQs4o7ej+82hjFHg4+Dj+KAVBB72/ER0hqOK3eZABw+0btDAooDb/rUA8Ie2whHtjc4xDrj93LotYfDV38uHiMhRCBCGRE+Hvxq3KuDATrgfQ8fh5bA4Q/HaiiAR+19M0ZdCKeZuwOjIAsiSQC+oVBUP6Ru7gd+naFyivvWxSVJb5DuNeMOPDUbB/JrEUukRRwXntOXDkbjqGsignZQCdzqdkuZD02nw6zJMBoHG/tdOq70TvPRdB9c8Gi6AEdbLqwWGC1ZgYPfhJg5Ip9+iSSIgADWuoBpJKLeYs3+HuCjlYfhGYovyNiF5PIdw9J6vPfGQGTcffdXAYYw5cdbI4x839PBluDQkwiwMHm0xG4IRcSCzxIRZERUSkmMEQgAmI47YCC0BMgwWOXdbVnhIaQ7alLQFnq83n/uuH9cXCRwMMzTiFpRPB2+61oIo/SQvTe+succtNJ2nWeYGZXn8+scfUtQHYytg+/k9y+g18nJmThErPvchx4NNUp9Vg6IAAn17P4iYoVduQMHhcHFAaEg+wg3HIw6AMB9TqYLBWTVb72etTJQIx/T5fZD7dcLM/cBWkF0CAC7FSbeCuCwLJModypyzxGJiMq5tv1sDrbwHsKHI2EQp31ElnWmARfP5brosyaAPOuM21suhyeEEPbLlVlAyGlcISrUKYQwlIwYoqQC6cRoqQ/7azDmkSAEb7jpOquUmkwyRiKV/sEP//FkNv3T//D/3e42+/366y8/r1terVZuwGMd7XY7x8wNhFVduNCXxepURCaTzFrbtFUcpfvtxk6mT1++p5H2TWkE4jSyndpud9XtTRpny+XSNG1nmrZtiaium4eH9WSeVGWpVAwAxlogqJumqYv9ft80jWnL3XZ7d3ebJEme57vdbrqYo0Db1h1brbUD3ERESWJrq7RO0wS6bldskiRazaZ5ni+Xy7Y10+mUiIzhxUJvNrtIaWZmC4oiJEqSjEgTaYopiqIoiZm56VoCbIH2Vfns/Zdv7m7+9M/+w9PLJ/+3f/2vnj15tpoudq+unz59Hsd6v99XVXXH69lsURb1/d16u16vViulUCnMkvT+9u7VV19/9OE34iTbbrdffvnl85fvuWTNLMviOK6rbrU6XSxmZVFcXV3NZtPPP/98t9v95je/+f73v//hhx9++tnni/nMJR4AwGazWa/Xdw/3H3zwwWw2e3tzZdhWTb3bFldvrteb+zSKK5Dlctm01W63y2P9sN1MZtO7h3VZlsuTxc3VzaurV+eLFTNc32+yLCpbI8ZO8xyEPvvFr199/uUHH3/r9u316cXF3d1dOp1oQJQOANq27plzjbWSZezylXfrjbVydnqRJqkx7Xa3NRHks6lGPVue11XRdKa6u1tviqfPPkDESZZz05R1u3lYF5t1orTO01akqSrD7GilskRnWeb4/4mtAAgIRZq0qsualTo5Pz9/+mxXlWXbZLN5XTYty74qT5NVlOquNGdnZwDQdnXTNEmSOKVI68haU5eVgI2iyLSd48pM01gRGGO6ukHEyTL79re/+U//l/95uTjd7eu2beM4ZltLX7ck/GUAcggBILB9H53d4U2AZAcpKwAwPji9qc7i6GgeYzFX5CGYHg7vE54q/U0D8hmyg8bQTvro88PXcWTLuMvwO1546MnsH+tacgAFxzcZfyLgg1iIHO/A2CwYiDAOoXPvSH/cMNeFd0bpjMO9w28fDeJBx4/+SQIQMjXBOxBCj/Q4iGe8JuTxCB0O1tEF3Fsij5cdv7vPNpTlO2wxjzjvAryQQzUIDqE5/o+8G64U+WiAwm0H09zQQnH1poaBh7BwXdFHfw8EAGGfDzFuAw5FXr1LC8B7MxxLKIt15nYAzyXDHn+7MUTqKZsfL0R+VN7S/woPF+hI48JD/Bp6JaNt9ncM36N1fODfOQpZGW4YWn4ww+Dk8hDF3uvkbvWrUb1YRNRam0CHcvg6xK/Dh+Rj5gZbwuPl8c7tPe6FuEjuPn6wXysijmV0+MnxKLkwmAEVOoTozBUICEJCQEAg1jJprRlZWmKyRALUitXWehO4ey4OwUJHKz+AzvE2kVDxnm2IyXHY3X0fKhb36ySo68OojlYyEom1YoxxZl2llCMo7LqWiJx5iYgIMHhdBQ/ugBh8lCTibfl+8wr1AWNOMRYarV7fgF449l1Gn7oA4kYACMEKoPQxgdiXWAIAz8sbgHsodoZ+jkZ+PPcgl1OBIeZksHIpiiA0TwTQhw9hz00Dhyzy/d5kl8dxJNyPltw4lrQXpaN/gO3PUHcxipVeowPw7ogQjDeo3H5CAUzXyZCS5Y4uHNPGjV06FMzz/bdjYXskScIAKqWIoO6qKJrZjoyt3//Gyz9R//z/lP/4yW+/3m7XpPPpdFbsK2ZOsoSIkixNkmS73dYixpiqqprOPnnyJMuyzhixrFLVdV1V7MvdPkkSpZTSUdOaoio7tpM8u1icWWvf3lxnWRbFOtZRGifn5+eou6++fMMAjGytReCmKa1tsyxzwd/CdrstFotFmqaffvJbnaZ5nidZmmZZnOXW2kgnp6enLBYVMXPdVtMkmUwm848+2tzdKqWePn3umP60jouisNZ+/PHHXVNfXV050MzMpLULeW9Mowmz6STRkWk7a8W03Xq93uy2H37zo7/9xc9fvXr113/9139/NkWGP/zDP2SGpmmstZPJrKqqr7766ub67u7uwVq+v7+fzWaX5+e/+eSTpmmIKI716uRCKfXll19fXd+kaXp7e/v9738fEReLxWq1ur29ffnimTGmLIvValUUxW63y7KsqqqyLP/ohz+sqtIYE8fxw919URRJliqlyrLc7YrpNN/v98Vuh4jvv3h5cnISRappmvXGlmW53T5MZtOT87NXX78WEUSV5FkURZuHh//0X/48SaLf+73vL2YzYAtAbOwsy1u2n/32E6vkh9nfe/nivdkfT/7N//6/pxqzLHN2AUR8+vTp/f2aiKIoWszmSutlloPQmzdvCCCKItbcdKYDOT29rOt9Z5q6rrPJ4vb+LlIaGcHYGGiaZu12W+9LJLDCRbVXIpFSImKMWa/Xi8VCBIUg0VEnzGBFLJBY5ounT6I00dZQnGhRJ6fzCMma0kmDzWYTnZ50dYsgbVvXdT2dTo0xhOhkIyCU5Z6NaK1vb2/ZdM6gkKWp1vr7f/D+j/75j/JsUeyrpjOkqanLPInNoWOcwZ9otqfnHu+4kXw4ECk4QvAB84zlKjw61o9QAKL05SwGRBEOzXceqe5ztl5cjHvh/je6fGDVCyyCR00an0Sj0+rY4SCHyNAfueOO96HIwyNIXLluGNlw/f1h+Pn483cO7/ih4xb60+0QQIZe4Ij//khKv/P1TmELABp6cnQRcZa0PndwMMaLD70HESBE64uz9E0E0VrLiPd93JQxqdB46L2Bm6WfVjdYAADWemxKQxCsK4yC4zENJ01wdmOvaLr9Hz5BdFTJ7lQjAAnHkGsSC0Nf+AYAAJRgH1skPvzV12gMc8xDeAx6ihkBAFJkuWMGRNI0Ykfx/mgERBBEod6k7Fo+ZhkXC9DXSnR/h6JF3tIv/aQK+NQ06a2gANADCXLhuYDWMjIrpRBJWIhQkULkkPuIvnY9gGXxUDuEH7ucQXTruhsFzw2pvb6dY75VCEmQRIR9LDIpZa0VX7bWcc+RNQyHduVe2zEKFfSuAxAJj+hYVO+54OF6DgYAInTktR55gLbcx8ALICgGx1CuAEApL6QAfPedbVMCAz2heMLtkaQAhD6XUQuN6NLBU/aDFRYIXixL6BoppKPMGGOiDlGhtUoEBRWTC5ESBiEBEJRQ0nUw0FrrNhF49llAAGG2Ya+JiFhg62SKUwORrWNh99ZZ3fO0oIuSZGlbg4hdx6SQiJQAiAFmnx9MiCLGGAQlAiBKGN0iRfQRhkSAqBQpQLTshDKgsFKkdCSeO8bnJ7N3WGgW2wdws3XhmwpQyBhftLVja41YQRUl3DG7nisBNoKWQCulXE0HQBAxblOICKIY0yeVIqIn52QistYgDtEyvk6rz/cSAHH09oBCoAjROp5QUCAoggTKZ4aRcmltiGDYk2shUh/B77xhg/ztC4eJUiToVywpQrCABADGslM7fZ0Kr2BAn4WDwiiMCMbVVQoaulu7YN3qZQZDREBKRGzLhpGZBRBImC2Bcrw0pBV6ap1RsRWxAMpX9wXCkU6B4momADidBlyFCmABRSiMtgWwpZfl7fL5y4//H/86+zf/5t/89ldXWZJYawTMfrcHxu1+N53mRInWuq06VDSbLqu2TJJIBO/X2zTJsiSKFBpjrt+87romX61UEqk4Xq1mk0kSR5GyyCKdaR5e3Z6dnZkk0UgQxxqik+VZ23ivkbGNYSibdl9sq7pYzWdvr6/Oz8/L3b7c7dMoLsrKNK0qojyfZnmrIi2xbB4e4jwTYx31JABTGpdFN3vxFBmttYp0EiUAMCGl6loplU+ns8USEa21XdcUu72KIgaI43gymSAjM+g40SxxrJum+dUvfj7Ns//3v/5//tf/9t9VZ9OGm6a5ub7ZbDYAkGfTJ0+epItELORpZrrm5nbNjNaa+XL5wQff+MUvfrHfl3VtKEqZmbTa7/fW2iTLHjaby6dP5/PF2dmZ1rQvislkUte1ac1itnj6bFrs969evYpIvX1z9ebtFQDs9vtJnr33wfsA0LbtmzdvJpNJnk6UUsV2d3Jy0ratTuKiLOu6vLq+FRGxitnud0Ucx9kkOzs5RUW//73f/+SXvyiLfRot3379NnqpLs/O0yi7vb5pgA1bJaAt/vi//Nf/6Z/8k+VqHmUxWwbSWZaZtmE2SRQv57OmayPUxW5/+eyZBdwUpc6yuulARcvFgpTuuk7FUTSZlQ+2bgFVy0Atm7puq6rquq7rGpBuusjquspn093dnZialGKUDgzFVElDTZMkyW5XNk1jRX24Ov/mxcufv/msKEtFWqF+dv50t9sJ8263sda+fnt9MZslBPvb6zjWbdsm+aRt281mgwRxFAHYqqpQrIhErtCEsWLbOI6jKJ2fZP/sf/nhd7/3D7XWZdM1XaNJESDquGV0sYv9oW9JXNEYUAfU7Af2uB5wH8SQjE1gIhK4MYKBgCBwq7M42kAY+yoDbgmH+/BCdBGyg6eX+oAIFzkoHAJovXjiQzwzQIhRQajxywUbOY/mEYgPfRwjY5e6gBgMGeAkJ4HqqWaGBhARW88YQQiMIMKIyhXKDpcd9Jp6U477NnAY9jkAfMiG9zh0x/96CE13+QBDB4epIedHFSIaSDOghzYiJKKP8DQM+GA8XoNK5PytNEJszGyMGfOAHswoqWDUH40yHz0lPFdrPb7zMG6HGRhhLETQeaH7T/xq6A2uKI5jGpWD6KMpGeiBcDAKHq+ho1kMbRunUbo+UN9xBOXtiTjWOxWABSFx1nxPCEPBtO9vI33MN4Vd5wGxx2O291QcOzGG9XE0gI+uBOnZSI52hfi8lpEhfwze+8E/GqLRuCGMQt4psKyAhb60u0gokBnKBVgR6KMQBuY+N2zj4kGhmyJCh7x87GgDRYK5d/z36I1/3/+8vzOFcR5fH6YmfD4e4QEzIQkIwcGACxDAYNMNpcV6zOc8DCR+7SlUPu5/3FQeaUrDrR4Rto6bN77AER1CsE8H04ijccQ+uMXbZRy30aBaY08cOfSdmNkqFY02dMiRRaUU0ZGNNlSNDeNJLEA+ioOZhYXJ0fIQiIgxQn79oxUXmt53p4/gd7clV6P0wO3APRmMOD19tAt8QqW1faBmv7qO5Kz4CkoA0OtjpN0Iuu4COk5/gwqO5VvPUYBucAEUgPQh4zRifpBxFUNXO+nQOSki1ofEDIKeiBhBgxIWBttTUbmWo/FB9AxOXRMwDMYaYW1FrDVWWEQinbj7sLXQa9dhHBhHK6B/ehhDGL1Cg53XhQWIxFeJRjBiIkXPzr/xv/2r/9e/0/+fL794q3GpMYqVefv2TV3XTZUjYpYlWR5VVdV2XRwnNzc35+eXWZIWZYkoLjszIrVZrxvLyTTXabpcLpPptNoXdWuttbvdtihLvdZxHLvM18VirrVmy0TUdrXtOmQxTbvbFgLWWrtarQCg6zpjzMXFRZRlxhgjjqzVqEiH6GFEnE7nRNR1DRG1bRsnGVlwoT4AoIiAUEUaBYqiODk5ieO4LksiaOvGNSnNYiKaz+dOOWzrpmkqpVTXdb/4xS9+8IMf/OhHP4rj2LTdJ598+vDw4FqVZVlRFFrr3/zmN1999dXHH3+sdPrb3/52VxZJlp+enp+enlbVa2PM1dXVYrF4+fLll19+6VjkP/300yzLLk6bSZrFcfzJJ5/MZjOlVNu2ddt8ePnR559/XpXlfD5/ffWGiJar1XK1env1pmma09PTv/3bv23bFhHPz8+TJHn27NlvfvObqqpevXoFAOfn527ZK6IojqIostaSpjiOoyR+eHio2/bjj7/XdY011hqpqgoAWtO5c/NkdRbF6tWbV3/1V3/13e9950/+xb+wbfc3P/mrtq2Xi3lVVUW511qnKgXgJElM15Vt15T1ycmpMKpIzxZzpdRmtxORSKk4zTab3f3der44qauqbY3Wuus6FEjTtG1ba21X16AoyTO2nTGirXelNW1b1zURNU1jATtrVERnp6dxnDZVNZtMxUKaJLHSu+msqUsNQsbmeXp//ZY5oUjP5/Nyv8kn86xNu6YVsWJtVVVJkk7yaL8rTEdZnDN3T58t//4/+uHHH3+stHb8NkeH6QjJHQBBa01/cAzhx8fxwIfHRHgfPnH79zEeQHRmmUfo+dFZP/7JY2gkPX7tr5FwyiJK/+gx3pOQATgWKY8HZPzmcTfh4LgJBtDx14iHP3F2KQDoUx+xTyI6bs/vev3d1xyNfPjwccwQDIfFO3AauuTXw97wmMddRpIawJ/vMpxeB2Qaj5veV9wctwMCmj/EXsd4PSxQHAUMjScMEQVG6khf3VMcHOr7fAS2xh+GY6mvbegW6nDq8GHzRr10Fs0BqI3bP3Zws7jweNca7QtGIoHjA0FAVIwGvY9/uBsioT8cuR8NF8LkIiZCyjOKgHAf2iu98ud0ITnISTjaV8Gi5iLux7trvEr6UX00X3B0Xg8/weMR8yPPIEDO7gzMAQ+BA7LB2OmIRgVCohuFOIffITLCV4MXwq3sXh09WFrvukNozADlnSFWXE2tnuk83IcHsBho8ga2WjfG4juDADBW6dCXPENvF0eHkNjRCwIQkGBfZwrAKW4uGNq1zUu68ZIOETJjSB18C+JNyL7Y6oh5XZhdtisRYV+JyVH7sfigQ58HiRzG0y8l5uOBPfrrvmUERtLjIGkAAXJixq1E134rbrLdeiDDVjMrR3MOxmUvGwaEkBVjiVApp3OitZZBkAGxIyKlBtXOulETBgBC5NBTRBcNP1oJ3Auc3mMjoaJFb1YGYstxTO4f3hTQv8La8JGc6HOe2JNsWiJNnikfAQDJh2P229bLTO4pGkdr0pPNewHoZ7x/mPLZAn6aPAWt+IAZVwSAwQpbK9ZyZzpXetH4MoeuxC0orRFRaOTT6w9y38ORSIZDu0BoqpfWDEjO2s/uV0ZM27TT6Xw5X/3xj/7Zf/gP//7rLzez6cl+B3Hcaq2btrq7vZ7N5wBsbNPU7enZM2MMs1kul3Xd3N3dzefLtm1PllFjudism6Y5fXLRVXVl9oqi1trtdrst9mLsrtidZWdREhdFYe/N6ekZKWjqxrQNOO5OawEgSZI4jlmU7YwLzzDGTmZTItJJHMcpEqkoTtM0juPpcpEkmcOdbi6WizMRW1R71NEsn0SkjDFd1wlj29VV0zxsNifL5XQ+hy3scZemaV3XyJzEETPneU5Eu93O7UP37W9/+9snz56zhZ/85Cdv315nWZZO8jzPReTq6soYruu6qqqf/OQnH3z4rSfPn12/vfnVr351fr6+vb3Nsmw6naKOmEEpdX5+fn19/fz58yROv3z19ZPLy+u3b7/86qs0Td2jlVKvXr0ywmeXF+u7e2vtfD5fLBZvrq7Oz88BwCWqPn361FV9+uijj4qiYNtFUbTf791I3t7eIipjmpcffJDneV2XaZ5FUfT27duHzbqqqlhhlCTz+fzrr798+/ZtPkkRcVcWaZaX6/Xt7W02SSf5tKwK0/HZ2dmbr7+Koqjp2qZplEKnI8VpoqOkresqioSUKxGFRLGOHu7X+WyqdWSMqduOUGVZ3jXddvOQpZOq2K/X26arnfuO2dZ1LcJWYWUYAVz4U7uvm64BVwqAiAEXJ6f5fIaxvkyfnJ2e7bdF2ggBRUBoOdWR7UykdFUWjuf+5ubtk+fPimLHbKrKsLGuZHUcxyKyXC63m9uurQgTAFguF8/eP10sJzrKO8NN0xpjgg3OiX1fpwI4eP+CtA97MES644g9ZiyZxxv50VaF3/XC3nw5/uHvOkPDt0cXjIFHOLmO/r7zzkcQDmTgjuwb3wvYd3UwHEBjSOa/fYTaZcTXbpHdwfzOhoXbjtHIuKnjZryzR3/nazgl/+6XM8GMn6IPrdeD2dXaAS44nOQ0kqNxwZ5PdHTl4MVwBsXRcFMPVT0P6Bhc+iaOPA7jV8AfwX42bsPRKOMj4A4hreq4hpa7g3qXcdoDkf4sHj5EQiuIiA4tuDREAMfe6YIkxOM3V0jJcU0AewOeo0n2bXao0Z3f5HABM1sGpwgc4ld0FSUDFoEekZgQNN93Gz2I9HM0BhfMHGLL8FCRDegMxyVpYVhgR+vVjhCwnyBBEkDuiMjx5YWnsxiEPsIYWGAIPBmexTBy2D3eRQf2Zv9DPhijMb4c/dxCKG0JFoTAR2G59jAi2r68jjDIECcN3BdzPVyugn2NpCNMwwDUm3K9FjQCe4wg5NCfRhTt7LfO8uwoycinUogciNGwv8L7MHdHqD2gyeAfc11wUA/RReOw9zCAFZEkDrYQRMZQ+E0EHX0qs3W1Tl1cuxV0DoRe40VwTXcUQYQEjoCn1ysAwCug6FMtxVrw+gKIANiO2QLESimKHGlKTybpBC/1fkxitoKgWPW5p2RBQFiBj5UfaRniBRcienJ0BADllX9XQg97hXz4y+wYPtFZw7uuc74xIi0goCyiYgQK4XbMQIigvFtvqPJmXb995N2hlKdg5yFyIrefQemxO3oye/A1JVzzjKAgiliXe+Dt8jIYyl29EStiOrbWNq10Lu0BkYga7II0cKuIx60iAs8mwSBBSL5DLIcXMwOLL0EGLvZJRETrpG72SHy2fPonP/qTP/uzP/3kV2/bMhLbTfJpEkWCGKmYE7Z2ouOorUut4/1+f3KSLhZzZunamm2XZdk00m/v7qvdls7P0VhpTT7Pb/fbstzPZhMi6jo7Wy6YuajLxfklERnT7rfbONaT6aQq17GOoigS4aqqHtb3sY6yOHHViESRUiolpTUjgAJw+Z1dZ4k6reKqqpl5Pp+rKLHWnp5N3UZj08UpAnJXN2VZRnFcVVVRVS7MPUmSxWKRRFFdl7PZrGk6N8VKKWt5Op9dnl8URdG2ZrfbuaJ1s9nMVXd6uHmwIEmSPDw87Ha75y9ffP3V669ev5rNZpPJpOu6yWRirVy9fdsZkyTZs2fPPv/yiydPnuR5HkfJkydPiqL46U9/SkRt03z00Uci8ukXnydJ8uzlC0EAwuliTgJVVb25unr79m02nThxobWeTCbf/va3//zP//z6+hoRq6qK4vTs/DyKIma+u7vTWgOqoihWqxWDvb2/i6Ko61pNKooiAnt3dzedTuM43ZfF1dsbR9aOFKtIu0U4m82quvzZT3/atvVqOZ9Oc4Xctc1sNiOiKFJ5mtUdW9tFSpVNp9Nst9spinZFIUpbwDRNRbBtjUY1yWfFtow1mbZGkVhTW7Nlg6SVUkmSZFkmYHfrTWsa09QRUBYnrVgAUVFUVXU+nUzny2ySo4oiit6+udZxcnpyHkUR2y7NchVhw7BZ31lTl/uttV2cRPv9brNZ13VpjEmTxKX5pnHstsx+myyXcd1so6SO8jRN88n0pK6MYetqZmutHSZz1QzYeDvCERQZh8pgv2fDESAS7NnDIXh4skuPa4czsb/b79rTAKOjBw6hwviQHR9MLkTHiYRg5XTPhUenOQxHzjuwMh5oEUPg7u/Ax9iPQDjIANGTAQSRKyKMIAAKGGBEFhlq9o043cf9Gr/e+SE+GsfxZcMNj6/xzXZZXu4kEgEEdCMm4QWgYJg7LRIGVPo7O1ipxjFPIuKP/EPT+/gQCusJRiDGuIB1z6EuwYKHpMMtHO8feImmwR9T/obOCT9yYTiTWW/sPPLmOBQIAOgCFTwbIDmdARHAjmexx20D0B8mwP0TFIwoIHw3AUkpALCugn2/hbzhHKEvhG6F0Y2oW1cgwEiO884peexrTwJ6Q6gLJQ/RRORwQzg7x9bf8ScjCnPop9z9yteECn10tjTPCdhPbngRDTW5xqNxBBnDALoHAUAIUnef9zRGHFJeHF7sHScAfTFHGPG09G8OLLvj+Q3A9OBzPt5IYTZH/+ynKDxFhhtibxDtCWmcgdk/glms6cMheuzpV4LX67jnJhSXfcK9JR6s6dvon+f+SahB+QR3Z6J0xXVCQLaMqRW9sZ/hcMeFvfZ4lACcqdWvdmut6bjHk26Mj+IX3Xpj8hyp7vNAj2gDD4BPLx6CIDEsLUR0BSMBgNFZg51/DB36tywE6EAhs7fl+rpOQsJsxTYiLl5OfF6NONHhVFnSEUrnkgAAgJGISKhPNUUQEOrjenDkwXOVlcjPF1ofmuWu7UkJgAjYfcUe0LtptW1niIhIC7K4vUNWoZcSzmMTUmYxYFwBAPAkko7JGxUCyChjeyxWHk9l/09kBvQptiAiYp3RCC332cbslAdl2YirLShkjGm6zhppLNZ1Y8RqrbUmZiWRxEo7A6FTxoJZj5lR2dFGdNIJmJkADxvm3wgwCDgODL9yAAGlM6VSyA3HcXJ+8vxf/PEfs/mzX/3iq3Zbmq5FUlGUrNfb1nRRpE5W50mS3N3dPdzd7TabOM0vLi7yfLJarTb3d0meRQiFMbuHe8LTtm2/uL9j1AC8XM7ruo0iSdP05uYmSZLZbOZypbTWJycnkcYvPv/13f11EkVI0rWN6awm1XVd07SIeHd3JyL5rDo9PZ3OFkRkjCnLUiUpWwBojWFUyjBFTGx521TT6TSOFZu2bduu64BwcbKa8QIRu7oCQmezL4oCURwLDaJytnNXvfV73/vehx9++Mknn6zX26vXb8qiVqiApdwXlgET1bZtnk/zPP/iqy+ruj09PS3qZrlY7Wi32xVKqWfPn3fGFEUhInVdR0pfXV3FUfLJJ584BnFnI3/x4oWIrFarF9ZcXV3ty6LpurauL87O8yR9eHho2zbP81dffoUgy+VyOp3e3NwopU5OThaLxeeff16WZZIkk8lkuVyWZelM+8aYp88u0yy7e7gviuLb3/52VVX7/e7p7GnbVA8PD66nFycn+SQFRWfnl1YQldIESZK6+4jIYrGqqn1dl2xtFEWalJEOALquS+MsjZM4jrueaCtJEq0jUDERKRUZYxQoa1kElYq6rmLDsVadjhaLWZJnRVNasGeTM8O2qPYsUseq3IAinC9Xd9t7Y8zZ6Wnetmk2YZBdUakkzVSGQnma7bZbNrbrmrOTZawjMAatebi7a9uSxU4mE9t1TdOcnZ05Cva2bYtthUmUpsn6/iHWM6RieZLEqf3wG88+/s7fV5C3pkFUSqkoioiIjQVkALIjzuv+kAUi1DqWcW2NfkvCwUn3dwHH8VESft6/P7DLPb5sfPHRQ48O2f4Tfld7Dk7k4eejq44eOnozhBc++mroXwgrgMMgonEXuJexti/eOAygI/V+ByYfXo+PXZBHLfkdv+r76E/bce/63h+YaN/58/BcHVyx0IMY94VylG9CcFj7WpyqPhpA8GZLi72x0J+1fQ5rONql92X8HT0MgzKeJPdJcCodLb4AZOFwYT2CMgcPQm+644CHxk88uv7v+IRxqHjqn+uKaaGg9LG5QowuasI4AmYftsQuAsgboaG3c0vgYgYQgYAaiYj7kvLkIAsAOzf5iD/+wCANJD46wAsC6/0n7luPvEf/iYyG0fcaEUZ9HA/jgTTp8zeISBBZgK0NZmmlFAsDC6BwX80ZgBBY2Cez+dlnGChKDlX8cb6pH/DDaRk3z/mCRr89DnRwffWTCBDq2YsIgwh4gg4rLNgnaPd6a2+sDK/eEQSIMDA1WfGgqjc/+MVJigCAUDm6EAU+4rln6QmBdweLeSTQ8fFcHF0TCgUws+m4VwVRxAogoRCB0khepUUAV3SjVzkCVwqKK1cU1FtEGpN/B/bAEMPmWH4ZJRgJghZk+3xsx5wIQmwtoAASKhJr2ELH1pVlHfrmLQugHOk1o4hYQBwFNYW/LjRNAJRzMAJST6XifGK+QQAOmrsBcx3xpJ5A4NV+t02cFoEivog0ogJmIrJsEZVnyQRy5dpwZAgAFlDuMPOGD0QiQR48WhIE5mgGD/Zy+FaxMLKARe/uQ8uI4lgg0QoIizGWmcmSILdtW1dta7kxWNc1gySJMCurrEgkkShj3NNdSLfqx3yc3+/WUo/I8UjS+iki76VB9FnHAk7Tars2RoyapkakxezJv/jRHyP8H0VZF1WdxNM4ieuWkyTRWmsda+3rcEVRVpf7myt58uSJms1ubm4m89nq9OQ0WkZa26YWK0VRsMB0OkVg09bnZ5dak0NRgKy1iuO4i7skSbQCTUohOQtxU1Za6yRJYqUfHtaz2QxAqqp5eHjoum5Rt7PFfDabZemk5UorK0Kz6UInaVObprVFUTx9dgaoqqYBZiDs2IJlpTmKIocP9vuiLsumqiKFOstsZ9I4YUAXlTGZTFw6nVLq5cv38/zu5uq267o0zRwZZVFUk8lktVp9/ebqyy+/NMZUZWNBiqL67W9/u1wuLy8vv/jqS0XR2dlZ17mwjRul1POnz6M4Lsvyyy+/fPHiRV3XXddVdf3ll19WbeOYZJRSnfDp6WnbttuH9Xw2Y+amaYwxZ2dnT548+cu//Msoir744suXL18iUtO0bdsmSeI48rNMXLh8HMf39/d5nhtjfvCDHxRFMZlM7u5uT05OtMLdbjeZTNM0XSwWeZ5vtg9V2+x3ZdM0k2kWZ2nbtnk2saZzqvs0myoEY7u2bd3RYIyJtADzbrMRpbqWo3TiI7xZSBMwK8TpdMrG2s6oE6ibXbkvmTmKFDI0XcMAL16+1KC2222apkSkNBKRadqHqlJxrlM5ubh0JaKr2nSd0RgjCxEppKIqo0i1dXn1usiSZHt7UzdlliW7/T2ziWO92+2SSO23RRzHljtEjKIIUUzbGNMigNaYpPpb337x+9//g8X8ou2sxX2iY3ScyG5HESGitXZIpPcw4AA0j2PcsQ+V7A8ICIfF+E0PaYIcDtf/nRD1Xa9xS8bxfuMLXCRF+Aof4fgjUAeHYuRdr7+LPHC422Gn3jkIPA4i8EjDHYgAY0vK78CB4cPDllAY24OGjctxjlrd/9DP8Phx47aFg8ETl4Wr+8NdK4qGhQICyI90IO82HT9mjIf69nuSA3RpCOD553q8IuGYH41zOEAxsB33MJr6MxV6WID9fwEiA4DQCOGFFh4NrvRW1fGUjOdDRlnYR98GwBGgUt/O4HlAIMKeMpt8dXsfAdCvV3Y7hq1jYhgSQ3HYS55uwjXDHIZZA/YwwvaKEIcRBh+h00PwHkW5xXoQdmKtFXD0Mv2MH76YPa1KKH7mkNpQOGa0N/wNR8AdejTvgrWZxYW5gwslYiFCYQemUAQcmSqz0CGRtvA4w308HdK3QZx3Xg5R7HgG3Yf9WrU9ZPfhBL5/hCHNNUxJCCuUw8iTsaUffZDYgGOOVhd5uzITEfc87qOu+Lhn9Az+qEgrpVzopIgM2UJC4OOs4HEH4dFSH/fdfdW11hjjgi5EOmuBBTQ6/6B7vhAMGwTRGYURQADJqV6kBER5rwOhHYXchY5TXzjJLxvBwGkPMLBYCohLwgUm9tkOJAICFpCYjQvQcHFW7tZuySOCsQBCPXW/U7MQgRjZ8x6N8jec1V+cpgJBbwmx7942M14/vXVHQv0BZ6qw1lhrERmJlVJCSjMbYxB0SFP34SUAIsjcERGhHh9giEPEmncB9NLJWtuTBbmV5sUIcwijd2m63Ac7+owYEWTXXAERdCUnWYTACmPdmrJpu9ZWhpqmEWQGa62ONCELiNK94A0LiXoJP5rfkUcevZEJj0zvzmci7JwgrnQAskWKVKRN1yDZsuqm+WQ6n/2z//kfF/V/+vyzV2XVWCYdJfPZysXg12U7zTMTJydnp+v1drPeFUURRRHFVDdlW09UFNdlsV6vldYKBIniSCPQ+enZyemyqbtYaTG2advZZG4tzGYTYHnY3gNA13W9OYnrulZErTTb7bbruuXZuVKmaerNZmOsGHZEAsgIpNrl8rS1bOuWdNRUTZ5PLVOsdEKu4pnP29GajOGmKuM4TXQEzBGC2KRpGpWRtbau26ZtnNikSP/6k9/O58vZbFaW5X6/N8ZsNpvZZJqmeRTtn1xe1k1TFMXFxUU+mf32s0+bplktT+bzeZZlr6/eug213e4RMcuysiwBsCgKs9k8efoUEbXWF0+f7ff7KIrSNL27vlsul+89fy+O46u7t/PprNju3tzfK6TpdLrf7ZqmOT8/f3h4eHh4uLy8jOO4aZr1en12dnZ9/TaKosnExdLoly9fPjw8xHF8v97lk0mcJL/5zSenp6u6rpnl888/V0pleVK3TX3TvL25dn4PZoOK4jTpum6/39u2cb61tm2bukumkSJkazqGKEq01kmctnUzW8yNtU3bMkbL1XnHvN+VWmuz97bCJEkipRUK204ppTRlWWaMqYr67OnF/GwZ5emXv/nccqe1NsYAqihNQBEzJ1EaR1FnAACLfcUCYgSAlFLOWTGZTObTPNbwcHNzu1uX6206SVGjjmNN8W63UUpFWgurtm27ro01Wdt1pradEbFx3E1myR/+8O9///t/kOgTawSQoyhRNISUkPImj0NLBYpAOH3GpB3BUzretuEUGKOg8BpJoQP4i71B5PHhMr7D+NB/fP/QAByYLcLr4Nh6bLR9jLjG9xQ5aB4iOqE3tDBAjz60NcTl9g8gdxkjBHM3eCues5M6ANCPD75j9KCHce/6HEdjO7Lf9707+ueQOwTBdnmgEsCjGTy4Q29c1DB6PcYEB03sAW6/qg5Mm54upx+ycM0RxA/HPNEBUJaRbhRW5HDIjT4Jn4enjY/ecP1R/0PoPPZGYkQ1Hjga3eEQ/QzXSCAHdAmi/WVEpLzaPASCiAgS9J5lYmtZLFvrg5nZqzYwPNGT3zldLZQBQkQiHfjuw0ODfQ4PY0+PpoCPAgaY3Yh5fDBod2Oo5/450GUAothjaDi64WipoHeMGGOiKAIAEOyVH2ut1drTFwK7z1k83SHiofEcXZA0DjgstBAAgJ2vYch+ZmYSsKN86PG28d0FdUDzwgw9UToIurn2pYv6TgXNRIYiR2MZ1O9bpehIZ0Ds/SciIhZAH3oPLQgKCHvOfjePpPvYJwiyGAEguGDGi3y8a8bzGFYOIjmWDGutC4JSSgk4Phm3ZMEFU8lAt+oOhv62XvlkIoWggoMulEQ9Wnh4lD/EKChh1fWbUYK/wtVzABFjDDMjec2fTecXmNed+41P5DaWWzYiAmIZRGnvTvVEmu9oGKpArShW6cRz3o9QKfYkYgDekiASvnKZJ6wAHKOO744cPGXYQ+5J7ogdpTuPxYiMfmSMcfFSvlxWD9ytIA5JHf3WBrTWElvql58F6xVdIRZktojKCFsrXWvrtmlZd5aZDTPbyECaRKScEUB6u4YHtQCIqA8sT8OWP/JPDl31RXk9p72AMBtkaZtY60JpY1tExrLaJymcnj394z/+B//+T//z51/csBGlojSL6s2266yLKqnrdrveEKnZfBKCNLbbbdM0WrhujRWeJovGdIvJNFY6TrPlcmmt3O0fptO8bdvFYmat3e/3Z6sTFHi4vydyeC5CxOVyKWLTJLm/uTXG7Ha7ZOJj1l18Udd1ZVkyczad6UhVVYWK02SSRdlqOU2ShLEFISvMnUViHUXWtOv1VmvN4HI9YLlcgul2m4euaY0xdV3PZouyruq61lqnWSoizrbddd1ytjo5Odmut+6EPTk5qev69Zu3bdsaY0hFT548ub6+BoDJZEJEcRyfnpxXVZWm+d3d3fvvv1+W5V/8xV8uFovZbNY0zWKxsNZutltmbtt2v9+bpt1sNmdnZ2zs5eXlZ599lsXJ8+fP3765Mk3rMmXv7+9fvHjxzW9+c7VaGWOcC+L9999nthcXF2maIuIXX3xxerpytbTa1rx+/Xq/32ut8zx34THMNsuyPJsK2LIsAcQpD8+fPxeEWEfb7VYRpNOJUooQFovFV19V19e3WRKfn50QkTG2KqquNWmc2c6oNI6VitJpFEWTLJtNpaqqpmmUUk3T3F7fxFrPJtOyLJuu6rqurVtmXq1WF08uMdV3D/et6UBs0zSm7Vx5EESZTibaKk24K4uT+QlgncSJVrECZcF++OGHrrgvitWkrO2aplmeLqNY7fdbUsDAURSxtUmSCGtEnEwyFFsUO8sCwEpjktnv//43Pvro28vpB8KxkTqOyfA4hB17DqdBwltrAzqH0VHrdt+Y6jFszCO8NhbCiI/B+sGboxPk6Mqjz8OVcmjQdN8exqgcAANAn9I0lsxHLC7hVuPLjl7vvCC0qj9i3s2nN+pXaKcAQK8PoMt2Cx0fD8vR5/7DQ3N7uIYfmRH9D8esYo/OjnCHcFsjrPrP/HMRACDQQbqoVjXSb2wAKJ7QTY6dIIcndKgqCC5+AUGNGYARUUg5TyoRieXxrcKh7lzhPdB0xd4FQKyMedydXRkQqbPMnXExmq7j5BzjNgxciLFBa128inuohBOUiCwM+Gw8lEqRM4fJKFaH2bOFuGssSNcHNmhCCPtQvMPEGAPC1rpQDWAGVxCH2XiLjQTjn+++UspVxEAiGRmPESJhARJnO0R0ZlSRw9h3v6gARZERABEFfeEbQsMWpI+A6k3r6F1v4oJpbI/MPGjo2cT7VaFFwI0M9IWXPaoDMlYQseschbbbFcSCILrrOKwoF/fiAAcOmfLBON1jOE/QAQCgUAOAZQ8QnAbSp10CEGEAlq6KvHU4xJWCA2s7AAJUpBUwG1e43XHEQ8hTdFvIAxoR7AlVkEh3XedvKBh4WpRSbAmVSysBIhggO1AgDGkC6AFEkYCQEdA5zRHROg4eGKaS5WBljjadJc8uf8Ch6d4woBUAtl3XWG4BBUkEjFjRmlwilNKIwihCKMxWaZcL0ksrERClNAbmUEJCHQGQoEJwhS2cx0EBANJYxUVrxVlqGRBIWcPIgMwioFQkItYyUYS2cyEwxjQ9E44loiiJOxakDsAAgFXCSGzBdraPZQQVabfeAEBYLLNSSqsIenWLEFtXcApIWFojAKAQieKOEVUMwFaErc8BJSRSyhojIiSE4BVdAASt2Ii1IAIkoBicpqO1BheA7koVONlvmVC7VFFrreNmJqUUKQCxpkVEJPLeHGZmdjzy1rKxYi2Lj+kXRDJBdQQOgkhEuLPKhcp6m79bFwxAqJLWmKppm6ZtxXZsO9MIMNvOCClK2lYQRShVERnHDM+99wyZiIwFIlLksmcHixp6KwBoIgHptz+yZdPHgLF0Vtiym4K2awwbjBQKGWtt22il9OXph//yR8m/+bf/x6tXd9wh82x5Ot/sH8DkcTqJ02zzsE4j0hRZa7ebO1KJiqP7h9vFckmoGJi7No+iLEtcmE1bV5vNtt7vEXGxWEhntuUe2OZZbEw7mWRluU2SbL4k03VdJ9PFkgRUkkpZWGtvH+4RcT6fp1l2en6mtd5XO4xEyySPI4EIUUdxGkWJFdgV+8U8b5omjuOWWzBWayrLFiEyTbVarYzhXVnncZTECQAQSms7pXRVFWkcRYqELRo2VVOXzcYFsl9kURRtdts+JUklaTqbLRjhYb399IvPwQWnKfvBJENQgDidTq21VVU8eXKx2+2fPHny/vvvd113d3d3cXnJDJ9++rm19rvf/e7rt6/vHu6fPn1y8/bq4V7OT8/K1w/V9X0bRZMXz0VkfrpSWm82G0ScTKc6iqy1d3d31pqua3/1q19OJpP333//7u5uvb7f7Tbb7frFixdXV1eWO6XUNz/6aD6fvn79+quvvlJIWZbleb7f7/Msm+aTPM/fvL169uzF6uT0Vz//2Te+8Y33X763365vb29BbLnbn56efvDygzdv3rRNlcQTreKy2rOIMQZyaKWbRbianwLlZdlqHcWZbmw8iRNmnk7neT69evW6a3ciZDsh0EhwejI7e3LJirfVbrN5SIS22z11gAZOz1adMZVp15tNrrPG8iSezdJZvErrrk3yybYqEk6mU0qSJNZUFfvNw71WmGfJk2eX+2Jb18raTiNlWZYkmYjstztEzJLEcVAC2yzVcaIunlw+e/rxfPass61SopEQICaGA/KDsYQf4PsRWAQPiw9gIqDyrBvgk156JXzASwDgguCIyPY5V04W+1BCxNY6fpueApXdwcujOxz8HRnyvLupR4IHodcBVzj9xFmoQsdFANXARhj6JJ7nbUhIDQCAdHBEH5gyGQNcEQD0AeuILsZVxEdv9g1z0Y9uhAl7GwoAIClAYn+qYg9g2J3X0LPuOnzigHhog2t/wPnhk3HfbMjHE+7rnwAAClo3FOArrKOFgVo/BDgFk6sem81kZPEdh8ccIYbwJvzKweLhIwwsyAMjB5EGHOayL5np/0o/Dz7XihBAHRCtHULqMViRwSLln+hA7ugT6e2I4BQS7DUXT7rnnb2uO/5vfxsJdvpQddKlLkHvexlrlgM73IC3fFg2sy8zxGzccmfnmRsMuhBYOHzy6DACvS2//4uj13h9HG7X0Yl7qNcSKL9kfPuDrb2fcRxcTiJCHmpL3xdvfnMXBGw3eq73RjmFyi0AcbiAoSeFDNsbBkVi5IZxUzNaYyB9RsHBikUMK8ExxrvInt5wLIS+RBY6FhQ3wk5EyqB/i3AoeuruH/aJjBhaxpti2BrBUwFDzsOwIQ5NF9iH0ARn0eFcD3N3tPhhmESvkLh4Iz9EPkVZUFgpFPEpyNRzQAJAFDm6dCECTcoxliCJiiKlEICFxZWydyLNLR2vISD3rLc+lteFkfg0634ih+mBQdlzDKeIqJDCdrDWigUWp3jrrrMiblsxt5VSqLTPtCZQgAoJRRl0H5C4Y8aVKsO+xAQEYjW3OJHwuAqycuFs0BssiHT/LVsriMo9tLdwoVJKwCoVuYQft2DkXaGiYb6G9YmeFT34r7x+y57w1Y2DYVetDAOfjMstZhj0UkdA7jQJNn7hKaVi50Z3soigs9a5WRxJedu2TdO0bof2NdGY2RjTNA31oIF0fyo7ggV/fDL2OSphqbteGAkHxJBXFxat6Y0dEQAgMnPDrNBxMkrXdWmaP332wZ/8y3/57/7d//n61f7h7ubp8/cX+cnd7RqyNEkSANrtKiJK09g9sa1qI7zdbuM41Uncdd10Ou26TinlCICYmRREOnb8LVVVLOerPM+//PL6fv2QZVmcRLf3b4ElzWI3A8vlEgB2u11juiiKTk5PXbMnk0mSZ5vNBvRuMpnkWZrECZJst+soilarVd0USZayGECOY60jRZgjANiEmZy/sWmalk3vsqO2bReLRdu2URQlSVLX7WQym+YzZo6TrO26OEkuLy9d2Iy19r2XL4uyTpKEmc/PL2ez2devXj1/+bJtjFJS1/WrV6+MMd/85jcBII6zzWajlHry5MlkMrm+vj4/vwQA25koir71rW/d/ff/9vbmOk2zqm50HGezaZQkpJVLbJ3NZsycXFyIyO3tbVVVeZ4rpayl+XzuopXu7u5+/OMfuyT1yWTinrXbb/I8z/O8LMumaZIohv6IZGtvbm4QcT6fLucLa+0vf/lLV2l5s9kAymKxKHZ7V1i0aer5fG5Nmue5iNURKa0fHh4YxVrDYkJ5lKIoup2J4kmUpk4aZ1n25MmTpmnc47rOXpyfX1xeJnlyt7kr1nvF1NpKwFq0OokVRRhri6R1haSR2QpbwLPLCxZM8izO0vXDQ1EUy+X/n7I/f5YkSc4EMVU1M7/iendelVV9AN0AZjAjI7sjQq4sKBzOX86VIbkLLoQyvQBmgC5UdXXlne+Myw8zU+UPaubhEZkNCl26s97zF+Fup5oen366vL6+fri7vfWe0J6dnYlgt+/3+xbErs5WZVl3Xdd3A0ezXM3a/XqzvSeMRYXzpr68Ov/rv/4fXr58VVUVRxyJVo7PhYNyfBq+Pj6y9caJtFHkwomqBsd+1fHD0yi9pi+Ofz3gGEUgE5gcZ4gdh3yT3sjj62RyjUfYl4fXybH4xbl2pG2O0mb6YUQUPuoaAMQxn/BwEeR6lRmHfDRu0/i5NpVOmE6OT/mTdo5dm3QTvrym3Tl51JQtfaxgMyYT6p9OECuckX72QI84nrkp2H08NDn3bnz9dDSZpxGQo1Imh5uGTKadBgD10o0xWDVj8phquhxMnowHhRKOSqVOl8s4oNMmTQ7sw79ftnBs2MlUee+nvyrJDEfASXElEUEkjW4HrVcpSe0ewxTshzTHNJI5al8gK+Wg1rAuoHwgjTvtcKzCScoFH1T/4ybpZ9KY4DFp6PQYHjMyJ+NALHwyPlN9a4S9QlZDpw88gu5w8p1nHU5L/ySNEBIaARhEYRIAGIFNYvJJkg6T9p+NDFEmIpGESNa0ChkzoUdLfWwzmdE2TDh+/WJW2QUABEFZgDJ6OI+oqAhAJGGIciLLtAPCiAYTtc5YlO5IZZzema5n1dimi/AUqHdqLXO24MQgTSfi8MZsPyCisYSIimYmEhX143rRpaWuBRVxyaUdtcCpV3MT0ejwK2Mla+YuAAhk7shReOGEKOkgE5X+DAxBSJmOMQYBGXy0ggIUWaNSICIuZUOaHPBRlzagVWubSflq1JIzljKPas4rHQVfFs0yhss4MJfoABINZUq9EM3B+IrEQETWo4oJEIEMEGqW/himoTFCmu7o2EQ8SsvB6QEZpwYMjMq63ofISkl5yK9gCZxP3zAkgK/uS2utRQKAthtEJITgY0hblgGB+n4Pmm9nhFDrZJFNScYYY+SsAYCkEIqkHPkj8KGuTMSxcEI6SPq+p3yxYLYvsA2DRRKJhCgJZQksJsZyt9+8evXtf/7P//n//bf/7ff/9P7jm/eCFMU/3N9eXT5fLc6e1uuu64oCyrIg6+7f3buqvLy8YhEVy7vdzpSDQvKGga01r1+/ds7FILe393VZLZfzT58+/PDDD2Xlmvnsh3/5vu33MUaipbXWOlM2tevaou+NK9HQfL5cbzeIZrE6b5qmbuaf7j7dP9x6H+oqELqqmc1mZ0RU2IKIvO8NCDP3fTBIwiLROOeKylqC+0/vh3YHIRRl6VmAY+BY1pUxZhgCGjpbnv/zf/+n1fL89bfPttvt3cODiAzBzxer7WbT7nsR+fT+093t7ctXr58/fz6fz9EUIQRlHhz6cHV1ZYz58OHTfL6Yz+cvX76MMV5dXW2224uLi8Vi8S/f//OnTx8urm/qaiYizWw5uOHnd5/mpb18fiOKDNzIw8MDAIQQXFF478uyfP7s2e9///vLy8vFYvH+/fvPHz9JZIMUObZt66y9v7tDxKfN493dnTFmtVpwSOGgGON2s5nNEsn90/2DtbbrurIoCsLCWmb23i8WixDCdpsw+m3bfnj3/uP7D7/97Z/X1WyzW8/n8023G3zXtm01G5yDsq6AKHY7kWgJQ4jb7VZZnpDEWRoGWC6X8/n8/Ozsab3GiN1233dd3/dFWQoAMwCRs3ZgWC3ODRhg4RDXm03dzOerZTObV03NMfp+eHh4IODPnz9vNhtczMqy3G93D/dP+7ZbLpdNvdjvu671s3pBUD7df0KzLyqP4JumuXl28Vd/8VevX39bFFWuYoFIgBQRJUv6gxqje2MU+VMRlM8CHMXan7jSuYOIKFr4+aDVqKjP/x7ceZBD91MtdnJOHWTXie6UD7vDn3hSCG+qH54cZNNfv8yyG5//J3+WLxIsT9W2xNMCACJHMQpOhMh00tMvHzLtuxxrXF/2YrwJR2f6YXzkC/Nj0h79ckZYAkwp2//UOFgFLeR+TkI2k+Whx09eWKfdyKdRzrDM45QfhYhGKPdZ6+zIv0YsM7ZSRwASxncy+oKZfQ9HS3Kiqeunkq8RjnX3sRcnM/TVZiCiOqqSnQAmQ1yALIhkzpiJjojqL0xHclDkrjGGRSufqWcoIqISpwiDDnuyRnS8jBFGIIpBdK+SQTLmxOGMiNPkjy9XEkzoBVU9O0kWSf9OnpDzN+TI1S2HJNTpv9rNkWI2YxgUtZKcv0mFFcxecJIDi45gys3MQ5E5cwKwUagPJU1w7JFKIDlJ3j2+jkEvKeyV2LQZg7CuDhwtFo0nTNl4MFmy+j80OckgHjnItbXMYK26z5NyNhZIHq3q6aKCY0t66qUd9/n4ydFGBYAxK2N6fbmAVZ8zxiABRWQmElZdDSkaYxSErEAkImMtEXOaz9xyTsSvqoUjgAFkACOa8hCTgSesmnty3lASXpgFQuoyH8oJGUESEBRKQRjxw6CBWicZ4S0gNtULZEQEI2q7GSiV9jAZOwiAxhDhBEM/HZnRh6XeAAIksgA8HCoQOwGJAohC1opE0WxpIiCjancUAEEiC2YyF0LJ+3DsfdF/tWQBHgKySUiOIYhxt0UOIXoEE4VD4BBCxlYhMzMGQABklhAZRCB54oUJSVIx3AAAnHcfIqqfPsY4DIOWjUy2lzHWGGNMUVSVs845Zy0AaG7cOHrjAQwiKrJwAs1HBB4ryOa+jF8JUTSRN61TAY8igo4QxXRDQMTCmH03WGceH7sXL379n/9v3/3lb+/+l//7//Pjx48cerJuu34UNpasszbGWBQzIFPVxe39g7V2dXY+dF0IhXPucrXcbdfWFmVZWnIcwm4YNpvNarkwxrRt++HDh6Zpmlm12WwEYL/vFouFK4vteqN8fHU1q6vZEHxZlq4s4lPshsFaWzX168V8dbH6+PHjdvdkrZ3PyqYqnSXhIAD9thVkLZMU/WDLkgxGia4sWAJKqOezwuDHt49GeLFcNE0DAF3XaRayurSb2SJwREOX19fXz56Zwv3xpzfr9fqbV9/2ff/mzZuu65p6/uaPP8fI19fX//LDDyLy4sWL589efvjwQYnM27a9vLx6eHhomkYTTCOzIi3Lsry9vd1u9y+fvyJrgKwI/P73v/f9rmmaGOPDw4MfhrIsnXPz+bwfhh9++CF433VdURTr9Vq9SIvF4sWLFyLyw4/fd1233W7n87kyZl5fXz/c3T/GMJvNZrOZUhx2fduUlYS42WyaZn55dg4C1tqby+uH+ydGrppaGfHbtu337atXr+q6fnp4BInGOJFojNtu16bEGNn7oev2rpgZqlLhGECWQMAchsfHx77vNZTnXHF+fn5xcbHbthxk/bCuXP1w/8Qoi/ksCtzd3pMprq5W3cDLxdw5FwfvrAWWoqqRDIN4jpeXl58/flqvn7r91vfdb3/721lTPT09fPz4uSiqqqpWi8VqtVos4uP9w+3t7dBte79G3pd1MCTPnl/8x//xPz67+aawK93zCkxnDiARDhXBp3r50WHxhWD/0mV7QJKo6gVTVSd9mKYcDwpyG92g4yWTHNBRWxiz+6YnzqFJeHQIUsLU8QkD/VR5PbmTmnTc5ZNr/Nj4BMlw7onGr7lGY8Tv6Gkxu5AERMtW4nFQ/QtrBMceTSXb9JknNkz+7tdbfnJnag4dTcQUyZMyUBGRlKXn5GmIaI+bPh3c0fTjKYHA1Ko4vkPjYsl/IQAJEhJWUpJPWlDrZH5Fm5nM7ukYTbW0LzW2qXKDGas9MXQEMeHDVGk+Gccvtfnpk/WBkjCgSesKPo4nmSo7qnmraaPRbZaoniHnOIHJHEk6lQESjzswJ4tpVJyR0wYY19BBh8vGcVYTD/GNqbY3jgNmkyvPJ2VLdLLy0qk8VePVHSmQkh+OpgOPAzIyuQ4tYUq7ZaQpZVDzQZshAiIRUcggohEt5ahlCFAAUJ2bCITKDp0nX2cTAHROc/hF+yUxyyZEQTSJcAsksRAK8KjxYVKPDrYeEBCCSM4xPzgMOF/W2nFhTPd/UGA0kfJCAhGgIghHDytQZhKQTDqbZyQN41RTn65nZh4143EGRpmmho+wJFcKAWrVWmNEyBglo8zLGNgSImECrOX6aZaIOSiHSbbu1OrKFqwIJPhTFJFkgDGIpJiPiACwtQUiJiIzyhwvKFpGmTnG2FtTiKhybCJHIBu8B2YBCgwxCgBKdAwAIQCysWIx8yfGQgSiICGZdEhkYAzh4dyR5JpmBEAkJuVw0cQCJIKo64WMsVk6izFW2eV1gyguXSfamkINVGZGQOGktE92xGES00ae+Nd1NRKZGP10tzJzDCEEL2xEiUcFNN9CHfBqUkbhqLgZkRjjEIOmbhsA5qj13EjzerVYRASOEIPEIMozU5aliBTWGWNMZlsd/RpEZCa5ASPr1GhTTnULXXgKBRQRTXjV2IgAMYcYWbeDWnRpAVtXCLCgQfJgIrf9wBxt28ayaH7xi1Vdlf/tv/0fv//+Dx8/flr3Q+FqYysiIJBhGIqqfvny5Ww281EU69/5rYg8e/as5xA9BGMUvoUiVVEYg09PD3U9OztfIuJ6vR6G4fXr12XlRMS5smo4xtgNfe+HpmkqV5ydnSEYNI4ZXFm1gy9L+vbbbxeL1fv373e7rSNjAPu2LYqij6GqqmY+M1QQkWfDHlxZulk66YcQrLW2rkIIQxjCY1yv19pCa4sxRtEs5k3ToLVCaFwZQ1TWzv1+75wDMrPZrO39ft/+4Q9/eHp66n0kog/v3ofAwzC8j/KLX9SIqOWiROTs7ExELi8v/+Vfftzv90VhRVDJ12ezxc9//MNf/du//rf/9t+++/n79XrddR3HWJSlprRut9unx8flYiEiP/zwQ4xxsZhHH3w/nJ2dGWPOz8/fvX8jIsvlUosHhcHf396JCIDZ7XZny2Vd14+PjyTw6dMng2SQmqqOUUT48vLcGOM5LlbLi6tzY8wL++3l5eU//bf/XlVV3/fn5+cc493dHTMvVvOiqDa7J8+eRYpq19QrV9WaBMVx6HbRWlOVRVNXuj/qpkAqm6YpXLUbdl3Xd92A6Obz5ePuHk1xeb3wjITWuBKxPV+eOedub299iPNmIUiP641ru2fPngFA0zSbzVNVVd+9/mZWV+/fvbm7u2UOl5fnCkVbr9fL+ez65rwfdg/h1oJ3JRqLv/rlr/7j//g/Pbv+RVOfB69lWSEhZiHKF4qgqltfnuBfXpMPpJ2b7xxBQaYfhmPd/ejhcnC4nPx11ABHOXYiB74QC/H04RN5iIgygUPDRO0WOcjMk7ZB1gPzGwER+ZisYuJ3PnHDp/FhCQgmu4CnemZqv6ZQjrDVzBD1dW3wywuTFpEO3+nIfGXAD2M7fp3GoZ7+SbLf8cs26K9TjiEBwEzFfdDax9eP2u20KQetOr8p95kYWQAMOT0GEpqCkFJbT6wFnIzpdH2kiSH6gsAk9zD9L6uiB1/rJIgzbXlWyLRTud5NPoemCigApHKGrIdx8j7GyHF0TuaLUyJjAIAYo2ozMTIZTBqhqkGYnZfpgKdE9UeMbABiCjfHAzR5PEeZNaA9+toPRXCIjqI/hyn7unkNo7EOAIleI4+Y3mRWSMuRmTjqIod9IpQ4zwViQqoQCMmhHpjShmAWBLrxdDB13g6GcoTEdoc0es3THDGIyabh9F9dbJOFAHlPJkiS/oyIAsRJxyVR/DZYSbW9UBAEVYtHEFSWkun2S37HPBRTYisRcYUhImQZRaHqf87Y0aocd9A4U+Pyni65k4lIn5wKvXxzXOFTrwAijtXdRaIjQ5o/ySzCJnuBEZViTFAkAT7SWBMRRIkKTRJOf0seC63gxACIwsicKlVNCDND9tEeBkckGa4i4gMDRhRFzaH3AZJLmbX4vK78IKTk9wJIMQQgigCgRCq6Zw2RHZmQDSnmPolg3YOaGAp6QolA1DgpIKKxTg0+pSESBBEMUWVg2mOZxF1rUmkiaILOE5ExNpvNagUl8FWyzHnM2QCRSLl6OTAjYpwA82KMEjkKC2MU1hK9MpKWSgCgPL4gIkFYCxIws6Q1YCBz9kvKiBUAMsY5BxXDIIOyv1trzVjELQLHCCLOOWutWqQxDgCgVOKSjFqc7PpsVSIrp1OMiWBRUEgIo6RJVJyPiEZ+YgjBMhdgrSWg3b5HChxR2IUQtSL9sxdXz57/z7/+1a/+t7/92x9/+uO+20DsjCuRChV3RPDtt9/6GAHo0a4/fvx4397+0z/G1Wply+L+/v762fPVauWHuNlstpvNdrcnImZQHct7H4Wvr559/Pix77wCzSNXVR0AwNoiBG4Hf3Z24YpisTp/enp6uH+6vr5+9uxFUzZ/+MMfHh8f2rY35AAInXv9+ruqatQeAwjDEIyB0uK+2xWlCWHYbZ9g8GhsQQQGZvM5AHCEsixVpD8+PjbNbBiGru/nrvzjm59jjK6sbFHuN+360+dX376+v3vcD/evXn+z2+2cLV/M5x8+f3r9+jv1xxuku7s77/3vfve7v/mbv6nr+qeffvqHf/iHv/53/+76+vrz58+Xl5fv379/+/btzc3zodsv57P9dtP3/dPT09P9Qwjh4uJiuVwaa9X73nWdiJRlqdLgbLlSDs03f/yjJbJEl2fnH7r+4fau7/uyLJUXsizLunSbzWaz2ajjH5HCEMpZIyE652Z1Q9Zst/vQh6Iu52eriCQg9WJujLl+9vzz58/qNY/BF0VxfX2JhkTE+x4Dcox9u/NDV1ZzY2xdlZvNZug7ay0RWEtVVXTd3hg8O7uqm2YIPorcPj7MVqveD89Wy+7n8LQdbm7OXn/3Z8iCaKpyuLp8Xtd1Vc43m40xZhiGoQ9+iBxhs9nsNtubm5vlvNk8PT4+Pt7c3Lx69WLoWwDYPD7NZrOisH23e3i8e1p/srabzau6cb/61Xe//Yt/c3nx0ph6s+2csQdbHTSx/qCKZIF/As4+SM7JD1PMyQEKOKrso64JesTLgUkCgaaK3Pi08Tz62hshe8eyHvEnnIMqFSQXHP3SP507e5qEmp/2lbdD1kTHlx5aS4f2jEGGL8YqjY+IJOKEY9804gHMOe3I9BSe9verLcxfzKx0h8+cail4ZAaoVnOiyiIDTwmj9YyFlMMg06GAkQ7y4MwjUPwogGRIxnQOOL/1K3ycNGkcomEU5dUhl9OBiYDwYPcclKrDIsZTw2CaOItwQGlPIy88xuezVqTEHEfPH38dz/XppUfMOE8yuYhsCEHr16ifOMYYg6hYGRfVdHkBgMIQRUQkEpMhNlYXLsUoKfOa0mHM2jlG4TiSTI8WhTZYeDR8JYelYGzq8bo5Wluqhiqp39Hi5sMaHTMyp9/lLE/GfTI+kIhGxV2yCMie77RMefIowrT4iEgwHoBSCIDqTQyYw+6IYoBGhqxxspLSnJcNZktmKraYeUyi1baNyAQiYlSbnwUJNLXAAAJxymfF9F+NhRwVpQJEQkJCjDFMl+tEocmbSDKwWxwq0RHhUbmK5FLV6MPBQZtWuxxmduwporrRU3R1IgVYyc6nWTVZHEcA0KpJxqKI+j7BGrXVGRGNQUrEKRxDBNIeISJkx7PESGq+J2tLM+tJgo+idcQ4ebfTAsCeiIxBIlDuGh0UATZ5C8cohCCA6rgCNYwZg9dRpGEIfUBrLRKKWDTGibGWACAiGENEACJIYNSSIjFgxuWnUWkdBw15peONADPN8BjWiDEe4GSIclzyOi9TzUUBY1AhvCdjPp0vziRIMsGWiCroIqg7g1lPIJYYObBE0AMmZabqs9TWJZGYvQzqniBEYRAQQdbxjYxMQuo4ZxYwBCAcIxFZhRSzZ04bk8joCiW02qOxv5r7NO6sqfTPcgAlxwc5Z14iiY4wc/Rek2I5RGFmctZECSFwJJBoPQBAu92XZdm2HcNQz5rNfluXOERChF98+3K1+k///P3v/49/+PvNro/R7DsvIr4fnp6eHh6ebFGcn18aS0RUottsnoahm80WgiYMfQgBCchACKFw9vPnz33vr6+vy9IVlavrum+71WrFyuNui4vVgojW6zUYq4U8Ly4vm6aZz+e9H7b7nR/YD21Tz7/77rtPH2+3622734bA58+uq9oRcgjBewjeF4UrDLX9drdfh+i6drPdbqUfiqLg3gPyMAwIRsEkiiN3zgHiYrlURJM61wHg/Px8P9uBNcvV6u7+kcgUVfXi1euPHz/OZrPX7tX7N2+rWfPi+au7u7vdZqt5or/73e9++ctfGmNWq9U//uM/Xl5el2V5cX31+fPnzdO6KsrLy8vKGiNhv3v69sXr32+7q5dXzrkoXNezruvabvDee+9fvXq1Xq+X8wVznM1mV1dX//T58w8//PDTTz8Zg5eXl5eXlz/99NNisXj9+vV+s91vthLLEEJVVd773WbrnOu6Lg7eObvfbNv5/OU3r5xzYAgMkTViiJzr9rvb289UODsUxaLYPK3rul4ul8zcdS2zzOol9ds+9N2+bXfbspqXZVnPmm6396FnYeNc6UzpGsDgnC3qat93RPbzw30XArNrzs5CjK+/+7PPnz/7INYVZ2crDmG32Q/DsJgtm2q23e4V9jObzaqirMvq/vGp7/vN5uld9HVZXJytVquV933h0Dk3rytjKfh2u91vd3eu4Iuzs+vr69/85i9ubp7VzdyaahgikVH/HRngODp09EA5IAmPzuVTt/fhh8kxcVBppvxj+fMkx8mbIgKCOYXs5Eoh4qnxIBO/6olyP9V09SaR+sgOZUBOepFaPlHQp2ZATqc5bVY+7GB6yhPRCM5HNHhMoIKIU/hravPhsD5iYYmSqeqS7nggloEM3udMJ6Cu1uwQVLUkeYl5kkup4wl5RsZ/vxy9cdiPZjkjW06+dfKzfsCOOMWMclSfE4+tnMwfTH7G6dNPFkQEGHkoiczIioDTlLujMwGSgxZGPQeBD8VKRETk1N0+1Z9G5VLGK/fz5D6JmPxdRBzpNo87B9nmSfTSOtYxRo2+4yHVUiTzSY+tRVRPZGK0NIaMMWgMgAgiEIgY9SQKiEkBbgaUAFHCCSg2z1Ymo+TEQnPYhGOLp2tl7Ht6GhzgTqmhE27HsRDMdEJZTodjOv6jaqL0Rmpd5Pg4MCs9S/ayH56PAgyQchPH7BbmqKBwVNgHavHU05diUh5zC/M11TyU/1YSyUnMCxU0CyLh4dL+EAIZt7NkYy+hdyd4lakkNcbCJOdVspVsrUs5xgTZWhbJbTsR0IgYI588GbPIGfs73iQikHAIg6XpFs29JBDJ0QYWTmmRGvsjTRcDkYhokYBDSiwGAFF/KTMAa+aB1isamzqOXl6EyJIKWYQgqrVDLj8cY4zRG0uK8UCtt6rJLSjGmghg0YpICMEaRDSDHzgeRLNSwgDAMAxDLADRgGUWjhKjMYYQsXC9cESCoPYWmAReIjwQLKTtY9CQstfL5IKoRmRCnYYweI7GGKO103AMBB3hMk325SCCyiLt8okjQHL6JmVLMjcnLVeCzK0pxIQaFmBmQNIaCJQ3S0wkpCmUp7b3WPxvBDURHMQgkS2KQ+SNmSUj/QiIVXMHAEBV6K21rlDoLasFFWMESD/rNYatUgUPOvIPiih9pNEYQgwSQgiBQ4yKxQfdVsymdsFHz56IPPOwHhBNz13n90UJA8N299Q08+u5O1/N/8//p/9huar/H//r3222w+Xl5Wy+EhEGcc4ZV67XawbRsqB1VX389Knruj74GCNZ8+zZi/l8vl1vRMCS8eQfHx8F+dmzZ+v1kzNWO3J+fr5YLZl5u117jhK5KIpmNqvruqgra+1isWjbVmnd29A6W37z+uVus//86bbrhpvr86KEYdgHjrvNPoTw/ObF4Nvbx08xDgKu7fch+DgMi2oWGNECMy9XqUapc46Zm2a+27dt2yIaU/QC8urVq9ls5r2fVbNmNtvt2mYxb/vh3bt3ITARff/997/5zV+8fPnyzZs3v/zrX89msx9++MHH8N13v3j37l3btlmi8tPT069//evbz/fM0DTNm59/buo6hFCUdl5Xn95/+u7bb1mkbdt/9+/+3cXV5d/93d9Za6+urnQ93N7eOmMB5O3bt09PT1o2tSzLpqmapimK4he/+EVZlpvHpxcvXux2u8VyNgzDw8ODJdPMG+/9xepss9kg0jAMu91u87SOwhc31/P5bBCpyoKZqXTPXrz4/P5Ds1gURVG64v727u7u7ubmynsvIoYJhVDA98N+v3fl2jlHplkul12377rOh94Y45xBnhS5Q1qszlrPgaWazTvf+Z6/ef3Lvu83221R1bUt9tt2GMJms9nv9xL5/OLSufLibCUifd+v1+vSFdZasvTy5YvCGg19B99HL9vd5vHxvu+2PuwFhu9+8fLPfvX88uLZ5cWNczULdp1nZmslDOkgGkFoGlFk8eN5N54LcqzwjXL45BycHiXKITFJ78nHzZe68NcuzKCR8TzKx9BBs5oqNgeRmKu3TkMBeFTK5hg9cYwkgYl6eqI9Trs8qhNTdQsSeBim5z5SqjwxfY6IQl8Pzu/pOI87JT/wqGHjS/NIHRo2nanJMEJO2Trq+8mAj4oTgDlKA9PGI44caPqoUbecvg4OBZjSTXWSK7I5jtM0/U4Cckw8nUg2hICHilNEzCFL98g+xZGnj8purTypCiIXZi6c0zWh6rtqBNNRH3XsccQhaUJxtJCYGSUx7iERR/2kAYQQvYgYnSdttCZN5hdMfM4JwKtZA4wREYwhRmFmixYRo7Aq6DGyLn2NSxBxzlbMc8DRoKAIaRZdztYlBJHkwC6jGjkBAArjDJKx6etgOFHvkGjWoGJutPucA+UAkJ1zqPcpR/NDQopkSzcmdYwz0amIMObzPjHET7zdB6DRQZshIlMmkEPklMHJzAJCaEMI1loiCsHrsmm7bVXWAIApcSK1gcCE0GWcGWm1VUTIJKqsVUVFJGTzDREZUJCAkIGEhdGgMxwTRgIRiVxkiMJERlhy0iwZQwCEgJ7F4IHdSLQuJIsIGHJwLERybSDFUUQkStXaEHQlKLmWIQSynHhuyahHIcU3AHJ0q3RV2paQMQmQvJ2Y2UIAGAURkDP5LuUERxwDJjQKRJVBCWxnADlElpg3iFET32RMoO7ZGJNpwTgAMGr0hTkIszBHAa4AwMdQuEqAIiv4Ab24dLJmIFMQHkKE4IuiYImIYi1RZGuttcZ3vTGulx6AnC04s8T6RBZESIYqE4ah7wYPxIa6GCxqPon00SuiA8QZQYsGQrDO+gGSaeEO9YAhEblaRLBFLmjFrCFydBhjtNloVMCxSKpAFYVNRjdxNkpZ2BgjiEOISCCEniWGaIyJAJGFcs4JaP4ZaLlgzcdV9LxBRBRW1noiiiASWRg4IoALfkCyRKgYJ62EEDiIlktjEBD1ISBp4FlG4qJskZLi2tPuiGDIiaEQeufK0AYDxtm6rssYgiKUjDGFpWEYrLXBiPe9NUYkDn0yrXVdOecOaD0loQcQjS1ZJyIsQITBc4wsggoq5RhBDHsJIThXDr0Eivv9HhGttX23jUGYGUn6DsjGsiLwcrdrLs8Xsd998/zm1dXyg6z3fVvZczdbulKJXPxmvyOAAL6c1wPh1cvn95/vTeDNZvfjjz/t991f/MVvXr98/f2PP3R9r1G+oijOz89mdf3x46eqqomIQWLkbhiiUFnNELGua2MMGNM0MyLz9uc3ZVmiRDJgXdn3fbtt5/P5r357vl6vAeTnH35ExLPVqts8lXUxhCcRoWFjmzJwRwZRwAj0XTufzwP7i7NzAFg/rMuydEXpfXh8eqjrGSM4W1pXWmsXZ+dDDDvvLRlyheetNS6E0Lftv/zz76uqcsa+f/vm5Tevr6+vbz99evfuHQn+m7/8N+8+vBeRYRjOz8+jDwbQEf74/e8FaD6fn337bd/3796/v76+/vTx9uLiwpV23+1ubm7OL1YhDm/f/NEP3frpQRaL5XIZQgBm5+wwDDc3N58/f3bO/flvfsMhfPjwbj6ff3j3Xk+Kl9+98j4goh/i+3cf66pQ8VVa1/a+cg5CXF7MHdmIePX81Wa/WX/YLxYLiGwsVrMGHK+eX7MfePDLyqJAu9sCQNM06/0OHRCaAusY2tC1u6eHWVVy9AAwryuO0Zri4emRkc/PVwLxcXO3XK28BHamPqvPz88fHx91p4TBS2QSwMDed7UtwuBjoLpaAlNB5dncbZ42+65FxMo4V9gXL67Lyg1tawxyiO3TZrvfCAzrzZ1wJzgsz6rf/Po/Xl1dLWdXiAiCfoAUbxYcujB6ZFWkhzAYY0Icpl6aqco4HjejGqo/MzAmdGIcj+ZRo55owJJY4bMDC5KWmR4YVXnIh78gilIzJ2KuXCaCWARMDkgSKRr+4HWOnAKVgJj9RiLZitBTTDPcjFVxykcO0lHLzzrJqLRIDk6O5++ogcQYSYjIIqOQhKCEH0RkIbvGx6dBCnXC6Goe9X5F4uaD3uoBLWn8WZ2cKDCWt8PsWUdUboNx7nBk8xQRkaA/QsKon6IVpn1XxWf8o7q0QA7R2rHXIqqHHoVELKJSXKd+Tr8zfceXr5/eUX0iKYucKokelMGvwZi+1AInDT2ybPQDR9YPnOKKpuq7PiGhFSaE6Dr0ZGj60rEZNG6ShPJX4BCAJHwFIhJpLOaQ8ArJJCAislatooiIMeLYYDJaJAXzIktE2qo5YKarIwEhsdYCOEiaIeWIzCFZe/RDj6t8GkiabPWjAU93pop7YlMX4QRriSBakXGysA5qK034y6d6/DibdKiglIf0kJmXPHxVVR2yqOEo6VlLOk+DDJpebDDROY3dlMScKCN6inMFK8zuYQU1MYOPIYYjyi0wCEBCrGmKwR+qO2WBhiKQ/duTOE8CS2jXnEgUIcGR2j8HYRglB3JOxlAbprq7Qjh0Qv/UrB0aJaPxPPpFkok13VzTGZGj/NeJ+QGSsRyqZolI9D6UjkB9yVECcIwRhIhMUCA1I6ILzMFDCAzARE7TeCJC9F59tIR28F0InUi0zqT3CIcQCAsiCSHEKMKKohZE1NqHAGCcUjyniwPDoT4AsKR8R0OECN4H0DpNBUZlFCfNhwA9XUbk3jiYRCQoJi2DgzjXhc05w8UYp6eUiOhwEhnEfBwCUMaWSCLJSZJdJnEwEU2Fzm4fyKQrkAqUZnQisUSAxOjPWVjhsR8un8fJB6QAMDUMKYPWFO4Zs5doFKScfzbGIYYYo5pbAKCxxPV665xRUPswDIFIj0BjxuQiIoojoEgTQgCS3aASXkTUR5H9CIxRLR8eAgxD6IZAREVRREEQCEMY+p6Z/RBjjGTYOgzBiAhyWXWMjPV8+T/9z/+Xt+8+/eM///Dm7U/GLdWz2/bdcjkPUboQ4zA8bjcGCIlmi4UxbgieRbreF0XVzOb94Mu6Pjs7O7u4iCDRUFmWxlkRGYbhcb1WoHZRFpvNjsheXa1cWRZFsdvtvA/OFYi4fXxqFnOlWLm/vz87OyuKot1ui6Jo6vr+/na/35+dve52+6IumtV83e7arpvPZhcXF/3T5unh/u6udWVxtlwpzYsxRgRu7+7qur55+WK3252dXRRVWdd170PXdQDw888/F0VRN81+185ms918Hvy667pXv/xVWZbv3r0bhsEY9/z5813btW1bVdXt7W1d11VVffPNN8z85s2btm0vr25ub29fvHjxl3/5l7vdTo2Tx8fH+Xy+2+3W6/XNzc1PP/1UauUgxKIo7u/vFcnz7t27Fy9eIGJVVUrcXpdl3/dv37599eIlM+/3e/Zh+7RerVZPD4+lK5SkZfP4JCJD1xNi3TTz1ers+vLZN6+Lutr79uLqMsbYNI33vikrAA79QGVx9/FTWVfoTOuH7tPHi4uLpqratg0+xuiNMUPXC+Mtfb68uhoiO1vWZfW0WW/Wj2Vd3H3uyrI0jrmskQwAz6sqej9vZlVVzYo+xrjZbUtnCueYuajKqqp2u71zDiBut0+rswX1cH65WpwtDERrCTj60BPK4Lt210uMSOyH4exseXH+6uJydXG2VJ7NUSaMLtKpy1Z3XIwJCsuJQQGODqYjGX50Iozn7/jJiTqUfa587DI/vg6PgoMfPcsuIxNC9/zhw4l1ookdt/NUoxvl6pevHnEskzcRmKybausABAEMiQ/jMMJEqRjvjIq63pmGPb96ieQEvJMB+Vdd/jBRq746sAATuhGAbNsctNkvmzHtznh/Ou/Tt/+JkQSb1YJ868Ah86cMBRnJR7PqkMLBU1tBKdtV3Kd2jDEgPoJtnDR9ouIctf5LTfHk/jhzumH07Bl98OqPt9aOtH75IWwAQQDNZL1+qbAyGmE2qfQXjUWFEIEkzxMh4hisBAClcMhqvWaaAhFRYoMRkaS4k2jNKRCJqXpZADLj3OcdSUcTPzZSvgiu0QShMX6MBZFHaksYhYuGuUeIiDYYsvJ9IlNOVti4rzBbSuoan2T9HoxpYwzHpBuPT8vTVwAktou8AA55PGMvFX5zEI4RAJBFC4AKokIIQDiF6EOQECZSyZARQ8Q51oYMkeALuYnZGZJTScYHjB4IRAMQQcyIHVQYAYNoyZ1UHiiRBR0MgLTKcgkq5GkH5WBAQsowyF8cmbySnZAJAPFECowrRMde8RKq4YkEpeqzCdCi/hUngiFEzhMrgiIG0SjvagyRmXyEGDBGYLFE5IOEwIjonAWSKEFEnDHKPk4IHKULAwCEgkWkLAmtETKIgtYwkudBRAgtK7AqBGaO4Qh1liZ6gsZBsDYaRHGF5YgxmDZEa4mJbZRxu8GBlOmApGJmJdaZiNT8J8x7Ib96Ko5ExGTDlZDwkP2ePhkRgDnnn4iIjCxOilDXNS8iRKkqls5RRrwEyYyrnPcRM/NYJHWikUPeZXDwTqG1iGCsPRK5SQZaqxmxzpXGoDEOgFnCMAzDUHDwzs0AKIQhBDZGA1ypwBwiOudCIESv+zeJT0ISA0QIhnEM5pIxRiQgGiKFn+p5oeWNRckuvffDMEjsRdRJH5GkYAJyAoTocb2vLASG1eriry6un33z8v/1v/2vP/30sF7fGmOIQuShqGdGoJktbsyz4LkwLgQobLnb7ZDow+dPr15+++q7b6umPjs7M84ZZ5/222iwms9ACcsRpW27oQ8czdAv5ucqvY1z280eAITx4vxq17VlU5NA6IflbIaI7H3btm23u7m6hsjLeeP79uP7t2eXZ2VpBo5IRM5aSxhlt9s8PT2tVqvryysdQFO43W4XWapZ8+LlN/fb9WK+Or++2u/3vY+qNC+XZ89ePH/z5g0i7dq9iBjjiqIAgN2ubdt+CH61On///n0Uefbs+WazUY+7iHRd97RZ3376vNlsFotFZO8KE9kPnj99/nB1deWcu3+4fVY8I6LNZgMAdV0XReG9f/nypTHm9vb2+fPnvu+V3eX9+/fz+fzy8rKqKmfMf/pP/yn6cHt7+/btW0S8v70zxpTGXl9edl338HA3DIP33pIRhCAMRSFVORBhVUSDZT0TwsVipUEq3w8icrZcBfb7+Ww+nw3B174Lbb/dbtvdHg3N53MC1/f9erdFxP1mM5vNrCuj76t6FmP90Q8tD64wfuiGdt1v26vnz/b90MxnHOwQggVoCtu2AYJ3xhqDwxC898JQlrbvdoDcNFUzL22FtizQkEQpqwJisD2jhb4bGLmcu5qJzOzli6vFYmYsNWWh3mHOBShGOT8ef+moYh5D2XqmQ/Y0jf/mQ+boMEryHAxznLoGRvTKVOyPX5SJ4gTTSwgO4IisNuSbk+eknpyIQZoE4cf7J4rZRA+hiZwcExTV8W6+2uDpnel7x95SZtMWQPWGTj9/8oTxW+PDR3F6NCRHCucppf10kE+aBxML6mTeYWISfNm16axNezoq/V+9ph2xY4FPpBMF/0gRHL+WVbrTKRw/iZMYDUwwPTIBxkyf+cVwTJ2IkklIcDqCuiZONoZMFFZjDORszrFV+VA/rGlEMUBfNEAbqOq4EBFn+IIRZESlqFC2GWPIIsKB8k/OzldJw8BxYR1QaETabn04IqY0SRw962BSL7IjdrQ9stbOozdORzEvazsdf73GOF0WHiIio7M6CZKswAmdLrLc5sQPnRXWFHKaLveTASQiDbxMV1tSeQ3mDx7UzYPdKKgle8dLRASJcw4lACiZCQHFEJIVoOPPEpmBTGQtYYPq8IsxqUFERAxs2QASCBFmzlCcmKl5UyVo12hCaE+TWUgEOBLMKANr2j6qTjGKUc07gnCq2gRwACWNxh6OW+nwhyw6EQ+0/ceibaxKdhoZg4MIkLEG51hee5T1Ojjqf405XVpXFxlAYwFA4TmINgoIkLBRX681zho3QByGEHwIkVFAqd4ZxBgTQmAANMCBETEE9t5bW3TdAACEZpAhsQeKBPGCQGRjjH3fS6L3AZMiY3gYMkFE9IME78mAc+UQ2HNgDk3TYEQAIxqi4VFuiA4vUqrlLCJkjLVGISV59WrZKUMA4v2JYE1Dh6S2FueYsH7A5H0aQcxkm9Ho9gZBDXSi7jWdixxTZogcYkQAO1kAY4Q0zaD3gREOGeEiPnhM/m8AxWylCs0gIvo7IhCRMZaRBb0xpigKa2kYuhgkchyCL10BRH3faz49c6qBKpEBwLokTmMkREY0aEhE96jGIgiRozBEzvYuaVViIv0KIaYqqsyJXV4E+uA5JhYBAyYw+Ujogfc7RvbOtgORcUUpF5dXf/M3f/PbP3/43e9+t+vaZmbQCbkgAkWDXRsisK3n87KJHa83uxBDZd37j5+eXd988/K1c+727g4jd+0glpqqvru7U4VVRKqqMcY0TeOHUJZlDLLfd69evfjDH/6wXq+Xy6UrjILOjaGqLPf7fdvuKldUq6VBGcIwdG30g7EY+i6Wdttt52dLchRC8Pt+u90C8ouXz5qmAqFhGLbbbVFWQ9cuF2cR5Nmrb+7u7n7+8K4sa2RxZeGKarffCzMaC4Qvv3n19LD+wx/+2O9bY9xms/nmm2/uH58Q8dmLF58/f/7hDz94H168eMHM33///XK5vLi4uDN3VVVpwutsNnv79q2ClMqyXK/Xi8XizZs3TdM8f/787OysLMs3b94sl8uHh4d3796tVqsQgvrvdZVeXl4WRVE6F2M0xnT7dhgGAHi6f/ju228Wi8XHjx+vr6/7tuv2rYiUrgghWFtIYc9ubmaXl8bZaj4vm7Kqqn5o5/N5v9+LksawVIvl3seqrsXY1fWloGzuHm4/vHdobOFms5lEDURwGDyC6bc7aRANWd9fnC3f1sXHj+/nywUArB/9x9vbzW7TLOZ16WLfbdfbzae7xWK177vdvi2qerd56oZASLYwJKEorDHm/OKs9x2gBO5R0JbWszcSgAff70FCMyuKwr54dmMMnp8tAbgfuhghhIhgxtxTmZj9iKdK1PQaPzP9AY+1IxFBPPCKTL6oyTaHSPhXnz9VkA4vgpHc4nCCqET76qOmN090jJOmylFeUNJB9X4c48+pEF5WnXPNxKmiMr6CMj/Y8Z8O3APZQUlwfBRO9U+c+Omnw/5l7+BrgQt97xQLcHwWf2WITmZ/qpKdPHn8eRpCmVKPjA04eYUViKq0ZMvvy6DJ4Zq2QH3D0/t55kitIkhJdfoBShmKfDrBp7069vSPT56oVqPjXwAMnQDu89OiDFEZ2RBijIBgjDkuiyj2QAIKk5xjzkwOqZ16vqpdYAQjsAgq/XN+qZkSs2AyEpLHWttvaJw2gcSroi40qwNFeNjhOFl6lIgRYcTwjJjd6UDxJMdiXO4xRlL/d9ozSZMQEPYhA3nZ62TBUVrJCFqAyQKajP9XvALT60R+ncz15H7SQSdL3Ex5Z2EMF8TRUFH3I0WBGHSbAQNFiSwggZklMDFLjBIDxAgxgiCQgAGUoBOcqjqjpqhOUmfyFpXxHzj6CSWT+pEBosSUZDmJD4EIgAwKeU8FXhkko9L1fzyZr6PtkAXHaUAzr8zTkR+vk1+zg0fGEdNHsfhRDiJSFAiDt9YSWOYggAREapqm/CQBcYYskkPGyAMgAqKPwqDLTABAS9wDeOEYAhuDHMFHRkTjrCHbdj0zKwefekyISACSMQmadECaTFkUBUaDiJJoItPGAoCiqAAgRh8DAIIjZ01hTRX8ICwIBoGEBFEsIhmcSmzIC5KZidSoHklm0xGQIgD5UqwaIkb2cCi3ND2uDrGUqNyaeFi0CWolIMCQrD5lJeIMPjEiemgyEYlg5JzKj6jQNSVYFEIBiVEY4RAaEERDhHYsMYGY5KHEFHXULldVrQPJw7DbtcyBiPrOO2PbtvPeY+pI9L6HbLEyO0JrTEBEBbPlLZnik5yYhZDIRgYRRgRIGTKWiOMQ1ETUdZg4OgFYxMcYYzTGIUgU9oEBxfPWFaa0bvDh9n6zWM6HAI7qqyv/n/7z//Tjjz/+/O6tq0oh24VYuGhNs/c+kLimWi2aFy9edYOPBD//8ObD2w+PRfmb3/zGmeL9x083L1+4shiGrv8UBo5NVV9cXHjv7+7uuq4LnjXncrFaffjwIYTwzTffPHv2rB9aEQl+QHB933a7rcSIzkYfHjbrsrCzpprXN/t+v99v5k0pMYZu6Pt9u9nyvvdDBwB931dV9e7tu6qqqmZmjbOR58tF1czJ2V/86pd957ebjStrTeRgH35+904Qdm27mq/m8/n19bOf//CTllz98OHTw9Pjw8ND1TTNfHZ/fx9jrOr64eHhF7/4hffeWvvv//2/3263T09Pfd+/evXq6enp8+fPTdM8Pj6GEMqyvLy8vL+/V7gUM3dd1/d9jLGqqqurqw8fPvRt++zZs/V6vdlsrLV/9qtfXV5e/u3f/u0P3/9egVV//qtfPz09rZ8erLXe+8fHx91up+UChmEgsoJQNLP64lycs01dL+ZFUSBLURRd1zFAHIb5fFYYyzGWRbFcLj1H3/t6NjdIfdvFvluuVlHY+wEAqqp6fFyXpXfO2b4/Pz/frB+97/u+fVpvjS1W52cXL6/Pzpe79XoYhg9v3sQYC1sww+euYwQ0BBDX60fv/ayeG3KIcLZcEmHlLIDthj70vp7P+nbb+cHEaIVLg8vV8uxs5SpXWCLArtszs9HiEowceaI/wHhM83GVQDx2QZ6cjyc383XQFydn8cH/+KeOgJPnn2hcCGb02J484U8d5dOfj0+lw8cm36Ux8zIjW1Ku3eSB2p1D+HHaco6H3IDxIeM4EBEYOvnKl+2fDuyX9+ELxear+vfJZ0aP278+PvD/5zX1VSOSgNIxJ64IPuX8AYuTEMnowR1bNlWI04BOqtqKhFGNoAlL2vgVIuKoowmEmi166qmdvggmc5CbJFkFVIPwyEEuEoxxeEzNJtn1ru3B9F7SgyfPpZgx/1q/ksaBUcuLJpADEGBME4OKZyIFr2r6oCR7jhDBkIhwiEikgewYI2h2IEIu3MMASBN90KixSErYCSLKFIgTLFpq3kSZOIL4ZzEBB995FhwwwVKDaNGctAojYJRkA4SEApf8V8xU3EYEQ2ARKQoLE7twavWmVQEHk0xExkJF44XHARBICtDX1FCh0dMKkiovSWbK19sxM9hEUUIYFiYAGkJIrkrGyBQihwAxAjkrgsJEQBRELAgIEVKq/zwuGxzXT26NLnjI61yXQW4MpQUREc0IuTm4iRmT3xRYIuUBl5xxoc77MTACACZxferKnG6K8abe4gSXmRja02OAJUROmUYcYRiCaoohdpyZyMuyBjGqVXHyx1uv3tMkHm1kICIB8oNEEe/9ENkQ931vjLFFJRAVfR45iEgIg4hEhegAG2NEUBASrrSorHXq5tflVJS1D+xjryQn3nshtK5iH0XQEIFY7yORZebAEIMi32S3621hFHG+2/dIbC0KcAFIgmSUKZGUvxL4gKIREeZoc7UmY8yh7DQYNGnMT48K4xRuNy7jSQWikSBIIopJezP9ESBRsZ7Y2yEotEaZeSDGqBSXzBwCI5kYY8z0NSLCLD6EEDifWKrTC0Q0lAA2xhjITdJlCADWWkmF6A/UMcZo3ri6JDQkYoFl8L33noiqIvHixxj9EAkta63oLIEREVC3Dyr+RyTqvtHHMoaYcZVZajGAeD/EGH2M6rU1xiCSWlAhhGVTbZ7WHOLF6mzwfrNt97t+Pp/XdWGt/Q//4T/8+V/89v2nj+8/fg7bbd+tV8vVxYsbsWUc0LfhfHnRLB0VbtlcfP/9949PT//7737Xtm1ZloUpald74dnqbHV+4Zxrqvrnn/54d/cgIi9unllrb55dMcBuh4vF4q/+6q+Komi7Xdd179+8eXp8nFWlcBi6frdZRxi+e/1tGPpuv7FkYt8RhPXj7fL8Inovvedu6Hd7Rwhkttv1fr+3zjDzdrudLZavXn/T9n4I/tnymYLLkaxxdt+1s3pG1j578TzGuH5Yk7MyBIWY73a7WT1/fHys6ury8nK737dt+/q7b3/66aeqLr+Zv3r//n272yPibrc7Pz+31j48PFxdXb18+XK32w3DsF6vf/nLXyqyfxgGBbv/8Y9/DCE8e/bs48ePNzc33333HRE93N0BwH6/f/36tRZk/S//5b/sdrvz1VJrsuoaWM4XXdt9++23b9++VWkmIkAoQaIxzXxezpeD4NXZWVU1++3GAPZ+EJHQD4hojLPW9H2PiM5aYnq83xfWLc9Wzth3b/646ztgaaqiamrTG5GHruvM5qkoqrosZ4u5cWa5XP72L//q+tmLs/PLFs3lxdmPv/+nu9tP7X5vyaHwbL7Y+A4Ry1k1q0oRmUE5qxuLxMwx9ORM1/qyKhDQmJIhFJVZXFzOyspZKJ11JvnyOAy2KLxnZkYwUbwhQgPjAXGi0Y4H7lSJnH7m5P6xB51GX/uofYoc9OZRJTgR/tMr3z8t85LfcnTKiOQfDndGtfVIJT1RT8ePMZJCr7W4i8pBBDP1gSkINh2VONJB4nT8rJ1CBCV71jFGT1oXD4/e+9WOf3V88nOOCi2dDNdU1zqZr+l18t2v3jlp3jTn88tlMHm1hmk5F6KathMR0eanjMviME+TdiQMFiJqMfDxuAIQdRqdrDnMGjylAxIYhNBKBuSMB9LJoOAxbRAdoKUoql6fMNKMrT8xqiYpBc4l5Z5yEq2Bg7kGKIQkkbPCJOmohZSabQDF4jiCenAGnyrSaAcJbfJzUw41ICOpcUyQKh4zsoLJUOlDALKSx1lRyEUu8xdHYGvq5miNfLEyALIzflyURBQPxIWJvS8vjoT71/MSM5PJaN5gTr8DONnApwN+clN/Hq2L8WPTv+afjzzr00cJo47MaA+o1TRaJjGy5EpewokAREjz7oVVt05T4caMeBbkKARgYrJtSOuz5uGFDE6eRNvUZkuLjZMmpptCYowK7REIEdGMca6su3MIMBEEwGFU4LJQSHsnLdGc/n+8KQ5yH1B5/9Nnkh0JMMYjgBVYlK4Yo5L0JR88oAiKQPCAEJQJJAZkVIgIZ8ObBAhQqx0jR/GxJzSeow6McVYbK5ohY4jAIqK1NAxD27bB4Gw2K4tCRPreO1ca42KMI7+q2tIhHKxNa5zaV0RkLY4wa925DMTDEEIkIkIbJYDQMAQgAuTK2ZA83GiNUMRAQkTOOQBgNMQAiKlEAgmo8g2CYDIsjUREWCQhTJLkCSEIAoHBPBFpZnkc8tGdIMwMBCaNTPKdpyUceTTbEEcrtOeYmG1YhBkiYAgBkEMIUUYtPw4xBOUfEmJmBEr4eDZgYsxUyhYLbdKYXSqCANS2raS6UVTXtXMOUZxzhBhCqpgbYgg+qrBS8gSaIOyZmWPaF4iIOWQ1viVGAZBU6jiLca0FJhK1js/oQfT9ICnpCBAYARBQInZbP5stIPJ6va6bMjK3fRuidD3XTbly1dXls29e/+Ljp0//9R//frNrt7t1rIqzm8XsbEmD8Zv+/u4eimIxW/7iN3/WDv12v/v5pz/e3d59+PDh1YuXtnKX11d1WfVt673v/fD69evVarWY1efn58wcmJ+/uKnrertbN9IolWHbtsyBo/V9H30PIoI8DH0YuqHrXV1aBOXJN0P0wUPXcddx3xsiVxRN08xmi+12G4NUdW2cPb+6nAeOgMO+LZvaWev7UNc1s3z49BEQr65unj1/ud91RVXuN/vHx8eqagzaumr8sL68uArBW2v3Xfvjjz/WdQ0AL1686Pv+D+t1u9urGbzdbmOMf/jDH16+fPndd9+FENq2JaL1eq3m3Ha7/fu//3tE/O6772azmYjUdf309HR/f++s1ePg4uLCOReGwRhzdna2mM/W67VFWq/XHz58qEq32+3Imv1+T9YIio+BiAYeXFFXdePqamBpZov1en374f3Fcvn4+Lharay1y+WCENFSQRUBe+8JYd7M4uA3m41zbnV59fbnN86gqxbAstvtFotF1w2IGPru44d3z+3L8/nNYnlWLc/my3Ok4tn5+f39bWR59vLFcr4QpKfNtmnml4VRnI9BJOaCrEMygKZwbburCgsckeKsKhaLGTMXpS3LElFijAjCHEDEkelFhmGIUUuAjIepjIfdRGgfuBEP0jurjnBMQTg9H/OJeZptqU/S02cMyh1OzCO//uErX/01P/9w/p58LKMwpuf7kbo1OiCmFybMXspz09cJKwf0eNHkbD1SWKdtoMSrdvQxSUWdvwJvPunCdMCnszO5f6RD4hca/PFDjm6evOjQ08nTTkbv0Bc5wjWMj+JjMgzEFMn8gl8/Pdzm8ToypBBx5KKGyZoYWz7eHxff8ZqYvil9mIVHnZvIaohk6mvMgwvwtVVIZtJhmBTZ+cJ/n5rBPM79lCEhNWAKyEFA1Prw+ivnzNEJLw8AWkW361waoywixmKOQujrUMPWEAkPPn5mtrraDECCxKglyjo+Y3RbD3VEVHOIaBwBmXZh7PJ4JQ6WSY3V8eAcNcUDLAEgsAzBM7NadiZVtQGlfrPWjtlvqmBNMVR4bDXluTvCmY20tbqHx5ZP3JM8ugHglDXoMKGS3IfJ93CIPyIlaxwiggHACAIRgVCEhFkRtIiEhgzZwB4gUZxzRCSEkfaHjlquXRuJrA8rSqVPVF+0Ci8R4SN4kgjmkWcJahWNj2XmUXEfDTD1UFprdeSnwjQvac1zTY2BY+ScTlMOR46LgcdRVcV9lFyspKaGhjh03aBTDwAcRYRTBoJKhCAxBmE0Bn3kEIIrDRFp2rFzBWfyb2utCMcYQhxIoCzLnECh3ZSisMxcFIWIDMOgLdd5DFF0icbAQGytVe+CtVZV/OSzMYmcKQwhxlgUjsgi4na/t9aWZRmjxOhZoogRZ6xBiIIUEQwiguUBADmaaFxhiBLETrXlvPhJDjk8h0HWv3KIqmPkGrRJ9GXM+mSKNXn9SI4JM0eOzEFLxmKyE3jofQhcFGStZcEYA+RCASEEhjSVbdv3wQuQtQULD8PgbCGCwzBEBmMMkBERQTK5ZLdzjohUDOrs6x01SAglhGCttF03DEPXdTprhqgs67Iq+rbL59aB7SftCDAgwCg4KVee4vicvW7KUyHkYwckaAhA08TjEPphGLKsSligLColDlVwYgpQlpteekNuvX3abaVuqq4Nz57Zopw9e/bq/3r57Pb+7vuf3q+D37X7vuNvzl8VUHiBXYzr/b5ZLprZ2fzm6tV3392+//juh58+f771jR26rqoqgzSvm9lscXl+AQBnZ0sALkuHMYQgwzB0Xev9IAJd1z179uzF9ZUh8P0g0d99vv2nH/7p8f4eOPq+BR6QACX6PsSihhDa9Xb/tCGWiIgGm6Y2xpRlWcyr1fkFox36UC1mAhT2nYRYV7Mw5893t4g0eL9cLo0xtrF1Xd/fPZ6vVq9fv/6vn//rfD4HwbIsd7vd8vzs4dOHGCMZiiK///3vQwhavcj3g7VWywkBoJYWatu2bdvLy8uHhwdd+efn50S02Wx+9atfKQjeWvv58+fNZiMiZVk+Pj6+fPny7du3l5eXy/mcmS/Ozpum+vDhg0Xq+75pmqfH+9Vq9eHDBxEJQ28thRBsWRRF0cyXaKyPjNY45/a7lkPUh2/X62fPruu6Zmbh0Pd96YxzLvrh5vx6326Npd77oqnny0Xf7UMI+67d7Tar1TmD1E1DITxt1p8+fCxn89li7po5uQpN8Xj/SGCunt2UZeHjEFjOnl8HhsjeFWVdlg7JIVRExFK7suX+bHkuHK1BA+IKE2OwtkCB6PsA6sKMhoFY+ujZMDMb4+hQMlNTTo0K2BP976DAJBdkOk2+dOWe/PrlaZj1w4PwnIBnYCqFpo+a6pSc2VeOX4MJ4fbl64500FNt+0RJy3rXscaYCv+Nij5NiNEQ8cASPh5tqZ8yghiPVGeihEGQzOY3Puqr40YZSn04x78wdaa90MzXoxZ+0Yaj50ii+YOM0VAFVxOiphpa+m7W906eGdJ75eQVMtGrpy3RYugyqlbpdOcUFJ5+9CCdkxGQ11D0iKhcE5QTHJVuOgggJWyDAUoJsAmwoeUVSSQxqzCL7gL1YY+6oOBB28trVLutgCkQEThASzM8VAABDCnLfb6p5KO5+Csm9StoKhsmXTAxP2KyYUD1SwRDhnKgKvElk7BgMi4JrTU2wGAzR1teOuCc03LrnMLrEYDVI5dDyayIFETFmnJhIcbIGhDCpCwSEcnBasLk3AUBQDsFC0EuZJieqeXZY4yj90xEdIo0XKnj7MoCCNEoOboAABlCIsEEycgrAcYIOJJi/RHkQN8hyeQgIlRaeswMIUYLUX1R5Fk9fKPzlXlU6w93OCY/JYAIGM1sQ0QxCKBV2KOW/BQRMmjIAABpvCga3V0aDBGJHMEYI0DKB0CExhALAgoghjFJBTAzhJCIKMnr4EU1LUTy0VsBSuCQCAAQecRRhCAK2ZfI6m+WQ9iRiagy1lpnDELOwrHWTERS2pVWAwkChBZNql6JiKqYkkmqnrAIIwghGNFAmwgiZ2YPHmJ0zkXGwIaZEYuBBQDatjXkrLV9z2VdOWf80Bljqvns6empKIrS1QCgAAtEg8DWIAIBYYzRVIUlEA9n84WIwBYKY2OMVekQkQCjMAAbQ1VVDEMY1XcAhXCwLYqyLJlZ40Ap/xESz2AInpHrutz50HW9Q0Nk28ETFUS276PECERGOAgFECvkjHOAg2ciYgBLJEgiLAGNQWAwxhgyY0xMo4YhBDUJRlmp8BMg1LQaBKN4AOYgAigGgTmyQCQCYxBZhrYry5I5ZZVxjJGV0ZmG4BExerbWMqNxRT90IcaBNQsNQ98PPmg42A+9FgDqQ4xRirJQUIEl6vteVeoQwq4bjLFkjPfe2eQpj+wJrbUWwRRFUVYW1MxDtkiIEBh2XW+tDbE3thAgS26xWJSV6/ueBawxSAaBrCmdKxFNjAKkNTBQh0KlARFFzSPRMQseYiBhg9GZous6icwhapleAgSWEHtrrQ++NCUnMcgAWNSw7zYFF82sDh5EmMmLSIQggbrN8LTdLD99Pl+dXSzOf3n+6tfPf/Hp/v6P795vO99t3kUxZ2ezuo9sZhKDFeOqZs9+9uL8N5eL2Pb3Hz5Za5uiaprm/u4BgdabLaJ5Wm98GJh5VlcEfHFxARw/3L+bN2XwPtazjx8+zGazwmHb7ta7x3lVdu3GEZ6dz+q6lggfP36czxYioWu3m/vbwOycaxbz88sLH/qh69b7/eriJliaL5ZlXZRa8Wu53G63LexmdflEeHl9M2+ah4eHmSvv7u4QTR+6n96+OVsuzi8vd5tNFAgog8S7h/uqbna7HQItmvl8Mev7/vb2tqnqs7MzZ+z9/X3sh1evXz88PLz9+ef5fL5YzB8fH+u6Pjs76/veWjubzZqmcc4tFgtm7rpu/fiEZ2e//c1vdrvtfr9fPz4OXeeM+eMffmqqerfbed8vl0uLdHt7u1gs5vP5fr8vy7JvuzD4qlqU9cyHfnZx+Yvf/Nkm+NffPB84CofB981s4budiJRNOVvODRmBuG/3i9XCtx0RFbOmbXdAMJvNZLsF5puLy8+f+Wm95cBe6Onp6fryCpjB4lzmnRdk40wFEQHAR4/DQ9d1QuiocUTR9zEO89msopKISlvMm9paa4nKsiTA4PsYPXMEZAMiEAEMh6hul6xsgbAwChnCCI6sUudCjkgDQAapHYEF4Ng1iclc18PuACGb6pRZCT5k36Ur+dqPdD5mJrI5zUZhEep0AKIjPVszXIlIJBpjEDgmJms9d4DQCkQBZclgBIMIDBEP0OhUBptzahwdmCoOyqUOA0S16yly9mVl8gMAAAEiMmQA4VCjUAC0bh0wC0cgQRBK6B2S7LpGUMY2O/FgIkoGSsCJP14VcZPcvgwZzqoWpggbo2F8yFqfmbq98Ng60pkYPyAiAsrhoO+GrC5E/sIRyQnx74WRiAJHkBSQBAULAGSulKnFQhqrnbYksreQC5WOqsYoi0dla7LsYFxeGlQeLyIFGh+YyADAoHC2MChJfKNF9QyNxaIUjJ/hCuaEaBMZDtZSVqaPED9wUCgPTnfhERk/tpAoo88BIDMSZo+UAiRItGLOCPjOvUYEPlbHD6Gc8e2c/VvjCACAHtzK+M4Sc1IIS6LLTEtEJKmt2lRFmqq3LzNFYn5+sjgnr9DeTKNdyQ0WM/AdUgQ8Qf+HYVDP+tgpHZ+smaVLXeZEFEaKkpOgHsSxmvEYVAEAQjuVX6PdddzI01jSKAc5B0wSwkBHOvVRdCgO8i4ZOEg6OoCIqWCTgq2ZmciN+0cEkZI8jZ513hFAEMkYQgsA1mKaqaxmJx2eEFiJPryIWEvj9HHmb2Ef1M2QTY7IzNqPmKoIS1EU062oAZNxjqYmULpcIi9CXcCCABEQdblyBp9I4io52bapzhwRBYERJSUiDMkljynzkgL7sNsREaI0jYmZqnzkwdSBtTbnliSmJZ1cCTEWRTGbzRDR9y0QGjLWWpeJw4nIOcNsda7LsgQAIg8ZFKfLUgCKwjBzCCwI1haBYRiGxWKhQxdCIALmGAIQEUdgDlHIKg2L8cHY4KwlIBJmFCcGlZqJmcG5RH8+Cj11FoyBpokwSZKQmSGRyeC49tTRoh9L8zAW084yIcYYI0uGvfV972yhK5kjWGv7vrdlE2PQ7amz6QN7HwGiool0yalYINLc6ygiMYr3IYSAZJg5eD+OobNgTKIrpVyltW5Kibzf70QEwQx9sEXlDFprtapou+/3+z2KWEvGGGssIsbAWvWmAHSOkjuG5CSMJhNcTTIsiZHEWEQyIUjogw99iIN+se97Zq7rUhfDYrHQcQshDMOgdZ90GI21EmKQyESPj/f77a5f7cP1s/l8cbZclVWz7fpd7z98/Lzfrq21glGQ22HXrn0gqsrSmgJMcf7rGRHFKPvtrqkLa850zHvf2Z4H3w1+3+/3g98RoPf+44etCsn144OzdjarC2uGoQu+r+vy5uWLpqn6thv1s/1+//Dw0Lat4jPbtrWbzVJBYNb2fb/ZbGaLReEcCYQQ1tvtt99++/T0FDw/u3mx3+8B8Obm2TAMm117c3Oz2+0e7+6tKV5+8+pffv9913UCSf5Qzjzug7ddpzGKWd20bWua2TfffPN4f397e1sUxfX1tSaW7Pf7GOPNzc1sNru7u/vw4cMoyd+9e2etbZqmrmvd2jodNzc31qaIWdM0Dw93RLTr2uVyycybzc5aC8DNfCYIbdtWiIDGFm6324kxwEIsTw+PYeh/+c232w2GEBarRdt2vQhLaKqaQyysU0nurBWObduGwXOICumZzWZh8N77u48fqqKc1bW1tFgswma72zydX98MAEO7ZSTf7mLCgAZri8ARibgI5ay21hZFYa0ttGawUT9dSp5GiVEiS4CD1yCdGONhFWPEQ2BtIgi+QGtMj7nxGocaM5qcJsHew3H2NfTL6Oo6Vn5O3zVpzClmY5Rm6jma6qMpGvCF0x0ghc7yS2kaeJ8e31/cPDrl5fhDJ9pa+vmIpff0sYdPfuH4nwYDZRIZSE841jcmKtOhXdOX/onBPB2ZsalTowUmJIrTF41fZGZUwmdCmmTKAUA6Zw+soMmuM8ZBZlqftjxBZRARYDzDpkjokzE/XQqTJibALqf5zq+JESfWJwCDqNjn0TZK65YEEdXm4MnrmIUBYUJWOB1xOiruiyJAAkTI9hRARgYxFfRR2AOCJPsPAQUPSdajxqUqnr5NRHKNUT3Mv8IhyszGniRwKA8aI4tWdMx8EJFjDGEIIWQtKum1Kl8oo6UlF5NSDex4InCSW3w0QSMKJSsahxFDxOlBG3MlFw1dj4WQ8JhYZhQuMsnGG1f2qCnKUfllGO9M1fevri71EIwMhklNyur72EjIijiQA8SRDpYEwKAxpmkKHxSOgjFGYDEGhUjQaMcTWSHmKpvZPBz7NbZTvRQjc1aKjDFLTJpKHj3kkaNTS/2GEKPXD4QQWIKIAB+WLuIBnoRJX3c2r9gvDwNEdbccgoPaQSSxZDlbNuPEAUAQjiCMEAGDRAAgJOXWBwAEIpIoIMxawNIWZd/3yqFhrbWWrLVoXdelirY5XZWMsQCgKYmCQArjMZrQAqrPKQIegJ0qyCDOuLRB8jLTAkwsmdLLOGtt9nzYQdMlgbyPwmCMGSKzBDJQVo6ZI4szJgQUEee05DAk5LkPwGItlWWpUHznXAUEFm0aAgXGIBOYFPJO6+HLc1GzxifLWXIjSUS0hi0CAoKIFgkGQwrsFo4QJxnjOrbCfQg8DJ1GsYgske37XkScLViUD0p80GTf9H1mjsMQQjDGMEtgSEmNaAB4GKKkQCMjEIUQQog24dyQhsIUzjntoOfILEXhYoxKeEJE3scQguwTA4wlJCJjHBAFFh6GtP0RICe8wuQ4mMrA6ZVd6ZzhP0OMnjl4L4iaxsBVVQzDoE2ti1J74b1HFACb6kqJwpZIREKIEvn2njebjQSo57Ozq+tqNr9Yzi/OzyLLZrN5HGIM/PS0CYP3LAXPmJGYyOC8qUMIPNDVxUIdEyEEL545SIgx+of7+yxXZfMUmXno+qp2ZWFDbIMPVVVZNGHoQxi6DrabTVmWBoljaHfr/XYtEgHcfD53ZVHWVQjBWLNarebLiyDwcHfPfby+vFrM5sLu8e6xaZrPnz8HlrIsJQxois124wy+e/fubLHc7XYfnj5eX15G4d1uu1gsyrLohq7velsU1tgYw+39vSXy3g9dv9/vlc2z7fvVaqW6e9XUas4Nw/AP//APInJ+fg4Abdu+ffs2pYIw7/d7731RFLvdtus659xGUU2GBGGz2TDzzc2NYuV3u12I0VirYtk4i4Y0NyNgNMY08ybs9vV8trq4fHy8H+JgnBWE/X4/q5s4DLOmcuRCHCSwcS4yR8/AYMlURbnzAZLNjBocCF0SUH3fWhsJZP34SOJrV9w+PA4hoHhEHPzA7a5qanLWUmkRQgjOOYNEBhAFOHad77oOgWMMLAE5AjIesvUiZqY4ksMBYdBOF/yJrJ4qA5jVyqk8GT+vuYKjTJl8hTJ24IA20Y01nr/T103feHznCBwyUfOSCo7HLHYiIjyyD9Mhon76Fhr9wSfK4YnkZEyMYcnPKBMFQABA6/kgGTOSbuWHqJ4jJ49NA04HVow8esgMk+4cVB0AEDiqRZOVedTQxOjqOhm9cdzGCTqZx+kITJTbw19PJkUOeYYQhZFHd3OipQflClNKY0TEIxtp+lL9olUW6jF7gDLWk+OQOjppBJ4+RQM0B12QiBBAgEXo0FbU6lgcmCdnHh9W5pEhxSKo5Umz+iisyUvH4yVZ7ZrqggYQMrrgsJIS1CSpLSKCKT0UAJPKhQLCgpoYKiDCKXCT3sgAiBJFFBBmp/OUGiAHQEhuZMLxi4hBmNiKoCqdau1alET3SNZTY1WUCjhK02IOIYjjFZYm+MvNrHdsUrUPfO06FEVRjMgNVaROlPWpjqgXIiY3dnYKIqJWDJ5OgWrbulu/XL4nv453QlJTUipnnFC3MvOIZ0CCzJ+usbGIlEC4ChpBBGsIDIlANDgaAJJbYoyh5O5QLLVuyGQAcK5qOY5GlrPJiRjYZ5CeYfYxAtGBi2YcAb20O4lGndN2GMc25RIQGfV3OqfsHFMXwjiVzDINAuYlh0LIAozAalaq85vQGCeJrD9QQjkbEUmjZQCjxRj9EBHZGDdr5sJKdYK2LFxhRVgBLc45dXIjpiRs1R3RJNbXIIcqYz4OZI0WA60sFdZFDjFGQqyqalyEzjlrJYRgyFhbiIigIaLsvTYudVzB6MBRjMGmqUIfrDV6fkSQEAMIHrYAAkfQ1c4alEhTGYcsvq2Gz5g5grWkRxhiPr0mUbs82BNfFxw+MJVIDDLyxsQIIszEiMggPkpMFUOARdrNDhFjEMjMnsMQrLXB9yLCsUdDIhhiAKAYw7j1CO0QvO5lgDj4qDnliOy973uvJPqpv0AqW4wxmjsRQlBte+gDs+YWGwCltYVuGIKq5gJEVJalMUhkY9S64skaN8bIEBBNrtKQolGQC7tO9QBO+RWDxCAxxBCiHzh44IjCEKMPwRrDPuw3WxGp6nK7fopVU5alErBkmrJEKxyiZ0bnjLNkyIjE/X6/qpfdZvex74umXp6dU+Fs4a6vzl8vVt77h4cnV1YxiER8ul37ftjsd92WI3uSUJjIGAHIOSmJmC0gGVPNZoYSWX8w31z1bdd1nfJ53n++3e02Z+fzWVF9/vy5bXccvUAsrJOm8t5//vy567q6rkMY7m9vXVlePb8pqTSuuLq4XJxfDT7GyN73nz6+r4vy8vrV7e0th3hxdv7HN28IoF3vH7r7s+vL3W5Xl85Z+9233/7d//7/+fTpExqyhWv7bt+1zjmy1nsfQvAxEGC9WPR9D4R1XWvp06enp9lsNgzD4/qJIWnqRVFo8dSHh4emaZqmIaKxbmDd1MpF8/Lli77vHx4euq7zMe73+1/+8pePj4/b/YaIvPcfP37UrAkVVuvNViCeXVz0fqjKoqgLcnS5PBPv/W7nCycxCsSnpycRMQSX5+dUFAZkv9v0fT9st+fnl6gxcCESLJ0bCtPtvLV2GPp5M2Pmpml2m62IFEXx9PSEiLvd7t0ff3j+zWuKLXEQABHA6A0ZC1BaV5auNFQWtq6Kuq4qVxiCkCqBdcaQRC/MgBqRSyS/MRVUilpaaeRImKocmJ1WiEc+0S8P4mPVXBVBNQCmB3fCuhwdkVnDO1ElDyrZxKGmd8ZT+6QZ4/GUf9UfaCS0xWnS6KEFJBNPrr5hdAmeHOjjxcnmUde7ekO+7sDO/TrNlJ1KEsSDd3Y68rkxqmkceb5HSS4TtBJmgsGTQTsZnJMR+/Kl0xeNP09/mM7XeHFCWNgJsMICRB+jiCJvo6qMVlkqUNmW44Gh5PB2tMbqCxKyIndGizKq3g7jmkTMseJDt8cWRwBdLiQAI/CGyHJOyCOy6mwPwVs6VImFqI9Q5kRFpR+wFnlXHHlqR8VxipY240xoXXkUzEUKxuRLiWPaoULuMa80SN9W2gRARCFSbC4QHLJaJX8ydXyc74kBo8+c6gHHFmR2uqsDOIPGMDlxY4zRoLrA3ZifmheoAUibIQsLha+dbOy8Oo+X9XT6JftW8fgah2tUWwFAJtzqo4kpR0mWB1ONmdHEURCwsPBX9sa4x3SljZ5jzsTPeoeItDnaEjJIxkgCh1iyCcyTNGZgQFGIHoAYMgzCrPocIwpYycUEmBAJKWHQZWwbIiJnPX4cfE6UIMgxKkgR0cToAdBQplVFZUSxo+fRGDM+VLtgrTWGnCusNcYYS5SyF9JfNWtvfHs269NYTioPpIZpQMtmcA6n+mOAggAxWkIMiZpTHZfGGABCjAgm2qA6Stv2AFTUhXrEnbNEKHDQ/OiI5hUtOURkNiICrOWbEMgCiUsQB4bIxhgLBhF915MhAoKgEQaDiI4VTImJWBUM5LAgHcoeKwRFEMA5SyDWWmtcVRVBuCydNmnoGQ0BmpD9PGqekEVrrbWGLDEgsoRUAiL58nRybV6Q0w2CGdx52NTpJkxnQZdNiFpogJRBxVqbQXMirABOYIYoWLgiBLbW9r1HxF3bqdksIvuuL4qCIygXviLamRkNZePwyDUQQhAJg/cxhsCicAjlAteQ4HhIFFWJhnRXWGu9x8F7Nck0bREiF0WhxZ51XQ1BUzWizQJBlKceAzM455RDAg+OmMMRxRkVNgzDIWIwKVKj/VUMhhKJMrsYo3O+xGKUMMyMaIiMRPZDtA7L0gFAjNFaVzVF5AgoEGO72awfH3Z913s/Wyyur68Rse2Hq4vLi9XVvF4uzhfBx/b6LEbPzNYaIATgqqrKsmyHrbLHICIvKhTQCqA+tAiFsSiRCbiwF+2+dM7EIc6aEhGIoCpKQI4xPt7fd90eRK4vr5xzj+vNZrcLg5/NZnVdd91gt7u6nlX1PMboh2G73fb9H5umcQhvfv5ptVi1bbuYNwhMyGfz2VC4x4en2Wxxc3Xx+LiOMb548UxEHtZPZVl2XTeE3hrrfQ+MiQOeualrERmGoaqqIXhbOFXNFfqy2W4V9NJ1Xdu2ReJ96ufz+WKx2O/3dV1vNpvHx0e124no/fv33X7/448/VlUFALf3d8MwVE3dtx0S9sFLiADgytI42+23lSEA2a4fw9l50zTWOt/ufduGyq4f7pfL5c3ltQXcrh8/fXhfWOq67sXVDfuBGcCQSGzbFgkqV9i5vb29VftkxHx2XTefVYbQWluWxXbz2G2XDiVKYEJmKCvnnLPGFpbqsqwKZwwaEBI2BMYYFIHCidS+byMwABNm4SYCMSf4ZXOUxhp5XxS2zFLiWNE8Vuy+VFhHD+547I4POZyPk0OTUi7Z6FHGLzXL6dMoS5/JSSGjYMwHR3JBHVRbMJhOQ9IfMGnVkNLN/8R16D6haFEbTvIKSHOuvhIoGDuOqML/K0w1J1c25lUzGYmzJGtHCKOJpd0/5BCfDvUorE5a9WUjj++fRlQmumga8MNqmWhEWQAesIXMIWZJPgxD6gIJE1mmyYH7hXWEkKDAzAzAmHjxZDSPxjaN7UglPpU8f9KBpKKxyvrDg6IPqa+YnNwiORF3At4YJ2AybgyMOacBRsU0H6Dj5/MHJv0SETwYG8muSH5itTwOamg2N0e6dIZpWCqxqiPnil8CgKmKoA6d5KXDB2xrQmFMt01aH4fjLY3jAc2cTkEFqzAIgjBIFAZBpZ08dJbMGBua7vavCgjV//TJeY5EdUprrTpiIcMwTmpUQao9CWDMqFhjpoQYjQ2ZGJqjD+bLxnwp1MbR0LxZ9bszs9LPi0hRVEptNhnbtPe0/dZaHSnd0oUZS3KChk4sIgMyoWpWRkhIfCqHC4hjvEL3vIonMYaEMcvtgzlESIIQY+QIrjAjSDqFcxAQ0QCO5pYxJrJnZrXEcs4AYvqVbPK+Yx72w147ntZx6I6MwCgMCIIAiXdVieYxF8MxQmLoQB5vTI7roUEDDpCjxBgZgZxVYC5ziBKtdca6sqh1oq1zeYI1hRq0yxHARDTGolF8uVHTBYGRhRTRR1QXpW7AojgYaZo6mTRCQkJF7hEzC0ZEBcBEALRWk0PBmUJEkNggCadE3hijK4zWJQaGmAJ0FKNyLYsggRAgMKDJYk4Lf+rZpOxOh13/hfclH4QpXnci9HWdAAghMkMIDBQpof6QAXXns0BVNdp372PX9sYY5cMxxui68kP0MYQQnCs1kCoiwOl4M4byHpH86pT8HePgvU9FkImMtbpa9a8j5atS2it7T4zc977rBu+j1hMQNkwQQhQJ46pjA8RggBGjLYvA4BgEUdApG6nJuXkaxNN/tZ3jYOrs69pg5uCjKywSWGMAdKK5qiqlqhzVmnGEow84gS2hScQKggFIyED0MfZdZY0fhk9v3/rN2hRu127f/fj9spgtZitjKzSFWcxFxFpbNaVzzjmnha1QoLCW6nqUbznXIu73++16s9ttuv3WUCHcD74ri6K4WPRd9L3XgINmuywXcxEoK1eVjY+BrG2axpLTSQmDH7AvXWEBbVHUFxeb/S74dhO6gmTothDl4fHhxTevA3tv8f2bT7PZzCKvlvOiKD5//vi4WZ+dnZ2fn88Xi48fP+72e0YAQ1Xpun5/cXHxdP8gMZRl+cefPzZNU1Tldru9uLhQksdmNrfOKefMfLH48OFD4X1RFEgUmT99/vzi+XPv/XK5bGZN6UvOqMhNUVRVpSkWykE0DAODNHU9dP0Qw8XlRV3Xve+898ZZ3/VGYBi60rqh7ZTRP7TFqqrnRQl+uP/w9P7tzxxisVpA8Lvtdr/bbbZ7Y1w1q4wjV6Qgz2636/tejWHvvTFmv99XpZ3P5yKyWMx27X67eVycr2pXDFGNOuvKUhhRoLCuLitXFkXpDGGMIXrfdV30fXJnImOubUeQgAAEwCya3A+jQjYJsk0Po2MF5gjNMtWgxpvTz09lzvSghBTvP3XVf/U5f+oVJ00VkQRpPnpU0uCnn8fsnmAcLRUjcDC8TaIYmX4L1euZdz2ChiKT9nfE1qUfntLKISKA+RIfctLTyWjTONqSTJpD+0e9gjPL1sk1LuyvvuXk5snsjGP15fgflHjW9OXk8wNR14amZql/HMNYpRSg67qkOwkBcKDEWK1kHidTCcg2AwPUrkpqMRGO1t5Ji3Nb5QRvzRnCm0StgOi5FVMgiQCFJWaePZYo+QkI+CU7u0p5bS/+6dBP+vXYsgRQapAcCpBUnyiEIBPDcbJKhA744HERxzw3I85F36InqJm2VnVAEaUQwWOtXURGwoV0AaojOZ3WwskNqMmYJtdHAQBNxITsRJ+IBppGG3iCO0+DOpmyjBLSySUR4VER5BRs0R6NJdyzgzn1grLFNq5XHS6yJjvG0k1tfI7jf0WOfG13cTbucAz7YFZ8s7Kb/qq/soRkeID61JkMAVCMYpM3F0KqGIoSxCIQISc3gCFGAIiT8FFuUbKVrbPMHCOKJJL4ROTPxlqKQWKMhBYMIAqhQQyIOHIoEaUgclVVIQ4hBBQYQe2YysWjMcamYMIowYGZIa/M6cTBkUzMybVB14N6NVQOs0AkFGt5jIpAzhFnxXwFRg5EiEBSgE9lnNJJaQtjDLmC1GtFRCyhKKyIjMENhbwzMyPEGMkam7zXMcZoDQKQI0OYZJnJtLAaPRs9wQjq4iWtQaj3QwhAqCliow4H6l+JgdIgs7EEaKy1zCaEIICCwELILIwiiq0WCbEVYWecJUskRCIkOW0GkjqoYLhD4OhLaaN7HPN/xpXM2bwDrSCrrkHPY8z6sOshVcJCxL4byrL23htyIhKUdgaM934IEQC895zPN0ltM6Mjbd+1aSMwCxxR46vn1RXWWUd5yeWYCUWJMgREDCGs1+sYPSFqPqIBFOGxZBsiQrIWUuQHEW0IzrkJmYbmCIghSsIrxOiD/jsKq7F5IpKrangRq1o+EZWlM8YsFjP1LObtPxGYQNYUADwMQ+FMUZTWWokBHFok3w0iXBWu7Ydht6ttEbrWWCkL8l3PTF2LzQLRQL9bW2sDm158bwjRmM2GmdHiGFwyZKw1mqZZVnXww36/367vP316v908RLZ11bS71hhXVwUhIpBF08eolB2r1aooir7vh64vXAGMm83mfr3+1a/+LAzD0A7zst627Xa7Xa1W+82DjwHRlEUdRKwpCmce7j42iwajNJVtN2uaQ1U4a21dl/u+e3h4MNauzs5ms9lmv9vtdkS0ms3VpbdYLBSOcnV11XXddrtVPZuZyZrlcrler8uyjDFut9uiKJi5LMumaYZhcM4x83w+3263AMAgfd/PZjON5FRVZa2Npb27u3PO1XWtSjwAlGVZVRUQCpl61jx//rysjQhutuumaZarOTMPXddvtjNnud398Mc/xKHvu/1iMb///LnruvdvPxDRbj8YY1YX5+eXy+VqZkvquqGuawCu61pTS31ka4x67hfz+Wq1qmfNfuhDCKZwrjAmGjRkjEGLzjptqi1cXVZEBBI9B4k+pZ5AQAHNfDGHGgUsKcZ+oIvBfKhijnVPT7cT3e5EdHx5Z5QwcpxblQX9UUFJkUT3cnKefvnkLzXRyW4aT2HMEfhRAZ3mPuII0IXMaXikWR23f3zFlxAdQaXf+kpjp72DrEvkYT6iCP8TffxifA45qUfyNoz656SwzKhgnIzYKK6ncJp/ZbTHt5xczAeWDhhJI4QwO1BilCgHb1oIofcDEVkyRFplhDg3etK1UV9hyxzzKoSkPFFmHkoQC1CdSVLa7zimPGqHACAcBY+R5aKIaqctQxqZj2OMEY/pinS2WAQ4V1wiRW8nD/DIbvHV4Tu5KSLCp1mSKXorIQ/BCO0CSBUrUwQfJi7zA0IDCSmjo5Vkb6IKAwALTFfMdLkzM40Nyx/Q0zRKwo47W05bSxPEua4QTZVXngXSsUrwDEBE5IPWqw8Yh0VVJRGZstYQpvWkmp8640depHFgx+HVz4zrbHyO+uNHL7sOLHOAVM1qmn8MAMp5kpqmBjczxChynOw7yrKyLKehAFVNjDHGapKKERGTBxMVdCEigoxMHjLMi0SEANkkqJQqi4pSn2xOHGEzIJGAKMEG8uJhjlEK52hEy4FBFOU1IyIkYdYqlmkvFEVhGK21GurJc4rWpkxBY1RmJThBjiyN0KnMGGMAEt8ea+gluUr4ZB+lS/2a+VSgMTYy+GiMA0g1d8iQEJpMr26tKevKWiMSyYByerjCIFrn3Mh0pH0nIo4UcqRIn1+WZfTBWA07EAjHGC2SSOJr10tJflTAZdU8CU2NReg0GosINsbovRcS55yAMcbEGEM4ZEGQFi/kEAGJDBgjAsLowFhbxegTNRGP64FjVEJYzotBZFK06Fhe/0kBDdmXPKZkxBijjyLCuh6ybQyAeiQG9sZaY+x2t58vV91jD4TWWCN2u90SwTAMDFhV1a5tmaUqDKLRw1AtVc61KcaEQvGDQCxLZ22tM6O6u14mgYW01pVvmkYiD8OgNwHYGMM6wupgmQTQmRmy3AAAIhwGr2XtNUyUfCtKtJbl3jgmIsIiMTAIGrJoUwKPIfDgU2iRWSQ2TTMRd6g/Mye1XkQkArNYBFs4a02MMaCU1rEBERYSAurbgQBXi0XwbKywMhpRsarnKMaWRixUaIui0qRqMgaMTXIDIgBE78MwqPtqs95aa7/99hfOubOzs0VTV5V7emzef4j77boonPfBUGGM0fJ5zKFpGuG4Wq2Gtt88PW537WJ1putENePlbAmEj4+Poijt9YMxYBju7m63+7Ys6maxYOa+8xdX51cX17OiCG3/9HhvbPHp/h5Jlsvldrd7eHjYbrdBeLVaIeJut3t8fDTGaGmkYRiAZbFYNE2zb3tjjOb+FlWpK7woiqqqttut/rpYLLqum81m9/f3wmyMUfe2Eg19/vyZiFar1efPn733V9cXNzc379+81eNABIvCrlarsq6MMRfXVw+PzYvnr4D6sqrawbdta4yZ1XVVluuHx7dv31RVNey33vfNrL67vV0/3Ftrd71nhu2uH/pABTXz8tW3L7/7xStks1gs1utHlS3L5fLj+w+2KBB46Nvy6jxlncYwxLBwjRcwhCoAy6JOsDEiZ6wygKnPRY8DQNTUoYQs1VQZYCJSUjrKKX8SWSDxkY+rdFzwukpPJPBUkoyfPBEv418l5z5lF8Dpc06++//zGtWP8flTJVUSYIbGeB2MMf9/7aEjrFQZy4/ik1PdZqq2jo2fvn2q9Z70aOzpVz+Q/5pNrHzuTPwjhydLhvKOHx4byROwwPjwE2Vy+vzJ+B8NydRzP445M9NB88lvZ11RGuoMqnhoC9u2ExQiEkpmhrGpbKg2drqKtPsZgZChI5kNMzXwoMiyiCjgKeu70ykBM2p1JwPNPADCmCyKAGiQkJhjqk0zFkVS9Td6YwxkGnJjkBCEA5GZLpFxFo0mfYHeRFUVETEACzIA81hJCsVYRFZsQwRGJMrlkMQ5NTRF9UmdCmP1vwxCQEAECEbROwQSIyNiYYxnjcarj4jweK8mnTL5UCljoyGKRAYQKosiazMjx0iqocwp8SUBY6YVT0AUxKK5CCCg2QyHLBCcRNrUN68oCr1nUHnswThtZwQAZ4/y3KeaNCouKEZBUN53fYWWIJ4u3PHcHed0uhPGO/oV3VfGGCGByLnpRonJjTFo2ORFagxpGD3GSJJpYVRrz+9N9D3MBEguVZc0RFECAAEgFJkCRoIQODvqi/pAVExFFIYcdkIhREIEEUMkIgEA66oAiQhMBIpkQmZgcGTEJW3bWsvRGyIkYEgxluQBzU53OZipIiLAlPy3osOT3KjCEHPHs/0AAQAASURBVFkQwZhkQHIWQKoQa4CYM0+lMVb3qIYl1NzSDEUlNLBFEUIQAasnExAAWJeMfGNcrtej5VMcmWQMIIq1NgYUBiR2gJYMMwsCEmEIhlBNOV21mv5rtEgCoCCpO4mZEbNFornqmEruaZWNpOhLMJbIuBgjcCCDkT0SWIeeAxlhiRy573trnCFEEGdKsiYE9t6D9NYgpWwGAWRGshoa4cBARIScbGCNTUxPUCJCtCISwoAJqR6zix0BQHIBptEmEYSQNF12rtDtrDaPiDhXOOe22z1hcX+3ZmZrbdd1hE6YIkNZNAzSdwNEKZ0LAJpuonwyxhiyNsY4n891oouiMsYBgKLVI+AIISuLqqoqJNv7wRYOEaqqAA0LCMcgVJRGosIPjLUsIiBKOCMxjLiXJAdQgAXJhRhZpCic914gqh4/BJbEgSOaUhxjDN5TYcig1/gbAQIX1njP5EEkanuMMVVVpRNLyViNNcaEgD56iYoyGowxzBg9CxkyaMAgYkm273skGEIPhoUZJQoOLGQCFUXhZhU541xpTARhKhyaobAFkhEt6mDUGIasliGRCSGgiDEmRKmbunBmECzLpiiK89VCuCUwRWHDEMvKxoHXT3trrXPlctEg4u3Dfdu2s8VSSExpZtVsiOScC4N/+HTvjPV9by09PDyYAouqjMCzxu336/f/9Ie6ni2Xy4+3wVoLiBcXZx8/ft5u14t53XWLWNg/v/yzf/zHf/z08dZau1otRCKQSO8BGMB4jswMhPv93hhTzxoRef369d3dnfJUqieemYuigJTw4L33fd8vl0tC3O12RVFoGKpq6qIq5/N5GLyIFKXd7Xa7/X7gKEJVVYXApixuvnm52WwuX9wA4cbv5zfLoW37vi+MLYigaw2RJXz8/O7h80cj7L2fLVYfNk/vP3xcP27Eh10nkdkVNsToqvLnN+33//z21at3v/71q+tnF0H48+OnsjERfIjDw936YllWVdH3fdHUrnJOYj2fFc5hSExKxjlj0FkqC+ssaXVeYwxxBGuoKnzoY4zE9qAPkSPFhuVTW1UFERFE5dsgJI6CgECST+ejEy2rPV9hb5xqeKMmM72ZyAzkwKkyXtlAluljRfMGv+YCT4cdgMIoJBkDSIkuhrLGObLfRm1g/q4+ixBShb4UZBOtpU2SPGv6ioMOKsgABDICFBJ7tTE0ajjaZnULZD5l0WJlGlxkZosgI/AmxYmRyGZSXR2KA6UEJAo4UfCyJE8lQ+a9mGoLiAhAIWjXEmPHGDXNqvZhviY9VQX44BFO1eg4RY/HJ1AmbR69Ztbavu+9SN/1IgKGOPIwDCFwjEzAxiR9r7DOZI5HTpYSoxxwNTLSQR5W3uHXk6BMjraQgAhMqoqKCECUHApXc2x0UxljpuM1rrzDSOUVlz4mpHrfuLIlL3CYfGxsG6co/8S0zZ5yyM7osY+joSwCgJJLnWt7ciNJMh5LIGXygWg9gcl7ESTBwIQNINNh8xy3EJLXOQeLR9VZu6XBSswxej2bD8N+WHCiCi3i2AB98mgeHBJJxx8glzSCw5Ws+eNFeaqpnwzpKL8S3n1ijAIcKsaNkmgc6pO3nDx/eid7LHgEbOi/I/qbMphn/PD0CdM1nHZpskU5IfXV6lSJDCRHTNtjdOKwqk1KBqKoJabjyJIuIkmjV9mBJABskSQFkVIIRVWBCKyeRck+FR0la6bhID64dfMekhwjU53bWjOd0OnUZDpRCYkH8wh7N50XYwyLOcQkAcYwmrEiIialxiJRcn86lxoPYijxdrOIuORvSzq3ltvCjIzEtOgPIVrJAYe8+JOFH/koksoSUmrBRNTCxOTTMrCJJSmEIAGSfUtISo8LSIICxiBRyYAAYtSthmISP5PgiJMR/f9huE6cKKPQV/VOji80hJxcPsnHDKlak+rxY8ogaGCAANFYUwwYYgyQWbkUoIKIPiZ+2LzsUaHYIzrFiTjnlP8nxmiMIJYhBHWjdn7AHLzStVEU4pzjkJjgVcvXhRT6gaMAkNYYBpAYoggEz5oPwAzMIMpnCuP3DDM7a4gaxMKTH4MqfhiGYcg0WQKIymiu7Y8xMoNyFYwVmiFHEnSDG7RmJBI4sOBHGk3zHMRgZGYcGa6YWVBrJkTlNrPWapo0ERAloJoQJJoaEpXJigKUcHByIqYC0nVZRvYgEqNorYOyrJtm7kNrcNd1TGhjSEJ7GPqLyxWwdF0nwk3TAMBqtSpdgYhlYUMIy+XZe/78j//8vSUMw9A09Xa7FYlFXdWzxhZu38bN+r6uFmVJQ99bsFCasiz3g4/CxlE7DEVR/PrXvy6K4hff/ert27euLATB2KLruhjjarWySNbatu9QQFOWHx8fq6p68eLFrJnv9/vHx0ciqqrq7Oxsv9/vdruqqkTEOXe2WhFR13Xv378HgKapF4uFc06rsTLEfhiYuSzLoijqum77oawrZrZlMQT/+fPnKLJard5vNjHG5XKOHLfbrRHmEB/unz4/PCkjO9ytn/bbtvdDOzzeP9TOFlXJniKIb1sQQeSHh/f//Z8e7u6vqsadv7rOrP/12WzBfluWpXOmrmtTuKUrGGEYhrJq8vEI1tqyLIvCJtHHLCGGMIwqGtER3BTVPXN6mqDSSOQPjUfnkQ97/Pzki0de9pPrRESP/+KEfiBfBLnoz3hMj/KHjyGyB3mbTpA/+bp/pT2QU/1gQs8AANkdn06PyXNI1V8A0GIjenSKJI4HkQM2UgTV+SxHEn58YOogK9UX5FiAphBpomHq4yEz9XQMj1QaAyAp7yhdUSQloXGi4U6+snGQ80F2NFB4UP3lgM5Hzsc2AoBAzpyLBxhCjvYCEXHwelLHIH4IwzAwA4O4VGY0gY2d1lUkOkR48mjr06xAHK2L3OcUo5/O5eFnHRTgE9091VAal1Q2U47hU0craWrljPqHelwI4MC0ncyoI1/+eH9So/3wGu3gdNBFBJKn9WCYqnaS4cV5H6biCyMQiAEISVDp1AFz4ShtvD5HUDBCVF1/+tpRxR2VQl1wo7LunNNaSDjhKhpDbwCQKSmTvzbGMB0WRByzVE/28FS9mA57sr80NnhsU43L42Sfjw8Z52v8zAkIeyK5YFz3aVzTWw4J9bn9E78+pv0rGYpjkx6ZiW70Q8cp+XAkqg4VfwFZ2TIRMZHH5jWOigkHAMCc/w4yTUMiATEiQoAiGFNOv8kRuWmEQYiIwKetK2nd51wIMLmmD07AkXTQzmGcPshjhpPwX1ZYIXf9UPkL8saB7C/Un0921tFoZ03RHubaiIhReFLGsxGN0Rsz7mlM82sQGRLBphlXRWY+JjjOFM/zfjh4DsJ6kjthhEPa6XGKQztZgQTKgcuqjTlRCBEJoTL0KIsBIBtEQzZwBFCtHQmBRABVmDgRBhYmAR7D3KxQq1HmxnjwxyhgfozJji720XAC/cRk4lImDCMI5VOBkAMaAjIMnogYMAr4mHIkog+c2e7Ratgf1BWX1FxmIioKMwxD5usslVe7rmvrHBFNcqaNIbIGY/SEFgE4eKAUyhifjDknHmjckgYEouAIesn3WeVM74disERaDpV9iEQkWZtRa9N7r1BHY8zovNfFO5vN1OMLueiYQuAo0wopxXvO+mFrC5xQdmojYgRC5kRKEwAgSABhFRVFSa4waNEVxllDJIpeBzLGaD1tFmYMaoZbVJM+L06d/Xa3rcuqLGYAtrBNLDrvysJVsWp9YEDLUYYhzGZ1WToRfnzceO+rqprN5pHZWjv4rjTN0O6fnjb399u/+69///bt+8LYwpnSmsJYHwPgtu/7ej67WJ217fC7//rf/uqvfzsvZ1TgfrcTkcF3McB8Po+7vSO6vr6ez+fKE7/f73/88cdlM2t3+/v7xxjj2dkZACgg5+np6fLycrfb3dzcgCAALBaL9+/fi8h46Kg2rHwyMUZjTN/3OTZIfd+fn58zczf0wFiWpqoqNDQMw67dL88uVmcLV5Wr2YUrzGa308oPv/rlL28/fiDE7a5tu11TuKeHx8fHx/1+H30IUfah/XB/70UsGVM3YELPQwDTNJXvu/PV8q//zV9GPwzBB4n94AtjCXCz2RDRvmub0pA1Qwx93xPHZjEPgRlZkTNFUZRlWZalK0trE+VXHLxq7UkECamrGL52Hd+fHFIZa45oGQ55XOOZOz3OROSQyIeprmZaXgKnr8a87KaaEpKWJso5hzg5/WE0+08afCxm4aSF+UMHnkcAgMzdPm3NKPWPj6qUPgQAcACwk9YFo+TAFRFmGZP9UiB3zPUDSBH1PDCjrpV6EUJIebST8VRtDbM2dTJfclC4x4GEqOUPmSnGJI0BBMBZO56kqrvTRKmYqkzT509+TSQK03P2ZPBzy0+1I31UP/Rd2/sYVJeICERkCccSGfoQ51LdgKm1aYyxp23NM3GyqkYlb3KIxpSwgaNelByReEzBc+gMpPxLGovIK+dJPgwBwFib38ljKEQklfWajlF+5ql/UZcGT3RfFeunqzmB55NiZEAAlX1FVfm8MgQYWQs3iVIpqAYvPLp9la5duSUlWZw8ztkX43nsMzaENrMvH/bHcS2eyUSqIcSc9rHK1i+1nHHFkwER+P8y9ue9suRInihmZiTdPbaz3yX3quru6ZkHaCDp0+sDCIIgCA8CJOjNvFl6asnMu541NnfSzPSHkXRGnFs1is6+FSfCg04njbbbzywsUTW/9uJKUuUnZ2SXLyv+Zmp/BdVKOnU21BHOXvVX9f2ZSVo2iy2hCLMZSUR2VLScbSyRB6imXGMfG0SSZl87iapSrfBANrBIqg/uoXQfw8rWJbfUMVeA1e2pKiqBKlkTLbCs3MwNMt2qZPiOslaGRC7VVMv/lqOIqIaqkZ3xDbZU6z63C1zT17MSS7vd9q+ZlC09vGZJiOiRrAmGTcM12U1UfO6SmIjQ5dlUEqp4xvYSSRZAxHlKzUaL1oYJp8STD75wPrnFb8G51qXxexSKUQd5v2qdDCJarjwAILrMhQC9q5gGCCAuT8ZohBGgOISy5eNK2KR4YmZodvuNFk5dVXZmA0QCVRRFFRRRYWCWYegcBRWd2Jx8KCLegwggOhUQVgSIKaWUqiPc6nTzpiQJ/dyBOCcoI3rvzcAwU38YOi0RlZSVbLHcQlUxoDFTaBCc0aEiiYhlSLamoOltUjpAExGTB1YRg+xly4m3Bkn744GZQwhI6iDbjTHGNMVqabAKJ0kpGVJ4UdbJNHWjasvmzKlZONtLZ+yiMhZ7BEFkztJTi+Kuyorqg+9D6DrvHAKh984Hi3QxoLUdyzVBQKTAqGDn3eSJJFaElFKMkx+Pnevowne+w7BkOYawcK53XoehO2zz/J1z5ODz548G+dP3vXPUdd3z07Pvu+VyuX18/PD5659///JyTC/jGOOWWNerBU6JQTnplGIIj5+XX3sfAOQ//X//czzEP/7xj6o6TUciWqyWy4sNBR+8//23374+Pi7Xq9ubN4vF4vvvvz+8bBer5VvfffjwYb/fb5arN2/efP78ebVa5fMIFFMkImY2LMi7u7tPnz6patd1X758CSHc399fXFyxyGq97ofh8fGxH4YY49f7h48ffl+tVhdXl8fjMcZx6Hsi2u/3u8P+h5++X282hszyT//0Tx8+fDgej/2w6PseVLvOT3t4eXn68OHD4XDQOE7HcTdOh6Tkw9D3DmnwQZGPx+PuuPNKYTlESG+/v532uxgjIE5TOuz2VxcXDtxqvdyJPr58uby5vrm6XW7W1rzHORco8wHnMkbC0PlgDePSDCiJVkOp5mU78dRWfnuqulHRt6F6fAGAwNsJakVeO4LmW7zS0Zs7nonF1ikDUB0K517UVr9qxWvl9u2UvjkBANPdZ9OlONTR+KHNUKqbHXJvFkCVqoCXDhi1YrByTp1hGbF609q4QV3hEoiu8C9ZPa062MkTzSlA5zoVIhqSWv1JbuGi1owC6wqbIA/BydzgvIZfzqyXuoAnqg5mV9SstJyRjZYoQd3E+hT2PuU+PknV1Bp1zkFwfjZRsigvf/pqJyBm/LVqrDBWfB9sHwCqhxDaEszidK8KASogAGfkljmJ4uxfaLJK8vNo6TnflH0AsNYqB2q2PLslbYFerVrjsyy34LpqVoiGiITYQB+KWSzY+toLAbnsjXegJKAKoqIAjhCRUFSRwBKrMFuYDS+gEnxo1q3unz2s1fJD4ygNIZDOS0RFdS9GKiACFucWljSbSsftSYaC9aky37G9EgBadbDanSe7XzymJ9pY2Zj2svb92at8MxemtMq3OfsRrXQ1o5fUtJx6Emyq0iBvvtrrVt7bLtT/bLqIaFiGADliYP01ZvtEFYiwqbBBVc0Ai4imgRl7sjAOYoV0AUGHiNZ4UtWafrp2njkwApDtisYKb6/RYl7nT0zJ1EwJ8xk0D4cqNAlXKSWHJyTRcElLyDMqIqeGvAsi2qQoIIB5NTIcoc7mgQHQSkkAtVvMNokyQxNExkL2SCgiCnP1s03JKk0VsuMBVUSUmaE5Ji0JWcqEjeltKXIPvKaXZ8Fk8A58MTWxJCYWwmk9JWaqi6KiOCICzfitVPIsWeW14i6Sc5xy4XIDIGNabErJqpEs3k1EqiiiCJqSjGMkMtYkzqmIMGgSrtzZFsc8iEZFVqUwDAMwBHKdy6kmNFhJANAAnJNyAaGwd2ZUUBaWxCqEHgBSzP3XKlCjNnWoBs+KCN77imYNgOTyFqSUxlGZ2U+Tc67z+ecxRo5Jc8Yqcs7jTFYOK7kLCXF52WOWBmTFgd+cdDmpm8qYP0RkeaWqIKCSXfCzheOcAekgZD5iUkEQFUFZIoJDcsbpRUSFM4+1K8VupAlkt3/pw9Bf9M65IQyyvJymI/ODCm/5GdEtFsN2u/3y9VOM02p1xcxxHCWmlHi/e+nS4rDcj4cdgnY93W2ufBfu7x+nY3zZHwYiRLcbj6raDYvt7nA/3l+uVw9f3V/cX64vLin4p5dn6sJ6vez70N+9WaxXv3/8bX2xFgXy+Oc//221WI7juN1uty/7/X6/Wq3GcbRSzt1hjMyL0FHwh932Zb+LMZKj5XKtiqvVxvDdDTfmcDjsdrvNZrNcDjG+DMNwPB5V9evXrwoS+s4513WdADzvtoj43Y8/PO8Pw2rp++7x8dFaglhHpzTF5WLBcRoJHh6/7p/3jw8Px+P0spsAHHbrfrnoV8Pq8sqBQwWFiIifPn18++7mn//4/Z//8/8npqTIweMU08VmhSwShYhijNd3N/1Ch8ViWC0R1ZGzOo1APgy9CnJMEca+7733PpCIxBgN3aFsd1Vv5uyIKragSRGxT7IyqkxNPxm0wJRlIQNUb3rLn2tE8VQIzjDQLXPWU00J/s5rZnRziumJ1g6NKDyXAng2Tk4WwpOZGIs0Tbr1bWfvrOEjKFjoUnJCsklZFgAUzcLXulnbr0TEeamPD/nk2bhc+qCceAzPlId2ZcqHRas2WU8ICiooqizAWUwbZIUYxC0iOqdYqrkQc0QByoTsmrKw1KjvxldP/KTtUtcF1GrDvFJOjOllrd08PxmHAdERAGhJUnXOBXJFlwZsXK6IpckRFLdTnUE1XJo1mpcyTwW46u4N6g+56oUnUG2jGPOumHtZFKqUogY9DYvWZoDpMPvGGh9b3je7r1bCyrgcUD12WScu+zFPoIxTs89htrfOQe8VUQGVcqcu0nxas0uvKHAkXGth5+oNzd7IbySCC+YiPC0ReRNaKHnv7TaVguuOELqcR3xaOl1JpD3YAKBY49gzK6kOYC0ZF/WrM8bxmljtTdVKv8lozg5enY/+HcQ9yEcXDFqkvaDqFvleUow3LIZcs93Ve0CYUyOwHGzMEUuxbEJVQSTADN+OQACaHfll1mJJIwqCitlZT1VxFxHRVKrI1Tmilt5AKsKm7S8DqIqequxlb4XI1dSLqkmLCJYiinadsVh0Vfdyc1sGbQ9v1X68JyUtiUPZWFYFRme3KxRXqQhUlROos5auJ3wKi9bezKqZXrZiWVSsIlVVkapij6olE9yeyxRuZmD2vjPzqb5yKMBlEmJVAK+q1hdZTZLMLg00UC2G4lA5b91XA6MVSAERUUtdcJG7FRlGG8moWnT3YsWpFHPLdFP0YWJJ47RYOCXkBMzinBuPoyoQ+aQSWSVGJHXOxTjNWoWqqHrvQ9dVFKxKQpSDvIkcdNhZZWHRZdkhAggLZ6ND0SbGudwImJn1WJE3a1JNKx1tqNyL29wnxYoGR66k8yEiQEqQiEjS7BFQhByfFplSFEMVg8zeq0rEpXcb5q5kZpOd8CWzBPJJAas/qyzO/s3ODgGkkp5kXQXBwBV8PhE5hd4UDKvLAEZxhstGSCLZejS1xAQ0IaVpOo77RVx0nrz3Q79aLq6Ox6/73UsXlswgLMMwLJfL5fLuy6evCI6Zfdftt1vnHBFInK6urqLwna7v3n3/+LL/f/w/v1xfbx6/Pi4214fDeHm1sl2IkePEDLjf75+ftx8+fNpsVl3fDcshHQ8xjd+/++nh5en9+/dfHp/effc+if7xj388Ho+///VvwzDcXN9553777beu66y36L/7d/86TdPT09Ovv/5KRG/fvhWR43GaDsfPnz9baYStv7VnskqJ+/t7+8QqXH/44YeHx/vN5eVut9vtdqvVCnHlA11dX7Nz6Kjv+6urq6uL9f39/dB1zw+P0fnVcrCGWYfDYX/YmmGgYXBhcXP9Znn7dg8uKnhFh9hTdF24ffvT//E//od//eef/i/HvRI6hwBKCDzJZrM47kdm3e2ftvvny8tFAgYAAQ3OSfEgGH6OvVBVWTjbxqrAuaSfW2ffrLhT8eQBAAKBQlsFZ1wFLW+liYvmBi+NS0uzT8pU2eo2Bmi1ZmgETIvON+fcn3imuD2h9fenGm0z+KxBtsxZcwRA2muKB7TMpOLGzBNo879nx3NeVM35PwUuoQYNuPJGQCxOD0KqcXu2Y6dAOTpe8KyQNEXrvEaWwtc+aWXybTTDHJNW1yvFUauqzFI5JJZIeAV5q+wdETmpgin6QKStvtHSQF0pzQz/3F5qd8HIqXpDRIRjcbWXgigRldIwsipMxse882dVypW2q+J+kjVr/9P+iaXmABVQiyMKQCEXEdeqDgVtQD4w5ZGrYm1eRqgStnr9G25ONb5QrkEpfnQ4fdV1n/+1gEievyVazKPNrpec55NNKMr5lHbgpKrjxQJzrGC9JHPaOWrJW83JKqV802nuBNtqCQKl2kAb9QIAopy0uC8eX0U8McqtwycR1bYmOuurmWjacbR6dnOtbwExbVLuTpelqPiYg03YUAJmqXlCo+36v96ab17zzevz8UCpqPqYCx1BRL03qD6pWgGYhZ3pCls+Ak1xfUPSYhYTIqiIkh14p2CtwVCYq4+2OhgUXOkVZ7AjyoBEqCK2pIBYDgUaAqRqbixZbmprm0s1sDG6Wk5UbDYQ8SJirXbMN2lVdJkpn+L4thtXNwUbxcg0J23aIdfbOkDI2V7VDgfvuqL0F6ISE0c1BmqMyQZTU6es5q+wMEVEhw1vVahioJKoqrU5m8nSE7m+tyeq9QYpnePplt8ms+gcqOZmoufWo5vrSZAM4Q0ySc+70ESWCqkLIjLUYKMCmMmHZ+0Sq6WhtUy28bXno1eU+GnMSXoFu2MCAICYooBhNTBYG4li82PKdhc7l0KXVeScAk7kQoB6Wh0Q9ebPRkSDrymUUA0JEJFkOIy2WYlFwIQYczb7s91e0EUpN25DQCEH4Kj3gYiiTIVmDBkWDFfK911dnBijQXAy82E8WoI7kZUY5FJOVbVggi1CzWHofKjjF9+5q3qS0bLVXYBmYAqZPYZEBKWrVyabWtGOxRJABGBkZcrxGKgHR4u+gog5pKqkyIfdsyddr9fOOVX0brFa3h4PoOm42+12+5f16mK13KiqVXkSDJZq5kXjNCHixcXlMHTy61/uLvsu8H/8D/+0XN38l//6P75798/P2x2iO2wPaRpv/3AVx/2H3/+qkJj5999/325Xb797e/f2FgIJ6NPD15fd/sDxcNgLwHK5HMLw9PRkavfxeLTcd+89x5T1V8Srq6uvX7+u1+uLi4sPHz6tVqu765vff//98vISAKx/akrp5uZmGAbDbl8sFvv9NnfLSunm7k3X9U9PT0SEjpTBh94aVZm2G8j1ff/27g0Rff38MU4T9yE4Ek77l5ftditJu65b+GFKysepd96FxcvhqCkhoPNdj4urm+tlf7F93q2GRUAFEp7k9vLm+en4+fevjy/PXeffv3//+PTFeb9crZbrFWUseWLVvu/HMXaLxWK1GvplCIE51+srljCmWXkwtzU+ER9z1jgiYrETG/dKZhjfAI15/arsump17SeVLFuuXkY7T0k9G7b+9uyaynvrHU+HzQO0fY6qVMp/CtQoBEAOPGou5K7MHApHxwozqAq20vUc2RlXAEQHYpV7TEQ+AABYpqHzhVFnrysBigqEEGqOeyvmThdznnwGST6xUhCAYjwa4zXkBuecJTgIqSr2fa+ak/ryD3NIGUviqhQRDGfbdOa4ade/zlABiHwVFtaMOXGyydiLwQL+CjTX8p0N5ZzzNfYuoqpVcT8nkb9HNAYbVHdas48TLek681xgOC2Obhe0vjee4lRF543JNVJF2563qolQtPvHMrtt8rCYIx+qc1uleYPtoNajiaUQTSZtKg4BMplmPUUzPjii03yN01xJjdb50X5LDmpqfrNiOXm0nrf6raHKVHlv25ZSAgIvJagvIpoUQREsMTSPr1jzeeS0MrXeZdZ47MPCsKihg3o9IkrTL+H0GFiaPGSH9OkuwCkDOtvu1gJpb9dSkYIiyWxyZ1/rjNPUKqBExCVrDU5Ocv2Ez95YmxgAVUYxjzsWpzxixg1Qk3MZPSan1aBkRD4AVU1SH52LTahESDDHjnJBMyIBSpMLfrIRhWJVteYVICKYipZbFHH9oTQeemheddmNjM2uIyI8bXmNxYh3HlQBgYAQHBIWLG2s8a56iudIGiICZA0vA+rnr4VbJCVExmI0KhisajvPluQyvZWkCK3A4VCyGwCJsIIs1Y/a1CPOCq6rtpO1KwfJjyFt3k7xLtuPdXaCmePktA0F5FhW2dNvisBctCOlRDUvdfD7/aHvexU0KAyDVUkpIVJKaZpGTrmDQeUzZgsVtB81nJnEYHky1SbPi1b2lxx48IfDwa53pUOWSMoaS1FeIzMzAxQkFiZmBgwGNJm7MQCJiHOkKGjVnK6z1XPeI2oPfd64ucMaAdAxThbTMD3PpLLp61QCejFGQ/xk5r4PegqiVc9va60ZrmXleJh1d7O9FQCErYMIAJCiEmXPvfcdlFAlEUEOp1TwLVSxsLUoAhFxzNYXIlqMl4QQcUIFkHE8pHQkgmEYmNW5MPQX11c+jR+6LtJ63YUuxng4jF3XTdM0DAMz393dPTw8TPt9Z81KD2m96HYvn68ubuCHt8PqzvlhtwvLhTse48XlWjk6gvXVEhWeHj9MMW4Pe5HEEu/u7jbDxcPz07AgYwuGfC8iUXgcx+++++7h4QEhDsOwGAYiijHKx0/TNN3f34cQfvjhh9vb248fP3/58uX6+nq325nVZCqLFaTudjvv/cvLy/X1dYwxhJ55r6qXl5fDaomIfd+zilXfrtfrh4eHbrUwqNPLmxtU6bpu/7LdbDYSo/d+mo77/X6apjiO08Sr5WZBMah+/fy3KR6Hy7uJOY2TB/x8hNu7u0+/fvxf/+//t6sLd7ORix8vFh5H50RgGBYvzw8G3zQM3RVerVbDarXS4q1YrlbH43Gaps3mou/7xbDwfbBOzMxJRNGZinni9GbmNoSoqlB8Gd7lPhvWVBnOXwRwEqCWBp0GGi2zcuszvtG62NqfFMo/dZnLLC7PpcC3FPeTJ/q2P/613x1Of8L1UpjhB6CKrOYZMUuCrMjmLDvzY6aMr6vKpgJhDYhp4w8iouIi4exbJBRRsBLXRjo2D3HCqM+esUTcZw3bvBuzm8ll9qKqhvxhctNAxwDAQnlVs6r8BwA0N9q2p2a7Q3s7yO48YRHnsh2VUhrH0fLauX1JRh3A0rDZrmfmpOA6V/ezZY+1EjTXFNewcQEzAVVFUUZTmECkdOE+NShNibHPHVFFhyTrrJR9pTXlq81JrVogquWSZrXh5OUgV7JB8Zxl+QG+kmDl+Ars0RfCOhmq0L0nPx8DUcVcAQ0A2ZcDgASoTiy/Hq25z+wHtSZMImLIbAXuw9AhMjEhAJCZHM78vo2KVgiuqqSFFASti2HWNS1L2pXJcVZcSkzfWIAjLyymxLSSDxUMr73gjajVXCJYlpFpLkXjVCEg0PkwI+SiLTllQFSLSrU2mpmXWmGuvi/wNVk7MZgM5jyecN4R7zoGZs0lmPWozEpe3XfIjl949dI5Rz+nJKqqAisoMifhssLFngHTnIDIsOLFIv5ExAqISmBxOq2U7ml+UgQFsxvzqSslDjncD4jgS6455YYXcrbdRIQYJKM+5Q72IuQQAecrqbqQy8prqRWG0m9BVQ1Wz9KIRdiKtKrjzRirqVI1dkHog3eKwomt5YKKAhAQiYCDDlRK/2O7CJxzIyTvPSiqKOba06bAWov/irKBJCLGJfNJgYxmWFPOQZUIqct/et/XBGh7TCLy3ovGssVCuQATERGM4SJaCnY9XE7mY954jBSocjBiVqND0/AyYYtNw9ufwROzxsLKrfhSBMZxJKJpmiyXXRBTSvv9/nJ9mVKa0kREzvnjcWRm5wJz2O/TOEZV9cEdxj0z933vfRdZ7I7jeKhb5sgTeutyenFxMQw9ETEoRzZOJyIpRkfZPWX6OiI5AlBIhjkJ4FxwCmOMzKwCgiXtSiWlJLa2iM4FM/96F0QVlJxzw9BN09T3PRFyjOYpj4jM0XtnPZrilJPXvfdZ8SUXQkhpSolFYBi6HKVBIEdAAcjZnV0G7wciEOBpnJiViPquS8JACIquOMKd8+RQVRiEwJEA80RKKuCC911gTt77JNJ1naLjBOrEDgU4UPbOoRJyjAhCrnfoUkyJtTRAcHPIHl3fk1X3AsD9/f1yuVwOi2EIi+FO+Mvb9++en7qXxycVJHCdH8QhEQmbNZaQeL10waVx2qaUhmHNHDnK8bj/f/2//6/dcNnBbUwK4hJPIjJxenrej/sdgeuXdDxuQS8kHR6/fFldLPphwawxcrdYbzZrpADovnz91HXh4fcvkvRiswkh/P77x2EYLi4uLm/vjtP45t3b9XrNzNv9blgsfAgfPn4MIQDC48tzTltHuHv31jn38eNHCj4MPXr36eHzMAzXt9dAhI4+f/5M3l9cXA7DsFost9utJydRlosNkf98/1XS1HV+mqbgfIf68vSAGPfbR0SMzIl5n3YQFr4PgC+y/fTy9DsixhglBNL0148HRtpcXU5u4S/fHEd2rgMPDPrl4Us/dDHBMR6nKa1XV11PqjRNk3MU+qDAm83lMCwBEjYstyhtTDLXn4kVfakCYO3wbSwicgbzlWmqDoLKPAEgR2QRStoBKEDkDM3U8mf7rbRdUXVGxZW5nlJ1bqKHlB0QcCKBocpAyM6z8gtnEA6F7VKx55ljHbO9HspYcOZ6E8WS/+acA8z+Mq45weakELC5Wd2duSEA7I0hyULFWbGuuovFYhonWw+rX/Ihg8MwM2gyfFYkJSQt6Fu1qzmi1SxZsnSq3s/q56ZiyqvM6Yx2lJg5siaBMfI4pRgZIkcG59JmRZBQj2CV8SjKzM5BKB1zVbNRR4SEmEoA0EJ2zjlLJjQ/SOtZ0OLusQcxvcs5lxJP08Ssh93+OI0TJxPrntShEmXAW8jQGggAURhT1q8sNOqcQwQR8Y1j25miA0URV4VaolplMTWAdCcbX4y9mUzzv2U+Vd1pnCtafowlW5dqsYXC6TjnvsY6zxoBqBe0V5593gw1Z5SqakYQyRZkeWoETgJg/kjLB835xNjkmWiOCcy+var41iWyJpSvZyUF42weLStqJ+NAOXzWU8B+nTclO/vtoWatqb0VlCyF12tor6ICIpRY4ekg81E/W1vXoM63/1YNtf3w9c+pZPIUb+7cN7cOXmfYctizpT5b8HnOKKAnl6naAa+1I64iwn7jhSV7qqxqvbg+yPkdAUqhzmvCM/j4rGRX2oMTKi1VB5BREWc1+LTfBzQEU9/Mc1CtINl5qR3UvCmiebMQgZBEFEkdkqoJFUJFRYnTWA8LFeSQlBKFvGWWlGYBUxGZFXfbRwfVkqz8oT4FIlJpwNQ8VL7Y2tYSzURCBA5DWai5nxzO3VJm4s/vy3mp42dKwHnxnXWvRUTElDIdYmNc2c9daXTVuOGBiAyK0T70oZumabPZxCnGGMcYEcl7zn1qSVKKJlNFOUap3qCasmLBn7qbwjyJBHHDMHgiZRFRR4QeUkop5RCwcVdVtSo9mztzTIlFBMFSaND2TkSk1IBC0yEcEZnZ+87kExH1Q1gul1Z0aA2LyfwIziEqcyYhabopi0gV3QAGukogxIAUOuew6zrDtnfOVSway783V673HnEu87Ci1ZQSAtR6cSJn6QRRogBRE2oAcpDbD5eAyXnbh5w+q4CiCcTUrDb8aKvhsJijRBBj3O12IuKQ+r5Hkqurq5etCkdSeHx47rouBNwf4mKx4KQpJVXx3seox+Nx5OPQ9aieQEXSdDwcDoffP9x38IUVATtQSklAY3DgSDp0xx1PMUo8Qsf7/f7p6ckN636x6FiG5bJbLKKC9/4Pf/jDf/rf/jcDc3zz5s3vHz50XXd3dwcADw8Pm83FYrF4fHycpmm/O15dXd3c3DDz1dXNfr8fEK8uLvf7/f39/cvz7g9/+MPl5eXHjx9///33d+/f//jDz3/+y7/dvnlDRJvlxrvu6fnh8vJSRIIzZzYnUET89ddfh6EjkKurq+vr/uvXr9N0CC6kNCLi/rB1zqnH9WIpSff7/RSPzCEWi2iapsPxGPqh6zoiuri4uL6+Hganyt53z0/PiLher1NKrvPD0FlLdUR1jlJKppAfDrvdbgcgfb9Yr9cUvDZuBOacPHsqKRCaBj01OmTKqBYqqohkiEgy/7wI/5nzV65eo6+sbW+cooSD0reErGZUFEVEqAmWxQHXiomZ25uUwVlCtfN5/b6KkvZPG6cVkfPZcabBzykxtlDCXO9YpKqxMusjO8efrdvXrCegyJxujsKZ/9DJqmZUbkQUBpoxaqsjj85CGTmTs5z6VOSRgdJa7XWONAISkVVd51s3yL8AnggcEKj1mBIAAkLC2QYzCjE7X3U2IdrVMDZrT2CQoHb3cTrGNIqIaRamr/suOKTMXgHqYzrAGpGAWbtAyNVd84sQ83IXyeQARUCpeGGVULHUlkKTB1CgIbPOUj5m0IZswC60Nc5E2WxYQ9kzwf09EizfnhQQlEEQ5gai2v5wHkFJSp95VXWICpKBpYAqNaKbobtzRSMhoMu4BE1aDiJa4V2zpFkewInCPb+IqE2hq4SolkL/rYqTWW/Dtt2tlEfN9FoN07yvFVtj/hDr7jXLgjUiU+/YTqBdxvmMNd/WT7SJJJz9cI4SCmoTLaEc4pfXI0PJdzt7ovbWWjR+VSuTEACnJSM5O9izi51V1TCCnKvJjorgatRMZ5AKAD03Ts64pO0BQI6vz5YkQE52B8FSGGuvlBhzQTMA5gAXIkoBwVQ946QZSGd2vxhXqGg5VI0usgGq11Yhg7vXE1HxlGo5ikZ1gICW5Jw9Qw5VnQMQZhVlg/Gw6VkOuqFkYoFQBACDTqzr45o4Z+XvbUTIcH8runw9GdJIRCwyFedMiZka7YdUOA9Uldcm4M9YXKZqnXPxM9R6pZ9mizNBYjG0ELFl06YH2xvvu5TSbrczEBUVijFNUxQB7xkR1bomG164J03WSDWYH6QExIDIm1JrUseRt7rxjENgIhBntEop0QEbBBHtSgC0DkSm8dolqNlOSCIFZCMSkdMmbx6EyFkPXQvgQNHOcS4bBaKiT2PBCwJlkUxsVW8GxQL1aJak95219SUiJALhGFl1tD5NlXfFGAHEctYhx9gQyFovGbUriwTfOWfKjapIiuo8qaIisFoGFKAQ2q1AQYTBKrIE0YmoqACBpoyuYwEEZjbl3mA0DQvcRHsfusViMXhvW991XXd1BQCH3XG3PWzWlwAQY1SO+/1+v9+ragjXwyrstoc0Tcd4XPrFerVwKMKR4YUTijrCQIjCcUwxkHp/Ax0S+jROuzh9+vxBArz/6Y9jnJwVknZ93B9//fX3P/7yh59/+sNVt/7w4YPz/nAYQwg3NzfH43EcR5EnLAlpm83mcDgklffv33euc85Z29SHp0cX/H67+/z5czf0i+Xy7du3f/7zn6+urobl+tOnL+/fv7+/v08pPdw/TdP07t27x4dHRFwsFl3wRnUSxZCTrFD14cNhP+6ZDwCy6AdNo1W7bS4uPn74sN/vu65bDKvj8WjoGrbCy8Vi6HqPtBwWl5erw/55PMbxGPu+F00scbkauoCs0nUO0cJTI6ukZCC/uFqt+n7R970dhNbzDY1uWhjIzEbqGZwtwOaryoWkdlnOsjh7WzL0X9F2NMOft6mh1N4OXsnWMwbVSsBvSmEsdSBF9s05qCJC5NvRzpiflHB9vYWFiHLAWAAAkjAAkFTFFBtHK4ihYyHaG2Y7xSqizFEELU5l9S01FcQkRS5LRSJyc7dRcFYQbGIh38iKTdswtT06aNUwFUBUpOgtDMrWFak4z6qDzGIvqhMRoc5aeO2QaGzHOQeeiGu4ODupjdMS5SlxMV2Ya15uXlhmZk5VlbIsoHEcp2na7/fWKE2BxCCvnEMF77PWbpp2tk8AW8dTpUYA8NmHMYM/FlNGTxKpuQDRtURQh0OcsfOK11fAtPxT8G+BDChphX3YDKUKQBkts6qYrWyuV7ZfQVOdPRP0iYp/Mm1ToGcShnnRVbPayig4m86VmysoAVXR5U2PV1WpNSwAemrLImqtg2knWf88U6mxZvqe52xVE8lSgCwJpCCvQjUAShFqWaX2RnUaiJmtnK9bgQAqf567ClqGUi94TRJQFPF6bBplKPs4rfdh+3Stm7NePPvgTz0Ns/ZfXnYLUpmVW2vMDIqg6L2KRZ0yegli1qNrbwuY9WqUk2e3w2PH+wTXpU4gpwSVmmZEhIYqAKD2lLYSiNaqqUxBVUujWF8VssJzTuh/podvWX1EpNVQJFWdi8WLyq5IxWOkCMDOA7OqAIIiiCJSzjkhERBliWJWjX2oKUpuiiakeaOxcT9gzqqfE8fPaDL/iQKgDfJmDgK40irTPqnS1BT3M6lDZHlr2FJC/lbORDXOFFjkAAAAqZUFV8Xd3NjV/T9nJJbcrQoOUKNDqgopAsA0TYTBNtB+Qi7Yyosadm/m+farCnpgrUBDCJp9NknF9X0PADHGaZoWi4VlYaZUOxHO6ruIgCQiHzIZQYzM0wQArGBZ5szKnDhJZAZA1YLsCa53izqgKazMcZrm2l9E9A7L3DLFeu+ZowqZGQOWX0SkLCklBnXODcPgnBv65TRNXei6zhrO20Z4soAlYgih0ljV4C1btOb0J1VUDY6sYiFHFFScQyUnwISk6EVKkT1a/1dBdAqYlFGxJGiJSC5HtJ1KKSFmeH4ibutoLcwwTdN2u1VVhQigb9/doa6n456ZJenxeIwTI2IcD9M0EcEwdI+Pz3/+85/NdNlsNp2j4HwICUFCcAvyI/E0TiLcOU/E0zSJAnXQ9z2iRkmI8ThtJ94PQ9etLvrlalivP376MrIow8ePn0XS5eXlhw8fYsxzTlPcb3cgejgcvvvuu/V6/be//ra+vJgO+8VisVgsnAsTJ3D05dN9FP7jjz8ej8erq6vDNCaVT1/vN1fXN29uGTSl9Pnz5875lNLPP/88jmPNKer7/uLmWkTevXmTUnKOmHka08XFxUD08vJ5OtL9Yb++WE0jL11wFIjo7s2bw/H44cMH3rA1NxURH2iK7L13BNNxTEmC75LvcXAPX+9NNned7xyxTO/evTlOcYrHkFxKibxDxGHo1quL9Xpt6V5RuKItnfLhWRa32cnQZF/YixusNmwSDar/3dhHFUBnHKayIC1a79m3LceDc7fayZ9nP2kvkwyAhiI5odM4YHu9nnjWTybcjlw+qfNBKOEIyALX0qQzZkM7SHUrGL+13nBWnSKaAA0wPuuW2fmCYhh/VnqgmLvXGTQzspU9t7FuVAV0szMly1BrXF3hRBRFRVU5txVqAwKZVSIiSmflMSEIe+EkiNh1SEQIyshKRAzNQnKzYnnAs62vLJHnlnwmrTCJgduMKFpMREbyOQsQUZVRXG5MkuENWIiQTnxGZaO0psoYPTWIkAha/L7FgMnUekZqeEolAMA13flUasoMnpjpb9ZdTGtqK/waWq23aGU5/P3X2c9PaVRPP8lBGQFDNWJQVQEtNRYlZAOgpDTTdNkwMW2+0ke5ZesPtkD2rMvWN2cPiNnFSwA25ElcD6vxIwLgrBq6lKfmQc7gL/Bbiubpt+2p+AZDOTvYZ4tfFbL2Ker717Rh6o4pZlAUMrusmq2nLs/GJDgdvxo8OpeDtPZG5ZWzR99hKY3PgUoUUFDSEpOpDNqc/1iTnovRZ6cCm32BYtHUOVbjB/FkSo2yOhc9l2UBxJxMVflRWXNz986mb11V+zPQWSV0vhPTnONIRDWxxFG9Y9mdHIUFQBAnwoSopfeVCAEhevQltmSe1Ji1K03mm6fC4qpBRQWYDxvPUGs9QmOqAYDKSSoUNRY52p/Zi5XrLlqrCGGm+zOSa9snzPdSBXCIoCVRBACQAMs0oHHVQEmiaMtPK3cmohhj3/fH46Sqfd9P0wTmcy1HIzGjzN0SuOl0W+dZQ8nFcW6km/ORvPeIlfmoqiKpMJsbkoVVVVQ093ZNthKqpCAWhfM+5GbvwqaXs9XSuG62VTShKoJTdTyNQ/AOEFgU1JJvUJX5rMW6FvU390KrolEQlNCTI/TedSUerTGy92BKvKoQha7zPlchk6XlqKr33vuOmUWicy4JMDOk0hjYoSNnIQTIm4eACILCmBTUoyJ6IlBUAWVUJMpgHaAICpS7X2fcOkwpxcgV5MZCBFq6t4RgzRYpTXG324XObTaroV8GT1sW7w7DMMQYk0vMMXlarXvEAUmPh8Pz0/ZwOPz88883V9djPIID2Otyudwf0vbl6JzvnDdTCBG87/o+DCsfOtyPIxKsNv3qsl9fLt0QwrDoh4UwPD29PL/suq67H+9jjLq6uLq6AYAQwng4/vWvf31+fkEk5zD4nogW69VyuQx99/bt28fHx6fHT9999x0i/vTzz10Ix+Pxux9/QMT4LMvV6uHh4f3d3TAsfvzx5+32+evXr3fXNyLy8eNHRBTtN5vNer0+Ho+Xm/WXL18NvG8a03b3fIydIASg1frC+TT+FmOMAoLop2najbvr6+v33701PW+/3yMe+75Po3ZdZ/Uj5MB7YmbyQaapZFHC27fvFstumo4K3PfBmiqGEIblkogMyHK1WllKGMep6k+qBSS6HPaqDNg0qiaDxXFmcDpVIlRZ2UZ6tTioS67XPHhlOBZcgpPXeay4fVNHqJ+3ni84lbn1ffmEsMnoaEeYn31mh69V9tkRULmTyCzC6vw1u7NPfmJejDhOFgaxW7BEzEZ4XktEsGgeoiJqSQ1ohb4x2AqKkFX2sqTzgohkz6lq7f6HBYdW+PRlSYM2z5TS6mZRubrx8OJ3RxGAJEoAhEQqjJCxUQjAuLc1V2IWxqZJaFXcjWmoaoU0VNGaXKSJM1dHQEQH+T8sIk9VgZM5HnJ56ImnT8HaPdYtsUnY5cVWUBRQpRmF45USmH9us6dKfCf2IjYx/bwZjZvcVKH5q79vlZ7fFGaT6IxYW1pvKb5K+fkWSqqg2WgBVZN0XF2e+XrUxiE76x8VwBuachNAqQiDZ/NvZ6Wqrk1NmdOH0Cytk6UwrX12Z/oKvZ9puq5Ijh9ppQNpsmb/p6+Wg8yr/S2vwNlP2q/w71xP6EGpYtcUtthyw5MSzDptOr0FZpsQAJByX2j7JmX6t+w0qzUhKBW3iGANtQDRmXvByLWqL0SElJOPYCYwbElLTz2+p0sBhcAAwNBszrG99CSEOr9qeKGMDy1R1RX7JpE3jE8BwFGo4xCBuSdtPrn2rtSnAhgUsSKJAyJQcebGYFC1xlhERBSqWxcRfSAAACZztM+5m43iXqOKLSVXaoTTfCckA9GfrdP6pNS09ixWlbZdM+qv6uPPe3Ta+GweP8Ymd6hduvkgY1bQY5uDXh/BtHZOyXtfslPAMpqOxyNohi+QnC2aUnIAYJ7X+lCIaA5p0w6LuqCqYIAq3mW9wXLCWaImctbngUUTo6ilzgiLMlODLOSc856c683fHCPVTCdVLj3ZEmbsJqggMD4QqoTOh+BN5iEamhuZzVYMMGZmwzjLBNxk6FkmhrkwiMi5oGoJ7t1isRSJ1kU1L4b3Dok5+b4XVVFhQIfAigKk6BwRM4vF0AWEEQFFsOsNlYut+AIRFNAhAJvlTKrEbBYRQu6BpSLGawkQQWt4NSMu170uRhQCADN774kAFYjo6voihP7x8Wm9XAF4Im9IMuxjjKQQRdx2u43jGIK7vrn8+On+eJwE0PvOdW5YJiIi70OPjjwqMY+2wkrOdf0wdKF3dPTkYX29fvfdu/fff7feXKwurneH8ePH30Xg5upmc3lhsC1D34ehH/eH29vbw27PLH0/LBaL+4enx8dHzfnW0nXdw+Pzhw+ffvzxx34xfP78uQ/d8Xj89OnT5uLi69evu8Px3/3zv1xeXiPqp8+fN5sNudD3i/1+P47jMAy73W6/U0m82+2+//77f/u3f3t4eOTvdb2++Pr1a7/s43bvvV8Pi8VyAbS4++7t7rAX8NvtzmHw5KdpouB//MOPzPzx14/b7ZaZhbjzAUkBOaW4XA2+73ZPe3IgyInlcABO8WJ9y9ADyMTcdV3fLbwPw2I1DIP1KUNEqwI0BMDKb40ZvGbXcxZHUc0LVzHvMjhnLTvMKdOKszmDwhLosxQ+1b+JziRgQYorlsKZSC7uHm0mTA1Tqg6NyrW4FSXQCIhWUtRggkBO0JSGGWbyKJX3DpEQkwlfW0ARVCQidJSVpGQeDYtvkyoCEHOapklEDJ3WYPeGYSAixFytRA4sLcqmYxxvxlMuJWRS0Beo4Ly1nxedM9cHI6JkcJHiXylIuFXrq5tr6Fsx92zjKGpFEiEION85q6BwiDloTYQigDmH1u4uqoZkBSxxnpuyZlrL8XFzKlZOoiIWODUgLyFy6gxdPZSaH49EKrVcWVPm5M2GKgD4+ZJm7wGcNgWaCAiQa+2FuU19ydfkdJHsvMvyz1RPzYOcKxl6rmq0YyJWd9uJY/7svvbBGcm2FyDi2eW5CnXW84pcZwUAhRrjAMyo3PalQMHuMNqaTylKi/84swDgRpeeNS35FrD/2UO1Ws48w5KYpoUPVSygljVg0XrLLc5d12fL0m4KYu0rdDIH1ZNQycnjw/k49b1+K1HvdT4MgOXk1SJFrc5WIgdn9t7pyjSPWb2khb4RDMOHHKqSsNantqgfwGyFVpQ4gGK1Uk1Esgvsamx9tJV7VmW9/dBMQRFz/4OClpwcW71ZoYRiUrevlhL0VUfb+rx/b81LEXnW4eplBAmAIKMOFo+vCSYLUCCiIGBBbgHPGX5EJadniDudIWUjP9f91MmISNPp6eR52z/nZ0FROT8yWDw67Z9YQgbavNox65/4ap1tHGlqAOp5YWaXuTNUt03RAKicQillTPkpuq6zPjVEdJhGQ8JWwaztC7OkatGoUnHOMYAY2GKdmyXJmNs669DeFE2umVqZgRThBKfOHtOh+753zhmeOhE5h4fDQdmQy3KOjeVUpimCEwrBeXKgHqlz3iOh84hYfZZYwiYAzm5hkV8AsNyejNSOWBEXq+Jef87MIXREJAzgnPfBIVTvGHoUwBTNqCMV4aQ15uycw+jQeimoqiKzpmSxC3XeJWYRDZ4AkNCLcmJEskA0iqJoTooTRnGaqb364EsNOjNbS0MAiFOi3IGVCmgmESgR3X8VFdxtD/TeobBzAbwuF7jnRyQfE42TIMhyNcQYHx+f+sXi5Xl3sTmCl4AeAAQ0hP7ojodx5ClOx+h9t+hXPoRuuZpSlEnJ9ZKi8/3l7e3lzbt+ebM97Lsw3NzcrEdGRyLw/Lzdbre3VxfMnMbpzZs3m9Vmu90OoUPEL18fmHl1sQGAYblwvnt6elqv1zc3N//1v/5Xe6L1ev3jzz89PDyY0/HL/VfvvXeeiA6HQ9/3y9Wqd/Trr7/++OOPiPi3v/1tu92/eXOLiC8vL9575wKRRxdCCE9PWxHZ/LIRYHW0ubi4vr29//o8xTgM4e37N3FKT4+PBj15eXvpesdJuwUBAGsEoZgO64vVcr16fH4c+nA87glws1wAwOG46/tA3nmivl90Yej7pfNd1w0mnY/H4zjGaZomTpy0GOelP2gjjwrjm0VS9Uo451RPWFl70OrBb/Etqpuv3gIbRwzm1zmwQTPUtz9v+Xw7k8zMiYruIc23VvGv+MoTdPbzlhuLVFAWqLaBqpkKWh/coUMA0QiNbNJG0FPBmVDgGLVgs3oidc5Zb07DWzPwq7o+jSgAUFIUsRwaJEuhyctYvCqgOZEmL5QVgFruk40lCCwZZKVRzEQyzEB1wFcn0TRN6K0gBzXX46I3J0vh+cbGRRMp2cNW92JdJSkmkIpYEgSXxkuVSIjIATpUTxSc85j7lgKIlmaFVHIoskzP7hIBAN8oBKilixgAiEJ16DZWYfZOnInV9k0mCFRrQYJKRKgMptUTzW7rMqJ1JXyt583Ljafq+DepvD0wgPNd6u/yys7EOifFioiooIIqMOempwo55748oCPyhmJZ8B+qrlBjbXQ2z0qMrfJUd659hPb0tqt69u1MH/mOJ8nx2JTG52OJ889f3e5c80ZDijxVs/LJbAY5+fyV1/lsztRgadnUT+2WYoxqZbIn3oKMZldWsq65b0KTVYMBgBxiIyulMFOnTEMUETA3B0WwONB8KsqtqVmrorvX+bfc8zU/reRqXSRazqhqhnid9vzbqnVJ0/0Uz1IjTk9B/erMCMSaTQ7JfJnS5GMgKYghmtVsIhsNEBQYRFiVwJpKIiECYh4BySrUoeg6ORfZFTB7CyzUqugy7RlVBpoEp+pvlgLc3s4fLG0D5hJzncEcQh6w0HhlR815nJddeBa07efkc3I5FJiUukqSkXO4vEnM7FywexlAQd04A2h3zsVYsjgMiFCwuH6MttV5JPSmzppT3DnXdd78u13XjeNoWITGZLJRIUxIDnNTOhUV4XGKfR/McS6S6pS8J5EqS7SCMdsnzmEIQUQJc4cvVfQeDbml7/sQQt8vzHhw3px5asWyiGj+S7Nkuq5zDkWchaGthjW760pZg33CAkgE5Mg5TTgsFobSYOtmiwCIpu1bKZsp94i1WKX6IPNBVp076Izj6L3vuk7IDjuWPSWxRupqBehoFYQOqVR+C4KztNeUEmHX0ontmz2Ohmx15TQ/BQAYx/j8vL25uVkvV55gvV4mct571Pj88sASh6FDXSLiOI79oTtGVoDd8bBY9ETUD8vLi+uvj78BKSuDw+V6seiX/WLJquig71ZAOvg+HsduWF5dv1mtbzAsSfbHafS++/zpw5cv96wioOv1+uPHj+/fvw/kACDG+PHjx85559x2u10ulzf9nffe+e55+3Jzc7PcrL9+fegWy77vHWDfL1T1L5/+8k//9E+T6nq9nqbp8+fPwfkYx+Vy6b3vyDnndrvdmzdvROTy8vLi4up4nO5ubsn7Dx8+IH4OfZ946rqOmQ/jBKRD3x92sFyvkoogTJw2m81qtVoul58+fRLmaZpWq9XFxYW4JCLPD4+KslgNV1dX6Gl9eRH46L2XxGZKMzNAUBbfdUQkot51zndEvikUz6YpNfH/E+ZcXqpQPL5yzgeQsIhp487YCIJGFmQ/jv1QTuOoAMAqBovV9mc2PnUmjjNLMSYGzStLohNHXp1YYZgn8n2WAkVqvHrwmVUWpnfeOr2RbvNjZvaY1DVSvhX05i/o+z7xZAD/s6rq7Bp7UjUxTdkNaoLA6h4dABToZlWtUYh55gC1M1RdEGcfWt6gStYrOGUGXh+NiEIIFhNARAsRVLGFQyDiWhCvKoyILmeImOBWi582vTXapcgiSTMUKSEqzTO38CY0Ig8y/qMH234RQJyf7kyFUDWtxrdqgQU7jCZAvIITTdX3Lbl4zme7rO4cgAJ4dIpFLbYoguZKwFrnh0WNVlUT+GDOvoYGEKpVekJYVFJOW/Wu3L/8OSvpKLNb2mzHjAKPJz3btXkBFx1CC96qc06RAbDCjc16Bjikck4g4zGBKjgsjzADRCI6W9gzaLxyML7hkmyv0XKYtVVSs31CoioiIWdosTkCqtLTrIC9adLdGmNJiwLEbdZvSblRUC2kX+OPZzOvPsKGHGdorbIvpCoF+TVr7XbqCuxR3kEu4CRU8OBxXhNraJVPSJ5qaWCmKkgZE7rg9jpEZEBHHkHYXO+AWlJEoCk/sHWdrVnMalwtYgaZQTbsQbKDHAUsLwNUFaQi+2qpO8isX9D8+cWuAAAEJbT7IoCCiopF4jKlK+Sqilp2a2kO5AhAqskhUmBq5hLwkmiBBCjM3CRYtnkpCiKeAMirgIhFi9QFN05T7UkRgqsiLJeuOhApLa5ONW8ovInQjPXZTtamLAGte1VOzctOBWZWrT710kobERGTTgrOgautUvIdS6NQ731ii3Wc03OdGCJK9exqxpayPxHJAMTsSc1FQuTHY2TmJCyKCoae6X1wMUa7oFsEVe1dlqZxYhMPANYFEBAxdI7AgWrwXqvFGBA9BgrDMCBijDGEoMrTOC4XC3M9K0ACTSIhdJISqNrEVDFGnqZkGI4xRk9uWCzG8cCijjxDUtVxHC21HUSJ0AXqKOzHSUX6fjDFvev7q+uLEMLxeHSAw7CyxQRHKSUkHFbd9vDsnKNASRM56vygiUNnqJ199l2VFsu2nb3rnHPoKMbogxNlZ7CkSp0PJsjFGJsikrqhA4XISUBJkchvX45d1x1ZwHdmrqcYhcUjke8BZEzpolseRt7t95eXl6r+GGVA570XtW7qlBhE2XsX2SOiJFFVdaCKnFQY1KGl5bBixtckVMAonKZSH1IoDgD2W+56enp8fnh4uL27VnLO9wrBLRUPU99FgIPqDvHQ967vh7AfD4f9cf/8409/oj7QgV8eHnsIq82b7taLJgB4eXnpV0siD0pwGW4urx6/fHXof3j3h0X/TrSf0nYSd5zk6enT836vDp8enlerRXDEol++3g9d//vvH7579361WfeLxX6/Xy83v/zyy+6wv7y8FlUK3eryarlc/vrbh9V6vV6vn5+fP3z5/N1334F3nx/ur29uqAt98ItpFOYQ3NfnZ57idHjuuu7D5w+C8O7du/v7+y9fvoiI7+jm+k0cp64bNotlv+gW6/5w3H79+vnd2xuUMCxuFPZdWKyGdHV18+67730XxqSHmIQ5jcf9bjvu9+kYxTGSXt1c//JP/6zUXV2sf/vtNx9gtezH5+f1EChwWAyM5L33YblYLterC7MzzTwWkWOMzCwqxtuLXDO/Olgg0iSRiUMFRkeWh8kZypC898LchWC8CEubqpQSzPoJqagqqSKhB0TnvZa2gKIafFBVs1kBQFgRZ6cVNdU+lYlpcZCZHmnJFfh3HH9V7NoHRSMzqVq4em4/Z+qyidqcAqSanTc2QkxRBUXFOTdOyTllsUmCiACi77o0RWbz15AQpJRCF+I4TTxNaVJlcCLA5DFJDF2HDhySc+A9IjGiEoGVPTlX+05aeQ+pJlUl9MUgIe9d+4y2Vlw0QIY5R0hVHRmeesGGYkgpTeM4TVNK0SBurOGdLez2ZT8MAyh51yGQMERlBEdDci40bblQFTmBiDmdIaYIyoiOmVOaQFAkIakFtxGIEyCQAKMDYVVgYJimKaVpHA+E5B1GEU8dAdp/qJAdClYFVIpqBNj6c5hpYUqR936/31tn9VmVrAn4WcgpQQN4DNkKmX11RjQAGjm1Mhs0O+gqHjk2hRRQDKaTn+QISBngNKZT1YJTrf1k5PaHzYTnFwCkWIv2oL1g/ttymubjNN+0vTUWDajeOnsTTfVq7mhXvb7X2TxbzygUzbWdf9FxERuEI/uzlnjavrBWML0Zn7Vs8bzs7Yq93oh23aTgsJ6tG5aWDS0fKYN/y8d/Eo6od6TmRlXpz2uC6AEyqIoWix9AULT9oao1chdyAgyI6hxaBXoeKuup2LozsHhl2nnaiwpIX15qmNOaERGhFFMDICmSWto85RJHgFqzal20mmJlVQVg1fPWwqdvqosnf4hNeUMOFwKigjS+ltb7rm0Di/Yu+c+5y0z9SVblT909zpE2R7JcT6WVGLQo+PqtlJ56btojDJXGTk93/ZUCwzzbYo00aTPteVRVh9SOX+dQWVm9Mj/IKdBEPX0xpib6meOeUrDk6lDVRYe1rtrN/UHtXgZKHXOfvLza3vm6EUREwRdYdKeJVTWE0PcBAPbOhRB8V1xWllmaEkskIssSMV+79x5AmKXrPIFDVOdcJh8u1QJEjjw5RVaZJkEwfd35znvf+bBY9oawTs3LVtJyUhGDecTrIjhUdajqVDVNcTksytl3JmZijH03IKKlSppKZPe1wyGgbTIVK5JiyhqHUwBywXeBVXIDJlFQ7cihywJ+iiyJt9v9NCXvOgQnEkkpMgCBQyR1YDBzSiqUNFUSrVwUGn57xs2cs35bmYpcoUC7BVJ6frnvF/T08OXq6mq9XjvF1WoFaRzHo3MhhBR8Ch10Pe72x8METy/Pf3z3L+QOi/XiebtX2R/2cpyiRS08uWFYrFarn/7lZwXugnt5eHg5Pkfmte+O07h72h3HadyPILJeXSyXy8Ph8Pnrlwz1mFISuX98ePv2LQEeXrZD1z08PLz5/n23GMDRL7e3/+Ovf1HVu7s7S1i/vLz8t3/7t+fn53/913+NMVLwL0/Pm81muVyO4+idY+aXcVwsFsvl0gBbRGQcR2FeLBbX15chhN1up4r39/fDMlzd/pGc/v777wA3iEgu3FzdXFxcdK7705/++frujffeh361We9eti8P994RrNN0eGKKy4ub5cV11/fDctUtLo5HGYLc3Nw8pbTdPt++vyOiKXEIvXMOlJpuwa49nogIqKgnoV3TkIpklJLyiiaY0CKMxQtyxl4qg61yH2dfCQCACLfen8p/2lhiy2xb33zLiOqwZ5p6jSu2Uru9USvT8TRDuL2y0rzFg3MhtqpK1QDrg1veLAOACiqpQBZa3vsxjib6uQBt2Ura86aURJNzbhh6TzlbxpVWgJl7OFfdoADknLMueHWJWtvm7E191VW10KhVeKuqNPi5UkL69Vsbx/ADLMRtWLRd17U8vB28FMuCqSnmHwRQYWFO5EC1Qr4I5GJUZs6NokXEAJTGMdansyImW8OUkkUkWo4kqrZu2lgvebQzErEtt1BhJkHJ6OCVgFoKOyOs+SeoVn9RO25mSVk6A9sXZ4PouW43k131urVU2J6rs2+/uc0AcHZgZkFeJl+/as8blsjvvEo1Pfj0IImeaD71t+361Ou/eQjxVIeuF9RHOFvzAppmozkoLVXPTKZyi5Mq1bMJwKnepk3ubGvdtiyydbS3nI5ofvz5hycJgjafkhpxCsWFJQrJtRa7pJ7kwEvpsNAuCyqwsCqb7uKCr88uUHAMs++6LuHr7c5f1BcASPGOc4H/a18tndjMZ4LMauhJH6j2TUvDAIBzI4S6FNVxYmsOxdgwtfYsADUvYM1LgRI8Qcx9PQCgyK2qrzgAAEXKoOxgc6hoCRVp1K5n1jNI9cpJz6ZR3uRrKuPWEtM4W4c8yPkJmBdNS65aPZKq2bKqFAuFeiu5tuuMjXioI9fHxCI7RUQkSQ65akqJVVomYDp3/sSRNuUEXRgymoHU2L0VViKYmLIIHuYiTkTHngGAFEpeuzjnvANDTc2eJE3AoqRjiiIypigzPSAFbwdAcjin9CIh9NQZKzYwRFbsOnC+Mx0IUfthMN2xFJPVAvEEMMueEkTOYO11/XEx15OVg6Z93wvn7aY+cwkLVXnvLR4ENGsbDpGVFRCJQDCKOAAgzykNIdimVAhOTZxScl0PQCmxeeyPxylGDiE4URF0zgk4VhRBD4glT8bMMMMNs0zUJLESVSkFy4CStizWxmUqbIqEu96Dhsenr5LG5XL47v3dchGYo3Td0TnE0HcrAIhxOwwwDKAwsdDT01Pw/cVl9+//w7+Ejh6ftsH3+x2J0PXV3WKx6heLN29vv/v++zEeFdIUd0y8Wi+G0B8OPG4P/TAsb1e//f7x908ff/7555ubm48fPy66HP+JnA5xEpFxfyTRNEXyHhxp58mHD18+P708/+u//DsHFGP8+PHTarXyPux2+z/96WK73W4Pu/14XCwWFxcXqrrf70PXbS4uVp3jmLxPj4+Pu+cXIvrpp5+mcfzbb7+TEqt0nY9xvP/tswK//e7d8Xj89S+/3t5c3l5vVFAErq5uLjdXflgQ0bCGK/Kr1Wq17HcvT4f9Fq/SsFktLy7Jr/rlbVIvOPzLv/8/3X/4XxeLvn97N44joY8swfcA5AsaUst1qjKTD7ieeanPWL15vl217Z1Dgz/HEqisvEKLm7xV3NvzXj1iZ1y3TrJlO3CmL7VCAWeB2DKo9no81YJa3tiMidXXUDxQWkdODeZK/mGDjoKIzoUygcI5JfsEJYlZSoispbixsFBEg8Aic+GBiDCqA/S+p6YvxOmrcBut45zs1NnLHqomRJVntJSY/JUwWG2SdTMwHd0gX/NigrMLLNHOypqZ2blFqbU1841sTCJlZlSwrHVVsSY9OVbDpnXMthwLxxgJPZbKVC65XGf6kharw5esVKl5JcVdiE2ycb4YgETAFP26KDAn9Ni/BKpwirrdEs18Niw/qXRxApj1cK2qLgAo+XDiwZqJ5pQKz+jyH7/aiX1T0awzBKiJ9fnjimtiyg0UssDc+RUduRMyahP/Wxc7zRc1mhxUPaP++U3S/AeUat9ywZKr/3KBpSt3pgzriYCENf++rMzfVdnzn6dwQGf3rYyg5TUm6lpyhMZDcPoUZe2M9OdGVyoMsy8c59+KxHYHNcPqS24wWVLh6gqrJDtCIiK5JJBUUDNeXJ7DCa/MN8pxTOPv7TMys2jJYE6sCmidszAfFMCqP2MNF5yvcFN5aTeEonxj6V5gfliYKSdnkZ3KmxPKcbkfQrlXHf60gqKZT1lzyCe9MEooCf2EaGAyaCNncwHslLhCTq9s3QxUAKc3nd+ePYIRErmc4ZM3/rT9VitLzlYVGi0fmxhU61PREgGo2nyzdPj6LqrWPSQ3xrOTlcWbOFWFIvvNU2I2c5bNhKpqWnhFXmfmmKRGpcz1rqUhaN4jcs5AyHMyXgIAp2CgK85l28mWx2NIkAHspmnKYX0RG1CVCX1SIfQxRlFFH5yVvmT/Fimh73rruO6996U6tu/70HWW/g4A5J1lH5VnhJQUCviSqv3/jHFJYCzCCtHmmi1OuakZEQEhM8coiKqkzhG5DB6l1pEFkSWfK0VNrCyRVcg7DB4AHAASYW5smU8HEbGIIf4xC5HzPgiIglfwgGS4YQykVu4OBGAPZ1XIAECqgkiG1lxfUiJslW/PIbh0DN2m67q+XxyPxze3dynK88Mj+IAKfb9AkMR+ikdAdj7tdp9XKzesVov1ar25jsxv3tw+P98Pgwfw6yUo9Jv1lff+6urq3ds3AWjYbMDzbvfEx3QcR3h8ebrf6pQet1/BBylQpEeH6/X6sH0GgNV6/fnhwQU/juNvf/3ruD2uLq/Q0ebqcnF19bh7ed7v3r59+/79+8evD8/Pz3/6059eXl6ur69Xq5XVWE9xWq/Xq4vNYrF4enoShLt3b798+TKE7un4ZD0g++XC6Nw5N3363blwe3t9cXG5HBZ//uv/+PDhAwV3ud7s9i8vL3S1WS8Wqy4MwffDMLh+AIBF6BaLxTQe+s4PnT8uloA+gbJQ168Xy6sE/hgB/UJVd7tdQBiGZUrJq3ZdDzmRNXjftUeYiKBw73yiT4vdW396/bywfSx6SMuBZ96S2cVJg8WZtWIzJrxytNcZtvdt+eeZPKqE197lVI7PDLD9pN5astuIAIWFRcWSBkUlCRuwSeuaIvLlAQGAkHO7CefQY0F4AweKkSdr+WnlT6pqCDk2BwZVYVS1UhcAQSLfOSKzAbS4A6oySpZBdCpMRBmwaTgIoKbR1AbZ9fE1lx4xM1tNV0opRcNNj8fjcZqmGBMAWD+HbN2pAEAIoaourVuhpQ2jpa7zIiyJAYRykYKIiHdombS5TUdOQ8ocT1jGnK7D3BT6G9s0B4Tdl5mxKOFQ5SNzvViLlZLLigpdltSvcgBabQmybl3b1pzTmaoiuiZ/H2Du7zMPkhPLbIBGiZknC+evSqnVkm4tWiolzC1xn9HxN9WX9rJyQRtmUjSnSzkJZ1EwPTG1T+9F2KKRVN2CCE8ua9QXaEgQmqNbP2/9ylX/sCnVC9Ca8+bbuNMy83aS8yOfMaA8maZSu12fenHrh66/quew4UdaokvYrJstqhb+aLNHtb6LqjPOSdUL88Jks0FELCWGxdplS+00pqqAQqCYO90wq3jfEWa4ycqUK12fsc7yUPmpqwfXFPe86U01ZEta5Rm5FijXk/Z6qWcyK6+61PZXUehnWAMqoRBLGbdpIiKfKrV1YtbWbr6fzvfNKyDFarXBpCrnWV/Pt83GXiH+UtLqS2e+TCe1Q/W5fgz1snae7TqcSa/2t5XM/s5qz6oVnB6r+TFxdla1XKt1ELy6NVCGFZ/JWy0xpvSTal0m2emee4PnAcdxNM17ivF4PNoN7UpmFgTngiW0FObSAQqIMpdPgo8xqiZEdEDZNYyQVGKKCkBFeRKR0OWaV4c+AKjqOE3cwks7ygKaCMkxs9UVqxpIPC6GLgQPJSOfiFJKRBmWx3tvbU1F2RVhWriiiggI1kAzIi4WC1WNMTq7F6lRtRL4AN7TMUVrEpi3Lxd5OMogDAqAud06Qtd3Ulp3Y+fRWVWDoDPgdmZQ9I6QiICIzPMvucbIaQY+omIZ2o5j8YF4ABA5ZodAcYllEQMShVNiJA2dQ1JDLSHFx6cXUJqm1HuDUoG3t3cIlu/UT9NxPPI0Sue8Dn696ccpDiv/9u1bVhXw11d3b98+rVar+/vnRb9cb+4IQwjhxx+/v7y6YKWjjM651WqFPQTvlYVT8o4uLi7un18O0wEI//rrX0D0l59+AID1ej0JL1er4zRF5p9+/sOvf/3b5vrqn/7Dv3abC/TucDisLzZ//OmXw+GwOx5830XhKLxZDF8fH3bHwzFO3od3796JyHa7W683fT+8vLwcDseV70Lfhb57eHr85adfut7/9//+3xf9MCwXwXXrzWa9Wm42G/0rO+cuLi5677YvTymyCAS/uLi4cYDHMa67YZomUe36YRiWq2FxXK/jOPJ0k0Bf9gfnL4bhZrG4CmF4eXnp+4X33XG3xSE4F/puKQIOXVuiU6nRex+FWyUhh1f1GzHSwvusjKqCZEPRBL4t36u2Wj8vI1qlR1OZVBQwS5aoHuKZZ/7DV8swAcAeQeXEF6IKNRuiahr5h4V/qua0Dbsglpd9FUvxve/6quSoKJWCThFIKAAQqKgcgqDUOjVaZWCxWIgkwzp3Dq3NH3OE4IuEjba2WWEVhYwE53LqK5gyf6651cecnSmmGbA1prCoQvZJx8jTNI3jaE/HpSly3TtHZB6WEAKW4EmplzjZXyh6pvkKFYRAFXIjqhQjc0TSrvPZ24WsAoapYVk3rzUBfPUSmXHeyeUokAJXFVdKEnL1uEPZdWqdhZXCinmq7drBK5lXSUdzsk0hpjkpVqGCYwOYi7U9RWYI0yk9V+WmzO3c3i2pBSdb+/oY1LuIqYKgCoo5XRmhJBC7uZy0nMcmFeRMsdD5Ne9EEobTo/56Mq83shLKPGLzviWjQkNtLtqpspJv6kzHPlNQbDqVKbzWQc92s865skJqkpix8UXVOZe5aNl/bAafx8vXS1WMsuu3DF5s1pzdnhP0RSQJS+mBlse3wjsU0BmnCcDEtGD2zDWMXmd61pbZNdsKpRFLuxHM3CYgtcQAub7yLA9EDMsq74K16wJARC7L0npWEJG04ukZcRZvtK1CWdiy6ZYQpUXYVPp8pSXPS0811oE5hoaIlgtUpqk1bFSPP7TqOxaQrbJ3gqVN1fl9/+GbupItRUExgCurOiHvE1dCpgkzqM7GzO8FERzhjEIDCiLq/UmZx7deJ6zAVGSrmsAmP40IEMk5h961Bq05YFTReW8dBDP9ECUVEWt2XdqSEzpC5zqw4m8xdVadwymqA3TOAal5gpzVybEOQ3aS9UPIbnICopwT6UOYOFGBQwHMwQHTbS1GbNqG/baurYjlsVjPlAAAnCIAEKFDqicXQBABUU3r8V1XFsQ0HiVCE4rMVVyBBycAXdfJcbSfEwF5h+AsE85i9MyjZf6DI0KiQOgo14IjOrRrWJOSOGTIAIsiJmMkiXMEBECYk5+IKFvvuWZDRDnlWWkpBxTJVh5AhnMNFIjzeWRmQOyMOaQ0Ho+7wzFGvr2++m///S/B0f5Pv2ji1Wp5c3uxWm0IVXjc78bt864POCWJ8XB5fRn61bSLomExXAAOfX8L6i4ubvpu6PvFYr0QQGHgmHbPu6Fb/fjD94tu8fSwl5Ru7m6jyv32uV8MYQmfP+wcgfcehuA79/D1OXSeUwqLxWZ98Q705u13w2YDRLuX7Xg4/vGXPwBLCN0wDPf397vd7rvvvjPH5O3trbXOiTF2fS/jCIjXNzei2g/Dp/uvVri8H48P2+efL3/89//LfzgejyGEw27vkA7HnUHKOOeG0APGt+/fvTw9//Uvv/340/ebi8unh8dhtUxTBNHjOL48TVebzc312806Hg+7+y9fl4vBLeIU8Xjgp4cnuNKh6z8/7UQp+EUIvTXFCr5fLBbkg2pu59cIaAYQLM6FyiIKGwFEQJj5bSvQv3H+TxXiynba62f5m/GLzxV3qz7TJte01QtbznbGHrMQLZfRqyaP+bQ2ggyKSwKLe6zcuhbqQIoSJ57GxMxcMjFEVKYp+57RG8fIccLqHXcut+5gJiIppY/2InIKEYmYmQidp2maULAPYRg6ALHya50BOtE2TmYtqLqRsqOTXpVLQYPAVhehvmKMKdV8koyYbtfb42iGVSAisgIk25eS/qcikhBVNWX8oswbvfe5vTOIKEtiK0h1zqHlyTA7B4jABmKGEiduYwvVxwqSgZcNjc0hgYKyCChKFknzA6KYO6a6iW1rUkr+lIiz7BcRBVLk3BM023bWDH2u8MXiozNyUUO+Ll+pqgoq4Stt254HACw7E8sBs3N1LoD1VM1tn6GeqHb/yjafW+Rnr0o6dQR7Q0V3z181xbvtb89UjX98CwCqtYBn15zNsOoi2BgGr69svyqnIDe7bGaYlbP2yjpOO+xJMOH/Dyuofep6ul49yDyTJjphn5RyRq2pMmbs5VTydkBVbQCCZtvS+k+piqporpq3GH20kFyjdLmTGRZSheJWryyyvMk8rob720cmPHHewCnDxTYihCdBibJwuTMXlfyHdn2wGK5oKntzC23015b2COfjUAnj/KbNV69PYm1h/a19nsfBbBhQOwfjZdrkkmLzw3acKtLqv6ZwK5+4w+czcloZ0h7S9vHreSH4nxzDluBfb2v9tnJzIjJmmLEOsUNzDJ/7SxSyM95V97ZqxlusqGFaPEMTJ29LnTXp7MVXhtbHr5zMAwRomJVMwTszZkA7Ii/ZNiAiH8jqU0W8AJmHr/PkDGXVuzgxOiKikvfiDNIRACifGrbEG3KgLKqKRK7zIKddIVWdQ8v2sUUjROtVZuTqvXPU14d1zngfaTZBQZVJ0Tu9ulxlwGUgRFJFEeEEzlFS8Z68d6rqMwg0AYgr0oYIAzl1FBEYELggrCXbR3LBlcWx9AnrZG47XvcIS4GNigiSGLwQQG4TU/Cg1TnXe+ecm2JUANeFzpFy7IbAUcY4bfe73fbZI/iebjY3fd8honNILgB4VccJQXTo3ctxzxwdhcP+8PQwBn9hOSeR5eLiwrTew+Gw3e4vr24AqMfFsOiXYbl73HoXrq7XYxr90DPpw8ND5BSG8C9//ON6sfz45fjl/p5Zdi/bzebi6ubm/v7+8t3b9fXV8343DMPN9bUj6silpC8vL/f394+Pj0T0t7/9TVXfvn2bUgohDMOgAER0eXlJRB8/f9rv93/8pz/99c9/ebi//+mXn5eb9WH3klBTSsN6BYm9958/fpiOx+Vy+dNPP22322maHp6/OMQuDORpjHxz+4aIYmI/TpvNBSJ9eto9wX6xWHfe9cPm4pqmlN7fvE0QHu6fAYjjFJyqBBW3WS0Ne+RwOIRNLyIhwy+CtTRQ1VwCRLOX4YwDlD/Ml3uCDWBcpHIvLXrkGTtt5eMZ16KmBKiydDOT7XPDpWkzs5t7nTjOqjiuN6WCtoanWoFqdozaGOUCk5Yn3eKYlSWJ5ASSaZqmaYrCze00MVvJKCIK5IbBJGRlpiIikESC4d6iR87O6bNVEkQXQscckySXkjmqSyqMiDhzZIhhrWY3OxKZzlOEhZ6JnvyvZSxjUYVrqD/GsbIdEeGkVXbYwopII0JnU4pKcWq90lT26tGX3NpNy/xFOIkkIhIHIagqVr3FUmUAsNSk1gbbOSBTYUOqUDAOo5iD1jbXPDF/EsGuD8vMGTD4NYECIIIDbOA0ARCJObYCr77X0qNwXiwlLrWpzcXfiEDVRUTM0HHtV+22ta+zy9p5AgDl0PC5QtkK7FYnOHF81qRMgNoLMDP7hhQafaIJwThnXuTTW1B7IP/BqxJrtbrmI9oc17M1bGelqmAF8q8UnXa56r+tIXQ2bPtndRic0sN807NHq7yvnYbqrLXbKUXEVh0vfQKkGT/froyeo9iePCgiMqIHEOB8ncX9q8wuajRiAStF/AaXrEcUwHQVtpNc0XnrWlHJlcfclN6WF0kdKXjMAONQerFLafLS7PFJ1VHdu0wpcr5Zf4fkvu0tPjNrX1+QG/rivDWmoDg3x0DMwmrJvt7d1PSTCaOrB03/fgpZe9ZOnqV5onbmaDggucQ5u0UBtN6u8t983yYRsL3XWe5pPeztHM4W005xEQyV/IL9Tzu+KZSm5SN9w5PHzJGTVUrZ9cRTTsTkzE8yqownADAt2XtidhwTEa0vVtvt1gg7iBbvi3jsUppyBoumrvOGPmlF2DFG5wKrMHPfLVJINckHIHsoLfUFyLuS7z4sOu/94XBAROfIOYp2FrxlVCbr2aRFXlI+ZZ6IJErXBeccc0KgIcNsS66VJ2SOlZZC59VRAbJABQJAVee9IjiyIjbvYozO5eIBUgc+AGQ4MrNAvHPs0ALiqOB7b15YcmSJuUQEpUOwIoJU6TYTg30SvDej1MqGkYrEVUFES23ynUvJu2mKMbIokXt5fPF92B93iOqHLsZxOnBcWxtdYVYVuFxfb/7Y/bc//6eXp22/WK026+ft9nhMV1d3T49frq7fff36lRxcX18fDgdW8aFHOorI4TBeX96sh8X0ctw+v1ze3n35+uXhsF9sLr7cf94ejt3QA+hi0Q+LbozT27dvLy+v7z9/GVYrQKI+TCBu6C6Ww2a1FpGL9ebDh48ist/vd/t9Pwx3d3fb7fZwOAAiizw9P8cY37x5g4j7/V5ADUzm8/3XX/74hx9++GF/2C1Wy/V6KQD3T48iMqC7vrwSke++++7p6fHDh9+ZZbVaXV5e7vfHy8tL59w0pfV62Q/L/fHQrYbpOEqSrhuGYSkMk+pysbi4cILaLZe7fbq+vk5T3D49XF4u3r//7hNDhwggb+7eKULoOwvLnJ10zSmptXPFLDRU1ddeP/Zf0UsyPeT/MlWoqjaw0SesBk4+rEzDVFtscgWL+MjizDVA7zVe19Jh+/omb29fdW6Nx/rsghk+LquenJjZIioppYlT7T3knPM0MHOO0iNq7nFBkERVu94DAAMgorEgkWjDYsmOg9IrJaWEZBl3zqHVrklK0YAgjZPXwjznOyjbQUSNrDhff2PaXNCH6yJoE82wmaeULJhW/eUpWWFovrWqEvq+77uua2FbvPeW/W+mhd3XSpWCq0JKNFfW2UxYhMmhFe6LSIajZLXi1ILElXGlZ7/eKbK2IpDWoDAAQAjB+wxI2hJMnio0OhmAuRkAAA3B2pRAKFYVAJgOKiI1Ab8dgdDn6L6qghKRlKi9qqqcE2RbaunA9IITZxihggKzkAv5Q9tHykvomjzg9k17fto9doDZqdIcvFnMoxk+jXLZxGUow3XbArWuesOQVAAgtPWHqkKAqmpC8jDn/dvglntdp5YVozMdQk9PJua+bradwfsZOKXVG1gTIpJHYdF6MhA1V1MqS0ZUVTDU20wQrhgq8irTa16E+RGwAiedcVJRtaITALLGRwBkanl5NlKLTWdE9hLzURRABbC8vJK8RACQ2xMAEaGiorN+0oiggs7U8z70IqKCROTIgTpAcA6lAKRknUOzx5dLIn4NJhI5IkemOaoCgCNyFAp15ZobExMuJ+fmLYgxui4AACsCOlUVtJIXBSVDPsm1JqB0HuRVB6XgDjOwOQBYzlEBU1ctPeTztyCqiuC0iaVi46vIrC2LsRrSomxmCyA4RBApsJ5kn2NRd85LOxBVJJF3tnMAuS8yICARlGZqcBrJAVUkrLDEWddn6xNky56zofJx1BxMEEvtNoh7UcGZzDJxWr+I5nmJyFRis/vqxe1BrrUx9Yf17FBT4YNYHqeJ4FVBgojW0PQ1M7Gi24Tq0AlCwOLCoWC37nxV9BlVgu9FcgGZU+cItHOIOCkvFgvzgitqICc+2Hp2YYGo3jsXgt1/GHpm9j5wcETEiswcghfx1sdarMKMMAQvIojAHCkEJOQk0/GIQ1gMgZkJvYp6cq63NCRxzpGCAhMAzWZARshxTpVZlJ0nAnEuWTw9FwuhIjkT8QyKmAgJnBJ5BA9ALCCiaPA1QEbMfdcZQxaRNBdD143QrnPoKKAyZ47NzM4TImiKznnn1GVHFhMgehSm7AbThASOCEWEdOi9SArOY0X6LhpJrSoDACHfoUsuHLGLMW6uNqoC7BEkhACdp2U88v7DZ769ve37cPf2TUzHlxcXll3YbySteezDxl3dXrxs929+/NFh9/D0+MMPPyOFbuFeXl52u10SRXTK8Pz4oht4enlS1OP9p8enxzc//LAdjzwe/8//8f8A5NM0/ef//F9CcNe3d6FbJJaru7dfv359+/b9en3R9/3hsL+9vR1Ct9/veYp31zfMfLFa0zuP3qLislwsUpT9cUwJPIWH+/uH+/vLy0tEBOcvr66e7h9C8D4guByXeHp4XC7Wu/3L7e0tIg7LhRACOZEkqL9++O3t7c31xeWHDx9++eWXrve+C5NyVIhJFenl5XHoFr/8+NN+e5im6XiYFn2Pisjd4PB5/wmVyQkiUu+XmyVFIaKUZLFZhdARYEk/YwDfsCYiJUfG51OFAlNVKXhQxbMu5bB7yKmGWc1BQkdOJTcwKfytSt7cN4MIT0B+Uaz+MoRM8DldXLSKbFU1uNXj8dhGIKvr16wOX+S7997ZYwIBJgBIzKpIRIpg3SqIrJMaFO6XfWDWzdoQk0ZzeyuOkSflSdIxTeM0MrNl5YmIBQAtdCkIMTIRHaejwbBqpMTRk1NJABgjoydmS8JRAGRQCn6KoyfX993xeECQvg/KYvlUiSciEEFBUTXIGkJEBW8N11JiALYwYEoJ1J/VyAGAaPKllHOaJrKqIQBlNq+5wbYgovPWUko6TwrUa+ccpcQpCSI67/sheE+mPgGAKobQT1NMwiAwjtF7MgsHESWlpJW9q4IC5oA8ICK6w/EowIjgnHcUREk1AoCZSQbCM46jSSsjhtLXz1nDMnAaYwXykhCCI0oTk5dqRUDJFMLcrql51TXiBkkNTtD6rJTDWlNC7lOJpGAZUe06Z8U3U3apRpWCIVCFXP6B2kFqfg+gQFBwdk53MXtAtfFQYmPFngnj9oJ2/HbYPHjjkUXEc721OqpfeddcbnhZpf4cKMBS5V3nn9WpxlVZFYVmqU9noopkoC81caKxwLyvuX2QnZTZudgMfm7eYAlO1XmePWyd7eu1PdN42ufCkuFuLrdi4KFqxtZVVVASUBEoMI9YSZPFzHELh2E1+PKaKll41GpYbElDQbL3vnU/mHe5aqHzzCtVSwN29M3Hb1cAi95Qtepmp74xwrxEp8Bk5cOTMI59gmWgeVPynp7n4p8N9c2naI9wO6WzD9sHUdVT9JvzYfOILFA8WjOgzD/0IbUk1DyFngz7rfN78kaLHTDPHBVM7vxP3FTtBL4ZGTid2MlXXNwW9TKjz+am52UnVGDLRYRTKVADkbnwcWZrREAl8enENs6nZl4cbCqI7GA556pPQHKrDoeIXjEW2BmtKVVKAFC7iHtyhsRhSDiWFuSQRI0+CQBIBdEhKSqIzE3o5jkgkcuGOwEi5jivE1JAIKDsMFIiCACalR4CwysDdYREzqoFapBagS3DHQBIEjXeFiNBVUXyrjhTRSRyopRERJ3zRM6Rdy5jwGcKVUdIztnCZ8QMZQBppHi2SG3pMup88VxmGB+IWYiKqAhwsu6zy+WyUho58q5LPCLiYlg5Nxo4pm1D13XDcnHYTb/88stisTgcduYLjzFeX1+Ph3Gz2YjI/f196EKa4jRNP/zww/L6err/ulqtvnz5cvf2/cPDQ78YCNRUhN1u1/eLH374IYT++fk5xnh3d9f3fc33XSyWAPDp06f1uksq//v//p8Rdblc3t6+OR6Pg4bHh4fVarXZbC4uLgxN7+vXL87Rw8PDcjWMh+NqtbLw+svLy93dXfCBAFV1tVpdbi4+fPz96enJHv/Tp0/OuRgjkqaU3rx5s91un5+fF4vF3d3dbnt4fHxcr1YAsN1uHWK/WDw/P63X65ubm8f7LyIyTdM0Ru+CxEkVuqG3JbrcXBiCO9GcQ3wWRjPmj6cSvz3d7Rkvn4CWMtZWDSBARq0llQ3f4Ao6p5AbIFXFwFz7VHJVoTjzHJG1djpnhgAI4AgQBCD7S+w/UDY5XgCmilLxKiyPRQWzjtFWBw9WY5qS1Wtanoyxo3ooMKUafI4pWbI4AIh5HCytxXkxBDDvUZ2oIagowNx1NYQMHauSENUc1TFNBMqcywyseJSIQuiZBSBSwW5iZkcBc6+zeanzFmMuFoITnGIMISTJ+OjeU07sMR8ZC4MBYCgilTbNFEKo/Z4LnFeOjVirH2YUkYuLtXPuuN9XVm8AwSKSEcERQvBd1y2XfXbJiVNNXdeJCGKGzqz8BCGYuu9dsLod64AETU18VVGIiJMSAmEuxVQ17ul867p/rZm1xN3SmT1nq3aAOoOfNkJRVQDSqojM5W7529mjWF72QwIrHmpBUbJHrT2cWs6n6OxZ11f65dlxfa0WFKnZlgPCP3jVpZBTROdmGbGue1VG67hnukU9vc2bE3upzDX3AFJRiyYRoea0MTNgoBRHIgAgzfYDnd6xzkdqWSo4QK6LUxnZ2VTbx3/9rcirYEp92Kxk1VCjWKoAKCgCIqEDa6Vh1MJw8uwChiEAGVgGM0pUWfsZbM7l7EYrV/J1VTNtNPlLNRqj2YddA23zthTOeR5hKG9LERIgZtBGfL0sqoqEoJl7n44AZwtep4TllLb31YKsjo2mrqo167rFYmyJ6vVxqJ/XU3NGhADnT9HO3C47i2jhqSFXb6rfmlV79Kp/4Ox5T5795NjaxW3GfInVnPx8Fp/tOHXkOs925npaQtPcAolPajbmvaZ5nFao1/WBHBkv6gXk1VNVKkXtROb4IJ1xt/KYHc558wBA2qywoaYSQQ0LgAAEIkos2Xsn2XJQzOEmyZEWIoe+KtSqrmTMExEF4imHgxEA0fuaI1RC/+26ZW0bqXpunEdPDghYzQIHIAB01sZYM2QcsDJSyCFMq7DC3GlS1cIzuQ54wE5VawNjRATwABBT8o4y03DOOxTvRGRK0SwQzJHNooTRTKUu0z+rtvJFmGd8QCk1TtK8mNmBV1VUQAIUBVHn0Xsfp6nv+8ViwcxRuB9CaXW12KyvEy6GYQjOKziW4+P9EdFdXV1YvKvz4eLi4unp6enp6XiYbm5upmn68ccfiWi73X7+/Pllt308HNaXl3/605/+/Otv4zhe3dw8PXxVFsuP32w2zDqO48vLbhgGADA35DSm1WolIsdj1u/HcaTgVfWnn36c4vH55V5ELi4vV9NqsVhcXV0tl0tmdo72+/1qtdod9iA6DMPL0/PxeHz35s10PE6Ho+q42Wx++OGHh4eHN7d3hiy5XiwBJKV0eXnZ973z+PXr1/1+v9lsuq6bpslyGHa7ne2KD8Qcp8kBQIwjEHpPhwMvFn1HF3/+7ZNM6ebqitB1XQ8A43Gi8I2YeZs7gA3OY8t/2gNO2YQ+OXQAaiCGhFhdGE5BsqjFE5wDEMhOsnPb4OxNpShENNuv9dA1V2apVKfZJP8Y2gpURHZVLdgvczInlLYSIlKVMWZOSZLk7O2aC06QF41ltGSPDIMLqKrOuWQgJkRd14GUBhpqqQLZ4gUAEEEC57yqxBi994ROJFk/UUB1SERC5FTQsHa975wTwpy74r1XwcQiFF1pjtGKp7qhXEASpZSQOudCAEtwNdKyFg0AACyOw+SSc660USOtlUtk8cIwQy5CbTiozLzfH4mgDyFGWx8i8sAKAMpz1pOoclIskXDLlwadIAMHU4wR0eVnTElErDo2U5dzU0pIpKUEwuCuqWTIcNPm0pbi3OPe0nRlzdIU8J3pBHiqYbDhxYE542y5HSLWzLCyAT57i+HES4eIyYLFYLHx3NGjleRnAjiv8WtnMIo2GkBBY0SD6TnTDM5GawdszrMJy5MLqhS3PeDT9nu2WuUAWzCO27sg5gSbOmZV3M/uW1ZeC94wmnQzuCVVKOqjIp4wi7Pbnf2bPwdXJ6anxg+eKmTQMCAoMb6aZNISlqVzWdl1uXK2rLLyUpRmLZGKpPkwlDWkGUZTEUvqAgAgBYIcRkfMRKKqmhs1Vy5Z0PfxG/suJTOspaj64elanRuEeXg4r5aGU+2wplTVHSlawgwaajvbbhnO1u95J6KzaeQDoiefWzii+KXPTsq3M6DmTT9t8lopvlByLX46WaLmJWX+2s7dXFknBFCooLUBvnkY20nWp0B0LY86e5B5C741jvEH+7o8og2iDv03T43VSmrTtSCTcPbMYT3yVSSXcQoLcgAIZAtIVPqkFcB9zQUV8wzt1nME74RQFcGydEp0NQmaSpFD7pYzySpEGYhNhdjltC1wgE2rKVV14OsukIPgzUvkAMxDkBk7OV/nVmdlB6HsnpZ/ba+FXGW/ZmcqQFaXCYCQlYKKAnCtBiGyjt2uPmCgE9Cehk6yFsXMigDOqZKIWBMrM21crktB0qwQOcAmKXEuE7c/52LcJh0ZGyghZu5RoOQuUxb5gKjoO1Xd7ffB+9XQ9xC6ro8xdmHVD+ih9z6klI7TiAjk4P2777que3p6stYBnQ+Xl5fTNC0WjKSLZf/wdD9NEyJeXKwBwPXL/eHIiAS46MPDw8M4jj9+/8Nqtdlud0PfL5cLMzYWi4X5pwEgRbm4uCCi43EMIdzd3R32cT8eN5uLEPqU0n7/0HXdhw8f3t59b9x7HEciXC6XRDRN08V64xw+Pj56otViMU3T9eXV/f2X/fMLM//ww3eo8F/+y3+5vbvpfQCA7XaLiF3XHQ6HKR5vb2/HcdztdohoPdvjxNM07bbbYRj6vicPgRRYmPlwOMQY15slEVE3KDrncFiuh2EJwRFRIGeATEZj3wpczxz4TH6dstmW22hbgOcsTmtFocaxrVwSoOBMQI2E1WG/xbukQl6pKmT0RpNZUEF7VU18n+BoAQiWDj4zOwJgjll2lhPR6gnmu83OY04AEFM6Ho8187tlvJgzOUWLhWChDO+7GGPimEo7Z2VhyInNUdgzIoKKpRIoohIYQzZbgsghlBLP0PmcVqnEwimJKiI4NWj4PKGccFqeCLGAvtclEtGqu8OJOFDvqevmtGEuIJUoSJyci865aYo2N1Htus7q8ivfTikxiw89QoppJKJhGBBxHA/r5TKlqXJ+54k5KjuT40QE6lURgCoeJSiVWJCVpXrn2Htv4tUycCr7TSl5X4uC0PtgoVrvQ82q0NMiSV+3fKYMG66R7t8kejh1PklTTABAAJqzgMv8NKcX2+6eDqXViYjWPMg20VLAXxnEJs+w7vHr15nwb/9qlYPmhHzzyOXr/84SYTsUzkrJrLWX3yL8HQUCWsmXp5S/cbUnFggAKWSc7famAAAilrAPpXAur6f9q1BDfmcP2K6n8bqSHXeuGv6DZcFGCYPTtHgpKEsIUOzFNrZjEzTlstx/3iACgJw9Dia5y11KWQCAACEUpD/MwDKI1DXjYN0+K1Z+zbWpxNnrmnyTEupznXpk5Rz/sbmy3aZ6XzNoRQTEkgrq51bt921ol3/80nkR847Uc/EPtvL8YbHk85QWp6+fqDioqphpj3wd8NzLfnb6zmZ+dqy+SaXtqznyGb/yNZv6x6/2uc6+wiwsz2Zuu5nzKFprARGtaMDYlzTJ0E0H4lnNRUQQtZ5WhuOGJspBkaSQul0MkIltVtxttTQrlJm8iVABnMs1GMyMCEoud6bmzKuOltwJ4ByqEBiPRURRb4ndiK2QCF22Isg0cmtVJIJojU2pGAzFAe+rgZrZI6AgglMgJEDI+SdcGQUaLKmqorI1pFRUT8ZCpeWxqgrKhGDaQKFPUVVPJWnHEzduyN6FrNVIZvKUDQ8ok3SISCXVwVyDjQOiNpeZHRn21POZlSQFfaii0wpPRsWLxaJf9CmKpdReXNwdjvcM/Wq12o+a9uNquVlfbOIYd9tjjJGITHff7/eILvSemY/HY9/36/V6t9spy/Pz82pNlxebv334MB4Onz58fPv27Z/+8EdP9LI79H3vnEtTTMLr9YUWfUtVHZEwpxgdknNuG1922+nD589ILAyhoy4s727vDuPxy5cvi8UipbRcLpfLRQiBmS2BZ7NaOMR+uVSWp6cnVb1Yr0k0xvj8/NyFcHFxsXt+2SNeXV2pakrpw4cP//zP/5x4Oh6PZg4R+hRlHGPX+67rjvvDOB5UuVutU5pC54kQkyLCdvv88vT443d3zgVC9t6j87k2sVhxRFCbcWLxZJ9xXdssKjHJyiPOeQ1APvtaIFwUENBSxpDOw3qaffMKBSD1hC3MAr1RqcufRAQsCkBVfOQQak7+ceRMjbXaaECoDj9poJBFJMaTPjYiAq3LVbFm89sntTj13NoBze1FmQEg8jSOIzMrYnDe1R5M6BCtzULK5bYMgOo9AUCKrJyYNaWJHXSdd74bx0OckkNvQJPMCkCOzPcBnMzpVqWwFf5hZjUnqpFqqcGr7NSVTkaAaPUDzCwyN61LY/KmoFtvUKvqVHSUWy9ZQaOxXOecPXWOqjnqOm93XK/XBnehIA7Ie8p1RxCJ0GHvHIXQq6oltzAIZEQhACUk8EQ+9Cmlbui95Ow78jluUP2/WBqDFCI6RzQxnn8CB9nKUT6N49RjgE0jscrFEHPvR8xen4omfjby7FDRRmm2Q2LXEPncvJMUtW4btj7IdlRqdKb29c0UIEQkZ1w7L6m5qAG0BE6zSYB/Z9h5HQgMWCrPBhQQyFkq/8m5zUdITvQSnbWrE+Wj3kJl1qTr4wCKao7NQWY9lY6h3rAK/pbEXz8HlDCIVldr9UT+/Qdvp1TlXJXiOZHX0rNKrlu5Jpe/AGSpiYQAZp5BarqIqYoiElRAQDBRa1kxNmmXSVfAVX0D61PZ81mrIiwpEEXen8MonT0gFSSvUxJ9rdNXSJnTMMWZRxwBSksuRVJkBRVQEGnKIVQti5FOVrgQfSGJV9Y1QIFnFWm696pqdga93sQ5Qz8TRx0cW6sBEY2xu5KnBQAV8YYQa9LC35OUZ58UZ1K1naR+mMcsB3ZmKc1kXg9ou29d4V7f+pvPjqdH+/XW24K285mHxbYWvzRSyP5j0EL8deQcU6bqBJKcqFKKdzMXhby/3pQKzXzZtqggFIECcC6es/+0HPiGQNG03xLzVXtYMKgAyieouP0QnBm9zkwRdadcC5s+Gw5twkiglq+J2c9iaMQIAB5z8E01p6NYzTCAs+WxNVTJ/f6ySSTKGokMTMY7whAsCImVDPJ+iW1u2Y18rnMRXi4frJmZ3kVhQlIEcDOok6r6HEnIZjMiECGRt5tW4lFVs4VYU/2tqgIKWRxfUNXZc4mI5sYMeGS+uboMwQmz1YOuVhsE14W1oz0LGqg2cELSaTwcD2xKrShO02StWHe73Xb/4px7//59cP7l5cUhffz62Tl3c3nx8Pj84dfflpuLw24Xx3G/3RJgjLxarUPfHw/TdBxxg8y8WCz24y7GuFyuAcAAH2OMnz59Ul2EEHzou64DFOcwxhR89+N33w/DcDgcSHUInaoCSyBHHqZpWi2WRBTT+N3bdx8/fiSiy8vL+/v75bBIKf3yyy8PX7/sdrvn5+e3b+8eHh5MCmw2G1U1/GkENdQOAIg5mZinaZJlOh556VfTNPV9N3Qu8XFzvWTmKcXpZT90fb/qh9WSCBTVUe0NV32CJ73Jz5Rsq/5vSMguaIVjSXwlO2MZYsPyrctl6nJcV7CIG2NiXJJ/i3MJoGSHwqugNFljs0LGALmUBRphCjjb/kQkeT5lzGwqprNUQyy9OUzicO7dk8Y4ZZU9ji2bAs3YJkg0jmOqBuTEABCcS8zoq9efrB+cqopQ47gTEQLQGCPIaD2hhZMqIhGiS4nJK+ZsPUBwznkDga37UayCvJVWB1xzPfK2NuEIWzcz2xAxNk1GEaV4CRFFQSjvIwCzIKJYeMwROWcBSSKCJD4EhZji6L3vuiCSAGW1XgxDp7llB5aOVyjALDH4UgDDVfcT5xyC8z4CgAoaTAuRtwZPVvhhPbBMRzK7nQpcLxT/FDMroSHG4lzSgOTIt160SuUtxb/W+bB5tZeZvmAsvcrIXBuhOZRo1QFsQdB2ZCyx62ZkRXBNdeipbG4dWt8U0ufPlc8MZCcZzD6t/HU78vzgZxpDI07sstYFayR2tpLYqM5nX1X52ixDHkdlTsvJxxtrObwtcE7RLHDzipgrgFXnrOs6gddbqaf5Fe0Dfms9z3XKyivhFYZPvb6ylHYOxkZVSSUZN1RVclCC7NZ9Nvu36kEVETzJbJ6jGSoMAoBCRKnggme2q9mLXTUAKXBX5i0TPQm6tey1feRX6mDJ8Gm8pPXKMjfQxpyC3PloHvC0LvbU/dzqnTPJnOdrmlYnIqDm1JyZuMLZhE9UXmzow2Z7jh9qCN0I0hiWZ6PVtap0Xt/Xa86YCbx6kZtZd74ejd0DmBqLmZ7t5zQ7SOxJM0Tu2eCvyfVMvMHpSr7+7RmLq+hYr19Vdp0MaCsmKWvSVsLYHP/qm8f88ABNE+xqxtTpWSH2fEcwmkdz3OUJa7UR1ZzFqgqqCOAJykHRQrdKqB4JIAfrzMlDBEROkll+4oqNRKCClqF3wk8K5RgUC0tueaQmN+uCICIKSZlV2REAJc1N01kVlQVz+hBmoQHmFMkuTy3OBcx4lAQGycYyQxIhoighArVn2XQmw2HSxpVFpeNV5r4NSZBrECTzrrHFRowOfUV6sAjF7WrVdX467J8e71V10fVEJM6j+L5f8MSHw2G7n0STczhN03K5IgIReH5+NrARk+sg2vVhOo5fnj+P45imeHdzezwe988vjw8Pq3447g++67fPL5ebi867KfLT01PYh/XF1fX1NRFtt1tmHroeACzfHRGdd/Y5YLx7c6MaAYVZF4shxunp+eWXH35cLpd93xHRer02r7+qdiE4hyGEzvnd88t2u1WW4/5gevk0TY+Pj5vV6u3bt3/5y1/st58/f769vf369Wviab1ev7y87Pf74Pubm5uu61ji8/OzQ+r7AKAfP37cXF4ep3G1Wi4X/e7lJQQnkoTc1dXV/fH48PR4cXNBvUPEzWpFeaez/K0aDxa9pxW1qqowq5lnDKGIKoaT/qmVM5xwuYbHaoss1whrbGRfhRiWKnfyZa/YCDav8pEqSPbNsRJiVK6+dk6JU2KGqv9Bo7iTz02aVTUJm6aYUhIGBAcqVkFi6e6ISCDCLMxGfspqSdgW3+bciDCrpAigysxc2kuBOlUFq3ZFdMZ1pikxKDkXgtfssEBh8N72CKo31uIEZzAys0OuuN4KtNqJLMsJbGSLrB7ndnKI6JEwRRFD1dKUGBFZhbAryNFORAhdUlbVvg/7nYpwCAM51/eh6zpymiIThQwDoCqSCBXZAwkAEDpVJe/NbSmloRuhB2f5QsZaySyNmpuQC3jq8SxlslBsEs6RBqn5mfZ0c5VuZlS14LIRLe2rzUeFRtE5SbQ49ZCVtXbGlWzGrUe8vbU2Oq7Zz/Uup8eypN2fag91TD0FcZ8J4ls42VDg/dqfaKOB4ekTQSONquZaFIvqYPvWXV7Nqkj5cnU5s0TUpGVn5RcATGCUv2YGkWmd5iz6QtzavlruVu53skTfVPjOTouWeEv9tg6LxeptLKLqBcnHr5mLqQoOMee6WVieHNUda+tUwP7PSJm1iUioBcQVUBEyvjSAYvHCI7RTpaazDzQei/bfWa8qbF1PbP25uUNLJ2cvVcXZ76KV8hsyrp9AOwFs1UTzsDZcrA6uqtbLcxYytXDwFK0Fi6cH/o5LG5vBEVzNsFKdgYmwBf0spm9LSaQgTUTubCnq64S0TlcMi9tsXgq7W/nT/DwIoAoZgJWAiBjn59Ji0bUjnO/NK6OikRb2k2pzKQA4n7thY3H/zFkxZXHqhxWvFwAUWGU+HebBVWAFrsDRRgVVJFvdVdmjwt8K3JaACoivWWpoGrwlXJII1wwimVOJysYReCWh+altnag8lKWeA0AIQZRFzDKw31IpKTmB0zGlwQEqKSI6QHJodyRQ1nyus2NGzelAIlKXBYrwBpCJRyKq/VAU2M6vCgIKkTHMmTyk+OcLJmVly1z2MQfQ7CWJJRcKW8I65rhugzRQ8+ZV0ToXQkmRqhpYc9Zml6GITON4OBwCaT90VxeXneuYFYCnIwD54B0AHA6H/fF4cXXTdb2hwn3+/PVwOGwurhDxcDh67y8vrwFg97K9u7mNMf75z39+eHhQ1bg9jofjl0+fu+Xqn//wJ0OAuf/yKSW9vrl1zinSarVC56dpijE6pM1ms9lsDocDAFgZ8TAMoR/u3t30fXc87r9+/RrjuF6vQ9/tdtuuC4vFIsa43W6DvTq3HFYiiRS22+3t7e1+u3t5eXnZPgFA50OU1HXdbrfz3oUQPn/+/N/+23/7+eefn56elstlCOG33367ubmRAob79PR0dX2x2WyeHx+6zhOR9y6miSdJKSZIwCf9g7z3MY5PT0/9elivVzHGPgTKIZ2ZA9uVZ3wmv6/c9ISrnzBDEa4BqzZrkSDbzNrY5/kIFBc4KpA15wNEBTJWIILFl2mowZIJSJw/z4osskXb4ldVtVhf84w5p6t0A80ZVmeKO6SMmMkqhidjjipDX7GfE5GFyK3qAOotYrIEkv1+v1wuUVUTK6Hlj+WnVIxpVPXOoao19/BEpIyWctMFByAxTpa0FzwBkIjFr1AEEA3o0DjeifuMyDMnY+zY+lya+r16GE2rDAR2X3KEMAssjz6pqIrz4Nnn1FYV0Fn3IKK63SJycbGxNfGBlstFCJ5j9OUlyiKJyIOi9541QvGBOgot0WpRNlSt6FQBQNCwGMFKwyUl04xRGleOsS1Lm2ly+iuLExGPOKerQuNdQxBnz6jZDZaXLyeAZbld5ROVBFkD3ykpW2aT5hCwJ2coY94FypHf2cGpAKCkyOZhJiQALahEGX0SS7kIlgwJm3NT4lnVUHuQekrL+cWcPoFFScgHuF4MZ0ea2mGro+5US5g1XZaoqq/h/5hj46Ke3dVadQuaW3mJCCBDhbRXtZRUAKGMZlNMFyC0XoClxIqQSgWYAaR/Y8KqigV7/rQ+BhFMacAyVaNIp6oqCmDONJsqeudFFJwTtNRDDa4rq1HwpApia9llhBzCyy4BgOSdV0fMomCRaNAM86mOUCRCyY2xSKUACCQo51lVFdh0egdqaUaISISlZQwoiPfBYwarcr72LTNDp/L6DGQJjWZQVg9VAcVm6KueRyUdjY1IxJoEkIgIILJVMbqSQeSEFYCYGSknelnygHPEJWMhZ9icpi2Vh02GmdMsLwBKjaKW8zsr8S4DUwOI4mnvT0PmtmnXParLAQAenUjOyhDDAlMlNKCQEyMWAFJK5MAhqBr6wUkmTJZLqppx5Y0W5vwlLP2WtLKOU/nqMacqttLXVCasSdtoFR8CAEBYO3M1C2jrQ4RojbjtfuaC0mIyFU1XkVBVkadiXWUZTKAsrGhp14VURMDKqJXr82Ju5iI1AJptNs6dwBExUUBAZg4OlbOJKyI5PquqpYeLbSizErnajtGS2VPMZCBsXnRnjMhuVaRgQnVVkcWc9SRQxI/dLmnCrAGrcoFvt0aKqqpsMgEAclk4R0DyYdZuQVWS2gMSeatLRQAQVhVHTi2/XRmUCAGFVRi9AwSWaOm5lQAK7APUU6nZ+4No8clM1TldJ3gzhARUAHIrEmFGUp+XMSv2hTu2TQqxsGIAcCHMtaolFgJFmwfLHUrJXP5q2eGr1WrR9SmliSnFCIAAnidhYRDlOA7ey3REgunIz09Pcdw7Ry/P90R+irxarQDk5WUHAIpwGKebuzfPz8/vv3v/9cOXaXp+c3t3cXWJ0xTWK1K4vL6Vp+enx4flcnl9dTMd98OwJECHtFkMq0UfjwdSGZbDdrt/fHq4vr1eLpfeuc4TLhZv3rwBgMNh7IkOcEDvFutVL3LcbxV4sewTT/f39+N4+O7tu77vHUFM42o57LaPquicWw4dM1tPj+PxCABPj4/48893t7cPj49vhtu7u7txHIdhGBZ+te4PxxdVXq+X2+3zYTyEEK6uNvf394vFYjH4l/v71XoRQgDQQNgtuglkdXWhhDoJJjW0b8x5Kejc7NJGBeGSsmCbiIhUiAHmPuhYkEmKLk5t/xbRZG4lyGErMepFKsQgCghWaIFQc7OtnQWKsqhkwO/S78IOPRISWTszG0qa9jqmg0mVO0XWK6CKMgiLSEoxpdwD1aAbp2kC8rb+quo8skAIQSR3WZqmKcXovQfVGKMFABOzKf3DMBwPBwP8SSkF33tS6/ocWbqui8IcueRex4xnpcRJ48Q+0GE/ec/kEARZFFETIBIKOGBxjhAXx6N43ylE0VyZE9Msywofy6CQRIToahEqkqFyeJHajUiIlAhVGZF6FzySPSyR0yJYI3MIgUhTlK6jJCIMKELYVxlqPGAYlgBAzixGEREraiciv+zTmHyw1iVshR8xsnOexGoSsksawTnClBIo9N0iJWFQFwI6AYAkECzVkJzJpTmnwHnnoE3ZB/KAqCLmYuDEnJIZD8GHE1SZmkFUJXErm6tgb79tnR/QuHBExHCF0NU+25Z37zkLxcyFT9WFM5zU1iD+hg/vbKqNmj7X7bbOofkp8rDzM1bloL0MiuPu7F7tTM7Wqv3z7KsmqaatF0HEDIRdh0U0ciwrf7JHCCdVpGpoDM0uNHVxr16zYlcW9syoPYt7QEMA9V8sdmS9cnaKl0eWnAZz0mpYVZ0Pkiu6chAGDJMVAFE5F+tl/cvukjMHLBh2uoNn20dEyqk+WnuNHXZTqoqxallrM3BkHr5oB+3Idf4oZ4175p2tC1bYtFhnqzKYLYtUIwGrO7fcSETncqWaCFzov7w/b9YNAJYqc/phHXsepJ6js9UDAOdnBtpqujVpoV1S45vfJK3s/VeSsghYnP11PpVLQHNG8pq0iv7rwyVnazK/qRMuQa2skJ3cCJt/tWIOSrt2J+c0J6edv1o+0C5xS5dNZGle8DPmoMBavPh2KETEGh1YS+1K/Gesjyj7SZjrsuezNo4lsbJR3AEAG6QU0aiaoWbINc28CoXM3bjqY1bw+BOkIKysDMiBguQHMg1l9l6LCJwC5kqtT1U6C5GXwbmdgHWarctYDuwJMWdjsvGgl0duqKiQHjY8MK9qZfils7ApZCd0W15mMokkzn1wyBycwzAQ0TiOh+1OBSy9e5omSRmCpuu6H7//YYyTC904ji8vh/1+//LyNAxLILff732GtLPBTX/ClMC01Tdv3ojI7ngwC4GI9vs9IvbBr9frxWKBiIa/vlr04wgGz+88BuzHaTocDsMwXGw2ltL5/Py8WK0Wi8XDwwOzjONoWJaI6ACtty4irtdrVNhuabvdrtfr4/G4Xq6Ox/3t7S1PPI4Hgp6InKP379+vFsuPv3+4e3O7XC4RkVAfHx8vLy9FZL/fE+gzPYEoiD7ePwgnEbm+unp5ebHcgP1+v909A8r19aWdiOvra2D58uVT8N467EzT1PVB24Sr2WteQ6hzJnfDWL7BK85eraRTLVWj89arnrIsaPhA5fxng1cm0Jy1HFc8u6zyyVNFaL6d/YT/f4z9d7MkSZInBioxdw/6WLLKqu6e3mGQBfBFgI+9IncCuTuZw+HkdoGe3ZnuLpKV5NGg7m6mij/UmHu8alxIS3VkPCdmamqqakp+GkazuUfvj8fzMAxdtwxmp4ehaRpRHIZz9t1YH0nvB+/FAB7NQLKnvby8GM/EXj9ydouVWj/BprEMNHP3pg0YmNu+74NXVe2gaRpGxBA8eEW0MHNABFHPgERWk6qIEc29+ki9hTNB8sjjWQuKjSspqgkARNk/6LGqVRUA88R7n7xXzGgtAMmSS7ne+/lDHIFAFQIjNY1jZmLgjhGRGQ2Eioja1hLfXV7B6SqzCKh6ALV2kJBgNkAVIKC5eAgQgJhpWuSQ/VyxC0eC8LdZN01ziX2myXavKTtJ4878aj/Y/5XnBglSUmhMouW7VBVVvYilQ8yollcwPb9kQyYPevSEQvGpv/5xKaXETsZxtwAiKgJFVPVka6lajnCeUnKtYYFnjWw0dbTXI5+QCCT7uuLzEwh/mqakKt6Qs5PTQ+qdLFQsdUFEEOsrWoUUTNVQpoaAUISXnnbSuSTX5S9YGeX5AuOh6fjjgpoCg5Rgo8lXnX3SaWrRTtIUqEkPTNa/davJ7yVIiTRICZgiqBrRDFPPfJ8wO1WmYZu/m0rBR2TInHsjCecVAIQQIgzlRFzO/qvJ85d/jL7s1zJD4i0xtbH+Pa+1efxqqy7Sp7bzUt2SPYIuXwFKxqz1atYLl79UFKqsFltNyW3OIB1vwNw/sVoLAGIiszkCyrEtE8fWP8+3bHnEkBpkQFzyrPYonfhUBDiKBSRiEC2HnDSaeo5/exv+1jVplKl7iOSTsZnpkzN8eaxOnpbJy6BgMLgIoBoxbF9LiJ+tBSPlTkwiMT4RQvApZmr5lJljEZEhJqEpWNNolOR7VrvXe2+Ib9lwB7AYBSUgS0gerJwbkwemqlYXGw8/eb3QMGIURS+8AlgjyWoaT2mYXUkz80nWdrKNHNFWvHgQaqs9UTtgPMqpJqGnAPkAhll1TT9RFECSt/ao1BpidgyuJzIbwEwkJvMithw2TxgASPDmBm2I265rmmboexE5HA5PT0/L7WYcRwUKITinL09Pj0+79Xq9Wq1UERCco5vrawMK7M9n55wjHhUI9N2bt03T+H5AVOfcYrm4vtn2Y9i/PK+3m67rhqFf3d4pQtM0QaXvx8Vi4ZwLo1fHi9WKiPRKzeDYbLe//PKLa8gPAzKvVisReHp6AkOeFiWHLbaHwyGEwMzPz8/98XR7e/v89HB1dTX2w3q9ZubDbveyeyKiRduO/fDw7b5p+e7NzWm/6/sTIoYQHr7dN+zW63UIhvHtzEYEVBvhcrk8HHZt2yLq6XT23p9Op+123batHTzW67X3N7uXl2d6bBp++/ZtkEn+Ul6anPIESgAlASMtH2WNM9nd1cpG7kx787fY4PL2y++YzhI1c9pzGJHS8dAOkwY2hQoaaycz65pQjtXtGiK0egij98MweBE/juMweG9p6zKez2dKdrZYVF3j8XIce4xPC8MwanR4QYJrN+wHJYrCHlXDOCaDOGXjoBcWq2QF1TCA+lFD7FamICgosWIflcFhU9TD7MCjJnJjZgfGbq/WUVujarJeoU10+GbLHhFVSTXkBGzNNnq1jgAEIGBhY2GIpCiGO1ZaFSk1eoMI8MKuQO4aSQ2e1bLOqELZrxkghCRvFSHhgRJR0ICATGhw8ei9j+4oBIUE11WQjh1xzd557q5S5FmuXY5Di5F94TqyF9TWHolAlYZPRLl8ihJkhz2zJneSs7NDcNK7RW5C3HsSRX76TASrawpySLTBi9bMx4BXpPbsk95QGVLFBvpbdynEYsqkVCSNMLt5NFlNmEJCkRr5tJ0sFcukjCluiBEnU1UVAioBiJrBkxu4qEFBzT8z8aHJ4ZeJU3NJNfiJFVhTBjliSEBirHjx1NzPbxTF1E6MbItC3ISKiGBcpLnox/J94+s4J6LlCoesYtPYZgGW6u2IUxg7iAwZk8ZCtTowRSWKLzXncfaxGn1QAVFU3fQUWpikePWM5+tc+dc5Z64qyu2TRQQA1dKTtRpqiQXXvIrpSDZh4ATcFCTUpKv4YT68S31WDyDSXMnyqcrFOe3n9dWZ85s5wuultHHOnGRTHVCeFv974bWaU1vzeFJWT0gdVVBAIVUf/K2HQEzuL0hEIgLptGmxeFVFBUYyPzQBKgXSCMRuLrS4fUJ04gYxl1jIR03jXgMZIAJkAgDx3gJufhi890FjbxdRjNlGwEQEwTvXSCpyAgBr+URJ7Gt0jpTQWT4DazqNi6HOwqT2KX1Nns6UB5W3WNqhANGaT+Ep85agrWDK29GACqixr5XVfkG1xGXLR0NNNMpCAKV8vnLkYqqhJsNIzayRzCH11sjjLErD+D8fjfI8q86DAKCKhjLUtq1zToJ3zjVN02BsfWXOuV+en5+fn4UYANq2BcK+Pz08PHhR7zvHGATM9GfG0+nIzNvt2nsJMt7eXe9eDs4RgBxP+xDCZrNaLtfD+bzebBCviMiLXywW5rknxwS4Xa9MlTRNQy4eb5qmAaBv377ZnNfrddd1IYTj+Ww2dOeaRdMqBNXosyQiAtxsNgzIDgHgcDgQ6OkU1svlslts1+vz+XwYx/VmGWR0Hv7+7/7417/++b/96V//+Z//+c3NrZJ++fLr1dXV3/3+D/f39+M4Xt9ctV3DZxaRx8dHZpbRjxqa1Wq97NbL7nQ6nPYHXOlR/GKxEPEGSO+ce3p6YubNdl0v2aViAgAVymKnFo+zpiWviIXKPZclT37C5V2IeBnmTlvbW4zX/NbpCYLk8jWXb9RkUBWXOUJ2tIsfQ4j9O0+nk6qGEE6nfhxHSIUoTdsys2NWjSlMuQ1w3/d936uq9dMlIjPZY4mkKDDYL00sJIjbJEgAxTSw3mijlTVJRCqARAJqjhExrBhgs84ByP4L0/YmWVMYeS3KBFGbJ9uDossvhAkIuiqEFOjDqOIN+VFSRq6CkuG7IppLUSeG++S/YC2i7eXMHAlAUUZBsg0sjyRLj9oARoypUESOo10UBQiTg2RhqyoBOqOeBmI2R2MWbqoAhM41mUTWZkREXMWRE1t8psLtGXlkGYQx1/351NuJmQ33R9NkVJUUkYsVmxn0cs9EBwzWkNuWtZk8gqWeUlWVI9Y7zAac1UbeG/UmjO+CAIAIXN8423vzP1WyPvPZq/sfzciT+Z7Po03709K2DRamFEghZPqIOfEoQY8BKtkhEgCA1Px9wQOQUvK/QtJmc8fVxBa/nHhtx88+l8E7Igrx+ti/vaQZ6ATxujwEQQQMziiEYLsiI0iax8FCIYogoo5ZEsKVmmFkfDeD3cjrUzQyWm6xpRQ3zSQ3OrMEJnuDIx3jg3IrtXo3GudCFchDTLiBidK11iciS77N7wWIFjwRzVLYMa06TBnPZhRSNUiCR0CjVZH18XpGLGuaKZG/V79hIlvUE/XGzKxSHxhmo53Rxz4Rf0AkQM5a0ST4ihMXysaZI7dm/qzTorT61K+bsHR9iFfBmCBY9OJk/FqTWgAizrcC1DCvs4+kTHG42PjRPZ5d8lKnxtURCVUUIc0NiyCIoPQaRISZAKO/w/I1mSvH24T4mJsm1gk7WfqJmjediRS1sZKhPC0biJRC2BjGlZJZm64BQdGpW8QiKlLPC2M6DVi4IZn6kM6eZrSXeqFcv5MIWDG8kQVj2n39FpjE0EFE0Ep0ojAtzOAraiiISpFdGp1TxvCS4Lkw31sZWBqmVrtWdnz1I1rKu5HOGaa+qIWaz+O42+3GINx0fd8bhc/n85cvX5ixbdthOHddt2oXwxj8cfBD33Wd1ZJ6Pzw/PzZN4xpSCPffnnaPT9//7oebm5vn3eHzl0+/a/5AoC9PT1d3bxBVwrjdrh8enrz3m+1V0zSqwbkOAM79MXh1zqoJ9ZdffmHm7dVaRFarVd/39/f3aHDJpNkHuewWiNr3/dVmFcZ+GIbVauGHcb3ePD8+DOfT9fbq9vZ2tVjsds/7/V41jCr7/f53P/zwl7/85S9//fd/+Id/8N73p9On3e73v//9smvvv37ZbrcM2BAjBwbdPz+d+yMRbTYbZjbzdH/YmXV+Op2skdM4nFum7Xb77du31XpZ4xbkbWjmbOFVRZmfMxWK9nxd6U/E4EQYJu59ReOXzjeZlwBIgyAiY3QApOKrCQbOZGwoVrYuam0EglosBlDEi4hqEPEghss/+DCMQxjHYDAvw+mAiMAQwgjpqA8AnWtAfAjBCwbv1QdVDcPo+4GZ/Tii4841JlIseX69XlcEaSwZHQmIUVXHwQNACIqIbdsCRHnVNh1SDCGa1wLMVY9ldWqhkQmbpbHEfqis6m0HmVdFApnbK4RkcmTzMh1y7Iv3XqpVQIxVZ4gAKFb2ltwHWHMCIlKSpZRwGNk8C1x6sdm2wuR0hyqDIHNa28axhXS2sRi1EIpEpCrJtdQIEmZgpkmDp1BkZnWjj7M4uBb70tzA2ciY8BViwSPP4tgeZ9Ufac4pvzOhKxARIYVUnqWaA/Fl19lc4voBZddm1B9J0luNZt6quby1lvjTwWtKk7D/ZSVUme8YA8qzjYSXBm65oII0SZtaFXBallqlHgXEHOKNTiK7WwFA1LK7AQQBct5CfksszgVQMBBwn4jmIwsKAAiqlWX4BMk0MYYS5ScedJ6c8MqVNffkG2vunJovZkKWy0w25esR011WxaNBQgBVQ/dzzHlgIT6cCJG5dCUA0QBBVcA8iCman+1kuBABeY71vpKpy01T5RAAsCU1T486mSZp4lqGBJBtJmO9mluqHye8VKsZRLzw1EyoDfkoMslhLwe8fL2xSTaG8p9K9CZ+Jg4eSBRjmhvoadYhr3gaf/EY5fnW16iqCoaqRauqlSZOxgwAAso4gaCpU+w0gsbEj7UImK1OfiPNkXnsitfd5GVV4g6F2BZR1XJIpnSIAff8usoAVURXeB5iHzrjufyuknkppRrVnsZJYFhreiLS4KlKoUHUTIHcfMTC4HmNoGIYJrTEeIih53ijhc5T1g1lJREnFadT4XcVCksOqU3JjrWXHZJRKxDDaulySgJPxXBLo9iv5W30UKiCGY7TM61EG6xiwrysOQ8hDz7SZBwAwKwNFQEIpi6h8G3ZyPV+RMQcKdXKVVYzmyQoPS3waNF2X7RdjOwzM/PhcLj/+vD169ex7733i9VyvV6fh/758enl6dmyTZqmaRdL7/35dAhh3O9fDL4DEdfLhQQ9vDx33RIRnx/vVfXu7ub5+fnTp8+quNs/9+ex6drNasnMyE7D+Pjt6927913bGD60aiByzJwQz7Rt3dD37NxqtTK6rdfrl+e99Ws0SA1bEGYU0b7vDReDER4eHrqmXSy79Xp9Pp/70+F0Ou2JRGSxaFXk69fPz8/P483Nx48ffv31V/HBD+PHj9+ZEebcOuXePD49PS2Xy3fv3jnnhnH9/Px8OOyYebNZvX335nA4jOPYEIYwjsPQti1oOJ1OzPzdxw/2kLKds7yS8ktcVkUVMatAy66nSoNPJEPND1AdHTPb1NcXjVkVkdd/qjRFiQwgpsbnWFAEAEA0YrboxQdjbndIpavewGIYKaCIyPl89l6MCXUISjFLmQGJIRBAYO/9+TRYKoTBujNz13XmjDdWdM4dj2cAuLm6HoYBqOBN2TjzjUTUuJbZIksavAYJnkYUi4sKEVk7pxACMIPGRpJBo4BBQAxFq5qWs3pyr56IAOy/sf7HcGmyBmfOxgYhRjQbVa0P3iq1zZYzeClt/LxeyS8msUDWpKWrslxsDBK7MqNcQDTWjOdcOoEoqAIpRahuBBNEglU9hqqftmDPY4AER8PsEhGQOWWfA0oOXsAkT+DSNY41I2oKtTNz7CA/TcaQNAhE1GCNzyM8Re1NSVQu7l4xyZHfnnKerH7QriEirNxy5sVM+F8l7WlG02rTzY2A2R6uN2H8pezJEhMof1WFGIardX+9rvGl9ZOjskTViVsrTh9RSSFrssw9mPku5o0oRIgGVWQAtRxxvZjaJU0KOV47Aad/QvI+5I2BqlloxmSAfBdy2Tzm0cxKGlOz6GxsYXTRqSpwPOmlJBMVUEWw6lW0MFhmskJ8KsIuy0HKUrLqFTULKWTmiY8S8clHWFMjb6pc+T6jJ0WPbaEq2jzji/JxGQAkHowRIAPuxGcKVdE3E2egZWkyQ033oBGjZMjUA74w3AvR6g1Qu6kmW7L6XjPMfEhThhER0SKVVFXCheEep10sdUg6LI5Zsroqp82ae+sBw2986uWeLGtkIlUFCLHoVaNDod770RbMNTAIdsAGNASn2VE/wVthbnycNjUxAIJWWG8omqvSOckrsRR5igQx2wsRLUcmG5pNQ9lmNWPZhLB1JkXMXXjNZ6JovYoUUt5I/JI4oIRHjGhUKKAZC48UpLZik1QQFVI7dReJPWNRUDuHl5Wvt2G1iLOlnMi9vNDVl6A6YRvjlhAAAJjFcJrzXeRyCmVAzE3LJ9jPCZleNYFblSnn2Rl4EvicJ2CDaZ2YweTYee/v7x8fHx/P5zOqjuPYtq1Nue3cu3fvuq4LKlZCBwDL5XKz2figp9PpfD5vt9vlcjkMAwLtds+73U5V/+kf//7l5em//Jf/XVV//3f/4bDbk+Ob6zc2fT8OXdfd3t62HKWBgQYuFisnzkvoz2NDfH19bcbZ+XwWkYeHh67rDK6x7Vz2u0EyYhaLxXG/3263YRwWi4UfBxHx46iq7Fzbti9Pz6L+9uYHO+X+8Y9//N/+1//Pcrl8+/7dL7/8cn19ZdMRsXbXsl4vDR5+u932fe/DsGi72+urrusUAgK0TUtrXCzarnWPj/v+dFqtVsfDDpCGsX98fLQzhg01R6VSwVUJwifZiBpPjMVNg6UbqDHqxIdYi6nqlpgWBReSkFKbDkz5COYkRI62vlWPVEw+yVrU3/hklrNwisSP5cn4EEYrXx76036/zzpuHHtg6lyjgB6Fga2oV3wwG92aXiGi1VKrqpnsZruHoKiQ0SQ1mSiWHGL/tOZZywUgjn3fA0jbtoCaWz7ZtMQyyZIDt56UETDjxuQNH18XTeoYMjUbXVU15ZqqGssTIlpLLztIO+cQCRAtaEloxaO2xGY+xOR1Sk0erKtM9H16IiJ2SIQuCaupI3yaFj5tNZOYRNhhCICk1jgDINo8osV4EBEDFwghUGUMF08NsYCmxvPF9Y4ZUgMAACVnSGdDRySVcCXGBZgoqlqikaV9xDzIeH1IszKymq9HI9iZ5sBWfEidta5aJ1OyyxODvC0xQd1F9qdy2MoMUftU8pZLXyaHs8t55U2Vf8yWBFRGdsVJE/jsmiOzgFCdnJFqT2g2MhJZKrLHYaTWoWqOwJQykULV0ycWxQnTvZF/rCPjs9Ws71JVyCVrMfaUMsWpGIIS81iM/jVSRDnLJaQnBdCciwYWUlBQ1AjrPl0IkRGRGZAyjqmbFIliipKPo9R7SSPmoyLaeylyViwYEEr42WkWc0emfaq5q81Co0Efw2TW5CxvEMzRoZiiMM9QR4zrRFD77wugbFl02505T6nC98SpF6cSLvPvmSBEKJPo/+R0+prCmOitip9fN9wzMKKBoOVPmIEmpfAiTjk2s6WqcmqRk4G0HZFpoEKi9N4QgmD5MZ6cFXLJaZ5ifFE95orVpztCavrMZpqfM6NDoo/MdBUm1zsUBvMpHKfptTnNEFEQEc33ab/McgNUbbMAomQpJyHlbpHB20VZT9EFzIkNUmaUJfdrITIRKQSReYqRqnqdxhOVsiUUdO59V1VBYMXkaJda8Wh1HE3rOHWlAEDqyYWIpBixt5KLJ7FKdOnVvFqLvojSlpc/jCppTTH1dc2JOwARUgKi3KnAcCZLGd17lZxPdTuSUdTadnF9fT32w+l0+uWXX5bL5Xa7BYCu6ywhvuu6cz8Ow7DfHxerlffD/f0OkG9ubtq2zV2ox3E4HA7e+7dv70II//k//+dh8P/xP/7H5Xr7pz/96Yff/0FVzQRn5sf7h27RrFfroT+v15v1amPetHEczXtqj+267vHxkR6gXXTGZn3fA0DbOcMBdGS10KCqXdeByOGwOxwObdsuutYhDSLr9ZKDjjr88LuPu93uz3/+t/fv379789Z7/+7du69fvz7ePxDjZrNmZkutvrreLBeL4+GwWCyWi4UfR++H6+trq+Xw3iNpCKFpnB1yvPfPz8/D6Xw87cdxfN7t3/Fba/nUdV2WH5oyJUy2mRMkH9hqTq45BCophzi/Jn+fnRhnf83XZL2TeQ8ASnIzl4pDqIRtvQUAwGDaMzQTANj36LALoy1fthG9H8/n8zAMqFZ7OhKBUdIDBhnzrhcfxnFEcqaCm6bJQ1osFl3XNU1sArroGlAye5EJDZZRVe0WxFHEd10bQsTltDMYM49+WCwWiJEa0YyMiSKSSznz4E2K1WIcUjoNxcNYTadouEMyw5L/Vy0CICI2BYPAtGsw+W/tNE3c5Hp0090Aosqi3qSEa6popERTJ8OGmuzEFLLMvFT/My03IgIRYUI5S2oXRQrqggNAogAqmPGptY7QWr1MpkKsgBdxwWsstxeElL81pjpiSM5UKFX/UvFtbgekACXDJvvyBACj9tV8PlYRjsfbmJaTOVVEXCraqNU8EQH6rN3Zqm85jsC8TdmxBGaRYyYrJC+vmgVpzYMJEbFApNnbpGr0rQre+2wgAoBCyGgYRBODxlgOiwsrdznMs8j26HTbpxCbaEDChMkCIHaLkgqgAIj1nhcRImS2djDlaYYOjohADpEzd+bDQN4eGt8RLUcTLknWQJ5RLaHSfEVsoS3PDDiauWCYJlILIC+BmSkeMOxYCACAhBE4HEE1kBouN1ouoAMk61AgWVoBqkFziyAFSffWnlQIVhAnIgpiDkszgJP09CYQIqpGcqN575NUMrZFYwAiCspJhppbNAqPoCNaJigiohIQRvazg7gABERSJYndpDAfBlSVKG43hNg11nZVdVwtITMVJGKouAbRvAnFvAlWEkDESYelv1yaSgoQ0aYBIKV0R3hECZMMIpHMbBOIoUxzYlANCsWzTjHREBEYGAgyuDUCIKDkdMAohESYWSOjmqMq7hEikgABEWKfSzvy6RAGTjWviFgFOcCeU0nPQEQEpLF83/AyEQEliKoQmUlGKBqBSSAAAiWXEkXDN/YEyDK6lkuqChoyeW13MKAChADixRYobyVVRSr/tFo/UgURSuhs4Bp7gdHFYT6FFh+Pcw7UN9yaTcYcNW4IwaKQRITsvPdMTQa9zgop725VRUVLwsuiXEQByLCxLRqQnA6kKkPVGceynNIxGKr/aRYpARC4IU5ljpHdjT9BIDopDRQNAcCSIskiWJzklQqqYmxmgUQG7CYiqpbrjwA6DINlUBggDxEZ9Slhj4QQAIiZzQ8nMgZQh44hoFobRYvjx/IhAQTNjhLNJ8DMDKBsnBMjGGoEFMtGuL//+vBw//TyvDvsuXFAuFotnCPvfdu6cYzboWmaEMbhfG4dnw4vjps9KyJvt9v9y/N+v3/37h2htA0x6cvu3vdHFLxer/anXcO4WXcvu8fvvvvderXZHfaMGkY/DMN2e+2cQ/WS+sIOQwBRRvLH43q93mw2n379vD8MV1dXV9vbdCDyiAgSDC2nYer90LYtLTtEGfqzOTJPQ7+53pxOp9P+se/75/39crkk1p9+/DMzv3lz+/s/fL9YNvf39/uXIzO+f//+arseF+3T00PXdeM4to5vr69+/PFHYnhzd3P/7Ztzbrtdr7oVNBr8oERtswSQxWLx/Hgfgh/G03K72B0Oq81mteiGxtFi0TSNZb827PwwSlRqClaqgglgOOvq2AhCAKwuq0naEVWywwU01U6UJApVTTGl2O8vbWRiQODoGSUNyTBlYg0pW0Y0hsUyEg6iBPE+QrsAAMXGNVq/UWKRJYrIMPTe95ZvIiKnUz+GAKSiyg2N46gagkgIgZFUvAowEgES4HnoiYhQkZHI6GC5c65pGtcmCJoAi+XSHPNACoohBEJFQhD1YSTA7XpzPPdd141+CCEQk4ie+1PbtsP5lOUk0cJ7cc75YIdu05JuHAOzwcwrIjFzSFZ40zTejyFoGH3bNRrAdD8qhVHQ0Rit/2DGHjODQhhDGL1tPeuNCgkqd0yHNwkCKg1ITDOB0bGzVjYKypa6BMHhIqkUyWlCAECodpZQjVZrTkYxgYrJ5FNQcgSIzrH3vrFAqNdRRiTyaioVRYST9xMBhMzLwJKChxY+MkdLrliF5MFxpew6aSPj7lhkVoz0SXJwnltGISBALPiKECeLKLGWdOqcg4DKtqUwojUSMymV/NHaDUxEmuH8INroye4sdXVQigvnWjb/0+wwmHl2qmsqg3VSKQwApf9f/mHijTNz+PUnJ89fPKgkU0BBrTlIiE6nasrRMIjnjWSUFE8nAZQV0YQgMXMP1hTI/9QqrJwnkm2L+p/1EyKJ0wvilQYLCBPgyTxBSYIP0pmOqARkFGLuFICFlgIAKFj1CXNBnja9rSGDRgPUaJuWv2gCLqbiJXRYSsAIzBbhCWZwJGbA03AGOxCHiOOe5mVbKO4CUR8nhQEALBM6uS9RVbu2pDE4bjGxdc35NSUzB2bRkBYectoGYETXqFZKk1rKW3VeHZ9eMXHNJkpWvvay9HPghep6qP874yWotljNMPl3jOXpqKqcOhrWQ509MD/BxDgigicEyantIpJLzRBAQ3HAYLpxzvCcTPnpwLI+Tpp6tpdfmePlgGtxYdZddv7ZffUzNenhou8Tw1BCBRYpnrb4p3xgqwx3IrJG6Ipg6YkYvcvsBdmOdlZkkpDFsIJUqp+fJMxkiTN9XqXGbL2yOErAWbbv4zGSmVKAafJJaWyGIhU9PWWSmKVlujGfKi/Gk+jmLS3EQgdN65qm4eSgsiuZOQWsU6ph5QG9fGz9+6t8nv+ECcnNvJLe+2E8hxCapmkabhpu23a9XrftwnsZx2BocU3TqODYD4joHI2j//Dhg+Nmv9+7tjGUj/1+fzqdNpuNiOz3+y+//mp3ff78+cv9t6ZdeO83m81iseiH0+l0YnbdcrFcLhPSvDLQcO7HIF277Pt+t38ex3HZNg134Ifz/rhq3cOXnhg+fvwYsAkhABIyhnE0uXo8HpfLxWKxWK/X4zj2p/PhsENUA8E8nU5+GLqusc4tAPLnP//5/fvvVLVt2/1+fz6fz+dzruQDAOfc4XAwPd73g/e+67q2dV3XWUqJ4xYRz+czM+6enjebzdevXwDgeDze3b4d+z53daXU+yZik7PLa1RHsKM7XPPGBzAnW8X/mflxyrFafWKWXCrGiy8KmKEnZyX1jFQLpRwxm3FR/Qao3PzmqhYJfR9UxTUUhMax7/vBe3XODT4QIBMJkRAps/ktLXUEki9j1noTqxREK8EEEdc4blpENEeA954QDXYmzVTMDhzHkQDHflBVA/43UPmGXe2nyLtGRMxTZOdqWzUtQZIYnByGAbLHHUAFzBi03sPZqLUBiIiKNyikRF4MQUIYcr0iIufQHJGKWCKJEDGSSwGH2LYCAKzDc5rpREnl7V/Pa/bJHhxV1dTgJd8Slz4l7UykByJHB4EKSgiBkDI8Bk5q6uJ/3SUP2SeHmSoGVU0JOtU0JKHNIIDhXBTrP+fdljmjgMYczszcr743a630LgKA6OikYqwjpGpfg/kGSKnhrxO3prv1904DmC9PGl6VyWN7+zXbPd9Iv0HPLAuygIC4gaU6b9gD436zv6cjkEYXcnHYWwFfmuZrk60pPLOr6vFfau567001OkUTBQyTB1QRUDE216w4W0ET5DwAhCC2dj4+jePyJu+3KueWEEGsKRqFEFStaWv2XOJk3KoZgCjFziRGElNVn1r2p5dShotgiXciMvjRbN/gbYeTqkqIsReNJlEw1CkAUAwigmRBq2JzywjILBaMhuyFLRSYsUF2cOatmOg8ubhepullmOTRHNI0PX+eU6iqVgtv30pSnQmp6jyW78IKzQYAAE202XWvGDGqqWmyQhlDBkWNtwEi5hqsktMPjBDh/PKQc6RVkyY2mZMZW+OLMMIvVBo3hjxnYEdFl0Rj1+zFmbirvmgSteXJ9RauiQZYqJdx7jM2YmbX+hW1VQ2Vws5zqQz3ctggIglJ5BZNQUSI5MAKCwGZGeImKOZ7fkvmonodL3UVTPmQyAyjEF+pkHbBK1lVaM0pcX46RcScnYIlj0vNxZMzHnG6GRKfTNSnTkVWnpEfAyEz1YlznI0YVXHOIXL2N+R780RrNrgUmCVQTgpALhX/2hnM2ohqHT1TBYBhGIZhaNt2s9kMw6CCy1X3089/PR7OhtPXNM3D4/35fF556dvOj6P4Yf/y9OHDx3EcP3/6dD6f3717t16vj8dDGIbVasWMhozuvXfEdlZxsXyZxYdxHJDZD6Oxlh/Gvu8DBqLD3Zub9WY5jqNouLq+9Tq2bj2ceyUCoDGaWd0wDOMwAMDt7e3T05Mf+sVicT4c3767871bLpfr2zvVcP/tG4CEAMz86dPPEbPdkYjf7Z53u2cRMXf7999/LyLEcH2z/fnnnz99+tQQdl3XucYRdl3nHJ1Op0XrvPcKwXtZtN13H94BwJdPX7br9fPz82KxWCwW1iUqiwjjTEhN72EShVOAiAoKEnlXa3ujKl5KSP/mykF7vCaIiFhOlj55N9k/cmQJACC11oYkZzJHXdonecx5RiKxJDQEUY3ILZXTIWsBopTRoTHXQkPsRagheAA1DLecn2jvYuaua7quxepgj5jL4iEXhqZYtENSQ5JFxBBkHHvniIhE/OFw7rouHwk0lEMIGFAbYhCBEFAEAZqmUYDRe660lVcZgkcJQcU5x05HPzbIQKipQVA8po9jHrP3nsgl70wUuURqqbyYQDgo1MlsYAnrUNlUkBqiZH6Iy/QbOAc0TZjB5Ecw1DA7PknCqcz6LjMYJC0giZtmOd75LTOZ7GZSKX9i0rBMzLh4LJk7lQUAUncMgsp2BxACTpQwSBW2WdmhiLQsmH1yK1ez++2QZwOyGxAhI5ZE15IlGacsF6gKal/VtYixQVKlsCBfBnMxDdW6mv1hYy5oG+lGU8yvH8708mXpr5XCMCESSWdzISRERaRYnhsliyUdgabUi2JEpnyD2UrXE3x1PFiZ+LUWzH+/HLyqKmqCWk7dO800SVn4iAgoKBo0QjEgIpE4jE3P4isk/kmVJCEoWcqXWsltqlKLr5aYLKEK+TIACBo0+vRTapGp7WTQ53lhrH0Ec5bU8BEx6z59RGKyKaBw84p3Nm9XAgIsphgihtTgJi1EzIqhkso1W6aiYy4Zpv6ltnteX5rqzFk/M33SL6C2dvUF9XPqTVT/UtFH8gMlvRQRiRAoIs3nLORaQ0CC3YSke/Jja3VritMyl3KlDlaGrC2ZVKiFJpeZUcBP9Oj0CHS5VWfkSofiCfPXSnf2BEini2y4a0r6j4Stjv15l+XBEBVHS6TP5NjAecox9x1BU5lJfI4kDUGMKdUke9ryqysDpdjumSCIiMB1/T1EgZzpwOYcjxIIQBCUEJBAFSmWZRMRAlY+lgkNp9+Tc1R9zWNplVWzKZ/3b1qslIRT2FUNEk7E0rWJYhZWnAhwKk3OFMD63ror06VyrDesxQyJiHGSCwQAoqEfzqfzcfSDgjQNLxZtdEYISgAJQCwvL/u+7zfbVRi9Ncc5Ho/v378/Hk6fP38ax7FpuuPx+Ne//hkAnKPNZvXm9uZ8Ph8PL8tVdzodf/35lz/8hz9ebdb3jw/EtF6v2rbrusaaAoTB98MweN8t13709/f3q0V7c7UZGE7HXnzvvV8ul65zTdMMfkQ5MaoVXBm+e9c0zNyfD13Xee+XXQuyGvsTMZxOp6urq6enh8PL83q9do72L2cA+P777733nz9/RkRDeAQA7/1isbCiRlHfD71xSNM0V1dXh5fnt2/fuob7vneOmFsiMHfv+/fv/9u//ms/nPrh9Icffvf73/9wOJwOh8P9/b3VCeQ6kBBCArIsLrngBew8AdE/QVbyKNmeKZs676N8EM2mdt7dxoQJZgDLj9ECmHRsVSh2fN4F1VtglooDE7lqKSRmxIt5tQ3nERFFxlrxQSWLEJERGmbn3MrQ2Y3LI0R62QuU+kJwhVgFABY8CcE3bFoMFFQFEAJKIBWwlHGi6GtPiO/WaE9BEUnUJ9A0MXbi1BPKlj6fun0IuSLckvgZ4lDNU0TkEO00olkASggi4L3kgoLRi4gYdIyqEnlLbbJJMXOQ0QckBgIEdMgRKCOtRXS4Zz1l8sd0Wy0ENNl7dIGWFqemUtvxRlgzfdN6ae34G6sk7extBIAU1MeJ2Kns5LmEspsVJZ9y6mHHSb4iyARm9UuaB5RVRTIYituufKjAvQOARtMMs3smVQZUTh2svOC5EeArtkyieNqikfq1c6XeUdV2tetfT5KZXVzUw29YVLPbAcAS4vMvRaeSVWUBxiZrCAAYW2kgAhjgiohYpjQAmA8JEZNzqgwp/7PW0LMpYGoFlS4oFC5rNp0jVhOJdknM9YwnY0QkkJT2l/yuPviMoG7jUQOO0HEEZLLcGCLy6YLk6g1AbNeDAmpJBDRO8zJBDISq3NBwcXPYVKoCmqSzrc/c5KAVAyAx+OZiG4iYsxu9uczsEDCmDBJUxX88FdmF5hcpNGmZOLHlbEtOjGZIkD6ZbXQuWWRmuNuPWAy1ieGe+k+VrPfXnvnKGaCYpHXyEsQjNQNYO63aG5SdoJTKhad0eAXiRiN2SoFOq4gTM7DrP1Fq2JwF62wKmec1OSLqNcorggi5O+/smvqZeXeo1pyTz4GSwkGgMDnI5YtzvHim40lnbBBtdyanqgIpEKcTaUPkgJCjd3yCZZYVQx7ebNYXyzGVY/Zj9BhZDCpWOE2pmhIGNNGx1hSIhGXfmWMi3zUdWE4zKIZ7HjMRpQizmktIUhF50zSVWKvqAosTnFQVk02fBearvVRnH0QkBhNKRk8mO8kIUTOMvY3kdDrt93vvB2Z0rmm7RlNcCACCjEHky5dfjU5PTw+L5XqxaJ2jp6ent2/eDcPw+PjoHF1fb8dxPJ369Xqtwb+8PH358uX65mocT0pMjG9ubpuWx34Awq513aID8afzwNzsD8fFYrFq28P+yMzX600I44Kb/nDWwzCcTn3fD3x4eH4I6lfb9d/94Y+GEelFAGAYBvF+tVi2bXs+npbLZdu2raPW0dPTw7JbeN8vFotvzy/LVbfdbo/7g6j//OXT1XrDqN6P3DSrxdKKU6+vNvv9/ng87J9fLOHh7u7m/Zu7r1+/Xl1dLZbd6XRqWycij4/36/WaGPrT+cuvn0+n02LZyuj/9Kc//e53v7u7udu/PB8Oh8PhcHd3lwMp3nuCXEtmlXsxdlrWjgCRzOwGiF3MIntZggNUQUMAUcmo6nnXJMEx8XSkP08EVHRnlNpzzBI4XTBpXRz1Y5U1p9mHBTER1Hvf933f+3HsYSrT8hYTCdkir3c9lp2lADG/1Do0gTXNTVkAEJkbAJQInLOyZj/6IYhftgvVwKjcMKKKHxixWbR21hLCnJNDtv1S3XaU/4Qicjiflu0yFewJqPpRxiEgcDz1AEC0czS5rqOobBoXvBeRYRiYGYEliA9eBIh8ikmGkPa1c07Em7vfe3BtoyCqpSYqL0GmJCarXX/bcNepKVXkXnqGyd4Mu1I7tiBB/xERaY7bUMnXLWZw9pvYG8Fhhpab4asUIRtqtqiVClTeIExFVKpKwJXTvf6i5UmxTjVWM2F8GsZ2SJi53yhWIgWIMLfaLywMe9f0PF2+Jy0r6ewRYV4uH1JYR7WaR/lTPUedgvSlv87V/MVnal2hVHMjiOVYdazftB2BIrBVbZNCQTTDqeGeKT4bcx55Peu8gtNVfuWTdj4kiaeoYMcnA4W04l0RQQ0phym5FgBCnWwNgBqz30IIfgzkGlVVQeecUlO2hyIQqg+xfCIZIhizWco/62li0vGICIlMOdsybj7JdIu3hBDMSEAyYUcWViNHAEBsxhBgyhFsI7QcZbJHsDlMm27KCa/Sv2anvGS1NTP76CvSZOJRrokMyXBPjy2G++W9l4xx+V2rD0yOxFYMkBHoc/lpzLPM07EUjstJYcpdUbONgFIEHCyXWlUNzyTrNnKcaUXmbUaoQIi1bm2YJaCJIIUSzbzk/EtqzHZTvUYZBgFS3E8g6t14GsH4onq588RzzL146QJmxKR0YQRWEhEpTJXeiyUFi4g0bkaC3+C0PAusLGa7Ik4KCuE0yugICqSKeV1qFs0TgWSmzzZjlG4xqCL1YKYerJLpXktXqRB7wLqGqyKiZU1ocium1eTJspauzAgQM9Mx+R8urfbZ1quWbPZjBCAaxzGIb5qm6zpE9X4IIYj4btEwq1rcT/3o+74/iYSu6xaLBSJfX1+3bXs698654/H4+ddPNpfDOAz9+OHDh+1688svv2yvNpvNMoTtarM6n4aHp+fFYoEkqnp7d83UdF2nQcYQhtM5wAmoed7trD0qE5HKt89fftrt7n9++PblfjifUQEZXOeubra0Ox2vbmQYAoESXl1dt45ANIwDoC4Wi/P52LmGGJqG37198/z8jIi3t7eo4fn5uT+dt1frxWLx9PQkInd3d6fT6Xg8iogtTd/3NpKnpyfn6ObmxmBAhmE4ng7n8+b6+tr7Yb9/QcQgo4gYRsp6vfbD2SB6fv7xp9Vi+d3H9+fzebVesMMg4+jHIIEYvB9S2Q8jxsolY4PoggEKJJQwJKgqIsJKcddO9GxDF64uZtYk2V1VE45hZBW6QGPLMcZ0V0mzUY39LkTEyrGk/mSomQosoVZb9vAQRkRkR4bw6BxZQYW5NkJQVAURisYWQhAZvcUlVTUEH0IYfQ+oxJbarIgaI2ziEdU5SucNkzvmAsOc5UsAWGG7QdK/RARMQZWRyDFIsL0cjXJCTl5UCyaEoAA+EgOsP3GEs0REjVF6hTamPOXIWQghePHeO9cCooIqkyIAkmIQQG1IBJKb7BUhD8lnF0kNr3+y4qjlA+KkPQsRabLinICdA+P1oISMgFhltEOSkFKVlda2AQC48qaZbEpeKGZGlCzv6ssuf0lfFLUgHKffJQlHBADm0h5cK0sxFaLlpP4cNE/jqomCokoRpaR6RaL7PBUV4tEqB6PzXwWmDZjSG8tyqsYz6CUF6rWvp1xrMpxY83MWQcxBA0xaDSLDKwDW781HJgRAQodcFhguDPdqOpMRZq/zbDxZI+bf073xQJUeeFEFaPVkyXAx9BIUDWImSxQ6drbMj40dzlMRjAiICAVvBrYMAhyPVYjJzaWq6pmbyoMYCUfVp1qjOK8o/QAgqfmy5eLGJEugwlgyEaeSbCSNpjrGKgvDk4rFr1qyHcBCey6CXV4yhj0jE2H6ySl3Rn8zCCDHhSoGiEsxY6e8cWpNU/81UT6baIXDa8GRB58fnv9UjzzzyUTigOWOl3Ic8/vmCxKTU+0N1eR7TjurGryiUSIvtCqFMOY51q0r67Flo60eP1SZUZB0s+boJNf1vvNqnxmdE5PEI1DlcU8Hp+qAg2goJaCASJQQt+KwbTENUwWsYUckLs3ax6iqKKiWRusqtuUJ4mUKgpJKPOuRz0TWpYQsFL/400SkxNvdrEFV/TobUIJJhdkb0yaYqInqDcVqR5wgfkx4kiLP5Nw2Ectft88E/hIAcp/s6KzJPSwpe2rTBAVB9bccL7U8x9RBHQC892YzjUFEZBz7vj8Nw0AusLtuW6ca9vv94bQnwtV61TTt09PT09N903SIKGG0x3rvb29vX15edrvdcrl8fnkCxffv37/sHs8n/fDhXdO6Hw8/Owdv396GMCIMy+USALwfLApIDMNpXN9dd8tVfzq1TeP783G3l2H8//2v/9u3n79KCGEYw+iZ8fruumG5vVkfXp77/oSNo67puq5tmrZpIERYzEXTHk97Zt6slj6Mq9UqhPHp6eH29na1Wh33Owlhv987R8NpYObVamVO+uVy2TTN+Xzuuo4Zu657//49ADw+Pt7d3X38/rvn5+fD4bBaLZh5sVj4MFjzzv3Lrus6RsSmAZA3b94cDodPnz794z/9/WKx2Gw2ABDShyKMtWVHKhFZvgCRS2h4YpaicvIiSr07shArcnvm+Y4sqzWfvwI6mYWG6ERgmpFaC9KcJGYPlGBSZVLVo6qAIkG894aXxYzskD16mWy3nK9FmFPISniTKDYwsu/M1hmCks6KYWRRTzEQHYhBFZAQPBEJM5q3JQSwx3vvAbBtWyKymlGTZIwghM4ZMgSqqrls4vQJmahtW/CpM52dxpkQ0XuvITeEThY/EDsbFYYg0aA31QzAzmAWTcsPzA0REefipbiaxMhAoiEC2yddU+RDUp5AlTGpk69a1SZlATuRjaqGMaUiIOqIJcdUUUSUSt9WMBdzVls1tzAzprydWugBgEvUuZDsgBjL8G0DFG9HklZx3FEnWUvPWrSZVRBTXyYYNRj9tTZirAT+5IKZNZAfG79b75LZY20wyUdVP6GyNiQnNdZ2an5FvjEJgonj87dUXXyCTn6pSJ2S9auSMkTErJBwcmiThHGZGhlB4jPINpxxnMis9q7midfV9quDz99n1IB4XLacpd9gU0ScJklHYM1ksogEw3xwTanJUA1mFWtE0IpA1ukLBq8SgrUlz+ZUXoXKENR8CwAxY70NagrEZN8UuFRViZsw9iSzwH8QcUyWow/gtBQFQkTvSagyOTXQ2gInG9SAj6w5yMSHV23CuAVgGgjKUGJxxSsejhyV/puoP7HjtZiMkqU/lB2EFT9D/d56Nf8Gn5RhTA33PAaqbbHqmD0zoDlBkhv3UsaIrB6b4pia+QosupkPZoiKgyk+M9zx4pOZmTC7Wgu3qCoTBime+xyKKaNN45/RSmuxdWG4U7qd0jBs2PmAUQuZmoxl6VPkFBEh9QfJNxpnmMhVwZxSiTGXVSHWA1AttWZnpFpu5GWtqVQLz0sOiZyXOj1hhZeF6YiFEvKqlGciqg/RvqhCFkgkpQZgYutj9ixOuY5L57VoveUa9DQqzNlZZtMXUEginyISNsyaGpdH6vpDVbpRZjb7vWkdIp7Px/1+b+0/QwjMTdc1i0VLTePHoKpB/DjqcPbOueVy2fejoceM/aBB3n9417Zt3/cisl6vT6eTgrZd86a5ORx2T8+P19db1+B//O//uzdvfyAGA/3sfWBARfQhOOdu75YD4fF4RICXx/v90/Ph6eXTjz+e9rv9ePDDOBxPjASk56d+rwdY4RuU9dX26u2dY9efj6DdZrUmBWDy3kvwzCziX3bPItK2jtlZOs1yudTl8tvXr+fz8erqioH3+33bttvt1loCX19fi8jpdOi6DgCGYbDuP6Mf+r431J2ff/55tVpZe6blcmno9TL69Xr98PDteNjd3d0ZNV5eXtq2tTSJxWLRtq2RGtKxHFERG2NzRPS2SRLkgGavXJjs5byUoYI9zTITACSoVhCxlcNVasbI7sjgQy06pISIs1QvLltVFZi40pJMtOqskMeTHQ2kQgooimLGDJICAzZN07YtM7dtmy9GRO8lm3BVVAo716hqGIcAEMKIAA7BXO52gSevELEiENG51kRlbjgAAM45FTCj0TknCDaGpmmIG4u6hBAMoX8YhmEc180SEZ1zBgpkUwshaAiZkpmYTG4cT8miwFpiBwEAYJfbixbfE1TC1jUxcWgYzsxs9n1BrVCdJ55MhZ69uV6+WmgYoaTUSZcIanY6U7KjapFYLwel+APkA0B1cX6vw2yRFwPRnlRGA5ADsOqw2E9RvEX/TukYqqqQMF4w2JVSjR4AVAQhNZ3O8wwhMEVVjenK9MBE0DTCNHLbola8aYEdBUmFqxXdk5DlNEsCAgFFZEjYPXkJsiJPi2T3FIwCRhdHk7JZMiZGJpqqQukhxckJmjUiqgI61ZRSZxOxkbNwbsuY6YOICI0VpSIiKIiAj2GXeGhWEQnp1KFi+N71wtt5SUEh5XtOJdQMMC7PSCGV1KfK6KQxzeWWcFSICFEhuCCjkjKyiDf8YCTIeKtZukWWI0REBQZAERjH0ZqTI5h/HAxuO3oTkEE04Z1NLF3nUgZrZSlCNBABIrR5TKsgJKRJ8kbiQ3VMVroNINlvh2g95YsrF+LSIqCmQhowI8OKE7xOfKVABoIqucssM1loT6YtPFRB1ew2Eygat83fNC+yg8FelA5aQaKbFzM8liLWCCcoIR8IY5tmAEh2VX5bmQvFQYqIAcnHtUAEBIJsJWMsCEtiLtvrGvPdI+Nxaq0VkzKBAYNzra1US0yuCWFkdZnzmJ1zURlgXKzoZ3LOMTlCxwaokt5sYt17TzHdE0QFlBy3xnqQfGwY3RZEqdNCVq61TNckq2zZK8SbgKQQDx/aOjIHOnNXvGjpkzVBrbPzP7P3DtFaI+WzbnRAICJgnAhAl4D/TXwpxk7SExiA/NLkWitew+L9quAy8ggVQgbi0PqQb6cF0vTX+B4isKgRkvloVCGAADNBbCBha4OWZ4QSkyOtLCtpSmKKsgUg9gyP7wBhNvpbnkCoBULeuZBUYwAEdogoAPntoEhswQ57ckyHs6lXURTIuiCEUURQgciO+rF4oyEezv3L6eCcOx73Xev683G9Wq2W14ZpHfzoCFkVlCA4hUGC75r2uD8g6v39/fXNlpmH4Tz6/upqs1x2z8/PP/zuu74/PTz8ulptNlebx4cv+0O4udmgqvhz19wEAkvyXjSL4+FM1KDi8XR+ern3Kt77f/3Xf31+frpad4fx5RgOCuMQTiON3uoR/cjH/qd//+nh6+P2ZnN9f/X3//z3Q4+7F3c+ntab63W76vseSRAZVfaH3Xfv3o7DECT8/ocfTqfT58+fj/udAgDyt/tHJlptN977UcJuvwOmzWbz8Xc/fP7l02azGcd+GIamadquOZ1ONzc3+5dnZvz48aOI3x9e/DAOqiBKDhfLBs7h/fv3Xz5/+vLly2azGcfx8fFRVd+8eZPNx6ZpxnEMYlrAEbnoWgYMYYQQE72ISILYeomIMAEAk8vWrVczGYvzQQTzeVvEO+dQVUJAAkiaFMuOZlTUACFIDtvW2zltjAmKC5YINolo8hBrCCGIgWyCudtFRPzoWAOFQXpkYCfsEbEz1u26ZQij6TTnCMB6VkQbfbVamV+c06dpHDMH9AoqHlrnmqazzicKQQIhqcLQNEGkN2mBwEQIajgTlm1CzAgA7AhAibBpnbXbTBLHe43b2LUNM1v4RUHbrlXV3lvRLXsvqmjmoxcggMEHJ7poGBHRIQRo29b3w5Ag8EVkHEPXdXYIYm5izi1Rt3Dj2BNR05Do2PdKBESdlfVKTNQpYYfG0NPZogrRiRNCMC1AhPnAYJJPywEMZrEUSnA39kBmFAkq0HArKCKiIlYXBwDIlA8tpsXsHY44QR6btlUQQdTfRJXJGmV2Ac5qT3M3+2TaQhUFgHgAnTuxtGraAsUwDVDyzqtXvBaBrf4eIxqaL8BYLn750YkDb+KfsxHNraKLc1VRYNN+Q7PhafUppJoO/hXaRoQcc6W/otcrjZuJli8oA64nUSvp+mmv0qfah+WX9JAJGgakRSQirm7J6wummSBByXJEccnRK5nmo4dp7o0B0if7mM2Bnax2RER0VFOSUmoRgkxHEj/O2SDjGymvPicUiJIsoc45Leq/uCoRkdwr0SsCjLlDU7AtVUUqO7lecS3h12IWTE4yv+Hym60dWlIZlj0SZVkI1ZUVBtn0UeWaGAGo2DLu9HmyTb63JoJmD25SP2kVcu0XZmLC1BaseCz+7pwDJdFSikBkKZtkqBQzdWi35F9MIeWm6NG7r6qpW2fuj516cWKKQXDbcFa3GJ1qCBCQuHbeVETgUvJrSUdq6ApDWaPIOoiIYRqEqXk4f8/MgNbDpdrCIpBSXeNw6iWVYKddW76JJ1iqI1/isXk6XP3XPKr5fOmiuwUA5KIRlIy/ma6JJbk6rV3W11Jx6k/1ikkoL3bFyoxXcw4pEcfEskoTlYkLSvXPyI358FP2h1aZaZNPuddkToqLGqI5EZ32O+O3L1++NM4F75umWa1WDbcP3x7fvnkPQN77puEQtGGSrvPee/XMfD4dich6WIYQdrudBFiv1x8/fmwadzwex3H89u2bc0gYrpqNc605qkUkgPfDuF4sz+dj34/H47MAn8/Dj798GkN4fHx8fHw8H/ef/VmCPx53++ORiK5ubs7HIzNvNpu+789Dryd6Ojx/e34EdsvNNgj+PHxtm8V3Hz7sdjsA+ft/+LubmyvX4Ol0apqGIXasvL29DuNwOp3W67Wqdm27Wq0MsuZ0Ohl0IzPf3NyYPA4h7Pd7g9tXVS9hv99fX2/tXN11Xev4sNsfdwdLhT+dTu/fvz8cDrvdrm3bcRw3m8319fVyuWQudcmYXIEhjGa7QwzmYI57QbRbAACs1ySCpMBIRC/NNWM6LS7PjiFMhjWksx9Ex0ilKAVHP+TnZCFprnGtHPY2BRsARLFZRJz9lZmtV5wkvDXbAexwsWyCB+8l/kyVCxkxS0IAIIrSr+ZbRLQIv3NsuUzek2oQRe5YJPhxQAQrSBAxEddI6m7WEgCyAcXGp4kgKpOii7ivzrmmcRAHJgDsnGMiVDgcDiLivUAQ5oZcPH5HDzSD9OL9oI5FxHE7DicJAYGYeRgGA52EYlGoVf4gATsS8ZbGk90xIYzeY+31MyKbHwQhwmHYLVjidQEuhH8tFrSy0EQEkaODF1VVQ/SlupjBlWDTjNfyQr8aAgUskGsiokEAJGPXA02b6NRGRi1hsQJwzD9N+xnJJJcDFXI6DWIxR6wsFSyJMABA1upZTJcN8Jrtnmabro9/iP7v2i6sB1z9d26j199rzV0vTLl46oz/rUdB0SvzlZ4TFiNuWkRanWYn42vWtioKakIYnV+Qxi/1LPIJOL16vsqIr2jl+gnV89Nfs7c1KeyM2Zeez0QKFBOAQKwPBqIWzcqqSYNas+DYz4jZWo8xElVw1JOCBIxnHVRVgzGeraNqZm4u6W5gPtgi4CYTrIwerFKliRlkYrOmR7Gm1IV6iS+t76mdNI/rZaJdfmb7YrIWAiUtKS5w4WEAvByIqtYN27MIU0K0mhkEuBBP1RsjpxJSKbVBO0fkzVVlcF0Y7pnsWNUZZ93G1AQBRKwhz8opYypANfld8mJl+AIiLBGVOLAaWSUSPj/QQINUNVfOqCoAGVoRTuOVCoo5pml1atYFjwgKb0eqGkGJJimtcCEuZpNSLAFJ+5jtno/u8e2xRKcy0NMTXjWPtTob2FNfvWD2qZ+WSaHZXVIdGACgBBtxjm40+8wOFWlJwI4l041ZElSgYoN6n8ZfZMJphoxpnpH02knRCGECsy0jsTUKaR9PpasoESBxYTYFFG0afn5+fnp6OhwOV1dXh8NhtdpcX9/+9OMvADAOg2saRCXC0+noHDC7jGZ4d3N7PJ/atl0sFvv9vm0Wm81mt9u9fftWVb98+dJ1jYn0nDhunmZVHfrT7dX16XD+87//26dfvt5cv314fPly//B03J/P58Ph0HWd+nHoz4QwDIMiedFh8Nx0fd8PTy/b7XZ7fbs/PQev+/3wX//1Z0J2bjGO42q5+fWnTyL+eNx/+/Lpf/wf//u3725PEsZ+dEQi0jR8c3U9nHvLhwSAZdudD8fD4bD40K4Xy1W3IIXDy2673e73e1V1zjWtu7m5MWBHEQ8AzDfOucVisew6e/Lj80Pf96r666+/OGsVBAAAt7e31rNMVbuusz3e970GT8wqpRukRWwU1EQ0IrqG4zETUQUUIWjM5Ayg1kubUg+ZmeY1eH5EbNlhLkAXSRm8mC08Q2vxYayfkB+YM/dyhnfcCGBNPO3AYEKaiNTc5DFpJI5Nm6bxYUBkJUKMvaGIWQSZY7ZM27b5VImI3ov3xYplJucsZTRuXnsvohIjQyMSEISI2MVGVzaShp20YuCz8dScUk+dY+8VEZyjtm0EoWk60djSwfK2RTxN0/2dc4ASwjiOo5eA7AQ0hGAOO+ccOg6goLE8CVVC0BDUD15V29blQ5QiJCQbshclX4kgRvQhSDn9UaLmjGV1pikEJchYOSCSQK7Mwix8slQpeiRl7MBU2RXPY1IMURPNhU+y0ESxuoUABVAVXO1RM9s9SbpYLIWI07wfycKuMPTcaBRVSBW7WW+YepjIU4jOmNomnmTDVwQqvp965qrZEiUL/ddKEap3z99bnNYRTm5Cr+rGrCkmirYy6OvHvvpGVTXBVI3Bxp+Va5xQfs7kgTFpFWK0T2P9ohSsuqJEk/hQjWH+2mte6a048ql6Q6zKgmdzuTQBsq0JkH1sGp+GjlAQAypWHTEocpSpuvpZlNJXAMisdkNjZWayfzJn/P5cDA7ZL5FWSsLEnsBoLMbDJSIixroOVQ3JBZefZr5MjZla0XdYLRCajP6tz8ySgBQ+K0uQaxXFwiYlcVlih3kAKExuBEFEjYF9gJTgHo0iewxokrkZ2nLSx8cMVq3w2tMCTgYvltgSr7JhVAE0LTcRFaOK6gwfyz2bbiWVgqkz3exlE0nqohclFGpa/YgbaMrGpV6YMxGBKbmQpp8sak23IIAlJuUTrKoCMEBqTWUHbMSYKJUMQPUAsUq43gdlucWEvcQmvkU0w8QhYl0J08rGlYRKXEA65NvtXu29IQsfBVUgq50SEXu6NSyzO/PQErUnmmPGqDMy5o+or6cAhSFh9gT7ngVLuiGn04Ta4sXobyuPTIlD+afiLDSdCECqIdUXpjGrleFCHWuaTKeghaS8PrAz9vSjWIm+wkt5XbDqt1CWQBVQsaqaUB9GDSISpB99fzgcCNH8zddXtxLEOffHP/6xcd1+/9K0bdM0SDr6vuncctntdn61XgYvy27h/YDYbdebN7fty/P+5el50XbrzXK9XBBR17UKYdE2CLxabRrXjGNQBFR6fPj2pz/96V/+n/9yOsuH978/934Y5DQOh8Nptdog4mkcGrckhs0Nba/aYRhUlRH70SPRYrUWwPX2WoXPvd+/+BBGR6P3/tyO602rqrv94/2XL6fj/p/+u3/4/R9/r6r7/ct2u0WFl5cXayAlIotlu1wuzX98PB69909PT+Ymb5pmu10PQzMMw/XNlcFErtdLM7B6P1rx5TAMHqBpmJn3+/16vVytViaIvffPz8/H4/HDhw+3t7eWMW/9pyxbRlWRrPoRas8IMYrMDm+gpdUxoItu42xJE03iugDgfck/bogRotURRAy4QFUt3Wz04zAOKj5r3lxrEUKwSC+mOrpswhrvAmo6NwIASLCKeQkhgliYW8E5Wi5aEfGjBvCNw7ZxqiwiSNQann9qLpscGSF3BVJVc8arasPRoYuRsck1RETivQKLIJJ6PwKAudAkuCQQ0MfsjrhbKQYNuGkaS2VsiEcVEa+K3DgiCl6IwHvP3Li2OR9P4zgyNxBkGM62Cog0Bq9gQB1o9QkhmAiVMIxWsE4pKbyoWkKT5+ajMYI7R8zLiBlKFEIwpzsRaYqbETmQYn+KCHHUpzFQY9jcZlFUAtvsBY2yOoqj3Lok3au1BE5fivlRC+f8nTiCr4jEYKZd6bKks0t51he0FnFTWa8TLztUDoksB+0QCUnqpaFTHpZZjtGxkR9yqVEu1Uw9qupL1lUTKVzfa3mW+XdTbFpNJmuRynJKE5uqsfSuQmt8rQUjTD2a9Qfnn+LTKq/W6UuVTNsIUsqri7+8Sh9QhNSzEpHsPEYIitkXOxlJVm0zjZ4bytSEBTtZaqkLtLgV5cbOTChiNrqIR8SMvD4jabLPLGJClDzul5TPv2SBCFP/Zf7gZRFJvDIy5/yv0wnW+6fQ4aJeBDEmuRqxiy5/7VEFDliiL9loZSA8eV5YcugzyMyEmWfzzb/kH72PwGFpWTMZixugFiVKqAlCIz4EAVKv4ksSFUMtPT9tmwxHmMpiqhyoywWt1yv7gRBxlBHT2cAixcYmMwrUq5xDkLXVbm+zF8aJVJCUIgLRcRA91mlH510cp8Y88TEXHtPUWzXVBehUOldnlkKumklqPsnzuqAP1E5xRASw4hXRcsxjtIhQEhSX0uAV+VCv+NTXMFuvV+XhbKgAxqeTjHmY7N9Se4dTyTzbONOxFR8hKIHWhc6uuqyQugy1UL/O1YnbagY/P6PSpZia/RJ5QDRQVK7eexBdLbv1evvrr7+KyOPT/TiE7z6+R9L7h68A0C6ac38EgKurKxV+3D8ul52Z0ar6/u07EXkenn788S99P/7ud79rmma3e1bV5WpxPB+IqGkaw2xpmyU7NwZ1jH/56ad/+Zf/17//+7/fvf3Ydd3x5AcfVBoJjYTG98NwRmmo359EZLXUwfumaXrvgbhbLk/9gOzCGMah3+17po65G8LgGKGl6+vb54f73dNOdPzp3/9CKNfX227VdU3riE+nExGtVisfhs162XU3YRjX66VzdD6fm4a9H7quaRr++vXzarW6u7tjR+M4Pj8/b7frprk+n4+IaOb7erMehsGPfQjiHJmhOY7j3e3tZrN5eXkKYQxBh2G4v78/Ho+GpMnM4zg6RwB24I9dMJ0jEcgpXjhNSHAuHh25bUiLTskLnc10+68VZVqu+aDqrKmMRvtbxYqXgpVa1hvH3MbZlZCzQTLWiqYkOlUrfxWTsiIiEjBG40kU7exhhrXVdSAGxBYgds4wTWru9lzymL44qT7ZcLctpaouJjcKO0wKrbHIHJhHkJSZJbBhElpBmqoiGfCDIyJUQo5JOABA5Jp43oCucQB0loEBGWkYzs61lijbNA2yEtEwnJmbplmanCa0moLADk2vZbdLXprsMaGYwEbmPrYyqkgx5wBFRgkyIrB56M0/aBKGyAdBJBAxBWEJfuFS2WVpkPXITEvW7vZKWE1iL5Tw3RFLXzmT9eVR2bxMjU0REQAdZrsg3Wl2vUDdiLS2EoqJOxWFWWLW/yrOGERMWfYRhLuSjyHP1qwwe03SBPF7eZG1XjdqUrYzZqg2ABci+FLxFOJCbVDODfRa2SRCQ3rgPCBySZNXP2k/Y/UpoW2dG/qxSNHGEKp0ZNtNWa3q1Ny8HEzkmISpnymTnjD3KNqXLFOqCSYWhIopI7lKFEzJkWZeirsrO4YrCjOiBlDWWEuHiJbPekm6PAYTJ/noaoTiaZPINMF4i2hGKpzicFXF4DZI0JgQlSqQAKZnwnwXQ0z7EZgQEyLzRt8JJve4SMSr1mg7Fm9xjvel6UOiLVTfJzKrYvILO14AaWK764RzJlwRV1DJwHXiNZS6yhdLCAFifhTUbJ8AOvImin+CiRU4YffqUw8jDV7y0+onzMafmJ8holQZ50SwRa1w03NdSo0slFvnQjpgI2JKySiRXLzYRHH5Emvk3Bi1YIEgAMp0wHni+VChkyDJ/ORZL64B9tSvxpIZUgzZGcVqEl2ueP7rJS9Nebg8aqYy6xhx4p8wmwgWqWsKFez+OjmqGmrIUjb9ZBGntIfRQo9qPevxNbjVC/Ebne5gO1RzAjESKRplK3lb9QSbcSYUMIYUAHOxviYK4a5ZyEJF4HA4PD09vX37djid18vu+flxt3u+urrq+x5f9Pr2xjJ0rTvQ+XA0E22z2Qxj35+H0/lIjKvVom3d+XxiR8tVu1otgg4islqtmqZD4MVigdQOx/Pnr1/u7799/fr168P99e37zdX24bn3wYs6P8JPf/51GIbFonXOBQnU0PB8UNWn5wMzd92S3eJ0Pg/jAZlAKQT1EhoZRTzzQlX7vv/48YeffvzLcbc7rRfnw/Hnv/74/e8+Xl1tzufzw8PD9fV127nha980zfF43CxXwzAAgHNuvV4/Pz8/Pj4ayMlut9tsNt2iPR6P+/1+s1k55/q+55aXvGRHSmgpE8fdi+W7G26MnQFEpOu6xWL15s0by7q2upeu6+xPIQSLzYoIovUEjZAJed9FBlMUDESEjh2yuWNtW4WpAy4zgcSs9Ca61SU4VSIyuJK0MeJOZGaCFqYb3yx1L9bOKEo5QkNioBSuFABC0hTwQfFeRQiRkQCp4QhnNsTc9FYXqhrRZgHAckXqah9jUWd5/1UJfpSNpIgsItlwt+Z5jhgRFQIRtKEBw5xBxBAj5IGVIyC1dduLh5OmacixKhqqTIDR3uWaxntvyR3sqOPOrG3vw2733DRd27Z27AkhqIJzhI6YGSnmDtlyMygRjV6894hWiQTEgMBQCRCtWv4pBIs/RKEk5hQvvT4kKCowM6gQp6h1Wkqowu9ZLMzyYfJCS4GYm+NnQLLBiEiSExBQinApaCUogoBKkLuiRGMnAXdUPApJyNVvqv5bS8aCRKEQcutEk3CYHLpJ389d0apa2V1ZapqnEGb/tYaOaUh2ADSVkEvoJnSpRe/sF6gsoXqQWc2kC3RCkAtbvL7y1QsuL4aLBUacfC8Dru7NZEfEEHv55PGzwYVMbaaJP7VW25pN/LRANRdiCozkpa//VM9CVWNKCWLqrG42blygiZ2BQD6OFhEN+aZeF1UFJlA1sIX4VGRAzEWp9Ykwj1nSObIyJl7x6GsqmgGoSzYnOBv5Awk7JQqmMDF8iQp2kCbHiSgwOlUNKZpfAqNJ99f0gcoTWb0XRMRLcsMjay7CK6O190KeXw4dpLlMqjtEBASIJwG7mhUrutmj4/Gj8kTW3s2aoyfbKq9mLTTSAydH5foCqqCv8pqa1MPpzrqQQmX8r+6s8gta5BTqG/MDMdq+mGTRzKdSzo0qkxcVDjRlkjCyzL+OZr7PjpSGbZPOM/Voa8nzGkPWZvTEY41oUdrZsCMnzH7JD6m2QP5roY+9lN2UjNUKQrWt6hECmAtmguxZZcRJNQtIB2HNc89vF/FEzqZkyVs4ReYFgPKWBIBTf2RizUcOTM/HmiHTIk6yoGr64G+I90glQHSaK7BVVQUOh8P5fD4ej13XnPY7EWlaRFFmvLrafP58Op/PWx/DoAZYYRkjNzdXTdOJSD+cu45Xq7eHw4EdrdbdbrcjgueXeyv8aNu26xbmWO3P55eXl2/fvv3rf/uvh8M+hPA//c//85u3f/j0+X8Z/en+8TF4H0JouCXgcQxK6NCd/WmxWAz7fce83W4zPjpoAwACIGFEVNc4gTAE//D49I//+I93d3efP/20emyev63/AkIEIbxdr9eWo9I4+vjxo6p+/fo1R70sAb1t29PpZBn5y+XSe398PIQQAOTz588fPnww09RWeRx7y9mwXP+np6ff//737969+/rl18fHIYRwfX3ddUsrOrRM7ixP6jib6Q1IETYAQBRKaEERSQYEkThE2cjMSZnmFjelz4yq2tgYkcgZlHgADRLMPRKNQkKAhlkAoM6rzMOzFZSqL1seYbL2smuMECNUikWrAYIquYZALdMjbX9gVbRcbSanCUvKPM0p6B2Rzm0MpbIWYmhVJLdqFmJQFYrdVQFVCVtmdM4RAQRQVQkgIkpl1yDFSlCi2ORKBJwDhIgYHzM2CSx5349W24CBaTyOVqI6jqMInE4nIlgsWkDWrnXM49g3zUJVVQMDIUEQCoyAap22YqNUIkAhBiLEBN+MSdpneauAKfAAAEJoGAbWmMnQ/zA2zJiYrHM7ZCYuMqvUwmT2I7wiVKfKNcscgQhelBWWgqqm4tTq5VodMeun/+2PiABIdjtBpUuMRNlAhZJKVdJk0wQKgS7ncDlnRKw7BufL7MeZUqlpPSV6NJQvlFB92UTrw0QlT443lz7C+pn1yNOwL88GUaddEh+BMZ5/KKXmx0flk9/M6MlzqXVtbX3WH1Wd5DRXv089wcaF8a+U8va0oMvZlRFVZgrPXPZPfrjYLkG0LrAT+lfdWyYkmu4Ze4hgEiiJGpdH5Ew0jXnVr5y4kkkgAIClK0e6USaWvYiAgsiomjKka39G4/LwMJ3SoIKOMumQbxmD19Q5waS5kTfjguf3piGRqq/HnI5epXWIJM8opT6BkSYVSSVWa9nez7Jmjn+SaVUHB/MxLJ8Nink0XaPqUJT5bQJ8W9FfMuXzeuWLL+Xg7MCZCWIJZQEkFRCL6UsizmdmrebCGKZPiEejmfskfwidJOEuCKk0M5b2vrKF0wiz+qSEGja7Bi52MQAUlJ7ID9EqTUoRgKI2qvZqqR2vRWW1KPN/Vos2dzTMJjW7HRExafEoCUvrqDJZVaVpY5pLBsDK710zSSJvIiOA1pjC8cfMuBc57VN6qqrJUqqhTgv/a328r0eYBF2Ue3mcPvjGdT32Ly8vDDrI+bvvvhuGHgPcvb1bLBaHw2612gAAITpuxQXnHJEPIfR971xrnOacOxz2Xbcw3EkAAdQQAjGv15vr62vnWlHc7/c///LrL59//eXTl59++ml32CvAP/zDPymsvny77/sw+n4494vFggDHcQSUEPzu0HeL5ng8d91yuVye+rEfA7n27Zv3+11/Op24IcXgZQyjx3Z5e7V9e3fFzLe3b5bdMoSwe3nhjn/+8UduaBiG6+trYjADcbfb3d7ekoK1gO373nt/c3MjIk3TWCmtNbMbhuH9+/dPT0+73W693fZ9b2WjTcMy+v7su7aFBPB6PB6Px6NV6xLR+Tzsdruu6z58+GCYMyLStm0IYwoKQaz6lRImyhwI6UjJ1mBVYqaKiWjvfa6nypLc2KNpVsfjMaOyJF7FcfDWzMiYwSXABqboo8n+b0jb3znXNI1t/Jwwk+QMinit2JWQAAiBrXGy5cmAEgDHXOrYWcwxOedcP/o8wnxgUFXR6OOjClICAKzYSwQ4VkOhebgpdgZXx2RtU9VSR8K0KVVyjoiiARwDkJWW2tmDgYHIIJUQ0dDfRwwUCBGHYUiIOjSG4Jzz3jB8HDMbDmbbLhB1HKBpGlUSP6ooM7PDkMD4bbEoydVIcBSAmF2WplzEkYh6P6qqM6T5jGOmmQUAE64/XlgdU5FVVJLjFhRNaBESEatoEGU30aSqEz11KVptAFp9zFZ1uWjSljYtJLGFJINAKq6Kt1FMHgAw72YUW2wxUDBdh2B1+qA6xeQqMk4jHLiKpkoCIMRs9MXR55bmae9VxkFJLYLIa+oQVUWC1DMmjh03ERFdGoakpJ/YrSkAahxjbLgTA6z5UJuXBwAUAUklWat5x6IGBMNU1rjfrPkiFrQTTIESMxQs3l7JFFvC3MdBUhqA5RoVZhKJLi5CJIPDU8xVnlnTZG7D7IUFIG4qtsP031Jdd3GjFa8UgZUgq8TqLEEjYrMCKTggAURQ2yoBXUNsWLkGw2eeUIcGXIjmMLBDVPSoRdvHXGsCmDpR2UOYG1sVAEoeaJcatSoiSTK8CFlFVX06LRgRsjOkJJGLGIKECWt1jgEweEW07EMzAQMRIaEKigTvxdgl+04owjZFHEzWHJ9FEQXI/YM4jST2XBIB70UEiFgFAoRcmmmVNDUTRtsFUcUn7yOoAiJbVCGoIjMEEQmOnG0FIrJm3arKDKpIEvcgmaVs9nd8dEwZL9JECSHmvhPk0nMkhAgqAggKFMEJNAOMiIixfGZIKzWpUQXyf6NjFYJWxmeSZQiEKaUcMII8qqoyIUzzvuJ7Y/TGyu5tuREg1sImdlLMqUGG/G1pe2SANiQiQdT2spYzG4jamsYoWNpxLAKcG6elDwEiYF3zg7YLCM1Qm51JtEJqqkRHtRxJmOR9AQAEDpUIsHR31LJnE/PUd8UDuTki03uVYvvwdLgEQAAmkop0qsrUxNGCHXgobXCbHKBPODMoaJ1e0bY/ZV+jRutZTXmrqjWOZeYcZUXkysVkhyQwFoBKLNsnF0Xk45MKSowQ1nB+9t8kGFMmlaF2BAlqQB1V7ML2EYoiECEphBBExVtPmXEcUcdFS/dfD7dX28Nxh+JOp9M4jsMwvH/PT09P5/NZRF5eFr/73e/6/qzgiMg5IgIY/Hg+MPNy2UBoULQfTiYdRn/6+PHjp0+fj6fxhx/ukN3t7Zvdy/55t7+/f3z8+vTw7RGETkcfPP3f/2//j3fv//iH7//wX/7zf0UP6IEaFQnskJwbjoNjRnCA4e72drVaHV52P//1Jz+MiKgIzaLr+57QOXaMiMH747G9ff/5l1/3xx226mXo+9P+kXAIIfR//0//yA6/+/hxtd30/fnsexCFEUIYVot1GGV/POANEFEAPZ+HEMY3b96s12sAWCwWt7e35/PZoRtwOJ7Om6tN8AM19Hj/NYx+vV4/PT0hyM319v7bFwC43l6JyLs3b5+fn4dz35/Oy27hiMfeWuqwihKi9QGwQKv33tSo7WwD4VMKzhEGHEMgstwnigWLbeu95KBBNjNCCKqyWCxU1apOswwx2FYVIE4F8aLMrBqaxkWhx2DhIyZGiZc1XAQ7EisqgCIJIaiSIScSEcIoaomUEXYm3gLcNIzIKqiK5JjQiei67SoEcUbgnP1Ye9wt7T4rFNu81oPCOo0EDY6j0mlTznrDaHntACUhJAQVEWVLRCFEbhqONUK59zlS62jw3ntR1I5JnIQQuqZFpTD6cRzRurl4T4zsaPTHbtEAimpomo7Bm6aViLTITbtgkSB9TokRGYdBiNC5peFIMzOimSdAhCIgEuyMx9ypteUGGsdA5DRrTAQkRGIkgiCgIAG8mtM5mnBaHAqmWaKINvMtQomhaHJB6tTDhQQKAdBahmEy+YpHW0lij8iEFxEQRMAlj+MkvokoUFpDT5AiCarmoIalVNt+U49mLUwv/1m+VJpopu4M1VxeS96ASv2UkaaMc7lIkLUBZGRohdjGKP21jGoyzpT/WjJ24sAmg61UVxmYVn61POiyJKoA4NOk0RRafGnMPqlJV/FHOqVhnT5Rrq+JP6NDfs5skDWhKi01ybdJQ5tEomdfqheVVclTJmvHkrILQj6wEV2sPM4WN48tnTCzgy2ja0e+j6Gv6lEAJdO6PF6pzpxJI8fU2iaaEZPgmqp1apRgO78AfuclyOSyB4ZhoJQ2k1dEVc0lOtuoZNmy05hAJmDNTsnoF6i8y/aJ5E3u5BRzmBM3LtNkjSaOz/zPtABz52U963qcOH0fFqtR8yqnJ4tOH5vpluSSaskLmrBBtXM1y5BMmdkIZ7enJ5cPlJDbJJySoQwrXP8yZRGpvb+YnMGYDrrTkeBMYqmW3UR0Kc0AsbTmrScOF1u1nma+vp54ZqrZK6jk15UHEhFEJTc5bqmdg6sexpkrKg99jgoCgAE3m1FizykBjWpIlAfD1KiqTtrTMCJKtV4IrCn7ZVorMiFd2dp1w6YkLvIU0lsqN7xgTuycbZ1IVdUQzKMJzIxQEC3MlbdarQ6Hw/X1NSI+Pz+fz+d/+qd/6vv+cDoh4nq93m63fd8fj8fVauO9B4SX3VPbtlfXd4+Pj+M4Bq+n0+nm9kpQPn365Jw7nU4AsFovNpvN7c0bUHSu/enHX799vT+fz6p6PB632y3C6T/9p/90c/evy8UVoEcQYsiN7pnb5XrFzEMYnHOH49E6XIYQXNuE0VPj0OxdIgJy5rMk/PXbTw9fPwv0xODDYJCOrWsOe/zxz395++H9m7dvDa9jc3U1nM+PTw/jOL48PW82m7ZtP3/+fH1zIwj98RRC+OWXX96+e7Pdbo/H4/G4d84dT70iMhMz7neHjt133333p//9/1BV59zT02PXdYgQQvju/Ydff/31eDyu1+txHA2d0Dlnyco5FxnI/NZx2zpu8/IpFKRtIgvORBjvzCcTh0W9LzInlBO4qiqm/HYsJ0nIj4K8lynabYhFrdR8mwr1DDZKIYHeqCgCMwsRQkqDQWC7m8iBEgAhOSLyPliOO6R4hYqBJKJWfSSSaogOMkQ0JwUA5YYMAEqc7A3rrkixJFdERLwdRUCJmQAgQFCtczvj6QJKOg02zOl12goEYK/Bk7XeA9XAzK0zjHkEhEXbLbuFJUQRx0atIQRmdI6coxCCFD2iqlHbGpjMTCuZ8CciZiMaNk0TvOlSjQ22EmZUXsRcOJclxkzm1Fqvfl39u1b5ipfCKim+YorPbsy/UO4ykDJlXzFYMfmpAha/VKXw5jFNmH404qzV1uTfgvW9VEWvTvX1d5lUT8+XSaZj0hNm8MUEDARIiMHR0qvygFG0trwTZePIC7KlnZyUpJC4Vhv2av2NMecL8jJXOsamMzE+ssaqaDKp9C1vrAacTQS70ntPLkq0ZEdOSjNncgpL0R5gAipJ/4wX1Axng8qMCEA5o0kDEJKCiuajKhq8Y0WBwvHlXbN/QuK/cm4pMzWbmmKfi9wF3f6XTDEA1OiYjz8mFgoCIhDUC6hzrli3RNYfNzXBiW7TDPKYjLDqpERkBJ+xsSFe1QwWxUGFVDiz2is+R4C8ssXKTOto2y1riJRnbMmakFwF0bnyyhnbXiEiBeQeeNYxJ8us+vb8PUuJNNnaOsQshmrmvPySuXGycYxceVeoGrtU79U6L7/m6np/QWqekpkwvXAyhiwHdCpPMp5avUfsvTOVP6XqJZ3LiT4P429eBpmk9TU1SeHCvgeA3OO9JqamyJ4RsmCxA4BMUuYwmtdYG7iEJUpgrbwTkRlKz6/KlQMBgQBiNDJjJ9seRkgJlQAYJ8iImGrJo9c8SwIRUQWKgk5gRiIUBK4rE2zH1zPCcqzFvPSJoGRxYMSIsDnlc2CmLDO9Hy0PxCL7Zqnf3F6JyOfPn51zVpN6Op3OpxMzf//999vt9ueffwaA5XKtqof9Yb1ebzYb771lUOx3x/Vm6RwdjkdEuL6+QsTr663r2uNx333/e5Tmp29ff/7p129f7wff9+dRAogPTdP0w+mXX/7KtGzbZdvw6Xg6n/xiuXRt1/t+VOnaRRhiVsbD4yOotsuFQxoQFdmPElQIABnRsYo/nHYPD8/n8+nuZtM0bgjndtG8eXO72VyhjseX3QPRy/MzIlLDTdeOwW9vrj99+tSPQzOc3r1/8+nTp91u991335HC8/Nzt2jX63XT8MvL0+l0UtVF16w2q8Y5BFgvV/dfPx+eXxaLrmmaw2EvIt2icQ2NQ388Honc0+PLzc0NOwohxCas7RIRNQEhIDkA8D6eWOp1V4QIMWymLaLFf0zomQU3i1Dl4s6q6GVyhnecRFySx5SQmjEbW+axtpx1zfDH0w2ewaPizrAEFSRuAKyzZAIsjvzrEJHQxSbB5ACQOZgZGueoJCgJKTxOpJZdle62CFhQCOZDYqbovAhelYihoZjtQwQKVdcU29YRtY/AQhupoTsgJ/PDtp54w2QU0wfaEPumE+mtRZ0lrrQORHzjmFEbBGJGJhEex9F7cEqqzo00jqMI1aoHI5QwJCwdYLayhNzUzyAKUBWZG0IZx4S6SMDM7EyYm0CS2nDPolWrU1n96iKE/qbVOhtw/qemzOT6U8t2AHBZUdlfs85TkcqMB0RkY8RUPJoRcCGfEV/7XAy9nFGmKvP1edpnqh3LF4wun0lxG0R4xMsE+kJWMnxm1OwxopjFLnGnZV2iaf8BmH2W5ly7b4UUcdrbKP8379vaNPkb2t0+ASKEwpxcF+7DCWUqp2mUQcRZpYWUlwYAMPoc5pOUj6TJ1LZh1xUzU64NWD4wJX46kmLJ7Uv0E0QMKSSEiLWHo1pcyugf+e2EhDypJYW5h37uXp1dUyVDUJa/orl9VaFnWSZBAQigBswSZTfmhcHIgKBqZakIVoCYEeOTiVyADvOL6g58r26B2e+mfojItEtmoYrnA0x2kNoIcmZ7PpanG9PRJw1JCwUwnjQVJJjJJWXVjM+g3Dgb8CVjTykcbfc0r5KgX18Z86cuPBazJ78qGS2rfzYA1clpIXFLmD0zkUFrqSqihGQg0IiWuWh2Z87fy8BnSX5eTF/TERNgLscgKrkiUVXVyvGn3Q5qe30mb7MAn6iWatXmb6zIlfcUVWjARSDY6zB67HKDJ7LK8ehsBqegmo3d3A7Csk1ixlI0XNJcEg/kbjgJ3MV2TyznVcK5bwKTeJ4os+mHKx9HndoXw9wT+VU9o/CzxZy1+CbyBVZ9kWEBc/2PYbaEEK6uN+M4Hg4H772hauTXLdp2GIa+780UOJ0Oy+USUTerJaI+PT1aMm7bueNx//MvX5l5tVjYsBeLxeZm++H994h0OvX/73/5/379er/dbj9/PR2PZwDLIe6H4fz+3fdjgPv7r9vN27fvrkMI/eCDDErsGmftgp1zrmn6vidgx60jInKnvhcRUQFUR6joe9/7/rxo9Tw8//Lpvu3c9mZ73O+fnxdEdD7t2kW3Ox7u3r1l55ablWubbrWEITQNO0fW2PW77777t3/7N/nw7ub66vnpcbveNEziw2q5bBy9vLw0jWsbXnVtCF681yDOcVC5utq+7B4/f/m5aXG9XBz1bOnsq9VmHEeiznXucDio6vX1tXGjCUmimCWiyZWDSSZDTl42bZUy90SiNowdfiqFmCV5cVNWyktEOHsS0pGV4nZu7BCLRZ+W7HnIQikLnJBP2pnr0NRM1C5EybbhuA0Ro/lODkr/xMTnMacRJP4S8XY05fRrlYdsVrWIIQbaNoGIZ0Io6onvaW7yAAEAAElEQVSIY9alDc6VkAOKCmg58CApAaH5/kWEEIOSoJomciAEiJ6DExSnjUlaD0GZuemwda5rWAI2xJbg75iAiWMj9Uh/+2eGA0JEU+6cPlSgMCkvpogyNYZKQEToCKLSUWZ2jfnsC4kulVFmp2y91H+q1WIWSfX3Wu8Ufph+8qtnNyKiS8gVmREli0VLchKcWKJFCUX7JSuWidlUXjypgixu6r8xt5kpYBaPhBnqXxoPKAKDAkzLH/+2bQE5/8cQ20rAVzGhQehUxV7QvRiXpCXbp46mZS17aXAUSopdaWmyqACacDzntmncWXUE4BVw6/pyO+BeElZzTYmqRZ2y7W5sjam2I3+veQAAprb7nKsAgJAJSbH0lVCleMxNYtF+r1Vy7XqvaZinnGcReUOLFXjBe5P612hFJNTPtMT2/ox3FK+st5CIgAAzAUNOjUjlmxG6y0Amo5wsdCBjDVVAZEopbiJiqLSvErBm79fIPgFpyX9SVctuz//U1JAHAPLdiEhYqkTKBO1LstqzfQOACJNDVKzPB8VpglBenVmkD7Nc/w2ZVf9Ye/Ht2YioqWvb7Dn5IWk6s4dLcs2/8sbMMPb/9QXVn4o7QESY4HJGiEaGSrwqIhIoYI20MJGckzSz+r2zXZzuqpe4cEvCiXvl9D6TkOmfrxvuMA2kALDOT4AAqU4pr0Lsr5vOKhWh4rmsPCHl+isAoiqA+fwM6y3eZTxmVQAgEIUhIyAhxdxQjPmiWsKDhtWdR1uoUfNJRQRz6JSAYU2fLBMQJ6TWdN6teQkhB8oIACxROLWO95vtahiGp6cnVW2aZhj6YcDPnz9vt9uu65bLpSN6eXnJ5cjDMGy32xDC4XQ0x/zd3V3XNX/98auIfPz4AQCen1+W6/V+v+/V/90f/r5t2sfz/uvXry9Pz09PD9778/loyIkhhPv7r8vlul2sTuf9aX+6vb1drDardYvkRoUx6HmICcHjuV8sVgS43++36zUiLrtOFo2q9ONZYTwcD4f90ziOKCdGCjI6Wdzc3Bja4+evXxYNASEG3x9PjhkRh+Dbpru+ubEU6uF03u93APDDD9+fjydpQwjhfD4eT3Rzc9M03eEAADD6HnEhYQTV4353Op3ubq6Px2M/nBaLVjUwyXqzVNVh8F23IKLT6eScW3Qr6+Fon3EMTWPwnrmVm8U2awDi4p1NqWjmGMZsuA+D16w2XnVPzLjCx/CdJjMdNW9wgwx/Bdc4Py2Ph8hFdGzlFAFjRGVuUzBB2SGVkjnTEYSIhGwJQoiJzyGa6cbYUaRnwIPKH5oM0CjTRDH1kxJAdMSIJAoOAQlEpKUmxWylHBKQrfksAIiJBYgZO2DHniYC0QClMXeggkQBRo8MIsLB6mERUQHEObdom8Y5O/0SIxGpo1z16xgdY/AtgJlzxT9FRE3DeWwUk2xRGBVYREANbEeRySGremLXtC5nyyTDPSQ/cJGBRPmvE8M9yo3KQMo/TmTIVOnja8mNs7vyR1Udla4rKb3Kbs4DUtP8ODXNc4Cgdtkp4oTFYZJI8wrj/v/zqUlT/1j/FdGatEvl0JorxfTFhD7Z1GJsFsVggyQijkm2hvE1bQrRfwOISBBxPOz52SpK+zDqV7mYQq3+8y/VpGzAvxkxgWRo2vXJEC/jnD12JoYkACKIqPdinvgU9VZriklk7SUAAIiUeGJ/2NKnLTHnyOIXVK6dj6rKrhERlcxsZCWGMJl7ekWy2+tFzC78pFMjx2dkZQAgZK1CLjrJDo8H00x/iyqaBZ/kf/TQOEecKoEQ2CpxbTukTrYASipaXK2vbb+aeXKgY0a6GWPUC4eIzrVQ8qGLV8PuTt6g0gg5sVY2heMAmAAqMEqoR4uQ/Uxp+SadX9FgguxwMs1Du9wp9ZTzNXl2ScYkz74oiKk8BQAkslrkiQM2nWxnz09LbB6HstMBrHc3zwZQE1njwS9klsuDtEpiLGetaNVFDoJoUEqGVEOKZ29bkdekx2+Rqxb9F7dQcQEDpuJaqEdbk3q2E2tSza5MYwCosttVcxAyp8ZNGjgA0KyjFsWEtAreNB2ZFAJPmirEo0g6IdszqUQxAYq9jlEAmAxy2QkiGCCISKxb1bzc9TM1jz+HJsxwqbJDJ6rR0KkT6abZgNWqQcVFM3mrquM4mhPkdDo1TRNCOJ9P9s8//vGP4zh+/vy5aVzTOAA99+K9b9prAGhaJ30gBNfwMAR2JD4QgTnjQ9CmYVQdz/04LofBH16+eQmLpXt6emgXHYCIH0Y/ImLXdc65+/uvzM049uvF9mV3v9s/bq/fbLbXDkgJNuulPwdLDxUfyDkGtvb1iIGJgKkfxuNhfzy+HE87RgUdm6ZZdgsi2B93KnI+HpeLdT/689B3y0XwXoNEo09hlHB9c7PbvTRMEnzf9+v1+nw+H3bPjHo6HLqGD4Qiwo4cIan4fkANRLTsukcJDw8P6/U6+EE1SBiJcLVa9Ofx8fGhceH6qrVCUgAw273ve/O4RxgUVe99bkNWCVVECJi6Mie2nrpUX9uziR+SIwMm241SaEySysaKybNOqTMrZuyUtiQhRttdy3sZrWkiBEBSAI3AHtg2DSKmHqIuw5qZyZ63eRov/VbywmymTAyp5SIiGKgRVWjGSZGGCECu+YBhcQBkAImQcKSqpILEAkqkwSMKirlxGUIIAgDgABQW0iojIjMiqSN0hE3TuAhDSQIhl/1kQB5m1rZUi1EKSgCAmfuFjKmdnwIZ0DOoxQwZgIksoynCudlb4pJp7Z6YObMiZWt5AnOnQP5UnvFkV6d1V9XoabVVwgi9GJ9AVKwLV2us9AJUVbgAx03KNq8cz5Ycq5hC/SO8ZoDmZ86uf1XP1WS6YPSJVfe3P1q8eiEe+FI/qkSv4oxMqrqcser9Zh9GnZ0Q6lnX/40ABRfGtKGFvDrUPIbaGoOpDLKfq1e/QoTKFil57Rb215iZFs/hKqKis3vtYw0OZmENRCSKmBU0ZZhSGyDlrjzyRJO/KStjrofpzpLjnqYQ7c4MfGdsbaA6qcI7blfVAoUBAEEUtRQwWPU9JLwae0XuV8zcItYUrkdom9m8rC4uRSSnQawgN029BIgAqkxAUof28s4krcCqq7qCCeMlLjIP4mxMBXocY+6jsW7mRq05IRttE+MpDoByhCJRXiFxsoZ55iiketk6UFBvjenOzcE3M80VUBUkZtKn6HE935pQ1ZCK1avRCp/s09mq4YW5bDs7g6tcihFMx+9a1GReYuaZiLeluXx7HmG2X/MwMB28i9xP986cOrNoSf3w+i15tPW99darr6wWZb73c4Sn/Cm3Jyx7nCxoZU+PCSopf7JQu8oJBsseiINM2fCxIF8ssA5ECEC59kYKWRIDE0CG37XdDoh22NPkVa0Zxkyr2SaCvI41OaHmuguNgxiBa1RjckX+036/P51OZjt6P26328Ph4JzrT+f7+/umaSzffRxH3w993//666/ff//9+Xy22tP1cmUlrSL+h4/fH8+H3W7nnLu9vSVy283V1fvvBAgZ9od7H06rdXc8nl52O7Qe1Q5Vou2OSHgOh+MzMxO2+5eHEEK3WBM3DXXcdcH7xrnz4cyIq+XSDKPDfjeGgRs4HV9O496HU+sECQhaA3NcrVaIKCY8SZxrTqfTAlFGfz4cXeu6piEFdOSHcbPZPH79tl6vx3N/OuxWq9Xu2Tvn2tYtFu04jsfTgZnHcby9uwnBMzYI0DBfX19/+/bNEjMa5/bnQ9u507G/f/i66tZX21tyrYlug4e3kqEsuhERCCUUwyPzDHOYIfwKQJLw0eMe0spmfsPXbJt6j7tUbIpVBNjSqLRCIMhyPhe11ywXFURmTuVcamipIHaOVkVNsPHm7EaCmJECqmplrJcOIKyZH4snvk7SsF/UAqv2BDasOVCOZd5B1TBnAqJYfx0F0aAKhGzpcACKRhNLYiciAGWgAMIOMMRTE5AqUoOAKIiudaSqXqMSaZkAhTl2AWTnUIjM/iYETkKYRKEUHSWIh7lXMX2PMWFOvld1Jiu4a50dX1M2qSkjQaS6SVGtDvJ/a214KV7+xu8zcT37U63LagXkrNuFpg8AZPGYp4oJOU9TyQWAAaxxfoGA1jTKHEMVx7+mGObfaXKJvQg0JYhcappaE2PK9IXqFIG/MQCMAADRIsyn23xvulbi/OJYMCqDhKeeX5cHmFd9QkOcT9l+DZqO7zpbtnrXTVJEtBhe6ZR/kR2VH2E5l/kynJgXxejJv2SuzQnu9omVfBV57TOOHhFzbzZIR88aQ7PMJyEAIhpke6lPndn9qQVQfJfluGeqZlWdXwT5oAUJZBDLNhMpOVrx/qBBfDbcKzJKzg7KCM2qmPtXp2RHNEhcSn6MegfNvO9Gn/yKKDVcO6OMPd98RVnQ24/ZbVnZbYQGavYbR+IsuZLrMT+tjKEk01R3VVtsthWT3K/OEji1gzWhfORxFh5GAZ0sgVlXpcNuNV9ETE6dvDvTkRunSd/lvfZGqWvl4WLHVXuq/HW2VfPF9h/7RSoMxFqeZLDf6t4Ir1ZzaZogiIzV818ZZ03Sy08eMF5I88uLa2k80xcXshRruJWKsLP8wyJ/knfT2YVSrsQsuwAgu7UgAVLF/Sdes3w2o5xKBQ5iZGyqHO3VMCijCFgbxTy2erTVcpcDapL3GUwmL82rNQOg6URbPz+fB2xvQrUHl8tl27Zfv341SyuEsFgs7u7u0JAjQQ2G3NqLIiIETwTDMJi3b7/fez80TbPf76+uNqfTgYgMTRIxNE1zc3NHRPvji/ejc7TZLoZh6Nr2NJ6Xy+VqtZIAInA4nuzVvR/Fe0AScTL6sxwRHayQ2gURhWHsuq5ht98fG3a+Dw5hdzpAL+fhCOAXLQE2wQ+LbrVcLg+HwzgGGb2E0MQC07Zt29VqZYGFdr0AZwkbSoCr1arfbF4eHm/vrk+nEyK+e/fGcNC9923bLpfLl5cXZjRMQGYy9PfT4YiI6/USJTw8fkHEYRgOx53hjKzX6/PgM/1zkpIJE5PV5Nhy1hNXk4gajJh5T733fgxN6wQgljwJmKkdRKyNqBaHTj5F55wJnHBdtf/iXVUOatbXVtdRe2Rmgj3LltnTkl5OGzPlMogUqxERQVBFATWlpMatGhVWJT3qzV4LN3snZuaP+whExLL/RKTuAjNVAQECpZ4jiKhEDNbnJI3czK7iPCZlViLHrDzaKlgz1MY6GBADM1vCvWpMS5vtR1UNkptYRUGUKhzCLMgG0WnC2KCImPARicj6oC6u7zzlk2aO9vqB2XGZ70lWySsm30zGQtQjczCAfA6pr8yKxplRkte+jDT3TzFfmqTfqhOharBoCMTsxUr9GKwpqAY/4eYk3w3T1H7BKhs15P47glPzpbS6qI28HH4SEQMqSj9OlFPeP8xNGn98J4oCKAOLiPG/VY00RBpbW1v7A5sGxIXXUuFn8WtVQGgsaTybv6aWQgiWMmLkSToohmAMAhYRVWyEDACCQWq8oYtoPgClCnQBAMLG3F2SpqxIQKzeFx1vSwymeSZlqdV3UhXDPS2RLwBj62EQHwZrouH94JwBhItIMKZ1zlmbGwSTIFGoqSohMjvvfZCQMmAsQoSqaueXhLRa/HmKgkSAkE8CGq1Hl/wZceOoeRtIACiIJMFKokrMmgJ/kSU05uZ58EpqJZLICEBBUEWJmBuHzALkUjUnAAZlEUzGGgBYQgZwVXyMVZYOktmyQkQ5gGvUzrVTMun+KLEsPGUxxr0Zq6Pz7kuCG82STi0LFHLCjFEPYAJEnXYQGPIXFiEerLv1UGSVAihzKxEKIL1a4z7IQker0ohoxlWJSYng0fy1kEKMC4ZAJm0vNMpswPl3ppCGF7spaexXFa1sqEAnbQgWCcXpST75fONuyCcrDbaNFCT6smJMPNVG18KnOlogACVVWmCCsjsWqvSkOqSrlVvdPrV6UCueSHPR6oxBSNmZAgDZ7hSFXGsRFygPtFIMuV1atSeS3ChfILkMivuAY2w3WeQQ97KEcgivCJtTcYrj0z6WYVQtHwbwiMgKIiMiEjORiz2/EcFcCZpshoqwWWcRUQoUY+ozEP1QeetYrhsoRF9QPmdM02MgeUAJCkIOpPi7EoTgkRE8WBN10GDNQQfvDSm27/s3b954PxKRH8Zffv10Op8+fPhwPB53u13btgCw3W7v7m7CEPpj3zSNHz0ECUEcAQMy4t3d3TCe/SgPT49N0/3jP/7zqmXXLHaIivvtWp7AL5oWt3zNi1M/LDs6D75bUT8iEoDoqt0c/fHt27fOtV+/fl2s1gCwQlQfRISpDWHsxwF09OF8Op96vxMZO+bf/91/OBxfPn/7HBSbttMAGsARi++X63UI1LrWqxJps2iJcLVaLpumUVwIrtARg4j0Y+8wLDterxfX29Xj4+NqtVl2LREx6em8P5+PFAYQJN1IGEBpHPzQHyT0y5ZJZRjHtrm6//b0+ZfDze3dokMi929/+fO7tx9ExDTR6XRybWNHuMViheR8UBm9anXqSpmQhMwSt1uAweee8xD9ySIgQVVHY4CokUXFBw3CLThsEMR6NqkqoDCgYheSqWNdPDVIkFCUL6KxvQlJoEBEbBjhKZPWDjxmlCOZjwURBAGYDMnKgsAuyUMAYlGUYLK6iB1V27YQvyAwMSL6MQCAVpHzZBp5AMBo9cYOyMZC3gdAcaSiIsGbUHAMGVnN2kKRmSsMGkTRUocohJCO3DQMg8k6ULC2G+PoQZGJEBgYHIUQwjiKY2gaEMk9bmOBKVbnbdeQIcebrHXQzMQsogJIk/qf4CS/1IgKylx5n5ONKiYuIu5tCEECIEtqvxq5wuZSd2NEUkz+Rq0cMdl3BiDiEzBJQcRSTiUHWTtA0vu1psiKAxFdfkGW2jMRH58CrxwUTL6l73OfR/2p7539MrsFU5Zk9pG8+oR6tMkWSbhFF5gtJpdVwbIm6neV/6Z1ylqndmO/Oq/LkQNEIH2oGCgHWV6lzOz2fHya/dVOzJVSLIj1lS3yylvqJa9nl+GDZszB6LIRlk0UVbU+1W3bUoDz+Yyo1rTZ1LmkKnU7LjNzCFIfIvPIs3M6ack4Xx+iIWtvzMSPFpXCpD8zAGLyf6vFB6NZQzohCGJ0KtceBSLKx1KrkVeqaE6kir3vmdm6GQRVTif4oABg/RpKM3aTEmls0bsff6d5FMzIKyI1TaA6W2o2W5ODPwuahBFWr7VlwyUXTiROKi0o1mrmpBnLFRkBCWIIq9ynxDATBqtZdMZXOQBSf+rra02G2f859QAh4mUkod5udRS79klovHdSBG+eqplLFSdEqT0fkCrV4n+RQDVmkM2WMm+c/MiKsRGnsivNTjP/5y/ZZTDbvzOy/F9+8AKaIN9buR7LP23//u1ProJN26qk61hzE1UMIXZhU9X6gTNaQbKEVDVzrKoGryH4UYKqYhCJKWoNuogFgURETgQidFIqIkdEDT4+xwaXfZnTWmdI+zGaGogmqPMi5aPObAUJOGt0VdUEJpshLy3vhQkMPWYY+On52Xt/fX0tIi8vLyGE4/4AhLe3t13Xnc/ncRzfvn3b972Z709PT4fD4ebmpus61TCM53Ect1frw+EweM8OG9dtNhvmpuu6tm2btnMNEWrb0Tj219d3+/P56mbpvX94eR78sN1enwfZPe6da51r/4f/4R+vr69fXl6en1+898vlEhF98MMwMAmjUwVVGYa+69woSESLxeLq6mp7tQ6g3x6+MjUQPFPz/fdvl23Ttu3z8/NquUTg/ekFFRzS4XA4HA6r7SaBeeDxuDdcnWbR2CLe3Nx8+fKlaZp379+GcfDh/Px4BJCui92Czufz+Xw8HA6I6Jz78uWLiByPwzCcn5+fl6t2u92KwGF/fnp6Wi6Xy+Wy7/umacDjZrPZ7/eQhFgIQeuWkwVuRTBE9xARkfREZK0AAUAEEkr4mK2IvFkQUZEsER8g+QiUkGgcx5xmmd1hUG2GzIqRwYBAUUJOYkwMx7WMRUxYAsEHM8GRKNVZFa2at1Jk2oSuk7ZGPjaELLahEtpZbmAyMVVjg55UVCSqAiAx0QBRJzDEAhBRc+POjAFSEwsC0c9ZkgUAwEIlkBKHVDU6P2wwSYmXYEKlO5JILzvYJZBKM6wRYijeXGNZ12iKrWHs6wwXmQ7ACdkzE8dcb5fC9rf011QCTxRZNutxpkOnFRFQXfbKSy3HPS8/FOuzcgHOxqTlEXUKY/bE1zxqL4dKA+ULZmK9/sUOvjU7zigye4JU6aGa5HJ9e+33qj/ZRslsIQnb6/JTr82MmvUv1qAqdy2E2FRx8iEFqcyIy9VSVQAChSo3RHNdGuJ0RZXMsprSqlj2swGniRS2rslLUIf+Cw3tuNwtmhaciIh4kw7mRU6lnA5zCmweXbaVp/aWqubQIVS5vFopTtPa8RYpLISI1hvURB6ZygYBQVZEokDWZA4y+hVUi2ANveLcQVWDKsX+WYIASkQOHBHlHnViy6hg81VViha8AgIRgeQizgrwlYqZW7NWbRbXkwKoY6ZRKMQLLg7GWpmSqgRV3CrdB6qEGRx7IlloBh9Z7VBGLMuRep8hTnn+ci+n+O8r5/DZP/N2AwDzI0Msx0ERQVFEDFNVlN+eo8wifponKgCEZYdmOuQ4MuT8CkSEKrVvIjGkDA8xYX8mSJOaVvl7mmM9qblYq77M5WH6E+lEhURKXuqCNH2Z0f9ydTLBXxMv5Xt+SP3JzcUyn6BVv0HgvKyqCiBVIu9sg9ekyG+Jjk8Ge4sfRVXH1M4sHVyZ2VvLcuccMBEVQx+BMD9cspumvBERhyR2iMilgmwzJtI1ycpJDpdXFxcAIHb0NpmOWq5kYIAQ2DrraMxxF5H1eo2Iu90uC9i72zvzShwOhzdv3hjmo4j0fb/bPTdN1zTNbrc7n4/doum6xnsfQiCQEKBxsN1eey8PDw93bz6CKDOuNwvAwIxPT0/Ncn3Yn27urn/Ybk7j8PDwEkTa1XrsZdmut9dv+rE/9SO5VvxgjWzO/Z7QMSliIMSFc33fIzXr1aJnDWF8eHh4/+HtH//uP7RNdzwfEaDrGhV89+6Dc+7N7dunp6f9ft+6ZhiGzWbTNM3z8/NivWoXXeu7ADmKGxBxHEdiXCwWxBhk6M/78/l4PB1Op4Ml/JzPx8ViMY69RSSI6P379yLy888/N83y7du3uTctc/PmzZuHh4fR993iLnhFRMu8Z+bz+Zw3SEh1ZUQUBKI5LSZd0MIziEikRCEL3hDEenNiijVpadCBMqoGyfdG4BcB7z0kwLd4NH3NcJ+JCJx+wCJpWHw3RM72lHOTM3nlfDWD1ayX/Hw0BZ2fm/dOPK8CiobiW5xKJ1XBWCsCjKYvRSGkFpNSUSYanZRa6YkIqEV6STVYcXAmAFYqXlWdcylVUrVqHk9EYdrRr554kkXzxOn64rI0Uzorolk+lEDnRCcma5bk9cMx4tfNX6R1il0WEZPP3I1ClraCsYk0QJT0NbRGLZ/rudefucd96marFrUAmOTq2skzZ4POf8tWq9baMdn/9V1Rsktlq0bWn1sDmZ6Q2CiOWSSnyOfb8/G3FuuzIRGRSnQYGyflKPYl7WbLfDnx/IoLhkh2N1A2LGCqg/OAk81ucy9nCa1MmWjLRo1Vq/DKuRizrRSsimSqR2fjBADxhUrJGQBEpEGYWXwAgPVyZRlBjKQxUccKZRLNQ3Ds6l2an1kFuGPWXR0Cy6Hzsv0y0khqMmA3h1idFk/MidDRP+EA0dkTOK5v3J+BNFV0oiLElvVIVn2rQPE00LlGU3UykWVBkIg9UBBBUUgrMlYWcM5iACiGvs4z122akJwTRmfU1M23PmmqKlW7Ju+jCfsp1aLqQohEalesTIi5pDCffpmjMssI5RN3cpnjlJFm/AmVBEjvT/0fIBOhPDPLQSpVjRU8TspVU1BfObmz3ExjMEBx0Cl8YRmCBaLhlTIPyMGugkZiDQrzrOfG+uyfti9rcZGnNhXEUBMnTzwv6Ix09UPqGc1eNCN7LYIy7yW+mjDJzNTOXDr1X1hBRfSETRwl6RZL580Pz0Oaefrzu4I3i1+8917tdtC4r4HItiUosYgSKKlQyUaTJBuBAO2kVxdHZSKwKoB4IAaUKEVznU8iWpRLASsnDiQvQ07dNPmpAIqgiggowcLlTdcREfmx995vt9sz8/l8NnDx1WppRZZEzOzO514VvA/nc8/Mfd9/+/pZRD5+dxNGf//ty2LRXm1uADUIEtE4juhYVcUHAJSg4ziKnkE0hPHt27sfl18fns4L5mbRLjdbZNi4626xCdoe9+Hqh9ur5RsV/OtffumHk3m1HZH4sWu5cc04jsMQgteGOYw9NCuVftk1qvr5y6fT+fD+u+83m6vb2zdPTw+LxeJ6u1qtNuv1cjj3dtDqhyMAfPjw4fr6+uH5ib99215fITOAV9Km5SANWMG66vF43GwX4ziez8cg/nzes9PRnwC2jKphPB3OCNAQ7/f7YXu+2V59dp9V9frmuu97c67vdrvrq7u7u7v9fr/b7dar7TAMqtr3vXOt92ezHYPaeTJijAg472MjvIwnE4Iwo6rFyUtKm4h4H53TNbczMxIJxpYayXYMwmwO6XpTRLPpwprKe9O+ZCdO2SaKqeatEgKpmVF6oEkknO04zT6glD/jExZkeki+sEiSbO0kdWB/UgAQCKCi4EEEMO4gAKy6EQOKhKRZlFBFgZKiTyZcEF8J7Yk3oY6MFUGRUwQvKagqIRiMF6RU9NzmvPI4g6pa4ynJJV7JIs2UFwFvBzXAemBZcCG+kslZyTSTIQVaMA3zVTte5x3cqz9kn9RMWubvtcB3r44mC/pEecgpwimkO9fL9WtqtXRZtJG+JI2bVFleo3xNks6vvyxtksoiRCHMxz7KJrtZCRCTiQtieqI7SLJ4smmVWeVVwl3S9P/yU+5FBsP+SCpcL9gi/5K+xGlGt7pkG24+QgCorXZEtLhPpqUWBV+aUExmSpOAgyYzuus6YrD+0l3XqGIIgRhDAGZeLBaIaNnbdaFqnle9RU0GQrVj84soFYZqMh00Gls2HSnCC1DVx2RpIfO2QvIEIGJDrFScEJGYAdSkTypNtlaOqsQ88feLYshRTUBEthOXBFCNleZKSrEzXBSIMcsNJ8lqNpc67GPtmnVaklJzVzYgKGVAktXCQ6FGkXzVclWGZvYoF0ROTYZjokkuXY38QLFixS6yVJ9ouNerWYcLXt0UmZKF916DSweAJOAQkShCeitcuO3r7/ljt8cwa20Km+meVAmaMV884kaEqbJMb3FNU8aGNT9MrsxLln+kKfJMJk7+pd7p9aQoFk9PaDjRYRe0ralxyQWzTZ0cn/GZdcpZfa9Un2qEBeMM4iZ1GtPoGZEkAvCSxWbS6cV+jF9sffMU7E8hjPHtTKnZQ8jjFAQkJmTNpwuiaDqbY09FYmV50fpczG51MUfYh4DMGIgYEAk0HQDSKXjiQprJXtsvafoY+Vjj97ijURtkRLC89mHovffjOG63W2Y+Hg+qenNzczwer6+vT6dTCOF4PC4Wi67rnp+fEfF0Or3snm5ubq6urgxa0znXskPU5+cxjN6jbxpGotPpdNofNtfdly9f9odvzrVdu1ytwTnabFZ3d3fs3L4/LYN799btluPt9u3p0H97uD8cDpaz1zQtEY7jeOzPbbvoz8Oy6wCh788KAbDtT6dxHJEt90M1jAzIgG/evDufjzZrDdK0fH2zdQ09PIyI6sPgw7DZrG7urhfrRdOygPiDD6rOcQjQtk5Vz8/H9apbtA2ghjD2JxdG9CFWZu12u9PpdHt7u97cuYTbDQCG8/j88oSo33//3Zcv34KXt2/fL5dLozMi7vd75sb7vmmaYfQhWB0RqIr3EkIg11qxaDQGIMoBP0qMvdBkI8wyMyVlyxA3BAjoTVuZN0RJAX3qspm2sILBxgLFwKxY+wOadAG/3LlZLBif24lCVLLw1zrhBDjLGfND2VcN6iXo1Lqr9qDGXYlZL89M9rhBgowAimS6U3MQvkikoCGi5QYEjonBFuuI9SFoZnj2BWDlGGLmWEwco+ukU2k2E3rmXbXH1LlMDIBindHiK9Q2KkV/EClIqVCE5ABUAOTUCcSGlD29hVwSMyRq+RBXGdUQcaohT5Aw8jzy/+WH1P6jPJjZYlVRlAl7OJjaT7MILGJquaeZg2GaQG7WOdUmRa3VJvOf6q1LPTRbJ/OSXnLebA71boFUOiCVcDfLSwGUCpZZ/UxEZOYKRWRufNTa93I8sx/rKWciRJpYryjLvgLISQyzDQyRjex/letRIzhiJqadGyvyTqx2sny4vBYTo22ij/NnCotW2EDUo3Lbtt57C0e2XVPnydhj27Z1ztVn6Hp32QgrP1fUfwhEzi7mrBHrlaqNiYhDqmAnaY1pJMGSiyrLFcy5buNnYIWg0b8i5n1FFYncke+L9n/wQkrAbNUdPgQix8wmhkApdmpG5Qh3lVpKJywXIrBa9YzuXIvdhqMXrpAolfAm7Mti0zNGvGqoGMyCa/WuQEvCKmZ35iuNf39lG3IN32Evt2WKGczF2KqZMycsXe4CTeKvJPGLCFLaUNVDqrFZjTjAdC/MXwxAIGixEclNG8ynAkklMwCgxgKsjGecLHjMI6/lRrWh0kbGMp4iQ6bmOGQNcUGNmizT7zEam3LHDcWcMOXkXErF+sm1yJrJW/vM3OEzW7x2iv+fjP3pkyS5cicIqipgl99x5V1XVr1HstnkNKd75uuKjOz+5Tu729KcIZtsHo/vrCOzIiMjwsPDL7sA6H5QAAbziOKMSUmWh7sZDIdCVaHHT4cZ9TQpAb6+HsJJKlhSaG80LmkQEUGRqENBDw7MUFYoUl2Qj85aZrTAHI61CQdD36vwKmZwNtgq2AOAWP+y4YSsRAOT6DefqccaiZmVYkQCB4lXKjBnPxwxJZyQHAZVJmw6ibFndmx9jXeQqGhnQ3j01dXV8Xg0xqzX6/X6vigKpdRsMtWkmmPtnMuyLNeZM7Zvu2qSS0zI58+fp9NqMpk653a7x/lsRUQSS5Bl2Wq1Ykf3D+u62a0uLpXKTMNN3Z+fX7ZmVy4WyK7Q2dnVi+7m9vrxmjGryuKnnz82u0PXdboQMCmbF5m1/eFwUEopYGQnMZCOTZkXhG45nxp2DLDf7+v6eHv7uaomy/kCSHVNrZVF5N4002lVVXmR0W6/ribzrmuO7fGbb7558fJlXuZt37TtsW5rRZTlZXPY930/mZSXLy9tXbN2WlNd26qq9vttpnTXNYDUtjWAd90URcHM+/3+fLmq6/aw3bGxXd8+3N3nSrfHervdMLPWedc3VTnte6tUlmWZhMeIJVUYL5AGwL7t4qJ6A5PKlSLx2Iu7OGwEl1pb0y1PRNYZQIF2iNE1Ftky26i4e7HlGAkINXDQ1gEltB2RJExdbOAuSYxmIGH/LEY6QHFDEqLjkJHimCOhBjgHRCBC9iXCgSWMEzD4JJ34jnwwceTpcrrwnzx2iA9fRAcAyidw2bAFwkZ2DpjQxwQx88AQENExMoui73VxpkERSrkTJcCLiIgh9SUN4nUJMg/51FtO5SOiR+SNt8neT/kVy1FKPhGywPwDCIymIjJDXfkRJ/ffpZOWtpnob34BnxFbw/xw8mtUk4hGSAPjD4ENPVXcT3qZCiGOWVnB9OJCOi0Ma5iqCBCp/LkBjIeSjPxpN6KtPW05tn/SSPx+CJRMYO/SRjhxJqStcXKKTacv1fLTp9JdPWoqnNvCKFhYvwIlekRyEbH3v0bwIUQ5NGK0UMa+YHBSh3edpH6ONAkAQFBEaJwZuh1Vy4iDPn4knY2TcfkiCQDW9l3Xaa0nWVUUBQD0fd+2rajvkTAgQdSOU5HMieeDzAyMjl1EgUh3KSI61zvnJOA27m0AwEC6jBQYBAMAhiQVj+2DigctTWEIH2Rw4CwgCXcL8xKnW1g5sfBoYGCUXCcQg7qvxOQQwYJY4QaWFN1kRIJDPdKfpG/O+Oyc4HUdYZ+La2FEYGPGMfCXRLQwM4S67gAQ4mvSbYJiFh3nPygIwka6L9/IWOwTY3Ac2sn6hk0BkGZmj4/BT+lNSHowh8T7RVSA1/ai+PE/8ejsLbYvYLHGWt9/aY+cpOCPuxq5qPTndIBSmS0d+Ml4063xdLPwyPs8MNW4f59yyJOW0+9P7PEnyxHnGcbbVsYRlVoISnbKMxExokBGfcVTwogmVSoUcBzYFgcY70956S9eSjtrBUfLOQdMpBQG4DZJZYv/QAiSs76PYGK9JyAHaJ0jBkYXsxnYOYVIQMGbqixYAFDad49CKVwYL8TJlKbnzxjGCb46OjEbIhE6VilFSgnEYd/319fXd3d3RDibzbqmLYpMllIS8pqmEXM7OFZIh8P+eDxqQq2gLPNMEyIednvhD3FW59NF29RN07y4fPm4vlFklOoWi4WqirLItNaHbYuuOFu9vv758+N+dzgcrD0a2yNi1zcEqDUxWJ1R17Va68lkItEjudZKY9u2h+3jdDqlTAM6BOz7tiyyutmfX1y1uZ7Pp4D2q6+/YLbN4fjxp2tru5cvL3Otda4R3eNhU/Ekz/PtdsvMVBQiPx8e13VdXF5eIiIAWmsVoNY6z3Mpz2SM67tOka4Pe9sba21T1865Q71varN9PLz74q21fV0fVqvz3fbYdV2WZbOZz4UtiuJ4POZZkRU5ohz8+rbtLaMCIFLOmYQ/DxvEf4MumGzEfSryjq01PLiCCQSqzXtTrd/OOOwCTrUCTgOMR69+9goCMfIHioXhYocjX42G5yg0nwT3jjiknJCdc8E+MkgT36tEfYfE4u6T5RDYYXQ6MjM5J5tjUNwZAK3zhbVJ/B04mHI896OAlhEikwXOdYTJ5pyNOfEnHNJFp9yA2k5ExG6EW4WIaXItokCAAkvgpYhyZhtO77ITQ1zuEwsX02CHf07qheUDeGIyhxP58pxWLG9KePLwoqcNyqv1+KbRNMUWpXHPu8d+BADlI6eDihBp1M/sLxCre6IQQFCUgzw43WZpx2L3EIfijkKbPq0KPUQjADBDPFrgLzQlB/3YTvwQGXe66+LkjpfHe2eedlh+oiE+58myJauQrsXJvoVRcgaN7znF/xeZl0Ll2ASq+QRk4+m6xNZ8KBiic05ScKqqkqoZXdednZ3leZ5lWdu2sZ9KKYmIPSE4DAcGjPCjATpXsGgwYMUI/Tjn+q4LGsVIuUnASzjGRQNAloesynDC9KQI48UKfyskCPmRYqP3m8jjmcq7NCAxIrO3jhAgsxWoR0TkUE8bEWNWhfxpk0tiTFl8FOwk3SrSmIToRdZMQByt1IiecYyglkT39CeWhERFd7eRNMRG6Zd+vN/ThU4pJ/3z5NcTgnnKN05YSvoIM0dk1UjP0a6fPv4L5AlhpKNSx+lPAABgIeRYO2agpxDyKUDTSKyGOR20pcD2TqWvPB6X7IQb43MG+EjbmDiLf2GAv3jmidz12Rel7tcTRpd+jgOXAzknBi3ft4FxBZtWkLjiKYotwIj2Rm/BRNCe9DY2CADWMAAAjaLLHAKhUkiC/+D5mEMHlpkpIENbKRrHbAG0nKpDnKvsGussMyFYpXwOaxjv836SE3oecWAXbw49t5YZHFsFXFWVc3nfmcPhINNYliUi7Pd70/VN02qtp9Ppdrv98ssvBcu8LEvnbNM0TdO4kFqQZVmWq77vlVJXL140TdM03XQ6BVbOwf7woJFaxtXyot4eTO8AYLd7dH3x4uoNqKo0mbXFbvdDW7dX5xe7PR/Q9G3HbPOiBICuaxC5LEvnXJYpZmbruq5zrUHkqiiVUnXTOHaT2UQTlWWeK7XZrBfL2Ww2UQhEkGXFcf+I5JRSeZ4XWUZaH4/HzWG3OjsrJ5UxhoiM7SrKzy9W1vVt3fR9P8lzQN7tHjVi27ZFUTgrTj9yzhEqrfVqtWqa5vPnO1mguq4dWyJqmrbrOkSUePqyLPf7fVVVXddRSGokIjGoA1BWFFlBogJmRcbMCCMTCQCwjWHSQ1gUBdSvxJzhqUJpJNk4AhqIyGwZUKlMjoJDy0lwYMo6AnekEG+Gya+ImO76EY86IUshmFg+9pRWg2nGOQ+o6jevN/1GJj0cuZ/lRX3fi6JBILWK/fd+8yIGTF6vawk+uJzHgSGCL4k9W8KfOLkUSMUYiuoiAgJg/1xqYso9MMRWyKJb0w9OYxjGaKw/sBFHn7iflsCCQrFFIM/oRwWzfbCs9OSpPSJlzqmRLb1lZK994qaGoGan1q54KiMa9Lf4CCLqPpxUhtcKes+ABeilnrUOrCPUDNixQ0SttQB6GON0ViDGIhoweKAgGHJEP3a+XkaIKB4LcmawgIzEJLw7MsrQYw6cN1jHoQcE65jZH1gdaCS0EWZVHoxOXIcAIEqSFVoZklwF6mB0zkuPiZHQUzkUbw7vIgjhYgBAjGwsArCgEvlGGUCCrcnxcDBAKUQmDqjQAeHgHA6XYfhRwyY/vuRIGohCgNW8bYyIwIFzTqkslaaeXESXdexC3BtYl2VZaAiMs865rmmZrVhKmLlpmv3u8ObNm6qcgJSdk6RVpUxvnQMiUnpQUJgZgONZQpFWuUQooXE9MyuliiI3pnfWCkSAc0CkjenkgN51XVmWxhittFLKOIvoAByCYjYAwE7LXClSXdcZ6LMsy5Vin6tkI03GaFdCIqUElr7rGp2Rcw5dT5g5BisWYWatwfSN0iUwsIekADaWAZQmxyjoMkTKI0IQGWONsdYaa421AnUvdTksAIDpHXCmtEyImL60zgO9WV/O3SGzS6DNxKThV7zv+yhgIORuAoAeh6FzBKn1a0GePREwgAIUGyegQPS4GNzMY6tq6sGM9IMJQx8EHkYPg/zgcRWtG+p+E4FGssZaryxasdw4aykUWjrZdzSUErcAgL5yoNf0Q8oh+AwqJgRwRkK5VDz0pjNzIlBxKDHtLXB+I3sPnvR7SOGIXpSw9z1biGdWBg895iRAC4AEvF92tAwKkUKoTCz1JeJEqUwIG8NRFoKBI12FRPRGqe9nz+eK+AB0FXoIwAQMPgUGWGcDnJGU/ZWZCfqurBcShdbQI0exc+zrpXkG5/k4MDAQkg/tiyfnUGgpTjv69A1QhI58UruWo2xwB4XzviPrRyrjyhQ6dCNMLecQMVOB4YZ0mh5Ra4XsgnVAIfppdGwIIpzciWFI7EEo+dLsiyUrYOh7Q5g5y44dMO92B0S2li3jw8PGMnddl2UaHDs2mnRR5Pf398xuv98ZY9k6ZHjcPiqVre8f37x9neVkbONMbiE3zi0WqzKbI5SarOl9PfkyK027644H09nd0VSLWbPeQNfpxeLq5QumIts12a6uJmQd7Pbrpj0CACrKQJFG63rDBhUSUN3WfOizLMtyrbRipuZw7LVFxLxUu11D4PK83O12ZVlOV5Wj9vWbb9598YqtLTJll/Oy0q6H4/bx4IxzDl6+pTx/MHdnl8vF/ELn+u7ubjab9ZYvLi6a/c60jUFFCmYTfXv32di6yDOiYr/f7/dbpVQxKbTWxnQRkAccNvXBGnbO5Hm529WoM2buTdf3PUDfmX65Oj8em8lk0ve95izLMmvZsCt16ZzwVcJwwCY1xpFTXdgRPkoTgNAT3MAKEH3hBHKolCJFiHngTOScI/CmEgBwEenIe0ARw3nSs1kgrSJMLQT4WhE0GO040iuhQMMOlBZnBSIysEMgRS7YTMVBGYUsxCh54Jig6JxzXjcdZf9bawkFC06iYgKf9C5MQARGhQAsuJBsGbS4xgMvkjJqih0H97jyHbPWGAeKlNIAZK3sKTTGIaIl5asVCaMAYGCHTDTgsFHIeYsM3PmoetCIbNihy7LCWisFsMkr9X4fD49IyUKwxhpgQq04lBVxzjlrQ7EOK6sAAAiKHcu5kZ2gW3IUCn7s4GN6rfVKQERMidxYVuXkQBjFkMyjfGOtTRV9a/sooSLdOueGmlIA4BWFRGdllpKoSmKPcHxciKElg+oJCmkUcBL/lccQhiq+JzeE/YMQoiyCBjyoHamLP3YafKoQs0PnvG/fhWdTqczMCnV0ssRuxHGdpNCF/pz6ByDh7LER/3lUnyWJWGWG0Rj9BkvqAjD70DV/RfuTV1nGFbKezMPpS+Xy/GIAtCJIMjxOJh8APDY5oAvRZkRAhJWu9vv9ZDJRyvOUtm3Pz8/rur6+vi6KYj6fExECReAqpRSEslnpmd6fktGDvhPpsiyPjVQm8uo7EQlWgOxwZjwcaiIqy0pq+Fjw+l/XdUVRIKDY7A+Hg4AlA2NRFIjYNA0zF0WlFForm0Rqs3GMfwi4lv5fZs6yvGnFHKmAyBqrmLXO5U4itLZnZ3NFRNT3ndbEbI1hRLCud+yQpUzVcG4VNmetZ20ADsAJSngQJADgM3VEfMTYYjvwWUSPTuWPoEHecMoRvBvX0/MoeWNEls9dSqkhd/yJyTxeMNZvniVFeLKb0vvS/hhjQOAakJRSnNww8BDZM8lTw+5G0eNVEFdym8Wh0qqDJFA7egL/nZ6f/JoYs/2YTvogannkJ09+PTV7w+jkMJi+REEPLdgn0ytzcGr+ieVCYj/F55YIleeWI0GJiU8BAA5ZqYNRIJmEIcLkqesAg6Uj5VcDqwxaRfw1yjNEdKSScx2JGSwq7s45O44iZUaFBCroJaL0hGglqSnmPLSGcB4rmhYADB5QHHoeFzj2zVdgQX+KSKfdOuesQQTnTG86RMw0xAcnkwkAm64vyzLThXBd53i/PwikTFmW0+n09vO6LEsA1zTN+cXs9u7m7OxsvniZaSIFBeRNve+bo6C8A+Dt/b1z8PBwn2WqrlvrzHwxWy6XSuH+eNA6O7tYLZfzzW7j0GgNWiutuG2NsR2Cz0oK6T/D6jjnVJ71tmvbVmsN4Pqu0aQA2Jju7dtf5Xk2nc61ynvbNJ1RKlvMzxXXvekm00nbtj9/+nh2efHVd18uz6aaMgAgBbvdLteqzDUAlGXZNDtNgMha68Viwdbt9/uLi7P9fns4HObzJTM3TaO1btteEnmLojia5tOnT4vFSgKN5vP54+OjLETXdU3TCCJ+lmUSCaK1QmBgihGhLNGPSeUNWe5M55F62RHHmFUdixwxEZECyb/SKIlJHKM7pBvOjjZj3LPo7eij/Q4B2CrdXE8/n2yrlO89ZeAnzDyVtulPYhdgZgqmVc8ikJNi5TRom0hIwZwuCI+ADGSBHbAP9WX253J2xiR7itm5AXTyZIDx7Slfit/HishxpHJiCcbEdDIBxgaUdCKcG9CoRuAcgM6HVcvZKayl14tEMR90uZhZy2PFDAAihsFzizXyMZ4sNIz42MAtU4YfGWNk1HKDD5WJCAxD54Dl2MHeCoWIyKiIgAkJtRh9mVkKWw2e1qGo34jyhlExObbkKEFHgSgIIRQgsKOY17i6CE+Q8AEks8rJ+Ul6Yp3PUx6Ly6GWISeBp8wsMXCOSI1BbCLdnEx3HM6JYDvZP6n3BMeHhBhclM6VG/vXYicjgzih8vjq9L1Pd4LIDJkOY4aMkJN5RERAEEtaAHK2Em2SZ0qqdnddn2VZWZbTsiqLUil1PB67rtvtdlIfhJAQxFyBnB79Y5XEwFCMMdZyloFgCPR9b4y1lqtKKyLTNxD2icR6xtlTSmml27ZFRAlB6drGWpvnuda5YCSLhi3mbWa2tpetJ/iVoqC3batEcbacZVnfW60VAyiFTWe1znI1OXaGxSOJ2HadCoIhz3MJFspzrUiLLduxixWIjO1M75Q6TSORY4ng81hrOzcE6mF0mPjwXi2QwyiuGG+Aicdgz0yj1o7hkMnMgIwBHBMHSh4djyFiWidOUKEXTOy7kaJGzHFEb0/J/uRdgbhwAEqXR2J+s3MOw9RRBFphPxn+KU6NEeMTiOehTtytMZQiZYKY6O7pHk+/SceSCgZm57OiYbAfY7AyJA069LZ/Ccf33SP0Z3fJXWDxlIecqkjb8XMcV7rxZVblNmP6VCJiKC18ciWcyjvoEv4jSo1KpwKjnjFgQJ+eXoQh83gJTuYzjigcINPODAfOeEURzuAD/AL38/uCRWkGJO0lq/IZMkPEoLUWIpN0FhkQtZx+ERGdxSRWUICumTlNYntK286KywtA/JHgq8dba4nAWrbGEIFjtsZlWbZYLJwzZVky26oonLP14aiUWi6X+/1eKTWd5nLE6vv+4uJiu3u0lufzGSIuFjNnWgC73T46Li8vL5vm+Pi4sw4uL69I6/V6ba09Pz9/fNztdruHx810Mp9Oi7wqv/nq6+3mcVe3k8XZarn66tu3P938SRHPJ9P1ei1QiQRojLVdr5TqTY+IxhjbG5dbyeMkoixXzKwIizwD4LY7KqWmZfn57va799+uN5u6Prx+/RIYUeV//md/udlsmnq/2z8cm4MuyHK32dzPV4X43JRSdX3gIstVlefZ8bArdbY/bPNcrxbzh4f7w2Hftk3bZpeXlx8+fHDOTScT8VjKv1mW7XdHRHz58mVZTv7+7//esPvyi6/evn27vn8QIIT9fj+bLQ6HgxiPwJ/6tLNA5INJXOCaiU7gxDEbz8mgQMDoRm40YiKIOGkSKZT61qQwtXPP8JOwg+LHiGVGyen6RI071Z2estxUE0jpNr1ShTWy8WjDTjlJ4O3gcVUHmCVmZiUlUhEABP5YAThAtNYlVlTRJoHZgewp8Kne1hpmZEIVuv1LusfJbKQwyvGbtJrSmDnHEHRpOxU9FIWYc4OxHNF5mB4eWG4o/zygdYemyLk+ne309J5WawmrM3TghD2edPtkBeOIo9hKP6QTpZ2U95Zs+eCXAUDbD4kRDiKKtFMqA3BKiV2HGJAcMmJiEfPhKAwRRYSZXaxbwczOAfB4pkcGPLRwsq7sY2sAAGgI2AVwlgOJiDhhBxxwiDgh01D1JglbT2ZKrGXAzL+kuyfd46frMfw6jj1N1Zv4YPpUFGx+EpLt/3Rd4ZntOurGsxsYgnp08nja8/grJl8SAaLOdYaIXd9MJhNrraCEdXWT5/lms3EIUndaKgiW5URC3rVGay07Mfv5FAIxXyEQAFhnmDHLtJyhM11oZaxprWFrmDQqlTGzM44dNF0ruFFEdj6fO+cQleTIEpGx1lo7nU7zPFcqkwqvss+zLNNaS2zPZrNBAkVazgyInGUZsCXSEKAG+t4SERL2ve1MW5Ra61JRbiyzc3leKnbW2rqunSsERkAMLggOwAFb8LUdEJhSJhKJPIoWEQ/GemQxr6yIdmuJiBz6+DxfMgJRytCIAAgEPGBsQWAiISxhtNbyuwsSBhEjHCQhRXDSiNTpFfcxwZxIkack/fTP8CHAzI/0ywFYQCQ9B8tK1PxGo3uOegPdInud27IjRCRARLQenCvo6+BCHUE7enzQ2kcH5vE9cbsRDnYdEYEQpBcLnPyz/QQAAIGfA++X9oq+i/pEBJkWXWqs4A4CWyvlQg+F01tjmFmNdvrIChB6O6ApQ8IxnhUwJwNJJe7Jh3ggH6RAsnCjFiCKt1Gb8jpSGYfaDhwUdwCw1iKoWM4OCcU46kIoIDrQpDigAEcTuwfHgCFQ8emFiJLclmpssiLW+hWXHPpAGHKcYK01+UAGLIpqMilF3SzL0lq7qx+sNbK1b25uZE3LUiNiXdcAdDjUWmVVVWVZ5pytD7uiJGO7vNB1fdjv8zzvjOkmkxmAPeyOUjRHGKDOldZ0rPe/+vM/Oz8/n5RnN7d31XxBedn1h9myLCt62GwKqrIcFWV9b+qmk+R8ZywzE5JYRKF3iKg0EqFoAtZClqnpdNLbjtktVtPprCqqrMhz4Q1ZrnJdFkUxNc16c31zezNdzP/T3/zPxaT69PlT2/TsjoRMBNZ0h7Y2h/2b1y+LIuuPR2RXHw/s9P36FgCms8n+sJ3ks0lRKkAC2G+3m4dtlhXTyYRR3d89MLMxZjKZrFarw/744cOHb95/fXV11XXd6vxCzIgSKlOUFQAQaYfAbJG9wxkoLZou+0gjIgUbfMR/JCZvB/TQ2qSUErczeMiAYF9Qsu2V5w0jrghIIMBciYaMg9qeJK+ne0RgUuXmxHTCEYtieLvEeSYhkemHcR2GkZ0YgqDHxCAYkA7E5ymv80FxACjWPMtW4I/ZYYztiHqO/CcmQp+6BmgBAUEHnvZLSkg6rniPS5TxKCNSCzQixvRfiOYsGMTuUw1q9E0wCo9Z1gATIh5yMfOmz6Z+UWttmo0VuNZgb41sNkzUSMs/WaOTD3Hh4jEv0oYOWQVpoDkBgLMWwCvQPpzUO505CjBSgB6WzhGRk3QNGKQLc4AeZzxJ+30KlilPWW+bHpbTAbNzKi1KDxRy7/zNoQKAUBAhDbmbEWvMr33QAHisf0sop3TbAlISS3oylen3T6f7l5Jxn66Q3+nAYR/5Q7BMj5y63DhaJpnY0/6cbIakV04s1lpriYcOgI9yLuSQUhOVEpW+VEKV4yQQUZ7nYF1d11mW5Xku8A5lWWaZhCruJ5MJO9QZEWkicM4469gBoaIQFyuL6FfcsDUmKyjPS2vZOde2ve1VUVTMTARd11lr+743xkynU631drvtextpCWDAkicigbgRT3RVVbLBjO0Xy/lutxM4AudcUWSSMSqaYtvWZVkaZ4pCW+MUFuTarjWanS5Rka/PYdquKApEyT3ATGmlyDmZVWcNW+vQAxUyIlqJfEHUihw6h54Xk/bB7gzD8R290cPHTyGiFw4M4hEShQYRY+nqSA8MFiwQkRxmIJhDkBh5xBPjU4goUJPCpIgo1OEbCO/0YPmEkkVK8RNNF8YMmtDXVsLxr86aSL0UYgnixjxhfCfMPbbjh8MgEEBpJxQI6NqgvgvAbWw57WT6rpNvpJ1wvJGBpDE5wDwE9J9w3pOpw/GVfsmJzJZ9mgr4NDRG9Pt4c7jBPbHGiZGJEss3x0VAxHhQeXbVnl5RTIbHn1kmGFPaE6oLqvZ4QeOERFklfEmkI7L3laFXJvwiSlSMMFHv2TPWOUdaoEIcM6qgOjm24BgQUHGI9bHgEGlUGVE67IOJWYXvXNhSCtEBsemNUogKbeestRjqRosXriiKriiOR38KlfRTAJjNZl3XbTbbs+WqaZq6rok0ERFbpTJrO2tt0zSTctq3NRGx65v20PZdXdez6WJ+tjwc90jwv/6v/2td1//4z/+UZYoIDsd9lqnOmfq4fdzvlKJf/+r97/5gjusdgs0LRcCmc6J7OcGpDSVurO3yPEdF1jpnbJZlqAAVAXGZlXmVX726unz1IstpPp90Tbuv93OaZll2bOrHx4d9fXjzxZuvvn5/dvFSZ0VeTI1pLENbH7VCtFYjmL49HnZFkR3qvVLK9jWV08uzM+dc3/e5Uvf390QkIAeHw8EY4xxUVZXlGRFVVfXzz58Wi9X79+//7Xe/7/v+97///Z//2V9MJhMiAgYx0+x2O89JiLyBgAMqkc6iziDFrT35Sfiy10mMEKlSKJlg4pZJ9xox4EkSqjQVNn7cgIMfNcWNeLLxn9tcz2iZ8XtOrZBPbHYpt0m/iS1EpkdjFC9CiSMiFKc7OEQFYJ2HvANkBEAba0GiJKRaBARQjI4lUc4hOzQ+S0opxcCoVYY0pD8NkzkuyfR0FPHm+GV8Ni5HHODAzxkBbPrlyfTKPo1g3CEEAyCFIgQVKksgiq1lFO8HTlyWIEbpSE6MiKQgJAEHUhkvX7oW8ITl4jjCMH6OtA0RVQYAxJ4BAB7IWREzI4OAm0uZaYpZVgDgVxqi7YkGQJjETocB3U8QSxPhFm8eyTZFUaUjopCTB6F0QhyVPw+FIwdLfV0YQDbiJPjwYjlXDPXfw3wRkQ5mrUgQghQIT7bQyYeBVpJZj52E/6uLeVTNNJ2KeMJ+9sFk5z9zeE3pAwM3iTRKNFTd+ndaVgp1yLNERKVJVGFipCwzxhyPRyKiTAANdVHkWuum7px1fd83jS2KoixLQLLcClqqE3h9ZkQlpkRr2LkeEYE8qpe1tqnbzvRFUWqtu/rYtn1VTaRvi8WCmSeTmQTA1HU9mUyWy2Xb9MemRsS23hZFNZ1MFVJVVQDQ1Me+78uyXC6XN9ef2rb9+uuvq6LM87yu62IyYWZrbVOrTFe2aZxRfe/qo8nLCShyUr+DqNDKWts7B8DT6ZSZmS0EmPYCFRIiKEBEZOckfo6V0iekJQpZ1zd+tsMJUGwkorgLYDwqxNHCUXr49gZsX5kLWIoeOGbTg1Kc2GIxbIqwwoOaCGI/9mx8YJFyK6GyrufELHHCXmG8EZ7yShjtEXnrcBszi7/Ft4xDVlZqH0q7pJAlsBLC9gFgQgp1eED5k8pw1JRZihmr/i7PuyKn8vYjjT41XLYBDn1DEGZGQ9A8iz0KXDTnRnyh2PURcwtqaxRaT6bI71YX0RICZBYiIA6FYCJRxT0rzNmywTD85BrBU4rHPswqpsRwspTpN+HLEXuPP52sV8qrE0obZjwNFYi/IqIiLVXSA1UDOwY3JG8lAyfnhjrbACAFmJAY2ClFop9RLK0dgtmk5WC9G6X5xs7EeAlFQo0CCyhxz44d6Ew7B6RQKY3sJKDCSY6Xc23bI3JVVev1ervZxJ6/evWqbbu7u7X4qz9/vkNkRNUeW6Xdy/mqN3vExfF47Lomz/UEy9p2nelns8ViMcvznNla26Oi2Xy6XC3mq8Vm8/jp06dJtVqvN/uma9q+debi4uLyfOXMl9v59uHh4bjft7a3prXWapWXZe6RNBCJVN/3qB0COtcBERBrnZXTydn56vLF1XQ6lfiftm3W1hz3x0lZHQ6HvumJaFpmr15+8eLV1dnVCwZlHSpdIOmMWzYZKXW3362W07Iotpv7sizzDOt652y32xok0lobY7Ist3Ync962nXOuLMv9/ggA9/f3WZZNJpOb27vb29u3b96JoZ3BNU0jKD3ANJstnHPn5+dd71VtUJR6qzQhs3LOedYBYouEUKlaMgIHL59GtAxMSmut9OmeTXa0Y3YSUJqyR0wuCpCmiMjk63A/3WXyOA0oVaMLw4GWeRRamW7b9O0pmhyGlA9EjI6FVEPyG5O9HHHIwUggOyKCqyAAeUglZ4UryskfpfwCgpGIR+sN5FbMusAEGMv7xaO/dU4n3D4dywluVRx+qrjDSPsZ+KEwPICRpTidDX9UC7dK5QpgnzkW7pfffXJxxNrnxBYcOWFcu7isSDTM63NWrZPvhwcTrR0SBpuyekTUvY2xlRGfXkC1MEyoNWIsZwKm4DQECBQQdLK4Il4ehI/BCAQAQMzewBY5o1yDrYhVJHvSyrtmGHyxonTCJfbVenu1HBUhSGsXQuGJFPIACgMhwzqZBUIkMadQktLKHg36NLJcrqgKpxIoXZJ0hTASa7pRwdvbOZFtsZ2opZ00ddosJxsveXtce9HSJOBbYr7jNj6RtSlxZJlSmAuui/X1lZiZu7rp+7YoCjG9G2MOh0Oe55IDVOSVs7Dd7uu6BYC27a3loigQMgAHjM46JB4CbZmYjUS6l6gRKM8KKijPqq5prWFCnEwmHFzneZ4rpeq6RsRCZ865TimxtZfFRIAIzs7O5vO5tbzf7+/v7/u+n06nWZb1fbvZrNu23m63dX3QOhfnQMhtVVWFWVZ2LR8Pbdv2bU2EgMqpQhFDczwQkUJSiqQDWZYRZaRc13Vd1zGrPNeEpEghef8ahUxo2e3phoxkFonWbwFUiIrZERlwIX0n1qMJYLRAwRlngofXx5Z4tcMzEXSilONgzQ3wrYENpWSZMjgIOIAnXDXlgynJPWVMKV0NtDqmXkrqhsqLMNlcMN5WJ1R64vwd3+QCGHi4YXA8QMyTOdk7Ybv8uwNh58ZqsTAwONWVn7+eTlTog4gKFhhpZpCC6sGuBpCE5/pAjcS8Ha8YZJJmVkUJkchCTh2bJ/0BiNFW/vH4U1h655LZwzE8Zfoh/dd/wOFANbwuClTH6YusdQKiKqOMYlWestZCSDxAAB7XDEf0ZRqstRF2xlmLxOGpeJD7RTbusUQQ2FE87AGxY0sKEdnanimi7MFms7HWFkUB4PrOdl0XMaO6rptMJgAogv/m5sY5Ny0LRO6pn83nzsJsurx+3CKrrq2PChhsVhSadNc1pcfWaHrDl1cvnTNZUZRlOZ+7pmk+3dzf3t0Vk7mx3Xb9+HC/3m7W1vZ932uCyaQ0XWuNJsoVonNGaYk8xCzTjFaUwKLUpAvZko7ZMTZtv3n89P0PP1WzgojOl+easkmVKcpq525vbs/nF7/+82+ryRIgr8pJ03eHx0cAi9yjc2BNWx8P3ENVGtM1fc/2CACTSfX4+Ng0zdWLV7PZfLvda60jJmbTNJkuhIlJ7tN+f3z58mVZlpvNZjKZnJ2dHY57ccUsl0tF2W53yPO8bVtS2p+vTiCwgLwXC0UtHumFANH6G/JGxPOpUGcqFiVUSrH1uSsMHm9XaibF/ZVw2mBd9vYZAvAFjYgUwIhWU6aaKkUQRAMkEeriAXhKricdiNsqtjCiczjdnp7ne1Mp4tBDSdCRP5VYpdEpDqYW2XzgC8lJ6KlzvjAHRkNqOGlAsNwCM0cMjDh8DIaq2OfIHOJg49rFuQIYOhngrkRouuEgNH7LYGRJqkdJ3CzwEBqAqZx+xmI7SpgM6x7zbn0LlJz6TvhtKkxDs8P38al0+ACgxZqY1MukCPHjKRWB+lO1Utq11sruCEKURNik0lkWAAVOKVxpIxxUFg8/giASJZrbEZHdsGwngsHZITk6tklEcApzHt5lhqj3mHESJwiHwpMDxcD4erJy/xcazLN6QCCjgBAR+UvAo00FYZTWGE7MJx2A8YE7HTjDANogwehyxYNrurJRECulCFCS+pumYbAkMRgMEqwh1g5mXq1Wu91OQOIEnFiAdbuu3+32fW9Wq5VSEo2HRLrt2tgNrXRVVUplx+NRyKkoirKczGbquD88Pu4Q3XI+KYpis9kYIylf3Pf9ZrM5X66KopggPD4+Pj4+nq0u7u7uAOCbb745HA4PDw+fP9/d398bY/7yL/9SKXV9ff3y5ctf//rX//AP/3Bzc7NanV9fX1dVlRdweflCMB+61my3+5ub2/rY5NlC69y4ljWszhaaFCLv99u27WUqJCX34my5WCym0+nhsFMqI2CpcOcs+OkPayR5VFEJJtRSw0lEhRSiY8fo8fnYep6GhEpCDwFE6EC6atHbCAAY4jVPyCNl5UFFFAzFQCoJJXvKiR6txKJwes+Tzfjs9ZTMnu4OT3miarOPUohO5/RZ5lGMY/ITi88BPNEDkY8SCTuL0wwSYkDvYsCTXj07KB5Fx9nIqJPJ+b+ru8cGT14Ut3l8kXMuz7OgufrzmFIKifvWnKx1bNhPFDhJEUvk5YkF6xd7wsz4C6muwykrHBefnb2nyz3w5/F56YRQXYBsP9FapBSOPBHDbKy1DoxSSiG5xBYDANb6slwefRVH9rCwZLHPI/rHUFRBmJJSWRBwjAgyq5Zdnmtw3JtWQkkZHCnUWiOi1rrvWwnLnl5ctm2z2WwuLi7E3pHned9ZIiqLSZFTVU3rujbG7Hb7608Pk6og4um0KqqybRvKFDNvd9vp1CwXVJt2tphb11vbbx7X08kCEbXOd7tHnWUvX71gRwgfNg8PZV7sds3hUNf1wTmnkBaLBYEvGKm1bnsDAEVR6VyJ/SvP87aH+XJhjDGWd4f9rm4Q8eLioqomeZ6vVpdVOTlbnk+n8+ZYHw9m92j2O1NMbV6q3jIRKUW7/cO0LPuuc127mE3I2f12lxf60BwRWyLSGSGyMWb7+Hh2fjWbzY6HpixLrbVSOs9zRRoRP378WE3nKIjvfemcOx7q1vSXl5e/+vV3+91B1iXTJKEySimIeXqJ3kNEpg8e+8AwZUG1RxAHRAJFzkcFS8Q3CauXDDFxzpgQyBeZZyC5ATshEnbgEclHbykf5DukwlpUlDGEefjSxr2gA+LNk70PsfMuZIJG6R8I2F/EQ1cBgAm9LSjYhgKDRXAuWK8RgB2jYwQpuBQqwjKE7RQsiVJ9SliE1rkEHcX5id0W/TNl5uxP7B6MjkL6QZyr9DMFiBRvRPfSgU7uT58a5s3ngA52pae3xVUgNUDzpd4MDrZ5TvgPDuVoBv07dbGeNP50ESFhyzxWmOVfbSzmKgNUUmGEiFSIRvIdBaWDqwjlyOWNtaC1525SbSHEA421WCACZMchOoqcs1LHJ14yACsKfN3HQF50RAHWN89zBAXscUxJiWGSSSN4l2oILxMwbZYCAWETBo7slBeBDDZU1QJmpzQhg7QZuu/0/72IF78TniwMADAJRBwAOJR8a080zMxECA4krpkJo+DXSnliRRRfbTBVJaXpATiN5mUaWFWQLpAYL9u2rapKKswRERA6x6gIrN/hPpEXrDEm06S0VqDyQiMVSikIhVoAoO9tlhVdZ5jheGyUypyF+thOp3PnWudclmXogKrZ/d1Dszfv3r2zxhjnskxleqKVEq7NympdoCKVaa2p762gQxKpyXQJmOWFNl1flaU+n253m4f19ny1KLO8q5sH96CLXFHGDrfb7YefPslB4v/87/9HVZSmcZq0bfqyKjab9XQ+c8b8/f/5t0WRLZdnx93xuKt1hl2zb3tX1/XXX79v6xaRDofDer1WpJvu/vDDpmuNzmi9WFxenQOwMWaz3hhj7q4/v/3iXabytnZFppFVBmVf98baxXJibHds2tlsYq3lHhHR9L1SCoHyQhtjjDHCwwEME3ddRyBbCSXKn0LiESlitKQUOEZiZJAPJGXmNdiwbSOeiayRVorZskVSSqIzvEaCQ3YgM0t2iuWoC4m1FRgcyMZygL4gz0h9T2AoIW4ReV7+k3gWYeEIgAqYCQVejAjRQyaDh6ICACBWkQujYwS/c+VXX3vBio4+SCZmttag0qI/yYFfYMiUUtYrEwqkzrVjRCRERwCIvvA4exmDiGBHAjWOSywLco8SQSVJkCH0hZkZrY9XegL7kOzZGMTE4IuPgHP+oBLlq8hmInJskCRBDDWGwqIMRZVba9k6ZlYqKp3gnGd68UBixcXsPdUkeWMulEZ3TvDbkFTEv7MI3l6FCQ+RMaIOVkxm8GXYvbT2fQMf5RlkUpyB8I0YIBPn5cDEnNWkMUy+MYatpRDmDokej9Gh7MAZF800FHI8HBtkIqUAiRSDr5NAIdDJASCRDocEJvJ0EpUnv9b+GydSBcTb4FyuMwB2aDJFrLSXV87lRdE0jTgCNUFVZpvN5nDcKaX2+/10Mvnpxw9sXZHneZbVx9Y6KKezfb03tlmYqWMileW5btvGOVcUObHbPm4QldadUu2Upqtq+fD5Lsuy1fllc3zsmg7ZEHWzyYuX59903FJeHfbdTx/+mM8A7tRsOd1vN7PZDBx3ddO2PTJApnp2k9mysy7LCjn8TKfTh80OUFWTsnfWOsjKMs/zxcX52dmrTMPFixdal7PllaaM8KBZ27y9ubuFnMr5NGdu68Ph4aHKc2xbxWZ/eNSEXdfWzWOeT8uMjWm71h7AzeZnhEWe52yNRnj18uXHD9fIgETLxdm+bsrpZL87KtBEGRJtHusvv/xSZ23XHG1n97taqazvOM9U17QSFWmMyUuldDBnIEvqmnOO1Ekolz+7OnYOHUrFMXbCHwQIIcsktJ0BXJ5nfiMoIfiYNgREiEzOWgRghwCRREmsBqQgZtB5eHc26Jh8froH7pBd5fGKGRCx67q+7wXpMijuwigEy3hAWUmZs+hUJ756DC7ZuE2c86xYGE5G0egOLLqTqFFGSt0p9qArosUpBvIFrZFZoseAEYCBjGCnksDBycmhF0dTAKf3MHeIiIxi5k9itwYbMwRrRdDLT80BDsEhWOfAGkTUAbo+MhZm7vueEv4ggEWoMxFW1ombxctHOdZCwAqL/AIdIqAiFQG7ARgRLDGRVlKQUQ786sQAL8/7TqdWfwj8kcN4vbIKDoYSbyZYHEY18nSe59EU4T07CSRZ5I/JycCL7Ugr8XOcUEyOpJHberPEEBXj0ivCPwklKaVQkeIhiSSF30ciDBZBpYZoBD8K1AijguWIyB5hDxPtlkIpl2eiMyGcyVLpm14njyRLFFYoNRP6IguQPASROuNCRsNP2o3klUExGu7hmA8QoZnS9ToZDgdjEiI6YCIiQBvUIPaaohLrRdd1AFAUhaChKxgOxMYYgVnNssx0LYJCQmut5H2K0/PQ7vO8fPHixR//+P3xWL979w4AiJTWOTvOywyx77pOK6ez3GFPmGtl2anjoc2yQmudZSU7VxSFc6ZpGun5/f09s53NZsZ024e1LvKyLK1r8wKMPb58+bKoVVt39XEv9fbyPJ9Pp59ursEBETi2l1dnhNnNze1kUs5mE13kDw8P//zP/3x58eJ4bJu6yzJljJ3O5tvtlhQB0ONmQwqkD/vtDgDOz8//9Ic/vnj1Ms/K29vb3W53eXFWFIVStN0fqqp4++YdE/R9z8YZY7TJ+r7PsizCbMcdJ7hssnettY5Ptr2n5BNPWVhoz1nQ4wAkBB9QU9wQ1ICB2MUCLS8a8fe4xEGtHyzWTzd4+iEl/FO6hUEzju7DSIpKnHJW4H59HL9LwNXS945fNPoz5TacPMsRtRYxRo8wh5j1ZHd41hJiK+MmGnO/0RW/GfFiiJpp7It3viCiSjAlQTwtQglKYQBEkBYBAH1l32C2wYEGHLBSiseQCDgODxDxQx6gLaxdTE0CgMQVGxclMop0aHGST9jLybSkQ4MgKWOz6SsGjf40S2dkFHfOyUG3C/jT6atBkhUcUwCFJCnoh0NBSvEc+5uVYtdJVV05BxIJZDXHBMTYST/PY8/neHIkIA0goAw750zfF0XRdV1Z5tPp9O7z57ZtjTFN05ydne33e2vtfD799OkzgGT+Q9u2eV4a03Rdd3m1Kkrd923f26IomHmz2WaZcg4UoNbaur5pH+vj4+TqsrfH7XrPiNvHfZ7rIi+VnpxPz1EVCvfvv/nVoT6bzK63m0fSajlfTIryxx9/3D9sz87OVKanizNGUr11gJk/FbtiMlVKFcVkXhbHti3L8uLyxWKxmM5WZZFV1VTpUut8Uk4No3WwfbxdrqrZRNe7R+KmKrO+a/rGTMv89vbGdM1iPmkOfdscGs3TSbl93E+ns6qaKtTWtm3b53lJxHlWIvHnz5/fvHvHAaOMiOq6JtTGtEBadLuqql68eHGs6+l0WhRFlmWibCmltNahOqZoAgNZnmh+T3maQo/1LqusFKbqkN9zMOA0PN3yKZVAwirTP+MblY50LuXDmNk5dsbGrErPKLquE8No3FCx2RPWlP4UX5cq8fHfZHd4ZVFMiSN+ziiQfYPUQIigK4wIgOxiNg0JTCSO6+cEjfWJ2y1OoIegHC0Njs2gSWujRtJvJE7dcWIFCAC4zsUhC5YrRiaTLM2wTMwSxDtM7CDsBOx8JDEd+ShzyZtCEExCyUkewQAwjzt/IlaeZarRin3ylA4+pVG2r3d6JFdiQ/K2QEQUH27aLif+xyd/eigY5+G6IizMIB2dx+lDVKR1zozxTBlfRESU2MXTRlJM4hP7d7gBIOkw+gqa6C1QiNFdEG6AkUHoyYXj68mzT1dllK0FKWUgIrJUeYgC7+Rt8IygDUeS5P5TbhLoRvawxGwgDJF5GGyoSiln+6ZtG0RELIpCKWW73liryzIdNcX656gF+6xt26ZpACDPc6V031tra0XFu7dfPTw8/vjDp9evX3dtN+VMKVKTKisrwrrIyywrNJnd/giAWabbxu53j5PJZD6fd13Xu6O4R7Isy5Xe1XXft4vFwjpzrHfY4KR8+fb15Xq9bk3/8Pjp5euvZ5PpcV/ffro97g9932aKvnjztm1bx+12u358vH/37us36tVms7bOmMYdDvVkMrm/v3983AHgdDo9HA7z+XQxnxRVqSj7/vvvEbkoit3++Pbtq9///vcvX74AgB9//FGrfL/fT6fT3W43n8+LMquq8nGHvbOzxRRIkGTAAltgtgYRHYIucu57qYnrWCFiV/eIqDX15jRxHoeAuYG2A5fx9Onz+PzqiK16IC3nhtDnwHXTTKYhJQsTjRxShpU8cvJTShVjklNp/B9bh0QwYEOxT+MVnclbmm20svzSdjv5ZsxDB8t/GLhPxeaQXBWn8UTuDsIMIO1Ayl6evlHulXEzMwqmzXPxMsP0ulFhvESweatPskYE4FSolXbSDjIDgkseQTcM3w5uT3UyUhCQIxzNAAczDwxiMspvZp/AxJBaCsYEcLL68cv0+/RPHPgYpfC+URQwW1GVnDPW9hiKoqfdRkQb7IvxhOAFG6FHFgkKkEIiBVJzUDiYUipkFHC0iQZqj/0ZoWemrNvPrWOGKJtgsVg452rnEFHgsPI87/qsaY4///whU3lRVHJeYGZre0VFnuePj4/TspjPl23bM/uQG7GITcrqcbfJsuzh4aHruqwsjKmadnfzqd4fj+zUq7fvilwB9ojMBtkVeTadzlHnCoivXiNkqnXm9VdfgOX7//E/rFJXb7+YTaaHY9P2fUX6cKidc6vzi77vrybzpmmY8NWrV47Rsjs/u8yyjLJ8Np9V5VTrgoGAldb5ZDJravz8+cc3by9Wy6vH+xueT88Xs4f1XXvsMwQAp8EuF1ONjenbTMHZYtVb7Gs7rcqXLxd1XStFtjePx0djTNf1TdOIyp7nuSozYnX/8Didztu+f3x8nEwmTdMppV5cvRLdQLIItPbmbRgTJIGHoX6WdWBwc6mgdUfdV0p3STE4UuBjZwBUorjL6xjARUOAgqjzndD5060BT5iJtBlsz9YlORvGiNk4jXhh8bKmQhwTTSll9fFF8XGXFGRk5mj5w7T4OgCQr23GHkkFxdWIoACldfT436K5ev3Qv026EBzCo05CMOgwS9WRlAGf6m9xROlcpT8BEABacIkrT6ZuVCwpPhXaj0buOF0UWwWAwYktOvsTLkdOrPxAjv0YwQMfS/MJjh7GDIqn0lMEQbDCS0bsaJgnd+p4mIuzQBFSOgm3ir9GGz48ZwV89k0JfZBzRtoMqXoeF1LKSToHDpCd1M/1cMhS+cTZDhEJNSqmIaGWYgFtIq0UeV2GWcqS62CjijE5WtGgi4dqvUQRLk32Q6p8n5510hl/Kpniv0KYz07OWPaEBoPUQBzZBp5MKT85wvrTL8aDLDrwskTuAZTfwDIgKWBgsBYEjBX9/eKDQKWyzMd0dl0nkQN5nh8OB4n2IyIBgnTO9X2vtQJmTZRVs77vm6Zpep9zvd8d63ozqRZZVux3jz/9+PN8PkecTiaT9tDpQk8mC0Rs255QLReLuq6b+ti2fdeZzcPD+flqtVr1xrRdbYzRiFrr+Xy+Xrc3NzeTaSFhGj/88MPXX3/59Tdffv78+ebmpmnqIsvyXJ+fL2az8rDfOzYK1GQy+c//+W8Y2j/96U/H4/bly7fOmd1+y44UYJmV56/Pc63ruj7sHzPNj9u71WpVHx+LokQwnz/faJ2dn18e6/37b7/+dP2pKIq+7TrstNZ3d3fT6Xy9Xs+Wi8m0bPv2w88flcLvvvtuNpv1vW2ablJVUhFQqnMXeSnaEiIWRYEMzoK1VgqgAEDw30kQ1ViVHxjcqRIpRMHMAKlGPoqJ95/HECVIg98s0vVTIowcJ9346W1xCyAigEp1Mk5KKBA7h8O+i/r64A10zM9xEg6WBjixv6K3PnsOGPefSwAc0AL7SmQuKdgZJZnM6CCV4fTzU3YX2INPcyTwNVYkiU1+pAQhyj3nkYDTPQ5R6ALA06mOolEpZAmPsSymLxmERnIhSlCQV6KEBgBUwDCS67F5TBEwkmNb7IACL2whCEbwY9Qnk5PI2sF1yeEEBdE1L61CLAo4mBNEEkV8CWsF/wGj1BDPqiQ0iVMeEbNMaR0NpgRB9/AZIwFTSyj0hJOnV3BCnq54OhAAYLTiH9KaiLRCaNsWALquI3CLxUJrzWCZ+4eHB6vMy5cvJZOSiJqmOTubHQ4H59xisdjvD01z+OLL18yuKqf7/b4sc6WoKsv9fl8UDnFiuuPDcXtsGq1zpfOzqwt0drO+P+w/Vxcvp9NC54XFwkF3bIzSeTGpzi4ujHPT+Xy9Xq+urhRluqzyanLozHyyUDqfze1ut8uLic5cVk2K6UwpdX71QtJ+dJFnWVaWEwGAyosKIUMFh+NRKfz227ebzeaPv/unrnmznM/XN5siw0K55ngE0/XdcbdtmuNWgwXk9d1tpmdFOdGU9z1rTeywb81ms16slkSExLe3t7PpoprNt4/74/GodZFlWW9MURREmgCMMTfXn95+VcY8hLCITtzv4PMUfZBM3OAISco1SvK3hBoORB5s64MWS2rgmUQk+EKyWcBXn3UYYJoAAJCRk70WsLPDcVvYg8DfPWNLppBZESqfIDNIyB94oTAUuwSIZdfiJHDo2BBQnjIx4ffo60gAIqNAHYZohsgMQ1ivCo1zgNG0I8VPxhuRyyUGzyP/DqpqogqP7D5ImEaAxEmIM/NUuIx2XxhX+IkcSqGo4aAyYn2jCSeUlRsb0aW34eZ4BDk9eglUOhEhIKBjAgXRP0PAYkcOJfd8b1OVfWRPOREs8V0nNqw4ao2KrHO275QTJqk0IaEvJJQw39HIYxyVfI7ZEug1xJG8H0+KInIg1YlDQmp6PEgtTOzQIjA5csAOmRCQ0Ut3YetgTZwID0QtSyOyignVGH8tiAfBycFYDR4g2sgpZnwjAP9CtEwc78neSyc9nYEwk8OX4YOcTygxFTARWhu7eiJcIWUETzsW+3CydrE1GKN2eGOV9Tqcc64sS6VU27Z904rkzLJMMkrFsi6HPamTKplb+/3eWTufz5fLVd/3zNy2/e3n++Ox/fz5MwA5C87VSqmyypxzv/vdv+0P25dvXiHi4XB4cfVysSqchfv7h6ZpFotV27a//d1HpdQ377/Ybrf7x+3hsCciQFfXtXPm/Pzy/Kurruuurz/+8MPHtjZt27y4eF0fjrbrr6+vHx8fX794OSknd3d358tV2zcfP/ypmqj5Yjabzk3XKqIiK7a7mhkfHx8vL8/fvXtzOOy6rkOC46Fu26Y+bDeP9nDcV+WcKFMISmHbtnVzIKKLi4u+7zeb7dnZ2du3X/zmd785HA5v371uuubx8dEY95vf/f7q/CzP89lsprNMGwMAgkmvlMrzPMsUHED8CazZGmXZu4DSTeeDx8bExszsvx9kA4z3fGSCgyKILMwUXDCySIZIomGfcNgTCk939C9tjZQ5AozMDOBTPsTiaEGCj32HU/DdZxTcE+32l35Kp86EGEH0qrlFRHKapZxKYj8LPRyxuzhYDulZqThhZgIN3urun/U48eNpjBcFfKAoTOOyikUtzmKQoKfWAXlM0O7lGwXoxpoHIin0VThQjuWjAjRw8pZk4SBoGDZqA6FNoZPnzxKxhfTzE8b1vN0RAABU4ITDusglWFIiJjxkarDCyA0uZIzJv96+AChxWLEbcWyRxjxi0xNdPPxKqex6oiL425TWABANUl3fow/sNNOq6Ix5fHw81vvD4bBYLB4fNn3fHw4HqaIqQ5lOp2VZ3t/fF2XGzD/99PHduzfr9Wa1WpSlfnzc6IyWy2XXNfvdDhG7rkOi2XxCWd4cjr3ZO2OdOx721/vD9eWsLFXW2l7nvXVcZhlD9YKudJEh4n/6m7/pOldVlbNczhYAdPt5/fLly9XyvO97yulwPJblpKoqmczlqmJmIEIFjg1SphQWRQHGHfZrrV1Z6F//6v0//dM/3fz8Yfnt+2b/cDT9Yj7t6gMRkDMKlSJnjcl11hm3ebh9/ebLaVFlpJ1l0/fMvXX94XBwzvR9b9t+Nl10XXc8Htu2nc/Oi3Ly448fuO0vLsrpdJopvVgs+r6XOBlZNQlB9MyKxXQnri31lEpT2osLLUKffHEGRhJzmAvla5wkPj51f4XzfxJCEyCtUnpL34iIIY1SHpHGmQhIykMTWeMNjtZa5wZEikFhxtOd8uzoThhjjDLn4fgq/UhhOYjG8BgxgpGZk6Qkv/8AwAeqMyAghLjNGDoSR/10HgKcMaeK+wnnTPfdyWSm6k34kyxYSkSn1hpgFEMfDESCDDtAm8hZhb31Z6TdjWKvARxC4A6IGGpCCAr+aFYx1C95vv9xgCe/Prug6SMaQbETnHUWvCtr2Fkj+Cop8FCYPoBwDohxYykRRMnn18U6CGH14XtFRKTQWgtoGQwDEaMCImZAR6iZGYEcMPq4GsfMyGitZQ7JUpJFHly3cirVmmOfpWMGnAqBQDCcYLzpjgcAf2+xBn/KdGGe8NkpTqlwtMCpZEr+iG3FyUkXiQiieynS1pOXnsQTQyLmBzEZj5iRFOSiAEojt6W4kMhgvRvECpUjYpnlbKxUCW3bdjqd970hoqqahhMXGOMA7Hw+z7NSXJzSpa7rnOOiKCaTSVVO7+42Xd9UVXXz+ee7++vj8WhsQ4Rte1ycrbTW158+XF/XzrnDvm6atizL8/NzROiN++n7H8SLXRTFZFpKVdTL8wsk3Tbmfr3ePR77vn9c/950XZZl++ZQFMV0OdNa/3zzqcrKTOsiryaTRdv2D5sb+8FkutRqQpi9efNuMS+Ox+PFxcWPP/745Zfvspz2h4O19tXrN/v9fnU2rev2t/vHssCzi7O72zWpedd1r1+/3m63P/304zffvL+5uW2a5u3bt796/+3f/v3fXl9Pv/32fdu2q9VisVj88Y9/vLi4ePlyvnvct22bZdlytlRKNccDESBilmXWATi21laTou1MoFICkNzQeOI6VXqQSPy0KVV4Bc4r6ArSUzeRDTGUkKAKsBgvxxpM+DdG3aD37cCIV8Zv5P2xvE9C4QOgIUCsTDE6RsIYBJdD7le8B0YpkiPop5NLdOFI9jAOmPEdwx5Ax2lMn6VEAHMydXHu00kbesViSh8yDSjZzvF+HsVgjLjBsBCBk4TbLAyht3IPAGBEnojmpZSlMFsApRBZkRqQkoETW6AsitiwU94lL/cm7TQKFhEAHHiemc64rA8kAVqIAzeNN46ZXuL59L/GAn8jXYdCzmi078TPMlIJcRYLIhEohUSAIID73u4utXXGfeCTpT9ZjpNfT74JBiYOq6M8Uw2vzLKi7/v9fq+1rqrqcNghstZaysNJHYwXL171fW1Mt1wum/boOC/LTGfUtm1eFtbapnFimF8u52xUlmnniDLaHXdt05hDff+wqarpbLbIkLabDz/9+N9X52fFZGo2R6Lu2GxUmecaenKFotlkslgsm9o4B1BpYqrrtsiyXGd5nq/X68OhfvXqlXOuqPJMI4JFsMyu0IVxHaNWiq1pO+Bmd7i7+7Ft7m5vj7ZrX7+46rtmfXuNCEVO6/VnZ+1iOnXc9R1PyqI+2OOxfnh4YKObYzOd2KrKSWulVF0fnbO73aOgFRflRGfUNcZau9/vX7/Ju65DpUxvD4fDfDIFALAuz0tmn0oo1aMooPiL2Vd8Xwni5/MKriSIogC6y0YnRvAKblAkbEp7KT3joD2PQ1uRh9pPiX06ZQvPKAzp9+SQ2e+3obeklBJQkIRFJ+pW3KdDbLOYdUQcMAk/F4skeBQBQjQUtE8WwzAIYiaeuBk5RJJQZDXEKKHuGKIV/NyLoS1VglP+5o8QwkwSxf3ZDZjOz2ien/+SLFixkloQoEIOBcMBUEp0DqpZfAojupQ7fXW6cKK1g8yp52EKySEiB2C3kThDh094yAkhPR3U0/fGL5lZ930fPebxUAIAirxenuaeypVI0FOBEQS8/4wonlygBKlGvjcB4kfe4qEAhB2HLRYK5IE4dwBw6KRSysfbCCyaZnbO9XLA8uHakXbFlhUuABFgUpJ1kAU4miAVLYVPt1Y6jzi+0lXBOE3MYk8a61iDEwBRSswOi01PYtxFKMZ4yqf9iR/4yQEuYLEPtnafouqcZL9Fe5XMcLSJSmBMURS5ziRiDRxrUpnSotM/PDx8/vx5uTjLsuzDh49Zll1eXvZ9bzqrlQLn6mMN3FelBu4RjDH86vXldDrJC5rPp4h497A+Ho+2bw+HWlFWlsX9/R0An1+sXry80irXWsuL2q5m5vXd/Y/f/2DZFUVxcXFxOBzqulaAeZ6XxaRpmtvPn28+f9JF/tVXX81nC9vZ3eF4PNiz1eW7L17Uzf54aHfbrq7b3fb45t3bn376YGzXNM1v/u1fX768mM6qtq1/+P73Sqk81/PF7NXr87vbbXMs2HZ395+n0+n1xw+L1VnXdf/yL//iHOx2u8msevHixfuvvkZN2+32/vbz/f3tarUSuOLFbM7MbO32cDgomb2e2ZLCyaTUGU0mk91u1/e90iTo7+I7cnaI4ogGwoR+MCkhPOAkAnhwj7hZ5f6YVwIgfky5hwAG2hNaiy8Zxx/DCYGlFJhQKsI4zCa2oCD+FPfdiJ0JExAKPJGUgyMOOEosuRBH9vmTVzvnnOuCL87vC+d6BnI8uGXlIetU+mDSvaemHQAATuxSDkFAIZ8VObFvJ9phyktPuh3FswsZZifsG51HpnzuRRZRK0CmYdR+tnAoFBr4zL8nKSFhL4JrccLzOTn4nfbwGTd0vAbf5tPXQTDHsM996lI7kehJzjlF2mVZfLWY26VLYoMgEnvUkP4kmyU1pSe9xZMhhJFy6gLCJMnHOidVjf1kOtu2rVjTpQJoURRZriaTyfX19Xy+7DrTd1IFOcvzvO3M4+ODMR0AIELTNO+u3hwOu9Vq2fb9i9XZdtvnmKNjndHmcW07mswqdPz4+ND3vemMy8j2GnulVd/1d4fDrcozAAdoAbru2CqlyPXI/flqVhbVrKA//emH2eUlaWoejovF4nDYl2WV53lruuV8EiYNrbXN8dB1XXZ2lk9K7dM9W3auadaETVk6rSb7/XExm+q86NqDzkkrRLAKoG52iGxMrxC0zoDV8XAzyVSZF0VRsHNN0xCRY9N1Dal8uVwsFoumtYgolbnFSCRLOZnMuq7b7/dv37wqdCarpnUuZl1rrdi5BXkJKcrJIKbZPVlTwBh5LfTGIIqmR5YECNb7lEJGNAODScJr/8MG97Eo8T9GcCG/nNlhOE8gSI1IgZchlsgr9E4kx4AZFjIPKkBHSGa1SxJPn0p/GPMr/2EcghgJXhGhL2kMXhsi55xDX2E9zFLkBj5Lk30zRAr9UZyUTK9D1I7BOQPgBB4wuo45KY2HXvkZuAcn+ampCIg8f1jWcNlQLCj8qhya+JbolIsTFeeN/SMqNggwYIbCE7bGko4eSUhJhGL0nJIvd5QySSYWRDgAhjgo/0L5nwOT/JVc8b3jL3XXdXGXCl6P8D4xk3MCjBW41QAnnMZaxdk8mVPwzJeIBts5Jwcv+eDCNcx12B0cgGiYPfiMA8iIBN4XURGpRPoKW0YXoK8jBcfF8wvm7UaEKC4wX642DkFuSLWlXxpjnBwAcAgYajwNtM7MCRbpiWA4nbEg8NKVGoh1tLQDYcVz0WBSTQK8YmhT/KkPLl0Kts8sy+I0Sia7Umq1WknpkMPBg+a2bcvMUhdJsMz7zu62H+bzuVLq4eHh4eHh4uKiyEpr3Ww2m88XNzc3m80GALKMtvv9dotlmfU9rNfNarW6uDhXinK9MMY8bnbb7VZrnef558+fN5vNF+++mkwmfd/f3t1UVfX1l1/lOvvw4cOLF5fr9fr6+uNquVwsFui4aZrj4UCApjX7et+6/uzsTJE2xn36+IncpJrC1cvZd7/6Cnj/+eZxWp0fDvX9/cP79+9/+7t/PTubN625vbu5vDyfTCuF+uPHn3rTXZizly+vzs8u29Yej8e+6auqOj+7/Pjx2jmX5/nZ2Vme559+vt49blfnq4ma9H2/WCwmkwki1kX1m9/8ZrN+/Pbbb4nh+++/3z1uLy8v54vq8vK8KPPj8QjoXl690Fp3XZdpXyIEkYkUBmrJskwYonNOLECImOJ5PSGhWHLViI9rREUAIezYk5lHWR2712DsVXuGGsfXcJMb8IDDT94vGb7hsA2ZiIAFXnqICEqP1JEDyqhdUhNtcOWpUdJk2qUASGWUyuL2dzgqRjtswwQpfywkTs8P4QXJxIY+QGhozDF8LKkXFcNMglT3oWDZl1RddAzsQnIbD0l2XrR4YojrfvIBIudkv444pC0hjlnQeHmHdX+W9aWKwnA/nlqGTltMLgzHpJjBfNLaINeHLLo8zn+kHGutszbatxBRDECi4gSjKQAMigLH+LDUr4KO01yIJ8eVtOfywVobnQMuJPwRkQVAxKIomuY4n89pPl+v10TUti0AVVW12WzbtmXG8/Nz5+Dx8eF4bLquK7P84uJis1kDwH6/L8siy1Vd17F9SU49W1wWZQZoDocDKjw/n3W9qZvHKl8U2bFvt3/8w2++/iafTirL++m0OO7b/XartXZdZ4w7bo+z2VIh3NzcvHnzZrt5vDy7POyOSqmyLFBT19SLxULCVKbzWamoPtSbdb/SL4AUQ24t73bbn3/+wbbbqsJMTY1q+75HtmVZ9t3haEyWZU1/VJryQjfHTil1qJvjvkbIiKjrurZtdV653nSm6bo2y5XS2W63WyxWx+NuOp31fa91PplMxKn+8uVLRLXf7wlpv9+XZ+d5nodDGiul2IFUvUnohxE8tBMAwLB7RifDaO8gQCAX9iWEMI+TbTUcRFPyFnqWZiKrjO96amVnZklEZGbxDihCcYkREaKNqSYx0l1090jhQvCivyfG9WdUlJNtmCr6GPxp4XBLA5uNIDZ+RD44mdFXdmPy2qnzyUokkWfO2CgySEnmHZ3okBgUd2GDRME7kiiTsYdPuRyOTZNxkuNT6RaWgkrO2SzTWmfRBDYsIg5XZPjJrvc/RckV5VEYIzEzEkY/sxcjwSo/fOlxh08NUk8X7kTUngxKbtOgyDITYq40MxtjZJatGGUFOxzF2ifAOkYCxI2JwHbknCXKQxLxgPGMiErHEFuy1ka8M9O2KkBQITqlgBM8eDnHRC3fOddba4xhREbFzhnjEHutNQasewiHVHHQsFPA5Cz4syGgMT4W3zlHgEAUjFVSV1xLGCtBPP9pICeJBWE4Ek88uuIsc7BlpfMbNxWShpAmFdfAkzgpxwwOtA4BWIwKXTDzhH0oNVBNEO/xLQwIBGD63kjEs5wUBM8RMZe+2d4oJGa2zuV5XmSaiPoemNm0faY1m14XBTDVx9qX+bTuuD8olXVNv9msp9Pp8Xg0xs1mM+fc8XicTqdlOdntdtfX13e3t8vlEhzneX5/e9e2fVmWs9nscDhUE21d+fj4qFV+fjZDxKbdL8vlw8MaAAAdEdW1VUopjXf3n4uicGzKsuz7/o9//OPr16+XqzkiXl9fb7fbX3/3q8vLy58/3a5WKwX4hz/+iZ27uLjISH3/w09lWVpWhDn27l/+8d/YYVlWb9++Pb+41Fp//8fr4+HDV1+/O9bt4fD51au3f/jTny6vzheLBbNbLpeLxeyPP3z/7t27y6tJNcn/+9//w27bVSWwhbPV7PJi+U//+sff//7f/uIv/uN8PndMWVYolV1eXt7dwXQ6tb3913/9zfv377Msy1Vhrb04O59Nprvd7sc/fe+MfXh4MMZ8ur4+HGfOgdZ0dXWhlHrY7Luu0yprWntxcWFMdzgccqV7a8pyApQhgrOcZdqhy/Kq7/u+b9mhZYdI1vZKKWN6gW/Pssw6R6Sluq0c2yQMlFRurGFmpYgBtFZ93yql2LIK2LrGGAkejYc9lRQP919KymPI3BKAKaWUZSbPrTGWqwQAjQgMjh2GAqZiHQG2vsysD3GWrWQFFthK1KQU63NMRBJp42KBv8hAfRw2kiJK0GNTJm5tbxNHHyJasITaKREY0s/RDo0KGfNYXw9bnilqtzHwc2TbIzHjMYBXIDAcxoQzAIBFQPD5usgMjhEApIADOxP6760JYiuWSYx4tonwCV5NRVKo2/u0rfQ2mop9D2ng1YMUAd9ZfwIEABXqgulwUBxUEEjk1Wh2CAEAFeJILIX59+c3b7+DAWOAkwPDwNJh/F6wzjEE+E5ZI00e4VEUG+dsdL0KicU2IyX7hR5Xz8GkWg2P9Z6U24NfTsRQINk5dg6qamr6FoDY8e6w67o+y7Ll/Hw+XX38+LE+NtPptK5bRHR9Ny2nfdO/evGS2ZJyDPbxYY0M9XFbFIvd5mFSlfWhtkTguG9bJtNbRk3FpGy7rm76PCstYAu1cjlRTrBvjj8s8gvdO9VxV6/ZtM6ofdMhZGU1c83+cjF5/PDxeK9W8/xh84mZcj3v6v12/Xg+fX3Y9nmeU479cVuW5dlsst1um/X68vKS+qZznan3CEenIF9eYHtAcJkmcNy2TVZkZT5p21YXcDw0eZ4bw9vt1vYmyynP0Lq2a3bbBzWZ5ESOwPV93xmj+uNsNgNwkyrbbh8vz1af79dEuu/b/f54ONQCX1xMp0plhl3XNVk2RbKoCBRrFc6ZgXIcM4CJjiCBemRmx0MoKRLpISTWRS1ONmaU4BITRUREyro+yGWWwLNUcQwgvN4OzUxSvAlgaDk+EijZMxwUmFLnSHve6xwQqaysAKAzLqrsA4kjomMFnhfIiNhruug8qC46ry8CIknF39gf9MjZrBARwTpHwEqhcwbYkgbXSyMspakUEeIo/0oTMjNbw0ykSWfeU0EkGSY6DSuI5SkCtyEcG7bTiYr/nlhg0z/jXgZnpA3wJldQyrtl+r5XCrX2kPwAoJR2rBKml4CbU8bMnPAKuRw4pRWABCk68qo8GBvPJBoHWTDkcXlGkcRzRDoNVidxcSj2ah6OJIj/FyNByr86Frbona9AkbpgYr/jOqWnn/HMDmhi4UtM74EQFyjt5Hkug4qrwMx5nvtYMRFoYJ3gEKGTAhnMqJSN/XHOee9MiIOUNxIRJtBmaR+8QTrclnJhP8s8fIPjgNS4J59Sz8meTCn75Kf0Kek5J4fjcEnsqXepjFoTaTgmdACXKQ2O2XlRbq1FFm4ipxEG4L5vg+TTRVEIjqHt+r5pBUkmy7K2aRwbY3ul1G533G63YnSvqmq9Xnddd35+ud/v9/u9zECel/v9XuoW7ff7v/qPfz2ZTMSs8tNPP11fXxtj5vP5mzdv3r17Jwak3//+97f3h+l0+sUXX1hrf/jxT4fDoeu6qqrEkC8u1MPh8P333yOoruve9G9+9e2vf/e7f/v8+fN//a//dTKZvP7iS+dcnuVKqc12u9/vFeDhcDi7vLj76SdjzLt3b65vPjVtl+fF/f3Dxw+3b968ef/+/W/+7R//4R//jyxTRDkiff3+O2M71DrP6fvv//TmzauiKP7whz/8+v1Xy+XyL//yr/75n//57u7zdDp//fr1crn88z//c0XZDz/8YA2+efuFc3x/f19V1Xw+7ft+MplcXl7udrvdbtc0ddM0m91GDAoPm/u+MbvdriyKTOv1+o7Z/upXv7q5uf38+VOWZcvl2XfffWecfdxsq6rSOmdmyRLOssxaRkSp7aJZ5Xlelnld10jYti0G05FSyIzOmTwvAKBpjiI52rYtisI551gKTMS0J2eMlegOUb4lETmVRpH2IqkTkZWqYQ7EBaiSUiDxmAk+UUkoliMDSeILRy1zSL1AVM716T3pbV6SMEIIU07Bm+Od3rSTqO/sYx5ABouIhNqB4ZAyQ0QmVOg83dHPGYaH1zGxT45/or/6Xz2bxcHWG7nzgKsT2zxpZ3AsxP7g8HYv+BExBuMRkiBFDbV7RVWNymhI2A3PPrsiTwd7osjGO09uPtF6T0QyDJbvUdsAcFJhUZaYCMFXKGOv07BLc5lARABG8+Go3Ew6wBNKfjrApx+e8u2nk5BSS6xGYtq2LCda691ul+V513UItFgsiEg44e54rAr9xRdfAACittbO5/PjfndxcUHKElFWVKEACBPRYrHcbrd5npeTSZGXgBpBFdUsy4pj3eZlBUxdy7ef14e6U5nOM1WW5f5x2zskInZmv9sQHRiInOnrQ98Z09VFXpFtbVsfd+sfv29ms9nZ2dl0Oj3uj8f97uXLl29evQRCncHhuDscdlrrq8uLpmlsbwClfF5G6CaTkq1xbKAHsUowW6Uw13kH3NWuyKds2+3h2LN6Q5SRetxt/LICl2Xpgi8oy7Llcnl3uy4rU1XVanX+008/lfksLwpGZ9kBgDGmoqIoS7FNqCeI1zASkScSMxh0vSl+FBaLiILXGUnLI5mf+ppSFsGRHZ1Qe/pn5FEDwYA/vqccIJioB/+SzkjQriOFe3vxKE9UUsc9Im00kkYtExGlulran5R0aZyTCvCMhT7tf5hDj4cZ2mMQYymI+jG8JXY+TiGmRSU8sxr+DPeN+D8k7OWES8fPcdcLHisEdVGIZOi5ZxE2DaQct+ljH36Jt5/w7bSHT1ZT3ojRghDbAOAYNMj+GHPqSk1XDSRDKy4GM0f42JPlTDsqD0eDVuzWuDf89EEIMazgrRqDSS9hrz5yKs6C3K8w45BOFyz6gIiEGiSqCASUV4CeVFzXuD4YDtAAfsfFgVOSt4rg44Of7NLRPJ7Q7tMvTzj+L30+uQJ3OL35VFQgAw8vjXfGUhRCsm3bElGe50VV9X3ftq1zrsxysG632z08PChAKZnknJN/m6Z2zuZ53jQNgy2rsm4Ou93u9vN9sMgqY8zj46MxZrvdluVEYjpfvHhxcXHhnPvw4cPV1ZVzbrVaTae9+DpF9b+6utrv999++23T1RKBCgAIyvROUWZ65yy8/+a7uq4/XX9+eHgoiwkB3VzfdE33H/7yL96//+79++/+8R//UQZydXUlWODz+Xw6nTrncK1+99vfX724NMbc399/+/5XeZ43Tesc/P533//t3/7tzc31//P/9f84HB/+9//P//tiuSyrrDdtVZXHY1937U8/f/zhww9/8zd/k+fljz/dXtb24nL5/rtvfvjhB8f2+x9+aNueMf/m62+LYtJ3dvPw0LQdANT1IdZYqeu6KPK6Pv72t7+dz+dn50txDSNitSyVxq5pmW1RVI+Pu3/8x39yFkQddzb7+OHz/ri31r774s1kUjpnlstl2/Z1XWe+sKUDANPbvCBreTqdt209nerDYSdQkm1bZ7nSmvq+BYAs0875nGNrnHPOcqdCrZkUrEOrnJ3TOkMgJYV7mcVIw+yS1B6JUielAu0xJIlK8QMGK8FA2SmRA0A0siZKp/e5ib3/ZE/JZQElThMRQTyxiMCWXZRh8hUBMCG54CKTEJFRXSomAOuCy06mRSeo9nFbORcN16dbmAmjfjzWEYfkS1GU476Oow5NjaYl2e/ChXwcS8IBxOI+wtmEwHMUkkT/hRuDwQIGsEsMpr4T7gFP+cxzEjH9MhF1IniSAD8BqB2FhvvBnixuMtjn7R2YaDayFuhGNSPlNpVgWmOiZMTW0qCykyGnPPzZsUcqhX/3kj3VNk3XdbnWoqMLT1ivH8pJVRXler3O81yMubvjIa/KQmcAbr/fEVHdNsemfvXy3DnXHPeZpul0KjHNfd9LQJ3O8ywrFBV5OS2reVlOAC36BAvIsswY56AHcGfzRb3bs3Wm7XaHbdf1pMssy1bT4uP1j11vp9MpMW4fPjkHk4y//OLlZrP5+eOf3r9/f342/eGHH+7v7JdffomKHtY3h/pYVVVZVc5CnueUF6ZTzjnTd8SieStTWy606rI8z/u2btuGncuzCh05a/J8sd/v2WHbtsWkYuaua0zfltOFMW46myKqLJ/ovHJITfsBHvWbN2/kwNl1nXMuy7LZbFZMirigIu+IgNmpU/zvsHrBDIcIPgsVGAHE2DoOTPWVGdIWMNTYwuDZEwqPGajJxh/0Pwz2lNBOzNSEiPKUqsUnmwIxLUMR9hqM4MWeEuRTTSPZZacH16Gd4evIqRAAHPn6DRgQPoRzSQEE8Jq99JYDxKRo7fLlyJgrb4sqPgDgkyyXdBKejigewE62P43XPTJYFzAPxWIrQ3ABljBhCE4cHinPDO910czxS1Lp3+k/Rp/A84rfCMwguW0UQ5hOoNyvRW9D9LW+JcY9zoiXZ0F7FmFJSZSSGOxPOhTjxtJ5jyNHCVYhNaAu+gPAQFXuSWw98aD6i2tDXq2VFAR2J2dujEC8ySRyklyS9jisOjEzuCHYC0MKRuqllVec+FIxOSfEUafi+ZfkgZMa5cl6/xIpwKlmwGnucxy+i0XjEZumqetalGal1HwylRuOxyMiEsN2u51Op4h42O9ns5lDLMtSCqN2Xdu2bV3XAu84KcuyLLfb7e2nG6WU6fuu6yZFeWya+Xy+WCwQMc9za+1qtarr+tOnT+fn5/v9vizLyWRS1/Vms1kul8Z0dV3fre+Z+euvv2qaZrfbWWsnk8nFxYVSqmmau7s7pdRf/MVfTCaTx/uH6+vr3eNjU7cXFxf7w+7Vq1dd17netMf61atX/+k//aebm5vDfr9arV68ePHp7PNut33z8uXV1ZUMv23b8/PLy5cvmr6ru/bz/d2v//yr/23yv11f39RN3fd909SPjw/rx9uiLLu2dQ66ztx8vLv59Pk//OWfVVX13a++3e8Opod/+qd/Yey///77y8sXdV33fTudTHSW/fzzz7nOJbDn4uL89etX6lFZa1+/fl13e61pPj1brzfM/Ktf/SrXGaKqj816vf75508AlGflYnp2+2l7+2mbT6hpmv1+f3a+ZLZv374ty9I5hwzGmLZt27Z+/fr1ZDL5+PHj6myZZVlTH4uisrY3tnXOWesQtdal7FkfIYPqeDwCUFGVzjkpfOsFHmpFGSJqraUMYdzsPE4SSukwMgFmZifM2kVrDYB3CMrxksFFSwOiQvBh+s65uEuIiEP8n5wP5WPUyoT2I3NzLPgPUUsepc3EjRbtAogqms0QkR06Z3tnOcRDy2w57+odsWkKddGeyhKELGIYJwPHIPwgmn0hESfjTj5zzo83p7Z2DhcAMI4qbMR7HBF68yqCQFgqQhhgJeUt7rmepJ+fMiIMuu9JP8NcCXcd+V3D8E8E4S9qG5FLy2yopJzI4AEm9gMc95CIRB8IlDmk95yoLP9+H04+nIz3mafGypDUjdYq17qvj4csCNOHh41zrqoqpbVYGW5vb621+8OuKApaLHJFUsAOAB4eHhTxdFq1bZvpSlF2PB6KojLGaCLQejqdK10emx6pJMyIyqxwxpiqKFRG1plDc8hzQkVt3RdZnpW4M71WCFoDWXD8sHt8WN8wQlESdubTp8+5zl6+fGlNM53keYbWNLv2UBZqUmWbh9vdYWuZq+msmmRitVSUAVBRlM7Zrjm27aFzzNb0bC1wWU2t7YFa0th2XaYLnRe61fvj1jg3zbNPt5/PzpaIIIF5eZ63fVdaa5xt266oJnmuV6tVb0Br3fd2uVwqpfJCExEoiMkMxpiyLKXArtgc4XmSxlQDSUk3WcwhdAGBISgJGJR3qQ/hGZB8H6APedTOSNk6eVH44OJBIlVHTuyYzCwJrzFlPii+dDKck+38lJ/IpVRqFxjO0mGkYjJ1AJ4zA0iYkPQNiMA7/ikOB0AC9iMkPMaTPAyQYjz8FI2/Atv5bD/hF3ZoZHoY8dN8l56xfDNzFjLXY/Cn83U8IB6xwv0u4uEAn6zXKQOJvyaK8WCCEfkSz36RjtKAvSCS4qqp0EK0teuns8EBtksXRUGhSgUmlqdkggbdOp0XgOF+NS7vl05cPAlFsRFN9YlMRclSstaGjFx5e5QBrAiTxBGUMwMieuzIAMETO+D773zqRJxlweBjZjsEJ40PGISAsVLsaDix5XSkONbdn5XuJ9Ny8s1JO8wsCebp69L3cjwh8NAO81AdU+y7RVFUVVWUed+0zvTgLCglt5HC7eOu7/u+79m5LMuappEHmV1VVXVd53nODLvdrqqqzWZz2B7qup7NZuxQKbVYLA6HQ57n7y8uX758iYifP39+eHjYPDxeXl6enZ1dXJ7/6U9/atuWUDnn3r17x8x//OPvl8vler227ATM+Oxs9eLFi48fP0o6rIzx/Px8Op2Ki3m327Vte3V1JbFVu91uu90CwHa32+/3XdcVRbFYLGQIAPD+/fvdbgfA19fXt7e3L1++yvP89vZ2s1n/h//wH5j73/zmX1B1FxdnivRyMW8Oh9a05bSAHf5Pf/M3x/1+t91/98376x/v9/vmd7/7w3e/+rIsc2t5vX54+fLlzx9vTNfc398jkjE9QGn6djGfLpdnX3z57h/+4R/u7+4Wi0XdHIwxbbeaT2dN05RlqdSuOda5LqQiLGGxvt+zy7XKMz3pOzoeLCLnk5JIr9cPeZ5b1/+P//E/qqo6OzubVpMff/yxKApr7fX1za9//V1VVbvtvuu62Xwq5vbV8ny33bRtTQT7+jidTo3hLCuAcb/fA5CY67quY2attVY5IVEGRTGYrwCAiCIqqPhw3DhVFACslWKTxGzC7tYxhQOJQ9UJ55yPsUQcGaFPFKl44AR/2FDxpVFEMTOg8jX8AIAJAD2HZBtzcKO2xxxLRqsYE+g7QGgd86AZI1CP6E3yJ5whMPqBjw0Q4Ork5hRzVkYKIuWjsT8wARxuYQYYMQdm5oQDPOUDUXE/YcvOOQRFBES+TC+BDzIcphp8Te/IhNOOPStHTxbr5P5UOsSYyfFgT5lhOlIYi4zYVFSaOdhxJKSBKDWmxAa9q0WkrnPjs2VoNhVtJ7064dsptT+rQ8Spid8wsxTKCSYtKoqCmQG2XdeVZcnhECKGQPlysVgYY4h0lmVVVWWZyrJMi25aTRF5vV53ffP2izfWWiIm57TOATQ7h5RhVoLSrXkwxuQVIRVsLbPNssIYs99vm/ZolQbrpmXRUfe4P7DD7W4znVdN125397PFsjeHY91PZ9lkWzrn8jwn1wG7QvFxu97v98VsMp3NFvOJQjjWe0VZmVcA0LWmyLNsPqeMwHWd60nnQETE7aEDUrPFqmt037HrWqBiOp8hoi50XR+qaVEUxWI2OzYNKl0WhczkdrutprM8L168fHl7+3B/fz+fL63tz87OHIBh03VdnudVVeV5TspXABA9hMcKa/LZBesv4GBeHjElGFnQ0oxPH7ku/CHqo+HOUInlWfJIyCn+mVKa77Df1CDFED2gXrgzcbhFbcrrwc7Z4C7g9IXjUDR/MzMrsYAk3MbbPkjK8Ekkg0NieSuwi8Z1mToS5JRkLHE/hd3njxZxDuOAI7eANHnv399fv/x9qnqFteCTn6JZPaIjJpyK/QQkU+0nHBwzjb4cL2K0p7hx9ah4Dz6BMYh7/98fVAAl89ppejBIP+jolc5IPY0S8x0da/BBdA1B5OPdMsiYZ6cevOadslQc/OZiXAkCKx2P6NxhcBrDRqVwRVYrKrzcHC33zBwDTBxLhYVhdTGEhyIiJ8FVUZuJMiAuVRxtOmNxop9S2IlYOrniXDjnAEHRSK1Pb4uMABHYQRTAUmFb/vTuCK1N20lRaAA4Ho+b9YMPjdCZmDratpWKpO2x3j5stFZsrNRitH0/n0xnsxkbe9ge5KQkMdAC/HJ2djaZTgUHBgDu7u6KvFRK9X3f1Y3tegX4sL5XSq/v7uq6fvXqlYAeGmcnk0lVVXXdHA7Hx8ft58+ff/e7389ms4uLi+Vy+fCw+fTpEzNrwNX5eWfMDz9+vz8cmqa5uLioZtP5Yvn4+Ljb7a+vP3348EG49vn5uUOcTqembcVD/Xd/93eISmtdVNOPH3/61a++/eLLV4/b+4eHB8Lsdvd4eXb+08efKKemb27v768uLpxxfW//l//lv/x//3//e98Za9AavPl0u15vXr9+TUTL5fJ4bDoLzvHNzfV0OpVI9OVy+V/+y3/58OFDXR+qsixW5cPDw08/fN913WQyu7q6uji7BMb62DjnDvt+vd4QaufI9FzXW2OMc+ZwsGdny2O9X6/XWa4Oh0Ndt4jq5w8fm6aZTCZFURyPx7/7u/9+fn5ORLPZrK7b2WxSugKxzbOqabq+w+lksVqurLW73cEYg6j6vjPGCD601lrKl3RdZ60/IUsAkta6qqiqihB2lQEAgHUetTqScaRzJUwJcWQHJfSRHiImKSH+8CwjikIPob1BJ4uZWOMAwbjXFAD4imyy75gYFQdPtrh5WTJlEaXoW9T2gImTHDXnwDhLQETUND2EnJnkBkdhvNFAcCKAZdDJno2/RpO5cIxBfY+zMeYWkRVA7HPc14N4SBT3lFEgKER/MyiCwRYV9H6xh41LmcYPnOQ1RTaeviJRJp5hSuFycSpSX/lT1peSRHpPZN3xjQwWAFOMP0QEGA4eiIiDiesX2WwqX5+RdM+x7pMP4TM+bURaUkq1dVPXtUYSBENmfPfuy+NxL97OQ33UpJbLZVkVdV0TUVVV1vbVdJopNZtNDodD13bbrbk4W2Y6d24LAMdD8/DwwGy0LvJiUU3KyXRRTqaqKI2zWanQMGrsXatyVWFRZPq43+mM2k1TOxOwz5mIprM5FZljXq/X9w/rpmkQYTaZMLsi1xIpd/PpZ8GyzPN8OikXywXqjNghMFtTdx04LsuyyHMitLYXDsFM7JS1FrTS5QSNIuxLotodTMeUw3wxJaJD3YByx3pvXT+fz40xh8MBgfKsINSz5eLu7u7Fq9c6ozIvHLCAgfbO160jrSLWJ5G32Yu3kAjHZ+DRsqbU5b9kl6wphKrzsdDY6RaLzfJQrGdEBp58eGgw7Q9KoGF4LeOYIDl8QwzulAh5UKue1z1G/OFJIJn8S+MCcydMAMZB7c458viHvlVvrxjtBT+8GDiA0ZCPA58M+tII0wnGkDvw5IpL9kvXiU4VhxO5GQTAePlG4oGt9YWmZbHG4RehHRyOT0+XQCz3EFwG8g0lKZFZUon85NkoLCKXG8gQIxOmgRZTW21oTUvuGiJGxT0OO3aIE8uHKNyphObkJCGGqH+Xp58ej2LpCj8XUqmYXYQ1jBPkm5LTHg4JqSdZSr595oAn4FSE+gcedlTSw5MOpyjUJ9LLWuNpAoZiZqM2+TTOMp3up69LJzy+BTE9rp329qTnzgPAmBi2RAoBsTdd17cZKWtt0zQY9IC+74/HY13XL1680Fo1TX13d+t6w8xVVe33e8TtbDZj5q4ziLjd7qfT6bt37/b7/W63cxb6vr+9vSWixWLRtm3f90Q0mUz+6q/+6nio//SnP9V1XeaZoIsqpZyznz5dG2On0+nyfMXg1g8PErDRtu3Z2ZnooJvNJsuyyWQiMfRa677vO9s/bjfWue1+CwoQ8eOnj4vV8tXFq/l8vtvtsix79+4dIn78dH1zd7uvj99+++1PH376fHPT931VVca4L999Uc1nDw8P33//fZa/z7Ls4eFBUbHbNh9/+kHnuS716mJVVVVVVX3d/93f/d133/36zZs3VVVoVRTF5Ntv/2y///uiKN6+fbteby4urm4+3X7z3Xd/+P2fmqYpimK3eZyW1Xw1/4u/+LOmaTabjdb6c/0ZgIqi6vv+4eHx9vPaGFOWk7Ozs/1+j8hfff3F+n7jHMwXi82jsRYQeX/YzmbTFy8vJ5PJjz/++Pnz56ZpzpYLKTZcFMXV1dV2u51MZkT0+LibTh0z//TTx7LMX7188eHDzbt3b7AqHjd137cyq/PFVMhgtpjudt5VRUTWCki2iUc7RLTWnp2dAYDo7vjkyIqI0ZkYCFuBFwnksy0x4lqqUB+aJV0pWl8ABt+fh0YI5G0dEClSyGC9iWxgsgjg2PtqUxMUYqJ6grfiD8dsjwXJBAg0RHsTo4OEI8f9mHSSEUayGQaFMl6nppShfU6M/UlUd3LPSLFIVYU482mvAMCy4fEV+Z5nPVoRE5GOQNQUCzNKvtqT64Qv+VGFrKRnOflTwR9GEQBBx9z+aSO/dEVmns7zWDBDRM2DoLjHt0TXTcpan5VE6RBSCZJafGJPki9DCzwiPEJqGqO1zrPSdA0irlar5XIpVo/jcS8I5dbavm2kQOnxeFytVo+PD13XVFU1nVb39/dVWRBB3/dFprMsa5p6t9sJ+lOWZYjEjF3fOVKV0qBI61zrXKnseNzneW77jibFbF52XQPEpjPtsa7r1lruLbuSZ8WE2eFyhQDr9RoBzuazly+uNHC93xljuqZpmkbN59MiJ3b18TidLURSZ1mmcwLgQ31cFIuubpv2aPuuLEvUYFErpZVGwEy7smt2pCArq0xj1zkmszw/13vVtnq/Px4Oh6Io5rPlrjl2XVe3HTu8urr66ccPxteZ7otqYo3LskwgjLMiz3NfqgWRAU4I74QvRXKCp1+OrlO8uATxw++LIYAQvE5/qu2krXGiFcSdkpAKAQBCTFULLXt7LTLyiKWchjyE7ZlYKQQDUFqQ75m9wiNRZMxMviLfwHiZfaKQVMthD4wR2Airk1GMpheZOSbciyoskzM6sQNEDJKRpwLGezCdqDRELd2b8NwinqxCHBcEVhBZaDQGRXpAxCC5njSOnGCcSAvOV24YFHffYSJKq1mnnOS5xp+xuwMIPOCJy0g9GS8CgDdrKaVUoPg4azGsMKqQzCwFX9IpDm7BU/JFr92Okr3SxYjiRGbBR0owI6J1Npq6pTPGBo980n40fUFY3RjXiAlkOwAIQiQA+DhI9F7XU7HnZznKGH/u5ARLXt4oqBTpPMQ5ivQdY7nidk1e4TvsnGMaZMOguFibNhunS2oiRlIOvWLb9ZKfIOHLWZZZ21tjVM5ZphCha1qlVFUVea6N6ZSaVVV1e3urta7y4n633263WZYx03K5fHh4FDCTrusO+7ooitl8YoxZr9eEWuLgX79+XVXVdLGw1m6325ubm6qq7m7vBcCE0CHibrer61rOTmdnZ58+XatcL5fLsqqc491uh4hnZ2d930+n06+//vr29rau67Ozsy+++IKI/u7v/o6dZQAGO53Pv/7ia8vu5uamaZqff/751atXEq5zfX19aGoAkOigxWLx/v23Dw8PzPzixUtE5YxlsBIc//Hjx7LS5+eXfQddi865Y1MvyvlitSStdtvD8mx1fn75b//2r7PZ7Msv3zHTjz98vLg4e/PmzW73eHH+6vFxJ6A68/n8m/dfffjwYTKZoFU//fTDcru8eHF1cXGxWCwkCL7eH9qmtZbbRk5WdDi0SmWk7OXVqiyzb7/7um3brmvmy3w+r37+/Onx8REAbm9vz8/Pv/nmmxcvXjxudsvFxDm3Xq8/fPjw/v17a/n6+rrve0XZxfnVx48fD4dD29bXHz9Np9Obm7uH9R6JsyxbLOZVVRCq8/Nza21nWpF/GApSdF0neDhEJCkHRVG8ePFCiDweiSOrElsXs3MWxG2Vnk5lX0TKDZRPzFb8s0QDBBgzi+hFHGo2pWw6vp3DtjLGAQCT2JJHmSfpNhmYQ3g2nDcIwQKAsybEWiAl2MxDLHUipWJPTuVWcp1w5zE/GXT3Ux4sQ09eFDlStEvFCUnHaEMxrcgnpTVnrZ9kdkpliH10ESilCIfMtucVjpFhDxKZNLhun302vT/8SwDg+JmWn4qDqBUAOmZ2wxJI6nPQPwLTgySl4YRmONGko7QeL8czy/SM6Wcsd9MW6EmE/dCCsWVZHve7pmkmZV6V04fN/fF4nC8Wzrntdi8uu8NhP5lUkt8vqBeTyaTv27Ozs0hps9l0t9sphLIsN5uHpmlWqxW7Dil3oSwRIjoEZwygRsSuNV1nlFL7/Z6UyzIldVqKojBth0h5VnLb7nfHeVUul8sqL89X5/2bd4fDwfXmcnkBirRW6/UagKuqtNYcj4fZbOYsAABbsGyQlMoIgDDjrq2tteBYqawoCmeUAaOLiYG6abqqmGgCa7QzNst1746GLWWqmuSkxDjVNHVXVdV0OnWWD4dDWUystRcXF5vtxjk4Pz9vuj7Pipub23m+NM52XVcUmZhLtNaMAyJtlmVJMugvGrzSn5LPg3QW0Z/sRIgnhFShHL9oZAiP/6dxwnTaJf94sLtHfSD+ypwoBs+QpexNli4n5ZCAmQVoEVH0eEZBYPzlgw3iaC/Eziid7gvJSY3tQ2JV9CH7iUom2/x0p4cPzntNQ8vJU1ERij9x8qc62XrPzmq8otcu3bNKKWdcui7Mp9EQYXVOdbCUKmBMD5QgNgZ4tIELhVcpDMW5h66GjzJj6QhUUv80/svMelrk8QVD61pLrB4iklIu4dQiOCXjDYNyjEk4e2zdx6Bnp0kDaf+kppInViZ2zrLtW2OMYcagIqBzXOWVtZaQItq0mNltIqejmBGHiAxbpE7PoU4HA1sP4CmYEwjgEWpknUhOqv6AxeF0JSeW2FulPO6mCyQVFtLEvBkYgnBYsmoQ0dlRNS+HAGyj382TLA9VDJhNKjUdI7PBsKLxiAIAXd0IiUg6KQAYYxRCnmWIqCqSqp1Zpoui6puWGN69fnN/fw8ASmlmuLu713nZdF2e5845u98T6fOry91utz82bdsC0+vXrxDx6vJyuVo5577//nvR/t++ffvzzz8fDofzi3NE7OoGYG+MyfP80NSr5Wq7P1xcXHz4+HNRFO/efak1nZ8XirL7h4eiKEBRa/rPd2tj3LHp3r17N5sUf/Nf/rNpu9/97reOjWPzpx9+23XNbDFF4vv1tu6ay8vL6XRad625uzs/P18tzz98/PGH73/abDZaFVyQcfDq1RUAHI/HqqryQjPY/X7fTmye54/bu2o+m0wm+/3+9sOtMtnt7e1+v3/96s1idd73/cfrm6urq+l8+eOHT/v93lpg2M4Wq+12/x//p79GxKZpvnz7JSJ++Pnnfb0HBdPFtGkqpVTft7PZ7C/+41/c3NzM5/O+7+/u7r766ps8z4/Ho0LeHxugFpU61g91c3z58uXqfHH16uLnj58Wi8V0Ov3jH/94235erVar5XSzfpzNZgRKqewPf/jDarW6uLj4+eefrW2P9ebli/PbW3s8PN7c7i7xalNvC9JZlr148aJumg8fPlRV9fbt27Ozs7zIJ9XCObffH2WL7fd7RBTE9/l8vtlsjof69vNdnueIWFYFM5veV2dDxLbp5CRWFEXf90qRc5znWd/3ZVmE7W/FaZZlmTVWKc1ggVFKWxvbKQRA0Ep3nVEKrWXHllAxQ3CRSQo7aa17J1jvJLEv1lrXuyzLELT0iogAGTELTjZGRKW0UsDGWmtlH7MThqCNMXmuj8ejUpmo7RLf5ZyjXAFA3/eOEYGMsTojpRQyRvVXSpX5De7z4Yao9yi2Pdf2vobgoyBnneR+SUEtFmSKaL0LkobE5OEYGbR1BlixT8K3UmgzquwMdmDdELymDgTsERGzLCOVMRA7RCJ2aJNkA8SnauugZESeDTBg1ML4eqrvDvLVBXbHvoYUnkgnn8+kpHQkIBISEjrngB0Siu6viJwNUYtBF7fWOjZEpIgAXIJg4zUGifpwiccYPWrQKNggOa0B8yBl47ii1nWS/sjskYshyPI813VdN13rnNsdD8yss8K64+bhvizLpjlGDNayrDabx8l0ena+RAW9NUVRIGJdt6vVudIuL4vNZnM4dtNJ3rbdMp+A6UHjYrV0kOm8bHqLoAAVEjlgQmZ0AGa/PWqF0Nu27dv9wdatMWa1OmfG4/HI7LJcWyRVlJpUezhkupzOtGHnikIpINOXWVGqvOsMaYVKN8bkmbW2//Tzh8lkdn520fd9pgtm2m02eZ4Xed4bw4YdkM7LzvRdrcvqQiGQLvv+0BvQOeRoTd0eD3XTdMSUZdXqfMEM+WSmnVFKTafL9cMj7w5ZUU3K6Xrz0OROZTkAdLaT8ourxbJvjaZeKYwA04iotFddMZhspUKIXzhAHPSq4R6hJFlSyZhnZl+MBYJ2DC6iuGoCH9XHFH1ZiGgBAQZbGyIGPd6JGZ2IUgfRqAYQQwpQ4akJASmkwDK5sSEv7huO1uI4ajlDJrpW2qtYLiNqzPIjIUpNNwYAb1pxpIDYg8zEmJbYalBgpR0CACQ04wLeg+V+KLHk5zXdepBoSid9Tl/JzMIjn7sNx+MKijjhYNpAEOst4KAQB26G8alob2VmgBADMo7Y9JVAI6Ci5O06QqVQsHUEdmSIGBwdAOTDYB93oDQ9tUdgoninXJeIdAS2jNwKvFFhsO4kSiRLaE2c9IS/PzmsIOKT4PrkNkq7CAPal1/FtMccAj3dOILcOYeJtS9tTY/q5Tr/DztOYqoC1T2d1qFqbLRQcRSbId40fSknpi9OrIAxjEf8CQgD8IvoJc4zkRHeECenNM+VlBKnBATXidhNZaIEZUWOK33f53lORG3dgGMCaI5HobPpdFoWk81mkyudT7WYWpumub9fi1VmsVjk5UQiDpm5qipJrppMJsvl0jlX6Kyp6/V6jYi3d3d935fTmRyNJIT9/v7+w4cPx+NxWlZifD22TVmWm82Gmff7/XK5fPPmzX5//PHHH51zhPrQ1FmWKYWTyeTt2y8EguY3v/lNVVVffvVuUpSL5ayud6T4cDgsZ7Ovv3wPAH/oP93d3R2Px1evXkkmq5whF/NV0zTOud1u1zRN0zQA9Otf/3q1Wv30008Pm3tJEVuv16vVajKZtH1zeXn59ddff//9j9fX16vV6vPnz//tv/23L79489d//dfGmOvr68vLy6qqHh8fJTX27Ozs3bt3SqnHx+1ut3O9K8uyaRqJs7y7u5O8EXnFixcv/vqv//pwOMiUInLXdWdnZ9OquH943O0OiLg6WxZ1vt9vHx7XEo1jDSPiF198sds/3t3dKYVd193f3zdNM53PsmyKiGJzsrb/dH394sWL1WplrW277tXr17PZ7I+//4Mk756fnxdF8fj42Pf9brdDgul0Op/PP3369OrVKwCYTqd3d3e73Y6IpETufLb4zW9+8+LFC2vt+cWZUqptOkQUw1ikfAEbjRB1uSBVEyKitYzobfMuxPDFTUZESOCsMabTmrquFwq3xjGjUoIij5G7QTC0cAh/Fy2cwcVM+kRCxIgdQERHCEAs2E2hmiuCApaQAwUJmq0wtDzPQ+YPD+0rlIhaJAJFjOgdozBY1CILgadXAt6KiAAqpNKI5Wlk5B4kOoBDcMzGJ6sDSz08pdElgpwV0qi8hkNfiyhydXwiCGEsGE6ulG+nLThn/52nhuEmesMJV/S/Dn5cryIBAGL04w+umNgHUbFia0IMaQXZyIr920O57mQSKO1YHBol8NXpl7Hl58Y1KnGA4cG2bcVPpZQS3Ab5pmkPQIiKMq2MMdV0stk+dqbvmmaxWGgNxpiry0vnXF6Wbdsqypq6q6rpbDbNMyyKvHfWOUeoACDPc6XURFeY50Sqt6bMi7atCZmtBccW7Hq9ds7MplMxRRPR8dhkZTElXdc1k2vbNs/zyWTSdQaAsizrOztZTZGxb/uu7ohclinKlAOGvuv2R2XZtv369o5ITyfzvu+ttSKJGICIetO3vaRaodY6V4RgEEouK51x1veYscp07oANM2NWlE3bNk0zn0/rugWE8/PzY9MiYtt3WZbt9/tYSOT+/v7q6qosS2vtbDYT1SWezYhFB0pi1lOHjM+GjHZiWf0RMTA/a/lmGGvVnoxDDVFPME9MyycEM6jUJ+0Mt/lDhf8x+QPQxRNj+shoQ522mcbucxzdydvjqRNGO4I5JK/jePvz+EybtiY3SNm4lOGEz88Ak2OiuJ/M21N+lapVJy/lxKt2wnksu7imo+bGX+IQ23Oa5xmOWzYwJQcgZlzrnIeYBFAioaJtnRI9c/xqidIZxRFFjNETLTrt+cmvOhJEHLxXWJVnWylxpG5ZSFgkJ0r/02kNPPck9t0FZh14qmIkdGbAhRAQU7lfWCGG5DBvPkcP35/SVvpv4MgUXbaDdJS42ych74i+KIPcKUxhEAbjA0m6LSOXV+FK7VjWOms4oKAOSXioM/CQYlFInNaq7PtePJ5KqQhbEU97bKzpOgA4HA6ifyulCDDLMokDFL3qeDyyw7bpxcLqnGvbVqAY5S1t215eXqLKvKm1LLOsOBwOEq5dlqXWuqsbrfVqtfr06ZOxdrVarS4uxOp5PB7l5v1+L3HYTdN8uv2cZVlZllrZyWQym82Kqtxut9vt/uzsTGsNpL+eTuu6/vDhw3a7v7tbHw71fD5v215rXR/bLMsmk1Lp7uxitph9VZULa9Qkn8/mLw+HQ9/3m83j8XgsisIa3m63t7e3EvihlCrL0hj3008/WWv/7M9+9Wd/9mdt297df354eNjv95IWRkTb7V7qpGw2m6+//vpv/tP//Nvf/paddQ7Ozy/73t7drRFRqaxpOp1nKstvb2+3223fG+dc2/cffv75/PxcHB2CEbFer+/u7pxzi8WiKIqzszNBddzv9xcXF5vNxpnJx48fiSjLsqIorq4umPnz3U1dN/f396vl+eFw+Pz588tXV19//aW1VlMGAHVd52WhFN7e3jrnXrx4MZ9Nuq4jBufcm5evtof948Mmy7K/+qu/OhwOx+NR5rmu667rJCUAgY6HWqvsd7/9vcQ75VmxOT7ILja9FVzIf/mXf7m8vASAq6ur6XTaNM319fXV1dXl5Yv1eq01IWJd10VR1HWNiH3fK6WyXPu8MRDLRC9Wc+Mcsw12I3LOGGfJl2VmQAKU+qIKULmgNCOiBUb2GptS6v/P2J81OZIkaYIgs4jojRuw269wjyMrsiqzqrqrt/ZpaIn6d+5/2Jd5GNqH7Rlaatoe6urOzMiMzPDb3dwOwHBDbxHhfWBVhQLmUbugIA8YoNBDVJTlY+aPP7aGBIcYD6rGsS5z5d7dbGpkBd0P1waqIhHoOGit1dX8B2MsV103sQmqyXIAe73hvb1qkWfaRrJtFog48o0Nmre2CW9biySqnuIgfiVLXonkEu4jVYBY5axto1RDNYYAqYDbFTY96YQStXI/Vh7RgZ3ErwHxZqyOlr3mqo9M4hG4OXodraZs7I4Grb0MN0UNjbWsbeYeoFfCzPh14E4giLSgCpHXbGiqgpsI0HADEAlBqDolzSOP3FTmK75N/ScdfXK07ni+I4TQ1lqroygwNmcu4mAwYDuJiFwV6jjOfD6XUvIqytjdaE1ku50eIqRp6gU+ghaO6PYGnue5QSfNjVDkSAeEcITI81RrzV5MUWZFkdmyIKKyKLTWrucBgOu6mmye51EUub5vbKm1UMqV0gsEgpCGrDYkHdfzQ1OYHAyA8jxXSmlzjcb6SpK2ZZpI4RRG5Lokx6mefeWicoQlYcH1/TTNXMdTjrQ6E6QcL0BhhSzCjhBC+b4rUFkLRGDTXEiRFeXt3dR13eHkZLfb+WE0HA7nD8tdnK7X616v53mBMTQajdbrdRiG7FprXeW3eUE8mLeigsLV7P21Gb7/oOX67rc5AMfHGKwF1muJtwM9+ONjVSblK8HXekbh194DHIYy2/sEMiz+AlAF7tlq2VZEsn30/Q8PZaxaW1pG7VU8uN5PYwfq94YO2PDAb/aP1b4d1f5y2qayfW7tP49w/JHpOPrJ0Vm1n9ZqYzjAvgfDd8ibZ6NORLxEQDNz0AJirSRcHauRRcnzvLE/7Q3qw5kjbk99DgeyuW0DeGQMHw8Ob6AacHm03WHwY++PAij6WhwC932zDu7Q0YdH1yAEHTHD2pwqAGhyDW2eUPWFEI0MJSLKwzLQZkshAEmQOBw7PDj/+letB7bJn9bMtqMHv6l8bWB9+wWPfOtG242jFK7rCqGsJSFs+5kUQrHLZIzhPJ5SCkDkeW4MCSEabj0AaK2Z2s4RX/YxpJS6KDnAb60t87Tb7bquK4Vzf3+/2Ww4RNFoBgMgozoAmEwms9ms3+8HQZAkmbUJeyCe57Em+ngwVFL2er1er7eLY1FL2bB4grWWe4tcXFxYAAPU7/e73W63212tN0mSPCzmvu+zbowQwgsCrS07GxcXFzc3d1rbsiwXi8XZ2cnLly+UUm/fvpFYnJx1lDSmTD/dPUxvdn/3m38Mx900TZfLZVGUQogkSbabmCcD18saUz0zWuu//e1v7z9++O67V6enp1leKsfJ8rxc6CD0r66eImKWZUEQ5Hk+f1hEUXR2draYP7x9+/bp06ej0chxnNvbWybbeIH/zTffJEkyvbvnoLXWRZYn6w0OR/1Op3N7ezsajTrdcL2Rt3dfwsgvyuzhQfb7/U6nI4RgFyjwvB9//M3PP//t4WH64sWL1Wo1mYx++OG7sqR3794tl0ul1MnJyWq16najZ8+emdLO5/PBYBB1O7vdZjgcMlOFqxp0WXKm5ezsbLfb6VJ//PgxSRLu/QQA8/m8EnQXaj5fDofDIAjSNH/z5t1gMOh2u45yrbWO4yQyvb295TFcr9fPnj1rnrs0TT98+JTn5cPDw3A4vLy8rIit1hJRURQAgiwYbY2xFoiTiUKIotCIkgCIuEsraUPWkHCkMaXjONZCWRhECSC5R6yUKISwKKBuTM3Pj3IdYg60FAjCGAMEWBE4q17fDd0NqggKsF3FPRBEflKkULbSjEUWk26sTfOUVUF3a6juQ86259B0HEQxAAC4VGzf9pgjEWgNARFWqWwiIaQFImADRVX8RjTp4MaUCaEQ0VrdVA2hxVb/F9MYkCauwd1lqvd7S9xeO+VjeAGPgnltu93oNzeveoOvBMkAoLa0BHV5chNfP15i6wshImil5hnmNyIMzflUbyy2okn7YDxhc7/4hhLVbUlau92XDUjhAB74EnzvxDG6+gpwh9bgEgCXUZZa6zLn3mq+q/I8Zx0t7tKgta6tgSeULHJ99eQky7Iyz4wxk8kEHT/N4rI02zwGWwS+T6Qt0JcvX8LO4MnTLlnBEogGUJclEDlK5HkKAGVZxnHcCfy8SLWBbrcLiGVZKuWWpRFCDAYDoVRZlqawRDqIOgIlCQmITuAgGatNUWaqUNYatKSUIMdRyrXWlgSe5wGJLMsQ0QowQJaMorLIS62NNkYpRwgFQgKhIUmghPSJtPQiYTMi4XiuK31rwVgIrfKjUCkVbVNEBBSu76Vp2usONM1d151MJpvNznGc58+f8zBy8pmfVsbuSimqOxBbpqK12Kd4dLcexX2bCd566A6dsbp+vQ2tAPfaLxIaNPyr+qosRMkOtLHcwfoA/BxpOHLnn+pbUZnBR8D0Vy/qq2/EPg/xOAzcmsaN82zZrFHbPEDdvegxxpOwD4Yi7P8lcXw+7atof4W1Ww6HL2qN/xHSIyImHzaWuD7PY+bJfj+CAADpAKQx6MVqMcH2qTYFk1QzUBgBcpSzPQitJDDUJuGrUqHUpk4d3akm0n1kfJqXag7ZBp3729CK++JBN5PHEZfDleFgTPHRU4GNwycENZWzRES2qsduXyiAsI86Yx3dPDyk7iBiXQa+b+wCAKLq+FifLQG3GKj6ZrVuYrOb5oqawA/sS3IBa+pLe2QqWgsAUzgQ0RjDpH/G+kWhlap20rqEfe5PKcXgm6cIU5BZ/aPxYVypLFqtNStzs0C4tTb0Aw767nY7R+JmswES3FbJ9/3BYICI19fXZanX63WWZdzboixLBt93d3fsl/V6vZcvX/q+nyTJZrOz1irlWm2SOAMARJmm2XKzTpJECHF+fp7neZIkp6enWZZ9/vzZdd3xeLxcrfKiWC5X3W53OByy55Dn5c3d3fn5ORG+efNms9lw3DPPc9/3oyg6PT0Nw9CSvjo/X67u+/0+2TxLyyzVm83u//jf/98UgOu6rEUUhqGjPAYorH3JbozjeByPyfPcAr19+z5JMseRrIRorc2z4ubL7cuXL5VS69W1Lqv2yNPpVAoMguDz589//etfv/vuu263S0TL5fLyyVUURY7jBH7IZAnHccbjcZqm6/V6Mpksl8uyLMfj8Wg0GgwGr1+/vru7Ozk5Kcvy8+fPRVH89re/HQwGeZ4PRqPvv//+06dP8/ns6upKm+Ltu9uTyXkQBNPp9Ory6ezhPo7jNI273chqXC6XruvO5g9aF/1+HwA+f/6c56mUMk2SzXLV6XRefvetUur27u7i4mI0GmVZNp/PWYJTVK3gzXQ6nU6nvu/7vj+fzxeLxTfffANg4zgejUZEFMfxYDDYbDae5/35z3+21kZRlCRJrzeQUi4Wi6Io3r9/zzrK7M9YazmFzWQtKaVAJAIhpBDI8KWC+NYaAmsFWWk0oMCyJKOtMcSFXMRCSUJqbYg0+64CpbbG7Of/4+bbkgirtsgIRGQNAJCQ2Hq+qmgoIlpDZElK4boue4+ICMDmqFINa4dy2G40y0ljD62pA3uWbCuth1VxG9bGjIi9cUAiEAatNVXlbCXG0JjTg7VECkG2hssk2EQoAEDCSrSHGkvOFhtQti1hdb21tUXEJsV/HNZrvY4ojs3oHS0Q1IL47e2bFx36AI+3aSyztXuBzsbYWi6KbKz13hGi9ps2TbE6/4aj1Wxm0aJtegPWs6JaasjuxQao1dPXVnrW1PJYqlBOPQaHo6SkScvNZkVEo9HIWr3ZbL7c3ORp+uTJE35e2KTf398PBgPf99brteNVquR3N7HrqiiKbGmttdoUAqWxqA0pRzmO9H2UUinlalPl5YVQSPzc5UWaG1siYhRF3SikDRU2lxWFUufaeJ7X7/tZkYdKua4LEsvSlGVZmtz1giAIEAVZa4FACC/0lVJhEAkhDKGUUhCiIeW4ZGWWFZ7nZdrw4yGEBBAolSnKPC8NYV4aUoIACR3hSCSDwikSg46SKigMAQf30VdKGWN8v5flSZzlUa8Pu1QTXF09v/58W5am1+txr+6iKLiRCBMO+c3hRLItAdYqe8MY4PG0RAbfdUPTZu5DO+6GFo6FPtrghBUv2lHVg721UcrXXnvh1McQDbGK4xNU8iXQ4GDaF3S0H0zYQ9v9tR7us00p+bo+ByLPdia9UKPvVz+S1j5qdvl4fNrfQv13e5vWDTr+nFoedXufR++PPnw81FhHYx+P7X7LQ+zelCoBwEFQvGXzm4051NXeZxM0sfaI6/91+fb2Odcm7itZhcenrRoTf0TyayPjxkpiXS37a6OArdevHfjxqRMRN44iIlRMPT9YlYmIq6Z54WzqMqF2LfCwARPvtQpNUdXCq27eIam9IJNtstJHJ1Yf/SA5UilL1uMgWuz/No+If9K4TQxomO7CUU9+GLgaqd6/09wIBuiValhZNidsjOE4a1EUYCzHCFm/tulRarXhiP7FxYW1NtnueNC+fPnC0frZbAaAo9GYiC4uLqbTaZIkL1++fPr0eZZl6238+fNnhvjdbpf7cynlpum9tfbm5saRKkkSXmyYwZllGZ8kA7h3794VRTFfLKIoKspSShmG4fn5OSsCPun1Op1O2MHFarVcLnlCdzqdLCu4Hcnp6elut/nll7++/yClFL1OeHo6Srblze1NGIbxJs2LYrXZYuH0er0gCJmFv1wusyxzXdf1vcnpCQCs19vtdpvmmZTyh7/7jRCCCf23t0vPc8IwHAx6w+FQa6u1JTKdToeZoHzVnu8q1xlFoVDyD3/6o+u6P/74I0phDW03O/YxXM8r8pzBbr/fn8/nu92O1xjXddl5ePHixXq9ns/n9/f3UjhKqfl8/uXLlzLPX3777ZcvX5j3LxU+3C/KMp/dT4tCd6OOFOLi7PzPf/7z3c2XeLd58fxbY8x2u90lsRCQZdloNLq6utrs1p7nfXz/oTC6tGY2mwGi1nq1WnFPQdYaOjs7C4Lg+voaQHS73SRJmEA1Go2SJNFah2HoecF8PmdhnxcvXlxdXY1Go81m88c//rEsS2NoPHaMMbPZLAxDLkWYTqd1cgPPz8+73S6Pc6fjCUCikoishSzLa+AOcV6SKZu+DVHX2W0TAFDKNURCaCUdY7UpKwUbBGENkbSIqJQi4lLsai3hnq/GGJLCWLDASpfMZQcAAEOIUMshQG3JwXEUI0Ul0HEsABhNeZ6jMI7juK5vrWUOGD+SAqQQQkmnyopaDvMLrMWpGvZaY68AwFgDABIdAKhbqgEBcHUoIo8CIKKRREBYtZcCQgDJQfgqAMPB9SoOJACExZamFkCl8COF05gLIoLaBGGFA8QjrP51HWU8zEm2LNvXV8H2HqgK0R388PGuoAUa+E9rudtLQ8g5FvNpNmtMbnsnza6Iez82/VZBkiUiK6VkAno7BAP1GtxaRNFasmSIqNG9todyOl8dBCIqyzIrC6WUH7ggaLfZbXebJI3TXZLneVEUWZZ1Op00TaMo6vV6Uorlctnv94EEotXWhCosy3K1WLBqikQ/IWOBlFRCOo4nHccji8p1rVUSlbVUlqWjnEJnSimd5gKV67tlaQAgjCLP87iTQ1ZqRFSuk+c5EyC7nb5Q7CGTH7hB6GV5XuqcozxEViIK5UopQQhrrRSORCHQRZRO0FFKqaLIudpKuUIIKVxdWmtBKmYYoxCuQOM40lIprFvkOQmpwbUAUjkGVWHzooDAC9xAl5bieIsgO51elhWBH3qex3GEwWCQJElZmLJIHMe5u7vjxO9RCsXag9nVbgfWnp+/hkmaO9z0kmt/1drtIQ5DCy29qPqB2x+LHrmvraewAvq8mahhIrCxAgQA8bV0Vm1qDjJazaWLr9HQW3/Zw+g+Pwu2ca6b36oa6ItDRkPlzwiWAQTYE2OamCzUQU++SGxsY3M+1GrQ2R6cr6L5o5+3L6oNOx9hfWzv9vFooDjA7o3xbAaGNzat6spG8oQOyeTt3bYdm9oeHsTX+WjtbY6sHDyye+3PVVOE2mQWmj0enU21Uh4+J1+FvF893q9Zutbmrcohsfdi2apCXfQAh8D9qxfJbxm1A/PDwBC18xd8j9tdEiv9aapSBDwCyOEKzr5RiyPUrko+WkWae8Yv/jmvFsRL+n7MAStNGNFwbwBAa83sYdGSIOWvWK1v0O0BAC8DDVllOp0Gns8ZWI7lz+fz0PP5onzfZ7rzdrvbbDbr9Zpjmaenp1prx/FYOj2KoufPn3e7XY5bb7dbpdwwDK+urrTWgettVuvPnz/vdruo2+GWpVzkut1u+SgcGnn+/Lm1djqduq776dOn3nCYpqnv+47jCEdxgNwYkyRxmmcAUJb5s2dPgyBKkl1RuNpkQuBkMqKyeJjOy9IYIzzHHU0Gftjf/vnPQqnNZptlOQBs1rvNZsPCKUEQAMBms2Mc7/s+J6YB5cnJWVFmpdFlmRuycZql+X2n08nLgge83+8u1ysLFHYigcAdZAHg4uLi+vr6j3/8Y6fTcZR7fX3N3KHRaBR1ozjedTrReDwZjUYfP35ExOFweHp6+vHjx7u7u7IseZ1WSq3XK98LWecxjbd/+9vfgiDodDrrzRKAvv/+29VmrXN48+adlNKY6fn5+X/6T/9xPp9b0kmSLBaLIAguLy9dV93c3Lx9+1ZrPT6fdPq9Zy+eu65bluXk5MRxnLvpfVmW3GmVHZL1eu153tnZGSGkaerHXhiGRNTtdtM0TdKYUxMvX750HGc6vbu/v3/16tVqtep2u5PJJMsKnoHM1E/T9OLiynV9gHg8Ptlut/P5/P37j71e7/R0wjFFVznNo+e6bpqmWZaXZWktaQ1FWlSkLyRjUClFtqpzlYKsBZRgDZEAEFDokkr2mTlpUNG1ralUU5tnBC0/XHu6ahM2r3PoUD+SVNsQrJRYhFFKaaPzPAcQnCvjxsxKKqCyWT+OVguoo1BH6421ljiTLtrRFEHErT2qxABLVtiWKnm9nyrkLFBIKRAkAAdyCKwSqjGn+4WqCq4zxMRDiXGQHGBv2eEq1P9ra8NXQSrWcZw2lYW/ObTwBxnRZqXAVhgIHi0KDLza1MG2VW8vB+2VuD34jSm2zecWEanlAFSZGUS0lv0aFmDmoGxlw5mpCABHKnutu3MA7EQ9Nzh1SQKLoojjnBNio9Fg8PwbDnB0Oh2l1Hq97vf77N47jjMajYSS6S52XbfX69W6IISIbuArR3qeo5TIi9R1heO4eV5I1wUAsgiISrlEqZQOkiwwl64ksmVZKOV2OiF32dNUokZjDJRlEARFUfLjU12pQESbl2lZlFmWFkWGEgFlXpbakhcEVmvGY0IosiikUlIBwGgy2e12QEI4SilXKhdRarLEoy0kAGhrXOkIEGAMqhCEsCCFI103IkJFHhFJ5XS7btTpTme3Wmup3CD0ilxz6s8Y0+/3pXAExqwdfD/9woWqzUIsJPe0161nzbZu3HGep3l4aP9JDc4AwNo9ggbAFqOMA+BVqLH6Fu0hUH5MkPi1V4PqDn4OFWw/yoo9hq3UwvRHmPWrz3XDimlhIQZ+0GBcImra1BAJrIqHqiwigkVufEfAlPbWsACKNgZr4UC0rStqpQVqRsoRNMdDsN6Gdl+90sdYv95yXx7Q4Gw8ulmCEBpYaw9OGyo+iGhRo9v2B782zoiVtAy2zQcDbDhsOgTE8gYEBoCgLtqBxtbB/mTa16ja0LC5JDqUqm2OdJQ/fWzQsfVqru2xdT7aSb39frXgKwfaVyhbwHYOAlr6QXTorFR7a3GkhISqStpUWZ561dmvbU2/AKpVhHmDvYQZHgjSN5fWhH+aUZJ1Hyto+akAwJGPotDcdvTg9uPBXGwWgMYZYNoMF8/ZWjoGANI0jePYGNPrdKMgLMuSuSjMtCnSLF5vOKET+L7rOEmc+q7nDEfKdQDg/fv3u93Odf3x2H94eEjTNMkKDqZuNpuyLImqItfvv/9eCPHLL7+kcZIkyW63S/MsjuNOv3dycsJBEaXUYrHghOZ0OhVCBEHw9OlT5bl5XjDVh8/ZujAej33f32x255cXQog8zcqyzPN0s9n0+93nL66iKAxDP4vX0/tFWcQAznwe54VxXPHdj98uF/Hd3T0PUVmWXvUKhFDW2tVqxVqEnU7HWnv9+QalmM1mJ6fj3//+95vN5tOnD4jY6/WSJCuK7OrqijutEtHDw4Pv+w+zKceVGfJyFUGSJMYYFkRHxNFoZMnc3971er3ZbDYYDM7Pz//0pz+NRqOLi4swDN++fctSM+fn52EYfvny5fOnL0R0cXHhOA4JHI/HnU7n9u7Lp0+f/uVf/oOT7e5vptZq13UXi8VisfjHf/xdr9f7fP1xvYrPz8+J6PXr13mecqckAFilm+l0+vL5i5cvX97d3aVpqmvdjydPnrCIfhRF2+12uVxaa73A54LUIAhY6mc8HjuOgyTu7+9ZRlopMZ/P3759y/mc4XAYx2kQBFx1OplMEHE2m7uuy2pF4/F4t9tx4USWFQ8Pi91u5zku15AxXd7znSzLiCgMw7Ist6tdHMeO4wDqBsEQIUDVEwo0pGkqpQyCAAQnKEVZlpxfAgDX8cnqqieL4zQeNRFZg2yOhRAESAAcg7d14tkSuI4jpdSl1dawEg53k00zWq/XWlt2ePi5c10XhLLW6qohccVFob2hI2bFsGtBZMkiWTxUlebmGhWFhi07UVVwebRuNRZSSIWIVDFsAQQKqQRYQN0yRFVyX7Ri8I8Xs0OLfdzp4+h1lIDFff6wrSN5sNAe7eEIqR+tL4egit9UQKS2inuh2+Z8+CCPV5D22VY2mZOiIHk/zaqhlITDs21sbDUu4sAOM+e+faWNYW8vbc2SwWnVTqeznM/iOA58z3WVUqLQejafK6WGw2GSZd1+n7W/PCKlHGPMYrEgq5VSYSdaPMw7nc5utwOwUdQvCayFsjQI0vc9z+8YbdBaAqm1JgQJWBryHDfLMg7253mGZKSU7MV4nmcArYVOpyOkg4hCeTqvAhZKKURpbAmWBFKeJYYq2ZbtOi4NGQJHKEcoAAFWoFICJRJYC5yYcpRSyq08DddzEEtTGmOIwFhrDSFKBLRChFHP98MyL7JUg3B8L/BCURRFkWy7va4xuUBljb6+/nJ+9sR1/Xi34kZ7aZp2ol6j0xBFEd8gptnwjTDGcF6lPXXruQptCg13puQb/hjGtO81IrbZL62ZY+Hr3OX9B0dfHSLCg+lE+wyVqTzqvdfA02yf23+8qzZwqvd5XMVXf350kpZ3dgDS0DYiOdbsiUPtox8e61df+2+/hm6t3VcOtPf5GD0eYdGj/bRx4PFXj8anvf0esh5si835AAADd0LbFLULWUVgrbV1bREc7b9+f4CcgUsuYW+4+Fx487blt4e1+0fTEhFVy5J+xY9pX+HRJ0e3kw71L9nMQq1X2sSSWzeJR60dtuFP2vKUFrDKcwuLAERAe0kvYn8QWShVSCFQ1Pks0i00z8seCkAl0Vgk7guyb5cIAEQaAKAuSWFijLVIolKKp3oe2KqpBxC3eJb7OBkR93ls3/UqzKZ5NVGOQpHnuSbr+yHfSgDBOD5JEgAIgqChxWPNtHGE5MoqLwxIm5ubGyI6OTkZj8fdbnexWER+xzLeQZqMBrPZbHr/kOcFWDLGOJ47Go20scv1arfbbTYb3w+vnj69evrNbDbL89yCEMoFUV5cnFhrN5vtcDj2PO9hPl8ul71e7+b29ury8vzqcr1Y7pI46HWstavdNtd5GIaXl5dFUbx99y4IgpevXq22my+fP2Zp8cOzHxBxMXtIkqTb7XZ7PU0UxzF3a8rvy9lsxq092SFRSn333XdKqTSLich1vV53omSozec0TXdZksy3hS47nc5qte73+6yb1u3019sNEW12626/x0D54eGhKIrFcm0sOJ6bZrGQwDkH3/c5Tnx/P5Oy6hn09OnT9Xpd5sXJyYkxZdHrZWl+d3uvC5PFBYHpdXqTyfj29rbX6/3zP/+z63txHOd5vkvT4u4uDDsfr78Mev1ub/AwX67W2yjqnp1fbtbL9XrN5H4WuFyv14C2N5gAgOcFu13y5OrFu3fvfvrT65OTk263r7UdDodhGM7n8+VyfXd3N5/PLy8vtdZxvBUCfve73xljdrsdEd1NbwVgWZaE8PLbV4z4u91usot7vd7Z2RlD236/T0Ra6043CgNfSqHLwnc9AEiSpNfp9vt9IUDrApFOT88nk9PNZvPx40drba834CoIpnsREccIOdUTx7G1lbRcFEVfPl8rpQRIpVytbVFUPoaQlQyI67q73a4wxWDcj+PYkMxLIxRYEEmeDQI/iKLp9M73Q98PiaiRPbU2L8vSeD7XVHQ6xvdC3/fZvawCfEIwm79qREConOoZ5LtMRFwFodEVUglFQvPONaB1XNdzxmWRrtbT3e6u3zsb9E6stUYXWDUAR7KY7rJebyCFTNNUOCSlNLpEKdIkQUTf97XRUnhKuRzRZHUsKQX3JjPGVLE9Aqmq+G6lRX64JAuUKIC4X7Xl5UUIyWZT1ZbWNnl5awmlAI65tILivDK1bB3VTBhs6UBbqCo4mQHYRsYcpTsIorczDESt9tzVESuBLFMJJ1cXZWxV7CbrXHOzt/qnhChqanu1ngkhKoxEQEBCVQIJKKXVmquuDREgGk2CkxEkpJDNsgIghZBSOgBYlsbzFACYGpTwqmVakkf1eNpa9BONNkIIKSoGjq1bIBljrNHs0wKAtSClYwpTFEW3FxZ5bDV4Xvj6lw9CgLUFGbNdr08mZ53OYLuJc7s7OZmUhQWSvW53tZ7f3n5+9vzKFVKpqohIoOp0OlIhAAjlA3qO7yRpIRx0QTjKLQqNKtNGoxSh12UqnXJ9IYTjSmOMdN1IebrcloXp9SIiKgutlAsAQuSa7LDTR7JZvANphQIlXCldgUo53BNBSOlzaxejSUmHQLqel+dlaVXQGRERAYIUIJwsTb3AD1yvNhfaki1KsNaGYaicqCyMUn7QQSIwwpVSusopAMgNFKnR+PTzpw9lWTzMb0eTsetF1loCsYvTXRJHQWipuL373I1cY4s0SxriNSAJyZyoJsIIDTizh5WURximeih4/vNmUgCAqJIwAoBrRQH2z5FA3EdzG2oKJ9map9iQbisMcgYOUTTV5NXJNPO/8b1rkASVEkZTfd6KixNAg9nqy6j+PcTJrSe3CRPUz1u1o5oSQ7Zm5fHnjECoyWQ2QwqHxqrZWxM+EEJYhOrEaz0oBMnpTkQUqDilZe3ekhABUTPICICN9jx8LaDAr6OYRevSjjeuoexRbSgBMEObedfYdtWEENYCEkgUUlpjTJUlEZJaA9U+dI1sq0qYxs8XAlosxIoQiAjG2Ja53d9iIRQAkK1MfAX6CRS1Lu7oHjSjQC1XpjH9R1s2r+aTekus70QVsa5SBNUksA12//qrXjSUcOoRB67naiLWrXNj672/kY/PuRUpOQ4U8erWHg3eU3uImj0g7hUbDwZECmwfmgUNBAoSLDNXL7dg68oGrEtXPc9jzT6OE1truWS+KIo8ScMwBAAOOTCtJc9zY4yrnMvzizLL3394DwBFUSwWC98LHcffbfMij8fjcdiJjDGs2Git7Xa7hHK5XHc6ptfrcW+gxWqppMuR1NFotN1ui6JgLk2SJGVZJklirb29vZ3NZt1BPwiCk9PTbqcjhPjw4UOpNfN2sixbbTer9XowGDie9zB/6Hb7r77/LkkSKWWSpESUJMnd3R1Z5O03m00URefn5+fn50yn4Wr25XKpwzDLsl6vp8mGJix0ma1zZovmeY6IZEvm/Xc6nU6nM51OmTgUx3HYiZ5cPWWgGSdbAJjP51yXaa29urqy1gZBsFwul8vlZrPhG8F6BXxiYdhZZUt2XabT6eXlxbfffvvp06fpdMr6LSzOkyTJ5eWTNE3TJOW4MjSkpsHg559/DoKqXLjX67Ei/nA4Zi7TYrH47rvvoija7XY81P1+n+81h6uZH7/ZbF69euW6ajgccjHAarV6/vz5sxdP379//+7dO8dxoii6v7//6aefHMfRRdntdjudzsPDw7fffjsYDIqi4Oga98SN4zhLc1aeef/+/W9/+1ut9XK5XC7Xm83m8vKSZT35cD///HOn0zk/P+ecg1LKcbzNZmOtHY/HzF/n2QgAq9WKH5PZbMY08efPn3e6Puv2CCEcx8mybDgcnJ+fX19fS+kwoI8gQsTtdpvnZZatOKjmOFIpdX9/3+lGRMRuHrtMgZ8JIaR0gkByhoolqxGR4bsQoiy04+414BGR+8wDAR+U69uYKZSmqUJnNJoIaT9/+rJefk7G5cnJWRAE7FQLIaw1RVE8PDzwJYM0vV6P77hSKo7joij6/X6eldBKJ/KhuTwXqihOdVK81FnLyfcDpnWNtwFRNOX0QlTttdtWumUwBdCBlSci/Frms7GNld3GJhJ0ZN7p4EPm9NtjxYO6L/VBdw7EVk+kw4M29fyNpW19ZW1NKG9KCGjPXUZqtNlqWMPhHCVda3JOyFjkIB+KukEjIWouqpOSgzFSKRTCWIuMV1q5Tb47ZVlK6RABNwrklZT1PfkcKrFgwKNrKXXhum6W7QQIpdzp/Wy3TfzAPTs7WcxXRaHPzs7yvPz46b1UejI5yfOUjVKelUI4SrlBEKZ5uUtTgYpDNlJI3/dRKiBhuFGocggtgQUJChURSV+SKbUuHddXErMss4RCOvxvp9c1xlgA1/Mg1dZaEugGvhACkawlY0zVWVxIay23XnZdz1GeEI61pS4tp78QBFeblGXJZ4dSMsiwQMYYICGlVNLl+DerkyFKS8IiIUpHqVLbsjDCF0JIa0gIJSzFWd7t97QuC10uFot+54Q9bWPMdrfzXW8ymdzf3zeSDE13Z+B24wfL+n7qNnfnaL1mUIh1Kqd5pqjus05UYRVoZXuEEFT32qwf8OPn8WhuV8fdPwGHj9X/LzXVR9s3B2qyAdTsHvFAF6v9wl+vUTk64tG/FUnv8Bpbu60feYE1wrEALCaDuK8PEEc//7WTeXSb/r0i+MeD02zfzow1965+/5Xx4VWjAX785hDcHijq1I7S8VU8hrUtw94+/73cS3vTxyNwdIH7NNPjm9GgzK+O3RHAfTwE/GqYJEeTD/dyS0eLRBWqaR/CEtlW6odvhmiV7kL7YTvM47TXm/ZZ1c7Q0RU1Ealmn8cpIf4Ve8yNu9++E806LWp9WcQ9z0cIoZTb0GC4yRHHLD3Pi6JotVrlOfOu9Xa7VUoNe30VytVqxVHbyWRyfnaxXC7fv/vQ7XROTk6EEEiZlLTb7aR0oijSJS0WCwR5en4WRVFZljc3N9xkZ3QyGQ0nq9WGAcd6vQ6CYDQ+yQs9n8+VUtoYpgSkWcYSNADg+/7s4eHD+/e31186nc5gMJBKbbdbJZTjuZbg++9/UErd3NzczaZKOcPh8J//+Z+fPn06n8+b2bndbpMkHY1Gk8mES0UB4PT0tNfrdbtdllFjYZwoiqbT6XK51Lq01nY6nS+3N4ytgyjs9nujwej6+nqz2fS6A0O21+v99re/7Xa7s9l8Pp+zVvEuiTebDVMhXU8BQBzHaZput1sp5d3dHZ8GS75w2yZjzMNiXubFq1ffPHv6PMuKBsQD2j/96aeXr75zXf+//Jf/Yzgcvvz2FSI+efLs9evXnz59EkKcTk4YCy4Wi+12CwCT8VAp9ebNm6dPn3IQ/fnz57xPLqsdDodRFLEky2q1CsOQ+0ZxxyWmi7CmjeM4YRisNmtWZ+d7auGM+VE//fTTp0+fvv3221evXv3hD3/wHJddQSnl58+fkyS5uLjwff/Pf/5zv98fjUZSqDAM2Zl8eHhYrVa+78dxyoyg29vbLMvyPFeuI6W8uLp88+bNbP7A9bvWWomKY/DX19dPnz7t9/ssL1PmBdOliGgwGHz58oUv4dmzJ47yut0uIiZJ4vv+58/XWpter3d/f395eR4Ewc3NDaBlpbz1arvdbk9OTnzf9Xw3TjZpthNC7OKCSwwd5SGuhRBh2GESka3rQ7iwm5/GsiyBS4VAorDM5wnDkF17tn7sgRtjpHDIoi6t63QGg8mX67vb23sAMRgMmCtFZBzH8f1wtVqkaWyMEUr6XhiGISIykqj08pXHjzhnz9gxaGwFETEHgwgRDABgFX2RdUSjTjCKuiZ1H8fiiPhBIrV53xA/jkx32/y2jNu+cq5xEtqoov0iIkALNZXFkm2WYeLYDCKBba/NRHTUM7yJp7UPcYQSqn46oipk4tMzextbL8OWo2JWOg4AlIXRWguhmCyHsC9pANj3reTYXlnqGp4Sv3ekwEr/wAIw3YJTqrreieDkuLVNnH4fEIWanGmtJqIkSZI0IbCjQX+1jO/vlkq5vhf6fnh3Nw1cpyiK7XYnBFhL7J8TYVnmYRgOhr2y0Otis9lsyWIYRlK5QjpCoVCOcjxjLFhLAqVSqKQBg1IgOsKCcoQuhAXhKQKwUlnfC4uiAEKyaDRniB1dWjfwuQK1Uq9DkFJKq7IsBUApHZYwchyJrNAqBKA0pB3hMrHeGCOUyzcLQXJqvdTWaMptKZT1PA8FCnQAtTaklMoLHXkdkgJQen7kWJvnuUBHSDkYTPI0CQIV+B1B0BuYNE2ITBxvgyDodAZEVOp8vV4Ph/1OpzOf3XEQqhF6EgKNMVK0oTNC3dy0/bAcPjJtGIBizwTb85MrgFRpgv97BDMAALTtYsevPkfcxObwKTt+nA8O/cjfOMJ/7af78W/buz0C9I+f9F999gGaWGfbthxcekN4OLA8/EsC4v7W2L6cx7s5gov1VRyPfPvav4rjj2zg0a8aE9oepYYvzeai+QoPA8FwAC+/PnSHXJL9Tx7fOICjCUlNPoaIAEz7cM2/6miAmo3sv1tEf4Rl27Otucf8pi2gBq1Mh8BW6qq9Z77NyH5kDd/pQJNICGCJ7jbybipN+c92aqyptMA60tY+n8OZ/e/M2gNAD7An0rVT0lQVW9TNbMkwFdaYslqnUSglOfBZlmWe56ybzjl0ROx0OjwEq9VKSgnGxnHM/BlGDywYQkSB7282m+12O5lMQl/2+0PX9V3X3+120/uH7Xbrut5iUTAXOc/zTqc3Pjnp9XqdTufJk2dJkmw2m06nNxgO0zS9uLh4+vSp1oYbhVxdXRVFcXNzk8bJ6elpkqR5np+enHWibhRF/X6/0KXvB+xyRFEEAEVRRL3uleu4ruv7ThRFeZ53Op3tdjubzbn5iOt6RDQej4fD4Xa7XSwWnhtYa7mtBrPk4zhOs5hFFYylxWK5Wm88z+t0e+v1OonT1XId+QHr1RS6FEIwBd9xnFevXp2dnW232yAK0zSdTefMwGG1omK9Ho7HJ0o5jpMkyTaOV1++9Pv98XAYBNFyOecweafXXa1W3FdYCDWanGRJHIZhnGw/fvzI9a9v377loP7vfve7V69e3d/fTyYTa+3l5WUcxyyASES6tGVhdtvk9ua+0+kYTe/fffznf/7n3S75/PkzSyWsVivP87hOlEHnhw8fWBaTUewPP/ywXq9Ho5ExJQvJ9fv9Z8+effz48Zdffvnd7353cXHx008/LRaLm5ubq6urq6ur5XwxnU7jOH7+/DlnFf7t3/5NCOEH3sePH+/vpiwCUxTFcrkcDAa7XTKdPlxdXZ2cnPzlL3/htMOzZy+W68Vms7m4uPjxxx9ZXqbb7e52O7DI9ACew998881ms5nP50EQZEX+6frzYDTsDfpCyc1mw7B+uVzmeW5JM2Hp9PR0s9kYEyLiTz/9ZTwe9vt9Y8yXm89xHCvpAsBisVivl6dnJ67rGlOGoW+sXC6XXDa62Wy0tp1OwgXZxhh2DNjmGGN83w/DDhv93W7negoRmVufZVspHABwXd/zPAAwBoiMI90sy4RUT66ed6L+2zfv//a3vymlnj39xpL2fX8ymVhbpmm+2az6/f6wPyCq2Fac4mQ85Do+B/I9L2T7IIUCABQkAI1lKh9Hl9EYw+QUImJRHLJswfctORsDTJUdqXggbTNFdGCsDq13WxGPIS+voLWdbxQtHq36LQQDAioTWgnpUsXHhb1hPAIkx5ijZSoPVo3mhDlx3L5ea8HW1QJAzYUQAAjpsNmU0inLEhFQOgBG1AJi7dW3WYMb96b5VlsSAomg6meDAIAgFKtJSOC8McvUoLEAyIIz1dUTkQViD03rjO/4cDh0lLNYfAGQT548cRwV71LPDc4uz5Ikm89n3W7U7XaTOClL0+16ZZmDEAgyz02WxKvlLgg7KBwALLTu+B1jQQlHICEIP0AvDJTrFGWplChLSWgIFIFx3KAssjTNhFCGJErPWqt1UVqSUqJyyqIwmoQQKIS1AAKFUEo5Wmvl+EKIIIiIUKC0lu+9MMZKqYTQApUBREJrwReSSltaoxQ5FlAIRMHyaEVRSukIlI6jEBSCUtIrisKABCmytADUrusSmLzQNivCsOM4nhTCD7rG6AhpvV5xgTgHOBCx1+stHuZ5Xvp+aIzJ85KzHw1QwcPgXQNteJVupk3lpdZ+YHsSWgBZzzQyIPAQGgGKfafePdGC/9wfF34Vux8BqtZD8e8BD2ttLajebFY/woduObZYQL8CZ+tU3teizmwHHp9A+88j3N/8+RhV19agGv82nYEtEtR1R1jn5iobBlRrcDVWABAJAbDOPLZPgH7Fm6KDesUD1NqaAK2zpRqRYvsNto94OJitEzw0m+3ND6E11f+K1vf2uE+T2LcIgK9Nm68A99YW7Ru8H6bmnOrf8jbHh6FDpH70VdPAhKiJsgPU8xcrm2haNRn2cGioHgqse3Y8SkvxPasrLZrdtE+mPReJCOqUTlNU+nhqNta/foCPnL+v6JcBsKdhpazIkY5yrSGjM2so3iVpkiFinudM3uCjdzod0ma73Wqt4zhmme2nT58S0Xa7zfPcaE1E8/l8vV6Hni+EUEopla3Wi8nJ6O9+fFWW5XKRfPjwIcsyY0go13X9MOxobf+3/+3/2eBF9/Z2tVoRQRiGz19+E/W6EpCZxA8PD4Hne54XRGGWZabUrPmYJIlQUms9fVikaVqU2et3b40xT58+DQL/9vam0wkRMQzDXq8nhPA8h7VNHh4edrtdHCeu656enrL2Ypqmvj8iotvb2/l8zgHyfr/f6/X+8Mc/AoDv+1G3k0xTTrmyRlgYhs+ePwcQLN4SxzERLZfr2fyBNRZPT0+///575vksHhZSytPTU+5YxLQfKWWv19tut0mSFFlWFFkYhmdnZ51OJ9nFDw8PZWnW6zUXKZZleXp6+vHzJyI6Pz/n/kRxHP/v/6//8u33352cnEgpO92IVdJ7vd5kMlFKFVnORHMO6jNG5Katq9UqjuPvv/+eT+nnn39+9uwZl42y/7Ddbr/99tt+vz+bzRhkz+ezu+l9GIaLxWI0GuV5bkj/27/92zfffPPDDz+8fft2Pp+fnZ0NBoMiy1+9evX58+f5fH51dTUcDh3HWS6XQHgyOS2KYrVacd9crW2WTc/Pz29vbz98+PCP//iPQRBkWbHZbM7P4erqab+/e//+/dnZ2enp+Xg8LooCUTpSGWMeHh44vbBYLPI8v7m56ff73JnlL3/5y+9+97vhcNjv9x3HGfS6q9Xqr3/9K+eRRqNRp9Mpy3K93rC+zf39LM/Lb799ORgMfvnlFymdq6uLm5sbY7SU8uTkZLvdAthOp5MkSbxLrQGllBCgtX779i0AuK7b7/ejKOLib1ZTRUTP8/lhVEoZWy6Xy/fv3/u+K6UThV2l3HiXSCn9wCsKWxSFUl5ZFklc9LqD09PTm5u76XS6WcdhGHJJCRE5jrNcrrW2vf4os1mWZazuX+Q6y7Lz8/M8K6fTqed5UdQVQlhDnNz3Ah+kQJCiMnUW0fDCX+WWBQBJrNtHNMvMkdVizG5rJiFUALcSu6htzoGJfvyimupKLciPrXgNVm2hWotcpWjcJOgbMTv5aM8HoPyrJ9DeoL0S1asGR7XBGGP3vT1ss+pjVdVgiKzjOJ4XlFW7jHZ2+6CqjzOfUu4ttpSNOjVwtIjIapYnR6GU1FobAg6o18ui0Lpkz1zUh+AlWWudZVkQeJ4/9APn5vo2z8rRcIKI3DcDUVgDcZYaQ2Hou0F4/zCPokhKqZQLYLWBorTGiiDsAggCkeWmNxwI5QCAVD4RWQRJ5PqBVEoACqUEsLKxEpJhkDZWAmKalWEYmqIgkL1+tyxLY9EPolJpIqsNAVgUCCgBJQpXiErC1RpLQllDRKikYCUZlA4JCRZFVQMGyvOpLBGkJZQgAFBIRUTWYFlYIUBKRwiF6CjlWyu0BdcNTKLjNHOU77qeMcYYnSRJ4PmA6HihzBIA6HWHm/XCQFoJMSt0XZct/263454SnMFGRGutMdYYo6SEmrnUnvytZ2G/giOiJQTCfX/EeuIKdmj3oN8czVhoqaPAY9iKtaT14ePQ7KG1n+pRbT4/2qzC4l/TVyUicRz5PP75v/8JHD6qv7bZ0ck/Lp18fI3VfurrahFU+PUVFchm50RNP582QkMABGpIdMf1ml8dhPYlHA1d7cLtYfpR3qP1+QHB5sBCPqJjNMdq48bmVFu/3ZdMIGKtxdm6KC5apaNxq16qAdb/jm19PDvbY9c8Hu17SXQc0mgO8Wh+NKafWtuwRE4rBI4WoKLt272mz1dKp9k3re5B3XhkP3CtDY8u+SugH6Aplm1PDEQEpjlWf4r6EAf+X5VGrD9hqqIuTVkUWhrOIURRRERMq2iUrbTWaAmMJSKm0iqlxuNxnmUfPnwgosFg4DrO57s77osZhqHObBxvAUCbwvPUcDj0AzcvEqb8Simlo6Ko2+1287z8+eefec9SyuVqBYCnp6dMEH/z5s2LFy8swM3NjRBiMBhMRmMAeP3uLVqa3t0LIZhJ/OTZ0zhLN7ut1tqY0vf9MAxOTiasTAKoWYSeqThBEBRFsVotCGFyeuLvdrttrI0Jo6jb7YZRVObc/bNqBNvtRUEQnJ+f9wcDTi+s1+v57IGVE9I4YbK4EMJxvIuLizdv3qRpKpTsdHpcmHh3d3d/f//D93939ezpbrdbv/1lvV6Px2NudcYdhdhTklJGUdTtdl2luD0TADDF6Pr6pt8bPnv2bDQeLBYPxphvne+m0+l0+hAEkTHm5OTk4eHhw7uPnz59Msb87u//YTKZFEXx9u1bIvr222+XRdnv9xniMw2dMyosWrLdbj9//vwP//APSZKkafqHP/yh2+1+++23o9FICNHtdk9PT3e73eXl5Zs3b3a73cnJCSGMRqOHhwfmmp+fnmVZdnNzMx6PX7x4wbiBPb37+/uzszOWmd9sNoPBYDwev3nzhnuXCCGyLLu/n3U6Hdd1P378eH5+/vr16//+3//7cDhm9P/p0yeh5MPDg+M4nuedn5/zZB6Px77rcZqIpWNYA5S5+C9fvhyPx8y36Xa7XFOhlLBAJ2en9/f3m018e/eX0WgUhiG3fxyPJ6vVMsuysjSe5/i+r5Truv7V1ZXjyqLItKblcm2tjTr90XBS5HdpmnY6PR7Su7u7MIg26+1s+vDy5cvT01OyIFCmSaa15tDGaDRQSoGxXHy8XC6NMWtne3JyFvghM2qUUhY0ERkNm+2SSAsJZ2cnjBW4ZYFSajDsdTrdbrfHo+15HnfPeXiY3t7eAlr2FefzOetMK6VsneplugUiCiF1WbACJqNJVuBoLedtqYR2RAAAuBcsEmG7MtXaShSlbfHaYOUxMmj6Cu2NOCIiWlMKFJzZpspKA1Qs/6bZ89fDiigA6HgdPTr0Ucy7/TlHta3drwjGmCpZvs9um8Zce56X52Wel8r1fD9grp21bJYFAAhUjXk3xnBj3SryQpYPiiA5viNQoEQWSWRSljFUUSZrJ4kACLC6BVihDT7t3S5JkiT0XJRmNlvc3n7x/J4uzHq7LvNCSiWEWK023W43iLp+6N3e3EvhjMbjNI6jqOu6Smu9mG9OJoNez58vVo4TpPmu1x9ylbZkpFuWBAKki9JxhAUAIRGwlMoxhMZq14uk4rptU5RkSXp+RzlekuYoFKDyPTfJUgIJyM0QhLWA0hGGjLYIAlEgVA6k47h5SQIQQFgDUkoUiqzNC+36rkDS1uqiRBRCOp4XSClLu7FMLgKB0iNEC4LQMQZcFCBkmRdZWbiuixKkEMZkSZa6VknlOl60Xq/DsPMwm0WREBLiOBGl6HQ6/X7/9vZWCAGEWZovl0vPCzgqRGAJLVSFfQeFEIisXsjuKXE9BxEgsPQTZ8m/FmGsi/Ha87OGdNhAWKyos4eC8czOpUO4hk2Y9mDmP34w2++pDik+wk6HuORrezh604ZwRxsfsUHgV+LZj1HTwSeHgi2WH6njg7aKAO3eLvGF2r1oCMcHDnEpVSqufDWtL/bUlPbpcIYE9rJUtX2zuu16/RruPzpzfBSA52lTTa12jQEBHJ1idVVMDDmMrwPYKnJCrRDKMd5un9geuLdhd/PnvzOfmj/bxvfxDX68n3qbr8D31saGSCAIQnMAttHCQZeyNognrqdpHhU4jBVB1SF1X6zQvuT2mR85W48vjRczPGQ+Vb+yAFQtb0bX6sKWlCPJgpIKPOQqOiKKoi6RkVJ2Oh3uD2+t5WZGy4c5Q2QAjiwKa0xZlovFwhgT73anp6e/+c1vPM97eHhQSt3f3LPerZSSSDzMVg8Peja7nz/shBDKc7thOBqNkiSL47jX6/GxjLW+HwAAIw/f9zUQw4juoJ/FSZqmHz58KMuSlHCl8gKfGzyBwI8fP653W8d1fd/vdMLJydh3vfF4OBwOe73OdHZ3f3/f7YWu47PW+4cPH5RSV0+f8fXG3Xi72THtPkkSJDGdTpk9f3JyMp3dvX79+ueffx5PJlrrXq8XhiGHXcMw7Pf7XLE0Ho9Xqw1zEqSjeKDG4/F8Pici13XTIudPnjx5UhTFbrd7/vz5brdj6RXmuD88PNzd3Smlzs/PO17H2qpDbafXn0yKjx8+f/z40XHlYDAiMvf59OzsTMxmQRRyCenDwwMAEGGSZH/4w5/Ozs4uLi5evfpuOp0ul2sA4NaqZVmenZ1xYSiXpT558sTzPL7MFy9eTCaTjx8/zudzx3G++eYbVohbLpd8+Z7ncXen3qD/7t07Ls/lhkfD4fDi4oID2Oz1/eEPfyBjiagoiv/5P//nZDLxPO+XX375l3/5l3/6p3/65ZdfxuNxHMdlaTiAzfWj8/n82bNniBhF3abymwlIcRz/6U9/GgwGcRy7ruu67v3tXb/f5wD8fD5HxKurK4a/t7e3nuc9e/YsTVPWkn94eIjjba/XWy6XnBcaDEbn5+dKqbvbWxa/dxxnPB5lWVYUWZqm1qZFUVxenivpXt/fGFuuVzvf91fLzcXFxQ8//LDZbDgfAgBhEPEIM4X93bt3i8Xi8vLy2bNnRJQluZCYZQUiGls5h0kSF0WZZfOi0FeXT5RS3GfAdYQxhCgDP1os7wF1txc5jlOWaZLm2+12u932er2Tk5PAj7S28/nS87xer0QBm80ujmPHlYvFYr5YpHlyFp27vldqbQ1JKYVyiqLIc82Kn2VeFGXe6XQcxxNCaF3YKoZemSgiAlFhBGbcVenmWoXiq8AXHhlzOIqjH9q3ylTuvwLYa61UIZUKdewbmtpWCIo/OdobAUePDtee1gkf+xX1FQgAcUBNJmEtgahW8vpz5vVAnudSOkKINC/SfNvr9aR0jCnIgrFkkTUlOeDHlVEKEbXWQoDjOADWGNM03OXjIUoEILLWgNaajSqisEhQt9RgOSAAEMLBWm2DtQSCIDJlpsskSXdRFIRBZzHf+b5rrQ390BjT6XSCIDBGE5kgiNiF3iVJ6PtZxrFMEXUGSZIYQyAUoCoKDVKyhqiQkrRG6QqhCBRKNIZKk1oQ1oIFBFRConRcQuEqtd1ulHICP2AnhOWeclOWpeFYOCqBUloWL0IBElA5wqIQLhhuquCgLsmiQEUEUrlNZarjuNJxRFlmaWEsEBgpHRDKdXxjjJSOlE6VZ7ZCSWElglBBEACJojSIJS+hAiArS2OMlOh6oTE0nc+BFFc9VUXARJ2oZ82tLjUoEAhxnPKYC0HGGmOMRFXDkiPsvk+8tPEot4vh6SdaLZbkHlnz/NzLttYT9eDRo8qZPMg7HX5b7cta7vl41Mjy62HT5qlpDncMXY7JcseQ7PGbZs/tHz7GiO1d0SHVov0TarklVAdM29dLX+kh2j4T/LXTro0gNuHXZs/tkD+/aXOeD670kBrdPn/eto3C4XAc6tee7M7fHIzegc/StrpHo310GuZRzqF5axvsjoiNTuXRfVFHQ3D09b/z+v9zM+5g0hjc1i0sW7syiMgS/SxJXA8rq+AcJgvQAMkjzF3NbzBfDcHXx+VGqqKmy1OTZYOveaLt0WhOoJkcotWAqalYAgBEAYggEAD5bASiBUqTjIg43Mt8XK1tt+tYi5vNhgE6dzICAJZHZOWKIAiyLFsuFuv1moNJUkprDHe4FEJ8/PhRAp6dnXm+XC53ve7gZHLq+wEihUG+cXJjTLfTH41Gq9Xq+vomSRJr6Ozi7Nnz52EYcXMcANhutyCFQpwvFlEYckB3NpulceL7vhP63UFUluWwP/A8TygZx/HdbBpn6cXFRRgFjuOsl4t+v5tmcV7ks/mDF/iO50olkjTN83w4Hsm6Q/X19TUABH7ItOzBYLBZbdM0/fHHH1kVvtvtrtdrRORGVAzTu52OklIptd1ueSSvr69nszk2Fauj0XYbM3/acZy8LLfb7U8//TQajWTVudNeX1/3ej1meH/58iWOU62LpvuV67pliev1dr1eC6GY6k1EHJD+/PljFHTG43EYhmlSrRn/6T/9J6XUNt75vq+L8sOHD2/fvj05OXnx4kWaprdfrpVS33zzzW63u7q64sAt0+4dx+HmUPP5nKkdLEivlFqtVicnJ5eXl3/605+IiAshut1ulmVBFD59+pQh/vn5eRzHLDx/cnLied7d3d1gMBgOh3macb3v5eXl/f09T6rlctntdhltM/Y6PT3lNoq//PKL7/u+75elCYKIafHz+dyQffnyZVmWq9WK74XruuPxuMhy7tnuuu7z58+VUiynQ0RBEHz8+HE0GrGI5GAwCMPw8+ePPKPSNA2CYDweDwa9zWZjNOVFfnFxMZ/P2WnhEs8o6iRJ8m//9j8REcCenp6enpxHUfTXX/622+2+//57x3EAhJTSc/3nz0fr9TqKopOTE+Y1cS+CN2/e8D3q9jq73W447He64XQ6zbJkt9sxqffDhw+fPn4+OTl79uyZMWR96Th+nueu6wxH/V28dl1xcjJ++/YD37jdbjefz29u7l6+fKm1NVQgou+73377LQOyONmu12sm4gdB4DiSA4R5Xq7XS9d1N5sNlyFqrcmaMAzbXe2aFZrtTxPkbeX691yRr5rf9lKEj+JJbXhd77lekGi/QWOpm44t9ecHgau2eWzLqxERgSWghtNytCS3o3uHXx0aXqpBPO11DhjZ80+01uv1Ogwiz/Nms1lR6CiKrLVSuQCN8jJaS1rnZVkGQYCASZYiYiQiIiq51WctSCcEm/bqcMzT4D+NMaJaUy3WDQH5lPnEyrIs8tJYvduuAEvXdfyRl+zKIPAIbRj6eVasl5tBf2Q0uzSVhMV2m/CikOe55wbWQFEUnz9/Ua4vpfI8b7XZjsdjQ8YYI7g1mJIolAFU6JRUIKLjeJy8dj1prSVjHcdDsI7jSk65KjfPc9fxLWkE6SgPEXfpzmhSUgpJiKosSwAhUJkWMCVCblHsOK4hq5QypmqIZoFc11XSBRLSUbYWkTCGtLaIFRecLFhrlXIJoCxLoVzPAxah5zF0HGe5XvG9y7U+P7u60+VkNL65+2it7ff7q9Xq3bt3V+dP+AnShfbCiLMQfNcAJaGy+ldQ2qNP+LmQQjbbt+konIiigwdkD1LbT2gzVRCxjd0fP5u09yT2Acf2s3m08REQPIakAIjYNJyyLZG9xj4cbfxr+/+11yOMdxx6b+BQ86E1tl3y15x262KPbsTBgR5f49HJ4GEwYv/5oxxjcz7ta2/du/2ffGJCVAo47RET4nGr6QMGCqsJtY/Y7PPo82bm1IfYy/jCYYi5fQls9h/fO0XYUvAhW4+qxSrwWicgmk5adeKDLFkiqCc4EtA+cyTrfK4lNEKgrN3dZlGQ1R0z3CcFSHAC0taxlrqqoJ4EIHnn1lKt8EMHoi6trgFtOH44+ZCsRgRRa6bRocvVyJkREbGCAh7VnlZhyOYTpsCwM8DGl5OwtSowAAAHWYGg0CVXHyrXKYp4uZwTAsePt+sNc2niONZa96OOkjJNEoHoOJXYBS9jWZYJVEmcCVQnJyf/9I//QSkVb7fbOHXTvDBFkicgwVrY7HKDgqQcn5z6vv/+w7VUSjmOG7mD8eDm/g4ALi+vet2B43goAxB+nq6vP35K07Q3HEgpT87PGHjd39wvFovVarVeb3/88UcAyLICDLhSTe/vsiwxtoyiSJtiMpm4jj/qj+fz+Z/f/cXzvCwrtNYXFxf9fp8BX1mWWpt4GwshLi4uyrIsdf7Db74TEtab5Xq9fv/+PcOvUmsez91ux9xoQIw6nSjqJkmy2ewGg8HZxXlZlqvVpih0XpaqKLrdbhzHXN2rdeF5e40RZrGHYej7/vfffx/H8d3dXRRFDw8PDw8Pw37fdV2llC5KABKA2hQAcHZ2JYSIou5mt52vl+fn51G/u9ls0jxL80wZ5UjV7/YQsSzLu7s7rfUvv/xydnJ6cfXkw4cPt/fTk7Pz9x8/ffPNN6G18/l8s15fXFxYa1erlRBivV73er08zwHsdHq32awcRxZFMR4PN5vNfD6zVp+ent7f319cXBhjzk/ProvSlNp3vdn9lGF6kiQnJyefPn1CxLRIX4xfcL1sf9SfzWZa6w+fP0yGE6VUkiRJkkkpfT8cDEZXl8/XySaN49APPn/89Mtf/zYcDkej0cnJSW6s64ez+WfpOCdnZ2m8JSLHka9effPly5ebm2s/DJ4/fx4EfjTo5LZYPWwmZ5PVavWHP//09NlVt9/RtizLnOWSlFK9Xq8oio8fP04m/6HfH36GT+PxmIti1+v1/f1USjGZTJhZJIQoiiIIgn6/z+mRb1++urm5eZjOrLWe51ltyiI3rnNxfr7dbt+/fz8ej1frted5z58/f/v2bZHnMugsZqvT03NB/m5VzG7Xu3iD4HeivpLJNLsrdDadfUnS7eXFlTWG0wIvX36jlBIQCAGnp6c3tw9JWkrp9Ie9OI4LXd7c3TKrynEcRLnbZVoX93cLpdSnzT2hDQJ1/fn2/Oyq1+uVpWHcn2VJtxtZG6RpiohxWqw/fL66uvJdx3Fc6UltCmNKIYQllEKRtkJKY4y1WkpuRutYYy1xGBjqPqFAtbWyRK22cUgE3MhSCMHrXrMK1DbKSiEECkvWWsPy80IhEhBZAgMIQhAiKhQGDAraq7ALrqwVQkio+i/WrWEJBCpELMoCWLQRwLAWPgDVQLyyu3UAXgjJfCTXdbO0cB1EqQAMO2DW2tIYLqhlyFtoAiBAjYiD/uT2/m67S6IoyvN1t9tloqPvC2ttURRJkgR+6PtBmmRxHCdxGkVRXmSe55EFpSQRxWnCLau5HtAWkKal67qe7zlKbDYr3/cR0YLR2vi+p0tUShhjCayxIJWfxqv+8CQIneV8miSJF3ql3c1ny9HwPEsLAidN8812cXIyMcYURVaWxlobRR2ty/HJWZYl47OhsarQpFxUjpOtFueTISC5jotSkkUEh0gQCd8JSktFSoROqXMppVSuJSGVJEloicBIo4RATQrIkvSscIkc6Vki0lpLFVhrhfTqZUtLKQFdLgMUUho06LimzJRwNJDjhtqiARLCM1D4whPoGDJB2MvzfJek43FXCKkc0ibLcuP5KKUUSqDjGwDOCjqOVMrlJJjwVJbngZTj4fj+/s510JHk+W7U7c8Xs6snL+I4Lgs9Ho9Xq9XH6w9npxdCyTzNEEkqKHXi+cKSICuE9QnyBmYQIlljyaLgCLe01pLlVghAliNoDYBuIAEAoDalUsoSIewZudzQCvaQ1DZ+ZhXRb8HBejPQrahlhSK4AS21HYp6SosDNaRGk4Pqgnue9sYapRSrTllLiIAoAQzV9SEWNMMnOswMMFiSUiKgNbaS6QQgA9XvALHm9DduCUNBa6vrtZa4SuQrfA0gjkLy9nbvtyOiMMYS6crLqoDZVxgfVLW24CIB00SdqWUv+G9ueo2Ie9XBugqnApzAQd4qbM/7JiIW5K2MJFPxLQEaY4hhmBCs5k5QQV+smXv8x95ba96wubWWmjjLUZ4EANBaEshUcKjjGgTAc4m3EgKIhLHWWktC86xg/QMUaI2RSuL/+v/4vwshAI7rLLnoYZ8PreUUCUQDl5sJSsQl9gT7/k9th6+h0VuqqnkstzaoUDt/a6tZXpl+lFALy3BHgKYhUXNiQjRam1hT2+sx/rV6Zzo47eZZ2m/QxvGIhPsmsvvBqZUoGz+puXn87HKXUKxrWHnV4QJHAAiCwHGcNE7yPPdDj4iSXZxlWaMtU5ZlkaS73Y5FA7vdrjVwf3//8PAQJ1v+k2kSXJDHTYXyPNdabzabxWJBhE2EmxXctdZSOK7rTqezwWCgXP/nn392Xbfb7Xa73WfPnnGMf3p3c3d31+l0ol6XydDM2SgLw6FQRPR9n4P0vu8T6OFwqHUxORkR0WKxmEwm6/V6t02steyEJElWFIXW+uXLl67rzmazsizLUnPDS0Rklg5H1sMwtNa+f//eWjscDlGIs7MzDkkyp0UI8eLFC98PuTxgvV4TwsnJSVmaz58/389mbIwazZMoisbjsdaaATq3CmJLxGQVLhtlanjgeVx9W2T5crnkRkivX78GAJZxJARr7du3b40xFxcXHL1eLBZfvnzxff8ff/d7Ps84jjkzcHV1tdlsWN3Fdd33798/e/bs8+fPy/nin/7pn8qy/Mtf/nJ/f9/pdFjAfjDoBUGwWCyurq6UUj/99NNgMAiCgPMtnuddXFxMJhPuVPrp06eX334jhLi9vX327FkQhUyh8Tzv8+fPiPiv//qvaZrmeZ6m6Xq9TtO0zIurqyvOJ2RZ1usNuDFhpkvPcUaDoee4f/7zn6fTaafX/bu/+7vCmrOzsziO379/PxgM8jTNssRxHFNaIcT5+TlKYa399OnDcrMeDoffPPsGAFzfv76+BrSOkEEQIAGTuVerVa/XC4Lg7u7OWvuv//qvi/nsv//3/75arZ4+fcou3HA4mE6nnANBxO12W5bl3//934ehr7X+/Pkzq0xIKXe73WAwUkptNpvzsysiur6+dl1XOur29pax/vt3b8hilmXPnr3I8/zm5hoApMJOrwMAHz++dz0Vhd3T0/PlYqW1ZlUZz3dYoyYI/DAM8zzf7vLb29s0TVmyptPpCFS73U5I6Pf7bBPG43GS7DgV9uTZVafT833/1atXURSxfBDPCiJiJbssyxaLlbXW9/0oCLfb7fn5aa/XcT0HBBtky/UpHLbkbg+S2zmpqji+4rxVyiqy1pjEI5tmjGWgj1XooTKSoq5uEwIYECuHjZsRlWXTdbQCJSLh3vCyreMTqPqqUJ0N36tVYrOQsyWs4iyiklbEqj1qFd4uS8O12tZa3wsR0RBYa8tCV8k3U3FXjDGu63N7F0TkXhCEwNaGqzJ2u53jOK7jsUq653nbbcypLQ6gpGkcBEFZlq7y2EYJCZ1OhyMFruuyCqfjOEREljuIKSIiKD3PM4ZsqYnI85xdvCUyZGxepFLQdrtcL2cXl+dxHG+32ywts9TqQo5G4yJPHBeDwM/z3Frd6w16vd5qtc6yNMsyY8rnL55+/nQ3n88nk8nVkyd5kXUHfc/3O52ONpCmKREqNwijrucFaV7meWHIlGUpJSqlZKunOBhdlJnv+3xz0zTmT7n2if0ZrbXv+3yD2LsOgqDisqsqDYhGkEBE6Tq+IWJRmiTJ+n2uaEJrIcmzOI7PTs+FEFlRqQVw+2pDyH44V713gjCKOkkSx3Hsew4iKSAp5c3tZ1fJTuiigDTZ3N7emjIbjUZ5mvT6HX7kb2/upZTdqJPlSRh5V1cX/X7f90MEgSiLIiMiAq6QYIJNxSoGAKP56RCAkuck1AgVEYXAJqBLOmchVwBo6O9SSmxRrhtUgIjMWqYKY8o28NCHrGUiaohfbVRXkdNaYIPayXzaA3f+Ca+Jh8T0PZnHQl1kWx+lAjx1AJQPp5TiaSD2uJnTSnsxwAZxUatjmhBf597YdsIQZN1wCqvECxGfOR02rG3Gof2qwDqYeoT3UG1v3CoE3HKKDuPubWNYR5/3guNQvcPmPrI6qhBKtHreA0DT0aq+KaY6S6vbZ9vwAfeeRmv8AQCMrbI5VcqUT6wZh+YnrCJUsULaQJfnwL5zantuHQ3owb2xjSKPsMQU/Eqst/4hg+bqMLWXVt9Iq6s24FWsHfY1qdXGsom+7Ef8UObs8Z1m4N78qtmyGb793X2ky95cGj1a8Nqj0d5z8yWfQnOPEdFy2MqYWo1YVNVplYK7yvM8juMoCIMgiKIoy5K8KLguk4iMMZ0g1LYAAJZxNMbsdrssLfI8l1KenpwPBoP7+3tmeEPFLpXv3r3jcKaU0nV95TrGmA8fPiyXSwBgfQxE1Nowog2C7v/yv/zfyrJcr5faFG/emIJKKQABAABJREFU/uJ5Lp/eN998o7VO8sxxHMdxgiAgoiTOGMEsl8uyLPlAWZY9efJ0MhmtN0sA6PU6xpQcMOv1epvNptPpKKXyvPzy5YvjONyyB2tFNlYob7rW86SczWZSSsbWAMDcCca17PkYY9brdZYVZVmy5E6SpVEUOY53fn4epyki9nq9z58/A8CTJ08AgIsm+/1+I0u/3W6zLPvll1+yLPN9/+zsrNfrMQZhmU6rjVLK87xOp/MP//APrIdzenoqlAyC4D/+x/94fX19f3/PWpyTyWSz2axWq0/Xn0eDoTGGccNsNru5uTk9PQUAYwyrfX/48MEYMxgMWJj/+++/l1KmaTocDheLBaMTz/NWqxVfdZqm7F+t1+uzs7PFYjGdTrXWv/3tb33ff/PmzW9+8xvuzCqUXCwW8/n8xYsX3CyJiM7Pz3/66ac3b94Q0eXlZbKLb29v87xM0/T58+da6z/96U+u66Zl8eLZMyb3X1xcTB9mABDHcXc44FO6urq6u7lhr0xrG3rRZrOhC3AdRwjx449//+nTJ9Z8fPbsmQV4+vTp33752XfcMi8YJI3H46dPn97f3xtjJpOJ7/s3NzdkLJBI03Q6nbLO/XQ6PT09BSB+XoQQ19fXX7586XQ6s9m91vrk5MRaWxQaUTIOLsvyw4cPzb2LoojlU9+9e2eNYSHq169fW2u11r7vokWt9Wq18rxgNBpcXV3d3NwJIYIgyFNNRJv1LgxDKZz1ascGjT3Yjx8/MmTPsqzT8QFgs94h4nA45EcDEZMk09rEca715uTE40RQlhUIMggibYo8L5IkS5Oc+/4qiQ+zxVQ/aG3TRH/z8mUYqajjO47hijcistZIKQVKznBaa8u0hEb8ihBBAIHRtu54IpqFv2VFmc2yX9WEEIgkhNhX5tXcBkBbR2E4nofA5hlVE8iwtaI5NYiFVwOw1RIBguqCn70VBamk0lSKWphLCK4irQwwf+I6PhOrUFZ8Ti5wR8KyNFpbNkdAgidSlmU3N3eT0xPP8xzHsYbev/sgpUzTXErJxRsAwnE8rbVS7m6303pblmWWaQAQkEsp1+u17/vbTdrr9VbL3XA4lA5JKeM4BTK85zwvHMcptTEmE6g8xy2KwhiSQmV5WWQ5EXmB0+n0HIm7bYwCgiDI0tIYYy3udluy2nF9IhJC9vt9rfVut5vNZr7vx3Hsuspo4qLnq6urKIqU73DONs9zbURZGul4QihE9uiElA4Q56KFEEpIKQCttUKilRItCeWmaeo4wg1C7vVB6AgppQRJUttcKJ/vn+cGUkpHBQVqlNJRLhAq6ZCQxhiBSihlSyslEghtUiEday0CamsFyrLQhTZKIa96WussLaKuBLLsbvW6/en9TOel5/lSKiTgCJfWeacT9Trd9Xq5Xc8F2tOzycnJyc11RbHjKcS6w8aYSnPfVDFmY0qBDk91IiJAIALgTuoS6rAg55tqNosgQlF3Tqjm5yNa1xEcaiLu1ILX0KJe8IZtjNGW9N6jydY+219BjWcqWLgH7hW8qSOGBx0bcE8xqPeGzPGgfV6LRA2yqh/KuoOkMQZbbD0DIA6FdOARXmoTCtrfUruFJYBFqHFnWw0Gj/IAzQg0owr/7qvarCXJ3d7bIVbcU5tgL0XYYrBwOc7xEXnQ9g5Y66bYBqAeAEsAnkjtW390jfWv2g6GBe7PW3/VnHb70I25bnbSVHLw7lon3nLLml0gIqFlOVMgEgjWcqWUJftrY82pTOIG1IjVSiAkIAITwgGAzNFwC6o6gVEjiNOe4s3oNPMYxf7n9YEAao+iHqwDvtJXMfoRrG8vUbZVACFa3Lj6V+zCQtOknUvlGP/xSTIzu8hyDt25rsshUiIqyzLdxfOiYIBL1nY6HY6+ExF7lkopJnA/f/48SRKl1Hq9vb295eDccDh0HE9rOxgNy7Lc7XZSSkKZpqkXlEmeLRbLoigc5SVZ8e7Dtec5JycnRMRNnVzXrZtWFr7vh0IVRaFL24lCBBmFZjAYsIw3VygKIVjpb7FYGFsuFg83NxYRlXIRcf6wNMaMRiOl1Gw25wM5jhOG4W63s9aOx5PdbqeUmkwm3JEHETudzmKxyLKMt3Rd11grpWTxnOfPn19dXS2Xy6IopHQ8z+v3+5vN5jIMhBBJkjw8PHAoHRG5k9FsNjs9PT0/Px+Pxxz1rJ1Jurq64odht9uNx2Mkms1mo9GIryjyO9tNXBam1x24jo+wcx3/7nYaRGFRzK6urgb9UZYWX758ub25d1334vLs7OyMiG7v74osZwEWrfXt7e14PO50OqzS8/333//yyy/W2qurK06wxHH8j//4j7PZbLFYAMDNzc1utzs7O9Nav3v37vT0lIXti6Lglpy+73OdQJIkL168ePPu7fX1DfNnkMR4fHJ/P/vpp788fXpljGGu/I8//vj27duyLNM0PT8/v7+fcTx7Pp8/f/4NR936ve7d3Z3vere3t0R0fn4+HI/CKLKkP3y8LgvTjaJOp5Nl2bNnzxbz1Wq9BoD37z7+5je/ub+/D8PwxYsX6/W6KLLdbuOFwXa3iaLobHJS5sVsNjs/PwcADu/d3d31er3ZbEZEF2fnSqnTk3MhYTabMZ+h2+2GYXh7e7ter37/+98/efLk5ubm9vaW5YyUWp+cnHCjKC7bnc8X69UWETm2zY3AlOs8f/58s1ovFgvP8621ZVkOBoPRaGCtTYv4+++/L4piMpkYbS/OL+M4llKWESVJMp/PZ/PF7f00CILFau04jrV37PjNpvM4jrn4ZDweL9er7S5xvUBKmWTpYrFYr9dPnjxZbXZluSSUD4vV8+fPo6jw/WCXpr7jGmOjsJdnC2tpMOhbAzsnzW3puGK7LV//8unvfvzeD5V0pS4z9m8JoTRWCMHrIipH1taJAwQcHeTVtB2Ewzrh3jJriAi1YCIAUE0yJI6PGMOtJ6CJKqGoa/ustgAAsmZRVmF+AGxEGImwScYKAXXdJ7IRAxINkuBz5jJ9fmZ1aR3HNVwAZIo8r+gKeVbwfqwFa8mWVlsLlAHAcrkYjUaj0WS5XKZpfn9/f3F+CQDb9e7L5xvP8zwvEEJM72YPDw9lWSrlcn7v6dOnhPDh80chxGR86vu+lEBWLhdbx3G2m3splS7Rcd14l5RFFoZhnhkEaTQgkJRekiS9XqhLq0sbx7FSwveC3XqHiOTJJM6tJq1t1PGDIPC96P5u6Xvd2XQOZLTW63X+5MkTRNhsNlmWN4sLd1bWupxMJn7oK0eS8Iy2hmyarpK0VMqNusp1yRgqjRXoCiyN5S7tQgrXUQ4RWdKAoISUwiA4ZblTyvU8P8HcdTwhgOndUliB2lFutZ6CRJAWpEAEQkNAoAAdAaIkiwC6tNqSFEqgFEIhCilFmpdE5Hh+UVKeldaBIAjCQMxXSw7BMssLURpjhFDaWkd5Zb6VUhpToiUgE+92QgirC611mmyFhG4YDIfDLMs8R3Hexvf94XC4XC6TJClLEwTCdX3HcawFCyWCAYEgWNQDAZgpAYRgrEHk1vNC1H1PDZBArEWHGGAwJDxY7kHU7WUqP/YY2VMjYliFLg3QHgdzhLUNTJm20EZ17fhgG3Xsf1IVo2ON07Am9ljRUqYWQnAODI4OSuwY74kV/KRD7fy3jktQ107SQfCU97N3V9owbP9vExcggWhszTSuMhLVjyoR2wYQ/xokg5bb0x4fAGjaObWH8WgMW19R8y9WBGzWhGofWbQPTkREupHEaeLHh/8ZqMen1cKWM5wHbk/7zOvTq97zr+2e7rj3A7FKbuzxOt8OY4w6vLwDb+nx6/FUY3jaulS28siuX/UgEIGtuPESiYA4KQSAjchRPSta4LsiPhK2Dt2c7RFRBxHh+P7tJxPuB7e6g0c3m449p9YRa6+GWtJp1pJSR6BftqZF9Vt+JPI8z/M8DENmtgiogHuapo7jWKvRkkIRer5RjrWW+yLJWtWBaTCeGzChtqF8GGOCIJpOpyxzEQSd29t7RjaFLpeLNUO9br93dXWllENEg/4oy7I0TcuyDEJlrdnFG2aSSOlsNpvbmznHfl69ehVEURzH19fX3IDm6uqKQ5LD4ZCbxhMRy4ZIKcfj4bNnLxaLhz//+WcAcF03Crssorfb7Twv4PJKIQSTUqy1k8nJ8+fPWUlwPp/f3d35vn95eTkcDne7HYe6HccBRObWdzodFknkfV5ePuHwcBRFYScSQhDFWuvJZEJEzDt6+vTpcrmczWZBEHDYmztYZVlmjJlOp8aYKIo8z5OIpdYsrM7NoZYPK6XU9fU1g+wkSVh9JQgCllh59eoV1FmROI4Xi0WSJJ7nMRngy5cv3W731atXHz58YCzF+jxnZ2eu6zLoZI/u/v7+5ubm/PycHaGff/4zSyu+ePGCw/ZXV1dENJ1OOa7Mn/ME2O127PYQkdb69evX/X7/u1ffXt98mc8WQoi//fzLpw+fv/3229/9/e//+Mc/ZkneCbvj8ZiIRqPRzc3Nx4/vx+Nhmqb9fv/+/n6xWDCbKAzDOI7DTodjsbP727lQURQ9uXpWFoY7Ja1Wq+l0mqS7V69e3dzc+L5rTGlKvVgs1EaV1njK+fTpk+e4p5OTu7u709PT5XKZpul8Pr+5uTk7O+OB5Si+Uqoos4uLCzZMWZYx6Z+HXQjB3gtjUObf+35gjI3jpCgK0pQXueN4q9XGdd3x+GS5XCa7lHG8Ui5XAy+Xy81mQ0RCIVnodnrWUBBEWVaMRpNOpxPHaVmWV5dPy7L89OnTarUii67j75I4TjICEXU7IHC1WmdfvlxdXT179uz29naxWPT7/e12u1isHFfmea4tuK7b6/U2m+3t7Z1S6uTkpNvtlmlJREopIOG5gaM8K6DfH06nD0p6pS5Xm937j9dP6Xy1np2cDl3X9TwJICwjD0BrjRAkhKqzepWhEgKtBRTNik4AKKWiijDKSKJSomxWQ0Yd0CSaG5RvNdgKyoABFAYRBSFhaawGlAhSSEQEAm1JE0mqTkU0nBlriMPAiAjEsRhhrS1LIxywBhClkkJrbSqGoWWerlKuks5ut0MQcZo5jlMUOU/4TtSzBmb3M5CC6j61w+GwLHWeF2EUTafTNE270eDJk2e3t7fGJI7jbLcxgMiy4rvvnqdpulpuPprPw+HQaLJIWpvtdoeISZx1Oh1dms1mWxTFdpM+eXpORHlmyebGmDwzpsw9z/NCz1HhYr4RBL1ep4DSGshzYwxGUTCbLRAtWRMGnTDwlquFks5wOLy7nSNivz8II9d13SiKNpt1p9MpS81uv7UmiqLlchkEAcsJhGEoHbc0mpsrG2Okg0SkHE9KaQwpKQCENZasBJSAjlS+MaWtcKmVygNUBBJQoXCl8l3P3yMSIQAJhW+tJSApPbKIwnUdyRFZa3LEStNUCGVJkCVQjiVC6RYapJRa5wQgrQSpUDlprt2AhKOWy7Xv+3leRl2PiCyQKbTjOCyrkKapEIiWiIwSCGAdicYY33OV7MabtULgegNTFjylV6sVB4+KLLfWGkMIQkqHwYC1BslpiURXNWvAnGJEAgIUFVfBogBg1IqIzHmw1gBaRCTTYmjUavFoiSkiRzjhCD4iIodsyX49+HoEVb8KwNrArAHcbWjReOOISGRaVGck2sOhGrVXO2meR2bGN2p+e7FtDpQjGkBAkl87GfG1Bp0VMGt2w7ydGjJxarTOHzY62kh7DUBs73A/QodQnursQTvFQXVlfI2G2+C4dbNINJTvphgdGqIUI86qoTXVXBpTM+rbqkSVugnsWf6PRFGqIv7KF6IqCURCAO7FV5qB2ovEP54GbceJIyZaa8Wwu76GivuBiPgIuvMpNsQvaGF3IqqLoCxYwIorZuqjEiARGNk09kaoGwoTEVnDDiuSRaozAwRQKwcRAKAg1hUC4uIrS3UIB+t72LqQryQpqnNup07qqzj6BFoTsZXFON6mteV+bjRBL074NgSP+XweRZHvesxK73a7jPDiTdUxlFsIFXmeJkkYBLbUZZYjIimT7mJODTN3Yrteu0op6S4f5jovnlxcIuJsMZ9Op5vNJgg7HNVmCYU0zVzXcxybZyXf+JOTsyAICLIoijabnRByvV7/7W+v4zhV0rk4P18sFvf3934YskYHIoZh2PBkVqtVnucM329ubpQjgiD88uX27g7Pzk+iKEqTvBP1giBgvgp3zeCI/mw2M8b4vs80bmZrLZdLnlrMF+r1evyeZQfv7u+ZOVMUxXQ6VUrN5/MkSRzH63Q6d3d36/XaAv3+97/X2nDcfTAY1KuCGI1GcRwzFJ5MJhcXF6zmYYzZbDZpmvY7/dVq9beH1+Px+PvvflOW5e3tbTfq8M6JaLvdcv+jk5MTvrkcNl6v19vtdjAYvHjxgrnL/LnnBnlWkqHNelcW5rvvvmPmzOXl5c3NzfX1dZIkFxcXLKb28ePHOI5vb29Xq1UURVEU/V/+r/+62Wz+9re/7ZJ4MBrO5g+O4wyHw26/1xv01+v1ZrdNkqRX5OPx2AKlcYIA7969YweMszcvX3wTRdH9/f18Pi+K4g9/+EMURRy83263vu+zME632725uWGpGa7mnN7dj8dj3/fX2839bIZSXpyNL89O8yS9u7vju+B5/nw2Pzk7+eabbxbLh9evX3/48C6Koi+fP43H46LIhJK+70euE3r+ixcv/s//z397evXE87zNZmNKPRmN57MHdl9NqTkPHscxZ5ZOT0+ZyB4EAVdEbDbbJIkdx3n69OmHDx/uvty4Un20H74oxXkGKWWZ5UwkMPPF7//5n5j0r7WezWaj0XcA4LouorQWwjAMAi8IAtd3XNddLtfv338Ow7DX67AwDj+VxpS7bcLKpGEYfvz4Mc9zViNdr9ee5//mN78hosViMR6P+/3BbDbjx4QDhFlaoJK+7xNBr9fj6RfHcYdrR7pdk6VFUQAIs9n6vo9KuoEvUJ0NB1mWCSXefXiPaLzAF5BFURCGIaJghq4lAwDaWk68SCmNsaUuefmhwtQhLo6FH5nEqqcMgiBgxipYAwQWwEopEaTWJaAhMvXab9k5EAJdpYTDXHbLuiJSSl1aAIEgjdXGEK9DlZkFK4RshSQRsfYlCiLS7JIhSV1qBKmEO5tOR6OJLvU62ynlWmum04fRaGRLmj3MEbEsVmEYnp6eTadTKUSv159Op0VRMoU9TXPXdZMki7d3iMhigs+ff4OIbH9ms1mv18uybL1eX19fv3z56uHhYTqddqIeg8L5fDkcDrWGwWBirX339joIApbvRMTJyPPcjtHGGlmW5fR+WWZ5GAZn5ydCkNZFrztI01Sg2myXEk2v10mSJAgCsnB3O82yIgw6QgiBajgc7raJ1lpKxfK1HKYpS7Pdbk9PT+M06Xa7buAbzWpXZZrmAJBmsRCy29NQp1xQCqUcIiiNgaJUykEUiBKkBLKOo7TWCA6QMBqUcpTymlVPSsUrZxVqtqooCpGWQaCU40ghtLGAgkA5nhKosqzQloSForSlto7yQKByvKIot3FiNOSZ3sa7TjcisovFotvvhVEn6nQFCmsIADjNyIk+35VKCSAyuky2m8nJaDIe3t/fSTTW2uVqwdJYu03q+T1jTJqmRa77/b4QqtAmzYo4zYKoo5QgZmhZWyMtIACk6rqkFIioqyo7BQAgmd1lEQWAtcRdnCrgbsmSJQlcMFphZQIA26rKa0EOVsZjEs4eEKCtGgm1wAb/7wCTPA4XHr7aYcoD1tm+DXB1FFO3CWtEDMkitKgdzZyBum9Mw60gJo3s4SYQoWEVWnsAfswjV2R/qlRhyOrzukzRWu5kXKmpMlhux2qPRkDUIWeOuLfQlwQAOFZXZO/sOBnSHuMaytVfHdw7ElWz5Ar0W2sRqcHTLRN61GoDjghF9dFszf9oB+gJq1nExpWaoDuhrWdOazwPD90MAmN31ThqrWsmLjdpLr4djeZ/batMob1Tfs8SRdUlCEIACQLJohBYe2A1IkZrKh4Xk8cscbSGjiZ3+4iPJzq/O3RevwKym/vUvmo4XtsOLqdZu5qhwMPs82PdJea1AwBngTluKgCNMU3fnCAI0BIHD9gox7vddDq11jqOM5lM0BIiclwzz3PfD1hsjpkM84cls4Tv7u7m8/nl5WUURd9//xshJZNkuFm0lGq2mK9WKyXdOI6TJIuiqNcb9Pv9/uByt9s5jr9Z716/fn13d8NQ+N27d9UIIN7f3yMikzoYXTEdhbHs06dPB4PB3d2dFM54PImisN/vrpabldh0u31jyqIonj17tlqtmNbCkoW9Xm+32/m+b4xl9sJoNOLmqewVICIzlYuiGI1GT548yfOcOwty6erLly8/fPjANZe8mVDy/v4+irqu6+6ShMn37Fpst9tOp8MK7kTE7Bo+Fmc8ePSEEKvVKkmS8Xi8Wa2ZEH95ecnYyBhzc3MDAJPJZLPbCiHCMGTJGqUUM7aDINjtdlwSWhWAE2VZ9vr1axZqdBzn7Ozs9PT03bt3WZZBr7/b7YbDIQBcXl5y1Pzjx4+/+fEH5nAz+T6O481mg4iNhuPr16+Z9P/ly5e///u/d5Xz/v17Mpb9kG+//fbi4oJrkTkGvNlslssl+w+TyURKORwO7+/vOcZ/dnbW7/e5YFdKyX15mcellPpye+O50Ov2X758YYwpCj2bzRzpIEoDpEn3er0ff/zNcjlP4yQzxf30zveCQpedTmcyHA0GAyXk2dnZbpeMx+Plct3p9FzXv7x88uHDh7I08/ny7OxECMEuhNb67Zv3xpbsIWw2m263y/BrNpsqpf7+7//+4X52fz/t9fpcL/jw8DAYjC4vnywXaxaMf/vL6//wn/4lDMM3b95wOiLPy/X6FkCwv/Thw2elxHc/fMsKobPZbDFfXVyejUaDTqeTZcV6vZZS3t/fK+k+f/48iqLRaMRmvd8fJElKRK7rLpfLOI5ni7nv++dXl77v73Zb4ahARexge55njAbAxWKBiFz0HO9Sli0yhpJk2zDy+/2utbbQ6fh0sNvtkmSHiB8/XPd70XbrTCaTMAzLMq8Xp0IpVcliaCqKim1SW8gqwkIWrWFTjIXWVS4UkGp6q7G6iiASQE1+ZV/IWmFKLiQlIjK2RERSgJopf761VqMVAjhAoLW1lpuncBFnlWWWEonIaC5LBUSOuFdBBGNMnpVlWeZ5yabv7OJ8tVoDwP3dLM/zs7PzTtR/++bDZDRWQu2S2FqbJrlSSgpnu90GQL7vz+fz0XCyXKw3uy2njMbDSZZlT58+3W63ZZkvl5VaKHtQg2Hv/m5WFMVf//rX09PTPCsR4qIohFCu6y4Wq36/r0tjrU2TIs+0lBI7ypTlErZsQG7vZ/1+fzHfdILw7m42mz388JtvHx4euh3f9/0slbokx1fW2iiKLBlunTsej0fDyccP7xaLh8Fg8PDw4IWOTjMUotvrcQJltVlbID8M7u/vud8CWQiisCh0UZYkUJfGdauKIAtQ2sJxPMdxtSFTFhwmkI5DKCRK7ti93W20tq4VpI2QniUUqAgIEFAAgSJQlkBKORiMkiSRjkKpmAVuDBpjHGU9zxNClSYzhkpts6zQ2pbGkCYiyAptrQWUcZKFQYeICl0SYJGXHNFwHMcCaVP6vhtFAaAVArMs63UDrU3ke+9e3603y2dPLzablS4yz3PKIm8qv4mImaJFrr98+XJx/kSgJCJdQpFrIlkzRkzD/bCtaCV3qALaS/4xREWSRMZaMsZUjHLSRCSArLUWUVGN/Rn5IBFZwWiy8oFrHgUA1G2Y9iCbDlRiKvzwiCDQwFB7CNz5eTTGNAHCNtdF1Pp1jG6qMH+La8EMmTak4cM2YL35vMZOHGrGmjhUYUeLe4+lcuNrXfz6ZIC4yQG0PyRrq/g9T4A2QYgIqnLHXw+zUksCqxVcfozaf5Vs01xd/bcgOBDiRKxI1tXlYBVyBYBaT4ZHSR/dl7bwzsEl4HH0vb0NUeWtNMiciGydQXg8DM3hmnvN0E6RxfaR6ovcc5hEzdloDl9N76bWuOXqta9HSBBCqCopy1THKqOBtHfaqGqwzLeEW9m1KoWrBOt+yLDFi8K9zvHxRT/iSh2MRUMI+6qz+3jgmhoRHgdx0D7wYA8CFeu+cYQsSRIA8Dxv0B8ZY7TWaZoWRbHdxLooiChJdkw4zrOM0dtqtVoul55yAGAwGAwGg9Fo5DjcGtpMJpPr62tHged5zIdmOkFnMBRS3t7ePjw8DAYDx3GyLM91kmclq5izDsxsNkuS5PT0PM/T77//3lqbZenkZDQc9YPAl1Kawt7f3wshvCDgfq4s7x2niet7k9OTsBNprT9+/DibP4Rh6HkBAOR5vlot83zy5MmzyST761//Np9POUallBqPT7gRfZIk6/WaSeRpmp2cnLB8RJ7n3BE2y7LNZsM9U5lGHHU6DD0ZGWdZdnV19eOPP+Z5ReJfrVafv1xnWRaGnd1uZ7haIE2ZeTKZTNjY8aiymgQXIVhrgyAgTZ8/f46iaDgcPjw8zO6nLNw+nU6DIPjuu++yLFsul0qp9Xo9m83OLs4Hg8Fut+O4Pu85CAKQotvtPn/+nJ/5P/7xj73R6Pnz55v1khUnz8/PmRPy6tWroijevXkrhGCpzSiKzs/PeYKt1+s8z8fj8Ww222w2p6ennBzgiD4RdbtdlpR5eHj4b//tv/3Lf/iPRMQoFhC/fPny5cuX77//frfb3d/fp2lqrT07O7u7u/vuu++KolDK7XQ6nudlWcYdeTnS7/k+AIAk5MjxePTk2bObu9skiYui2G52iPKbb75ZzTfW2l5vsFotBoNe6LtaF0KI3/zdD0Hg/eUvf+GqjOVyudvtvvvuByWklHKz2YRheH9/73neixcvRqNREATT6fS3v/0tIr158+bk5GQymbBP8vzFU6gCyWa5XD48PLx69UpK8ebNG6XUf/7P//m//tf/yrNIStnrDT59+hSGYRj0er0BG9lPn67zPL+4uJpMJgD6yZNnv/zyy/X1TRzHiJRlWVnmq/9zeXFxdXFxFQadxM+IaLfbJUlydnY2m2VJknU6HU59XF9fK6UunzyRUnJprDHG8zyOmApHse7NeDwejUZE9vr6mh/VzWbjOM5oNBoOB/N5hd0X89Xnz59ZOokImf7R7XYtUF5mUiKA7nR8pU5ROnmeKwWz2UOWZaenp0EQuK7Dhbyu63Y6nTAMecD53NI05cKYxlwzM5gHUwghJK+XlXk3xqAARJQIRltAy2u/Ug6CNKYsSy0lIqLRRGSppG2Suq7b77tsEY0p8jwn69im+byhsiy1togohQNYEJE1wB8SQVEU8S51XNmJelmWrVYbY4wxVC3t0vny5UtRFMvlKoqiJMkvLi973QG3XyADRMjhj9PTU9/3Gc+VheEpp22VE/uwfndxcbXdbhFxPp8LIe7vbx3He/78+fX19XA4HI/Ht7e3xlguA92u10VRXJxf+b7/Yf4p3cVaG8dxHC8aj8eLxSJN834nevP6vTHm6slFkmV3t7PBYLBeb4uiALR/+uNfgsBPk12/37+5/uK4IIWQ0tFau55abBbff/+9FOHDbJGm6ZMnl1++fNntdp3+6e3NnTEmiroc7LBkLi/P3759yyIquzQ5P7soddWIOi1yRKxqVcvUcfxSW9f1K9xoEdCaun+QMYblAuM4UUoiIlmQCotCe65TFbOiQpBAAkFK4RhjUCgpHFHrkTN1AMrS90MLaAwZC8JyWAqEENaABS4yVkS0Xq/Pzi60SXVpXNflhHOWZYSCiHzfN6Wmulk4gHUcJ0niNM8QcbmcX5xPXKV8t+O7zjSJuV1gv99Ps5g7HnDoR2sthGDJIAChS6ucCpxUCJsYFTUYWotaoAMRiXX7iCSitaC1ttZwDorj7gzcEdEKIe0eEggBDeZpY6QauEObGM0AzbbqMhukcARPWnC2RvB1CSmfD9WIZc+8h+p6YQ8N97ASsY5C18e1Ve8wVjkUbAfq2Pee495G0jW45L1UEUqqOl0e6NUcHHt/IfvUhLWGFWyqU8WKM1OtXF8bDWqFYqmmd7eD9ESEKGo/bQ/roYJ//EPdXEjzFdXUKaz5680+BVgkibauyAcAsEBgjxpLUZPZOCTZP0Lt7RdWpcFEh/ef6hbO0NK3aX5S39CqLKGKuCOitUgAKKrpxa9KbKg125qoc5VRgkpaESoyvm6uRCIJFIKEILBkhQCpBDPJWNzRkgWsIS/3oKvcDmWKEoCqqD9Uri0AKOkaY2pVHg4W1ItNVUq9V4pERGPK/fVbztgQABpAC0RYCc/vJ7qsPITmV9Zaal0ytB4nHjqlhBCy2QMPq5RWSEASWmvP8YOhn6ZpmsVrY7vdbhQEw34/SXa3t7eItNtt490mz3PP80aj0XA49H3/hx9+yLKM0c9yu+kLnEwmprSf3r8vy/Lp8+cvX74kolLnJ6djbYrXv7z961//2huOLq+u7u7ujDE3N7dMvPY87/LpE9dTruu+fPmyIdbP53Mlu58+ftls10WRnJyOPc+7vv7iOv7LVy8G4wERMUv+8vJJkmS3t/faZGwoWWHt+bMn8/lDmiae56VZYalkA53nqdallMDeSFmWUdRlzRbGlzc3t71efzI5Wa1WNzc37BEhYq/ft9b2B4OiKIIwdD3PDwJLVBQFZzDYneByz9PTUwbW3e7w5OQVIWRZJgSUZS4dbzKZjEaj2Ww2nU65mrPX63HGgLXhh8Mh1xsEQUDG8D71TOdp1SSr2+1++XKTZbnvB4gohOx2u+Px5N27d6bUrnICzy+yHACSJCmK4s9/+insREzpCcPwH/7hH6JO8P79e+WIk5OT09PTX3755f379zwO0+ldGIaOp2azmXLlxcXFdDq1UJ6fn59fnnz6dO15HkuJW2sfHh6Kori8vPQCP+p25svF2fn5E8e5vr7+5tXLsix/+svPZ2fnRLRcLk9PT7fbbZIk//Pf/pCXxQ8//CCE+Pz5cxynZamvr2/YmdluY0S0FrKsACgmk0me5yxos9vtnj17dvPljojOry5fvnj1p5/+x5PTi5PJOQC4rr9ebdOiGPlez+vd3F5PhqMk2WlTAljf93//+99nuX7//j0r1n369Cn0g8lk8mH3YbVZD8ejN2/ehJ0oz3NEdH2vNLrb7Ubd3t39/WQy+uHvvn/3/u30YRqGfq/T11oXRRHHMQvOoIXXf/2lePnN0+ffJEny4dP1fLmOouhhsQjStNvVYRieXZ4xevjrz3/7+OHT5eXlj7/9O8+DH374uzhO76a3nLS5uHry+fPnv/71lzdv3o3HY9dThmxvMEREQ3D15AVLfPb6EhHzPI/T9PW7t3xHLi4uHNfJyiIvjRv4Lrpces5irN1ut9frs09ojCGCu7t73w+4w9R2ux32+uv1Ot3FXLISRdH5xVmep2laal1Yq+/upr1eT7pOt9MPgsjY1PW8KOoA4G69SYs8juPZ/OHq4rzT6cRxjIjT6fR0MkHEwPOyLOtGEVtvdswAQOcayBTGsGwUQ0BRL72IyFH2NE25TPzVq1fWmOUiTZJkOBy6rrNc7IIgWMRxFPaK1G6sZZeDrWWRxsKB5XI5Ho+tIcdxytIi4mYzIwODwSDLMtf1yxLW67UuTa/XyzK90fnnz58Y2yGiUm5nMEx2hdXClOg5oTUiztPlfJXn+Ww2X6+3jczrZrNh0gv7Ua5U29U67PaIaLPZDIfD2WzGHcrSNPW8ABGDgABAELjCLdOy1wvOT8663e7r1693iHlJWuszBAOoySJiEEWr1WqoPEfgxenJ69evN8sF2+rbm/uM6zGINpuNlDLwfEEy2ep4W2axRXQAzHA8znUp2MWxXp6X1qxubj95gZuXxS7ejcaDPM3CwB+PhvFuzRPMkWrxsEzTnOMao9HIWF2WBYBdr+boeC9evFAOZOnOD0MkbY3RRb7eLKVUYRAkaVpmBm2pPBcAtCQylMZZEAQofUNaSqWQhOPmaYpkEUWujfL8fJeYwkgpQTh5aVFT1+0SUZZvi6JwHdMfOsZgkVtrKfBUsksAwIIqTGGNMBqFI4DIUarIY8eXQmKSxt1OL+p2XN/jZ3k8HG23u263m+12pkylAKNLXzm5Tn/44cX/+B//ttksO53QcWSapkC4Wa2jIPSjyHE8RPQcu1qtOlGf4xdKqdKWhS4dxylKcl2PoCBgvXCimj9NFixaRME5HyKhy0qsudJ+gIq4W2WMrC4qCoMRBqUQ1mpHKiEEKEmHGXskAFsHTauvKh9Gk1XApZjIZZp1i5u9BmUbhDBKNHVPGAAw2hhtmsI8PluslZeYc9IASl4oiQV8YK8s0qKUo7Ul961rqkUrNFmLtYMlixxyZvBDxpiK/91E0wVZq4/QJyJKKS21r4hkpbyJQqCpNem5vhcBJAp2wJpLQGZWAwkyVPcXAqiK6S1Qw5w5+JCEqKolj7rbAlSxaksEQv5/6frP7kay7EwY3eec8A4eIOjJzCxfXWqV7ugdrTX/fD7deWetuVK32pbJZBp6eBPeHXM/7ACIrNZwSdVMEgTCnIh49t6PAaUUoFhoz8ABgWLh3WcRBYJSBurz4UYjr2+Q6i5XjkrJd5uNGHzXyN6xTg7LDCklAUZ3TJk9b54Ckc0ZJ0opodCM52X3AQBbIYQwIRQhoO2PJjmQS5P9EGFnvruzRFUHCF42AgwpD48RA6LYy+YiDH75LyAtXhOCHy5YRdDbXaGIYQ+UVYPgX1pHlH42oxGf984Pt+fl/KmX/yqJHafPFtz+fQ6PFH4Klij77dn/FWMv5gmwU/4qpYSQVVWDIJxzISpdZ7qu60bAa5mnqdluc47G53y5XHZa7XC7RoNn7M9JKQeDAQaF6rpu6DoGDykBVVVtVuswDM/Pz5HwzTnXDKsSXEjRHwzCMMTYmqIoy7KUBKI0yT988H2/qiop4Pj4uNfrYc2xXM23UcYYGQzbWRavVkvX9brdrmnYhBDUdFJKt9u143hHR0ePT7dFUSRJgnx3zMtE1nueoxujLqWcz5ee55im+fr16yiKWq0OMm0sywKA5XKJbB/cBnxgoy03OqYjLzlN07Isbds2DAM9RpAl3+l0MD1USoks8yRJRqMx2hqiS0mapmmadrtd7GFjX3k0GrmuOxqNCCEIWV42QCn0GkvTlChotVpHR0dlWWIGUJ7njuMAwHa7RVBelgUh5OLiAt0b5/M5lhaKAHb08WXHJ0cnJycfPnw4OznFU0kp/fTpk+d5p6fH0+mUELLv3Z6entZ1SQjBqcJsNquq6l//9V8Nw7i5uTEM4/7+3nLs8/Pzy8vLxWIRx7FSKs/z09NTx/Fub28vzs6Pj4/LssTuVJqmNzc3f/zjH3/88cfXr1/P5/Nff/0VmTm4Qnq9HpbfaILebrcfnh6n0+lgMLi7u+Oc15WIf32rfU0JMMEV06SUcrOZtNr+JgqXq3l/0KKUlmU5n88JhaenCbLMzy+uLy4u0BeEEYrP1/Pz87dvb1DasVwucRLy/Pz8/v37o6MjpVS7Hfi+X5b5yclJXdd4YK+vr9M03W5DnLSgJHe92iI/CvMHFotFkmQXF1e4uqIouri46na7v/+98f79+ziO371753ne6elpr9+fLZrDTintdDqTyWSz2QghWp32+fm5ZVloIWroFppXEEIMw5BSxnGiKEFVw8ePH4MgQA5Dq9UaHQ3w5qDrOnp3fvz4saqq6+vr9XqN6wGzbF3Xnc/nk8kEdbe2bVNK4ziO3r0TQihF0MWfUthu17btjo9OfvnlFwp8NBqVZfnp/QdKaa/XJRp7ff0K+443Nze9Xq8sy1/mb1+/fq2UWixnoW1fXl4KIcJtrGlakeVFUaA2Ccc7q+UGAMbj8WKx2Gw26MwTxrGUklG93erOpgte18vlsizzzToej8e65iwXWynldvOk6zoAoHQSE7622y3V9CQueb3GVWEatm3bs+nGse0oeuacW6bd6XTKgodhuFqFQgjbtjudHt5jcQp3f387Hp9wzrvdbrvdXq3XP/38N9PS+/1+kkbOLs4Zn6CapqF/KH6irutllnYHQ7zVHB8fR1H09PRkmibn8uLiIggCnPi5nh1uY8dxsNt3dHT0/Px8fHyKI7V+f4gOVwSIaZppkd8/PZ6enuqWuV6v2+12mqbD8VFfZwDgus5wOLy/vxc1x3UVxeuyLP3AIrTK8xzK2vftvKpWq+3Jydnjwz2ltNPplWXZanWUAsFFt9sjhMRxzBjVdR2njp7nEUKwG5KmaRTHmOw2PDoSouacm6YtpUzSrWk4UmE/nlOqEQAhhJQaA1IJznSNGVZZlq2gQylVSgMJlLIojBljhqEnSQKKKEmLotop+ytdN4uiCOPEsixNM8Iw1nVTSMo0nWpaXdQKaF5UdV1j75/XdZIkiFc0jW6329HxYL3aNHSjNHNtT4KyLGu9XuuMgqSUgZSSAcGIoCiKunrb9/3VatVtB5zzMi8AoCxLpVRVVZZlaUx3XVitVlh5+r4fxpGhm4JLjQFjLIlTw9EBkGlNkMhMgEiQtGnxKr5L9NtT1ffPeqmkwLE455UUFABAUiDAGAMqyWdyzJdm8O4tAHZ5lHuMJKWApjWrKNtPpWDXO9/DmIN/vtAq8DHX0NbhM1oEwrYXaHXQkd1/Lz/Xj+43e4dkXqoFtUsyVmpHUVdqV/YgsNntRfMnL+LDF1ykDuhDLzOBzzJwlPqt9eLOD7x5s6YBfrCn+KqXfXyJltufvhdZ6q5jffgO/GWr//GLSCo/MxTZQ1xC1N4R63DflVJEKUleXgyfI8Pf/OTwV7j9eGj3vzos3va7uSd6/waT77+0l9VzQAqne80yTosU39Nj9qid7UoWubNKpJTqlAGlL/UdIY3pu9pNGnbTGyGEkiBA4bxG7fj76H6Axcf+CwDtIwn6vispsWpjlBCpwWdLan+k9ke5OZP/KLfdL25CyOGCai7jg/39DXBXSilV4fXWDIj3h1GRPM1AUU0zOK+LItMZQ0NiAKiqynXtxWJmaLqh6Qhw0Z3DNM0wDOu6xo5RXZS6rgdBQBnTGKsroVHa63QfHh7uPt1KUJvNpuLSNM1Or4tCw+FwGATB+/cfirrCwFeEjEVReJ6HEU7z+bzX6w0Gg/OLsRAiTXLLstrtXlVKAKokWyxWmqaVZWEYxsnJCd4IkiQ6OT7bbrd5kaLx8NPTk2EYg8EATd8/fvyolNJ1XdM0ziXaiguhCCFoxJ7tvlCbi3GYQRBguke/3+dCkJ2J0nq9RgrHer1GJRkmnqLOVSkVxzE+Jrfb6KeffqoFH4/Htm2fnJwkWbFfq0hDL8sS7QjxUGy3W13X8Z/z+RxXuOM4200kao4EMt/3oyjGN0HpMKonTdPs9ruWYxdVSRg9Pj0xLHO9XlOtyYFLkoRSulqtFAj8pshydNzHpmYcxzj0z/OcMTYajRaLhed5rmsjx+mbb775wx/+oOv6X//616+++urNmzdPT09IvdjXrljhlGV5c3Pj+y3G2GQ2PT89I4Rst9vT01MURC6XSzwCpml+9913P/3002q1AoA0Td+8eeP7/ps3b+bz+Ww2Gw6H//2///f/+T//JyZGjUYjTdM+frillGqa8fj4eHFxYbuOAHV7e0sIi6JNv+tHm22mJWmaer4btFuU0l6vh7yXp6endrt7NBwhvTVNUwD48OEDum0OBgPP846Pj9+/fz+ZTDRN6/e7KHXYhptut2sYxna7XW833379zfn5RZ7nWK35vp9npWEY0+kUwzW//PLru7u7PM+xulNKhWHY6/VOT09d16WUGqY+n8//v//rfxmG0e30a15isYQkit/97neO45R1hetESon2L3j0UH+CtwUMOsVrKooizrnnBr1ez7btoiiwFkVeU7/fx4ixo6OjNE1Re20Yxng81nX9L9O/1HUdhmGWZUdHR+1eNwxDBGrDYX98PBoOh8vV6j/+4z/Q/ca2zeVyGUeR4g151/YcVPqGYYg5Vv1Ol2taHMeaps1ny3a7/fHDra7r220ouej1ekVRonuJZVm3t7dYMCPkchwHzctRMq6Uenx8JIQIbEQqfbWMwm326tWrOMoGg8G6KOq6qOs6y4owDIVQg8HAtl1Nt1bLbRxtdV0vyzLP55ZlvX79+vbjJ2R5zabrzSZWSpWFKIpC0yEMQ8tssHi3187zHOOBkiSJ49DzHCX5rjZL2u02mgDiVYlbbts2etQ+Pz9rmpYkyePdbW846vV6URQdHR1hiZumKZYujLHtdp1lGaZSJElS17zf7wshnp8fbdvF3ofvt3B1OY7TbrfjOP748b1t24SoosgoheVyPhwNJpPJo5AnJydHR0dFlu9yjpSUoiiKvIi4MG2HmSYrsoTzqqqK0Wg0ny/jOCbAMKJufDwCQqM4FEJ5viskZ7rW6XU918+yjFFNClXkZV3zMIyEkKenp4yQNI2VUhqzCBWaTniVC14BUF1nlNKq5CWUhmGAkEQSEFIJ4JwTSXTNAJB1VRdp5bpulXNeSsWJrKXv+FlcSADBiWmZCjgoRkDXmAVKW6+i4eDE0I2yEHle2nbNuVytNnlREADXs4uiIIT4gVuWuZRSVOL+9i5Ps9PjM85lXdc4IFKCW26gBDdNE3gteMk5z/M0SRLT0o+Ojn7++5/bgYfj7KrijmthJtRoeFTkSZZlyAcDoJphci4p1TQNieiEECa4UnT/vEZYgv+k+0c53YnQpETlptxLDLGdIaWUnEsAdJCmhEgCgkoiiRLQdKZfwMaBAlB9hsNwMTSvBGyDCiR97F9wCBmlbCxYYYfOX5q+khBCKD2wnpQABCR8xlZHXPRSVByUGfhPtottUgfQEP+3OQLYRG1AHTCGoweK5j8v4PIARP3f/NQBqIDGs52gW/kOA+9wHf0v/FheIBZ+Q/a261K9RKXu3uv/Lnr8nHMCAKAoBan2zv0oIf0cEGOQKFoikoM6Qh6cLwCgCvbZUr851Ltj8hkuhx0bhcN+eLFDmwdRry+o9eDPfwPZ8efa/vP2jeoDGKpk0yVvVg+lgO1JJZoFxEWFy4tKyhgjGsZi7XZDYilHUBCAl4fEcQCXSikBREmiFBFyX+vgyqCU4qyn2RN2EBBw+M0h4ezzfUMYjRcfvgCUUlQ20cZKKXHAjWG6dlj0wAGV//Cbl6tCKgCQhOAt5kUHQzVKKSjazK04q6oKe4RCiCxLiixFDIcz4jSKGZDxcEQIMTV9NpvF21DWnHNulQUAoNW0xgwkx19dXEpQcZy2gs7zbFrW1YdPnwghOr3xfb+qagHq66+/RssttADHtk1VNiwRXdfRcdLzgsUiWq3uBJdSAufStlyhksFg8E//9E/jMXl+fl6tFxg1P5vNNE3zPA87/Sh8fPfuHQB0Op3BYJBlGbJ1sfGMDgDIc0BAQAhtt9tZluChwJF3HKOVr+j2enhLvbq6Oj8/n8/nAM1iu7+/T9N0NBqFYaiUwqZ7UVQIZNH+8unpCQAsy/F9H92eXdverFZ5USil8jQ1EU+kKSPEcxxGiKhr17bxEGFJEBclJrl0u13f99HHE+sKtKEAAKHEZDLBLFK6s8RBy87j4+PVaoWtoH0SUJakWAk4jnNycjKdTtFOB43MW63WcDh8enpijHQ6nfv7+9PT83/7t39jjG02m0+fPtm23Wq1kiQJ2i0hBO7m9fU19mvrun7//iOKTe8e7jutdpqmt7e3V1dX33zzDbr0cM43m41S6uLiYr1eU0rDMMS82D/84Q+IZv7zP//z9z/+048//vh//s//YYTmaaZp2vXVBQCIitdF/e7du/6gm6bxeDxq+8HHjx9ns9np6WlZ5icn47zImpOuJFIUGGOzyXQ5X7RaLcMw8jxP48Sx7KooW36wWiz/+ue/eJ436PWFEKvVIsuSPM8vL88J0MfHx+PjY0xR3UahRjWM8Xr16tV6vfZ94/n5GZncnMuHhwckqGia1u12wzDsdrso6n3//n1ZllevrpCOiWWMlFI32PHpSRAE6JdqWCbSWpBYghcmCnzRG1TXdcdxqa7heUehNpKLNE2zHROV08i7TZIES3Qk9GO1iWfc87y///3vCAcJIYvFYhOF33///XfffWea5mq1qupiPp/3et1et/PlF19Mp1PPDcq6SuKQSNUfDNCj8/bDp/y4YIyi9j3ehkkYEULyPH/z5g0hVCngXMznC51pSZI8Pj5/9913i8VCiAiAYLKE67rv338AgCAILMsipGFCu67rul5ZlhrV4ji2bSdJMpyBGIaVJJnjeGVZJkm23UadTsc07e02ms1mntuq6zqOojiO8YAUWblZbeu6zrKMUjoY9DabTRQlyNeKonVRVHlWdrsDADWZTDgvev32cDDGhN2//e0vyN1Hm9HNaum6rmnqOLbq97tRFJVFRolqtbuUUsxsjqIoiyPPtsosz5P06uoKAIqieHh46PUGtGE5UiHrsiwty8rzrZSy1+vFab5eLynVMKJL0wws7JFXjferfr9vmuZ6vR4MBiiV4WX17t27fr9rW9Z6vR6NRoyRzWbt+ZZlGWmaMc22LMfQqO+1CCFC8qIoqoobuiWE6Ha7gqvJfMI0UlVFXdf9fhcF2bwWeJtlhm6aJtVYGIau62JN6ziOlFwx4VhWXZdhGJcVtW0XlFRCKRC8klVRAiWOYeRRppRaLzeuHxiWpVGYTeZJlidJNhqNGNMFL8qCo5+SYSNdnpimpZQqy0oImSSpZTqUaFXFy7I2DEtKcF1/vV4XZWaZTlmWeZHqus7Aq/Jis1oMuj2NaAYzPM+r63qzWouaJ0lSl7mpa4yCpWvEMtaryDZ009J1gy0Wi8Ggj8TF19evdL3QdV3XDCmU7TlYIW82GyFUq9UByqqisG23yLnv21KoWkhCdClrpT6jBiilhFBS1ogikMMJDS5QjOx6vYQQaCpzQohs8MPL9F5KyQHYDkS9YPeDDjeS3dFgQx3k2xwidXlAUleff+0/aP/KQ3i2x3D73wIA9oz2uOU3YHH/Qb8Bf3vYQz+T+SGlBGuR34JOCYocOMbswZZqgkebLynkDpGDJIp8PkDYfRZFgS6APMxCennLZmP2zJlm80gDf+mu3d5Ibw+PzOE2K6XIQcAW2e24Ushl/w0mlkQBodrLdijxYhN0cKLxtwwIAAj1WeHxAu5J08ujhCrAk4V8kybbutnIw/3bl3DQFGCf//xF3qmU0n7zqftvGKMotZaK73cDAWuznsgOy0oFAEIJIJJI/LkGVHEpJFUMuKQUGHKKJACgSEVwKXF6JUACUZIAEKmaXJD9FGuHk5VsKD7Y5CZYTKvGIpLsi065+6IH6WXNIRCSECKF3C8NLNJhR6XaXwCH9fQhcD9c6zjbklKi0hF2DDOBsUpFHUURVaDrum3YjDHHalzYlVJCiMVisZxPfd9HjwIMvERXcmS3I2GjEtyyrHa7zUv+/Pj49PAoamnaVrfbFUJYlpWkObqkLzebKE273e6bN29M0/z17dtWq9MfjLrdGvfu6XGC/WBsIvpe13VdJWmaFGERYntS07QsZ5zzKIqOjobD4VCBQCqh4zjY1mq3uoQq13UdxxkMBijNJITO53M0ib+6usI5+Hq9jqIIe6UYDovJqYi/e71eEAR46JIkAUJwGxAKI3cc3fcAAM0oEWChefliscLep1LKcRzLcnCmrJRCq/uvvvrqhx9+ePfuHUYSIp8HAPAEoSm47/u7bNdyOOz1u726rnGei9I013WXy+V0OkVkVlWV5VhY/BBC0BQcV6nrusjwQXJFVVeEkMFg0Lp+FYah53m4oq6urtI0vr29PT8/RzlsEARSyqenJ9Tpvnt/c319je18y7F/+eWXMI48z6trUVX86urV/f393d3D7373u3a7vVqtsFeKSkpMr396elqtVv/6r/+K+4XsMlRz4qJijN3d3XW73bquR6MRAARBsFwubdNq+R5qRm9ubrrtDnJadP3o0/2nn37+2XGtL7/84mg4LMtyOp0ul3PkI8VxrOs67n6apnmaDQaDXm+ANpdYe4xGIxyn/Pzzz3Vd47YlSfLl119cXV3c3NwAwM3NDYoQirw0TB356ITSOI7RF6jT6Tw/TTFHablclmW9p+vgpmqa9uHDByGEaVie561Wqz/84Y+GYRACuIVUY2EcbbYRAQmUVLweiuHJyQleg+v12vO8VhDjXAhJC4Zh2LZzMj7CHKgwDNGJfzFfocOmYRidTieOY8zYQrdNXPxY+OHiwRuIxjTP8+I4JhpzTHO5XEopj4+PP378SKiilPb7Pd/38eROp1OMDONlhbIKLHp/+ftPnX7XsiyNUJQrHR8f+74/nU7Pzs4+fPjgOI5lWeFmy7k0TfNPf/oTgER3I+waOI7z5s2bv/71r2EY4gYIIdABHZ3vlUDOa7fXay0WCwDZ6bZxuME5R3EzXq3Il5vNZihAt2xdAa9rPhwO37//lVBwXTdOIsc1R0f9vEjyPB2OLrs9HxRZLrer5dJxHELVYNjt9oIyT8KiUJTYjjX0BzhZ0pgexzEuAORWeZ7X0LQI+aHT6fc6WFojLseUg+VyuV6vMbphNBo9Pj622+0gCNCyczKZYEOB7sIlCCHn56c4WmGMcM6Lori9+5RlWbfb5aIuq3Iw7KdZYtmmZVlB4EWbbV2LPM8F571erygKVBYJrvI8N0zS7w09z5Nc26zD6fSZscYNxu3YWNFVJRdCmETfKyUsy+Kins1m2NmRBNI0laDQiwykwkJICMH0ot3uSkGKPLastmNpitdVXWvMFETWvAQAQ+tVFOqiZEzGYaTleafTCcMwSYu64p7rm6aJYRQA1Pd9SWA2WxRF5bpummVKqVarJbg6vjqtKp4k2WazGQwGZVkCSNd13759+8MPP+A6z5M01kM/cNerRZamnU5HSlmkmWVZcRxva95utzPJpahVLQQxLNOo8qw0GSNgWdZsNr26OA2CYLPZrFYr7JgkSYQPrPV6LSUYhoVZTryWeVZqzFBK1TUnGkM4oBsou9xjLAJAlOJ7djhSrYSoCdEYY5SSFzsNQjVNo0RJKcmOD90APvoP3iCfI+NDqC2VbOyVDjkkSihFkIOxi259eSv5wjduGC+HqF2pz2Ac3SUuyReHjJefv3zuAY7f/1d+rm2FF4C7Y3gjTfzF5+Tl54oAVS8fd/gO+z2itGFAiB3+BAIHG9kIXP9vPXKAvaz2BY4T0nTZ5QGVCPbO4kAJIU2n/MA3vUH5VClFCZFYdeywLyPkpU8NjVzz5WgcHBm+/4h9DYT/c7gZ+OPdRyNW/K2V0MERaNrKsjlEdP+uOwz6MgY42J6XUooQoqnPazXYtd4FtmGlAiIPyzJCFQElhWjIRtg3B1B7G1QABQeOO1IQQigDRXc7QEApxTGbQBKlCDLSsEZhO+YJOSCiAADaluHmYfe9qU6UUOpl9KOUaso49fmqbWrgl/HH7s/32L85RvtFRj/zWmqOzB7T77UBv7k2yrKsK1HXNVUEvQKzrKQMRF1pmoZPmjxN8zxF02j0+NtnkWIsnJQSKbZhEiul6rq2TKvlBx/LcruN0iyjlHqtdl3Xw9GoTelqu8GjFQTBdrudzeez2SLPy06nY5qOlLIoCsKoYZmtTvvo6Mh1XSWgLEtC5eXVGaVn7Y5fFFmWJ+3gWynler1M09j3fUO3VtnG9426LtErcDKZ6LrOxoxSyjk/Pj4GgM1mE8cJYzRN09lsNh6PkyTxPM/3fSkl5w0mkFKiNQqlFF2Tu92u53mUUmxVotsGvhIBHz5HEcdEUXR1dYUcVkII+ma2Wi2q6QDAOZ/P52jDh24ko9EIXxMEAXJ72u025/z5+TkIAtd1t9stkuABAwoUYEPUtu2yrPI8x8KDUop0WCFEHMfdbjdJEjSFwMcwskHQlDPLMiGE7/u4hMqyvLi4MAwjSZL7+/swDF+9uvr973+P1hbn5+e6rl9eXsZxiGN9x3Hm87lSajabvXnz5vj4GM3voyRJ81wzjNdffJHn+XQ+V4QwXVdKaZq2T8UyNB0A3r59++///u/n5+eLxQIFFYSQPM8Nw0BqMgDgbOTx8RGbykmSiJp3Op3tdhttw2678/DwsFmuXn/1NVf19atL2zPSNPnll1/Go9G3X3/TabXv7u6enp7G47HreKZlNDIvqfDEOY7zww8//OEPfyiyXHJR18LzPMbYt99++/PPP3POscL505/+hCQZz3NWqzwMQ0LIdrsdjgZCiE+fPvV7g7IsDV1HEUir01YEgiAYn5wqpRhjP//8s+M42zC8f3zQdV1jxtt37zgXQoizs7PpdFoUBXqwaIaOMUzb7ZaLyvO8q6srz/NwdJPmeVnXxXpNNUNKidSRosgfJ8+GYX66v/viiy+wiZ4kCZq0KqWyLPvb3/6Gdu9KKTTd55wHrmdqOk5asBNvG+bF6dlivnJdlyvZ17W9C+poNMIpk+vZt7d3vuMCwIe3HyzL8lpBlReS0qenCSEKvU0JIWWWa4QiYQzvM2mabtebu7s7SlmSJEiSubg4wZLVNPXn52ekGL158+bt27dnZ2cXFxdJFGdZZhlmkiRlXlRFWWT56elpmiWPj49C8qurq5PTo+Vy6fm2UgKvF6zGn56e0HtRSkmIsG3dcRxKNdd17+7usjw+PhktZ3PPtlzLjLebKs8c0zA1dvPrL2dnZ1LC0bCrRNlqtbbbFchK1nXN67xIhRDb7TaKtr3eAO2Der3earXK83zYHxiWSSnFaJ7b29uffvrpm2++4XWJVzS2bNHIVddZVVX39/fI40qSJAg03/evrq4eHh7yLA+CQCmZ53mSRp7nSSkxyrrTwdJr6zgeztPQZLaqqrOzM9M0n58fUfCD9rtKck2jVVVJVQ/7g6LImEaPj0eO46zX28C10jR1HKfd7q6Wa0KI69pJkpRlyphe84oQDW+VdS1wmqdpGt6+JIGyLKnGjo+PTdMsikqjOgolGRDOOSUaIcQ0mMaAi4KXtTIUrwWnGgDUdYlGusNhNwzDJEtt09I1LUljBXK73fZ6PXQscF03TWNNMwymUQWMMUpIUZZ5ljFKQaosSeuyVkJWRckYCbfrcLs0fVfTtCSJ0jTlVaFpHZ1pruvc3NwIIQBkVebtlq9rrU24rXnp2qbidVEUoLjGQMg6DreU0sfHxySMkGDGqxovyTwvbduuKo6xaMiudF23KIqq5hh17DguMCqEoEQDUFIoAKkUEIKoGyhrOt9qZ9ENuwawYRgEBDJYpJIECGOMEvTuQDxAES2gtQbb0XfxHWgTJPnSN2ww0gEQRaQOimGrcffn8iBJ9KU9rHaZNnsK+/7j0L/1EAUicD+EhodVBCHsAFxiC5wQApTCbmv3wBcUHq/PmQtyJ4nd/ZAASAGN4SB89kUJkfv2pcIIJoFvuy8J6AErHe2PCDSN6f+CEyKlBKJBEy/wj+yX3VupxmF8v0n7A9JUIyAQdBJKFEiAxg7n8N0a4nxz6BDX7Qk5+FYSVwIeyn+cERx+9Mv2v2Qc7e32Dxjz+Eb7t/2v+DCff/8Zl1vbn3t1IDWQUjYmkJRAo39o2OcEJNLflVIgpKTIEwP8LYIbtdt0pRTUAijGqYKihO5Su4WiSI0SCkDhXYgRwhR7YejTA/8mrdFENwTH/Wtwm8VBeivZwXDYXQ+s4fooANDxQxGxN4sCofxLQbN/f7ZLm/oNiFdK1byxl3o5E0phN7fIE142v0VoThmA3Dk5CNHptBzHMk3z9vZ2u91ixGa73SaELJdL1ERinxt5OHEcpyrVdf3HH38M0+zDh0+z2Wy73VZVtVwu/SDw/eDk5IQQUlbV49OTlPDNN9/srn9RVVWe52dnZ0dHR1mWYWeX1/VsNomiKAgCw7CSJKmqwrTM1WrheV673bYsCyGCrpvz+VKI+vT0FKml7XabEm21Xuxd+aIoGo1GnU6n1+sCQBzH6HchpTw6GuOjCP2/UB43Ho/35YpSKoqiJE17vR5OorExX5YlygqxQRuGodjFRmBfCt0zkRuDXU+0Rccl/fj4iL4TOJ14/fo1ThIwsjSO4+12GwSB7/uICA3DEIQDAHJ76prvjXHQaN91XSllLWoMQ7UsCxEMDjFwTtLv91GOyTnHbj2vaqXU6empYRjoxX53d/f69evXX7x5+/btNgqRp7vebuq67vf7m02IAwG0+ySE4Oh8tQk3m81ms/nqq6+Qoo1ddszN9TxP7ej4m83G87wkSe7u7lDYisgeJwlxHKNIFNuTTUdT05IkMXVjPp9fXV3dfrw7Hh0pLp6fn0Fnr794RYD9t//n/1ks57/89e//7//63z/+/p8ppci/x5hVz/MkUYZhTB4ncRzneY7P2uvLqw8fPiil5vM5Mux7vR7KKKMoEkIMRn0A2GxWWcYuLy/zPEdw/Pz8fHFxgSJsbApWVfXw8HB6djEYDAzDaihkmvb1118jBxrd/TElADkhs9kM26tVVQEQzMnCsxBG5S7JS59MJmVdF0Wxj93FilEI0ev1Hh8fN5ut7/v//u//fnJycnZ21mq1lFJpkmMecKvVCsMQe9W+77uuO5lMOkFrOBwioYJSWlXVx48fdV3nINIyvbw6d1236RAzJkFozPT9VprGVZE93t2vlhudGbwSRGOr+YIAWJYVbtbb7fb8/Fwz9OVygdKR2WzWNF+kEkKYtmXbtqhrrI2Rhb9cLhnzzs/PJpNJnuebzVpK8csvPxuGAUq5rjtfzBzHCVo+F7VUglDAIxBF0adPn/I8xbiiVqslpQwCr6qqVqs7mUx2Bv9VHIdCCNd1lSLoRYMFNiZGW5aF9PFWq4U2rw8PD0EQfPHl9dG4E0URkEIqnuWJY/tlySgFy9CYrnNeKaXCMEQnxziOozgcOaMkTbbb7cnJyfX19Ww2Q1bJ/cPTeDy+vb3FshmHSwDCdd2qqlarlWEY2+0a7+e2bYOiaKPZ63UVJUVRbMO1Y3uoqcDbURiGg0HfNHUhhBD1+/fvHMcZj8c4nEnCKC9Sznk7aOHtpdtr6bpuWe3NdhVFCaHcC3RCiO+3UBZpWgbnvOZF0LJHR18oRd7ffGi3gzxPkyTDXOT5fEka+EgFqKIoMBw6z/MozIA0Yg9NE5xLCdQwDN0gVZ0R0CkjRAoFkjFS13WZZ1VW6oy2Az9Ms/V6zRgZj8cPz09lmZuWoRtaUeZt1krSOI7jwAtsy0jTdDmb4v0/FbzluWWemqYZbdeiLqfP971ex9AIUbLX6yGBljGyjqLhoFfXbDQYPNw/FnkupZxLyRjt9XqGpm1Wq07geJ4HShi6XmY5pVCWpWnptmFUtv33v//98vIch6t1LfI0I8RG7QpOs4VQdS2EUEwjhJC6rpM87XZ7eLXuWs7QAPemjU0FVxjAhK7q5AVNKkIIYwSAgZQAilK2Z5kDNERk2kA/AmhNt0NaO6TRgPhDAEfRrGTf4UbSxEGv/R9oMjtGinj5J/ktleXlzw7R3iEIeQHi/4AFd0hmryHcxz7smDwN0qd7KeoLcDzAkUjD373hzux71yAnQEDtpaKI9CQBhqSjZpOa7ihSSv4hEQjJ0r8NfyWwa3zjMcSzuZNm/pYrvz+e+CZ7cE8IYQeFlVLqN1wdPLyESMTuB4eRHL7zwddvYnyw6y8J2Z8XghULTskQ9jdJRQ3d5r982/3m/ZbjhF+HwP3FVkXKnT36fopEG0cXRul+IkOkkJLtKFm7/FGpJEhEjUIIqAUQqYgEUMDQQhWUBKAGIRyAYrudUkWZ2qdV0c/F14SQSog9zX1fNNNdRuB/UescJKQ2xBgsGHbLTu7UuESCJAAvRqHNX2G/H81H1U7HvR9g0RevpZeVRylFHZ5pmpxzpFsQQooyK4tC07SW7zPGXNemlEZRhIE4yJyxLAujmtDt5Pb2FpvxRV1xzi3d0pn29ddft9rdk9Ma+/FJkti2zZCN6vtSyqfnZ0IIUsMZY9sobPkeNiocx0M2tmEYURTdfbp/eHjKswJzlBzXtsxWXZWWzYSsn54fqpKTnT2qUqqu6/fv3yM+xiOA/pWIqMbj8XK5XK1WrVbAOZ/NZrgA0jQ1DPP+/h67nighTdMUicLj8RidakajEcznyN1Emzzcd2TVo4vFeDyeTqfv3r1DmxfDsBDPOY4nlFytVqvVqtfrtdvtPM/RD2735Absa0opdV23bRsZ3tgxNQzj9evXVVWVZbmcL1A3KXfyf7XLzwrDEENwTNtElSqat6AzCeJ4dNjYm2oDwHA4DDdbtHR0XZcQMhgM0jROksQl8OrVK+Ssh2F4cnKCRkPYvMctTNP09evXhJD5fI6oiHP+6dOnq6urTqfz+Pi4XC4xNMo0zbIsh8MhlvLHpydFlne7XezFTiaT1WqFdRSa/4xGI+xV7xsDZVk+PDx0u11R89PT48e7R2SKx+H25ubm7Po8zZJ+v9/t9/MoWS83uqlhvmlZVY7jRFHEldR1/auvvvr73/8+n88BqKkby+USC5sff/zx7du3aGNimub333+Pvj3rzYIQcnFxgSyOvV09ANze3kopszQvimKxWFBCMLsepYez2ezDhw+EkLOzM8f2al4iS0TTlGmaw+EIIwvQ8yeOYy/wsfwbj8dXV1dp1r+5ufnLX/7yz//8z91+fzqd2rbd6/Uwg2k6naZp2m63kZqyWq0456PRCOs9dB3BjHoAZZrm9fU1mvQjPeb169fxNsSTi7cC7AUkSXJxfYU3NLSPZIzdPzxMJhON2nmeUgq9didNM0oI59z3W8vlMk0SApBlmah5kqWaph2fngwGwyiKMBc5iiI0VqvrGgAkF4yxo6Ojd+/eRVH46tXrPM3KskDdS6vVopR2u12lVBzHVVmiOBV1F3i9CCFWyzUlzNBNALi6elVV1YcPH6SEwWCwWCxQt9Dv9z99+nRycmKapm0fLRaLKEqwB1/XglINHV02m3A0skaj8XK5VIpgTIFt2/PF9Obm19Oz4zTbDoYdKWWWFbquoZrF9/2yFo7jYaVd1wJvmIZhTCYTy7aR8rFeb6qqevv27fn5ebfTwotxuVxeXl4CAN522u32bDZD21MhxGIx41wOh0MlSVmW7XZ7vV6fnJxgwBx6lSZJhEwPwuhitWSMdTodLkVRlUmWFlWpMw3fWW1FVVWDwWA+n3c6naoqsBeDJzcMQ6a7rqWjKKWqOAAcjUeaRrfbtR/YUpDzi5PVaoNZB4QQSrW6FpalZVkWBAG6Jvi+j+M+w7DzPJcC8ixrtbu6ri+X63a3p+vadhsyahqGDURSJYGoLE81TVsnKxQiW7ahlIijSKcMZ4+r1cJ1bcsy6rrMsqIoCtu0KKVSiqosOOcBxkKBnM8mraBzf/vJdd042tqW7rq2Es2MDm24nh8ekyQBUOFmg5Fzm+26KnJR10Ckaemb7UrxQtd1UddgGlVdeJ633azwNiuEkEqhFmgymVycXQo/WG2WFxcXaN6FHkRoyWXalm4wUpP7+/tut2eaZlVyAFAIyyg+75lSQhFQOxRFKVVKonwOmun9riGqCCGEMUag6WQ38HTH123gAW+adwfAXQEAwdH/C2cG/3+HwhUgYwR26kOxC1uQUiKB9gDnkUNEvsc2+006hPVcCnYQZn/4V3s8c/g+B4aJ6hDof1YKvCgeVZNwf+AcKCVgAgDCqMPP/Qd7enwPCqCkkA1gU43RZLNtamfdQmnDNiHq5Wwh/WG3B0DJflCAxwr2jVfyGbB+KW+af9JDgE4Iqk9RJgyHr983ZxGL7o/P/gDjB6tdVO3+pBx+EUIY037zk8PXk8+LgcNzCrse+mc/+YeP0BRlSkhKARTFxvSuoS6xhMXcBgqEURwYUU3TqAIhhARCQUl44X9zLsu6BgEAVAnOK16JjHOuQBpMIxpTEhShihJCiaZphOISoUCkBhoBLgVjhAiJzpJM7Y4dyBeiz/5LiIa+wpi2R1r4JRT+nO4nSopjcMCBToJqEpQiRGOakooyKrkA2rwJ3VnrIIJnhIJUQgEooIQoaIho+FwRVa2U0jSNGXpe5JahJ1nEGHGcnm3rrhvI2ttut9gmL4qCECVqXlVVWVej0ci23e026na7hmG1Wp3tNgKoi6LKsozpuq5bZS00w8prWaXhzbt3ju36rcD1fNM0dcvsDPvb6erj3QOVBDTSG3QJhSSLTdMkjGqGnuX5bDGviroqZeAFum7mZfLFV1emaR4dHcHOdavYpstFCABcKEXAcR1E0vf39xJUp9cdj8d5nisC6+0qCIIgCCilQsrlcsmFMEzz7v7BNE0upGkYaZqVZfXrr78GQdBut5EALaSsqqqqa+yt+r5fVpVUqtNtm5mhG1q313E95/7+PkmS+SKzbRsA0JwE68MkyX788Udsya9Wq7dvf8EoSl3XN6tlXVbIsB/0+nmeEwWGpreDltbvY57o3twGHxUfbz4hyuGcO467XK6QkUkU6KaBD3t8MCPg0Gwj32ymjw+vLTMri6DTdnyPUrrdhmGSdLsdItVms8lzvt1ErVbLNKhlGcvlMk1yAJCKn5yMp9MpmtsMen3OqyAIkiwtqyLL07qSKOfCPu5kMrm4uDg7O9v+/NNgMDAM4+7u7sPHm6+++mobrqXiTNeyqhxYVgtg+jw5Ojr68YffTyaT2/s7NCkaj8fn5+fo74nO7re3t2ma/su//MubN2/W6zUqE15dvU7T9PH+IdmGJycnr754tVwuozyWFHRdN4juUKuOy3H/aCHm6+1G15lt2/gReZq1223DMMoke//w1Gp1fN9/fnzK8/z4+JgQcn9/PxoMri/Psyyh1CWE/Pzz33Gwc3Jy8vDw9Msvb7/55rtOp+t5Qavlp1kSeL5lWc/Pz4au13WtpCw5f/PmTbiNP76/sV3HNHXPc27v7/Iya7Vap8dn0+nUc1x/1BJSep7b7Xc/3d99+vip1Wq5vpskMZI6fn776/HxccvzX12/CcNwtQm73e7l9SvMiEnzBICapllmeZ5kgeu3223TNIfDoed5cZygU/6nT5+Komi329hTf//+vW3bvu+H6028DX3HxVHMdDrtdDo4qkKnmrYftFotFB9nceL7/rDb8yz77du3ktdM17Mqc3wvjmMp5TbduL7XarWyKI5WGyWE5CIr8qDTDoLg/OoCHSGlquMktizLa7lVXgshNE0XQp6dncdxjF12x3O6/V7F6zTPuBQyiYuy0Ay92+0SQtI0ZZpmWpYfBPPZLMuy07MTjNZC8lhRFBcXZ4vFIgw3rZavlEIzEMexwnCD+NgwjCDwACAIvO12O58/j0YjTQfD1BXUtu2ORgPLsvBG7ThOmsWc8yjacl6VZdnrjnpdI8syLO04l1WWWJreb7dsXVuslkWabAmsthvDsJaLhe/7vW7fPrFns1lRlB8/fhwOhwRkWWSEkCLPgyDQGMvzfLtZpUkEIEejcZ6nRUEIUcDACZxyUz7NnijRqqp0Xacochxwrdfr29uPhJB2u80I8Kq0DNNzXKSTzWYzqos0DjVN63bbRZYLUbc7vhDCtlzOeZxuJYgo2mq60iCoilo3WLhdY1AXpXQ+X1qWk2dCcFWW6vlp4Xhe0OkatlWWpd/21+v1cHzMFUipDMOiwMIwlpzEeXx+fl6WJQGWJWh1pfc6Aa+44qpQGSGEUu66bpYmvIhVWeZpZDoMWFVXJedJzZOcc8sgk9WyzEx6dkyAE5BlkYCSEkRVFOv5jOclYwwcm1Dy7u2vLbc1PhrE8YrzRPDKtw3HMn3bcRlUScxEzQhQKYiSaRybpgkMPMePk62u0zTZJluWp5kmOVMkDTdVVVimCsOVaeiGoTNGDU3P08x1XV6qXm8QhjHTNdV0xrjr2mmazhbT8XhsWGZZlkIpxwuwEouiyHVdzWBVVSlBlBKUUqCqMcOQnDFCGRAChGLrHRgBTaMaIwTQ50NpyPEQzXMc2b4AoCTmB+9n77/lMCD5hO/dYxTGOckdNYLi3JtIpgiRpEZ/G43Qqq735FvEWrquiwPgDYCON8i/Z+qgQb7DmgTtFCkhsDOcwfJj13ETAEApY4zuoR198SxXCCMRQiKjklKKATaIjJXi8kDgRwhRQKRCpsTLQYBdIaF2UaAAgA4wSkgA0CjjtaQUKAUgkgChhEqiECcTAnJnfE4ppYxyJQhXlFJGNUqpwnhTBRrTm31HUawiTVXGKGlseYSS6sVOHAghRChJdgFHHMlCSmNYvCkJREpQUknKCMUYLiEIZYRIQhihFChhVG861OimSHGwoDQCUkn0XcejtE+7252jfQFIKSVciJ1p6C6TCE8koTuHHGAHo4l9zis0tcROnHoQPfrZaTio7T4rZdAMhDS5ZCCbsD1JKFGKUEoMU5M1r+taSq6UwG5Tg545AUIVZYRqmkUEAQIKGgYOSKEoRVOEF8oK8uyVUpQSpZpV3hyUXSCtlFKIEjeSNl+NchyJYEQ2o2QppaQAzRSEqd1+KaUoZZxzoASaJQvYOsVHFKVUZ1rTFZCSUorGKagcpZRSBRjYCUJKXidVmec5r2peiSBoxVGaRmnNy2633W4HyHBIiyLLCkXk09OTYVhoJUYIyfO81+txzkejcVVVmzBMkqwsy93dQAZB0G51+sMBNofunx6LosijzHadUfv4/vFuu90qSkajke/7rmUjH8BxHMnjuq65qrIoPTo6wk9BXzyc8263W103cTfxgY1tp8vLS/THQK2e53maRjebDbrRoeVwv98fDofYQbcsq64qpA2g3DCOYzSwrzlXSlmWhYYn2L9cr9e+73c7vcVi8eH9R3QwPDk+fX5+fnp6CoJA1/XRaNTtdieTmRACafSYHInt2CzLMGVW1010U+l0Osh1qapK13Xk2yB2L4oCxU9of7FcLouiQE5OnudYs1VVpSrA7i9ajhRVuY3C/mgwHo9RzoijAKXUeDwej4+TJKmqMtpskZePhYpGg6eniZQyiiLsa+LdMwg8dM+oqqKoSixsAIAxhuIzzMEpy/KXX34hhPzud79brVZqR6yUUl5fX//8889lWSZRnCRJ4HkA8Msvv/Q6XTTJyfO8LEt0nwyCIE3Tu7u7L7744vz8/N27d2/fvu31epj05Pv+drst8wJALhbrOE0vLi6Ekl989eV6vYyi7YcPpWFoSqkoCqXkx8fHj4+PyHTqdrvL5fLu7g5tN/I8jePw6urq9ZtrQghSXXWDffhw47ruYNhrt9tY/v3hD3+I4m2rE3zxxeubm5tffvnbq1evNI0yxo5GYyWlEOL09Ozjx49v3rxhjN1+up/Plt9//8PDw4Pl2EmSGIYxHJa6rvu+b1hm0G6Fm62m69F6rWlazzJH/cF2tZZSYn2CokwBarPZKC4uLi5ef/lFmqbr9ZoowBJRUfH09MRLzgzdNixCyJev31SCI/cpTbMwDK+urr777rtffvkFpxxIKlsulzggwr4pjn2QQIySZbweF4v5dDrBPMiiKLIs9X0fQKFphhCC6tp2u61KjtuTZGmn1Za8AgaDwYAwyqVA+0iMjB10e/1ue7NZKaXqujZ1yjkvizqKQixUzs8vZrMZAFiWdXl5uV6vLy8vOec///wz9tdd10UHz9VqhVEPm83m/v72+++/l1I+Pj42KknJr64unp+f4zg2TVNKeXJygrGjtm1Pn58HvZ6UcrFY9Pt9z3EogOTc932k3CwWC9M0B/0RpbQoivl87nqmZTfhypTSOAmfn6ZKQZZlg8FgtVpVRV2Wpeu6rVaL6drj42OSJGmalmWN9Lwsyyzb9jyv3x8gLxzLJ03TsizZbtcYvUQpbbVaRVnWdWmaZq9n4sRmMBghLwuLc6y1NE1D9ZHvtzD3OgiCyWSC+coIEy3LkrzCW7GuM1M3NE3bbFNCiG0aAEAYMI1kWdYO7DiKNBbYjo/TG1FzTgAA8LGCkuggCGpZo5TWtu3tdos8QABAPpWhW1W1qutaN429zEAppeUaAlnH9l1XbDah0IWum3mep1mS5/nT0xMWQshM03VW1+V2u3WcALshdV2bupGmMZ4mPwjms8liNou2Ya/XG58f51W5XM4ZkKLIOh0/SRKlxOPT/ffff395eV5WeVXyoqhM0z4+Ga/Xa8PQgiAwmYmh6Z7rZlmWp1mn05lNJgCwXC4pk/y56LQDKQU2SgAAF5WU0nX9IAjwFo0PHc5lr9ebLeZoHrCXR+PTB5/haChMFFHAQElRCyEkgGQaoS9tTrkPzYRdJ/WwtbnrqB6Y7AGjdN/i/UzouQOssMck0Bjp0X1Hef+1ayc3fy52hut76jN+TzV9/1kHH0GAKEIamz/Yk1uUQpni7mVsp9oDQpqYyN1Gfea6sYNzdE+UOCgGXsAmfE4o2G8zHLipvCBTQkAKCgx1uaAoITv3d0KVAKXEfhsoA8KoUgrx/66cQK6EEqCwwUqAql3n+zfHpNk8ogAOEnWElOoFNCql8EMJUtwBCJG70/wZT4YoACWVIFwKgnULFwAUCAdGGdMFLZo6BAQAJRJdaSilBADIrmqCpt3+IsL8zddv9uLwNftf/Zd/ePgacnjWf/MHihIKFAN+KQUKpFm+Uu3WgQKiGCOMaFJKrmpkEumU1I3qmVOKKmMKUCO/X1FKKJEEZC0Ib8K6GKWUMEIV2ZWMLytMvhQSeFXjMoADOrtSam+6tOOdc7KrJfFPMOVBCKEzSinligBwwKxmAjXn2Fg3WKOx0wxdSCmFqssKOUJ1WcmdhwylFHmTsCO0WZaFpJo0iR3LNgytLgtTN2zDerx7jKO0FuB6lud5tmNQpqQUQdBGI15kcSB1O03TLC0AoOZlGIbb7dawHEJIp9P53Q+/n8/nP//9Z0rp8fgkDMP1eq0oYVS/OB8TpbKiSPNMEbrcrBHFommjZVlRHBqG5nqW6zlxlEio8jxfLpfoqRJFESbRFEURRYlhGOfn5ziZvbu7Q+sVdE1Bu8P1eq1pFBnScRwLIQaDQbvdRgtn9NR7XiyklGh4slwuO50OsvCXq1UYhqPRCOEpKiNbreYZiZUSlhm6rp+enk6nU1TXOY7jOF6/P4yi6P7+/uPHjziqRo+2xWIxm81Wq1Wn0/M8D0nncRy32+2G608ADTQQSKFgS9f1k5OT09PTyWTy6dMnpZTvB2iXSSkNw3C1WiGqwImk67poI9Pv93FZPj8/o6vg6elpqxWgK6Jpmufn50wj9/f3WZbblstFUdelrhPP832/tZivjL4BAAiScMPOzs4YY/f3j8PhEIcztm33+/3Xr1//6U9/unn3AUu7wG9zzg3d8jyv0+5ZZm7b9mKxkLthQp7nhqZ3+z10+sNnc6/XOz4+/uWXX5bLuWVZnU5rMnkqyxyJ8us1tIOOqEteVbZtF2V593APlJix/e1XX759+xZ7zAAgpfRdDzWOuFyRuNzpdG5vb29vb8fj8adPn56enmzLQg/HDx8+nJ6ebjabvCpd13Vd9/Hxsd/vj46OqqriXOZ5fv3q6unpYbNdUqptNqFt+1Lyp6cn3/ct07m7feh0OkgfWiwWtm2nWUYIQc6VUqrX67V6Xdt1nx4enp+fTcNC8o+UEk2Wbm5unp+fTdO8uL7C5VFm+Wq7EaBQa7Fer8/Pz23XYaaR5pkO2uXlmaxFmiau69RladgWAIzHR0VRbjYbx3G++eYbpRSSttFjcbtaI6iNoghLPmQ4cM6RrsYY2243SL5CEqBt28jCHw4HSJZbbTe6rnPOq7qglOqWGSWhTqjt2hLkq+vroNMGSizDRDPZLE8Mwzg5ORsMepZlpXGSJMm7d++AyC+//HIymeBREoIrIZlBW36gUcZl3et0Hx8fuWW1Wi20eArDME0S1P8RopDGfXx8vFwuiyJDf6fz8/PHx0dN07BzgaVvXdenp6cAkCTJarUKwxC52owxyzB7ne58Pq+KUgkZR9vT01NQglFZFrngJVHSMIwkiuM41zRtOpslSYJ6D7NrJEmGqgxUM2dpgd413W4f1fyO687n88Vi7nk+BjVgIYrMtE+fPqHplmVZRVmiCRW2WlzXdRwL4W8QBFEUxVFKCDFNc73eCCGErNvtNt6OMBltsZhZloMCdJ2xIAik5FISz/PyIsO7H55uENJ2LddpCZ7jaUXbWeSDKQK2beNNxvdd17XX63WWZI7j4DAQ86QAAOMjXMffewoDJaj7x/sSWuXgcBgvRsZ0TdMIYZqmCVkzClxULduP43g+n3ueV+Z5kWW+3xqPR7e39w+P98fjk9lkWvGaEOB1qZQoyixJo6Dl5UWaFQUB2e0GNS9sx5pPnxzH4bxM06TValVSgBKUqDxNiJJxuL28Oi/ydNgfScllzU3dAF1URWGbplIK87VlVTEqGWsXRY5icdewsKJDLRPqjKuq0jRKCIvjxi8oz1HKvF0vl5RSpuuWZUkpCQFGiRBSKlAgyEtAvZKCECo1TWskigQYIQhs0IXuEA8hM+QQJxFK1Gdzftr0nV+gEgLVBshK2QCVhlVLGXz+1TSuYe9vI5RSiDHgwNVjD3t2PyAKu73qt++GW3XYYFU7++wdHEdh6Av/B23vYcfCV0opoBh6iv9QqlFs7gUDSinZhB81e717c0DBKv4Wu8a7ri86kYASsqlbKBAlCVEU9nIEsd87SikhDfxlpDHaB6ASOBHI0abAGuNzgjAfBcegQIBSAru0SgHsooGkwhpGSSAEJA4hCMb/EGgsTaRUQighpFJCSSGE4oJgSQOU6pqmgUYoY1ISRgihGgEgRCpKlVAEUAkKiu5rgkZQ2WwaQZGDAiWbCcBBrYVnoWFtf15DNqtt/8PDolE7+GPY05p2BCjY6WnRyh37ymXz93t2PaOESBCalFJJTFNShDDGTACpSYFYXCgOjBJNl5RJRaiuKaFwFEGA7usVtHrEiQAFonZNdFACdth9t82SNoMrul/tuHyUUkLKnZ/RroIUUgiR7X1jpCKMEizBCAUATdPKusJLhcuG0a5RhlfXvoRAcSfaeFdVpbjgnCNqD4JAZ4RS6ljW6fFxEmdpWgiusqyI0yKKSRit2oGLtiRVqYQAy2Z40TZKR6KZpvnx48ftZmW7TrvVtSzr/Oqy3elhvWsYhmVZeVkg03Q4GOOzM4oizdDjZZIWuW5Yp+dnnV4XG12YrUgpCMUF565nXQ7OlKRlWUZRhBM69MQghDgOQZsXxli3291nJBFCMP4zy7Lj42PLMvbN4yRJbm9vi6K4urpSSjXY0TAYY+jGgOgKZ9CEUtu2MeQFABCUCyHQ7xkjnDChBuGvbdtIQP/w4RMSV7DOAYD1eo3KSxzoY2sfANDrDZv6+LAsigIoQQoKvuHt7S2ldDwea0Q3DGM4HNZ1XRRFWRaDwYBzHobbIPDR3w3Xl2katm2VvEYLPKQHYDXy9PT0+Pg4GAyklKenp5xzymA4HPZ6vT//8S/DUd+0qIL648ePnW5g27rnO09PT+ibyaWQEqqKSwmmaQZBEMcxGko8PDzc398Ph8Nvvvnm06c7Tmkcx/1+32m3Z5OJcXZ2fXn58fbW8zysMbBBhW6VqMtEpKuUQux+dXU1m01QYYwr2XXdXq/38ePHOi88z7Nt23VdLuXj9NmwDYPITqfzT//0T4+Pj0j2YIwtsgWOIChFY/4M3fqPj4+RDXJ9ff38/Pzx40fLsk5PT5Go43keKkcxdiovCiSF+74/X0wuLk+++/6rKIq2m2Q6WYVh/MWbq3a77bnB1WV3s9nc3t6i4WCel+12++7hHt+cc75er7Ms645H4+Go0+s9PT1F8dY0zcnT82g0SvPMNM2zs7OqqpI8Q2WwbdtFXYThRinR7Xavry8ppW/fvo2iyOrYSkINghCi6xp2003TNDR9Pp1heOdyNsdp26tXrx4fH968edNqBY5ptTzv48eP6/WKEHJ2dor+M5yjGblJKfF9DxEb0m8Q5kZRpGma7/t4JbqBF0XxYDBI0/Tx8ZGD1C2DKPjyy69Go5HtmLPFwm8FGqEXp2dJkghZE0KOjo48z9MoWy1nQeC9fn29WKwc1zo/P5dSlmW1Ws/9wDVN0+T6dPYcBME2XNe8zLcp0wgG6Dzc3SulPM85OhqmqauUQsXtcNhH9nyv13Ms6+riAq9cnTHXtieTCZpZYYV/fX09mUwIIZ7nFUWhaVRKPhoNNI2WZckYKct8sZiVVeF5jlIogzEA6Gaz0TRN1zXUycznc1M3cIYDIKmmU0oHw54EOp1Oq6rI80bFgTraNE1Qzp6m6XQ6dRwHLyLT1N+8eQMAq/X67u7u5ORE07T5fJmVBaUUh5mGYbiue3I6JsBwiiiE3G63xtBI07QsarTXRNtE2zbLEkdqeVlClmXDQSNVkpJXddHc2dIsJ/XZybAoCtc2cBX1er2yqCeTiesHaOQiBcHbFIbooaEWAAwGA03T4ijFVhQKu4UQSkA76HApANR6vVWKpGkebiLPhzRNV6sFzgE452ma2La1WMxs06jLItyst9v1aDRI07TT6WRJNHl8NhhdrRbdbtf1nGQ2A0WyNNmGm7quhsOBEDxJYttzHdsyNEKBL+fPQpaEmt1eFwivq0yzbQW0LHmchLP5PIw2hFzkeRqu1q2W32210yjmdVlXLImiLElGRz3P7S1Xc87rMAzDMOwELVHVNWGMsVar9fDwoJSyLAu9VssyNwzL84L5fB60Wxi/gI8nSqllGELUQtScV4QQKTkQBqphcu8BkpIE3TUoJRrCP4ZECSLl50B4hxfIC6RQBNhuvP8CqPb0brVHqTumx2fvhdUApQRVjIyitlKAIJSCUg32pGQf6LOHaJ9txkt7XsFeT3hARt8Fw5PGfVISCYCOeRheCYBkm5dtBkWVAiWJkgjBPrPf2PXa1W9qG/zVfjzx2VFTCt3D1Yvnu2oMJRkBaAI9d3RlDgAgFSFAG/ZDYw+odgMKQoALAbWgVDCmM4ZeN5QQIkEAENlMGCRRTTLurksLUiqQgjSJsARAKcR5jSk5QShJpFCSK8FFzaUUtSxEzYUQRFFCGCjChEZ0LqmhaZoEQSnVgQKVO+bMi96AMabIjolNKWCoKJ4wQtTOqGd/7uDgGP7mh/tf/WbMsP93YweplBI7iQLiWkYZgKQKITsDpMfg0YRG8clAASFAJCUKmEaIFBgHC7quMWQFyWZPuERxqqZzIBXnmm5KKpRSlDSiBDzu+/ILgKDaQyrCgO1d/lEmQimhVKeUAkGnJ4TroHbZBxhZti981Y54QykFKUBIAGCKKULlTpdc8aqOa8MwiNb0fYUQTDYcd40yAMAHWBO6JCUvq92WN6JV9A3M8zwKkzhOpGy8232/9cMP33b77sPDrRJCCJllpaHbSJktiiLLsrKo0UpP0zTX9RGUVBUPk9R2HKWAMYYei67n9Xq9KMnqul4ul5ZlxWmSpqmU8vj4+OLyEsM+F7N5rzeYzSYAyrbNq6urCvWaikZhisNTSmmapigwAoDLy2v0O9/fj6SUHFOgqwpbSkopdIM5Pj6u6/rh4QGTINfrtVIKqXLff/+9UgpN0HVdv76+Rp8cfBnyTNAfEEksSilU+9V1jVpMDB7C+2BRVGmaHh0d+b6PDeY8L3u9AVIPq6rSNGM0GmNGlWVZZ2dnGLKIBvmu67q+h0wYy7KCIBgMBng2FZWb7arIq1arhWjJtq1Op31xcZ4kyWQyQQIVtug8z5NpQilFrwxCCEpU+/3+crlEik6/003S6MOHD77vf/nll0kaJSkfHnW63db19cXj45Pv+7ajTSbx83TS6/UAgDGGZAbGWJrmhmGUZb3ZhIQw3/eLooqiBG06UAqGM+Jffvnl3/7t35iuv3v3bjwaEULQaN913YuLi6Oj4c3NDedVXZdBEHieM50+W5ZV1hXWmf3hoCiKbRQee24teBpGVVWFYdgbDDq9bhB4V69frbcb9GhHJlW/3394eMiSFB3Bt9staiQ2mw06Hnqe1+v1LMtarVar5RJNWhDPYR31pz/96fn5GQjBgdXR0ZHjeHGybbValqUXRd5q+9PpfLPevH1bXVxcJGnEOR8MBv/jf/yP//iP//jpp59M08bz+/79+7qur1+/klKiVLdIs2F/0G63t+tNUWbL5VIp1R8OqqqaTCZ+u3X1+lVRFOv1OgzDXq9zfHyMY3pKaafT+W//7b/d3d3dTe8oMN91AQA9y/M8pwyOx6eYPmbb9unpyXYbJkny9u1b23Pu7++PR0dlliulkJKUpunNzc35+TmqWvHJh5SP8Xj8yy+/SCkxFxlXr+d5aO4upWSG7vtemibdbq/T6URJtN1uNcpMxxaylmC2Wq26rpljHx0dlVXuB64QIvD8JgnVdpGRv9mET09P3W53ODgqy1IBv729PTs7w3Xy9PQ0GAyCIEiSpCiK5+fnb776+mg4ur+/R/eVzWZj27bneQ8PDwASOSpxHP/w/feouUSWGpJMttttr9P+9OE9AARB0PK9cLP2PM93HdT4mqZpmHqn28YORZanRZH0++3RaHR7ezudTrvdPl77OLpE+9eyrhSBNM+2UaiUwvlh0G6PRgMpIU0jKQNUWWBZyHmNqhvO+ePjI36DVzFmqAVBgA8Rz3OSPKOUZlkihMLENAAwDGM46q9XW9/3syy/v7/Hvn5V0zzPj49P8CZmmqZrm3hjL4p8vV63Wn67HeS5TgSvBAf0U1Z4w8wG3S4ONPI8j6O0qqqeYaJwXNeMd+8+OI7THw3xmZIkCa8lozoo6jgO1gzbbcS55Fxi8EK0DdM8kzvPXEJIWeSMUJ1pUsosS3Td9F37+fm5rOXJyUlZllLhzaDyfdd13ffvZ9twHQQBLyteFqapIwk2yxJeFu12gBd7Wea6znSdRfG6KJPT06O//m3W7QS6RkDVecHbrlMJHoWhbVq+66wIXS8XlmXNp5Mii/v9/ma74rUCIhQIy9YIFUGrLVW9XM5FXbKdeQ5OR1GeNJvNdF3vdrtSyqfnhzRN0QgB22o4KcXpihBC1LXv+5pOCSFMI3WlhJBS8gbMMNiHshACGkVrFwog1YGP3B527wEo3fuQ7NjkAEDooctHg90PG6g7sIVs7x2Aa/g3DJDIsPN1wb/6jc+jlC/g7PCbPbBT6rMBgGpcyQkQIkVDgCEEg25g59JISfNuZIcdAaCZJEggEggcpD7BAXDafQRprC93eaWiQfOHW4K9eYJbiN1lpShvSgvZ/LkUlAKljYoYpKCUMsWAAVI58N2klAQYYZQQqRQRQqCQdU8sAgDV6BiUlJKBrpSAJj8KyM5hhe1KBYSO2NUHIEoSif1+qaSQshZCcslFXsa8qhWXAJQRDbeBa7oyXF1HMogmFIAikoCmaYTA/uCgPxHAXh6AWLQ5h1gH/abeOzyPAIe61V2fHv6L9QCHyanNh+FZVoDyaqUUhZ3NuVQ45mgmSEqiyeNO10oY04iSABq6x+DQkMgmeFWCUIQBJbUCRnXGmNw7phOilCDyZUxACGEvKb7NQWcMJz6MMYZsGTxaahdRhoR2tHlsEl53kH1/bXAhcHkCAJVKKYXNdWIw13WV4GmRI3HF9by6rploFrFGGT5fsUHiO66sGzEH+jYKIeqq0ildLle6ritKiMbSMCl5/dW33yhJbccqi3q7jU3TCIJ2HM1MS68SuVgsqqpSkjDG8jyv6zoIgl63++HDBy4UTt7LqkZDX8+0y7rahFtKNappSGIp62q12ghRH5+e9EfDNMtm0ykAEMLev39PCPnmm69c26JUq3m+mG+EEFXZoFiEC+gXvlwu0agEbRmR6/L69WskZyul0NI4iqJOp4UpdIvFAgAGg4HvN/NcxP04jkCueRAE6EBCKS2rqqoqxhgiQsuycP6AdiLz+Rz52bZtG4Zxe3sbx6njOJeXl4yxx8dHTLYXQrVaLXTrQ06L2jUnMI6+OYa9HrIn93aN+ISI47jX62maNpvNULpQVjmlFFti+DxGBHx0dDRfLjabjWVZO6Pl0rIsKblp6uv1+v37d4j8kiTLssy27TyNsXhA58fj46OyzIu8SNOs3e5Ylv34+HRxfnVxdb7ZhMhzRZJMmpe44JGKvbejRqY7eilQSvv9/mQyQSLTH//4x1evXvU6nefn59PT0/F4nKYpGkF2u+3xeIyXIZ4FzKxZrldoTIl2PavVarvdttvtSMJoPOZSPj092a4FAGEYvrq6dkxLSolRREVRHB0dKSGRNVGW5bt371DwiqYciEFHo1GaprqmoXEKFmkI8r799tvNdosfilzhi4uLdru9Wm78wKaU2rb55our2Wz2dD9bLBaaplVWdf9we3l5ef3qcrvdzufL9+/fu773+vXrm5ubDx8+nJ2dcc6PhwNQdDmfzyZTfCK0OwFlgP25JM+yVbbdbq+vr3GDsyKVXHz8+BEFCa7r+r7fbbf/9cd/UZJMn2euZbddf7lc9nq9m/dvt5vo4uLi6uoqjuPhcPjll1+GYTSdTkejISEEZw7InaOUdlpt1/f2pR2GtDPG7u/vB4PBmzdvqqpaLBZJkgRBgAb8nu+EkQUA45NTdGp6fn72ff/19Ss0DnIcZ71Y/vLTT5xzZKs/PG6Kolgul6Lm79/doLkQ+nYrpYRQGFe+Dddpmp6cnIxGo7u7uzdv3oxGo4eHB6SgUEqDIJBcJEmCPWAhxMPDAwiZxUnbD46Phg8PD+Fmo5QSdf2Xv/zp8vJSKanrTAi2Wi2UEnleJrqGO7JcLgHgyy+/9DxvOp0ahmFaRlkVWZZZlmEYNqWm65pFSbI8qeqWYRhhGKIDIB6o5XKJKbB4r8DWLCba5nmeFcVwOAwCbz6fPz4+9gej2WyGFjeu6+Z5Rim1bfv09DRN0+FwOJ/PF4vZfD6XSqFNECY6Yyk+Ho/v7h6SJDFNPU2r5bJEe1Yliee5VVWCUI7tcM4NpvGqGPQ6nMskipIkGQwGeZ4FQdAKvO12iwl63cCt8ooQZRiGAvn8PGkFdl3XlqYFrreNIynl5eWlrpvL5dKojG0YKaVOTsZpUeKXFNDv97E+BwDGdKVI0xTo94UQSZI8Pz+Px+OiKrExjxPgyfSZ1+LN+Kiu68ViNhwOq6qoS7mazy3L6nY7YRguV/Nvvv6uKIo43GqUMEbOzk90g6VJbunadrvN07Cqy1F3JBWv6gKIzPLENnXGiKZRUFLy+tOnD51OBxtMGoX1crmaz7744mt9NFrNV0mYKCE0oi+Ws+OTo8Gg//HT+zTLy7KroKaUaFSB5HWZb0XdbnfTNBVCVFW192A1DCPPC85Fq9WO47jX7VFKDZ0AJVmWoYkKiugA9Koq2I64opQgVBEldv4mBPG3lJIRjTbwkQJIqRSRhGDj8QAWw66HiCxipcSOMYIokxyatDepnAi2mj7xZy4uhBDKGkdwim9IGxS5h8X0AOfQHcr/Daoj5IXGrZQiBMhnhifY60S3FgKgCNCdSSBVCoRQSjX+1EK9xJdib1s1nXvAbCBEUyhL3G+GpjEAKqUijT/Pnv/z4nmyk2ACAapAAVChkH9BAEgtALusChQFYOg4CZLCC+oDYE29BIILRamiCnPoAQBqyTmTIDXSEJUogBCANGkCpPHRfMHuEhRIRRQFSSRB5reUEiilFDhXUnKQSoFUXAghBVec87woRc15JUAAIYxSRolGaUVsalgS87lKIQhhjDGgjEjJGCNABIHdVIZQonHOlQIpYM8vwlKKshfH0kN8q1RDmNkj1aZY/Pxrf9I/47gT0sRcCSGk4oQQJSUhajebEVIB0yghhIECqgghjABSWqTgAFRHQTMgcFeUUaJM0ohClJSSKwAFTFO6ZQIAjktwG4SoEXcDgEYJGq/uqj1KgeAVi/mCB3uolAJKNaWUkgw73KSxXmo8Z5RSuwKRCMFxbaIzzF57gU8ObCRzIciuQ1+kjQMJJSTLUy5qSqkCGYZhEAQ478YSBdd7ylVWlrSudV2bLxZlWfb7Q81gGjEmkwljxHMDpVScpUoJTWOe57VarTwrEWIOBgP0AhdV3el0/vbXnxQBnWl5WRi25ft+J2gppUzTNgyjhdF0VblYLJSQjuMhS/Lp8dG2bQYkTdPx0YnnO7Zta4ahJGjMXC42nPPRaIDMcjxE2FJFuiF267GBenZ2hp2Y+/t71Bm/evUKQTDn/OzsDLmtyNfEZNOGqrtcYhgKBpSOx+OPHz+ibzpyGZEngM56ON1GKvDR0RGGXM7nc/TJzvMcn82YWFkUFfo053k+GAywcx/HMRJDW60Wks4RGCEB1Pd9y7HR0JpSiik2mPz6/PiEfWLO+Wq1wloC85KKorAc+/LycjAYKKXQCrqWNTbyB4MBxtxiT+7Vq3Ecx7ZtEqXiOEZ2UFVVs9nC85w0qaIwHR9T3/cp0aqqQpiChmubzaY3GGHDuxQCAKbT6eXlZbfb/fvf/75arfCz0FtaCIGV1Q8//DCfz5fLJT727u/vT09P0axzNpstl3OsP9ELDw37F4sF8qCQDX9xcYHkXaXU+fWl73rDo9H93SdEsXcP9xqh2ClHVPT4+Hh/f396fIKcYMuyTk5OFotFHMeMsTdv3qDX52q18jxP1zRk6CI7Wdf1t2/fFmV5dnaGNGVs1s5mM8dx4iQiVPR6nV6vGydrzzffvHmN4ZHdbse2rb/97W/X19enZ8c4Io/TJIq23W77eTqxLIMQojPNtu31ckMA8PEftFvDo1FZi/F4PBwf/e///b9Rovr9D7/rdDqapt09PaGcESvzCnOaTJsCyxz3w/t3lxfXl5eX63D1+osv1stlnIRYWKL5KQC02y0p5X4ZIDl7NBhWVZUtFgCAsx28ReA9Fv3L97yIyWTS7Xavr6+l4jhUMQwNoxJwlbqW4ztemqZpFDPGTk/ON6s1roHZbFbX9Wq1MnWjLMuq5NhBQM5Jr99xXdeyrKoq+v3uu3e/WpY1nT4zRr766qvz81NcpcP+4OPHjxga9dNPP63X68D1Wq0W+ix9uv3gOA7mH4VheH19retM07Q8z6fTKdpfYht7s9kYhoFstyiKnp6evv766/F4vFov7+/vdV3fbFZxHJ6fn+Lkar2ZYeZDq9Var7fPz8/Hx6etVosx4vsu9jKwAsFu+tnZOVKtpBTYQR+NRs/Pz8+Tx7quOReEELz7cV6v16ssy5Gqh2VSlmUPj8/7G4Jt23GWPj09nZ2dOY4lhLi4eI0tAACaJIllOljJ+45blmVZCsdxZrMZMl6QTLrdbjB8A5kzSgnORVEwqiRQCiDLrBwMO5ZJy7Jcb+b9ft/SDVBUCLFaTXFSlBV5t3e6Xq+Xm/VoNLYsq1AVWojmeYl6TZRMAABjmmlaAMQ0re02tG0bFPFcvyzL5Xy6px2maZpEoWtbANBq++v12uWuxoy6rgCgKLOqrsoqb7X9uuI4TxWy3mxXmqZVRS1EzRhZLGabzWo47DuOUxV5loZSim+//brf7+OdOQ43BNhoeJxEMa/ruqxkrUAq13XSKLUd03UdBdy0tDBccVEp4JSSzWoh6hxluJxzoqDIU15LZPav12tN0xzHdV0X4yAoZfgASpLE8VxszWiaFgQe5xZaJwtRmxqVjT24gAYqvGAgbHyThtWw518rIOQ3+GlPId8B5Re+9u7XnxFjdipHtfeqRkoMdrWUUhJ2cTREw/YwdtzROEHtzAZ2iLzp7x+AueYbufNJaf5L5D67p/khqGYIoIhswjsbPSgAqCa0lUhQO3Skdh3PF/i3x4VyF6ZJfiPV3TV994ygfUWBvxIct5NwqZQiDX9eUUIIaAAAmGGqADDqiDKqGnx/SEYiUgHnHIBTsmO3U0bk7q2AKiUEdqkJEEJEY3YDO1CsAIAqoohQ2GVWZMfyF0ohJkSsLwTnnIu6ruq6zitQnNQViEqAlJQqphFKlabygnPDsBhjVGOM6poGknAqQdd1CYoBOzw42Ohs7FUOKEZyd9AOUffhNu9/cvDzzwhU8BtxajPIIAAASHnav5hSQHcldNhs/tmQ4ZsalDKFy2OfUAVEEUoY2QF3Kau6Jo11DFVSEEIYWspQpQiRkgpZQ61+W7PuaCqUUkLVfi92l2XDjQFoJhZYV+HIqQH9jLFd+UjQIJILkDsePxCma1DWURTphmHbtmGa+/i64+PjyWQSx3ErCJAggaPSLEoty0qS5PHx0TRNUKqqKk3TLNNbLldpFmd57rru119/7bUCy3LCZYQ8cuQKm6b56tWroihWTzMA6PV6o9EoiiJCCIoj3/78S5Lmm82G6Vqr0/3mm28s1zENW4maUqppRi3EarWSUioC7XZb7xlxmuR5KSU/OjrSKTMMo9/tEd1I0/Th8a4sSxByswnzPHctD6FnHMeYRoSeG67rokTh+voa5ZuokkRqrxACiTqMsTx3siy7ubnp9/u2beNNCpEo4nJCCGPM932csDuOMxwON5uNaVl47jADCOk9rVbLNG1Ka8fxbNtVSkVRMpnMNE0bDo8uLi4wTKcsS0IY4hvsrOMRQFCL4fBYhDiO0+12MXMUcWpZVwDQ7XbR9GM6nX769IlzXpcV2fFxpVSr1cr3/ZOTk6zIy7pKVxny+NGqQjMNnegonNpsNmhWAwDHx8emaXueF4YbXteUUmwz27ZdF3y1jDzPq6vs4W5+eWX1eyOliOe5Qoj5fGnbtt9uCa4opYPBoMiy7XY7HA7zPMd3jqJoMBicnZ0hkb3Vah0fH2NDrtPpoF9kv9/HSQLyKHBPPc/761//Op/PkTyNrSzN0LfbLbasUBCMT3r8hhHa7fUE534QaJr27v3N6zev8iJbrZemafb63SiKVutlr9fDPreUEkXJ0+kU2+0K5Ga77nQ6UorNZo1gC9vwnufGafzh43t0yj87O3McJ0tzznm3210sZv/5n38ejjpZFnm+4+jDTqe1XC7/9re/fffdd1dXl/f3d5TSqqovLi66/c50Oi3LstNpZVnieZ5j2dPJ1NT1b7/5vhL8w4cPWIPZro6iFExsFUIgFaTf70opn56eXh2fmKYJuziLLE4455LXpm483N/PZrN1uDo9P0d1bFXyP/3pT5PJpNVqXV1dofMSWspwzq+vr7HfUxTFfLlAyQGltNfr3d3doQWNplPD1MoqX2+WUnE/cBWIJI1c1+33+/f39+OTk7oub25uGl/2Wr568/rh4QEL14uzM0KIY9uu6x4fHxdFUZcVLnhec6VUluWE0LKs3t98HI7633779c5dkf/00094Dzw/P0e6y3K57LS6uJGtVuuf//mff/755ySMoihiGhmNRlhZ9Xq9brdbVdV2u0bnHHxejMdjvFn9/ve/z6JI13WE8mdff6WUisNtnudRmliWlaaxUkrX2WazASJbbT8IA84rSt2yzAghmqYtl0vEwUdHR91u98OHG92wAKDdbo9Go+l0IqXSdT3otHXNxJyHfr8vQaHaB1ngSqk0TTEN1zBMbBCgcsMwNcPQlqu5xozr62vdMufzZZIkpmkSwpDK4nlemuZKqaLMirzinOdJapqmYeh5nuPMDcF0mibdbrcoCgXC0HR8yFiWpWuMMRZnaV0rolSZF6P+aLlcHo37WIrYphlGUVEUJycnONIUQkwmE8t18J6JR5gQhh137JIAQLfbU0qhsB6/sAnSvK1tF0UxHA6F5KvVClUojIBlGTgjIoRQBWdnZ5RSvAN4nrfdbnWmTSZPZVmjmBhMbTDstdvB3d0nABlFW9sygpaHK5wx1u/3H5/uq6JA3jYqmqSA6XQqBazX6+FwyDnXdc0P3NlsdnTUByLLuszLjGrEoAaKATwvAElWqwUhDJ+quq5/8cUXT09Pe40TRqcJIbMsxXAMpulKKdd14zjE/gWaq+q6XgluGLqoa3nA+iAvFh8ogkTEIrE3jVBh33UmO7EfHErjFPmMwnEYJISv3HEgdsB9b23XuKY06ByQEoNEnUPov+cJI9pm+598/lt+0OdGdC+gEVjK5oOBgnrxepdSggDKyL7RqZqe6gtAV3JXHpDPgPt+A/AQiV30Ib5GCKH2EP+AJ0wIYWSXnHrApAcALgURGhBJJELEBvFzNMhXTVGxq76UEKqua8ElpdQwDM0wca7Ca0EIAYW0oM/2RylF1WfnQgAwIgmyo5SUO2chgowXoaSUCmRd87quqqouq7ysQEpSc1KWQnHFGBi6xhhhpKI1L2tu6JZhGJpBJJBaSAOJ5UojBzoExOvqQJO5P2tSvBRg+wNOKZVCHL7s4A9ewnH3/1VKaYamSyUAQCNMUYKiWgqKSkKlZIzpjBKq9u6lukKth6SI8/fnWzEAUBpGBDOJybISFMETLwWVRGOUYukDVDOUUruDiPb4DJSmDIUYUSlFCNrOKEKERppYXbrPEmvWvd5oAAiIRrQBlGqqYXopIeTejxIAGOdVVWmGBgBVVemMEEIwLkfXdddxGGMaoUwB57wsSwAyGAyfH59Ws2Wos4uLCxQzGQ67vbvZrLaBG/CaF0VumuZmswQ5TXIZZyKtauqSEkTHNKqq4rxCAaWm6QByPl9hjmMQtIZHx9gB7Q763W4fIzMLKQtRt/v9L774ot1uKwJCiCyJrE5AqZ6n+dPDg0aZ7TqaYVS8xhx4SilQU0mV5vnPP//KGLNNa71ep3HiWnar1QIlXdvRNOo4ThynQdCWUlqWAyDRLQGA4oMc4Q42aJFniX2+9+/fIzWFUsBEd3xI7O0Rn56eoigydL3X66FodTAY3NzcIDN7uVwi2TfPMgKgaZrgPM+y0WjQTO1l0zFFyg0mg9q2e3l5vVwukyRB/NqAFc6RCk8IOT09ZYyF4Wa73aDn+tnZCRIlP336lJcSPemFEMihJ0gvdm1K6WQyOTk+w5b8bDbbbFfH41NTN0zdUEptwm2SJCcnJ0EQ4FzN1HVMG0XBbp6mz9PZsD9IwqQoMyUkULJerwljHT84vzhRSo2O+gCAz1TDMIpcICdoMpnh44cQwgjBdSiE0DTt6emp1+sZmh5tQ9u2W36Qp9lqsdQ0zTYtjbI8y8u8+Pj+w2g06vf7SRRvVut2O8jT5NM2fPXq1Zdffh2G4WazeXh4OD8/dxzn8fEeYU24Wd/ffvrxxx9919nYlt8KbNuOomi1WbeDFrpzuLbz4d2Hbrfr2Z5SSlSCKmq71nq9rive7/fxtL5+/dr3/el0qpSqeYW0qzzPuRRCSaCkFhyFDRRIVdeWYW42m7tPt8PhcDpZSBC2YxVF5nlOVXJCdCV1xcqbT+/ara5uwX/+5T867Z7rO6vVRkqZ5qmhmzipQNQiuXB974iO3717Nw+XFxdX5+oShc5pXiDmsCzrq6++WiwWvKqzJOWBfzQc3X26vb29ffPmTZrFGJoTbbZI4uqNeoSwJEmqWbmYTPPAv76+Hg6Htm1//PgRSWJCiNOzY8t0cAQhucCAM8uy4zgpy5JXdVWU0+fJerkihCRW3B10kCeGbo+u71uWFadpLUS/3x+MRovFotvtD4fDxWJBCFltlz/99JNpGnGyNU1zutCQXbBdhULWjLHr62sUySDtzTTN6Xx2MT5bbVeL6ezDp4//9LsfyrwYjUZJkvi+n6fZn/74n1988UU7aAHAJoxqwX/99ddffvnl/Pz04uKsCV7otghRjmOt14IQlSRhq+Vxzn3fb7fbWZaahg4AtmUKXt/dfvryyy+llMAo1bUsSzqdjqaxx8dFWZaiNs/OzgCk53m3t5/SKDIMo90J4iiPQxWFmVTED4K6LqNo2+n6XBQAcHQ0XK+3mqGblm6apue6z8/Ps/mCENLtdk1dr+u6KnLdtEEqw2A4RUnzLMuTuq7PL07n87kCFUXhYrWwLMuyzLquO+3eZrNBL1GlxGazEkL0+8PVaoVrPk0TDEXu9tqU0s06zLJME5pSqpZ8PBwxRh3HzrLUdV1d06JoK6XEoNMkSXQ/wAgUxoihM6FkLZRl2ZZhZlnGDKOqqrLKheCuaydJBgBPj89KEQK64KrdbptGxUW12Wx03QCAIk8Fh+Pj4/VmiVSiqqoMw5BSappmGgYBqMoySYtOdyAF2W7iPC+HwyGApus2L3g3aCdR7HutIsvTbVil2Xqx8B139jzRLXMbrssiQ1C+jRIFUFaVpusonTIMQ0hpmCZjtK6Faem9jt9t+0rVaba9vr42bYcwSjSeFhvL6AhhP0+Ww7EDkktZtVodw7COx6d/+OP/b7mYtVq+0BjnAAB5nlcVtxxb04woiiQRcRYRRju9Luq+siKjGlU1AAUJCigpq9z1bCllVRWM6YSQMNz4gVWUseNQnUoiOaGSUUDZG+JVQgQyAwAAlFBSItlbKsWrCpV48DmPnDRkDCx2FJBdox0AqblIDteQr0IJKOBCMMYIBSGFVJIBUxLd2TVCiACFClkpAEDoul5WfPf+O0xGlZIS2eFKNmGfe9xCJFFKHDCkCcYSAdMBELI3oL35E4o/l0oSdFZBpMuAAkDFOewklQR96AViSgpa08xlSDYmhDBGKSWUSuTDKEUoExyVaUAIZYyi1amu67UklDJGNUIAhFJKcSWrkgsQFZdMIwwUqRQjijb1BMEYnt3OCnSLkULVXAghLN0BXRegOK+RQi2bVjsDNA5B70spAIACAaIYjlWIZEC4wCxFkPiJBJSiUgpZlQAglajrUqCHlBBcgJJaVZZCgCRapThwXspC13Uqla6buqJK1kpSXitNk4ZhcI0SSqikggOnEh30kZGPRujNWVBKAUo6NcD8WiKlbFxmKMUc0s9mO1hnkl3hJ6VkoO39FjXG2E640OSdqsYBVGGptitmGnpTE2PFsIzZfwABCYQ0mBy9OSmlVKNSNc7/itfwYm5KdpoMQjHbiDSSCLXjxuwuocPdIPsi9aDk3RUiiqpGAY1EMUopJYQy9hlwx3B7/CDDMPb4X68KRKgMmrxMSmmapkVR6Ew7ORo/T57yPP/pp596vV671zUYYFjmernElkO73XZ8r8xT2CTLzXzY73/7zTdKlPf3j9Em5kWJT+vBoEGoOP2M41gphRKrdrubZdlqtZpMJoyxwWBQFpWmabXgnz59EkKYpnnleQ/T+6IoLi8ulBD3j4/D4RHPCl2HxWKRpiljTIIqy3IymWiadnp80g5aOtO+fP2GMXb7cL9vGjmOg1NIz/PqugQAx3EA6GKxmEwmuIZc10W7uvv7e+Svd7vddrs9nU7rutx1tgwMCTcMw/d99NNcLBY3Nzd4tBeLBT5msNHLOUemgeM4eF4uLy9tx0FPvaKosE2O9u34zqZpd7tdjCe8vb1Fo5tut4v2glEUoTbUNM3RaNTpdN6/f5+mKRJ5B4OBEOLs7Azb/+v1GheMrutv3rwJPFcpcn9/j3VUp9NRINrtdhiGOIdFpk2SJOv1Wtf1JI2QHY5+fxhcZdu2kZfYAn9/MwcAwzLrujY1rdPppGmKXuNIdH58fEQHGAAQSiI/FZnoADAej4UQDduh15vP53VZLZdLVAoeHx9jgmyapmi/res6rg3cx5ubmyRJfv/73//88683NzeXl5ee51EKnU4HJQQoJzg7OzNNczabof2cpmmTyQQ3stPpZEm62WzQ0v7LL7+s6zqKIoxSyrLs46cPmKiF2/PTTz/9/PPP7Xa72+3++uuvNa+yLDs7OwMA1CqUZZkkyXh0hGbhUkoUohFCVqtVGG+rqjJTgxDVavvn5ycVr+fzKUpsq5L/8MM/JUn2xz/8iRCCLOq6rquy9jwPu+BhGKIe+vz8PIyjT58+GYZ1cnKSJMlsNvOCNroBep63J65gTrtS6ocffliv15pOkQiBgy/P856fnx3HmUxmeM1qmnZycmJZ1mQyKYsarQaRtnR/f58mOQJ6TH6QUmqafnFx8eHDBzzRKPZA2fo+2lNKORgMyrpGRUSSJNhYpZQSsjFNEwlgb968QYu2k9PxfD7fbrfLxTpN0/YuBQkHZWEY6jo7Pj6mVOv3+5PJ06tXry7Pzp+fn+fzebfdQV+gi4uLo+EIAKbT6cPDQ1EUpu2g2o9SyLJsNBphYsBiOnNddzgcYu79xcUFr2vbtqWCuq5AqdVqhdwMTdOSJPrzn/88Ho+rqmKMGIaBNimmabqe7XmeUsowdIysSpIkSRIhS8/2w20uRXZ8PDItNpnEFAhy2DbrDcLoo+HIdp26rjVdf/36tW4Y6/XGsizGmpBppcTp6XEYxpPJxDRNLsV3332HhT2Oks5OLyBN8OCnaep5UPPy48ePumUiZ8Z1XSnldrt1XRc91KuKY1AUXrk4u8N75mw2Q1+aqqo+fvz49VdfcF7hYwKPBnKvOed1LZSghukkSWLqLEmSVquFz9YgCDbrcLlcM8Zm07ncNdWQuyiEIFQNh/04Tk3TiqMUADabjVJqNpth2U8Iwcs2z/PHx8f1eq1rJjs+zpKUEJLGSWSYjuOFm+3x8fFwOMyK/Pn5GT0GsMxjuo7GUJPJZDAY9Ho9ROqu6zw8PNiW6Tr20dFRlmW6xpCr0+sNwjAkUlxeXq5Wq81mU5V1Vaa6BoyqwLcYZWE4Kyt6cfXtZpPRFHzfj+MwTkLXtTudVhxH0tR9v8WFriSEYWgYRrfbR58rXdcZ1XDAi0TK8/NzwzCRT7haraq68fLKsgJ9GuJkm2WJoY8IAaUkpY1ZjKI7X5HGtR1AIUdCKYVqxaadfOijskMULw3R5ntF9m6P4kUdSaVqqBf4KykxgV3tvt/nHIGUZOf0SKWUdV3/A0Xns1RUAAy2fMEtu6Ji377FDinQptutgBKQ+3452W0JUTtSu2h8Z3Z+l6Rxh2SM7V9GkIXCCAGhQOyFsy8YbIfENE3HfusOzikASqmGgUi4Qy9cfSKlkIQQJgjVGSVEcS6UUJSCEJTuXQFf2tUETcJxyz/LM+I71KcUryUQUBQIAYLoEQhFvxOllBJSEto45eMNn3OxP0EI3IVoOsWCvxCnKdWwTawkSIy25ZJzWdc1Z7w2OObNUaoRInDappQSXOJSQe40njulFC48AFAgYE/h3o1PcJcpY/u68WUNKKUxRnbMmWaygcefEEJJkxO2D4+lGmNiZyQECoARIggBRijFwoXJ30TIEgp4xnbvDJQywqjiEotO3sxPdkucUCCSEI1SqhFKCJGKK0KFEEBAHdip7tK/GufK3yD4/QUmgVKlmoIYQCqCBvE4VdxPLrAuPBwDSSkpJU4QcM6VEEhRQONw07TqotA0LdpsRc2H/cHd3d1isYjjcDgc2rZpGppGu8vlOoqS//zLX6qSt9oeoeZo2LdcL0/TIkt5VSdJompp2y4AcC5t2/b9VqvVybLs9vajZVnY29hut2jMUte1Zdq6ZigDlctE13Uh1HYb/eH//Hu33zs/P2e6xizz1as3Siki1eNssnd9qQWnlHY6ncFg0G93bdvWKUvTNIoiUdXnV5e2bUdJ2Gq1sFM+m83yPD06OpJSPjw8IBZH0iHyT/AnR0dHCOIHg4FlGTimmEwmz8/PQggkwqJ/yPHxsee62BlCWVWr1QIApKFjjDalFHUFdJco5Lrucrmcz5eO46A7B/qZxHHseQFCZE3T0MoQU5+iKELDR8dx0GDeNE3TND0vQOZrmuacz3y/hRwJxJroRo9nH3GJ53l5ViLZA80iHdsbDAZ5nud53u33OOfIwgci9/YUlmVtt1ul1NHR0WK1WS6X+nB0cnKilBJKnpyd6bqObi15nuOHYnQIGtVFUSRBhWGIiBl1nEKIbreLwDEIAs/z3v36VgiBhjknJyfI42+32wCQJEm328WxQxiGcRy7rrtaLWzbHo/HR0dHeKXgYfR9XykVhpvNZjMej7vd7mq1+vXXX6+urhzHqXiNjv5YlqBB4a6QW4XhBv18OOe25cym8zTJvvzyS+SKKKWEEHd3d0EQrDerLMtub2/RHRzZ/K7r3t/fYxmAuV15np+fnxNC9ChmjGk6Gwx6usGopo0H/SzLQNHh4Kgsq8lk4jgeYyyKkjdv3jCq5Xm+2WwQJG2321ar43l6mqaaoePxQdIFjkSiJCOEPD09TadTDJFFrEmIqqrKdV3DMISsccpxd3fX9oOjo6M9u1opVWQ5ACDBpt1uI4hBhkC73Q6CQEmC7/n08IhFwnA48jz37Ox0s9lkWYbhqWG04ZwvVys8F9g1wHfGa2fn0Ym3OwoAaZpuV5svvniTZnEcl4PBYLFYFEVBiLdcLrF4wNuabZtYDw8Go+PjI9e1p9PpF1988f/58V/yPK+K8vj4+Oeff3737t2g10cVCgbu8NVqOBxeXV1QShG5UoDz0+MyTzFe4PT0NEli27IqStfrtabrWZpig7/b7bZavq7rSZJUVVXXpaaxMssxRSiKIk2nSGMQos6yar1et9st9CCfTJ+yLDMtrUWtOF36raPXb65+/ulXmUocI6Rpen//+Pj4eH19Xde1JEpKiUz6druNlq+DwUAoJaU8Pz9Nkm6appPZ9M9//jNq2cfjcZIkaRZnWR6GYb/fR18aQohu0F25QnFfomiDBL9GzZxwNLwqimI8Hp/ZJ41dr4I0i9FVTMj68fGx0+k4jlUULtpncV7leS6UDAKv2/b9wBa89DxP01SapoZlovIYi3OlQNd123aXyyUuqizLPM8DIuN4kxellFIqjqY3hmH2ugOyI3jgfBWV8VVVNRTqnbM+jqxREQ4Aq8XSD3wsEXHRPk8nrutgK4TzuijyOI5wioX5DHRnuuB5Hgp+sixbLpe+Y1umXVccOQybzVLXNQW17egEAGhu2Z5hKds2wnB7dDTiQtV1pUBUVVlWuWvrlMosS0zTNgxtuVwahuV5HihaV8JwLSRtGoZRVbWUarlcjsdjzjPHcTzqLZYz9GJijHieo2mUUKXrmlScMqkbGhITlEIqLlEg0bv9hcq9I3fvoMgLQN+DCnUgM4U9Aoamp0t2jBrZGIHTPUTeK1lV0xJnAhQFBqCkRCAEEpQUYs9Qh8/du5EygRe1VGLvq6EamvtLjmajv0WHDSKJZDtb7WYHDzD3y85zWZF93A2loKjc2cgQ0sgIdxuj4S4fMmFeIHaT5AqENIGsjOoEKKES/UoQDBJC0AYQnx0EJABVOwq+pmkUBOJj1USbQkP632kDJGmUs00Lei/GJRIUAamASkKpFBKkkiAoB0F3Lo1SgWpYK+j4onYsD0QvSikhG4aHlFiIUcaAUhT3K6BENlY2IEFxJZSs0PAcgBJSUmrjiwnhascaklJyLoA0gBOBe3NgQe4+V6Jea1+xqN3XftUppbhSezkBBQWKYadZ000DawJCiAYgmlUISHsgVFEg6F5PlKSUUkA5BSqEcVVRAEIZ2ZGICKPYkFe7pSPxLiCpxIKPEEIkpiEQ2rTGCVW6Uqrx41RSvWh0dUKIwN7/7v/2S5Khsw8BAkAI23cvdgUkgV3aa7Og1V7CghVYMzPKs4ZqiRAzjZM0TlzXZQrC9SbahtvVejGbCKVM07QMXylSV5VlGVxUhqH1er3x8aUQJE5W2zC1LNPUtSqvPC8gClpeS3DOOX9+fsbwTkSltm1fX18TQt6+fTubLfCYU0oty/I9H5WFteCyUsPhURiGVVW1PK/Tatd1nZeF6/pJFEerDSh1enpKKV2tVuv1mjHW6rSx/20y3dKNT58+RWGIKzRP0rIsFZHT6RSFibglVVU9Pj4Swk5PTx3H2W632DvHxszFxUWr1cJ4yDxPpZS3t7fYvUZR7+XlJRrg5HnearXGx8cXl5fYexNCoA1fXhSu52m6rhsGIYQLYZgmpfTp+bksS/RER6IO2sBjR8RxHOTDoJsKPpymkzmSSimlnY7e6w7QvVgqTikdjUabzeb5+bnX6xFCTNN8eHosisJ1XdM0y7IMggCB3cPdrRDC8wJeS5y2dzqdPM8321VVF6enp622H8YR08jx4Ojp6SnPqyRJsJuolEJPkiiKOp3O8egI65ysyLMsMyxrOBwGjovnHcHNHh6hvhZTMPFB5fs+MtrDMEQHfSmlYRjX19f39/e443/+85/b7fbl5SXmxaL2V0pZFMWbN28QHwsh1us12iZyzm3bxF1WSg0Gg1bLD8Pw/v4euRPY1+z1ekWWO45jGSZINZlN67o+OjrSeM0rjLvT3r59i8gSSaVhGM5mM2TSLxYLlH9g5XB6eoplEka94lEajIaPj49//NN/npyc1IIXVfnx9tPl5SVKHUajESEqSXPLtjMz//rrb/I0k1Jut+FmEzJqttvt5+fpfD7/7tvvUbQwmUyOj4/zvMSZDNM1vhJI582y4vb29uLqiktZFJllWb7vZln24cPNYjE7Ojraq3jDMGQaQXd5z/M2m808LzB8YDqdHh0du66rUdbpdKIkRpPE1WqFmgEs3obDYbvVxfELQlIpZRRFeZ6hp36WZVEUUQZ4argUiHRRIBG020heXy6Xuq4fHR0TQpDHHEVRFEVEws3NzZdfvbEsyzT18Xi8WCyqkruOhUzlwWAgRJ3nMB6PwzAMw02SREG7xRh79+7d999+l2dJFEWL5fK7774xTTNJo9l8YlmW41o1L8uCTqdTjC7+8qs33XaglJpMJmioOp1ObduyTENKaVkWziXw6Z4kEY4Nw/UG9aZCCFPTDaZpOtV1ZjtmUSjOKym5lLKqSs9zsyyr67rdbpuGHYbRcDhwPS2MlpouDBP6g+5quY02Wzg573Q6tu3+/e9/v7+/D4IgTXNsysZx/Pz8fH5+vt1G2+3WcpzJZPL+/fvxeKzr5mAwiKIIvcAvLi5wBaKda5ZlVVWVZYWzLN0ys7TAu6VhGEEQIPLGPdU0DalKWA4ppXBoo1OGYQvoW6WEXCxmQRDkec5FBbUsk4xzTnVKKJRlaZSU14X0XcY0QjTLsjivHMfJ0mK1WhmG6XqBUkrTDNf3N5uQ0v8/Z//5JMmRJYmDxpyEB+eRvLKqUAC6MU3mZOmH/ddPfnIye9K7K0MBFM2q5BmcOzezdx/UPTKBmd+J3IW0oLOSBHE3N9enT1UfqzeqnHNjszRNkySS0iFmMMy12WxKhfRbFQQBgkdB+gyHQ5QEuINgdyKi6XQK2oVZsqTR6IuiaDQaLZdLdGxsrq3SWZbBG3p8fAy+cD6fI7wLw7bW67W1mhnbbivYjYRQcbz7+vWr6ypjjOOYatWTygpha3V/tV5Mp+NWq+V5jrVaOaLbbW9WC5jEnp6erCEwGmenF0hUQ0jAfr+v1xu4O0dRNJ1O6/UaHCOIAsPQPWstAuYsFTlgQr5QkjBLDPj1EHhCBXZijEoVCn/hKXyJ3cu8FAYFOaA5Y6zM7RZEliyz3B5UxEV4PMJrDHFOQnBjGQnDOSfiWmvi4Lyfc2OAYktcKpkopyBxRgQ3oGWMGa0POK3ANUiolKasHOjAyxuyQE9AuuaAGhEZIqAjKrT7ArnvDPohJuWLoJsiTL0wtqISKoHmi8NFQnDFFWeMCSmA8YiKyEshhBBMa82sJU6ck+DCSMFLXQY/jI8V5dAexnJdhnfz51z88ihxxoowS4g8ODEiwwVnxMnaPE+RXck5t6ZI49UWw7WKQ23KQaLWkiVumbBckJDMWHDEUpCSxFhhmDTMcC4Y45hdZchqa4TRymgmODeCuLJwXL4Y3WqsRuklxPPpeLneqBSY6Dw/fMbiLL74ulRzCcYNNPwK9LO1El0YQYJxS5w7EKsQCcEUl/BzMGZlUW6WVSVaFQwWbcmZIFHqcLggokMN50rXWqtzi0WglDycCVbqXUpnAkpMfMiywCrHDj9XnIVFQ5Ioak+sA6jbheSH0yyl5OUgLlOkuSs0U8DHM8aEkiAVBOONRqPdbm82m/1+z42RXLQatcaP78aPT5nOa7Wacl2dpa7jp1HMGPM879OX2zSxo6PTyXQSBAGzWnBrjXGVG+128/k8iWPoZKy14Ngcx4Gn8ObmbjKZVCoVyF6Bw/I8rzXqCLWNogT8XLvd3q43xhin4tebjSxbPd4/kLG9dgdWNowgQeptGIaTyaTieHmedzudAPm4rjtfLR3HMaQ9z0PSNg4waolarXGQrdfrdchLED4DO1QU7cHUcs4RZndwWa3Xa8S/wI2KEghMMAZ3Q3WAWXdpmiKjEAEjsHuC1sX8lGazud1ue4O+lHK1Wa9WKyYgZtNJllpr0fMFVwrtTZIktXpQrVYdxxmNRkIImCMxzdFaCyHEw8MDdC9aa89zOPchlzfGTGdjKWWn03p4eAKhC4IcUp93795hphXayp1OB9nz4/FY53YwGFSrVaOzZrtVr9cNkbZGCgGN09HREa4FNCV2u918Pk/zbL/fa62/fv3KGLu4uIAla7lcTiaTer2eJMnp8cnr16+xowFbrNdrpNGFYfj4+Ih8ekyL7Ha7RAZtpSSJOOdxbDGDSQgxm82OjoatVms6nSIWBr4LhHaDccRMLuDyIAiY5Z7nVatVx/G22y1UQwCdd3d3aZpCM5OmaRAE37592263V1dXx8fHiFi5vLyEVCZJEmRO49QsFgukyriuW6tXt9vt2dlZvdn49u2bN3FevXoVBAERJyZybR+eHt+8+a7ebF1fX//86y9/+ctf/u7Pf/qf//N/zpereqMIKQLvCBa52Ww/PD29f//+/Px8t9u12+39fo9lidpvOp1Wq9Vmq44YTc55lmUllN/+0z/9E3J14IdDJ2S/31trcZHiWoDxI0kjKTTifTzHhat7MpmGYUhEqH+yPIGtIs9z1/cwLjfLsvF4zB8ekDSK8eM3Nzewl6zXa9f1PM/n1sJZqHU2nY6hQDw5Pap4/tXVFZhXpQQm+B4fH19fX8/n8+1+B0nV+/e/jIZDxNq8f/++Uqn0ez14/qy19Xqds6jdbkfxvttr7zfb/3Vz+6c//cla++3bt3a7Xa/X9vt9NQiQ8lSpVIbD/mq16vcHrutOp9Not7ekV+tFu9U1xnBX5To1VjiO02o0/cHwafIQx1Gr1XJdB/MisN44F1mWzWbs4tVRp3sBxHl0NBwOjqfTqec4Qso8zw+lAlKYzs/PGWNJkhLR8fFoOp2HYYhrKoqiLNtCi3J+fo4WGec8DMMwjk5PT6WQlUolimLkXLkVH4NRsfg5T1xXOY57dHRUr9dXq1WWTbCtgZKv1+uO4+RJMbQOyBjCfSLabFfoXgpDjFvOJdgK1xOC8yTOlGS+7+Z5Ph4/xVk6nSzz3OaZJSbiOOWc15vtPE99vwIhFue0XKzq9UYQ1DfrHbgVxthutyUiBN1inwTfBMoA6nzMHyXitVptuVxyzpvN5mw2E0Lsw63garfbScXTJHKUcFxpbM6F7yohhPCDgHO+2+0gyEF0QRRFkPFkWZYkyXJJnMswDDeb3WQymU4W7U5Ta1vxXddTQVBJkiyoNHu93mK+0Fq7nsKoYCm57wWu62aZ3u/3zUYLm/Z48ng0OsE9HW7UarWGPurl5eVyuazXG1mWZlk26I8AuKvVapbEtaAqpeCcHFcyZrW2RWQ3w6BQxqBPoH83cfTFgw4JHi+U7rzMhSwhVPHn2pKQRAYQpYyZFiQZB3Avxz7iaQm0ObTFhqw1DBqMw+CnEkcxxoD1f5ehzoiYMbpkZA+TVTmjIoeDMSTMEJG1DJEyzy5bQ1Qm6HBezMwBELKcI/2mCOFhBe8uhSi0ykSccXOA1wDurJBlP3slxQvAzUU5xp6Y4QZUv7WCacsVAiuJCziGLROCeKHN5kWOSAHtJDFjjC3jAVlp4tT2N6eFc05UZF8KYowRUkeMPXg9cbTt4Uz9FhkX2UFEhEmihsNOzEhwEpIzyTlxbm1mjOSccSKuCLE2KMYs51YIy5hF5wFPLhgVgpmi1jpYLg1gAB3KKqT3vJjbBayPZSkFOh6SiOBGMCxnjCkcFyEEeBEhhFRSSsmJWWs4Y0IwxRkjOD8ZL5faIVsehYg1rND6oGRkxIgOaaNCCC6klFKIIo+Rc1QnOILC4tgRMS4ZIyF/H2UqD4MMSuBOB9l9+XysmMNVrNHD38K3XjyPlIfy0Zj8sPjq1Vq1Eui6RjpHvV73Xc9qk8RRlCRRFHmOK4Rg1uy3mzhNuHTCaFf1K0dHR4v5OtwncaLzu4d6w8uyhDGbZQlZKYhFUZikUaUSQFuPXu2Bnwar0ev1DqFXcZQ0G62Ts1NcSKPRMSQWcZrO5/M4TYTrDFvt3Ng4jiARCeq1OIygo0WCOD7CSAjOuRIyDMP5YgHJl+d5QsnLs1dJkqxWKxQJ1WoFnP1yucaY9CAIqtUqhM79fr/T6ex2u59//tflconQxrOzM9/3szx9eHiAMnW/32d5muVpy21Cs1utVoF7QGIJIfb7PZhCSFQBpNCQAWqXUoO+tdaiqpRSKuVCiorCYLvdKu7AY3B0dOS6LsLpcG/zff/x8XE8HmM3QW2GoH10lhHizhir1Wr1qq+1TdN8t9s9PU4w51xKCU2FMWaz2dzd3UVR5Pv+aDQCHQujLYQiSLSE2PTt6zeO6xhjoiRxfS+JEx0lV1dXEOFAF7Rer8HenZycpHlBnvm+v1qtptPpaDQ6OTlBZwZ4dDwen52dtdttOG4BHBeLxd3d3XA4fPPmDRE9PT3hz3GT3u/3SRKhcEIvRSk1GPQmk8mXL19gDNBav3nzBv2QOI6TOM61xgjJZrsF7c10MReMAQpIKaV00OIouC4pUQINBgPAl7Ozs+1uM5lM0NzYbreYrvXq1StrLdhBEPNI+Vwulzj1WZbd3t8hCHUymWTZF1CDvV7PWptlGvKkQX8YhuEvv/xycnLy+vVbxImg/Fgul51Oh3N+dXXV6vTq9fpisUCS98PDw7t375D0yjlP03Q+n8/mE6i0gVCDIFivl4NBTzKOPwSr6jiOEtJ13WazPp8vGWNRFAHWZ3niegoCG0iQsywLw7DZbLbb7cfHh3q9fnZ25npqvV5DBt1uty0jQCL4j8fTKaTYrZZ3cXGBLdv3/YeHRwQHmSx7eHio1iooC6fT6Xa7v7u7++7N29FotNlsjMk7nT7mS/i+f35+/urVqzzPDdmjo+H48Qn2D0irt9vt4+Mjrr4oitA7koqfnp42a/VKpbLf7/73//5fjDHMIn316lVeJsqnaTqdjpvN5nA4rFarRBT4xcFfLBZcULVSOcTsbFbLZrOplDg+GoZhCP6w1+12O53xeHx7e+u4HkZjfv58dXI6dBylc+44Fc/zWq0WOkIgfTnnSZJA5bJcLlutFsw5Wusw3C1WG86567rn5+fdbncfxdfX147j9Pvd3W633+9Ho1Fu9HQ6xbAzJFDt9/vlZq2UatRbmGGH+HZchkmSIPgIXDWRcV2FiJX9ZhvHcZ6nrVbLWj2bTI0xyhGtVstaO5k8MW7jOJZaV2uBIbbdbpUUgixnQZYltUbVcZz1biuEuLg4u78ba22llIIrFJPoMRpjMm2MFdV6gzMRJXFubM1Ru92u2WgjSHQxXxpNFb+a53kUJoP+CBRJpVIZDAZKqc1mV6vVVqsFUTEjmXOus9zxeLVWQSoX59x3vUaj4QcVFJOe52Ex43AhZhcx+ZVKhchUKj5ic5VyUQK1Wp1GvblcrDExar8PlfRJm4rrWa0nj5N6o1r1q+vFejjsz2YrKT3GuO9VgqCm9TSKovPzc2yMcRyHYdRqtQ65lqKcduc4DuccE6CjKHq8fxLCMl6gHCmlyXMhmbGGMV4mmh84Pg5W/oDOGcPId3FQkLNSjlJiJkXErDUHHHJAHdZwEpZTwcdzzskwwzSQuiyAB7Cd5VwZo4m0UJIKDTxZe3gh/rt3pZSyFtMjC1hvjNHaUPGdZ55eYIINNPowjTIO+vIAai1jSGfHWyo8naxghhnnxDhyFDnjmP9DBGm0JSIhmTUSRC1n/EXt81wYcM4h15ZC4k8g44ZAgzFmjOCCeYxxzrXWVhv0IgqdPLGDYoQxZBQWKZmsNG7iZV5q/cuDhp8aIpJMHsQ2UgrEgmudCfGMmFkZjMMYN5jbWpx6OrRlhIDWWghhZfG3CFp55osNcUPkFIuBGWGgTTiUf0RGMALpwwWTUhrDDyVE8aL8ZeQREemiMiLLOOzJjHFuYBhlRgjFJZMS6Y2kZCl+t1YgVR2jTCUELIwp4GHLiDTiM7GwSk+GYMwcfAusOIxkIW8Shf4J5xqp9fyQ/Vk4SPghgNMSp0JpL347pew3k4TZi45J+UNUg6JE8QLpnowxRgIdEbwEf9E2chwPfQ3sCBAt4K6ghHR8Va/Xead1d3fX63T3212Wxq1mczyZpEmSmJ1knPniw/urLLVpajzP55wfHx9byhmzdzf3SWx0ph3PUUqs12vkbTmOg1GCCL2Kk4QL0R8MlFKLxWIfRtvt1nVdQDopHRDDaZ6D5lSuG8fxhw+f6kG11S0EFVawLM4gMgHWxIgcIYTjuVKqMAyV5+6icNTrGrKVaoByELSo1ppzmkwm4/HY94PRaNTr9aCYJ6JGoyGl/PDh1zKAr/369etOpxMn0Zerz6PRqNFoIB8dwuvRaKSUegrHcNwCC4LaX6/XyF5oNBpv3ryBFWy5XIKT5pw/PDykaX5QTruuixtMFCWizIkH6JRMgZvUWiulsNczxuaLKfIHMf2n2Wx6nielRFgBY2y5XIZhOBwOu90ueq/7/Rb1iXJEI2jX6/Uw3EVRPBgMACsnsymmbj09PWEM+3dv3gLDbVZrY0waJ1mWxWH0MdenZ8e50fPl0pAVQjQrVaD8NE3xGWGiRa6FdNTx8THoKPQQcJZfvXoVx/HXr189z1PK+fbtW57nT09PECQgsPL+/h7TTAFP4zgOggBeZzxA+qIwAClycXFxfX1tjAGAhm4eWL8aBK7rfru+Xq/XzXZrMBh0+r3+aBhtQq31/f39brc7Pj7mXPq+B6dsmqbQdkOQgLk2vX4XPQF80qenJ5RPr1696vV6kIDvdrvJZDIYDPr9PiYxcSmQ+Ok4DmNiu90HAdr6wnV9x6H1et1stKAvqtfrSrmcGyTfB0HQ7Xa32+1isbi4uNjHUZrkaFYc/NDv379vtVrHx8eIMux2u7V6gGpqPp8nSYKJOUEQ/PDDD9B3eZ4nhIqiKA6jIAhGx8NKJXx4eMKFs1gsBoMB+jAAHMfHx0rI+/v7q6srxngQVNbrdbfXzrUzn88hKptOp17Fh0wLrx7s91mWdTqdVqtjrQUoqdcbZ2fnk8nk4eFh/PBARF+/fg3D/mAwaLfbp6fn19fXHz58eP36tTH5drvFgDBM7WGWkixJ01TbvF6tjUajm+vrWiVAONViscjSdDqdovWEMNZWq0XaRFGklMTQLjizP336NBmPz8/PgXQHg96rV+cwtPi+b/LCc4JuEjpI3W7Xln1VoK5cMzhxcW9rNBoQUzEurGXD4dHnzx/n8/c//fSHLNvd3X7s9/vv3r3LMv3zzz/3uoNOp7NcLr///nvkAsVJBhF2vd5ANGGc5oPBoNlsEtHd3Z1QEkqkIPDPzk5+/fXDcrmsNerdbheXg84JoL/daUdR5Ffcy8vLu7s79C6QXYvPi8vW931sGrhklFKnp6fIhdxsNq1Wa7maYytwHNnr9WZPYyIqrOfGGGsrjWqv11OSGKckSSxpx3EqFYbFE8dxrzswxuxXS0j1VqtVnueuV61VmzonY7LdLjw0YzESAc2Wk5MT9GyxxRljDpItOGGMMXmaWmutbQVBsFgsWq0W5gDAEwJeo9FoRFHUbrbiNJlMJvCvg+GaTqdgvpMkAUnEmLCWZZl2lLdabpiynU4rSTLXU7V6EASV2Wyapil3RJ4bndv1ehNF8XDUWy23x0cnaaJn02Wv15PSMca8fv368fGRc9Ja12o1zsUhTAx7O3YYSHrAgm+3e8eVWZwTy/2KLDzKxqLRAZkJEUGRwpg42DEPG2PJWL+As8/5HAWMLsXKhQDm8AsFYLXllCEmALJL9yoZA7Fu8YrQnRNn1hxUN8xaa2zBrNvniPTntEcArZfvuTTR2gP5TdAnFKpxlAMoJCTnTNvDbxZQteDJLf5flS/0bF2FKp0RWgeWGAlWuDwP74Q/IzELQQ0rtNOccxLA2cWUKcRxStDBaRpzLpTg5D6jVSGEK10Osf1zBqJAp8FypgD9D9N4jLG2hPhQB9kCUBMZXox/KuyLCFZBXVfIokozbtmpeOlCRsEDPY3lnCvpks3xfca4kIqjgQLFuFCWCUxzJcMts9rqkm0nIhI2N+XMyqKAYs8WApwvKp2WnHNDzxONDmUMQTReqJW0KYQpgnOuDnNxpZRKAaszyGYkV1wwQfZQhjLGDJHFPDGCbbRY2K50LWOGCv8vE4eRXRaHyZIVgkkpuSjt3WXZZCGloufPzQve/PkzFOf0dx7nYkRwUZlRsYLx46J9g4mqhzOEtQVWw3Ec/PLBwApykVmyXERRRESdWtDrdKfTaRhucdah7hg0q57y0sSsl7HW2veqXsV/8913rk++y8HeNer9D+8/J2ncbNcQZ8EYw4BuNMqttUdHR+BQf/3118lkCliAQJV+v1+pVI0xXErYjGq1mnRcJeR+s5VCkDZOpRLb9OdfP7SCAFjKdd3eoA+IM5lMwjj64YcfuBTVeq3WqPu+T5ylaYpxS5gs2Gw2+/0uyO80Tfv9vu/7RISob9/3ocsHlwP5uOM42uSXl5eMsf1+7/s+lBtEBBNknueccyADzjkiw/M8x9RJ7M6bzQbzkhaLBdjZRqNxdnYBi22appPJBDGXuAIB9TzPi+M43EaoX5FpAxYTQTpg9yeTCeccZRiiLYUQWuOuWUEk3Js3b8hk4/F4u93muSGi/X6fpjE0J51OB5Do9PT09PQ0TdPpdJolaafTgT4eafGIHHa9SuT5AH83d7egPN2Kf3JycnJy8vT0BDULEaVputlsfN8PwxDKq3q93ul0QKSFYYg5qSifAMShBsEDvW98HDhcq9Uq3gw0M3Ec4kwdSrgsS8B2HB0dnZ2dXV9fY7ZRv18wtff397VqFX5WKFt2u91suWCMHfePttvtaDRar9egMIPAhxwc1ykcfohPgbkNtYSU8jBGHvYJeBiICLUKJMudXncfhYyxwWAwHo+TJLm4uFis1sv5TAiVZRngpu9V0L6PoigMQ98PfN/HxFmofU5PTyEi/0//6T95bgXhLY7jHLrtm83m6uoKzyClPDk9stbWarXNZsOYPaSLoDnjuq4xJk3zKIr2u12e59IRy+UySaJqtY6/ur29HY/Hl5eXr169+vbt22q1urx4Bb3N3d29MRp5MsAcrutC7LHd7wBqGeJoHWc0GlUqlWazDaSF6CF4YZvNZqteD6p+kiTG5Le3t2mavnnz3X/9r/81Dve73Y6oD653v9//4z/+YxTtrSbX9y4uLtbb1e31jRBi0O/bXC+XywMkgl5ZKTUej2GE8JQzmYwxkgydrixNf/j++8fHR7Ct6/VyPp+3G82LiwshRJJEjpSw9nqeh0bWdDp9eno6PT32XQ+76+3t7enZ0W63gxKGcw46/Pz8VZ6lOqeH2Xqz2ivF1stdEARZkqNRFsdptVp9enpiUqDgb7fbd3d3rXYXeHo2m0EcEtRrAKywGs8Wc9d15/Mpkdlut41GTWuLjwwI6CiPc3F/f4/aTGutmT4+GT3cP1lr8TxEHFZRkCy43aAz2W42gyBwXffLly/GmEatfnZ2tlgs1usl0DwRwQyQJInizK+4MDq7rpvlKWPM87yGUFKk69W2UqlGqzk2BNf3+v1+rRbM5pMkSRoNh4hvNjucX8yRwGhVbIYHhzHyapIoqlYqUIrvNptqpVKrNX7++ec4joUQ8/m02WzDvo9bIfqKiDxOkuTu7q7b7ZKxvqtUo5ZlWcVzrLXMakf6vV43qDXG4zGRaZbh8Rfnl7PZrFpXtSCI92G0j0gPjob9+9vrJIoik1b8ahTFSrqMhKM8KWWa5kq5cZyuVptOp7fZbPr97qtXr5bLZcWvd7vdKIqx/JRSYRhqrV9dvM51ivArYzTmRju5HPZH09ljnhspleTCGCMVImKKSTdkS9sogPuLLI0CiZa64QOoODCm7MVcISrH1JfIpGz7s2JIJxAYWOcX6KV8LfgqZQE5IAQwxhArvlMCdwFVcGLyA0l8GFtpjNHGcM7LkHQumEAciBSSiFtihsgYy9jzKBsqEmPoMMHyBftZ1hVcMCY4F9YaIajkcOkwuamkgQ9orQDcJXP6LDE6fIcLJrjkJaBHmJ8UFgDAGLDplnPhOErQQWXzrOc+HMby/RSYW5O1hoQQknNbGmrxPgUTrIxGxPtBeQAj+MHjCwRfmh5/EwOKX9CFJF0RZwR9i2WccyUdqJjIWkiJAPfp97OxyhOqM9yjD8sJ7wh3JSKCGe/wSWGOOiyew3E4FDmsbL9wTgKFF/TxnDNO3FriggRkXERkmOU4KJaYIKutZcaQ1sZC4EVWCCWlNIxn2iilDGeWtDXEGNNaK+FIRxQQXAhtiIyVjMeaGIPSq3B7WE6WiNlCe8MYx3AArJEi//LFJYGHdIos/kMQJhZVYSMwjDGS5QEiy3NinKOWZTZN8SRaJ1K5juNFUUTGBkGATp/v+5JISMMYazabaRTPZjPLWaNeJ3Jn09Vmtda5OTk/Yp5ah1FesUednhDi5PTtarVSXPmV6u3trTUG3WokdiMSAbEhUZxMJtNKpdLvD/JcgzVvNBrNZrvT6+33e+k4Srl5bjjXvcEw8Kv7/R4pK9PpNHp41FrXq9V2tyOlZILDSGStHY/HUNaGu73v+8hnUEqAvAnD3c3NTb/fxwhVIgKWcl03jsPlco5IxCAI4ji8vb2peMF//S//BZGCnus+Pjy02+2YR4vVMk3TPM9/+eUXzvnJyQm0GW/evsadNYlT6ChWq1UQBKPRCNAkSZLtdotiiTFmDDWb7VevXmEUy2azyXODYIMkSoUQgqs0yeezJQDQbDbDIHTcJjG6NcszhzntSjUKd0xw13HH81lQq0rXqXbrVdEKt7s0jEgUm0KUxYtZuNuFnEtrCznBZrMxhobDKphUiDSEEKRsnmaO8pR0q0Hd94I4jrNUt1vdeq05W04932GMBbXqn/70pziOHx8fkyybTqfA/VprYI5er4d+CPi29XJltRGMK6XSOAF9nqbp9fX1YDCAr1QpZRkNj0b39/eSSSklGjJCSdd1ibNGq0lElWpQa1SttU9PT1yyWrWqlFgsFjhiaKHgvoga4O7u7scff2y32w8PD7P5nAsBfnExWwwGo26jM51Ov15/A77hUgiSUspdGGXaJHHMGPPLx2KxWK4Wx8fHjUZjt9u9evWq0Wis1+v379+3222oKabTaa/Xwz7d6XQw2b5arw2HQ7h1Xdf9+PHj58+fMVi0XmuMnyZ5nlerdSI+HB6FYcyEm2fZpy9fEV0ieRHeOhwOT0/PtdbhNpQN6Uips4xZG1lb8bx6teq7bhwXQm2t8zQKA98Pw/Di9ATQf7/fo3Gx2+3W6zWm9iZJMltMq9WqX68E9VoYpwiK6ff7CEX98umzo7x6tbbf79+/f1+v1y8uLtrtNgbKFhmacWosi5OMS1FrtLbbLRMqSRIhVMXzmLXhbrdeb9vtdrVanc0KaXUxiTu36FmNx49WmzzPP314nyUxunYAtUKIarV6cnJyc3MT6STP8+nsqV6v2qpnDBETx+eXnuM+PUyFYJxJrfV2u433+8lk0u/3t6sVmNcwDOfzebfTieN4uVoFQWB0dn9/e3Z2NhgMWq3Ww8NDo91K03SxmAnGhBDv3r0jos1mIxg167WPHz/qLB2OBoPBwBhtrN7vo7OzizzPP3/+fH5+HgS1n3/+Wckie1SbyPWl1lobVm+0L9+IxWIRx6kxZjZdMMbSOO92+3d3D1mmHcd7uL9njIVR5Dgu1pK1DIOKoMereD4ilcbj6Wazq9frnueZXGMAsOv4KHfPzs7W63WtEuTW3N7e1mq1Xq8H6QjKTmPMu3dvHx8fkTJ5cnLied58Pn94eMDCE4Ip5TiuhDNEKQWvp6OU4zhpmna6bZtnuU7Xm2270wk483w/SSOjWRImcZx1e+3FfNXr9YymOE6Gx0fNVjWKd81mfTg42keh2SVplhJVXVc4jgzDWEpntph7nuf6HmNssVjAJUJEQa2x3+/3UWyMdRwn0/ZpOgnqNctZr9dDDwEVzmg0iuMYbg2ttSH79etXtERezqvinNdqtX6/H0VRpVJhVtcCH2andrs9n8/jJJSKx6FVKnFckWV8OllPZ2Pf962RUkrlCNeTQpLrOlJxxd0s04iILfxXlUoYxtWgbvQ2jhMpFfgX7JPVoI5wfcbYdrtFE0NKeXZyOp1OrSUpHSHyas03LPNVJdcpWQ4iG6plskCNGHDzjKo5k8UvENFvByq9AO65LYIuBH65EBJLjkhHZgnOWGvIkmb2We7CSD43/LnMssyXLpGGECDPc84kcgmJeJZpYworIHAeUk1e4GRmLTOGCcGZBcPNuWKMMQz/5FwyTpJz6TlG2zzP89xaJoAFoRPlnB86DazQ0vwmZufgnpScMSIpXeBU3KeMza22XJR/z6wsUTX0KiVGt1yhcmBAd1rnRExKJrhgjCnlAToTlf5XhuNfUNEQaHDOSQluhTZFpVRYPDmH5PWA0V8Qu8ZipqeE4kcTkSM5k64gkZo4NdnhJDrKk4qT5VJKsoS2s1KKyEruCCnyPLeakSFiBJSvJOecO0qh3GWMua7HGBMSBwwtEVhTc5trEqS4IEGaNF6ICWEZOZIbmwshpICtlEspOGfGvnAvAOgTOxgJtNbWMiaIERmyggn1u1/lz0fk0Et61vLTC9hc1rXMWnT9uCkKI2YMWUZkudZMCyM1E0oKwbTJi55KmdTOfytdOpRQ+CcmtOJYIz/+d+UsY4yROBhYyzfGUAi+sC+U16gl+2wSZ4IXfRPGeBTHaRIZYyQXWZYpLlzX5YKZzCgpe53ufrue73aY4PN495gwLoRodNvz+fznj+/7o+GPP/1du99rBNU8M1+/fm01Gtso+sd//MdarVarVqVQjU6TiHbbPcyC69WGLGu2W0in3mw25+fnEFY2Go0gqP7DP/zDarXq9/uNRgt86j4KTc22Wi04k4gIhKIxJkpC13UP/kIwK999992hSRRF0f/1f/0/u93umzdvWq3Wx48fwe7jlgPPBLSGYLNWqxWa0UT0448/Sq4Q17BardAy7nQ66/UaJc1kMiGis7Mzx3Gur6+llIgmYIxVgxqYY7SAP336ZMsgpCiKwKUdHx+7ro/secRyD4dD1/XxrqSUXIrZdHF/f4+2A8Il6vX6YDBAp/j8/DyKooeHB5iohJIAguPpdHYzf/fjD4Hn+55Xkc7SUrTbB0FFea6jVHM0QmohohiDIEA4/c3NDcT3CBiBCxYQChQ1bpxpml5cXLRarU6rPddmvlzc3d0hcgQIIE8zRCLCGck5r1arw+FQSonCBosW9q/vv/9+PJ0gzwepEUSEoZXIsmw2m+DeoJ+DMRenI03TyeQJqYIXFxdPTw/o6YP8JiJohM7Pz4fDYb1e//r1K5LCwcRfXV1BZQvr8PX1NRG1223lOuj2KKUuLi6IaDabTSYTz1F4afjhoHa11jrKbdSbZFkUxq1m+49/+CkMQynU6cnZp0+f8mwMXKWU02l31+v148PT0dFRp92t1+uOcvOsGIV2c3ud5anjOCDL4zjGIYKIC8I2zjmzFsDl8fFxNBpBztRqtc7Pz1ut1nw+RwAOhovFcYSzBrkOET09PcHmOxqNkMiJ0bMYIAXtSrfbBcWY53mn02k3m+jjD4dD3/en4wkjgQR3aGB2u91sNrfWJgltt9tKpeJ5XhiGq9XKkq7Wm/gnNA+tTsvzPC4FsxwJRWX2n5vnXBdREuQ4jpTO4+Pj69evz87OOLEPHz7gPoeLCO0L13VbrY6UfLfbLBeb4WjQ7fRWq9XHj7/4biVJkijeVyoVx3F++uknxQUgEbpznHPkjS4XC855v99PkkRJD+n1j4+Pr169+uGHH25vb5FYH+33Uko4diaTCbPm5OTkzZs3aNf4vg8p0bdvV5VK5d27dycnJwgd+m//7b/tdjudGynl6enpl69Xvu/DBQGFBkR3eWaWy2W7163X61mWzWazdruN5R1G0Xg8wXtWSkZJstlsMEECdoJOryulDAIftiIA8Wq9ZmwerkNEDaILNDw+Oj8/f3p6Qlzp8fExGmhw0J6fn89mM6Vkmsbtdnu/dxfTsFLxEKsFob/WWilx2HvRt0HPkCzTWruuQktECC4V931/u90LIVzXrdVqmTbbcHvI1NpudrVaETW72+08r5Ln+evXr/f7SClFRL1eb7vdpmn6+tUlgqrwuthOPc9zHGe1Wk0mk3a7jaGzOCNI2Z9OpwDosHDkeb7arDEjHJZW5ahOp7Pdbj9//vz27dvhcHh/f885h9Kp1WrhYBpj4DDx3ArEZgjPxZQSjBZutVpYybg7IzcJfUWk1mAPlMLpdrvGWEScoZw4PT2VwsHAYAh70AS+v7+vBdWTk5PVav0MSyzXWjMSeZ5xKQoFdmlIBaiCAZSIGAmw7yUoeBaFM8YQk/ECxIuDpAG/bQwrB6li7qZ5CWBKQGIOwF1wyYsZlIY4I8OtYdbmpf+QyrzvUjihlLRWiQLVEFnETgAFiRLqFIDnBew5oBrcMTP9AlaRQSRlOeIPqP3ZXfr84cn+LsWFmMEhYweJDlnGSIjnNB6IG4q39CKUnRVhIZB0F7juRT8Br1haDl6gO2zsB+T68tMZkxtjGJPWWms1YwJqFimLuPCC5LYFEe75jjJCSEspwZFvDePMwluii8mbHhHluWaMaZ04jlPI+pF5IgqBDcjvw0ugXNHGSCEOLQ5YKTi4Z/HC1Mu55EIJnIWi+HmJWsVvpeDISj8cFlGmv1MRikjqcLAA3OWLHHh8fmKWyPByYR34fM4EqlqsbEs5EbdWkyCdG0PMGqatcRzGLHMQDZRrjuR2xh3nOZf9+Sz+tm3BOSfDGDecc2PN81k5rLMXf1ueXcaer8mX34fOiaHSNsZYqwVE98ifYRbZBUpIKaXvOkmShLu9J1Wep/vtdr1cwaa2Xq8F45vNWirncTqxjGrN5o8//lj1vXS7f399f39/Lxg7Pz9//+tHznm329XaBEEglQL0TLPU8zwh5Gwxf3h6fPPmDerI6XQKHXy1Wr2/vwc4gOIT7iLlOtVKIASTkrdajaOjI0SvTCbLTOcgsM/Ozjjny+UySRIg+8VigcA75FijBjg9PYXeA+E5vu8fHR0h4c5xHIzj6ff7sDzW6/V2syMkg8q82+2COKnXa7nRaZqenp76vl9GwsdBECDmQgjRqDdxeSBMEMpyJGxsNpswDOM4Ho/HWabREe71eth9sIkjE4Y4c1QhrmCMaa1/+uknAA4ol7D0cdvQWm/WW7/iWmsh0UnTlFueRKlkXHDVanXiOKYkF0HhgIF3EDYs13U3ZXQmK8CBQhsBliloQA+35+l0KoTodFvoNkxmU0j2wdrqLAcyhqgAHNLp6SneMFJWEAo+nU6Pjo5OT0+Xy+Xj4yNC7okIki2tNeaVcM4RcwGNMnopGArDOX94eEDWPud8PB532x08+cnJSafTQbaalLLZbJ6enm42GwAdYD40hfDf0Wj07ds3QN4gCFqNJqTkSZJE+/D7796Nx2OlVLfb5pwjUiYMQ0a8UiHG2GazSZIE7sw4jh8eHt6+++7i8tXNzQ1L+f3jAwjj1Wa9Xq8xq+u///f/7jiO4zhhGNbr9R9//PHr16/n5+eNRuPTp09huEPTczA6BuWplGo0Gq5S9Xr948eP3759s9ZeXl4i/2S9Xp+cnCDTEKfM2ufRuVJKWDbb7TbQA/aHb9++EfGTk5NWqwWxBBC/McbxvWazeXN9JzkHjwt1/m63M5o8z4NHGZWe7/ubzabTaVtrl8ul47lIDAyjJNzuut0uhtUHtWqYhOtw53leM2hQMSEogJ4HvSljDOrqwWjEOdXrdc65X/FPTk6+fv263W5RPgF7EdFqtfC8Src7dBxnNpvsd2GjWW+16zc3d0KIwK8Yo7XON5vNxcXFn//+79///DNSpJCEi+Jks9nADM2ZhQD66enp7u7u9va20ahtNqt2u221nk6nYRhKyff7bZ5mzWbz6Ojo+vr66HiUZdmnT5+CIGg2T+7u7n799dejoyNj8k+fPoxGx0mS6Nxst9vT01OUMbgp4lr+9OlTu90eDAaQ2htjkEAKmTXUcUdHR57nzWaz+XxyfHq6Wq1ms9nbt28bjcb9/T2YkVarxXkkpYONolCVNNpIUeRcdDqd29vbVquFGsNau1ovwEZXq9U0TRm3iF4Fm6CUgtwIl61SSnAeRdFyuYCuBqcV71nnJstTTmStXa/X7YavlEzSnCio1+sBcbTgcmN3uz1AACL/ifhqtXE81en0KpVKluYw2MDnjRtEr9erNxur1Wq73aJcxHADFDYQzGBJgx3YbDbIEsDgJKBwkDu1Wg07NsSQ2/0OaaSccxRa8OlC7O77PgRgyCpYLBY//fFPjDHMRfY8z1qFti00iqPRCEo56L5ABrXbbbyB3W7X7fRh/2g2W6D2sfG6rrvfRTC4o5otcw6iVCqkL5ycjiylRpPWOuMEaTJ6+EQF3U5EJWRHwLugUtV9gBAvAMNLH6ooyenn8oAYJ26JiggQa23ppJSF/oCIqEDtYJGFZAdURyRAohljOHeshV2wSCOBSEEg+04IDP5kjBmjcSey1rIyduUlRiqAEBQ4hzB0+cIHaAlNZms1L8ypBxwFfEicc05A8zg+tvAZWi4YJ86kPIjLAVvZb1Ld8VrEi6KIc2yGUMUQMVuIxZ8xXvFP+xvW9d/9gj1I/4vvs1LzfPCzvvhaCCEkU1wQObaMVFeKSelxxSGcznOT55rIuu5hXGt2OAtaF7GML4UrvMwSACw5vFvAaBwZzsmYspYSgotnN4IQQmGelDg84W8KsN98fjwzL8I0GWMHHHJ4S8YYdSj1GCNGzCJQqFTYcGKME2O2AO78ebkcnheyKmNtkXCpba7JaGaIac2iJBZKeh5xJZnRQghHKcl4Vhp+DwFD5bF49rPiniS4tIYVI6Je9HsO/3yxgn87tZiekf3zhckLEA/dEzRDALiAaFJw33HgOPR9n2mTJel2u5ZSjvqD3W43DhNmrCtVZrV0VLPVbLe76/XalcqVymrtOU4cx//6Lz+fnJw0Go00zRqNKm4b4JNOT08RCXd1dXV+fr5cLrGZVqtVBCx++fJlv49ev33baDQ8z3PdIspDW7PbbcCztloNIdhyOQ/D0JgcxB6Ga1xfXyOzDGw0qJdKxYN+N8uy+XwuZSEQhwEIbC4gDpKq2+02ItUYYxWoJ5Ow1+shQ60UjpvleoWjB/UFppyA1Gw0Gq7rBpUq3jDk7AeGrxBKXlzU6/X1eo2+dqfTYYw9PT2laSqlAxxZr9frzYajPNB7cGIJIb5+/QopMBWUpIyiSJPtttog0ff7bb1eZ4JPn8YPt3edVrvX68VhiNjycLe32oBKJyKgMRQbILNRoONmidtGu92OoxR5L8jWADU7Ho9X6wUMbf1+v9vvAbsvl8t+t4ebXJ7nQIR3d3dXV1eALICMh63h9vb2/NUFxD95nvf7fcYYhkxxzqWUINiAb8IwzLIMwxQfHx+JDOyY+/2ecy4lT9P0/v4e28319XWlUhkOhycnJ/BX4GYfxzGE6fjgSikUfpxL3/dvb2+XyyUA1v39PSpePCHEP0IIzgmiL2PMfD4vLIBa471hHEyaph8/fgSBBxgK+hyDqJA393/+z/8BZw9/QrvXqVSrk9nM9yvnl69Wq5WUTqPdKizdcVyr1c7OziTnxpjT09OHhwd0iv785z8jsvPDhw/IbkL6Ki6T09NTZOR/+3aFCFHP816/fj0ajaBajuP03/7t32D1A6s6Go3AyNbr9Xarm6fpobwB1gz3MSqfbreLzJM4TsIwfHi4v7m50VojArLb7TquzFKNhklv0L+9v89N5jhOHkc1rzKfT3e7HaJ1cDkbY66vr6FustYq14ep9OvXr+FuD4by+PjYWrvZbDjniDzqdHqei4G1UZ7HlnKp+I9/+O7bt29exf3x+x+Wy/XHjx/W6zV6L0BLt7e3jLEoisja09PTKI7r9XqeJUDAmPT07ds3rfXFxQVjrNfpGGP+9rf/N0YloKIGzLq/v0f+0m63C0Pbbjer1TqaM0R0c/NNCBFU6ljGAMSgZhFZGATBx48fz89eDYfD1XbjOB6KKNQV0+k0iuMsy+HHVUo8Pt33+/0kjb5dXw0Gg063pW2eZRplbZrGeM+GLLo33W4XIBIRpQjXQpE5GAw+fPiAVmSe55PJ5PTEwxxWzouprnCnYE9Yr1bb7RpwFhH1vudKTLk3xlorpTLGJklqqh7nNghqrosdeJmmWRJn1XrDWtvp9Pb7MEnC/qAb7uNqteoHFc7lfr+HrhmFIu4OSFLabrfj6YRZQvqtEKrVakGWhg0HVh/8lSxHYOJQO47z8PCAwhUzkmG1Wq/XYRzBYCOEwO4ahuFms5mMZ6enp7ttKKWM46Rer3MmkzhD0Y5dHfMKMCUD6T2A77BUoftHRNjSK5XKdrMHwTQYDKgcA4ztK4oiTIfgnHc6HddTvBjxwevV2nw+h3eOkUjTTGvmudIYwzkzZMkWERUQFhdBLgYI4YDaS7a4jH08AKEDlAfItrZ4QmAGqfBTAUkGlVD1gOQMMUbw3VnOuWGGMW6MMZYxZqHwNoYM5cXrMm6IHRIMRQ5ylxhjhhtBjDEupWOt5qX25neYlagYhUPGWm6tIWNy4oK44UwBIwrO2IHMLgAxvijxNAMpToBOnIPdl4W3lnMiJguMWXxeIQ6y5IPkvXD3cmYt/Q6LPh+il3jv4Bk4/PTwC+X37Yt/cWsYQ7lkLRk4baVgHJhYCOYI+cIDauIkKv4pBWNwPKbFJpyTlJKoYPdAfPBSlvPyPXPOjdGMuS+ZeFsIwiQvo1mk4oKUMTmRfUHPM3DBcEEIwTiHHv/F/zhjvxk5+lwbWHsoxQR8mPjnsyJeCMaIaa0ZR5OldCcQERnGLLfEONwPtoxnZEIoImJMME7WMmRGQgefG2s0aU6MrGWZMJKswTqTggmjD41RJCsdgLgxFt8+tAZs6U44fKrDwj18EqBynPjDxUn/TlpTLgsSQrDC/8GstVEUSimVFMYwzbXWOs9TzkmnabVavby8tNpslqvlYuG6rlIuDyq7OJpvN4hrkCRcLk2aIZcgjuPLV29Go1Gea6Uc7Pucc4AVwDLO+fn5OaYgAdciRAUsnVIu5M5BEIRhzBjDvW2dZZAnHgIQz87OHh8fV5ut7/vGGNxmjo6OcHl/+fLFdRXGcb958wYefM/z1usl4GkQBEheAyJ8fHw8xHVvt1vG2Pn5ORH9/PPPjNvLy8tWq4X7HxFZawxZoG3oRhhjuGOt1+vC8GcIz4m9D3HI+/2+3W5fXFwAPjYajaOjE+ginp6egFmldOCCxZBUaBVsaV36+vXrarVCXhu8vNDtVBv1KE3QiWYkKp7XaLWY4LPJFIIT8LWv376JwyiKoslkAvYaOfTwcvm+v99vg8BHmHeapuBBwYIjHQWWMtCxQgjXU5A6PD4+7sIi1gbDiRAohBFLg8EAgAYmvEOHHejZGPPwcIcwH8dxML6k3W5aq7vdNmNst9uF4S6K9uDX0UVZLIp57BBqO45zenqa56nrupwY6CtoSJBvKIQYDoeo7nDo0EkA+T2fz//yl788Pj4CGF1dXWGgIyatAgx1Oh2wpCWxpzFvGL5hpDPh0z09PeGig/YAHx8Gu/l87nke8nNAUi4Wi9FotFqtUAZUKhXP8+Es7PUGkDMFFefNm+92u93t7e3V1TffcXe7Xbfb/etf/7rf77HSrLUgET9+/NjtdpHxl+d5msafPn3yfX8ymZyeHsPAsN/vP3z4gCRNpVSlIjjnGGKAoJt6vT4ajfZxNJ1Os1Sfn55iKEG9Xm+320kUO8qDFTiOY0wo6/cH1lr0oMCXAJ72+/3VchNFUbPTdhzn8vJyOp+Mx2PpqLSSfvfdd7/88sv19TVGFON2cnZ2hmWfJEktCLbbfZJk1trZbFapVObz+ePjIxF1Oh0ErTabTZRwKHGt1dayJAxvb2/Pz8+XizVxhsGi6Oq4UtbrdRTVDw8Pg8Fgv9uNx+Nev5+mKSOL4kEI8ebNm++///7q6jPm9daC4Mcfvzcmz/P8z3/+8/jxab/fg73+9Pnjx48f//7v/z6KojhOHcfDeGBs471ez1qWZxq9Oz+oXF1d/fzzz3/5y1+CILi7u4PkFJRBu93Osgy2fiJar9etVqsSBMvlKo7j9Xo9GAxSnWutT05OJpPJZDLpdrtnZ2dJkgkhwjCsVCphuLy6ukJJHIUJorEqlUqapqnW2HW32+2XL18uLy9hJeecHx8fo7E2GPbQZPN8J09SYibN4iRJ2p1mp9MiMqi04RAIo8haCvyK7/vValVKrnVWb7aDSmUyfRJCeL4DiOC5lSjMZrNZo9E4PT2F5ydJI85kENTjOE7TlCzL8hTlOgIrsfvl5QzmbreLJjIWGHqPMErhkqxUKhhhQUTYkeDmV0oh4XE6nyGxB2KAdrsNnoWIUO6iM4AKHIo1UBu6nF2I+ScA2di70EWBPhAdAFyAGKKEuwNn0pTWryRJut0e4gSg1sN8YujagyDgoqAMsNmirF2tVs1mNajW8sxkUitHWautYdYaZCASAlJIgNguCWDOGD8gAQQ+PjOVB4BoLVkuBAdqf4ZQGqMni/GRjDFGwhrGmUCMejk9SUI2kumMgXG3HOn+RNwYymw5IFlwLgVZDBRi2hqMK5GcMyYJXj/GQNGKIt1YSSmwxyrlFh9NKWENdMt5nuvccGJcFkNaSqx/KDM45/z3opgisYSEEFKwQ5o7L5ToRajOAU+LUgpCZaIiexHLwxij/xvj70vs/hKe0YvHSzTPGAbvFFp2YowLYmQZt1wILkg5OLNMIXRcHvJbFC97I5YZx3E8j7LMpEl+ACpExEgoR4B6YGX+OlbL4U3KMn0RK5CXBH/5EWxxeJkVQjBZHL1S5yvReBFCCEb8RR0igdwZt6wYHcBYQS6jQuClb5UxDqkCrjsFGSXnXEoOYRAxU7xCUWlZ1J+i6IGI8hQW1R6DvZUxzpm1pam1yKJhyncZY0yUAh3GiAzjCgogLD4i4vRcZ/CyyfISdv/uBL888c9cOns2IL+s4X7zJGXgDsMflK+LhAff84wx0+k4DiNkoleqQRKFYbhPduFuveFCHY+6lvGHyTjP8//y17+vV+vCkO84WZJ++3K12GyTJPnpj3/X6/X2Yfjhw0fEaSM8G8kY+/0+DMPxeByGoSFea7QajQZGtzw8PGy323a3H/j+u3fvYGS8vr4GTur0uqDGMdXv6OgICvXxeMylklIuFgsgBq01ts6LizMp5Ww2y/OcMRaG4XQ6xhy+VqsFlgVtUDCmWut3797BWQgvIxhfx3HefvcaScNADNZaz3P3u3A2m5WLnsEqh3cInNduday1jUYDxE8cp0RMKXe12qRp3mg0hFCTyWMYXr9+/Rq3E1nMW0mhncAzI1cewLRarSrPa3Y60HxjtfSGwzzPheDA07jzoVGrlMIcBQRHXn371qzXUefgtj2bzWyZy35IKcHiBM+NaEvHcfa7pFKpdDodIQRMtzjOSsm//vWvnPOrqyt0e1EOyRNxdXXFGMvz/OvXr0gsCYIgCAJkI+IuuF6vN5sNbLvAAZAJQQyKQSoggJGTjRvtbrdTSoxGI8h1IJR6enqI4zay7U2u0eBGvOaXL19evXq1WCzOzs5GoxFusYdIUMQ7glg6OzvLsuzbt2/A2ePxGIT9fr8XQozH41ardX9/j34OLig8CcLFgYqAMBhj9XrdMkIuB6bDOo4D5Y8m61cDIUSapl5QWaxXylGz5UIpNRwOOedZprNMK8lcx8/S3OidEKLVav35z3++u7uL9yFu4UCNaJK0Wq3Hx0eEf0spXddttVr7/R6iOHC62+0eSOKPf7wMw2INp2nebDahFeGcg1v9+vXryckJEpluru+Wy+Xx8fF0OvV9v91uh+4eQ+WiKDo6OtJaX19fT6dTjDXAmknTdDab+b7f63egvJ/NZmmaur7X7/WWi8VqtTK7yOT561evfNfd7/fMsN16d3l5aTIT7SNLel8+mvUGKgH0SRhjuFrzPIf63Fq7Xs85561Wazjso9U2njzMZ0ut9WQy2+1CnJdms3E8HKVp+ssvvyDo0HXdeq2Gtzefz43OkKGEsZq4/JfLZZZl0X57cXHx17/+9ePHj/V6PW0ni8XCGHN8fOy46pdffrm6unr16pUxORiBzWb39PSktU2SrFKpCE9CjlKr1YIgSNN8Op2maYq8nYuLi3arOx6PuZStVg3Dnl52itElq9Vq6/V6H0cQsx0icajM1LfWYmhUGMafP3+WUnpuBRX4ZDLRWnMlT05OcWN+/fo1jA3gfYUQ6DMYY4B96/W6KJOyTk5OfN9nrhdFEa5N3/cYIywqoWSWZUL4SiljKI7ju/VSCBYEgev4Octd12VUtN1fvXrl+8F4NraWxVFaqVQfH8br7Qr1PAoeVImVSkW53nxaGDBarRaCpFqt1m6zx3aNQhHJs0SERQh1yiF4FxkJMM+g0aq1hojOq/hfv37t9XrdbheDDur1eqvVYiSwRWA3PnjoDweHiKrV6ma7ggsIVxBUSZjGgHq+NxgIpQxx5bmUJposEe3jqMXICyr7OGq3227FX6/XtUbDdV2b69ls1mo38EKMERJmiCjNYs/zXMfl3CC3m/MySYaREIpzCxyvNVhIIKGDAxWo67kDf6B7AccZe1a5cC6B25HSyB3CkCM8LRExwYgzZkUxnRI0P36EJ7aoB5ghc5giZA2QLhdCgFIpP0UhSBeFabQwhqIpqpSSQhzGHgECCi5chSmTzHGcPNMFoyo5Z89ISTxjIcYLIGef8TinksEu8JJgllhRpVhrGVIXicGlyzngpoUqCa/+sndhysPJEWIPwMUKQTP/j2QRB6jGXzgh0QrAGaFS810oMoQQQjhCliXK899yYqC0ioYHE2R5luk0TfMce4ix1h5wv+u61hamBV4efCr0NkUSDufFTFwi4pwYR+dBETPWFiNHhUMlwyhkceZKlbx9jusBVy9wPFGU4LOz30wL42ULqKw8GREp0BtYUnBGM27LN1osYc4sY1QMJeOcMckwE4tzwWU54RYKLeKSpLWKBOecFNecOCfEgyqlHCWk5EoWHmc6VF0HNl0KJR28qnQUY8yQRaeH/ebBD/Vb+WGfQ3MOVeBhvbJSB4azC0sKI3NYDZCl5lnWa7fa7bYsPitfb7cmT6WUQa3qOE6e5JzLLMusMe1aw+Py4cu3ar3W6/W+fr1O4tj3/ePj41arNZlMvl3fQDk9Go0YYw8PDyAnUBKgxnAdFzl6Dw8PUC232+3vvvuuXq1Kx/n48SNcdEB+jLFOp7darbbbPRgmtB19PzBl3ifGkQLBo01vrZWOqtZrYRxZq5Xr1D233+3hF9AtNcacn59DBo0xkyDJwK22Wq3jUTUIKqvVarPZQATZaDSkFGEcIQ2Dc467CIb1QPLLGANxiOplu906jgfkilV3yEt+9+5dEATj8Rgc7dHRUbfbR26m1jpJ08l4hsY6ViyT0vf9/X4PMpgxBrZpu9trbQaDAYglY8xsuRBCNGo11/cdz/V8nziL01QIsdltXccB7Q2b5iH8m0qF6G63k2VumlIqTdABl5xzJKlBvjydjReLxR//+MeLiwv8uXKdOI4rnn95eYl+NDTioA8x3RY+BFBZmLAzX84AstHRxku7rnt6eoqJPDi8MJahBMf+BYmt66pms3lzc9PtdqvV6nK+QCe9Xq+/ffv206dPDw8P0CT8+OOP1WoVCfGMMfgHsFZbrRbkghgjr5RaLBZJkj08PO12O9/fQ3vdarWAF3Fyg4Bc15VSQstkbeE2w8gCP6iANsb8KWMMwjHHs6nWGgPIkNQJeXcUJUmSdbvd0xMfASybzSbPE84VY/zu7r5SqdTrjTzJhBDff/9DEu+vPn/B5ut13L/740/T6RQxpkkUe57XbrYWixlj7NX5RRAEjudWKpUPHz7c3NxcXFzgswNhWGtRHRljOp0ObBupzmu1WrvdtsbsdrvhcIhbpuu6RqeA6d++fcNIrOVyZYwJggARNPVmw/O8zWaT69SrVF+/fYO62nGcZBf+8d0Pmc5nT49wmxwdHfV6vc169+XLl19++QXQLdztZ/MJ+hvRPoSmDp2cMAxByWDCFyTpeR5zzvPccV2VZbZWrXXa/TzPg2pluVzilEGG/u7N206nk+f5//7f/3uxWFSr1Yvz83q9fnt7C2ULztfx8TFQ++npKRGNJ48olhqNxvn5OXyHqDMXiwUxOj09hcmbMe44HmPCcZygUjXa5pnO0i0RYTMcjIZpmtZqDYj0ENX64cOHVxev6/V6lCbYjjjnqB4BsFqtljEGgkCw3Q8PD61Wq2goE1lrMckBHZhmswkLynQ6TbPYGLfb7S6XS7fiR1HIGIFVweUJXIgLv9vtPjw84ALZ7/fdVns0Gk0mk2L6tVTAdg8P96jwPc9DoxUDKNzcyfM0z/OKpNPTYxjukySpVALX8R3H09ZA9hbu42rNdxw3TbMsjRbLRa/XQ5sOOyRKAkjCKp5frVabzeb19TVueeC2iQidCjiqcbMHO4DQG2ws2KDAVRFRvV5HX4uIRJ6jbkEVhNxYz/OsYWgbgqrADt9oNCA3R9oMWseoi0AeocrCjl0y/a61TAhxd3eH8r7b7WEW28XFxWQyWa1WiJptNTt5nrcbTSgk8cuMEcY/wWwQxykXrN6oCMGtyYzVyvGsxfQloHZ7yHV8wfGxw1iiAxKiF0GEYGEL6InRo7zAc0JxIQQXivFi5owQgqzlDBLmw+xM4HjinFlrOSsUO7kxEANrxvO8sJ5LKR3hAGx6kFiUKYmFrIJzwDFwybj7yBKzFkCQSS4L0bZSwnP9shThpkDlhXLhBYg68MSMiwKLSQFwbBki31mpyWbECFPnBWOMrGacW5IFxVviXW2KW2cBzqgU8tBLZcQzSEOJ8/JHJVS1BxVN+cuQcJN9EbN4KLoUZ0I8i4iKqgiy+8JIKoXQjiuxMqMwV0oAhUL+hAqEc+44Di+5Y15qtqlsah1+VKyH8kGMOCfOHc4ZBJxSSgWoza0Qpc7oMFiKCs3MS1ArGTclamW/rWSo0HVzyDgV8hCEEMYYwSDzZ0SUG10+KQlOhVJKCEa/Se4U4gVwl1wZYtwKIaQj0IPKMdiWWca5owTnJBjjnJ4/MT8cNSIiy+gQaSmlghZdKUX2t/Go5aUonqX2L8/9s7PkcBTwhRTiEAXFCnESQ39kNByiywy9r+M4eZ5Xa5V4byueH+/2YZYZbbTO9vv90WDIOSfBmTY6zT6+/5DnZjAaSuEoz7+6uloul2mW1+t1SACXy7WU8uLikjE2n8+1js7OLsIwfJpMsCvBXXQI6729vl5vt71ebzQavX//EVS053m//vqr53kXFxeQHjabTShSlusVElEAEdI0BWE5n8/7/T6kOERmtdoBNSJGYDKZ4J+wFm232zICMiYix3EAwqIoms/nX7+tD0obeP+11lAIYJIR0ANjbDabNZtNjFgaP03u7+/Rfo2iSCkNLhmdgVarhagvrXUURbVa7dWrV4iD1NoiXGWz2TieyyF2dF3YraI0hTwdS2W73cLbVK3VWs0mkcX7lFJWatWnpyciyvM803mq81a3M3l8iuOYWetIUBgKSYjo3hpjdrtUCHF8fHyYswN73OPDFMkMrFRqAX9UKwGXAvdC13VXq1WFKhXPh74WNl+cMuhJEJ/f7XY/fPiAlre1FuQ9Yh8AO6AtQUNACAGV/G63m06nSZLA8oWpK9BFzOdz+FDv7u6ICCUNVFXoPwCO7Ha7+/t7pPKDoiOiwWCwXq/n8/lutwOQenp6QlQZIiOq1eqPP/5IRPCiHYTsMFeEIRLK4zhO5/NlpVJpNFoggPf7KM11s9m0luW58X0hpXh8fGy1Wm/fvkMoDRF5XgXJNlrbNMkfH8bbzf7NmzdBUAPpeHt7h1y/fr//9PS0Xq8l41mW3d7eNhtVznmz2eScY36k53ng+LHFocWUJMlsNhuNRqvNutfrHR8fPz4+fvnyBeqFLMuGwyGQCvBHlmU//vhjlmXTxTxN07Ozs2i/h7xNCPH582cy1nUK6bnjOL/88kuWZZ1Odzgcal1EG6V5Bjp8OBxKx3t6eoI6a7vdPtzdKKUuLy8Hg0GWZZvN7uHhYT6fv3n93R/+8IePHz/OpzOtdbfbfX359uvV5ziO0zgJd3vXd0CLgkkdDAZ5keIfn5ycKIcvFoter1Ortf7tX3+Nom/1htvtdpM4DSrVOIl83+90Wtvt+n/9r//1n//zf0amJ9bG58+fv//++/Pz8zAMk7gQJQNecM4fH8fVavXo6Ii0Wa1W8/kcyL7TasPmuFgscp35vv/w8NDr9ZAGy5nYbfeMsZOTE61tFEWQ6jHG4jhut9ur1SaKitlzoBXhtHEr/mazW6/XVOaNaK3r9fput4fMbzwedwd9DNLa7/e9Xu/bt2+u5wHLep4Hs3scx2kaVyoeJhIgX8Va23YUQCfnAgH/jLE8z9E88X1/sZj3et37+/vdLiOi5XJxdHR0dDTKc621Xs4XYRhyzprNplIKz9ButzebrShVBCiodLTFTdb3/fF4nFvLq9J13e1yEe6Ts7MLQ+RXnEaj8f79B6N5r9f7/vvvHcfBlY4dcr/fPzw8RFGUViqNRuPlHRDTrKE2rNVqkE7N53O84kFxW4RmVirYbTjn4NoZY1BgEmNQqMN8QkTYzaRwEP0ORHJ8fHwYTY3G1Hw+H41G683SlhNncXeAyRirCDt/v9+HJwpNTlh+UfNgeO1hfBuu3H6/P5489vv9ZrM5n8/QcIvjOMsTz3OUqhpjsjT1/WKapDHGWsYIZPkzKnoG5UwcKGZrmDWMLGckiglEjBgjqQpXgCkmHz1jKYAnIQrKWAjJEANSzgniXFh2YJ2FtUYKaS2i1o0xVmtrBT8gP8fxcCMD2HKEPHDAiDjknHPJJeNKCaWUePng/GBgYFwenpMzVaJbYUpZxIELL6dn/sYSKoQgZg6EL46VEPxQzgC/AgpqbRljUloigWfGS1tbfP1cLHEiIk7PISq/xaO/0UQcjjO3JDmXXBRAjXGCrp0sYxaUb5H8yIkxa8xvOHKyhnAuhCxUTEUzijuO9H1fcAftStgnlJKc8yxLnOJRpHPizaCzZEvl9gG7SykxVdWSPoB4zhkncpXDypx/6JoYY2RsYS5mvwnvEYfxXZzJcq5R8aOy/OZlMQDaTllDZA0XhmHImBBFtUfCFINUmeWEssqQkIipIc5YmQfELUfzhAnOLZfMKaE85yInVlxIjEn5TPVXlBCiINLLNWoZ44pzspZDgmOt5EIqDFD4DzQz7EUB9xKjlyQ7gmh4CeKZZYYKawGTgll7WKNMKZXpNEtSIuO4jhIM17ZyA9er2NT4gWjWO5vNajx+bPWbiniWZd9ub7gUWWJ//OGH9Wb38PCUZYnrVYSjojimchjHYDCyVqc6F0J8/fp1s9l89/b7JMu+XH9r1Opo8R8iFGCKktJpNJonJ2f//M//DGyttX68fzBk3/3w/cPDw7dv34QQLdlebda1Wu3k5Ehr7XnufD7b7/ftdpMxu9vtBedJFP/xxz8kSXJ9/RUq7fl0thQL8KbQcAdB7fr6No7jdruJVDVeyoeazeZyuUTrlnHu+T7jFKexUsoSXVxcHASXuOmiYw65izUEmAtqHzKhxWJWr9eDoI4Pm6apECJOk3SbElEcx3me57kJanU/qDS7vXZ/gKh4znmUJvPV0nXddrvd7/fw5o0xvu95nssYqwYBbo1btsNe4/u+ENIPanmeh/u9iOJarXZ+fAJCaDab5UZrrbkUWZa4rtto1YvcKGtXm3W321VKgtsWSg6Gvd1+Y0kjyCVJEmNMu9OEoBMSz9VqhYxtfLqDjoVzXq1W4zQRSm42m19//fWnn3568+ZNmqbW6iiKFouF47nYORqNBmwG+/221WpxYk9PT7fX34b/6T/xWnW38cnYWrUW7UPf9+vV2n67y/PcVd58ujDGcGJpnFht4JnDgCT0CkCHY5g80DwqH2ttt9v1/eDjx8+IcsvzXEoH7BraQWDOhsMhgFeWZavV6v379zAic86NyRuNBnGrlCJu4zQCtRz49ThL090WVVCRfZGliAdtNpuwPQyHw/V6vV6vjSbUk7/88ovjOJeXb4QQvu91Ou1Op9NqtV6/vtjv93maRlF0d3fnVbrVek1rHYWR73p5nqPBxTlPkuTk5ATWRsdxtNbz+XwXbnGyoDeDMMyvBpvN5u3btxCH4Pg8PDwcHx+fHh1D9lCtVDzPe3p6YpZc5WQ2Q4kF9QUObJpmr15djEbDarVa+FM9dzQc2ZyIa2PMZDKZzWa1Wq3WaMRxvFyv4zgOfB9PFYbhePz/EkLUajUuSCq+3a1dR7558yYMQ6XEcrnkXDLLrTaMsWq1Gsex6/qOI8Ld/vPnK6WEcmWaZw1h331/+W//8q9haDxvf3JyFFQrlcqREjK4vMxzI3Izvn9IkqRZrUVhSNamWl9dXQWB3263leRQNBGRlJwToSbc74NOp4M7iuM4k8mk02krVw2aAyHE7e1dUK25nj+eTDmxh4cHIcRoNMJHa7fbxuTNdgt2xjw3SZLiUGOjQO3KhMqM3i+XnFMU7bNMLxYLz/fbnY7IMpwyxliqs+vrb5DKNBp1oYRQIoz2QaVaqXjr7SY3Wa83aLZb8DSfnr9K89x13cHRYLFYUdEHV0jfgvQLem6t5Xq9EkJUKpXXr1/ffrtG9QJJSaPRBOg0xhAxa8l1PSHker2+u7nDBUjM5rkVQkiWVSpBbsnxKmluuHRJp8aY3W4bRwiCtLvNMvCHjLFOp01EWmdxtDOuHydRq90EmbLerNIkbDebWZa5rtJan5wcQcKEbl6mU+mI3GTL9SJJsu1+JyV3PDUYjKIkPj4abbfbJEm0NSB6pJS50WmeNRoNYsJYppQKKjUlHaOp3eoC1OaZ0ZziOHFdz/NyY2yW5ULAD8pRDyNcIQzD+WzZbrdvbm4gxkM9cH19DTOSdDyU1qAw0N+H+gXLg3N+fHx8dXXVbGatdhMVCyOx2WxGo2Gn04HJz1dVkVCzWWfMusoh5RtrJUdAOy/pRU7EdG6tZUJxUKKCP4/tNMYo4QA8oIws0ac90LqwwgGtMcaIGSU5Z1YWqmvLiCmhXoi/OROW2eeZnZxJhpw0y5RyjNXEjDagIrmQHuPckC5k0MzlQjAhiZPiQkkX8EVKU6pBhFJOGX/OpXB4CQIxeZ5zwYgdAshtWb7wQnOOxHEiImsLXp/ICAawD7GN5oyRJWuzrExYB4VqrTaGCyGKkaXEDMd8UJczGYYhRhehD2yIlHKk5JaRYqIY2skO1HupTeKSMwfAWnCJc6Ecbi0R00IKw8iS5Q5jhqQVjJHWeTFVqsx1AO+WZZoxq5RiUhptGGNSPeeXCFEow6XkQklP+tZqKaVyJBFZqwO3KhhHsYr1IIRAwalNZowhqD+4JZZLKRnXiklW+GIBNKlw+WLulcTKIWaNEIILLn9j0SROljHLOCvSfiAgIhJEUJFh/BPQMOdkrRZCuK6rUAoUlgUiYoYzgAy8AJNFpGhRAeBaPfQRqGwwCaUgL+OMH1zA6E/Y8sFe2IPFC2l/+TF+X3UdoPnvarLfofbfPQ5P+B/+SJRL01rUZwXiz7Kcc0bEiaQQynM9IYRSQnl+nqRcMNJmOp0pKYfDo8nkab0PQci9ffddt9snLrM8R8JGvdH6+f2vcZK9effdm+++Y4xlcbJYrIN67dOnT5PJ5Keffmo0Gv/yL/9iyowOIAzkaoPaPD9/BWNWo9FotVpAG6PRqNFqrlYrpP7B0RgEwXq95px6vR7nHN5EdNJns9nJyQkEJx8+fNA6Q4NViEKweH5+jjrBGLKlOB4RKBgRD8K7UT6SJInjmHHCZ8+y7OjoCL3Xp6cnKeVyuRRCYKRokiSL+VII8fr1ayJC5CIYYq01HH5BUINdtVINADFrtVqr1UFkymAwiNMcXlhw20AzyKXJ83y/3yMdQggBwUaeZ5yzdru12Wy22x3nPM8LnS6Y1PV6SURg6xljx8fHYLjzPJeSJ0kCnN1ut6E7//Lli+/7AHOMMZQ0uGFj2itAXqfTcRxnPB6j44E4hd1ut1wu4QdAlkUURdoakEZRFP3TP/2T67pnZyebzWY2m5WRZ3Ecx2gHN5vN3W4znU6H/cHFxcVqtfqHf/gHrXW73bXWQuwO3T/0UUdHR7VaDdp0xhjiGsC0rVYrXAVJkkDzigBmxAqhP16pVCoVvOiu2WxWq1XX9cGqjkajfr9/d3cHWnQ0GiCTEf0iLLwkSYzRk8nE8VwEC2KAy9PTk9a63+9zzheLBVorcAhgNhNQe54XUSFSSiVd/JSIoPuCiBlGW9d1KxUPO4zW+vj4+OWEKdFoMsagIaEiFrDokt/f3xtjqtXqxdk553y2mOOgvX37FmXS7e7248ePQBsoJJAC9N133ymlOKeDuokTQ4iTzi3gHYYK40b5yy+/fPfdd4ixQ48IAHG73mDGE2OMtDE2z7MsT9NOq3UgVFzXXS6Xy/liu96AyhVCzGazfr9frVbjOFRKCYFoQjtfLrTWCHLF5pymqbWyUm0IIfb7faVS/ctf/vL56gv2gXqjxjkPw1Apt9FopGE0Xy3TNN2GxVxnxArNFtMwjkaD4cnJCUy3vu8S0e3tLTozX79+xcDUv/zlL1LK8XiMYFN4lzHYwfd9lBaol5ASO5vNOp3OZrsBhzqdzvGbByXGcDhM05RL58A3Z1kWx4Vf5f7+/vj42FpC2T8ajZRS9/f3uJvU63WcMuidkixFPYBm3WKxQN4/4h05J3QIsf1ChwMdCDpF2FJwMZ6fn4Ouns/nUPyHYegqB4ov2Ft52YLDClGOw0qOFsKSPM+1ziCMpLKVgfo/SZLFYhEmRULRePy4Wq1arQ74Xa/sIVxcXLiOh7xL0BYIY6FSewB+vV6vJ8kiSZJmsw4FERoyefmA8sf1vSRJIHayRjebTdjy1us1FhVq0WazOZvNsT455/ggBxYW1Huj0UCKwL/8y78Qkc7tfLbknKdJHgTBoD9ar9c6t8Q1LF64tUGrgx0JfUXcIxhjIESfnp4uLi5OTk7CaIdaF5vYPlw7glsylaBqjJFK4GIvSeUDT8wZf5409DuQwF9E7OGjHf75kr5lL6bQI9QFIgX+4kGlqY9z4oVyodhzCnU1MGox6IeMPphiNZFzeEeqlFcc3Iz4viMU9h/OueNIzhUjQgOEiHErXn40xpgtg8yttcxa/awyYC+RGKKlGVMQeByOQIGsLBRDsC3aXGO2o2aMQbqNN0sFcy8Of25xNBiCfbhgzJB4HvlUhhMifcVaBnU3/pAXs+314bNwS3B0Sin1i2mph44BEeV5KsqxVWiSoAfPK1kAAQAASURBVHGH3yWC+UEzEpxjBhMgpeIcQNQiAZ8XZZKEuwxVhC0jMcpDR4cJuIKVUpQXrLEQnFn2H+LQw7c4P3gkOGOFM6I4LIwTEdofJUNfvKvyz63CcSxejx/iPw/2avw2HQ76y9V8WOLloUQ4PDTrAgdaKFUu0N9gdzLmPwTuLzH64Tt04MlfPF6+hwOCf3FSi3++BPec87JJ9JtDycs4M1e5xKzruhIaDKGiKBLEdtu9w0W7192tN0kSC6EYE9BmuK6bJFGmrVQiy+PdKp7MpsTZ8Hh4cXEhpfz27VsQBM1m8+vN9Waz+e67787Pzz+8/zSfz3uD/sXFBWpNuMEQPFKtVh1HpmnMOe/1Ooyx3S6UkmdZ8vBQZMBBQso57/V6eZ63Wg2kGSIjAgHtaKD/8ssv+/2+Wq3ApwgAB2jy+Pi4WCza7TbnHLF3223oOA6SGXCDgZLVWjsej5GwAUUNmHW3GOs49jwPPjOM4J5OZrPZDBZDAHrPqxwfn3JOj4+P/X6fiOI4hW4sCAJbOk7G4/H19a3v+81mMwzDOC3kRlDXAK0eeqme5w0GA9hed7vdx48fi3zl8qJFtoMQAqFvSZIQGav1fr+v1WrD4dDk2mrjSIUvlJDwnqZ5BkYKvDJG+UDPgHcCoQVjbLFYbLfbq6ur169ft9ttZGCDfY+iSCkFlWpeDtFQghtj8OqLxQLXVK1Ww0G+f3yATgYugna7aUyOYsD3/ZOTk7I6UkiAQVcad2voTX3f//HHHyeTp/V6DSSHkglKA3RF4FtgjOV5jlmnl5eX0+n027dvnldBTZIkydu3b4k4dD6IMVmtVsjVQZYLsv+h/l8ul6enp8bk4/E4N5pKLezR0dFgMLi5f8CwreFweHt7O5lM0jTt9/v7XYRo7cV8ZVrkKE9r7XmSKw6tC3y6u10x+325XJ6fn9/c3Oz32yAI4jBEAQnT9mKxyPM88CutVuvv/u7vOOfQcVH5wPUOMe7R0dH33/2grQEuVMqt15vn56/gAa1UqkQ8SbJebzAejxFBnSQZnjPP8zzNDjDClFG7ruu+evVqvw+1zlGddrtdJLQCccJGApZRa+24Ch0D5BdB09xoNIb9AdY/sGkcx6vF8v379+jR1+v1xWK12WyOjoYYY5kkSavV6XQ648cn3+Z+UCGiYurn0TEn8f333zuOTNL4w4cPxuSnxydEfLVaua4aP42TJKl4XrPdsNrsdgWk3u12i9USBzZNYwS2+L5/c3NzcnIimCWi1Wr1t7/9DTE4y+US0urNZov5DI1Gw+S60Wgg6BPbDq5TLkUcx5eXl5CxjUYj2CXhChgOh93+cLlcQjcYxzFjYr/fN5pNyCqEkNVqFfKYk5MTmPj3+/3V1RVmQSwXK8dxzs7O0OxC7eQ4jusHuB9DoWGt7vf7Wuvlcsk5h9oH6ZDwbeOdz2azVr2BM4L/uq6HWhHGDITnQl2DkFlLRkofwJQxlqbpZDx1Pef4eOQ4slqtQgD28DiGwhv5WmevLjjnX758iePo1atXQqjlegUxHna5IAgOrCTMOXmeT6fT8/NzXAgHvMgY63Q6xuTNZnO3C/WLh+M47XY7zTPIILXWZPlg0AdSxM0oCALU22EYQlC+XC5PTk5QfwohcHlmWSalxACs2WwG2ytiH9frNdoyYEkgfD/oYB3HcRzXWovGV7VanUwmQRC0Wi2lVK1WG41GuOn0+/16va5NFsdRnuc6yarVapJEkc4Zy3r970E1GgAMbhEeXeireSkZ54UC+uDOBEBhkBeUOwNW6cvkkAMgKYH7M2spyjFJjDFriXMhJRdCCLJUCkuMJiGIc4kigogRI2utL4UxCndwKYSrXCm5EExxeUhredZjMKY4U1JhqA4R8WIUUU7oLVgSwF1SEGeMhKHi41hTJHYwwTlnolAEWbgKuRXgZK21WhDjGlCtDOkmXuQEamNMrnOtNRlNRGCppZGFNRP+XdJkJfA3gwLEWuTZm2IkKghiRoXSgR8EPOVhfM6pxKM4BVSkrjBexmK+4G1f7u2H5zl0PKSUnEtuiSw/DMp1nEPpVQAPIVlZCJGUQkiFZxbyN2DSmPwlDD6g0OK4cRSNVgmIbUq9PuPFgnkBX19iWsGYOai5OCumSrHSBcoY8eejwcq4HI4UG1n4lPEuD1Xpb4Cv4OWMKGvLtcs55/aQRc/gXeCHD3NYfy+LuWcJy2/h9e+g9suvX3xg/vI3//3v/PvH7+A7K8VDB8ZdOZyRQLtfcA5BthCiWg+UkDXiFeVmaRpud1LKWq2m06RSqdRatTgOx+ON8vwkzdfrJeOu43kng2G1Xk+y9Pr2hhP3PA/I4/LyEnG28/kcMy/CMDw9Pd1ut4hTRKgCNkfXdYHM4CuCLtAPqv1+HxHdrut+//33nPM0TW9ubuDdjKII47sXi0W9XgcX5fsuutX1en2z2SBm0VoLNn0wGFSr9SzLut0uFBTtdrfRaCHNzfMqYRhPJk9EhIEv9Xq94geOs0VYbxiGuKM/Pj4C9EPoCfMiHLS7XYjEEik57PPWstVqxTl/9+5dnufz5WKz2SyXyyhKAL4PdCljDOgZLiuM0eG8OKppmoJIg0MANzPXdSHygecY+A+DZiQvYsixKpAxDDElksgQotLqtBGKMhwO0ZdHfEQQBEdHR5xzjGQCj9Vut6fTKaaNQnrb7XaRbENUdEIOunCv4nc6nTzNptMpCAxMnq/ValEU9ft92AcZY0oJ3Kq11pILFCdSSsdxiDiEHwjbgWJHCLFcLtfr9atXrwA4NpsNYwzHjYjwhiFyBbB2HOfo6Ojy8nK/3x8fH0dRhPGZuJ3f3997XmU4HKICzMuxKYwx33cfHx/ReQTriZqq3W4Loe4fH6rVqpROnpsoSuDUXCwWoAxfvXqFTI9areadV66vr8/Ozqy1Nzc3GAIKXFKr1arVKqzbk8lsOp2CpAeClJIrpVqNRqVS+fz5M/hOHHZ04VHZhmEI12O1Wj05ORkMBmDHoVn88OED57zb76GdwjlfLBZYddbar1+/wgqstW40arvdznE8FEKcczSgNptNlhZvNQgCHDfOudb66emp1+tB+HR6ejqfz9M03ey2aCthH/A87+zsDLOc4HXO83wxm2dZ9sMPPwCPQu1dr9ePj4+vr6+l5EgvLeZzxXvfd7vdvudVsizr9Lp92atU/f1+v1wt9vv9/f39fh9VKt7Z2ZlUot1uMsZQ+xERSf7X/8ffPz4+Pt4/jI6PJ09PhKEWUuCTXt/enJ0cIxAQSx2VxqDXwXmHyF5r3e32bm5uhsOh6zpv37759ddf7+5uu92e47lMcM/zt9tts93q9LpIXkqS5MuXL4wJYwyur3a7ba1Foi4Tyvf9y8vLL1++SClrtQbn3FiLllS93oDJO47jm5sbFLr9fv/h6REBQYLLxWKx3e+63S5jLE3TVqvDGNvu1pCHgQXAtFEqyW8Q/6j2sXKw7URRtF4sh8MhbDNENJ/PHEdVarU4jjebFKlcjLGjoyMydh/u4Pg/hGJpbV1XBEEAgMuY2O121lqMxYCMjZU0IQLjgyBYr7dE1G630VUD5QY3QpIkqOiUUu12G0GoqEaQxhiGYafTSdM4juO7uzsAfexyQghtTafTmc1m9Xp9s95Za/1qQETXn29ROBlGUZposttwrzy33W7jDoVIyv1+jxciIrAw8PG7rssY+8Mf/oBeJa4yRNmAyMNOa4wJgmqlUoELHJ1GKSUo/6enJ+yxCGnFheNX3NPT0zzPl6t5FEX1RrBeLGFtqteqB6Idjjv2op9/4ClfcuSsnPF3gCW8GFHEOefWClDN/wG64OwZT/NDlURlcgdUuZyIOJPWWq6KUBqEm1tLxI21mGCqieTh+UuC/TkrRsCBitqgkB8zS8waY5k1xhijrbWI8CuBu+KcW0ZSYOEJW+Y8FoS6sfwgI4Lf0xS1Cj4smULJXZYuYJ0zk2tjUSqQJSO5gp5ISimEJSLBJSfiQlpLgjiJwhhaQL4CWMPvSsUhekHwF2USI2uJMSZfgFpAUFQ9kvEyep4RHfoM1ljNygqEbCF2IiKlXFUMTuKFw8BCnc85Z0JwqX7TOcF6OCySwxekc5xsi0Qhzrn491j0eR5tWXcVP0ITRiCM5kW9YYu/Qo1UhqcwRrxMhyy18KJE5CVexWhTJjmn53lIh1UuiBdB+iUQLycAvyxJqSwfQNsXS9cWoh8iyxhSLQu/yOHQ/H9H3v8hgucv6hQ8/8tfoGfLKf/d35b/tYeLl3OOyoaILGVccKkcIXieZ1GSZDpzXVfnVnpuUKunYRRGUb1VJ+OPH5+ImXqjKiRP0khI5jhyuVp1Oh1iztHJSaYNE8JVTr/b8/3K/f19o1objUZJkiAFEtKO3qAPVyJASbPZnEwmSqlmswkYBwYxz/M3b94kSdLpdIgLzGmHPuT29hZuwk6nxRhzXRcDXMAQM8bOz08fHh4456PRqFqtrtfr3X7rVzzEP4MQ2u12Qigw2Zh/gbkk4/EYPPFisWBMHB8fXV9/vb6+Pj09rVQq52cXrusuV4skSUAqY3Apbg+fPn5GqEuj0Wg220EQIYcYg5+EUEkSHmLmOOd5nguhTk7OBoMBxkOu1+vlcunG6WKx4JyfnZ0ZY8Dqgb8Bb43bGFgixhimukopcRuDLgg5NnEc+45rSUN6DhV+u90GTb7dbiGWIPTaLLUaTclFEQzqepKLOI4N071eR5Yx2JeXl5y3siw7OhritvT4+BhF+9evX3ue43nOfr9fLue1Wq1araAnnmWJ1l69Xo/jMI5DHGrgxc1mE8YRuvx5nt7c3ODui0YK5p6ihKtW62DZ2+027naLxQLiojRNP3z4MBz2jTEI3wBYx/QAVClUsoDQHmDkJGi2brdfrVbfvXu3WCxarVaz2YaQnXOulDo5OQEigdQKh3o8HkNQARfaaDRSrhOGIdwLODWPj4+oxICNOp0OwkDiKIXjWUo5HA6xZmAsxhuez+ewaMPrxhhDygTiPtM4Pj4+xnyo1WrV7/d7vd5yvkDJhHeO/Dt0XcAdQrbIOR8MBre3tx8/fsQkV4R+sjLBCc4NrLSHh6IUAZGslBoNhkR0d3c3ny3TcuYuPtdms82yFAoTBBwhbARY4fb2dr1cKaW2222WVi4uLs5OTqNuDNS13W53m+18Pn///v1oNPI8bzKZZFkWh1G9Xvd9P0kiJA5pnVnr4MikaS5lJqWEgcTxVLPV6PY6Dw8P8T5uNGqc8+1ug4HzRLTf75VyiWif7JGp2ul1N5sNwouozAk9Pz+/v7+9u7s7OTkBusWOOhwOJafZbFZknkqJSgxqsUajXq1W/8f/+B9/+9vfsizHNd5ut7tduDx3Z2dnmHsK+xNadqgbpZRgsm9vb7fb7atXr169evXw8JCmebvdznUxVglztVarVbVRq1aruLKiKBoMBryMe6pWq1xI6DqQe8MYcxzHceVyNRdc4ULAxYXbChYnfpNzjkYf1jDyA9BURJMQUhlcR1CtpGm6WMxdx8FahSbQcaSnpOtW8jyHmgt13Wq1ubi4SLMMJTcWv9b6y5cvWZa9ffsaXQusGWMMhEnNZvPpcQykBW0baI5duJeOUo6z3++DWpVLoVwn0/lut+t0OtbaarVar9efnp42m02n0/EqPoL/GYk4juutpjHm6upqNpu1223MWEUQFkZbSC6FEDc3N3/3d3/ned7Hjx8xti9J4tFo9Pr16+vra1wCaACipMdiwwUFGdhqu6lUKtvtDjPqMR2Ccy6Fc3x0GgTBZDJZLTfdTt8a1mp2smiMXDLXa6MACIJguVxWm26lUmFkwjCsVYMSQTNwmqh/CoqQS9AKQCxQuTDGDobdA6IQLybGkOUvUQeVeKvAXy9w7UsYU9YPjDMpJSvVO/gRJgkxlMTWMEGMW2OtlYzjf5wYF4XAuEQp9AILSsaM4IIRccELBYvV2mjSpInIMiEEk4KIc1Ho7njJQCOs8LcfqpCUEBVCBFvGiUIKWLCrxATjVhCzVnJmrOXWpGlekNmuZMoVQgilhJBk+bOkgXNLjJPltgjPF0VqCEcoYIEc8WYOk0CJiEhzK5lkVIY7ljmBJa0sf4seuTFaCGYMQS3JyzwZrYsRipxzxOzjAROj4EYyqUqVlM5z5blCPNPWrGgLEC+Xk5SS2DMGPpzxAyLFvaxIaCy/+cy4w4L8G576eXUJRiQ4o+ewGXqxRBHCj38qx5GMoRlgeVExYIEW8e/iZYFGZDixomzi7AVwl4evD5GgB/aeMUQJYR3iWVEA/A6a/w7Kv8To/z89ngu4F1+wF5dfUYSUVYS1Ntd7xlgUJUKIPDfamEqlWqs3fa+qlCJrDY+8oOIruV8vBNN+xRFCbHa7NEuVciqVytHRkZSOzrkhu1gsglodu9XNzU0axcNe/+rqar1ev379Gg56UGha61247/S6YO8arSbu/bnRs8W80Wput1vX93KjvYrvVXzGBCJysyyrVCogTYfD4Zs3l8D6mFMjpXz79q0x5tu3K5CXzWYzTVPPd/chx310MBggxAOnazqdQqeOmzeAILAdIKBSCvr+z58/Q4Zore10OqNh+/7uAVJIznm4jxqNBrSSjDEpHdAtSZLc39+naXp0dFSv1zG8s91uTyYT3w+a7dZgUIM0H2mGnMlOu7dYF1GVIMlwY8OYQ1BiEFIfGGUArIuLizdv3jDGIFp9eHggbSqVSr1eJ8vB8HHOV4ulMQbqas45YtGgp9/vt66r6vXqer3ebtdoZYAwWS6XEHxTOc9ca73dbtvtdqfTqdVqSZJcXV31er1+v9/pdKBxRzOn1WrlRnPOoRREhslut2u3266rer1OT/TjOOacQPCjGtnv95vVGnEx4HTBU+52O+xKUBaBKcR3YLxbLFaVSuX09BT648ViVasFjuPM53P4TbMs2263f/vb38DcM8Y2m83j4yPe23q9ltIBT39wGDcaDc45JOa73Q61EzJbrq+vIRBCvwKx9AgUAinY7XbTND3MZoeVArL1t2/fIpJvs9kgXrrZbGLlTKfTp6ebWq12fHzc7XYxDSfP091u5zgO3i3GXgLzoeo7kC5EBIoddD7nfLFYQGkNeVKeZpDR12o1OMXBnZdtU/n9998jz2G5XNdqNQC+1WqF6a3bzR5EDiYeKKWazRZycoAIUWPAw4AkHzSIOOez2QxdiHqzAbxIxiZJcohiHI1G8B2aXKMWJaLxeNxstt+9ewsyFcsyCIJ6vdnr9dI0Xq4WQqlmqx4EQS2oCi65YEmSeJ4zHA6jKJpPZ1KawWCwWM0//Po+CIJOq52maYK223KB1b7bbTAkbjabobJijGG1txo1bB0QM5yfv9pu1xDYoAKUUv7pzz9tNyH8ptfX17e3t8Bes9ms1+tdXFxsNpvtdi+EODk5QYEEmCiEQBzhdrsFNq3VGowxRPGs1+tut3d5eVmpVJTngLQG6DfWYlUjMROCHMYYhhxXq1UvqKJ1CZs+yIswDB1H7ff7MNy12+1KxYPjhUh0u+1GoxGGAbM2SZLZfALJOO4sAPHw3xOREOLp6clRCsSz4zhoMDqOg9iuih9obZvNZprmaZorpYix1WqFnRO1nBAC2yByiurNBt4wimRYtzudDrSOkKgdFhtjbL1eg1YPw3gymbQadV7mf6NuB1CmNfM8z1HeZrNRnougpLOzMyI6Pz8/SGjQ7ttsNoPBULqOjVhm9H4d7eOIBPeCSq1W3+9D13UHg+Fms8lzPRod4bLDRgFwg/aIUkpKpZSDvQt3pXq9zkgcpkFjT0NpjU4p5DTW2uvr6+PjY2AsKdwgqBmd2HK+acEGFpNFpeQF+hFCKCkIauwXER8lOCnj+crgDtzXnieKFmiBQQPM/yM/Ht4AP2TcET8ALyGUEIUsBNGStgR8QgghrCnDyNEbUFK+ANxWlsF3QiBHHEZFCI+ZtaR1ZrLcGLLaGENCKqWU5UxKy0haKgsAJsuU8BegyFqOsVGMWTJEZA0jIsG4YEJKjjQRzjmzXGumFdc6y3OT55TrjDHGiazlilnJSDISkpNgXHCurWWcLKHIYKUchXEqhN28iHQX5dEzRhfIE+E+RCD7GTGuJBeijJQBVW+FKI3IpfibiIzJiYzjuI7jWEN5npvcGl7YMvHxJSfGmVTFuZNKcME4Z2StJWOynKPUU0WvTDJujOGSWyr0kFhshyVUYvfDjCrGeTFO63eLhP0e0xbqK1bak4rfgdyJMcaeJS3FHxAkT7w0p4J0L/MfGWOMl6S4pcPKttby/xuNOx0evBxzxS0yPA9w2ZYad/ZbmP7y8Vza/v+L2g/PVL7PZ0UUFYolIou1YmByMsZYIiGU1tZzPc/3q9Jtt9vVal1KJ01Tw/JarZGGO53FyhGdbnM8DvM8zXWcZZmU2GhqWaYD37+5u82SZDQ6Xq2Xjw/j/X7/w7sf0OGtVqu4H7uOPxgMttvtZDIRQqA1Dx8bvHqe5/X7fXDSjLGHh4c3b96sVqv1ettsNiF0uby8RE6L7/u42fMyRQssEZJqhsPh0dERKsXtZovBMa7jRVGEwXjD4XA+n0dRBLDb6XQgPIUXEOaMAwe23++DwMeQGgymHo/HaKEehDTfvn2Dxcr3A0AlAEoMpkFmZafTWS6Xk8kkSTLOJWadjMdj9Bx8L0Ber3SdXq+HmxO4WHRRb25u8jzHuFm4wQ7TQyHBHI/HCH7GKBbfccEXQg9Tq9V814MKQmsN0y3nQbPZBOawVoMwxhEG3dXpdDqd3uPjIzr7YKmRANPv9w+hyNAOEREa3Ic5oLgPcSmIaLVYQtqEIUFSFuqs5Xplre33+/1+fzAYaK3rjZrrOdvV9vPnzzBoaq09r9Lv9+fzOXAJPgJiLtCOx7oCFkc0JADNbmcuLi5QL1lr3759G0UR+uyc88FgQMQhZyeibre73e5weLGzIMRNSjmf74BKkyS5vr621iJWQmu9Wq0MWeAtJMpxztM0bzU7WaqtYa7jT8YzIP48z7vd7ufPn5+eno6Pj4loPp8jVwR2TEwabjbb19fX3759a7Va3W4X4u8kSQRjiFv9/PkzKG1UxXAG1+v1brfbbrchdprNZqjrjo+PkyR5enpK0/Tk5KTf708mk30U4nLA2watvt1ukbgvBPv69etstkCCpBBCZ7nneT/88MOf/vQn9HBgLMEUyXq9dnt7e3d3B85eSon34HkeNA/VarXT6UTxHhGc2/0Ok24hHoCKhnN+e3uLMmY4HMI43ut11ut1kmTr9brbazdab1ByM8ZqtcZ4/Oh4bn/Q06QXi4Ug1u8PMYfr9vb28fG+0+kcHR199913X7583e9Dq03F8wXjIJvRAOx63vrzR+yZT09P7XabiDbr5bfrq9OTcyh2lCjGmnLOoaqKoqhWC+r1+n6/+/TpU5rFUsped4iBXIgHqVarvV6vWq3e399/+fKFiDyvIkpHClwT8/l8tVr1Xb/dbiNBFV0jyJkOeUec82azuQ13SEyHCYRL0Ww2R6MRVG1M8Lu7O2vozZs3ANlRmi2XS1ySUZhsNhsUz+jM4LPAboQBEagHms3m08MD9tXNZiOlrAb1QxAKzDY4xdZaRoRVdLgrgkpngidZWjWGaxEnSVCtKsdlpcEaHYNOvwdxOfDrer3tDfqgJDzPQ5Cl7/vdblcphVnIQgghUs/zwNoggTSKIoykUK6zC/fdfq9Wq61Wq12494OKZcRJ6ty2280wiXe7XbVarVQCpZyzszNdDloCtx0EAXsx+nc2m2HgFCp54VdQDyD/HvgVL93r9dA1RV4k8Ddk7tiL8GueW1FKXV9fdzodCPxwjTDG8jzvtNvL5RIUCYRkxubWWqXcql/ZbZnnVawhxlihrjTkOp4sBzs+y06UBIDBaXqBE4pBS+KFvxB73QGHHIDa77AXLxv7/MWDiD+nwZe8LGTW0loiMmSFEGSs5FpwY0VB/EsulFAvktpJkHwB+DALh1HBi1utrdYs16nOtDVG5zbPc6Vc8nwmoUwmTpzgIpVUODWZJCIugMdKw2GBkhHcLTjnjiMd5QghZIG5lZAkNElhGeWMBGcO1OFSCSGYkIxzkoyTLEsgba1kjHFYLRHdyDjgKYNe/dAhYaywAVjSOGuM5AE6HlhiIbghS2QPwNNae5C0aF3wLNDikrVSSlGUXs/TVyBqwpeiTD9/xpy8jL45aE8kJ4bMzcP74eV8UsZJEhfWaqwEwTizRMaWgBtHGHNUxYFxL495+dpERIYxDrm6fZZzc5g0bGGv4LzsJBzCPgtsC27+8FtExIo6o2gzIbHyZRHAChRuy6bH85vhjBF77pzAssDLIvIl+n/+nX93hfx7cP/b1/0Pvv9iOf7+z8EE47NIKTkvTobWFc/zOJfVWs11fcaE61estSY1gstUp1rn0lGChMkYkXFcmWaxUqpSkefnZ7kR2hAjqfNsNpkGjVocx/e3dwi0Rk02HA6TJPn27RsWUBiG0/lMCIHwBORsTCaTwWDQ6/WEENiL0W08Pz/XWn/9+jXPi9F37969q1arnz9/Bm+tdQZZBUZyQvWRJMlgMJBSgpS6vbuB9GU+nx8fnWCrRVZgo9EaDAYgh7Is6/f7iDpGJQDRMAIff/rpJymLmfAHcx7IUUCTm5sb0EvHx8fYFjHxBzpjMKb4ZpZlnlcJghrwFkDn2dlZEmewJCqlkjwD7oSGFaOsdrsd7LC4GeMCBj/0l7/8KU3Tq6srdCEeHh48z6nXq45wAPX6g26SJIJx3AURlQAvmtYZkDrES4g+ODs7Oz8/dxwHUBKCJXwcYFNr7Ww2A2EMyp8xBh0LCEgpJU4NBg8d8tcZYzc3N9PptNEonFgovXa73Xq9bjQaqKMgcUZ2vhACGS/1ehMiGVbichxDIcTFxUVZe1ho03HDm81mWmspOQx2GA+EbsyrV6/QeWeMQTsLZi7LMigZDuZggKQ8zz3veWLRQb2Q5zlGKa02a6j/bTGQQba7fXAEaZqidrq7u6vVaoPBAH+O8aWNRuPy8hIG3/V6jf47jJvIULq5ubm7u2u1WvV6dTQaLedzlIuweUgpX79+HfiVJEmQ21OpVBBSji8Q9BlF0eXFK0ycfXx8hKSh02rP53Ov0YCJBasdhN9+v7dWo3q8v79XSqVpSsYiJNRFFqnroqFUqVRms9lg0Mc5xXgaYLter5cmyWq5RFRUGIaMKrXj6mq1kly0my3OeafTOT09XS6XX79+tdowwQEKpZQATCC/iczNzU0Y7UZHR71er91ua110GNbrtee7w+Nhr9fTaUbEN6siMXa3252cHn37euMq5w9/+MNisRwNulLK+Xy+22z2UbRer09OTowxwlEmy7/77rtDxpSUfLFYXF1djUajy8vLaL99eHg4WOGtZehpAH5VKpXtbr3ZbKC+g3kR1SxWIy99RERFMAB+end3h5YRICnKXVaSao+Pj5xzcCWAgKioQepLKaMkXiwWkAu6rrtYLbMs2252aFxorbly4jhGPY/8R2gOIRaHehuVM+d8uVx2Op0DH1GIOqQEBmWMbVZrtH0QmwOtFGcMoDZJImzvubG+7/f7/TzPrLWO48CGFMfxarVE3TKfz7fb7S4Kj46OsiwjMvAheJ4Hwy4ORZqmb998ByEKaJ1GoxEENccrRkR3Oh3cXKAaLxtHHHot0Cij0YgzqbVmjPX7/TAM3717t9+H6/V6u93g4KPdhB0JN+J+v4/d5mDFxo4EgAWbDU6QLPxCFSn3cZxUKoEQEuyfNfrQULLWzmdLbFZElOc5HFknJydCCCwS8Fbo92KHSbOYiB4fppcXJ1Io3wuKfqYQsP0AmuP5oZEgIswrOgQ3vcAPBW4+aGl4GfxyQA4HAckBlrwAGKXmWKkSbBSQpEQ1KAwUh7yDc8lISkmG8jwXwlgD2rhQdJRz64VkpbSh0FoQEvtEkVfDhbBKSCYkKcNIcFHwyo6rpFDseTATMS4OzyMlB49bfnwqaWNJVEy8Z4xJqYRkQjBHOgICDmGlUFpYzl0peZYxIQQXTAghlZJFzA5Jzk2hRudki8NrSUjFSw8qoZKCwBsHScoisT3PtbVF+LhUnIhZS1IwXkhmRIGPBZOKcyYPRDWcRYwxA6LdGCGE5/pMUqFrF8Q4iTKRvDjI5cLDSjgclsPTijJBiD2bU421ugwntEKi/FAHECuEkKrwApdjXOkA3EUpqSpWy79LbXmeDFCgfiyP34xNJSIluD7Q/sQYMnywsoks54xhHFeJxUWJ6n/bJmDWMCLNpWCHJoEURFrq50XMXxDzxXcEVPCGlb4EKrT8qFzKYgBjdsuL7VDminKKAf2WpMfxFb9V4RcFllUA6+XlanAxK8cLqk3HcbRlTDi5tsKQJi6ZJGsMCSE9KYU2Oqd9mJNyao1mIPahEMLk5CiHaXN1/WU8fez1Bp1O5+OnD/t95Djy7Xff+YF/e3sTpSkAAREZm2+2K2vt29dv4jjebbZZkm614cSa9UYaJ51eN8/zT58+YQNFq9T3/d1uZq0eDvtE5uHhbr1e1uv1/V7CEInPuNttOKcg8Gu1wK94cRzf3t0cH524jjebzvf7PZSgCEiBxbPXGwD5HWagwCKJHQ0iDeyDcRzvdnulxHa7ZeUAeSAtJCVDZoAYckiWjSGA+3q9HqeZUmqz2+d5/vbd9xiPQkQm19is8zwfTx7JcmzBXlBB4uRqtWq320KI3W7/9DSWUgZBYC3FccI5m0wmR0fD73/4Ls3sv/7rz0S024XNpjo7uyAinWZhtBuPx/cPi8en+3q9qpRypPJ9F7GVaZoak7uum+cpjmG328VAdcTR9Pt9KaXv+0ivw7JHtJyUcr/f/+M//uP3338PwQkR3d/fQ3QErTBaw2A9wTONjo/iOD46OlqtVnmez+fLdrsdBJW3r9/s9/u7uzvB+OP9AwTuu91OcN6q1dFM4MZu96GUcjAaZklKBaWdIuBiMpnUajXX9Ymo0+kREc5UENTm87m12cPDw2q1AvP6/v173KhcN6hWq+PxE+7uWtvpdI45LHmeBtVmrdF8enriIo/jsFZrHNy3tVrtD3/4A3oLYRiGYVyv1xu1ZhzHvU7PWrtcLvM0X86nACiGOEInhBAYvHp8fHx8fFypVG5vb5fL5XA4HA6HSrla22az/fj4mOcGenprrSP5+fkZFAKw2TlSNWr1yeRJciYYffn0EWVkr9erViuYD4VeFpTom80GbXowgkRkGaV55un88s1rjKxCQAcAepIk+/0+CILh8GixWMRR2mn3MP7m6urq5397X60Gx8fHjUbj1atXNzc3jUZjOOpPxrPpdOr7fr1RffP2Moqi1Wq12a56vR6XgbZ5GO9xN86yrNfrbfc7xpjjOP/8z/+MigtOzSxJ4zjGhM6LiwvUZnEcW2aMMXd3d7t9dHZ2xpidTCZSSmN1vVE7PT3V1u624WzylCRJHEbj8eNgMGg2m3GUXlxcfPr06f37X3744QeUVV6lIqX0g2C/XU/Hj+12u9tqPz09ff369fXr12SszvLlfJUmmePKu/sbBH2cXpyv1+ttuN/tdpJx1LEo2l3X63WHnhtA3YHVAigphLi9vW122j/+9MfdbrffRZi5s9ps2u12pnWmtRAinI49z3NdXwiRpulyOVdKpVlsrc1S7Xme1i0hOIQ3QGPVeu3i4gKNwaBS9Vx/v9nb3DbrjXC3912PiLIkVVxwS81aM2/n0+l0l6au6zpSBpWKYMxznDxN/W7Xdd3J01NI5CqFHjzYAdz1Gg2XMRZHDN3Ig5+n1Wq5jgPd42Gmm1JOu1N3XdVuN32/QsSiKEri+JBbhzIG9n3ADqUUEcNMJXhXHOVm6bQa1ABAUWlby4KgprVezKaeV6nXatVKsFgs5tOZEMLqfNg/AmONaBcUk0qpXRijTQR60hhDZPf7He4LELDFcfz09HR5eek4znQ6uby8VEoFQQXMDhSbXMlwt3VdV3lurnWt2ojj2Fqzi8Jerzc4Gt3c3NSt0WRr9dpysx4OTozJr2++CiGGw0GikjDcIQCt0azlOo3jTCpujF4ul57nuYHbrrSfpk9H6qjd61ZczxjT7VTXy3W0jz3ftSb3/DrY9GoQGGM4VwdsLUuxAZOIxVOYvkSsEDtJDKixRinACWGMwYAZY57HFZXRK0ZK50ACCiGQ88gYg/QRGFQyhvFP1lrpuFQGpokS0JOQWlophePAY2qEKLoEzJAQXJRw/ZBCUoaLFDQ56gTNNKeKdCQTRriOX+OKCymVUoqKVJODibZgKg/S6zI35iXxaUmQtUwKphQXggnSnBshBOOGyFhljLKuI4xRec6Bd6UQUggluHS4EIJLoUhYYY0wWlsiQ4ILoYgMgCSwKS8zOkVB7FoiIkbSYcUJ4oxzQ0QkCmkNF5wxLhyHEExkjJDcdaS1/x/C/qxJbiVLEgaPmWEHfN9jY5C8S2VWTnfNVIn0Q4v07++nlu7syrw7ydg8fF/h2M1sHhSAe5D3m3FJuRkMOt2xGAA9elT1qKKQjAEwmEmSkCpczxVCSCml1oYpwDszrhnTTEicd8YUI02kTYMrpbTSnLNcFhVCVtXBA51dR9AIIlEUmVLKsgyZn8NGa5DJ6+lKGrWNIE1lhA54dlYN+tJE3IA/VTMmNeOMs9JYyrTS3GREJEoFu6qK6GqJV4ujrDJY1QOqi86L95y3kqpRBQDuRERacc7RyUAfgNQbSF2/vvrNmX3nRvUGlMV/QrfrtzKbyx/YRYfr8mMvv/iS1CdiTAji3LZsrfV+v3f9hmbkOI4kZgiuc9Io3DXLkywrpGk5nV4/jyMQMJwbRa6i+HjYh4ft7sOH73zfX682rusORhOtWZqmGJZkex4cWsi9+vz583A0wRq5urpC8jESqcMwbLSadVY6bHMfP34Ew9Tv94fD4Xq9fnl5gRaw0+lA543W7el0QvwZRpfjMQAVo5RyMBj8+OOPnPPX11cIV8CngtQBlQ5qud1uw9fY7XZBamqtj8djlmW+34bdE/RGo9FI0xTySvBPLy8vtm0TEedGp9MBiRLHcZoXICYZeg6LxWAw2O12w/4AGwlxp2U6+/2+3W5z01itVoZhuK7797//HXoMzvl4PNS6zO4Iw2O73b69vU3T9P/8/Z8IK4AM5vn5WWt9PZ44jnNzc8MY22w2vV7HcRzXdiAWQjAOSLUsy6DuJaJ2uz2ZTBzHieN4uVyWM8wtBx1/iAqICM30JIn+8z//Dp+oEIJImaa1Wi2IOAyvRVFMJpP7+/vpdAqlkNY6TxHDUqbB5HnueQ7YWbAIIOw553mWrXdbpnS/3+/3+0GzMCxTKQW9Ssmz2jZGSK5WK855lmWvr6++71uWBdvl1dVVUST7/R7tfth88RVai1arhQwfsJUQ4cANuVgsrq8n79+/X8xXWSrzPEdIKGjLdruNFSKl5LzwfT/Pc2SPwIFgWVZWpIZhZFnR6fWQfxcEAby2OIC1i/T19bXVanleAO0v5jii4ZDn+SpPccpwaXie1xyO+v3+7e31b7/9JoSA3Q3reTKZeJ6HKfHr9Rr6EzBbq9Xq6emp1+tZltVst5rNJrofWPaI86+fefgnlmXd3d2dwhhmaMuy/vt//+/r5Xq1WmJUO65EXBe+7yM/HqJ/rTVyQqAtQe/FcZzAMHCZhNEJxR7KG0SjSCkdy0aLDAI5PLCbzeZiNYeH+Onpab1et9tNHB/btv0gSJJkfHWllNptNkqp68kV7gNKqfV6/f79+3/7t3/76R///N//+39DiYTrEdZVdJzyPMdFvVgsmkED5Wij0UizeDKZQNKGN0DrxTUBXzLGQFETEcBio9HA3QCcNBFxztfr9Xq9Ho1GllmSr0j3Xy6XeZ57ngeGuNVqo5jHzadQUgjBAoEMRNQPKIparRbK45JiMCzc75FgS0Tr9VoI0en1ISxcr9dSasdxwEfgc3CatNYo83BhYtwbmnuYm4H6Geod13WR+tpsNjnns9msEQREJASrgTjIdZAvGI4B5Ynv+1wIsBJIx7dcB50ExFvhMoTJxPcC6L7iOEZqPjiRJEmWyyXIEbiSKjUIN00OV+4hPAkzgicBIa2goiHeO51OcEr0+/3VagXvB/o8iFLN8xxqoiAIfD8wTQtJVgjs2u12/X6/2Wwiwwr3eXSr8DDCZFaQ/a5r5wVJWZxOCRgix3HrqCsEE0+nUzTlYEtF/wROccYYLElVD9AaDbulHbDk8s4z2YlI1HwfYkrKHBKuy3h1KjHWGU68ARWXMINdjNL8CjXV0Pz8V7rKi7zIvNaVwkMpZZSMr1LKkOVsHAiML7AWhviUn6yqz9dak1IMrWYhHCkxMFURkcE4RuYhXqbeKl2phpQEbOX1vpQvWYW0aGwMGYwRCU0SdkdijGsuhIXbCOc5ZsdyzjkTAtYBwYm4YqB3S06aiCtSQmBLRBU1zpGvfwbwRJoU8DH2tkahRESsbpJwIlKyTATiHCEwEvOgDM6ZTTnPWRWm6domY4xIaVaqP2pLLue8imPXJTzXuqTGqld97pSqex0ab9OVV7U+uW8WAPaqOntvDrW+eD9nJEs91fltnPH6Qy4+rX6DUsqo/025UrmuVhhdvi4W04XfVGutGAwNSilFminGuVFKkCSThElXb6Qv+C8XbxD5ZVvqDc6utTR/Jpv56o/nN3/zt+yb/eecS6mkVlXvjOd5TtzwPF8YllKkSTMSeZFC2c+FQUwYwtSME/Eik41Wz3I8XWghRLrdg72GHtQLfCaMMEqyLFutt2j3N5tNtDsZY7D2dzodBFoREZ4B2+32cDigy885h1wEWTFFUSyXy16vB7Ma4CznHMNrYKm0bTtJIsB3KDXzopSdLOZLpPW9f/8ej65Wq3V9fY28OcYEbqPglcHB4EBJKXHLhtiRcw4NYk3bg87BtHNoPKSU/+2//bdms7lYrD59+gTLUVEUYRiGUYyIvXa7DUCGU7Pb7TjnrVYL0gvLdHzff319laTrJyURwYCFpwgcWoZhtNutw+GAlOtWq5UlpUQ1qF7hMfQDF7GMcBG0223LMOGqXCwW2+2WlzPS7OFwiNHcr6+vaLs3m00A0/V63es1iAixKrh6sS/DYR/5bshVwErO81xKDTkNii7f9zudDnq+QIRIq6jBOrq9nHOcIKjAlVLdbte27Tg8HQ6H4/HIhBk0G1BiIB8Tz/s0Tbvdru/7UmoMkJpOp0IIHPNms9lq+ZgrjjoEgS3L5bIoCNPIsTagOzoej4fDwTA4sGO73e73h512H743kNm4nSmlXl5eiqI4nWKkUoBuBL1tWZYXuFB5RWFoWFaj0UCl0e/3l8sl8B9WERxyUZTs9/v5fG5ZFgKFgHQhGUeJKISI4zg8HFer1WQyGY+v5vO5adqDwej19dXzgqJQnU4LXjd4H1EN9vt9yNIwyFNr/fT0VEdt1t4PzjmkAvP5HGDi48eP0HUsl0sgjIbfcF2XiHa7HTCW1jpoeIKbWACGyVutFlo3w+EQfQPDMBDhL0zDtu3D4ZCmsW2byBEvikIICwAlPByFYHle7HabZjPQWsdx/PLyYrtOr9drNBqwjqCP12w2g4avtX58fvKCwHGc8Xj8/PiUpimGoO12O8dxPn/+/F//X//l3/7t3xDYxzmHrQVHGDKMVqv19PSEi2I6nX7//fdYnED5sPDCF0HgHaavcBujgwTRNpp4RKVwfzqdwv5RFEWSJij7+70hgCmg5GQyAb9gmuZ6vU7TvN/v40lpWVan103T9Hg4YeGdTie/2cAHohZ1rq9M00QpDmH9ZrN5fX29u7u7vr4OwxBj7Hzf32w2x+MJ4UJExJj2fdfzPNd10jSN4xPnPElKmftsNut2u8DWqFjw7aYwXM+GqkcIgVSlJEmUKlCe4W6QxcnhcECuC+o0KSVMgYZpnk4ndGJ3u91V42a73cLVg7vQYrW0LKsRNHGvA1OGG2aa5kEQ4MYI6T/w7mq1klK3240kSXa7TavTzQoJTI9RdFLKQpZ2XkBzlJp4LOI3cLPAOo9rPIqiNM2gFVyv19fX14gHKBGS66KSWSwWUCLhgQiPUBAEYRi22+1CpmG49zwnikKlik6nM58vbMvN8xwXHd5Zd9gOh0Or1YInp9PpwCePYWevs2fGGKpZ2zartroB+QfjWsAlSERMg1hUpSkTSOeNSU+eJzFxrd8AiUsAd4nn6A2+f4NJWA2rGDYLaSq60moTJ64ZozIyiNdgjpkmsbKjy3SdGa8vog9LZTLn3DB4UZgGRstTmQjJucE5J1FWL19xr5ybNTDF7zn+npdKd86M8qPKfEzMmyWwzsSUMIRWhmmIwjQq/p4z4oYhOOeSNNdMa5JMMc6RqMMVI6EujidVahnNmKjnMQHrlzCYiarwwIErmxjgraF+r3RDnEgLKg3HQgjBuJRScFHtvmag3Mt9ZIp0DbiJqslQOOnVcbs8y0QkGAlGnGPGqiJeyqtkLeV4i93VOVMSaZ5n5FkDUiKhtSTOcKIvkWr9mYq9wef1D0a9QLXWMKRWK+PNN9X/vXy/0lqRVqQ1QRylGBNS5rV3QGtNzLzYmvK01Tv5J6x5ZeJWqp4Nq3FUqw1jl9fM5dJ8c+V8U6bgBSmbEEJrKpQkIs4MTHAgbrRaDWJCSp1L7Xl+lmW50pwLwblUBRcWc5hME0W56zU1hZo4d7llmGkiG43IsZxTGEGbvlyumTAxQhKyyEajgVsbCJVGo7E/hBDMFEVRyCLN6HDcGaYRNDzPc+bzuevaWsssS1qthtaaMe04LkTzNWYyTRN87WAwwERc3PK01r7v54WJ6XpAjaPRCGwfupOmaS6XyyiKvv/+R/RkhRDz+ZyI4CELwxDwTkq52WzW67XjOJhDRER47OFRjUmoGDczHA7H4yvMaUI9gJyHfn+42qwx3wT+LdB7aZpG+Wk0GsHfyTkHrJRS9oYDZK6jgcsYe319YUwTU9vdWkkqClVnABsG3x2OaZxIKQFJdaVgM00TSTLNZlOpYrvdbtcb27bjOD4cDsBSjCGao4Hn0I8//phl2Xw+//TpE0C253nz+Wu96hzHabfbjUafiGBJBLiZz+fX19cADXkuQSfX2AWnxvFcxliR5VDcAlTleX51NcYQH2hGsywDjp/N540gwLNfSplkBSqH4XC42WwgGwUmWK/XQRC4rh8EAVLh5/M5YwxlUpJknPNqulCy3x9brdZgMOLcABOPOgHpKCDgpcw77e4pCtfrreeljHgUJTUankwmIEc/fPiwWq2KYvX09HR7e4sgTtD8r6+vcZyCFQMsC5rN0WhimmYQBP3+EEWd1unpFD89vaAd0el0ZDWYDLpzLDlUZehaSCk5sSiKkPaNUUSTyeSHH37AHz9//ozDiHYWWEyATvgN1ut1mmcQUsdx/NM/f7Ftu91udzt9HHnbth3bm74+E1GSJO1W9/r6GmjGNM0syfI8w9hI4JiiKAyTDwdt4FFErHz8+BF3c8ux8zSzLAt+dFwjm80mTWO0thqNxuFwWK1WmFPWaDWHros5ncv1ajweN23reArTNP3999855+12Gw8hlECAYh8/fkRaYlEUtmnt90fEI2J2Lyn98vKCr0PPBFdQnuftZrDdbvf7PQ4UbB4yL15eXtrt9mazEdxM4iPkhePRFTja2etCKwVOdDQa1U5E9Ayvrq7u7u6wuhBpahiG7dhA22mSI2L/eDw+PDyAeQUCxn0ASJGIDodDs92yLEupo1IK9So6A3Bam6YZnyLcYDfr7XK5JCLYPGB9brVa6+1uOp2+e/cOzTF0EoQQ2+0a9lxU0XCNt1otIUyYKZF4i/cjISpJklNedDqdVrvBWamK1iSVKrlh0PbNZtO0hOO4sOiAoRdC5FIWRdFoNvHMQpwOaldoyWAZsixrPJpgF9DBQK656/qNhoGMnfv7e8Mwnp6e0Gk8Hk8oU4/HIxOGbduTyQTmV855mksmFNyrk8kEpxKVA8pRrXWaphjxEQTB4+Njv99vtzv1X4GFieO4EbTQWyuKIsuyXq+HyhA2mMViMZlMMI0OZBNjLE1jx7UGw952t14sFuPxFRoIk6sRui5EVM9DEEKQ5kgiQhNgf4r2+32r1ep1uoawXNeuEzxlOdJRwXnJy2h2/I/lmkgzEPBKlHJc0uBrOUBkbQoET1yez6+YzSoXpVSdX6CMb34gzrnU6isEVUO3r2AVESmlEZnNGKIhz9vPywIAsIoUY1qD0LWAO7muKfkyYoUzzhkHcKqRqD6PACKS6mKTOGnJmGBM83LiKXHOOIZvIsG8rIKIBNTiRMSVRvI69NyaEVA+55oppaTiSinN9VcHiDPFYIsUjKrEwvqgMcbqvgkr48UJgSKlaF6VImp4bTnnqqjycARpo3QU8IvRWowxXbHSHFE3JWovz68QRJorkpyzy0FJwKucRA2mpcqJRHU89WUh9FWZ9NUPrFIIIfmF0MaogoaqRXNG7efFgk2pMHPJuJcf8TUAPn9rXQRcvkNfvOoD+haOc62pkMWfth40qW/eT0SkSZZKFhKcM8ZV3aD4dsP+/0L2yz9+tfFQsAmOgE8lNQsCyzStQkpumLZtKM2iOLUM27IsYkWaauKWVkoz03FaMotSeXQbrU6nHR2O3Ny3m+3VfDGbzYgzpag3GGRZ8Tx9AauKByFjDG6t4XBIRLZtw1yPJMeiKK6vr+GsR6+/2WzivygGwjA0TVsIgTs7BqorpT59+tRsBvf3d8/Pz9AoLxaLvMhG4/dSyi9fvsznc9d1x+OxZVm4t9bkJZq8OEp4KiC/2ajmgERRBNbk119/DYIAo15RjSwWC0AHEPDQmQghPn/+HEUJdpZKH2qRJNskyYJGAHIFgE9K+fLy0uv1hv2BlNJ2nXa7XRTF0+MLMrDv3t/jSRDHsZS553kfPnwwDKOQiZR6+jLTWmK/0CNOksQyzdFoBGnB6+vr4XAgqRpN/+npCez41dVVlmWnY4iCB2wuVgWGBIGXQpPXMIzvv/8eem7EomOeIrwBeBaCgEdEOjoJruuiR3E4hESEgedKqf1+Dw0G2ruOZQdBgPm7u90uTdPHx0eI87CpiGoej8eojhhjwjI6/Z4sdBid0jTFyEkIak+n02azIaLZbKYUNZvN29vb8Xg8Go0Wi8XxeHRdN8sSpGEAy+LB32q17u8/BEHw/Py8WCxarRY6+wBMUZRzbjQbLaOa8IVpQYwxtPLxjG80Gu12W0qNKbBYz7BWDwaDOE0QT4TyJo3SKEpgjEOGOjy78BWggYBefC1IAFMYhUeIxyBh4pz3Ot1er9ftdtGgj6IIKn9M/qrV6oCSkLbDyQQtBADfaDRijM1ms067h1IKYSa4gXz8+PHu3c1qtZrP55v1rt1ut9ttaGMcx1mvVwh1abVa9/f3QgipcsENxliWZYdjjEpDax1FkWkbKOOj8GSa5mAwcF07SaJ2u4nODBFh5by+vsKBjTmmyAxZLpcfPnz429/+BgXOp0+fMAhZa2nbdqPR0FpvNpuWbgM1uq47Ho1Xq9Xd3U0Z7lHI5qSxXq+hlMNjD0Xpfr9HxpRSCtUmYkBub2+R8FMUxWazmUwmuKiRttRutxuNxmG3AdJyXRcr+XJ0WlEU0+m03+/f3NxAeBbH8WAwOBwOaJusVqtOpwNsh8WPk+V5wXq9xp1ztVpFSQwTKiKJtNZFHBdmBpMZJIJgKHBRYKkgHQXXdbvdfnp6+vTpU6vV8n1fa3k6neCsRY8Fs9tQYyilDEMyxlqtFudstVrhqrHtZp5LwzCO+wPuw0opQ1j9fj8v0jzNWAUa8jxNksjDCKfdDsGOsJAqKTnnh+MRUaG4WOw4bjabqJfQgXQ9v35aQ3reaDTyXOIUYI2VUetCYN7Wbnf48OGD7/vr9Tov8izLEA9g23YutVLKcRyk8ZqmWUdOoVwBWYOuKa5rDBrDhYCDn2XZ8XA67EOtWJrkStIpjHu93mK+Mgxj0B+he1O3AnBBCSGOx6PjdJGHQ0QA/d1u93U6x+krtV6+jwnQruvud0et2Hq1bXeauBtwzouiWK+3YRi2O14QBFyUrKcQAlHXXCvijKjGmkoIQ+ty7g/XCohNYVAQK81/pEoGmTGGUTmqdGqWPOslCvyWGawwSanJYSXDXYbbsIsXUFNFPDPQ0hUlqjjYy2omqyZJxCr1BPJMShkJY4wLCwQ5JqoCd+FLqu0hIkI2udZaaQimiYBJz9oeSYwRKVHtCmeaAbKT1lpqLTU01qXchYgYERMkirIA0ERaEHEmNEcLghMpiJEKJXHAtIbp9pzCeQnMaswK4C6EUcFFrsqcQ6HLyU3lPpQHmZ3JYmEwzk1OhPtY9cmaqlR7rauzdFGb4a8EndXj9V9VlZtinAvBqdQmEeecm1+jdnzmm++9KFrKjWfEypMoGFOMMc64Zl/j7fPZ+UY/UplhmWJVCVh9PaOzB5RffG9Rrzx18SoguMOna82ZUbYz6quCasUSI4zBqj7x8ggWUuKrGSFsqPxXojrTl7tU78ZXoPxyD/8U8UspC6UYYxDJKCWFIYQw4iRzXZ8bRl7o425nmqZpO1wwpZgQBTEmpVRMWrYphOgwLgTL8uIQnUoahsjzgiRLPc+J03S12jQajft3H/bhcfYyxWyj1Wp1dXUFvlwpBWiL3AykcWut5/N5mmWAyEIIOCCTJOl0OlLmm81qv9+bptnttjnnu90Og2/hooMUJE4i3HNxvx6NRq7jQS0K9rfdbkNsA3H8dDrFU/P29nYymYDwRhzEx48flVKPj4+2bf/444+2bX/69MlxLGwb8neRXTAej0+n0++//45HEWPMNE2M0gSV7vv+8RTWE5d2ux2GvSMgJcuyKImfnp6SJGEkfN+/u7s7nU7/9//+X3hePc85HA69ficwg36/F0Vxu9M87MPFYhFFsdYK5rBBrw95T7vdRhaya9mb7YpXqXNoyPquh8cVJC5QxkuZIx7x+vradV20GoDzLMs6HA4YxAhgEYYhBKMoLQBMAX1YlSsH7IjzvlqtqiuinGZKqmwFIBpISsk5zedzLBUgzl6v57rudPbKNGV5ftpui6Lw3AB5gkQEQTBW9WAwgBw8y4pPnz49PT1h8it0MqZp2raJdg2Kk81mg5YLADTmYqIqg4QDomoMeUW4pG3bQVBm/iBEAgmYuLigQoFRrwxo03q73YrKv99qtYpc+R4rx/qaBsQ8Nzc3eDS2222M4MXCAEYHg4hH4GQywfrHrSmKIlQ4juNcXV0REVAyknNsy8WpeXl50YoJbuaZVEpDUAQxjDANpM3c3NwAgoBkBdhyHGez2QgD6I2/PL/CRIvd3CQbxpht26fTCS0d13WJqfC4w/BgpQs0T4BHiQge4lartVmt5/M5AArYfZgTsBhGoxEYdM455hXArgDCdTKZ4AJBNTgc9rHB+90uzbL1djOZTEpRSpKMBsPffvvt3bt37WZr/jrb7/eDwQApPTjaRVH0er2//OUvaXw6nU6Hw6HRaHz48CHP89lshr8tiqLZbE6n05eXFwi3tNYwoHc6nf5oGMfx9rBfbTdRmuR5Hs5nED3jPtDr9Y7RybKsJM8kaa00ogZbzQ746TiOu91u7XnAggGO//XXX4ui6HQ633//vdb6dToHwouiyHU91/X+8sO/zJYL3HOkVFmWM156b4BucbLiOG61Gobx7vV1/vLyctFk8xgLgJVRYG82GyThJElyPB7rBhRMAs/Pzxgl0Wm1p9Mp1l6mEqULXA6MsSiKut02Lo3T8Yhs+MViobXudDrNZiOO4yiKojgGzQxRFhAzeqRpmiZJOhyNYQrC44CIB0HzdIrr/l5RFI+Pz9CKKKXiOIVziTBhrcgR33Q4HPrDMS4iWGzRmK0lMfhGzjk0kKfTCbrEmuhFyREEgZK03exBbeCiwLTs2WwGA3SSJLt9qbkHHY42V5qmYRh1zBYjAbb+//7f//v+/Ycff/zx6fkB1SNau3iyPD092ZZbpjIcjobJdSE550EQmMLa7dYgnjQVuKyklEbJQnLGGDEgTq1yxTmjkqsugYDWmmsiXiNIrTWr0YMouWrExCCGURNjqh5Tc4GoLgFJFX3xVmr8DQLh2ABiDHCIA9CSktXMHa5LulcTI+KCEynECpbbrrXWkqmS11RKnb9BExd/QsQyxpiU58AZhv3TpIGUZGWC1JzpsrdAmrTSWjJSpIkRMaY4M3QJdoXWzCBSmuqAPsa1YEKTJqEqRy5pVhK1nLM6O/8rbIpDW8pOeO0o4CVHXyWSa41iQpHmsCporblRzaDVxDTjBgNDT1U4JyPGVa1fqsZOvSWOa0h5AdbPfYD6QgCFpCQxRlU99RV41uczAin/N9BUESsFUswoXadvK0As1LIIe6s00VobxBR9jYAVkb7QG7F6fy737bwUGGOMwXxQbpm6EP0wReXgrFKnXmplWB1I9MZmWjZBtMAJ1gpFMjH+9ffW/60/5FuYrt+WB4TGguJSK62JMwOuDjy/NSMlZSYLlcksl1ozP2hy6JCIGLc0FcJQUmpNXJMUppPmcRyFnAvH9Tb7RZIkOSfwUlGSdbvdm7vbXMrpdKqlDMOwHtMdxzFjLEnzPM+RUAEsBaUgYJZS6suXLyCBdrsdBs0o0qc4Go/HiMJN4yjNs/5wMBmNaz9ZmiXdbtc0zdlsRkRobs5nCyEExhMCUJb5NlJiNBLnHKbVn376CToWZEoWRXF7e2ua5n/8x39gxqHjOEHgHQ4HTPsD1Ks/GROm8lzOZjM8hzab3Y8//khEyKv+61//mqYphvWMx2M8Dn/77bfVaqUZjUajdrstuJkkyWazeXh+ZoxarVYQeIyxOCnFx5rkbrd9eHhYLTeMicFgCKAWNAMly8Tf2WwGr2HdDkb7HkfVNq3r6+v7+3skEyPM4e7uLsuyP/744+9//ztMvbUwCc82PHqx2AAuiQgiqLIDnuevr6/Pz88IoonjVGuNMw5F9Xg8BgfGOT8dQ9yPsizbbreGYXS77Q8fPqC7gonrgO///u//fjweo/Dkua6UMo7SKDxtNhvTNG9vb9HER6MfY48cx/j+++/X6zUIfhCfjuMMBj1ESaCUQjD8fr+fzWbPz8/QrsRxDHluHMdKFXA74VYGTMw5azYbCGgD7kekTKvVQiE0n8/hYbq+vkY5yhjDMJ0iV7VxrdvtpkWO4hNwEAcZOwJ9cBRFSCNttVoYT4NeEGMMKpH9dgf6kDE2GAwAkSHbUEplRc4Y2+y2xFl/OIA45OXlxSgn+HKlVG/QF0L8/PPPYRhyZoAtllKivQNvyefPn+E3heQagnXf92Uu9/sdbi/QXKVpGp4ORa6en58dxzGtUibXarVc19VMcc6huHBtB7E2RVEgNKk65mq9XiPDHgiMcw4FM24UKOqQSEhEo9FoNptCG42j1xDCsqxup7daLjb7vSpku9n6/MenOpVyOp2Oh8N+t7vZ7SzLgvieV1JmKJ5RYJimuV1viCgMw/V67QU+EVmOfQiPmlGr097tdkzwx8dHXkWpYiNxpnA64D7EfSwMQyGEVEoYRpplpziyHJsY2a5DnG12W8ZYVuRe4LdaLa1Z0GzEaaK1NsvxhwpNHoR7+n4A52i31YbEC/eB55cX3A+11vWCh8aj3W4bXMznyyRJBBeWYZrCME2z4QdE9Pz4JKVkmjzHNbgoqEBphNUCu/Pnz59LTRQ34b1G+hBkIbBZo6+CME3MAWCM4ZShmlJVUioc0lJKdDvxPO10upZlw7wEY8bxeEJDD4Yf3BmUUsg5wcwmxsTNzQ0Mo61WazgcSq3m8/lmsxGmjUcGYwzCQkSdXl1d4dzBpwv+HlUB5kKg9ob3A+dRa0JME2gmCJbARODCAWMSRVF4jBqNhucGStJmvYvjmDOj0WhKqYtCBYGL9QbVGfa90+mgl4UJrHGU7Pd79Hw84RhC4PnY7/dXqwW0WIbJMCiycnCWo3C0Iq25lkqpM1FY6hsAFBXjjJRSWpSDgLQuOUtNinHGiSmlgWVLccUFuPwKilWAhDHGtKpCMgD49XlkKH5TM82aZCXyVkSK8TLhHACJlK4GeUIozzDMiDGtlJIS8TJK6zJCkYiY5kqVEua6qKh/rrecXYgmcIcRhNk7mjNNOJga0i91HuSpy8B1dqnJJi4YEeeX9QPn3NSMsdK1aApDSlnhRaG1xkFAj6PcSHZmr5H8qDUjzTQRcShqFGMCkJ0RjLzA06RIa6WYLnG50kppJUkyLUoYTVopXXlhyTDgZGD1GNQaSdY/8IvBqFWK5Vk6xS7+Sf2qgXvdw6+EVXWbRdQ+Y8VIlPsuam68Ru2XePeyNgBRXoeP1icXy/RP/s1lXVJvLq8KVlWo+kNIk6pGBxsmv3wbVV2JiwKxxuu6+ljOSMBmwDlxoeu+z1evb5H65Wd++zNjTKo3mjMpNZEybCvNc4sxzw1OUaqUFobTbreIeDWZS0gZF1IaQti2Q1IqxQ+7E+NKmAZh6lYhfdfb7DeMsTTJPc/bHw/7f/yj3e0GQeBadq5Unuf13TPLsiTN7+/v1+s1oE+dItLpdEzLOh6PGHcKhg+3NtO2kP4BKQKoFIhcgSnzPG+2mkSE+TKATY+Pj4HfALau+84g8DzPWy6XlmVB3fHy8sI5v7+/h7sI4AkaHs75fr+HHYpzKoril19+QTYCtB8IdthsNofDwTRtImSlFbinf/78OUmS+w/vQc8jgwLJJ5xzjhkHjDzPW6/XWrFWqzWbzdrttpQFhBmO42R5KZ/49HkXR2kYHhqNxvX17WAwzPOciMIwNIWBJ5xpmg8PD4fDIeYiaHg169ZoDLMsS6IYrj4oW8CGSimREQEnLpYrnvpofSDHRkoJYTqOfBzHjms3W42iKEzLiOM4PkTT1xfHcVrNbrvdBvV4c3ODBkWWZcv1KgxDyzARUIOQBMh8YaqDiBxyhf1+b3pOw/PTOIlOJ6WUVsx1XV7koJyfn5+pGsgHdIIcPXT2iWgymSBvEUgR7Q5+8cIFWxQFZFTAHzc3N0oVcZyC0WeMoZN+Oh3zXCqlQNxqrTEG63A4QLneaDQ2mw3mc3U6HSEEFPbwEhiGsd/vkXNiOjacEhixDm0DorX3+z1yYCCb6XQ679690zLPskxKeTgcttttFY+dQ37m+z7YSjQThBCuF8DxLKX85ZdfbNu+v7+Pomi9WgCIY9ItTqVhGP3eEMHkyNCEwSOKoiSNcMWByAHQ73a7o8EIyqLtdhuGIe5gx3CPJ3dRFHmRwpmAS8mwBEwXuOq3602j0YC9BAEgWut+vz+fz798+QK3OmTrGNGgq4iP0+mEyVPw/EHAbVnWcDB4fnmJ43g+n7++vt7eXJum+fz8zDkhCQeE7vX1dRJFu92u2W4rpZ6fnyH7CTwHfujHx8cwDG9ubtCKwSr6+PFjmmcw2qLD0G63Kya4nNkJFymul36/H8cxGhFQLlWRFPy7779HXnieS0ii0RzrdrtPT08odKWUrVbn+vp6NBqR0pCQSSnBI6BXibBUFPPhKUTb0PO8u7u7h4eH9XoNWTncO3mer9drpLgOBj2tGdJRcJnA3goKGUMMOp2O63vdbnc+n4OO2e12CD/BqF3TFloz1OTYi0ajkaeZ53lKlTPRUOZhsA4R9Xq9drudJLHned1uN4pjIsKV3mw2SXCYg2HBDMOwkBI8tOd5mEgFvRmukVars9lsOOdKUbvdRd/1dDqhrOXMMG0+Ho9fX1/hIsUtGpe81nq5XGJ6NxxE79+/V5VXQVTx1XiIYBGGYRgeo36/D2yNmwaeCL7v+76PpCbI25rNJuRYjDFkR7quezrFSlIcJ6Zpoc+MKYH4Lly52LV6g+M4xqNwv9+PBj3cP+Mo5ZxLqfI8N63yWSOEIC3ByALOAMFpTbALAzVWsIDX2JXOjGaJNFRlLqwxBgoezNY585J/Aq1g5Hwj0L2EQDUKUkpBBqM16O0SUqk69U5JYNNad6FJkYYEiNfy91rIUO6AKpFZ/Tk1aiQiJqhkqVUNikhjahRj+FlDRKO1UlIwzYm00mehi1Y4FvXcHiJiTBBjWpXQtgK+hql1fjEWFMi1PHSaMeKlkqSSm5PmOKiMczQ7dKlrwjYzpRTodl22NSpV9jmxHCWNBMCFGY/qGBnSTHAiYmdgzajaZhSoNezGWa7OdSn9UpVJklU/12BSVyIUfBS6W4yXspmLBcNZ1Qe4JM3rg6nYmz/WS6h+EZGhqrkDF28qN6Xu7UK8CN6OcQsXhNKSGFdMa6aJa4OkaZ4hfv1ldRxk+eLlH7W6bC5gRrAm0pZV93HKGcKcC8YYabrcbhxxXZVrl9C8WuKy3ox657XSpDlRoZQmzoTQcDsrVTQavmE6cZzGceb5nWarYximIhi6daEKxi3T5KrIiXHifLdfM7ICL9AqD5OF7VhxnuRK3lxdb/c7YZrb/S6TxXAw7vUGgwEPw3Cz2QjBEfUgpXx+fu512yBp4GFi1VCSPM+xt5AhNhoNDNLDk3syGmdJut/ubNsuhIEgRaWlMOqjxabTKXQUnVbn06dPru3+7V//db1eJ3HMSSiphsPx4XBI0zyKNpwb7XY78HzBOONFuxl4vr1czpUqLMtSiopCpWkIhN1sNoXAbdz57rsrTG5vNpt5Ltfr7R9//HE4hI1G4/q6gXxGBMP/9sfvWmvTth4eHoIgQLPecRyY3q6vr2WhIVJ/fppCqwBRb64kwNO7d++PxyN8V/PZE5jF9/c/vnv3DgZTuJTSPJ1Op5DhSild106SRCqFiIMsS1BmoC2Opz4UnJhik2VZo9GyLOdw2BVFASp9vV53Op3FYvHy8gIeFHDEtm1c4UVRAEZAeut7AW5u9/f34EqTJPI8J8/T9bq0orYaQbfd0loXRX46HeP4FARBEHicE3yTSFOZTCZBEABSr1YrpZQwjOR0sk0HF5cqNCn2/ccfID33fR8wQso8jjMqJ4Ooosgcp/XDD98hFZQxhtomCALc3bbbLR4Dx+Meh862TaWK19dXCJfRPMky6Xkenvo1KYtnrecFYRhi4bmuOxpOFotFdErSZIGtur295ZwfDof9YRuGYZrFzWZTcJMp3Wt3IEvAqfE8L8sSznmep0WRxfGp3+8bBp/NplmlvAfhKqWcLeZZlgkypi8z0zSbzaZtuVprQ1j7/X4yvrEt6+7mdjqd+q7XbDYbfmC/u727u9vtdovFIs2KIAi2h72U0vGCKE2SVXZ/f98fDdM0Pe72i8Wi1+vdXN/BFgJ7ZZ5mURRpqVarJRhHOBCAcX3f3+82jcCbTCZKqdVqNX+dIQqQMZeTyJLcNp2E4izLFovF3d3dzc1NGB7KDOzj/uPH92mabncb0pSmqVLq4eHBts3xeGwY/OHhoSjUcrmEjhwBo9PprN/v317fdFpdTvs826yWq+QUmaaZ50VR5EQEHQUuVc/zhGm3m03fdZVSf/zxx06pd+/eZVmBJxO2PAgCRdrzPd93kyTJ0jiJT1LKhy+flFKn8JBnSc3+vnv3rshVkiRK6vlsGYahZRsY9YWWCDpUSZK8vs7fv3/PmMjzk67Gh+EBj8Qh4GwixTkJwXbH42KxaDQaAILrzbLd6iKpCYswjCPQ7YPBwLbcNE8Qe4+HgmGZURIPRkPkjT4+PiKNBFslpRTCRPWOWxsKD4jfms3m9eQKNPl+v0/jJApPRJyZPAwjYOU6A9dzXJTcpinqxWxZlsEJmACxmEopqdR2t9vtdsPh8OnpCV0pJZXBuG2YpmPD8e/7vmWahZSn0xF4GlXKeDze74+WlZ5OJ1AwyMfEsALP82aLOWMscDt4v+u6cHl2Op0wDBFFgvkDruu+vr4GQeB5/ul0yvMiimLOhVK6KKTWFEWxUqrX6708vyqlkISGZCGQDqg5ca/DrRs6zNpMVWcNm6bSWjcb7SzLtOKm7XTaVi08q+3gyDHrdDqO68u8gNgPDq5+v28bZpKHm91m0G+v1vsrZ0ikTFNoreAcKKlAqXArkzKHrgPo8RKlcGFqLXVeEOdgQ2uGlS5IRqBFTQRhOsyLgC61fL1iWyWAp9ZaK0YV4KlmJ5VUuNKFJo30d9RdKBWUklQmdFAZj8PA2ytWFQyAUYxQWclqMzgBOOqcGFXoUVchH9g2Illrr8v6pEJQkoiRpkoko6SWSitSRfXOGkEqxhgVWmsthKkZEVNK51xzIiWYqRkRQWShGXGDEQkGvhSDdzjnQrA0z4SwmYJkhRFpVSa4cyISWgDG4UtVURkBJOF0MMYUKyfREpFgBkklZUlUAUAju6lCm8if0EwyIURWaH4hr8cPpmGRLqeZSq21kFCKMsaIBKjmenYQETFOpJFPKCE/q0H/G5ytS18sI6aKvDyDghEJyJI451qVHD+RIqV0fV7emCPO2vVzaOUZaoNBl0Saa8U0MdIcP5PmSp+pcdQO5R+NP0HPVOli6Pwqixsuyr8F/uZV2pG+2IYyzP4brv0SkX/VH7j4Pccqrj8KtZCoWuRMcKWULKQlHNCBh+MpiQvHa4EeIyrDOyFxVpxhtDJjLC+UZkwYFuc8y6VpmoIsInJd95RlaZruDod2pxm02pbpgGWEfNCyrKurK8QVQ6gKiIYsP855Xo6w5poIHAaV8z6a0CFEUQTRLQAxzHytVstxy1xFmL2CIBiNRkREivBQmc1mURRFUXQ1uTFN8/dPf+R53u12MeM6juNOq+04zl//+lfLso7HE0iURqNlGNbLy4vr2tfX12Df1+v1arUC72VZ1nw+h7wEuWa3t7dBEChVIEFFCGHajinLLjYITpBts9ksCIKrqyvf95eLNWhOxJlBfG9ZVpQm4KhAZ0JnAlRxOZTRqIa3OY7z4cMHcF0wBeZ5HoWh67rH45FzUkp1Op1GoxGFJ2jTcXaQyg9foOd5uNPVWQ0IaYYz1TRNtLzhf8VB4JyvViv44drtdi1zX6/XeZ4jpo0xBokUHlE4TaZp1jJuMH9QjGw2m+12C20xFAigZpVSpmkmUQqYi2oH0SWgJDFSijMGA/R8Po+i6OXlZbVa3d3d2bYdhiHazYCbhmHEcYxWuOu68N2maYqBpu/fv4fiCExkWTwI0e128QlIe8yyTIgyIwh1jucG8I9CVOAX/mK+arVa0Sk5hGFRFO1WF1JvhAxKKicdRlG02WwcpwcK+XQ6ffr06Xg8/vrrr67ryjwPwxBrD7w7FFnJqRyuhEChPM9R/j0+Pr5/fw8QALnLdDrd7tbNVgdbjm8hwUEtSyl///330+n04cMHrDEonuEVxpcKxrltg4KFfAJuXc756XTCHQMR41jng8EAfPzT09MpjtBhyPMcmdN5nj8/P//www9wm9RqYyIaj8eMDCwhyzIcx8G1Bt9IfS7gslBKvb6+LucLxti//uu/RnGILeGcf/jwoSjyZrP597//HQ6T29vbPM+TJHmdzvv9vlIFAoiQMIM1WQclQWD26dPv79+/T5N8vztmWea5QRzHgd887MPxeLzeLNM0nU6nSpLjOAiw6vV6Ly8vSpLgppLadfyryRW6iOvtBh5iNNBQaaNJiMWJAyiEQM7m8XhCeC5UK9AUIS8VMvS0yKEmKooiVvHrvBzhSWiYClEoGYZhq9FEzYa7H5wqpmmCikaVXmUcaSLCbAejCvKHdT5JEq0ZdImwbdSRXHmaOY6jtYzjzPM83NillJ7jgsxeLpdBEDBGMIsjOgZmkuFwuFgsShFjlh2PIYwiqAnBswBJwBcRxym6N+gAgMTt9XowJad5hm4YY8yyLNv1cftCt01riZHVGM9ERHEcK6WxILEvELH0ej3EJUGqBAMreiOr1YoxhoxjyN9RNsCWg0ic2Ww2GAxQvQDxoGkAPh73WywYwzDQPR4Oh6h+EYDGOccML4B7y7IMLqLoiLv38XhUqk9cSCnzPLWEUUgFYTHglNaAaEyfc1eAgTgRQxFVIoaLKfJaA0NTjUL0RXzkG2ryLfCofnNWTXwNYJiqYM634t4zywk2s/46wLQ3H/PNF9Xal2/xUt1J+AopnTf7/JmQuyjQ4araKk0aATUlw68UEZf6rTdSM11pknRld2SMnQcSnRGtIYTm3KgUEGc2ukbe1d5gWKkulNRaC2ZozFwlUrXwhTNdGSzPFZRSiLpiZSvgHLcPBKh16XCtT6hSSpMB2oKItC4D6+gClH51AOnC6qkvjn993r9aIec1phmxus9DJBDKw7QmWHsZtOVvuzr1ATSqcuqc8UIlMi5/qNsBX21ZuaSoSthh9PVfVRqvN5vOLrH1V+eSUQXDL35T1RkX/Yi3R+fNWrz88Ms/6kqNg3qISKdJohUzHRsn5hQlSim/2WgEbWEYSikhDM4rrVJZbHGlRZFluSza3X6RZlma4luKonA9b7fcCNcJwzAvUiHE4XAQPG40WugpCyFM0/R9D3CQc47oN7j4Pc8DIkRUIspr3BORa4buP/r+eK4rpdAYRVQCxIhoaHqeh47/0/Mj56zfHyyXy9Pp1O/3h6P+H3/8cTjsJpPJzc0VEaVpXPuoTLJfX+fw+W23W9t2pZTX19dFkdWp58hIFuWYD3JdFwnNk8nk7u5OKZpOp2F4AETu9XqYHtdsNvM8BzgApLBt+/3790SUZRkSLdDxR5zLbrcriiLJM8dxHh8fx+Ox53nT6RQS5OVyiSHqNWeMgPNTHPmuhzmyHz9+DMPDf/7nf6Iour29Nc1SqAAcBr0BjhtOBETeQRAIwXAYcdbiqqMNggpCcFQaGPAO8h51F+YKYUghnp3gyYDgQS0j9w3EFWQ5qD1Wq1Wj0XAcp9/vZ1l2Op0gCEGRhtwM329Yho0gcCkl0v0Ph8Nms8myLAiCXq+32a2B8pFTDkJ0vV5jfi1VMfNJkkBLwBiDiBmjf5rN5mAwUNUgHpRq4/EY+vs0TYH/cMMCzVwUCp+M4V84ULiKAUZZZVbu9nuz2QxlEvpIELuje4NiBgJWKGFs2/79999xGFVRgKWGJwRlhlIqcBW+DvISaC1w4/rnP/+JhrtpmtPpFKqw7Xary3QCFcexYjQcDrFE6wFkH+/fI0AamjREOWGXoUSHYdG27bu7O+AhFGYEO8fhgDGicP26rotJNHme9/t9y7JWqwU+GcOqPM9BTYtsPinl/rBrtzqNhg9KGyI3cBlxHF9fX0NCBjgF7btlmGEYJkmC7EuA2oeHh++++2hZ1r//+7//+uuvgOPQfO83WwTFYGFAbscYG40mmEoG/VKv1+t0elJqvxHc3N1CXIQA+59//jnJ0v/4j//AaDbLdMIwxPQGIhoOh2gnwiWCTTUM4+bmBuwDgjWfnp4mk0m/34dUD9cXEQGsx3EcBE3GGCaJPj8/M8biKMX6KQp5Op1OcYQ7SZIkpqEh50DRizuqkJI4g84EmjcUzNAFQXQuq1R7mCVAHh+PR601xvGinYUKsygypYosS1BCYwd7nS4M7rhvQBOIiUto+mHBHI+HJElQuEJKBFcAAvWPx6PllmOYcLm1Ox3HcTg3YEnC7yFxHA6HcIyAuTg3b7WyLOvh4QHVIA4CJiIlSWKaAhwQRCxUOjQ00n4RPZkkCSIsf/31V7D4vV7v+fkZPNd0OoW/HBlBWAxQwWHzms2mZVnI50GJAlfV6XSqnesoDI7H4257uLq6sswsz6RlOXGUrpab4XBoWCZuX3gy4nF8PB4LmXqep2R6CqM8k7yMD2fQSGitiSmZF+BBLxF5hSxESUKfISzTWqoKxlym5Cml6GzJq718lxiOlIIahJfW0/LLvioVLiGWfAtUSjRfE5HnETxUCtzrf871GdRXQThn4F5/49uveyOMoYtXtb9vGhFlXUEc+fH4na7AGSHWkGtWCYq0qg9j+S6lVJU/U8qELrEsu1DblxIPEmeYekEQV6WTFkjFKUohhtaaa17oQmsMVhL6EkODbq8PSBWEfz6hFSbENKoaGUqZl8pYowxfvwTib5AqBP2aiAj5B99CdnaRn355Xqo/nLH4xRLlRPIM6N/+q/rQGeUsMV3WUuejrxW7KAdxCJRSjL9ZEPWW8W+8GuU2XSwSxs6Se/XNoKVyqy80Q9XG/3no+1e/vHxVp6S0F9Tfhee0EAYTXOflUk/TlIgHjZZtuY4bWJaliWsieSF1wu3AFKaSUmpmmQ4XRIWSKhVMGIZRaJJS7sJ9wzJd1220G4ZhLBfzLCsYY7btQoYLSTeeux8/foSSRFcJGNvtFpHYp9MpL4pms4mRRoA7IEfD0zFJY9uxoKXeH3bD0YCLcg4FyFfTNEej0dPT02azaTdbvV7Ptm2EUSCn7+npyfdcyzSgDJtcjX3ff35+VkoR02g9F7nc7XaMHUEVI575cDj0+/3BYICFnmUZnr5a60aj8e7dO8YYTLSYVug4DhMGdur19RX/qt/vX19fo16K4xi4GRFp0ALhGTmbzY7HY7PThq4aOhCtNeccm9rtdne7HSoBPJk6nU7QbHiOC60zrqjr62uDcwg8HMfabrfz+TxNU07MdV3LMlzXbjaD4bAPDWtRZCDmsXjqQ1orzpFTic4vUlmICIwdRlOBrFqtVpWsSKRp+ssvvwA03N/f53kexzH6LdjIGrO2Wi2M+YQJ0jRNtL8Nw3h+fo6iiHMjTXNMj3Jd1zCs3W6HVL7JZAJNf5Zlk+uxEAJS3Xa7jfoBz3UgXTgNMBsLCh+wg2DR4FXQWuPsm6a52Ww2m81gMMCoVxCBgAvwOShFeDwjUyhLi3fv3iFhGhQpGPrT6eR4LsoJAHpcF+1eFxUCSGWtJSYNffz40XXd9+/fS4wHyjKI6efzOVJEYKBsNzqgRbEacV+CYn40GkIdFIbh1dVVGIa2Y15d3+K2gGkvy836jz/+GI1GNzc3f/nLXxhjzw+PEDCgMEMT33Xd+BQBY4H8m81msMbWs5MwCRgHGdU4kp2urq4cx9kd9qAJWWVuhrURm42iAmWtaZqj9uj56aXGTKCEMaEmPiWnYwi7Z5ZlNzc38KNj3+M4Xq0XOKetVuv19fXnn3/57rvvOOeTydV6vWaMC8GFMCxhHI9HpA8RU8Cm8/l8OBxicDLGb6FtgsYCiFWsW3Q2+v2+UgqJ6dOXGQLCMZENbQEE7Pi+v9/vX19f4zi2HBujzZBUwxh7fn6GQklKud/vmRbH6LTablAgYVW7rnt1dQXVx+TDNWMMOjfLsnzOQGRsNpvRcMKIup2OVAr2IRxSpRSU2fBYW5aFRKnb29vj8YhwJ8syjsc9YwzIEk0wtCBq/htdlyLLZVGQ0gYXpmHiN/Pw1Sh5n9JG6bhWo+kLYrUuH05ugHXcxw6Hw2QyKYoCIxdQLw0GQ+jvwUYTEcpsNILghK47NhgpVY8ZXq/XhmngKyALhAUITRshRJIkRaEQ5wWBvpRSCGOz2dzd3WEEG6AV7mBa691u1+sOms0mbu+oq1H+maYJYwxAD9azUgo8BTgs3N9w7eADK16zDOzHDzjUaH202+31diMYRxwqRkAgjFWqLC/SPE1wY2GMpJScMykLqoAUhoCCfbgEPZwbjEl2QRQCLSmlEHOulKqTvJVSWpFm8hK0fY3eiCo+/jxm6CsY9xVkZxUvzZjWSlGZK19+GgfbSl9/GhExpdUFFK5fF6DrTxQKpZD97fycel8ukRU07UR1eAu2i+qiAh5ZRRrpNlqREJxIy5rWrrXQlX4dR+urQwe4X1oOdDkOq/y59uZ+BfA0J5IXe0oGGbCPI0WnrAcu9h1P2JJ0VueDeXHQ6o5L+TallNKFqU3o6Kr1wOnPXvqtpP4S33/1TlYR0OdDTZxVQ6TebhirA9AvF8/lbwx2geXrf1n9AvIjzEKiarPeIub6NBD76uu/Be5E3y6qr1/VFrOL/VSM1QvoTfVDRH+G28uOT72YsRdY04ZhFkWhlSTNNScppWnCnughe1UqxQXTSmulIMlADSC4UWgpFRmmbRrG6XQk4o7jRfulbQiNDMc0XX3+nMvMcp1mqyWEICqenp46nd6HDx+IaLFYpGnaarWGw8HxeCQiUObouYPtOxwOy+WSC4FIDYyOU0ptt1ullGmVQ7aJCM5UIlqv16ZpAuDiaYFoZMwoIaLD4eA4NkqC5XLpeZ7ve41Gg2mybHuz2fyf//N/siz729/+Bg1Mq9mezWZaa8cxcd8/HA5oIoPXrLWhYC5vb2/hRjoej3WkoGHZUZIeFksiQkoAZriuVisQqPf394wx+GXrYXuDweDnn38G1X19fX19dwtcAo9mt9uFlLPb7YL4x8A/EEWn0yk5plrrJEkw6fNw2EVRZHCulNrv90QKTizGmGmYnU7HMPhqtcJDYjgcTiYTxhhwYe3xgE4GidqAhtDfgy6tO1EwlRKRYRjwsH758gXR0aZpjsdjOCwxXRzfAiqOcw5eGTx9s9l8eXl5enrCABT06GHhurm5g6x5t9mC5TJNW2sNOhnPQuAhzdTDwwO2ZL/fX19fY8cRpGiU47JFHMd//PEH5/zu7m48HodhaBgGmuNEBFsYiFLkSCD4wjCM0WiEtQqamXPuuj4wVrPZHI1Gy8V6uVz6vi+lhBxFa43glN8//QG+HNl/q9Xq8fHx6vYGHgPG2HA4XCxmUPTO53PDMDDpfbfbeY7jum673Ub9s1gskEioC+r3++jpdzodZF+uVqv9/jAaDZGNDcSZZdnL9OnLw5Npmj/++CMKsKIoEOwNd6NjWvC8IjgVl6TnuKqQX758MU1zMpng2FJVfMI/1+v1sD2G8LrdLrLGOefb7Xa5XF5fXzdaTegTlssl5xzrXCk1GAzyPIV0B60SlAG9fnc2my2XyyzLAF+UUuPxFScG6rfW5wCgeJ4HdIgmAyYZ39zcPD4+/vHHH1dXV0opJJN+//33t7e3WRxjdq/W+nDYZ1kGvnk2m2VZ9v3336Ptg3X4+PhIREopNB+grsahyKuZqX/88QeAu2VZ19fXsARst9ssy1DMQ4oGkytuC+hoeZ73/PwsLBOxSPVjGM1DS1godyE9en19RfOk2WymadZut3MlgbDRR1K68H3fEAIzthhjnudhNeIu9Pr6ihmfUkrYW6F7QQhskiSz2SzPc99vMMZg6sXbgKoDzwdAx/UihDgej7gQanmGlNJ2TLyNUelpxnGDPHK5XEImhHmxKLQgUCHOUSm5rouoMaVUs9m2bRuzrrMsC4ImAm1r0RpQ+263832/3e1g4gSc9IUiCFG01rZtt1qN6XSGmFH0GTzPA30Lwz0KcpQ96PihA+M4zpcvX7C6NpvNx48fQfrEcYy+Ih5P7XYbOB4EPOccY5iB4/M8N00Tw+PwXEPDCp2ZuuaxLCtgwXF/qLcKtZbvuJ1u63DcCUZayyRJhOdoTVJrqvIuL4F7aROsWF7OL9BV6ZWUFWzgFWC9YMQVUk1K4x+7wM016KuQSYn0akB1ianwmSUuqQYz1TJuyKpBbVah7IyVrkCSWpUK2guhzhsk9gb80Le/r4DTGwKUnYNGqERTWjMOSbdSSgKCVX0JxhjSKRmCdjT+gQbhjt9rYowu6O36xS8SFancEM250Appm5wq7H5ZFwFLKqWl0lorTkIrLXVBFVFtMlOz88mlioC+3E1ehz9W+fo1FsfnnzExk1JJysvTKoTQWjLGLMu5xNCXuFy/fV2ehfqfsHqn1LnwKMsZ4peguvoE/tUqqs8Xfok8xDNxXv/jS+ZbVRExWsPO+ycbV+ux6k/4U+Cu6et/ey6/3ixupatDXH3dm/Fa/79fumqC10f5csMU6TzLSXPDRpRKw/W8IleO7wluSUVKF5yXOfxguUzbElxkp0xrMkyjKKQwLK0LzRRjPMviOI6lyk+n0+54vLt/Z3uu7TjH6OS6bprk7969w3TU29tbtJ5xbwrDI6gsYETkaSyXS62147pPT09EBCYPAc8fPnywHcv3fah10RvFDDwpJTQYUNaifYnEGK01glM4Z6gWQFwppY7HY9vszGazNE2///GHrMijU8yI73a7n3/+GTLQxeKhKIowPODoLRazyWQiBDPNckgKDnW32/399983m02n0/N9PytyxJyj5PV93/Ub+8OBG1az3V0sFr1+zwuaYRgSN6RmXiPgnM9ms8+PD4VWju8lSWK5zvF4lFKiZsDT4ubmBgpXSEqQTgOg2Wq1doc9ygbkmmVZkqaplhL1UpYltWYj8Hyslm63CxAJnYDrukBCeNhjNgrauwjWhFd4u91C9o0eQiHzPM9Ny0iSZLvacM6VlnlRZubkeX5/f19fR7j7Q4KPvwWCAZGZ5znsBFgb2BLbdoGhUTlgzcxmC+yCYRhoxCOTZ71eF6q0QyA2B6ZnIQTG3FiWlec5MmSIiHO+2Wx83w+CYL1ep2na7/fDMNxut5yTlLmUMgiCu7sbeKwtyzgejwiMxwUSx7GUGtURY6zT6UBADEXQdDqFylxrjYzFMAyx6lASKKUeHx8xodZxnE6nA0iNsa+4OlBXpHEM/F0J60shE0IMwXz3er1er/f6+oqzpqsWKiQ0ACKO69/c3ABSozzDndA2zPViiQnB9Q42g8bpGCKHBxw2EWVp2mw0qJofDJEGDM29Xu/l+REp7HCbgNPFsCTLsizD7LTacXzKkrTZbPaurg/h8eVlizZIHQwynoww1KkoiunLK5C0adqn0ynL891ut91ucfSgwkfcPu5a/UEXe40+ycePHxeLBfRgUGH9/e9/tyxrPBhAIcY573UHr7OXKIqgUV6tVoBTeS7RDMSlATkQSojNZuM4DjLm8Vej0QhgHX1Cy7IGg0GdYIj6s91uu74HH4Vt21C8INAwztIoihDjCJoZyivgZtC6YAfSJCeixWLBGIfqGjkkQRDYlrvdrYFT+YV9izG2Wa9Xy+VgMHAwdTUIOOf7/Z4zJuFJ5Xy/23HOG0GQpunxuNdaM6bzPGWMNZvN8XgYRVGeFjCRo1bHvcKyrMPhAAUO5zxOcP+TRVEIKtEejhj2S0p5dXWFM47PQVyMUiqTBdAtVqDW+ng8Oo4HTgGXCa56VGsvLy94M6beom+DKx33EFMINAN938+yTKkCXE/tnGGMaa1AJeiqyYCkHfhQGWO460JhqJRCtQNr7OFwAHeAowH7ARj0LMvev3+fJMmXL19Q9uNKgXUbjyStNZ50mPrUbrfX6/Xj4+O//PUvTBM4DuhqkiSZTqeOW6bZJkmUJIltGURKSkkqA/1JRFrpokgBZs60KnHGCl69SlxcpY4gcKVGEUpB6l2CJyml1oxzjEy6zMFjl9IE+ga3qVLJrSpsoy805eciQVZTq2rYU/rqoMdXCCEBmFFalxw4u6DM6S1cvsB1Z8KeXX4+q2yKde9BV3OW6JzCTnSpSQapX0tZSFYqGiBjqrh2vJRSjAvGVM3aMuJUJqkD4tdv5m9F3VRtgKbz/FqmlebMuEwarH9QlYX1EvvRW9UKo9L3QpUEQ0qpFCtZ2mpHsLy1lhAyXOLyN7j34vPxc1UcvnWVVkdPl50EVYJ2xohXmq1zwM553+sQpLLu0OVnGZV986zQL8VM/FypqOpfKK2pXv/VhpTn7CIGiC4UL5fAXWvNLga0Xh73+ueaxy93pXrVIps/LUG+qVe+bi7UizuX5UVrCMtyHNO0NdHhcPC9Nt4vpRSGEJYpCxUlMalzPpRmpBlTSiulJfzakjzPiw8nmALns2W32x0Oh7bnmpbVaLfW6+12s9daPj09D4dDzvl0OkW6FoaS4mEAoQU6j4wxeLMgUgfBUxQFkt3RJ4Vs8eXlBXA/z3OtZRyf2u2mUup43EdRaJqi0fCftztwGLgRB4EvhHE8HuMwWm03jUaDFAlujCdXpmH9/vvvH+7fgzYToowEBiz7+PEjEb2+vtq2Dde/4zjr9ZqIA8gyxvb7/fv37y3L8X1/sVpCkI0Ebtv1T6fT9fW1lHKxWMB4VKeIoOuKzPXdbgdbLW7iqHCAigCkkAiBogLoFtcenpc3NzdpnICbT5LEcbqO4/z+669pmkZR1O93YUBkjBVZblnWer3UWiMKutPp1LoO8EDD4RA0MOe80+kQ0cPDQ23zLYri/v5+MBhkWYazA1EQEQElu66rpD4cDh8/fkRoBhjiWl6CaBfkRUJKBHRLRKPRCEEutXpVSgkwCm44ywrHsUC5zWYzWcXGKaXSNHV9BwYAbD/qN2j08XjAwUQNgxvTdDpF1J1S6unpyXGcu7u7MDygs4H4CDSFhBCMYQ6ig2ohSRLkfoKEBmJAmTEcDuM4fnx8RA0WBMEpjrTWzWYTaihM8xFW2duJouj33383TfGXv/wFp+D5+fnz58+4LqIw/PLlC+4wrVbr5ubm5uZGa/359y/AK3/88QfmBKsypUHBBBkEAfQbeZ6nWZwkCbAOQMYPP/yA1gFJ1Wq1RqNRlmXT6fTp6Ukw/v79e0R/IHTScZz5bIY15gfBer3GsFhcZViro9Eoz3MMkNrv957nAfEAzQNXMcYOhwNG1R5PYZ6nsBeDboQSvSiyw+FwOsWMU6/XQ4m1XC6ZJiEEhMuw/YHCF0JgAoAmCeUSDKC44vb7/eFwwA2n3W6/vLyg4oVpUikVBI0oDoui8DwPrDnczFEUtdsGmAWYDk3TvLm5wb1Iaw2F1cPDQ3iMUFuCeUV4JSQcQgjMWVssFmmeOY6Dpg2MCvjbYreFLxZiodL/kKaBGzSbTXSZPM/LsgyA9f7+frvdRVHU6nZw2WZZFvgKpwOucSLKiwL5lXAT4RK7uro6Ho+YVQyX5H6/hy0BamzHcRrNJobTXV1docyDYqfVaENagwOOcwr4jjSYQma+719fX0N9xDWhZwJMYBiihpLol0opd7vd1dUVTDib/U5XYTtxHPcHA1hQ+v0+FtJms1GK4Buurfn1jI7dbncIj1V0LzcMY388VbNgMYQuazQavEr4BQFp20bdR4LD/j//8z93ux28K6ZpHvYH3/dxvaN8/fTpU909g8GGMYY16ThOGIbX19fw3uCSh9Zlu90eDgfMwMKjM03TbrertUafAclREDUNBgO0/rIsi6LI9/1Yqt9++80P3GbgQ9SBAKKiKFSR1IoF0hoz8dg5fvo8sBNHDMCdl5F/rOYxS/CgQQaX4Ylaa8bOJ06/FUxfwpgar2niREppXeleviUfVf05sELWH2Vypv8fFBpU54K85UkvMc8lXqqBtaY3kOnin9T/qip0SXDGlS7wlos3k9YENSljTDOuqhyVuiC5xLiMCa3Um5xyTYyxcopOifcEwa15xm9leUC10OXi3HHOBeOapKym8nFg6wqv12kwZR+DlVnP5RFXyhBlwHFVUxERl1IW8uxIRkYnVdmdNfTXF8x3jVdFFdmJGw4aRBdLQr89L6X6v/4cpVXpcahe9WliFz2WemuNy1NOb2BxHXRPSiIykpPGAN43n1v/y3rRX7L1l29mlZkVR6/6K6rquTeannoNVevy7edUL14PMrgoiQimZ2KcG/WvSx0+JEyKCddk4I20hjo2z3NDcMOwibE0TXXlOHZdN5cFwmW1JiWlMI1CSSGEYbE8PqEHatt2f9Dt9EfrzaZnDJrtpm80Nptds9n88uULoMNvv/2GAIG6kJhMJmhPHw4HPLBd1x0Oh2ZFuAJN2rZ9c3MjhEizBKLw+XyOiD1UilIWYRiCWwX+wxMXvBdumoApT0/PeZ5HmoIg+O6775DSYJrmw8MDiPk4jsH64AXT22w2wwPAMIzlclnL0C3LwVCbxWKBq4Vz/ssvv8RpwhiD/kSYNtYGfFp4HkNbjHs67H2e56HfCl8UBCqLxQLQCvwoohjgG4NwuQqBYUKIl5eXxWppGSYY5VarZRiciP7H//gfyP4DgqGK4IFiGEQs8kmw/ZPJBJy3rkyrSL0QQtzf3/f7/dlstl6v0dgFNEnTdDabQfPQ6XTu7u6Konh6elqvNgA0kCYD7kBsgFsJnKyoOtDEb7VaLy8vUkrUcnhbGB4hfMJiINNZr7f7/f54POKQjkYjxA3hcNmuxSrHm6xmMSLCQmuNoIzhcAgqlDGGcG5sDyJKdrvdzc1Nu93udru4ykC1AmQURa6r+HaUXnku4e/UWruuKwuttcabbdtuNlsvLy95XpimqRnh+d1stogIswtu3t3BKViNodGz2Qxg7scff9RaA2VifSqlYHj48uXLd999hxoDjknf97EvwMphGDqOLYR4fHzM8xyu616/88enL6iH378vBwtg0DpMn2jLMMZOx5CIAM1R0hBRkeeu6wJhJGmKMwVVQI3kZJEB58GMCPsjPlMIAelOmmbD4RALPkriNFUQpdTKh/B0dF373bt34/GV1jo6xZ8/f+bcyLIMA0201pBro4hF2wHym06nhYOA1sqXL18QeApYOZ1Of/jhh+FwaDCepgnyRkDiWqYze11c30yAfa+vr9vt9u+//348HieTyW53aLU6eOBtNrvr6+sgCIpCLeZzPN6g9iGiOI673W673d1sNmma2baSUtu23esNOOd/fP4dSazj8diyLFgjkOUCecZoNMJWEVGe5/vNHp8MWc7xeFSSYGzF9aiUAsWbpmnM40JmUKgDpm93O7TmSGsoy3HbBFTCJYwGDqvGkeIukVYC8dVqhakFq9VqPp/PpnNQEkmS4EaEvhAqNyKChb22RrSCBvQbaZlnoMBhz2YzxLDgzYwxEM9YyXiW4ZFhWZbWhMv/eDyGYVjG+AYBHgRwIICrDoJgfzgkSXJ3dwcoD7MBgp5w1cM8iggv8BqdTnc+n3c6HThP3r9/D5M0cHOn01GSEM0Og9P9/f2vv/6KuzFuI8iHwQWFG77v+5DRn04nHA0khmFHUAqCqEJVHIbhw8PD1dXVeDze7/fz+dyxbIhC0dVBbQCAixDb/qDHSQuDKVXIXJbTUpUqhyopyvMyFbTOmC7RoWLceCNIOAsQ1JtfalYPCr2EpOXIUiAKxhgXZyNsiWEYg7a6ojC/EreoS+iCj6ISCDJFosZ2F4hWM8YE52WyygXmuWTxL6FXDf7oAgjSN9j9W+jPOVeYJPXNP+Hlz9Cm6/qL6CspNVJiUDFUoiBWTkIFbv5KksEuDxF2n3Ouy84Hq8F3fdwYY0BEjDGq0HO5R5pQ+UBAAXxCVa68Pif1l6+iIMN0cAoA3C8Ovr48gPT2VS8G+jPGXVd1kdaXYP38+eV+l/XVW95d68vjWZ8+Q2rFGYqLGiIzxpmS5wwWPLbRQdNVnno57qtWdakaT59drYwxgWlYVUOqdh8LcW6rlTuvtVJKMK60KrRSSrHSlF0q7C8WIpYE44zr0oBcrQcquyT4FVI8cZHjZm1yGy1IrVmeac241sy2XakFZIhcKMa5TLJMKsuyGONSSqZJsNKiqom0UpwZBSukwQpipmnZhhVGieX5UhVRdDL2ZqPVWE5fc1mkSRYEzb/97a/oEgIRHg7H4zH8/vvvj8cjHr3NZhPIyTCMVqu13a/ni+m//Mu/cM7jJBxPBsKg3W7tecFqtQId1Wg0Gn6QprHn2GnKt5ut5wVCmI2GyxjjxDzHb/hN9BkBuC3LItL9fh/TZ2BGzNPi5eHFsqxWp4XAtTAM6xYtOKo0S4q8HOCC1IJPnz6dTrHvee120/fLJOA0TX///ec8z03T7fd7x1MYJZnDxfF4bDdbRVEgi4Cq8bHQVo7HYzyrlFL9fh8CGCISQnBDrFarUxw5nnvcHbXW7W4HDxvQ3sDuqH92u50q8ma3A8S/Wi2kyoHnwE0CFti2LWUemmZRFEWWw7B4Op0wOqQin2zM7IQZC4JXIsI+Qt0rhJjNX9EsHo/HsBCA+Qbt3e124asDREDyJgoVcGmwxEkpAeDiOEbxQGUOXZGmOWMMz7Y6Dwdo/vbdzel0ms/npzjM81wzxQR5gStMfjgckkSladrr9fDVgC8Q5TPGsA1aa0DhPM+LPO12WoKbMi/yNGs0Gse8eHp4tBwT4CzP8/l8jplcpmm2213P8xaLBS43x3G0Trfb7SmMPc9L4gzc6vF43O32aZoahuCcOY5tGEZW5IwJzlmz2Wp22lqr+Xz+8vLSaDSGw+HV1dXxuEewZhAEi9lsyZjrurYpUk55WrSbLdyXxsPRZr17fZ69e/cOEZZCiI8fP+Z5jrBUKWUhs9V6cTjuJpPJbrfbH7aH4+7jx4+TqxHCp23HFIaP6Jh+v2+ZpZYRURjNuwYY6+Vy1e12r66udtvtZr+HHHkymTCmgfKzLGk1g8PhUOSaM+0GAbQfKE1hoTNNc3w1YQhYzDPiIs2L42aLwgPrebPZ+H4DOnhYKQ6HsN0yZVFAnJNlWW4KwY1ms4kpEH/88Qe0Q77vI8jCtEQcx/gNlvR+s319fvn48eOoP0jTNE/S337+5erqKmLkOo5irNCqyNIkzzjnV/0xpP/QGiml3r17BwwNzQ/2BToNEGCd9uD5+TlLVZ7nh0NoGNbt7TCOY83UYNQHziuKYrvfOJ49mUz+a/O/rlYr3JFqGXSz2Uw366IokPgEQcVyuUQ1mMeSG0Ycx1dXV+Orq/1+v9vtMllQEvnNYL1ed7s9DJq9uh6rSjYNKc5wOIyiCFk3kNidoghXrt9sLBaL5+dnoHbYkVGmbjabdruNZgKqUMMwXNedz+daqe12u9tvLMsSBsvz/BQdO52O0oUm6bgW6ih0JwB8jWq0UKfT4ZyFcZSlGWPs/uMH/NVqMe/1ep1OZ7FeNf0yazIIAsHN+eui0WgwwdfrNWwz8/m81+t4nuf7AdQ4qEthxVFK7Y8HUDDgpFSRtdttyzKkzImU4zi2bRZFlueplLltm51OK8+T2ezVti3XdeI4gvP49fV1t9t1O32QlKilDcOI4zhN8/v7+9fXVyICxIexOIqi6XTW73fRZoSMHo4X1F1aa5wRLJ56XiwKP6XUbDZD2tXxFH758mU4HLqeLYQoZDZfvAauR4JPrm9Xq0Uan3a7HbWblhJClBp0jF4noqLI8HUqpxpLKVGaDSRJg5XUhhCmYkpJ6Gp0TaBqrRVpRgKMrNa6oue1VkxrIs1JkyKlleLEOWTGJRGrMDFXK6V1LaoGkineCnhIa1UUmS4kL6co8ELoGn1VG1lGoKhKos3ZNy5CJgQxSRd6eihMNFQwpEpKkoiJ+t+azCBNVCoqhNbEiJEmwR0ppSZZVzH4TKmA+nSt89FKM8blBRyu3k9MKkUcSTmkzyp5wQxdTvSherotJ6YZwZyqqtQaAk9PJBgv5y9xXUO7oijA0BFdVh0AzeDUNeeiQp7CsizwShcHX+MgK13oSmmD0VeMMSm1EOe8E7rIVqm3QV/Q8JxzHLGalT5LiZTG+FzOeJ2SqdVZhV+/syxs9J8o3bXWBpLaq0Ff+AZWA//L1xnWf/Mp583Vf9JQ0Bcjturtg+UUn1F/WO2lrVdnfXC/LRMRWY8prZffVZ8DqgpoVZmFicgqh3Kzsk3DGedCCAM6YyEMKaWSiqg8H4Yh6k+oalC8CsMw8yQ2TTNnbLPZyCzv9XrI4liv17PF3A38bmcQq+TuboIPcV333bv3Ly8vvu/DDggNwHa7hdI6TdP5fA42q9PptVqd+XweRUm73RXCIOIwgQVBgFGmWVIOvJAyt10risJmu1XIfLVY3t7eGpxzbmZZMhwOof1YrVadTqfb7TDGIBxPkoSYclyr2+2u1gtiDNoYpIwxxiArbJutPCvgdBRC7Ha7NE3/4z/+YzjsgwADSX93dxc0G4yx3eYIjTXYaHikXl5e8GS1LKvX69XkKBJvcN4HgwGr8hZWq1WSpYhSnk6nCHTPsuzu7k4VshYEb7fb2jb33/7bf2s2mw8PD2hwD4fD777rIRONiEzTNBhvtVpFke33e875zc0NCjkMcoICFZ1o0NL7/R5biyfT4XCAbhuC+8nVGOJLzjmkUEVRIDNut9t1u10IbCBZXi6Xw+EQRD6uI1B9oPPxnAaDqKqgT2gGoAVCcCRjDBvJGIOKBgThr7/+6jjOaDRCdAOqBZSFRAQuH4gWFSySHxFRD7cljicE0ETU7/dt294fd3ABQiqDbIdut4u0PowSm8/nSZK0252iKO5u75FJj4ZJGIZpmoVhyDlDk/10OjHOYBiYTqem44zHIyh9ofEYDoeWZQwGg6IofvvtN04ElBAEXq/Xswz79fX16uoKwBFh/9PpFOEqpmkiobzRaCBYs9FoQB6DufFEtFwuf//998FoiLIKvP5kMsEDHooFZFxMRmMiws/4ves6iCdHtrqU0rZNIlqtVvh2SFO63W6r1Vqv1+gdAeKjqQL9N9h3ZERu15vtKfI8B0Qm5zzLsn6/f3d31263t7vVw8PDKYyUlNACIZNEcHOz2fz++++3t7eu6x4Oh9Vq1Wq1DJNjPcP6adv2eDzGWKI//vhjOp8Nh0PLdT7+8P3xeFwsFkpr27KgmoDlAMG1uMeFYfj8/GxZFvIrsXiAbtFI2W63GKZ23B8YY0jK2m634KE7nU6aJWCIcSjQ86kFabi0YfCA6bzPGQCo1vpwOEByE8fxZHwNBr0OFrQsJ8/lfD7HBnPOYfocDAYPDw/Q+TDGIADD+eWcQ5JXFAUxBjMxeqEyKzMccWVBMYL6ZDAYILsGQhTUV77nIQUVvIBpmriEoXTH1cEYwzWFTEkcYfDZRZHDCT0cDlHkg5xOkuSnn34yTdP3vShNUPDURg7LsXH3sCzr3bt3WG/gIzBwwDTNoijW6zVqYIQO9Xo9tJtAZ6AmQTcPsD5N01oXjveArIG9BA9c2zEZIzSalFJ4Bm02q0ajAc80BjKgB4gtgYkFj/Jms2k7JuMadpROp4PrHTVSGIYwxMNwUo+SwKM8zdJTdITEEfKboij6o0Ge5w3fj097nK8sS13XxtLSSqOYwYQjxhgR/qhIcKGEqgYg1CYizgtGgiqoctbDlMEYZzRS/lcxokvYXQa9X9KRjPE/08ZApf4nrC3nvOAARowY51wojFpijCpBTkk5cw7UzOD4rD6h3HhG9cDKy29/SxW/EeFAiFK9WTHG1EUOjFa8irYsP6MWCFGV415RxeLMIpfqDqBuzZiiSqJdb9vFITr/K10KMcov45zrt4er/pBvduqsu8YPdbXGK2tsWZIZit4oc8r/GczC3tUr//KE4vyeywlUOmUwfxXdwzkxJfg5/b0+VlprtGY4fyNwwnK4BLF0xtvnI3n5Mqoq8NyIudzQr3759sDpN+u4agd8/WkMcTwXnt9aQ3X5Um++gBOTZXOhfFuWpXRWOAlWydTy7M3xra+uy5YKjjJu7nXfQCkNdwDOBJpcjDGlpNTEmVEXjjXoxx9LEG9wRtowhcmN9eGAZ8Zhf0Siwm+ffkvzotXtmKYYjvp5nj8+PoLTxW369vYWikwkPAyHQ9BOUPJNp1PTsIbDIWeCEW8124Ib4fEUHk/dXgeMERj6gudFoRhj7W6nKIrp7FVq1Ww2Hc9FdxIdj+fnx+12D+YMuBaCnCiKiiJ3HDvPCyllr9drdzqPj4+2bQNVEBEG8UhVQNzMOa/9kZDq/vzzz7PZDMliURLjzrtdH4qiaLSaxMUpjvI832228KXhbg7NPVRDaAr3+32g259++sl13bu7u263a9pWURSfP38GmQ3DnOM4w/4ANDCU04jKxiSm6XT68vIC52VRFMfDCTpsiCsMxolot4sAcKfTKXoXoMfwGAb8wlP806dPUJ/jgCNhvdPp1BQ4HuSHwwFaJmTjoFGO5zr2WhZKSrnZbAzDcBzn5eUF6wpxOpxzCAwAxwF9siyzLAda4TppBFnjIHHRM0EkEcI3AHdAKgB/I6GSqvnHoGC11kEQoFlPREmS5GmW5znaESgbgPaG40Gapo+PjwjOv76+1lpj1i9yfhCtjSfKaDTyfIcxNmqPTqcTeP1ms+E4Nhrl+/1ea+36HsCl4zhJnn/58sW27dFo1Ol0oJfwPAeyom63G59OWZYNBoNOp2XbtsHNbreLegZCdqUU5nPh2kSwDEqaLMu6g87d/TuU03GamLb1//73/w9W4PPzM7YZQ8GgwPHcADQz6sna12uapuPYYRh22m2YkpMkwh0c6wFBlsjuRJ4P2lwQruR5nuf58/Mz1gPmamGrwAW8vr5CPX91dYXzUhTFbreTher3BmEYMsOYzWbb7fZqctNqdogoCILNZgP3C3wmq9WKizKUkzG2Wq1qIQcRjcdjTP8FJEJ8jSa6ubnxPM8wSnE8vIYwsYBux5agQIV2GZoHlEbgHVQhkaKDWwS43izLkjSBArDf7wshcOQxpgeFPcLC8zwfjUZKKRT2kMwNBoMgCDBTiTMO80Capq+vr8PhuNVq4TSB2wZLihUORgABlLge9/u967qj0QiKxG6363oeRjGg4krKsUTarF5IEdhsNjDA1I9qXKpxFOEgY35QTYjWSaBZll1dXeGOREQgAnBlxXGMsa3QoMMJgNsOJJegpfGAMwyDW1wrprXG9AycEcuyQASkaT6dTqGxRHJRq9Xa7/dSKxSu6ERh+B1mn2mtoVFB9aW1htldSomb/Gg02u/3s9mrZZX9CkgWoUuEQA7TkXa73d3dXU00EJHruuv1Gkn5QMb7/T7NYpT9cZz0+32IZ4jI931UXHVLEFeu4ziw+fq+H52ONWAyDKPRaMThCRaaVObQFhYyY0zHcUwqJyLT4DUvDhDGlC6KotDKIOsNztGYy2PkSgpJpSCjfuhzxkiUdlKAsPKHS0slXQjHS9hTg4eLt53dfTUsqYW+F9jmEmKdf74kZbF5UmvSmlcSZf6NfoMu6M4aQdZmxzcvzWuJi2JUhsgTI2KSiLggxpVSmK56obi+dCRSFZ3ytSy7/AYgW0aV+6CU0VdznXj512cC+S0KvRCilAcBCTu1RlwVF8f8DXwHa845Q5Q7fg91Tb2R9c8XUqVzVikuOvzxkndn3xzzr76d3qLw+oioquq7PN/1m+uTpSsCmt5id8aYUf/2q434BpS/WQd4y+W2SllozeqrBZtHVCb003k1a4ht3nxjhdoZY8QUptpStQ94Ntc/SCmJCq01ccY5F9y8PPqX7PtX5w9vw0NRawwMZoZhQkFluZau4j44Y1ppxs9NEHq7YBljXHBdSM5JZvJ4PFiGaTaM3fQlDMMoCoUQeXQ6Ho++F+z3xzTJW60WKv48T3u9XnXECMEsSLJDe5cxttlsGs0mhOC4585mM+TiccEwHBuKRqYJz0JhsPAU2baZZcl0eri6unJs2/VsXdDz83OapkWRua4PsJtlWVFknudIWQ6uP51Op1M4HL63LWs4GOz3e0YUnU5oE3PGhCkwKGS/359Op/V6fX19Df4MAOh0Ok1nr1mWffz4ETNToBM9nU4QnIDPy/McgWUANEQEqxl+CU18vdAZYyBmMGcEmkhA2yxJUVqgTuCcY/OUUsjOw6nEUxyEVqPR6Ha7cXjCfNZaUIjHD5jUL1++lA9vw4iLIkvT+3fvup2OUmq9WiFTH89py7K63W6eZ+vVGvr+xy8PMCQkUdzv9kIZMk3QfxdFYZk2kjqAq0ajERL9tdZogyARH+lveOxBsO66fik+tizo1EFxoYXS6/XgIcZdALPi61RKYCOsK9DwVAlPIdpBABHwq98IQOmB3ArDw2zxCol2t9udz+dwoxJRp9ORUq/Xazgph8NhURS27cKvnGWZaS7DYwQdDiZnhWG4XC7R5c9lYZom+Murm5v9fgeEBJLjdDoZBoccy3Gc3WZDRGEYJkl0dXUlmfrll19c10UwaByl7XYbMTKgsSHGRQr+ZrPBvNhOp4MuihACmfdQt//888+fP3/udDqmaTabTYA81GzNoIHIf9DnYPLyPP/tt9983282g19++QVWuR9++AHNK9x/4LGD0gNaZJSF0L7btn19fQ2m2TRNDGIzTTOKT7CNAgrDmP7rr78SKWhISOtut/v8NMUkLCLa7/dEhAIGtetut0uzcm4lGEchBFK6sVx/+OEHzvn/+l//C3mOeZ63O508z9fr9YcP76MogpLENE2f+3EcA/NhyxeLBe6HV1dXr6+vKCNRFvq+fzqGm80Gyfe1iBwMNxpucRw/PDzAJYL8GWwAJNfdbjfP84eHB24awPHz+RzOZsZYmqab3e7m5gb2j0ajhWxKLO8sy4pCgokA5O33+9i2VqvVarUwGQDVe6fbXa/XaZZZto2H92azSZJEXagggiCAtAnTkU5hCEkeSm6wr0SE4hP3TyhV4jiuve/YRyBvxhikR1prdKKQL9Ttdp+enrTW7969q/McoVDqtbsYMxfHse/7wmBEYrPZHI/HH374gYhQu55Op8MhxJajnYV2brvdfnmdEhGiM+saoNfrYb5Eq9U6Ho8Y64HCHoVBt9vFHR46xixL+/0+bne4n+A+g7qi0+kg4BgLHrAeNzS4oeBG3e03h8MBVmBEu6ZpisxKnFxIAWFMwrrFw6LVanGDySJDM6r6FlcIvlgs+v3uZrVwHMs0zTiKHcfKsoyVUTAKq0vKAj8ohQmpXMoc2IBzrjT4OaE501orqQELGWOKmCLGNKtBFyOhq7TDi6g+IG9W614u5AXAPLwWsl8InaHkKePaa6TLmAAXewm3SvjEBTMMkkrKQghex6szzfCzIsarr67l4XWF8raEqL7iAsjKKmWENBEXUNLUuFyT1ESq1FOUknUiqn8EtCOteQXPsQdEVIanlDZf/ga7M6lL5Qy2B/Baa0ZSfs0xX6JNoPZLaEpKw8NYVQ/VD29YefVt+UTfoNyva4aLc0EX9tALJvqsManP17ljU4FSXddFGjZcjr8pMarSddeLLtDmpZjq8mVcotK6kvjqiy/35NvdLr9Jl1WV1opxTlydC6vz58iaaGesXMeMkEhT/5GhzNNaX661ejM454imYYJzzvOsqL8EUExXSiZ2cc6+OuhExEhYoI9sD3cldg51Ko8d51wW58+8vJBAI5HURZ7ZjpmE9DJ93Gy2wjSIyuEdUuaH4z6KkiRJHNeyLbe2jr2+vkKKIIRA/gm+FM8h13Wl1MvlutlsCmE+P0+3260QZpKkhdwgNhgg7HQMfd9F/xTbiX46PtkwjCKVeMC02+3r69vX19fRaOT7vmHw5XIZx+nt7S1jDLY2IjqdTjgU2KrVaoURHlmRObbr+z6snDc3N/f391EU/f3v/7vZbN7f3z8+PmZZBmUIeqzAoLbr+43A87wsSbXWSK+DkkRrjbnZRIRYbhQAoMR6vd5ut5svF9AYgDPDvb7ZbIZ0xJUDnrjubcEwkOcSuhGQskEQrNaL6XQahqFnO4ZRio4syzKHQ+BLgJu//OUvKEuAwzA0sd/vI/hZV6wPvmu9Xvf7pXrndDqeTket5fX1tWUZ//znfwLqMWFA8t5pdznnk8kEvKOUEnkvQEVKKUgyECIZhuUtAAsDee1Y/FAzA7RBIwGPLMpCgE7gaSRXQuGDEgjFD0opaFGQ1q+UQvIJWihKqUbDNwxeN/oPhwPKJFCeRNTp9DAUExRyo9EwDAsrDc/dODlhhGe320VxBbVro9HYHw/Q8PT7/SiKRqMRMGJ92RZFBnoVpQvG9OR5+vLyQorh6HHODcMQolgul1DmADogd8j3/aurq+vr68Np//z8rLVGdSel3G63mAGE3EakTWMYlu/7WVokUVxkOYorOJ4RBH5/f393d3fY79fr5dPTA45/nufL5dJ13evrawB9JEISEfATTI2DwWC/32MsKM41WgrgoW3bTvPkeDwul0uMqkGQSxzHUpYp3Z122xAWBlGhvIdsA8mVvV6v1Wq5rqupjE3s9XqASkmSoLDEHCghxL/927+BBXBdd73ZYDn99NNPwJTz+XwuFVJo8kwqpTjnrWZZWBJTs9ms1+shJwQw1/f9wPMfHh7CitCFKVkI8S9//TGKosfHR6xbKEMQWqq17vV6jLHdbgeBShAESZ7hr9I0xf0c+ZvRKXl9ff348eP19fXj4zMRvX///unpKYrifr/0jH758oUxxplhmmazFYC6hmwDG1MURV4UKGUBLlESE5FWCpQBSizIz6SUaEyhCAHpw2qOk3MAdJgcGo1Gu91mjL28vOBLofYej8eiCvVCUQHWnzE2m81AYVDFMeH21ev1PNuRpHGfAdXCGONCENF6vYaShDGGIhxXIoz7kMrgUfL+/fvjcc85ZVmyWsW2bbqea9lGo9FwbBd7h3cSES4rz3NOp2PdgPJ93/e9h4cHIoZ2MZbNbrdDD61WaoVhCNoF6BxGCN/3+/1+ITN0/1BbapKGyYXBsjxZb5ac80635bhWkkZZnjiupbXOi5SYNi3RaDa1UqB1hBBZliolR/1BlCan4zGOY8HocNh5rq2UsoRRWjaVxGUiZY4WN9K4K/qPNHFhcCKSxDRp44Lp04yQZH5+aa60YkxDnatLCvI8WhUv/jYn44Kv5BoDPqkOOWGMzqz8Jc/IeZ3QLYDIiDhjHH6/Sg7+9TwgfSFuLjeJqQvZ9DeY7ZucdUWsnHmkGdMlAqOa0yahGClmEBG4fqENrbXSBQQnjFE5mEmV4uyLLytrAAafLhN12cNIEH/Tu6ASbXPGJL19nSH7ha4G23PezD/jvPFztbNKqTew8PIgaK3x9PwK8coqpvMS3OtzyufbQ3vx+69Q++V7tNZa89pMKy9GONE3rRL2pvwgrbXx7Qr4qvL46tidewRvuyHs4o9KF1xfUu/4ynO5o7WGp4K9PWnnIoFrpplS4DY4Z1xRUV8Pte5Ha80FxEn4NM2ozBTVhNPJMSugKoMklXm6XJimZdmWid5ueX9njKdZIZUS3KyvQ5zIN24VpbK8sIkbgnPOW62Gzg7x72GWRx1/0Gy3TNv47fOnYX/Q6Q+eHp/bjeZwMmaMoT+wXi8NoyT4EZYHcQVjDFkfUsoojg+Hnec5i8VsPn999+5dp9P56aefiGk86tAbBX0LLlPl2uCmGdiWZUVh3Ot0//jtD3AkCJkhUtfX18guiOPUcTzGBB5XSZLmeSGlgkQbxCTMiJxz13UHg4HgBnhfznm73U6SJAyjyWQyHo+11pqRYzuj0Qi919eXBYSqmkoBKFyni9UyDMPD8TAYDAolCyU7ve58Po/TpN1uPz4+hmHoNwIv8BXprMiHwyHmT33+/Hk6naLgwZxINFtrjSlE8y8vL4gSZ6wkujB1FdB2u92yVtuyrMNhlySJ7/vHwx7d9ssgzqvrSRqnaJBBdon0aFCJjUYDMyDrSX6e5z09PQA3L5fLfr+PJJYoiprNNpA6I+JVvyIMw0JKZKjBT1ZDAYiYPc8rcklE4L9d143jFIRoHMcYMASeOMsyGDFx4lAX4fnUaDQGgwFmo0ImjsctwP1+v280Gh8+fMBorTTNHYcAGVerlW2bSFNG+I/WGgwxOuxoZINdw8ajfY85oPWgriAIlov1p0+fPM+7urq6v7+nCnZAh7BcLt0gqG0k0In5vt/rdQDF0jSFOtlxHAujgveH8XicVXOa0iRfLpfH43G/39u2vdlsbm5u/va3vy2XSwgJALl2ux0uGa11qR3fbqHl7XQ6GCMFaYfBBej5w3HHBTHGdtu1krkwrNfX1/F4zJiGmaGUcBgiyzImeJwmk+srwzJXq1Wn1x37fiWKMPEDZhWtViuMqoVAArbLJEkMS0DqjUGtqpqmFAQekkAW85XWGiwmKj2tNZIWgW5B5wcNb7FYYEpUv98fjUZa6zqPEl0XjIoDWQ7PTKfTWS4X0PZwzkkq4GykEiGwPMsyx3F6/Q40SGBqUQ4tl8t+t3d9fQ3eAagXr//5P/8niFiog6AG8Tzvb3/7W81SR1E0m80QP2JlKbh8qG7qBEM4MZRSnhfc3d1hWu39/X1RSMgt0KQ67ENUFFAholb0ff9wOLy+vhZF0Wy1gI+ROx74vuu6hhBeo4FHG1oE4LPxCIDeCY9/1MDYTagxkaNyPB6xSUqp2sRiGAZuffv9Hm0QtG4Qiu953mazwWwyNCdxOnCDTdM0LXLTNKRU0PP4vj8aj9vtLuRkRVFgVK3WDMNxGWMYiwYhOzYeLmq0RqMo6vR7SCbYbQ84ntC92La9Wq3gEIBmD6cPkTVpmuZ5YRgGRlPBJwoREdSniG86HA7oJoHOh6t7PBniIYUoT6x85EdlWQbvBxxTonrhCaKqzB/46ff7fRD4GCzNBsPA9Y7hHuj8cDj43lAIrmWh5DnazjAMZERKKaXMDcMQwiTiSsOzSLIgziuMpUhzxE6XiIiRAJpQF9kvldTkAvx9Q4lq/WZGEhhMVSXl49TIMtZcQ4ONz9TEGdNfQbKLz2RaM8U4UzUQYjUuxK+oDmlhZ0X+GyCneQ21iIiI4/9rSrWE76qk75muhshqwUr9BtekpNZak1K8KkWIMeKc8SqdnM7UNf6KV99wCZQV5xV0PU/Y5Jq0YNV0pJLQrY6JVpf2AKUlqxFeBQ0vdSyMETyg56oGfYM/mwsEmApOmZ13BBsmLzaeaU2VZsb4Cs3rSkl/uQa+BdXVSedIOlKK8L/6jVTqTepj+KZGMC4+4kKIUy0L/VZC82f7Wf4STJLWmpiir7tFjLE3Ce5aa8zN0hcfwhT0TpIRl5dfoan+fFZOYDaAFHk1PLne+MuSpT6Fl/ok/BPGhDAMoxxpe7YvoGpkjIQQrNyjcjPYhVYHJnQpNWlV5HlRFLZjNhqeMFl/MO72O3GatFut8XhsuV4raHBuQF+hlDINezgcWpYD59Dj4xPiL2BcwzP4+fn5GIaj0Qho7C9/+cvV1RViLhgnrTWMjOv12uCCc8qybNjvN5vNxWJh2pZhGBisGIWhMM3vv/8ez2kkRkvpQMfS6XSHw5EQBmjdLMt++eWXm5sbEPZxHK/Xa0R3OY5TyIIzgRlAeFZZlrXd7jHSkgl+c3NTP7MfHh6260O3221opYgTZxjHCEEkJrwuFgu4u0AZIhsYqd69Xg8Y/fr6GsWJUmo0GsHw1263W60W7lBKqd1uFwRBu93GwwMeSsScbbd79Lg7nY7jWmjCHnf7PM+BuhhjNzc3QDmYI0NEeK40Go08zyHGxSMfyw8NEzxc8dzCsxZPZQBc8Fh4MuFxLoRYLldIbMyyLMuyTrfb6/XgtwO5CGocAKvRaKzX66Kwx+PxYDDYbrdFoaApR94856WIs/ZywKwppUSuM+SzSO1AzqbneWBzgQ/A6dagSkoNfQV0lpgmmxeZ7wUoYCyr1Ibi1BNxqEogy5nNZmhi9Ho9yGQNw/B9v9vtRqdkOp3+8ssvm83m/fv3jLE4SaDMdhzHsO3amgyDeJZlr6+viLTjnKNk4pw7jtXr9QKvAdMFYJ/nee/evYMgBJTwp0+foI2pO/hE1O/30aOAFQ9DiDqdDuYSEBFGEDDGZF4AV0HZbxlmURSdTodxw3VdYbA6PQPLIMliImWawrZNKXPPcxoNf7GYBZ4vhMjzVAgWReFslsGj6XkB6gQUQqiL2u32drnDel4sVr1ebzAYdDq94/GEe06j0RLMACSdz+eO46D7hPOCvBecXJ+5sFnP5/PHx0f4Mn/44Qds83q9Xq1WteJ8Npv5QWBbFvok8FrsdrvkFA0GA5SR8C/isnp8fJy+zGCvRO/lsA9brZZtu1Cjoc6H9RBZ3WihQJgOBMkYOxwO79+/55y/vr7WwBE9E24aVE1X3e12T09P2FrH9rTWx+Op27Vt24aB+3Q6maYFnK21bjba8BjM53OpJIoijHbGPS3P8zhNWo0mbjJEdNjvsdeLxQIRLngbrPYQb4DbRn48Ck5QG4wxYHS0j9A7rdN4YPw4Ho+bzQb+WiBaXKR5ngkhkOGI04dYXox0OB6PupCW6xiGEUWHopCe5wFDC2Fut1teDTYKw9D3G4DFaL6t12vLsoIgWG83jDFcPtfX14TAeMfO89wwjPVmKYQQRheqlV6vJ1Xe7Q0hTWSMeZ5jWQ7kZ6PRaDp9RSg7zqZlG2mS41ELyU232318fPz73//+8eNHaPmEEGkWY3uEEDikYDQR0wlIDX8t7vyo2SCMwXEopHRs23Ecx7GxfmCJHgyhB8sNwS3DlFLahhUXRfkcp1LHLAQTpbX3JIQQwhTCJGYy4lrx0p9YUuDQt1dwQp1FMqrkiQG/S5xeKiWqSZ/6gmIH+qwzyDnnpKhyrqqL95ToqL6Z1598+Z769xUTzxTT/KwyOAO28gddAcLSfMkrYpOQ7qe1pgpVXcI5HIZqQBOrMKohS/64VOVUwfbQ2Gspz9mDQhCjgl0IN2qq+FswSZozRlJKuGArOP510VJXNfWfLz7nIsGGnVHrJeXPGOOClZNdKxTHvoniufw6UYUQXp7TtwfqHKmpzibd89/Shcfy639bxmuW5NpX77lcFfVBqzesrkyIyJBSV/UQiq3Sx3phxy4/8RvUfv44HO9v1TX1FtTfffFXtam0xu7nGlFphVlmWmulytzNy0XAGDKDGD/H1GCzz5cWXWj/zztsGJwZjIm6Y8Cq8c74as65wZkQQpU7QhWmZ7oy8RARZwbnjEkFoMOYDhre5Gboen2l9cunFwCmwyFETApYQynldrOAue1wODw9PSHJ+PPnz5C+vH//HmSbaRnD0SCOY8s2G81gf9gJIcaTEcYlgsi5urqSeQFrv225cZQyJhp+E6O84/Dke41Gx6/liXjqd7tdIZhtB0gUWS6XpDkjwVn5yAT7CF0jGt+u6768viipIWHHQYZcJ80TpdTNzQ06+yB4NGfIzrMcu1Dk+p5SKo7iNE0HoyE4FRxPCGch8YduEil4qnJmwF2nlJpOp+Px+P7+HmZN3Kzx7ERaCMJDwAVqrW9vb23btm0TkZen6AioYTCuS9Wj2m63y8Wccw69PvgbZDX8/PPP2+3Wtm1MPK3Vq3Ecg80lItM0G40gz3P4OBljNf54eHggov/yX/5LUajHx0fGWBCYkO3iudjtdgFMp9MpVDrYpMVigVIEjKlpmtPpdDqdYtAV2K/5fA4WH71+dN6///570KtfvnwByw5oC2UCPnA8Hp/v/kqhG56maavVUqq0sXLe3WxWRVGYprlcLSC7h9oHMTs40cPhGDZZqiJrXl/nSZL8/vvvlmXBIQd0C4CyXC6jKHp4eHAcR5gGY+zq6up0Oq13uySJDcN49+4dNphz/vj4BV/U7/evxmMYYbMs2+/3SZRCWY7T59geBM3Qn2BZYkRX6WHV+fv374uiaLVaaZoeDoe6UdNsNm9ubpbLJZDT4+Oj1tq1nTrexzYt6DRc17VsF60SgwtEtby8vLRaLWEKpRRgND5ZKZUkCSkN/xznHLGJKebR7kOTi1Oa2aYpC5nJxDQMmeVYk1B3wPsLHINQF88LDC7AU4KPhA4bGBE9EIwplSqvzaBKqYeHh+fnZ9u2ldbNZhPoUEopDMOyLGEYvu9rpZIkaTQaKPN837+ZXCEWFndFAC9ECSEGxLKsz58/I6ELq6JgGu2RxWKxWCyur68hVOsNukQE/R5OE9KcXl9fB4MBim1IycG5brZbnHfOeRzHQRDAVcnIxF10vV5jsHGapr1eHzgbPhmYcdEo8IM2tH8om5E8EwRBJgvbdRDGhb2DZxQ7hXpeVxnqYBMOh0OpVOEcRx6FIm4+yFkC9YCyEInjaCa0Wq3NZgO9OAZILZfLXq+32azRf8Bf4UkEkgKsCh5Y4LyLQhKRbdtJmiZJRkSw65imOZ/P9/sj1rYQApMWWq0W2hqn0wmkA/zx6EIIIdAy2m63uFlprQ3DgBWnyBXG2WZZZppZURQ//vhjmqar1UpKNZvNwHkXRYExea/TudYaasbhcPj6+oqlMl+8WrYBsgZ+lSzLbNsqigKUwb/8y7941VxqGFhhtcenYcyw67pJmga+7zgOKsntdjsYDFReYHGawsiLBOUTagCtpRCCUR0DLdEltiyjbGqCdJf4e0Eka7B3ib30GWi/AZyXgIxjbBDwD+OXQgClyrGj5c9K63IAE6+Qj64lGWgO1B3+Giwq/WasKB6INUOKB6gkxarhUPV/GWP8IjKlRmJv38brXzLGGAlFWlM1fbMSnTMBsh+SljJ8kjGjYFITSUWF0oVUmhTXnGtlkKxLkUt8KKvBRhhcCghNRIqU5nCCvrEmXg51orevepu1LgEe55yqQMIardEFIL6c5Fpukla1PLs+SEQk5WUyo77EfpfbcIHd5dtfl9k7WCZvCpXz0tLnmrCS+H4LlXn1uvzbepEYwgBSl6R59a2l1upiGel6JzXl5S5qxi96H1IX+HNFWmutkWSJA1RbN87+67rdIMpdolJog/WqNZFkmjPSQpBijGAAZ4wz1A1VccU5+CTOmagLCYEPV5xzXSnWGDHTMhnjudSGwYTg1acwzoVmpGCiZowRsUKRUvLCzV3R+ZxIS5YJLgzShcpsYUzni+Ph1Gp34/gURREn1ut2f/rHP5Mk+8tf/1UpRaTSNFWS57na78M0TQ7HTZZH9/cfsyxFjRjH8W+//XZ9fX1/f99sNouiCPOw1+mdjqcoOnW7Xdd2UtuBmgIRK5zzq6sb27aXmzW6k+jwYm7OYrEIT6deXxVSZYV0HC/Liv3+aBjW1dVVv9/fbDaAp47rtDvNeoHiYXN1dbVar0fjcRzHslBFUbx7946IADRXm/X9h3d5WgghsqwIwygIgkajlWUFSS5Mw/LcL1++aM0mkwl0nEGzAaUvsnfgRpVSzudzZKjjJo5HC7TRGC2Ji+fXX3+FLtx1XUyOxJMS7ebFYjGfzy2DIyLQsgyt5Xp7BBerpXIch5EIWo04josiu3t/L6WUWR7HsWnZjDEcuuVyudvtsjSvMS5QdZ7ni9cZCd5oNDzPxcNMKSmEQLyG4zhpmmdZpjXBTnA4hL7v3t/f4SEBmJ7nGYTRUMdifwEaOOeME+hMKeVWb6LYjqKIC3Y8HOfzV0DhMDwAnUTRKYrCoih83zdNkefp4XAwTaFUkaUpCGzXdQ/7UDmu5Xqc8ePpBLjvOA4RF0KE0SlZrkaDfp6nq9ViMBg4jjceXxHR9fUt57RcLvG8xxJFC3s+nwMQbzYbBMgYhjmZTJaLdRRFL8+vf/z+mXPx17/+NY6TPM+lVo7nHsJjkqWMsdvbW8654zhtP3je74uiOMWRYRimbTFNTDHDMLIiO+6Oe8c/HA5RFN3c3AwHfhSexFBkWQYdV5YtHr58QQcDrB5mrWtGlmM3Ws3Nfic1sxwvPe7jNG20WhiQaRnG09MTogARYvjw+QtjjGwHWRboXay3m06no0jP5/NWq7Vdb7TWV1dXRIRwFdO2jsfTbnfIsmI+n3POcRUcj/vtfgfIS0T4wFMcHbPYtZ1Wv8s0RVFkWRY3RBTH7969a7VaRZbv8drt4xOMgIbvN1AWpml6CI9xmkCSBAcn4BokTFrr/X5fspgyqyleHJM0TWVRRHHc6XQc1y6KIsvTxXLuOW63291s1lLKwWAAJCosMwgCEtwwBFdqOp+BZlb7PYykiKMNw3C32xERqqksl7d39+HpsFgtXdft9LpS6qIo4jjFqoYvHAsJNQlqKkxLICIgzuPxKAvt2B6uZXC0RBw0LWNca8rz4vHh2bSE4CZKCMMwbNdhjBVKhqfY9/04jqWiZiuwHUcpZdl2esziU4Q0lSRJGOfCMDrNJimGEnc6nRJRI/CDIChnQpNYLpdpkpumaduu7/nAl/1+HwGInU4H/AJuyKhGsBJwvcAZn2UZYn+jKOr1+iDXh+NRpeYvWq1GkkR+w8uy7LgPHSEgVfJ9QymVpsnxcAgazclklKa5UQVWFkWRJBEKj8PhMJlMgmbjn//8J2ZvNZvtOI5RlqPH67ru6XBseP5xt1/O5kTUaDQMxpt+UKRZLjVjDGk8x2MIJ4xSqtPpbLdb3CFryROQBKQskGsinBdqeEy7g5RuMpn84x//6PV6oFeIKM9zTCFAVxOqfagEcXHhe6nMyc2qHqkmUmkW+76rlHJdOzBcRZpzXmjluA6XUmutdME5RwaMllIpRtwCkubMYMzUikstSAvLVZwbrOzDl4CCmABCVcS0UoydidW8pOq41KRIlZ15rbWUTLFLarKULBayQmOsGpbEJJOXgzOlVErlEJNozYoCuIsD/+FzTFMoJTHAVWmtSTOgtQvUXjLQSmuthTBZyXyfQR2rWF4JOMcIvlIq/aVcM143IUr/q8KWICK7BPFaaWKmUlJp0udodyYLVTCqYLMSBhdEnDMhRJGj9DWIEP8ioBGSSLTBSyrsAifOGddaa6UrZUapaFKXZPGbxJXzLE7OiXOmlOKcYdKtUopxRqQxV4sxRkpppegiT6UE5oLXeP0ScNfVQo0KcKIviwT9JgTmaya+FCkxSVRO2qoVHDXdXKNzUWXaVIIcriupPSq38whPuvgOXSqLynVW1x8Av/UG1coifTHB9Kv9FOK8/2/aClq/2au6Nj1no2oiXmVkUpne//ZV72f1jReHspqRdlnH4GRzzhVhFiyEN+UVq+krAT3VZ6g+MbqcqqtNU3DOBROu6yYROxwOm83GbwSFYrvdrtcfzufz3Wbzw7/8NUnj/e7ADHE8ntqtPkZd2rZlmuZo9M5zg/V6/e7du9lsvt/vv/vuO+SLPT8/QxqolMJjAPc1ZJn/9NNPOOWDwWA8Hp9Op6enpziOwVsgxAMjPNuspZTabDZ5nqtCBkEwGo1OpxNuxLiZimoGOxIkgyA4nU5QpCD9CttMROhKJ0lSC6wDvxHH8WKxuLq6Wi6X//jHPwzDKooCosnj8TgaTZRSJS/luUj5RaQ3+EXkSyAaD635oigQWwF+HRkIeZ5DTy8xbTTL9/s92G6YBCC63e332/2xOtnM87wPHz60213bNIhot9sladRsNrMswcM+KSQ47CAITuERwGIymeRZEZ1OIIEwDR44mASHWAINazy3EODouq7WGql5WDm//fZbp9MSQhSFklVwMhHBI4i2A+ccvDge8JZluY632WxIM8d2o1MspbJMW+sjZCRCCCgltNaoWxADMp1O8zxHaKZhGFdXVxiBlMSZkoSwwvF4zLmAKAKSUxjITqfTdDoF64OYCNQhDw8Po9EAPxORaZrw7eHM/vbbb/VsyGaz6fsNrCusWKiEf/rpn67rEjGpS14BaqvHx8fb21vEiViOPZ3Pfv31V611p9Xu9/twYqCrgJB4x3FmsxlkFYLx2j+tta7ni4FEV0oJ0+CMQU4AWRE2BjuOC+S434NGBdc4nU5LxrEoEGLNq2d5zefN53Og519//RWmCMuyDNOEDbFMunRdaJ+IVL/fR3wNRs9oreGXgNPAsezr6+ter3eKo6Jq8WtGmpHU6rvvvmOMzedzL3CjKPry5Uur1YLbFRk+kBTj1gQJ1nq9Bruptc7znBUaMnrQxtChRVFk2TZAHo4e+idFUVxfX4MXz7IsDk+NditJEpgpcbQRd+M7LvT0ME7AkohgK3DM0FEAlYLNrfR1ltYa8BH2CaXU6+srMmdReKMchTfmFMaDwaDf72+32zAMAURguyRiZwtsIS1XoBGBON1Wq3N1daO1REmgtUYUL0oXLAmoXyB72+12cRy3m53VaoVoL4i/4fJ8eXkBIYJLgIiQmFnPy4M3BoQiGATcKHDG8TwC3jVN8/7+Hp3VTqfDGBuNRlES7TbbhLGr0ZVtmbPZzHXdrMhB4W82G6q070DqMPJi2WOX8Yy/u7tbrVZ1wmb9vMDAuNlsikOBLh8SV3u9TlSO3W0HQXA4OIbBiXPYh5IksazyWD08PADN53kBkI3Tt91u6xHaSZKgF4GjgacMek0I6q3NGLAmT6dTrbXv+4vFAp+JyhBrG4sEt/fweISvOkmi4/HY7/cHg0GSRMPh8OXpcTwZeZ5TFPlg0MvzXJiMaaKSDFRaSyklKUUSRK8gzbUWSjLOTM4F43kNvC6giGKalFJKn39fE5948tbAo/yllCUEvBj8qc+a+LMSnYhIQ0jPzva888DRS/L0TIrXvCyVFOe3DDoQnORVgvtX+/Ut3ALIqrCcIiLNNGno5tEc0BggxUqPIrA7vogpVW88Iy2U1qpQjFfuW8Z0riUnIYGh33D8NSTVrJYAKa5YfXgNw6ILGFkfE6qEHjWUL0FaJZv56l+dt7B8q0aQS3nu1LkMwNsQNa8vxDCXn6a+caN+tTy++vnyw3HWlFaqGiukq1m5X+XJXPZeLv9Y4U9F0LhXXy/Rxai37/9hUy41+OcmwqVkBRi6Wjzi4hMu9EnVAtVaS1ZVo2XBUO9w+S1EVOqg6r9irJY9sSqqE2Kb8kLSJTSvVz+rug+GYTCmNOOccyaoXpqsKkWqw1q6M7QuV3NVG8nqhsy1zIos2e12+/0ex2s4HDDGDsfdcX+AMDROk1ar9fnx4ebmzjK9NM3SNE2SeDSaNFvBZn2AIBLd7aurKyS7AwcASaRpKgQHTAcK0VpjYDWeVVBNwN6KFyDCZrPxAteyrNPpdDqGrVYLdsP9fu95/nQ6heQAEfIImgCMa7VauL2mWYbHBuQ9u91uMpkkSdLr9ZIs3e12juVCRbrdbtfr9c3NzekUI2kE4t12u41poJxzYRrA9Bg59PLygvRxpRQsdyDgn56eDofDx48f0QcHrYvsAjBwnuetwqVt23d3d4greX5+BrBQnCVJcnNzk0TR6XTyHFfmxXa92W7XAFuaJAYPbTabZrNZ3+Zs2za4wBjXRqPBmdhttz///DMmm8C0SlJZrhOG4Xq9QX8cJQ3sXBjYTkRIjfz++++zLMuy5HA4QG6BPka73R4MBmmWA+5g+xljiH4DsqkDH4A1Eb0CKGnb9n6/rzMfbm5uoHJerVbtdttxHIQeIoIzS4vFYoFsFtC0XtAAs4jHqhAiaDYQAQGmWVWyaRjg/vGPf3DOXdfFZuNaM02z0WgxxmC2IyLf94tCIb2k023d3F49Pz8XRWGZDsBQp9dFuwY5Rfv9HspmSQwDFNvNFtTnRDTs9SGpV0qhNoCLAGHYzWYT5SuuDs45xAwInDYMgxsCkqf9fp8rCVHBbDbN87zdbpumORqNhv0+8ih/+eUXGDHRBMiyrCgKJAvxamIOZAAoSJDdMR6PUVRrLcfjISbgmqbZ6bQglcEZiaLo7u7u7u4ObKthGMK0mKbxcEREYEBfXqeH8AjjL25QTJNmRIy8wF8sZgg2Wa/XOI9YSxBrAYBCq9NqtQ6Hw/F4xCcDnddjcaSUUJxf39w0Gg1N6nQ6/X/5+tM1uZEsSRA9qoodtu/mG7dgRGZWVtWdnr71Av30fadnqrq7KjIzIki6k77YvgGGXVXvDwFgcEbW+BcfgzQ3gwGqCqgcOXLkIFbxHLfWYQOiebYjhMBnF4sF53w4HEKet12tgZ4ZY1iicBbCRghJVZJE0KXoSu4phOh02ohyDcN4enra7/eghMEFoMA9juPBeARSVhY6TdP9fg+hVJIEVe1NQqQnkwkjkSQJGIenpyfYpCZZbprmdrtN0xhPVAjiv379miRJr9e7urqCzQ6mFUeAaRWKLiBwB5qH8o2ITNOs5rePbE8hM1wv8l29Xo9Xid+06mcEzVVzc8RtBXjqOM56vX5+fup0OoNuz7as+HxOosgwDMe2fb+NFArwN1R8RFRROScijrIfIhJCKFVYluE4VhSFpzBAX7AwPJmm7XkOuJXJZILlHQTBdDr2ff/l5QV+LzAXjuO43R0ihwOhV1FkRBwl/pAaMsbG43Ht1hVF0WDYe/gaKqXSLBYG0ySjOATXniQJTGOJCDEYKqbgBFWX9EDyLqVErAjVIqY7CII8Sx2ng2pgqGU8x4IDEud8uVy+eXOL6mEhhFGRJpyVXLBShdYa4hhI2GXBcklEjDNDMcnYhVusAE+JsKTSzV9prZUqkROvWjGWuKKi+YhdsKnWJZ2s9QWR1wBJV8S8/h3v2VwzFaQR1AgJWE2NNz6C09OcRFUQWP3mQpjC+BJIjIhIlwWJcDglzqi+kApxEZz/ys5KSpMmRoXMS/sdxoQAOsoVabi/cw0DGUaKFCdJ2qouCBdXa1RYVYXIOVeog2zA08Zwffd31fwnY0xfCPgLRV2jx8YwMkVKK805+ps2pNcY2OqwzaFtTmjzaM01892f1XSLy8HBQWt6/TZdryLdsKPhjZLO+luamNyg5okyVfaf/d3JXV5UZcRQ4ecKh38von8VbXw3AYwx0o2iUsygZpxxyXJ8uLqBqITy+lUAWn/R64M34rOGNr3+qRcKY4yL70+vORTlpbN6ti7rqbai45wLyeKiCMKjVrLX6wDddjodbojgdIagOYqi/nDAlO61Ow8P30zDdi1rt9vNJhNs8HEcDwaDH374QWsN8IR9ZTqdPj4+tlqtTqcTBCeYkOx2O+zK6GX43//7fwd5hoIwVBrBPuJwOARBYNrG6XQKT6Fpmjc3N/1+/3/8j/8BCYqoetQR0Wq1Qupfa50kied5cBr2PA9+doZhAJfXSlCYAO52O+BaQGfHcVarjRCi3++ned5ut7Vmo9EIchetNRoYEdFisYCnB6whsX3C4kNrjQHZbDbL5fLu7k5K+fz8rJSCJ32SJI5la63X6zVkry8vL3jcM9uczKbCNPrD4du3b7MkVXlR2E7qedgJMEREdHt7G0Xh6XiCosAwjETFWptQKp/DaLNeYw/DzbNer6ejMVStcRxfX9+YprFYLO7v72EdCL5NV+2pUYA4n0/rXFi/34e9jxCCcQHcxhhDCTLehjsWds4IeIDJoHg+HA7Y0nq9HohSwzA+f/7c7XY/fvxomiYozN1uJ5ixNNeMsX6/PxgM8KVJkmHpYtywADzft2376dtXMNxAt7Ztoxj69vYWSpgsy3a7g9a61+sNh2Psu8A9YMvCMLIsS6mi1fKGw8H19ZyobMbJOdfEhRBRFF1fX6PC73A4APSgqoEEn06nqDQ9Ho/cNE6n0+kc+r5PgqPOdblZY2mBR1+v19EuQgSLklmllOXYULUqpYbDoSTNGIPB6GKxWK1Wo9Go1WqdgwCJDkBMHI0xhuY7Sqm6jnCxWEwmE7tv+35LajW/vnIcBx2yiMh1bcYYimvhDskY832/1Wqh9uDbt281ZdDtdhkTlmGawoAkw2+3QNkyIaIk8Tyv5XlgKxeLhZRSFTkCWpjwIHmFNWNZVrvTht0KCr6jJIa2Pooiz3eEEKAqa78acPB5nofnAFPpOM52vUEXM+RhGGMkVbFcImCbz+fQbWMNT4YjmMCgUhMyD1x7uzJmsR3zeDzWrDbAJVVqcnh7o3UUzgGR0nA4RIEHboEsy5fLJcqdqSpXRUXvfr+Poujtm/e4djjlH4/HdrsMj7Fifd+9v79HBIjH9Wx2BUUxEf/69XE6nfp+e7vd5rn0Xe94PILwRhKgTi1CQQ5yvS6mTLPU9/3xeAw5uNYatwNoeLAtqP1AxQ6YbyICMF2tVvjUaDRKo/gchsfDwTAMmRfh6eRBnShlv99/enpCWAVB0SkIEXJ3Oh3DMBCgosS5FoKDrsaCsW1Ta404Ac65WZbEcYQ1CRq+li35vu+41vEQ4LmhlNpsNq1WazweTiaT//k//6eUMstSmMYgwZtlGcgURCO4lzFTuBGwVpFLzPPcNA3Pc33fa7Va3W6HiLrdThxH53OotTJNA6Sc6zqcs81mU6ii026Px2PTNJ+evsVxHMVh23dbrRakO7Zj/frrrz99/NHzPNt2SeVUptMBkaTWQmspSqjDiUiaTEgG/o0z44JiKwioAbRLpHPBZ0op2IvX0gVdNeipsQeigBpFyAsAZZVAnP0eh12Alq78uCt5si6DB1mpMnRdWqm15lwopTQRZzX04owJXkUjCFdq7C6rbkdEpBUodtJag7TVWn8H3CsADU8YVn2tVlKTZpwJzTVnnFFtYSk5h1CCQ8yDHrCaM8U4sfISqDpc3Q4K+FMS46UipbiA8qbe5HfGJ5xzYpqXR1aMXezViWogeaGMGWOaVYob/orR168p9iYL3pwyaqRf6g/Wn339K9U8YaoIdWp4ejYXALYJlFxCW0tEovJfaYL737nKkKo9Pr+LKkpuv3QkRUFA86ouGh3GWMPk6HLGzX8itmPN+IMzxphggl6PVHkCqk4ZMNYoCmYXX1VGVL4Hg1ID9+aJ1Yw+SPry1uSvVkOJ2fEpqbWCJaoipdB9y+DcMiymC86JM9KysCzDdV0tVXw+C9PkxDzPa3c6WZGdz+fD6QhALKXUOjGExRjbbvZoEIMyKTAfnz9/RlIVFhDAUo7jQAy62WxOpxN6qjPGnp+fz+fzYDDADgFfP5R2gUOaTCaGwWVegHlijIVhyJQeDvtaa9M0QaXUSnEiAvuO85lOp0mawvQaewPGJMuy5+fnu7dvgG9M0/z29IheJ8fj8cOHD+12e7/fg9F///4HyOUhdMZzvNPpXF9fR1G0XC5RanY8HqfTKaobGWPX19en0+nh4QFbICACABnsXwTjUKC+vLzUiVqlFLcEzNetTvd8PmupknPkux4zxHq9PBwO4/H4/fv3ruuCf/of//3/9/DwTYjH6+trx7Lha357e3s4HFoVFgTt6rouUxoQB1IfxhjkKCiugpoT+legUtRNnk4n23aRKkF3yfV6HYTndrsNAIqUN7qQwBoCKxPsGo6P/qzgmxljABCMMcwONuzdbgexhG3bWhI0uAAcQphxHJ/PZ24IrTWy+SCzkyQB3QgT6DRN4VIHA02oFyBqh/8GQDz4V8ALVrUl9n3fts2Xl5fn52d4Ge33RxSrPb8s0ak3SRJQ7BD+SilHoxFQiGmarmWnRW6aJtQ4YNMBOhHOnc/n7WEfBMHV1RWS71przcgwjDhNNptNURQfPnywLOvz58+madqeC4qx1fIQNQGmPD8+ElGtOLJtO4liKWWUxLjkJEn8dktqZRhGq9PO81RraZrCstqglxzHIqL68iFhAgWLwgwpJXpjIV0AaVkcnzebTXyODMO4vr4mzjSjfr/fHw4RYEADA42B7/um8I/Ho2VZV1dXqC9EKgBqYJSy4PZZLBZhGLp26fjUanu+70MNBbodEq/tdpumqee7wByu675//361Wv3yyy+tVms+n2Oi0yLHxEEfT0RRFAVB8PUcuVU7BajFptMpjEG11iiWjeIQlTOYNTAdUirQ7TAuRHEtIDiuCzFDFEUoSDUGFmPs4eFhvV53Oh0pNdqjosRFcBONHTBTsKqEksr3fVhD4vXtdq21hhcn7iZ8KfA3YwyWqej/NR6PISwE6IRaBuffarWgIyL4kR8VYwysPHR0iKkQi2JdoegCHabwBMMIIKCSUv75z3/e73dpmrZbLYRARaGyPD0cDpPJDBlC3/fBQ2NvgsMBrKWSJHp+fkGmBdkVwzCWy2WSpbe3t1DAI9xC6iBJkiSJIFA8Ho+Ygs1mg/Hp9/uHwyEMw/B8UrqIoqjdbuNuPZ/Pb968k1LiebjbbZUqTahgmyOEQIeK1WqVJAli48+fP8PsC9oepG6Ox+N8Pq97xsGTAA8TcEmotscKMQxDaoUmEr7vvnnz5uHhwXZMNBvxfV/mGciy5+fnyXSUZZntGIwZoiR0AZskI061tTZnXHPDYFpxrVlWpFpfhMs1rCB24cXrHwD3OrVSwwylFGxNOL9UzQGckWpKNZpuJARgUiF1VoloKghITKmqnxGRyjWesYwxyIYrg8LqFBn0A1RfZo2QdAWpAbNqtrsBKV/lHCqYCJhmNNTLlcZdU6GJc8E1lQUAgnNGXJBWsDwvDQYh5Te4qBMR3/3IqkPnBZsyxojzJlpv/Hz/MoZNg499xeoSqYsgSKtalVRPJWOs1nHUn2KXj1OTKa4nml7poP6OeLv+S/VFRZWsuLxew3cgdVXHiJVXSpl6BZLmXDeM4TEARiUPaQrZJWNlJWhN3V8OXXVqZa9/1OtMEGP1Xy5RQf3dl4tkdGn3VcYDRnOaLoumeVP9JyNV43O8q/57/Zda2EQYOKiOGJXtyhqpA2D3ejSpDF1K/RbAmSEESTqfg7xIO622MI0gCNI8T/PccdBTQxMRnvWe5y8WC61lrzeAm/KnT584F3ju+75/OByxEc5mM4ByoDQwtZwzZG/rMixVeUForS3LgpFwlmVv3rwZDAZoCuO6bpYlrVarKBRyylmcgEy1tK59HnDY6+vrb9++ZWlhGtoQ1nTSNQ1zuztMJjPTNDlPOJdBcM5zud/vGRNoETMe+kRk2zYoYSJqt9un0+n+/h6SHowYGvI5nlsUBQTEu90OdpPoHgKxdRAEjDGgH8BxpGXRkwVFnDBgJqWBJJRSP/74Y1EUGAq32zaF8dtvv8Xnc6fVJqXTNA1PgdP2s6yIohDMouNanz59+tOf/vQv//Iv5/MZkpir2fz9+/daa+SFlZRRFEFfRET39/eWMJI8s20b3enh1YAe9Vgk2AWJqLZwEYJ5nhdFCW7IIAhAxFq2YxgGrgV0+PX1NZLjCAO01oA+SInUvXtg/o29EIT37e2t1vrz58/oaYWqAJmj7YgWQuz3x+WyrELTWsPWIwxD5BYmsykqAqMoQgYAxRX4eXp6wtQgYIjjGEw/gAJ0w/gUYyJJkslkhAT38/MCyHK1Wi0WC8YpPJ+63W6v3wEqxRfFUSqlLLI8PkfITdmei3pKAIunpycEq4CqiDRa7bbp2MHhiDsUyYGO2+l2u7/99tvDw8NsNvv4h59OpxN8OYAwwGQAW8DT0DTNXq+H8AY4khui3W6DDIb1O2QGBme73Y5z7nne7e3tmzdvTNMEmYqQEpFPFEXH4xHtY+HpAcEYpEFJkjhWCenyPH98fGSCtzrtbr8PPdtmtSIi17ZRmb3b7d7e3UJDDE4UoBa3SVEUT09P6/X63bt3CAOUUs+PTzBFNQwD5kKAZXiSmKYZJ8n5fO5023ggJElieAK3IeccEV2RZqPpJM9zsNez2cyyrPV6rbW2bBvKZkAudCFAeuHTp09INRhmB0cGiYBiaOTTi6LADaiUgk8lWjfARbHX6x2CE+RnnbaHFQJkbxhWmqanU4CwJDoniCchxGq1WlGUHA6HVqettX56ekIGMo5j23alzJvG+TAkwa4M1dl8Pu93e5vNJssy2DHNZjOcEh7gCG7BIkPZyDihOKfdbmOBIT+DLRlPaaj8Pc9DJy/kOsBMM8bQ/Gu73THGgjAU6I/LWK6k43jYucvsouOAWyEoFbSG89XhcAjDE/T3MFvETr3f7yeTCZIkyNHZtu15nuc5cewAzcOuERZGlmVhi+z3+5v9AX5QEPgNh8Moip6fnz2vhRQrZFoIk1A+ATEhLHRrx8zb25vn56fj8VAUeRTJMCxbCB8Oh9FoJKUEDYGcIXzPkH9GlLjf77Mss207yVLFGMKtTqdj2WW5RZ7nYXgaDAZPT08fP340OAuDqNvtEuVEJInBilxrpTXTJAU3GWPweFQVuckYKxSvOdES6pT6Cq21hgBGNeXI6qJOrsGclBKWFlprpkt0VL6n0eCTMVabkHwHhy5Y/zUybQAwTZqTIC50xTnWXKwmklqjxREnDSqdQIs2vhrMZoU+ibFSe8MqPrOEPfX5MDQ8JVa+WkFepZRWjBhXl3HTnCOkyTnnSkumZEnfMs0Ex+ldTCaRWOEaJ/KKOiUipqmSVevXA8IqPKi1xttIE+NcsQahrjX6bdWXXwG5V68wVjkBVdf7/Xc14Ot3/+QNGXo9U/Xb6jOvXlR08dJhrOKL62VQU++6YQRZfS3W58WiB6vL+G711J9vzNQrDQxVJoyccwGZOF5pCMVYpXGvL+My1pdLrd7PSt69wtsNaRFXzbGuPvjqNns97uXfOee6UWXMGgmO+u1KKa1z/UqEhPHC8HGltFTNihDcsYpzgSed4CyTRZrGnJPjWlku0zRLsjQIAtnWrudqrZnW0+n0+fnZdX089WzbznNp27ZS2rbtp8UzWluH4VkpBVDLGKuN5PAoTJIY9CRIMnic//DDD+iCCePz0+l0c3MDy4vj8Qgq4unpybIs23Y7nY7JxSmKfN8fDofCslBFB0YHmxy0wth9wZqjqtV13fF4vFgsoNOtg0WtNaggsImQRf7rv/4rHvqTyeTDhw9KEaAGHs1YOd++fQuCYDKZQM89n8/BryRJcnV1hc7e/X4fGdI4jm9ubogIFBraUkbhGXoSHAG7OGPMs+wsy7p+a7vdhvvjdDod9geMMWYZs9ksCIIsSxhjx9M+DMN/+7d/m47G8/n8+vp6uVwul8tOp4M+l51OhxGhUlYIgfpgwzBalgOEh5T3dDo1DIMxbhhlY0UUa0KazxhzXe/m5ibLiizLakrJtm2lCSEZBKAA2ZZlwScEb8PuiIQD5gVlxNiu4ji+vr4GR845R7nbfr/HjF/Nrmtb9zCM0ALJ87xvT49YzMh7pGkKpLI6h7CDBKg6HA62bdu2PRwOUWIIowmlFJIVoJ2gBwBuiKLEMIz9/jgeT02zDEeHw6HnthaLhbA4bPJREUFE0IBZZvL4+JhEMVL5aZq6LfjEE2QekNaApp3NZughAOpuuVrahgl1LBAA5/zHH380TfP+29ckzxBM1q15tdYgU+GHCM51tVrZtt3v933Xi6IoyeKiyGCoR0QA9EVRnIMQMncADpCpz8/PiE6hCB+NRsiNQCA3n8+R+MKtgZQCHNNbrRZ6DGdFnmRpGIYtzxsPhzdXV5zzx6/fXp6eTdPkxCDEiqvWWtBItNttpRQY2ZeXF3jwQWQCeevhcDgFhBMbDoeWZS0WCwST7U4HjkaIarrdruwWi8UCqxEw0XA9hH+73c4wDJALMJOJwzNE891u9+7uDvc+Eh2MMUSDvX5HSomGxMvlEhoJx7HwHvDiURT9+uuvb9++dRwH5w//SsBZUN3Iz1Rq6awoJFR2cZQ2H5JRFAXB2fM8JIvQ6ghBF0DVZDLBAx96FdAu0PbAonGxWEzHE8wUpulwOKC/xGw2g2cuGNbJZILHTl6kSD3hEYG6cNd1R6MRYwx1KWAT0NIIER3CLdxNSD4kaXp3e5tlmSyKvCiGk3Ge54o0kmB4MkA/eTqdoAoQghvCBHqDQ3mr1fK8AUSSuHe22y0qkYjo+fl5s9m8f/8WJSIgAqCK1FrDiAabS62kJyIoD5FE6nQ6pikGg56UGjUtROQ4cI/l6GUGngWaGRgH3dzcoIsFRgklDePxuCbpawYKA9jr9SADQ1kqigFs12l5fhiekDtCu1xRGl+a2+22yOVqtZpNphr1ABYDuGNMS62ZkiXONhmrgGwJAyq0Sg1/EiLijKF8j4g046oy7KvfoCqpMD5VUu+idnav/GSUUkoRe1X7B6xBRJUcvOIrq16tpac81TWgZSNSrRUpqUgbzED3UA1lfCkHYFqXBY6C1YYcTfX+JZwg8NzVyzVlX4MwzlHbLxhjuSrXg1YluKxSDUYtHyeumVJEokRepBhxzYmYrpRHTTxajWSlV8Hftea8iT8ri57vkF5zIkoZfXm0iwqlBsrN+ULQoV/HA0pfnOBZpfmuP9j8XqJX4J5fNPTf49IqJLtw9ni5NDVqlB/oyoWGNWQ59ReVR6Py/azygMHrpauM1pdB1OWagI6ptNanqk1Rxe7zagWWQymMS6eo5gXUqLcZANTXWV58gylvBC4a+R7dcMqs0XlzVmo9DI7WlPM3v70ccSrrVkiqovIB1Zfg4bKwdBUwNYE7VTIbQ4g0jfMsM03Ts53Vfn04BsQMxphhGKPRSGoVJ9lms82KwvdbyLTiqQcKKoriIDjDWGO32xmGySrpqqxa7L579840zfV63e/3YGMHt2ak+9E653g8QvmNLhjH4xGKC5SrAii4Lj+fz1EQwjDE87woTbMsg7hFSokHt+/7x0NAROPxOI5j6OnzPJ/NZq1W6/7+HswKEuX39/dpmkbhGT29IWzApqi17vf70/lcCLFcLkC0hGFou85sNvuP//iPl5eXXq/37ds3iGjBz728vIBCLopiMpmgVg/Vh8DBp9MJRXJFUdimJapGSKCokQf/9dfffN83GE/jpN/vS6nyNGaMcVn2KGm3feTEB4NBEASz8cQ0zclk0ul00jhC5xp8Y3A6IeQwTfN8Po9Go+1qTVz2er0gPKJwFnFFFEXtdgtliwwNSiwLSH27Xd/c3ADa1oVrnU5HKo1tEk3pEaER0Wx2hVZc+/1eSp3n8nyOx+OxlPnpdAK9t91uv337Bo2EZVkYNwghsD7n83lwCrTWpmnmuQQZxjkH64xKaCjFDcOIkjgMw+M+RdUmlvrT01OteEZZGNgdNLfSWsPDBwqHfr+PYAOengi6OOeCm0mcwZBeUqG1RsADKIZUu7BMzjkpPRwMOOeH43G73bY67TROiAiGHmBJX15eTqfTYDB49+7d8/MzOkFKKYe9PmMMb0DKApad+DoogAEuTdO8vr4G97l8eYH+AUTybrdzbWc4HG73m/V6DQceqIn6/b7WuuX5KJwdj8dZlt3f379///7jx48PDw9ZlkEpgZUPE6Tdbgd92o8//oh4GKYrp0MAKBMEAQRXxFmr00H6SwjhOW6n0wmCAO3JoihEOTgsUPb7PZQzmCbTNOfzOTTQ4PhNyxBCTCaTLE9go5llGZJaWuswDLu93nw+D8IT4rr9fp+nGWZQVQU806t5JouiKK6urjhaMiUJYHRyjiBZPhwOy+XS932IWyzLQm9UFJAgT8UYQ1ZNKYXGwyAjgG6/fPny6dMnIkJMCCk/MwTnfLFY9LoDyN/xcMhzCY5/OBy229bj42Mcx6PRxDCsVstAR2HbtrlW2+12Mi7njnMOhVhRZLUAHYufMXY4HNDyYjAYoHQEsTHUiRhwznmWZUhmQnQkhMiyTJOCDSKKfIA1ISKH/hBiIWhFcCshtwbNIZpwOY6DbGEQBO12O4wj07GzInddNzieYDCA+nssIcMwuv0e51xwAxXbSHmNx2Pfb3/9+hWPa3RAg9USaBfU+yIPgCuybJOYth1LGNxxbce1oaFC8UySJIPBgHEdhiGySQhN9/sy7YD0BQYNhAsey4wxxDB53mu32wgXEf22Wi2kBdBYAN6RjDGYQWHjgBCx3v6I6Hg8JqZlmgK8hpRyNpulcTIej7Ms2W22uOQwDE1TOI4Dz5CKI9aSSrV6liQAP4wxIUzOmVQKTWz+HkAsgY6oYFkNthDP6AaPyxq+H9/BO621lEpXfolNnULTWbyB9i6grQYt1QFVA7cZMIMXQogK+Umptb7owgsU41bIljFGjHEh4H5T8/o1miq/tDqZWpRRo6kSbsl6rMowgDHGGNecM6kqvbTQuu4C9B3r3xzkV8iQMa31xQPRIFG/v/nxC8KsOi5RhYDrf9ahgq6KiWsgp9SroW4eEOMs5e8a4TZ+21wJVILV7xnq6rCXlVB9BaNGH4B6PdQKqDK2aMhmiIg37Clr/Km1NhiDffvrbBGyP7+TxBARUj9M00WYgqmr6oHrK8Wf5Y1EjPPvaG9NhP5kcDQtvV14pfFq/CkwT9V9Uq0hJXH1RForyUpllC4QoGhRx5BljQRJpZQkzkkahkmaVKG1yaSiQjKDa6bQf4oxJgqpIchWjDjxPM+1VKS0Iu26pmJakiFlquVe8IMSETeLdst2XS/jKk0dz3NeFpsgiLVinBvj8TAIjr1uW8pCK8lNo9N2z9HR8W3b7PqW60znIEKCICCpmNKu62itHMfe7/dPT49v3txB2FBTd3gKY7sVQkynU7QxQqkr3tNqtVqtznA41Fpvt9uPHz8uFgvbdU3HOe92sIrD3hzH8eO3Z9/3371/0+/3w/MpOJ3b7bZhmQgJsGMhe4sy2SSKbdvOCvnw7fHq6moymRkozTQMy3E2u938+hoz9fPPP4Po+vP1nwXj8Tn6//6f//W33z5x4vPp/HyK7z99ZYZut9tpmr68vPzpT3+az+fr9frLly+oHay1sCjZlFKS0rZtW8JI05QZotvrG7bleZ7M8jiKTvuD1tqx7G8PX6VW4/H4fIiLopjPZ5yLw+GwXidw0T6fAs75ZDTudDqr1YaIsH8fdkfLLKJzJgsdnQMpZZEWw+H4FIaMsTd375arF3B1RNRutzkXRSExO/Ddm06nk8kkCAKtGcrdgK2zLPvb3/728eNHQ4inx0ciarValmlKKdutbpGniZbHw14rmSaRtqxup1Xk6XqzGw6HRPwvf/kLFL2zq7lmlEQx53wymYBjs2231eooRVIrqEvbXexPTJFWpGezmWmaaKsUBMFqtZJa+b7fG/Tb7bYwDdSn+u3W8XgUpsGIAJ6A/EBSQmcMWA+S1XGcXq/38vLiOB6cN2Dys1g+x3E8Go3OcVSVDPqWZQ36oyiKFstVnKVBdPYdN0rLguP0FFJWBGkMlne9XgdBMJ1OFen1ep3mSRAcx+Oh5zlfv36N4zxKI06UpQWUG4ZhDIfDNE0htA3Co2MZ4/EIUSVprYpCSxkEATRsUODEcVwZYhJsW1DzyhgD2d/2W7CpgfWNlPLLly//9E//9NNPH9M0BafImDYMrjWDJENrjcppy7Lic5QkWb/ft00LpaKoZVwvF1prmaax4263W0Q1UJZjXSVJIoTZ7bpEBOENYyKO006nk+fy6ekFtYBpmsdx2mp1fNezbft8DoUQ795+8H3///q//q9Pv31BRyGw8uPx2DJNmcswDBzLRiXG4XAA+A7DMM7S87nMaO12uzRNr6+vbdtGQa1hGLe3t7gK9BpDNyJWyQaOh2AwGHS6PrAjys1t27UsK89TLAzD4PP5HFS97/tglMMward917JbrmcK0W23PdsDUCYqHEeew5gNxWQ66feHEIWjJMD3fRw2CIIoPO+2a+Kl/RGAoxDmeNzlnOd5yhiL43iz2YDrBWQUhoEaeujFkWRAx6I8zyeTCUx4gvBomqZhciW5Y7thGKZZiOQkHl/nMN5tD0TUafeIiDNDSYrOiS6kzHLFhWc768USaPjt7V0u5X636/V6SZJkWb7fH+I4ns1m6BZ6Op2Ox1Or1cbmG4ZhmmeoSeCi3+11vj1+5WX3GalUcT4HUsqW50pZDIdj13X/9re/JEmiZZFEsRBC5sVmtTZN07C7jHOp9Zt374Cbs6JI87zNOUPakBlxlEJ2hUiGcz4aDVzXx4wjw4AkapalWWbZttXtdpIkjqKyqRPixqurK2TwjKq/ErRVWms4JmFzAcEP5Qw4o06ns9ttoihEiulwOPiuaxgcZsee5+RpBuWSaVuF0lmRayJ8CzBFUZBS6KqjlVKygFOHrts7akasIb8GJam11sRJa64UYwKRkuCGlLLQCiuqxoIlaixkJVW6YDXGmNRFDdS0VqzSi3DOLyKGEmISEQlRArAKekopS/6+QpYyz1PsxVprMiwIfZUGp8s044WSonLZr0OgGtSV4URJcWqtFeesLBWq6EvGNGOScSL1ys5bK6WlJK0V46XapYwcgMwEY4wpDYJUawnrRQgptAaOr+ITMup2svhuzS46IkUSo6R1jfUBQev3v2K4VV6YpsmUJtJCMKa0koXWWipZDy8GoygyKRUjQ3M4vjf6ZFXkt6oqR+thpwan/Ap5V5cgqupKXbkaNs4ZJ9ksZsWvRN1AQFRfV8+RLheSxJKowTlV9fWVtqQRRNbDUc99/fWGuGjQm4Ae+u/66PV3NFbt9/oh0k19Tfky4PhriP+f/rC6Bvx1rYDWZUcBatQiEBHjmqCBkVJqVSjiWmlGipiUUvyu4ZaGMOtVXFhqjLL8zHlBLC9krHTs+aIwifM8SrRhGA8PD3lB7XY3SVPF1G636/eHvu89Pj4Wae667tPTk9dqx2nKFDNN0zENyJcBDqSUfqcF9S32ttPp9Pz8zCrXC5QoSSlreSUo1boXJurwsiy7upq1Wq3n5wUMyyBUGA6HoD2Kori5uYHNCOd8NBrZjrnZbL58+WIa9s3NTbffQxpdKXV9ff38/Az0fDqdfvrpJynlt6dnFEFCnhhGEeS/q9UKmyJIVmhycI3/8A//wDl3XafVagsh9odtlictt4X0OhIC6/UaRjHIUVxfX6OfH3yLl8slFmqSZ4wIhUqGYaRZlpyjMAjCMFSFXC6XIG+gdcGgQWuE1AHGrdPpuLazXC5hUXdzcwMLud1uByJ8t9muVqvFamWa5t3dHR7cYRiiDS2cJeM4Rs8s0GyPj49/+9vfiqIYDofI2kNo8fT0lOd5q9V6fHxUqlTto7LWsqzD/kRMQX2BNi6WZaE8zjBt1CJnWTIajf7whz/sDvvtdtvrdCGBvb29JSIpNXQCMJ4DTVgUijEGEhFZbFSDgfFq+S0iyrIMZuS4ECKCDnU6nsBfgohQo4yYsKbcQLMlSYIddDAYdDodaK8xUJzzT58+dXpdpOmx5x2Px6IolFKw4jEYt23b93zTNNMkWa1Wkpf6q/F4DLL/zZs3/X4/CI5A0pA6gLa3TZN03Gq1YFgJRfvhcED9LlBabUVfLwl4XyBXgDiEiAyDo7abqtwivGIgug2C4Obm5ocffgAv++3bt36/Wz80lsvlYrGA8AZUShzHnBtCCC3VaDRiTKMzPMQzqOdG2MOEuLu7A2ONbppSSuBsVC1rretC2CRJQOhinSBXgwIAUxjH4zEIjuD4//jHP/63//bfkJ0IwuPhcHh5eVmv1zAOKoocHZRglASdQ5qm0NMjzcU5ry3JXdc1GEcjXgjt0GwVhO52u0UuBUURnz9/hgMjOkUAJYOZjqLIcSzXdafTKZhy0Ba73SFJIuxeeS7X63WWFjDVzYsCC/LXX3/NsqzTKW1t4fWJ5gO4c4nodDpJrRaLBTwf4WZrWRZGBukLrEOIr6SUKHXF3QHDR1SwdDqd1WrVbrdRcpoXqdY6y7LVcoMSSaVNxH4IJLI8cVxbCHF1dQV7n8NxB8Gh1tpO7NPplBf57PpqMplw0/ANB3cKao4h5tlut7A2qvl7PLRfXl6gM1FVaQeyZ7pKLkHxCM0YRERI/aGOv7aZj6JIG8z3fXh8HY/H0+k0mUygjCIi5LJ8r416g7qN1Lt37xzHG4/Hz8/P+/0ejwWsQ9QbWJbV7/eR/rq6uur3+9g+4GFwPB5hRIvlirJXbAphGEI8tt/vQXnA6Oz29vY//uM/YAaPjJPnObjSLEtQjoI0tWVZAGcVUFOkLvbnzeS5lJJeFzLWoKWBXhiVhh5MKUVaY6hJFrrRFqcBPFgTV9V/N5jRBDOXL+IXmFEjwvrI9a+KQhZFhnPGUwvlDUQSCC/PJWNlR1WwtUIIy7p86WuhyKXrE54nTSjFGNeaXXy8eaVEr7FQDbq0rtheRBSNC1RK6fqwnEgyIv67g9DvMZ4uwW55nMpopDkaWmtZpQJYBfM451yTEAzZFVwdZ0xW1DUI97oEGWoZyGxqXHcB6HWCopH04A0NevO3RFRCWPY9UuVlOoJIl2JwrXRdnlktA80vxcqvbOmJ6D/DvvitARFVYyg1XqlTJDV8p4b6pTmL5WcVq1l2xlht7E8XF6HLjFWvvzofrQlr67tJLQeIi0pd8yqlhZOpl2N9IYwxapxtuSYKzakgzrRiknShuaF1TkowTYXirxT/9cwRqyIhrTUvDeO1IVhRKAigHdcgyYq8yIo8z8V2s80lzee3hmlTwJI8MQzj+mbqunYaxXlerNfbJM1HE08WWpFUWqZRCseuw2Gv0ZpRcDy1wSM+Pj5yzmezGeTOqIbEww4P1v1+zyqRBlqEABghl306HbBwkbENgiDPMyS2YH+xXq/n87ntmFEUwYDC99rr9Xo4HkFS3+l0AEyJaLlc4kldb9t4yLbb7clk4rfb9/f3gLaPj49Eajwev3nzBme432+h6UfyN0li3/fevn1ju879/T3S1l+/foVHe5ZlX79+5ZwjLMGWkyRJt9tljB33B8Mw3rx5E0TnJI6FYWwPe5Nxg3HTNK/v3pyD8OnpSWoVHE+wwuScZVl2OOyGwyFc3jipOI5/++03pdT79+8BbYuiOIWB0gqmzn7be9d+ezgckASAkHQ2mwFUXV1dwbACaQHf94io0+kcDodffvkliqJ3796t1+vffvuNc26aZrvdhqhgtyuT6UQEzx/TsNMsBuH08vICzAEgnmaF1rrb7bru5P37947jPD4/IVEOQS10+cdjoJSCRArAS2uNZhZwgAFzhvLoTqfz8ePH4BzmeS5lDq6rVqfA/eZ4OMJ4FPlu9H5CvIHYjIggbZrNZj///PPnz58/fPgwmUzCMISmFrjNsEzYxuV5fjqdzjpGQDI1567rtlyv3W7bppVlmSY6nk6KtFKq1e1AFoKt+nQ4viyfOTEADqUUQJhr20WuoECDtQ5ghGmarbY3n88RA3/+/JmIEHi8f/8eWXtQtgh+oHjZ7XbwSazbx3iexzRBNJVlGawMq7KQA/YGYFMAbigfiAjlfb7vH/b7JEk4Mw6HA9zTUeOLopd2u10ovVqtTNMEtMXgIKcBy2qUBQOK4b5mjNm23e12oQjHKPmud3V1JeV4v98DQkFCA401VMh21fkL8QlCNbSxBCgHf6y1juO41WqBK8VzL9BH+KCj4PX9+/cI+aDpR7UJQmuE0zWHmuf5er2OopAx1m63Ib1BSc9isUBdjRACHaaFMKHQWy03qGPGiSVxFgTB09PTw8O30Wjkui6qPxF64QGIuohjcIJpFRYt7hT0Ks6yDB0zYJGOYmK4VGEQtNYAgljquFkANB3Xgj2/UgoJmXovz7IMxvYYBLSHi+O4dgGCXAQ7FIpNsVCRKwD6Vw1FNfIVjLGiKILgBOiM4mw8u/DIRWIkTVPHtbUq85ZFUez3W9QvAfDh46jzgRWVqHyQkO5wXbff7+e5wkeiKPK9NnRihmFAoQd2HNeC0hesDV46eGZI80J1gyuCg83NzU1ZXKsUbiKUkYBIgkoKg4yQez6fo5To7u4GQSbSjLjRkiT58uVLp9Ppddp4ES4CSikirlQDCivSmrQiqS7yG+CcksurpAhNCIFdv8I8eLGk3jUvye8a9ZYfbwD35tF4w469CZmgn/kuZkAM00TbRVFkWQ5hDI4GyZNpmug/o5SCc6JhGKIKWhDhNy9HKVUDd9DY9VmBC8CYMMZhqNO4tBqDgTPWjGnOCdmFCt2VOnUCtU4Ne01Ndd+lClZ9j8VxnqpBvxNR7dLz/ZC+9hmv7z5WycQ551qXlQkYRikl6jtrVlopxathVw3rdMYY/R2Dwb/DtTfXCePEGgdvDHg52owxUnWegephZ4wRqcqIUxKxeiVqrRnXWin2fe1oBdzrQzQnkjEmhFF/93drqz6/euCImmD6cs26oT36/Rvq86FK91LP4mXeqwVfL+Xms5LKgIEIoWEjE8HEJaasR19rLZXmQpCQigsikqRzqUVRMKkFR52HVkppaurmX2mHyomRpKXgzLXMdsJ2SrEsl0qxLFWMiXdvbjq90XK1yfIkT9PpbMw5EVNcUBIkp9Pp5u5tlmWDwYAztl6vXc9D5R+8z7Isc3wnCI7H414INhxOUKAWReF6vYUvQc0XIgn+5cuX4XA4Go1++eUXlKOB4d5sNtvtFrYGLy/LVqt1c3NTFMV4PIZvF2Mcclt0AL2/v0dRXZErJKBR4QfA53keLESA6vI8n8+vX5YLrbXjOH/84x+11tvtlhMt1muUvr1588b3fa3LuknPc2CRJmVumn677YOh3+z2UJ5orW9vb+HRttls+v1+p9PZbDawvMzzHNjo69evrut6lnUMAyIaDPqnIDAYb7fbXJPMC1VIWHHjONv9Tms9Gg2VUnmRZkliCtHpdKIohIQDKn/YBb68vMRpBO3p4XAQjFuW1e8PTdN2/LJLkdb65ubmcDjAsxJZ4yRJdrtdUeSAp/1+H7KKu7u7q6urz58/g8aDuQRjLEkShEmAZb7XzosUaPjm5ga2HkqpXq/HuAG6xXXt9XrdarUA3YLjCTcXYgyYEb179w6trLANDIdjIcRisQCZBwE6PLA3m01W5ABbEN/Dv4WIEJ/YpgXPadDDSH+naQq6FKoblEMMh8M//vGPv/zy27dv3+CoU4u/LcuKkpiIoC93XTfPJISzq5fFcDg0uWCMFY4DIl8IwUh7nueYFpAuPEN/+umn8XSEzqmQmoDb1lIqmYG4RYcXjAYI1Ldv3wIKQ1ZbakUsC1IxTBwcKofDYavloe8PvhGx4mw2gyYKQiO8DsxxPp/REAp/tyyr1+v1+33GCXV+WZa9vJywp+4PW8FNuHYgH6KU6nQ6URQt1xucMBjT4XAINQ5QL5h4zjk6o+FFIkKpAIaUiM7nM4q2XddGCQSs0He7XZIktlMm6xhjLy8vRVG0Wj4kQ91uF1Uf4GtQ9Jxl2Wq1QhpqMBggnCOpAOBg94QJhfsTEW02G3R4dRwnTs7owQS+YLlcxnEsBEcSSamCiIOV0Fqj6YFt24fDTghTaz0ajXyv/fZta7lcPj8/X9/dGYbxhz/8AQHV58/3WLGoJHn79i04/iAIwNDj7sC0wqUKsJJzQhqTiE6nEwoGBoNBkeV4A/wlMWjL5XI+n6MbMRJlUgoQzFanjASQGJnP5+/fv4dSkVXtkA+HA6amDpNQmI5QBAE2Bh9iccYY5hrIGHscniSMESKoMCopagB0RHeg9vFYhtwc0A28EiI3dKpGRLrZbEgWaZRQW0fB2TAM27D2m53jOCQVScU15UkahafxeJokiWDsuN9bhqGlzIviHBxbrpdlmdUu/QaICEOHxUkVZ88YQ1SAs3IcJ47PrusghOv1epwTkqiGwbvdtlKq3fYNw1gsnuEOjMi8jgqwv0O6GQQBKSmlBHW12Wym0ylxrYmKyjhGM1JaK9KFkgZnjDPGOaCkZqS1ZhVu+w67E9UYo4oBSFHt+cgYtqGaeley+E6b0AROTYBU4lRFpMtGa1prTZoxklJxwyyKQlY1oAXoN6UFK8tP8SNLk184FGmtdZ7nZvVYyLJCVC7gNbRTlemQUmWnoxqMKQVFMy5Z1Cjr97Ctwv3aLN98gV1ac601q6TYxEqLHK0101xTbbh58aO8oDhQtHRRwqDmktf8fxUfCC6amPP3IL4GzQiAlS6KQuFLZaG01mWug5WK83qUqHJMb+Lv7/6k3wNdUryqP67wPZAqcDIrAz9WXZ9SVB6whruq6stEOEYNnul3P/X1GqR03c2JaeJ0gb/fQfZyOf5uCf6dCXiN7H8/9wR7o8tbcJa8Gk9qHKDyN9WqOXbf4f7vLlJrrSQjYlqxmsO4hATwTlWKmEFS6ULKopCSlLj0JdZUr9pLCQWr4ietdSELprWSXBZaKYWnVRylpuj++OON47j74+lw2BVK+r7b9nwhWByfB4PBt6/PwD1CiHa3vVqssXoAZ7Fxnk6nQ3CAkhh7AJ65Ly8veZ4WBWOMVTbSeZZlUuZIrSIcR1kqYNNut8HJY7/B60opcEsoF2u1WgCLeCcSo+vV1nVdEJ+maTImGON5Llutju+3oRCdTuf7/d6xbN7pwsTm27dv6/UaIQF6pkCnblnW1dVNURSTyQj79Gg0+vDhA6zBvnz5YtrO1dXVdDoFcNztdqvVSmuNDpS2bYNTvL6+xp73448/GoaxXW+Qf1gsllEcO47T7XQc2+73+8/Pz5zYYDDoDwdX6vp58VK3FwV6Bn1umsKyLPDxukojrFYrRbLb7f7hD38QQgTHcLVaERGk3qUZYq/NGAPTDGoNchGwaIwRZKAw99zv96PR6L/+1/96Op3qboXD4XA2m6FJJ+goXrmkIxjjnE+n0zAMGWOYoyAIguBY0vOWiSzNdrvF+Hz9+jXPJbAsoK2UMk1TCEWAKeHagTbjuC+8lq+1NgX3PM/sdATjjmXv9/vT4YhQAW3PiQiChHa7DdBwf3+PglSwkkT08vJyc3Pz9PT0+PjoOM6bN2/gJzidTpngcIcE2FqvtkDknHP0V8eRich13evbG9/3pZTL5bJIM0AZIvr111+vb6/afuvp6UlVPozT6fQcBMdDAKUseN/VanU8Hnu9nutdPDRM04QtJqYDAo/JZEJEINHzPO922zA4UpW3Ka40ieI3b94opRC4WpYFmQdjGrcbHgJQm+R5LlUBrnG3223WW9dxsE4KUjXGAseMjRCguW6hgPTUP/7jP2IHgikT9OLQXymlkPHAx+EIpJTqd3t5nh8OO6BD/AmvJNezIaBiVQYVYjbE5KvVCssMh/r8+XNdUIh60xoB46EE2LrdbtFDACUQ19fX6DXhOI7nO0CWx+PRNE0g+/V6iXhpPB5ybkDugnrHJEksi2A+ezwegyB4eV5CPdjt9mqzlNPp9O7dOxQo1zgJRqiQ9GAWmCgbBaBSkzHmeR4Mwk3T3u/3SZIJISzL4ZynaZ7GEUyr8BwGmscyQIyHmaq1Q0oSykwHw14URfAmQinq8XiEQ2J92yL5g2d+rfMGe40LXK1WCDmQE8Bqryhk8jyPSEspd7sdNwQ+iyABt3kURcgzJEnCWBScQmTJUGuB9YYYab/fA/MRZ3BSR4CB/BtuBFl5NLXbbcexGNPILSuloFLLssz1bKTvHOEh1YBlg7UE5BTHMcJCwzCglUcCsN1ux3GMonB4E8PfqdvtIuzxfR/ZIdd17+/vsW3hriyyDMVOWutut2sKY7fb4DmGe9AWNmSw8LTQmuG/ylaPQQHXVM7Um/srwMNJ65qhLzGGUlI1RM+6QffW+Lj5z9/rH+ofrMnvkDFjTJXlsKwGoPgV0DYASU3M4y6GMAqhqS5zIFxWRgX1mTSPVreCYhVDz7nBqK5dpHIYass/KlUfvHQHYbX7d0PWARtNxTlXWlbKiOoaX11+VUdQobV6JDWVfiRN3FgPVFOy0pwFKSVjRh2kSFnLZHTVXlZfcKZiRK/sy6kKSJrTpBt5D/aaLG7+gNVtXEX59/qdyIfosgKhppsVlSP5ylVGl57j3zsxVuN8+TF+P3w4UNEoTqXGEmfN7qSNT1Vj+mo06jukPux3f69gMqvTK+q1yL45QFWqoVo6pdKpOYivgsgqQlBFUVZkCyFIMM0ZaU2KKa64UqqQJFUtgSrPqhHqUTV59S6rNQmWKpKcNBekdJ7LVKqcuJ5N547jxEkmpXRcy7G9+fVVr9db75ZxGBuGczqdDMNaL19++tNPURw+Pz/+wz/8Qxid0W6w3fFhI/Bv/+t/vX37Fmry6XSK4FsI4dp2HMfCMHzXxW0Xnk5hGMJNHCwOvBGQjgeMIKKiKCzLmM/ncEgAOwK617YtuDrUzu5v3rxhjJ1OJ+IllRvHKRGBUwTsmE6nUsrn5+cffvjB87yHh4d//dd/hc3LYDBI8mRUdZXv9/t//OMfTdNcr5daM8dxb27uDMMg4vDOK4rCb1uwF1BKffnyBSiBiOr+mthmDofDcDhstVpJliHY8DzPtezj8ZSlaVEUv3365Ni2JQxoxw+n4263i9NkMBi0223f9/r9fl6k6Avrui5jGtp6pdRsNgObOJ/PFUnHcRzL5twIKByNJpxzy7KkzIGi4iSxLMswzdV67TiO4DwMQ6XUzc1NpbfJf/755zTNdrt9GIZheEYqo9PpxnHs+54QRhAEuPzSc52HSH8zxrCx1TpyLky4tXhe2WgGPjznIGy1WkjBG4bR7faB6oB6sQCSJIPjEHAzmCEA5fF4DOvr1eKlRJxS1sIDOHKMx2No95HfF0LASAR/Qr9hGAYK+06nEFkgAGvQtHEcw3r5y5cveZ4bhjEZz5DhgakOZP2wp4CkGKQaEu6dToebBmKPJItRLwHxw36///TpUxrHjASkXBArIwxLkgQZDIRDs9kMBnlZlj0/P6MA8evXr7hrQLUCQqGJPWOs1+uFYfj582etNeQEUKUvl0vG2Gg0UqpYr9fb7RYZjCRJgiCAySbkN7bltFqt6HxerVYtv0RRoPwRTiBOO5wC9CWo0Q/0b7U8AAkKSBTgsuf7PuJeqAiwWhYvizRNhWDD4RC5BRR4rFYrx7VqWQVjrN/vO45tVN03UZ+KiUDuBRi9NvjDmcdxDGchKSWcwqWUcNGxLOvh4QGnMR6PpcrhqAh/Rij+oYhAAsQwLMdxoGzG4B+PAZQqWus4SkejURAE/f7A932lywDp5eXl3//93weDEZAcGgllWQbNCR5reZ7Djx+sB8DoaDRCbQbKMB4fH7XWb9++xb0g8wylRLoUpLlUdTlFhyOlVBiGlm3ArbLfGxqGgUrl2ucU8SfI5roJA6oRINAC5EJggyABI4l0H+A46nlqZVqn0/E8b71ewdO93e3gEY1HH6AwqwhgVKEoLXe73dXVFdCb7/uoMoI6q6yOyAhepdBSJkny5s0bwzCUKvI8dRxPKQUTd7QIbLfbUmoiQk7gdDq5nt1qe7mUeZ66rhPHcRiebNtst9tVO+F4sXjGrCVJlCRut9vOMhvBNqZsPB5DFYY4EE8J+B/gPJFVBpBIksQyDFD76O0AGwAQMUDziFQ552WhKSmtM61L7/PXOEHVZoW68gChC9I0Skv38lMliEeep4mDcb8YlSkTAvgaOPweneP7JPhX0qwBoElwXQFuIQzd/Kl0IJyLuqSyhGpFbeFSGglwblYfuogI8FMpIF7Rr1prpQrOjaZqmrGKM78ANsiqGRGpJvK6tOJRiDgYY/BYZ8woizJf404UqmqtiQmtVW3syBjTnJHinF0yG/WfRN8d5IL3UGolhNC6nIUKyBWAdVrrunAUE6qU4py0ZkKIihrntZKnHrHX+Pb7Ca3MV0pZkb60ebrUfCIXUfZHIlamE8qVUMuNLqGCUrIycfxeO1/jbeO7f1/+DuCLyKCaOUavJPNNoK8aVjWNmf5+fC+vVPYxqMK+/Iq4qrIMTd1YFUBr3rgl/rNZrK9CKaV1mdypnEcZI65Vuby0VFRInRVKiPoSfn+29eRVEarSsrA4J8stuHUOk+h8FoYzm44GwzH2CbQOKWSmtT4cDo+Pj4PuaLvZtzz/7u275+dHKQtNBRHZth0lMSBCv99Hw3NN0jB5eE7ff3jb6bSCIFCahqN+HMYQF4KdRW0ZFm7tiogaIBh4xbEBocvXr1+FEFlW6lNL6e3hAFk8UtjAZx8+fAAFgj27afUF47bRaDSZTAzD+OWXX0zT9H1/uVwmSXJ3d7fb7d68eRPH8Tk5W7bBeeuHH35ApezLy4tSajAYZlnGWHo4HJMkRrvTolCbzYYxBj0olB7gHZ+enlCOg97j0KL4vu/6/vPjI6r0Rv0BlOLX19cFaYPxNEkMxpngQRAYltn3XFD1SRLneb5ar4gIpBrwRBLFm80uDCOYabiub5oiz/M4TtM0XC83eS6Bt7yWDfydJBFiCYDsPC2Koihkhsf3p0+fPM+bzebYSmt5KzROruu6rrPfH0DUoYnsfr/PszwvUs/zUAqJzRs72Xa7hU04EWFCvz09AmRA9SSE+PjxY57L5+dnGAFBp8sYKwqFbRvIEgSYZVmowgSGAHTQWoOhRJQIlfzT0xMKKOFpDZE0pMlo1AplahAEHz9+TJIMEATueCi1NAwjfylM04TSA/jJqXq4wPG6ttfkpsEMAcwxn8+DIHh8fDRN03Rsxtg5Dn3Xg4kqQlPA6yJX0PYgukA54M3NjWkJnMDhcPj5558hdEE8U++X19fXMAR8fHzMsgRKm6Io0Ier0+n89NNP5yCEpQyi1roNzZs3b1B/DHe/drttGMZiscDEoXOQ1ux6fgPiACKcLMsQBwJWrlaryWyO14vKCR6MI54GSI4B/OEBhRnEuAG0QV7sWHae5/v9Fr4lWuvtdns+nwHfGWMYZHjXaK2womzbnk6njDGUaJum2ev1NpvN8/Oz4ziTyURrDbdB2zC11gCRSqnBYIBWPsPhEEbjWLTr9Zrx0r8PnjNIx53PQavVms1mtm3GcQrDe+CzPM8xC0TU7XbTJN9ut51OF/Wa99+++r5vGjZyhoBr2Fk7nQ4sX4gIhShSSsMyDcOABgzAGv+sCwYAB4GwOeeqKCsKICU6nUIgTq0lqo3h70lM+b6P4lFWKlsyAGJw0giWkAtC/ToKThhjmETGGKrAoQDJ8xyzg4gIuBAFqQ8PD5Cubbfb3W6ny75L3LIMIYRhiDA8gSCAHB/EOaIsxL1QmCCoA7uPQTMMw1AS4+C6bs1qcc4NwwA7AxegesEbhpFlERGvEbAQIggC1/ehdQFtgc9qrVE0bNs2WAYQEx8+fLBtG75Vtm3D/BFsURzHaOiGu4CISsKi3Ls5yKb6KxBZIcJPkkhKud3s3n94h1iI8wovEhlkQU/Ly/Yj5YbO+fcb/d/b95VuNJKvYUbzzxLzNKCwqjxJmiDvO1xhmgZ7bWCC6AJ/1gJjzksFDglBVbm8EBcPwVJKo1SJ6ImKoiBSSIHSa2jXQErl+fPKNrD+bRO2aX1JL7C6EBM//NLSqGTl9eXIaNZaoUFGVXsexpuKDM5YKUhq9mfFs4JX41mfQD3mf3cKmkStlKX3vJRSU85IKKWULAOwCjpK3bBRr8MbXD2GtA4AmrD2ux91YeJfVRW/BpNwjRSNKyJdCYMYuwjC66tj1Qh+93W6+jF+f074RT1Y9T/ry/suVqv3v7+L1JuHav4WxQdasaYGBkf97lyrj39/wN8PaPPMGWNSSpAEhmHAP0drXVy0a8Q0kWKqkLqQ+uKoD3T+akDURZmklVKKNCmTcSNL4+M+i0LtOgPP7fneAL5XwjCSPGOMJXGcZUkYRkmSsR57enoaj8f9fv/l5SlNY2EwqGOB6t69ewfnrF9//RUUFGxP8jx/enpCIREYMoCqxWIBOgSa1CAIiAiENMiz0WikdBFFidYaGerj8djptBhjbtXsHYfqdDqcC/gwuK673+9R8TYmjU1LCBMloaDNOOfo9yGEOBwO5/O51+t1WmWVlWVZrW4rz3PGmW3Yv/zyC2MM1Psvf/stCALD5BU4WEM4ZNoWLCAMwxiNRlrr/X6PrvVv377FroasPTbaOI5PYaiKYtgfmKZ5Phwty3p8fDQce9jr27a9XC7nk+l0OiXBiei3v/0Sx/FwOJhOpx8/fiyKYrFYAJ+ZprmPdwBqp9Npv9+3Wq2r2TTPc9O0t+tNmuZpmhpMxGFEXAJaHY97VkllZrPZarFeLpeu5WLNYN86HA6z2WwwGDDG0JcUfLZpmsvlYjQaz2az0+kEL/DBYNDtuOH5FEURuC7YLwBJXF1ft1qth4eHOD4DDzHG3r9/77vebrdrtVqwa4jjFLAM1COkw91uH2pjGBYRkWmaKB4dDAZxmux2O1Ky2+1CtMAYg2cIegJ4nvfjjz/udrunp6e6S+J0Op3P5/BWR51iFEWPj4/9/lBrDTocuRcsGCb4crnMsuz29jZJksXLCkiLiKCK1lqvVqvuoD8ejw3DkFlZLAsgnqZpWuQoayuyi+3jx48fD4cDKcWZsdvtYDPyww8/TCaT3377bb1em5ZArIKa4G63u16v8XU10c45/+tf/wrebjjsYyTtqqWx7/u73Q4fT5IEzXF7vd5yuXx8fPzll7/isQA/1rrqVGvWanXSNE/THNRpFCWr1ca2TeQuELJut1u42RDRDz/8AKcaWO4g1cBKatyB3wvgft0M6/7+HqoGKF4Mw5hNpqWGoSo8BX+/XC7zgtdOear0OlzjGuErxRhDRKSUWq/Xx+MROYrNZlODfpnl8C9HHAuFWFEUSFDUNYt3d3dDrmM5AAEAAElEQVSttgcmFSgZWmTHscbjsap67tTOmNCVMSaQBoTE5Xw+45YUQiDDw1yBEJ1zA7dSnucwyEKz2H6/j7KE3qAPM5aiMnyEch23FYQZlmU9Pz+jcxbY6zr31VDGJ6DkoXIRBiMihNaQomGmsJaGw2GeZ1IWWqs4joLgZNt2t9sxDEMTi6IIG7JhmoZh3L15I4T4/OkTvhQSxxoxoMsEwlqIDxGley0XHfcQqtWN4ZDHmE6nLy8vOPnoHENcjngSzAtyNY7jJFla9/RAHFJUTUwRRQyHQyTTsFQwa4htiAipmzAM/ao6lnM+HA4RKzLG4NuDzlN1aSzSMvj7aDQ6nU5l9jKOp9MpVmwd5qFQHhWuMNwcDAZayiA4Imvdanmn4IRQWVbuMawqtZRSwtcc44PVwhhj/CJBaSKWGsY0UQcR1XIJ/CrLcqoAtK7oPK21kqpE2JWVRfXP2tCwBi3EGNW3YRPlV0WiDZjESo5fVOcmhBAC/yqlOMDoUkrIgFDh/R0W5/zCJb+G5he8xDkXXHDe1HkzTbKEmmV/pFrsUSJdIgIaBnxnuqxurfAoxo40+/7ba/xWXj5xpYr6TBj9HYCu0UKpgvK1BBpDxNH8SanaArKQBWdKcFFNsagPVctg6nksz1WVv1X/STGnfl0yW7+OOLC+RoHRIM6qQk2tCmKMhFGNgK47WP3dwKAZ7zXPECdm1BdQv7s8LlNaaxityLJXFq7wldynSmFwrQv1u9rb5qA30TZjrCi+PxSSF4SeXkhdEaPKQocxAbUQVRGtEEKTZHQJiKuvQ7ZGE+MkNCNBnCtCc1zijJfqIsaIBAnOuC5kqlJmCJhCwBJV41FAxAqw9qJMX5QgnilmFsLMC5n6Xt93bcsydsfNaX8aTsbCMHQmx9NJ/rRYPC/jOP34w4+/fvqNC7q+my9eni3LDA6B43uz2UwI9vT0TES2Y+53xm+fPuV5DkGtLqQu5OfPn3mlRI+i0DB4WSBlWUgv+r4fhqEp2PuPH9fr9Xa99H1f5oJpqQs9GY3Wy6VjWf1ud7PZWIYxHo9tw/z69euw3yei4/HoWrYQQuWFzLLjbnfY7bmgOI6zJPVdLxAnrSmNk1ar9fbt2yRJfvvtN/RZBMJutVq3t7d5nmpZbFbLm5ub7TGCtOPx+RHNFKfzWynltO/c30eMm77b5cqwLW8wGIzHwzRMttvt0+FhNBlzqQ/BCYbK/W4vPAVBEISnAMBCFdIyzG63e9hskYxeLpeFlo7jEGkl5Wa9AgN9/+0hixPO+Xw+//jxh8PhsN/v7+/vpcoZY5ZhurYji+KcBExTfI6Isz/+8Sf45Gz3O6VUHK+FEFc3006nA3k0MISUstvt73aHp6clqiSv5zNsdZvtCqoMz4MspwDydlxXa71YLIajESjh/X6PKAv0dt0akzEmuMlIgF8E6N9vdzIvBr0+EzyOY8tyer3e+XxeL1dFUcxmsyiK0BYUIn5Qy2jdUhTZZrOKogSGd4C8s9lMa40tX+aFUurTpy9KKSQE+v2+1DS7us6yhJTO06zb7qTnKE8zuIgul2vLsoQwh8Oe57UYYx8+/rjdbrf7DRF5XmswGkJ34bdbTHDDsu7evs+yrFDEhMkMEezPjPGO7+OxC9f5x4ev4fH07t07gC3OOZh+YiqO46urKybE6XQCUwvOGyWz8flsmPynP3wMwzDN4lar9fHHDyCMobRG665aZFwLxFEnahgGTuP5eQEsW+m/Pdf1r648UhItxpCR55zDRxVc++l0+vz5Pgyjd+/eeV7r7s6tkCiD4B4KkPnVHLdbofJcZofDiThzPD9NcuQuTNMcjUYAbaZpvry87Dbb0WgkhCDGObEoPOd5Hqkz4JcpjOBY+mG3/VbLbwmTU1bKslFxsVwuHctiQsz7UxSiIL0zmUyKIj8cjvP5FawhQcqiZML3feRnvnz5gm0MG+R0OgW2G07GUspMFv3REBsEOFfUXyKNgwcypFAgj9Hz6+XlJcsiKaUQJkYJT7MkiQ6n03g8TnMZRju/0/barc1mk2VZp9X1fZ8zQymVpqnWTEo5nU5vbm7u7+/DMERtTJZlcRxrrYPjCQash8PhuD94nmcKg2ynyHJSej6doW3wcX/gxIosx8wimMyyDGlMBHhovIW73vN9aDYU6ULl7W7LNPuu6xZSJkmiWWnRiMzS9fU1SmK01sE5LGSx3Z1dx0P5LLx38jwPgkApBftXVfmudjod3OBfvz4ATwPNn8IjHhf1xg0CO03Tbrcbx2fG9PX1NbaGOImUlkkam5aBKYDWSwjR63SzJEVzkn63t1wu8zTzXW/YH+23B9u2+91BFEXxOYrCs2VZpjB81yuy3BQ8OB4Mw3BtKz6HTOv4fDYMw3Oc+Hx2bdv3/SLLzkEwHo/Hw+G28kJRSkVhKG3Tdd00Prd91zaFKrJTeHIsq+VZptBBEKTxudPpFFkm87xIi16/Y1lWy/M4UYoG0m7Lsqw4PoenAM4zk8kI5RaDwcCyTaQHOed5Lk2TK6WEEJwbJS6TVAlgQERe5NSykgcjUY96M9J1UABxOSxczJqrLjnNRrknf+UkIyvUfgF2RMQYR7IL2Rh9EayXD6I60sAxVaPXDzHFSymFrjQ8JdAU1Vnh2c4bjooV7spfk9MKsYHWUGNrRpLxyjlc8yrcUFpLyEKq6wUsLWU2EJELQbhDpSw17pyTUlppxZkBXYqSpVhfEdB+6UCoGdqaln44mlBGXEH/RhhQQco6FmLA2EUhiSTnnLQoCimlZIxz05b4Na9kJ5wprYlDwV+2NxGcMcGJl3bkYBZUVXmstYZzYzn+qjQdYsQkelxpTcS1loJIFrlpG7ksafhK0I0Mj2Zacc4LjdnE5XGGVgyqdJCEkqnsb1S5kWpdyELXS9RQaBBwSfRoHBGPBaVVvUCrOOPveCdpXTR16nXMgClvvrMZQDTx/XcxRxPl/2cvIoxhrxU79dTWNwOr7I00vYo3iEgrgvep1loY+SXGYop0VZGttC6rVBqMu1K2Y0iZoxi0PZvJPF0sng/ByTZsKWUSJcRFkiTtdvv5+fnduw9FUby8vLx7967T7n37+tRqtRzHFcIoiiyOyzK7Xm8MLwvgub/+9a+o7OGapvPSpgMMtBBmq9WC8BTc23A8tixLmKbfbh+DAN1HjkEAHwzM12g0+vbtW5Ik8/k8L1JN8uvXr3BGs8qeF6aUst/vt1rtxXplGvbV1RU4V9t2d7tdTayCMGu1WvA3AJoBCfTt2zfTNNf7AxFB5Jqkkdbtq6urXq/H0mJ/PB32QXA+nc+x5rrT9UH0grlPn8rcbrfbvbq53m22vV4PdUuLxaLX611fX5umCe01gObbt28ZY1mWPT09wQP76uoK9ZpcE9g4KCsAiy1hwOgdzYAs0kzwY3AKw/D//r//1fMcz/Om81m32314eAiCIM/zbrcLi0OwXDDXV4owmCgfxOIZj8dPT0/o5qOU8nwfKhcYgIDNgk/i+Xw+Ho/IyMMYgYiEEP1+P4lT5IKTqos4/BkZY7ksWq0W9LuwUtZan04nPOiFEOCxBoOR1hqRFWOs3W5fXd0Aj+IH3DnyObZto+MVtEP39/cvLy+a0fF4dF1ba71erz3HtW3bNozeoH8+ny3LwQaz3++hFx+MhsDBWmvogIUQKMs7nU6mbXc65SLxPA+WkUEQJuczGDXDMN6+fdtqtY7H45cvXyzLwuL/6aefTNNM0ijLsiAIsqLA9yJbEscx1GVpHA+HQ5D6QRDA+RGaH0BYlDG8efOmfuDAZ+N8PiO/hCpbFK0yxmqfU+B1phX0S8hcwTsSczoYDNCZ4cuXL9vtFhUCOH+tNYCs1vp8Pv/lL39xXXc8Htu2ud/vgc45N1Dq9+uvv6KTMeYUfkSCceQcVqsVNnLQ2HVNCwpaiAhEsu1aKAqEPgF6OVLKb7fBzsJyBKc0nU47nS5jLAzDLEuhUoAIZ71e27YN8yJILzCbODg6Q+F2w13f8VuDwQAeKY7jBEGw228OhwNyQWCmqczjU7fbjSKWJEmr1el2uy8vL1LK8XgchqFmAkokCIURKuChfjgczmEghHj//v3T0wsAFsIwhBnQ1AFn9/t9/BPKpePx2Ol0cNVQdUMyBDoZXl6wIIQ9Lujk/X4vBEPyCtHO84ssiuL9+/dZLr98+YSyByg9kCMF84flsVgscDvneY7F3O12XcdzHAeV967r1tEC1htKC6Ioenl5efv27fPzMwpmML/IUWy32+fnZ3QwAJGEEF0pdTwegQU550jGAjQjfoAYCWbBwIhYIe12GwUqhmFkWY4acdTewKkJDR9Q0Y7UBxEhOYyKDuSBQRMopVAHgtQrKnYg/IM0CBmb2goJOM9xnKIoNpuNlMo0Tc41HJbA/uhKrg0lDzhm9A85n89pmuPj6/V6PBk5jiOlBAKuzBwrXrwSMDTJzt/jCqUU5yWO1xUpiwGUUgkhpCy0Fs0P1qiDveaVfw9+Slb+P9EV1+Cqjs3qj9cIhJhipbeH4twoAaIuXcwBgeqwoomy9GttTBMpGVxwzjm6yl+uRevSDrI+ySZupqpV6uVbcM41J60vvoK6KaYAeKtQVX2B9N05N9//+oXf4/gS5YNWBRevNWVZUSNbXXoycl6R0YyX6Q7MtVH1fZeVJWv91UoXdWKkXCRafteHiDfkQOK1QU39KcYVERfEZHWVWkvoPDRTqBYQrOwlqpRi+jIyxCSgKWPsYgd5+fqqDkBKqQkWmK/UWkSEggHd+Kn/+d1E1suFvlup5YxdTh+eq82v+27yGt9e3nXoAIApaaD2MlJhjGvkL9BMgZgmXYmvyhnUWjMJBxqpNAp9iBOrcwdKKVYdk6qnjFIKXqFIhymlsWsOBgPP9n799KVQkgkjl2o8ms7nc9/3P3++77R7k/EM2t/hcDSZTL49P61XW9MSSimpcmyoo9HoFBzv7+8ZY77vK1V0Op1eu/PLp986nQ6A+NevX0F4E9GHDx+ICI8zoDHEi2gMhLJOiC6QSwWwg02KYXLGGEpIsafysjeNrznrtFNwit1ud7c74CBSK2gQgWDA8hqGsdvtOKe6wGt2dY3cNKQv3W43z7LtZnM+nJ6fn32v43peEASFKna7XavlYWPTjEzTZIawmOE4ThiEENggwe04zt3dnWVZ//qv/6qUmk6nVPmBQO+rlPrxxx+xPXPOsY1Np1N4g4CahWR/u1ufDsflctnt96Ioup5fTafTPM93m+3z87MpDGTM0b7eNi0cCt5/6FLEOe/3h5DWQMeJgkXAwfqVrApsLMtaLpfYsOM4FpxPJhNYbQDWoLE81M+mJbQi9HxhjB2PxzAMt9utUsqwTFSbabS8FgLBgFF5CJ7PZ/CaaFEECAiMCyUJdBFa67pEEjP19u1bLKEPHz7sdrvH5yfDMIRlToaj3WbLGLu7uzMMI8uyKIkPhx1IylbL22yklMVms4JKR0o5Hk9HoxFw2/PzMxBn7XoJWGbbttbEtUbWCDd4HY4Cmud5/vPPP/u+H8VhGIa2bVNFdQM9bzabX3755cuXL6YQkOTC0wOYxvM8rTU8AYFHn56eEPa8e/fu4eHh4eEBNQYI4RDSIBCqBb6QE8Tn8Pb2NgzD+/t7SIBQ8w1+t91u/5f/8l+SJIEpeFEUb9++BUsKwhguH/v93jRtxrRhiP6gd3N7DQ3Dbrs/n1OwAJPJBMvAMAwigk2hZVmAzthalsvl8XhEqYnWGqgI6ZSvjw+CcVjWoJzU8zzbNLlhPL88Hg4HwFmULjiO7fstRLOMEWx24A3ved5isVitVvP5HDAdPDSEy1rrb9++AUpCbrvb7a6vr1ECsd/vDcO4vb2F1zhjrC5ThhVjr9dTip6fF51OdH19fXd3h/J3KBufn58dx8Pdip8kSTzPn8/n3759S5McWhHEb3hgQnMPk3uYfgohMCyof91sNp8+fer1ejDG1VrDCQpPdVT6QtRRbz0gp0+nA6pgsd4Kma1Wq7/97W+m5UDLBKk6APTxeJyOJ1hytQEA4udaeo5VDUhtmqZlmliZ2L8GgwH6OtXVLESEdQ4Iblhl+2pkRTC2RVFggizLqr1ZzucztFvoRAbp13q9Rn4Jz3DsX3i49Xo9IQRjBVZ+mZE3DN/3UcFCRBC61JmrNE3z0gaRTFMYBs8ylaax5zmW1QuCAEMNFZDW+ng85nnZwAjiQHj44GFr27YQZp4ny+WSiONRj8AAwRhW9Wa1xsNhs9kgXRmG4U8//YQSdGzKYA2AfRkTVHkRItgrHcdLEPBKS83Ya4+KEq6oGik2QJiC/haMfhMgvQLrFYLFL6v/WKWf+TtQp0b/1GihKoSoQS7TUvPyxKqvNYClADtrOIvRYA0JePMrauEcq/nd8qvrrp9Gjavpe/RcaWlKdFS+okgxXoEx9Qqw1UfASCoqYWEZyWhU3wrGvuN/qflZolqz/PehJq4abYUYg4Fg/Z4aczK0q8IZ1p+SUhKVXLv+e1WUl/ll9UnUWYmGg5AmwbjSSr1aMFVXUKaINFesNn5UquAoN2WKkWCM1W2bmt2syunhxAUZpQFQY0Y5468HWmn1aoU1l2g9oIwEOvpSBZQrk8niu+t//YPI8+8Y8jd/GGPUUCPVSrLLiDBdttu9ZIXK6yyVN7qyxyGJamfI7EkxIsXL3k8KA8c516VghlhV8owbQEqpCklMEZnIHBmGEZ+OeZ53Oj3H97arrWVZbdddrFZpXuB59P/8P/8jSYp2p6s1JUmqNUGo+vT0FEUR8NBms355ee52u2F0DsNQS+23WqjYU6qIolAQs4SBIqSiKMLwRMTevXsnhHh5ebFca3/YwiXGtERepPOraa/f0VofDgc0NQT0wZMaN+379+8Xi8XTr0/Qr2utu90ueAXG2Gq1SpIEYlxZ9XRo+a3JZLLZbFAxCeIKmPX+/jNjDFbxwTkCCNsddwCOx+NRay2TrNPrtlvd0ylwXOvu3Y9KSdu2Hx8e292OaVu2bQPqTSYTFPxprdFYdLfbrddr4NEsy3AVIIo6nU4QBGVdb6WxhoCy3jshyofnmpI0mUzyPOeWfTiF918fPn74ASYqgli/0xe2oaUaD0eO48Rpstls4HIAyA4gLqWGHYdhGL1Bfzge7ff70+lkMzvLz8Ph8Ob2FjXB4ERBju73+3fv3ikpUbUGFa/neQAB+/0etipJkrRb3bzqXlkHA1IrbIFwYWu1WhheMHA4mcFgoBTV0IQxBq8hFPhKKZHcwH2ErfHx8RG5F5C1SZLMZrPxeCwsIaVsdztJFG82m7u7O8dzibPDbg8lzGAwAIEXRmf4ogRB8PDw7e7u7ubmpimfw7g5jnM6nX7++efj8aiUtsqG9gRfS/B2UNPClB34RhgMaYc8z58fH4loNptxokGvh5JlGHJ//PgRth7wYcTqvb29PZ1OCLoAWLEqhsNhv9//8uXL58+f0SMTnn2gz8H4SikhyBkPB0Q0mUxABBIR6qfX6zUgHRIj6HsQRRHKrKfTqeu6KBeRpa0+Mwze6bTanZYQLAiOYRj++uunMEjb7XZdn0e16tTmYDHB3YIinU6ncDfH7YYbrVSwDIdZktZcKVV7f5qmCE2JCLmg0+kkZYFFFUWRUjKv/MWBC+GKwzmHA6ZhGEEQgHM1TfP29hZBGsxMk3PZxVNKifPJixQCM1h9Q9YPIL5cLrfbNSKTh4cHy7Jc14dZkOv7SZIkSRbHMXQv0H2dz1Gv15tMJsdDgIZNV1c3RHQ8Hvv9flEU5/MZ1Qsgzp+enurNGMOCLlGPj4/1GXLO379/j66xjDGY0KOhFRA/OJqXlxff96vq9kShwZnloFcUWjL7vs85J6b3+z3iajDKiFSJaDge4RnIqqa/EJ0TkWVZCODhjYi6JiLCXNdSOnywUDmSObB3RNKGMYbCDKSboijB3EG/Dvqw1WpjMeCJgZpjxLTQklWEnYJSwLKMMEykpMGgdzodUKWdVQ2YEIhiLdUCPARsQORCmGmaok4Ai6eqpyqvGoksDI5t27/88svd3Vv0uHh+flaKEMygYgTPh81mI4Qoslwp5bq+UgWe8EiGDIdDIi64oaSue/lURDuTsqhbxytV490LnKgxTfWRsuRRVZok/MpiDOtWa23AYEMzQYx4SXLXiAUf+j1cxiuCEedMa+KvnBI1azDiSjEpL2AXiJ8TMS6qozUK9sqv0FoLrUvPdwIRCbiHMSFdC3dg11KfrdJQyQtGjOq2U9QAZlS6hhBRpRe/uMtULZOIavMZrgnItjpCHfwopfANdWEA3lZ3lWqiwdc4/lUqgzFWm3USVV19dGlEwzknfYm4muXIKFYB8K5HGMBdNuz56295rYsqh5+I+MV3qBRr1Bz5dz/N1cUY00wxrekC3yW+hQj10FW0pnR1epJpJRgkRAjUWP3dr1I2vDZRIcnKWebNt7FGVkiTJKbrUJM1+O/LVdXLs6GVJ4I9/qtcye+XO2e89sZhjcxUPUaM61rf0hx0o8TuxBgxEuXZKKZR2Hv5lGaatFZclG6ppGU9qZdT0lKT5IwrSbxsn1Z6prqum6Rpnue+3zoGJ9f1/bY4HA5oKjToT/vDAXCA6zqDQf98DpMkfv/+3WAw+Otf/+o4zvX1tdb68flJCNHrdaMoEpwlCYdSk3M6n4Ner/ft2zciQn5/MBhBTaGr8lMkFmsDgSIrQEfBaRHiAahxQLqjuBBkLeccqpWHhwdJGn7GNzc3vu8rRcie+77veR72MBiEu66LKijA06urq+12a7ueaYrDYZcnqeM48/kcj9eO3+r3h09PT+cw9jwvTUtu7ObmRmt9TmLOeZKXFCPSrN++fXNddz6fF0WBvQFvhuE63ga8BefKNE2BaYbD4aDbQwbWNC3fb0kpF4sFUq5ZWpzPUZhupZSz8cSwzK7ZbXn+zz//vNlsnLYbBAFjLE3TrMhBEXHOr2bXj4+PMHQ7nwPQk6vVQkr5/v372Ww2Go1QMgggdX19vdvt4C0DRhMWiqZhoME4mmuijwzMMYCcTNMcjcpGKgBzSKQYlikqX2rQmUQEwhhW95PJxDTNPJeIWIAVELDZto1gDLJspdTNzc1gMFitVvg4HEjm83m327VdRyklMwmIYJvWer3e7/eaUVEUmGUom0G09wZ9Isqy7OHhYb8//u///b//8pe/3N3d9Xo9pLx3uwNjDELkKIp838/zQuW5EOL5+fn6+vrt27fQinz69AkB4Wazubq6Op1OnW4HAL3b7RLR8/MzOnChPJFz7vv+bDaDawcRrddr+CF6jtttd3qdbq0Ravutw+FwOB0B4IgIhd3AiMBMUGStVivA/SRJIJefTqe4ST9//rxer/HObrdr2zasx2GgBNwGSRUWJFWZzCzL07Q4HHbD0aDbbWMM8YQRQqAWUKnSFCJJEtu0ut2u1vp0OkGTQERBEIAZ8jxvMOhxzvf7bRia0+m00+mc1BFvQ0S02+2C45E4H0+GKHBHnTc0OZxzqIPO5xA7Fs7WMIz5fI7Y2DTN5+dn5PRubm6Qt4GK+nA4gKAFAwoPRAzIKSiNXH3ff/PmDQBinuf9ft+yrHbbR1Wr67paMxTTZ1mWFUW73Y7jFBXzCJXB7/7666+e583ncyEErHim0ylyfb1eD10C4jj+t3/7t1arNZ/POedfv349n8+TyQRdUWEpg5rXIAhqU6PNZiOlnM/niPxRHIxajk6nM51OF4sFWjhneQJAqZQKw1Mt/8AiNC1DcBKCtVpdkLtpmiplIhKwbXu32wFnm6aZpXmn05FFgTApz/PRaIS2rKjOByWhtUZ5APbT8BTUwAKR+WQyQfE2fMyyLJtMZkD8kBTCtEe5CgQBrgv8PaTnnHM0pkWUgvIJmPnA8QZhHopQ8ZjF2iMix3Hw5K+dQxEFpWmc52mep0kS5bnodrtEKs9TkOIogYD4BFkCGOOCm+ecK1UURem8hHsTYWeWZXmardfr8XjcanXglJWmKdqTYZRgpMMYQ4yBuCXP09KKg2pCWtZwowY29V5fiSW4rtQ2jCnOiTFuGEAFAvkExRQXIHF5E5l8h2G+g3Gi4WLHGsKVuqoVr9flqkppxipukunqPZoqJhZQilVWhqQVpkmT0kSatCalGi4x1NBWsFc+4koIwcqYRAHHVYR6/R99B01h71ir3vFZnJomRZoTUzWGxpURA/qvaOwyHriMWI3aX+HM78VF/EJ8Q9KiGRHjDAER1ySIJNXuNRcMSULUno+w1dd1G1Dd0BTVp/d7UFr/VWvJ9eW3WusqyYOxqgNFYujlW7mLElOiFN5QmeLQmkgScWKMSHPBlNJKKajqq7lQRj1zzdNCrMZx/ZwhF8DLgOBVJogTw0xWEdTl3PEfr5ZVk9enBpBnrDK2bJYY/07yxRpZrQZqf+1Iw5o2TIhQBb3C7ppDt8W0VkxBd8U0kjaapJZKc82YZnUqpBlOkFKVnapSyjRFVllWwTgiLXLBDcZICKFIe57HmbHf713XHQz75+h8Oh3b7fZ4/CYv0r/97W+OY81mk81mczjs/vznP1uWEQTnH3/80XXd9XKltbYs63Q6Sq182QJJjx0Cosb9fr/bbcbjaVEUucpRdQTaFY/dw+HgWnZRZK2W5zhWnqdEJmM6CI5RFIHWhULg8fHx7du3SDtCjv/2w/ub6ztgCEBYwOjavw8k33g8hro0jmMhGGwiOee2WxoVp2n609uf5vP5er08nwO/097sdtww5jfzKIpaLW88HC5eVtvDnjEGA+O6LejXr1+xtcNiAh6CUHzCxwC2G6fTCW4zSOMCxUK0qvJCSpllWZaVMqH9fn9zczOZTMJT4LruzDL3+30URYsXORz0sLMSke96hZLIPgvTgANDbziAlAhJXqAr7FhPTy9//etf37x5g9DofD4/PHwbDodFkcFsGx4R2NWqZyJprbIsrQIzPp/PwvCMKkwigg2ikgTyD8GA47mccxRlCiFOp0On04FtAhrIHw6H5+dnKXWttIbt4+lUghX8jEYjVL+Zpnl9fQ1z6KIo0IinKApTqSzL2r22bZiL5xfYg6ABUBidDS6glICul4iub2/m83me55PJ5O3b91AKobDSMAwWRY7DoTVH/r3b7QphdHw/SZL7+3uoyd++fQt7EMbYy8sLYMT5fA7CI7z8kiRBnAlXuNFoxDlH99avX78CmkAphKzLer2GKYdt22/evAH/NxqN2t3OcrkUQvz4449U8RQglfM8h00q4CmsEh+/PkRR9Pz8HIYhCgkAPoQQaCGMBwXyFXAaYYyhNwLmpVJ36CgKf/vtl+VyeT6fXdft97uWGXqugjjEsiz4ThJRnud5mkGti5Uzm82o6jcE6xUQnwAoh8PhFAZFlk8mE845wrAkSbSU3DBeXl6IyDCMq6srrCh8BA5IeIgBKLTbbURxuMG11qhJJSJME0ImFNQSkeM4s/EEuQUgddTswqIeqYzlconBVGWfOFNrbRgGY4JzhnhMCIHUltYMqQDGGL631fJx7ZDRgzZGXDGZTHa7HRHBpJ8xtlgsXl6Wt7e3b968S5LkdDqFYdTvD+M4Ph73nPP1eg35NTpS4RkORxQiGgwGQKVaa1ju3N3dwZ/Hso2npychhGHaeV7CZRScbLfbQuYtz4XaCpgbbHGe51LmShng5su8hymUlqcgyLIszTIiMkxTE1m2naSpkhL6FjSNBieyXC6zomze5zgOliIU87AqkpWPOFW9w/A4hfRfa40NAo8LFMWiEgP2SrvdDj1D6qCuTh2E4Wkw6BEpz3OiyD6fg3bbt+2yeSewO/h1fAVuAYwnnqLIOAkhcFYg6fM8x3fZdtkQutfrQYiPLQY3AurRqbLrxs2FT0kpXZdDN4+hhnYLLiUlLiOqsTjjpd9iBUlfAe4KVpZGJYwpIQSvbEaoArvVe5guIfSFt25i9xq6NXF7/VvM6QW8QGteUcVNqKO1VlSrbkogxBgT/PLmC2CWikhTdZ448wagKiGZLrFZeUAhTFWaiBd1FabW+nKK4JdJw7ZEv3Ii4ZcKQM4q6TsxptGHtYRR7GLWTpXzTA1+q+re/zele4UVL99bHbwOrgQRevCICnVS5SiIEmOcFbRDAOvIqUiIn3+P2mvgTpW4g9F3YZ4mSL+BKKtZbl5F82iA9Zy00mWKROtK0CMLXZL7mhFppVglYdJaM16NmWbGd7EmVWiVlTbrFxES9CkYhfrMNFOlAwy7tCKrl2gNteuP/H4yGvPBMH/Nk6k/LoRANkE3OorVs1i/jQuqUzNULR1cd6NlgGKMM0FM8dI0n2mttZR5ITNe5aGao48QBY3T6ru9KFIplWEYhudpadUsV1rITru33m3zPO/3Ov/0T/+U57lleUEYWrYxv5oWRbFerYPgaLtOXqQvi6fBsAeRZRiefrz542azWS5ffL+NjnSH01GImAsWhmFwOrV813X8+ByR0rZtF1m6WS3JFL1eTyn1+PgI9WEp8+3bpPTN1TX8H0+nk+e4pjCSLB8MBrvdDk+xRCWu68KXEE2OJpPJy/MyjmNkRaWUSK0iOww4eHNzA7oUDAe6oBdF0ev1CiWRhwVOypMY4oTTMRQG6/WHvu/nWZcx9vT0dDwEvUF/tVrBnhmPaQCp6+vr7Xb78PCAcBMbSdVENr+6unp5eQGSjuMY6o7j8fjTTz9prReLBUnV7XZN0+z3S+Xr7e2daRqr1So+R8PhUJGGlDnLMmJiOB5NZlPDMOLgvFgsDqfT7e3t/PoqSZIky6SU++PB9b3xeJxlmW2b6/V6tV4rpRDMMMbyPL+7u1ssFlEU3dzcRFG42+3A88EDpyzqzdI6R4EkBnhox7Ft2/r27dt0OgURJYQwrbJir9VqRUkMwxPgQoiSAeURTnz9+jXLsuF4gow2Lu2X3349HgPf91uebxgGvPbRzR6FdHgbYwxuGy8vL7ksHMcZj4eg9gXj5yDcrjejydgyTGzMkF1h+8TUmKZ5PB6FMK+urobDIUogdrudME3PKzm5Wtu6Wq1vr65++umnf/zHfzyfz9++fQPjGMfxYDBotVpwuLcsK02T2l9Saw0sAmYXIhCEjpBUoUT15eXFcZzZZAr5wW6322w28/kcEgI8r7HgnapJEAIbpKoWiwWSA1A03d3dQYmLwhI0GdBaI1AE+hFCAIWYptnudnqDfq3uc123UHKz2z59e8RNjftRFmq/OyVJ1uv1DocD+iWhKAL1KpwYgBFCNcgtbNu27fJ7IeSAokxVFTiQpaFvpe/74+GwNxh8/XaPeIOIUGDa63W1Js45zNRxSofDAQ0lsHgOhwN6WoGnx91dt67M81xK2el0OOOr1QroH1aSoOphFlQW2XMeBAGQ6GazUko5jielBPMthIBUBtFaLd7TWkdR9PDwoJQaDkdBEHBmQEnlOBbnBqIFZDyGwyFjrN/vK0UQyUB2j5sriqLpdAqYDvR/Op263S6EdshhAm6ietVxHNe161SM53nwcliv173+EMItyK4goWFENeTFTrHf71HUwRjbbtd1P3lM03q9LnKJ9rSWZYFyxkqmKquOyHAwGEDqI0yO8QTHUYeFrKpatiwLyF4p9fXrV4yGYRgPx69lQuZ0qp188Kler4fwpnbdxXMMK7mWV9U11ihCxdkmUew5Lgh7rfX+HBVZvttsTbvs24XYA4vT8zzHsrVUSRQ7Pds2LatrnoOQE8OF88qvHblH5NNc163TVrhtQZMREW5G0xRYeHEct1qlF74QgrOLu6JRWUbWYKsJy3SlhGlwgiWHqDUqcUqre8PgtW6iegOAhqIKPmrSpHWFsfC/C4arTDL+jiSYiAEPN2XAJbBrktOlZoZV0vlS8EJ0sW9Ulb4X2R7GmCg9ai6Assm4V9W6spJC1GKVCoZV9im6LsG8AK2axuaaKSLGha7E5aqS1uBLlSolt02GujwBhB2sMnKpAVjzbXUKQutXr2tFjEGtzXlpucjrsSphn1Jal5w65lBUDqE1qlRKcs5FJbuohuoi6X/NPyMwY1xfzqRCmN9DdvyT1+pwxrSWVJvqUMG0YIxxUpqJ6sgcSQDOy2VGFUo2hAAULu176pWB1f/3hq/MgFADu+uqCINRM3J9JWVphqGvr7yOUy9X3vyzMSLl6dXoWTdWYSPE+X5kWRkMlOKqejoZ55oR7CN15QEkuKTKKr8+eSxcXemN8LzLkogTMcaSNFVFrjWscC1maOyyru8JLkBwJkmmSfb7w8FgsF4v8zxVSt3eXmPfGg6Hh+Ou1x0Q0el0gGlAu+1D/cIYy2UBscR+u/d9/4cPZU87NPk7Ho+d8QCPilwW0/ns8fExy7Iff/zRFGa73W61WrvdDprIfr/f6/XW2w24ecdxRqMRwMR4MgxOZ8aY67qr1Qqq7tVq5TiObbvYjOEt0+/3hRAQZaJXC2MMDgytVuvbt2+GZQ4GA8gcoyj88uXL7PrKtm3HUa22B3uTl8UTI/HD+/fTyXx92MVpguKnOI7/+Z//GUTdy8sLZI7I8IJKhwgbPV/yPIcBuWEYq9Xq+fkZYvF2ux1FUXA4IgDAycP7ZTweua6bpxlEAlqq3XZr2/aCLfqDbtkRdr93XbfT66IvI8SdoupHC1B4c3OFzEYYhv/8z/+MVPKnT78qpSaTSRzHf/vb37rd9mazAbIHjimV7mkCMYCoWvEJIbB17XY7bJ+IXkpdqWHDIuYcR9hNoe8EkhuNRnDfRz3oP/3TP3HDhAYdvFpduoraRCklVs5yuYTABpkcKGegWpZxFIZhmsZtvwWt/3Q8XqxWSRTDbRAJB9u2f/zxx263WyiJdqGO44DnxvXmee77fpJleAVNBnjVGfd//a//BSCOfqVAHrh80MzYtxC3SCm/fPmSZRk44/V6DQRDRJzzyWQCEIMLgcGL1jqOY1htQj8A+AhlIecc7bQ2m83pdILNCHzTl8tlrVw/HA6L6ExE3W4X3hpgFrXW19fX0E8jbwNlwmQysRwbTD/41xp8tP3WZDKREpXoLuc8CM5X8w7aFQEyooXQcDh0HCdPM9QnYBn4vg8rpyA46sqiB5jvdDoxxobjkWAcbZ7AIvf7/elkEkbR3d0d+joxxizL6vV6j4/f6s1AygLCAzy7UGtBRP1+HxWT6/Uaheaz2Qy9Y6kyMOGc77Y7gEjk2ZIk2WxX0DlAX8c5f3h4wGg4jmMYqLB0r66utNZZliGsPYVhq9UyjAtB2+l07u7usiyDXN7zvHMUtFvdSgUhIQofj8dQE0E7cTwGm80GYR6wKeoHjsd9FEWICh4eHlD7DroasiUsD2jxQUtjCwBbkeVJFEWe543H4zg+Q6gNNZppmoXM64oLPHbyPIf8yfFcPGOfnxe8rOpuEZGSGkp0mFeORiNsUozofD7PZjPOy/0Rz0DDEtAWwoIG5Aia92Gn4Jwj1QaFHu53tDKAfAupKs/zECAhDYLIE49QTDqrimVR5cyrUgetNTJXoCqGwzEO6/s+7gs8nRBKFUXR7XYRgtbqQdytGF6Mc6/XC6PYtm2caq/XQyyKkce4sUaTR9u2ETbjmQBJFbrAIsCoi1OBvZRSQsBrXLEGM8gbnd0bQPyVtbnWupDls6Im11FDWWOMspnjd5WI9Ar/fIdqdOOV737bPA6rpS8NCMg5CcYZY1zUmE1r2KVXcFwVklf9mOpqCiIiUr/najnnulC8AtlUFSsSkaKCVXKH+ghEmmoLD91kWnX1JwdRejHqq3Fa6SnJdfl2VV8VHvU4H1l1kH2N5YB38bZXELFQVOFs9AgT1XXU84u54xqGMCWnbmgtNcnKT1OpRqnxq6/mUPmz5k/TS7RxkpqIcVGdJ7s07sRpl/HERTNCWiqplRDa4BYrcS2iFJ4kF19HrXVdomqAXqpDnPoHA9foeXsJm4DyOeeMwTtTc/6qRIBI1SmYpsa9WmF4ZxVTKmQMmBDEGGcMcQ9xzg3TVFpXdTNak0Kv4TLY1IoRa0pryj85hF9G4zaQRISkjy67fCnSpJgkzRkR50xpRarIk9gQlmka2NcVadLS4IbUSmmSirTWQjCtMkUSp0NE3OCM6yRP0jQlQZawzuezbZimsAzTLIriefHCGFOq6Pe7Wks4qR2Cg+M4eZ5bloGGF6v1Ii+K3W5jGDS7un18fAzDcDyecs5ZQb7rE1F8jj3PWyyf16stoHxwDm3X6Xd7ru38+uk3iAi7vZ7v+57vL56eDcazLMuS5FS5s+V5PuyPOOdQcYCv/dtff3UchzFeFDKKIhVHKD6DcsCykuvr669fv15dXbXb7Sgpe3OAV0NfD9S2H07HJEvfXV8REUjKT5++SJlvV+s8z7lpWDZvtVow0u71WoopxYvDbmubxt3d3cvLy2w2y/P806dPKCAbDAZwqrm9vcVT2HGcjx8/gvX88ccfUfwHcEZESCI/PT2hhEsx6na7SZIahpEr6Xnew+NjEAQfPnyI8uwchr7vT6fTUxjEcXz/5St2nf50miRJp9NK0/Qcx3CDAdwcjsen04mIpNSoAQiC4HAKFpv14bizhOG3fEUaLWBs2769vSUilPPOphMiWiwW4Iz3+z3kJbirwTsWVQfcLMvABDPGUHZ2jjJNJCWdz4FhGI5jZVnZwCgIAvQ3GQ6HQRA8Py8wFACjw/6o3+9Dpo9xg84BMTBM/YQQ9/f3b9++ReqfiJRSX758SpIkjM6uVpvtZnfYPz5/gy0MHhqO41iWgSP3Ot0kjxiqCwaDY7hfLhemaVqWezqdsR5Op5MuSuE+urJ/+/YNSfm6SrXuSYQGk1dXV9jpTdNMk+h0OpnCkFIKxluefzWbo+B1uVyWBY62I/PCtR3w5TXOqN3Zu90u5xSfQyl4eDoedlvXdWEeb9vu+XxOorjf7bXb7SAI0jgZ9PpXs7nWer/fp2leFMr320Q0Ho8Ho6FUChZSitjtm7eA0ZvNBhmAXqd7PB5J6bbfsgxTmIbjuXkqPn/+jA7Bo9HoeDzuNnuU1TLGYJoMKRc8f8o2zEWx3a5Ho1GSxEh/1c6VWmtozUlLbvBev9PttZGj2G63p+BgmiagLXyHlFJJknQ6XaCrisV0iSjPCyImpep0ure3t4CellVA4xGG4fkccS76/cHxeGCMIdHn+J4wjPVuW20cdHP3drPZ+L4LTd3T0xMABAy42u2243i9Xg/vz/P8+WlhWZZhG6hXSdOcMVYDX87M66s7AFZGEGMoWDei36pS6nw+S6lbrQ7nwd3dTRRFWPOn0+l8DlotLwxPiA/hrCWlLIosTeNWy1su11h+4ONnsxmkPsjvaa1zWbi+9/z8rInfvXmT53K73TMmhChBhmVZ4+64kDkTBmPMctzVahUlse06hmliwPf7Y1EU4/EYhvo1T2E7lmEY/X4fO28cx2mWcM5t1wYn0ul1R5NxkiSkWRAEp1PYarXCMPJ9PwyjVquD0A5GN0oVh0O4WDyj1A8+WlprZJCg0Zckw+hsmubMNKSU1QMBxjIMGBrMOox0QYWs12vOOaIjXDKROp+DbrdjWYaUFkI1IUSn1T4djmmc5I7bbXcMLrQwZF40jYBQP40cXS4L2PtixhFgo1g8DEPkmpIoNrgwKhPJOI49z9Fa7vdby5qiQuB0OvzpH/5oOxbnHPSqUoUwGCMuKkRGFxDMDeNVXVxDowKoo7TWFifJeQ2TLhgUhn3AD0pWVDqvPfeIlBAXuE8NQP8K7TU0AkVFOTPGgDLLG0orUkyTLt0WTcE5q3r4NB1XdK3q0ZVgHaEs5Em6IEUK1m2sYjm1ZsBIVMbwSkrJGSvLeRlBJM2IOCNNnBjVX6GZqiQrxDnnEhCTCi2JuGBck1ZKMW5IKZUkIUzGmNIEyTsTJuh9oRnnuihyoGROl3BFQ3dNxBjJomwoQURKkVIK9ufC5FJK0pzrS3Uvq8pRSxiI3kScCeKaysCGmCJiirhSUqnS/L6e3zpgU0oRY6IM7UoALIQgqZkua1Q5Ca1lmROQUGUTZ9zgAsNYFIXimkQZBWE9al1wTloyLZWiXAjBGAnigjRT0mKCEVOyNOlHtQKHCWgz7qyDnr8b63z3IlVq78YL6rs61Crnwn/3ShlcNb+CCBieGQbjvGwOVV4eSdKvVnx9Lq9Qe32e+vtLePXDFGnONSkGu6iy+kOXGRNZ1lU09DUYmTr0yfJMMGaYZpqQYRiCO+fzWWuJvoOe8p+ensws1cSzLIOdBQ7+8PDwl7/8JUmSP/7xj57n/fzzz2mafvx4W0pBskwphf7zIBLAYYDZgiJ5uVwWRaEVGw6HqO8hIsuyDocD04SUruM4xFitC0SZKVppGpY1nU7zXG6321an/dtvv6ED4n6/7/V6eV4QUbvdVow8t9Vut9EqaDabo5DINM0gCM5xNJlMiAi2EkSECCRJEmEaQIfT6RS1uWkag2F6eXnJzsXd3R0RjcdjKHE3m83xeJSFRtPW6XQKyQS0xRClwDwBJArc6wzDgIR3MBg4jjObzbCdIAlgWdb19TXk16hFmwzHdeDLu6TyYvn8IojZlnV1dVUo2R8O9vv9brf79u2bbduO1wqCwDQFBgfTAcsUELdZlqVx3O128zz993//9zSXtm1f38zxFeCutNaubeEB8eHDB8aYIbiUMkkS5OWh7ORV82owzaZpFkVxOByxbJBiRoVxv9/nQiBQ0VqDL8Q/Pc/D2kNPR5yG53mz2SyO4/V6DfoNwlD8gOEDg4suqnmeo5cndqnD4QAJDOxZpJTtdrvV8pRSMEwENbLdbqMogSQgl0WnPbi+mrRbvfF4PJ1c73YH07R8L8zzfLVaFWkG1I5iOIDOx8dHIrq+vkbfUIxwv9//85//jF2HleWAISMlpfz69StKbxlj+/0eoiCIeoELwRHC1AWuJhAU4blsGEYQHB3HwXChAhX8ohAmOHUUEwMOojIPp40wEtGdlPLnn3+GrwXsNfCibdukJMaz1Wp9+PCh2+3CqvIUBi8vLy3P73a79/f3v/32G8w64nMC0VqtA0QOBNwn6gSiKEQkBk1Obe0CaAtl9v3DZ8i+sZCICBUjVBm9s6pNOjQenU4Hwonlcrnf7/GNuIR2u/3lyxfojBljkBIRUZZlm81mvV51u91+v49CZ8/zRqNR3UQzSRLI8CA+VkrN53N0iXZdt75GiFhqBx4Q2IZhEHEE7ajn3m63SZx3u92bmxvkeaIosiwH6kSUS+Z53m6381w+PT2Zptnp9AaD0W632+8P6MUbhtF2u3VdG+OAaFBrnecpHGzu7u7w4Kq1IkhIHg4nz3Msx87z/Pr6moh2uwOo4na7bZpCKYU6kziOKdPAlEmSDAaDXq9HVIKnMAy1TvBBCF2w6uoKS+Rb5vN5q9VKt+mH9z/sd/s8KzqdTp4VUso4KtNQGG1gXwC7JIn2+z2G+vPnz9jWW61Wt9uH+NCqmhDDIlZzfXmKBiFu8PpBBB9PRJKgdeAHhfa6iBLRowr1PFVCTKOYtZ7iugYJUw9tFeh/lMi/f/8e6R2EE4g9sH8hnYgoC9KRLMuQDfv69SvUXHUxOuiq0Wj0/Pz48vIymUwsyxKCVchVyEIzVumqX0GFvw9vmq/oShwLTFZjgO+4eVVZmH8HRerDNuH1K3DSoK6bkLF2yOOcq0LWbDTnEFzUSv3KMbA20yFgGEi3FZHinJRSeZ4ajBMxpQqmoAXC6b0CgSWi1TU/W55DQz+j6z9BD9fXS+X1ApsyxogU45yXqYCKtheMl8QwDCuhEtfofiq1hsciU0qVqorKqLA6H1RQSq1Jk8K0ilIDzsu3EoTnmogqYU4lx2DEmMFKypxpjeacxBgzqkirXgboaUW8iWDLQVBKGQAVDe+dimhnjVPV6lWZASPSjC5ceT1y1UcuNQbo+soZKaVBSYPFN+qpqiF7+YGGzOi7020uvpqZq8p1a94dJ1p/VlW//S70VERUi/3rWwJJLpgSgoRXZdypK/l/vfRZ04OydkqlV8PUEL3wSsxDkjEmSCiYoaJ3lS5UkUkhiBmMVf5HrFxhVK5pLaXM0sIgLQQ3bFtzi5SSquCckLx7fH5KkuT67jbL4QGnZV5MRmMAd5B/t1fXeZIul0sUdEKLZlnWYb+fzed1+c7hcICmgjGOv6BN9/t3P8DJgWshpYyiCL3BR4MBWvxAbt5td5Jz5DhORqS1BmVl2/bPP/9PxhgyMuihMxwOp9NpHCdJkgC4ExEY99ou+u3bt9vtdrfb5bIIguD9+/fH4xEPa9/3Pc85nU6tThtqk91ul+c5VgKMXwAIIEx8enqBUQBwvyGs6+vrz58/Y/cyDGMwmAOAUlWDfzweEdJwzuGkiV1Qa40iJ5gZa62hrAV3WxsgmKaJTwFFLRaL9Xo9n876w0G73UJfVSBRz21pxqbTKdAPIM5+v0/TFH1JkZN9eHj4+eefLcswDKPV6c3ncy7Kzgvb1Rr+xAZn2GlM05zOJqYwer3eH//4xzA8YavebDZKFbPZTCkVBMfD4YQx73TaQLdEFEXRarWCqQgXIggCYHSI2TAISimwicCveS6JCIQ9NPTH4xGjjXEDbq6fKY7jgOyHQwVEEVdXV8fjHrqCimK/NLEHewfYatsuA7dnW1LlD1+//Pbpb8NR/+bmyrKsL1/uz+ew0+lcTWdRFMFnHel1TixPszzNDodDEsXT6XS9XheMwewSQBMBFSRGy8Uz2qYi5ABLdzgcIBsD6yyEmM1mdWMsRDIIX6HiME0T1AjEGG/fvkWpxmq1urm5AwjDdQ2Hwz/96U8Q0iCzj9sKimrHcWazyel0OhyS+fwNKmV3u53jWOvlAsW7aCBwPp8fHh5Go1FW5EVRLBYLSFBWqxUCUdhvw/SDGgJCxhh69GitbdtGv1vI1SBDur+/xzuPx+Ovv/5q2Qa6K2itYXoIyAgAbVetHoCJUVBIRFCawdFot9uhVACFrfDUN6vO84g50zRBrTCaK2VZNpmMTNMsiowxi4iUMtI0HgyGCMMw5sCvGL3z+Yw+DOAptNau4xuGobkm4jBzBMff6XQmk0m71YNbK1YCEYG6xgGBLC3LMgwLGA6rEbwGkm/odgQ3HhRrjkajl5eXNE0Z0+j2ADNZ2DhiNPBk2+/3+WEPWTzyFf1+f7vdQp7BmMZEbzabcxSW1diMERHkJYNBD2p4FFXXhRCIW7rdLnxUUfQMz1bEk1hjkMEgBYdIstPpDIdDROO4tPP5bJo2YyLLCsYEhCidTlcIAYEKYywIAmw9UsokT0AHYH1CaxeGpcEripog7kcw8/Ly8uHDB8/zgLmhYYvjeDwef/v2bb1eX11dtds+ngnY8uBQCZofkQCeNnEcd7tdSBkh3cnzfNQfg5epH0SILRkTaCQMdZ9lWQibEVmdz2f03kI+8927d1prBBKGYdSIFrU3RCVcq9BL5VpITcxUaZFfm2Tgn9+Vk77Cr1UZaA1jqMatFzDSUN5S7atRCSFIEVFpMangNFKx2pULX4XqmkprVQIwjSPCgwTCj/KHV8KkJhzS1alWV8oB+XChRKQbIqLyBInVIXdzcPRFts1UVXzINZOl30uFQTnX5RE4Y8SJSdJKKcE440xrhUwFFMm1KKUZKVVqi2YnUIg7uCGYhqiMSudLDA7XJXCnSsSCVYFJkZxVbL6oo7LvgHuJQC6alNLUn2tiSjMDcRpW0it9FDQprOFu2VwtmO76G5Uq8M2Vloyq4ulXVkV1yGd8Nw3sosX5/qf6DNwwyqCClV1tK966ZNwvC0uU0pS692g58U2WvrkQmSZGrMq3asZ4BVCan7ikq5p/1vPBGDXez6j6bhy/uhWg05KcGIqwiYiUkCplUhiCVXfXK9EbY3CqKrTWeZGbJDyvlUXx+RwoTbbrGJapcwqCwPEdznl0PijSx0MAJzuDC9AkpmlGUfTXv/6Va/r4/kOa57AIgB6AM6ZUcTwEqLLfbHYABO125+npqd1uf/z4sd8b/sd//AfWBx5nWuvS+/YcCcYHvf75fHYt2zEtLdU5z6MoklrHcbzarAGFoRgBBQI/AVQv3d/fj6YTJJrxrEc0BRMGIEt0ggTvnmXZaDRgFdmMnD4kuXhAt9tt27Fcz5nPrkiqxdMz1/q420MM+u7dO0karhcQL6L7hmmKNE2fnp6QQoU2GkgOFhydTme32+F18DF1n3Pf9yGKhdLANi2kbgXjp8PRNq3/8//4L6Zp/vrptzhNrq+vDcO4vb3tdrtxlkLUDuM8xlgYntC4FKBws9nAM/Gnn37aTyZcUK/Xa3d6x+Px02+/HI9HJAqGw2Ge51kSf/36NYqiQuZplvS7PbjXmaaAqBpYarFYzGYzeL8gdQBYA5qzdh70fV8qhTJcZPZRFVdUHVhgY9Jut5UqYPLw6dMnYD70l8G8IxUOWSo0KkVRrNdrdDxF2AMCGOAJSKXTaS0WC7hqfPz4sX4sCCF8v41+ilJHjttWUp+C436/DMKNY/uk8ixOluFZFxIsaclQnqPgeLJt+1/+5V+22+3Ly4tlWSA+l5vF0/M3XXUeVboIwuP19fV/+f/8H0ikgBJGuOs5bi4LYAXgdTSdAR1YozG460AVoLWEsSDgsuv6qIf79ddfz+fzcDgEnQwhNQqF0zSFNzyw7HQ6ZYyhthXyM+Sj9/t9GIbj4ajVaiHmQa4gjuPD4ZBkqed54Sl4fn4mItzvQELoci+EAKABHsUzAbKoJCnhHYKQ2lMPEY5hGH/4wx+EwRzHQYkLVho2JBR34lmK5AlqGeEYGMcxDBM550hYycquG+0/MSm73a7dbjHGOp02ZCrn89nzvNvbayJ6fHzc7/ftdhtCedgRQoeNABK31W63g4h8s9lgpdV0FGPscDz1ej1Qtp1OZzAYmKaVpinKtX3fRziBa4fMbLPZAL2t1+s4TllVWbjb7WDVDysklN3jg65ro21n7Y0YBMH9/T1scyGYRvgHuFkUheN6KH8sigLNm5FxQlkFHlA4eLvdNi0DdxaylEFwFoL1+32tGVpt8KpJEG7Soig6/S5qsmGwgwJTzvl+vxdCjMdj3F9KKfiuyEIdDgfc0Wma4gLx3MDKRx6mTpMiEwKP1DAMC13AEwlmZYg0fN9PkgiumrAPGo/HrKorQ4xxOp3AwSulEOAhbIiiaDKZWJYBWRfiLrR2RsyAVoBVliPHrY2AkCobRNS/QjCG8fT9NmKwJEmKrCwKQgq6jECSBDsg8jztdpuYBgWGEeacG/SKBddaay2BXpr4rCloKZ0WOQELA3JwmOjVCKyidrWGPqMB0MtawjIywMvNRpuqwWnCZB3qmvKUOID1pQC0Kk+sxDFMUfV9WmstlSxdUyqwrkkpzZQmqVjZ1JM1QSQYzDpcqQEV54DbUpXujXUP0SqSYVprzavWs0TENUlSWoMgV1RZ0XANoI338FJSopnWFQ1KnBgnppWSjJdqCxibK5JVlEJViKWJFClODL/ixDQX5VmV+E3D3wYm6SVeLa+clxNdae7xbqZ1KRKqQxp8Y7UqygEugxldl9Ze1lKjXWe1kETtSngJjTDX6AmK9aC0EpXJo67wOudU+qlcCiQ0kUYxaq08Ny5hU8Mvs37xux/9upltfbXgoS/LrukwUxLxDditGSaVwfOmjJ8UQ8TCGWNMSal0GeCikOv18npVEv7/8tO8M6mRyNCl0F7Vwyi4kFppyqUUosg1NwUXhmCpVLqq2yUiznhRqKIoGCm4dymiVJJU3HZ9meeGIc7ncDwe9wYDdN8IwzAr8jTJS+/kQv7www+lkDFNJ5NJURSn/bHd6w4Gg6enJ/gcn04nz3c2m814PO50Woyxdru92awhSADk0lp3Op0wOoPDbrVa3VabKZ0nKSPKk9QShmVZaZyU7wzDTqfjtXwpJfxYwMaBYwMrttttXddB75s4jheLxfG0J6Zafsd13eVyMRqNptPx8+JFSgdejafTodttw80d+9nT09Nut5vNZjC9Phz3nl+aGAIeIY0LGxP43+2Oh9lsNu2O8Vu41Ekpf/nlNyHE1dUV6HZMJVot7na75XKJrHGSJEgxYz+oTVqgmRmNRpZp80h0el1UELa9tma0O+xRZpDn+X4f2rbld9pRmmAvZ4yBLFwu15vN5ubm5nA4uK47GAyWy+XDw8N8Pn/79i0xhb3z/v5eaT2fz+GRh11EMPI8L4rPk2GpLBoMBuv1mjENvg3AC0lkGDXA7nq9Xk+n0yQpG5SAuut0OpZtz2az4/FYG3fEcXx7e4vxhK4a26RS6njcA1MCsnDOHUf4/gzduJIkyrKUMeY4FkxyAGgAiLEdvrw8ASMypj3PgWsHbFhwDoAdh8MJlt5xelCSfL/d6rRvb2+llMvFTitxfX2N3f36+tqyrN1mC19tKG2enp5830eNHXQpdze3APeAqmmaPj4+/vLXvzmW/ec//xlw8OXl5Xg8tlqtz58/n+MIoimgujzPf/31V8YYMleMMRCo8BS/vb0NwxOW32g0EsJEPR/kFtvtFows7ikIhMqHBmMQDxiG8fLyYtt2mic4TzRMBZIDLwUUEobh4+Mj7t/9fk+cIfxTSgGg1EV1QojPnz/jJmWMFUURhuFisWi1vOvr64pRNjjn2+0WWQsEfv1+Xym1Wq0Wi4VlGyCkce3AyoyxDx8+ILDHkwdFtDCTgeoGJw9UtFqtMBSWZf3hD3+Aogm8L8QJvu8jhnFdmzH98vIShqGqemrCGASavSSKcBqozZ3P52iqdT6fN5tNGIbIAGitB/0RiNLFYoGi2+PxaJoWNNDROYGJCraV0WikNUPlK9H/n6//fJIcS5LEQbP3wJ2zcA+SvKvZSO/K/E72d19OTu7/F1lyM9vTXVVZyYJ6OCdw0PfsPiiA8MyavZCRnqwgcJAHQE1NVY1QSzPzeHzx008/tVqth4cHYE3Iu6ENQ62CHNXffvuIMg/bbxIhoyi6ubmB1Xu5XOJMdrtdPwyyLEGeCURfQRAMBgMYQprDAXwU8bWj0WMEgWdMAXoLF7G2ThIOH+ff1ubUjx8/Xl9f43Z2XRcjvU6nE7o9KNu01o52hV6E12gM4tGn67xIpAVwzSjjbDiOw8S4UuPxuMyLb9++vXr1CtgRk6FxPtFRQb8RM4DRsEVtEIahkO32OrhDkWU0HPZdV4NEwGMNFwIBo5B3Ok7liiEiWOTtYT+ZTMAQ4fxAy4f9UUr1er3Dbo+huUj3F5Gm+GyGfjiOk6SnxWLx9u1brJY8z5X+LnsRlV2DJepvEtXzZ87+8cK5qrMxn+c/krpp+QM0qvBPPeGyQSs1LqpVHC/MI0qAF0lMvTX8biPItsSktVsLWqxYY2zZRImoel5msx1bh001MormWHDLK6XIYAx89dxojhopMNXTT0HMUIft1Ly4iJAlEduw5CSKmUQUi9g6GgRHrJS2FrUQKSVKaSumipEkriFa1RxQ6js9idYaw5VxfM1ELWZ26njAat+UqEYszS9tkDoskbjKiKz+SEDQKm4ig86vL1XkcsUva2JSFYVN3DRDavb5RThz3nvBioIeiUWoDqzEwqvw8ZlUhviszDsD8dWpdM5FMufn6BzQf4fRz5hrlmo2Fna9mgpcnwQw2GdLueb8q3NXbc2yPVe6N5UDRpYi1YuZbT289xy1q98Jj84OtdreD98UK0xWXkaOCUN1UyVbEokpTa6NqxzlOE6OhOZ6EYhU94CI+IFvTRmfklNSBF6oiU4mAWWFXzsej61WWJalPdnZm6uiKO7u7pRS08nFw9PjdrudTqeDweDTp0+93mDY628Pe9Akk8kEM66tobu7uyAI2u0uZAMY2N7tdlfLDTTQwMr7/VFr93RK5/N5q9X6w/sPZVmu12tXO8vlstfpNK4jIuqPhsfNAfb/7XY7m836/T6ThgoCxikReXx8XCwWIJuhxgEuAQvo+z4mBxljoKWBaoXIXl3NgsAbjgZploDpJCKwtiQMqIoOaRB4/f4AzkgUJErTdrMFSkAqNj4IaB5PcOwGllNTyez3+6enpz//+c/nC/jy8hIOM9TxZVne3Nx4nvfly5dffvkFoeAY0VoUxTE5RZ02vIwQV2w2m8ViISKYtXd9fY1pIGig73a7j59+M6ZI01S53mgy7rYirXV8PN59u8UsT9/T09nF5dUMKWyu4zLzzc3V3f23+HTwfb/Vjtrttue5iCZst7pBEOIhlWUZuswI04C45XQ44EGMhGyAKjBqKDNAZiBhut/vK6Xm8yM0tWVZjkajJEnu7u4Ax5Etg1/D8YLRxCtwOBx++PDhdDppzYvF4vPnz9fX1xjwhOmkSHQREc8LYP0MvB6RKvIyOxk18KeX09nkj/Exj5NFEASPj4+bzcZz3G63CxQC99vhcPj27Zsx5tWrV41lFkeB1Issy2az2R/+8IcyL/7t3/4N8XnoigB1YTEAYcMdgZk+GHfVYKOvX7+i37VcPgNY/PnPf1VKffv2bblYX15egn9h5tlshiwUoGS8m8El4w+R1NQbdEUEVZNSCkPKmPl4PDZnFZARCYPadVqtlilKIhoOh9A1tVqtMjd49QJt4B9ZlnW7beiDIUgry1Jp8gPXccJutwMA/evHnweDQbsTsarmNMH/B9YZST7WWihGZrMZCmDP84bDIREhNgS+BQiEcNqHwyF43ziOv337hvs3SQgXrtvt9nodYwyST0ejUafTwTn3PA9cLAiFi4uL3W6HaZ3AfFybHICrKjtBr5KCEBFUTMbYMIyQfDIZT9F3QuFXFIUIAyVPJhNE6eOMAVKjXYCaBC2m2WyGrhSgiecFmCIMXL7f7wH+YKVF00MpBT6CiBDkutlsoAbJ87LTaeGOQ1lYllZrtyzzBnB3um1csjAMXVeLSKtVzUQjIjDQFWwiWq/Xvu/DqA0+G14L1KJOHf8K9Q6UgSLi+0Gn2wZJAR8UtCjgUKAIF5GHhwffC1CQ485qboosy1gIB9Lp9HBO8HjHIxQP4cnFGFkurXa03W263a4V87yYe757Op2IhZmLoijLkoiiKPJ9b7k8tVqh4yhrS6UIAfB4bOZ5PhwON5sNjFVa6yJPrC2NKfC5OBtYwESEw0fJh1ZMHMebzSYM/eFwiPcOrmyn0wmjAP+JmHmttXZ+QGDfzVU8h0QvgMcSPJvMNe4mJiHWDWtboXkRgYLaWss1rLe2niLPP0IUbF8popd8G6oxPTchhw0nKaJEhAWfq4hIMWlAR3hV6y9rS1UH7VGNdJtPxEuWarzOtZi7KUuUqnSerIReQDgrEhar6DxCk8uyJGLbJIvX6NGKFVJEGF5pRZjFMGuqNPSKiUnVSYiVzKYC0GRflNAN/my2XO2tLake/nr2a8DNNebkc1r5LDEcB1Bt1FYYtUo6IcxbJX0upmqqF9tUL6oajFoLXc4va33pRURVahTFzJgn8H0/p1HsVB0Dt77oqtZvMVX6/mp9MlmxdZNHnHNQ3nwxc60K4hdcTlWlyBUxj6O3zKw0GXM+C8nWB3J+6puIUCVnP2QhUTgL1cjlyiwsYssS67LO+KyKnvN9bvbzh8t87tRuvtmccVXXTPRy9xoh0uwQARcZUlX6qSkRzFptAa8WpzZlF4VRjh+1gvR48FxdSpkW+Xa/y8qiLEyn0+n3u9D5AYv/9NNPcRw/PTySEqRGgH5OkuTp/gFv936/P51O0d3udQf9fh/r1vM8pQyk4UhbN8ZkRV6WpTEC7mc0GOIdk2UZW/n48aMxJj2dsnoAdVbkWuunp6d+v78/HkDaxXEc+BF8rlI52QXD5zGKdbvZx3Hc+IGurq5837+/v4e+pRGC73YbdAkur2YoXYio1WplWYKeb7vd7fW78fGE3DQRCUM/CIJjcoL4td/vj0cXoG9nsxmSjxFhdnV1hRwGwFM8NC8vLyHMxZv7l19+gYrU9/2//e1v1tqHh4fBYBCGUafTaXWrVOnuoN8d9A+HQ56kEHYr1/EdRymNPv4///lzURS9Xnc0GkGXkuelSNZut4HasyzLy0IpleeptdYLI2SiQ5EC3y0RZWkMLhnvyDRNfd/t9TqvXr3CACCEcqCsAnTrdtvGtPAChow7z/M8LwTJ3EXRarXQUs+yDALu3W633VaDKuHVQ8g0ENJkMkJOMzhUpRRqNkjee70edq8RXEFBizzvVivM8xRTzRGnrTRHUXQxmQ6HQ7Tyy7KEpB7LwHX9wz42xnz+/PXpcfn+3V9cN4iXMXhcz/OSogQ6X6/XxpjxeHx5eYmtYewRukAYf9tIO3A2Br3+v/zLv9zf30MaHoYh0uI7vS60Q5hedHFx8eHDh91uN5/PlVIYuWWM+e2339C+FzHQcmBZauUizZCVIEYdIpk0TR8fHyGxBRZE/OLpdHp6empSGiFUqB/TlplfXd8gKhTSL1Sho9EoL4swDEsNJ2UB0F8URVkaOAgxOxYjzyB1ADMKG8N6s2xIfQxCev/+PbJBQYGLCCy5UIZYa8MwRDIgEaEqgGIehvXPnz9LHYsJFVNZlhB8A4p9+vSpsWm6rtvrddGg6/f7xhRQoWAUFITmePeDCt1ut1mSoNQB03x7ewvdtjEG406VUp1OZz6fPz8/R1E0nl7gjrBWEJsDQQj8i2marlYr1CHNk+Hq6qrf7zNzFEUPD0+Pj4/tdvvt27cQgwG139zc9Hq9u7s7EMN4xh6PJ2iuUKukaYp7H+gwDEN0hNADrAVXLaxJrXVDnydJFbHV6XR834WbWWt9PMRFmYNZmE4nQRA0uj48DRDVCjw6f3pGswjUDGagolkE8gJ3Sp6XKIeg2y7Lkkn1ewOlVFEUaK8tFgvYgvG2Qk7LcDACF4PZZ4v1AsbixWLRbXcafAB4JCKwhDZ1lOd5RITtF0WB4R7oDUKMrnQ1Kgtx/s0ShecYCiKUDcaY+Xx+c3NjrcXNFYahH1bK+KIoUKijOXk65TCWHA6Hk40hBGpyclRtCWVmyP2PRwmjwPf9w+Hgun2gf2JbS0TsOViX383j/B1o+U6w/sN3qKaurT0nKMl+lz8j9V9VWByiF/6O7K+TbTRYd2yqAWMAlY30mZtir4GJODRN3IQPEtUonJnreVLNzjMzaaXOZP1KnXP8L6i34WFr6GmZlUhTsaBqUecXQqyxSHCvxwoR2RrdMQmxWKWUNWKtlYaQtdayZYULpFhJJXppfKls6SzHnc5gKhFBrI7rq17Ap3CjbaK62EI3EnocTChlLarGgZXk+0yM/iJDt6oinG2tt6kuIqCpFbGNYKnuHZwvHhERMucThSqTJ+uz1SjNVfphlTZHTUSOPbO7fr8ov/vIH/7sh+V+/hlyprUioloU9qJUITIiYoVYYIs+VyMxs1MUOdabMcZWNyd6Ny/LrvpSLzfS+X1F/8mtKCKCcV0vi7KW7KPlUWubrBhrVKG1K6y01qZmKZr7hJmDwDeFERHH8yPthKFz2OyjIDKyN6ZotVqDwcB1vGbs+XA0xVsKWkxjzNXlJTqDaMtqrW9ubg6neDwe4zENiIxcF62174dJkqRphpyyJl9CmJqXAdAbetOT4cjpdE7ZiYhsWTYWxsury2/fvgFMRO0W1e+ALMu63e6rV6/KssQIm6urq8FgEMfx/f09k0akxsPDg+/7g9HQWgt/JwxzzHw87gE3D4dDr99l5m63e39/P58/gqaFyjMMw8APMUkU4mwog5kZU2A838FuDAaDzWYHDuzi4iLP8y9fvkBHC1oIZyBN0/F4jO4/ZAbv3r2DGjLLsr/97W/Pz89Rq9Xr94ui+Ld///csy/785z9HUaQdZ2tWruvOZrNSLOg3wDUkySBQH3QpmGkRA/8rlB6dTkcpiuP48+3dr7/+KmKKNOt2Oh/evmu1Wvf399sk+e///b+32200LsSUCLVABxwxNdvtFsJWeOlQXq7XazBJ2IEsOwLrGGsdx8FQVVxo3/ehCEJfHrvqui5yITFISGs9Ho+vr6/xwEUoBBAVEPlqtULfH2uySQWJ4wPw8XA47Ha7q9XKimmmP47HY+QSxnECxTMrS1xoxxRlLrZ8XuzmT0tHR4NRMB6P8zxvhVEYhmjRQpfy66+/AkpGUYQBAqBvj8djM/NoOBxeX18vFouvX78CBYoIFMzQkBxPMTY7mUyOx+O3b98wXqcBHPDjvn//HqzwcNjf7/cwBeZ5/ub1u1arZa3Ex32v17u/vweGRmcDmACa+N9++81ae3l5OZ1Ofd8vTA4eC50KNPHLsry9vQVWbqQRSO1wPDcIAnE9uBWDIIAkxnN8tFB6vR5qAyJqtVplmaOgjaJIaXr16hXkbRDqoNDCGUAKjdSELsymUJyD2gcZj5x43EE4vbiO2NrxeITsGJ4HtDK63e7bt28hs3l4uIdao9+vZqbiqe553tPTEx5KjWi+OTPwusBWiNt2v9+naXp9fY27ezqdPs+XIgKnitb6dKpCwaFEWq+2qEZgSD2dTrvdgYiQ1N5IaN6+fVsUxbdv3758/up5HvahFbXF0q+/fDwcDkHoQzOGdXU6HWFNBvDFMwdNRcQWpWle9RXFXl5eEhGaGGBYisI49YRUOH9cV6OLhcfgcDTAkFcUpZvNbrfb1aK1AB0GlH9A2O/evcNa/fTpC3Q79XCA0HUd1/Wfn5ci4nkdAFyoUKBmQasBFACCWZgZDQcUIXCzoDJ5+/atNYLHL2obNAowXwk7Q3Vai4jc399fXV1BoIKJy7jouLhEdDgcfC9onAPgcVDvQdiG5mGel1BpNiIi/E7U7qBFiRlhUM0xc6/Xe3x8HA6HWutPH39j5svLSwiWwMBiNeJh6Ps+c8WsQS/UVCMNIGnQgj1PG/zPvuT7Mag1rjDneK4JALFVPgewmmAwdoNYGvD3AuC++9DGIvjy0WdwjAGjpB4CVaFkqqIFiIhZlFKNOVIpBcBqrVhrmJXWTATZAhOJUkwKYJ2B3nUT3F6fFuQkNrAHx65qz67WldtVncmgpQ41YVslkVOVLK9KW53MyvNanzRjS3BJYq0Vg34GUcXU8gtpba2xQqS1V9UqbPm7gHNLJLpCiapRHDXIXhqszcxMmhWa8OC4pa6dVHMe6vqJ6yIKf/hd2cAslYHYENFZ1H11JrFjTXVnjMFVa7B7fX1tM5pNKk78u3bQOXbHN51zsA/kWh+hAgKnqgoXkWrUEhGda9abWlZEBCVa/X9EJC8aqWonUMczOUqJWFZK1YZSTSII/AdC5iqEx1LdisLOaIdZVS2FpgeBc8TMDOsDOkn13K8GzXN1oi2xVbWwjESYPM2WuFRMVouxZIzruaFBP8GSKDbGohWotFsU1nWdPM9EK+U6xzTxW5Hjssli37Mk2mXra/3p4WH5PB9Px2g9f/r0KcnSJEmCKGy1Or7vxqfDbrdzXV+Ey4KY9NXljec7377eXUxmnhc8Pj66rjcYDJSiJIm1dvCcarf9w+GQZ+VyuUQ3djF/ginz5uoKD+L4eLy6uoJJC6Erb1+9YmYqjBf4rBW43tVqhdS8Xr+z3KwBQfqj4X6/f35+xnijIAzfvH2dJFlv0AdHiPv54uICZn8Iaay1p2Psu14/amVlYYw57Y95WVhLf/rTnwaDwdPD43a3T9M0Clu+60VBCAXR6bAf9Xunw15K04laRZlFYRtXHBOmgAm+fv2aZbkIWWugwEF4ORawX03ADp+envb7PaISlFL9fn/UHRDx49PcIf7DH/96ffMqjuNFsozjuNfrPT09gfb7w59+cl0fw0eZCVIHImq322EYEtleb4AaY7lcZvf3rVbr8vJytVqVp9QltVpvXNdVQqCRZhfTXqf9y88/n44nW5rBYHBxMXMcddzvn1fP0NqCcYRkud/vW0PQknpeAJHDcrmcz+dFUUJTu3h8hIV0uVwOBgNmjRAh6EN839dan5L46elpu90CBJxOp3Y7CoIgSWKwquAs4zh+8+YNMyOHgTBTPc/H4zFuK6VUrzeAXEQpNZvNsD8P94+7w77T6bx//94UJTOHfuC6buD5zFyWpRKnLEvWqte3z6tlkm5Wa+eUhEEQOJpLk7fb7cB3XdfvRuHNbLpYr+7v75ns2zevlFKHwyEvLTx5uKZFlt/f3qE71OAAZv769eu3b9+QiYmkc8dzcbPv93uknWitiexy+TwYjORl1ik0RUqsfHj/0/F4nD8/KkVauxBU7Pf7MAyB1YwxfugtVs9KqeF4cDgc5osnpNzkaUJE0+lUMyXxMc9zz9GdVvTq1Su49GDDQKlTFMXhEK8WS2hRMJoUIa1g9E+nE9hxEWmGRiH6E/FTip3j4bTZ7DqdDoT4qDChPciybLvZK3aytDiZtMjNfne0hnzfnz8tttttp9PptHtR2MYFzbPylJyQaoUMEzgglVKKnQYioE8iInd3t3lewKi6XC6DINCaUW6BLYbllIhAxLbb7XYnwsnc7DeBH13MZq7rIiD/48ePT8/Pl5eXmIXh+F4YhkposVgMBkNbD8wyxggRKqLJZII7PYraSjmO43hegP/EuAOw0Q08qqL0+/35fI4BxmmeidgoioajUa/ff7i///jx03DYb8oMVFO4dvv93sjLUGQkmgMfQ2Zmrd3tDnCbAEYr5WC+EFybx0Psed5oOFakT8kpCsLTMbalISuO0u2oNbmYtqL2KV6gekEvYrfb9frt//pf//Zv/99/FzGvX792XTfLisfHeZYlYRiCk0a2ErpnSJVFNxItGpiClFKLxcIawdNgNpsBzWutkzwRY6MgRPX49PR0OBz6/T7uLEDh+Xw+noz8wMsyN0vz5JQqzfhEyNyVUsjAwVwqx9U4OdvNDjK21WrV7XbRGOz1ervdASMsmj4GFFmKqMyLzWqNCIcoCMXYxfx5Or3sdzurxfNwOBwMeugeaK3LMm+3I9/3rS03m9Xx6N7c3GjNYRRix8qyEiwhUV3OJ6HWKvaKNv4e1ldYQlXJdHA9GmOYXrbQcNVKVehck7bWGmsAfapJlPUYyko5TWzJgkU+x+kiQlLNSLIM9XGDx6pd1g7EFKQUi1ghW8OhGkqakl6yv6rvNWkEtg50L8U2Chk+U3IzMZAliSEoc6CldhxrS2NKpRUxl6XVWivl6Do/zVrbpNIIsyWMHbXAe0Cp6I+RUEWdMjMZ1sJsqbTWZCTkuJpZI79SnWf4WBESxcLV2FajFddy83pCLZHCSSPLlfiZBG0WqYRArFgsKaWJtTGilGWqZ/oIIctHLLNuwl7Ivsic2BjjQONPVcMEawa5lFhVpQhXp45Lgwl9xphK0V1HIZVcBxA1vRFmJjFKKWurEUbMDBsAEaajSlPAlKVhVs45qKeqtpDfVw9iWchys7LPxCdNKfD7r6aGaFA71QWcKXOus1HxhsAFtU1tcPb13Qo7UyA1PyKiH8bMKtyvTHVGJ1UH1RD81aa4/onQS8orvm+JBT0mUzeklFLkeIoFCaAvO6WVcrQl2u+PnudZw/v9PgzNar1otcLpdGqM8/XrV6UUUBFusOPxtFovy7Ls9QZlWe6Oh9evX3e6rcVicTwer65u1us1Efd6/V6vhyzz4XCCP4fVlUSBe0YAwtevX0ejEcSdlYji9havVTw3wYKUZcm6GmGNiMPVagUGyFjCeJ04jrfbLRL0wjB89eqVYg4833EcWxrf9fb7/cV4Mr6YwFR3dXUF3SGMR3iFVLQQVYPi9/v9r7/+CobmeIjH4zGiOZj5w4cPw+Hw8fER1qu7x4dBfxTH8Wg0ga4U5LG1FiPKg8B/fn6uWXxpXHHgCweDwfPz893d3cXFBdKUt9sdKMl379512t14f1itVk/3D0Imz/Onp6e7uzut9S+//EJEV1dXb968jeMjktGgaz8ej3megg1F1Ea/30eSJtpWsD+eTqc8Pa1Wq3bUur6+Pp1Ok8mEiHzfU9UM181+u0V0CcSsRIQZrlEUaYX8Bwfx3hCNdLvd16/fIN3ylCRIlbHWzufzTqfn+y2uQ1TxRocoFh18CDlQyBER0niQzoZVhHN7dXWF9jSIt/fv39f4dTuZTKbT6Wq1guoDrYw8z/fb3S///DkIgsD3PTeAFnm73YpImedBFGmli6zwHdd69mo6Q9zKerkCcy/GZlnWCsKyLNMixxX8xz/+AZh4dXON8EER6ff7qtUWkePxOBwOIXvAOvny5Usjnkb9g7EyeO6/fft2v9/udjuEOd7e3rquCzLP2JxJlaV1HC/LsjQ7DYdDx1G+H8IlbK1tWk+u6/YGlQMV/Y3n52fgmySO8TzBOdFaj0aj6+tryM8A/XFFjsfjZrMRqcbdE9F6vT4ej5PJJAzDPH1J/4C2ClQrM9S6PspXhNYnSTIcXRZFAdvier2GVKMsy3arkgyh6oOiAM0oIprP5/1+Hxp37KrjzkAVIxkQYq3j8Ti9uEyzE7hPfB9JHd1uL8uy1WrV63W73S6RRaaN67rMjGGx+JM4jvM8j1oBnlfxMRHLqPCzLBuPx5iY8/e//933Q2gFRWQ2uYh0NYvUWotn5nA0isIWdDKz2awsLSa5TqdTIvX09LTb7Xq93k8//YS+AXp6YNARijUajZC45fpemiYoe3777Tc4ofFaBSJEIwKXLAgCIxVCiqJouVxCwQ/JR5ZlRIQ02253hB9BkMPMvl+p5oIgOBwO8ZGyLMO1bjotYPdxoTErFCehKIrGWxmGISyeh0MM2wnaLKgT5vM5/D9490GM9Pr164eHBzRYUDGinnddFwUJ2A1Ia1AqbLfbNE2xKfQQkiTBv/Gq8rzs+fm53W5DiKCUQkN4PB7jhd7pdMBENIuhaRxJrWlh5jD0d7tNux1tt+vxeExktWatWSmFlk6j5hoMBmD9cVpw5242mzpvh2DnRcIM1humtCIFVWsFj5AfuA3waLLmak35C/I5By0N2KCabG5wBVvQl4aZteNorpUT1SCk6v9AOxJRY3b8Aa4wnSue/49Qp0E7Ug/7JLIitmb02ZgXFUCFo/4PtlrALed7y+MLmmq0N43J9Xt/oK103nz+n/TSsqil403RQJZZKSJTVU0sIorEVhHsDW8NSUw1r+r8DAhmwda+z+r7tQW2uVKq7jNwVcxYhawaZkextSRcZ5Ezi5hKTyLMTErpZueBBs+XBItpsLvDSl6G/FCzNur4mDpYWaovpdgYg7IKkJ2Z8zw3NZFt67zO6gKJatopImJM0eQ0KsUiL6Nkmdla44ggyfIlVLK6BiJ0BrVxqFJnQdLZuj9f2VTPsT2D9USkiH68N7Bte2bH5rp7QmfR9D+cUCIitmgPfF8i102cOr0RXyLyvYXg5d6oL7+ufAZnP5JKsVQaUygFAs+yrUs3ZkyBKY0REcVsSBRpxVrEdtq9TlvZwhz38adPX5IkuXn1KvT8rNTgpzutNkh3gFRrS8TIFEVRlFkUXXz69On29vbd25/2+8N6vWHSWrmbzdb3/TBsIYYc5sJut+u5gYjArgp/fej7ABCo6iD0RGMXWm3obi9mVcNxuVyCGwOLNhhNmHk+n8M+iEGJf/7zn33fXy6XjuMwVa1YICrINkTkdDru9/tGExKnCR6yk+lFnufQsAKTwcn67estIIUx5ubmxg8DcHhZVtzd3e2Ohzwrr6+v8VgXEWTbUTXcfgIjHQRCRARsgTY9kBwUIPf395jl5Hl+t9sN260sSX/5+b9ba6MwFGtP6emXX34xxsxmsw8fPsTpCQcFdQTOA+iKbrf78LAHKoqiyBgXvjHYwmDN7HQ6rtZh6DNzEp/SNL27u0uTJAiCP/zhA64RwKjneTjz2OC7d+/gJnS057q+5+UNQEQdkqbpp0+ftNbdXg+1H+QH/f4wyypJxvF4vL29LYqi3WmNR0Po/kEMiwhADHIGsyzr9QaoHFBlPTw8II0HUpOPHz+iuX9zc4XwEwyER/8BYZ1BEHQ7ncPh0Ov15k8LgIxut6uITvVUeWutCcKiKG5vb5nZ1Q4+YrfbnU6ni9nUUbp564DOTPMsK/Knp6fLy0vYDYnI931E149GIyLC5MvFYpHXAeTMkmWZ5zmT1gjm6U6n0263rS3Rq0ERUpZlkh5H477r8Wg4Wa+3377eL1fPKAitrSxuQFEwpeDfnVZba50laegH7Xa72+5ALf3m1Q0Rzefz3W4HSQmK3v1+v1qt4BiGIwKCH98P0UPA+iQiAHHNKsuSOD50ux0oxYfDPhEh+gn5elj8o9How4cPvX4H5mAIY7TWSALF+CRUX00F0gz6ISIoy+EVWa/XSRojQDPP84uLC6irlVJlYRzHeX5+xuROSO2jKMTJd10H8g8Y2hqBHJ4MeKobYwaDQbfXdhzHlDKfz5fLJaTqTZMBoB+RRHCP7HZ7PwqBw1CQB34URW3NCos5TdPTaYsTuN1ur687o9EINMGnT58ANyE6wlQySKuRexNF0fRyhvQhnDdw0nBQFPUAY0i6mdl13cKURNTtdhG2g5jX/X5/e3uLt6xbjUvb9vvDKAriOIZTOc9LsPioqZgEj4jGKQFdysPjE57eh8MBOywiGIRMRAjoBLMwHo+jKCjLHA8oyJxwMtfrNTP3+30cAuh/3DKnOGlFbSJCdddut9M0d928LLf1mrciAsNMFEV5Xm63+9FoAGvN6XRSrJkYcv8gCLK8omDAuOFhCFCS53kYhsh6EktwgcNHjgWGI4XNGr52lPpxHL97904pBWoA1R14lvl8fnV1BUlPv99fr9en09F1faUYlEpZ5niOoXBqtat0TqUqr0ITEdbgJObv8MA5zH0hBIlUo30RYRZNzPY7xQJzFc6o6vCTc1giZ0qPF4hcQb4XcHW+Mw10wX+qszRxeyajPz+KBv85NQH6ggXP64Qa2GjH+f0HNZttvhRV8+wrPrT+fGYmcmCCa8pFbKD6qdhGpQ3YxpVQvp7MatmcRZhrYmJhEraAcBbR5xWkb/7fyzmvTyaLshWSrFC7SD1zSilhxcJKWcmBaKVi54lA51aBipZZKalcn1x/WHMdldhqBlI186RSTSuuGhQiRXMS6staVWJlWWJUL6hVRi9agzUvAc9wElzXhfYESAMnVimjtXt2Zb5jySuhUl0wNdUSWQO7rW2OgYhIFNyo50uhrjCaK1i5d5sy4Pw2EREmpVjLmfaoUlBhgxWh/8Of1OeFrdR5/vU+2Jebrank6l+rPxvH9RLkRCh5q8tUBy2d+VmxV8YUimx9EnACNJnS2PrAmayo0hhNRKzIWqU9W0qaJqU1EOO2223HVZv9CU/b5XKJB1kdChahHR/HSRiGrXb47//7No5jIj6dTmmSM/PHjx8xCk4pPRp10ZfsdDoXFxeu48/nc/DBYRi6WqNRiOzwKIpGwyHA1ps3b7A/zNzpdEajkeM4YGWwpOpue5IkGcJ9iQhqaWYCZdjpdDxP+14A9bCI3H79ZoyZziZibRSGABBpkpRlAY4kCEO8JnebbRAEFxcXCGmGdh8KDdCBZVlOJhOlnDiODx9/RYq253ngV4A83rx5AyU6Kg10jZuxoIfDAe9dcMy4NxCQ//7DH9Is+/jrr6fTaTaeTS8uPn/+/O3L16SomunT6bTb7fpRkCTJbrebzS5x1Pf393iJikianp6fl9ba2WwWBB6McUj2QOzGcDjsd7vMsttst1m23+9ns9nT42OTSPj169c8TwPPG3UncRxbtkbJ8Xj8+uUW4GA4HENhD0wwnU49z8+yLEvLsrBlYWMnGY0mt7e3ZWlhf8Q5T5IEjwDf92ezaZGX6AA0oSLWWlwIpVQURXF8yLIMTCeeI1+/fm21WgihJ6Lj8bjb7f7jP/4DltZ+vz8YDDAZh4iiMMTcTSxjSG5gsaiMCp6nlBr2+x1TOWJxm/d6vTBshWG4Wq3yPO+NxiIC+t8YQ4oBCJD1CT0J3t8gDheLxWazgRIJEBO6cAxi9H1/3OsmSbLZbCBhn0ymIjyfz6MoYGalOQx9rTkIguXq2RpSWk6n/XA4hkoYFCOIWLQ1oCqBZAV3zXK5BJmdJMnt7e2rV6+ur6+RFvr582el1GQyMcaAd0e/CNj3cDgYIxiGACkCvA0i4gc+7jikOuIFjLsPxYnrunAdEBHESx8/fozj2HGcfr/f7XYnk0m73c7SAicWIKkoCrgM9/v99fU1vMtQAzeS9/l8zrU0Io5j1Buu448nQ3CxRASe/nSKicj3PRhMRUyr1ZVaent5eQkQDM8lavgmzGe1WoFlD8NQKQevwCRJPC/4619vrLVwFXthC09geM27nX5ZlofDoR21oAXP8xLzJUSkGSt7eXn5/PyM3iAEIVmaA9SijnIcB2XzcrmEBC4IgpubmyLPt9ttGPpQijfvbKwrx3Fg3xcRhKsopTDXKfAjay2xhZl4u93COQobPerkdrvdbke48fu9nlSDBdnzfGPsdrsryzIKwygMFXO/18NlStN0v9u1O51upzccDnHIsGOiQIIEH487aIfQDCHhLM37vQEJj4bj4/F42B9FBOZXVErW0uFwqEb1jcdZtqNqEkgwHI4Ph7jf7x8Oh+PxhKNuxhKj1gJ3qOsw036/j2kVYJHgKYrj+P379/OnZ7zjEE2LZYw3EUzG6IdAi9jtdkGUIMvScRzMI8M7Yr/ftlodaNmRdwnXta7Sog3cWUSUJIl2FN4pxlQOTqRPNsjvHFo0D6WGPWxQb5UjVnnNMWe2xr4VtKpYS64lNw20OMfWjdylcqDWH/17mQJgjP1esfMD8m5gOtdyixp9VYqF891oDue7HSuN1lop3WyNz8a+ciNbkGaXSCnFlo0pREQpp94BYXa/w6xERIQEc1Ohtuocsoi1ZXPWq/RBxUSNuxSku1FKEaOB8aPxQAPR17pqVSfwYH6qrXopVlciaitVkIl5QbAiQpbYpfoXxEINz8z1FRZzHnJIRGwNERVl0ZR2JGJw9m3J/IKBpVZinxWBVcVY65pUE/COHmZjTFJKGUvWVpZrPuufoL+ntWZWzb+/S5U5Y6ZRvmBFfudebS7nD2vie3xf8e7Nj5olxaRIYa03tez31/4/E96IiJBhVrU3uWqg4NRUn4JLgzR9YSsFMytWZ5fhZdHXq/PMWVFtWZGoZtaXMYaVaFZWvazyeg+VSMmsiYwxYsk6pITJ1dEpO5WWlou14zjQIH77erc/5Rg2jMdcURTdfi9NIe1oi5inpyfP8/Z7B31k8J0iUhQG3EkQemDBHx8fMcf+06dP//LXv/X7/eVyOZ1M5vM5EUE7eDqdkizrD4cwIDIz5k16ngciFnwbWCi82waDQavV0q4bxw/T6URrF2/f4/GYpunxGGPAXpqmp1MM3edutytN7tRjAqE8juOjiKCusCSgqSaTCaThjX63LCsqFBk4eVolFQRBhJmaMFplWQYivxEAVCkEvo+OP44Xn46gxqIokHAHMSV0/+v1er1el0Xx7t27dtBerVa3t7fW2n6/P5vNRqMRDJGb+1sQckmS4u2Oo9tsNiAdoYH+9ddfx+Phq1evUB6Aq97v90kct6OIyG632+12ezgcwtCHCxOVj+M4vt85HY+cpijGFosFJCtAYGgawP612+0mkwt0pXXoaq1Bf7qu++7dO0xw/PXXX9P0xMyXl5dwIgKF73Y78N8IfwBSxILEEwH56I7jQWy32WyQsQ1yCzLfIAiurmaA+6CH37x5g7fg/d0dsiPBHzg6B8nX6XXzNFvvdg8PD8jTiNptqKdc193tdsaYV686g8EAKAp9ElwLx3PjOL65udFaX15WYzXj+JDneZ5miHbxvABd9dFoNBwOkQ6+Wq1834UQ+fPnzyhmYM9FCTQcDnu9ThAEnu8eDjtmVuwUuRkOh4PB6PHhablcp2laFOZwOCD4HyUflN9EtFotwGdDgIQIF2aeTEbMvFqt0NaHXoiI7u/vsQ5FBGjGdd2bm5tWqwpmhbUD42xev37dabVBWgMwAdY0j004XKEtvru7u7u7K8oMCe64U1Ch4bMw8BKkJvK/EWjD9bBJyMmstVEU9QddACngKl3nx71580Y7DBIddRfcvcaYosgxFOL6+tLzvNVqVZq8LCqTJUJ7YNBk5sVi8fj4iLYD6pYgiDabTZ6nSjnAoHmewyuCOaaBE4FciMLKSxO24GLPlVLDYQ+FEG6QPC/b7TYodpx/6D2A85CvglsGMT7HU4zQMNSrURj2ej3HUbqmPND8xGt5s9lE7ZZzFtIP1Cu1Idh13cVyjtYBBHWDQQ+PbmzhcKh8unBt4pEOshnVDio33ClgT9Afw1MX3bzn52cQLpDdExFKa2stujdYJ+g0YtEi0QtRP3g24v2OIhmjW1EhA/RD3QS/RBiGYJdevbrGsWP/oa87JfFyuQS+R/2G3iCqPtS9InJxcYHfPx6PIoLErTzPF4sF+pN4UNv66/7+HvYVPGlBzDft4ul0ejqleNqgBsPDB88oJMbiDGw2m9Fo1G63g8AHosDzytZAvMFYSn2Hz86xygvchnHOVspswAxFzGSZWNWCGxJhsoqFWIgx8bTSGzM79WblXCnww4fKi6j4nPT8T77wOzhppg5cV0oBQDbEvLEFfV+oYLPGGmJLCBFvBhsxmfIlWJJrdrzacyUN3BQxVkqupxFVv36GIfE/SgQTkIgs/LvWFDV80hXeQmDMyw7aKvP+9xdFka4vja72F4d5JoOu7KHYTUssyjKzVWRJyFbQUpMICcaxMwlZAhGtCd0BY0pp5DqKzijkpiLCWX6B7nVBIiLEZ+HxdZ8Eu42SVWtdmlzqDjM2iEcc1GXMXFsGqmrw98ugUlKgz1DVI+cSJa5VJvwidGk2VHHk30mpziInKz7bvqzWylBMzQ1g7ctnVVuobK98JjmqBoyJnN1RzWU+Y9BZ4Hyw5+e3PvIq2/77va3Pb82ysxJmTaSJNLPCoCxrrSIrSmvioqyBu3aIhIWZNbNYIkuimYi1Um6ZKCJtSvK8YDiaDPrdojCbzU67gXJ0GIZMerlcikjoR4fdsSwsM6/XG+TOPj09dbtdcPBBEHQ7/dVqVV9RWxTFly9fJpMJhBZBPei71+slSbxcPkM1mKZp0ApESbsTYVDfw8PD4+PjH//4RwBEgNGiKLAFsHHGmMViMRiN8NDXWl9czPBQ9jzvcDiCtgEa6Ha7eVbiNbBer9HNzLJsu91U+CZLO70u+t3H47FhyIjodDohBgcxHchWe14uVqvV9fX18XiaTqfT6fTXX36DQBPjaaBcRLYxIgjB0ODVBViPZzF+c7FYgPJEcvC3L1/wfjJ58bB+ANlsrQ0i3/O8+/t7mKg+/PEPiL94eHg4nWKkE4K0DoIgz1OHncPhMOz1r28ui6L4+R//iOMYSvo8TTERZjIaIqIuz/PjcZ+cTtvtttfrGmO63W4QeKPB4JSmWE7ICcGQ14eHB2spTdObm5s8z8vSbLdbxIHvtof1ep1l2WA0RFA3kFkYhh8+vIPCYbfbAalcTCdEBLi8Wq3AEaJCAyLHd5RSSRLDXOi62lq72ayurq6gFGLm2ewC1Bri1ebzOVrqeBOjFX6MYz8Inp6esVfXrs7TLC/LoihAKhz3e+U4woTopCRJFou5Uo5yNCnebDbj8fjq6mqxWsJQ8fHjx+l0enExxgWF4Bgiq9evX1tL4IZhzYT89+npqdNpAUxMp1Ol1P39PXRKjuO8fv26KIrPn7/meToajYajgTFllhXMGplFYRRozXmeK+WEfvD8NEcq3+kYbzebKIraUSv31Gg02m7X+/1+OOyjpMSvQSBeFAVa9ihoG/sgTIeO4yC1erc7YHpAt9udzWboNaGlAAXLZDLB7YlLjPYCiNhGmFGWZdQKptMpImIawKeUch0f4jHMSSCi8XiMJPjn52fk3CNsHqVvEHowOaDC8TwPzx8ROR5jiB9A9p9Op8GgDyL5dDr95S9/6na7y+XScRWx4zr648ePWBjnsSrQWYGXXa+3CHQfj8dJIo5TebYWi8V+v59MLnq9/vPjU25Kz/MCP0JC1Ha7Xa1WinS320X6DZyRUdR+fn7W2kX6UKfTAZ2PVCiESKIDMB6PIWpP0zRqtxaLZ1yXoihOcSwiSlEQBHhYodoH0nUcx9FemqStqIMSHbn76/V6t9tNJpMsyxbPqyD0cE6UUo7jxfEBPQ3AdyJ1OqWtKAL7gCoa0ju8kgBtRURrjXl88/m81W6DlmbmNE1bLV2WeZqeer3eZDJBPgz08Yh2wdVEfaKUenx8tNY25XGapq7r4504m83gZMAYVCAGRFEh0hQT4pIkubm5QVoXtDpEhKYEpt2hSnx4eGi1WsDcSik4sG9vb29ubjbbdRRFSvN2t8HuIUgUoATNzOl0CukgePRerzccDtFZwtWfzWbw3fq+ezqZOI6ROoU8htFopDVDKIVylBXhJEdRUBRFmqasKgQPvrNGCBVp/QOMbrBBTcZbTdV8lxp/WGJrbYW9qOKtzX+6tR++AJOIFDNZLs9+8jKEtUm9O0c78pLG+ALdGoxeSVa+i4Z8iR7/T/dEXvoGL3wwiak+qEmnIWKyLAzROCFb3AqxIXZqnF9Jl88Ok5SqotqBh5VCXLgVqRItK1Rcp7hUZ0aIm4H39chVPku84Tr+vDqsShYvIjX5LiJiWQxZEa0h/bDWijXMSlByibBocMvVBxHk4mTK6hMtS4Mwm5OMSskaA3E1LkGjX2dFihWy8ekMIYu8rDRdTwFrFk/T5WuuL6h/qlNoiCotojGGqBr3WxSFc3bGK1XJf3ahVaVIaRTt/OOvQSv/XX3wMusLZcoL9W6/dzac1yjnwB2XU0SIWWlNLwv6JX4VgwnqyH0hIrZirRUlxryI3ascfnlRZZ2vaa5cFyyV7dkhZmuqmpLryKTvTohifJRIPSeMRbEj4nqeQxxfXl4pxWVe3D3cv379xggj8/gUV5gYjZLLq+npdPr27RuRdV19Oh0vLqbdTn8+X0APenNzA2J7uzhaa+BV+vr1axAEb9++PZ1Om80G6OHq6grzNbXn4p58fn5uRR1mTpJkPB4jHB2B1qDhmRl9SWstfIHtbldrjYepMY8Q1RhjPnx4fzweHx+fsKQwNdPzPGIPDXGt9Zs3ryE9nEwmpzSBViGoR5or4igIS2uw3Gez2f39Pag46MgxIptZx3FsSEBHqTov7HQ6ff78ud1uZ1kB2SgYMkShockAsgciAQzmgL82juNhrw/19t3dXZ6VgK1QMT0/P2NreEv9+uuvGJOe5xkkLjiZu93OdfXheLi4uGDmz58/I4AF3fn0dEIvZbvd9jpt8KNi7Gw2M2UZx3EcH4mo2+2maWrL0guCw+EAPDqfzwG/XNctSxNFUZZlV1fXuJkhZRbLoEVx0qSSchnf97H/qH+63W673fZ8F8cCI9p4PHYcBxC8NMVunznaBYuGxjQRQdJaliXIY3wERPywtyL8AcAORgLP9/OicF13uV51el0+Hrfb7eY//tkKQ0dpUk7U9tthdMrSPM9Ho4EpSiMWyo3SGtyeylrX1cdTPJ1Op9MJ3tlgu5G2CQ6VrNTdIQ+tmziOn56euG71HA47BM8tFgtmRsAO6MxPnz7BG53n5fF4StM8yzJrqdUKh8M+nj+IND0eT8d9DGIVpkNVm/CgO1+v13d3d1Bvz2azoij++c9/XlxcvHv3DoQ3/gpS7FarhaJxs9m8fft2PB7v9/s0zZ+ens6lTUS03+8VMRYk/rzdbjd6AIjZ8Fj3ff/q6up0OqXZCdlHjekQnZ+ryxvwmtgOsBrEylhIYOmyLEMVd3u3wSMdSoxGIMGkHVchqeZ0Ol1cXLx69UrE7vf77XYLeRIRrTdL+C/3uyOKYVAAcKQ0bl0oHzabHXZmPp+jcsAlS5JEhFCMhWFYig38CBYCrOc0z8rcNGpyrXWWFXgQNYk3eAohF0VEoEuEWl1E5vM56OHRZAxLKAj1NEkqZS0zEfV6PfhJoNwAzRzHMUbd4WkGCQ3uLEiqOp0OK8Hz3HGcbreP1zlqDNzmSZJAzocqC7YHNHaICNm4+CnuMq3dsrQiDCd6WZbr9RqtDGZGmD0qrlpFqYgIZTCWBGZgBUGwWq2yrBiNujWijUB44xkIHgcsBoKJ0YtDJGi/P4yiCH0tfGc4HALoa60Hg8HDwwOOGkAE/U/QQ0De7XYbE5dAijeNIyjUUehCTqO13u/3OEBkhQ0Gg9FoNJ/PMXUkDH0IcsCA4PpGUYCaE3n84+EIfidYb3UNG+TMSth8B/dCg7T47IvIElklRHWah4hhriy26IYBjRlToHnygmFqoKKUshU3fD639T8Z+XT+t+e/SWf0aMNI0hmF+oKjrDTbkVpuId+jeTqjgX+sWOqRS8DcRKRePtQSkdIsRGJJxBDpc4EI/Y4nx05polKqz3KUKmpzJ7Oq9OvKqcZfvsDO+pArPQUGXnE1prQWx1PjEH1Ra6NLYFkMxj6xEiVN2r0QGYeBDYlr5pVJkYitgHiV6AJUKepHoCgwg9b+VAD3Gm1TVQjV+e3Nn5zjW1sPbKG6dmqIdqIXz4CQqXsa0vwJNoW4fQXFUrMsmn/T/wG/Y60rpZjpfG9+BN/1wpKzEQkNa44P0tqh79EzgD7G9VKz9Kt8ygqsv9xWZ7tU/XdDt+NkWSEyyNenl78xcnYLfX+8SqoSiyuLgVAlA1COUhpKr+YPVd03sLbSzjArZjqleeA5nU7P5kmWpekpabXajuPcPz5q7biO+21553lev5/f398zc1ma//U//+1w3PR6HSIaTcZ4Z3/58gXxf612eIz32+02CHzPCyeTi99+++14PH748CFN0+SUoVt92Ky7/V6aphcXF4YE9MPpdGq3eD6fgwVHdHcQBK1Wy1LVa4aFdLFYAHBnWYaXB/gbpRxQ0d8+f7m4uBj2+kmSJMd4tVq5rhu2O7Prq2aFeZ77xz/+EbgKPGir1ZpMJhj8mSVpURTChBbzfD7H48/zvNvb2+Mp/vOf/zyfz4fDsdb67vHhT3/6k4hAjgnV7/X19cPDA7NuTE4YvMLM4/E4yzKEvk0mE6hokMbtOM5gMOBSTkkCVFqWJi3yyWTi+X4SH6DJubq6enh4cHz33bt3mBsF4yZUZRBgjMdDT3uoeeCSBPCCF/Dq6uovf/mLMSaJj9++fXO18/79+6xIt5sN3hCICjke977rcpL0ej0RWS6Xu93u4uJitVrt9/soajdWY/CFruteXV0xVTPAw1YEqYCIwJYwnz9CmAGccTweo1bYaXehvYFaF6DfcZz4dDydTpezK8dxnp6eEB4nIlEUjcfV2oPKH74x2HbLsiyKAhEfo9EIuqDHx8fClJ7nJUkiquJv+oPRxeSCRXabbZHlKMCYOcuTLMukVgReXV0h1Xu/3j49PeVlgQQMzNgCQvr48WOapu122/f99JRAIuW6PjNjENi7d++yLMPAnSgK0Bp69eY19CQQJk0mkz/96U/GmOVyuVyukyRjzolIsbNeb/M8L4rM9Rzf9/Os8P0QsAnQBA9xyLrwKaCxURIDHAMcQJJUZ6T4MHI0L29YEebzeRzHvd4ApQhUBEgaubi4+PzbJwwA0lo3bS7sCZh4fDNNU/xaEHoYEQ+QZK1FOruILBaL3W7XarXgAhyPx0gYRFnLzG/evNFag/yGHqzX6+H37+7u8jzvdrtaudrxULN1Oh3Atefnxf39PV5Xt7e3q9VKO3x9fY0FibyU29tbz/Pgi8A8I1g72u0uFPaIS5rP55vNZr1et1ot3w+aLpyjNbMGkPV9HxGWvV4vClqtVmuxWGRZFoYtTErGyxJ9DzieEbKOB4vrur1eb7VaYWwFGm4i8vj4iGFkSZKItVEUFUVWFEWv13Nd99dffyUi9D2KosiOp4uLC1QIxphffvnl6uqqIQWICJxxXqTQZyNzpt3uWltuNhtE++t6/A26JZ1OZzqdArJjs+ieIeMF7Rq4C0QE1nx0yeDfxYSj8Xj8j3/8ozZKaQCyi4sLIHWw10VRoFuSZcXr1687nQ6ETKPRCKMb8jzv9/tBEOC5AcyNpx/4mjzP0VCCWYuIHEejuWqtRYAPGmswoSIgAcqZdruNdwFAAh5o8+cnTIS4eXV9OBw22zUREQskOhCs40xCCOS67mw2w5g/PHLRXYG0KcuyIPBQWqDQQgowagPAj0bD1qCFBg40KKUBss3Pmv9s9OvWirXW5gUzW2NMNfSjmj9luRK746v+Q8XaOUdQXJvl6CxVBrQ0V5SlPYdkzc4oRU0aFfNZCiRVmIrOpQ1n2PH8qOkM0ze/iV01ptp/zSKiBQoYEamtllUd8j1crD/F/lCZ0PdfzKy0stbY7wnf30fE/B++XuJPFIsVe+4EILJMYtAeqb9DLNYy1ZmSTa3CwtYIkSGF5FYRscYC+bHIS7o/GbF8RrqLcD1ftiwFPSu2Ysg0MPX8zDTtEXz/jF9n/n6ibfP7zZ3ClcYb58jChcp1GYbuk6POPBmViKuy0zoiYquCE1sRQ5YdLRD226bm01SJ+qlRpLzE1IhiUlQl3FeEvda6LKzWGpC8ujeoSuihWvPQrAztMFWFV9NvqvdZqfMLb6011mhia5v+ixIiZhJVxfNLMwaVdHUjgTC3CKwxilmYEZKfmiwiVxFrRb5yjNhSrOM4ptbnKWImxcxsTWEM2dIYLgqz3R2T094UWRSF9/d3hTVa2SAI/vKnv4pwmmfJKQ+C4PPnz9bafm/c6bbCMNzvj6dTut1uxarRaBxFoUiZ50kQRK1WOwxav338ejye/vTnP6Hzu1ousiwrS3vKTkmZz2Yz1w/LJDGltKKOYme12qCnfzjE3W4/DMMoahNxHB/BUf36668YL4fXzOXlpWq1oihqt1oYJN5ut+++fUmz1EqZpMdWqyNiieT9+/e+75diF4tFGEa73e7y8rLT6f77v//vd+/eRUHkOZ7v+qfjKQiC9JQWRam1A7X3YrlEE6BpKCPtLgxDZimK7Prigpl3u73nO8YWrXbLcRzt8KvX18y83W4dx7m5uYFsA2QhcCpeD4fD4fb2FhvX2hEpnxfPKEjwNtIsmsV3dXsyWSwWIONd1/nD+w9Jkjw/Pvn11oqimM/nyTG+vLzs9XqTixEUBXh75Xm6Wi1c1zVGhsPhcX/Y7Xa73WY0GrVarSRL5/N5FPrdbpeoq5SKopbWTpGmXhCs19vj8fjnP/+51eoURXF1dXN5KdkpzQ1i7La+H2IOURi1FfN0OjXGpHm22WyICANH0zTV2s3zEmIklEyK2zDbua77+fNnCOwGgwG8bt1Or+nQgQbr94etVoh2P6yK7XYbYUEX04kVk6Sn/X4/HA3zPN8fdmEUvH37FjH/1tpepzsej7XrpGl6MZ4g+ygPw8lklJfFfr8dTnudXi8uUiJ+8+YNGSqK4t27D8YY87qE7QHv+MMhNma/XC5NUSqlbCmb1RYCKmOkLG0YqiAIFos5QImIlGUOAnixWIRh2O52gMC+fPkyn8+zLEFcehj6o1GvKIrtdrvb7VqtznDY930/SZxut7vf7sjybrP1PC8M/U6n0+t1gG6fn+fj8XjYH93df4PECEF+l5eXeZEtFytEbQLy/su//MtisYA8Ce0CEQHYQmLG8RRrrZllscg6nc5kMmq3oyzLZrPZbreD4fV4PN7c3CBxhTFPl8zxaPaH7eXlpeu6/UEXInhUa6gl3r9/32q1Hu6fGr+yMQbK8l6v9+bNG+hhhsMhvgnWczAYANnDRCsimMKG+/H+/h6y78Nhv91uUHu0Wq3xeLxaLTzP6/U7RJQkcX/QJaL9/khEvd5AazfLMiulKlVyTHzfd5VWnh96gascx9etVut4PJ5OSZ4XSukoilAPi+OQVOLOw+FQmNLNM9/3Xd87nmIv8MOojee85/vGmCgMN5sNHl/WWviJl8ulFfE8j1j6g552lNa6NKYwxXoxt9ai5oG4C6AcTnpr7eF4CsOw0+2fTidiPRj2gsCz1lop49NBaWp3otLk0KS1Wi1mTpJkf9hCyiUieDLs9/syzwLP10qbokxOGd5TVcCiEBMf9we8/pUQwH0DerQirdn1fHDb2+0WlxUKKzhhlHJarU5Z2jwvB4MeSP2yLNEHAL6HU5yZPc8REWMKa0v08Yio2+3vdgfX9ZMkE2E0o4gIyfFxHOd5CqUisTiuhtkUI/Agy4ElBsoo9F1BBEC72CjOATggc9/tdu12u9PuloU5HhZaaxLGNC5k5INtQWwUPqjVam2324uLi+l0ggW52+263bbWDNYDjSmlmYSPx2O/3/e8ABVFGIYQFhNRHdKniCqtCNVY1nUcIjKmEGu11rYskSMotVDEWFuUpS1y0Pmmjk2s8JWDQF4Xw6eIiLW4rlKm0hFUjGIdgWFKi9Zi9eesmNgaqzQx6zOcTeBFbZXFDURUTWYlIrZCwNxan6NAW8nsiVm01vBqSiUfUGRFyCKKG4YQfJwxwiCR2dhafmCtgRaZWRR0xGSbncTlKMuynrr7khBvjNFMFvy0CHhiItH8gqepxqhsRESqkHcmCB40cinIKkDM0nBlPoXSoZIMKSGyJVcpQETEYpiZxQqLYSHFjohYQ0pZV5O11oojprTCFg4FcYSJWWHUZ3UPam25KnuMqTwD39U8WmlDTOwopViRFdYKvaxzRyVOhVLK9bQ1xERaY4SW+J6jlZumKbNVis/PHr5MKcwYz1Sh67K0ROTo+nqft1SqM/hSbFTq97rwqM9OFURftTbqJUxEJFDXEEmtVPqxotKMpSiVuAkZQi+f2BzAD9WhNJKYplFS4Xj+YUqWnNXTzTfPvuragIksVYWG0iRsqhkIiohMWRpjtHa11sYatoxspEauYI1hsqQY7Ytut4vQaNw/hggd5Lu7+w8//eR5weEQ51lxf/+AbuYhPs5mM89zHcd5eLxL8gS9wqgVbLfbi4uJ77t/+ctfsqzY7w93d3fb7XY4HBZFYUwpYk+nOM8LImpEI/CfQWESRdF6vUXfE9zD+/fvmfm3335zfQ/8yvPzM6K+gH0fH+89zwsC7/7+tt1uHw67waA3HPZvb+8/fvzoOE6304fRqko4KsowDDebdVkaZl6tVlCb/PTTT3B2goCBZiDLsul0+h//8R+e73/48AG06HA4xDC81WZdO9jMmzdv0jRvddrKdSCQvb+/D4IAIGM0GpmSP336NBwOkRIId6PneZikOJ/PQRPGcbzfH/I8n06nEG5CdNs0qQHuv3371u12wzBARudut0NISKO7gCkT3jsYc0GHQycgIgg5eXp4JKK3b1/j7s3zPI5ja6oYO9gcZ7NZJ4o2+x2wHd61iAli5izLuoOetTZJktOpMol+/fp1PBxhxywJrJlAHr/99pvv+zc3N6jwdZ3NBzQThuFsNmuGTd7d3WFyB1Lk8cCNomiz2ShFeZ6v12uEMRdF8cc//hGgM47jdqszHIzwAGLm5JRAVoEHDcL4V5s1EZ1OJ63dbrfb6w2MlEmSOI5yPQfnnIgjP4jjRERAJ6enpCgKuFTzPF8ulyBrledPJhMg4PV6DWGP7/tFkcEpiHsY+qLD4XCM977vO676+ed/FEXx7t27waBnrUWgId5PwEao9NI0nc1mV1dXSAEnkU6ng8Ww2WxQ9YGETtP08fERvgulVFLLBpg5juO3b9/meY7qFzmnzHzeAO10OpAdIzBbu04TTUhECMk5nU5iLdjZXr/XH3Tbncj3XZuUzCREaVosFgs8wZqUGMhOcESXl5dJkiyXy4f7p+vra1DvX758McYgShJCYQSMfPr0CdaRdrs9HA6VUnChwO2KeJ/1eg1ZcxRFq9XKWgP3ZxRF79+/dxwHwZcArFdXN0mSPD7Mm+EARVH0ep3pxeV6sUYxWSuVgwaAlmXp+wFwA5RF7Xbb98Knpycwx8fjsbRGa3e5XO/3R7Dgi+dlnueoaiCWQ6QMwmpfv36N1PZTkoB/hfBPaz0YDpGRMhxWaTmwa8/ncwiv4SbHrX1/f09EVXPSkLV02MdMut1qn+IUEpT9fs/MSB1N0hho9fn5GY8Fay0pRtvEWot+F9IOmHmxWMCggrGsImK5unmxHZgypR76CyDbgAARaexDInI6nRA8h1cPyGZI4XGX4fmDXgSmrfl+2Go5vu+u12sRoxRFUbDZJMhxgqFis9l0Oq2iKHa73Wg0KvIyOaV5XmRpXuQbJCwxKUe7pzghojTJHO0SUbfbJRYQJTCuwMsBOT6ejV+/fgWRD9s6jhr3IAoA+GLhBxMR9FhGo9FisRgMBoPBIElidKIQZjUcDj3fTZPKFtzchmVZaqfqeDTQtuH+GnQBYh6NfWOMo7W1ONXQIZrSlGVZmqKoKZvq1sMW3MB1Xd+YHD0H13W16zBppZBgUc1GZVIiL7zkdzAGWvNKFsIvAA4mzjPMw+y8iEYakMYsYqwVUcBuNeOLeoErhyYWJ+ZDyZlo+exs0P9Bb0HM+vxHZ0QqNTjNfj9XqDnS5ohs7akFyjdkQY1zzdLWae7nWZMvoM5aC9gF3CdIpqSXuMwzNZQQkVZuRdLWUeMEXXctY7FCRA62bu2LRoUqsbslemlQNOoSCEmsta6uZO3nZ4OZiXCuvrP5kqhzsRb+4WB2m+RKKaT9EJGq42jQCqAzGIz/dJp1w8wN3U5EjTOgPoxmzf8gDa/J78ag8DJUVTH/CJeb/1R1fjN9v4LPwfr5B31/FfV5uud5vfGyP2c/JiLLqtLL1zGRUg3fwh3MRFQFdoqItTjFlhVoLdf1WVWNgcY+gpVnq0kIbK21pbGkjDFK6263m2fu6UhFkYOTGPR6h3389PRU5KYoivFoEoahMD09Pf3hDx+enp7Ksnz75j1O4HoFw2hB5G63293uEMenJEk63ZaQ2e93jqPSNBUyzLTb7cJ2+8OHD8yMXoe1Ft1tiDKBHgDff/nllyzLjqd4Pp/j3ZMkibUWEkaIDtfr9eXlJTQ5CHvBS2IymVgp0Re21h4OB0OilMJbM0kSgCpELOOFDRMYxhuhv7zf729ubkCTZ1kGOcdytZhOp6WxYRjePz0aEq/l68Bph739fv/0eL/d7In2WrlXV1fGmH/+8xdIM9M0/fbtG16lYRiGof/bb78hEme9XpdlmeeZ1kpr3el0oPJ88+YNxnozMx79+/0+isIg6CdJglYsZJ3H4/HNmze+79/e3h4Oh26322qHeDCBywFjfTjsVqvV4XDwXQ8qgqurKyyX6+vr9WoBvTLOmOu6UpaO76HVm+d5mqZAGO12G5JQCDSJFLyAnh+mp4SZtdZXlzNC8JnWi8UCWZZgdn3fhZMPHQxcMvTKIWPwPE9pDoMI73h42tbrdZrmSRJjxDrIWlRxmHUCvQQRQRUDMRXcuq1WC3fBt2/fjscjMjqzLHt+fjZGWp2oKIo8T1vtKEB+SJKt1+uytCKy2azyPPddL02TJIl7vd6bN68gElgul+2olSRJux15nhPHcZYleZ6iyd601PGCR/mxXD0bY3Dsxpi///3vIoJgcnhFYKGDBvrm5qbb7WMBoF4yRTXMBRcUZRhMk1B3GGNA/gVZRkSNhgQyA3ghUBOKCHr6EFnhEiilttttnuezq8s//vGPk9EYeZeQ5yql4tMJ4Ga/30P2DZQJzRJYcwSub7dbDETLsmyxWNg6Fw+yN6UUhsZ//foVdexisTDGQA8GjThER1L3c/HkcT2NWJjFYgFx/OXlpbV2s9m4rmOtghYiCIKnp6dXr15pzafTabPZTWeT3W6HRg1KlDCMlOI8zx8fH9eLNbTs7XY7iiKtnfV6TUSlWFgMsYaLonieL7eb/XQ6hezt7u6OiLKiRMYICozb21tHezc3N77vAz8p5gaT4XmPaxFG0dPTk1jba3eKNMsV90UQ4okPRRAbBFFQjKCXgv/Egwv+HJSOIGVEBF0+3BEigjsCmBvNnG63C9jdarXCKCqyHBuE7NtKmSRJkWYosFerFdISd8eDiDRjaLFssjSFKgzLYDKZ4LGG23M2u8jzaoc7nRmc31mWXVxcbDYbWCOenp7AsGBVUD0DYTq91lpbW5ZlGccHIRuEYf6cONpHHSUiaZpaW6KJsVgsULn5vo8agJmbLk0YhpiOBKPCxcXFp8+/jcfjIAig/oLbATkKIA7wkEHjCM89MB0wxTaM22KxwEMpiiLcvNDEM+uiyEDwO/W4wMnFOM9zYhePShRmUmtRgAZq7PUyiF2duQkhTDLGCAmAu7UWCSJFmRlTmLzAExvRcLaaMO04mdNqWVXnS1pLXBhTClEVWKS1y6RECQuIdmUtiVSTWa2txBLqhbysLJg16jqbllODrx+gLdIyatZW6r9lK1YpsmQx1BM4k2pVRoOk6Xdf8pIf+OPPGylIc+p+AIf0n2lmms3aOkaz8Qtztc0f4hQZOYFnW65+4RyOCpkmYb0uEASEclntp2pwkSgmJrFiLVlrBXn91ZBXAv+PTRljpMLPjPfgOXCXM7Ibe6L1S5VS760+1/lIbVQ9P0UAIaWpSjsRwagcIsJSUi+R/E35U1uDmx/88BlnmJiIXkY1/XBt+EW5RUy6RseVH/Rsk9Vi/KFKayqw8/rv//9XdU3r7dbfrcuApiSwzIhu+k4ORFKNwsXqVkQA6riBxZJl4HixZLkos6LwHdcnIkOiiZXSpjQsytWOISYpWCjP0zxNWp7jeIGYwtFabNnvDf3A+fr5y+ziSix/+vQpyfLJeDoYjdMk2+0Ou8NWa50kaZZlr27ejCYjzOUJAk8pchzn06dPi8Wi3e6KCDBHFIVperq/v7dSDgYDaNAvb27wJo7jPUKFIUSOoujq6go9TVtHQLZaLVIynz/6vk9kb26uYFftdjuDwQChB7CyIWSQiG5urogI8RTH49GEZrNdKaWK3PT7/W6rvd/vn+7vlVKT4QjYDs9rZgbRDsMfco6ZOUvT6XRKVOU57Le7bre7Xq9H48nFxUWaZx8/fZpOp1RwliSu1r7rKqW67XaRZXmeO47q9Tpa82Kx0Jp7vY7jOLvdbj5/TJLk7dup43gANJ1O59OnT9yqEn/BcoHfBe73fX84HKBZAWR/fX1NRPjloig+f/5MRH/961/xtg6CQDuMmgdpG8Ph8OrqhpmT+PTlyxet9cPDQ6/Xy/P8eDz2e5VmHTE+7XbbYRbFIERRUfz0008iorU+bPdENB6P2+3IcTzHcXa7/W63V8QIVG54VuQtotcPrB8EwXL5nCQJZNPQQ6Pl3fjAZpMpCS8WiyAIEGhjjMnzMsuSLMsOh4NSCn0S7DAGXYVhuN1uMRmg1+v1er3FYoUfQYbxt7/911Oa3N3doRiL4zjNi0MM1NtutVrbzQ7Usud5Sjlpmt7e3gaeDzSJGgaxJ47jTKfT+9s7nH+qZwbFcTyfz9ebpYigp8TMoCum0yl0DmVZPi8WrVbr9evXSZJA4ownbOMWxQeJyGAwsLa0tiyKLM8yZu52u/ExQc9nNBoBsqMGg63ZWusHAbTaQRDkRYaQx/V6DdBWFAXwPeL/YWMAdEatdX9/3+v1Drv9YrEYjUZ/+tOfjscjYKJSKo7j0pjtbhefTp1OJ0nTViuC+5mZHx8fgblxFEqpOuwoR6jodDqFDPrjx49B6L19+9bzvKgV5Hmu2MEFdRxnOByiNH18fMQ0WaWJYkKoCCTvTj1VV2vlulFZlpjfhF6BMebh4SnLkl6vt93s0zSdTCYkKk3z3W7/+PiUJEkUhVmWKSFIOK6vr7MsOxxWwDrj6cXj4yOaQmma5lmJ2hKu9/1+P5lMrCUvYEBDWM9937+cXTuO8/DwQES+7zu6GmxnrQVMhFY7arV8z3Nd13O9Dx8+FNY8PT15vk9Em80GXAYKVwAXzCd+8+ZNkiQPDw9Qa+B0Yccq42xZMjP6VMPhsJk2pR2GLNv1PYzUGI1Gvu9i6txgNNyuN6C6o1ZYlmVmEyBj13XRpjicYtzXeGo5joM7kaQanduMNb28vFyv13VgvGHWGKALstyrR0fhvOFebiReo9Ho+fkZN05RFFmWMEt8OrbbUafTGgw7Za5Bt2utLy8v1+sliBgor7Dk0GZEKwNaPox02O/3VchmFB0P8XAwakXtw/7Y6/VhjxZLQehjdC7uX1i0QangJKMpCppDRBBTg2WJdgGMznmeJwmmCvj9fh9aGpBEjqvPsbiIYGGLiLUGV7DRbTdQTGpxM8oJTSL1kGNbmtLkRZEZY7IkrqzGpwxXXClHa62z5ry5npcrpZTWQRAoBcLEc7Qo12GrgSQr8YYVRMSLMCsNQyl9p342P9Ka35n9GqepqY9XVQoaIiLLLxM6mUTZhvmm7wDY2fapYdzPAKESMQ0uQyLMCzquW0D46blJ95xRbTBuA/DwTeU69Z/z7zGukOGz8EARsWLBllsxZCurqJxtkCsFefXRZYkOQHWSjRCciiLcyLlFLNdDgCyVTNygVhyBtaXWL6H154dpjVVK0VlL4XfImZv2SAP3m/PQlAFsdV3AaOKGYhYjpEhUnTzKzEyKkelzdja/A+6/24MXqUx9bV5o/Losw3+eOam/93GfVU6KSKCUUpWBl/l3qP3lMtsf6PzqnJ65NOqjFSSsVzWXZWLBZ1XHTo3iXhTVeiBTWvQ1jIBuN3WJroosz5yUHJe0YstUa2CoqnEts0O2LEtrjJRGgiAypmApxXpSFrj39/v988ePsM4UZbbdxUVeZlnh+p7vB7vd7ubmVRgGaKFigDxQ1Ha7d13//fsPeZ7j4ZUkiVLc6/WslGTI87zRbEJaH4/H7XYbHxNmbnz91tow9Jllu11DdzgY9NCFnIzGV1dXu93Oc1yrNLfaw/7AcV3IVw6HA6YL4em/3+8Hg95mswL7eDgcXr16dXt7m6ZpEHpQfud5PpvN+v3+r7/+Cv9Q1WU0xlrb6XTQ7UXYArB7GEVYx8aYL1++tFqtvMhcFawXC8TnjTsj4AyckOVyiUZwWsfVo+kPBghqmXa7DUI9z0tjTBzHWZZ9fl7gbfThw3tmMqZcrZaj0XC73SjFYdh23SpXzg/cMPLv7x6xtefn57dv3yJYDTl6SinHOni7QJ4ELGWtNUU5mUzW66VSCm5CkHmO4xyPRyCVLMtmk8l6s9FaQwAKxqjX6y2XSykrEwj2Nsuy7XabpjkLYcDN4/wJqSagvqRO24S/sNVqQaK92Wwcx4EeAw8UsPu3t7fdTg8kFiK9gUGVIgSTN49IALUGB+D7eEeC0Ycl7ng8/vrrr0opPwyKomCxjucbsVmWWVvmeX46HZ0V5gpXGdLGGHgNLy8vwahdXV25rrtcLg+HA2qny8tL5IowMwYUXF9fX1xc3D/cgmHFmcQDtIkHLctS6co8hxlPgBGI4AAoBP64vb3N64kwwGREhJc6zupiscDC+/r1K37T9XRZlkma4jZM0zQIfZycxiWJogJQBncEWF4w91i6p9MpPhyZGUATWHw2mz09PaGOgmAA826iMFitVkjLbtQ7i8Xi6uoK5hClFOy8/X6/iUb1PA91OzRIg8HA9yp7Ca4jBHVxHEetIAg9wDIoWAaDvu/71spqtcqyFOD15ubGGPP161dmvri4wArpdHq+70dRdHl5mWan46FqOGRpEYbh+/cffN9/vLtDmYRbQERGo5Hruo/zOcQJWussLeATgEEZvZHBYGAtGbG4f2E1RisDpmow4lmaouKF3ByD4S4vL4UIrv3A9a6uruCw7HS7iEXCGciyrDFtW2tPp9PT0xMAqzEGddpoNIrjGNH4OEWIPsTDDZfAcRwrDjNHUdTt9+7v74WpFUVh6KPpB0lPp9NptVqupweDgZQGnDp6FEopUNGgVxpkDKl6EATacWAA7Q96Wuvlcok+D1JrwtBHWQjTAgTxSikkzMBT3syzQ0pSHMfH4x5tw/h09H0/jPyrq6v1MsYJx2LTegKjMNdD+lBrQQ0yGAx2u11z1yApHzn3aOW9f/8eNTPyavM8D6OAmdvttqNdaA7BuG82GwQkaK3n8/lkMhkOh5gYiGc72HrY1rXWnU6Y5ykqGRQ28C63Wi3Pr55pjqMqPYZt8KttgHuDnM6pbmTYlmWp6YXTFWNLg3zbIs+zoiiLorDSDL80RERGZVnhui6zxS1DrNM09zxlbS6WCtc6VhxHHO0ppSzgdeXEAyXKRGwK88KlKsDZSh5cgULEMjI1Ow+sJSKNsfWcAmdL1r5sU8gYY6S2SDZwswZ49T++B2JS6ZF/h8rOPq4WK7zo73/4ejmusz9vvuzLZB5GJUznGhCRZvbqy7HUhY0VoVrwjo3rOrzFGCEicOG2Oio+35EX0yMTAnUEGeKiGrgqZy2CptLDRxhbAMFipZ0Dd3kpV+zvz8M5yq8gqDFiWWshUojBUUrVeyu1TbYSTb1EuzTXD/82Fn4F+WHgaFPcMLPFPCRmqSBsUzOdj9s9v4Tyn8qnzvG61Mktjd2Y69NLUHfV+ZLUFAxCTcVZfV+UiJAoyz+sQEVEwtVPhZksjkUbA6wPzZNlx236TKUYzjLXD5XjKqPEGiZbWxAqch+SLDTmSkNirSkKCNDyNJtMJrefH7Ise/3qerXeZqXZH+JTnLledPP6FR7fxhSLxaI76Pf77v39fbsTjUeD3e7Q7w/GowtHe+xpZjocDkHg53n1At6u13hPs+MsFouHh4dXN2+Q6gWipdPpzOdzqSd1iQiSWNB4Baf45cuXsiyrePj1Ck9tICdEa8Hw1O/30dDE2G2cAbxdfN8/Racg9PBAD8PwdDj2+/3tZtvtdvMkDT2/LPI8SYmo0+kg0N0Yk6XpyVq8F2dXlyKiHSc9xc9Pcy1UWtPptIjsYjHH7Sdier2O53mrzU7Xc7PjOJ5MJlBubLfb4/H46dOnDx8+ZNkhz0uQT6iCRqMRLKeNRkhEoEzAjhFbSL2BvKWWPhMR3sGdTgcBHZez69LkCKc7HA7Pz8++73fbHRhn8UIFbn5+fo6iCPAd2AIBl6ij4HMqiuLh4UFr7Tve6GIMwUNZ2iRJytLkeT7sD4BiLy8v4QoFGojjxHU1HFF4/WutN5vd//yf/xPmAWRrYDEcj8dOty2WoN1HXElRFEmS9XodgKHGXKWUAtnGdTwUVDebzQY9HJDZSH05HKqYeSI7Hl/oswSrUmwrbEd+iHiNu7u70zFutyPH0cyCyBeEYyBhEEE9t7e3cRzjoYQ0FSKC/xhiEsi4m7AUQNLRaCREINeZudvttjstSBcwMhaVxmq12u8OSF/Bx5myhJDgcnY9nU6hcsFyQjgmEY1GQ2vt7d3dw8MDJiuVpkA4YK/XGwz7le8Qsk5LeZ4D8WMUznA49H0/iEJr7WZVzQy+u7uDhhgSERCQlcslinzf321XIuZ4jMuyHAyGWuswDIFpEGuDOxE5HjDIjkajm5sbx3HAy75+/RoygyD09octTITo8o/GAyz+2WwGZQWmDWy32zRNV6slwBlaAWmaElnfD5+eniaTyWAwKMtytzsYI7e396dkL5YvLmZhGE7G0/F4jBqm1Wr9+c9/Luuk+cvLK5QuaOmIiFYuUfU8EZEgCJIkabfbaZq3Wi1NgufPeDwGHsJdc3l5CaoezDdK0KIoLi4uUPwQhi5FLfynLUoRwbLHmsewMzwW2u32xcUFRtSJCGYAYZAtogwdx8FsMvwCEUEZH0URDme1XiDIy/f9P/zhD1mWrVYrxxmAHgb4RrG93iyLosjSFBUXoCqhe+A4uC5YvZADQfmNHM8wDPEUOsYHR7sQ4EEGhuSi5XKJgFrUObD8AuziRkZTa7lcRlEb7EkQBEpzEETJKStyA9+niODh3+22i6KABAtJ7XjQob7CjCSgZ4i+EAiD6RPor0J6NxwOx+PxfD7X9TQ6PABRfmCX0KEaDAbL5RJbmEwmzXRtmLig1rPWtlqd9+/fg7z3fR8TrNBeoHrsbvOONrZsMPgPwJ1r6QJX+KwEiijNC/YVWxZFVpY5an6lKvW8oz1jTGXTdDQuqFKKSSt2mDnPc4aNkEtXaWbDpJmMCAsbZhYmW6nQxZb1iKLqy4IbZgUCEti9hmq1DF7VCL5GmYCbFVIUESOWha2tvilky7JE+CzV0B/HZa0VYSXwjL6w0VXNg1KjnjffyGyat0NNTjda8x9kPC9S/gbgnkN8DEClRhBvv9PHU9N5UKhchIQbLCrWGjJWrDHCDFmM1IohRjrMWbwjEVV0O8nLkKIGSdd7XGF3/Fd96V9G5FZHocz5ckLx0Jz8s+tSnS75vqRpfiwWjLO1lphRGyCQE/oZrqnnKnXeaWxezcdjD840TGfkf6NF+f6DXyB/hfLNf3Ii6k+pMXcV3SNS2WBFpP7O7zQw2HRlelBSS/6rc2EtEQOaVktExFhilga3iyAFB0sD1m62Fuq3Cr1TlSj5smKMMWTIEud5nhV55HqOo0pTiohih0mEDAtprpRMWuuizB1mpRzlWhIsopJIfN+/nl0u1ovHp/t/+dt/jVqnX37+fDEddNo9pTH1My6K8nA4eJ4HPN3v95mdp8dn3w/v7x9FzGQyAZNnrV2vl6vVKgqCVzdvyrL0fX+1XrNSpHg0GTueezwe8dKFGhjmHlARUEzihdRuty8vLzEcx1qriD+8e+84zv/6X/9La311dUVWDvt9FPqeq13HL4oi9AMxdrteuVopRzdj2xFYYWwRRdHxGOM5Dhlur9eD8UvnhdNWkO1C3rBerx2t37x7C5wxmUyS+BS6rkvKD4PBoFeW5eFAeZ7/4Q9/cF13sVhYW2JerIhst9vJZMLM4MN6vR6I88PhsNvtBoNBklTE7f/9f//fr169gmAjTdNerwesCVVAWZbDUX8cjJ+fn4/Ho2IHHFWe5w8PD8A3OJkYu91ut/HnUKoAOSEaxXWdwWAANDkYDI6HHSa2uK6LysF3HOU6aZrCREs119vr9WxhkJ5+Oh2NEcdxXr16RayP+8Nms4GRNE1TnLo0TZVy3r59W5b5ly9fkPaA9g4scc3kSyyAIAiyPIWRt5lIv1wugyDCKxwqKUAu1EKAIM0gd8C+0+kUBBF2G6+rXq/X5V5RFMvlMxjWIAiZ/cls2mqFROI7AVrer169ytMMguwsy4bDsVIK1Qtk5WEYKqUQDvj69WtIgWHixPXFoHtonKbTKfoSKMA8z8vy/Hg83t/fi0hRFEHoh2F4eXkJMASQ0Wq1PNcHt6rq8SXMvNlskJA9Go3u7+8R9tLtdhFdigddt9vtdrsgy7M8xZAvcPy1KbMnIkzq06dPUNkinBFsZb4v0jRdLZa4kUXE8zzsMNhr6G36/T46BlrJYDDodrtZVmw26zwvfN8/7GMhA6YAdSboZwx2raRoWYZhzCICyRYm6QAdhmE4Ho9RxGKemogsFs93d3eQGDk1XYlSJ0kSa0uoqPFEdevWHNoInudZQ77v+17U7XbjOLm9/VoUxbs3NxAaASbCCjIcDiEkS04Z2iY4t2Dln56eEAZwOp0O8RFB6cB/6/W62+nDsVOW5d3dXeD7WmtUyzgKYHEiyvP8dDiibIMaczAYLFcrOLDRnXAcB7h2tVn3er23798tFovT6cSKu/0eyrbJZII9hCEYZSQqDTTE8N5JkuTz58+keDqd4oR7jgYf7/t+6AdoccSnWETw4NVar1YrFDlJnqGvghOlhJbb57TI4UZAutd2s/ECL6sj1fFgRwFDRJB4oeprtVqe5z09PQVBAGkTRiwxM1Ay1xE3WDBpkm3W2zRNr69fYZt44WJRQeuFHYb/FXQGJrAyM845/hAjvTH1bL1eo92apqm1drvdjiejTqezWCwCH17zql86HA5RWruuC2EhwD2kMjgJqOggq1sul3/84x+YGRnH4GuiVqi1JhbULa7bqdC6MaaaL2tsldde0XxNOIfU9HmlfZeKZzXGmDI3pjCmsGJcxUoprZVSHrkAdoqZ/SjEfWHNi65Da52b0mFi61prrSFDxhIzW62cCgVWmnjbvMIqbKPoxdrIL3NvGloai7woatMtnQswGtRYybKprkNYQarxAuQa/Ya1llnTGXC3OBixAs0xC/7BrEkqrK9qWT+RatA8fY/Ua0xoq9wXMbaOJ7dVrWKlZrV/OAT8lOp/V2es+v8lLpAtS1KqnunZaH4UcD4RGao8AlyR0VSD8qq5UENDOt9/IUO1VxUpCDUEffkCyYVtnhuglfqe7xbGqat7LEQkWjfVDtkzpRYRwaVqraUXHK7q6lKIvgfuSr10T5piSKQhtn/QulCzZ/J9bmVVMpEorqaO1euvOkQRwcdUNw+Wzvdpo2dbeylDK+2afJd1KlW/5sVu0vx9XaPU+vqqjkHZJURsrTXCIqaSu0vlHSYmY0yRG1drIQInaisnikKQKG5aVfkrSEoSpqIovCBgsp7v55lhpVzXvb+/831fafr8+fNgNGy1Wr/8+jkMw/fv3xPRerPc7XavXl17nhenp9vbWyhr4zhZr9fW0ny+0NotSwFXdMqPh8N+vz+EYTjoDcMwTJL0H//4B+QWSMJG7hsRPT7dY3CjUspKZK398vVTlmWz6RWUnZ7nffz48XQ6vX79WimVpPFg2PvHP/9emrw/GIeRn+XJw+MdBBJJGq9XW2bG28L3/aub6zxPUe1AUBHHseMqay1YXvDxUBdorWezGVGlykD0WFEU//qv/2rEYJ6O53mjwbAVRiIElTycmmjQIxAjDMPFaqe1Hg6HaLYaY+7v7weDwXQ6xasLLrTPnz/vdockSf4//+//183NjdY6L1LtMCspTX4xney2hyaZJM1OHz58mM1mzLxebY0x3W73l19+iaII/G6SJMiswDt7v99DUPvhwwcReX5+HgzRp07AvQHol0WGVynGLh4Oh11R7OMjkDpG5/j1JFQlnJW57/vD4VApB7k0T/OFGAsQBo4ZhGW73e52+2VZLharPM+bGS6j0Wg6nZgq+IwAmACwVuul7wVYJMvlUil1cXHhuj6zYGAK1NJI2/B9f7c71BXRAGpN4ADkvRwOB2st8lIcz728vLy+vl6vt6BUSRPocNd18OIsisIUVXg/hmr9j//xP/BAhJMSJ3+z2SBzEAoKDA8GAIIkAGfecZw3b97gJHc67W/fvopIfzhgRX7gEZHrOWgZrdfr5XIJqRIU6mVhmpdlp9OJwpBqWgU7VhSF7/uPj4+AdygeLi8vZ7MZ2vqO4wShj9OOHsjV1VUURbinmNTFxQWKVVD46KjkZVGWZRRU/QeQuJ7ndXsdMJpZnqZputmuR+M/tDutMq+8sIfDQikFwNpudbTDuBAYswVXBkA59B5I4xYRZPJADoTzuVgsmgT329tbEUHsYxwfwejDKo3gF6DVVisE02mMheYekLQpy7UjySkLw5BEH4/H5XK92ezKMv81TzDnq2myoX8F5jUMWkgRORwOmGzFrIMgwF283++N2F6vV+Rmc9pAz3M4HNJ66nC322UiuMYRIg5GHO2yTqcTej4kdsYYZCtNp9OnpyfkuDcBJs/Pz87W3Ww2P/300/v37+M4Rnan4zhiJE0zUN3HY/z69euyLI2xUeTxmXoE/trD4dAb9BH747ruIT6yEJ6KOOGtVktp0lq7ShMRHPyovmAHYub1es3MrSDM81xpBYlOM891+7yFm2U8Hvd7g/v7+91uBxMtpEdQ5sBb3xCi6KJgPBZcodaWvu+22+3tdh9FnjEmTfOiMBACAamjqYK2pO+Hp1O6WCzb7e5ut9PatZaMkShqYaRGURTWkuv6ruvjXXxxcQHPqNT6Md/3v379+urVK+weamAMrZvP52g1QPGPFYgmA9ICwjBE4YMamIgwBABHh/lNCKwkriJ3PM+peuBlWYsovkMOzfmxWNlno+wb4G6tZRKllFIuK5dMWY2gZKXYqVGJcgOfCJ46FpGsMmI5xNUITCZNUoqwIqOU4u8pWKlti8ZINQ6Ma8yKz9AVngF255rtrq6vBWv5ItKQShokEJPUeXukCJQw8xl2wmPQWosJPfh73K1MFunPRCRiobJWSjXSFDpT5mAxn+M3HKD9XuDenHmllJXK5I3zX22crRK3QepUNyUqfKioUWg30NJa0NKVnqRWvHBNClNdcnDDo1enBxbZSuNe48Pmp3T2m98T1jg6F3SnwvkkqoPdvteQV+dehIwpG6jcXD5sSiklwsaUWF31Ja5w6UuThVlEnCbWQGstooypgH8dKMlU1aZVaCNT0z7gZuf4hUfHhbEiwsJipe7dnONvkNw1CD5T60vVFGrWX1MUVkVYWZoGmltrWVlT4uwaMdXiAERwWVtrjRjU1qiSG/helwWMlFYibZVDRI5W2AJZ0sSiiJk91y3EZOmx3Y7YCdhxiyTTJHjvWmu1qxUp1kqsdfwgyfNO6CslpFhYpXHGxorKPn+5nUzGN+/erFaLNDu+f/eHwJP9Mb67+zqZTA6H/Wq1Wq/X7U40GPT+/vd/4l17cTEREdd1v97e/fb5SzfyRVUIg1nvjgfSKggCJrq5vn795o3jqDxPu51WGHir58Vg0LfWMLvgGj9/+RanidZ6s9t2Oh0r9pdffjnG+1arZaXcrHdE9M9//nO32/2X//JfkIuHcTxhGBhT5nlRmhy3lpXy1atXfhDA7ZRlyXz+iAk+vh/mebbbbTebje/7YdiC3oCZsXDTOMYlXq1WYRjmSZLkWb/b8zxPs0pNpl0HbHeWn7KscB1vtVqdTidW5Di03j56Tvv6+qooCkXkav3tyxetdeB5p+PR1Xo8HM7n88NuF8exZvp//rf/R6fXw0sdQnlU/N1uFw/qh4cHJmsK+3B3r7W+vr4ejwZBEKRZNQ8Vjdd+vx/1OoEfHI/H3X5Xim13u1i6ILm9wC1tISIfP35EgvJkMhKism7yYpLIYDDAawncv4iMx2MUNmwlybIgCNK0CENHKZ2mqetqoxQpLkxJRMCvRkg5vN3vMMno8vrG8zzArF6v5zncpDTAj4hk7tFoxMwIyIPVVUS223W725svloHnv337PgzD29tbY0y/P+x3B/v9fr1ex4djEAS7zdZxnCAINptNHMcoOX766ac8z41Yx3HiOCFSUdT2fXez2TzdPzBzEASj0QD9HIwxgqP3b3/7m1i7XC5vb2+LPN2sl77vX19fJ6djWZartYDdT7OT7/v9QReMMiKMYFf99u3bdDpdLpcgFLXWpjDdTlc7DsJnrCktgr2tLbI8DMO2H0ZB5PZ9Is7zfD6fL56f4Qm5nF1n6R5DMaGucV13NpsFQXB3/+3p6enp6WkwGORZ1mm3Ea1oSvrf//4Pa+10OvXc8HA4rJbb0+mkiIELN5vN4/0TYLrWNgxDcc1wOIzCENpcZi5NMRqNut0u6HY8k4uiSNN0vVwBYUO55LrucDhotVqe57daraenp+VyeXFxkWXZp0+f8M7485//DPlWt9tF0YuiOq3Hwk8mE2TLfPr0SSmFJfH09IgjhTih1QpFxNqy3+9BrILxYcbIdDoF5dkIojqdbp7nRZEYY4sie3x8XK/Xruu8en3lKo3RxZ7nBUH48PCAipd0RdBaKV03ArmwWq1C3w+iyNry/v622+23wihL0t1hDzieZZk1CY4OzR/g5v5g4AdBmmWO644nk3a7fdwft9tt2GobY1jkEG8pzRzHOaVJt9tbrVbb7W46nfp+YIw1xibJiaxkSdoKo4S402rHcVzmhVIqjo9aK2ZyHG1MSSSOo8vSKMVpnmVFjrlOfuD6YTAcDtE8SZIkSVLXdaFt2522QRCQYtDeqNa05wZBsD3sD4cD/gSw21obtqPVHcKgdFHkQRAkyako8l6nt91uFalep+e5LmzKyKHv9XqgMLTrWJJup3M8HsuyvLq6Wq/XUJ8rpWDJdf2grXRZlp1ed3fYV89nrZjF8xzPc06n/Onpod/v9/v9oihanRZrcn0nL7MgClebdStvBVE4GA1937ck6/t7yDJxk97e3sLpm9fDuaA/dJSzeF66jofxee/fv//06dNvv/2GYBkQTGAorLVZlvV6gzg+oBDqdrvoo/qB53temiSB719dXjbWKUeHKKQ7HVdEmiaDVq4xKTjKsgrIcvG8tSWwNivWrFRZkiktxOAQKmh9FgxihRzRbDSROqNmuVY8W0PadcqylFw5jiciVgjfL6gUVsTCloy17FhjgERUnflthGxZAG6KUoqrMZkvEMtWYYvQS9gGMddItJJqACgDETEzISSdrCYmy0JKlMpNCZxtLVlr6j/Py+ZQRZBeX5HVdUnDrJWyLFBAaBxGzbqqJmiEX4hzwFDNDNzSlEzaGCnFKqXYcllaEYOnnFJKsShXWTHMrEhZsURsjCh6qbVIaSZmYmvFlBaVttbaGDG2ShgHhKuvpiJ2hMRYo5RC5qIxxhrSmlgq3v07PQySTZiMEVuUbCEOR6tEHFbGFvUVIXwfOo4afNOZBVakHkiKC1qWpdZVIDuRspYtOcaqPC9dl3zfJbZkhJgb2h0Alogq4K61hjpZ1XZsBOpJY3pF3GEVhImjakzHuGD52QVjLAX+vq1wXmfU7ZVqb5rfbOrEl9IHQnSD+sFQpXWWqjZAeSiWvlfqV0XemUuACM0yKL2k+h/SZ7k3L3tIZImawEfraF0Yk2eZo1xm1q7riBBsp2jNKMdxnNJYJaJd11qbm0JEijxHH3O3243HYz8MP376rTD21atXs+m0KIp//vOfrXYb7fjlconheUmS4CRfXFzAVBf4kec5zBUdC8Ei3oiu7602a9/3X71+fTweEeBIRFmWTWZTZvr06XMrCD3Pu7+/P57St+/fbQ97uKzKvHBcdX19jfwySA76/T4CE9M0BbJEixwaG3AJUAs0LFdTsuM/4zgJgxbEjp1Oh8geDjERhWEIjPXTTz81oQ2g/EuxIEdHo1Gr0wZLkaap42lj0jBwlsu14ziXlxf9fvfr18/DwWVZlp7neZ4D8u+imtm0++WXX0CkgQy+ubnpdru+6+73+4eHB4TQpWnaaUV5mkByY629vLx8enrK8/wvf/kL8D1MYMhRbqiCsix//vIzYkA6nU67HSHhZL/fv3371vfdXq+3fF789a9/dV233W5bW9kfqSbDgPIHgy7estPpBchOlGdX06vDKTbGrFbrRuQ9GAyCIMLhiAh65Yf4BOwSBAGaACKC8qBhU6QeBwPWHOwjugHW2tPphGunlMrLakQrpDtoUpdlaYoS/FZFVJclRNu9Xg9JQff39z///PNkMnF9DwkPSqnjcQ/uFuLjwWAAJbctDeoZdD8Oh8N+t2saGpCj5Hl+fX1dluXz8/NqtSKiyWQCz+XT01OWZQiFFBFjTJIksCt0u13EqOP+3dWqhlbU0Vpj4ibGbOFZFwQBs8IhH49HeEIQXYJzCKyJQ0BMU6vVWq/XUIT3ej1jzNPT06nOjb67u/v69StaScPhsMyLdrsN4jAIAsSe4NOLsoT2Zjgc9vp9rbV2Wq7r3t7ewjJxdXU1GAwwDMuW5t27d0jBg8oL98WnT58bSvXp6QnOP2Z++/atMQYzbrDOYVx+fHzEbE6Ubaj8wd+jO6+UQqOj1+sppfI8hYqDmcFxWmuhCzemWK1WqAbRiJvP50qpfr+XpjGCU3u9HmrR+XzJzFdXV0EQBIE/nU6hC1Kug1EJu92uLGyv18NZKvO8NAbh3yKMWgWeVExXCPwIVxaAFZKqbrcLLRBkVPP53BQGTRKlFAKjgOGQTHJ9fQ0/MWjR8Xi8223rnNl/Wmsx5AiCupubG+jTHMeBPA92hdVqyVqBaAfBj8FYEMeLiNYamvvxeHw6xmiPFHkKJbS1FsKSJgyR65GKFxcXx+MBDw0ovDHnwfM8a6sho5D6dLtdKOhwk+LmtdbiH6gQ6vATBViMp3peGiByvHxhEAK+h+0eihrY8ZsW32AwOJ1SvCkAl9vtdpIk8/kcChbHq8I3kJCD2h6mVWji2+02HP9Jkhhj3r17h3MF8Q8cw3Dv4CpDyWOMgZYd6pr9obKY45fxaMVStCJWTOAGDWjhOvHwnP0tSwUEyaKJMJeq4pgrNKwB0IAonDN/4YtqRZ9BjkriUpPoThVDSXnZSKi1tRZlA8AlDIRgOa0tjSmMMYhwQaXt1PM11Xda8Aam/15L/fLFzLZ+ouLu1o5SrEgsrG6QGNQKIqlmkZ4dJlEdxChspTyDZraixoWZqz/HS0QsKVVR1DjoelfPWgFnaegNfq1/jbEg8XpCAcLKCqoIoFdhqiA5ixWxhP+rAaRCSdWAz3NsKWeaERyMYhZSrFiYLITk9mX/mzNJREozKxEyAOS1lOflEpxfmvOL0kDKut54SXZv9DD4NSPCbFkJDtRKKUJIs6nrHyIi0oqZHazUZlk32B1XV0SU0i9/87065fuzoxGlWUP/l2M+r8DOoXxzOc+3fKa+wokBxlZNV4uVWIM/tEyMlpAVS1aam4qIclsodhrvKREZsVq5L2ZXZqJqdCt9/8UsKJ6IiJnKstBuyGWRZZnvhRh+x2V5fj0wDksKzm3pEeW58Rz2vdAUuYj4YeC6blakv336lVn3er3xcHQ8Hr99vYPVDCgESo/D4bDbHa6vr13Xnc+f1ut1EIRa6+Gwb601ZWHqJJM8z4Wp3W4fj0fX9758+UJEiMDDP4To53/+7GknjuP4cEySxHe956e5cvT01WtFXCjygxFM/c/Pz/grZMyBnjHGBEEwm81Wq+XT09NuVyUAonKw1p6O8Wa1Bg3veV6WFtZSVp7SJC+KQil2HI0GN1rkgGgw98BaulqtfN8/ZSmgkuM4tjTarfIBtda9bj89ZSxKDJVZmafF29fvjnEOLcpoNAqCCJHbzIw5NeiMbzYbjGPEqv78+XOWZWHoJ0lcZFV0+s3NzWIx930XLtvXr18HQfDp0yeMLDmdTkh5/x//43/c3NyISM+rtL9Zlnmek2UaD+J3796dTqfffvs1juNhf4AO736/R4hYGIae6wI6QHYF2JRl2cPDAyIFYVPLThnGvxdFCVMp8tEOhxj8IuoEhNbjhQE9A+5faDP2+/3b19eAp4C82BTVQ9ebtHKoP4MgGE0u2u12fDj+/PPPeMFDi7JaLImoGgSbJIDmGCyPrgUU/yhyHh8fW60OvMtEdHFx0e12YTsrimy32w37AxwR0Od+v3e0xluKiACaj8cjykKYNfH6B8TEKd1ut7AK2DqIfTQaQUKDvjwEIQj1u7q+vLq6+m//7b8hKBApLqvtxvO86+sbFAC+708mkzRNraHdbgePhDHGdV1kzEGTjc3CBPmPf/wD30+zrNut8unyXNrtCAIDstKEXWDwFpBiHMesBCjneDwOhsNOp1OaAo7AyWRCtQ0aEeO9QRdlMxL3UDlrrdvtNuJowjBc1AmY6/UaK6Sx6AGDAuKLyP39veu6GP2DIUdIfYUZA1U6ZjnBtgHuE8J0NB8gouj1emHY2m632+0Wfo8kPazW8yzLWMn7D289zzscdu12u9VqQbtVWxGs67pv3ryJOu3qweW6zNREl1prUXX0+/3DIQaoTbIUcmrMpkCrylqLCgFKfWBBVNRYpY1i5O7urtVqvXnzhojCVgQsu16vUZOHYQjhFmQhAKl4x0HG1oxOw6mDmMQYq7XeHw/YCJhvNEygR5c6jAvdIZQBURQxiylL1MA4q+Av8MXMkJ8BzaDehuCQiOI4VkpjZeIp9O329nQ6XVxc4GDRxxOmPM/3+z0RQWKHmVOo2cB3DIdD7FJD86MSWK1WURRlWXZxcbHdblGj/vLLL2ErstaWpWVmAGu8vpE4jGd7WZYI/eQ9X1xcQNiJjUN4VtbBr7ARiwh2cjQaQfDj+/5yuRwMBu12+/Hx8fr6OgiiOD7gckDA1m63p9Npekqha7e1zBqnhbmScDTNfGbOi/QMNVJtaCQi0XX0HkQfXI9n0c6LmlkJiahaZnM23vJMa87MQkqJQDIE4C6WtLaY6cN1JklZliJMBMmEFcsiIiTGiLUkUqAm0Y6SilIUay1CIM+NobXc5SWK8RxNNRXIOUgTElZsSaw1yHK3tS2w+mW2XNUq9TZrZUud/0HWFiLiaE+UUS+ab2Utgaqu8duLIJuILLHgf0UEZkJbeRqtESFbWiOlqcsnqTNViCwbriIgXw7kd85JEMrV9VIKlsV6H/jHPxRFzN+jeiDSH9FgDQKZX9TnStXmWjkrSM5///wPf/+j+iP4fLOWqfYfMyuxJKYaLHCmO2KsRiEi52XZiaDox+OjLE3TAjB1Pr9Sjv1eldVs1PO8slTG4OOqFWPP3AbNuWvONjQzDW1fVxXf2UnR/REp6/pWyEKtU68PrKpqXEFze0ppCqUM2HSthZRmISFDUmuAmPFx1UAlXF6xRFQP4T27iGI0K1vkZZ57gVPvlTCzYseSETHEbJkcx7FFUaSpChzteZbE9/3I9dPkuJ/vmLnb67hB+PDwUBQmjmPWSulJFEWz2QydTSK6vr6GNQ0IKQyDy8vZKU2+fvoSBSHimb9+/WrEDofDdrsdhmGW5lrrQb+P5nu310uS5J+//hL6vsmLwWAQBSER5WURBMH7n/5wd3eHxzfXnjwpTVHkeRiCldnv90AewLJRFP7bv/0bnj7T6RSv/PV6/fM/f12v166nLy4mvu+nSa61Q6RYKTBbUStotaLlcoGIawh5MSgEWB9tUNcaxKWBwRqNRoARg/4wSZIw7HTavSRJ7u6eXjEXob9YbqbTKZ7dRIREFIRdbDYbIgLFSETwa3758iXLstnsYr1en44xBtqvVosoCgAvwNBjlhP8Ye12ezablUU1zGg6nYrIw2IOxLNeL4GiwIbijIFdu5zOttvtw8NDmqaz2QUO6nk+B2a11nqeZyXLi7Tf709nkziOiS0r2e7W+akcjUej0ej5eQHGN8uyVrv9/LysbGRpSkT7/X4ynQG+4IowM0gppVS73bZlBp0uGiNQNuP3mRkGULTalFLwhx0Oh+16A6oMiB8so7X2+fl5v99Db4PfB2OB6YlJktzf35fW+L4fRUGWMaIzYc08HveI/8eoI7QyPM8jolarNRmP4elBOYG3Oyqu0WiEebdAIYhGAepClYUKsJFtdLvddrv98PCwXq+NtVmWocu0Wq2yLGMhdJbKssSyieMTUBeO4nA4uI6Po4OdcTgcwkV9d3f3+HRvrUUjHtAN5l1rLTJecUcA6n379i05ZSCki6J4+/at7/sI0NBaH447x3Ewg2y333/79q00laUVBQOwFPBNlmStVpsom8+fjTEi5Hk+SovxeNzpdFCfvHr1ChQ+dgkIEuQ9VDc4vUQUBEG/3wd9C78vZohCQuPV49KQg7Tf79M0HQ6HyKeC2gE31Ol0hHgM0gjfd7N0HoXu1Ycr13UPx10Yzohotz5cXl5im/v9HgFEjuOM7AVyr0GyRpElYs/zXK2fnp+Lonj37t1oNMHu4a2EzonnBoPBoFKmeR6M13hSofADAIW2h4hQtaKNeTgcjNjpdAqOAM8iPAAvL2f4BZQKwIgAlIjUxKMP3H+e52VpsIaJSGuttUY1jiIWRcjpdGxG2KanpIbm1XsWbxg88KESgfCS6uG40L4/Pz8PBgOwKoPB4HA4lmUJhn4+n9/f3yNpkYjgKM3z3PFcvMQBYfv9vud5yFRFpZ3nObOUZd5qhXF82G7XgLwiZrFYgK1XSr1+/RpdUyJ6fJyjcmsOcLVaJUm23Kxfd9qz2QxpMzC4tzrtTqtdllZrV4SLwqAIabe7RC83EV6g0+kURweCA7zDbDbDfTebXaEpgQK+toUYU5g0TZuZcaiR0jTt9Dq4+kpVcIW4GjDENTfM7DDrCoEpxaBxFd73FTjTNXMHoYiqVSciRQPdiEg1s3ikwvFECqCzMJY1B07QcKDMrPR3AfNi6yB5JcxaqQprsaJal8JKveAoZib1Hf6rQXwl8Gj+19QpKC8gFJj5LK7jHJU1wJ2I1NmQHM2qTkSpGhfQlrAPgQcp5ZxjNoOBRpVQpfIBEpFIdQlUPXNUXhyxLEJFXpZlyYo0cVEURFUgMjNDol/jY4BmagaaMhNOEVWRJ/pc6yKkmJma6gKHda48qSQu9F0Ky/dfzFxWehPSYPWVAr8rZ9s53+YLXicSItt8k6vpjSTWqdyYSEcwVZ2jiJUSIdhYjamV/braaawdh2oqqFmL9ky5pSpvLNeTvcgKA08rVfWRhAirAQ8LA5sEKTobedXA998fGNF3VU590tlaS9J0Z14meBExEveFINyqQo7U70LorbUQKgh7qs6MJymJHMXCTPA4V2XGmTiHmVETshKx7ChNxjrM1tosS4KoLcJST6cVEWMNidLa1U6pFBtjWCkIZqy1jhd4Iqd4z0LIHcuNXTwvy1I833FcX2ttbCEisCilaepHYWNrQy84z9P7+9ter/PuzduytJCu+mHguX5ZGBJ+8+aNMSbPMmimf/n1V+U63X5v0hv4jqu1fnp4nM1mpCrXJhEBtSM5/rjb+b4/nV5ozzscDvA/QZsBrrrX6xLRbDYDNETKGIKxw8jvdjvT6cT3w+PxmJzSspCL6cQa43sOWeN7jinzLMmG/cEpObY7ke/7rXY4n89dz213huv1msW8e/MqyTKQpqfT0ZbFTx/e54X97bfPzNsobLfb7U53IsKffvvsBSESMF69ekVEWnMUBf1+f71e7nabXq+XZYkxxb/+67+2Wq2///3vRWGgii6KIgi8ysdpiufn54uLC8dR2+0uTU/MGmJKoOSW3zZ1r3M+n0+n08vLy36312qFShHmKVprF/M5M08mE9fVWmsWAg5LkkRr7na7eZ6vlks488qyDILAcQV1C7rAUKwBc0AeCmsXhFKlMejAAOggoE27XhAElXq7KNApdl0X+PiYHAH+8FIfj8eDwWA4HILNhVcV87wQ/vD5678dj8d21ELUoLUWyLjIqvE3eFCICHhrS4KwSyQz9vt9x3NPp1N6Sp4eHo0xWCqbzUqzerx/IMWtVqt/eXV5eQlVA6q4bqeD4Bo0YU6nU7vdxu6FYYjkUGThAU/DqHA8HjGqE60PrGcYKiog7roItxlPxsyMk/bzzz//9a9/BRf7/Pw8m12WZblcLo/H4+XlZbvdfnp85nqWKjPDDNdut9+8ebNYztGDggUQhlSIspCWXZYlUDsIbK0dCDmcOqIOPwLWxMX68uXL/nDwfR9BVWDp2u321dUV1YPJbGnBf2utIS5fr9dgalG9+75/dXUFaQHKLdy/IF+zLEMMOUoCKEnQR0IGDq4sIK+IYHo8AKjneU2aJDJk8GtgW0ejURi2pBaViahOp+95nu+Hh8MhTUq0F5oW1vFw6vf7qAaJaDKb5nmW5wV6YqvVCt2MQXfw5s0bYFxQyOv1ujDl+/fvfd/fbrf73REpN9BcofOALEscHSazUgDBZ5VXA2mN1pqkkk9cXl5KnfyIugJBitgaHt241swcRRGeq2hiwDaw3R663e7j4yOWCvgI/AhtyTQ9Iboef9Lv9zGLylq73my0UrCDo+OERpzv+5CqJ0k+mUweHh4a2QD2E7UZQhufnp6QArler2ezWeMjguIR0A3dAxwREcFpCrCLDYLd6Pf7sO2WeZHn+WQywYIxxtTz+A69Xq/IcicMNStT2FbYtqVkee77PpJnUJXhFKFTgbWEk4MKytoSPajFYjGdTvHLECyB/sCq8zwPjZT1eu26GofQCHvAAmAB45u9Xg+GVIhndDWsVFspTfmium5I6AaEWAOCDmeOkSKilAITR0RKNBGxWwMD8934oeofxkJerpSjtTApUcxWlFKe6+E0GhFrxHXVWcAfSR0gqOrgDe0oh6uAEJAyRN9zwJa/n2bzgq+aP0HVx/JymCgGlBB0OMBHzR+en5ZzMFbDIc0iyChEsUEkyEeH+bD+E+D1c0pXSW0XEKnQtgj+DUG1mBqSVy0CSwaB61qJsUHNFDOzkToTptqoEFcVFwmTaGZCoDorB7WIiKgqVPFcDl2FutB/RrHb2tTbwMgaA0tzXA1CPkeb312j3/0O14W6NLKiWglSzWxlVU1Ign6HkIepSivMpBQrS8wsVYNIHNf1AdxxCXWdKoPOSLMyzzA9n+9H879lYV3XdR1HJK1EVFSNe0IZVJ87qRsojXOCmgqBiOq/giRfnVk3+EyyTlXwvrWKoWXHjr0AfVwCa0mIpMyVcpiNtUorv6rhhJk11dYBGHNw7TBrFSNwiUVrzk1JpK0tM5vannU8V1ldFmytJcViyYpVipXrJPFRihJnsyjywprAcbLk9Pw0z8vCdV3f99fPizRNu93+5eU1sS5M+fz8jNmB3W53uVyt15swDABJEdDx9PQ8GAyur6/TU3J3d9frDZSj54/PnXb34uJiOp2ud9vA9U5xbPLimJySJPmv//J/jSbjw3LXabXzNFWOLooiK/JOp5OVBd4iSEEmY/IgqNIP665Ls+CAbBZPT552ZpOLKIq+fPkiGAufHofDYasdKoW6TqIoSk4HIrNerx1HWVsq5RRF5rpuFPlFUeQmPZ1O0+kUSo/JZPL8/Lzb7a6vr5VS88dH5TiTyWS322Fm+Cn5/9H1n12SI0mSKKpqZmDOWXjwzMqsajZ3+uzH/f/f39lz7+zsnenpIkmCO2egZqbvgwAIr5r3ovt0Z0ZGuMMBg0FUVET0FEVBllXIsgyCAKHIQRRARA5xMBTVWXYCuQghPjIK0DoIwzjLsqoqjOL7+3shHwRBlqdZli1Xiw/3H5MkGo/HSZKIMCD+YrEgxRezS2QSA+BSwJopSSJQ0ejOe1sqhcSV2Hu/22wbJ64bDIY4V5eXl9CGQlaR56ckSaIwAXLCwFomS0RlWT48PIAA6HQ64/F4tUZGh0XHH3pKT7WvACLs8XgMOSwEHofDKUmSMIwRRG2tj+MQTY/lchnH8e3tbVVVT09PjQ47JOqQ91l28t4y16oPV3lAiuVyuVqtUHvsdjvW6ng85nl+c3NzOp12u50Tr5Qqsvzm5gY68rLMO53ObDYLgiBKYmttmRdI20SoCMA0mFcIPEQEsmzEsASN/c4YA5UCQBg46agZe4lnD+IpptNpHMedbheEpdL8/ft3eENJvWumgyDI83qsj2nmNUJzTESIqkR7AeBDRIIggGYGKhdE4OHdrbUIGSSix8dHZr6/v2dmmAEwpAZpethFv3796pybz+f3Hz6ICJJkwBYjpRHcdpZlWZGtVqv9fo9fBy5HKcXMf/vb34CQiOh0OkHsUZblhw8foHRv/2k+n2PIZVmWmOTw8vKC9QNdCgpmyFeUUkWZ0clfXc+jODie9ofjznvf7XXLwiK2Ms/zt7e3KEpQKa2WG+89q3pGr9YG6jilFLaLT58/Zmnx+voK3w7KVOYsy+oAbFSq+/2+tBZyo19//YK9KIyjqqoeHx/zPHdWhsMhtFtlWUIfiGWAu0AptVqtlm6FEBXWarvfwdWNoEykkbSROODstdbr9UZrHYaR9x6djaIolWLoXnAmlVJgefO8yLKMFMMNgtjE9Wa52mwAnsqyjLsdbClxt7N6W6RpejgctGZUTXGSxEkSRxEgKTRsAN/A/WEYXl5eomDAKt3v95PJFNUmqhrrHIgG3JXwaQjThw8fRGS/3zvvmbmNMGJmdFcgCoKyCMsSXSa4jHAO0btDuZWmOTPvdjsick42mw28ECx1VazDAKsC1g5Im5RSsElgAwGdr5TynrKscE6MgTRuhPsaEJxoba0fjWoxj3MV8qDg3QqCQBuFzdA5NxqNDofDy8sLEU0mk9KWIJqxBflG1twiVOecVoGvwQ0p1YyUJ93SzESkFJ6AnohU03xnZs8wxv0++47x60REgQmdAW5D4Acck4FrIlla9AbcUkMvJcyilFZandcYUD1w0wqoYTopaf4KBMyszkO5mVk3n+ZdMKNIybt6AqqB5i3ej6r5OA2u854VeSZPSpiFtSgnolwzBU8p9QehBGQz7dmr/yQAkJD6IBSTgO7QaBJWwuIqS+RBYTjnKu0Q76MaDUQ91pMIz0dEG+HtGu7/HaMrpT2LUuy5Hvj6jlpFEFtSI1tHhIGldDas6iwPR84KEv/7INH363JWAwCUN1/nQeeuiSLkprzBdVRcTywlUdp7YmECRq0zc4Q1Ux2eLgZ7KzUeCIB4772QpnqyErcsuEitwqGz6oFa2ThWjAost+lLpLRuyqC6f+HrT9vG9Jwrk5rXr9+U0UxAm+KsLrSwIPBZX0POpDLUhPKwplpDdnarEAkx5iYIMYv3XAfYS3sBmsvjlDIiooScs5UXR/Z43A/HE621eC4t5mYp59ENUcaEROydrZx13iVJ0gvDXVnEcTxMRrP5xXq/mwxH4qnT6XWi+NvTI2vjvQ8jE4YhEXe7XQhAoygWkQ8fPu73O+fc/f3Hf/zjH0ZxFEWb3fr5+ZWI7u8+EFGe50mS9DvdFEFmiv/85z/P5/PH15dA9ClLbVmBX49cnFdlksRRFGNDTw9HDGkHMF1tt7gQmD9aFAVmcOLJhOYyepEA9/f3971+53TaO1+tVoeiqDB1gojwhIiTUMgNh/1OZ+CdHI7bvKqiu3C1WE5GY6P06XCMgjBNU2y1eB7DJ2eMgUZcKSpthcEiIgKO5/HxMU3TF9Yi8uHDh0CbMi+eHh7LvHhYbwJtjNL77e7Lly9JkjihKArGw1GWnaIoIha0hn/88VNRVFEcdjod0O1ZVmBkVRRFYRx575+fnzebzdXV1el0Wm3W3aTz+vq63+8RMxdG5v7+/nA4pWma5+nb29tmtR6NRp8+fbq4uMiyk2serhBvQEAym40Rb4cUTiLCmJXT/nR7e5um6eFwDMMQGuJPnz79/POviK8GZy8i290O8m64+ogIDD08iFFg4G1FXkdLJEBUChp4u92CzO50Ot1+LwgCFoLdEzdUVVWKNBEBT1xdXXnvQfE68ei5o2wwxijW3ntkcRpjnKugYAZYnF7MyrJcvi3CMJxOp+DSEJE5n8+/f//OTcMXw4NOpxNoeOhAwBxjgMvFxQX6S1i0y+USkg/UotbaxWIR7HYoALq9Dn4YKvkgCJ4fn8DNR1FsjMF0xiRJ0jSNow4iViDFAYO+3++Loggjg5X58vKCjQg4O4m7i7dVWZZxHD89vmRZprURkeVy+fHjx16v1555lARRFK3Wi9FoNJlMfBN3M7+8wHmDxwNCFzx08VRDZwY5hujFQcaDH8vzfLfbATFDwwMWE+sNWqOrqyt4V3AmgXvgYwYAAi5Ewnccx/1BH2UM3hHTbZB4A40NHBSDQV/r4OHhATButVpVVWltpZSCWANKG6BSuGVgo3TOvb6+7na70Wh0fX2DleC9L7Py6eUFEkGcDYwjRRljre11B6iUwLLDI4vXxFAqVedbV977NjsSdRe+g+4Txq9eXl5GUYRdBWcPafFAz3iYBEGw2+0wEggQeblcnk4pxB6YHtoOCWo59U+fPoWRwSw87JZZkSulgsBQQ+y9vr4ardEuw64Lnrvb7fb7PcQKtcL9/X6PLgFE6vAkOO9//PFHU89iO2GpsFZI2o3jWJxHHqhtTFlVM+MJKwG0AnASfgUjrvF2Dw8PcRz/6U9/Oh5TGGRhGob6Looi9ub1ZcHMUZhESfd4TL2nXm+wXa/ge4YABp1AbFDdbrfT6aRpiqHU9/f3//jHP+ZzePRP0+k0DMPn5+ebm5vNZlOW5WDQw30KInm324VR0Ik7kMwZY8D346J3e13djJ1Wmli0NEp3atQppN6hFfBTDbZq5OTVuyVPt4iZpQXK5BiDiuQMgXlADtJoxStjFDPbCul5JgDB51uRLWIW2QQAlF5rVkqxqt9d5D0kvsF27+iwxe7tAbRYqMXluBEaWEUYV6ObkaItyMF2V+Oolopl4neKFmgNkMlhWiVJrYxvfq8+jV5YmrRunMBasSPvhUf7WYjIkxLPLUjzBFWF8q7pRhCxlwaOvwv6619v/JkwcTZoW6g9qJqWb22NDaQWzOGCp5bf5SENpc1nuSbee2pmpqqz4aktIm3PZ/vXFta/I88a5Ro5G0EFGYiIJzLgx614RqFBSrxWBrn9JCTs3z2cplERvafHAJZpY9rvNHXMH3U81HZhmANTt4OJSKtAmmbBH3Q4zZn1qs1PbZZOfVqbH24nNBERacUVMbfam3rML5ETuHSbkcXvi5IqEWGtxNc6QmOC+kqq2gFQTx2rle3+vFYjeif1RUSzKl1pK1f46nQ6dfuDQAc40UopZuO9940znZlLZ6UQVj4w2onf7/dxHE+m0+VyeUhPnW7/4uIiCKLvX75rrbv9/mQyMcYoNqdTWlWVZzoeUiZd2QLaxIuLGQD01dX8dDq9vL1qrWezmTHm9fXVs/rxx09iXa/XE+swtmO1WSulXOne9st+p1sWGQIuqrQMwwBbXlmWLy/PUClsNpv9fm+9x0RVPMvR2c+ybHx1BZKsKAoE8IH1EdafOh+73e4pPaxWK2vFWhkOBpPpEONdweIURVEUm8n4Ai/4+vr69vb2+fNn+LogeBiPx6PRaLPZHNMUqo80TbMsGwz7WVpOp70wMkWZ9fv9i4spEJWIlOWp0+kxM3AwnijIkYiiCCNIjDEB64uL6XQ6DQL9tngtijII9OXFfDgcfv36NU3Tq8vrbjc8nU5x3Pn48SNecHfYL3fL9XoNvWwQBJ8/fzZKf/nyxXvf7/fnl7Ner1flRZL4NE3LMm+nOXrv//M//zNJIlgtIUto41wOh70xpiiq/f54f38PSQAKpOVyCS+aUgpzXrrd7t///neICpbLJVJ98JxoFRHMDACHvo04Cw4bVRnoVedcGJrLy0tqUD7e2jlHisuyRObPeDxuKVVxBI1sWZYiAgHDdrsdTyf7/R6CVIyQ9CTOuSLLiWi5XIZh7WBD998YA6iE9HF4G7bb7XQyCcPwxx9/hD0RnGin00HCPd4UWf4oM6IowmmEYxJ31qdPn8BiMtdxe7v9HhAtjALksn/58gXQ2ZYVTh1kG9jxAF/2uwO6ItZazLqC2GA+n4/GA+cccKGI4Eh6vd5qudFaf/z4EaZwzJLc7/fz+Ry9Mmh/AcGNMev1utfr3d3d7ff7l5cXLxLHcRAErT03yzIM0tput4vF4rg/Qq7NzKjEbm9v8zyHjRVT4rfbLaogoPPtdtsysiDmx+MxknmQUK6aVJbr62tA/NVqpRTjs8PwgH7Idru9vb0dDoe//vor1AhKK4BmwDKlVByHGBoQBMFw1PXej8dj7/3r62un2yNP8LBmWbZer/u9YRAEmF0PSwP2f2vtP//5z263a9igw0NEuHNRIInIX//61zRNq9IREbAmQngWiwXm1+Lko++xWCwx4AxPhIuLi/l8/ttvv3U6HWw4MKZj50GN2krIwOyiL6R1PRIbRTI4BRDY0+mkcnXCEowuk8mkeH3FQwq1MaJX0jRNwvrDZqdj+wGpSSfEdDA80ReLxWq1wph6rGe0EYjocDhkWQ4jKeqKH3/8sdvtIgLfOYedQRmNJlW3281OKTRIwOW9Xg/pQ6jY2+/DWeu9j8MITZggCDabzWg0wo0J/U+n07HWw7wO9U7YSfApMCsgiiIsMKCIJEm2223bvMJWNhgM4AGw1v76669/+tOfYF/BisLpzfMcqa+APij1UX2tVqsedwMdKKVQs3EzugjPLKUITxnrSuyQLVBpoa1S5gzbvKNJZmbSgMUN+lDA7r62d9bIx4qohtbkJr4Gs264GfQmIlEU1P/EzZjTBnOC9gSshVLGBDVP3mLQJjLyPXtENcpvapiO98LjDJGLCNjIFpMwK6ShNAhStfBGKVV5d9ZvoPfXr+O/332u9SxVZiJRQqrh/JEgLvZc9aC0/p0iuj3C92qEhLRiEWeblEYiJ16JgooJWKzFllbej4SIRMgJiohaxy5e1LkN4MwSes6C11JpZlKm6T2Q57pYaHH5u8dXM9aSkjpGXsgL+bNAm98x7ucgvv289YV/J6CZmi6MeGZVK6zqclGUEAspyI+aIoS8F2Ey+AX+nS68DgwyOvTNfD5m8g72hUbK0hyf1M4OrZsJw1XlnGsC9q0EkYHds7KVYlxJLqtK1cOuWHMdYqMQ0VQT+fUyVcpoZh94RbqmryrnXONoZkUkzIbA7je2a6WC+tSwGPOuS1PKKDbivJBjo5puESvR4m09GtYTEYekiCmzRRAERMJilVHK07HI+q6KdawMhRKWZS5ejObKs9IB+4hU0B+p5evzoBuyF+uqwWSahvZYHE6ng/OSp1nc6fzzn/8gxbPRjdaaSaenPAyj4zE9nDKcSROoqirLsgAwiqP4w939KUvX6+1wMCmKIgrjel8bD631zCpOukVeDYdjLeq42OV5Puj1BlG0XryhOiLn+53e6Xjqd7qs1HqxKIoC00arqoKVDTJNmBTz0wkD260rbWGfnotO0gMOS9PcmDCOe96pqiq0iu7uPmw224f9y8vr43Q2CoJosVhNp9OqqoIg2ay3k/E0igJm3h+2Uay/P/wWhDwc9tfrdaeXeG/f3t5OWbbbHbyXTqd/OpaXs9tuL/n+/dugH47GyWTaT08ZnlKgmff7/Wg0Wa1WGBbY7fb7/bQoijjuDIfD0WgCXDKb9YIgMCYkkuVyycrNpvMgim0lry/Lbre/jfbfvj1prfu9ofd+MpmI527cK7MqCHUUB1EcCLkvv/4G/BeG4d3dHTNnaYGohCRJRqPB/f19HMdlme82WxEH1IiV3B8MFm9vUneEjPfSzLjZVlVVlJkx5mJ8GYZhmqbz+UUcx1VlX15e3hYL59xsNgNAwfihJEny9NTt9sfD0elwBNuXp1lVlKfDUWtGvHS3mzjnJpNRnudPT09lGY5GE0AlY8L1ejudTmezeVUVYK2m02mSJKfjMU3TqiyVUjBTevH7w2k4GKNCeH5+RrNuvV4/PT0R0Xg8vr6+jjsQpQgMZ5WzSbeT5llVVZ9/+ISHK+DvxcVFv9/vdDpRHIMpRKKLiKD8ACBDsjga9yCqXZN/jxIIeCjPcxClEMh677udzul4DINRkeWKuNfp5mmGrgU1cXVVVR4OpWli/oIgmI6mSilwzGhuoEIzOowjE93W5rnRcKK1fn19Lav85uYmzY5fvv4qIvP5XGu+up7Dpff88uicM4ECvV2WhQkUXARVVd3e3or49Xq9Xq48CR72QRDstvuH749tUxsoBDOPlssl6tW8qKJImSA6HA+VtYPh8P7+PgiCU3baH/cmNMNkCAwURMGf/vynTqfzX//1X1Ab45Xn87lSqqrKLEuVqgcR3N/fBkGQJMnxkG42m48fP4nIP//rFy8WnRlbebTaQNw+Pj4mSVJVVRx3tNZPT8+j0ejqsluW5aA/6feGu80Ko3aOx+NoNEKq5mAw2O6PwMpaGyiwu93uZrMp0mIymcxmMwRfWlseDhUzh3G0Wq2Gw2GvH4VhaHQIOtaLjaMOFESocrXWi8USxSHqbWjf4dWGzme73eImQnopvr/dblG14gEEE4iI5HnhnO/3B+v1Gg0EY0ya52meo/YgouVmDTXUbDZDMpK1NqY4jmO0aLIsm06nb29vzlXGGB0YCGy2222SJM57JoJFIQiCy8tLxO8CoMdxUlVVt9tbLBbzaT/pddfr9Xa7nUwmWqnF2xtqGzRYBoOBEw//t/e+qEqlVeVsXhbGGFKsA+PEH457EsZZ6na7kGONx1NbFqA80BscDEbWrrfbvTI66XY8ySk7YpzWw8PDeDyOwzDLMnHOKPX8+AhdjbV2NpmhUh0OWUSQrhPHnbflqnKelO70+oi13e4Pk9lFmh6JaLPZhHGE/hXwgDGm0+lhC91ut0wUhSHC1zHHADSE0rq0pa50WZy6/R4rIfaBqXNsxFvQ5UbHWv1uWGSjKuBzBOy9h1/xjKCkJpC7/oNidkTOWSVkjNFh4J3oEDRo/TqoxsVrZu2FnBNm0Vp7bxExWZPR5Jk5CLQx5lyqwaJaxYFSpu2ZEHtWjNB08NJNcKSD6Nw5z9BVAKDX3LzWJJi0ysxEWin2voSAylurNIkHJY8sQWTJC7SCRAHyZICjtDLNWCRpMnlIKU1KxLF1thaLei9aKRIn1I6t9F5E1+0O7RSJc9qSFhF4YUlxQMzC3gFKO8/SgGlnlVJVVeHcKqWsLYmIyZCAJn4vz7wnZoO/ec9E0lZZ6Iu2rA01ZgNgeiGyztUaHoyk9YqIXN1LNCRePIJ0pWHQmzMG7ym9a9nfa0KuvaBEWEG1/ISVYu2pVm4rElEmgHEZFlVuaG6tA2Zy1poGfIuQI9e2P8RZIbHtcWitEUTaFjDN/7F4IlUXdq6JlUQx0d4e3r/LWlAYtGfKe+8tYahvW/+xUlAsvZfBTR2pyFMjxGfmqs5DRWMIrSVBZxlv3lY/qAxFhNS72oy5IdrZn80d41a2pBQ5V2kdmDBwzmvFVtzpdOiruC0fldYwTSulVBBVZWatJ6IgCgPDtiqAS942i8JWIlzkx+V6HUXRxeVVWfjtdguFyXR28fz8WFTuhx9+8GI7nc4vvzyJyNXVFfrI//jHP4Tp48eP6SmDBBwkZZIkz8/P3ThxlYWM5Ndff316eRkMBteXFzAJgbnZbrdlWQCarNfrltgOw/Cnn36CqV9Enp6egDxAOyVJog2DVcrS/O3tzVqXJJFzcn19qRS9Pa+qqkRKNBFBDxqG4W5nXT2STfUHvdVqxcrP53NMMYNk2YsMBr3eoI/jQTzIhw8fu93uly9ftrv1dPYjM0+n0/3hwKwVaxG2tgJ3e39/H8edoijwMXe7AzMjRAKgGaEZaZru98eqcmWZb7fr4ah/PB4HA/OPf3zp9/thGOMqgL8MmkjvPM8rW3Q6HREBG4dgZqXUL7/88n/+z/9h5n6/X89vz7I4Dmez2Xq9fn5+DE3AzO0ASxwM2CxYxMqyTNP0+vq604mdc1F8obV2hcAV2rzdpYggFRFSgSCIcDzgSstyE0URJEbOOcQaHo9HIPXj8djpxJAcJEkCffZi8QpW8nDYOefKMi/LHKpr7ErImsTVYWbMi3XO4ekOn8Z4OgErD4k8aNrdbpcVqdYaRkAcDFhzaAygZkF+PKJLwAo/PDwYrZm5LEsE1UFxjo0PGXDGmNls5pyD/huzKm9vby8vL3GuIOXCTCJoi0HJj8dj59xms4GjEe7D4XC4Xq+Px2MQhGCXwzC8vr7GdonlhGVMRPP5XGv95csXfChmfnl5wY223rjdbrdarbTWsBW2OzXCTD98+FDPWwiCyWSCaVne+yRJHh8f0/SUJAmk2EVRYBDmaDhGclRRFK8vLzCfFEVRNLPuIYBBDkySROiTHA6Hfr8fR0lgQnCW3U4vDEOllHiCa1BEECEAO8FmszkeD7BEI5wqTXOtCzhDiOj79+9A1cPRAAR8p9PpdOPBsIeIpMVikRepc64sLQZhisjDwwMyFuEEgIkZ51A3cUBop3jvEbfKTUxqHMX7/d4TIf4yiqKqcsvl8pSlKJi9951OpywsMG7S6YVBrLXGiwyHw+VyuV6vMYUXaaRoCi0WC9ytRIR4RyLCaUQqPypPOF/v7u4gBEdcJvAfYmS4CcLHys+ydL/fd/o9XF/AiHZh42s0GmliiLJGoxkKHsiEsJyYOT2dlsslig08IrXWkAChf+K9j+MYvbvJZIIpZuiCllVFRFdXV1rrKIqECcUtaPWbmxvcg/A/1Hnq/a7RAeIQsHSzLIvjejg0dE2DwQDzE9M01YHBesPZwBMNXUTctiBT0jSFYdfML1sdDv4JjaM0z1ar1QQpqNZC0IWdttvt4lbF6h2Px/1+H0Ij7Jywq0K1hZ4YEaEd6sVhfwvjAHsFNdxzaR1rRQ2TKI3dsAEAfwwZrAGWNKjgHb7XUl4EotDZjCEAa6UJxF8zjoeJSLHxZ17SWjdCqkkLqd/RmDpl38s7UoKApP0greilnf3ZgpgWaOHLYc5RC8Co5o+Z3j9se0jSiCMUG2Fw3u8zg5x1aDN4J0zKaMWkvGvR6nkPAWOJuCXIm39FUqRqmWatA2BE77xgYGrtBwiESL9D3noKpxPPljCMiermAwNiiTi8OJ2lqrRnrD28s+7Kux9Xfv9FNdYX+X3SvNT1yftKANYHdDWmhdDvLRH6/2PzpbPwFeZaJ9K8fSs7J2Zqi8b2RZhZhFs2x2DYEyRA7dEQEW5ONEOlcZpKMyLr7LXqNeE9Y8XImQBGIZBSfD3gioShbpF6Ui5OkHdNhEvzmZRSStdiL6UsM5soFMLyYd8MMrC2tFWJIbFBEGjD1KiL3mVbja6oPQsi0swTlvo0IaZHEXm0yLACFcbkouLURrEXJhZyp+O+CAfQNeL8WFLov4uzrHQQBGEcEVFRFEWelkWRnfbGmCSJDofTaDyurGdtnHOnw2m5XBKp+/t7pUHcdtM0ZSUgzDAW8Z///CcYmh9//PHbt29ZlsdxbKtqOBwOBwM80k6nU2iC0WAgItvtVhEB2a/Xa9dkh3vvRBjpHIi+xsoDif76+orotyAI1us1dOcfPnzQWgehhlUIrUl02wHvvLe9Xm+1WuIZr7VGMv3r63NZlnmeFkUFo+SpSAeDgfdkrb+4mOERnmVZkiRvb29Ak3TKPny4C4Lg3//934ui+Pvf/zVNTxcX0/V6vdnshGk0HC8Wq04nHg6H4/G42+0ul0trPfiqyWQE9eTpdKqq2W63CQKNR2kQRJPJZLfbAKh9X34fj1MkbZ9O2Xg8nk4vNpvNdrO/vb29uLh4fX3d7tbW2t6gDyCitca0aFQF6E3jaZqnR+cqpeK3tzcITPFowdNXKYVG8NXVFRTnSqn9fgedKLJf1FGZQF2ML614wDtm1lpfXl5OZzNA5+/fvzt3Ak+P86yUQTs+DENQdAioaUNXsOarqirLElAY6RkQ3rR5I+B6EcqulPJNFgf0JK2nc7877nY7pRREL9PpFMl07ZCXouiUZdnv9upUvrLy1qGHLiLfv39fLpewuBFRmqYQe1xfX8dRBHcphu/AU4HDxiMcUqjVaoVdYjKZjEaj0+l0OBzKsvzLX/6CS4mNFXF+eZ57H2JaLa4Cmv7UiEw+f/4cBCGcfyJyOp2KvALchIIFFx1ENREdj8fdbjefz+FDwD0VRdFf//pXLAZEvnS7Xbj6oCmHafLq6gqjalDKPj4+lmU5n8/v7u6IKCtyrfXNzU0Sd6hRULy+vqLOQdAezhs2NwhmoJsqy7y9BF++fEGehrUWoJCIdrvd89OTNAJNTFR9e3vDYkC/CIBYa53n+WKxaBE2tNSb7aosyzp5tihQ4QNjAQTfXA+TJOl0YgQIHo97tIaKLNNagyGDvxa/khVVt9u9vb19eXltD7jT6QzHYyzU9Xr95cuX6+vr2fwyK3KEEkKunef5cDBGGRNGhkThV3AdURRVVYUo+uvra6S5R1EEzRVG1LU6K2vtbre7uLiAxhq3lTHGOff8/IwZTAg8+fjxo4iEYSAisl4fj8c4jsuyuL+/H07GsCyXZZ1xqZoAqOnkgpX4ymLIkYjs91tuTKLYRVFj41mz2+2wvUAcgjoBdxBsskQE+SIR4SfxhAKhcDweIZLA+scVh/J+MBig3MLabsahCPwhCL6MwwDfgS5ov98ppU6nUz8coA2LvN0WbStl2kYBbtK7uzvcGthbUISgaOz1ek48NDkojBGvtFqtqqrIsqymz1mhf4gRAXUcENFutwuMKerB0tlyuYBWXsRPJhOtdb/f7Q+6KG7FsyhRBvF95OHiM7rFLZC5UAPlWgAHrKJqfN+QlewbgFuTjUzU6HtrrMwAXESQg9dQkjHYp/EX1l8Ax8BcwkzGGG1YxDdqGi0iTpz435kAW+xLooTOID6+J7WHtf44Z3ZEbtyRLfpv/1ek5dRrHU4bWu8b6z9KL1QdWB7tX1urAJ1hzbpOYN0o/qnRZRAzeWm5erJemJUiVqy1ohqYae2ZFHnvCDoWkVqywqp+F2tdi82MqrElZvtQc0a40Vv7Op/nvTzzjfToHMETkRMShIszkWIiJq9EvK2qdu/lRqQkIoCy/J78I/isijS9W3xrcyq/GwZ+d6KISDHyr7RiEu3JNQORwErXSS01xCfFpiXzqdZUOVfHjtbS8Oak20ZuT/T7aqDG7q526dIZxe69Io9ASmKu/4BTQkRoFYmIc56IvCPnvFDdylHKKh00i4OBF5tSzAGsO2tFPB4h6PqZANaB+i24FtJQW0O/V9jkpP5O2zIj0jjOGr4TSRPSAz2W855EqKL8mKV4qOOcERGxJiWkjBLnRXtPWZqLr5T4OI47ycVmtQbx1ul0srxkbUQ4CIJBr0+Kh8Ph69tiOBwOh+MwDDf7TRAEP/zww/F4RAzI1dXV3d1d0Qw3BSEqIm9vb2mamji5u76Jw0icwwibm5ubyWy2Xr7haRdFkVI8mUygZQf1i2c5BgHC27RYvg4Gg8Gwpw1//OEeEQFBqAFKer0eQpSVUkmS9Hp97/2//8d/VFUZRVG/07XW9bvJ9dXtZrdZLBYXF1Nm7vU6IozZ7EEQ7XcnIoUFdtofjoe0KIpjenLODYfj0WhSVeXXp6c8zy4vL19enlBmeO+t9a+vb7/+8ttoNPn8+QciAgBF/MhsNm+TyMDIigjUxlEUJUkkwoBBRVE4X+EE3tzceO8vLi6vrq7e3pbr9dpZKcsyy0+H4w7ZCyB4NptNmh5ZB977jx8/TqdTLHLExhtj5vN5VVWHw+Hm5spau9tsERqIBwkzTyYTZ+23b9+MMc7ZDx8+gBXO8xRdfsyR6Y+GSing6be3N1S3V1dXIjKfz40JAYOATsrSgs3CYaRpOhwOr66umAVePcy3wu7c6/UGg0EYhrAoQMMA6xjQG1r/YRh655ATh4h0lA3AZMaYm5ubw2l/PO7T9AhUhE0DBwZ4NBwOYTxFwYl/Rex9p9NB1g2u1G6363Q6b3leVRXOFWL1Hx4eEB6yWCze3t76/X4cxwCjgFbL5RKbQxzHT09PaZoiwxT84mw2A5rHQFzs0fv9PgjCwSAJAjMej6MoKooSRS/q1bKwCI2ezWaYRJOmKUaTQtmMEDq4crGTgHlF/QB0Akl62UwORo47UDsRffnyBUN2/va3v02nk9Vq9R//8R+9Qf/i4iIMImSMoidgjBHPznkVG1i4cNLEcxglv/76a5IkcRyfTtl4PEQ3AwQn9B6Yhfn8/FxVVZ5lSI0UEVwjzGByzm232/1+F4YhDLJoaEyn4/F4vFqtnp+fF4tFFAe1mdVLVVXm4kIp5coqMkE8mU4mkzCMlVL7/T5N0zxNUcBLww9hhwFyRZj97vsjlgSKh/V6PZ/PJ5NJkVfQsQB2O/GHwwE7LUQd/X6/1+uFQczMaZq+vu2Oh5SZ7+7uQBtfX19fXV0fDof/9b/+F3BkEATg47G8gWJR82MULm5krGT0kSCXF5H5/OriYoood3QUoeaC2CmO4yAw0+k0LXKswzRNd7sD0qWICFWfc87bEsLx/X5fU9FxjEoSbhNr7dXVFeDs9fW11hodG1TX6INhnyHx8LQAuCMICAw9aqQoiYkIWHk8risKcDQwhjJzFIffvn5vpT7wqxCpTmeI5l4cx7hr0L1E0w9+Vu99mqYfPnz45ZdfoKtBiYvkViQjPT8+ed+CXcKtBKER1hiCv2pDjshy+eZql6EWEWyMvV6v5R1AFQXGoAhH8WmMiqKgKDJSgoh9btIwFZu8LLQOjFFVVTEpElINyvTimVixFmrNoNJiOAJCfE+0E8JIGUdeGtGBcMOMCL/PvQEQanO0xddBGqqB775WyGiQnjVIUdrXeLzJavRNql2LwZR6d0A2q0uBh25zObiJXW8pdW7C45kxUfQdnrUQrq0HmHQD6t75+/YHWt4an043aYRE1MSrSwv3vSdRzqi6VwDtNDMjONM5X2vjodsmYm10AwuZFJF3xB6eAs9CECB5cYSljhNuKxeGdcareu+BSAtQoXd/r3CaM3uOVFsQ3/5unTH+rq/+neLFuVZuVK9MVEbNqSBmFv87E237UrU8nqi9tMy6QfaKiEiz8vVkLqWUazRC53Es3nuDP0h9Nl1VVc45Jh0EtbesBfTUdAHofZXU1977WorjXT1Kl5sqtmXfuTVwtJEvtVfA/e60im9Xif5d0E1bGCvnHCZ+OedwrnDkaPAFQcDqPaMUa1GkUdTUpadqp7G217U+74oVKU8eo5q890Zp732FEp2IRdhLnqdVvxtFkfKqFZ+x6CAMitKJLTyJFR8oZVQQGFPlJ2VUnETiqSzzOIqyvPr1yzcRvrq86Q36m81mt904597eXn766c/zeA5pBDQDAGr7/X6/33/48IFZYe+G2FEpdXd1VQd7MSPzYTgcFlmGtvXV1VWSJNZWMBjhgbFcLieTyd3dHcagIsVluXpbrVZ4OmIQyevrKzyjUFwYHYB1S9PUWvv4+LhaLaFtOJ1Od3f3Nzc3x+NhsVj8y7/8tdvtPj8/X11dKaUgQd7tdsw8GAz2+31ZhlEcDIfDl5cXsInz+RUzb7fbyXA0m82qqnJVxiJ5no9GE611UZS73e5f/6+/OW+Px+N2u8Wdo7X++vW3PM/7/eH19fVoNPr27dvr6yskENPp9On5+2Gfdjo970ul1GA4vr66DYIoCmOsruVy+e3bt6IoRsMJEW23WyAGoOG7u5v5fPbw8LA7nFoV7MXFBQLFq6oaz0abDc5bBxILrTWedvv9frPZjMfjPM+PhwNwbRAY1KL7/V7EnU6nNtwD5wepfPP5ZVEUYRSB87PWJkkXxDmo/YuLS9B4Sqk4jtEm3u/3h8MO1YJSDCthGIbIYnt4eCiKQik1nU6vr68RQoc0biR2E5FrutjOOWAU1H6z2Qy8KUomgF2cDcz0wdwlZFPgIQp+Dk9lpP7hJ4FXmDkIguVymcQxEi0BpL5//y4iyDJfrVbYPRFOAoUGEc1msyiKqqoCP4oTjuuCXrzWGsZNIiqKAgGFaMdDETEcDr2Xdt7Nfr+/mF0qpbbbLah9TGiC4zPP88PhANSF12Hm1XqB2QvD4RDdFe89ZDlwSB8Oh+fnZzSvBoMBwBa46m/fvj09PYJQnIyn+93BmAy0t1LKmLDT6cVhAm3Sfr8fDAavr69KqeFwCHH5aDTCzNSqqt7eXtH8QZ0JuQvW1Xa7vbm5gYgc3HYURVdXV6gMj8ejtY6o/Pr1Kw4PRkycMRx20omgJzGs1us1ivDBYOCcw+4BtAQVeBzHSBw6HA4XFxeqCZgH5AI2NU1M+08//YRGSpqmnU4nMBGW8Xw+N2EQRZFzglmquPp4TIJOxtMKYf+IAKqqajAY4BIg0gcvS0RRFCVJghgfdGbKsuz3+/CRtxQGeHcg19FodHV1zcwIx/iP//gP2Ijx+EuSZLfbGaMPh0PpLDKUoijCnZKm6WQyGQwGaMIUVYWSCZaMJEkGvS6wLO4LmDsxChcqHRSBeOBCIt/tdg2rx+/fiAilPlzjVZM3Tw0piD8gBAznLWgmN6PAEPKozHHXO+cuLy8Ph1N7mUBst8GRWZHjFoZcsFUAYvNB4JJIPRIYz3csWrwFerOHw+FtucAcN+jWkHSktU7TIxD84XDoxAmKkDaQHolGSZLYRma2XC6Hw74JzLQ3LMvS+ep42idx93ikMAzDIGYDgNXyrH/M1a4xjHqHenJGGAvCSEgJC+QrXqzU4y1JKaPqgU1/gGUtOnJg66lJd2mGxhArDEAVIUvEvnmLZQABAABJREFUxoCaJCIhdkpp5/w7fVpbZFXD1JJIPaWrBi0KUPt9LGZL9PI71H4/yP/+Bz7rNpz9kybCDJyafmallNEiApsEOcdKCSsEbrccMtrp1npHwjXL7sPQEOEbyJxhIlWfX8UNvNSwl7JSDV/eWCgVN2kmv5PxnH+WFpHyWQ2mlHKw1TaQmWpC2fs67vyPwJ3eyXhmftfEo/mMq9JcG/EeKZe1Trt9a2b2Xv5wtpVSbdPhjP5vUCoEJ/S+pKSe0fte8p1XmKYpjzwURUopxXWeTAPT1fkBtVH25zUKETmpWzktNG/Pwn8H7u2K8TVKp/ffckTsvVgR8c61BGr7u0op8d57hCs7cBXYvCDkQM80DFlrrbVqrNzNCRHdLs7zK92sWkQ5sRKDYCClDJGqnBXxrLUh9tYJMd40iiLSipnRPGJmT0KiWJsgCMg5rZVi8t4DzRR5HgRBVdrj8fi2WGfH0+zyCuqUr1+/YheGL95bSQ9HX1Uf7u+BZVdvi9FohLQK53wrXIGDir2UZfm6enFVpYjxrMKT4M9//nMQBMvlYrPZYHhHGIaL5WsQBNPZmJV8/fZbURRodIoI+sUoDIA58jyfTi4mk0lepBVXSSdeb5bH4xGC1z/9+cfHx0fvqN8flGWZpnmapkkSIWG320viJHz4/lRVoFwzpTmy6nQ6BMGIOdTGgMVH45iIhsNhLQR3pILo7e1NqwAK+Ol08uOPPxC51WprrT0ej/3eAPzr09PTZDL5/PlHXNa///3vX79+3e12LRlsrSXy3W53Mh1ioxev+73BYrGw1nvvMWQEY0FgZQMIiDsROrbGGAy1fX19BVBYr9eoi7zNLy8vN5sNMzvnTqfTxXSOhGZjzMXFBZ6F9/f34MDS9FAUxXq9jKKw15sy83A4zrLMlRUStfE6i8WiqioTBMPhEOIZInp5eQHyhpgEWwmC59brNTQq3ltAvdlsCiQHPetutxsMBigSttvt9+/fASKBs4kIwlmjNTSsCHVuw4Uwcss5N5oMIYUH1IaJAt/BXM80TVFAgpDDu2RZhgSM4XD4448/Ijtlu93+9ttvUHiLCOrDm5sbYwyYaYyEfHt7A52MuAn0YbTWoI3xTZRwAK9waLy8vIAZxUYBGhu1QROXoaMoAmgA2/329gbWHJi7LEssSGbO83w6nX78+DEMwzzPHx4eUNLc3t6GYYhkd8Bi/DoERRDDoDzY7/f9fv/y8hJb1sVFXQgJ1dUayP6qqkM5vHWQJoM0jaJoMplMp9M0L3q9DohhZt5sNs4JkUKiy2Kx+Oc//4mjxe7EpEnU1eVN+4T77devT09P3V6C/kAcx3DKIv4PWmqgwIuLi24vgQCJgxApQy1+RTGDKFX4EFD+IaESmmkUVEggxWqxnpDxz8y4rU6nU1EUSCQ7nU7D8ejl5eXl5WU0mkB6B7oBVwFtsdlsNhoPHr4/bTab19dXiLMXi4UI/fjjj6PRCFOBUN4D36Nncjqd1us1uk+obYioTUhkZrhCmfnp6QnVUZIkr6/P4JXLsnT73Wg0qqpqs1k75/AUEBEIiqy1aZpPp0xEeKlOHDML7gsMEcNsUaVUPZeKqK0oXl6QK6pRQ4KbwG2YHU+IZUQQzWazgbcBbDeiWk5ZitoY4hksSFxHiK+Gw+EprQdOA1Xj9mTW3lZKKSRCZlkWhjFKYuyE3ATsQOSGPIDX11ewErg6WOdBEKCObUg6BmsDsUp72rGL4tS5JtwpMAGeR9hAymbywNPT03Aw8N5jOVlrlQqjOMyLLI4TpRQ2OqPDwhee6gE3eKS2+KFFI/WNIOpc7QyEoxioHKRey+5pZlYsSiltWCMXAxDrHAGT9w5gyYlAxOyAP2uMxqINOVehvVDn4THUCMA7vsGIzKSJFPTTTUOAvT9jUYVVrWf/HUNMRIpaIC5nsP53And1JshuIKRm5Rvk41vIiFKqfYuyLBsNupAo6PhboOjo3RXQ9A7YixfLdTUiqhavk/beWudZiFXNfnpxmKfpvEOmPJHyJF68UbrhWrVzopTBmCA6+2rflIjE2/NzggN2zjlvz07p7yLOz75Tw3GtdRu5c/7i3nsdmPacvC8q5nMF0fkf5Hc1niICP8wkCgtOpFaIsMYPa66BaB1vJZ6YlPHetQ2aeuiA1Ep/YwxiR897Iu3xvR9K3Xd4l0yRMDpBqAec9Q3gJlaA7wRiHj+vmmQi3Yyt4ZaAd1VFopTChl6/r9RG4KqqRHzbDRARABQRIcWGhFQjy2lxuzBuFa5nGnObJPleUZAmg3AgGLRRJpMXZmajAxQziE7Dmqaa/mdxze3hyVkfGm3qST2Y6MYiLgjNZrNzzn3+/Dnp9a0rn5+frS17vR6Turmr1asgVJRS6IBDMrjZbLbb7dXVtdYaCClJknb8e7fbfXp46Hd7vU4XjlXk/a1WS2yvo9EIRiL0KJ+enmA4Q5gxMwOiYcN9fn42xkwmk+VyGUXRer3e7Tdg9TC5Jo7jfr+LQLRBf/T2tsArex9/uLpK03S9WWIAzel0AiWZFyfvfZ4ftWFW4r13vur1epeXl91uH3s9yB6odzbrXb83xBzK/enQ73eVpn/+8z+vrj/WW7Cqe2fT6fTDhw8I/TidTn/5y186nc7t7e1sNoM001l/PB615l4/Wb2+7naHInf93uDjx49hGH/9+nU4HM5mM2vt09MTK8GD+XA4DMeD0+n05csXqDV+++0324zqxENIKRXEoZA3ga7KevAklLtIRcTpVUodDodv375Np9NOJ4I++/LyUprxLqDEoINSSh2Px81mm+f58XQyxkCcE0UJlJ3gjMMwbrsfuGchRN7vt1gSgPu4NSAG6Ha76BIADaDQBTrEmez3+0wExrQFYSgCLy4uIFuCsB5eUtBszjnUAyICQu7q6gpSXfjzmHm1WgElEBHiDqfTKdaGeI8HP3Q1yMZGnfn29gZYABYTyziO49VqhQ+7Xq9vbm7AhqKAX61WIG4/f/6MV+t0OjAYAMO9vb3iZ6Iofnx8hIYHDDTU4cYYzCttU65hHLy6uhqPx09PT4vFAmUGqs3T6bRcLm2TLz4ej1HzAHDjerWsZLfbhdMgCEydT28CFGOj0QjdxX6/nyTJ4/cHfHbMNEVHEdo5IoUmwGq1gp9yPB5rzev1Gvp1mJjBKK+XG5wrvE5RFA8PDxBYA+Ex8263g1Dql19+GY0GoFrhPEE0ymw208QQV2DkDQpsfF5UaEQEEzN0z+PxGOcc1Aao336/b8I4iqKnpyfmxe3tLVYdlhYGPEPWNRgMlst1VVXdfk9rPZlNsUs/PjwHUVja6m2xAuaGxAJSK+c8RCNIHkRhUBTFt2/f+sMBKfYk/X6/tNV6uxGRt+VCc812M2tA2zAMHx8foSUTEex12+22DnoPzOl0mkwmcRwFQbA/HX2Ta5nnOWyUx2O632/LsoSnE30eVI/wURARcm82m413rnVhgl3GpfHegyFC9qUtSthGsfBQzd7d37+9vQHBG2PKskT3FSE5WLpRE0SLfbgoCmBrrfV+v4edt9vtKqpne4lIlmXj8TQMQxFJuh04dLESsNuUZRmGMay6OPgwDF9eXkRkNBi2eyNa96gl+sMBymbspUipR+IqOjxBEGzzgohQYqFdU1XV1dUVSAdmPh6P/X4n6USVLUVirTkMg9FoRKS8I2tt5WwkXikDyuB8+I783kHoz+Qx3PCV3LiDRESxpppzJK01IzhDk24wDBHg0Pvw0RbVNIi8lVwrVr4WQVPjbmXva2k7E3nrSu+onXYj8seXlVZPX3+fiIjQB9DvH4Ea4E5UY/r21//w5wYRhrpN7m66EFS7P2v2Gj+Jit17wkUXgYS4jqu34h1JE2TiiaiylhqLp/et41Y5X3sGiJC3w+Q8CxnD0gAu5zyRaKW8d3ByEtX2RaUUqLT62pEWT96RUgw9hXjvhfTvIH2rhPGQIFrrzk8CkQi9n1tga4io27Mqv/f10hkoP//+uXLm/K1b0QowpOf3f2rRPJh+j/R2ImrcFMysWLNmheQWpVQt9BD23ntX+3aV0kQeLoSaQa97H+q/HVKNe/9Qu3jvidUfOhH4fl1dNUcjDRZnobbYbe8r76Xy9Q+Egdb6jwVWe4Qi5OFUroc8s0iN6euSoy5DMcm1rX/4vWqqZV61GZccC2Txoqz1QkppzayV1mjUhmHIRqv6qhilySklcEm72rGapmknias8FyZbVVFkjDFJEidJslqtgPCurq7SNFeau91u696DSBqYANlhpbPYeReLxePjI2xwnU6HlamKsszzoih+/PQ5DENPoJnN4+MDBnDe3t4iG3Ew7GEAqvf+5ubm+voaDqenpyfn3MXFhYi8vb0NBgPQq/f398aY9Xrdyhsgqs6ybLWiOO4AT8RxPJ/P4XYtKvfw8EDsgcO63W5R5JuNP50O/X7f+SpQMaoOL1KWttvtDwaDX/75Mym+urpCrvB6vSZRRIzUtkkUhGH4n//49+PpMBrnGKEKgpaZEdlxPNb5gJBRzudzEYFYE5cXztTj8Xh1dVUWdjK+wKm+uLjQOliv13lWWmuTTgQQuV4vwS2hnECUodZ6s9k45yA9x9Pl+fl5v9/3un0IgZDX5hwDj4JQ9M7lef7y8nJ/f4O46KenJ6XM9fU16F7DSlSt4Q6CAD7Ubq83nU5xUfr9muo2xkD8fXFx0e129/s9qFAiWi6XURRMp1Pn3OGwR8MKuNAEOs1OzlvrKvYMgMIN4wXYcTgcyqLAcxq/haWeJMlkPOv3+yJCR0HDGrpVCDPgvETn3TfJ5eDLn5+fZ7MZkrNFpJ1GqbUG4C7yHBgRihcigtkUXSBkImGeLjUsGjMjnARTqED9+mb2UJ7nu90OKdda60+fPiEYBI0a2GpXqxWcG3BgY0iwc+7x8fH6+hoBi3gXXMTlcvnbb7/927/9G/jL8XjsfJXn+W+//YZ+Qp7nOGwse5C7AH8w/qIcXa1Wf/rTn3BTQJMDeAQDDJh1VOZAwGDfAf5g4rRe8jzvdvt5noLlhfs2y/LHx+ck6c7nc0y6ZdZQqQVB8P37d7AAKIEuLy+JPaIwe71et9udzabMnGXZfr9FabFaray1mBvgnNvvd2DQs+w0Go2CQCuVJEkyHk+ZGSlD6/Ua8BQLA+oU1OQgVrIsm8zqgTvj8QRlFezIRV6tVqvxdLLdbl9eXiaTyXw+7/V66+3meDxGUXRxcRFF0fX1dVVVMDlMxrWAHuqL4XBoTBCG4bdv35j56urq8vIS66EoigEzWojQXIEbFhETGKhucCHQc0O1jONUSiVJ9/n5GTdCUdU5Ksz89vYWdRKsE/QhiQiVsIhDwH9ZlpgO8fDwDWk56fHEzBB/TyYTJsLgLWstxHjoHX38+BF6MCheer1eVtaZ64j5ur+/t9bCPlE/j5ihPoLnB6RG64rebrfM/PDwEJgQcVggILz3m81mNOi7JmoZIhbU871eDxsy+mAoC3u93n5/BHhCf2kwGOAehIiu1+vhvoDGqWXoUKAiVgu+lPZhh3efTCbop7WyEGa+uLhQzNiHceZZqdVqZYwi9vv9fjgcK6NaAV5RVFprrYxnUo1bsUUC9N/wK5BrjarqyamuRSk4CmMCIq80KWIF4WwDXQAnoAhooV79doqECZIZEdckuGula9U7xkFK03Zo8BigVY2pvG9VInUp4L1nraRJwWuF6TWabMCYNJ8drt9z7NSiNa211kEtDlFCjWgCM2pa/Nbolj36bQ1Ic/U5U94zxqbWH0RrLc41ev06dsZ78k1JIqLP9RQsvpGa1FroFuQxM0bdQ+xHQs6KVgz+HvoI/Px5cdImQZ3D6LMjr92377iZfQOJ25+sF0x7QeWc0T9DtucLrG3s4Pvtz7d5R80813egWwPU2mGhNBh9bdqqqTljopQy6NEYHTZXV9u6Iy9EXilSSiullVJMSkQ0E3LOsbKZGZ0HYbLekWIvwlp5ISFW2pTOKiFmds4ys2YixdY67bid+eWb2aXW2rbj0zTmQmhw22lHZ1Ujax04VyVJp61mpLEdsJAtrSIVaEOem3NljFGQm3lhpRA1qpi1UrV/XNUTW5UwOSdOVSKamZUTU/culFJKyCqS42k7CWdas3MMTGC984qc9SowymtrrQq09z7NM810cXHhrZyOuQh3kujl9bsJ+9fX17v9Mc/LqvSdXud4PKTpabfbRlGEbJCk1yWtdsedcy4Kgovp+HTYblerOAjY+/RwKNJ0cnFxPO2Xm2Wn33laPGO0igowjljNZhfG6DzPRSSOYyYNgPXhwwcoK6RhSfHnOI7Rxf706RM+12+/foVi8nQ6lYUlUVGYKDZGR2HQQfFgrSOix8dHdEIVyeX88nJ2sdvtFmU+Hg6Wy2WUhDpQcdADlBGiKAnTNGUWE8jd/dVisTgeNr3+kFkmk1HUSZxzcRIwi3Pu//5//j9pmvZ6vefHhyAIiDwSgh+f3qaTmXNuOh17752rHh+/Hw6H6XS62+3u7u6UikQ2t7e3SqnjMZ+O73qdQaGLKOriUXQ4nKy1WnMU61DUdDoqimKxWCdJNBkNkySZjIZVVeWFDHvD3W5HCe12uyItrq+vjTHr5eviZTUajUaDYVEULOS9zfM0zU5BaHr9LpNAJ/3jjz/0er1ONz4e0uYhQdvtOooiZuqPhkQEBn2/3yttoDY+nU7oS2gdeO+fn58vLy8xyhEso1JIUzkCiSbJAMQnkb+5uWFmsICIcfDeQyIP3yquPkDP8Xjsdrsvz8/gXy8vLyG0RazH/rDFY/VyPi/LkkR22+1uu/38+XMUhoObmzRNy7LsjsdFUeRZ5vv90vvnp6csy07Ho9Ea+E+8h7iFiJDRDi0Q3qWqqpubGxwMMpHAsozH435vCLHs4XAoC+usBHEgng/7U5rmeZ5vtnXszP39PbQTV1dXgF9FMyoSdVeeF0VRYhwSqgvxvD9ssyyzrgRgJaLRaPTbb79lWQaFDOjb27trIiqK4vl5IY3dE5gShfq3376cTicThTDI7nY7HJX11gRB6P3xdCqr6nA4sNK313dxXFcUx+Ox3x8qpb7+9qXT6fR6g7IsmXUURVdXN0opvJctc/JSFWVVWBJJopi8LN8WRVV67zEuF8LiqqowiOfLly/cGDPCMJxMJkqph6fnMNC42YuisNbleR4Z8/HjJ5wlFomCQJO2Rbler7tJp8hK8vyv//J3cP8mCBTp9HgIgqDM8+x0jALTiZPxcGTL6svTs/d+MpumaQr2IQzi9XotfuGci4NwNBqitK5DTkm2+91itQRJXJbl9e0dM9N6zUKaVZ5meZotFxDOTcuyXCwW6EaicMXgWBDDLSmImirP881qPZlM+t3e8/NzHHWYuSxLW9lCCqxzRKai2MBLFUVRVtUxPXhyF5dzKAlRkqGyUkrBIKSE5vNLayuAeGvtZDID6auUCaIoz/MoStB0KqoyCGpTxPPzs9YaB4D6B4t8NBqB74frd7VaBRfBbDbbbrfG6P1+Nxz2jOHNbo1nXx2g6ezz8yuKFpE60QVkPwiL/X7vHQdJRKQ6nV6WZZ1O93hMT6fTfr9FHybuJNbaND/pQAkrDEjGsxUloohsNhtx5K077Pa9Xi+J4jIvJqPxdruF9gZ0A7RqKP7T40lERqORiUyv082yrBNjHjaLcBiGrrKTyWS73c5mM0Re9rs9LxYcal6V3vvJcLQ7FWXlOj3thE0YdZJ+PSdHhUZzGIaeWBnyVI898kxEYp33xEIsXoQbKyTIdSJHQtx4LhV7T94rUUysFLVpkqyU14qEKs8uNJqYq8pqFogerHWEpBAvrIz3LFKPV/fkahqeiMmSsLcQRSjnnHNtpDWAJtUmSRJvPStixTAzePHixROLSKyUOO9B8JO2lQtDYwsXRqad7yOehIScL5oY7jZ8BspnY1iUkCaljTFGabLWGqOstQqq7PMxTyRKsdMchobIl6UlRaQVEVlbtenjkPr4OsmqZDbOlc6KCLPSCPrznpSioiisLbnJxKx8JSIKhVmjgWEV1MjQaE/kWVXeOeKqqhmiOO4opa0tPfTovrKuDMOQtBIRXFlm9iLOO0/iqqqWZjSAG2vbM2mtmLWwF/GaBOjXiYPKy3tvOGgbNd5Tm0fprCjFSmkS0vpdmSNnxDzk8cxMVKI1QXXWZ53vR3AzcDvx1yqltGalNGmqy0QR0/Ya2g/QWlva76jW4uCZWJiU1so5lB2t3Opdv94eblsjtv/bllByxrsTEwbFKaW8WBJp5lGhP8VE7+KqtmUDzRlzpBTW/bvbAKdG6tggq3T9W1prYmpXg/deKeOEmZiwpkhRY2NtooSUZxHHRKKZpekUBDpwQrby3nutA2OorCw+QlOzGaUD571SKu52bGGjKFAinmoVfpFXs9ll0u2v1+vNeme9DEcDL/L8/OzFoluKJmmSJP1+t6qqp6en0JggCF5fX8G+tMMyHh4elFKXl5c4FZ1OBz16bKDWVq+vLy8vLxcXFwAxURR9+vRJKYW4mDzPodPodDrIjM/zHDEIGH+z3x+R6sDMeAYANb69LZgZsk4w6EVRgKL+6aef4H18n0fd7eooFOSCOQeGDO6ofq+HdL/dbjeZXiCtcjQaLVer8XhMRM/Pr/v9PoqSv/zlL865Xnfkvf/6/RtYveFweDgcRAQ0NkTPmJKID/vly7fpdDqZTDDcB8/d29vbTqf38PDw5cuX6XSqtS7LWhaMRgdayZBaYurk/Oo2L9K8SMGojSfD7W79+vrqbXV7ezsejw+HXWtT2+/3290G41SiKLq7uxMRIh/HcVU60Hg//PADHtVx3FmtVtvtFh0VUMvwxCDDG3Efw+F4NptdX18TEYYUoh7DpURaCwQeYEw3mxXOfBiGnU7ndDq1CQ/b7bYo8zAM7+7uer0eHsbQmThrgRgA7iHtgOod51lrDQgLd12btQcEQ0SdTgemahH529/+BloFzXTcpFgzkLoipKVtMvT7/XbIFH4X12u/3xdFgXlPoEshHkPphSMh9uBfMSMdawP3DsIo0J2IovDq6mo4HIJzBZcvwlGNrqLRaIQu08vLC1j/zWYzGAyAcdtM8Rr5NTJiEbHWPj8/h9p8+vTpbbX8z//8T+99p9O5v79nZmFx1kOoAHFRY9NkIkqSJIoSxAiCCo3jTrPBEvTxEJ7BLwvVzXw+w+GlaWo9JhvE2O7QEkHtjUUCB8V0OsWtja3KOQeJERR0riy/f/8+nU6zLOsmMWBfEOjRaERerLX9fh/uSTDBzrndbgevDjZhY8zr6yuu4M3NjfUuy7L7+3vn3M///BWsMHQ1ML6gZx1F0Wq9hdUYgo0oiuAbwYnFb6HSY+bNZjOdTkGlN3K77nq93mw2SmlqBqxmWQb5EIRbOJ9xHI/GUziSgyBYr1aw16OsJSK8Ub/fHwwG+8Nhsy6wG8BfC7c3qN/ZbFZVJfobnrnTSUA24/hXq9XxeLi5uTsej7/99ls3ScA14Dnrvcctie0a6uZ+v48KE8T/YrHAY3q325Gj2eWs1+uhg3dxgdDGPUQ1kKYcd0djDERKLy9vuG3xUoix73a7cdwJgqBNmznfcKBZypvhpmhXJkkXonOUgpBxJkly3J9awIGZCUmSYP9BrwnbV9QMhcBjOs9zPGVw2NPptNvvff361ZZF0HxByg/tUNJJYFcAHkrTVITStCKlZ7OJ0bFSZtAfaK291GpsyKyhU/VnBrkWpdRgq4EN5+hCKcWsz9TttdWTan2LIDGwFh8zGgO+ja1r6UXnnAJKUdDVMELzqBlj6b0nhSiN95RG732L3jHkiJm988xUC2egoRCu0ZhSSmqCHx+HtWoYXO29rarKugo9B9uklNRMKP5EvxNRNPTwe1AMn301wEn5RvtORJhCr7V2Z2oQZi3N3B5Us0yaiL04cTUBby2GT0WoJcCViEgYKGnUR40ORzETShmAnLIsS6JAoWfr2l0CQXA4Hs0CUluzMJMX78Wx+MrXZQR2xUAxRFD6TEZ1jlTbb2J1tTgTMNjVk47+mOAuZ9x8c07eX7nyjsgBuBsT+Np+ipNWQ3G8grVea3d+FZo4SI/Lo5gZjRImYtLtEsdxsyalVJOveJ469P9DidWWGud/oHcXMBY9Ds63ZwdLErmrzZ2G8uV93VBt60bnov48bZ/LnTl/udH/aK2VMroJd6/XNMJUa6GaIiYh8qy89+yFufaUNEIj1BiM8FVjQleVqLeCQDFrRyzCKlDKK0B3rQNri8p6pUwU9pjZScYsYaSCgNOTVxK8vDxZ6513uMfKsoziYLHYdrrxZDoCPZanx8FoBEnl1XwOGh4K7PbSQmOKJvWHDx/Ksvzy5cvFxYWvbFHk0Lz+9NNPYRjCfYj8BIRJtxtlvYiDAM+M5XL5yy+/iMjnz58v59dATvAeQcP99vYWhlFZlt++fTsej7e3t8aYDx8+fP361XuP1BewvLvdDo+NiEkpFRhjtN5ut1maaqXiOE6zLC+KoiiUDsA3l846EpiugPDCMLy5uRkOx0TUSXr/+Mc/yAsGQO73++l0aow5nU4QWSZJ8unTp6IoEOJxcXEBZpqaflbjad59+/bt5uZmPB4+PDwgY2e322GiIT6RtRazlu7v77Xmw2FXVYVS1Ot1tObdbhOG5uL6ioi+f/8uUnerUZAUZY78x9vrG4iL4jhE8t12u0VVJiJlaTG48fr6GloUbAd4gjIzuN40TQ+Hh1Zv4L1fLBaAkoAdRARVKx54LeS9v78nIngc8ekA/pTm4/H4+Pg4HIxgLkRJYLRGbBxgX9v7BpDC2BpjDEqafr+Pmg0HsN/vYTvDng7xK1AUsI61FkAZnXd8H08d1I04LdiyAex2u521FhoSWAzxmhCCA40BTAxHfdXMh9daQ7MOax1+PQiCq6urMAyc829vb4vFAnLboiiclSiuc6yZ2RgDwAGvqvf+6ekJW1BZ5UEQzGYzKIuQ7In+QFmWcRz/9NNP7adGz2Sz3Q4GAxNo4Dnv/eFwQBa4tT4IrqIo2u0OwPFVUTPQRVFBaI4iCm4TqKQw+Ws6nWbZCdXaZrMJohA0My40EaEnoybT1WqFKgUOSKy3JEmqMm+1NJBmQQmNBROHxntMuce+p6E+R7Ih3hQ5j/hc6KRFUaKUghHZOXdKT2Cv397eIPBoZ2lBgBdFMX4d1TXCmnBu07wwxnSTDkQXUBMN+iNUDkD/kOkjqhxCMu/r4hBWDSwtrFV8wKqqTqcTBDbAkShKUQNg8UD/fTwehQgR49iEO53Of/7nfwIFgsDO8wwhVGxM+3R/enpSSoFbUUpBC4cHLi5uknSQbKOUQjnkrIV+DCKxr1+/wmCK5NYgCOIgxN6VZbm1lVLGOWeMCYOgqiqAXaWMiDN1zrqCbwdQHl3T7XY7HI611q2LA94DpVQYBnEcgwuQJqgAexSIJKinkCNpjEmPJ6X06XSaTEbMYm3Z7SbWlsbUih3w9BC2hWEIZqG2tYjg5ByPx8rZIsuz7IRxUcPhENeoqqrKFpT5NE37/R72ivS4t9YbY7JTkXWTi9lo0B/FcUdEpPGqlc4CEqBk5Tr9gonqGAlAT0gppFHLtLRgAxLqV4NioSEimRhbhGZ+V/IACymFHMlaGk7KEXOjLpZ2/CpGkzohTEqlZmAqQrGZSelAGlMpnSU2yhmjyi2pqthoQ00WiFKqsp6VaK8AcGuFDNeSDNUE3WCjs9Z6X4M9S7X3jJmVMuRdi+V+D8DqL2OYiKSJfTSavfcNq8vOexxAVXljjNGqHXnZoErVPo69tyK1l9c5IaqjVrz3xtRZSZW13ntb2bKsytIqRWSIpZ4UYUzoXMXMQWCw5Fpo/ofaA/tSK1BpAWSDTluoXddg+syY26LzmqT3vkGY74i/peTPUTt21AaXSuUdkeL6t+qqwJiQlRIR00y3aM+JUooaKG5EhElLHSckIra9MMwtdv9dtI33jXWimcglZ+O+/O/VP+fH3V5+pRS+LU1B2RapzQtKczyt3+J9dELt764/w/sJbU6ldc615bIXaUM4m2VtlGJffxYAc2HSzQHb8yMPgqB1HtNZEVIUlXNeG19VVRTV8VViSGwpIl6YyBgdUBgxeSEbBJGzhYgvqnT7tlxtlpp7lS0UuX43KSr7+Pj8/FzCk9TvdpJuZzabWFsOh31jwufn5/l8HoahUQokYpbWkbrr9brT6YxnM4gXP3/+fDqdfv75Zxz87nCANRC5KNvtVsiBSwMgBqWU5/nj42Ov15tOpxiyCK4CZketdRhEi8UCSsr7+3uII9HgBp5TSiFyHmAXlrXtdvvt2zdkiqGHwE1mHyaWA5efTqfxZGZtkSRJHEvl3fPbK7ybtiiHw6EtSsNq0BsuX5eb5eb+/v6f//VLmqb/43/8D3H+H//85/F4/Pzpx59//hkPGBBUiGQGu2mtX61W6L8DpvT7fcxpur6+zPNsuxX0c5n5cNhBWYuwEURKA7wuVkvc8DAMZNlpNpuAEYeUczabOOdeXl663e58Po+TCDvX9+/fgyC4u7vL8xSWgI8fPy6Xy69fv4Zh3O12P336BLCIHgXMrND+gkLACSyKCuIxaohDiE2hx8jzHJMR8fPQgsMVhxOO2yQIAlzEypaYtBWEJo4j1BL9QW86nogIGj4woqFsY+aqqhDoBjMZlhkSrEFGZlkGgF5VFXAP5LkiMpvNAA3BBDvnUC3gXm5rQqXU6+srENhqtUK0DjCZ0Tk+FOh8cJ/AKyDaiT16ArhPUSe0wRRoDiRJEkXhy8sr9C1wfgdB0Osmx9Metr+2d4GYlDzPcQKhXghCLSLgvC8uLlAhoLYZDAZlWWKA63A4rIfOrten02k8Ht/cXnsnh8MBynsklnhPm80OI3u73a4tq8bjOEEeDoQfADStkBrOeASe+iZA8+bmhoien5+ttQB/x+Px8vLyuD8w83w+Hw6HeZ5///6dmQeDwSlLgdJubm4Q8fH09GSYN/s6TpTFQbBubWmtFW0QeIKyBMmb6HVst1v42i8uLnq9AWJb0IiD6N9ae3d3h522fWpeXl4y8+FwBIw+njKgyevraywSXAJbVrrJB7y5uXFWYJ0H7EaVCOgMmZ/39e6NWBuMomPml5cXrLrRaMTKoJZL05SiCFoy3FBKKWPMYDB4eHgoy5KVqqoq22cYc3Fzc4MIIKy90+kURSHUiSaKEPGJTiDqz/V66X09JMhVldYaxgZrbeVKHCQWcxxFKIHwhdscBDzGcZRlGXc7LZhL05SoY0w46A+xOZelhR354eEBNtb9HlFFc/QAnZOytLgcInI8HtH7Al4fjcZE5JxoHYiIUmY0GhtjcHGRZgPdF/IJ0ILAgxulO0JXt9u9UgoROqh/YBY/x0+9Xg8LdbfbzWaz29vb9XrZ6/VeXl7iOO4mnTIvEHQYBEGS1DYqaCbDMBgO+yZgpYz3rHXgnQRRiI64c86/j0TF8KWWVici3fLT715BItSuQG8YzFnjjSbd/AwxgzoUJibyio1wRQ3cJ2rGwmDKEr0LzessRKLqPdadnG1mlxqNglMxa3I15PDkqMlpae2KzBB1wKZIRKQ0eUEaI7TA5MixiLetkdR7rzRr3X4cFuHzeA+tvWff0pkt8D3/UmenrEW6vjk9cEg2WfJMTWONyBljtFbi2RMrxaa+CHUh2iI673UD4kWJEnofAkVEVWWrqsrzrKqqPMu01lHEWosVz0ZHYehcpbVWWtdTb0sLU7CqR2wKdNLekwjj7BkTGBM2NVuLFYm4Hn90piz6nVCemY3R/72mOj9d58uGiFqFi/e+Lopq9F8PeFLKwNTcvAC3r2frzoNWShnx3PpE5SwfplkQUs/+PfObwuzcOCeoTdb8w6eqf/isapSzpgPT+ztCyYLrh0Fb5yuG//ilf1c/nY0vxjuxUoRWDol3JLWrVRFV3nthzeLY13oYL7XHuY3Yb09x/VVVIrWejLkNBSJbVqRYRIqiSDqNTk7EMwUmYiFfFqSNcsZJIULal85XJM4Eokw16Gujwv3h2O0lzsry7dXaksnHUTC/nMFvt9lsjqcMpLu15Wa1wlMZnETO5Xg8BpVirf369QuGa6zXq4eHB63Vx48fT6cT9no4KbXWcRKCuGrlBAicRig1EUH0DJoEFwsqCAiy0VdFAzRN08vLy6qywA1A/zAYtTqfr1+/bjab+XyOGSur1ao76GMEDzIN8fDY7/dZXuIRHkURFdnhsDscDtbayXACCCIiWXYKggj8bhAEf/7zn6uq+vLll/1+n3Q7v/766+l0urm5ub29/fbtG4jzb9++IY1+uVzjk0IIcXd3V5bl6+vrcDh8fX1FGkkQ6G53ppS6v79Hxs52u31+fu52uzc3N5id3u33kBYCNuvi4oKI0jTNTjmCn7VmREcjynqzXU8mk6qqbFlB2gH/Vpt0Fsfx9fUtgAKIWHTJkYe43e1BGUKQEATBbDaHdy3LMkCHt7c3fBBUR3hr/PzpdEqSBLwjvAEQbIDLfHh4KMq81+vhU2y3219++WUwGPR6PaPqPNAwjHa7XSuyR/Yitmy8GqTSh8NhuVyiJEuSpN/v4xGIiE/Ii9GCoKYnhnAS5IEg3d97v9/vV6sVyuDj8Yhkd9Q5QOqg3nEmkaGhm/AlZrbWHo67MAwhfHp7e8PrIyAFHzxN08fHxzzPOp2uMeZ4PELAMxqNtpvXvEjrjJ3C4rOAjxQRsPvgLx+fvsNXh5IJ744ehYiEYVgUxV//+ldkRKZZFobhfD4HMk6SDnAkCoM8z7UOmPnPf/6zc+7h23fvfafTQyvMOfft2zdQnsiRfH5+xoAeYGLnnPfy66+/BkFwe3srRO36AQULnx8k+8Bbi8UCd0pr2gZaJaLn52fv/XQ+//XrFzRbckWo9/I8VUoBQIvIYDBAnwGze6QR+g+Hw69fv0ZRMp1OO53O9+/frbXTOAK3qrV+fVl0u11EQ+IMY0wVlHJx3AEjMBgMbm9voygqrXPOaVbI4wfgw3bU9nbgNAVKBi45HI6IQ0VYEEpHcN7wHBdFsVxtcHd0Op1upwMXJj4FJFXMXK+fPEc+bLfTL/Lq69evNzc3yOe5vr6eTqdZlnrvh8PhIU0Rrqq1hmCpDW9JkoFSatfI21B0ucpCvDedThE9lCQJMCUM34jWgV4oiiJb1Crefr+fZWa/PxRFcXE5x5rfbHYo/p+fn6HACYIAjT4sVBEBbYETgkYTIHgQBNipEK8OJgJYFisBjVkRQZSQtRa0AhEhMh+cyMPDw3g8Vkrt91tjTBiasiyLIkuSKEnqOyXP8+fn559++mk+nz8/P6PHiL6HUgq1KxGh1sqyrN/vKaWy7HR5eYGdM+l2lVKdTtLp9gMTeScmAAirUWnYbAjNzuBa3Kk1GRM0KOKdpGsZ03MYwMwtVuFaIOBaLIUEGmZ+n/teQuTtRbxSShGmrTcQCP9pigkR8Y68ryrnsHTFMzMbwyLsSUHZTM4xt2KBFmspZq3bqfCkRLx3UgHy1jEk7TGH3pP3VrywVoq10u840nvStZy4kVk35wp79fmZ+QMYrfPBuf6rriU0YNCbn1AqCOrmgHdkvSNSQt6L2DJv0KPgomBlemJWxFqJJy+2stZ5X1WVYinLMs+LsiyzLA+CQGkdN67ZIAjCMKzHZgHHBq0ZVBGRePIk1ru2TmilYg0RTK3824tlJAmyUYrPfuB9ghWRas6hP/vmO9w9P11EFASRNLwwn83J8k0oqveelUJ7s6oqdCSIyDbp8ko5pZQhEcUMGE4iJF7RO/l99o4e3LZ/d3m3Ge31JO32BPlmNpVzDj2U30H5ep3VCh7nHCs6H2fA75Wraj9Yc5u9o3Zq6+gG3PtG3a619gozpdoAVOuZAiatMP/VY2Cr1IMW3PsL4gZuKs7qDwIvYamjmzyzcs7lee7FBjryIpUtnasCBdWXZmeEFZEKg8BQlRdlfjqEQTUe9we9eL+t7Oq0znbD0fju/urp8c16GY+H6fFwc3ertc6yE4mcTofFYgXRZK/XCYIIyV9x1EHrnIiqqmKtwjBcr9eAO+PxGL1y9jKdThEcMRz1gZVh+EM7eDgcQicDogty2LY7D5vR6+trVTqtNcYQgivVWm+329Mpnc/nmFfS6/XyPD8ej1BSgqj+9OkTOEI8PnvMmMbKzaDB0Wi03W69q7yrvn55FpHj6ZSdjoqk3+18+HBHRBBnA99st7uqqi6vr5Exb60HBRtG8b/+678yc1VVnz9/LooCtQGePRB2g8b+9OkTkkAgN7q7uzNGLRYL4Mter4fEnjAMIVzBOUEiSm/QR0B1FEXodwN8zCYXuPnT9AjeFLodIOwoirxyeCSDpkXedrfbTdMcpHir8AF/CfYaIAY9EOBCsO94eKOCWq1WRVHgJEDaAYE+ILLWBo/Yy8tLjItP07QVOoPPgDy9LMvJZAKpzHF/qE2NWQYGGh8zDMP9fr9YLFq1OvAT/jqbza6urnAJHh4eQP/P53OsK601lCRwZYRhiBQXPPtb9TBGWgKso0GJOA6wMnHUgU+u1+tBAtvtdgeDQVEUb29v7aMIaGA0Gjnvj6cT6GFcoMpaRELhZE6n09vbWyja/+sfP1tXNxmUUuD4cae0BYm19unpCRMiqbERwyEACnyz2XjvwzAwRu922zTPkiTp9a8w/yjP8/3ucHFxcXt7C7GKiAyHQ7zR6/NLp9MJwxhpsEQEYX1RFCgtMAoA2852u43j+HQ6LRavgFZxHBdVORqNUK5jcBXQPxogCL4EcHx7e6uqajydeFcR0dvbG4wc19fXMHqiq3Y67DCvdL/XELLXEU+TCVYa3Myo2VpJFViYMAxvb28XiwUEyhB3TScXzJym6Ww2y7IMnYpery8iLy8vxBp3HK5mFEXWi4hMxxPMcVutVo+Pj4GJUEEVzYwekOhokT0+PhZFicNATwZzbYngujO4K621aGXEcTydTFQTvoQWBLa4JO4qpaImxwmJQNhysf51PVBckPRCWsM4AQURbu24mRwMeE3kGzUORwGs+QxsrZiRFoB7Cnd6VVXz+Xyz2aA+6Q0HaG9CO16WlXdSFNV2uwfMwrwFZh6Pp9aWk8nky5cvaGigLGlUMSFmbKMHhQXjnEM1jqUCG1U7wGu322FDgLsGD030lFAGAAOhoCKi0WiU1kOvLQ4pSZLhcIg5x8vl8urqCh0q7EsfPtyJyGG3B8c/mUwOKQfaVFVljMrzvKoqpUlrVkSRCarKsXAURVAceO/bDnwr2la18IBbZrRFtEopY97F5Xw2+7OFsIrN2W/9LgibuWZDz3+AlZB4VqIVK8UsnojZyzsQ8ixCnnyD2r31vsjbWHc2JvTsla+jQQB7IAR4ryXO1OctbvFtDrz3XupJuuDHXeXx8XGBwGKc429qJB8Nd17L8X9/0v7IN3MTtiNN9AoT3paUUs6J8nUsIboceEHtTVPbEKTOSnHD1ro6E0WbhoC33nvnKjTPcWNWlfX19CEJgjBOOlGUcO3yrLN+vCNir0UzM1M9TwvjLEiUUoyDRLkC6XVTldUTc9kz83tkPqIImzXwLmHCv1pr/XsEjghG7XoiatFs+0/SrkycWVSAbWHQ/rxzTsFaXV+dd6xrzq9ZvRSUEDXZLMxErhW7/+Fin69g9d/kQc06Ps+BeQ82QhXbxr23KxItDIyBxWL1XpjJeVLqzGlNtcdUkW8PtW2/1rer58YyqyrvuPQiEhgFs7MIe08C7H5W8YhIK9nXWmP94JEvIiTMwkTkuCLRTrwV673XhoNQOx9UhXjrmFirwHtnK+e91VptD/syK40KmIXZleVptVp64clkMp9fPr+8irj72zukvIUmOGUpXEpvb0tcPIw0f3x8fn5+HgwGSdy1TXT35eWlZ8LP41qALrLW5qcUscTzy9l+v//55597vR6y1afTKagRIsqybDabYUs9nU4gLPEsEZHFYsGkwa2+vb3hLOEx3Ol0wTzBplYUBabVnE5HogTI0nvvnB2PR51Op7AWT3TVjFNh5ru7u916nR2PZZY5EqMpiUJ4qooyD4KgKHOt9W63qSqHxIyXl7eiKFhrBAWGYWhM4J0LwnC1WkH/cHFxASmbtTZJusDrQPMQ+dze3jpXATuCA9tsNovlG9rcSFhH1QFMPJlM/v3f//3x8RHGL2aezWZ5kR8OB81mMpkEQVCWOXx+AI5RHGLZp14gYe/1Oq+vr29vb8YYY0JUBRjkhOw86LBfX1+LopjOLpBEeXV1BRJ9u91iQhAqLl1P2TRAorrJuFVK4YLmeQrvGpjvw+EAsIV3YUUALkAYRVHs9/vD4RBoc3V11e/3f/75F+896kZQgFBOo67DmQeBih4FhFsgL+lslIzWejweQ+6FUrAdBWCayMg8z40xNzc3wFuAg0CuABDOuUF/BKId+gcMndnv93CLKqWcq6CGB7OYdDro2GCE52azOZ1OVVWNRqO7uztAMYQYYh5QnIQw8qLTCHgHZwjg8mg0+vz5c1FmkDOhSNNNJAh6XNbaXq+7Wq2sdyJyOp0g6YZsN0tzWHLDMPzw4UMYhtb6Mi+stUi1R/rK1cXce4/g/PV6fX9/D1/gZrNBGdyqHZh5PB6jawTNbpZl3759E5GPHz+C5s/TLEkS/MBoNFoul8jGjjsJicMdgUiWIAiW6/XkYobrMh72AdRamRBDY3M6PT8/C4QrzoFBGA6HmBe73x+rqnp9fUWrp6hK3PKQ+mCRoBvDRkMoYowZjUbb3QHtEZgo0jR1vlaEgzIA830xu8Seg0oSOm+U03meLxaL6+sbeOsh3hARxNij3+KcA4aGeX0ymZRFAfSMHSzLstfX106nQ6K01nlRxXHMzAiGuru7Y/UelgKhPJRjSa+H/C5Iw7HLYc2L0OFw6He7YEOcc0rVvSDsP3mee+dQYFxdXWFQAM5n0RweyjC0NPHieMCXpcV2Kk3O92QyO51O3W5CROPxGP5XYH1r7ePj83g8JlJJ0hXhNM2zLCtLGwQaJigYA5AIqZSCEQi3A0pWXJHT4Qg8jdoeu0FVVcD36B8i8FFE4jg+HE6otKmZFIGzp5RK03S/3w/7A5SyyK0PwzAOI0g6D4fD/rDt9XpeGybT7w89e+/JOTEiRVEEcT3B0HsvZ0SeiEDADAFVg1u8Uu+YpAUz+K1aJ0YIqHjnK50VbQRP5Ba4i0hjlXuP98B2xA3AIIhkpJ6mRDW9Ki2wg36eNIt3gTNg2L33rIw0iPwccOM7MHdivqYIOyHvxFpnjOJ60ioTwQJrtOEwNFrXeu6aRRW8u8OnFmJIqb0043d+j9/av3JNY0NA0XoX8U+wCCvfFELIzMGr+SYG3jlH0e+6HESkvQpC0xYnzgHaGaxzYHdmDsKYWMdRFMcxmCDUWiKCAVb1+eFWa62Y2RM7YkcMdXdLtLdfLexm9kqpdu5qC3fbP5wDXYINujGeSoNSW5a5ReRgE+qT6WyDRRt/KTN04O1Cqlyrw2l080xEZFpoj5V6dhLfL0+zuD1RHUyOBcfMWnMrqxd5L/jag24T5v17Cuk7Ad8o3cW5+leqyom0jlFVZ8EzOV9Ptuf3GQr4edsiFWlOOTNbW3lXv4sjj0gsZ6UKIFlD9wAqI3YkYuE/aC0FNQfP6n1EGRZhfU4Uk1gvXhyjtwJml7zkZaWYgyAS5bNM+UbS5Jz0kh7JqSxS8F4fP37QQfDzz/+V5VWv3yGi1XrZ6XSsq56eHkX8brerqkLpYDabg2PL87L1kJVlCSIkz/OH5yfsnugWAUkw88PXb2hifv/+/eXlZTgcXl9f43KgW93v98FcolcL3TxClFt39mw2u7q8aeXLeOyhCduCb1zH29tb732SJNZWEGxAK4xnjDFGmrIY6yRsJnSAUxSRyXggIsN+95CeYgnTFGk2M60D7OPMGjE119fXYRyHYczMx+OxLCvn3K5JAsaIkyiKMCieSGFqI66uMeb29tZaq7VCpH232/38+fMvv/6MBJLJeLrf7yEygfK1qqr//b//d1FUP/zw2RhTlmW32y2K8u1tGccxZrV47xFmAihzOp0m0zEAU5v4fjjsJpPJdrsPghDSHeccaLayrHAzYlTk6+srJh8NBgPMW8Ujv9/vo2sBdSl63GmaooUCkh6PSe/929tb2UTvQ6TUSoe990bXA8JeX1+BltBJgHoO3mVsl0opICfvPepDrA10eLIsA8+HSTFtC244HN7d3aGZo5oIAuhG9vs91C9a69PphIIQNCcKml9++QW6JnQPBoMB8hbxbH57e8MZgA44qeclh9owMw+HQwyRxa6HYCLvPUK19/v9xWwKWvTp6QlmBpTuUDEZY8rCgkWG7AdXHLtcDUaLAgQtkJ9SqigKHAwRLRYLa60y+vLyEioyxIpfXFwYHcCNAOE+yMXNaq2U2u/3ShloPyALXqxXxph/+Zd/QSENfRQE7u0ULRD2eHgsl8uLiwsAXCSph2H466+/dpOOMQZjDXDvM3OSJM57cKKg/JMk2e12wHlgfBfLBe5QUOmo3J6fn9tS4fn5GUULAChQ5mAwQN4oCh4hgW0myzKwjFU9yZiYGT749kKj0mNm2ECFlXMuPdYTJLDdwboKIROeZ1prvCYsqtiF8M35fN62ArBfXV5ewpIBRzteEDsDatQsy/b7vYgwaSwA52SxWDjnEGB1PNUCIVSJ0+kULYXuYOC9g3cTr2CMGY9HSpksO0ELp5RCLM98PkuPJ6i/YC6KwrDT6Wy3W0wRhjINrZX26YY6E2mw+/0ewzV3uzUzA+6nedbvD+fzOTMfj3usT3j0wzBsDLsn7KKwQEDyFMextSWmpLVwJwiC4XAIydNwOIQlCbAbW8HDwwP4HcRe7ff7i4uL/X6POpaZocnEg6nbJWirULnhqIgIse6bzSbQBvoxDDRIkqTIcu9tt5uAjXLOMVG32y1L2+nHImyt7RpTVoUrrOFGQ3yGtttTd4Ys60/n3HuzHY+kuqbikJmU8nVHBZCGDbMHfSjeO4cURNVIun/n1mvIY9PWDyB9a9CGOUHkSLHh0BvyHnEdpuaGAVvFMyayN9RqC9xxwKWzgapZxfrgvauctbbm75VmY4xSBCuRDnRNMStF/mx8rKtVc+JBlbJ49uSjwGCduzqfsWE5FTcn9nddiObjNxqZ5uQHAbdyfFef53e1dwPbdIsMce0A21SjNzPGdLv9siytLbXWzrnAmDhOgA3wJSLOQaiDAkkxkxLhOh7eWyfVme5EG6MUNPAsRAZpxe86i7qf1hZjLQqv+xNnIFsUt7/bTo1tkXD76+94STGRkpo1rjs/RIrOEpAqV/nmYPHrcJgaYS+k8AFwbYqypNp/XV8G1cz29d4SqbIsWSsih9zutuZwrhmidGYwZaNbhN5WUSKicOewEoHuiFR9TpxvG17E4sWLOGtVrV1DHwSfpL60aH3iGuPGds5hooHW2ooXWKpFOecdzrWINHcRLkDlRGsNpRrBcK10W0J57538Tk5jWDyGXHl73B/iOGaj2WubOROFtiiZvBNijrTRItpEk7xYn4pTv6sO64y8urqesjqWaRlHlXM0mk7fFtswiIbD/vLtaTQcOu83m61SKo5jrRkOyO12h0csuv+oNcuy9JWNg9BoM51OkyQhL4/fvltrD+lhNBqttqskSYbj8Wg0KqoKITN4SrHW++Ox3+9j7Hwn6YEEXa/XHz58ALtDRKD9nHPgF0GlBEEwmY52ux2JuriYQTtEpMrSYgoPUCbusYcHzIGaKJHjblek6fzioiiKt+dna22S9AaDofee2Rc2994HgQ6CSKvIuYqFsuwUx3FZFv/2//zvXm9wf39P5DWLc1UYxpvNpijKDx8+HA77sqzWq5W1Ni8KcKUYLwqU41y1328Hg8GXL6/9fv/q6urXX391zn369CkIgkF/uN1uozBuS0GlFIaPvL29TafTzz/OFWuANvQfiiKbTqefP//w+Pi43+8/ff5hf9gpTTeXl1VVnU512xqSAChhQGUB/kLgRESdTmcw6M9ms4eHh9Vqba29uro+HI9IY2y1p+v1Fs6E3WE/Ho/jqAMWk0idTlmvN0iSLsxnwPHHY3o6HYzWcRwv3t6MMYp5OpkMh4PVcuG9x3437A+Az3qdLh6cqHPCOFSkwGqA7eh0OlVeWbGYfoX8zVboArALQTz4eNQPLy8vSEPyzcibIAim02kYhj///LNSClmZy+USpkPUpf1+fz6fY285Ho8IgoR62PnKBMoEsdbdoijiJCnL0oR1JLlSanZxgWc/gobQr8A1/Z//838mcQzdzqdPn3q93uvrK6b5sDJlaYl1UZWlrXq9ztXNJTOvFmtk1xRlBkEw6oEgCA6Hw9vbG6yHQOHOOVbqL3/5C+qlr1++oZzz3u93B2SboOXlPb28vD09PY0G48vLq6urm9VqtdvtgiDY7HdBlo76A+99VWSWuSqKThwO+5dEdMoyIm9tiXaHbga9KaW8t8vlW7/f/eGHD91ustvtvNR5I1BEwIJ8cXEB7MWkjVEQ2MBNUVhLp9PNzc3y7QUrUwRTCErElYzGo/F04q1D3jlqALR9vPdKmc1mAzncDz/8AOjpSYbDodEhhOZpmg3GY2PMZrNxziulTqdTnCS6qgevQLkxGo10EAZBEMaRDky/37eV//bt2+6wN8YcTkfUz7BXohmFxpf3/nDYg5DGCQ+CHm5ACLIhUCnydDSarFarrEjjOI6CuCiKr9++AcXmRUGkdGDm8/nr63MQBGESX15dlWV5yA6ieHIx22w2u+MhtrEXCZPEV7bb7SZh7JwjJ1opV1pfiQ7IFlaTPhz2nU6Spqkx6nQ6ifdQiq9Wq+PhANkJPN+oQ9qwrzZvFHcQHnxJp7PZbPrDnvVVnudhHAj7JImcK5Xyh8MhT4tOp5Od0qIokiju9QZa68PuOB6OkDEVmsCWVS5UFeVoNCoqs9/vnUvL0vZ6vSTpHo+p1jru9F5e3jCJDxYObO9xGCVJdHNzhTYarKhC9Tx5rP/1eo1+IMSTq9UiDMPxeMgstixA6FRVEQTaGOPJhZFhJUkntK447vawktYPX8+dpKcDI87vj8feYODIl2VOYo3SipR3vshyZbTWmrx1Tfy0x6DKOv2DqR1gdOamA7lWVc5aG4XBOaYEAPViw0A3ctoI/X+kKYonEQeBiveWiEW0YHaj0iTicErwfVLekvdMbNDZUybWUmEAiFJKhJwjVpos0DArHZhAkZeyqN7RM2lnRZTXmh1ZoDRkyDCzE2IWLZqIgkDrMICQskGlOKX17QYK3HsKAs1M5CulFLM4r5SOMBuVWDyJUkRM6EQRkXOViBIS8UykRCkhUVqRKGstN4IQ1QweIiJNynvv2xnzDUhutBTkvc/zVESSJLK2ftoaY8Jw0MRmxJhbYq0V9p4csfJCeWGJyFpflt5VtqqqMObT6QBI470DFCEiqY+fmVUURI2e4o98tDQhPO0KbGE3qKjSWWb2vm6YsNFevPPeKCXes6qJZm7hBLGoWp+ixHhP3nvHjFJHRGA5heZFROIwxAV14kXqIfGBMQZDp9oajohaHU8LuNuRuXSmbfLeC3m0Y/7AprfloAjULu/fbz98bdFAlHs9dhWm2t+1Tlrqri0o2+4DDhJP0LZOaFskQaCJFLOHmJ5ZOyvOeecss2OCcK2dg2WV1nUOJqP6qvsm3BD87acGYrPWqrpvxUWZZVmmw6hR1JDWmkQJe2OMrby1XnEwGk58dSzLgxdmNlXltdYmiPt9Vtp7a0l8p9fbbDb9bhIEQZWmxph+v+88nU4na32apkEQ3d3dIZMYJFxVVS8vLxBvjEYjcGnPz8+wo5W2bkcCcoHYBmbCfvr6+uq9D40BeRkGcd5Mnkf0QafTAZGcZRlsl3Cy4iH922+/9boDdNirqnLOV5VNkqiqSnQ/syyDZKWZope+vLwAhkLjnhfpZDLpJP3j8bDbb7y3u+POGIOB1b3uaDjsZ1m2XC6LqixLCwIYUWufPn16e13keT6bzaPI4pCgVMGVRdhwVTmIRLMs63RqgYHWGua50+l0cXEB1Smati2lhLgDItput4PB4O7u7vvDt6q0RATpiLX25uZmPp9nWZpl2YcPH9C7aB2i2+2vzHxzcwO7FV55NpuBhcLzGMIPZFA45y8vL6FbMMbESYKUOpC+YKDhV0vzzHsfhwnSgTqdzo8//hjHMYzI3W4PtG4URfP53Gg+HA7b7RYopyiK/X6HmxFr5vX1VSmF6reNjxgMBnEnKfOSmcFQjkaj2Wxm2Lyt3hDkB/nHbDabzWZgWEUkTdOLiwu8PlQWSZLc3d1BvIuGr3MuyzLYoFv9fa/Xw2m5ubnBCQRph9k6ELq093i/3wcpa621zhER8ARAPzO3b4Tv4CorpbIs+4//9/9FRbTZbDADAR7Ti/kViECMsez3u3jNVvCglMKkyR9++AEq4c1mg5KGiAaDwWQy2Ww2cZKgVkTDBDq3xWLBzOPxeDgc3tzcFEXxyy+/gGCuqkLEhWGEND1gzV6vV+XVt2/fjqc9EfX7/dvbW+fcarVirZVSV1dXAN9BELy8vKRp6kmKIkPVFMfxb7/91u/3P3/+7EoBHFwul6BOEXjaZD4QCGO0QbrdbpLEr6+vyNWGYzWKotlsNhz2ceH2+32e1sKJ9Xp9e3uLwr7fH37//h3dvzZYsNvvMbNWQY324th7gcgefg8gvG6vNx7XgVfY2bTWbXA4siNvru9ms5mIQGuOAhh9D0wshjAMxAEqN5hARqORiMALi6cY4m6gyUm6cZIkYRBja727uwvDcLFY7PfHfr//+vra7Xan02nlHdwm4MJhpsSlR7q8Eloul9gcUMgdDocmbdMgZcW5ajAYXFxMf/nllySKb29vX19fQasHQYCJpzhUnCu0wpIkeXt7a0Ez7ouyqtD/cc6h04KdGZUMrqxuDKZKqW43ORxOSJ3CEw3UDCBsURRREoOaQfW+Wq0QHHxzdfX09LRcvg2HQ/ToAm0UMZA6Grx5nmO0NjDfZDJ6fHycTCZFUVhbOlc5VykVt2oBZHwx8/F4HI5HeIU4jvu9XlHUsh9jzP507HRi/Ly1drPZ9Ab99HgCmxAlMTZAE6iqKpBZJOxbvWv9xXW8XItPRDygTsNoEm5z70lrjUZKi0bojJ1UqgVIXitqQdH7WzWjmmrukplEMTtmzST0Tr6e2z2VUsqYoAU2znvy1nuPSO/3NBJiEmIh54TZK1WLsMXXASwgmyEeg+VUzqQQ76/vnPeWGrWFd7bRuyqlKFA6jFgp7XxVM/cNKGJi4jabpBbqeEzeAYRqTgJ+kd8nbJ4VYCJee0xrkiYnkNmLtHoK1VZNqMOx7eM56L3HwSulAlN/p8WNWNL42u4PzByGMRF5L85VIl5rbUzdAdZaU2uwfDf+vvPL7QKgM+lLi2/rT8TqbA2gKvpdpss7D0gsZ9Eq7clqs15wlbz3QKdVVVeernYJa5xP846kifDZ5EzJ1KwVy7493PelT0RKs/h3rv38n+qDPr93cJExBxjGXxbVaHqo1p+pVkdB5xIrVVeZgFw4EUQk4tob7/yYXW2JQHYlo71lra0stFb1+zLDFlBrQt4XnHo/2vM7s30L7z0pZZQmRVVepMdTf6iJlWZjyYqwq5x3onVkq6pyPuB4f0wNu3631+1kzhbGBJEJ3l6f0qx03tgyD0PjvS/LcnB96UTvdjvv3WAw1DooyrKqsiiKxuMp1AuYG9Kd9wEjttvthw8fiOjr169E1Do5MCInbwajYEAG+ssQSYNEj8MQ21aelYhnJqLFYgFxAsSmIO1gdUWkBm6Y0WiEOIKizMIwPJ52ZZUZHbZRFev1GhkgAA1wFo7H4yDUXurJNYvlU5qmWnO3262q2BGL526nPx6PRVyWZf1+3+13xoRxlIjw7e31YDAqy/JqPt8dDs655+env/71b9fX19Y6iAqiMMT5bEM8Li8vq6pIkgRZN9PpFA0B9Hb3+z2iLfDgf3p6iuN4Mpk8PDyEYXh5eYkpP4o1XK2IW+l2u4+Pj9aWAHxEpBQv3pZQ/oxGIzxu4zB6fHyEbhjYkYiCIEBVIyKIpXt9fUOIGyYundIUZl/QhEVRBIHBr+/2uzRNNdd/nc1muAooXUBvQ1UVhqEtK9Dh4DJPpxM2c6yH5XLZKqAgikAGaLfbZa0qrrbbLTSvOEhfebwRNZkkGHAzGAwgtADueXl52W63gFBAY0i5AdJC5gnea7PZAPcQERLEiejx8XGz2WitZ7MZknzwNAW+Afcwn88B7J5fXoBF4D7E4rfWwuN4c3ODxxKYe6ho0jRFsjVWMi56WdW9zjzPIXEB4kG74+effz6e9qhJINSGEJmIkLja5t/BnYwHA6oIpRRuvfZ0gcuEWub+/r7T6UC/3pZzWZaJFaDY0WgEycfz83NVVaTU1dUVFA6AbggxXK5Xq1UOjwceXYPBQMiv12vvPdoOMLVjJVzfXJqgjr1vnpEuisKqqqCQDolQmwFeY5eAaCHQZrfb7ff72WzmvQ/DcLvdL5e/GWNgU4Yr1HoX6tBaq9jg44tIr9db77Zo2mBjmUwmRVmCqoBpUmu93+9Xm+1ms4GorCxLZwWVZ1EUl5eXSFg6ZSkpNmEQdxLvfV4Wh8NhOBxCeI0/4HwiuQL5KihgMCXAiT0ej/3ecDabQbQD8Qwz4/TGcbhcLt9WyyAIxuPx/rDH8nh6eoJdAeq1Kq81uDBfokhrpGLcPLxMFEXOSVEUtqwQV1U/77SezWbYWIbDoVKqDYFBKJZSCg0ZrJBTE0ifp1nv5la8hCbw1iVRnKfZerWqKsfMFxcX6NpVVWVtCdYAuzfuTehY0MiFSQMVNeourOe7u5vn52eMo2YhoKggCNL0CFuRarSseE2YXrz38DGDEYCKDyJ4OFtwMJjyoTXrxnPV3pVhZcBGQQ8WRRExw1NLRFEcCMXWFgHHQaBrhCeOPSrSVqUgQk7IE5n2Od4E0dUPdJwfIlKKhESc04TARYAwAABmFm2U95a4nmjDrBptLf6riQRva60VD/GCEfbKs9TZ5NzoiNkJM7PWhqgeGE/NjEgR9t4xc5rn2Ey895rZeV/Zyon3vk51M8Yo3QjH32FYjWFadYfWWps6scS5ytVfVjc0JZ2phpiZCOPk6+lC9cmUd9DJzESiWHkhpZSTdubme6qHUoq8sBJu5RuMckYwCByoDfDSN/OM2tdvj/8ckllrmQsiqtlnUt7X8NU5IVJaBySmNKKUItZCSumAiIScMYZFNQWJVkoR17OdpLG3NsdY494Wr9PvDbtaiBpnLr6p5L1Eac9ni3s1K/g78cNAsl4EUoUGXOL/LJFCN1IpFWjtzqL0Dd4APThmBY+C974V93DTJGKBLtxBdP6OZcmzIoj9m49HRKyQQvqu3WmgPP7ajEpt61diqIwUN8P82vrMe0/q3WtCZ5WGa4Yp/KEqOo9dF6mt3M160igclSKtzftCamVquj47YA6IWok/M0vjfcYKs1oFwDpJtw798N6LUlZESOkgMs4VRZYXVZ45o1mzr5yOo4FmlZfWBHGH46Q7XLwt86x0Xn769DlOwlNWYV8zxijFRVFk2WkwGCmlttstWB88fgaDwWq1+umnn8qyhOoDyxqwZrFagVq7ubnjWk66VkodDofBYBDHHaWMc/L2usTLgoRD6DXCCvHwA1uJtA3k9VprLy8vLy7mzlljTFFmzjlmCQJdVUVZWKUUnmeYxIS/Aih3Oh1t+MuXL0VR/PDDD1VVlVU6HHWr0i2XS+fk9vZembCRyOfYUpn54hJKlfo4rbVlWR12u/V2PxqNtFZ4nGANtGoi7/3r80uv1+vECSWRtZZEsjTNkuTl9RWNCzDKULQrpY7HI9LugLA7nc7z83MURfPLeZbmoNO01kjjCYJoPp/D2YlAzLIsy9KORqPdfg0HpFEaqgYYZPFx2jkj3OTUlmUF5IfHkvMeCGy9XqM3kiTd0+l0d3d3fX39+vrKonCNFovFw8MDFOq4o8fjIeB1URRREE4nF6PhRGlCMVPTVUmilJrNZiDtAIifn58xIjEMQ02mXQkAUmVZRiY65aeWdzwcDiDaEV4EG59S6vr6un3wI5EG2pI6BSgMcXVw0tCfQbmCuBU8jQDZEZcEXTgk1ODn4KpcLpfL1arf76N2amVRgDh5nv/zn/9EkQaGD4a/8HBQWudFcTgewRAPh8Pn51ekAeJQkyQiIkA3sI+XVxftBUK4NWbKSqPW6/V6V1dXQRgiuQX5M9PpFBdiv9uhtSWery+vPn36hMdAWeV5kZ7Sg3VVkiTEPstPh8Nh8bZh5v/r73+Hcdl73+334S0GzMIZgxzLOVfaajjsl2X59vZ2eXl5f39fluXzy5Mt/MePH6HYgUeTmafT6evra7/fh9z54uKi3f/xuZhlvV4HQQC9036/T9Ojasz6zrnpdAo4dTicvCek5ex2OwT8vb0t0/xUFMV4PA5MlFYpM5NW+92OuZbme++zLHt6egrD8Meffsqy7PHxkYiAhrXWh1OK849dqCodshFR/j08PGBCJwpgcPNBEBRZDqIabTSMQy6KYjgcoYWIR8Z6vfaeqqoyoZ7P56dj9v37d3gDsIuu11swIyAy3paLq6ur7XarWYo0K4pi2OvDbxBFkWE1v70VEcwX896naQozaK/XFZFOpzOdjbMsw3QCrYNOJ2ZmdANE5Hg8zufz9WYD/RuMH+gWtjlRSinEOMJODWMS5gHjMwJ2Q9MchswsVVUFQQCrt1IqCOqAuKSZbQzy2zkXJXE7OO/q6grW3sFgQORxRbIsy9NMRKwt0/TY7fYhygd8xJPUGNPr9dB52Gw2vV4PDvuiKIIgwmMLQ1uLLAdxg00pzzIo1kQ82CViHzTDATEorT/o7g77+ew6jmNWkue51qxUqBQHQVjZQlmuH/51OoUB6JYWlyiBTuOM8vNVVeLpRo2Epka6xKTpDGDUrLBSkAogJPp9UnuLTOpBqgRgoz2Jcsqzb47FC1Htp2QSIWbyJEqxYgPk5b13zltrra916Mop8rUqwXrPWvtzKy0b1+RO6macUIt0UbeXVR76kIiqqqqqwlrrvVNKVWWpag8SqgnQyS7uaGIhFmoAVYNEIctuUGyrCWnZaC/nAK/9XaIaGeOU2jrKvMbuzO2QLK/OfLHUxIU1lZUyZ/OVnHNi6vlTQopYa8OGtQ980ukLNXJ/Vau4jVEikHq8j0SFF5FrE2ODM5vK57xZ0ULZd8RI72bOpsZ417W3P09ELHTmbCaA9aaylHppSfsFewN6C4ZFKudEnIJJAZcZ9Vl7pjCrqV2jIkLciryd+Hr81TmY/kORUR+v0ufA/f1jiDovRLy3rOpxYur3GhX8mCdpLdV1WdJQ8m0FJm3ngqjJPVV19Si1NNY6gUmineL0fpGaFgk3lXSdOH9WibZFBREJOe+ZnPVCtsxdZYMg0CSaBDWvc86TL61N81Jbr02cp9lpdwgD0spUzhOZKBlXxyPojQ/3t9Y7VvL09LQ/pnHcCRuFk627xvV4vPF4DNIiMBGUMPh+EAR4VCOTZLVandITmtHonT09PcEIdXNzA71XVVVvb2+n/QGSYmvt1dUVaEIi+u233/BE3O8P7WoC9zMajZTSeE4QURx1cGbQIhevgTgRr4bogDRNu71kMBxgvQ2Hw/V6+f37V621IspO6SnNgyDSmrabfRhGWusgDmFUgt9rs1ozq/FkVlXVv/3b/x3HHXhM+516wosSstYlve7l5SVS2Pe73XAwvr29Zea3t7fjaY9U+NVqtdlsTBAopdDEwKlGddGaJgFcJpMJtLkPDw+orxGijyQEOJDADbf94tvbEXPtdUuShIVub28RJoMfMMasVis8oYEm2xGSQKgfPnzwzZKGcrosyyiqs3qA40eDIWQV3W4X1D5S87Daj8djlp1eXl5Y6gz+8aR2bSJ0Dzl9UMsAHkF6sdls0FLo9LqXF5fz+RzePrjctqvtZr+BdAG8YBRFw+EQxKFSCvggSRIkUaC6RlUA9VS32/Xen04nZIqD+McwHSwnnDdAcDg1gWlEBMIejBD6+eefUUD+8MMPcE5jU4KEBnw5/NbIMIEBDsAXwZeQr2AsJRpZWEhQc+V5CkPIh7uPQIRJp541BvUFpDu4KZDb/fj4+Pj4GMVxt9sdj8dQ1KRp+vLyQkQoXI+HFB0S9HnKsvzw8Q4JgNCuSGPgTpIEEYcIP724uJjP57AfHA4H9AmxDhGoEkQhClffuE4Xi8XhuJ8MZ3AWAs6iSIMcJW5mePV6XdvkXuO0n06H3W4Xdzr9bhdKU2t9qwNxJgATjA8FiRpKGq0D7Bha607SWy7W3W73T3/6U+XdIT1NJpNQB1lRALEBlWKkUZYVIHpXqxW6TKB7MfJTa432+mQygZ2AiEajEcaaoi+EMklrrYyunE3zjJisd67yw/GIiLDscTukadrvD3e7HRYhinZw85iiqrWZzWaPj4+73e7q6spE4XK5HAwGgebRaKS1hqkUwBT1JMJSgiC4urp6fX19enoaDoegHvI8n+t5EAQQUsdxGMfxcDyClRNDzaD5mYzHuEwIV0ESqLX2eDwOh8PBYID4r8urK7w47N0A4s659XqNaXoQRm632yCIsFowE4CohPwJkAgVL6D54/eH7WYTxzEAGwulx5P3FkTJbrcbD0fdbnI87quqQrorHkZo04H96SRd3LPMjDPGzMfjcTSqdx4onYyq47eDIGAW3EHdbicIAvYi5CrvpRmw2uv1wBZjYWDbQSZ3e+Mzs9aKtSJi51yb0Ae3aoulhJwAn0Jk7JxzTikGAmnDZ3RjJmyBGol13pKrZXgC/HM2CaeNbAeWwBwrYWKvAHa9dyLMyijAXNaKnAgJ1+JvpeCl9EoZ4crXymIoPaz3HiettlYGSgfGVfXUSMWGdeDFmvqDQGECMbqz1ipNTTeyxIKEqDVosszhDBSlcfPaikhY/Dv4eUerSgl56yomxVyz1FRHeznXxDXWfRglrajhHCsqAjpEXeTxwQE+WwSomkiWFos2F7rOExdRGEIqpEDLomoTJhWEtR6mHjfkmT0prcQx1/OncLlrPMlirSWqAb3zDsePjfFcPYUvdAaYlGZ2dI7p9TlufP++r3VRDcStv9e0v5D974DevfdamwboAovqyjkRMWcvqpATRG2ip/cilVJGzij6szLCvyuBmrqqLUzfETYJnX2e9gZQ7z2s2vOKxd9WNkS/U+CcVwXn3297czgM0Azee+YAl59IOeeYMGLA2NpFjrumNRPXb9GUffVpVUqJ88zM9L6GBMk85JQoT9aXXvCcK/NOHJeubD4RiYgnH0RxYCsTGC7EW2dLV1WlrTQzsSIlJo66mlQSxuKqw35/ynJsf1HkiHSRZ2VlwzC21j4/PxsTg82CvNK7Wjb9+PiI6GVwjWArrbUYbQiAUhTFYrFA6BugADPP5/NOp5MejkBaIGDwkEbODKTh1rr/L1v/0SRJkiwJgyKqatAxCJyouqpe9zezs4P+/2H3spehpfmW3jQ1qEoYGdAxMKiqsgc2M/esfkHdRZERHu4G1MxYWJhZkE+MXBFp8/KBKvI8g7ySRMVRH7dycKgdSQ+RcRQa0PB1Xef5MYliYOUo7jknTIEJo932uNls0XAQ8UGoketyOBxms5lSerc9vDw3T+j9fj+dTvf7vavqbH/YbDZZlv/0009xHL++viqloGe4vr52zr2+vlZ1Udc10O1oNDJBcH9/L+2Vo1oDOyjAXq83Go2stTAMjMfjkRmGQVRVFWS+GN70yy+/bLdrcGCr9VJpvrq+zPJ9ta20btoXZVFgcc7n87dv3y4Wi8VigSUdxzGS6bz3v/32O0A8ktGjOAbHICLY39Fo0gEazI6p6/rvf/87M//yyy8Anag3gIwh3dbcLAlmxo07y/ThcECtggnkRAQZCc4atg0rCpB3u93iAV9VVb/ff/PmDZiwIAhQnmEXvn37hhpgOBx++PABgDJJYu/9crmAxMsYfTwe1+uV1lprledZFIWTyXi1WtV1FYbB9fUVBkBCMrteF9bWeZ6JEBopaP3jpCC5ElXBbrfDelOtGB3+ga9fvyqlADUwrxSnFbgTvXhmvru7y/P85uYGNuKyLKHd3+y2eZ5fXV3lZQYyEgmYiB5C0AfyaiD2AHDH6UDyPSqf4WBcVdV4HB4OB+Ss43b0+dPXsiwvLi4QfV3kRRzH/d6wl3K/32+pF//lyxcEqgxH/TAMvdjNZmNdNZ4MsSpMEO12G2stDgjK9V6v9+7dOyw5bBWwpvc+jAxQI5E8PT0BA6FZsd/vmaXX60VRZMIQ2ChJosvLS6XU4+NjHEZxHHcpNEiEdM5FUYIDOxqNhPq6nT4bxFGdZYhst2UFlwt8zJi1JETwQF9cXByPR8z+FFbeezhrRcTWHrGkOGWon0Hb4xaEPpL3HsHqXbUJv4q1FucCfT+MKBoMBpPZOIqiMCxxA6zrGqi3qiwRTSaTssxVG7HinGNjoLHebDa4HKD3wIaBaHDtxMc4jgFGn5+fl8vl23d3t7e3T09Pg8Ho6uqiqqrjMR9NpoE2SQLFOWHYAnq5aCOg44S+Je5Rrs2CQ9pPXddwGO92u7IskaAFcHM4HJLEceuqx1aBI8ftBRUCZHUIGcPFotq499pViNfMDseqKhAjg+LQ2sqfJRWickiTeDQaLRaL2WwGMRLohrLMh8Oh1vFi4aqq6E8mzAxEhNSmqqrSNNHEeZVNJhMo6CCvCiPT6/WqqppdzEMTFEUeRiYI0Xe1LXKAghmomoVdM0+HIM32Sjx7pYnZCzMpEmsr75xRDYPrvSdF3olmMgYR1A4MsWaWJq+CCfEyRMSilCYlIo6ki45RoKlheCRRzKS1YbDvIkoaHbOnhq8k1lpRXdfIwtY6cCIBMbPy3tfOiogiVuoUN0nNoEwt3AB33XhClFYAl6fCBVDNOgtIjQA9jCYTEdP6ngGHNLG1TdCN1mgv4OGoG4gojtuah8QrVop1KxwC29v8FgAgjIz3ntmS94CdTQHQRN8IiSYia621DgsP6PacsHfOGaOck3OQqTU0UQIqmYQ9WH1sDWnFptFjc4NpnfOm0cM4OTs4RCQE1crJJ9uh3/PuwQnHtpGDzGyowe6nD2++OrcD/urkcEWYzOl13DSsuBUaacUcBNKsFjJGhWKstaYFwajwfoh/bwlvB97dN6NZuz1Cqgp3ddg5U3461i1rTm3BhBeb9rPwuczMcsbTtzD6pIT50UHb4XhUudxGcna3D+9Vk7DjHTUbqpi1agIlO91SU3g756BhI+SeEok0M8DgYoFCEZerNiwO8i921rLWzlZgLKLAiPOFOC+2rPK6rk0Q1M6Kt44kCJOc8rqykgY6UHV1ZM/W+sBE+8P25eU5TdPL+cx6KfIK96OiKIIw6vWSqqq8c/1xH0JkIoqiaLXcgO149+49lB7ei9bae4mi6P37D448ntPAXjA5YXgNFC8gkjHWUWu92Wz/8Y9/Il347u7u6uoaR/vLly9g0LvyDI/JwaDvvSvL6nA4UJN66ZRSw+EAOg3EjHQKXVuXWqPaMmWp0EVVSm136zgK60rEK60DY0Ii5VxtjG4kpMMhIr2Px2y5XPYH6ds3b1gp7+OqsnVdH/bZarWaTqciVFVVfmiSyIDdiQgjwdM0fffunTEGLVogFaSVQVoH3gijUrMsQ1Yg0gCPx2PaS5jUaDRar9ffvn3r9/uARIiKC0Pzy6+/HA6718Uzkf/Tz+9Iwr/+9a9xHL+9eyMicMuB68JmQDAAjIiUaO99HMe9Xu+3337TxlxcXMD+iFO22+2QJg7C73g8Ipe6ruvffvttPp93o0/W6/XNzU0cx4+P35M4gYYHzOXr6yvQRq/XA1LHMkChAr11u5w8eh1YP8BY7DmvciBX4P7j8QhYU5al1hq1pTHm06dPYP6QOeO9f/v2LRxmYCixyz///HMURXg3hEXigIN3B7Qiov1+fzgcO5oZ4Pt4PH7+/PkD83K53O/3kLg8PT0BKIOkR6omOj8fPnwQETT9oXJGsjg0UWVZh2GI6wW1E9Y5vIPYBgimEa395s0b1G/YchxAWEpQD0DHAtk3YBboxjiOcd5ns4v7+3trKzCIuHyUUmg0zeeXSqn1eglqHHNeLy4uBsNed32hfwJWcrc/Qv0MPIcd7A96aJQPh0Nk6QRBsFgsjDFJGtV1TSTYIzz4G6DApJXCzgJUoQYoigKSGyig4Kfc7Q7e+5ubG+/93/72DxTn2+12fnGBOn93PFTOwg8GqM0iqH7RD9Fah1HknMDpDjcIEvpxlmF1iMIA4Bulpvf+8fFxs9lA7446CpD6cDhAnQUQD/mQt14phQVprZ1MJpvN7nA4KMO4EtEkBOQ9Ho+DwQgFuVJkrS3LEgmSu80Kw5u89x8+fECHCqI1nNm6rjHPSEReXl6uri5ns9l8Pl8sFoGJjBaShtp/eXlpihznB4MB1CnoQiRJcnd3B5MxpCZEhAoK34RhiJ6PtRbudqhoptNpZ+PucjNXq1Wel6jDldJIJ8OdHPU/vAS42GEIsdYi5DGIzH6/H/T6aRqv1+tuVfT7cV2XEAHa9uvp6entm3eoi8BWYFpCZ53EbRZ2FIB+731Zlv1+n0iUEMoSmGqgFq/qAkcJHZjRoP/w8FQURWq0rZu4Z2OM0l5r8mJVl1N+Jn1p8UMz0rOFU8Bk0Dm3YOYMeLVAg7x4bRQRwYTZ/K1WWmtPDnjDN2IEMICM4HaiZpSSUuy8b1F7C0xYhFQHfKhhTkkxt5ZCZdpRqERkuBkzr1s5gFIGlj0UdUphQI5IO4aJ24GS3NpSpdFVEw5+h9+wtThTgMVKOaVIKTKBYo6omVBJ54fX1bVWyphQnTBuo+Ow7ayJbvuFXOfc7Qjvbsir9977k/JCOsVHE1eIrWujTbg9LF6ISDwRC7EiVkCNrDXsvIqZSSmtpU2ZbLfIMEs3grMF3I2EpBvM1KHc03lvSwtBFAwREWmhznvabfb5UsQa6A5FI+j44T3Zkygl2mnvvbPWaC1EsJqjalJKGbgBpKHlddvgOC3r8y8ieJm7qUmidUhnvQxuLbTdHvozt2938tQPsqdm0Yjz3Yv5xy+tdWXr8590l5NzDZTs4hHa/dcYr+AtERFrjb5YFIbYlvbK8UIOYBcbT4owcKrdNtW2Kk6KK6VUl10krfW4zIu6rDgyqGW11qyU8z7UhK2pSldlpbPEFCwWK+v3w1E0Tuea1WG3KrJsNpk68XVdL1brIAiiICzqhlBBeXNxcdHrDxGUS0SHwwE6wru7O6hWwLKjOXt5eTkcDg/5EQJl5Mlgar1SCt6gLuPv5fEJIOni4hIBGpglzq3TyBiDFDw02YEVRATcs1Kq1+sdj3mWZSQqScIu0wCaBDwVvPdVeayqYr1ejsfj/X4PSmy5ej0e8qurmzhOxStWzSyP0WiQpklVFwikG41G/+f//J+iKIeD8c3NDTM7a4Ua3cJ8Pkc6MgQPOF8o55BYgrrl5vZKRLo/6R4eLy8vk8nk6uoqCIJerwd7nPceWRnYd4jaB32T5/nT09PNzQ0SYJBT8e7du7u7m6ou//b3fx+PhxcX814v/fj7d6XU+/fvd5st5OzGGNfOfzHGAJpArFzX9Wg0wr7j5+gSKKVubm6QLz4axeC8gyh8eHioSxtF0du3b0FD7nY7qFa01qPR6PHx8fPnz6jTtNZXV1eQVDnnrK2BvJtC2hgi+rd/+zdqc2BwAOMkSeJksVhsNhs8fYmIPWdlA2rBtWOgJthTSHKB1PGAX61WzM3DAJIY3CUgFsdwok+fPllr3759O5/PgXeXyyUGvlZVheKEmZMkxb7sdrvJZIKB9oDmURQtFgsUil0CUsdKwk8MZtdaC8syZjkBRiC5iKhAO+jr169xHA+HfWPM6+sr7hjPz89pGsOGCGCRZ9m3b9+wWt6/f49Ww3/6T/8JvjB4l0H/gxbNj8XhcEBG03/9r/9V6wCNr7p20+nIe/r8+atrY3DevXu3XC7/9re/DYd9HKXpdDoajXq9XlnlMJjCAwChQpZlSZKAd4DjEEBzvV6nUX+1WkE4hE4LqPeiyNM0nc2m+MQoijBC1RhzcXGRHfZtWl8NhL1evhpjoETCzkLh4z2lafry8rJebyF8QquntvZ4PGqti7rK8wJPO8ALTwQ9HvYoz/Oqrvv9IRGhiY8cm6Kqy7JE7+jl5SUKE2wnlEudmRJ3IfDoYRjC3gDcQG2ACSz1QNIo5uEbDsOwsmVVVSYJ4XIBAVFVlTEhBCpp2lRNKMkQ7gTMvdlscG1inp0x5unpqetdY6k/Pj5ut1vcluM4hih88boSqsFtf/z4sd/vX6lLpdRwOJxNx58+fYLKBdfRxcXFly9fcGQQXiQi6/UaMVZI1AFDX7bDX1G6oCWCIqHfH0IghJwNWE2WyyUMHpvNBmMNLi4unp6ecDNBeUPk87wY9PrgNXAxjkcjbULnasQPvH//fjabwYm7P+zyIvfisvzY6/Vm8+l2uzVBw6oyM0oUPEwRlUNEcRxbW3f3DRw9IUrTdDId4WYOD4+IxHFY1y7PSufEWa+UqisfhOSdc57w9MfNTciJP0EOEekIWpA1HfKB6By1RKufUcYYBEU755RpB9R4T+Q1q2Z0DjWJfpBNAgKKZ2NOueBKGde4B9Ec0MKslVZKfAtktW49oAoCHMWsO/WIiCg5CS3CMNS6URkopYxuiEvvvW50BJ6ZtWIIo5kZMY7eK5T9UFQyM51G8aB4aBG5dUo5pZQ2RETGOEwm1Up3ghYisdaK0loHgLAdl9pRsTAlS0fdakcQSyvV1VF8iuuRunaAZL4NDAQCyXPgQDo7qoqbdH9FRKI0E6Gp4L33TpRSpsGGxAy6WYu3whh7RE3YZ6NuBzhuYGfQDnCVVvPTXdQ/oHM5Q7x8OkHniLTjoP0Z495UCKeZr/BQe+89BmN1pmHVCqi01iFiTJp+BzWInpsodEz66qbCNtGbnkTOpEuiIED3io3S2nvPjTbIK6X8mf+jOQCKmDx535xAxY0IzFvHXmlCW0Fp0lppw943VWwYaGstsh1FiKkZ/cWd+5iITrJ11jpgZmutboE4Myul4dcWb9EGEiHvGTlATGS6utNTY1Ygpw0UNZaVhn+ZWmrZkFJGKWZf115prUirwLYNEQh2rdXWWuckTnp5nvuAiqNdLzdpSpdJLwgVk0kHwzAyZXXIq+pY7DFs4njMjVF3d3d5VtTWDwfj0Wjy+PgIScBqucGCns3mSb+/XiwxU9Ba++bNG6gG9/v9erdB4Dou0SiKvn37VpZlvz+YzWa73S6K4izL2JisLPujEUTSeArudjuMmQSM655noNmgy5/P50mS4lzMZh481n6/H40a1z+oPufrINR53kxiAuC4vr5m5izL6solvf7TyzOTHo1GWZ6FocmyrNfrWVcopbJjAc7s8vJys1m9eXuRpunidZUkCSmBke5wOCBVLYoi3P5gwgORU5X2v//3/05tVgkz393dGR1+/Pxpt9uEYXh3d0dEiGE5HPd5kVlrX15emHm3J+/9fD5Nk6g/SOq6/nb/dTqbgDze7be1LQajeDjq1bX7f/+//j9a67d3l0XuFov7OE6G/cFqsewEeVVVxUGImgfKV1xKoJaRegGwjpnwSimEGEI6gkx6WDAVNWbo+/v7N2/eqFasD2lpURTPz4/MMhj04JwuiuLx/h4z6gEyIPlA4nvby27oRkgy3r//gBgNYHFmRrROXZREhHRCKINfn57zPF8HGmmVd3e33Z2XmTEsPQgCVJWgY6EqgVgZSHE2m2G94VNWq9X379+xbgEyer20KPLtdnNxcQksstlsJpNJL47BPVNrd4FCablc3t3dYRam9x5zYbGGp9PpYrF4//79fD5/eXn5/Pnz4XDo9/vGqKoqMD8Fr2fmuq6Y5e7uTmu93+/xwziOwyBg5tlsdnl52X3ufr9HkcPM79+/z/N8vdoirT9JI5TQSHIsit1+vw0C/fbt236///HjRwSYXF9feu8Ph93Xr5+32y2zTKdTL3Y46nuxD4/3zvu014Opd7VazS8u4jh23mM8k3OuKAowo8650WhUcp72YqWpKDNmRWyUpv1hi+E76/XGewcshWdSmsZKqeF49PT4vaxypVRe5EopNpEJ9HAy9t5nxYGZnfjLy0tlgtVqFSXx/3V7o9hgYXvvrXgThf1+v1quANPRPxkM+qvVitnAabBYLgHBwzBFyUdEMPlESYqeITyvSdxDjiRCPHUby4MLCt2h4/EIthvmV6h9Xl9fgyBIeqkxZqKnQPPee67KIDJ5Uex3x+Mhx+Yh1GW1Wm0P2yiKrNjHl2dQJ3CKX1/OUT/jyY3RGbaqJ5PJ8/Ozreq4H91cXaO4qqu63+/jUIvIv////h0GCfKkTWSMMSZcr9dxmOR5GYZhFMVE/vbu7Wq1Oh6OaS9G1s10Os2y42w2g9IsjuP9dsfMRqt1O9lXRDp/ThRFRVWaMFBGPz4/eZK03zPGWO9YGPkwsMqgBhMRZOPWdR3HzSgoZu71EufqxeLl5cV67xEQ2eTct4580AE4EUnceMS73BiUXsaY+WyQJAkE7sx8zLLxaEREuFE/PHx///49kUf0+Xa7jqJIs/K2SpJRmqZEnpTEcUiKlQm06LKs86zAwPUwiCvrtWbtfDOsHmPt2YjY7nZEDXdbgYputDSNhhhwUIhZd8nj7IBzgkBz041HFrh37Mh71gBLoC+FSYt4xUSavSdmg3a9kMLtuqoqUcxIyoOsAyjYNVWBUo0e3DKxeM+kOJQ27AWAB7WNNkrrRuLP5OMktNamvdjVyJFTzGKU0jqwrkL/34k1HGit67pqBRiGxCnFxgQtGmTxXpvAe5LaV5U33hgd1hWTSBQr5WtjTO3Ie6+ItShy1lUlqRAI2ytf1zUrMQ0cb1CTUopEOYssSwVlcseHSqsaV6oRg+Cf0tLVxoQiorV0RG0D61XgSaz13taiNIl31oqwZ2HmumalGeGYzZBNXxs2Go0Jz0o1gZtn3LBXSkEgpZRicdT1XvBQE1JMcqKtwU1ToJQoQrK9F++Zmhm0AJ5iiUiIxAOR6xa7nroKhrWwkmamUKvpx2+bFFcyth1f11USbRVF3XHp1gozY2RSt4d0Kh2oQ/nn1UZXNzeJj2fDw04iGfJ0cqmePovaLgO3FYluR/U2FSmRVkH3Wb6RrTftp+Zk/GgExhUhTvk2GZS58fk28ZBYQ0aUsDjPmI2mfLtrKFvZUYAl5Tx1/Zq2BETRJlop13YnqiLTnBZF4erGzGGtzfMqUqKVAk8Qhop0GAYqivtVVQdB0BvEWgcu9JPBMDBRWdYigjGZVVXhG/BtUFtCQYFDBKpmd9wDzXQ+MJhZh72+q+rdejOZTNLJlL34OCmz/O9//zsGgkCtATCHNjo0rHEcg54EQESn2BgDpIU4Ba21iH/37l3XMoaRrt/vV0WOCPnn52fEtAHQgMUv8ipJEqU0ZJrfv39nVXlPJI3ttT8azudzpRRk2UmSPD4+9oej4/H47du3IAiSJMEUwzCMyrJcFQUz397eimckcxMRYjReXl6stVESYwahc+7h4QF2N20UjIPcDvF+eXmBWKLf70NE1O/3l8tlEATAOvvd8du3b3lWOOfSNF2vl14ckS/ExmEEPuzq6gqynC8fP0U+gRsY0BkFz+PjYxTFb9++vbi4gGAaXWyUoMj8vrq6QaMAoAH9k/V6jSOPATreezTuMcAIxCRmgh4PO4zU7S4lzEREMwEOS7Stoe5ArBtspnd3dyJS1/Xr66th9ac//amz8SFLcTAYbPZb0Oq4IpIkwaF2zsFXAAUO2vrSCq6azMrGxWGA3Y0xXadoOp2CCoWSHnYLeDa899+/f1dawwMA4hmyIvgLHx4eUD3i1oTyAzMEvPe//fbb/f09wrNRRWy3W0iM0GuC6TbP88lkAgKy8129vr4GxlxeXra+Ln55ednv94i8hNYZp2az3qEbVhYK2iHnHNLBLy+vIYVHb2c2m4k4UKdQcE0mk+l0+vT0JOTAjF5cXORFgQckojyRS4hnD+5sKMDAbSdJEoUhMx8OBxGBWxrqpjAMv3//rrW+u7ttqeU0SRJlGHDq4uJCa73dbrGRaZzc3d5prW1ZARlfX1/DCYPCPo7jJO5hGwAikW2K7wE3B4NBOwzFg0MNwhCXJ1YgFlWWZaPR6ObutiiK79+/DwaD4XDorByPR+iser3ecrl8fHwEoU5EEKBDlIXeAgIZcX0ZY6AG6ff7zjkkgeLkeu9hLYVqH7Wl9z6vmuUHlSBufVVVwZ/Q6/XgdIf6nJnhIUbthNYEjNoXFxcoolar1W636/qZm92m3+8Phr3BYPD6/IIno9b64mLmvU/TtMyLKEzQbaiq6urqKooiEO3H4xGidtwNUAqikKvrGvgbDRM8mLCDAOhpkkA8VpxNhZvP5xjHezjswJvgYsFq74bpoipAkwRvi2sHEVvA9D2TPjw84MYFiRqe48BbmOkBH0VgDEr9y8vLT58+Zlk2m02O+62IQJeFcCFX1Waoer2e/wF++BZOkbWu8Blb0pqD0BijtGbx7IWEXeeC66BF97zuANM58Gghg29V6kop1Y64Act5+ivfyoY7bIN3ov/oCxCFmEgRkiKl4Va11iT+ZDKEz7L1VpKIKGEi3W2w0oz58ahJGqzJIiJRkAKneW8xISrUYRiGRZUbY1jI+obDDkLQpQotLLBLIJhEfByEXlNdWe9dXZfEymhNwj/CPEUnS26DA6mNPOmI9g7ydlkuHfHawGEl3GbtIyDunFbv7uHde54dalJKNBlm55Q4aRTdzOLbYUFe2NomMUYpFQc4oYh/gfpcIXkTH6db+TfgvibjvRdypzPoRRoFDndh5c3GyOlEy49H5gwtn5JgiIjbLHkE9XSnWASK/WY5SZNeSqaDxd0XNj0IgjMheBfwQkqfKgOlFHXno3VBdJtCrT7pDNHy6Q/bF4g4PjMHnNc95+/jve0WaHMZKSbXxO40NRCJtFOc2jcUo5ScXZNaGyISJd47pdg5R/7khsYlQ+S10kTeWi/cjc4iKO1FSMRDjSoi2pEwOcdNVQ0m3/m6tkhcMka52hZFEagm8q8oCqZgNBx70VWdeUeBUVoLMQ2T2JOBUd4YI6x3u43iJiYC/qq8LJbLZVVaInr//r1SWmn922+/h2GIWzA65vhGFEEFodtp7WmaTqfTh4fvWZZdXV1prbx30+lks9mIKG7tqofDARfw6+trXdeYVDKdTqE2Ri4KvGXfv3/HgsHzD6/UWuFvceMWESRRTEZDGNeurq6Ox+OnT59Go9FoNCqqqt/vDwdmtVpdXl5BU8vM48lgv99XpcXjczgZ13W53W7zvBoMPBIMVqtFnpdwpAE6YN+LopwMRzdv7qqqOh7yh4eHIAgwpqTX602n036/HyXxZrNyziEeG4NyRuPh09NTmqY3Nzffv39HVIX3Psuy6XR6OBz2++N2u/3555+hfsnzPEmim5sbW7tebxCGYZJEy9WiLKvJZDYejogIMdhIaL67u9se9gCjCKBYr9cQ81RVjQErAG0QrB+Px+1uB3Gqcw4PVIhhiBRAAPyRVVVBKQ5OvddLECp3f39PRJiCBDE3cBJI0OFw2Il0RSRJksvLS6TKrFYryHY76Lbb7W5ubqajptRJkmQ8HkNKZIxJB72np6d//OMfGB+DTrT3/urqCqrW7XabJAkU4aCo4efDA0MpBe1HVRUgUIHhjsd9kiTT6RWR8i2vHEUxDACHw4GYu7Zv2A52gUMXShWUQFBLozTF7C3vfb/fD8Pw9vY2DMPn52c8JlEMg8oajUbIc/z69StUMUBycA3CBVHX9ffv362179+/B14HglksFkncm04NfoK4axHBWd5sduhXILgQAqrdboPTkSQJ5EDW2m/3X7yn6+trIjocDto0XwgAxc0N16yIdBN2NpsNhHZAYJAxQJ2MJGyEJmHG7Xq9Rq3+8vKig0ZwbzRj0tZ0Ou31egGpUdqHYd2TrFYroMYgiGaz2fF43Gw2e3UE6hKRIAhRHiil0KOr6/qvf/0rAB80XVmWlVU1GIywnlHmAb4vFosgClF+OOeWy2VZ1N776+vrNE1hDVeqSZYEjwDJGQAi/DzoUMHJnSRFnudYGGE7P0spNRz10zRGF6K2ZVESGMrX12UQBL/++isRvby8bLdbpdRwOEyiZvAfLpDZbFbmRVmWoEXgzvfeQ1GzWq1eX1/jOJ5Op0opyDBEZDgclnVZVdXD930Q6je3d58/f3bOIWUVD744Tfr9fpFXr6+vGI/Q+RBubm6UUnVdPz4+5kWJm/x2u4WJHC1KDOvIj5kink9nVVGuFkukSOFuiYxFbCeedPv9FnAZBEeWZQ8PD7PZBJGagFMgNXAVw/tBRCh0cYkpzajBRARUDkwL+C26oFprozUEx8fjUWs1GAxGowF5j+dUnh9t5aIoMEYNBj2c60Gv5z30b2KM8QGJhN41Q9PFixdvSRSZDjIxs5xRgR0C4R+DpH8AMAJZPKCRQ0OeCfCuVUqojhA9C+TwPwCyDr4zs1CD77XWCupw3ZGVjNk0zmMDGhJXKUJ2J+57vlU1t5gSglzFLFqxUkbEKRVKY+3DLgQkcKOSUiQc2aquRZRi5hCZK9578q47LHjyYoUYRSSqDnRd10TOaDZBk6uo2DCLYvJMQFiqTfHG17mwpMVXCCxxnWwBih6lFPKLiHwjccZwKyHnPBMbbUQpaqJgqP2ftGUVMysmTYqVImW9aMbsT0Xc6q1w6Ox5IdRp2dF7gWKq4dm1bnZTKaXIKIipWFo1fDetqYG4bRxkt4q4dUZaOUlrOnDfloaneMZ2TdKZEpwhsDlD4M2XQWwijm3btiAR0pq6bTqVksTnWTZKKTmd7D+kdVJXzrZAvzlM7XY4IvJeGI0D9KeIYJvAC7Cf8Lu0GyPMTYon/Tixtf3yIs3edj9RbEip9m19i+C1iMAWopQSadso3jYHnEhprVXASrq1SKJw2VqrrCLvySsvpLDgRLz3ttkqZ8k7apKGbF3XRElZlrasDsesKqrwoHa78moeXc6m69Viu1tcXQ6jODhkxfFYWhtaa/Oqqko/Hs0Wi0UUJkicaOKcez2wv9a6f/ztbwiugsSCiBAyQERJEidhBEZ5vV7PJ1MR+f0f/wQtiqYwsiaurq5QgUMMCg4JNBWmiBMRhM4AQ0CHzjmAA8wnQiwdHpZhGHZLIoqiIAjwIGTmDx/+VBTFZrPr94e93qAoqjjpOStxL0yS5OXlWYSQRgKZ5qA/wrl8fn62FrZdl+e5rT2gLXIY9/v9h/fvvQgI/rqu1usSdqvnl8falnESOl8naXRhZkT+85ePgYmKMgvDkImGg8HtzQ0R5XkGdTVENUmSjEYjqHc6gAvtNeIILy8vMQx8sV+uVivkaTLz9fVtr9f7/PETnouIuSiKIg7Czn2Fnkmv14NG/OHh8X/9r/8FQP/mzZurqyul1H6/V0rd3NyMRqMoahIzcG2u1xtE7gAiIypERLTW4/E4SSIYZ40x8MaVRYZI9bIsEPUDEQuevoCwHdINgiBNk+12y0xBEHjvJpPxr7/+kmWZLas8L9+/f1eWJZygKCdq73CuATcXiwXUqzDveu8fHh6yLIPSF5utlMLMHZQ3qPcQX9AhY2YGY/33v/+Tmcfjsfc+jqP9vk6SZD6fPz49ASkCTGCT0NMfDAZwYoAs3Gw2i8UCLlX8SRcIc3Fx8fbtW1D4uMR6rRwF8gxwhyhr1+v127dvB/1+FEXL5RINnNvbW6RfI7fEez8aTpRSyB9EhYMN6Pf7cZzudhulVJfRAdwJmTIzV1W12W2X61Vdlzc3N1VVff7yBaAKAd5pmsKjKSJITzLmFBQGoTlWy3Qy6aR00GghLrMsS5wLaBtgcsXDDKE9h/0xz/Pr6+vZbDYajXomVErRaEREdV1HowgYbj6/xJN+s9nU4tAE0FpXR4sugTHBxcVFF3eINg6coMwcxSmEztZ6FAlYGGhEdF2+oihImtwn0w5Rv7i4ABRGJiOqQXDA8OGgVkzTFD0B5Lh3T7cmYzSO8jzfHQ/Ya1EcMm12W3wWDi9ONObNZYfddruF0BzaM1Se6CpMJhMQ0qjqoci31m42G9wEoEt2zt3c3OCeGQQBiQvDENH+Dw8PaRoDYb++vmaHYxyltvaLxQNutsZAT8xxnODBCu4cTD8WA+LtkSSLtsPr6xILjFmj4xTHMZpgGKplTJPhA/7VGDMaDfr9FPZTmH9w1xKRd+/e4ekMdgALHk/tTesx6LwQqL6y/Cgiztv9YWeUds42wmCmMAxvbq7iMESAT12XdV3HcTSfzaC/jZMo7SXO26qo6sCKiDFBc+E0E0w13vwMdzQOUR2I0qQNa8NKtxl2TESnTI9zQIVnuvyQBELMJGSJvYgnYhJueU+Gu5ERZSMiZwNS5Qf2s8HuDZYl76hBUFiNgdFEZPlMyuuYG5E0ORIR8sREZNDkU0TkIQZuFO26GzbPzKw1a2UAS0QkiaJCpNHnKGSQC2tD1BCmQJAnWZGUTMKKtDHknQnAQJNig88iYQ9LaIuAjdK6GY6jiKWDqKpJiMfh9ExaMXtBHnzzpZRCuVJVrusJ4zgqpVC9n0G7U8WFrdVesRatA7KOWaz1zmOGLsCn74Bca0JVzNT6SXEWTli8JeO5O4kAipC78BkBzW1ReC4Y6WCzJnYtrO+2mdm3ynghUl6c99SthBYzn+yjHbTGO5/GhZ7/ThodSxPt2fHcJKp2tltkfCaVAZNNZwXW6bByM/D2/AUg2rkphTtOnDq1fUfVS+tcbvtHDYKnhtHH4TiVBGhvcTPFoF0Q0syz8s1kMk9ERpETUHWtl4OZjWmOsPesWNiLoJxgEcPNMhStA/Zs2SuFwV0WE8l8bck5FnfK3xHnncuybDIcbLcb9pSmqa3K1WqjlNiqyjO1Xi/7PaODuKxrEUdsaytRmJTWBgEPhv3dPgOfgcMCjSxQyMePn0bTyeVsjhl7GFAKdlZEkOWCMeBdKsVoNEJDvJFKt7rzqqo2my3AIrXjV6GC6MowzHFk5n6/f3t7C2z0+PgI0PDnP/8Zc4iqqkTGAgTBvX7CzCAREegBShupCJ0mB/Y7BAD3euloNLSuSpN+HMcPD4/L5Sor86qqyjIfDidpmnqxdV3DDVnX7v3791EUff36NU2SIAyRig0LFDMjuh7pK957+NgCQ6CxASMWi8VoNPr+/ftwPPLeIxr86uoKkfOA3Tc3N3XtiqLA+4DajOP44eHh9WVRVcV0Om4e/yKIiL69vYVy6fLyMsuy4pj1+iDmE2BKoEOsVWb+L//lv8DOu9/vx+PxbDYbDIfAnXGcHg4H6IVeX1/zvISHAcRVFEWg9oGi/vGPf+x2u3fv3gHLvr6+zmcTnOsuuVlrvV6vYVSFIAEAC6QgANBkMgFDD4FvHMf7zVZEsNJmsxmE8kop5x2yaDBGB/gvSZIoCvb7bVmWRL7XSyaTkYjUdYmNEXGj0QCpgofDoa574PJBunf6B27ZdGMM9C1wSXYQClDv+fkZPCi2GQseETREhNSX8XiMP8TbAthFUQSrcb/fh68ANQOO8MvLC043pjy+fft2MBgcDwdk8w+HQyKCisBaCzHMYZ/hvIvIfD5nZkB/4GMEU+JyQEkcBAH0Zt57tIZEHPwpQJ/D4fDtuzdaa/H0+PgIByckVQDKkHXhLjEcDkFLS5OkZq6vr79+/ZrnOSgAbBV6Zfv9Dv0NnK+yLqBes3WJnhgemaDMj8cjlM24IVxfXxdF8enTJ5yd8WgKTTkzJ/2eiEBeQmcNVZDKQIFhECOwhZm32z086xiae3d3x1qBZsagg/VqC4/pYDCYz+eYzIVzChXTYDDAO8xmM5T6cRzf3NyIyGazORyOEF5DIqzawHsk7WCEWcdojEajw+EwGPT3h63Wuj9ID8edCRQrAYuP+hmBNhshIgJVjLSuoh1AwczYKtS3WCrcTuuL4xi0iLONLXK73TrndruDc3J5OQdLQkRwi06nU1S8z8/P4/EYZ1lpjfMCkRjeoQuqQhQBrl/0GbKsgHsYpT4UPrgoEEDZeleIWTnnrLVgZOCHAVECPRuUP9gdTKLF3RVSHJFmAAsKb/ALcRwjZxnXMhjQ3W4z6PVsVeR5TuTDME7TNAxMGAaX11dFUeSH42g0gv8EpkxjgiAIlCq8Ixc2pa+1WsRpw7oNA9FaA7RhqxoOrgU83DKcLVwhEfEKsl4B/mzACNVMTITMRBGBiPxMQeC5E420T0zX3tQ77O6IuqGtSjPSLcABN+JhYxTgg/fkuJHgg0nsEJRSTCRaadVgHvGeAD+ZWQWNKRaAVWsN3xdqS0j/iTzkxdRIrLHBzRFjK86J5lBEmA0zzLJijNJas9fMSitWrL3v/px82xDgNncFa9vaCvvLJ4uwY2b1Hw0qUqoJ/yMSyNBbUEdtPE5DtHd/0uSpKNHcSTZIKdcMr2rOQQC6nVmM7ihpJiLvUJW5loBmEnxu87eef9jCbtl0ABXv1VUa3W+bK50YvHtHsQOztiDZMSsi38xgpZNc6hy4dx8tIka3+Z2QxtKJjSbdfp16HD8GuvMZrS9nKY3S5M84EelUaN0+4Bw0pSNhNeNf4r2ndhySeEdozNm6KbM8i0fAPit4WJtCihr1/LlSH4H8QO3Kax00jQLVDlcS8owUUVSQeB/NLOKda9pSxBpljDCTiNNKKaWVMs4zkVIom4k8ocPjxDfarKoqvLXeVuQC52pNGkguTVLNxjlX1nWg6ZCZotxoUpO3V0FoynIbx2lV2cEgDcO4cvZQ5YfDoaqseF6vt8zc5Scw89PT0+Xl5fRiHmqD3jeYxZ9//tl7//z8DFEBogwR8gUQ33G9FxcXmDyCqTS73f7r16/gKdE8zfP84eEB4yH7/T70AKBU8UgG/wdtPYShQRCMx6PlcomnNUScWGO9JMWTg4jiOO4kFsBMdV1vNptu3srhcCAm2J6w1+/fv7fWvrw8BSocpL306ipN+p8+fbq/v7+8vHa1/fb6RWtTVdVqtTJBcHl5iaK2LsrimOHhwV5cVauAenHiie9u7/D02u/3Ly8vX79+Bad+f3+/2+3+/Oc/G2M+ffo0GPQQJwL88fXrV2BfEFS///YRclJAhI8fPyZJMhyMlOZeknblFhH1er1hr787HplVnhciMplMjTEPDw/ACuiwQ1mEpMVerxeFoTHm8fGxKi0ATRAErraw4gEioANzOBwgZNput+CMl8ultPoxuI33+z2RoPBDNDXgKTNXVYVhhwAQyL+H9B/6GRFBRQTHJ0aKon1vrUUGHPg5BE0CchVFFgTBfD6fz+cAfxBsTKdT5Nxh6X758gXhGEDw6GwopbALYRheX1+i55AkydPT09PT03A4tNbGSYIFIyLX19dv376FWRlYuSNo0SaCWxGj5oHaofI/HA6Pj4+DwWA2m6HL9/z8DJU/kiXRnQBkhD87z7KLiwtoxnCWn5+fnXPLxRrrpLuJ53k+GIyCQCMVhEihMQX8DQsHCPLOlTUYDJxYFA+AR+PJCN0wIjIBwonl5fUZtR96Cx2uVUqhG4NFBdcsbu/IBoWCBRcpihnkI5Vl2Rs0IfRGMzNDhTIYDKwTRNMQ0XK9Qo1d1zViKxkjlntDOCPzPJeMwTQ75zGrCw8COBy01s5KXde1s+2o0QY1AnmPRiPWqqqqz58/43bR6/WQXQtYAOE1jv92u+2Sjq5ub5I01VpnZeGc2x0PRVHsjgfrnLI17AqkVF6Wm+0GivnuE7fb7bdv32BuQf/ncDhMp1M4X9tuTwxBfFEUT09PeZ4nUbzb7UQE/QRjDOwlMAihXSMimJ0HidH19fXD0wOq7qqq4jDKjgXI6ThNbFUXRbHd7pMkcs4d82w4HIq3xhhERsK9jZp2PJkgVOrm5sZau1wu5/M57vbQEAJAQ22CCh8YHbUxKsbdbufqKgiCIDTOuarMPSB7GOLmBgkibuk4Yt57HHk03FAMiAhkaUopPCCgVke9lOe5IkaNDcixXq/7aYyWSBtnYL24+XSGlw16/fl8+vT0lGWH0WgURZFzopViEs0UBcZrcs45y07YBCTCLUQDfGzSpzsw02ESfZaJjq9WVYIoRmYlSkHl28BlZqgvWhUN6QbynjInT1hUGiWMZQ7OFTktsPPMWhGLEkxaBZfPTFoDgftWp9DJ7sFXNsJjDKJhVkTivWhuslUahKYEOwTuVinlxcZJKBJYW4kjFShiXze+u0Y41JU33nvyDfrSfFIZiVAbiQKnIekWgyptOrh4DghBlreFxElJ4k8T7k/uT2xDJ0nqzpGcZUR2QLT9OmWRWydEPmKttTamEReddxJQY5z/bQugEe7eaLfJM2uIpEjoPB1RKSUsJ1E73hxFW/P+4v3Z/CIR0SRemrm57Sc6nHQilAlNLBGxQ0fgZAk9ExoBmDZRMCTSLASsGmbFf6ToUVr8oQL4w3IHJeObxHcP4K6aRPbGGdAcdzoJ8IkIowwE6Lt1wxARaGA81ZotUUJNtUpaaye+2wTnmjJFRMTVqk1/R3HSNRCIiL3zbalE7Vlqds2Ld/gfi5wF13P7f1ZN+LsiZUnUqY50zhkVMBGTF+fRn3KudlWd5/l221yBm83qmB+NpqzMmOxsPol0UNnaUzgYjp1zSleb9S7Pn4vKk+jtdpvlBVPQ6w1OjkYTff369ebmJgyjj58+RSYAxQ7sAmw9n88/ffqITLo8z5fLJcgPjKuEW/T29lbamcmqnUGLJ7pSCjliq9Xq8fFxNpslSQKCBBEfZVliMhGseGVZwh0FnI17/d3dXZIkh+MOGt+Hh4derwc9MQQtyH55fn5++/ZtFEXITZtOpy+vT7g4wyAejcbv37/33qvA7Pe7JEnKrFqv16PRCPed//E//ocxBjNlq6ra7Q5xHB+Ox/YQhW/evIH4Z7vdgnoH2Z9nBdgpZk7TdD6fH4/HMAxeFk3s3d/+9jfn3M8//0xEyIhYr9cQBiA0rSiK+/v7Xtp/+/YtsRwOhy9fP+dF9uuvvwZB8PL6TF6KophMJq+vr4+Pj0qpyAQqCERkMBik7YBPbJJzLoqip6enOI4xAga2P4grjDG29ofD4dOnT+/evfvP//k/F1UN9yczB0HAzED8iELf7TZg/sCWoSQAewetQhRFV1dXSNMLw/BPf/qTiDw+PuJWC9oe7wbdMPhgIpqOxiICglNE1us15gAMh/0wDEWciDJGjUYDay1KL8zKwbRUDJzC0x36CqSFiggypxH5gkWFUwNICs0SxuJcXFwguX8wGGy2u0+fPmEzMAYVGnqEogJEQnkFDQAyH9FuiuP45eXl4eGBiG5ubt6/f//8/Ayx8nq9BmKz7WBmnBeAGORaZlkGDRX0BkEQALLEzRjIHloHadrf7XZPTw/MjNoDj0al1HA4RIUDtfHFxQV2Vik1mY3RiTLGHLNDEBoQ8957xBAhCh2ZsN77z5++oOjFLmutb29vceeC2xtgF/p7cMa4nOEJxjLA1Y3Ed6bGBIUZQ4fDYTwe7/JjmeW42cLRC2oZao2uaCSioq5eXl7iOJ5MpujvYSwDMgqnk/nr6+t+vw+isOtcXV5e4v4DcO+dA95F9FAHpsMwBEzH/nap4YvFAmIY3EZmsxnajKg2o6gB3GgMgqdHzTYYDD58+IDhBn/961+ttZhRulgs0MpACwISecPKew9LidZ6sVjYqsYdFZcVfo5aCB0AwH0RKdpJ0k9PT1EUDwaDl5fn7XabaaO1/vj75yAIZpfTDgdj/WMjSRxs/ZhqhDWGlYwwVmpZf1hoOt9Rr9fDJQa+H4JSNDoAaLCSk6gJiQeHinNaFIXzHoEEqF5QBogISHf0AeAAxrtpo/C5aEBRK4DWrOIw6iJBnHOB0mmcjEZD7z3G3e/3W611FAZ1XV9dXYxGoyw7DMc3Nzc3u93O2ioMQ2t9m4zetHEQlle7qgFCzEoTN5ETqhMhnGMVPI7Pv4CJG2CiGhgGMMmKidqmvWfvCJNeWvygiIT+EOzhmU4j3p204LL7LxECajR7EiallPO1oqbaBy8KtEytGIHbrxbVNGp4IiJvRSkM3axtpZRSTVaJELGQ8+JbCOQ1h07XzNyFDOLNu0/BwtOmSVAB5YqwPuccUyMggTP1nGD2Z3KR7pjTmQKklSVTB8E6QIxvIJM7Py9/KLfOoWPzvYi0dkf2lpmNMVrEK+Occ+SEG3THDOx86rRghbTv5tqqoHF1NqfprJFCROQZqbtn5xG6I4bVUkCo/6iQOXuxb3Mzu4UHT4s6E5WQ1tzVOX84nqZ7U9MmgKLL710NpIt7etNdYgUauwPW592Kbge6j2FmHCDvvXcOzREsQQD3pqJSfEbt+wY/ezRuTlvfvWf3vdYaAa7STL7FcAGP272WgJmFu3PjvBdCnqt0hXXjXkCPQhG7lvEiUpj8xY19W4nvxuZ6MqdeG5GQOCHtnKuk6ipFRYyG4+FwOB7yXi8RkbLKy7pkJUKuqqrCHuwiu5iMSMXKaCd+fzwesqosczyb4ziZTa+so8eHV+ckDMPZxZyZ//nPf2qtkySpa2vasVNEBG3MYrHAsx9PqTzPYUnsINT7d+9eX1+JKM+ybetgW69W+/2+ruurqyutNSgieIkAeUUEOODl5eXp6Ql/BY0mallIHheLhYgHBWiM2e/3j08P3vswDEeDIUg+ECfr9RrC3+Vq8/XrV2hDrbXWVW/fvn19fe31euvV9v7+fjKZ9Pv9oqrqup5MJqO3ozCMqqrKs/wvf/lLGIZQMhARkCuzrqoqL4pWrO9ADd7d3aEL8fnz581mY8L4mO0hw4W695dfftntts452GeBiobD4Zcvn6gdS/77778jDebNmzcIPIZrEASY9/7y8nI8Hj8/P6/Xa6M0iPD5fF5V1W63M6x++uUXHCsiWi6XeKACwmKuLRwCqJ2wYd++fUvT9Ob67s9//jMQwOfPn495MZvNQLMhdyWOY+R4WGvhScXkSAR6DIdDyACur6+gh0H4Bp6y0I1AUAQiFvhVa73f71Hg9fv96XQaKI3JjnA9pmmKI8CmcZg8Pj5CEBwEAXyNgBHW2qurK4Qn4mh046XAow8GA4zCRWAlNltrjV4HXLnPz4/MGvl6yNB4fHo+Ho9XV1c//fSTtfb79+9YtLj5AGx15OLz8/OnT5+gR6/r+tu3b1AEffjwAZNTOxh6dXUFpAUKGU4GjN8CaRoGgVLq8fFxt9vd3t5eXFwwc13XlxfXr6+vmLew2WxEOAhqxHunaYLBAlCDjEYjCLvrusaJA1IcDAbj8bjxeAwGeZ7XtlHqo4BE4+X19RWoHTwrdhBPdDyPtdbb7TYKw+/fv0OqISJIywG/jqIIxQMRoZ/w17/9n/1+/+7dO61osVgkSYJ4maSX4gZOWimiXq93c3MzGgw9MbLJcVfvqq/1bgv8h4cC2GVk6u/3eyaNm5gTj0qYqEmYZmY0c0wYIAwRlzbWJKpKFKVKKaSdQAIE6Lzebct2eij0JKoZxMZ5nr+8vEyn0/l8joxI1D/QvWCNXV9fr9drdGzQXMLjCQIVa+3d9Q3WOaYdRVH0/PiEUdNVVYkILhnXTr1An0Ta8QW4qK21l9dXzrl3794xcxxGuBVIG+oQxtFkMhERNLW891EY4GYLsvzt27dIu0IPcz6f4yDjHoKqDPWMtRYppejGWOu998YYCHXAjl1eXq6XiyAI4jhWmtAHQzFZVhWc37gtIEkTFQiqKdwbkefjvS+zJpAAOA93iaqqWAhSpbquISIKgxDebhgV8PPxaIj4/86oAN1OEJzHojeIgKSDwtqIZqaztBl4KBuH4jmqbmGDPUNvJ9OqtZYaGbRnFoxHZWalGNN/moGMpERO0KoFcFDcI+FbpItxPEOKnUETv2eGtTLgVscLvUn7+uYTuZ3RQ21PQM5MtB366gamApwwaphGw03I+TDGaGq8klozKi7V2AhZqcYAqrxSrKiJJtRKKRJm7xg4sPtQ+gGdy2leZ1PYtBBSdccHrUVWpjsjre78DAcr1RHBTSHRMvHnZxPfe2dF6XYziJm85zAKrGXlmqB2lCVaa6HTCvmh6mjNoOhRiGdkxHghqDO6XdNKMSvDMB6clQFeMEu0wfHtOel2h5ry4wfYrE7Cm+YP2tOBYyhIUMeGMbPpCqxzZCwitbNi6yAInPfEHAcBEbGiljhvX98uL2jIyHvdboFRqqoq630cavZNIdVdFaq1mSqllMbCc/BMWFu1HyGahLUSxSKk8U8WEedFFBsiMkp7773z3pN4z0TkMSjLtItSsxB5GGuFvTStBfaKmMSJaxJvPMJFxbvWyeHFW1drrclp553F/FzDShn2Tba/UGMq996KaOuVqy05Z0hcWbiy8CY95Fmhj5X0hbQ4LY5Hw0lR7222L2vqK6VDLlx9PLpsv4sDZZxEQToaJZPxLIrS3aE4ZmUcx73egFXw8vJc2zJJo4uLi6LMgih59+5dqA049aoqq6pyzg6G6fxi4h3hmff9+3doIRARqI2bz8fe0/F47PcGcYIefS1E1tooCgFcqqoaDgfMCNFrLhL8HCLgdNBLBz1rrSjaHnbD4bB29fXd1cvjC27iRITpJMR+NJyAdnLOeeEsL3v9obSuFfTK4Us7HvIk7r17++Hjx09FUSJOcb1eTyYTTaourB4ZrTW8a7dxY7OT1l4Dmmc+n1rrEVJxzDKkxGy3myhNX5aLoq7efni/Wq3AOkNe8vPPPz88Pq5Wq6vLa2fddrv98OHDdrv23qa9OE3Tq8u7r1+/4iMQxIbZ8t/uvxIRzFuK+PrySjEVeeZqe3V7CQIYmwcar7uAHx4enp6eUBujAMA5wrOt640oNqPhBLzIP/7xD/RVRCRN+2taIWwOOlQ0T7bb9cPDAzg/vIO0/UqAubIs9/tDHMdFkSmlUUJg2uLt7a1SCka6UX9Q17Utq1AbZr568xYdks/fvsJ11+/3o9BML6bAi0ggAZEME8V4PIaSFbwjgDWR6vUS7/d4Nl9cXOC8D4dDdDAQGIf6EwISqITxNZ9fQrGA5PXD4TCfzd6+eQN9v/deK3V/f19X1cPDAxAbAArWDOjtxWKBBxhcHNfX18aYf/7zn957DJIETQsNzNs3b9I0rcoyiePDfn/Y7+MoUkmy2+1AY0+n08l49vqyBDs+m81++eUXlBlBEL2+viKGHNotnOLn52ec96rK8Hx6fX313nawBmU/2HGsnIeHB1w+ztXGKKR/dpKnu7s78vT4+IjjoJivrq6cc1EYVmUzyg3S9svLy6Io6rqaTKa4PxDRYrG4uLjAtRCw+m//j/+Cmqef9MfjoVhHxIO099e//tVbqxQLs/fkPeVlZWufZ2UURVoFnmuccXis0eLAZbJeb6DBw37leT7s9YvCBGHc7/cBCnFS0B7ZbQ9RFLnqhbTUdb1Z71oPaxOXWbUTlMDSbbdbNFjALAVIzdBGKe2cr2vLTN67MAzSNGnBkLK2hj4HlxsqwP/23/7b/f3909MTWhCA9agorq+v2ejxeLTb7XQYsNGk1c27N977QWCQDqSM9qXsj4fBYKADk/Z7RVUmvTSIwnm/F4bh08vzmzdvWsDqISHrDwcQ5WtW4vywD8H6GrSIq+3ueOj3+2Jdccx6cSLWxkEw7PVEqbIsj4dD8zD23jkXBsFkNglMWNd1XVXbzYaI0iRSxN42mslBL7XW2qpMorDMM1YyngzDyHz79g3tR2MMwumz41FrbbTOjsfJZOJFyqIwWidxbLQOgwDG/SAItFImivM8F+dDE1RVFQWhtZU4y3G83e9mkykEP2Fokn6iQy2u9q4yxkDMPBqNyrpQRqJQBsNIKRUEopSS2ERRqDU7j24VkTbnKM7QKcyEW5WFb1XXgHlQe3dYv0N+519hpM4UFNSOu8QEGK+UcuKEWBntrLDR7KijWsHFahb4W1vWnAQZ3p7hTISfVRvV2F7FibehDtFhExGGOh/QTVizMHsm38auWHQTnHNCxKrx03pHCor4BvMQsRcnqomsFdU4FoWEmyBzUZEJRISkMSsydDskqoHsDV70TkSgG1aemoPmnFMtKnW1pVb+L818JWIi3KaYmUi1k+kblToze+BUZoZr1uja2vZgNlDQe0dESGNHPvoZrBfPiPxzOGvMGuJ+K1aAvJ0XJU2gJxG3xmIikmboEjnnmENmYSHWzEp5cSystRIiUUxemLXWLE1ZYu2Ps0ShhIHkXqhJcD8vD6irx9ol2Kwxb3HYmURUo9Vxzp1GwzbLGOFDbPiE9E+HSWttxKCLDaF4o3M6G4XVvljw1udFkmvy0VkppUUQFKOUghpMMXOzWJt2jEKCDXHr4z7rJbUbrdQP6rSucmjqFaU0e2bjvVf8w+60hQt3Ncnpom3rYVxVXc3q24j3bkeE2uHEhPEEqtXXNIvUe+8b1p8CbUj73W4LMOS9R5+9LEtmCYKgqgrimjWLOK253++zVnVly7KOomS7WZRFFsfxzfWdUvr1dbnZZVE0SNO+4uBwPPR6vdH4GlrkN2/eHPOyqqrKea31bDbTupnCw0rwVJjNJ9bavBhHcQChy26/6SUxGsrfvn00JvTep2lfRIIwBFMbhuHNzQ3oOnAzwFIvLy+YrBFFUVmWz88vWmulGBAWKFkpNR6NAOCg2AGq49bV4VvBmYi0DL0A1iBg0Xv/j3/848OHD2gWI10ET9Z+vz8ajT59+oSLra7rssyLylZVBbyC1nyrm99fXl5+//4d8oBv376BfhMRZMWg/ECuAsaRbLZbDIV5eXkxOojjOI5v4ji8ub4LgmCxWFhr3759+/Dw8OXLF7QOQJ51roCqKJ+fnxeLBVLnkAQHoIkozOVyOZlMAT7gGyuK4vX1FQ1xoCt0SAaDQb/fPx6PUZhgZQL+vn//vi0GGFr8IArB8CG6sSgydMxFBMZN8NZEZK2FrgO8HS7zOI6YGSYzRE1fX19fX19rahh0yNkhckWoJS6xqqqSJEJXBxQy5L+dAgr54ldXV6hqVqsVeNDpdL7dbt+9eyci2NkwDFG8gSaEsF5EfvvtN63127dvAe6Lonh5eUEgN0B5EATr9QaWgPV6vVwuoVSZTqeviwXUU7ABgPV/8+YNLkwcfECl19dX9P2995B1iUiv13vz5k0URfvd7uPHj0EQoI0AfzbgdRRFeM1hn4Fhnc1mwKk4ZZCwj0aj6XTaCYU/fvyIP4dFGxWLczVRCIJju93iiquqarFYhFEwHA3QDBkOh71eEgTBfn9E1eG9v7i46Pf7Tw9PCE5FIBKg7X6/Px7yOAnLskQth42X1ji4WCyIBL2O4/GIZpq1tkPGIgIp1/39fVVVymj8BHPW8jwv8gpKbnwEajZodcBYr1YrKN2RMeq9n81mk8kE57qsmiaJ1gHEMHBS4gCWZRnEpt/va9XcwfCUQTwRZNM47CBxrbWIYNpsNujqPD8/g7pG9pRrRxdjL+I4zvMCbTeMnoCMBF2Im5sbpHVhbsZut9tsNldXV+jh4M7WcFXGLFdrbLlrh9rCq43YTXRO9vv9cDjUWoPvn06nWuvVaoV1hat+u1vnZYH6fLFo3M+bzSZJI2NMVhaVsx9+/lMQmDCJnfdVUUA75JyDBAiRlMwMD0wcRbhjc5tJhwgaTOnC9qRpOpIBwBAzPz8/I8MADTHXfmFh4BxJ204BV4J7RRzHdV251tKKNj74ssPhcHV1RYL5qZK3M7m1kUG/v1yuiX0cxcaY25urY5aVdY0Na3mK1IQB9qtBetzKrc800OcgAd+oM8Ag4juE0AGJc3QlIkpp4MsWYoFnFUWq8Zt6Jj7pqjGplToghL85gyLdIuHGl9op3s+l7ychQMdVd8i125vmJyDmXRdMyeLaVr9SbSdBsRJFbToK+y4+G58GXY3IaUup4babboCtSm5tpufAz/3gwcVAmyaEpz3Cp+RKIoJx9o8nReFgUvsyJcKQiyhWkPigBjiduxbR+uaMNIcUUI1IETkvAlzqW9ssnbUC0J851837s3jNpt/VinbaLkGzEkR+OFnMmn6Q0EC/TiLSxab/ATCfS4BEBF7MH9+TWchzIzXXuotDPKFTZv4hNP3stDHxSdSPS1Sd1RY/ImPPrJmhdsIBcs7V3AxNJHQ2Gi2a98yilKG2XGMFiRIh3P60AURKSPQpCqaJ1TwdOt/uKBMR7MlKKa+8+FNepmodFW2RcOq/QLnVraGuBYN9xF43LSTWCGA1xhkfOue0DoRJlJCgevbUrj/naqyMyWR8//BQH4/YZmW0I+98TSTWVs7WRNQ+nMg5eXx8urm6Go+ndd2Eo72+LrLCzqaX08l1bWW/P07G4yw7eO/jOLy7u3l9fS2KYjyaxkkiItbWCPPGlptAtYHTZb+fOleLSFnm+/2eZViU2X6/9VIJSRz3vPeBCdGXhCzBWguIBgEAERVF2elikVbhmYDSvHfQOCKGRayD0PPp6YmIrq6uEHABeA0og91H8GJZVkVRPD09A7/e3Nz0ev3tdgek0j1LOn3qcrmE+gLv9u3hey8deO8/f/7MzNfX10A8oK7v7u6quv76tSHFmVmsRbc3jeL9fr9cryDGqOt6Ppsx0TFrZrUOh8PZfIon8Xq9zrLCe//lyxek4L9//x51AgwAWuvQBM45HDfASkBY7z0gflmWsGGheNBaw44WtjH8WH6g8yFQwV0G44SQQA9yEcqBy8t5lmWr1QLLeD6fAtNgMk5VVRj1gsoHT24Ruby8fH19xYDJMAx7vWbcJmIoIJff7Xab5Qq7gEutanPfpxdzEdlsNjhBX758QQsefPloNIKNGDBrPB5D94xqAYbax8fv3jeyh81ms9vt0Ae4ubmBjRKWg6qqMBB3tVpBx9zv95n1y8sL1sB0OgV4fX5+xhwl5PEhwfrq6go6YIg0EPpe1zVgcVEUiIaEERNrHlosQC5EpK9Wq816HccxPMFdgYRbytu3bxE/4sUC3UKbBGCnlNI6GAwGgE3YBhGBaaebLnk8HvP8iAxNaGywPpMkLooiSeObmxuAaWZO09QYnWUZlEsw8oKhr+v64uIiSZJv377t9/vLy8tudFoX8A+VGi7G5XKJ+mcw6L9580Zr/fLycjgcQqNAkqEEQjF5f39fFaUOGg1uHKcolqA2AapDLw4XaV3XRV3BfAI5FkQRSAiFsdU5NxnPTBgg37auXZIkSCuCchpXAank9vYqSRKMc46iaDAYKqXTNAGePhwOu90OIuw0TSfjMRFBPietM/v5+VnEI9gKltnZbIYlDU0XTjr4dahT3r17hw0OggDBLCISxzEmi8FPjE1tWJLZrGq/nHOr1Qr5sDBAiwhAZ13X0+kUH4ENQN4LFiFWxfF4fHh6TKI4DA1++PPPPztbIS0enwjy2HcCV++Rj9Q1Ng+Hw2F/hJEGdMZ6vY6jtPOM4VaMr9lsJuTu7+9R9OLWjXOKlYazjEOBWEncXqD1xzMXdQt2JMsyZkZxqLVSShll4jDy3u92O6Wo3+/bqsL0oOPxKN5aa5XIdru+ub1KenFeZNLq6YMgqJ3FI6aupOPUmM+kwMLS4ALFxHADMin/o3VUzvm7/0B33sFFoDFoFbyIcDMmUkT4jxOWGMIaIGpyIh1WOcPKP3w1TQPiZoJmO2e6AyS+HVJ52vI2RxyKcFaeftgXacsZbpC6MLFnRW2qdaObJyIQqS1UpZa9JtC6OA5aB+2mngIDiRgS4nbXtLQb0IGoDko123bC/e6HVsYPQvPz4uo/epMzmNr91rfKZOeEyDXnjMECQ7TyA4Am9kwnwVWH4NuCx7WKHShETkn/IuxJlEB05M/B9NmKarTvCMJEZMr5PAFSPwB6bgLKWztv+0PVouF/Qf8NrDXgR88PXPMiNqCKqXVFtPokvKZL2GkSjrCMcO6lZVXPLI+eWStmz50v2HdniJsq6KSMV0qxl1ZkdvZDbiqSsz1XhICY5qiRUkq4qQK7XTvx7rp5T98ai/EC24njvXedUp4ICIaEhc9LmgadizaEy1qISJi8ta6Xpq5yVV0kUWqrKoiiJI6fj0siCoLAi8DrXWS5c86Jf3p9Sff6hSQJwg/v/xQGytgwCjTG4yW9EayfilUwjj0XWnNZ5iIcBEGaxkmSaK2qqsQNbr/fg8bw3tc1lWX+9PSglArDsCgwDE+SJEqSZDBMPnx4a10VhYn3nB3tw/fn1WqFY4W7PGITvn79CrzlnIdGFll1YRge8gxC8OPxmCTxn/70JxxSK5VzDtrH7Xb7+fNnpH8g3CaKIsT6LhaLcxEzHglEtFwuMQUTfBWeBMCI6/XaOZemCR60QJkgEQ/HXRQFGMhaFMX379/H4zFy6wLTMH9KKRD8cRD4ul7sdt57TRQEBoBPa7VYvK5W6zzLkiRZLhZ5ljFTkiR1ad/evXl5eTnuD2mcvLm96/V66+VKlPz+++9a6ySKoVgdDodfv35F5jfceFCZi0g7UsdBPAreF/pXcFSgSPHsB2VYluX7dz/d3t6i9YG8FKBwPCYBTyHw7eye4A+A0hBkURRFXRVQk2+3WwQB4brO8wJsmTHB9fWEmZ3zQRD+8ssv3vuHhwfn3Hw+T5IEqTWhd8fjEfDC2grk4nq9XiwWxhh0JABTmiwacs7XIgK0DeFQURy/ffuGpzJ8z7g5AB6B2oRZELwvehR1XQ+How6gM/O3b9+U0iKC/Mebmxto00UEVcd+vwd53EVJaq0nkwlyDHe7Hfo8RDQZj5F4vd1u0TX6/OlTr9eDbODTp08Ix4TltJMnPT09PT8/w+VsjHl9fUUoHjTHVWWrqnp4eEBgDgZYDgYDkJ1KqdfX191uM5/PYQQfj8fz+Xx/2FZ1YazSRiHjD30A7/3Dwz3QKgyvwMpoFECb9O3bN/hbMDi2rmvxjOIQyqX9fv/6+hqGAWLgx+Nxr5eiA8OYhVnmm80Go6a89+v1ituxl60fMcGCCeO43+8HKkAXAg8U5xxqTly5KBjSNC3LKmjSwUdQ+deV845MGFxcXARBgHBezAAmIvQoyrJkrSDeg9NmNpvjRvT8/OycN8ZQM2mF6toS8T//+U8Iu2HkQLcH9RLad6iCUEOKSBCEKOSQUQOnENbYcrnsgmWdc5iKhSIB45C32+1ut5tMJkQUatMFyIgIGimIc4FX4fn5Gb7SP//5zyiHsKqJCJczEcVxvNmuIAODRhbLHklBqIfh+4zjEbYKVQERddfIdDolov1+n8RpmqYQ70KgP+iPTKCso1AbY0wUhUJuv98XZYZ7rLUWVnLYgXAocFXiQYC8mu7OjA1AeYw7GCbjotOF69pazMsLy7I0xsRxmKbpfDpFcFPcC9eLpWJGp5SZB4Nef9gr8my9WQWhGQ3HtbNYXR1920If6cBJCz1P9scGUMq5WuYHbfA5NOz+BMhHRNrwR/BynoXAEJOoFmY13DABtROLIvbCbVI3JCLnqJSZ+WyKPD62wSHeNUZJESYhEqhJoCKGvqXdfsEPnXPeO9XkwTfyB22YiBgGPBZmrRQpRUYxk2pgFKbeQE9zigw/TcykduB6B4jOATc3SSTEqvkVFs/5sT2xvefYkk40s2pjZ7pXtu/8x5OCl5VV2R6vk1HVew9+vVkD58H5jcb8h00icr6VmHevlJNcipRSrLiua4x27j5dRKiNRunQfNuZofagKT6Jpk6LrUXOvmvJ/PBzx56p22tmNqyIyf64OKmNpzRy1inoDiIRCTXj7rw7rXKs5nb3TtoVvEkXIdQdAuhH8HMR8dLp6aXpQLFnYVZM1DRxmiJBGvUPNzqZU2mB8KOum3DeemjLbxYR4tOfdKQ7MztpTBiGDfyx3p9crd3aQt8kCIIGknvyZyOOhRzD1+txu1QIa1VKEVMch3mVkZeqKoqiYK0g2s5H5bjfZ2dfXI2BzEqpqiqjkI1JqqK8ubyoLD0+fr+9nSMF+d1PH4IgcFay/GBrdpZflvda82Aw0IoQm5VlmXOSJAlkrC8vLyLy4cOHMAyXy+XT04v3trufJknifF3VBbGvqqqsFJHf7orN+qhVkqbxIbM4caCfYSv89OkT4sAHgyGAIy7R7XY7GI/geBsMBmEYdPUrBNY//fTT1dXV4XDAvG6l1O3t3Wq18l7iOLa2yLLcWlcUJYgcZKhFUbTdbjebTZZlGEsOAmk0GgHhiYjWClJXax0RVc7ieTAcjjHB8evXe2YG8EXy8XDQi0IDmNg9bID+wUj1ej1MzwnDEFqUz58/R83wlDrLsnfv3uEqgCwBGvQ4jpfLZRSEKAyADF5fX11Vb48Zwltwgdze3sIAmmXZer25vr4GQwZMRkQYL4pFiz7GcDi8v78/Ho/39/fMjIKkKIp+v48I8OPxCC2KDgwzAwwB6xNRF9OJhM2qqsoi60Z4OufAyMKAC1Mdnr7b7RY5G3iEo9DabDafPn1iZtRjRISoytHoGtfO1dXVfD7HQYCkxxgD4cpg2KuqCnpxHI1379455759+waWdDabobUCJpiZ7+7ulFKj0Qjq9tVqBVNmv99fLpdoOCAUr67rKNKNazYIsGBAYRIR8hwBs1DQeu9/+uknzOu5v79HOwVDyhAAHwQBdNhKqV9//VUp9fT0BCCLgTV4q+VyOZtNv337utlsiWg6nWLfgX2B7YqiqCqLIPNer6eUurm58d5jag/E62hKgMsPw/DPf/7zdrcuiuLi4qJ2NVZgWZZZljFLFAXIGnLOZVkBSx807iC/n56evPfQJq1WKyIKgmDQHxF7SJZxcfX7/TRNMMWp3+87Z/GH6D9URUZEwGez2ez29jbLMoiXer2eb21ewgw/tJAgbghCKSLy3kMz05melVKQfuH8DofD0XCCe/7+eADKV4aEaTgeWe8Oh0NW5KgW1ovFYDBA7SHSjJhQSlVFuXxdoGmglOqnPWutOI8L3LUDSm9vbxGe2O/3IEdBoQhBERYJDAM42rjMP3361DXN0LCCqmSz2QD9x3GMs3x3d4c2VzwY7nY7ZNeORqPOfQ4LPkL04SVdrVYw4sMLBPcFqh08j96/f58kydevX+uycM4NBoPdbrdZLy8uLsbj8WKxmEwmvvUfV1WTvI57Gkbhfvr0Ke2nOMVYaXhAp2lalBkzI8AADQH4rafTKYytSqku6B0FJ4pGJAihLkVTaLPZnD+FURvXdUVEuGNjB4EEer1emsbIN9PMcArleX7c7YMgCIwJtRkMe95bIs9C8/kU0f5BECgNZa9yzsH62UHMDhnb1kfXISdpSbVzFEWnjMWz15yBJO9ICJAAiL/jXDGr8hSQjVb/H/AVkDcR4qeZubEDNmQ+YzQRqElRrIHPFbLSpcGDzRij5ldA22cKGyHxQgoQmJkZCX4AybrZTY0pOg1kP83dgQj9D8eEtA7OjxszO49kbN+hI9y9tdbMujv2XUvc+fqkblCdfF/OgTI2HxJrOfs6P2stGhY+yY0gQenU2ud/y87ZjkSXH3eq3ceTNoaZzxVu3afjVgmPpWqkvE5+OLXKkdcEVc9JqENNuv8P+e7nx/Zfftgs226TlFKEwUE/9h+YTjVA93pmNiaAmgo0vTArRNCzM9h67066q3OUj5UpbZyLUqrLNumKM9ADzRaLA1HeTf0VERI6E3uRiGhiJU1YT7fPjE8/bbon0uyF0QxBHdoIzs5x/OkIcBPd3/S3cAXwjy2zP9Tozc0I3TeRzopxtvAJ045FrJem5CDFZVnm+VHE+Vq0Usf94eXpUdhMJtNeFBW7nRNvi8o6HwWh1rp2dn/MpuNx2h/99vvn42E7HPVv37zLi6MxerlcZFmeJuOqlP0ut750zlV1cXFxYa19fX1m1sPhMDSBq+1+v0vi8Pr69uLi4vX1Nc+ym7trEPZxHG42q5eXF2DZNE7qOlgsn6MoKvKqKOoo7F1f3c0uZkSNn/V4PMLKBq3F8Xg8HI7oCCN5A2nKIrLZbG5ubpxznz59QsZzoDTE6wCgED9ordno8WzKzPffv9d13e/3e8MBM/eTFH5BcLHY5ouLi8fHRzC4rSfP4ePW6xUm2hwO++MxI60QDeEd4flXljn4SMge8LQmouGgJ6SQW6e1hsPy4eEhz/P5fP7x40fv/c3NTVmWq9UyjqPpdOKc6/VmzFyWJfQ2CNI5HA5IHpxMJovFAuwgeghJGN3c3Dw+PpZFGerGAh4obYxZvrw659I0hUobqfYA5ZjCM5lMQGDv9/vPnz8jWieKotVqBeoOs+KBeNCIuL+/n8ym6GlAcjAej19fX9fr9Wazef/+Pa7Tqqqenp7Qv/706RNypkUEym/gfuijEAuYZdkhjp+fn733l5eXEJmgE+JIEG4dx7HWvNvtkN549+YmL47b3boos+l0asyQiFAVY2SY977IKyKCOgXuSchLRKTX60GIgsc/unYQ8Ly+vkIzvd1uRRinta7rt2/fWmuV0mjWI25yPB73er3n5+cszyGSATuute71eijeDofD/f09aqe7uzsUlraun56esDYQecTM//jHP2DRwz+xYSgw1uuVaRK7Q9weoUvJsxLcbRiG0+kcDgcRQcBl5zcAyLu4uAiCxiw7mUyIPaZchWFYHkvvPaLuF4sXIhoOhxAnBEEgwqjGu/h/mK7QDUM8K7pY4omZcb5Q2w8GA2N0L06Zuczyuq5gPazyYr1eh5FxzuFa7vf7xijEhE+nc6XUbDZm5ufXV1i6V6tNHIQweUOiBm3JaDQqbQ3RCB7ndV2j5aJVQKJMYLBrOMVKGevdeDxGStJut3t9fQWXjGLgeDxuNlvgRUgmYEWFAhtQHn7i2tWTyQSVDOYBdyk0CH0Hhdzp1lbrdZqmw9EICvvlauW9N0HARFgMRNS2iQpcBUAn2DtUHUmS1N6VtnYkRVk4kufFq2fSxohiHQbHIr+8uVZKVc4u1qvhZDyZz9brdRzHsAk5krfv3mqt/dLjrqW1rlyNWWnPz8/e1fj58/NzEAQwaO33e2tdZ7CDjst73+/3wzhkUrvdLr26QjFze3sLcI+7H04xTlAYhui6AJRD4wRKBd2VohmX1hgesIwRRtQRIqDklWIUh+h7GGNAZGbZYTjsa63jMFRKHY/H4bBvjCpLn6Zpv9cTa5MkYXZZlk1nk7qu+/3UObfd74aDESpYY4x3p+AUkS5w4/wB/YO2mBXAiT//qz98c47zRMT7xlxIBFWCUJMO3SgIGhlG0+v3wqSgkGmJcfVHuvSEvToBRgul8NfUhtXQ+Y60AOZMzENOxBOLeGHFWp3AuGbS7VTU7ks12uuGncQmiAhuC0TUhKD8AWKKUsqIuDZJpYM97JwwO0Ar3yitxLkmkvEkcGghlmkKCuaTqMkxN4lACinfXpo+w4+JMXIWY9jR/9Z1fQD23hsdOt84HwAUtdaspM0DxZb+kNmv1Gl/O7VFFEU4Spp0EASdB+APJ7I572eIv4Py7Yk+ne7zQ6pOYxbppO9qNxhovilckK1Cp34OIjgh1jK4CXYbhjpDn80pgAuhU8sY3biwIYvBgF/sCz5QERMrL16IjNKEEdzi5KzAUkoxyo7T+CRiL9S0eORMhtUUlE276KzbgnaD7wzjp4XeLfcT9O9AOZaU/9H5gZe5JgWSugUn0uTuN5tw9qvuwhNy3rMSX4u1llgrZgqCgJVURXFxMVtvdraqa/FhlByPB1vWQRDU3uHBLJu1iFjrbe0/ff5aZfm79zdJb7Db7aq6UEqsKwaDVCnJD1lV7Evn015c13WWHTabjWImlvV6/eY2RWtyMBj0esl6vX56ehKRQX9UV7UxRimDJX4xv4qT0NYFFO1xnIjXv//+Kcuyp+fHfjZA5gagACa943ZfFEVdWxjmQPjh9t39szMnVVVFSph5tVofDse7u7vxeGJM02uG/Qu50aDV4ziOrgKoFyBTvrm5gVbn+vp6s9mMx+OyLAHd8BF4cEJ16r2IYoSX9Xt95D2/efPmeDyK9IAIiejy8hImp7zIQQQq1XgAIGPYbDZRFN29e7vdbv/5z7/3er2//OUvLy8vvV6vLHNsLWQJCE+AFAHULxrTQAPXF5fMDIIWSBHJJ8itZ+bBYFA5JyI4yOv1GhT+4+Mj3gS4ENrZi4uLXq/HpNEB43YGIdYniFg8y//+97/j1jObzWDX657li8WCmfv9/tXVFY4PsA7a+txaczCIFGIY731VVd65wBjn/Wa9ttZOxuNBvy8i+8MeuiytdZL08UQviuL33zOQx/1+HxpZeNcAkmAGmM0n3tF6vcZ0mPF4DE4dkd7ee4w02u/3oDMBmufzeVmWEIgnSQoMCu52s9lY6xA/io4B5FuHw6Gqa3CEFxcXaCB09zqodIDCu/ATSFlgIIZODINRwUN775EmiV7fu3fvPn78HTy0McaY4PLycjAYvL6+VlV9eXk5n8/BVALc4KRAnfL09GStHY1GSZLEcfzy8oS7SlFmLy81XrbZbCazCchOkI4YUrtcLiEPWy7Xf/rTn5gZqps8z5MoQefEOff09ISyuSxL9IYhXQAZXJZlXVe9OEU1CJMDjk8QBHmeQeiFV37//lJV1e3t7bt3H2DYOGQZaqFebzCdTsssbxNyKlykEBmKCBYbUhG9F7RN9rtjFEWQG2mtTRgURRVFUW/QX61WKC+TJOn3ht2wiLqusyzHkxvUOBFVdQUwjUaHtLH6QRp3n4sVwsze+8FgjHOBpgeq1v1+DwEMET0+PnY3ea01iWRZNpvNdBPKwejgwZXe6/V+++03zF0qyxLWGkit4ORGYADerbNUYrIYClcYOdB6hdQKRlUUJM/Pz0opMPTPz8+DwSAMDG4yaPj0+z0oMXQ7BQJkGWqnq6srZdRuu8cVgfZg+7wTHEOsOgw4g88YM7DfvHnTacYAEtC2goG+k9Tjz0HDQeKCfyoVQcWh2nmlIg7/rKrqcj6HRkjEIWnee3/Y7wNjkhCty3FWHa2tlCKiIIhCrQM8mIIggvTr/FGO4aB0Jr1wZ3F5clKlqB/l039E7Wc/bmaREvt2yqkopRAhB7TWodIGNgh5EnwAnWUCdhj0/BvVCG3UWbPC048v7pDGGVj0zWDXlgL/8Z29arnLFq0KM2smkW4wTs2s233s/ADcgdoT4PbsxWulpM2WdWdT7Rv8g4FH1lrb6CyiQJ+j9m4vmi2UM2TVbPlpoNJpN8+++cNpcm0zzTpkfjTnuibnvVeajDHNytCkWGulz44GnY1udaqJ15FuzYg4rFVvXXvkm4qoRYEEZXfzzQ8DVX/Y5u6sdrvPP9LE1IB7db6DSmmiJij9/Lh1/+28EI1yoDtA1GJ3bn0SSjHqKXDqqvVM4BaPIN7uVBER9tw1s0c9Oe9c7ZuE//YjmjdvPq5ZDULEHrcA7tRRvvne2rbTdDq1p2PRnfU/XH7n+9z8qsPxrImb6oPO4Pv5f51z2jSFij9rAoiIUoJ2jzo/xOwJGtBA93q91/2reM6zTGvtKl8U1X67jdu+RBKnx+ORyDvnVaKfnl40m//6X/6f82n/mBXjVCVJXNvcGBWEfDwcqzoPQlUVUtf1aDRYrVbQ3e72x8lkBp00DI7Pz8/7/RFOqa9fv5Vl8fPPP4scNpsNrEt5nqdpPJ9fildl4Q55BonI8/Pzbr/vkgTCMIRI93A4gKnyPkfL+M2bN9B9Wk9Q00IFUVXV+/fv0zTND8enp6f1en19fa2UQpbIYDAwUYjxK+hBQ9j6/Pz89PSE0HeIFpbLJaycQPO73e7h4QEySmAmwE3w5VEU7rMsjuNerxdHKRr0eJA8P78+Pz+DLQaggfYDyBh07//+3//7y5cvUB5/+PChqKtv374NR/0PHz58/vIRJOt6vVZKDYfDi4vk8fERnlo8wED4/f7774A41lqIQ25ubnDQAAfx1AFhnGVZ2obigcL/6aefiKjf70vbpNZaD4dDhDlWVXXYZwgk6WaagkRENIdzrnYWz3tAXqXU1dUVpO339/dAYPv9virzJEkwe/JwODw8PICABypFRgoR4W+Z2ZUlNh7R5nmebzYb732UNLk9ABDb7Rb+AS8WFZeIYNBsmqaQqWCCI/757et3arvq3nsMowEAGo/HQCo4mBBv4DX9fv/du3fGmOl03i141BjwaOLmg2mvh8NBKeVFgDiVUr///jszTyYTSKjRWnl5eSEiCJyyLJtOJuB60bXQWqNRkOd5p+vtLLaIWOkmAEB5b4wJw/CXn/8NfsT7+/vX1yUyiyB4UEr99ttv3fevr683Nzc4LCLS76dIsMbhgjjq6emJyH/48EFE0B2CTRbiKzDoINe7IJenpydEjCuldrudd5SkkYhAVYKKZb1eIaNda02UgsuEyaSqC+BvZK5rrd+8eXN5eUmk4HjOisJ7nyQ9KNx0miKfUbVDgpHC7pkQLzMYDDAtDhAwMBHYce/9arXKywpRPHlZVO0cn+FwmCZ9tLZQlojI7e1tXddY4XmeZ8cjQtbRg0LzCnuBQhGMPp4ys9nMe7dcLn/66ScotuGgEJFj1njuqZ3oLCJBEBitMXwA06Mmk8lgMGiUHlpvt1to8Zl5NBrhr4Bfp9PpbrcD7IYo/P7+vutPighGtDrnJpPJb7/9djwemBk5NkVRTG+vxTlc2l++fGLm2lthmkyneVE45yJ4kNIETYlBb4DLE4cOUDsIgqIqXl5ekiQxWqNQXK/XWgVJGmHporbBpQQOBdAf6UC493bPdPwKgitjDM4U+rFYPFprTOlKkli3oWFYIc41HtP9fj8ZjUTE2gqHumqz4aMoms9mrJxSKo3i1Wp19/ZWWhxDSqqqEmE2Wro87AZU+PMHt3SeyxaTnQi+k/rgBBI6yOVPPjfbYCzVyJqV6iJEmmAZbjGP996w8kzYGuqkJkTM0lKoHXprSElpwk+4QyyAEC1ZC7Qi1JomRYQcdbuDsHalDGAoEemzxBhmbkbUE2Qq+IRG/AMKD35TbBdEMoxEQWOYNDT9vmVsdcvYtoed3OmQKq1Za01aaWU7dQOgFvalzdEXptMwaWZuI+eb8+DbFBpqay32XrWhN8wsmkU0EQmxx3AgnC/rvPfGGGanGoWS7krKMzR4onE78vsPGFJrzUJerHOOqCO1T+w4TjT/iz7qTOwj5786g918/kOsxu6EduuQz2Cq9z8g0u5NDHnB2Vb6LJDSc2iCuq5DE3DAgVFGa+89t9R7s3sYT4UpskSsTwZWZYwXa613hQeD7r0zxgQGvSCnA01eRBwzKaW998JkOBAP+TuTKGZF2hORcDcdTbqjJZ6kDQp1zmH0qW5H2pIo8ay0ZmLvRJo5haK0b8Kg2gub6CRw7wojbkdpMaEw68zLRKRwMBFz02Rga9YqICITRCxS1zbSPEz04Zjv9+tKfJpEdVVMx5PyuLdV7b3fHXdlXTsnbIKq9LWTpB94rpfb1cV0ZmIt3g3CpFD1ZvNclLVj8kZ/+OnG6DDLsiQei3erxTJN+4plPBplQVDmS9gWmXWSplme77Yb59zXL19ms8l0PCH2VZXf3MyY9NPjK/IEhbl2NgjjP/38q28tWcysNB3yHOMqtQ5FxITxISvKsnxdri8ursQSkZ+MZ9vtNk24qqpeL/jnP/9JRNcXl4PBoBvAMZ1OD4fDZrPpjwZRFIZhOJ9dHg4HEmVrf3V1tVwuRXEQRwjE2O0O/f46TVPvmxgH52wUIXVBfCu86/V6aBeByV4ul2lSXl1ddWXn7e01GPowNHVdlmXR7w8xcijLit12u91vttvtcDQIAv3hwwcoam6vrk0Ufr9/TtPhzfXbIAiYnzebTVFU3nutOY57r6/Po9FoPp9Cbntzc4OEFpQHNzc3lbMqMN579O6R+2bbyYL9JCmz7OHhwXv/7t07cu7p6Wm323/48D4yxjD34ni/2SgRSEeen1+yLJvP57UtlVJlWY6GE6VUVRdJkri6JpIg0MvlK/b951/+dDzuIeaZz6dZlj083G+3eyKaTaaB2S79GqKFm+s7W1Wvq1fvfVHkt9eXg16PyEXGHA6Hh/sHTAJy3mLXQMR6EWttkR222621NtDaW+uJSPv1enlxcXU8Hsfj8YcPH4DarbUI4d5u9vBTAjYB02BIGVRAEPuGOrTa1/UxTdP5/LIZR2W0Uqqu63//6/85Ho+j0WgyntbWmSAsimI8HkO4fDgcvn37BkzQ7/eMMWFg7u/vs+MhDMOX5ydmTtL4cDg8PH4nYYwHhioMeSZ5niNn8IzIZOdsksTe+9lsiqomTZNff/0lyzJESQI9Q/dvrV2v1w8PD12bZb/fz+dzmBDOHh50d3fz9PSklIriAP0olGTW2qoq779unHMsNBiMbOWqqnK1j8Mk0CbQRoSLLO8laV1WgTE6UkVeamPWm42ITGezLM/z1YqIYMpHqYzJRNvtthene++TfkpEWVmUZamtzqu8UTQVBZp4QRA4J0VR7fdHJ7ze7sfjcarMer0GgVtVFYsrykw89/t97DIaHcy810asu7i4WK83YMtwrFA7kWLbzC7dac3L9QYCmDwr4yglasY/AeUja7+uqzRN67JioSiJL6+vAJeROtIfDi6Sy36cWu+22y1rNR4M17stLAS9Xm8+v3h+fkFAU5r2vJfBYDgaT+AI73zzj4+PvV7vw4cPq9UK5uw0TWtrX15fvffz2ezl5QWF3MXFRUdmATpj4lIcxxcXFyDIEVqKFKxPnz6JyHa7xeOmKPIsOzrn/u3f/o2ZP378GEUBNPd1Xd+9uTFPoffeGHV9fWmMWb4sh8PhMB2GpulpaK2jJEj7sTLjzWYThjEpWq6X1tvj/kDi4yiM4yb7JYoia+vDodbN/L4aahlI9tmLWOesJeeP+z0AdGCaaBFcpLjDoHwFqcfMEMTD6QvdhGYlIihfmcUY4+o6itLBsIeDczhYY8LQ6Oxw7Pd6SRJr48OUkjRh9v2kXxRFVbg4jpXRRGSMUaytdQxvGyKvFSB1Y0tVLSV5RsZjzKKcwc4TgoK+gpmJxLtT172NwmOjAhOodkym8oSepxYR8mRUoJTSoryjNlrFN0JfzczsrQOTrhQpCEWY4QkFj8Os0WahM3B1Du/krHvQFSSYZcnM3CaFE5GQU9Kqyi1rgwlQ3hM5V7dvop2rhRpfn7MNXA+UD4JASIiNqz24ZyYSaQTDSjXeX9+SnV3Rwk1QvSgSR8zECqNqUbWgemjqH+Ub8URTl2BAEZ8xsNyq20XENzaABsdj4KgxCvjYMVmxKEVIkTHaGB1GEfgg1Ybn01lQITbZWavaQqUDxGgpFNkRIjHrGsjeYnCx1jGz4kZTTkSsQxaM76S2BusAe9cnobYSOdHtzOybNKAmNajlrxufL7d/zqYtRNvCA1L2Uyxj947dogYob8tWfb6qpGvzdH5WZlDvgNeoVzqY4tsxWo3dAv4GVkhn7/6qC43udkYpA7WWrdx5vULUBAy12TDkW816U1QZds4577WGFo28a2vzM51MJxM6v86lCQpthziQxsiD9uIhgkG20WvBNt4dE5Sb3tpqv98esty6qqrKyXQWBIGtK9Sdzjnx5GsXhmF2zCsqB71eGMZPjy/DQTKfXSilyiqvfFYej3lWswpGw3Ga9otj9vj0NJxMjsf8cCiI6O7uLoqisqyZeTwex2lSFIUx4WK5ZGZifvf+PcJGTBgwiw7Ut/sHW1lm3u+P4hGYYwb9EcSIUC+ArLXirfVPTy9a88XFVRjp1XqvlNIqWK0WIJmUUggqQSIewDqmCeLUQ9Lw+Pi43+83++2bN2+dFYgB4jgWcuv1ytpaKS5L7ZXWWoehCUMzHPZXq6VSCoMbiQg8kPd+s9mkaRpFMeIa5LBHh7eu6//7//6/lVIY9IOAHaWaUTVoGYMuHQwGoL7+5//8n1DQGh0iWN051xsObm9vEUkRBAEEptbaLLOI5sDHQbWCp5dvRwniUR2G4WKxuJzNiWi/3//0009xHN/f34P93e03vV4P0mcMCr2/v7+8vFyv15hXBTsp0GS/3z8eszAM371755nQnbi4uNhsNiZQ2OC8KLpYD5B8SZwiXhBDi0BA4lp7eXmx1gKCV1Xl6to7Gk/GQWBeX1+jKDI6zPP88fERcSX7/b62FZRORLRcLi+vrpbLJbGfTqfMjDccjUZFnV1dXYkwhPJElKbpfr8f9EfOCuAIfM9BEFnrMTYVNwRw/7e3t845Tnj5ZT0YDGCy1FpvNpvn+xet9Xw+B7k+Go3AtiK5AiNU0cSv6xqEIlh8jN1Fwo+IIJsoieJ+v5+mPRGJwvDu9jbLspeXF9iUEV4JKzARDQZ90OpIAiEieGExVxioMQwDY4IgCNDUUkpdXl4SEWQPdd2wA5CmbLfbyWQUhiGmrsJqDCEWCgCUKEmS4A3xmIFc4fb2llkOh8Nud1BKYfVirXaaH7DvyCbHjNvpZIJ0S27dEUd7HI1H7YPEG2PKskySCPcBTNzc7Xb47XK53O/3/eEYXTgRQeqIMWY4HAZa1XXtHT0+PsI7oVuLZxzH7969C5PYOb9erxuweMiRsjKeTp6fn4/H43g8HQwGg9EYieDMDEHaeDwWkePxCLEThGSDwWCzWhdFcXF1eTgc1uv1zc3NdDoF+5tlWRCFVNdJkpR1BfE9TihuVsBMyE1/fn4OwzCKY98OgXbOLZdL8Ovb7RazKbDycXH1er3AGO/9fD5HL3G73cKTg/Gxw+EQIkMRgb98uVzc3NwgxGY0Gm42G2P0YDAA3YDYIqjUiAg+2tFolGUZAuAnw9Fut9nv9/OLGVwE1lqKkyiKcL6w5ehgIB4HEhTygs4YljQzY3ZBJ2JBEdUVzEop0ko8F3VV2hpVWeQj3OjojKwGggc3j0tDWgWpUqqoCs8K9zdc4EQ+iaKupGn7KnRugcCdtteP0eQZDoctAjuBHn0W0iIivsnvow42AFny2dgZPlPStijiB0UKkyYSZt/BgI6CZGYS1b5cOgKxgxD4r25TGehHfvT0l63NsQE8XWLjj+KQP4CcFnL88eM6qHbKp2ffEspIdseZcm1Faa21Qs475TFfklxd17b2SoXGGArAIxiRuhO6dFslnaj5X1Bit9nnu9MdovMNPj/sp91pQdcJhVJTi6LqwFt1B0Gd6Zy7T1FKmSAAyYJbXydsU2dBQ90maa3lLD39fGFg8WCyEOB118zBh7q2J6DOLJGnb1jx+XipZqdOgP5fa8cfTu7ZbnUH8/zYdh5Oc7bYqFtV1CSMKtydmRm+nEb90n5wd51Ah9rsqoiIE+fFefKCI9jp4agNsffOKc0olLsDx8S4HZzWPQoDcvTHBa3oLBqSzhpg3THtNvX8+Dr3QyyU9x7HtCXUm8oVXaZ2iTitT2UZdHLtQCb2zUEjIuW9t3BIaFKaqrosiyP5ui6PRrOvK1/XxvB0Oi3LcrvfYcpmoILhYFBVlXcShrFWEZEqa2dCnR/LLNvFcW/Qn3nhqiqsK+LE5MddkddRlEZRFEXBcrlcLFbz+ZwVowUvIm/fvl0sFmA0keD29ev9cJhaV+EWXBQVM/cHo9FoohWcW2VR5ER0eXmplPbMw/5kNg1EZLV5THuhVsHPP/9JKb1crLfb/cPD03DYJyLoxYloMh1BVxAojVMJY1Nd15ByHvPy4++fu4JQaRLxg0Hv8vISKCEritFoOB6PyrLK8xyCk3M1NjNDsDGbzReLexCijgQE0vFwhHzi69evkPPCzIfGcRiGx2OOqJzNZnN7e530UqzAsix3+QHih/l8vlwuq6pCsvVyuSyKYj6fb7fbLCsQg4DePTNj9pDWOkmiqiqCQEdRkOfH43FfluX99wxo7HDcsZLReABkicSJ6WycJn34Qd+9e3d9fW2t/fbtG9IYAMXwYDNGX1zchmHoSD58+IDutvO1rxiRi2mvZ4zp9/tgzsIwNDrY7XY4DhDKW4v45GZcaJchSN63E5TyKi++f//+7u2H5+dnrU3Uzu+s6hJNA7iEP3/5Yq29uJwZY2DTHI/HaZoOo6FzDviMiB4fH8MgTpJktVpxG5UjIlh7eZ4boy4vL0UEk62QTO+93yw3iBOBxRaAGxKp1WqltUaqNDNDl79cLDo2CBmgzIyiq3NiAApDcQGTg/d+tVq2tTdDdxuGYa/XQ+I7MAfwLtAb0Or19XUQBA8PD0SUpund3R0K17IskCDmHWH8ar/fd86tVisowbrcTyAhPFSvrq4uLy+14fv7ewgqhsMhInEAjGazWZZl379/F5HxeHw4HIbDPopYzMMajUZpmuIFk8mkq1uQ11mWJa4CFAybzQYaM6P0YDBAZjlKOKUUbAPOuYuLC4A5FDxPT0/7/T6MG0kPOh4omZxzr88vEEyjGtxut2maLhaLoijaS3uPehLXqa2PSCtC8Xxzc8fMX79+HU3GAM2z6QVejGIbWg6UJUhewrEFZYBrCimcaZpiUBc8r4PRENqn0ta4ySPWCScU5hxpU0rxc3wuThzigFBIwy2D8qbIc8w/1lpDD4Z49dvbW2PMly9fECePYaJVVSnFuJw/ffo0HA6hdCIiwGs8XiEyQe1UFAVgq4jr9/vDXr8osuPxeH1zhfML6Y5Sjd4MawmlDlTyzDwYDI77w/F4XK1WxgTYKXhv4OTGpYRrfL/fY+IexPe4XjobAK5WAHRcDqhzcGsFKsL91nuPOtZbR0RZluG+VNe1CGY2EW6eeX5cr9koDRltr5cMhr0gCJQyUdSIGYArWsObZ6U082lmTZONgv81lsH/EAPISf5+yvX33qNPTj8gy87D5ohIGvULEM/ZHJ8f5cvImWmQ29kXn/TTJyzbIG5mbuUWP6LbH6Bk91dn3/sOzJ3CNpgwIbR9Ey8CK2ftnKttiWBlpsBaC+xurXfOac1MquLaeQpDViIK7g7vtdYeB6CFlE1ZorqccWxtI+yRM1h/DjdPG/8vjgL+F6mz/Pia7od/+AlzE4AGghckWgfZO+YXgn5sifsh1PKPBRK+vPfO16yaIEQiavHeGbwUQl3EP4DS9mWkmP0f3rZLu+mKkA6C421Ry1GjmVetXKrR07cf1JQK3ntzvmK65XVCzK0vgdsBVL6dCMBtgXJ+GiBnP6ex2xYA4c5yOjdnq9k36UJMzEpBeyM/wG7/hxXww0FvPq4Nkidq3rDdJNddOczc9rz47HLyLSJHTw2JT0LkpZ3a4M7TYeV0RluvwCmClJQOAi01RVEYBgzjhLPl69PjZNAnV++yQxSFRJQ/ZUEQKOK6tIpNftiG2mhlwjgJwjQvtnW5IZ+Pp+MkGlSl3+3WzlWTySxOzHKxvXtzrTgQDn777Tcims2mo9FosVj0+ynUXWEcLZfLOAnTNFGsXl5edvttlh2srfqD1JYiIlES9XqDMIittVVVx3Ecx9HxeCzLajAeXae3Igy+djge7HfHwWAUBDrP6iyrsmMJwhvabgSH4zbd6/XEOvyze4IiyJmUqaqqrt1gkF5eXgahtrbc7/eXl3NjTJJEYoWZkUYfRRHAnG1Hz2qt0eiPohjELRg4Nnq/O9ZVM34FUtd3795prREufn19jcGuFxezMAy/fPlSFMWvv/4KPATV+353RFhbHMeb/Q5jVh4eHtbr9Wg0Go/HLy8vCIEREUBYPPxEZL/d1nU9mUzQGej647///vtwOJzP5wCgeELP5/PPnz8bY25vb2tbGh02mWjHI57i8O0ZY7A92NOXl5dv377V3sdx/ObNm45Chjj1y5cvzrkuMuXr169aGeTWYXbPYrFwTgaDQV02Qy47Sx+M6s67v/zlL/0k3e/3379/v7m50dp8/fylSZmIAnDbz8/P6/W6rKo4jh8eHuI4hnwZZ/m4OU4mE7j3yrIUz8hWD4Lg/fv3uDn0+8Pdbgefg3M1nvdw1B0OBySR9/v94WTcBekcj8c0TS8vL1erFcpOSNI/ffystb64uDgc9kmSIBrlcNhHUdgJb4gIBkc4FC8vL5HD+P37d3gGrq6uqA0wvby8AJi+uJhjaQHiH49HQKXZbAZ2PAiCt2/firg8L+u6RgwiVntZlnGcHLP968sS0h1mhsv5+voWo4gnkxEm+MCJa63N8hyXEjh+aJCIqKqq79+/43uwuTikZVlOp3O0cbBOcL/F+B6oSh4fH6HMgb0boS4AmrPZLNQGsTbcNmogjPHeJ73eYDRSSgGEHQ6Hsq4vr6+TpAeZBM7XeS9rMBgoNs65z58/Hw4HFJ84s3leAJVCFYOCCrL+qqriOHXOwbQaRCHYQXjB8SdoxeDRgy6EMU3uO/j7OI5XqxXeFu0Cbx3E4pVtLKG2rPqjITM/Pz/j0kNOzocPH5h58/vvm80G5mm0NXA0oEHH6caYJ0x7PWSZUgrWUswhMsaMx+MoCpnZe+e9i+PIe7ff78IwcM6h8ICXBg+gsiz7/UFRKDjjofUC+IjjGBGfaS/GAw7TzbAMlFLOOWJnTI+ZsYw70z+OOQaQIfsFJXr3XAZv0s186BAPBOvIt8UzFGsDTU5I1TvnCf6Jsg2bVNc1PjoIgkjHeZahAOisF5oNjgOetjhZYaIBKHA2jQmZVBhFDXPMEIKrFkgpEoYlkZmJQDnz+bOeWJjRFW8IacBbxcRMTS5hg4q8Po+TFmb2zITQdy8kAgoP0hdiOfk+ca35TnB7Au4nOCQiwPFKqXOALtIR7txxq3/46iBK81vfpEdKG5x9ghwIfBQGmG6hIb73IuKloU29954chlg1AgRRJFR74dqTOYkamNl76nQE3Q//BT3zH77ns6iW8/8235yFeP4rNO++o07szn+AasLUBBgSwiuJtNadcKMj2rvjo1vP5B/qn67w+LFOECFyjrqPaL9Ux/ASkTCxIGm+Ob+afoT41ISvdLgaB+D8aMiZUAfvCWNz9xrPJKRIXHs09Hn9YDpmvTsx/qx5QS1adc53ajb8tmPf8YXwy470areAundo/9tu9KmFJNKeTiI6l8rwSfpzOuJdn+R8WQB/04+FBJ048vPFcYqZl0YxdgqDF3LcxB4114DSSG3HIYMGjkXEELa5nRrbTglWSpEXa60iH0VRGGjFEgSambLDIY1D51wtyLw3mnm12QYqIO+NDoMgEuEwSDbr7X77wHy8uUqjKC6KQ5VXQWCDwK+Xq16vd3tzJWRenpdlWUdBNB5PSJnX12fnnDbGuSoM4zzPe/1mqE1VFZPJpD9IgXuq0vZ6I6DVOMLjs+4NB0aH4irn3Pawz6tyNJwMBqPb29u6drv962b9mh3rNO0rZQITD4dmPB6boM6yDPfl4XCIFLksy5Yvr0gnxLPfOff8/JwkyWw2A+39+vr86dOn4ah/cTGdz+e//fYbFAXsGwyBTnFd2yAIidhaF8cJnl6TyRSqmMfHR3y0sL69vUXjvt/v39zciAjCyG07ABJqTtD23ntrq//9v/+/wqrf76PTDZkpHnKj6QQvvr29jaJouVyu1+vpdLrbbXwbKj8cDv/93/8daD7QWmvdOVYBi2HoJKIgCJRSx+MR483//ve/Z1kG2ysC+IEykfcCChnbjOkkxpg3b94opbbb7Wa/c86D8sezarlcLhYLvAwW4c1mU5Q5U/MoRbK7iChloKxAKCERwaxcl+V4OiX2ZVlqYjSsv3z56lwz12MymYRRACAFLjAviiRJev0EKCTLMgTXqKDJvamqKjsWuAYx0QZxKC8vL1VlkRJzOByUipfLNVjwwWB0dXVVFEVRVEkY4VquqgqSA2CLyWSy3+/jOBYRnEqQhVVZ7vf7fr+f5zmoyu12i4INOmOlVBzHMFbiSGI1ouZh5iiKwZGDsKyqKgxDJBE9Pj5iaBeIdhxPBOHv99uLi4vxeOQ9wemLhFCEx0dxsFysq6r65ZdfMOw9CMIwNEg+QVPCOYfc1V4/ERFYSsCMokHRYevJZALwPRwOMXUSinlY0qGUHaU9OAegSQDje3V1dTweq7KEVEMphQKPiVFaS9sE8N4DHSLMG1Q9KkNIP7vnHBRiSqkkSfr9fmiaqEf4QdEuIKLLy6ssy7JscyxyMNlhECs2dVA7515fX2tnrfUo7O/u7g7ZERH4deVQr0LoAtcjHsP7/T4Mo8loTEQwkKCr0O/3ERLKzMLUHw5YNzgSl38/SdebDTOj6sBaenl5iaII84ZE5Hg89vv94XC4Xq9RUmJJzOdzSL8AKeq6RgFWls1M+Lu7OxGBIBB1Ec4XnmiYg4bTh7YA9PTwAs5mM+99FyQPcgGxYMDKuATg4UbBYK09z0tA8EAURUVRiOS4n0AryMyDwSDPC5RMuDGCrURdirs0uAP80LQZjkQElh33CiKC09e2AWLSjixElw91I7AF1mdVNUPirq+vq7xAzwqRmhA1IJs/joOiKA4HPZlMRLiurNIcx2H7+O6SNvDEb1v3zcNeOlCFq0CdQvdOAPcMZfrTw7rlAUUEuhZgfqJGnn1i9ERR4xs8ka9nb95ievWj3/QsL13O1Ln8L/y6/Mjgdu/c/TkzE3l1FpNCRMSeGQmIvmGR+az/cFZmoHdRO2bS3O4dkZAYEvUHvCvyA7bmtjrq3raDTH/YC3/2mq4V0+0UtdXL6QD+C7nOP+7++UcQkTSROE0mr1CD1zuu/w870iE9NOW6F3RQtitou1dSC/ep42qbr67q8J6bAgM41hHrRojNTcGJMyHdIWnfQnWf8oNmxrnmlRDzeybxDO64PR2nUbVE1CQlo7xWijqU++M5g8QelTfc1iAVmjXNzJiD0wLo07rpGHqlTlWLNFaD06bD5uwIIaheEzMr5kZZ5bnbjOa4nF857TtQu9CbEdA4+v4UPN+87HwddDvbLMem6+OVxkYKOYer8nQ1ItWUTWM/YVHKkPeePLPSRrO02aVGKUWuqlxtr8cTb6s8r4/HvRKKgriqKhbFzGVZJnFvOBySqE9fvn768jmO40FP/eXffhoNBof9wtdZrxcrFZbWRUGEIZEvz89eOIqiyXj29PRiPTPzfD5fbzcIKXJCRVGIOKVMFEWKZblYm0Df3b2dTsdV6ZEr8vz8sl6vK+sRoxHFRochZdl+vz8e8uHwcHt7S0o/Pb5uNps4Ti8uboq8RHzEdrtlVex2u/l8DkzgfIhMGPB/WCHgIJEHh1x2AFMoXrLsOJ9P07Rf1y5NgzA0SMnQ2uBkQS2ABzDynsFJExGcdloHVTvuu24nt8FaBwBRVdXj4/N8Pv/11183mw1ccZh8NJpM0eYWkavLXhAE3759y/M8iCNrLSa0w7yVpul4PL6+vgRnye10JwxvGvR6eFICbeB5ielLdV2/vr7udjvEHjPzL7/8AtoPj0Ahh5k+iJFBcCS4Z2TR4IdI/0AgzHa7+/LlC9TtkMd8+PDh4uIC3rjBYDAcDcqiQnMcanXvvfc2TVNFDOmRiCAzUREdsiwIgq/fPtuyxHH78OGnLMuO+wN46yAwd3d32OsgCNAxG0+GVVXhiDUP7yjEqEWSRkcHSe7f//53ZOSlaT9NU/DfeMxjPcxmM3Cc1OrIPVNXBVlrHx4ekl4KvIvzotoJnYfD4d3bN3hgDwYDdGaYGak7ZVnCMApXQ6/XC4KAyCtlYJMFxgqCAEcDRwYL6eXlBabqKGriUEAZYvFvt1sMIbbWPj09LRYL6IXKsszyvKpra23Si69vb8I4ejubBkFQZDkUI2jjLJdLIYdLz/kaj5Ptdtvv93/99dfDYY90VKBwDIeCbiHL8jzPnROtNcLvgWtZNe58dIpAvZdliRNBRKhswaqKdaPpGIerc05XVTGfz6FvQdW0WCygvd7tduPxVEQwcACmTOTelNLkwKJshuQa99WO7YvjuDO3oGCIooitEZGLiwuoelixxyzhvIqiaDweD4dDCKWArbvIHdRg1rsoiubzOdodeNvX11eUFkhKhRoEWLksy8vLyziOF4tFF1TV7/dHvZ5zDkULHMZ1XX/48OF4PD4+PgLyAteiPoyiCHYIDE1DVBQ81qj3kiR5eXl5fX2FpAfqc6jMRQTeg8fHR2uXRIIuHyRSOFCo5eq6Hgx7cRyH2uS5D8Nwt99GUdTv99M09taBgE/TFB+EQtc5YWb8E79aLBbOeeScVlVVVdXNzbWIz7Jjv99TKlgsXpVSkB2iyH9+fkbjCwZc3MCB0eEQaGoS0s4JkRLPtvbO1VVpy6JOehonq9frRVGI+61h1c2vxS03iqIgMJPJOO2FoIGVUlo3ZlBUhkReRLUdeFHKMDcEtvfet+Rg94BuYYDI2TxO3aRWOORodJjMw9rYgEppBeLIR2/1t+SFCJ9kRBMRhqtD2CAiDHaPG19oA+ShINCqhYY/wNBO0XAGsf4DtcwZDMNv1fmbsBIlp2nuzC0fL+SpzdhQSnljtFLsFTtSYnTonK9rZ2svwlprrbkzpQBe0n8Amn/csJNYqf1J97p/qZQ6fNUF3HTQy7c/Of+r7sj4liY4YchGJdXGxZD6w2edB1ESkXO2fTcv4qAcEfFCDmdEyAt5L77JmPfi/Q+sMTOTKKUbOX67DhtWWnzTqQF2b49el5aD4/YDFS4/OhbO4Sigv28aHTiDur2JnhUAwk0gNOpvYwyzJzqlnp+tm8YR4v2PBdN5F6PZmbPykT3T6cpRqmH+lVJM+nyXOrkLRDLdoW/rBFKiftweRv8CXS2lFNZEB9C7gkRao4Nqs4Ho7IvbUpLbA9c0OJg1sSNYiz25rvGhmh6ckHgr2uB20Gyyorr2qq0CQ23iINRaa5avXz/f3lxhkk4SRnVpvXVKsTgbaGM073fHQ3a0rmKWuq5//vkvipOXp7zIjsO+Hw6DKOwP+4P1bllV1taIBQz7vcHX++9FkQVRenNzjcitsqidc+vtJsuywWCQpmEUxR9//3x1dXVzcxNGJssypfTT0zMwIi4GDH5nJWEYpmkKuMbMu8P2eDxWdZEXx+FwmCRBr5dMpsM8L621u10NyIUnU2eF9LWFbAagsyiKyWRSVdVgmIoQppM2vJGX1WqDAIrD4ehrW9cWti3nToYeEcG9Hnj3+fkZDPebN+/Ksvzt4/+fsD/tchxJkgVRVTPDzp30LcIjIiuzq/r23DP3vDf//z/Ml5kzfftWLpGx+Ebnjh1m+j4IAIIeWW94qrM93EkQMBjMREVFRX9DDh0EIdgFKGhBIFnrVquV1m3CXcje3dwkSRLFEzBk1lrfC+EYPZvNksl4vV4DFQVBANsQZgYPB0oVulhol8vOYB5ml6A58zyvihI8bhLFvu+LdZ7v13VNTg67/elwREECEQVBZJumrHJWYl2djCLraj+YoGNinpVfv36dzWb3nz56nhfHEXL6UMjM53PAx55tYkX+OADqRVi13W6dI611nmYAZEmSgKkNfb9xrizL6XR63O1Az4CaRRr95eWlsfV4PIZsmpnLqgKa/Pr1a1+duVwui7rYbreb1x3Yyl4sJyJRFF1d3aCgGQ8mKMzJZAJUBPISpZYSRkEcVVX18vKCp2m32x1Ox59++mm5XBZFgejLOTefzz99+uQZDaUNMKhSCgmNpqn++ON3rfVyuazrKgi8JIkwUePYx+1LkoSZwd0SEUogDocDEWFIp9OpMW3LSbzT9w0I1J9++qmua+i/F4sFbFIBc6fTKdAtMz88PP39738vigKYsncVzPLT1fWnIAiytFi/PqO+Ahb7m81mvX4BWEQgUdc10p51XTdN5XneeByLCCpowd2maYrx6R08ETY753zPw9Ew4HVdKyHAOKhBjDEQvEHe0zZGGI1UZwHMzIj20TiWiGB1T0RGEUz3YZ6DbmJAA6isdUzHQ4r5BpehPM/RgRX6HBDnq+ur0+m03+9HyQS8L3AkkDROaTqdihAyP0VVKqV6POqcWywWq9UKNdAIohAqIHwlrVarFaQ+3PUAHo/HxvMA4ouiwIP/t7/9DffIOYflKEkSlKZALAQxmzEGdlJlWc5mM88ziFh+//13ay0KjTBzcMJwRseJ2bYVhgf+HmUn2PVQ3Y5nRCkVJj7yYHmRgT5LkoSFMCUQ4eDxCYLA87q6lKqKghAaGM/zgyCAoAgl3X0/KdAoiAFc13rJdVJ13C/Uk+DrcGRQ5vhNn6uBZKiN2H0fGYA8z8MwCMNQCcEjq2kaY1RVFdiXq6paLCdKqapsbCNKked5SotzllmY2/7uWNmstUoJEQANuRb69DV80uM9/DxgXd0lUAa0ci0474QlrYimU6T0iMqRFefYXnSi7KFLf2TghB6H6Es7wiE27bHTBRb/K9nMX/61bbHUXgJ+JUysiIkdtXGCYiatwcmTc45tw6StJcVOcQ0nR+7sAYkIWdkWU13Ayh4ZKxGxndSkh8jDsX2Dv3sw2bf9GWDrN6Dur1/yNh0BKyGSs3nLhfKkx5A9m469rFdkDAf/4l4IIWDEagCkKiKsNClFrunfiYtwzjKzsGPmhkj38o3Li+qHyPYXgjChKx4AQCf0TYKQvkP2b8aQhJnJNLayzdnkH+cq0kZCAz2MRbTt+2Z4LOrE8v2onk+UHbNGFoZ61Up3NtoY7uKt/iCiuK8y7k6pKy5xfXhwEVdYZ/vjS2vvqJRSqKQG7netZp28rs/tmwknIqbVQlGfE3DOtitDa1vJzKzgD2qYiYfjcD6sMDF5nkcVHKx8o7VSxjCnaZokUZIkRZoZ7d3c3H379s0oTYqPx6N1tqoLa+3Hj/ewR/z9f/4xG43/9mEWBtr3IqPG2VE1ZRMEURzpurbj8TRL8ygIaSRXtx/CMGxdJsbxy/OrFffLL7+IkjTNn9fr0XQymk5OeUY5Ebnd6x5LqtZeHEWuK0900kCyst1unbPaMyiiurpa/fTTp7qu66YA5W88YSVQtIMuMsbUTQmgnOVFXddwNcGCjgaB49lkvV47J+gPSkTPz8/EzjlZLhdElB6OxpgsK7DBiFjcNTxy6NhyOp1++uknZJABoLHZgKAFgwvZDNBbURQinOf5w8M37I5xEoK2f3l5waeI6Pu3R2PM+/fvlVKnPAPND8rK75p7r1YL2EQ8PDxgO8dyAFKQOmoHeGU0GrEQuEARAZu72WwOh8P19UopdXNzIyK//fbb9fX1dDrZbrdREqI4ErQiSOiiKF7X27u7OxxKKXU4HLQ2Hz58mM/nf/zxBxFhnCHo931/Np8eD6fVapUkyffv3zebTRAE0+kcRDKq0w6HAzxhlFLZ6SQit7e3f/v48Xg8Pj+/IDRKohge9h/ffwQw8n3/+/fvL+u153mT6ahpGnQFAsNHRNBbg0UuiuLr168iMp8vddcdwnXtRd+/v9davby8EBHsZYAnnHO2qr0wACIBP3d7extEIXdFcpCDK9aj0ejl5SUKA/w+SRJk215fX0ej0fPzI2D6f/7nf3qeBx3w7e3t1XKZ5/n1akGi1us1hDGL6ez5dQ34i1sJ1/MwDNP0COEKJA1Qp8znc5isN02DUksYjNze3np+gGRIWZZAkFCUQRiwXq+TJGElaDX69PS02x5YCVz/IWpP09T3PegNyrJcrVZI/nQJq8R1NsYoNS7LMsuy9/cfUCUJjhMsKVTjgNGTyYSIoGtaLpaWHC4KBPZ0Ok3T4/PzM1hqzGrYkjAzWkchd4Svg/Pjzc3NZv3sum6muApsH4D+nz9/3h/2UZh8/PgRTXC19owxWZYav70pQRCMR9O8yoDO0Vliu93qzpETRSOY52VZBZ4/lG5WVYVVCAg+6NqQwZgIsrckiseLmXNuu90i1sXcLsvSDwLf91GSjjAJNZ2vr6/YLIDgkQFAXyTUoSLDhuJvTP6Xlxdmhm4Hi1gYhvv9tqqK/X7reZ5SZG292aTW1lVVa40aO87zHMWym836w4cPSCsVZbbb7Qyrssy3221Z5b7fomrXWLSMSEZRvsmrqoJIDKJ/rIenwxGNlpXSfQ0r0CSYCGlZg9YBzImEUUTMSmsnkmaZNsaJJG1NeYFttIdEWisEDK5raYmpcjgcAt/HSoj45HA4lFmOGMb3/dEo3mzWQgiGpa1NOmbGmK68EP6DZz91ZoZalYi4o1qhce+nAXfqHb4QOVywjcAVLTAi2zGN0mFTGFgzkSjVQ5R2ux9Ouf7I9sLG0XVQ4SzJ4Fbe057hXxGjPZC9OPLwnxd/5TYgoU7Ti/+yEEAksx5qgImoLdN0NYluGifOae11a3KjuDXGQTpFRPpY7i/PoT9bdVl9++ac+19id3D2LD3CB722C1L7Zr4MZtS/UMz3w+WoDQb6Ae/nYfcW1ddg9LNdKdVjQkxR6vpvqpaSt9bCTFMpJdZarQwREUOW4vrr6oqL0YeoheE8iFiIiFn1d/9fzUwiIBx2g+a+1BH85zHvTFmMYmOCtv4aaWsAEXir285AlFngWg4KahB2EJEo1cZnhCehjWPgf36epszcBcqi0NNLewgNlFLMYgUGo4LLUUp10bbtIb5itn3LJKOpdl3laC+GgbFo2zIAm1Yfr/czRjo1P+5um2rSzOLaRIFmclbqhkgG3YA7DyDVFtQysbNEVuDw6WmxrJRmIqqK+vi6TXeHwDMN+XlWFkW1msfHcufFpmkqZAVERCljtOdqUdpUjXtcv357eF6O9P/3p0+3i4nSdVY0vp+ectHssWNjTDgeNbXN87y2jSM5HfZVkRd1NYqj/f54db0Ux/vtLoj8OPDV2Gmtq6LNd5dlOZveNE0Gj5TZZJKXZVnWo9EkigIgs7qugyj0vQBaizCM6rp5fd0AlmFfj6JoNI6DwHeu2W3WADpRFNownCRJHyb9/PPP2Ceaptnuj1VpgY36lh+TyWQUh7gj4XK52+1eX1+ZuWmi4/GIvR+ak/F4rJQJgiiKAmPM8ZgCXo+TBIn7ze7g+6FzFIYxvJOttVqfkiQ6HlOtvdFoYsXlRfPwuM7zPAxiY8zV1RXsom/fv6vr+tu3b0SEgAS1j7vdZrGYxXHMInVdz6dTcI3r9Xq5XDpydW3BLB4Oh6aqg8DTTCRtqwul1G6322zWs9lsPE60ZmEVJTEpfnl+ScajrMj9MLi5uxWRsiy32y2CARgaHg6H6XS6WM7CMMyy08vLJs9TOGAoofv7+6qqUG4rIpPxrGrqw+EwGU/DMHx5eTmdTiRSFsWJj2Hko40rQqzjnmHqEng6DENb1VljX17Wx+PBaP3h/j0Ked+9e0cE5ZX8+uuvm83GSvPzzz/jszDKRNaiKZsiLbTWcRiSpcP2II2EYSiN3W53SPo/v6yttbe3t9nx+PD81HeowWSAnxfCv/l8zsxlWT49PQGWhXEEnRLaVzmxySjOi2x/PMRxHMZRVVWH0zHP09FodEwPynjWilJqNlvUdd00rq4tWXrd733f//r9sU3HeUb7nva90PO/f/mK+GSxWHz/8hX1o+9v30OxY7SZjWfWWk16/bR2TJPJ7HA4OEd5XlbNKRkl683rfr8HnmZmmBg+PT0EQUAixK6x1f5QoUwC5deLpULqJsuyh4cHgFe4jkIroromLBBzK+WVZWtIAjEDQrIsTe/v7w/7PYlEYdjvCYvJlIhYG1vVTVOzc2EYHg77eDxSSgGeTiYT5xr4jWitcT7QWI8mY621EB3TE+Kim5ub4/Fkrfvll59c3TS1873w3d09zBY3m81utxeRII6/ffkTd+fv//YP3besd7aqGq1ZRIAaO8vLZPpuVhSFb7yjc8hWFUVRlFngR3BiTdN0sZgT0Xa7i4LQDwJlNHiB/emIElXDbXlZmqb//Oc/V6sVpHHb7fa426OCHFRx2w75cIDMLI7jJI4Ph8Pz09N8Pn//7h1kUVVZaq2rsrRNk2dZ09RVVRZFXtfVfD7zPLPZvGLoUBiAhNsff/y2XC6da8qyRG4NcQWWJoQ9SpEx6nA4TadTz9Oep0Far9frsiyJXdM0Dw8PnqfjOC6rQikTeKFR3qHItfbm86nvhcAayLfY2uVFPplMfONFEQawRB4AUXFd10T8+rrB4Dddz6ayLElcU1e+Z9I0NVoZ7e/3B+5UK9g368pqbZh0XdXst80mjTGr1Qp10uPxuLYVMBaKdkzX7NkPTBB6nucR8c3N3Snd13UZxUFZpqvVigQeMq52deiHzgqRshZpcEPMJKxJkVWsNcPGW+BcB76cABh6hNcDNds6inS9P+kse+ixkXOOettyImst9AWkFXPHr/eGgMxNWwvLzjl1rkS8AKC9/gRwqAedTvrWMSStFzsRCZ+tL1rhLkxdek+SMwbtOG/nnHRmMsKE8liR1p/DOQcSXZhFKKAAZ6uV7SGciMF72gRpp/Mx2pemHrwNcmSnFIttC3whZ8aQC7XFqefxh0zbSTsBqCECiFJEitlYNC51SHEgLUJKKa00jP3OmLVTBznnSDSzI9LkuBtxZ52VXrzUWZWAcu3vcp8AUecKByIiVhptB5wwZrsT5/umcSK20Z2hOQokxTH6i4qINnCHceyYFQkzO6us1az6MmWkgBAPUDtEgmSD7Yjpqm34hbBhoK6hFpx3t7719Tc9Cu9hfhcT6Iu7NYhyhuFC/6lzJMrnXxKRGkRU/XFEEAZwN6HPzpckLI4snWcVdSKnYQjSz2B1bn/lBvD6bWQG7A4IpbXuFV3Dq2vTbSgRZgeJWq/UHFSyEzOTU9I1wSVipdumA7BrxRKZp8fVavH714f1dldwiEzlzWqJ3o3ItzKzc4TGY8wM1468zPLazZOZlbYp9OHlJfBHnp4oXUOrwKyzIt/tdmXdwPbBOTdbLowxk8louz9UVVXkVZpT2zx8NKqqBtwVwJDneX//+9/BP2VFobUGGiaiX375RUT8MDidTn/88QczHw87IoLTi1Lq/fv3kCug+Sjy4+DhNpsNugnCo+D6+hoCbiSXwflNJpO+9bpSar1ez6dj5LJhMEdEkCYTEToygu37/PlzEETT6XSxmL2+vn758g3Q/ObmxvO8r1+/jiYzsH2gw2EcvlqtmHm73aMoc3fYf/r06b//b/+7tfZ0Ov3Xf/0XJA339/ffnx7hd46biOXm4eFhMpksFgvP88qsPB52nq+hlmZmtD8ExEfhY5IkNzdXaZo+Pz/neZkkSZIkeA/i+yiKyroB3w+QBAcbUFll18ASuiMIrLXWz8/PzDyZjGxd1nXtecGvv/4a+QHk+IALo9HIM8HusHdSF0UxHo8/fvxIRKfj8fv37/v9/nCUqqrG4/GHDx/Qb8W2DTtHeBBwOf/+7/8ehWFZlr/++is4GCh68RwlSfLu/u76+pqZYZQOnlU6Gg8OQmVRgiUF9v306RP04uPxuKqq79+/Hw4HE/jIioChhNekcw7FkSCq8WjA2dplbR8Q0Nhtnn2xoM5Zb7/fx3E4m83gprJYrHzj4bAoPICyIsuy+XwOhxCEspDBoEE9Zuzj4yMzg0+F2kREQJxj8ZlOp7Wz1loM2nK5LKry4eFht9uFQTSfLcbj8cPDQ5a+wrumaZoiz4FysPhAlYF6aBQiQ4iFglo8btbaMAyg4sB6tV6v4cqCHQWLNjjL5XKFzAOma1VVAKYQrPu+P5tN86oIkxhFAr0MJgiCui6PxyMzo88ubhxYN2PM169fnXPX19dxHI5GE1RJLpfLqqrKLA/DcDabIUTBA4uv+/r1K+bAzfUdmrlC2oF5MpnMHAn8lLBM2UYgGoGoBs9gnufL5TKORn0Nt7X28fGxaawi9sOgrmvc7tF0UhTF4XBgJ0QEzyUigqotCAKoX75+/Uq6NUWFzE9EfvnlF6XU4+MjzpyIbGcnilwNtE9a6zRNg+Cs0i6KYr/fY92YzWbH4xF9WwEUoPyBKf67d++OxyPKIeB5hdQKd7JA/Belw6i9vr6+/v79u/G8xWJGREHo+76P+Od4PM5mM/AjKG+Fk2aRlXme49mp69bYEasxNnf8abh7gv7AV2MRw2aEYKAHwU3TGN1Df0KOBREIikAQXcMDqunUPq7rfigiQdC2OhaRIPDwRVirgyAIg1FRZMqYwA/quva9QAadI7v9l3v+W0SEznYaemjcPtjceyzRi216XrxXY3bvt73zCbduWwo+NT2MwRmojhIWEe68I/svHZ7GECadsVbHwsqZ6acfP/IGOP2AWPofuP+rXMo/OuM7xje2LoT6rBXBQXqFzPA4ImLF4ZpFOit3RBqq7Y/axguqbeZDZzAp7ZsVC7GiltgmUTQQpneykS4K6E1KAPMckBgzsygmIm5g59IoZYhcT6S2inM534L+Ky7vb//L/p+E6YRZZLTpJ1avhqLedqW5mC0iUtcNC6Q7SqEzke4Hv6/NPZ/PedpS2w/2xzkwvARnzy6Iw78akV5uj7+xcwJc/+O8GX6Yz64sb2fq8J1vPtW/jAFu5q6W9hykAllqczH6WFaGF4/9W50rKtokVP8GNahToC4VAhSiBnHh4AyFWw9O7roZN9ya50s/w6DaZ+11F87twyDncxARcU2SRFVR39xePW13wHO+Ub7vZ6c0PZ3Ac+DSrK2JqK5rIQsJYBj5i9XM86koU61cFETj0cRXk6zaeMakafry8poWubMyHo99P/T80BjfWvv94eF4PIZxwszW1adjOplMbm9v4zh+eHja7/dBELx//74swPTzdrs/nU7KmKIosC1BxCIiRVUaYz5+/DiZTBQLFlxUbhER2gY9PDyA6sawj8fjLEs3mw2q4rIse3x8hLwS2Zte8l7X9fPz87t376BU+fPPP6+vrxeLxXa79TxvNpsBwIF8xQ2qqgpuoVdXV6dTttnsoN/FJpee8vFo6kRQUAizZGSrIVlmZoChxWIxGc8AHU6n03K5/PTpk4g8PDzkZUFEQLHAl8/Pz7AWOZ2yzWbdlE0QBHXNy9Uc2AUzFns89DmL2ZyodUxH15gsy+K4RfZE5HmeMX7TNGIdC91e3xCR7/lG6f1+D21JkiTL5XL9/JIeT8652qL6Nri+XjnnjscUbndKxI8CQBDIoBGALZa3TW0xaIgNPM9LXe4ZjXbxKFWEdAc4iYhgcLFarZgJrWdg6gemk4jW6/WnT5/CMHx8fvjzzz8Ph8NoNILBYp7nz8/Px+MRClqt9XI56coYXBAEEOcURdHDmtFoZEk2mw0cReC+hxJkaKyhM0GaNQzD4/FofE8pBWUOpNKwBEEMBqkMkXt8fNRa//zzz6fTyZgAolWlqGlq55icWyyWxnhNYx8eHjGZIdtdLaas5l+/foXjfl3XcRRttmugKIRnSqu6rjfb02QyOZwyTLD5fC4ikDvHcfzz3/7u+/7//J//c7fbXF9fQzO23+/jKCIiACkiQtqqrmsUY6jO7wX5Bzh4eJ4XBCHqk9AgdrVaQQjx8vKCEkZUfiNHBCd4jDw0M8hOiMh4PFJKQUMPOyYgM3y8rksw35jJRIQaVqUU4DVcEf3pdL/fo3Kxqqq6rrIsxazO83yz2SilkmTk+8HhcGhsM51OnaX1eq2UgtHKdDq11iLZWNaV63osMHMQ+Frroii+f/+ujIYrvO/7o3FMokBaI9dkjFFKOxKYRY7HY/iLY5mK/KDPUeDrUN6D+Y0AAQAASURBVHsahuHd3d3z8/NsudBaf/nyRSkFx0+o7evOqhxzb7/fowAATuSY2PP5vK4r5xwWTGj0oeID6IcQ3/M8EYtsBuJDbBloVoCadWY2xoB6R5EA3FRFpCiK//bf/ltZ5b7vL2fzp6eHyWRiPJPn+eN2N51OsXE3TYNGBwgIjdLIViGmTZJRnzmvO3cm2Fv1ogIAcWst6pogOsLlF0XZNE1fFaDYAOziUNiF8zzHmaPCGEGF7wKmszgHm5oI+V6ouDHaF7JJkvi+MZrKsowiz1q7mC+15rQ4eH7oe0HTOM/3LuAMemmSiO3MMPqeqReJ/QtUM0RLuF50rOwBzBATMztx532ciNCzRVqD9otqSHXWu59t4/uR6c+6h6Rn2PcjJBrAmB/RlwxJw/ZUz0Yo3Dl/99+uLu3kHbXQuAVFl/2DRERrrz/4MBHxJk4YYv03p/fmh/4j/SipXi/ODCcfcKMYYE385ka0Pwjb1jEEp1rj49ai5W0Lk3uufRA28JuRHuLQ/jSZubcYcs7BVbxD9uycJWEYQDonzopzTT+dnHPEThG3wF1AvyrFCuad3fD2U/EsgGHmS1fzFuKLSC/jIaIuIurngFKKidXZq5KHVbTdRFGD/mH/CoL319y+Y3CQN/fyAvcrRDauj9KEiFh1vb6cc7pRTf9B29lE6k4Bh1dV1/1pQyHDXbt7GVS0YCGjgbhqePLdIwrGnVvVjRIiI7YilN1eDoJuzx/D3T3hQkopUsrzdHos4yR6fngMfW88TsrUFVmmk2j7uoEm2/OctdaR1HXT0/8sxCKK2fOU8VxZnWzWrGaLm6trZ9Xz92cTO6WKuqpExLDykhDQygln2enXX38nrWbTeRiGxg/Ksnz//v319XWvQ4DV4Ol0Oh5Pxpjj8ZRlGTNBSJrnOVTUYInKukId27dv35IoxmKNy396fJnP51XZzBfT5+fn9Xq9mM6ICC7XAARIVjjniqKEX8p4PE7zErsFROo4mSAIJqNYRECJgdmF99zr6yvqI3e7nQjf3NyUZfnnn3/ibi4WC9iof/v6ALpr/fpaFMWHDx9EBGyW6xTVu92OiOI4nk7m1rY2z74fxHHSNPbLly8iIopHo9HplFZVlWX5ZDJerVae53379i0Mw/l86eoGYwVhdBAE8N9wzr28vPTUUVFknufN5/OyrI/H42QyAm0Mvx0ED1GU+L7RWgeBdzgcPE9/+/bldMoAwYuiQFscNIE6nU6nLMWDAv6vOWbT0RhCI+Spq651DjPv9/swiFCLNplMrlar0Wik2AShByEyiMmmrAA04V4CDhXWOnVV9fDu6enp9fX16uoKda7fv3/f7F593x+Px4A1fZ+af//3fz8ej5AUV+UDjAVh6OH7/mq1Qq0eyohfX1/9KJxMJhg0Y4y1FmJ36BbwNuQlkLqJkhi3ElpkWKSj0BCUuedptJ798OEDfmmbtqDzcDhA0+xpnRU1Iq6iKBCmpmkahqFryqqq7u/v4cMIZwxmXq1WwDT7/R6RDGjpsrYQMsEJB2GM7/vrl+33799RMnFzc7PZbNLslCTJ8/Pz+/fv379/D/QJ+I4vAnpGiIXsAUogmDlN091uVxTFdDpdLpfj8bgXKwPAAeUTEbPK8xyJLCxu8/mciIoih1QdMgw0K12tFs4R+nMpRc41qHlA9UhVVXme41HKywKpj9fX13EyEpEoCphlsZiB/45GSe0sEflRWJZVUVdaazY68oI8K4HbUCHKzL6P1piy2WyKqmyrGy0VeS6StTY1Zfnf/rf/QIwRBEGWn56fn5F0QuOnOI7H4wm2HkBnY4xtbF2UWOgQ52C9Qr3y09MTFhlMSIwtnh3wCKinV0pBqgQtHwJIWP3ArnQymRDJm8FHMHZ3d8fM2+32cDgcj8eyzLMsW61WeBvSd+ggAUfF2WyGG4QCCSJCqqFpGqStfv/jV/wTa/hiOUdzhjRNr6+vtdbMMp1OQUn4xkPVL/rvIrED7RkCEqUUsk/9/giFFUbJ87yiKo/pyfM87RlxxKom5qquy6ppmoa1qm1DDTcWLv4m0pqIrq6uoKHFyo+NFQmxWlr3J2ttGAREhPWtb04ZhoHna9f1cjG+F3EkTrRRnqe5N88mR8Jt63fpMTdLpyHpX6qzV6eOg++zUr1wgs71e3C6O9N/gCE9AdkBA1KkmNmStEKV7u+Qwg+8As94Sf0g0f5/fb2BxV0swUMw9+bVHlmgVem/SOA5SdSZyf9Ltv78px5WDkKdH7/rwtNvGKLQoCr0LVxE4qKT9AxJVYA0YuGOXR7WDFiSoReNa61TsFcbpaS3GH9zFURniNx/3RBzy1l31Ja6KqVq20hb9NvGeM4KwlpWpNp6iEGF6w/D6FCrOWwKdu6KNThJbi3R239e2Iyef4+cKncBVT+7DBjNfiiHt/PH0eeLwLSPOM8Cf5zcxafk4v39Yfufu1PB+LdPXTfQ58+2nWIGQh0ZVHYPXp0F0mVrXOpCzLYEYQDf+/8OzrNty8DESpnulxcBSf9UMDPuOr5LsRImpYjJ5elJkT3tT01Ve16IE0MR2Hw+r4q6qipHYp3VOlFKaaXEsbV10zRNXj8+fP3bdXhzfe3rYL1eG/KvVnMV0HrzWlXNdDql0agoyux0SvP8lOW+F/4f/8f/p65tZZvffv29rKsPHz4tV9fMTFRYK3m+c64Rsc/PT9Yyk/Z9b7m8L4rydbcl25YoAYWMRqPNbluWJahEozSS1D1Zu16v4d37/v37IAiOuz0aiGitrq6ukDAloiAIsiw/Ho8iMhqNYMvQ+8OAlr6+vj7sNgBV/dKP/QZRxPF4jKJEd01MtdbL5RIc2NPT0+Z15/s+zhN8EvAxzgd7MLbh/X6f5/nT0xMRdfrjyXa7/fbtm+/7Nzc3d/fvwXljEIqiBPcMv/M8z6u8QDcluC6iRyMzR1GklIJRYJ7n1jaz2Uy1rQexQxAMIk7pAR0KUdQFB/TVagVXjY8fP4CB44Fb2W63bxpXZHkUte7mi8ViNptVZRvegHRM0wzz3A+CPC+OhxMsUx4eHgrYUx6zqvYAMoCJQ88HgoEyx3QOgHiyrLV3d3fX19f/9V//FccxhBBQRvWVpjBygfU1gi74xGut68rCFeTr16+AO+g0hJR9/8RGUZTn+efPnxEIIc8O+ZCIgFPHnR2Pxy+va5w/0v1obgXUMptN4jg+HA646S8vL7PZrKoqzQpDCl6Qmff7vR8mILN/+eUX1B8TUdM0uatB3PZzCV8Eanyz2UDKAh96Y0xZW9CrRDSZTIIotNZ++fLFWf7v//0/RKQsy69fv1prhVyWZR8/fuxLLaXz1YH9H8YWijLcfQg20JhWKTWfLyaTMeoBoHDb7/cIe/AbIkKQ3CN7lJBmWTYej6Cm2O/3h8MBumosjcagpTwDeqZpilpbIlosFqgF77NAk8nsdDiKcJrmIhZRehB64/G4ayzg0rS1etRah0EUx/Hnz5/TNI2iKAiiMAz+/PNP8Naj0cidpKqqLC1EcrQogplJW6NsLf55fD5CZmO6Ft1wZ4dbC6YExkFrvVgsMJ/RQHQymYgIfFqqqkIWAmIhJAaTJIG/LWRXpuuZhVUCmwWAOwr64zj2PIOHDmIb0Ae9Lw2kU5vNxhiFZ2q1WqFzFtJKm83m/fv39/f3V1dXkEjBmwvqFHwdM6MYFGEDOHvPN1dXV65ph3e3243HSdM0LOQaa63F0qqUqotSU9tfFgfpJYjclZZaa0+nIwqWgASAdMuyRDUewhgsyMiadnQsKWWY+XhMIY+Bny+zruvK9wOs3mVZ2qZNSAZB4Ht+LxIjgn61mYxH9+/vT+kmy3PjpUopxUbIOkdGe865VissJOSYtXTuFQAApFUHSxhq+CGCp07hw21Hlw4edaiuQxOO6AIPkLi21Qz3yXlhpr7/zBCeXuJFoo4NBCj6S+DOf0Wr04BZf/O2H1HTX3yqtZ9nHuBpR/0HFQDVXwHyM+Qdvt78tf15ADHVQDXdvkeUSMultxwuETOJujBKZ6YeNWGsiJzrZOHMrSWidCWbVlwbfVnCCiAiWnfNdgbY9c296EORfjL89fVfNChtX9bapgZgFOcapSCIHsiqmYVEM9ja9k8YZMcCMYYQEZMQmgU4hSYB3DqNDk/7R6RNA7zajx5epofCb4D7IBx5K74ZTsQeuPfD0f+3ewDepk5+DAbaCISZiGpn2y674jRp6kh06oIbuTT/NzC+7xIlfcCHv+qub1YXXlOP2vtL++EZYGbpSklcO03bv53LDdRF8Iq+Vv1E4bqujdGTySjQ72r31Pz5tahlMpnYuqm1gjikaxhZW2sbONiI1VqTksB4DVe+x56mskgbKW1Vi7JNEwvR6XAU1EqLVFVJxGLt3z79RIph4ZcXZeejbPfbHQBKXVaB7y/mc2PM1WqltJfnLROGTMXpdIjCBOlvIkrTFKstxNzG122HHaXgmgyfPmh7/vGPf7i6yfMcpasgctDas2ka9EsCjedIoSM9XPMA3621eV42jTNGOWezLM+y1r5Aa8Z+DzkHYDe2begyPRMwZ2CFwW6iiyd3hQ2Q2ILoUkoFQVSUJRhTEKhN0/zyyy+o8AN+Oh6PVVVdXV1BggKmEBTaKIoxnvByhggEVzGfz19eXqIoaqpaa4a7cxiG2+0W5hi3t7eer6N46pwTstrw8/MzfEKeX5okSRbLGdAPnBnqukZ0dDqdsqxYLGbT6TTw/F2+L8tSKXM4nCaTSXo6wtrl5uZaa5Pn+SlNtdZNbR8fH6FKmk2nIlKVTd3o3tJxv98/ZzkiMdB74/EYMvTD4eB73ocPH5BP+Mc//oHwBkLkv//971VTwswbcLMoiufn59fX1yiK4JSilCryEy4QdiXGmPF4jD89Pj726fv/+//+vyFKQSUDVAro6153JvphGKLRVZpnvfUKvHeAdYxRSBrgI2VZGk/VTdnYOhlPwjDUhldXC7CecfChtq36Lgh8rdXd3a3v+5vN5rjfAvTDShVhJMjOoig2mw0RAVNCZFyWJTAiBCenLEWO4tOnd2maQ5n27v0dmulMxlOl+M8/P+MgROScKwo4srfKb2z2URR9/PjROfflyxdcFBFNp9MkGVnbAGXCQBOBCuoEDoeDczaOo6LIwzAkYqU4TfPZbLparYApD4fD6XSAtgeVxyLy8vICTfzxeGxsNZ1NkcmZzWbr9fo///M/SfF4PL6+vq5Ku16/Oud++eVnz/PSNI+iJPRC1Ta4zcCp48GvqsozAQDu3//+98lkhtQBMyN1A3leGMTTSYC0A2pg4jje7Xa73a4syyRJcJnj8djzvKZpnp+fsYDnedGIwwenozHCYCSUiAiyJWhg4AODNMJisUAZABEtFourq6s///wTCzKAOKIdnD+0Q2EYJkmC/mioxDh2XV2J6OrqajVfZFn2/Py83W4xEzBpoyj48OFDL+KHigahgohANP/rr7/2iBmJu8lkAkP6PM/xIADEYy2az+fp8YTqF0jUiKgqSjwUIDWUnDdxpGIQE/b8GkJueIJhkltrtdZlXRGR0R4WIiQfqqryvKBvs6CUQS1+VVVCrDsvL8RFvaQ+sxkQc1M7pSkIApaWQUQsEQRRFHmo5xlN79JT2QMD3/etsCitSLVli8xEzlmCCKCF32eIozooee77M3x17GQvBenNPXoGwb2Bc9JSr06YmIb7+xm69GCjxz899ujw6Bn59B/nVh3+Vj8z/N7htxDEuwNxC3cigF6g23247TbaXhIxLrkvjR1+y8U/W9XD5f9EVDfO5/ez9EDLDdp3tojxcuTVpVy5f/MAwZ/LEphZmLqp27V6dWTFWmvhSGMvHGOGQBQ36K9HUgZFmDgxVrhENZwe/cBSW7/hrG2du5TSImSdVaK0YaUMLlRrrYi15gFwFzVoktof8Hx/LtUobSOCi76q55/7yTy8y1pr8+MseXOD3/zyh3E/y/zbv14o7onpX8YAP76wbvYgm9ra1rNSjQZPCH7WhomINXHnV+OcM12Hvz4msW0rB+pFKf1B/urBG5DrgyrvLszS1HHy/QQlsvCV97RxJI2tRJrJOHk5plmWHbY7G7WpW/SKc87BnyEtMhZqmoa6ALTFE9qsFovAV3mestV5VXqeF0WJ1BpNXrwgrCsbRRFr7ZxTWmdZ9rrdjJLJMc3Gk5FWxjee1ypHA6WUUEJEQKinNA/DUETVdZXEYxMEvQkDKCIRgbq0ruuyLE9V3TQN9M3g8xaLRV3Xr5sX7Cuh50PhEEWt5ww2BjzeKAcsioK1hyo9LO7odIijgX2HqhWgHGwiwBk4e2OM0b7nebBciMJktVqhQPbp6cnzvDwvPc/DPXp5edVax3Gy2eystdfX10SqaZoJETwWl8tlFLXNTZn56enpaf3SP2/W2uVyibgC4CNJkvl0hiaayM6PRiMhezqd4KCHKtjj/qA1g+mH5IOZb25uhCwqUOu6/v79exzHUC4xM3zi5/M52ktVVTUajV5fX6GagM4E6e/dflOUEJja6XR6Op1OeYbnBVgzDCNiZkVFvsbk7/0NR8lkdbWoqgrVjcDrPQGPQkbcGt01MPr8+TMk1ACXP/30E0wquRRbN01V13WtWTHzdrs9nU56qb5//WbbAmhUJV4rpZwIokSI4D99+oS+nn4UQuETx/G7d++m02lVVS8vL7vdDvYUt7e3WK/xntFkDNSFqAw2oGVZGqOSJIEzY5Ikf/v5k4igFSWmMcoTQclnWbbZHbTWSZLs9xWAb1UVp9MBTelRZYEPgiJFs0nnHH6PMAMLC+JVMPGOBKFLVZ/SbHtzexUGcZZl7969++f/+rUsqtc1oQADD4WIYIZ8+PCRmdM0lUFm/3g81pVtakdEo9EIBbsPDy9I4xBRb8WNcSAieAieTidgRxCfEFPhmYIsG0RyXxstnd+I8RSrAJpvpdTT09P/8//8P9baq5tr6D0Oh1NVNqNxXJbV6ZQqpcIwCIyXZXmeF0SEaBY1J865pt4vl8tffvnFOQeDTsh4EPJlWZalhdG+tRYqHSJC9FhVlS4Nxny/30dxQERFUbi20tFtNpvJZGpSHxjX1Q2guYh8+fzneDrBug3EvF6vF4vFhw8fcATP8/anI9aWL1++QFEmItDQo710kiSIWwDQsaChAOO3336LfB95HizXaKOLkDKKIoh5YCCDCOF0OqHzF8SERATJHwrWERUg24CCYOzL6/V6NI7DMCShxWKxWCzCKACSjuMYqSEohTS3nViMMUkYQfODO47TRqSHk2FmNIryPG+zeSWiq6sr7BFcq7pqnG5Vpp7nNY1zjiD1gQVNv5lK10AXpLvneaAqiKiua8eqVd139LPhVjPTI9okSaIotNZGfsAjD5M5DH0rXFVVGPrcyqAdiWZibjsNdai6RUXnPdo50V15IF12UpdOPew6jTsRAb4AtIhzRAo8sQzIOGbuVOIX8LfHDP3lDIEprnoIud5grSHsOf+s3qI0uuSPfzgIilwH7eEdCaE3VP+l6FVEzJovG3meMRX3Jh8X39Wrqy8/JCQKZHoLPIlaRK8uUP4AZOOmXLjEiIgwsVLkpC/ltCSsFTWOqJWXixNxbcdPax2RVW1Pnh+Jfz5z5ww2t8vMXOYTVC9ioc4xBjNkcO3OtubkSOYQOUUMch0SNSKCxr0PGNop2WY5en/9Hjy/xdKu+6gMUtByqVLhTjt0SVh3lZquK+Z4M1GGn29nihpi2faGnc/mckL0wJ0HkWV/25gZiZH+93/VuhWI/4LI70Mu+LwqpbRmcapXR71J4gze/7aalgeO+t38BjpnZscXE1r1wdBfRTKOWZxzlhrP95pSOZK8SL9+/dPzvLyu8zyP47D/eFEUjbNFUXjanAeW2x+mo3g5nxulqrowOm6aRhtWSvwwOhwOr6+vVWPHo+lyuaytLYqirFNrLUQIkR9Mp9M4SowxSgdN02DrOqWHJElg72idY448T08mk8CPRPFqtdpsNqAW2kWHCROjruskipVSDw8P8G/BhoTOL03TPD09JeFZ/wB2Z71eQ8ibJCNwXaPRKB5NcD5QnxtjoGcwYYh0LcAQ2ijCgaQnofHAoH/nKT0YY+rKAqZAKP/w8OCFUd8iEVsaMrz39x+RCheRsqqQU4Zr0OfPn/tvyfMc/twIIRBtbrdbzzNENB6Pn56eg8AH8EKp5XQ6HSWTvqbw8fFxtVg2TXU6nRDkgIM8HA53726CIPj999+n0ymiF0DP33//3Tl3d3fXNE1jq4c/v2mtlb5lJVVRaKPf39+RGHjnFUVRlQ1rVRTZYr4KgqCyDeTIEKlrbYqiqOpWIPT09OT7/u3NTRiGJCovUgQSkBLZqnbOwdsb9hoYeWvtZDxer9fX19e4U/CQybIMVqFKEZQGMrA0AS4hItDhzhEEKkmSlFWF7j94ZI7H45cvX7TWobi+BRK6z4iI7Xq+WGuhaALVR13HdWAsIgIRa4zRmgH4ZrOZ52uUJSilFovF77//rpTKsqwvUFZCcZxA0gCxxx9//IHA0tMauaDJZAKf++l0Cta26driIp+D20rEEL+JSF3Xy6u2hefr6/rm5iaKotfXzcP3pzwv66oxxoSBD7UYpM+ouF0sFk1ji6K4vb3FrTwcDv/5n/9pjMmzUmt9d/seQw0hjXNut9sSEWxSUS+OE4BdFSAdTgxBVxCFpyzd7XZWGmbDWm33OxSxQPSVJMnhuIP1vutErkiMIE9CRHmePz4+N01zOmZV+eik+cc//qG1LrP86flJa90DX2ztzIxgbLfbff78RSnVtxlCD9rdbhdGCcoYYC0KfQs8T/D84iEKIx8m33DPRPRbFEVQRSjPtX4wn8/v7u7EuoeHh97UvCzL9XqNqAZmQWVZ3tzcTCYTJNZw7wCgEQ8wM3huEYETP8Q2UIKhwlUzl2Xp+/7Hjx8RRu73ewTSLUPRlm0oZGCwfL2+vq5WK6wzzjkAdMxkLJu4F4gicFilVJIktqpnswlkOb/99ht1zutPT091XU4mkySJEdliDOu6hpa9arvhVpPJBG0HXl9fEbn1ex9yjJ7nTadToraTMQSNePSwsh0Oh48fP1ZVY22FQh3qyqyZGSEuapZ83/cCVO8EPa6q6zoejYkEOUAo4LHU40k3JmRSRnuVbZRQkozr2mqlOwDa9Nv0EABIp/9WrS/FuSYVDCAwtG1Ne5oOD7ThsT6rRy5o11ZmQq3jM7ZCIWvYB6ohAcJyrBSTkDoTlP1B3vxw8ZJWRnIJpXphwfmDb5D04P3Avec3X7yzf0Nnb9JB/AsBzPn1FwCdCNC5+0x3PmgQxEKdAqS/RmaL7+I2qyAEYptUO6rSgzEaZh4GSpUW4ykmgaMMMWlmS8RyCbra0IvfINI3VbwXIynSKdfP8E9YzmRu07rZnB1QYKAiIkpprVhrxW2gKESkteqLLDpZuHSqkO7mnCfAUNJCbiAFdxfA/Xwre56ifxtepgfQQ6SLD3dfofoYtz/W5TSClMcOIhY6Q2S21sFDx8cXIVSAqB0fd84xa6VwWrVzwqx66xce3Of2e11b9c2MtsTUVLZhB35XtZWy59mMr+0O0/Thy3Ca4tlmVqyUE2ms1VoLKcW6FS21iB+Rhur7hpFWRGSR2hFSqraWm8yaRodhst/viciSGLLWlk5HlUiiDFs67LdZdrKsmIU1KeWJU03TGF8vV5OyOWpVNk3uaWtrZ7huGj6mRfm8CaKwKes4iZeLGdqCGN8DwNpsdovljEgdj8eTPYVhWBQHKAeqpr6+vt7uDr/9/nk2m8EJpGka50hpIqXX67XWCou4iCRJEoVJlmVFUaFmGmQeUBcz73a7KIqKvGr9DZRS2jVN88/ff0eB4/2nT+Dg68qOp4GIoBoVNxF0ZpqmUJAf0xQuLk1VYRUOomgWRZv1mjqlRBzHURQ1Tbrdbll7s9lMmL49PuR5niTJ9QrsuCCj3TpgdAWU6/X66uoKKtXxeJznRdPYx8dHZJ89zwPrZhvRyhslkzQ7AiGJyMPDg3MOBYVoXAobEMwuXEie51VZPTw8atUauZRl7RwISCJSo9FEsflf//UrK7m6uirLYrfbohvXaX+4u7u7WV0hd4H8NbbewG/9LmDn/Lre4AlyxJ7nsRKl1PVyVZblertJkuTTp0+vr68P378LEZLmq9VqNpsBPFV16Smt/aAuyvlk2lQ1Hsb1eh3HEdQam80mCPzp9J02vFgsWNTz8zNIStRHWmuhaCeisiyLojLG19rD/7Ks8H1/ubzyfV+IFsslzGRQJHA6nfI8hy2giLx//75saoAzML5aa0hxPn/+PQxDY3yojVHt2jSNNp7neURtag4sZhzH2+3rdrtdLpeKZbfZaq2TKGZmWxSB0b7vL6YTrCKQOCvFzij29GoxK8vy9npVVdXT05Nj0p6O47AosiiKmMW5pigy9Aq9uloa4yN4AGXeOAK0StPM9/2mavI0V0q9v3tPpIqsfPj6aK2EfjiOA2NMGAeQ4CNQaZpmOpvnRfn89PTzzz8T0ZcvX06nU9dB03k+eiNEUE9RV67k+4FSajyeQBUD4nM6nRrj5Xl2dXUF7hPanvv7+ygJ67p8/P4tDMP3d+9E5HG3X61W88X08fFxNp8UZUZEURShhsSPvLIsvdCMJmM/CHpVUl1lxDKbjzebzXK5xFr+8PxYVTXKIsHsBn7ETDAufH5+fnh4AsePElURsY4aK2GUoJBgNBo1zj4+PuZp5nne7e0tpHE4nygI99s9xiQKQlyvZiVKrZ+eMQ1++umnOI4P6Wm/30eTUZLEjbOkWXk6TKI0TR1LI7Ysi6qqPn/+AyzAoa6tteMkyasKHZTv7u5QVANly3wyZSf5KZ1Op3VZhZ5vWB2Px9I5z/OSJLHWeZ5PRFqbLMuzNG2aOjCeZcJ5bjY7YxR0VkgsIKv27ds3sNFN08CcHup8EdlutyxyhXRfVUtjx+NxEsVlWR72xzwriGixCMGeaO01Tesbk2VZkiSNc6LYkmjfU84GgQ9sbYxBrb90Tbt2u50xXl03zkkYRswKJD0Cp8ZZX2lldFlX0/EEYaHnaSKDLFxRFI7EaKU9U1QlHJ/G40Qp5RxVVdM0JzTMNooiP7DW1k1hPKOUctL4vvGjuCGqhbUN2BgR8TyP2DRNUxe1MYZ0VyvJyjE56IOZbeNIG2kFsdQDEq09ZuXQmIcZ7WiaxlLbTL0t52uEicjXWkgJSWuJYa1IhYnREZrScvqdOMRyTqQgbIAnIlli1/Lr3PHc1JP9iqnHiOqMO3tf9l5L0gkNNF2iWPwoAgaTnGu6SECTsIPvKSkiR9zKfZg6HrdFP6KUR2glCUzJTsT1fGYPZPvT60+A2kI+GvwGbLUdQvDLj/TXOIxYnAg5d/b8aTEdiXQ1qUM47mnfOWfZEVnRVoi0KHakw6BpGhq0i2Jma51nzu7e7XmLYmZHjVIsrXeiMDlxjbPW2nPPpp44JiLNGvVCKOltrBPnEDH4RhtjiEXItX0EWqTs1AWXqxyz6bC3iJBw2+aW0bq1RbIMt03p2zMNkgPtsVtK3Vmx1ha2JiImXVFtOgx8bmpIRMNWT13YIW/uyvA3MiDC5VIRxQMN/dAQZhjsKaUGGrVzLUgP2pU6uxsNjzycAf2f+oMMAi9B6QniTu7ndesZhDDdDcce2QqllFyaIr25Xrl8EZG10jTWNc6QKsvy+7fHVntAfQ8I0Vo3dQO+OTAKvRviOH6snuM4jEbB6+urF6swniWxq+qD8sxoOiFWTd1asI/Go6ubu7q2URxUZTObzmAuNp1OozBMs6Isy/3xFe51TePG43Hj7NPTU1HW8CRBtnq/359Omed50/kSyk7fD6B1Zub97igi6DuIbi8oYAIzhJiBOylLVVWsZLFYXF9fg9R5eHi4vr4ej8dV2QARbrdb6YwOYTO3XC5hwAwqC2l0YwyYyNVq5RsD/gzfiyq9OI6Lqjkej3d3d//jf/wPiIBh7fL77597ByFjzGg0OhwOENP3T0Vd1+h9czqdYIaIbDjiiqurq5ubG6ErCFqstQg2elACtgw75XK5hLYbZiCgjl5eXkAV95oi03VUSdP07t0NEcEkTil1OBwWi/nNzfXxeLi6utLaJGHUyT9M0zQP374VRbE77lD06XthURTMGk1tmflw3KWnfHW1SpLk5eVls9mcTketjXNOMY9Go+Ph8LpeI+lhqxqu6n/++SeqKqFH2mxep9NpL8g5nU77w3Y8HjeV7aJf6QvZQZzjplRVBQx3f3+POA0B2NPTU1GWWFJ6ZAlir7eP9DzvlGf7/R4eoBhkz/Pu7+9/+eWXsizzHPpaD6wkBp+ZP3z4IOQQUNV1vVgs7u/vIbAhsVCtQD0ShtHI90QkKwpk8yfz2X6/rxtrSUikbGo/Cpm5djYaJTDU//LHZ+gWIN8HywtOsa4tlNa9FSBaiV1dXS+Xy7IsX19fsyzzd23x8WKxiqIIuJZEMUtT18ABp+MRz5RtGoSFEICh4hkDgjrL3k21Pz740aZper0ZM69Wq8PhIOLgMygieZ7P59Mkiaw42OPc39/Dn5SIUArce6ogj4RLrstKEY/ipMwqT5s4jLIse358qusatjZKqbu7O+hYgiBwTgC1gfkg5h6NRsfjEYWV8GTcbDYwWHTOgfaGO1MURWXdKqYgX5lOpxDjOedwL2D7M5vNwP4y82KxsCLH4xEB+ZcvX3bHg+d5i8UC5kXgGuD2M51OMXOyLPvjjz/6IhwA0DzP+x69+NKbmxvkB4gIMSeq56+vr1erFQoqkOZCxqkv755OJ1dXV//rt1+VUtCe1XWJXQAEATpUgJ+u63oymWDRa21Y6trzvOvVipkPh0NZ5qhMqOazLMtQpYeusUEQoCcGESmSvp4b/To2mw0W0iRJEG9j8ezACud5DviO4OHx8XGxWGBKI0rEY4s1zTkHm9emaZQynieYov3+jpyGcw5xgoiEYWhtjcynp8/VdMgdKaX6onPnXAfK2TEprRQbYa5sg86a3Mmp+7XoDc/4BgnQAES2Hx9Qm2Dfmdl2VKOIBQnSf1z9C2Vv9x4mIk3wjeT+0pi5F6i0OKHHhDxgYNv/e4uXmFuSsH9XD8PcD24tHQbrwYm8OSAPHC2du4A33cf7H6DhPsOYftzewLz+4L3eqaeKh7iuf/954C6FEj+O7Y8QiwbosRsZsSJEBL+Bfib3F84/fMtQ7yRdWkZrnVeldLLqDv1b5xyJGxyElKLWCB/Xp7kfmNbIkh3RudKg+1PfcJeI2qa/NJiTw0F2rm90YKXXSbaBlxLMajnfVrzN9Len++3bG9x9zTmicgPdGHfM+l+mg/B+DJbiHrSfH4/us21+XM5q+HMwN0yBvUHJRIR3ijgi3R+tH5pLBH92iuyf/8FjM4wZ8FdEyWqYQXsz7j0c7OcZWWeUcYZCzVWR1XU9Gk0yl7mKLHPTVHEwD4Lg4fmle25s3cDjVowxpPTLy4u15dViYbyAuGLtKVEilkTy7NTULCI8HtdFqX1vPB7bSOq61p73b//2byLy9PTy/PLCrD/ev9ee//XrV2NMmh6Lqm6a5m+ffopHCZAZdlZjfAhXxuPxcrnM88LzPKyn8/n8eDz2NDCkHcArWOuBdLG93d7ertdrbGbYI51zj4+PngkI5RTGwDtlPB6Da8TOcXV1heJFFNshD1DX9Wq12u/3YRAsl8v1eg3sAi2E7/thPOo9HCDchGsbdmLsN+v1+nA4IKeMNQXVb5BtAGr3SShjzM3Nzet2D4GBNrzf7+E+Ce04SF/UI45Go9lsBs4Viwt0PsDrs+kYuu0+ArHWPj4+lmUOsLLdbkejuCiKw2EXRr6IZzy1XM3ruqrrmplEHBTnk8nE8/TLyx6FB/P5fDyaQprsG487N6fFchYHITpuzufz//7f//vr6wa5hePxiB8gAdq8rKuqQmf1PM/hzygi0+kEPFNZlv/X//V/KaUWy1me54fdEUWEqOo7HA5w1EFahoiAk7CjA0IhohuPx3GSIDmTJAlM7uB1LZ3fOXrdU7eXU1ey+fXr1+vr1el0Wq2up9Mp5B/Y5seT6Wg00lqvXzeQywNPwD5cKWWbBvQwEU0mE2ZBTKi1RuU0zud0yhBUoEPQYrFYLpfL5RLSYWYevayxngKQ4Wf4YKAar+3Fk5eAAmmaIrcA5yVYYiulwjA6nVIgaYiX8HAhgIdiAfkHtAGC+mW9XkOjgoABIB4tvZDpms/nMIBH5kEGrXMQV8OC3ffNzc0NM+enbLN+xZKLpIciMko9v64hqkaLMcS0cJ7B3oy5nabpw8PD8XhcLOb39+/B4GIZASKvqhrDXtf1zfUdHsblcgkEX1VN26B0NAI8vb+/h+IO8XBVVcfT0fO8yWjsnIObCrRJyPBgcEQEKjg8XNZa1WVZj8fjdrtVnmFmLEG4ZQiAReTx8dHzvPu7dxg9fC/AdJqmuPx//vOfmJao5a3rer/fo0YZnQFGoxEmMB7t3r+ImSeTCarnlVJwAlVKYep6nnZdcyJIrQDxP378iJgBjx5mGs4TmJ6IUN3Ri2eEKQ4jxPBY+nA+rqkPhwPWNBGGIh+u6jiTum6YGfw3TNlfXl48z0NZDgpYlVKjKNpsNlDBoUkcAn5mhqaxrCutPaV1bRsrjl2frOaqquqy0hp5fzbGQGPg+bqLosOiTIH4cRfYaMxw1XmwEBEasVPbu9T1LiL91tyjxiFQUYMqyR5T9ju1tVYcBPZn+sywEWF4RCpmbXRbosky7BsJ6q8Vy3TIBYVwhpV0beM7yCGodpO/IqQH4Or8s/tBpdyB8oF05BJ49L8fwPQL0DX80v7c/hVcFnjkXXKv/as/jf73Sqle7t+fao8e33x2eBp/iVz/8uug6oFDH7cFA05EtLBr8BvuGVjmc/zwZhD0uX3suQ7BOUeqB66sepAuQsRanxsCKOXhAvsGVegcygK78K6Gk6W1EFekhKEQ6u/xQLN0NkppUSiJc4I5iR6h1KYznIgwadVrYYRbopmdiDNY1HAsGTgovUHAQwJ+eAv7f7qB9eabKfJm+kpLfF5AZ2sdKvQ7yK4un0yhtjcsIW00dBrFukbKiZxrbZm5t1btn5ehfuaHSazafNPFTCVw/RelA/jvpX1NPyCobyErRV2lx1MUJU3R1LZpatsQW3Hxx9goDWsU5xwrNYpi7GHoK344vibjURQJcWHJxuOILNdN6VzDItbZ0Whkbb0/bOPRxPfJ+F5RWCvy/Py83R/rulba+7d/+3mxWH358iWMgqqsrbWrxVJ7JvAjcnJKT6Cs0LHFWuuHsVLqn//8Z1lWWOivrq5m00WWZS8vr2CDfN9EUZTnJbNKktHNzV0YhswCd2T4u51Op8pUcFxJkuT5ac3M8FQ+HA4wGEYnFyjRD4eD7/uohEuSBLAYXVogNn138y7wo9l0ked5U9eBH2Vp0ddCgcXHo4j9QIQRDECKCvbX87ztdtvXcmEDxmYTBMHLy8vNzQ24+e1vf2Df+vTpk2Lz8vyKTjR1ZSeTie+Fnq+BXBFj6CjSRHVdX11dgdnCvng6baCLRd9ZItrtdp6nEVScTqfRKEKtHjj7zWYD/cnXL9+pa9mY5xmRzOcLjMxqtZqvlkwa/F+WFaEfrDev+CAzL6pZXrV+0ovFHKkVojsEQqqT+E+n0/fv3+Nst9st3DPS9AQcBr7tp59+ErLPz8++aZtc7vf7l5cXQBbo4EUkDMPr62vP8/7444/X11cA0+vra3ix+50LJ3TkOI08z6F+AR5i5tvb2yiK0IEIDDRgB9hcnB5WusVi0VgHoIO7HAQBbNQR70VRRGJxi1VblXuEeSUof9Q9Y60DPQn11+Pj4+l0gvX7n3/+WVVVPB41ZcXMYRjCW6ldUq3r3ZB6J80Weh6PcCOJoqgs7Hw+8X3fNuIsxXGMjkXSEWCInbCGwM4FoBlYloiQNEASA98FM8HeiRLX6JzBOfi+v91uYWACNNY0FSoFn5+fq7qomzKKo7LKravrMg/DMMtOeDZFBJ4tmO19TkkpFQaxMQbe4R8+fBiNJrgXdV3jCU3T7HA4oj1wURTiGMXQOMLz87MxRinjui5LMDdcCvu+//z8XJbl3d1db5uTHk9pmqKpFqYHsgrgoRFBIbJCaS83DW406isct88OqkshJsG0hGsKhhdLHyIcRPu1c8fjEdLtvmtYHMeqdS10t7e3WuvtdptlGfKESOWBbri5uUE1C4Kcuq4//fy3pmmAqqfTMXpFI7oTEZhiMXMURfv9HmkKHMp1Ro24rafTgTp9lIikp7QXsiMREfpBXyOL5A+RQi3TZrPB0wS8SkSIdkQkL4qqroMwjOL45eUFhIjSGku9tZZZO1dhxBCnUcuqGjAm1tq6rslJXyantSav7UuotYaaAukXFEBb28BIByu27/va9zDNUMba7bAtsNZaN00lgxedEeR5Bx/uwu5CK9z+E1PR2QYWWD2AA6gC2NCajWorDoUuNvcLSON6Xbll1kKWhckSkBZOm8iKXFDpcgncOyTamtS1qK7zr3sDZOmtm+EF9X5Wdg9wPP7UIzru8gCuM4Fp8c/g0jqces5pDEEgdeR3/xs80f2n+tFWyvSnj+/tcgLqUm9zASzfjE9/SiLComBtg98Y0rWcowjufcTljD+5baIElflfW+kHpm0y4waSCq01am25tTqkcwxGkI2Q0qTa83fM0Gq3NDyRY9e22aXeGYbdcCr234VV1JGAcbfWArjjMtGwVjFRTxzL2YNIRIxQ6xhkW9zc6U8G8wbPiXThQn/9XUQrROTkIth6M1/p8mgIE/pMx3AE2+jiPGku4of+BvThNRYsay0JixJn288i3O+UMIPcDXfNngbhcxsNEHVekNyfp9YXSYnBJ86TbHiNWuvaOtdQXeS73W6xWJyenrXW0lSnoohGI8/TTdmkadqrg+q6LrI8nEW+b56enpThZBSPx8UoliQwAXnkqKycq6RWorVozUQyn09JGaX4+fk5PeVBFAVB4Ps5XKLRgjsIgsPXr/vTMfDDyWRSlvb5aT0ej/f7/XQ+i6LodDqdThloFRDJIiet9WQyAZN3d3enlEEpJ/Y5xFewOOyb17y8PC2XS+wfWuu6sg/f/wzDEMw6M08mE7BuRARSFol1Zl6tVmCqQFM1TfP9+/emteoL4L7Sai6bBin+w+GwvL6J43i73e92hyRJADts19YeCAY+FdgYIOQAm660htQBCG8+n/fiB7jUffz4ERsYJCuwUcNe9eeXb4vFQiva7/e73e6nn36qm2Z5fV10lZcQbIzH4zBKvn/7st1uwVTFcYw2isvVvGmax8fnIIhwCwCFX19frK1vbq/qugbzZ7QvIt+/f8PeiTn5snn9+uV7GIbGGHSX/OWXX7AhKaXyU2oCPwgCmBUCtYRhCCshRFOQvB+PxzzP9/v99fU1ET0/P2HCjEajjx8/EtH69Xk6nWo2oOSZGV54wCLj8RhkGObGYrFAt0WUWgZBcDwey6rCVpFlWVnlUDSNRqMoXhpjcJKhbRvOY4MHBN9ut1VVAMoAB8/n87Z7wOsGeY8sT4kIIIaZ4T7OzJ5RzIzaxziO8Tgvl0sojH/77beuYM6g6BDe4Ygq//jjD6iNUQsLFxrAFJQxEBGmKE64rmtrpWobvvpE1Odw6trudgfQM1dXy8l4hggZQmpw7Zj/KJcE3ERrAlwXpF9157aJH1BQASoaxcTOWQw+Uisg7/GEYj/AI4Ny4RYuNBYWMXmeN+KKonj//n13NAfKGXWQxhjPtLbxSAU457Isi+MY1QV5XiDBghhmlEx8LwQkHY/Hm80GoouiqLAyIAhUSiEkU0qhUBXuk9vtFmbk9/f39/f3bWunKMKi0RuC9SttHMeH08k5t9lsrq+v379///3pEfZBnmd2u52gVieKcOFo0XB1dYVlAXAfD5cfRUqp6+vrp6en4/EIV/U0TYXb5EkYhvv9Hjj45eXldDi2caYxH3/5ICKb9et8Ps9F0jT98OFD0zS73Q5WkmHY9jsDj47s07CZAxzcYQWD60XgCloNKDw7HVHz2i50RVYUBZoup2kaBB6QbhiGIq0NhW6bvNaYseixgEcvjCI8I8fjEeE62GiYyo/HUyJCQgzdrA6HQ1nWvu/HsYZZUxc3WixuiCSjICRCwqRl4oynoiiK/CAMAxHxfA2HLiB1z/chpwGrQiDOB9IONShFG6LJoRSBLnnl4Tvxsl2DWLkg8s5oVWutNDFc4xQRXXgUnk+s72UkDO8W1/pQN8K6h4AdaGbqOqzxDy9EYm++wv0LtU//tuE1dn+4yP/3P/xwnL8KQgaMvvzwjf0/h1/K54+0JHc3Dc6074+vH5Hh4Ie3OYQfPihMynUVqJCsYHozc2/u9+MH/xVCwy9dp8hQXe/b9hI03qO702NMtjb8YBjLMGZCD0dbu3bXN6jFG6QPS/rX8Eyccw4a+E618Wac1UALJCKtWY0oIjLI2WHuDoOPNwPRH7Sf64NTkTdjNPz68wNAzJeT6fK5ku4c2uDeOcddCUI/sfpzGA6EDCj8PqwBWyMCqn5osfQ2kTQ8bZFOutSP7EAGM3xmYBrVD7b0QYVYVztr2Vlb17UfBk3TeB6PJ0lWl7PpRETQ4DrNc0ds2Mzn0ygId7vdYX86nvaLq8l4EvzH31fvbpcJk7K6KWpWZNnR2K/2u7Is5/M4TdNjmkdRwszv3t9G8QiLaePcbnc4HA4PDw/Y3aejMRv9+vrKrIXUeDwOw/jp5RG8GmLK0+kgInEc/+Mf/0Bx5Ol0qkowRm1pIO7FaDRSXSe8uq7BraZpCgIMjCDq5LA8waSsLGuoDuDdBp/Esiy11p8/fyYiaHaTJCGi/X4P+bKIDMMD+JFhS4MxdlEUaD2IoALcJBLrs9kMPjNonAQ5EDLdpzQFEQhOGt8CkQY0ow8PD7e3t0qpl5cX1KvBk2S327FW1tqybIjI9/2Xl5c8z6+urvwo+u3zZ2kaIgKE/e23306nExSxCKXW6+dedDEajaDz9rXnebLdbj1Pl2W5WllsaZvNZjqdLkazNDs2tjLGr6ry9fU1PR6TJEF7zjRN9/sjhkJQ10VUF+WmWs+WC9SDbjYbKPghVPC1SdPTt29ftdbW2qurc09HIvr06ROUSA8PDyISRdFhd+wTFAC4zAxFL6i7siyRzeBOMgR2NkmSoizhsX06nRpb4a+w+cf8gbIC6ibgCYgT0OV3u90StU0PMNmen58n0xkUU1rr8XiMnpFPT0/wR4IEHBoSSE2iKEi6V5qm2+0WUn5jfOccUAsRQQqFZxMPOLjY193WsILABvDa90OlFCAyAntAeeQBYHjinNttT6eT8zxPa71YzEQEiSZU4vYChuPxCA8WZkZsgEHIsmw6nUJTgTQFdkdguzAMr66uUCM7GiXwcoHe7Pn5GQWdaXoECkQJB4JPZq6LEsUYeHzS3Q7YGpUqRHR1dUVEtqvg18ogojPGwIYFgBK6DhDhs9ksice+7xdFgSlh296crSkqMmzMjMpg3/cV2mQaw123jbzIZ7MZiX18fFSaijIryiyKAyw7eVZi6JRSp9MJrDZgNG5Zmqbfvn0rmxoymKapmblXeGP5cs5FYYh6GxwWvSmm06kSslVdZvkkGVVVpYmbslJCrNg59/DwgBmFvlT4uHPu3bt36DqMdBPIBTRe2Hzb+b6PztP9t/RmlFVV4aFDSgQ3fTQaocOr7/svT09EhJof6EyQkkKeqizLvMjEOhAu2PUQcUVRZK3AxXKxWCij2VnWKvQD55zxvKIsq7pW2tPam0ymnheEYdw0brc7LBYmz0uwxcaYqixQLhJFSRRZPCAA6E3TaOWRqCjycSPwUKiQEUKo7oWlCb/J87yx6M6hYRvKzJhI/ZRjbrULMmh8PmQrZaA66P/Zv7//od+sXSeMUR0l12/luBctau/Iuw6sWSZWrFTn+AF7FNeK04UdCZNIS66LWFiR9OcJ8FC7Vm/W5SXAJBL0Of1rQITr/iSHMGyIfC4AjOrh4AUP3WOb7mKlvx10iZ5lICoeYioavIb/7OKf8xf1rCsu5c1p/Pi6/IohffrWgVA69laTctwR1Up0K8lgpVrZd4/rLk/yLXzvr1Sps8EgRgZXwaDzuffBJGJixcQk8MZR1FWACndm+syKnYVciZUQu1bWcgGGZSjdaEepy0JorXloAIPOnmzwIA3PHx80zjkwH/14DQd9cMMu7mgfGr6JY4Zj9+ZPfHkZqhWMOhFpmkYEp34e5eHx8OBJ9xre2q5lcXs97X6jL2omhrO/L8J4M5no/HySdQTRkhBZi9AfBd1nED8cn6GqxzBb58Q51toYU1VF3VSObOgnkDTkaYY2jX2Y5Pu+1qwUaSO+r5wU8Tj427tP02ii61qRFp0pIUsuCMLpbJye8rqu8yINgnCxWIRh7AX+w+NzURRBELqmub6+3u/3aZpeXV397W9/S9N0tzvU1o1GEyH1+vqaZcVokiRJ4pzb74+o7Izj+Pr6WoQg+txut1pBiesBagC6YTtkZoAVbPZaa98PROyHDx/6O9s7Y5xO2Xa7BZvrnA+SabVaYfcCk+qca20uq+rm5uY//uM/UIlY5ZXW+nQ6lWVZFEUURZ8+fSrL8mn9yszj8Xg8HsdxjOY18H1DxmC73QLDQUSxXq9hL9M0zfF0IiIYF0LrD55yPB5vdgff93/55Rf4HoJL7nPBnz598sMAioUoHvmehkcyWHljjFNq3m3Vnuf94x//SOKwT5HHcXxzc+P5GrFHFMWe5+en0+Z1Z129XC6jKIFO4P7+3WQy2u0Ox+MRXjFN7Y7HozEeJEbamKIovn//HgTR7uFxtpgDio0nSV1ZtKmaTqdIeuBphYBhPpvjbKHu6H0Mtda3t7dxHOPWA2SDWlNKISmBewT4iJZS2PlwI+C0A2NNyJ+cCD4iIn7gg699fHyE9wX0M/gvVi4IG3zfXywWdV1aa+vaQn2LZk9lWZZVbYz56aefPN/gYUdlMDND5NNEke/719fXSqnD4QC/yO/fvwNWIsbbbrdKGYgW0HEM41BVVRCFURRVRQlxkVKKtd4dD+M4gV4FOh/AOGOM8UPwzUVRoqsOEgKqddolZkEhcpIki8Xi5uZGa51lGZqwQk2BJwWyH0xFzHboXhB0IcXh+z5kXfgrESEuhRCotzk/nQ7IJ/TVJlipfN22w5RBndbHjx/7CgRw7dZatEnO89zZHA8slkkMdRB4eZ4XRQmqFa0VEMIhnAuCwFoJw3C/z29vbzHaQJatDXkSEBGSJJhjAIWb1y2eWVQkw+nVOZfE49fXV7x/v9+j4NUY44fhdDrdbDaHw2EymWjfA5ZNkhG0K5jDmJPoRQCki/wPBiHP89Mpnc/nxhgUhCAhkKZpEsUycqEfLGZzxJzH47Gp6uXNDcZwvV6/vLyEYXh/f09EURQlSfz9+3cnTkSgDlKK4C6KKYqOv/DxRN4AZ4gqZERQPa1oOiNLay3a7m63W2OM0aM++zGZTHa7TRAEfW/jPigqyxLYlAdu0GilhOVXKTWdTjHUPYeKGqFuoGwQuCRJsDhjgjW1E90AdvcKdTwXvm/angAtqa583/c8gwXqlB5wL4wxeZ4HcYREQT9FRaTHctZarVswMMTiw+37DQaVVnlrpVWtdJNWKXHn/u520MfnEgYIaD71A27udnzba2XAlzpnRdo53Df0wVdYa6VDZm8wg+tqbfur439RXtnBkzP5fYFeOvvL/o9vTth1hpjDERsehnup+GVgQJe/Gf6AP6lLG3G81GV9an98viRMf7yVb7ApVETufBdEQ6HQm51caq1/PO3hCQxHFWeujO5pWRnIhFjIXqi+RSliVn2vAGYmckqxEsUsgpNBlfK/KEKVlj4GanV8AYwh/75o1yXSsuuKDQ/SAkTUtQljA8kakTPGKKVFXMeg/0Vg9OMt4a5slC5j2f5UzjemA+4dpJY+wsbv8SzhQVVKddFMx6OrtwEloHxddwofbiO/fpGSc2gug/BB97O0Pa/W8Ogiguzvgev0sucxvRSTvQkMSBqlyEnT1DW3Zs9CRGmaompnv9+v12sszeycVp4ihl9yVZVxEt3eLuLEHwWT2JuQVLZpmGqtdU2Nc40SwtKfjCZhGEVRdDyesnVelPVoNBqPx47Y98Oqqv7H//gf3Blg393deUF4PKZKe0qp+XzZuHq73cJs4XQ62cYhlTyZTIuieHp62u/3STz2PI9Ioc6Muyo64DyMP2QMuKevry/7/f7q6gqcE/ak4/GolEEFoed5VWWB1IF0sdO4zssCIBtSmdls5nleEzSd2LFtW41F/1ppABoQV2C2iAgsPhBJf3WQo6D3+2q1+rd/+zcR0lp/+fJltVrFcbzdbsHbAfCB17y7u/vnP//5xx9/oA0TUCnwDVobrl+e/va3v9V1/fr6Cm7v5eWlHo3EWhi2+L7//PwIHLZYLEajGBNgu916JvBM8PT8cNoffN9jVkD2oe9VReka6xtvnMTWWmP8Mi/SrCAiWFYTkXABcUVRZPP5/Gp1xVoVRQEnweXqXVO73377DTHMZDJBkBb5Qd69oGRtmgbenZjPfZ9OSPbruq7LE+YbbjSU1jgsUvCTyQSJDgRymCFQ1BSdyggAHVKNPM/RTnW73dZ1Lazfv38PnQBIdGTzQWkza7hlw6y9aZqqblvhlFUBrIPazTxPgV8Rk0CL4pyrbVM1dW2b/FicTidHggnjea3oOYyjMI5EJIhC27V5YqHObGdDRK3aOwyVUofDqYcv0kUmh8NBqZZThIOHH/mw13CO4MyIGt8o8Kq8SE+nuigD4y1nc8SNRV31JifArL0eF7/BHQR7/e3bNwSciFfhymKMeX5+jqIgjkO44F9dXY3H48+fP2vDiJrqogS5C/t23/dn4wXqK5xzeACRmMqOp6asXN0URQUASs5Nx+NTlkHvYYyZTNoHGX1J+8lprY2iBM/m3d3daDRibh9hyFcmk0lR1lEUoWHWfD5fLpek+OnpCegTnWthHIlIFdW6kA8hAgcwgjrLWosHuXZt2IBov6oqaH4QFSwWC1c3URRB+7Hf77FuZFn2888/V1UFtXfTNHAxGo/H6bHtrQbx+n6/R8IQqx8IBWi4iWi322VF7vveu3fvolHy+fNnZHiQpwLghjdO0zT7/X61WgGmiwhC/Xfv3olIURTwtl+v1841kPpguiL+HI/HxjN4J3SG2KTquj4ejwh3cceP+xPs5xVju6z3+/3xeByPW4sY6mIDdKvFfhfHMWJyawXSspaPZHbOgdAxxkwmE2dbX0hwBLZums4/R2uNjgp4EhEM4K/j8Xg2m2nNSZKI2DAMbSfdtuKkcUopRL120OypxxLW2mHTpSFUwkn2wP0M1LQm9TaFPgDH/W8uZQKX9CUzt7pgsOyO7NkWvGNbHQ9PxjBrVkZprTQPsgFuoNHvsTV3fWm6b28JeBGntY8ROOclmPlCunxGa3zpvdFjwi4P1mUk5NzWtHGDa/whQhiOQ/e9bXk6bhCCN9v5i1xiUygRiH6A19yqUN6KO4iAlalT9ODbW+FGOx9sS/O/IaTfvHr+hQZojZlhuaEudTJEbYXqwLZSmEkpFunb1mKiIrRjVudQsz8TEQuCmLo2vfIvKoy74Tl/vB12xUopJq0HenIRC3dEIjJFUSA0bzqrV9wAh95S/eCRJiJWThoRaaMEQg/ibsCppbTx9ZZZ8Ah0YPcsVhEREacUW2vrupE2OEZ/BFSXX6iymBkmOO1zKGeRVt13MBbSTDrwMKuUUdRx5FYc5oGI2KYc3GZl2wyYYtd2SmtDImkfeOecFedsF0v14B6PetcKq62QcGSVp1WjXVHbyopuJPRUNNVccRGwLg677f4QRt4pc6w0NcJSkmLt+a4pwyiwvgSjcBaMIuPH0SS1h4oK0iqOpr7X1GUVNuHDw4PRZjyKhdRv//zP2tnRaDSbLpMkEXHH/XGz341HkzgJi6IIQh2EU2ZdNdYP9H6/Xb9uiGi+uJ1O556nmfn+/r6urNam6bp8v7u7v715Z4wBctpsNrPxRCkV+cHhcHCOsC/erG6UZ4gILMtqtULfb611HCfG+GDd0jTNslNvsQJEW5bl8/MzzAGLtmu9GY1GcTxCBlmEiVRlnWHlR3F1OoH4hyBkf0qxAYgI0CTStdhOoE0XERiwoK+h1joIQ9XpfL5+fbLWkmZLbjKflk3lmHa73Xa79/0Q9ud3dx++f/8+Gk2+fv369PRUluWnT5/iOP7nf/2vuq7n83mWFszMpIu8amyFeriyLCejsbXuy5cvmNuzxdz3/fSUfv36Z57n7969I3anw85T+u7uFnohzx/vNltl2rq0q6sr7ZmsKNOsstbO5hNnCQ3tgyDUWjum65sViYEmWxk4tandbnc6ZvPFdLGcNU1zOO4eHx/7QcDDCJXUTz/9BPoTVacigsgEpY1V2YzHkyQagZZDEMjMt7e3wE/g7eCvkmXZ+/fvjTHv37/3PO9w2H358nk+ny/m0/V67Wy9fn55so99Sy/P8xCwRUnELGHoW1vXdZ2mxyiKttttHITOkVIyGo2cE8/zwzAqytLZRmud5/lkNFZKPT89t8y3MdPxLAx9aye73a4samdpPJr6gbHWHnbHPC087b++bDzPu7m5LXJ0yIqa0qJ97H5zUEoZT9m6gYM4M9/c3ACVpkWelcVkMpkavX7Z1HVtmIMgKMvaObm7e+d5HixQZrOZVl5ZlkDPUeRDsZYkyXq93h22oyQhItJquphrreum2W63bDRiQggqoHESkdlshloFtG71fR93M0ngOiJQRBhjvn79k5mXs+V+v0/CxCiVRFGZ54Hn1XVd1+VyuUxVCtUTDHZGo5HvGV8rT3FeVmWW/vHrP+/vP0pj+7JgqJs2mx3kTPCC3O+P0NnneWGMYSUoqoGYpK7rqio8LwjDMIhi1sZae8pSpKrKsiTFcRwXZeb5ejaf3N3dMXOWZUYzzA3BzaOBAJpzBUGwXC47/YXKstz3Yda5NUp7utVvvK7Xk/kMpTXb7YaZR6OR1sraRoS0Nko4zwvnxDkZjcbW2sPhSETK001pLbnruxtpLDNB0CIDSQY6Q0EiD2QMBRH2zc1ui+rkDx/ux+NxVhbYGl5fX7VmKLKAtDAIeBidI2jk8jyvyzJDAjDPWaxzDZ4UY0xTtXIUYK/X9TpJkvlkkszmhlWZ5c42/miEmNwY43mayAWRn5cFLFa11qS4qErWipXCBt001Wazvr//iPW8KAplPOMHZd3sdru7u7sse0CMWpWNVl4YxM45mPagNiDLU/iZAv0EUShiy7IUVqyVMsr4itmZIDilrS8Qax2NolN+mM1mURTUdU2KyTpWrMADivS95q2tMcItvuzt1+hN2xmRTmNtB06FTEoro5V21mntaY9EpGka1ZHNTERixZKQE2YjrLRmVtZZbeDgYYmB1EkcM1mQtM5R48Q5R8Ki2LAhIhLFfO7BhPQvDXA29+6ZZK214sQYw4qttQ4lv3Lmhq0VIjEGTkEWptXYyKQj9Y3XZ/tbSrEH2d3Piujc34dJM5FiZVtAhf6jRK5FmdLTz9R1RwKUFNKsum6goozpM0I8CHUu4wc9gKpQYjNxKy1um9GeGVru76kSct3t7REgqGTVOWCKOh+//cgguYFrseKo3U7bKK67QK3QAMgJEymw5e2Z4+qtiLATTV3BLihzhRriFhczMznLzKTQtkmorXQ21lpqvXpIBCoZpi5IPsdFTjQpNsY5x52DDl+8+sIead1WnIiIwUKgunrhi0nPF1FCh7YxaS6iMaWUDOZKfyOdc4j38M42snF9AHFu7j38Fvqr13nm/WB92n+WL2NlpZTiXol+Vs4MPo6fVCtgG0SW/Rl2uYxzrCLWiYhD2W+fr8E5kHhK11xrrY1RIhIE3mw2Y+bMPWd5XpdlGIZF1UarxphxnOR5XpeVIqqaJhgHvu8rzwRBlOdFlufaeIY5z2rXiO+HaZWBPi9r+/q6zfM8TGLf95kFbN/hmE5H4/F0CqwM44q6rsuqyfPSWQmCIM9LpSiOQwx+WeanU0bKjMeT424XhiGFdDpm+/3e98Obm5v3799nxxN057PZbDabEhH0Equb6zAMyzLfbDbz+TxJknfv3vUOwZANNE0De7Xj8Xhzc4NcfBzHvTnD7e0tmLP9fn91dQM2UWv9/ft39BlAWSREDrgc6Jv7nRXIBps3GH3gQtCWvRgMDJPraulggwNW7OPHj9vt7nTciwhUH7BqjqIANjKr1SoMfdiwgGYGafe3v/0NHcvjJJZOl4lCWD3oHdg0zdPTk7UWTDaxM6zAmIrI3/72N214s351dc3MxO5w3MXRKM9Ta9FfmpRu5/zpdCyK0gS+53nj0TQIvN3uICLG9/q2VllaeiZoavfTp5+dNK+vr3d3N2VZrl92dV3f39+Dn6vrGv1fq6ptotk0DQoAIAuejMfI5FRVhVbwzIxCTyiUoIRZLpfW2uVyCQEuWO39fs9d/hdYqmpqmE8T0dPTk+d50/kcahko1I0xT08vZVkqIfhbQ+eN42RZVhZ5b68OMo+Z4WMYhmFRZDC+REASRZGIg10pOKFPnz61oo7NHsmosiyhYMaMnUxGSZKgALEoipubG0w8uII4546HlDtF+Hw+17quqhrqFxClQRA8P63BPUOEPZlM4CczGo3KusDIMzMKFq21gfGECFNXRHzfR43Kzc0NtEkYQ6iooUE/Hg8wDcTJPD8/E9FyuXS1E5E4CaezMTRaUKdorWDwivkJD0etNTKcYN8nkwmqTkUETw0W0rIsYaDueV6UJFXXjXi/3xvjYT7nWYF5DqyJwFtEXl9fwTQjw4OrgybHWotSDfjMIJaA9BlZO4iqUboDYRuUdchy4JiYPETkSNI0nc/nlgSRCaZZmqaYqHh2tNYQ1AF/I/lpjPn9999xs0ZRjNmFeMnTHhY95BmWyyUSUL3FDVYqIiqqEmUkWDeOWYqkn4g0TYUb0WaiiqIvEjgcDtPp1fF49I2BTskYVVXF4bD76aefEKNmpxTtETC8SG3FcZSmKWo8+lwE0AkY7izL7OGwWCzwtGqtldFop404AbkCzwua7uV5Xla07SPwT2RgNpvNcnHVL5vIaiqlNpvNfDElIqM0XAEgbvE8L46TpqlGo9FoFLMQYjkgM+vaWmfnHBKz2ms7bzg5J+GRhuXOwR2kDHW0cacL4B6uDHlTOmPllsgE3QM+HFgZ71eKwaH26BAvMIlDBCIiQMBgV4larUtbOgkqVM6SYyANzI0+4OzBAor6+vMcKoH736C0vQNjb/UzPDzd7kt79DXQCAzPn6jrJjnETu4Hoc7wqv8VKuvPv/9Nn8MZfuMZHLXI6nyAFka2F3LWojCzu5SU9D/0qqrurLriVCc9QqMhOGSmH8oaLwbkhzxAe3LS6qa60+4yKoO2poO7cL4vPaztx00Ggur2Tzw8GdZE2vMGRzuHK9JGEhguUu0Vk+keg4sLUK0HzcV14mfFb/80PPXubW2JZ4f+CVW6OA9iB8g8fNiageFUP31/HM120vcVEIMQ881sboVKbbT09kLwUSJxXZpDsxo0PkBeB8HMOZrnzqlHrHNnpU0b6rZHdrauazxyZZXHYaRYyrKMgxDdOkazuZVMa+0cGd+z7Ko8R7pAmiYIxpPJ6KefPjJrcay1bzQRK99vHOu6ro3xPc+rmnr3ut1ud0LsR2FTu6o8OJIkGd/fv6trK+R84+0O+7q2RJSe8qpq8rIqy1IZT0Sen5+VIihS5vN5MkmOh/T5+WmxWGL9HY/Hk8nk6enp6enp/v6+r0vLsswYH1umtRau0mHoe56XZdnT0xOkwNA/AMFjCcaODo8LpdTDw4O1sLa0f/75J4o4AZHjOH58fOzwTWu8ICKoiURBKmzUlVIQD6Rp+vnz59ls9tNPPznnemM+ADsQzEEQaGNg3KGUwhY7Xy1BrWG78jxvtZq/vLxAza8UVZVAdQ1R/nb7qrpKI3x1EATb7Rb0c2/L7WsTRVFZFp23Gj09PaVpaoxaLpdZllnbGM/HUICYOZ0ONzc3jeSYbBDoTyajw+GklE6Pp/F4bDxlrcWNkMbuDseqbLTWRZHNZrMoGdmuQO3h+3Oe52VZBKE3n09vbpZRFMzm49Xy9tu3b31xHsAHbjf0ypC2w7Kth3FfvnwBtEL1MDakOI4Ph4NSarFYAH4h4QAtQe/2iPI7BAm7wx6YAAjgw4cPXhBA7lLXdVVVIFmh+uWuLZdSqqpKz/OjKEpPx1b2E0VXV1d5nsOqCESgcxYCeljTKKXqpkR5BnAPHC3SNMWZMzNEOH1vV2BWeLRDr9L7t4jI8ZAChmqtQaKHoex2e1wOESF4xjlT16kK3w5SMx5FiAyZGUalQRAYVuPZlJnRsxPFqcyMyt2eWwFM9zzv5eUlCPyrqyu4MyETgvZJr6+vQeihPHe9XsNFFJDreDziGlE2gOyKcw2+C+DYOULENRqNUJgRRZEx/uFwWK/Xy+WyJdyEMYBIeSEwhvtKL6Q+nbLD4XA4HZVSMBRHUBdFEYQocE8vyxJKNmZGVTRM/TGXEJAsFouyqJHTwApvrUMBABIjx/SEUu8kSaRpijTLixxRChRK6MGU53mZ5Si+r6oKzQRapZ/mpmmasgKchbx7uVza2uI2wcYUuR0iQnQKQNw0TRRFYRzd3Nwcj0ckh5fLJcqmmVnE4iYiNEVkSETwcyzLUqxF2iQM/R63Ude1sMwLY9R4vISThO/7QeCvVitb1RDwZFk2Gse4RlgMIewMVYT34+EKTYQ1c7lcFkVR24ZZh3HUOIv9sHEW1dWIY+u6xuMAu1LqKhygjUG0gDUkiWIgNojQ0HIYui+xzkpzOO6BDo1SiGPRn4FZt7742jixHYp7q2hHTIJv7yEpd3Jc7toqMXNrnTcsTFREnZ9mL+9l135Ea4EzTIfCARVEKS1kh+cgvbZ9gIWYO+AufwHcmRn1JDxQDve4pUdy1KE6PEfD6+o98NCBsv9TD3UGJnmq7zTfw6eW5P4BRA0h8r/CUZewm7r3d/FAZxwyRMP9b3DI/jREpNe4kzBRL9NQoPaHjiAY2KEP+gBY9vqLoQeLEhESpzqblyHJy0r18pLLq3jbWLO/ZCKnhIaIn9gxaWZBFqKbE5DvyLBUgKg1M1VaOSfkzjNZBPQTEVGv3SaiVrBkztmDy5tl4WvJMI5XbTxj8GT2o9NLpqSj1YejxkpRK1O5GFDnHHHPUtv2fgxsQZ1rMHyqLxJnJ2SFkIdyThwJikikLctlImaU+PzoNWkJKZczud6eqjrfWmZmas0y+xMe+M1jyFsnI2n1SX0pqijFxIpg+08XE0KYxAnuXTti/QS1ldiaiJqmsrYejWPXlM+vr8djejwei7ry44jIObGOSLNpnLW2Fls31rJH2lOW7GSUKPaVNmEAhp/CIGZf0jSdjqM8z/fHQ9M0xqi6cVVe5Ar9LJbH4/HpKdVan/LWOMzooKrt6XSqazuaTON4lOf5KUuJbRQH48l0uVw4osl4HATB63p7OBywXiNu2W63aZr/+uuvTVnd3t4CommtsRNgJd3v92Xpo54MuHw2mxERWCVm6cUM2ABeX1/n8zmq37AVVVX15cuXn376abFY1LWFaWOXNJfVagX/CohBocQFI3g8HkFPfvv2rXNUsDgxoC7pigVvbm6KosiOx5eXF6Au+LV7YSjikiQxxtzd3dZ1s37ZENH793dFUUAAcHt7i2UCFBFEONfX18x8Op3++OMPrfV8Pq/SAkqzqqo0K8/zgsCHVLduytlshg44RNQ0TRgF6fFUFEUYBtfX1/22pEnN5rMsS31j8jQty0qEnZOibsIwVMRZkZ6OWRiGvu+JRMyM+mD45T1uNlDOwJglGUXr9XOepx8/fmwaF5IBZEf7SeBLyNxBUhKR1no6ncI4koj2ux20yygnhcX+drtFwxpYDKHedLlcwiTbWkvUNtmFlgb3HdXJZVnWdQ1Tc611Y22e5/DlwJ40m82Konj3/k5Yw9Pw+vq6aZrX1/V4Onn37h2OAOUuqi8wdNvtllmyLIMhN3AV5L9AdafjCdgRITQauII6bZoGtarW1bB/AQ7G/EzTNEuLpmn6r0vTNEkSzwuOxw0eB5CImMxaa6QswLvDxU8plSRJGAVwFgDhCnI3z3IT+JgDu90OsmzUp6LAFLIE7Mzd0zGGIBtKd2PMZrOJosh4ajQawV4QJa2ep798eUbery/WRNnG4XCYz6fowLpYLJwjAPQ+ZVTXdVnWp1MbbB+PxyCKfN8vigoBku/7+/2+ruvFfIWidsTAIlLXFuExEhe4uru7u9fX16enJ0S5p9MJtxIkel3XIONF5HA4oM8u5kw0TYC0EB7keYGACk3MgyCI4xjzARKgeDxCpIRYAkt3Dy6VUoipqAuuRNx0NCYiLCwIYtPjqWksUi7g5kejERFhdUJMi9xOXde6NkgMTibjsizTIsdEUkpB9AL6HMUeVVX9+uuveZ7/288/IxHxyy+/pOkRdUe2brTWyASKdU1T4Y6MRiPrGqXPLKC1tq5rVhJF0Xa/R0iJFS8IArTgBTWAfA4zI7SeTGZECkY9MMaF/kS6vASqesCtJEny9ct3Zk6SBH6R8/kcHXP9tp1wHYZhF1jqTkShmqq2daU0EbnxODkcDn4czReT3pLNOae1x1opJSz6DCeAn9RZbSydIy30QsPMeQ+CO3RBImcMCixlrWVFGm5/1BbydRr4Ht4AzrlOWT7ET4CJAtAjXXPGzt6bUTXJ1PXpJCIRkOZDlNwhq6Hr3QVhqrRiOp+WiDB6c9KF5KaH2kJ2cPDWh14Nukb2EG747QOQen7DcMT6F18y8WeNNMlfcqzdt5w1My1CG7jNiHTeLZBP08W3t984EIwMD67IibBi5aRV5bd8q2Y4c1KnUxchaQHdhZV7P1ZvrlQgr3CNyGWqhR0LtR1SL4bxopVnCzjVeQyZmZSwnIddRJQafC/AKmnqtBtvhpGIwAgrckws1MY/zNzqk2zXJE8GHUyHUpkf7+jwggnxCRF3RdkyCHmpnfe21zAN/4Sn7kJc1Q0H3tyGLLid3aUx4z5dFI5wV4V6Ob7kxJ1D+a79ApHlLjDoX7gQpc+mkCjatkTsLt7ZHb/VxHfn5aRpLNkiS4/ZMY7jSZIUaepcI84pEUVcZLnyA1x801REpJSyWjW2Ub5mXxmjfKO1NnVtmcgzmp1nnYS+7/v+aXdwzgWemc4SP/KzvA7DaDSZMTM5myRRWe5OpzyIozCMgyAQp/bfv4MEDX0/zXMiWszmyTg2xhjfC8PgdbsT4TwvH58fXMOj0RhpccXm+vo6iiJmLY1lZnhFq3MRhoC9BpZF/SKYVyD1pmn2+y3arCyXSziIIzMOfIMqSahryrZ7n9nv92DdmHk8HkHMANIO3nP7/f719VU6bzLcWfRXR88RTAAAC/DlyEoXZel5HnLH2HU2m83PP/9sTIu9YK0Aa3O4UohImqbGGBRuYhLNZrM4Hu33+zTNrbWr1VRrDSIch5UGOgSFWuT7D+/++c9/+r7/3/7bP8qyhGEiIL5zFsnoKA7GyYgVH49HEQe3E2yfo9GEhL9+/ZNZj8fjyXSklWetjeOItGYlYeQTUZ7noe+N4pUfBlm+rWv7+roNgoSIvn55hBx5NpvCz0FE0CUU7t1E1G/5SimYY+52uzzL7u/vUU4H6RFKLa+urg6HA8haYFboa0UkSRIiB/eV3psCCXo/DIDJMFzb7RbLRBzHoM8BAu7v7+PQ3+73V1dLZg1LmX6VsF0vyd4bETOqaRqsoogqjTGI65AeATMKHA8dObzhYaoIQ/3tdms8hZlQluXV1RUoYc/zyqJ2zvXu5sb4wMqQPfTCEq11FEUyaxdVwDUienx8jOP4559/DuMgPZ2gL0JkWNf13fXNZDaDUzhUHK+vr8NLBoRFLJSm6WKxSNMUORm09c2yrDX38Dx0EeoauI7AngpaRRoD1IXmrNR5dRPR4XBCXy2EtdDDIL+HABgxDAh7yPGbpsGjhMBMd+2NYDTkeYFz7np1gygCiZQ+lh6NRjc3NwiW0jQ9Ho+IlFarFQhvnAlcWZumKfKqreVQiogQWUVRdDgdwWHvdjvMAejTgjiyXWte1F6naep5XhJGmPC4rZ2z1p5IYAkKWv10OGLrSZIRgivQ8/C1nEwmj4+PGNgkSd6/f6+U2h8P8M4ScSLy9PwEUVCWZXEcIbWIyle0mUvT9N27d1AcYSnYbDbH/cHWje/7pJicuMYyt/JcBCrWNZhXWZbFQVjVhTYMwUz/UEN3gbltjGDeYlu3ztZ1/fLycn2tYZSJ+NY5MuaMlaBHQmwGURMMCRAK4ruSJMFIjkYjRYyvsNYy+1EUaVa2aSgI8jwrq9y5ZjZJFrNxXhx9XxFbhNNEVFVFMh5xJ77tkIP00LznmJGz7fnmN8KYXprSAcoLla8Tq1o6XDqKVJgVtzoZ1zGT7Ve/ATk9IGFG/Zsw61aKwex62DIomeUOckFcAzqSmZiERLomQWejG1wpt/+8qBxVP5TnDr7iDeptg4/BRy4QMODuEJjR/190N/yr6lra4wz7MRnIckQpA1B7PlVpm3MNuOcziOp+c2l9I7brXNsZqLenIUxMSkjOgLjHe9JNof7a4fozvPz+2t+MZH/+g4FACyQeRBbDr5M3I0/UEumqK7RoT1sRy3lW9EWrhNxDd/Q359N/kVGA1u2XsohixUSmTxn0QYNgXnErsepPC+/QXZVnd/T21EUayOqHRyNySpnuDeJcMwyF+4etn1x9huj8jQNIjf+HetDzxQ8uGG+QNgBg6an6y2npHHV9tlQvccHTJYIWZarrkIZuR0RE1iF11uF75do7hZxOd6etrUTkVKRFVcznEy3ipAk93/dtGIZS13Vde8bzPK+2jW2c0kwkrNlEnjeL4tnow0/vF7OJr4O6KRUrJitSNU1TEJFrGlspxUozNSJkiRtrm+x0YsNKj+rGNU2lNGliItc0VZHXzPz+/i7wozTNi23hed5yuSzrgpmbqt5X1WazEdk6YWPMp7/9bK01xtNaF3n17ds3EZnNZleLK6RZoQbBZoDVfLlcLhaz3lyCiHa7XU8D+74PE0aoTqu6IJYoDjxf53kexQGY2tVq9e3bt8PhEAQRmqKj3vR4TEEoAjpg91osFhAnzGYzWJSAS4MxQhiG0+kU0L+fWth0k9EIwAIy0Pv7e8f8+Ph4dbUioufnZ2M8Y8zpdLi+vq7r+v37O5hpjkaj1Wr1/fv3+/v77XaLcsbNZnM8Ht+/f79arX777Z+YH0AhZJ0xpmlqqLfR2ikOI/jtjEaj2Xzy5+9/+L6/WMwhjXh/fycizkpZ5vv9frlc+L7PrMDPeSZYLpdRFJVlXZaln/gIQau82G42oriua98L0XbeGDOdX2VZ1jTV9fW7wI9329PplG9eN55nxuMxMyMk+PPPPwGM0HlqNBohkwBlhXPu7u5ORPb7/dPTEywskI5HrhygHDQkihy01ofDIctOvu/f39/DWQ9qcrwmk8nt7S0qYrEI3N3dQYoAm5rRKFZKff78eX88vn//fjqdALY2TfPnn3/GYQR3mtPpBHkGmGnov4kcrNCBPBAczudzePCD3F2tVngP4gcsQRBfAbJYa19eXt7d3cMTKQqTb9++9TBis9nMZgscE6QjRFkQewBA9/lxZkbk0DQNxs1Ks3l9FRHwoEg73N3d1a5VmEC5gZ5ErmtlICIozazrGreprivgeMjE67qeTidBEGxfX5VSnZKhtRm5ubk5Hvd5nnYBTLXdZiJ2Pp8jVBPhyUT/8ccfoKurqqqqxlpB/gphW1VVvhf2GglmLsuSiKEgB28ERh8ZG1w4RhtD8fT0hBQBUDvcMMFYT6fT2Wz29PSEmAFNlOBk1drLuFO/NZxOpyQZBUGw3++T8QixBHIgImLrxiq9Xq/ruobVJqIF6L5sVaP12HQ6RQdiYH1rm69fv4Ju2KxfPc+7ubnZbre73Q7oHJdzf3/PzHCR728x1qIkSebz+fPzM0q9m6a5urqCTw7s2AEri6LY7XaYmbPZ7HQ46LZPQr3bbIlosVhAJW8C4/tGa/34+JgkiWdMkefgvoBfoziACBBbJyRevbsudZI2JDTQVBVdtJ1zm80GrQDyPJ9O51pDnq6ZdFM7JjHaV1yTKBKllYKg5eXlBUvr6+vrYrHAgDPz8XBEfy5MUa2172lFKgxDYziWME8P+/32008fjl+ew0hPpnGcRFqZLhki51Q8+lMqgzBAd5bw0kmH+3/2KGKIUgbHEST5hyii0+6e+zqpFs90RnbU6ultV8ffKyOYmYTEneEEd8D9jFvkTHXTGYqclS1vgHIP3IegtkPr1DfIGR5wiGREED/YHncxM7MmEmbXXftF8uHH1xBu9f/sfx6eM/cXjOxCN+A/jv8ZofVmLOzenAO40bZIlDTiJYZfDfpwIr4iasUROA3dFbBqcfZicPh85P60QeSeQ6O/HIdhOKF4cBiivv7h8szPqJ3w9HUnwsTkhDH6g5HsPf7fnHCXmbgIfujiRrekMw7LzHAqN8PrHN5Cpc7Jjotr7MKa7iTawzknb+TyHQ19Dgzw7IB3dwMX1X766i53NcTlPVZuX4o7uQ71U6R/Pt1AViUiJKSUIsWD26oGfZOoA+7cwX5Co2bXDR9kfN1tUdwpiMRZGgB36jruOnYs4gV+EIXa1+nu0DSVJWur0lkr5IQkzY44X6UZhFbR1OE4WLy/Wb6b39/fB0YXVaVIiNv0blt+WlTM3DR1XZfEjecpIl8bj4QqVGHW1WKxSMYTa60jVZZlkvjL5VJr7/H5KctyzzdxHFVVIcTH43G321VNnZelUsbzwzCMweSJkOd51tq6thA9K2mZSN/3wzCGCvl4PEIsAaEqSFaYunz79g24JAi85XIJhcyvv/4axQGocaTRwZvO53NxAi/Iw+EkIuPx+Orqqqoqkdw59x//8R9E9PLywl12GBOmJ/zgaeP7PiTCRATXGnRkBKE1n8893wcegtDWGFNUdrVaPTw8bjavURTFcRKFCbj2uq7RgTVJxiiGu7m5KcsS2/B2u0XGHIWqZVne3F6hAlUpFflBHMez2RT48pQeiqKYT2eoWIV+FLwptqLpdOq6PpeH445ZNpttGIbj8dhamU59pVSWFp2NerFer8u6SuKxMR5+2ee7PRNEUfRv/7gjx1er1Xw6E6fquPn44V34b1FWZLC0E5H5fH53d4dPQdkMnUm/7F5dXeVZ1us0fvrpJ1C2VVUBK/cSWzyDcI2sqgo1yrBAgZEfxM2k2Pf99+/f997P8WgEynyz2eCXWZb9n//n/xl42vj+ZrMBjwiKNAzDn376SUQgigCzzp1B9Xa7VYrA7I5GoyAIbm9vod+Yz+eLxQJ4XWt9PB6tlf3+CEVQWVbOuSRJfD+I4wg3GuIZiLiA7aB+xpF3ux0CD6SMID0CfKzrejyKRaTHMUSEoa6qygsMavuwwYN0LIqiEQfFdp7nkNHDFBLhB+YqRhKmnJvNBgSkc+7l5eXm5oZZoPGAomw+nwIxtwb/43EPs1DLgcn8+rptmga6I7RRM8ZHhzgRAYxm5uVyKY6zLPv27VsURVGUIPsE+x0RMdp8+/YNSo93794xs7XSN2lCD1GkNZCFELFB4AWBV1VFHIfGqM1mPR4n6J42Go0Q7TvnoGpraiciCM+m06lSOk1Ta61jCpMYtyaO47qssFZD2g4ZPaRQo9Fou916SmPwsW5gGQnDMIpCBLEQESFrN5vNIKZH+IeVDeW2qivDRTk4MjyQ+hDJdrvVnsGTfnt7qzV//vxZKYUuB7jL0+kUBe5EhMJxLGJaa9/34zh0XYsVEblaraxtsizzgtYWsE1EFAWEWH1dOIYXT3SUtAXB4PijKDodU5TJ9rIi/AmRWBiGGGfbCUpRub5cLiFJhy5xuVyihmQ0GmVZijoN1clikRcdjWKsZlqrKPArzcfT8XQ6zOZJEOooCkRqYm08LaKELLPucVuvqh0CXB5IefmSMR3+fIlAHF3KTqy1SrUYvYME0sLkgWd0C/0B3FpIjZMBXOl10qoFyj2qpTNM7+KEIXjqMcZb4rwPJNxblPgX4pYe7bTXK2ePDJBr/Ygxc6817zDMwGFmAKKG4/wGtV9gzcE75YdWqdLpNTr0pUTaWlUUogLH4wDnowmxImaFVFV3cEf/by++DISGwL0d1RagnrnmbhaJDIDixV+7hA+RQmLkh6/9ixMTcf2tJ5j06zMQF5Gz680P2J3a0oR+YmOgWmQqQm0zKG6vg4jZSYtKhzegv+zukzK4kdRVSp3TN/1/bWedjpQKPnFZRoCxvuhrNTyB/uG/uObL6dLdj/P59oquNw9wP5VpaC4pb595yF36JwfjTo7gfFkWNXVFQlpr1fVuMIZa8VPLuJ/PuXE2TiLFJE1T12WYnBtDKvEaxevdHlInY0xdVjrwfbLJdDy/uQpHXjyKfK2dp11TWWets1oxC1NrOGqLIqvr0gtMI64ocuNx4Edw7R2NRp4fosi+rEvPC/K8tK55fn5+elkn8dgwaa3jJDod86Ko8jy34pQyxgt8P2Tmr1+/MrPWhpnn83kYxGB3jrsjwFNd11p7dV2PRqOrq6tDeoJYFq2CQMgtFovb21vMB7hDYptPkqSxVQ99ILSAbbxW3s3NTZIkWnsQ5IhIVVUwVj+dTugkClNkUIzYXyGFR5Fomqa3t7eoYMOeZ61F3xbIT4uiQMUeGPeqqpTyiiKDc9+HDx9ECBIFoVYbOplMvn9/LMsS3sYwgX54eNBaX11doU6Lma+urpqmSdOUiMIwDDxfa41+q2maOmmI6PPnz8wC08xT2oyi2DlXlg2QX1mWXmxmsxn6jMKEEZ3GmRn5dMUmSZIwjA+HQ7nd7PabwI/aFb9uLLWPYd2Ur6/xdDoNA79pGmYVx2FRFC/rR2INKerpdMqyrIfF6/UaPj+w8YbzZhzHh/0eUAyBAe4agB0NnB8A7yDyvr+/d65BOgJOGqgrIKKrqyu4akRR1KognIO/IVDIfD5n1v/4xz/INbvDATRhFAWw3vMCfzqeZFkGDhISXlwI7IaiKEDKHhYlr6+vOAcUYVPLl89ms9lud4AGAHQprh1PP8I8gFSwwsDfoACjKLHWPj8/Qym+3W5Ppz1CF3iWf/v2DdtnkiTozIqJysyHwyEeRUhbIQWEZ4qSETAfGvF+/PgRySWUYgM9f//+HVWSTdN8+fIFyRxAtH7V2m6316uVUirPcyINbhvxw36/haoHUxqeHkD28/l8s9mAA0YBKBYTUNRQvjW12+w2iFIAoIkoyzJIkIuiEMfGmJ9//pmIcJIISnVt0CErTVOoX2AHBLCIAH46ncJBfLlcApmhROHl5QV8+Xa7LYs6iiJgxJubm7KsoDJSmYcnBVKi1WLZGjp15fJQcLU29nVd1vlsNkNmAGsy7CYfHx+IKAgC11isKrBH9DwfFwuJ1PPzM4yATNd3mYjaXr9xhMKSHlX35TRlmUNhCL8jaKsgDcrzdLFYlGW522wB619fX5klyxrIePI8B5g4HA6j0ch1TJnntaLnXueGtQjPLxYrIoIpExHB0AY3JQxDZo2AxDnCKSGeAZpnZmj52vlJhLQG1n9opTDrUNQxW11hi7TWRlFgOjdeIgqC+Hg81HU9n0/rprq5XaCvjjFGa65rK2JJGU8T5nPTnNEnXjj/oVyEmYmctDLXCwDzBj8MMYyItBaRRK7vEuNasXLLSPL5zcPPdtpu5jaB39WBdiivBSoXZt4XjB5+80be04F7Pl8Cn99J5Fj0EGgNvvMSxjg4V55/4wYNnoavDrm64XHeQPAh3KJLWCUdSWqbRroCXNtZy4uI1ucCXHFn0raVKJ0p1/aHuq41Wl1Sq4No4w7118HYxcnQWX3dj8xwoIhJ6XPvpOH0eDMyPRYl69obTfjPj2aGF2eljcGl9jcRJ2kvsShzWwZJtp17gz8pImrcuVahDyqUUuSEmIbSeQyM6afFUKYiIn2KCb93zjnnjDJWrFIirKy4i4nYTtAWOrSnKiLcdMN9TqlI18G0HxEUnTAzCXoMO6w7Z4hPSJnp/o4ys1bKOe2cE9i+MiFI0lrX8DJTSojFiThCxYnjhhUjE1eV6D+PFXCQZVPnKnVbNyJU1eL7oTHsaeXEBp4Ra4lU42oiMoqtOE0SeH5J2oN2ubaK1Wg0KtJTVp4UW2NIad0U5XSUbPYHpVzt6koXySGrQta307imf4+u5v6EiV2VVbaWptZKac2aTFFmxveTKPaDMCj89euTE5pMRqe0qqqKKquMYWX2x2fjeSKsWR022ywvd7tDXpVRGI+SqCjr9HDcb7a7Q+pcQ4pDPyDFVzc3IsKsV7O5tfZ0zKBBdJYEjmy+dzWbojDxmB3TIv32+M1aiePweNyvViuIFgCSULyotX5+ftaanTSNrccTGGu49frFGO/Dhw9V2Xz//t33w1EyAzEJIfvr64u1dUfA6ziORdxkMlqvn2ez2fv3dw8PD77vN41L07Sqiuvra63V8/MjaOOex7q5uYGBo9a6qorn58fReAp9BfTE0lmILKbTyXy+37db8veHr8dTBjF0mqaNc3/75eckSX799VdhYq1IcRhH8EgBYx36rRUDbOZ2r5vN5tXzvGN21Fpfr1bfv3/1tLm+vobVo6f0KIqzLL25uWEl2SmNoqAs88YysYOO9rDbp0XGLOSCyWQiIthEwzggNY1HyWazCQNYwYS+7xdVA6AvIp9/f4zjw83NTRRZEVlvtqDcosCLQt+KQ5agZ/UATNM0vbm5AWxCsBT4ZjSKd7vNbrcbx0nke8F8djqdLDFQ183NjYik3QtlA0pRHMfT6RSyltY7xRgigvUQlBJFURCb/f5AJCbwwzB89+6d8dTz87NtmFmPRpMgAIiMkE7J0+zh4QErBiApYrzJZMTcuoAjhIM2xjpWxhNxwvS62TjnkmaKJQgapCRJ4jgmxd8fHxaLRXY6AsSg9RLg7M3NzemU9bDs+flZRKIo1toY4zEXkEF//fr1v/37/7ZcXCEbg8gTQgvP8x4fH5nZDwyURZiiMOZvxKbpqbUHGY2qqjTG3N7eaK3LkoDRlVKdDWtqjK7rSkTevbsVkdlsslk/9+o16dpCTafT/X5fFMXt7e1sOu1LO1CCAoLf8wIota6vr5UyqNOAeAN1Dlrr9Xp9PKTj8Xi5XIrI569fjQmQnkJKipUx/z++/nQ7ciRJEoVVbcHqO7cgI5eqnK7uqT733jPv/x49X89SlZURGQtJ393h2MxMvx8CwEFmzfipzmaQ7nDAzAATFRUV1bxYLpxzN6s7xDxE1DSV9+L6NpxJFCNTB8k4EZVl+fPPP1OPJL5+/fr4+BE7DtxdiehSldqacKmrqrJxNF8uXtav2+2WWQUJbVUrIerl9YfDAWYmhtXldCYibXiSZmmaTtIsjeLv378fDofpdAqvKkDMw+HQVM3Hx4/4/WQyLYrC+xDHyd3dHeT7qI1xzsF35XA4PD4+xnH8/PyMRAfeVhRnnL8JpCjcrlax1c/ftnmaisjlfEYKKE/juixOp1OSZNbGxkSLxep8Pv7+++8QdBFxXbdZlvz222/OuefXZ+dcPp1E2lIQa63WVtso0AW9e8GMYFUz835/bJpmtlh6X4lImmdVWZ+O5yiKLpdqMpmRVofDQUnQ1pJSVdP4spxMJlGaVE2Dy0zirGzq1rnatc45ZU3b1MhFGKsSjliJYdu49ng45xM42BjxgQ0pEh1FSqmyrJS2yhsittrk+TSLMw4UAinF1lofNFFofUNKtNas1QCcFOvgqSc9h9Q6j6nxDlgHQc9EzcYD91IQYe/bXivSiV6UBA5dw0vAxBAohKAI4JW7eIBgdA7mlT31Wm1lOrZPMZPyPjB7Y4wPcIx+nwcQ1kKDPyBkulBvMH6QXowhvfT+DY4kEfIiFJwa8JiMbB99aLvR6RlnyIFEmEiBRMW3Q1oZyAthCJUXIgqIVfgPqYA/QlsaBU5MRELB+eFi8Unn2/5HBXl68BJCkI5vDiQsKFTtsK71LByCEDppSgjkiFh1QFYppRQNMF46aInr7Ye7h5LXk8FSYYS5QgyfeuqYeSXB9yW84nvgB4E4daw2DRUCopRi8Rgoug6LEFEbPDMrrYg5EIWuGynpNxL8TkYjImQND8ftJR7MbJQWEfGdsB7TSyRs1ICxTUe5exExo893hxug/Hjm8NcANxjpOpP18Bon4YlI8ZVH7w4LIRLr8Z02HH8cAHVfLUykuyB49M5hFpmZemQf+tqv4U9gxZxzQYQZRdZdQSrEbeilq/o+rM65Xg02KpA1nauRcy644L00rbS+UkpZa6wWYdLSVciJSFC4TtFaRxGKvRoTJRGLCy0pbpqmbZvZdMY2Ki7PTV0rIRalmTKbOTlzYh9/ePr3H365zzPxIQT2EpxzhtkYLeKatgVADN6xCkLee1/XjW64qXwQz2SNMcilTqOEmSb5JE3TT5+/5Xn68eNHE8Vfvnwrq0Zre7lcHj/+lGXJdD5br9cu+DxJPfHr66sStVqtbm8zyE/Xr1uQndPp9HQ6nE4F0BJK3KDQresapBR0kCD2QJAvl/Pz+ZzlSRRFzrWwNSDi8/n8+vo6my4A4M7nYjqdfv36PYRwe3uLVDuYbBEBFkGFKKzBB5MEkEBpmg6yUSBv5OXRLAY2jqgd3O2Pi8UCQhewYt77u7s7pRQaeq9WKxBpZdV4779//x7H8b/+63+FewaWGWrgQPQCkRCRUzzUo9R1/fj4wTn39evXOI5XiwUMqidZnmZx3TeQDyHAYuLT538E59u2VkrFiQXLu1gsfvjhh6qq1uuX7XabTabgqtvG29LWrQPe8q5zyeS+GPfbt+eiKKyF1vzSG2LWJrJ1Xbssb9v27uH+hx+fUPBX1/VyueReUwHhLzNDCq9V16JYa70/HV3dTCYTZj4dOzQDbh4rhDtrF9ZaAbKDn0O5IUw2m6ZBU6HT6SQiWT795Zc/55O0blv4pXz+/GysIjGI5VBcyMzQskMlNViSw4tmPp9PJh0jiLUBicJms3l8/CFNk8vlfDwerTY2iS9FgRAFhXc4SFlXg+ABhCgWXpIkHz58iOM4z6cgvJE+gscIIkDQnCiDhvk9YiEc/3g8QgiEEkasGWzAURRVVYn1gDo/gMLB//R8PqMVsepLRzARINqhz8H4wPk0jmOUezKjmqY9nU5RZKrqkiZJlmXaGNR0Ckzl67quu76/VdUwt8vl0lqLTIUePE9tMptppRSEQGjXMHArzBxFURwZWMR4J0PwcD6fiVQcx865+XyO2UT5gXBA1o6I4DADQTNgNHjiNE1x/DRNQyvT6XR5sxp80L0PiPOJKMuy6XS62+3gagWDVzxtEJ+gYHeoIQ4hIDRFx9nlcikzr5Rq2yZNE+fct29flVK//PJLXTdFUQDQ41kBKh2pDPwGHVUx/sICN/fickKog9scLZyly269TKf3mDKlzPF4VMQw5wULniRJkiRNU0FohzFBUo6sYA1gNeI5iageQ9G2rVIGQaz0FcnAKEVRKGWQcDPWRlFkTVynLXxmcIs5F3pPGINQkIhgzkNESZKcD0cRub1bwQ12kk4hhJvNJ+gObnVnSG9tFGfpfr+v62o2zSaTJElNEufGJIEVheBdYA3FRcc9K/VGJCMiIh4QW3VkpwwQnPsX9ZpVEXHeDUCHRzLa4eAsHSGox54yI/g3EPTdLzvE+YZHFyYJpPXYAFFJ15iSBo0x3jyIDkYnRgLNtwisD/mqG3mjonlzcqOzGp1wJ7R4B6uo7zx05d3f6knevYaxGo0D0cigpr8E13/1GwXOcI26N6QfCgy8CyEELUo6BTLDyg/Vt8EzWsqy8orBy0sIQemAHA4RhUBq6MNjrkiS6KquEaKus2p/OcMP3LHX18XwdrrpzTvfMeqDMoref7w77B+0NN0Yjpzyh1HlgXf/wwuHHWRO/e9k1J2KApMmVkozXGVodA+8uRlGszisft+3uqWuAuaNJkmY1agKAb9XynS3zPh+6E+U32L3LrAmLTLY+wTpG1/J9UUiRBwk9NW0pPsyYpEuZBpW+1WPxcxdAypmbLEheKXwQ/dF0oowQZ3ZVtL6AOJOmKLIRLGNhVQosQFw8NqwwqCrxrIVIW1TY1pyTSBhzVEex3V4+HAbiJ/Xr1J4zcqLMGnXeLFRupwvbxar5TQP7MvamziEYK3Vmp1rvKvh5Omcl1AV52NZFWmaxnFSliEE37YSRWo+X07msziNGtce97vX9XMIYblcKqWqqjmfzyG4PEtslDw9fcizhShxTYsN4MuXL23rbZyyktPpBF1BnqTlJL0UlYhAWf7wcLdYLNbr7SDOhj4Hsl0ighsGWJndbjebTbz3rg1ZZkIIx+MJpWxJktRVCw2x914kACJXVfXt27fb29skSdbrLTZvyDBCCAgPsJGjz/zNzc1+vweXCczhnEND1g8fPjAztlgi2u/3zDybLWBQjYYsQCFKqfV6HSXJ4NGRZdmHDx/glPLlyxcUy6LcDRsAgMjDw8NgcOma2lor5CEZIqLj8Xh7exvF5nw+Hw477OsIFThIlEaA2lVVgW7HTtkDX900TWuj8/kIFHg+n2H/7J2ArPVCkJxaa8/ncxwnHz9+vL29s9budoe6LsFJ7/d7rfVf/vIX2P9/+fx7URRewul0Oh7Oi8VitVoBCjvnNpsNiOq7uzvccd410rc378CBD//4xz/AVQOXQyGNXAe0EHFsoVfZ7XaI6/I8RyEgqHfULsdxvFxNo1jVdXkuL5FNYBedpZP9/sjMcRwDneAhvlwuAc6gc3DOiciHDx+ISGubJLooSmZZrW4xhh8+PIkEpNqR5UdsBW8ihAEQd3kJEBI83N0757SWtvXWxnd3d8aY8/kMGw00zLLWJkkKoX+noFNqOp1iAUMkMFwpBBKn0wnOXfBlx+1TlheUTABGQJOGWAJpBKwQPMJQP1DXNYqG5/P53d2dMaooijxN7+7uLpdLlmWol1WK+4ajdrFYxHF8Oh6jKErSFJz3+XxJ0zSELtc6ny8RNuCEsRSRjWFmpi4UCb0uvyxLVGsgmaBNVFcXRLZN7QD3cX+F0OmjgG4hWRGRD49PqFpO03yxWBVFsV6vvZftdqt6E0k8KITJGGOUHvQ5GHAims2mZVm9vLzkeT6ZTGaz2evrKzRdaZrOZjNgSiwVGNf8+OOPIrLf7wcbzbqu1+u1b1s8W5Ds+vjxo9Ya/IK1tm2bJElublZxHHnvRILWyrkW0T7SFFm2dK6dzmez2ax19aU8U98nAXkh6OiQt8FjB4IozaQ1THVr2BbFsY0i07aMWMhYjYIHpVR1KYcNFKJN3CbOdT2MrbW3t/dQ3l8uF4SU2lhUXWNbwYZrTUx9HwmcZNu2eT6Few8RYRECuyMIRB8Aay1MS7Eysyyrm645q2+bTm8TZWgWq0TyNI26Qot5lMyVTklMIEUSVOjFz71blBrZyvFI/E3M5K+s8BhLAG/1sKDb5RUzgGV4q0keo3np9TBEFIh1X74WentrEiUSAiseAzXFFPpGMYOwewSZxifJvX5gAC49rBoBO7oiYDWS7I7P+Y8gbzg+9VKZd8hqeNsggxERVsMZvvmK4YTf/Was7Rl/qVx52zenFEbSaOAuMO7keqKZtIgLxEgBaB0rH5QWpUWUKE1DaQEOiHHWxChOaL1Tojo0SCOWPYR+mTC/wX7D2L755RDCjLEu8yB5Hv+JmJlFEwkGeXRMUvxmcMYz1X9cjf8pb982QN/Q+7D3i//aiWyslRLFmlkpZYiDUjxUBjN3DZK01ohRPFr8UhAKIkPfsuF7pV8o3b+9kLoK7QXR//g265tdXZt1jS+DR/ckfgielGJPPgRWCr8fF253nZsgbhlufni34829Y4wws5JO+SMhKGKNsCF4FwL11fre++A7Rr+um9aHQJoN7kJRIQTX6LZVLCEEJcGIMkYTsfOelfUewUSwrFjbxrskTZc38Wox32x20jYSHDFbbRQb70OymMZ3S60Ct3VssuBC3VaivNHKe9/CFDzSwYkjR+J9aInCZJIxG+amdY1iv5ivoiixJm5q37TtfD4/noSI0iQJgcBmxfGHJEmMiaIoOhfNl89fTpezMSaKE+9cHCf39/dZllgbYwOGjcnueHj+/ioikJckSTKZZJDknk4nrXk6zUU89lpr9f39LdZc13BqMkHaPU3y8lLvd0doZy+XC7ZPAG6ifdu28Hve7/fW2l9++ZfD4RDHdrPZDA2D4MoSQpjNZsxdI3H09SyKoqqqP//5z1EU/eMf//j9998nk8nr62scxz///PPDwwP4QkhswT+B3AJmIujttIYk49vXZ2hkoyhiobZufnj62DQN5DEiAtIXrg5EBPMcpbtY9MuXL9jYfv/996enJ+fMfrsTH9Isri8llBUheGvtbrtmZliRnM/n6XQK4m29XrumHtIOeZrh8lEAAOavqpo//fknItqsd1FklVKX87ksy/X6JY1jq3VnZVjXqI0DSCWil/Wr7dsiotjUGINsA6QjSP0fDgfioIghs8bIt217PB5/+eVfVqsVSESIalA3eT6f5/O5tbppmv1+D3cU9JtErgOhDgAuM18u58vlfD6f//Rf/uXbt2911f7pT39qW691gcyJiMAGBIrk3W4Hwhixk4hgCmBlSESgaYkIF7XZvEIRFEXRdDqH4h8P7hAkTTNm5ZxjpdrGQXS+Wq0w7z30DOBxsVcVRdG2DlMGHbDune+dc5v1DvTkcjU/nvZ5nh9Pe2ut0rTbbx4eHrbb7f39vYgQyXZ7cs51bXezDLAbGmVkkxAXQboD6t05B5cV1K2GQFmSAOwiwTKfzxFIM8vxuAfrH8X2Uqj7+/skTfF8i6IIzDGQG3A5VmAURVk6yXMB0Xs8nKdThkaoM+nXuixLEMZIv8hIbNk2XYYkiqI8zxeLlYh8+/YNQQtWQl3XJrJ5nqNX6+fPn2G7BLoOAYO1FiUTgbr+O3VdX6pSAkMLjpuXmXe7XZLEWquiKA6HPRHleYaEDxaGcw7h6Gw2Q/KnbVtUcyJ4wO2MYvFe+R2G3qKgltH37Xg89kaZ5uXlBdUypu9sH8cxcXh++Yavbtv2+fn5cDjc3d3UdUtEl8vlfD7e3d31JkikWc0W09lsttlsjFHGGNc2x8NhuVwW51NTV3VVGmOyJBUfnEN5lfF94ydoWgC7jTEQEOKJ4b1XrHEjBDkjAhz22ePhjKAFj4imacBnQciEsPOavg5huGpNnKbpZntGkFPXNXL3l8tlOZ+d22YgaK01VVWWl8vqdmmMUYpmi5UxOasoiOoRUuhYTlGByJOwYVZqoPKUCtL1apQggeUKQ0cYoIMNYeiL2MOjAWBcEQWNeil6z/qKtDyJ6tQssMxmIoJCgglaAJKuYVDHA0rgNoQQRKk3EHYMZN9i2WsR4PXEAg9akD8C6O49V8T5XoPe/6Dh6T4+goza0qMxyzA+77BjeBffjNTw43+qq0enhsZjdF7EzN6j8QjWQC+N8BIELTg1cSBSIXRGK8Z4pckwUddkSpiZDSuKBpRMHd7VRMr3/d3Q8F7GX//PXqO/8vjNV5Q84unff7Z7mxCKhplFVNc/lIhHf303pEQkCtYz6t2Z8bu3jQwVR78c6d27VlTXT3mSIMGMk1Pj4EP1DcmG17tFA1A9jMXgco/T4JEHfP8GvLrU0jiMUKMqCuHuf0FESFwIPgRFRJ6UUtqMDGR6ghzBI54yIuhgRlqb7viiSA0mU2oYI+ccVE3dWhzl6XBWllmzqrX33V3jWev+ILj4QD4IBRYFRyBPrD2FEDQr54K1Spjqps1n8z/96TZS0ZffPlHbKmIfgtYi5LXl6e305vHhbjq1irVmrVWofRTbEIL3opSyRnvv6rIhDkaZxWLh/UTEN42PI7ucJ3Ub6qo9nYuX9SaQGKN/+PEpSycSXFflHQL0lG1dOefO5+O3r5sQwizPbBInSWajOMsm1sTe+7I42zj59v3rly9fiqKoqjpN08XyDtleUHrONev1CVYV8JNBfhzqlOPxCKQ1uBxUVYVWrHXtz+djCBRCZ1yDxPfNzRLGzzDX2+/3j4/5zz//LOL7fFnAoUDIlWWplAL0R8a8LMv7+3vsNB8+fBjo3iRJUCBrjJkvVtho0cIJ1Dhs5tkYtHFBM6DgCdzq7e3tZrMBff76+qqtQZkXLE2w8Gaz2TTPWleXp7Jt28ViDvHJbr+5ublB8SsRxYkNLYoOEyiOJATgG2t1Xdfn4mjsAvdCXZfnM8PhxBjz+vq63x+yLLu9vc2zKcIeILA4jhfLWRJn2+32+/fvRAq8qXNuNZt13YBZHw4HeOAwc+sd+Mhv374BpH748AEJhK9fv379+hUXZa2tm/J8udRtw0Lg0kII//W//tfl8qaqqpeXFzCjyO0gBhORw2EH4hnJCullJ+jJysxg9EVkd1gz81/+8m+1a7N0org6Hs+oe0amBQqZKIpQ4Y12MPC4QJQOlwwcbSiJw+t0Ojnf9E8YHcdxFMVVVaELJmAf9u/IGHCTOJr0ShLUTzOz9x4Sqabp5h1ykaHlatu22+12t9vDCREVk3DkQAiBEsyet+6SGBhPQCKwBjAehck9qgiQ/oI/KdrEor62KIr9dg+zFEiVwCJ3z/deFnI4duFxCB6hVAhBpKOWsRcycyeNsElTN0VxmC+m+93xeDwNOiXcfYgltNa46jiON5uNkMqzBOMmgRFuAXwD0gEB4+Na69lsdjgdMfK4SbFOYKcDlyF8XRRFZV1tt9u2bhaLhTURGqYibMNpIKzabDavr69KKUjPy7LCfAGA4gHyt7/9bUiDYHUhhYJdHQUASDuICORnTVs532jDzjV1U8ZxXDe+aSviUFVVPknhIgraKI5tXdWXc2Gtnc/nURQVxSm4tqnqqqx924h3eZr51hWnMwI8WLCfz0eteTJZeOcOdV3XdVWVUE9h3Ia1jY7RELMhs4Ft7lJe6rrNsgl2RgQGyujZbFaVdVlXkHFCD3Y6FS4EPAOpk0NQZ6cGQWYIyIUiSEBWAevQNy0RIcJXSsVJhAdIZGwfOThomK21TV0bo9I4IfImTrJ8rk0cRIkXIq9ENLNWSkgNyHuodOyRjuqz+sTMxNSbhFyLPmmEdLscEbP0tnj9of5oSgEMx2jqAvDhO++PPrYHSSrMXWNHPTCjcORrpevtNYQrY7BEnfd0h3/GX676FpidEEAUEYxVuD+r/t0jRcP4xW8FEdR9/orXh3AF59ZZzv+BPn8H3AcQOBx5+CJmHn96gG0dOO+VooPOGSWaAnTlDRETK2YtpCRI8CRCTWii2CgQxUpUB3RZsepUQABvfU5GocuVKEjGh9FWSoVwZYGvuPxtfDK6xj6o638YLmqM74W6Egu5Usx66PyKmRpNwYiA5jEQxxveN5rtIfG7XI0fvwF9prjr7DQw0T1wHz7GvSnpu5QNBoiZXb8gZKi3VUzE4a1ATfVsf1+oisNeJfXvVs/41Pv1RN4H55x3wizGcAiBnCKUevSe6qHXEslIoN8dDaacqjvhPszVENwTBSKHu8b7TsynmYm68nYcPM1i1bjGBReCZlIkioIm0kqLZxExShthFYg0KYG1DrNhra022uvIxvlischMdHzdH9Zbcl5pYkWBJbhGpzpbJHer2eN0kXPkRTgEbRi7Y79Q+itidq1oo61V4r2jkigozbmJTseT96FpQpwkIchhf8oncfC0226V0XmeR1ZX1SWO4zwy+8Ppx58eseIPp6MxiiSEEKr6UpzLTsEihKe2MRpmLCICg2GtrHNutVpJVyTA0HLA2AEmIZNplk/SLJ3AlrEoypeXtYgotjYyIVDbtpPJzFodQriUZ2NMnNjL5VIUJwD65+dv2+365uZmvV5rrbFBAo8+Pz+DFYNgF3jIOdc0zadPnwC2vPdwfAfDBx32bDaDqAMEklIKXP7t7a0oNazVJEluVnd1Xc9msziOn59fQcsZY6q6hkgUKm1giyiKyrJjkeu6VoqnWb7bb+7v77Xm7fbIQl1Z6m7ftk2STOOoa5mUZVnTVCL2XByD89iSRTzQA94DVUaaxtDV5NOJUp2/O/TWeZ5P8lmaJsCC0+l0Op1DwXLa74V5NlvAjK8oTsaY1e3d8XiEvSZKSGfTBTQG6/UaNB64/9P5AIITCg1gdKQ4vn79ejgcYF899HICMd80XVsiGFx0bPRmA7kLYidw1RO/iOM4STJqmk2zWywW1sYYWGYG7YpdAUgCMGuxWIjI4XD48OHDfD5nZgALZoba2DmHGta//OvPWTZpG//p0+9A1XAZQsoImCPP8zhJhkTKy8sLABwzg9SEJKmqKmaFUBPSdigloOeBNEhEPn78WNd1cTkZY5B0QskynOOZab1+nUwmg4leXden02EymXnvF4vF7e1tXdeIFbGRNE0DgQ3o3vl8bq1tyuqw3REHIH449LV107gW9RtEIcsyVpQkSZYlRlnnXJCuLXzT1EqZ1Wry6dMnEcGIlZcafQAWi4UERhIJV1eWpbXRanXjvUMlKARIEMAkab6YTxHbKO5sEEHcvr5uQi/PwCVvt9vX11dlNHAexEIoZIdeH1w4rPfTNC0uRV3XmlUcx613dV07V1gTa613ux08oPBd8KbEwsNqB32AP4G/996jCwTMYT58+PDjjz8WRVGcTogPUeCO7ND379+NVUSEdai1RhCCaZ3NZoM+Cpqc3W7nnAPRYIxxrtFaPz094en9/HyYTCYDTlKKptO8bWtw/Gmaeue2200I4fb21hh1d3ezXm9RRoJ+t5PJFPwUApvpdIq+p1EURTaxtkWBCsRp3ofyUk0mkzRVgaQsSxG21iplqqqycVzXNRpaaW1ROA4B22w2G7xN4fbb5VLaNoRAPmCdQ84XnA8hWG2g2ppOp62rm6ap69q1rRJazuarxcwzJXlCxKSNJyJUiJInrxlt6Uf0sIyU2YH8WC5MRKGHggNIJSIOIqOmP8z8DmQMwIuhhBkYzZ4z7YGaCEMwPQZR3GXrmSioAXF5koFcG2IBTFC4nt57sXV/pfjUGyU0C/8f3AbfFBz+01cHFbg74yFY5euLaADxPVU8INQBnfcA/T0kG30LJgitb/B+YRat4SpjBaXBISAgBHRUg60fE7P2TgJLCIGVMoqVZlaimFRnqqiHKkSQ3MM4DMbwo+vSWDhdefDI/wcz/O7Mu99eJ/06AiISFAlda4y7cYOt33UQNL1dbNfT+8NA9b98a28/Co3eTvHVJL2brMFPBm0GiBAqGM1XtpsE4Scr6iuRR3EkIJrrO7vSaMEppTioYTUQkQ+B37dQfdNjdliLw7UN0cJA8YcQgh8MKA2RoHd0GLlJutZBZQrOeyDyu85LzEO1BPcBbnj7IMCnosheR1yrEIL3gUni2GjN1lHVOGMMK4k4KGZjrHBQShlFUOZwXzcQgjRNE1ljlHVsJpPZcjZVzm2bFyUUR/YiPra2rFsKlN7Y+e10FkVTMolNvG+9OPaC4TLG+ODrulIsopiCpMk0SMPUCnkf2tN5dymaKM6IYhsZTTpLJ4Hkcimbqq7qs9acpzmkscwcxUYp9cvPP10u9devX2rXRnGiKBAr8a6qqnyS97tR44L/088p5CVf+07XWHCTyWQ2XQy5VPhtLxaLKIpQ8oWyqiSG8+CFiIyJlFLBC9rLKYUqQNe62nuf51lZXi7lmTisVssoirzvVgKY+/1+X9f1x48f0fcRunb8EueAjbbza7e2LMsBHg01hf/4xz8GLIgWg0Tkvb9cLvlshgWA2rtLUS0WC6Ax2FBGUfT6+vrzzz9mWfLy8hKCK4qT1vrh4SGO49NxC4jw9PTIzPvNFmFMCM4Y45rWRlqJBtm/WCwia3GjlmUAtkPHxDyH9bUAsYlIVZfAUvDN2O12rFXbeDDQzrkQXNu269fnS1kzK1SGMTO8TbbbLTPHcdpXeZo4jtu2rqoGqgmkUD5//gzAOpvN/vznP6MLz6+//up8e3t7i7hokuVpmr68vPz6669V1YQQ7u/vUZPati10z9gwVqsVTO4gYfr69Sszw5ybmY/HIyz5drtdkuZMutLNsTjP58s4jomCtfpwOCE5gIhrYB9vbm5QtACZu1IKWghEFET097//HbJ+cNXz+VyE97tjUXS2MHALBT2MLFCapq4PDEIICO1giO69v7m5wV6stZHeqNha2za+bTy0y3DiA5bFDYJORt+/f8eMIypomsb7ToGGotXb29soMlVViTCKK5qm+fLlC9RixhhrtbUGS865Jk3jySSr67JsQ5ZlxeX09evX29tbIvr90+flckmk2rqx1ipFRmtmypI4iWKsMc0meMnzKEkSIgWpPbwv4U0kIigzCH15zH6/d87NZnNcY11X6WSilCrLEjgvy7LFsovhQ086MDNKGi6XCtImNGNGw1Hn3GQ2hSgftd0AjkmSqK6dcMCn2raFvcwPTx9RjR1F0XQ6TdOUhMCpo5oFsiVotyaTyfG4U0qhWxDqc5RSt7e3VpumaV62OyJaLBaRscH5w25P1PUcHfoSSNeYmaFFwbQONkHQ2yDEJSKYTiJCCCEA5aPjFXjrl5eX/X5/c3OTJEmWZUpRHFs4zCB4m02nzITlVxRFlt3EcWxM539/Op2iKM6yzBiDm4KZsaiQxFBE0PvhoeGcr6qKmHGzJEkCex/nXBQlWZbBOqYsS2adJN1uaPs+x7hk7Lyud9Mf9s2maYztEtqKOcsnURR533rvg7gsTjh0e7q1OrI2SZL5chnlqRAL940LNQUi7pnavvMoex84sO47o3WMoXQ64CtYl3YAEiLCQVCgKaHPmWs1sNRXZNyLmAfIISJCQtIX6fVwlkkNVC724kDY8Du85Duoo4hCxwSPxCTDef4R3g0wGpDwHeZ7wzyOfv8OXo8h9dt3KuYwBld/PBSN+PXrL99KaMb/vQ7d6ONg94cv0n3/8kE700P23hiw991RzCQkkQpBJOhOqs3EEpQoTYwWn3QF7jIU7zIzvQHQgIUBa0P1bZAGzD6oYGRUzNDPSzcIneD5rXUmykBpAO7/JIYZePd/0jjpDwM+qjF4a9Ay/HJcct1PCG63N2aMiDSIyAwX+W61Oe+kl6OEEPCQYmbSzKyY31yniFfGqo5KeLMmjH6Lp98uRHorw2LmQV0+knUJswY3oJQiut7AwyQNqrV+FBi6w/Hv+5M1o4D7GpkMT0NmFsWDXF4b1jqykbLWa62Db7UizWKNZSVaglaKKAgHNpqtaZquwzbomdPuyKTSNKe6FB8ibZRSvqlUZtkRsdIJ3z8uH+9ucx2JDy0Fo3WkyBHXZSFGG6XaEJxvtVZRFGmOrLIhXIqqaNvWKBVFJo50XbNmFdu4ruvWO+9bo0kbM51mTdMUlwLFanmeN21VborTscTgpElc12UI9Hx+Ndo2r+sQQhJnd3d3wgo6FvQSYlabzUZEsJGAWV8tb03fUB0ecGCpV8sFEV3Kc1O7tm2ZtXNVkiTz+SpJoizLDsd901RN0wiFpmleX18hYq7r+tv3L3k2jeNYhB8fH6fT6f/4H/8DZzKZTH777bcBV4FuXK1WCCzR2gkqhfv7exhjS287jQac6Ms4LMjb29vv378DLkAkjUNBKsPM3vvV6rYsy99+++329ha+KOCV0TaViL58+aIVr1Yr5xxCxhDCfL5k5qqqzseTiIjMy7ICmKiqKrLWWotWr1EUxVE0bFTAvnEce+WGscXivLm5eX3dbF7XTeuJCAThbDabzRZVVR1PBWzmAUCBLay1KCzDIo9jq5SClrppOi/Lw+FwKSqtNXQagGiI9DB0cOyBwgQ41Vo7m83QDAjWNKhH9N4/Pj4mSYSUyG63e35+JqK7uzvIYxALIQAgoqYt6tr94x+/kVaLxTyEgFAHI4AlCrUGWEnotUB1ExH0A8fj8eXlBSBpaO35X/7Lf4nj+HI6b7f7799fIpumUcrCq/nCWpvPpsfjEUjIWhtEoDNpmxr3/vF4xIoKvUQViQJjDKKUqmyUUqj1hKgmiiImDeJ2tz/Brj5JkrZtX19fsbtHkQWLibCwbWt44EDB0jQNwhUo9ZVSxihkD1ar1Ww22263w5wWRUHcpQo///aJuwonjTt0Pp8KeWN0kkQIa8uydMEzKajarI1howTUG9kEMRWsacB3AKU1TStCoKKV4mnTAMYhXoKCAskfa21kI7jEQC2NdYtxEBEcebFY7A770BcPgNcf0iDOOdRHKqXQPgmA8nA4CBMsKcuyLM5lCOHx8REfCSEgVdindGqkKQDZcftrrR21g84Eqhjc9dpwEGe1nkyzOLGI/Ie8K7RPURQNKiZEtghRkHyDGhBMvLUWMmhE0ev1Gmx0d1/7VkThMQJewFo7n8+GG//jx4/GKNSdo1sTRDXdBmYMyoJhHARDHmaFDE8URbe3dyGEw+EAOrEsy8lsGkUJonTfNxBAusN7NPz2eDQxMxyTMDiD4AohTZZls9lEROqmvFwucRxbbSFjIwrT6bSqynhi0dnXO4e9I08zrbV3YhLbbdCaFPowipATT16bq1MF9wIM7NudBiP0IL4TqtZvcIsP4GVd2/WfYqP7pk5EPSAOIeiBaxcJIWjFBIFuVwjXaaGZB7iimDmQUGBWV+wVJDB3mXnnHNL4SrFSolRQyg/04hilDD8H8j2eoSvLPiDOt+BvjM3egUJm/U41RL3yYBznXAdqIGlHoGg87KOz6M5EjVTNwOvMLOKZRUHAMaq/HL5o4NpDUCKilZNAnYJJE4nqchESKwpEoWuUo7up93KNhUQMhY4TAQDtT1UNhLrWWnrgPgJ7NB7DNyMZunrQMNJ7Dx9hZmFW0gF37snud+8ZBmR88HcTR2MsPpqIPw7++CNEne5mjM+9BPFd61/zxwkDdHDBSZ/Ua9sWpfREbMiAkqdrKyhi1qqLiRnFrMYYYzQzS3DoMSYjpC6db8wgiemiYKjVxYfgQuudd1I7L0EpImbtnNeatdbClqlzmnfi9Lt2Tmqo/3iz/vpvHxJJ1zCLmbFisOTIkxKJtAohMEXIkyUWPHEEzl4LWh6wE6+UMtYaViJiIhMCsY1IcdA6nk5X8dLGtqh9s3s1Svt5qg5tGohzoeR+tlr8sPrlw/RGB9FGJy1xkBA8aW8jpYica0TEmjiOY6s1Ux2cb2ohsXEck3dKk3etsbFi3qxfmLSNI6M5im2ep8w6jqM4To0xLrTI1/u2iSNjjJmqfLc7BGJl7P3NrbXRZr9N0/RwPH36/Pe29c4LbrDyUsdxjC2fbm7u7u5C12wyapomTmwQ9/T0hKw3GBql1H/8x39UZZMkSa/AotN5W1wUq9uqOhdF4XzHYGni06kojhdsEgz5o+4YIJijK6U+f/4Mn+OnpyfAEfi0iAjE8aBIwU9DqoH+rGjh3rbVw8OD856Z0RmnaZqPHz92XJTWn758AadlIzubzbSy2+12f9zxiRfLRVGeX183q9UCbCLy79jb4izppNjKfPr0abGcYUcvizMMWJRgx1VIMe+Pu/l01tMzQWk9my/LqiiLC8A0CwE0WxPl2aSu26ZxQzw5ydMkSU6nAlodkHzT6bR14evXrzCZmc/nSZ6s7laXokJKRCnlJaxWK+rCmBgjKcxRdAohzGaz4nLa7ta4KBCEAHOCvi0pIzBL8wzsIGtyoT0e95DBGEPMniiczwWMjJIkms1m9/cPSqndbldVVdM0Ly8vEM6VVWWtWq2WRVHUl3IynznXtYYBGjsej8iWzOfzuq6fn7+JIC3rkySLoujbt29fvnxhZmujuq5DkNlsfnt7W5bVZr0XAnSzD0+P0O4/Pf2Q5/nxeFS9Y2Pbtq5tb1YrZt5uG+d8HCeEhqbOA9lAiwwtEGhXpSlJIyihIftZrVan00kbFvJgQ3/88Ufn3OGwN0YPOVlounAOEJgxd9oS7l04YW6I7mPPz89V1SRJ1rYtkULHzbIpNTOW3+vLJggHH8KlypIsiN/uXlhXUWQm0zvVtRY3IjUJR3EiwmVZbjdH770nAVOrrWilGu9NHJPWaZoqaxvnICErqvJyuTRt8+OPP0JipNj88PGnJEleX1+rqlLKTKdTrXySJFrb4/GcJBmzhmel7Z1Gf/zxx/1+fzqdmtqjV0vXeszatvEineslWGQ8SUBvF+VFmJBgqapqt9tZa7M8QToOoR2sNkHSO+e8R+Gmj+OImb135/MpjVPcuUCxUNllWeZcm8TdCCNCw0L13g9ekHEc//rrr0T0yy+/mEh//fpVxB8OO2NMXZcPD/fclUj59frFWgvbn+fn58Nhn2fJ7e2tSFi/PjMz1FO73a5t6roqy7Kc5Bm6hqGtW1vVVVEtZ0sJUl/KxEbi3KUsYe4UaQOd22KxBMVO1uDhoK1x3idJogDuvfNCTdO1c9KRJUXH4liVzrmQZRNAdkTU2LiZGRX8NKTTmfGUbqvaxc5YFRlb17Vvnc1SEc8cJUmmtU7izJMk1rBvg9HTyeTh4S5KYrLMMUtM4qAI5z7V3yFapQYSrVOSIOTz3nsn3ksIFDx5LyF4EYkibNwE1/cgwbU9TvRBOa87mybDHJRSQcRAAdsBJ09MmjpJiYhAy8yKu2S/SBCCPCbIVb7MxsIlQ5PGPY6FCmpDKc2sQiClaLDso94aZQgemCnu+6Zxr4YdgMo/xXzcd+Icoz0Amt72+voRAM1BXND/CVcKFP6GP0Z8AmjEqusoyYqV1iJCIwUy0IAiCs4P6BNbewel9PX0Qp9OERHxw/Vq1Z84EbHrGlwyK1aalQqKmUNMZkCMIQThGGdCzEIUOp9EXC2qHBWiLlaK8REiCkSKhs6pQRjnF0LonAiFiBUrpj6OGOSyIhKYiUQHFiJRKoTAASqsrrBBa6163vkdNx2omwXpYjxmZiHyElCgOgboQt7oKHQ+RSF0tXzaOScOMLUn4LUKIQTfa9zHkLqLdPtt5t1rDIJHbVw7NdXwBhnaJosf/tTPEA8DRL2gbRxMu9Ch9jaId+LFK1HWRqQUtCiqq8dnZlb+ej8QkdLEolSv8RrW8eiueH85eCl1TUYMlLzW2tqof6B0rqialShhArnlRZTSrJRCnyeQXoqZlDY62FRHBjPovW+NJbmUloISmaZptloubm5vZotZmnPbKhKntdYSnDCLNXHrai+ijI7jJEvSti7RaMNYbpq2rsuqvjRNINGH3WtdedbxZDJVWidJlKTpZNIZVih0cQo6iizKIpntbrfZ7Y9RFP38y38JQhJ0kmRRane7w6U4B6G6bk/ny2QysTb+l3/5l+VyicSuJ2lbmBArCCSY+ebm5v7+vq7a//2//3fTNHf3N0qpKIpuVndaazxAcPIgdEUkTdPi4oDP9ru997JarUBlwb7tUlSn/13Yvq842ije3NxEUfT777+DnsdTA57fWuskSVB2Cb6KqHNHPh7P2AaQF4NRGvz1sOBB04J2/eGHH4wx2+22bVzbttoaEJPH43G5nDPzw8MDdrsQwn6/nU7zqseaNoqWy+Wl7PA6ZxkAIuC4SADxnyZ56O1ovG9FhCm4psXeCQ3u7e0t5KS2M3yMlUqRXodgN47j9Wa32+20tuDkgjCso7U2EF63bTuZZtBgAGVmWWYi+9NPP0VRgsgBbiRIVjRNAzk7lLXoTwmo+vj46JxL0ww4rKqqrpV9nFRpilsYlbiQvDvnUAFZ1/WnT5/iONa97XEIIY4tEf3888/H49EYg7YAovjr16+AX9BBwYQR04TPxnEM6TyRqqoKnZLwsEI2g4heXl5ms1me52VV3NzcfPjwATzr3d0dah+JCDHJ77//rpR6fHwkor/97W9I46Rpila1y+VSevUIHEUxYrvdDlJpFFOibzyKHw6Hw83NDXI76/V6Op2gWgBx793dHYTXUAohd4GlC2/QEMJyuYSeZ3AsiaLocDjc398bY0Jw5/NZvJ+tViAskjQ6Ho9aqdubm7atoyiPYr1azazVWuu2cSFQ05TUxQwna2MIkMqy1EqBUgXJCuGQUgpUNFybYLAzn89nsxnk3avVqqnd+XxG7JGmaZJk0F7jEmzfKxrc+e3tLQ6CgFBElOI0TW2kp9N8Op0qZaqySdMU/fXKsoTIbdgghtJMzN39/f1ms/HeI5UBqn7oBVbXNUJ9PFswFyGE+XwenLfWaK2TJFZ937G6riaTyeFwCCHc3C699xDMIN81tIJC2IlbTymeTCa+dWDN0YxWRE6HY9M0EoJNTGS1iJxPJ9e2kDNBJp5lGWyaIIjH8xN/Ql4FqSqcM4pTqbdN2+120+kUywZ0A7I9bdvgOR/FMaD8zc0NM0dREgIhx3U+n4WJSefZ1LUnrAE8cMDfY+5Q5wBCHfmlYYlyFPnQtmVgIQjVqqpK46SuS61tHOdRbIzRqPOx2ppIa2uiNGJrWpIQvFYdgBMmJhIRR0EJcQui8Oo8ATyAzgDOhRDIu2sFJOC7iKiuc6Lv4hatByAVQjCm6+04HHZghBmVmiN3lwHAcG/Px8zBE/cueSEEeVs7K31lHUYSvwSUH//V9hac3Tn/szal1IVJb/j16+//UBzIb1QSYXyc4bDqbaUiv60u/eP7+a32/QpDRwHA+MhDqHD9FpCwOJqQZiWIxXr3Ht3X7ImICJPpSguIqXckAf06wpmqg9XDvPxRwTEAvHevK/js/FkYKYnuYkNfzjCop1iPJrcbMWYOwYcQOHQVuqE3RfR9WiOMqoG5TwS8g8REfVuA3ne/f4MeyyyJ3mRLho3v2q1AxCj15mpD6DoJD5IVIhpITa31AJXUUIpqFDPLaGql92QlIrS6GiZgONcQritviM+ISJg9hN4++EBeghcSoYi0UqyM0l3ptHTm8DxKqZCnwIEh72mDv57kkJZi1kTCFJgC2kUpxUop6gc3jHQ7zGyM6v0rtYhoVkNupAupetWNCHNg7VmUhsWoMZEmMUoF38ZaJZGZJElUeh1ppW0yndys7m4fPi6ySWqjICLilDYsIZAPbDhI04q1NraZ1Yo4nMtLnhrX1mV1qpsLcas1kXeXqo7jxFp7PlXGLLTRzjmtTXEuAXarqprNJtbauqzqulaazqdDXZdMztikaSoRLqv206dP692Wma2NnQ/MajbNb+/ukyQxRv3t7/8L5Wsg6qBkCEGwadV1/Z//+Z/7/V4Cf/z4EZl0aBuqqirLmqizkWHuSm/ruoYhDArFqqpBfhwVV9gw5vM5fnl3d7fdbk3vvAbhBNRQaNcCcIx2JJCt65G7HCA7+LnnlxfvPbLwq9UKlZfr9XqxWDw+PuKzv/32G4ACUBe2NCIaLDXiOE6S6L//9/8O0Q5yEcbo0MZRFAmleHOeJlEUVfVlNlmKyPfv3xCBBN92smPN3ncBZdu2zJ19BKT5gFPSlw9mWcQc9aEXXy4XcJMIk5umKetqtz08PT2h+CkyZr1eE9F8PocfP5L+OaM7Uk2kcEdDm1uWJXYgEYFTClTvsP6Aw+bpcHx4eCDXgucOISji2WwG8Hpzc+Ocg5oFEGe73RZF0aetGbWe1to4TgaZzWD7SFoRkfce9RLoVYmHmohcLhdjFBIpeZ5fLhXQDJIwP/zwIw4Fk76HhwfvxIfO+K/3qbQINTebjTEG+oenp6eiKJ6fn+u6vr+/R4QDuOycQzNLGJUWRQG7G7gEKqUQhnFvwIUKXbignk6n4/GQJDEqWa21GGG0EcBp98LxGk8noDEcEHWW6AD166+/on4giqLffvtSVdXNcmmtXa/XUCNMJ1mapg8Pd1V9Xi4XSWowjE3TlGVzuXRNJ+Iki6LofL60bZtn0yzLnASISaTrCdXVKQ5Ft03TJEkCOQp0/N2NULVIF2A2mRlGPeCqcfJN34EBhjlDhXcURfNltN1uozjDpLy8vChNSlNdN7gvYNyE+w41l6g9RQCG8F4ptVnvcOthaWHcEOkhxHXOwckeSyVNEkjI8CTx3uNUGbkOJYhYvPeYLxSYIplTFAUc1g+HXT6dXC6X4/6AbfHh4SGEcDgcmqpGHtJG2veFExhYrbXWiXMOJXTOtYvFHNWuMLeBRxZQMvpXnE6n+XyO0Rh2z9Cr6eAo1aOZbsOaTmYiguAZjxSMDxJuVdWYLNJ95TdiraHaB89kZoZjjPQ+HtS7tdhIY51bbWazmTGmbWuEZEkSRVHkQ6uUimLjXZVO0mya2cRGcUxWh9CKUs471eOhACCIf3qHLZW6yl2FZ3tVVQPjjlY+oB69dz2o6ECt923o+0BzJ3zVzD0/SOQ73HlFuqPe81dKsUNOnhhq7J5UZuYQSLqay2t5K/Uc34CXBrCBtaFGUpNwtUB5o78fYNwA6d9B5z92TpI3DX3UYAyPl1bm/RFGgHJ8eDRCGrxTqLeEfwMZ+9cQ4ajeRXD8VxpBVfnDi4g0MXFQygzHD4ZEgKkFXVVRHezC9RrH8Qb++UfgPmg65G3KApy3BCYKgeitkzgkHkJEFBiUgTAqHq7vCURM3DHZffNPlGmEPorrT6PXfQjxW3/P66Bj3QnL2ypkrPnxmI+u/foa1qt5N+IDe41Qe/wBBI7Beeq1RN3I+iBBhm8d/tuNbyDm/q4QlnA1/RWRnn1Rw8IlNhLYe4QyLKyQhyZtNJNizZqUkOrDJuwZXQQTumfNcJMM0zzo3WFOP7pP+nYPXUGNBPGEZrMYYRFYQCKK5BG+x3LnTgilYGuqlA2snA8khhVZzYbJiVTlOYoia5pcixdWcTqbzO+niw+397mNNcIYpYmFidvASrj1rdY6tpFmqaqybarLpRDPaDDG7INrWldrbRbTvGqVUpGIuObCnAeh3XqnrJn6JJtMoijS2hIFrbVRuqouWRoXl1OSRmkan4/7oqytjVn5xWxSlY222jmX5Vldt19+/ySBhdVisbi7B4sTkajtYS8if/7zn4lgETMB5gayx7PM6M47Zb1eF0U5nU6Xy6Vzrq5LYDXxpDXNZjOftKdTcTqd2ra9v79HKZvRUe1adGiHWAIQuW3b29vbqqpeX19R4sbMg77i69evsE1kZgji7+7uQNx+/fp1u91meY5cOdLuaCqOvXxqTFEUp9Pp6elJKbXf74k8kSpOZ4c+Aa1LkqSpaq3o98+/Lebz2WwGbjWOI2ttWzdKE4zqy7K8XS1ZSRQb59zxeICeBPsl7knnnISgFHUYKFL403wxC+Jb1/jgyAsk3cfjMYRQFMVisQIKTLM4solSCsseTtLQzdd1g8dBYIKx4G6/SeIMPJ/WOpAYY+AMCCITnGKe53d3d9Cvd7IQpdCjPk3hJ+2O5xPBEtF51MM45z5+/OhcM7wTIQcwEPSgUGaj0hfINYpjcPO4oaaz2WKx2G63eZ5DN5ymKSAU+obG8QQqrLIsX15ekSdBfIXHVxRF6CrVtu2lqKCIwLrKsuzLly+A3R8+fIB1RlVV//jHPwBWnp6eoCVDWa3p/UzzPP/69StExsjSAPrgmIDacRyv12uUBRdFcXt7Y4x+fX3d7/cfPnzAoZSiwfifmW9vb9u2hRUJ4BdWNZIGgK2xsRzEsArOf/r1Hz/++OOH+3uETHgK7ff74nTUWk8mWQju9m5OXYt1X5b1+nUropDr0MpWTQ169fv374f9abFY5LMpMioiEkVRmmZRFEG0MzyWAeLBv0I43jRNmnTDtV6vX15eQugKOodkCyTREHkPnxIRVIqvN5u6Ln/44aksi+/fD1XVTCYTqN1wp4sIZkpagrs8Rh67ElZ70zTL1RxDUZZlcTktFgtjDBoCoLcuimhxDsDEiEilL+tM07Rt20t51lqj/hjxf13XRAEWsQhC8jyHlZaIHA6H8/nsPaRBmoggp4liozRdyvPMzpxzu91Oa5XnHTJGYnCINmFIhQcFpB29YJ0RPIB6wDY3Dgux7JGVwr68Wi1F5HA47vd7NPRF0MWs8BCYTCYvL+soilBHi0cfngOwIYIkCdJHPAylb4MNCTsRIdQZCGPmrlMm3qMNN6WrmzY2Np/mq5vVzXKVZInnAIZLnA/Oy1vsFURIiPxQCdo7rJMeHKw77M1C3NlaY3B015axw8zSRxpaa6W6JmIdRO4hS49dhYiCiOIrFhyAeAgheDfs9czQwDCzBFYiHbTQ2vRSch4g+4CLhtMb46sBHWE9vMN2OJHhI2FkAO8FhvdjlIyIYsAzCmWaY0SHp8ro6ntfkp667vvCvpGIDIBqTLTTCJQTAbi+SRcM50x/eDGc2a+wG4MsirlRpIRJRAmAIjNzYPJuDMppPCYIe3hEbzOz75tzyduYpwfxgYgDdV09mRme9z1Av2L37shYHG8x94Ch+W0880bxMcRsfqCCxwM1luArWCOOr857770bDqi1djIysxfpjWXUFbiPJ6a7f1QgXEkPTxVxlCTdlfA1LBiuTd76mIYQIGUbLvJ6BiM79ndz07+H/aDFwh2lu1lXBCFWEBFthohTiCQEz4zZ1QNFMbyIyPu2/7qOKcetqrqlKoykzfC0kE55yUoGBx6RIZXD13ezUSooUU5IidLKKqUsK0OehXxTpkms6ZRZrlwzySeL+WqRZbeLeRZZFXxg46nBYBhj2tYTUZZOFLNrLpjRyTQzyl/ORVmcKXhrYom4dK5t28P+kucTEkcwmWLGrkPCwTnso3VdEoU0i2ezWVle0jgu66ptKm2iSZYk2Wwmcjxdbm/jyCafv347n09N3d7ePzw+PqJ74na/g02E1lpRIKHz+Qwu8OHhYT6fYVP8/v17ZJPlcmliw8xpmt7f34Mz05q32835fMbW+Pj4iCS1MYIdNISw3W5FpK7rPJtO5jNmruv6y5cvCPNCCJB87Pd7MMQIHr5+/YoUv1Lq9vY2hLBer4/Ho4hAY+CcQ8uk1jnk8UVkt9t57wEUgP5F5PHx0SrtvYdGAtySq1xwfnW3SpIEHPD5fNZaOZcqxfP5DLtakiT5JNVav76+xrElDkVxMcYwEWSyzHwpz2BP27auqkqj51cIcRz70KAcDQQn9xR16xpmbpoGuebDYRdCWCwWm92eMqqqqqldkiSXqu6cfwJnWTqdTg+H43a7BQzVWjvTaKOtsVmWtd5BMrTZvFZVA7V3CAFGGcAT+FRRFNibsbmeTidiWs4XSqnKV8CgURTt9/uXl+9E9Pj4OJvN4Me3XC7bto3jlIhQ8woVU55Pb29vT+czWGel1Hw+V0rBqWOz2aBuD542r6+vLy8vkKBEUfT9+/eiKLwXKEwg8GiaFnBHKfW3v/1NKdU2Ps3izWYDhQwq7LMsg6ZiWEWn02kymUDF/v37d8wFdlYU8+GBhppm2NWjShswHU1t7+7u0FsX/pLgrYeshbX669ev6BuwXC4xpFB6MPMPP/zw7ds3ZCr2+/3DwwNAKma8LMvpdArhypcvX1Y3i5ubm+JcAuYmSRQZm2bxbD6ZTPIQKu+9SKSUcm1wLijFJCpLJ9776ngoy44ShrHay8sLnrfohQTMDUtN3ErMjGgZpjcQ+mutgWXRNpiI7u7u0L0BcB+g0BiDfp+oLh0YaKAuGK7/+uvfkiSBFP50Oi2Xy8GbCOj2fCnw8cHfHfAdapM0TYdSSzioHA6HqqqydIJzgAgE50A9dQrwKn1FsoicTqebmxsiQowHhzsiRumt658YwNkhhNPp0LZ1nme9AWXLLHFsJYQhq9M0tUhAswtwCsgD4Ey89+fzOcsSotC2TuskyxKYkB6PR1Yym09wjVV9iROLtAxyMm3bxlmqtXbOIy3DrNq2sdaWVUVEURQhgWkiO+Qu8jw3UfT161eUAmOnxl/hcQkhEzKQGDpcu+4bmFD/EIutwQZurdWs0jSNEzuZ5GkaldVJK5pMkvk8ny1ya23jnSZWSrmmoSDwtqARlpW3muthsycia61o9l7gihNCCKi+EzucUrgWGA6HUWH0GuBFv6sPcIVINIliVtRn34mIOCjbKb8B50HMslIsV+LverbcCTDeCUj4bUHqgHwG9Dk+1Bg3c8+iXhHqHyQuHVp74x2uB5J0AGbDf7tf9gyxUkr6jpY8khZ3AEzYi393kDcgjcIVKL6B9W/A7jC/Wl0VMoixMJXBdNMWhAyZcJVVv+PyrwDS9zz3eFR7wf8VuGPqUXLZnR7UFsxESkIgDiQ0Pn8JPJiKigiF6wkMk4XlpPvsBaZSvS8neI9mh1N9g5b/QLo757xv8eDFUPg3KQKGHIbIm/FSG68JVqINEysR9p6gDyEOQr5fMUQj40yUcNHbNRpCQAXSHy9AyAcJSpPqqy6UYqVIQs/9s3ghCtJ56ShhVhgwrZTuSr/VtQmtiHDn4/8OsiultO4wt3PXjNKQHaM/2DAN0ylMcLJhYVbUK4tYjYoniEj1kZASUkKa2GijlOLgAwmxKG6UdoFKTZc05vuH5exuOZ0kkWWlocAJElQbxDJHJhapmKM4il3bMmlrrfO11nw4nXzTMltlmH1D5COjdRxJsMraunFxkrbelZfG2tifjw+3d96Fpmnatg4StO6gQBxHWuvb1U2aZ23r6ia4pr7UjdXmfD6fTt+qsknS7MPD488//0yKi3MNe5Db2xW2E8zv8/M3tMtBvlUpVRRnYzT4nsvlgn3u9vYWeKVpmsVicblcttstzNqAHVl8kmR3d3fee4A251xdbb8+f0f6GC7j0Bz7vj/uv//7v8N5DV0MYXaBDq9QWfzwww/c+7iJCGpVW+eoV+mlaQqUfzgcptOpiePtdns6nSJtiqLI4mS+Ws7nczQkh/oZ5m51Xf/1r/8VdZYfPnzIsuzbt28hhIe7G2a+XC4ifrG4NcZ8//49iqKnhwfAr+1uba1NkkRrDkFnaWqMAmVurQ1N14wTMvfVagWNAQAQyFG0dgeIWa1Wx+PxcDgYY6gikc7ynERNp9PT6eR9Z8qBXpvr9RqXDKDWuI51fnl5CSHc39+ivLht28Nh571XygC5IqNCRMXprLWe5hMENlrrxWLhnHv9/jyWwgPFIlgSkdfXV5jWo+CVmZ0LKHXYbrdI8RljUiYAVhwWQilY2SCL0ra17803IA0Epysixpibm5uXl5fD4QDt1mQyQdOcw6GTNADiD491eB3++c9/hujce59lGVpmDjL0Aa+gQgPsOFqAnU4n9OxUivM8S5KPcH1J0wQPhw8fPry8vLy+Pt/c3KC/FUpyMX2YXJCswMFY5AjYEC7+/vvvzJxlGR7rInI8HqMouru7g6vMbJJPZxA2hDRNfGAiqqrqfLpUVTOfL/JsqpRi1sfj0ZgISjBrbZ7nJCqd5CLyxqmGKIRwuVxA3GKoATrRZw1GRt+/f1+v17jrIUZaLBaY0MlkggJc3He4uTBTcD2/XC5eQpY9rtfrqmryfFpVVZJkT09Pnz9/RsLk9fVVa51lWVlXZVl++PCBiJqmgXgGXDU0dZgRZPBQkjGfz7MsK4oCj33nxVhlI00U0OOp3xQ0kkI4JnZK5AMhsr+7u4PLobU2z9MoikR8CJ2uva5rqw06HiCeqaqKRPI8m04nVVV5T6vVCsyr+JYCWc2x1WlsQwiRUc411SVQCLG1LOKaxmRZFEXHEHDtmO6B5PbeKzYQtTfeGWOiKMb6x6hmWUbMTdOgVVCaplXTua/s90cEIbov+U2SBD0ihvmdTCao/KHelAKPdO99FMXWWupwVde9FZK24DyCNK3ZhyAU4jiZ5HGaRFFsWCtNHFnrQ/DEcG5T3Pc2gqFL8CQ0UNHSW0ljS2UmY7RSBE1gCNh5Af4cYIDWHYscQr/fK0V9IaN33hj9DuRglw9MBHUEkZAMIQAIexqJZPCJ7g1EItL2PUy4l46MUcd4n9J9oS2NusTQSMo8AmciIzJ0DJz+6e/DSFlBRCJqjLbfoeoQYIJHIYRe5C/9Z3mMKcPgBs5XgD4GSMRvwoPhW4y54r0B6YpI6Dvcs+qEKPh9K56FFClN7DgMpuFMWka2PPD2YWZSV/cVftNw9H2aAttWV7A51DALM1Pf/Upz5xDfDQ4zjyVJgYR7rRSRCsE757uCNGbT9dwUQL7u5Ye+Wle9EPVsOBGNAzARGizqQ+u4K3TpKp67q+g5e3DTwXcXaHAbD6sn9FIbRJrD5wcefXjneMGJCHyBtFbe+6HQE596h6S7n1UnHVN9dRQoriCiFUVaNUQs3LIXok6MblgrrZiUJkVwTVcO7quBpP8KrJLgaUh+jWOJYaZ75cxgv9r9a3QPdAtGKSU+CEnnx8nXPmREBOJqWDjCpAIJfHTIi3giL9L6cGjdKc3IXAqTpJO5mSyjaRoRe2YRFqHAWlu2OpAitnFkAytSJA57dtNUVVkHcVpro6xWTK4MjkV1uvDz+RxZ7V3jnSRx1LStMuZ8vux2G23UarWY5JMQXNNWWutIGzWZxHF8qcpLUWeTqWIqy/pwOpRlaaL46elJa1217n/+z/9ZluV0voAAVLNC0eRms7lcLnGax3Es4n///Xd4rUA5QKKxt2HZANBA7wHKE94muFuiKEoiY0xUVdXxeCyKAqBhs97d3N9hX/z06dNPP/3EzEAYIoIuObAChNvacrnsbh/vgTmwvNu2Ze64Je+98x7J9zzPQW/DYWa5XGbTqfd+u93eLpdRZI2xzLzdbr9+/RpF0YfHD3mePz8/e+/+v//v/3XOffr0CVT0APvatn1+fq7rsteAtqicg0bCWFWWdZZlvm2cC9L1pvHdibkGtD3U1cBzIgLlBhBwVVXH0yGfZAD0ZX2EEOh8Pis2URJ3ZpdBP3//DlEQEV0uF3uwd3d3YRaKothsNqfTaTZdKKVc8M45KIvwdUPj9yzL0jQ/HA4InKbTqYiAF9/tdlpr+MeJCB5Yy+WybMr1eg0QgHJMUNpt6621t7e3gLwI6pRSSutBQLXb7S51hWfOoE9AIoKIYH9+OvmvX7+2bZvneZZ1QmeIg2ezuYhAzHB3d3c+n4+Hc5olKMxFrSogKZAxigJnsxmam4KFxSMLuAQuH5PJ5Hw+Y2ZhE47KUUy3MRrJHEgUEBWAoj4ej3d3d4vFoihO8Mi/ublBbqdzZyISePUwI5PAfS+z8/n8ww8/4BGqlEKhAuRb290amrE8zxVL2zZVVWVZCtr05uambduqdN6TCElgpE2Ox7P33gUP1QSCriiKVIjwDETvsDhOEEFBfgalhO7bHUDO8fr6utlsJvns7u4OqRIEUcg2tG3bG54ssE5AV4PCx+1ARNbEl6J6fd1geStlSBrXN1ECB4yvnkwmGFVEAnEcY0njyHC5VUrBBEYphaIU3FAYQGstniG73c7V/u7uDi6ftm//iavA1oDMwGQyAaZHQYIxJoSAmAfaG9ykCB601oMFjVaMRdIL0MHcByICGYFUDM55QHKmd3Ls0WdAcQuuAgp4vFnId/FGB9AVZC24SeM4tlHUNA5FBUigAbgkiX19fb25u1sul+c+zYX7C0mhPM+x9w0Zj+Px2On1rS3LIoRglIqiaJDdQvXEvaClbduiOAm5JIlulovpLLMaxX4RtjGtSPVeKzBUx/91ul9g1q4L4lj2rdBfVUTDBw+qVO+9dxpAZ2jijiBnSBZprYk4hGury0753O3fPJZEA2fjOGgk1APfrnvrGBEO56ZGEnYaAXcaIWAeCc/evW3A1jJC2O+w7/g3Y9DVAQ6icQ/7Hru/4X15KCNUDPyHqxh0xcwKoFZGqN17L71t5TsoNRT1jmMJIhJqx99LDLwkrgUsDuQ7FUrfoBN6Bs2slDLEA1Prx5ffu20qGRo59cPbT8F1GOVKt3tmg98x86BoEmGFhqw8THg3153SvX8F6fXuTH0cwCiMhrRowM/jZcDMXahAgzp/iP3e1IKKCPBkcI5GPWiv/H0fqBApWFhiQZo+2XRVR+F9Qdx4kWFHHyD+MKDDAhQ/YqnlKnkfnonjuScibdj3bQv8yCxJnDCzgYRU0GENPDoecJqDJwqsSClltA6NJ7rGYcws5NkrZf4JahcRqBiHEx/OSiSoUe25DNXTaA6gVDepHEIILARfofHBx8OlumBUyLBhFUgb1dokPE5Wx0YH8V5Vol2cs9bMGo5AZIzRxNI4ckFYjDYhiDI6MNVtg1kgFmmVCsZoZU2kmEM41nVT12Jt5Jq6bdu6cV4aH1Td+uJ4IQpZNg8huLqJ0sjYrG3bBDWIirMkm+TzunVfX17ath1sTJ5fvrWNn8wXbdsu5suqaSBgyPN6dXtjrf1v/+2/EZEXVgqWwxoVYEhep8kEpWnou+m9R3N47LVooXK5XODrnCSJooANA+oIItJaWxOL4svlgqbuIYTX19fpdIo3gDFC8060KVF9D8Uh1Yv91RijtQ0hfPv2rW3b27s7bDlEBG8H0MzPz89pUaBtU5okWuvX13VRFDqyKGGcz+f/+Z//v8vl8q//+q9RFD0/PyMa+dvf/hesFZMkeX3+djwe49iC83t9+Q66pXNNdn42m10uF00CqbRzrqouSqkoMhQCGwXkCloUADdJkjxPt9st5N0AxHESFUURxYnqRSZKKSF1f3+/3W7zfBr6Go8kiX/44Yenpydr7aptN/sdZC37/X5wrjifz3/961+VUrDpwKzhRkAV8mQy6fjULD8ej3DL7iTgSYp7GbsaYgzQrgDKSZLc3s6Aw5C7wCKJ43i5WkFWC4xYNjWKPgFxoHTiDqPw169fo8jAoYWo6+yLJQd4DREXikGhfY8TW1XV7e3tzc0N6NjNZgNaHeEKUhm73Q44HleEUl1w/3BfQVFEp1KIYxQUElGeZxA1oYgTDkgwY0FLzvX6BQaaTdetU9BxE+cJyyMIUZgZ9CqSSNKZ6hrotQC127ZdLGdN07jGu7YV8UqR0kQkxqgsiUCro4evBLaGoMlpGmeMieJo2K2RQzCsRSSKouEJjK5MgPtt5/j+pmJ1uVwibBuAOxFtNpvpdAq5EQx5IJTCVoQyZQhI2radzWZC+vX1lYi0tm3rZ7P8dDxNp7Oh7yaEQMyc5hkgLPToyFFgslDYinUOqIraXyweAFn49OES7u/vT4ej843S0epmoeHo4nixnBlj9vv94QABTD6bzXAJfb+kztYGTZe11ggIkyiezachhLK6VHVpI8MupFFclqUSKovT+ehRGoEoFGAdKBzPc9D5pjfyr67dlxUSIFprtEDGIxFVQ9jR8ShA6TDCv8vlkuU5IknY0VgbIxOy3W4Rfg8RL46DsULAcDqdEPZA0oP1XBQFijGapsnTdDrNMRfGGAThaZyISNs2zEEoWGuJQ5YlaRSzUcRktJLALJREcWeLPqBD4D/vhd+ohHnwjuuKO4d2P0rEi3Sbr1IqeHiFdTsv7soBzGht/gguqedrx/8ceMkOVAophWoyDUNJ6ultpBrGqD2EQF2F23u7mAGBjf8UQtDajt/WM7E8DlrenFLPvA5Io8MzXSRzxWb9WXWIVkY1jt77QE4w7qMXEYUwuPxddc4hBB/cO/yGHwaLw3fD23HPY+f4rpUm4GIQD2DquqtTorskhNZamLWQD0xKrukI6coMlFIq8HWFyJvcwrVcdTxuRJ1snUT1zuhd9oO76E1G40+9Jz6qUfE/FL53RIBSitkOiuthRsb/HZAwvUWGRMSshsDlDRUu10AojDX0nWJFMYMP7s7fIP3KzMiJaNXZ3zj3T3q0DlHF9fuGjEz/zjH8xX6Pqx3SQz1YD1pZVp7IJymiEy8iQoYCs2YtygYWQWGLZq00kSFBearSBFcZY1WXL6OhO6zC1Q7rta8JoK5ZEiIwYqU1q8DoB6BRTMAhCDHa+eKSqYtq6RobsOIQPAodBnEOMAQM4Vm8CDnWlnWQVoKLnWEireytCs8Xs/jTT8v5DzZKjIpFNDEro0WEg1bGBBUs4YC+bRvnnImjKDLBu6qqo9QqFqupqS+X1pnIaq2DL9u2lbYmFzSxEJkoElJKqSSZvL6+LBaL29sVsxahJM6yaVrXdVFclFIhhG9ffm+bRimVp6kxpm5bq83NhzvQckKBgqD2brlcfvny+f7+HhNaVZcvX74AtjaKkA13zhF74qA0RbEpzkVVVaBvSQmMxs7n83a7bdoKLVfTKM2yDNZ+yOSez+f15vV8uWCHgKsgeNnpdApbCVChWuvtdrteb51zzAKjGMzI58+fRQSp/KqqmqYqioJZlsul0ZylsbP273//u7UWNg5ffv8dNPx/32yICJ48RgKW8X/8x38cDntIa15fXz9//k1E5vO59345n4pIcTo8P39LovinH35pXV1eiuPx+Kcff0rTZHiCe++TKHauySeTEEJdw/nOlkURgqfGA1EpCc654ngQ8q4JbWTqulwsZihzhEggy7LV8qbTsF7K3WEfRdFqeRsZqzWvVovTqYCtZJZlRMJM1lrD6rjbB+eY9U8//YSY6sPTIxRQk8nkeDzXdZskWRQZoC5UTF4ul+Vy6YI/FecQXNNYBGNxbPeHfTrpOsXAxKMsSxhy4x7EjBxOxzzPI6b1djObLnwIyNJASj6dTu+n06IotLWAklDZnk4n7z263mzXL7G189nMGKOVvjTtdDo1xrTeW2uYqWlaVAYD+UVlJCL39/ew1ERD+KIoFvOV0RHCVLC8kJgzQ27kiqIIwVtrvXdR1EVQWuvT6ZTnOfBiCMHGkbZmu99lWUaK66bx3ufTSWSsiDw9PZ3P57Ks8yQ1bJazZRSbuiyIyCrtm9YqncVJWZbkJUgwrEVCnqR5korzHCRKU30pleqoE+fcpahWqxWFKkniui61YefatqUkmZ4uhXdc13utTQihdUE19WQ2b5pmOldVVcVxHAKBox1SH8hIWGvTNPN9s0yoj5B8yLPpkKaII0WiJvlst9shpQCXTGEu6wrzaIxxrtXOaGvmk0kI4XA84oBCMlvMlVKbzYYVRTqC0iOEoA0rfXXvRrQPu2acBsIqoMk8z6FlL8oSRahYokopXItmxULTfBKv4svl8vzt+8PDw3w6Y+mEQB8/fkQV8mQyiaIIvpZ48iACDyFMp1OtGXMNkM2KmrbObBYZm8ZJCAEIWHyIbYRIr3atiSMd2fP2jCwl7ui+klKICLPJvfIKjqjWWnSkIiJmKYqT1hZRImT63ntrWEe2Dd7aaDKJkyTx3p+LIo5jYnBhxsakvDc2LsoyyTITRc+fPzNr70Ni2Np4t3uBbg15JNXbYuZ5XpYFogVrdRQZ55r5fGpMR032JgeqaVtlrLBiUUg9BXJFdY4szSbRxx/uj+VpulporZrGRUl67ZuutIhQECHRbJRSLngigli/25ffIkVgXaW438c7AxTV2d3A9HNQwrxlgtkTs41U8MRKkRJhpiAwXEf52oBTMQjAeaYrfrWshUWPSOiA6B1I0xgbQiebDuK9D5q7M8dpG2PQimhMXCploLgY6mcGXDdIzQdI2qEpeaOHxi+HECgEca47c6VEKYGkeYDU158FkHQcpeCAf2CCR5BvgFL4/yF4WNUrpdAPqHuzUEPBqu4W7q8rEIXByjCQBGEflPfsvXeu1VqsZWOU8m4wCayuyaIr+FRKGROhs67obpxDp7DqZl8xTGo6kBt8gCqe2WsQwOSDb/uLknfjycPFQsg1RFRKNHMInc0/KSYiHwIHuJ4MlH93DBFSCnIVNw4zehhwxfdYV6wIjpNDNIjlwf7K5TMHpRWRhODNVelPwu+DmCtRPayY4cvGs4sLG2dHMA4iovja+nG8Io1BjoCFWhkpWJiUD12QgVQvkRLVzxsLs9KKlGImBBsjU5qug4AQkWJL10g6INAfXwKPwsTx9fa31tW5cnzaww/X8uSrgw8RMV974VLvIykhhEvTeFbJZOZI6zgTFZkkjSY59Q0R+htA+htVmFTrmto5GyUSVFNdWufzbCrkq6poK8cU0jQ1HFeX0lrXmTCQ823gIOfzMQgTKeh0Z7MJEe3WG2XVYjkDiBEhrXVdFdLndk/nBln7+TyaLeZpmlatIyLnLuLdbHYLVvv19fXz589guWSUxfZV5yK32+2Rr/z+/Xua5Mi8N02T5snNzQ04zrIslab7+3vIEpxzj4+P2EQPhwOc2uGzBiHQ6+trFCUwkyaiKIrADw1K+rqujVFoqwnwAeYVshNYod/d3SH3je3q9XXDzADBwO5N0xwOh9p7bKVKKWvt8Xj89ddfkfMB0ITY/ebmZr/fg5tEZaEx5vb2VshfLheIrTebTZalsHHIJ2lRFLGNjFFQ1g4BLdKU2KcB0bz3qtduIpNurY0iDZgCS0GQc8656XQap8l+v4cD9OlUrFar+Xx+LorNZoO8RFEUSZJ+/Pjx5uYG1LILwRjz8eNHoC7UqDkXIFdAJdynT59wYoPXOzODJwa8fnl5AYWMU0LNIgxh8ATXXTMUFccxJquqKgmHEMJg4Xd/fw/h0+FwiON4tlyA5sTSWiwWeZ5vNhtkbBAtQ83MzJfLJZ3kyAxobYqiAM0MxhrNNdfr9SA5EBH4i7OSm5sb6CVAqIPCxDjAigRLC6IpIsJoA/taa7fbLRREwItgT6uqOh2ORJRl2dPT02azCa5Tz2f5EkplMOsYJZwPICxzp++CHiOLEz+d4MxhDSQhlJczMgBa69vb1Ww29d43TUWiUJ1GRKvVynnZbrciJzjzgGA+Hs9R3wJ2sVi8bnYYin4ddmQEnpCDChyAErmR0+mEj4sIKlWOx2OUpM65AQTDRRTPCuxGUNBhEDabzWKxSJJkv99Tb1kYx/F2ux1MDK212SSXUfK27tuUIlWFob5UVVEUx+ORRZIkAeDGUxdZguPxiNbI0NkfDgfksrC0MKdYrkTELHAaxRGOxyOz3N/fDzdmGKR9SbJer7Hs8fAE0IdKaj6fW6XjOI5iA9CP8gBIbogIORnuU+243XDOCD8mk7xtW7QMR5IE4igsFRFZrW4QizZNk08mAO7H4/FyucRpgjIVuIUqpbIsi6LkeDwCm9rel11EBo0Wdj3c1EOAobWG/cBiNsOFhL7rRVs3lEuapkoRKc6znFXi2kuapqvVrTGKiIyJFFvW1hhDokKg1nc4hulqq8K9UFZESIDPrloA+mevARwPOi680PZxBNy7s9XK/nGvFxHnugZMCK7wtMEjV2ttDClBc9WOgW5b5/teBNS7ZDKz1gq1hmN/bTzGO3XyqNENcpMDaBtOaYy1BrzxDoC9e8lbfYj0zjzYOP7JAXtl7xjEicgAJfsz7N824uapTwKMIoI350BCTCL8FkMGIeLw9v0i4n3rvUDNRb1MY5g7rPlBNNIXUWgg++Ewf4RqzJ1Qvfs9qQEuo+qht4SXro8T0XDtzEzvFCV/WDPjS/inGPL/AixHn70abuJFck036d6MaHhc0FtNv1LKDM5fmOnhBh6+bDxt9HaF/fH341tiPPHvgLsMQjMSIY2q4u4+VLbL/VCnEyciJt2nDIIiUgp9xGTgxYngE9UFA+PBGp0tqrnxzV2hgIgQA2frN6vtbb7j3ZyNJ6YfhDdv4FGvte6mUtrESZzPAkds0zooryLHNuIhnMJy7GttWXvnlIrSRItv0Vwpi9PIqLqsRJgUR9pqYVeVl8vFGBvHsbXhfCmE1HQ2b3eH86UkpaETZZa2rVtXR8o0TQNmAopq7/3NcgWts9Y6y1IiLsry25evdeOMiZI8g1r3fCmI6Onx0VgLzSh2x8ulenl5YdbZZKK1fn19revm7u5ORC5FtdvtfvnlFxHebre39zda68jYu7s759x2t9Zal2WZJzlUAV+/fr1cLmC4iej19fV0OqVp+uOPP/71r38NgaD//vLlC1TXyOo+Pj4qZbA97/f7OE7xFP748UcA1u12671UVUN0cm6HzdIYI0TO+/3hYKzN87xp281mM5vNFtPp6XR6fX1dLBY4h9vb2yRJ1utXOIWXZYkWJyIyn88vl8t+v18sZlmWWW3wT3hWnA9HbEXGKkBto3Tb1ujwkqVxCM41DRZeXddac56nTaPPxbFpkMEMykQAXtDEc29lXV4qyFRAnNd1vVzcpGlaljVGIE3zxWIBfpSZ0dXohx9+gJJhuphr0mVZfvv2rX8y8nw+n88Xh8MBNtUs9PT4BGlTU9VJFE8mkyjqAnIIVIBliQhVoahDICJoV3BkPGrweOn4VBGl1GKxmM1mWuvNZoOGpovFou3/Cj4YIuk0TctwdRPP0gk6NGVZ5ryH/KYsq2/fvhHR4+MjQAlo8i9fvmRZdjgcmNk5V5a7PM8nkylqc+M49t6laQKsiQvBU2tw7ofYA6eE0DHLMi8e5wB9SFVVd3d3s9nsuD+8vr7CK8YYc3N7CwTmnDsdC6UUkB8z94fVWmtrTds2zAxDdJwALIyAFfIsgU+5tdZajVChadq27SRPIgqPAgmcaGWMeXlZ7/f7PE+hC2oaV9f1brdrey9LnNUAIIzprNkRE14uF+eOIcgg4BERSKKRToER+PlShBDQlEprNkZNJhkegLidqQfoSMsA6SK+Wq1W8IuE8BrmRdZaaPExQQDNfRfkBnEgAq0BN6DABgREcTrneY44nKC7s/Z4PJ5OJxFBtgG8KQ54Pp+d6w57Op1OpxPiwKenD6jKbZrmeDogIDHGhOBCcEpRCK6u67ounWujyCDEaqs6GFaaRAT1M75tfNsYxYoouLapyiiKhOhSlzhhrTkE5z0E8QGPYt+b/ate84BVIQIztI4nbpqGRNLeFTeQxHFsTIQbE9EXMi0Yivl8jtrxHoR1PicigoYModMHMxrP7fd78R5hfJqmWZZpVhjbfJ5Zq6um1CZMZ6niCPdXkkwul8raWFnrnOe+OWh38qS5W0pdjsU5j9OQcK3mxFm9223H+zL1CB63CTNr/caXQoYCUO7FzTTAGxAXYRjDIZYDxWCMsVZ0MEZ3Bi9IsOB+wbf4vl+NUhaZfBeuwmuUzGGmBgZadTqWK9oeY4wx0ngHpf7vrzEKVH1fGuojn+th/6AR6lQ4Ixv48V8VmyBh+Gsv8dIDPn53Dqo/525YegmIZkHBtFBQzKg+8a5FPBNGqpgh/BiuSEb0/wA71VV+/ubFzEq6OEEpRYqUcPBj803PPMAtonE/phHqe4f9Rh17eLhlhgka7qN3AJiZiTorm2H28XZI/FWvChsyJKN0DUTXvRRKAsm1/ZEBf6a1NrYzOwfCfjeF12NhCgF6SQabIhShXM97qJ7VMOwUHrxvpGOnFRMrlH2ozlaTgXeZBisZGhQ7RG8E/tC69ZPaQfAwLHIJbX/vKiImqLJIpFttofuK0MnshvU9RCPDD++eFMOQjGaXh+kPoYst34y+MtokJKaqGq2t4UTr2Npc2AYnRAQDHWaGqQ6zdk6aVqw2ykbnqmmdxHEWWXM5HX2QJM3S2Iiry/Oh8U4Z3Td34yyJXZCmuTTtJYrNZDLL0jxK4qatjDHAW5fTSUSy6URrE0VRHKVxHJ9Op4vzaRLFkakbhxFfLBYAxJe6PBe6bVzjWucONo6yLGtdDQgSRdHhcCIS2F/0Fng2hPDTTz/1MvTJYrF4WT8T0WI21313JMCy9Xp9uVxQdgZLisViwczCfH9/35FqzMZERPT582fwsnEco1UTBDNQZxIRquswHXCNHPqWz2YzZobGJk1TVmoymXz8+LGqKijgtdb7/T7zDgdcr18vl8v9/X2aJp8+fcIF6r51C6ju0+nU1vVqtUKvShH59u1bXdcQASdJzMwwsNvtdlEUac3OBWOMYiHQRc5hvSgWCRJCcG1NQZiCBPEttZAvaa2UyvM8TXEOrY0ME4OQw2Pudf0sga2NYVpyvhTOuSGUX61W2+3u8+fPSZLM5/OqaU6nU9M0RXGB8wmUTk3TFa4x89PTEwwuXl9fYacIXT7mC/x3WZar1Woo0QO2AwffE/CN9z7NMxhiNk3DpKGr0VoXRQHzvoeHBxQmFlWJol4oYbBZLhaLSZZA05IkiXfeOYeFMZnPyrL8xz/+sd8fkiR5enpCgIf8A4QuTdOg2O7r169PT0+wfAFKOxz2mAgsWmD3pvewz7LMuZaZkiQmIu+d986YmEiqSxlF0STLKXR+L23dGKXjvuvkw8MDM4vrGv1oZSHB3+/30N5EUTybKSK5XIqhAvj333/XWn94vK9rh/SRkPeuUWwBW5fLOdYzIHgURWgIut2uq6pqGz+dTk1kQwhpGmNtwHUE94Xr+9QYo7oNtW+NBBwZxwkigdPphGyAtZahos6ypm+UhiIT55yJLJhppHBh3AkwDeiJGhVkz5bLJeoNlFJohOy9xyMIRclRFE1m0ziO0VhgaH+GcmFUEgN/ny8XANCs76MkIqhAAJJD2A9HeaXUkA1o2xY5DaD2EBz0chDMwPQJT/j9fm+tZUVIOjVNs9/vrdXwrulGoGm7Ga+LLImqqpomUwgCnXOuqblny0IIu90OX4ERwDrByfvexB0PFtS54lZCRcTlckFU47u+ThERIdGjtM7zvChKBEghEPhjrBNYKeLRh2cRomvc/ij5haOOGzVxxHvwM1IodV03VY3S/7qut9t1nudp3jXeiiOeLpZ5NrEmcq1vnI+UBWo3JmLm1gXv/aCQJiKtWCnd9g7374D7ANRohNrH0GTATKYz0XvXMf1KuIqIoq4L/aAzHmAWMpzDJu465zHDWgWUD/Yc8PiUhhPw3gN7hV4krLWGiT73/TpC3/WTWaOEdDiM9Jx3Tyy+Se93QOb/jEYGwMe9BAC1guM3/NMDKqV6xv3qRDloM6iL5MH7dkwfDXDzKiqhHpUyj5paqZGFilKKSLDaiZxIl7pRWnPXLes9LU29Dnm43jAWhRNxENLvJCj9aAj563hyD/ihASERktDlDfjq8X1dD/QWAIsIo6yCWALqp1nIK1Yyqg6lP8D9/jhXi311dXHsOv90b1Nv4ofrmg9XnCkigwm7GULMIHpIgA5xwBj+dwcVendm4+u8Kl7eu3vyP3t/511DJNRH5CKKma8ekCIkmog8GkBwB/Gv8xfeJyxUj837G8Mzs+KuzBwTHJgG7M5CPOpYO14Z7ybj3YWPfz+6nRiqBxIlwoFIk1JK5dmiPBwuh3OkdKxUxDpSllr2wXGnqyWRQCHg8M55pXQgqsvKeUqymdZcVZc2SNt6o4K3RIG8960LTIqIjFVN46LYUOsv50sSm/li6YWFGgkKFbNE4lyLu5F8cK5J8sw7Dx86a23dll1VmbBSNk2S1jnQNl3HQWujKD0eT5vNhpklsO+bieR5DtL3/v4+imJm3m72l6JaLpdKGdRaKaWgoMB+Ca+Puq7Xz2sA8cVi8fT0BCv3xWJh4xhSadULxc7nM1LAkG5j/zufz03j1uv16Xz+6aefACkg4W3blpjLqprNZkTEEHSG4Lw/FwU6FxLRzc3Nx48fP336NIhoQwjA909PT1CMEBF8ppHEwPY5eCIZoyDLKc5H9Hyp6wpcRV3XzjfEaQghSSLxAaRmU5d1XYv3WndFIMHXIgLdlLU6BBYKcD9t29pafT433ufSqxe0tnFsEpNAu//x40cM7OlYrtdrsPIc83K5GlKKDw/3RVFAVGokoOvK//P//glbywC24tgS2cViZYz5/Pkz6ibR5wiLHxATJCiUGFVVIUhDhIBtvigKay06qrrgmRlNbeIobds2zWJmLitSmoxVxKFuyrIshTXa7sIkkZkB3AFlAKbrqgVvikLY5+fnDtB7/9tvvzHz09MTkkIhhKenp+fnZ2aOoujf/u3fgJZOpxOeP506ua611hD+ht7PHiQxFMDYvNHKB+EljoMFAFkUEJgxZrlcwtoc1Y1ENIhwABCbplFKG2OSJCmKM+xKQFrvD1t09j2dT0qTSJcyjuN4Npvc3983bbU/bPEswgokGFp7Ki91FEVFUdT7BsKPn376AfD3fD5rbYdEhDFm1aO306kIvXEK4KbWerlcDWWa5+LIzFk6Qbbh+fkZtyRqlKUlDBeafWIhFUWx222UUnXNaGyJexC148yM8mskJdBD9+HhoXFt41pkkDCeSZJcLhekNQaBx8Aft22b5/lqsRgEygDlw6YzmLVrrf/85z/jiyCRR01OkiR1XUJBhFzcbDbBz8gnxEkUxONJBUOqySQDOEOMh4AQo4Fzg3ckBR8Z3TSelSxXczy+mrbK89xYxcoMpk8SyFjLxI333jV2MiEakHdpbdxFwpGKJQyAxrkWFxhZeynLPM+jKGm9K8uyLDt7RxQOaW2hrQK74fuqbni5gt3A+sT9ixTH+XxG8qEvdbVaawqCoG42m1WXwsaRsbqqL8awD2Gz2Xy4u53MFyZO0F/C2ti5oK1iUZAG0RVrKvi2cR+0dIaRjB/1GCgP8IUI5WpEROi7JCPKc4zyB1giPtDVd9yHIEqIg7ShYwzBMgAhYPEPch3p228j6/VH3Ewg1MkDonCPnvtgSUIvoFddc6j3oGV4hXBFfu+w7D99DW8bBnb47//9CGN4RiOcpvuaPbzB964DIQRYsePxq8Dqd+N9RdLDPzEPwxSETuVPvT+MAYgHEg99CcEQfgzR4wBk6Y28p/sW8O4hBOhFwjhsEBai3vBROraZBHIYmPEQCXWk+JshHY8tFtLYmxIrCmfrR77744FVo7JgnM4gphitTw1Az8xDMybq46IxEr2u7b4JlxmgdgdyewutsbJlPP0i/zyS++NK6r80IG8zduZHoENdz+NxjIIPa+7Di+HOYUfMTFoQqvZjIcNhWQn+0387ohk1jAsRCXUpEk0IyHreHSf6B2udtxfSnaSMKqalE8mMAjWFhAIHCYHYiyjyWoR1FkSV5YVCo7Q3JCoopYz3jdZKunXrqE9ZQpZXVXXTNJGNiLluWh8oS/PW2rYt66ZV5BVag1PQpFVL6PpRt40PtTHWh+pSuaZpsnQ6nc7rpvP5YuIQVNu2ROybtm07kzgINIUVc9a6cD4XX758blsf2WRxtwzBTSaZtfGlLG9uViuRsq7W681Uz51z1sbSm1Hgib9cLh8fH19fX7fbLbg8sNQi8vnz5y75KEnTNLvdDup2TDd24iRJZrPZ4XRi5vl8DtNG7wUO03d3d8z822+/gd0XEeaqqqq//vWvgJLYkgetM8xDPn/+TETYqyDJRcI9hADfd2PMjz/+yMxgfMHKn8/nw+FARLe3t3Vdf/jwAepSiIPv7++rqipOh+PxCM09wGscR5vNJooi37RRFLHS0IE0TVMWlyzLjAbYghkwM7NRumqDUiqOrdbcNKqsLt4FEUksGaUmWcZ9XjixUZIkJk4Oh0McJTc3N8+vL+ikuFqtbm+i9XrtnEuS5P7+Poqi8+kC0LPdbiH9b5pmMp0gWYGIfbPZNC8OatqPHz9mWQb/b+gWUJwACIiiPbDIIQQInDDmaD8EtOe9h0JDhNu2hdRnLLEFMEKgBelIHMfT6ZSUAYiE5BeJjv1+v5zPcJ8CSSOWCCF8f32ZzWb//u//XtfN3//+d7C8CPDQOcj33prw3wBv+vDwkCQxzCJhDqOUgo3pcJt774uiAH8P+YQaSX3atnXO3d3d/fbbbw8PD8gGILT7+PHj4+Njp5bhzoyfiEBXp2laVTVKjYGiulRDUTjfTCaT1WoFjxQUH1ttsiyZz6e9xKvz1nTObTd755x34tp2Pp8/Pj7iqXU8n5A2eX5+RjxmjEmSDPI27BBAS/DujKIEFwtF0Hw+996hjBUcbQjBh9ZGerlcFkVxOBwwL9NZPpnOReTr16++Nx0/Ho/7/d57D19IWBJhzyuKIgS6u7uLouj3338XEbTryvN8vd1geW82G8Q2i9WKtV6tVoDvYJeYGS772WQCthhu/YgSm6ZR1NkBIWMT9Q1BkX7BicFkHYA1y7ogDR6ORVEsFos0TTfbdQhhuz2HEIwxOIHpNLfWwoGxT1wYILOb5XK73RKFpqnqshqYYx/8OOcA7RBI+qbv0YuFAXui2WwWQoB/VAihbeuqMliliiMiwmrUWrdtVTeVVgq5ghDIxpExJkl4vlwmSfL6+jrmsIkoTVMou7z3aGUgvbdjV4Icx8iFIqrP87ytawS3eZpJr0oC9LdWw2ovThKt+XA4/I//8b+USVarldGRCGutm9azJ7itD5gG7UgDXdu8j/EDjejJ8KaC8w3SQL5oHAy8gfgDi9zrCIiC94F8x8z73gISz1Xdu/vp/sUjgBRGshb1VsOjlHLeee8D8ZD5CUHgGBd8EOeDc14kaK2U15H9P8GnAQvhewiWgvxPQMjwfly17sulRESxHSO3YVjUW0U4deoHIrrS7bqPnfCUHh6DRDT4jjMzyogHLllElGK4EYp4hS4//ZuHY4ogfPJEVinlRyT6cJwBfw4P4eEqNKvxYYHtmEjEi0Abo5gpBFGKREaADbx5/0mhXlshIuSYWbGmP9DN4/8Oh8IQ+b49/ICq3wwsGgO8oXQBZd/1G1V9pkWNL3NAmCRv7o4Bx5vBCAxc/TC775YUjwbr7dmMRvAP5Pow7sNlj3B/p1JnNfjjMHd9SLH4Om0REZEo3flrokNV54FzPQcORCMbfBrquCGquV4aDw8IEWB3FLzLKEan0UNkPGrjq+sj42txanf54iU4RUysAytmCRSkDWwnKs1Tw4dvhdd5WR1Op0MWTYU9EQXXVZcrIRHvvW+c4+AAIJRSdd147+M4qlu0JIzaum5dS84JqzhOOUh5OUOsYpwmpYTJtXUQrzUHaYlCcC06aYUQtEJZUgy+EM8a5xwsogtfNVXdtq3zEkXxfDbnIERUluWXL1/Kuvrw8AQsq5SazSeKF3hA/7xYGWNeX1+rqt7vjsvl8v7+fr3eogpNRLw48FjT6XQ6nTrfgIZHY6DHx8fBb+H5+RnZdmYGLYfUc1VVIGKhygDjdXt7W1XNhw8fHh4edrvd77//HkJYLpeoZB100jwiVDAOcRx/+PCBmWFGCUf29Xotip1zUOl8/vwZwtChwpKZZ7NZXZdt2y4Wi/V6jcK4f/zjH0Th6fExSRLvOyCorJ3NZsShLMu+ximQ+LYVIoqiqBVxrm3rhjiksW2axrcSnDOKrdJCbfD+cNiJzJybwf/+eDxGsWnairRBq1RjzMPDw/l8QSbEmvjDh3vvZXfYQ03RaQDi7PHxET4tp9NpfzoipMH49I3WLVIHVVUpZSBKXq1W2O8x4L63cP31118hOVgul4PHtohAwgQNwOfPn8uy1lpra4APQm/H0bQVeoJCLDGbzVBSXDWdM2mWZYjiADc1CyzqvPckajabwcg/zdL7+/s4jtfrDfWFyygt/f79O3hZLAOQ9OBrnWud07vdjplRZzxYrAAwYQsBRd00zTD41HWA4jzPcUDUbNze3n7//j3LsqqqdrvdarX68OFDWZbr5xcEexjJ5+dnZgVzJOy4k8lkvV4rpay1rashAYeeJE3TyNjJJGvb9nA4bDabzWbz859+BG4LvXll2/qmaeq6vVy2s9lsPp8qo+u6RgsFCNa990QKJuUIWYUZuM05F0Knj4KDE/Ynaw0Rw28Upcm4KQCvh6ru19dX1A/A1/zl5QXLA6OHJYFsA+6UKEkDycv6VRltrU2y9EOavLy8KKVQK1yWZRzHk9kMHkFKqd1uh2PCfQVcw6noEgUUAqIyJEM0q+PxiJNEHIWgsW3rJIms1XmeTiYZ5OlacxTl0uXcHRENuhpA28vlgjhqPp8nSSQigP66r7oWEcjzQnB1XQ6VCVmWOd9E3mgdYy0ppZbLJWqLB+kFbgff+yOnaRqCG0ziURdb12Vd26Io0zxHAnOwayyKYjFb4PFYlvXyZjVsecMOghQQjLmQyxpuZOm5Ve5J7qFVVggBsZmAc/EBSS3oA4/H42IxOx6Ps3keJ3FV13e3q59++JGDfP/+opSJ4zgEL71JwwAA3tCFAC7ERukxd4ZtePzBd4i8RyndAfvPXpHGGMCorlOpFxE4cuP3ZmSr3y+Aq6oBtLLia8uXARqZ3ip++LgCpRiuSEspcGSdM/cw41qLqOsH353nGFaNLuSt5Hr4r1yx5lhfpN5KpcfQjsb4sgfu8tbeccA5eMLgnyGEzpCzUyv9EyK/Y9yD+OGAiph5kFJj9pRSkKLxSKPBfRMDPzLUH/9VKaVhT/SH8xwmVDOLGoPVkefKGxUKEN+VusWQjLHrGMS/G7QBfCqcj/TxD4+Y60D8hsrHkkAAec0d9fWW0q92ciP1/BA4dZfZ3w0G608pBYfy4b56t4D+TxcwegXq/WT6mw4Lpcu88EiyNh4mxZr6Dl4k0LmMPk5Gugiyh8jdFygRGbp/Dau6H46x7sWDd+/imJEPUugmNTB3TvA89IHqxy6MyibGayV0YvRrUYiCdi0E8YEpsBIyllgFL+S9Y62jOMu1k4Z0cL5tmiZNODgikdBXTytWJCp4LyKuv/9BdZjIKqVIa+/bqizFe2s0iWnb2ntniI0xeZ5X1cU5l6dxILXZbbW1UZp4x8Yqa3Nh6irhlMYucrlcsA2AWRnubQD6SGtiruu6vTSz2ax27c3NzaffP//+5dPN6m61WpFS3759O+xPy+Xy6ekHCJqTJNls9uWlrusa7Pjr62scx8xaW0rTVLP6/PnzZrMhDlrrn376KbRhvV7//e9/B3cFXna32znsyv1WSkR3d3dDnZm19l/+5V9AcxZF+csvv5xOp99++w1vGyTOURSVZbndbmHHPmyQ6FWEQAKWJrPZDIR92/r7+/v9fl9V1XQ6hR3Ner3++eefoyj69OnT3d3ddDqdzWbY11kCwEHTVP/6l7/kef7165coilarlRJK0gi1qrvdBmSb6f25kygja0WCbx2WU78IYUTQKVzd+dI0zXr9gn82TTOfz5HIns/nRVGcjmdSnGUZ/hk8nc/nLJs8Pj6ez+fNZuN7nxz4XQK4H87n/X6PZAvG5OHhIc+mRVF8//6diOq6heXFx48fL5fLly9ftNZ/+ctftGYR2Ww2SZI8Pj6GEKAA0VojF3G5XMBAY4SB17lr0KbSNK3K5ng8Xsozwic0ToKQGtABVYlYCQCXRVFQcCiHBVr9z//8TyKy1iIDs9vtsOQwjN+/f0fUATk+ICO8WdASa7PZANOj8qGua7g9AkYPhYCIbVCv2bbtarUCIEbnJnjLrFar33//fTqdPj4+Ihvw/Pw8m80g7xaRl5cXaPr7USqWyyXGfL1e39yscNVCnf3RUMdstdFMURSBUZ7P548PD6jYFJHIJkmSMGtjPApG1+s1jF9OxZGI5vM5RCxE5L2v6xb5FgDTqmm01ljhAOLMDGvw3W6Hdk77/QHwDrkIVCMgDMCKwjMTPD0SIHiAoFUnvhext+ut9BD2ExGsWlGEcD6f//SnPw1JD0IY07aXy+Ww22mtb29vD4cDqidRizzTGsIYKFgQ5kVRdNjtEQriMQ5/pziO4XYCnRsyPEMxTFVVs9ksSSLIR3e73X6/j5MIMW2WZfv9/v7+FpEArmKz2SA0xattW9f4riSjaUUkiDPGIOaHgl96CxpkkNAKCiWzINGGmwiGWlprhLLe+8PhoLVl5jHYS5JkOp9BSEZEp1MBz1OlDIwa5vM5Mjmz2QxFEUhK4KGHDlbIZ5Zl2bY17vfhzsXWmcYJBRlWDnY9q01Zltbq1rtEJ2k6aZoGci9rY6012nIFabECvYerI3DPtVclM4e+8zpW2gDjaJTcfsO7X2XNb/Lk4226x2fdnwbgjg27ewN3bvEgiQY+AthIa02KoUQdgCzuWTypBpJ7kMFQkAGgK0WtD7CDxG8GXDFIlIcD8hswfQV2w6/6cbvSi9zV/hGNyxz/8NkrlPyDrgN/HzDbcCbDDwNgG6cyup//AHNFSCvlg5d+wJmZhQyr0BvGUA9VtSYircay55GtCm6QAToPZ9VVSgYJ9Ia6HqDw6GAEsN6hXlF0XUpv3zca83cDKCPS+d2b8dJ9vf7w8TfDK9fxGU/BcFGjf14TDuNl7Hq79uGvWPbGRkwkWnclStQnR4bJGw/feOngrqbgiAh0PY3/198sHqJD18ZxbLSqqy6RGqTSWkvojGyxBJlJqSGbIIHE+6GcuSt8wIGRkWFFLHrIPgQZvEuViBsNJREN7ZG166zch3XphAnFB9RT9VpZEXFtYBh24pYjjXkRQWng0K1NXCsiTmsh1blbqtByXXuEIRI4tpkxNmi7/LltzlnRmJXnpjWknPNt8EopVsqJd60LrWscIcE6gJ628WTZh6CVTtK8rcQ1FwqBlMnS1LUXQ1F9KoO4JLZl1RwvhTDlcXa5XJbLG01UVGcUnjGzc+25OLaNT9OsbX2kNZ7gu/06TimlomzO4WQopMyGpc3S+Hw6KKP3m634kGcZMPrpdN7ud/d3H56enmySuDY0TXMqLoqNNnoymZVlO5nyT3/6+XQ6lWVBpK3VzrnlzSKJ42/fvkEiH0fp/YcP87rebDZ123a3p/dFUYrIfD6/v/8A2IFqMLh0397eonju4eHh/v5DnufF5ZKmmXNOhHa7vY6sTRIvKkrTKE3jON4dj4vFgtpWiLLptL6UNzerpmm2282gfH14eNCRxd4MnQlgzQ8//IAVUhSFc81f/+3fmqb57ddfReTmZgnwYTTHccxMYMvSKI7j+Hja53m+22xd07qmjawlouVyvt9uy/KitWYKSpMxlkLDzE2D3kxNFEU+tGVZMLng2TX+cDj8/POPSWJfX9chkHP+y5fPi8WKWKyNUJyQpGlwbG0cQiiLi9Xm5x9/IlJw0dnv92BV5/N5mmbb7batavLBGjtbzeI4fn19hdpbRLCfDV2KiAjgg1lpre/u7hDgee83m839/X3TtyCN43i2mM8W881mE0jmyznwSt+jZ0dETXtBkDafz/f7PUZbRCaTiWuDOL+cza3Sx91+Op0yq9jYug55NgX+Phy+IQ8zn885yOV0fnl5Mcamkxw4DIbrQ4suCJmQiomNTayNjblcLpfqzBOpiktonWHVVjURWaUpiNa6dW3r68Y3Nzc3l8sZMiHEAC8vL7B2MSZC1Acdl9b6+/evcWxfX19//PHHLMtv7u/Pl/p8qZdLpZSeTKZN014uRZLE1tq6uZwL43xzc7v03kdRRBSYhVkC+UAeUiIE8FmWVU3DSgD4tCpvb2+dK6fTKRoe5Xm63m7OlxOeb3d3dyEEpdCsitC9CA9GpBHqsmSR6XSaxvH97epwOOw2r17Ye49kRRwnELLneR7ZBJ8C7Yr82G63a+pSKWVsHEemaRqmcHe7SpLEeb/f75HDaZpms9mIiHNuMpkhhqmq6mWzgZj7/u4D2GUkfJqmgcljliSFyHK5VMYsVqtv374Nyo0ky2JrrdYA09DDJEkSp4lSCgmBS1UmSaKMft2sKUiWZdbGTdMYEyGUaprmfD4Shaq6TKe5cw4ysyxPIR1ZrVavr6/w1UHkgPsCBLYitpFWip3DAztozcZowDWkd354fKQsO51OvmkAe8vzub5cYGQYGwMsSFqLCJKErm3ns0lZlkkSKbVA+y0iiowKQbRm2IQzc1PVdd3YKEKDqrqu5/P5bneA+gjERJqmsE5GYi2OLTxXlNIh+DSNnWvQqux8PgfnJllWVZV4X5xOk8mkCa3Undy5r65hL80kuyFpm/NZJVYrStM0jzJ2yqaJBOVdMNbSqM7b+64gcojuOgxNV1XMGDiCsKP+fwMmQskE1Cw9PiGtlXOBu01fhnw4ewkCaTORXJMMIQQVlNZagg8cjDHUgR9o60mEjbI4TyRY4Pyurm1Ze9tBhk2MH4KqEAJ5Usogh4PDElEI5L1H/6x/iiDHqK4XUioKpJRS8KAbzPREuJfUv8OOA0nKoyxBCAFS3jHkJRLFDCIdEnDqDBN5HMYMrC6c4IM4VkCMQUQg0Q7BB99Xx1LHqCpSpFUYae4HcGytDvKGzx0Q83V4gbmBaD0M+HvVhpD4wErh3DtoS557sYZIEJZOycw+eBEKWBSjll7S1VIiAvRBFNbAUAtLxFrIU7gWPAzX0vp+ctHqgCiQMJHuMz/Bg55WNHLJJGKgVk3CfQDWTR9zF5Si/ZHSnnBfdJGAIi1Mg7eUqJ6CHWKIIavyx4XV32ye+3RP6HMEaiTQGS5vmBIhL11dwDWCHKZtWCvdl45DF5E3PQKGSPpqLMoselQtrnuzzG5Q+nu19SQkahB1jY5/PQ3Vj/I1rghdIenANkEtg4l0vvFOiIh1t+aM1opEKRYixawiq/MJ1WUWT05lUZ2KiXNt8Ir6xBbGDaekVXC+aRrnm+HpwLGObRQkSHChcSEE1tqayLVSV633jdaU57lWdLlcQnCRtdpEgGhlWSZxlqZpluWt6zytQJ0AdlwuF+g9tDZVdTbGLucrRa66cOuapg3P6+c0zZc3q8enh9ZLVVXOS5IkaZr99KefrYnjON0e9t++PmfZZD6fP9xOMAtlufvy5UvTVs65KDKr1aosaxGJ45RZYEVyOp18KogvHx8fB20lLCbw++fnZ+gynWuda/I8v7+///bt2+3t7U8//YQ5X6/Xh+NxyJZmWcZGp2naNj6f5NK7QV8uF8jT5/P5j08fkfP13qPNEyhYZQ3Un4MnhrX206dPy+UySZKyLFaLx6Iofvvtt6IojDHoJwWTorZtiQSNpfI8//79++G4i6IoeJ/nuVYKR0MzYGbWrHQUtW1blsV8ihbu3CdVu9kHf4O8uYh06CROq8at12sRyfPch/8/XX+2JUmOLAmCzAxANl1t8S2WzLzdt7rPqU+Y//+COaemZyor82ZmRHi4u21quskCgHkeSERUzSNLHyLMzVRFRSAQgJiYmNj2+yMzv3v/3rKcTifU9onIzz//7H2Rc16uVjCYR1NSHB8GjqBgn5+f+773rpiXzrIM6/VyGLrlsqmqoiiKp6eHmfKEfw5E5L///jvCwrqu3717dzgcYMbPzBDG/Pjjj2aGelNs/yEUIQQkZH766Se0bVqtVnC6gEIGzPScAobVCdT8kDZdZ7HNjLKyMLD7THjPoQhMSOq6inGAfOX9+/d1XT88fr253ZyOY23Dfr9H8SJ8MJGbKori06dPuMCcwc/BFqkAYMJgIrS7u7sbhgQ0uVqt/vM///Ph4QHDjlUORR1D7GCDiARF13VlGeaCV9V0Ph9T7J1zzrMPIRSu688YjbquP7z/1Pc9lC3QTBdFUdYVCmpB0+52u6YZDRlROfr6+grBPbxKUkrPz8/w8EHy4dvjMyae9945gRcnwLeZLVeNc66uy5TS89PT6XyCvxCigllr5Jx7eHwUERGPKQoxdwiBSGPswQTDvjCE8MMPH3EmqEdH+gsoBBYueHJvbm5OhwMunyermRACrE6bqn55elaym5sblJKDDoeErCpKcORmFkLA5R8OB9V8d3fDk3Qe5jNY3heLBcpSnePD4YCET9M0UKCFELY3awT2zjnvQ9edMVGrskTt+w8/fBqGAbceLX7zVM9NROMtK8uu65gpxoTwD5wutiQo0KDRwj95dPJNKEtQtSHGw+Gw3W77OMhU7gmDHTN7fn7+9OnTNbYjIsTYzjk09wUf31SVmaEEGQvgom5IDQ2kTfncHpm5DF6zkUXnxByrpmW9qutFjFFkqC4ihzfajHmHpSuTkJwzu0njO0JThe/H3BnU3jLuM8MKapamHP6MT4AExg7zBpiABPuoWsE7fRAWYxpp7wkHpPm0efIUZ2bvfUp59iGZsQlPr+ncxk+JXYpEZXLgxnGAl2Yxwvy6Hp9r8MOT4uB6JOcv/Q4QE0ESO+vXFaMjbhJmXB15/u98nOvRvj7m/CcCZs6wCcn4uvHEhE2/h4vJFJKSCZjZ/L06xVk0oT7cUO8vzLe8OWe5zrGMB8ljvGSUp85Llxpl+wPJTVd4zwwFtdMJaMYbry+WyOZGQFcH+Tdy8fnn+T7Ov59/M/0whl7f/Wl+Qq+Hev7r+BVMfm6+QESoG8AeOWdw5ls4PT12fbpXJ/dmKnz34iuAbpzJhIUxO64nzfzz+IOaXjRt8uZPcy2zktno9mpM0JmpGssl4vzusdfp3l++jmkWveBMdIqkFQe379115jFR1ZTGXuimDFdNZjYZr1Epeyc5qfe+PSbTgiKn9mhZ+74vgzMZo39mFnFFIczsvKaUhAKkTNjF2btS6vZ87GLsU3aWXOGc95lMTK5vjXMuiCMmMsGOIiKFC865w/FcFEWMOaXUdYP3IzxCYtpLGDQbDcd+PwyJOJimbmjLsvzTn36qqub3r18en3cifrVe5ww/vmPKKCgZTd/ati2KUjM5x5vN6nhq1VIIoSzDarWJMfb9UBTF68tzSgmEKzODjTMz0GbYOSAvPp1O3759Y+Y///nPOeeHh4fVauOcg2RiwqBht9sRM/L+uL/QcHft8OXLF8gZQUqBQSmK4m9/+xu0NHd3dzlnuKN671FIipGHGBQlqiKy3+9uNhtAVaSwP378+PLydD6eyipApd33HZJcf/3rX1/3L3VdN1VtgYgcmYmQ9+KYq6rquvbQwtoybJaLmHrvfVEEFPMRKxOXZZksBR+KomAj+AamlFWpKpvb21tmt9vtun5so9OeurquY+xhlAFUUVVVWY4O2UQEH6H7+/sPH96fzy3GOaW0Px0JLhmhOp/PsI5BXaOqwnElT/01Mf+RBweOZ2Y028KImRlisNVqheOr6l//+ldmXi6Xq9XKuYAbvV6vh2EYwwbvd7vd3d3dctW8vr6qJZy/D+JD0XXd8bTPGtW4rmsWG2L3/PwM7wsien19RXlfVVUQXhMRcOocQjw/P3/+/BmjISJPzw+r1QqYHtEdjZ3JR/sOEYFyHVgWcwk6gbZtRfz9/T0kH3gEqqo5Hs/IJDw8PCJvs1wud8+PMNVxTmbrUngQ4YBdd2Zu8CCnlMwy9CW4a0CcEF0gh1BWIaWEOoeXlxfEGGVdee9n/z7nXM7mvYdxzfF4RGEx7o6IwHoVl7zf71X148ePiK8gTBeR9XoDe5w4tQqiSRgNiQ60Ln505RvZ0KksJEApg1AcDpKr1ep43C8Wy6Iq4TJJRLvdDroR+E3NzaE+3d1BmZNzDs7BKEZEwEHYVNAWnEdcx8yaMqKX1WK5Xq9ta8653e65bdumqcoyDMMQY59SYjbQBDlnVNHgvqOhKbzMUaSLGKkoiqenp9FdalHDtpKZN5vN8XVnZqjK0JzLsqiq0jl3PO6PxyOeDiQHEMbgioZhwOVXVeV9QlIRDxR4jcViBSljSqltWzM25mEYiqICpz4MUc0gCYMeEsOCnAB26LZtnQsQiQ1Dh4siItxi1I0U3kOrg7tQFWVVjPN5uVwOfVLWplrkHCPFxWLRt3tma+qKVNu232xufFGBTFMd0YmMZWwoQ7BZwaxXtWGa8gxf6Mp9XK+0LvYGQY7eKTNwnwHwhDOyqsKpndVyhgRxrLPUKxmxmbGoiHfOTVJcspEJzqpuRg4i4v1F/g7YgwtkMSEmclfnqZR1xuvT7ycpyIQm+O3rGg7h/1eXbNcfmX/5HTq8Rnt4XcjyCdX870DaSK5nc2zEAAEAAElEQVRTVn3zjX8YfGNh2BaPOQFc2HxWTGTzJXz/GmGYXi7zWpkjo0DrghdRUjq94UJOv7lkgxv4paBx/CK+jBKiuPE434P7SexuplNQN4/tbGN/df6XWoLrP13uzh/uC/F8Gm/G/Or0LoMj193HrqbKfBe8ZXXeO3FmljWzkZBjFiZjU7ieCpkRHODt4pQ+ee/gScAjgcMjvMMAk5sSSW/OV3HlNA00TdNrdjwYH2xj6PGZvof1uH+QpmONMMvK7OhNNI+PzJIpUwZQvhpTNiaidD2xTOc7epE6zZFMStk5N5VSKEQ4RDS50YuwiZDzQnlcNCk4LqvEItLUftF4B4nciNoNY00s7FwQEYgjwSmKEJS+zjkjVWNxoV4sNEpKg6ipmg9F154zggfvi6JI/dB1XcpSlnVVee89e386toBifR9NebZnrqqKR3E/WeJT36ekReHPpyEUvFxttnc/zH1bqlCwD0UIIq4s3f716IK/u7vzvlAiJKChklw0vqqqtu9gXUJE374+MnPW6JxLSc34fO7ats85AtvN1NSHDx/QiBRqh9VqBZVFznm73ZZlPQzDcrn8+vWrqq5Wq9Np17bterPBtgrQpky//fZbWdQfP36E6xnEiBCtHo/HqLlZLUeorbmLQ1VVRV3tH2HRoDc3NyCuoMypy4A9HsJrCCfK4Bd1k7cDTKN3u5cYY+nD0HZZo47lsCxSDH2Pu9mdzznnlKL33jQ4x5byYAOxERmUw2VZOs+TZ3bhXblY1MyWUyrLMgQVCcRa+hDViqIwpWyE0gJweCEEIrm/v6cp2xtKKqswRymYKng0Znl0vVwgZnj3/o5MYJMC7TJIXKQdUFSKQOX19RW8shk7F6D9Levq/v492hsRUdu2SPeLyGq1ev/+PRH1fSQiJIVeX1/R5fT3338HTgVbHEIAxIEhDLTL2+0WlzmiT3K3d3fAjqvVMoQi9kOOEWgeUws6qOPx+M9//jOIgHmF9yJutIgMfUJHT+AhhHn39/dDHm5vb//X//pfc0niarWpqmq9xuQZqzKgkscbYNe93W5V7fn5+ebmRi3lnAGqmqYmoqyxDKVzLueomqqqYDa45XTduWmqw+FQFMWlt4qqiNR1DSrazDD/UacLbjil9HrYg0xVVZSimjFs7EEzIx0BzI1epJCAI5BOKQ1Dh5Y9M8zKOaUUu66HzB3WTLPhPZwHAWgwYxHaFUVxf38/DMPr6+9lWcPphZnv7u6ICJ45Lo/NvF5eXl5eXvApN7XUwdJxOBxQkNC3LYD77Lr49PSE87+7uYUye7vdzjJ0SG6wpLx//37uOYVxQDMvhJFwj0XADPF31rRaLIPzwzAsm/p0OL6+vnpxry87ckaswYemaRAqlGWIsaqq6uPHjzHG0/GA7cM5dzqdzu3Rh4kUpGyU+6HdbrfPz8855+BLM3RN8t77sixm0f/5fO76HiZ65/N5u922betcLOs6pVTXDhmMoij6YUDGAz4tRVGQCGpemTmE8PT0dH//HsXEXghRmXOOQvAijrmsKppk3F4cqA0Q9ofDwbvidDoF79frdc4+xl4tbZZV257ub7fb9aaPw2F/Kmu+u7vTTDkZmQmPNaOAXCJj9ecVLuMpg612RbTxlHGitxiLroizawB0ASbTJp5zho2QxjRJ8/01UiQeqXQREUci4idl7AUJUGYWBMz0tpiVr1UGYm4yfiCC4sYRgU5+I5uGE6LyBV1cv+RtrSpd6bKvvvdCvhplQC2cC00UJNkF4VwP13eBwXeI8wKuKAObzbKi6/czQ1lzsU6fTvFKDSJCOmJQEblmzYG/gcdnpdP8pyl+wC2YDdjnN1wGeT4fJ04pzwh3utJMBCZ3KnTOKkRoIETONF/USgyF0ITyZ/SIkyEeFdQ0Eqxyrf4guvz1cvnTuF6d6ncekW/m8/XlXE0VvP8yE8ahJvJD7NR8oEA2NwvIZpbzm5D0ajhscnQZvwFHzTrpy5kmZQpGHFfypt/BJXSYLvsCytFBbc5ZjcWqPHP+12diNvYxcGPdOhMxJOxiYqoA99dxeUrxbZbK2ah/e3Nkzd+XpQJB4iGhq0p2Gs0T0D5X5hcjgHFCGpXFsfdl41eLZnXfnV4ott3p5ebmNiW1MUIdvytqlmzJlL0rOUBM6YMPRUFEObErgoSl4zR0Yj1RFhpIc2QW9Ne01qIo0ZCzMTt4pcUYNaUYk4v+fO7qaoH1NCXFXlVUVVmWOUZhX4S6rpbOheeXPW7Zl8+//f712+3t7d2797qkw7k1JS8uG5VVeHf/oRv619eX+/v3SkakIfiyLKuyOp87lDSBMIO7Ys6qqtvNBttezvnp6QFFcr/++mucmgVil4K0erlczlbiMcYYMyAgEYHEGobRAfB4PL1//z7n3DSNK8JyuQy+HGKH4+92O9TJIbrgiSHuunaz2fzwww8i8vLyYmbAl9h6gcCcc5oG6JuR9LecKjhbs4rIWBj3+vr+7j7nzGLgWYXscDgslvVmswL2JbK2Pavqatk4qZgtpqyWnMgwREy8oih8GOV3yp7JQuE16zAMRTGKYkUkk+WcqrImc+e2d84tl+vDYb/ZbCCxhbcdcAzyIaqKyOfl5eV4PAJsgff985//3DTNkBM+27UDLD6/ffsGjfjoQH/VYvBwOAAe5Zz/j//jP4nIe393d1dU5YzasffD2ePnn3+Gx/lut1su1zjgPEMgNQF8zDnf398jumBmGCOiepiZ67pGcqZpmrps+q7r2hZ6p+fn57Ztb25uTEbbeNgLeu8xB8TsP//zP5kZXbegrQddzcxPT0/L5XI2OGLmd+/eoUyQJocKpAjO5zNWbXhKVlX1+fNnlIlDD12WFew+5qPVdR2Cx+0wImjxT6cDmgY4515ennBzvfdlVZzbUxpGxp3Iq2bVDIUD6udE5Pn5GWwr4DIELQi0sPoPQxIRZGAwDfADxhyWSmaGzMZ6ve6GoSzLxaIuy1swzVN96g5PHPhpfNxPlufv378HmlfVp6en+/v7zWaDG12W5fv3923bPz8/wwsFJwxci1sJcZpzbrFYYMmySc0FlMlmIYTtdluW5efPn1HEycybzQYTjCa3Hxw5pQQ1zuvrK4xxcMtOp9PHjx8hgEHEBRIaYz5bvqzWqzIUbXtC9Ag0D8vIfhgFWkVReC/OcVNWYlRURU7RdCT7mXkYuhm6zbQUvgKRIcYcM/n1eEDhLBFjGGWStczZPwQeGPD1mnEJTdOczueyLE+ntu27uq67rh1SMjPIgeAsBL3Qp0+fNA1ol4YV2E3mFYu6cSya8iwi6ttuu916cZqjjcmNVJehDDwMw81mI5RyTDnn25t770Mfs115mVN2cmX3Nm+aQGzI2tFE99nVC1j/Ggxd7/sz2Uez/cuMCJhnzIpHQHNGzD/v+wAUcJiQqwpRYRa4LdlFUMRiflLsTMfmmV+eqXeagDWRMnsiYsUF0uwUbpPfy3eI/Y/QbUYjdMVC8tx6dv5K+fcOhvb2C65B+b99yWjyd8WyU1ZT08uJzQNCU8bj8ku+ANkJBxqw6Ty2U6WmwL9cM12j+fkqpq+4WFLi2lVpot7/0DKJL/2FpvOfRkyA568BcTZTYhEHQvoiShlP4G2WI+c80/bTO69n6ZvvtdmU8y3xf43Ip+v6zmXxMsh2Velhl6TBFVXPhIolnRcI1jGXNB/uOs9Co3bqEvGIQW3GdGW2fzXW6ghnwGJqxg6tp5iyjSYqNqWucIPHazOawPR08aRjtYG+Cb5J2YxU2PE8XzlnAO/L6xI4TlNxem4hnpnw+kTMz5/H8GHBNbsed+Ip1Xg125JcWgBgETF2YpZTykbMi2Z597H9+o/dy+f22+e7n/5kNGq/lIwJgakoj6VjQGaU1fuAJU+JfSjUoqk6XwirqPZqfepZCu+dpcgciUTYF0WxWt/VdQ2pz5BzXdeH4znn3NRMxDHmruvIZIhdNwy3d1tmizE7CmVRF0URk/V9/+3r4+tre7vd/uUvfyGSl92eiKBG9UW5XC7F0d3dzWq1GIZITvaHfVksIHHZ7fahCKiuw7oTU++cYxaoM5mZ2f70pz+h2tU5d3t7C6oJmw2g236/B/2JTpkxZgCd29tbbMDeFy8vL88vL0jmoOypKcthGJ6fdkU5QhyAcmiXwaYDE5RlAXR4PB5//fVXIpq7wAKamFmMcVFX2G+Y+Xw8EFFd133fH0/78/n8pz/9KQTfnc5N0/zrl38Q0f397eF11zRNVReLulHV/X6Htjiq2vetiHTd2VJ2npumyXnK3hippRjZLDvnnNKQBuCkoihCcDFmUkuayqImouHcY6KL+BCCqu52O7DpzkVkDHa73XK9AkZn5hR19A4qitvb27kiMOesMcWcmqa5vV0OwwD9AJRC86OKj+BJ32w2zjkgvBgjKPnXwx5Px8vLC5HiDVVVoR1m0zR3d3cvL6+gutE4Ca1/oG6H6x8RzfoT4A9osiGuwPNYFMXxuPe+uLu7M9RKDsN6vQrBA1/25/Mv//jHYrHoTqemafZmEJT/8ssv25s1ePeqqoqi6FqUf4y6IDC4z8/PEgSPJDoB4WwR+8UYmd0vv/wCQtePPl3uP//zv/3tb3+Dxcd+v18sFuv1+vnhcb9/RTtVFsuZdrsdMy+Xy9PpEGNvZs/Pz4vFAq5BVVV9/fqVjaBsISL46G82gmpyACyoSrreIHDKmmeNODA37Fbatt3v94D14N2Rx5gXOmy0bdsmVSw+IpcNbF734IwEq0HIqPLUogFbyVz/CtxsZpBQx9jPLJeIoNxzfzwAqRMRvCCrqasaTcXQVVGE21s8bvNE3azWaC96Op2EGLMdIHtOEKF+wDkHX8797lWIfQjLZlGEgo3qsiqK4vnxyXlGJ/rNeo0wqSjCfr97fn7G+IQQ7u7uvj18mVctpHljpCAOccLpeOj7/u7uTlWJNIRi6DolqopgOa0WjYh051NVBJGSFDE8Ab4ThXPf4ZFEIhSNJtqugyeMm7pWmRnCb7yGYQihQCBU1/W3xwcY/J/P56oocozeOWW+2Wxysr7vh7ZLeYDKCDooMwO5zkZozloURRqiZS2aAmfCzKrJTNLQvbZRNddN2bbtcrm+vb9zEszIF1XRBBI/E8OoauOJJEbUIZP4cybUZjJy3ohHzDTBimtkQ29xPLC4ar4+Ak0VGkREPuAHYHSjDCSdJ3uxGds48TRaDF3sg4lIxPhiaDhisFkMDYQzscI6w8QZe5mNH5/Rgl65Rr497Pcge77MGSnalfXf9dvmQZ7ffD1u07fMNPl3yB4in2zfI+Dv4f58fLqG2m+B6ciwOyI1mcomp/pXFhEyIVFmFy+Vu/NhAM+JmdwlkhkHEg03Z/J7Amz6th7y0qNzXNkcuNYr4fdc4iiGJkjTyZNM3Xav56Gb/KPNiCjPoRRauSO1MnHRbMameYroLiNzPZLz6V3nWK6xJV9MTi9/HD/IhJLn0b1fJjUnAi8eM6SXXAk2m/nrmZlpvB980aJdHrw5hp4esyv9CZOqwhxmDgOuJy6eY5102zOLP/+G3ipw1JjpwpHbdXb5SjbjnaNR7H+JE2wqwpgh/jXjfn1W12yBTIUmMvUsEBEmEyYUW4CFdcyaoiqpE2nq5v5d2Sz27dcUD0P3au7GhIkZ3VyZ2QUv5FJKzo0ISceZKkSkmcQ5IyV27ITNa+qi5hAKJc42mCViceJDKHhaGeMQV6t1piEOEcn0YUAjN+8kiMgQO3iq3G62aGIiIaja7vnldX/suuH+/j6l9Ntvv3Xd0CxWy3pRVHVKaqwi0vftb7/9cjyfoMv0ReEkeO9FeLGob+7uRQQEOXygmbnrupyjKj88fMUWAmYUJ/zu3TvUdX38+NFNpshoyGJmNzc3dT22LXx8fETi/uvXr7/99tt//rf/ttlsy7L89ddfb29vX/avoOi+fvsdkNTMwCkCps9m2CH419dXYAVU2oE7BB8P/CEiTVWo6uPjY1UV4KrROwZH9t5XoXALPp0PAKCWdQxXxiLFxWq1cszoNE5mkFWYEKRQwwBkk7HAAZU651JuSx/MsvdVCGN6sW1b8Q4dxeuydC6cz12McRgSZACITFJKr68vRVEREYS5AKar9aII1cjaMgOkmo2mb+vFsiiKU9tDyu+nxux6lTQcayeKYm5Su15vYTP37du3tu9ubm6As5HyXi6Xk512XCwWEFrAVB5Fk+iY+/HjxzRENurOLQhpTRl+5GaGS4Cg2RWOmYV4u92GEGLMDw8P/VTYCosSEfl//p//xzkHt43j8bjZbEDeQ8gEAQlSMRiQm5sbM4P0BVLv/HXsJIXw0sycC4vFIkZ4VpYoPEUt7Ldv3/p+qKrq5uYGwD0Ev9u9lGVRFOHh4YGIfvjhh1A4ZDlU0zB0YJ1FZLPZFGXImmIa2u6sqqvFEiAY9wiB1mKxgCvwfr9HJqQoiuVixczGhEQEEWHQUkrwYkJlCNIaWLvmOGQsq5hy64jB2rZ9fT3M37vdbruuA2oEdJjLRXCxqPooy/Lm5sZ7fzgdFstmxSs8rZAP3d/fLxYrJGp4tH4fVz9EI5iEeBIR+EGfBvb9999/996vFkvI3Lfb7bcvX9MEPRHaobbh7u5uNiM3M/ACq9UK1QgA9HAo6vs+mOOpFxVG7PPnh+NxP5WSS13X4sbikMWiRlW6meUhllXRD11KiY1gwRRjv1gsHPMpxrmMAcouLGXr9dp7X5bjDSKirBEhNwK/eZ9eLBYoUUBkgn045QwXV8xkXCYednAWgP5+6uyLK0LR+eFwqOpitnhHxMXMwzA4FtxrUJZ4jtq2RTTqhZqqaJrqcBj6od1sF7CuYnK3t+98USixr2oRcc5gfGSGxWpkweYUUJoaTtNbYcC820777xvoSW8w6AgipyDhqpvKaFLHSKfIpIoeycEJNozb65W/BYk5ckj3EakZ64RexBkzC+Ny3nhDj99r9taH2sguliyg4a9Q2vfk9+U4b2H6NcibYx48et57vTqTGWvRpWTuf+sUMr9sUj1Mb8izQGW8iGlNsKtIQGSWi/D1gFxfjoiQG2ly8MU2ykhgsOmIeY4jvsO1eGVGS003JzRmq/DrmWBGaMNEOupBxi+zUcRiVzT5dyc5z61phowU/QSaR0/S+YtoCiyv7/4c/k33Gj2h3qrtrxotwdUAb7s+1HyGV3HCPChXORkmH8YeN46I0tRmlohmC548WYzj0OIu4zU7LtEVrp2/b4wIr27M9Q/iXIxRZ4XZXAj7ltLmiUe3S4HsPJMuoqJpdOhqAl1MLeGthje70Xh/dNHBjZGrmzpHOfhewBrvvffBXXXJup46OH0Rdk6ur4gIhj6kmrwvWIh8Lpt1tWiarpRC2tNrsdqKOBFWG2cAmRgTWKV5QkfNkjNIr6gpxoE4kWbOKQhXVRW71nvi0Ss3imTvyRFlo2EY7u/eD0Ps+96U60XBzEwevBH6BBHRcrmsm/Lh4RuzLBarIaUYuxRVlbbb29V607bty+u+LMv3798PQzKiEMLj47eHp0fc+rKuQIqXVfXy8rLZ0O3tXVX6GCO695lZ0zRlWbbtKca+b8fN5t27d2aGAikiQkfGDx8+lGW5e33+/cuX/X4PRQ0RvXv3brFYdG1yzs0NNVX1dDr9x3/8x83NTc768vKyWq3mXDCAuIicTqc///nP2JlgNGFmEOF0XcvMt7e3IHrhYn53d5dSAi6/ubk5HA44ZgihPZ2Z+cOHD9j/sLW/vr7Kei0iv/zyy3K5rOv627dvZVkuljWurizDoq4fHh68d0XhcyJmU1WbivmmksGWiAouzCzG/nQ6qeXVclO4kQTCnppTz6NC1FRzURR1tRCOQCoyNtyhiCY+RVXXtZLNQWZRFH0XMURm9vr6qmaLxWK1Wr2+7mEzIsGz0Ga7wkYbpw6awh5UMYwCU0oQJ7RtCykCM29utsiZlGXJXECJu9/v7+/v67qGyXoIJebM6XTCVyDZ4sWhsZGbTCeBNUUEWu0SDVavFj5VRS1a8B7lzv/617+g72fmlBIs/NEH9NweAbxwmzBQy2UjXKgqDGSaplmv14+Pj5BzrNdrtPT6+9///vLyMgzJe08EWneEmJifX758eXl5qarKzD59+tR13W73klL6xz/+0ZQV+u/+9ttvKGSv67LrEsh1SFnEjfn6nHPbwjLSDUPnnFRVVZYFel2JiPfu9XUP8QZkKs9Pu6IoXBirHp+enhASY8IjCQZXQQRjPAVsIgLACnzAzP3UPlY1YvU9n89VpSJ8PJ4gHMo5h+CZCVkFMNw6dYEdhuHcnU+nU101YL6rqgL+7vu2bVuAS6RTXl9flstGRF5eXnCb6ro+HA6ghBGFMjO6O7PRom6enp4QYMP1HHOgLMvYD0kVibuXl5f1eh1jfHl5adt2UdcIzlFsAE8hVEEcT3tU9MYYcWTIn8wMP5RVQPaAiBDBYgCRQsSolmW5XC6RWNCU2r5H+FeXBRR9OWfUFYxaqWlbBD3hnAeOD6FAK4OccygKs4Tj8wRVKeeyLL99e0Q/Y5Rcn8/n3W4vk4DweD7Dcgc7y+FwuNnezaWZYFLclYV5SsmxFEWhKeNWYqDKsuzbg3Ohqqqi8ES03iwXy9I7FvYsfDyefLHf3Nx2QyqJl+sV0ywTz1C3zzs1Tg+aqMtmysoymt4xsxMWaHfJXyO5Gd7xFe0qVwWgBEO9C6oTEXE0DppzDuHEfDTvZRjSjL3UjNjEEeo9cjbikacfJR8kE+16AUIy9dnhK6mDmYnNjZ8uAGwGD99dzgV6EdGFzbwE0khWzN8yxjw8K4XeHDClMWMgwm+bk36P3WfkhgPSVcbjGrBdnyfwmxrNQzEHBjrJmjHy49GuJRLTlwJiORfs7Wt6w+Wfnm2GiHyVrJhjGBr7cn7/Yma7IotBruFQWa8CHraZjxdi4jexnHNOSGy8lW9EX7Ca4bcBEl7uqgh4uqhpiMaxvWjRMfjzP+dZNCLA8S7o1UWRD+LmD5OpqqacVRUGXjo1/ZovI4TgvQgeORKITJwX1Yx7gOUAZ6+qfIneeF4ymLlrB0wDmV7jaXlHCHWZmUjGqH0MZFUVNi94hK5nHhGxCLNXVSM2A83AqmM6Q6dCcs/z9J2qxYmVRJiDHwOdxKPvvfdhFpLOU1xEjInJnMhcksIjfzCVHVBmEmNScRwqH6nj3vM6FNUP/9f/6/V/dCR8t/0/v+Vcii99KBxnjWbZ2MWknsV7r5pAUeD5z2Sq4GKDZTMN4ihbNCJnpjmqZg5FzayqUTObMIePHz6e2mOMcb3aGsvQJ1MedGDv+hiHPPiicK4Kwe9fj0W1CiGwC56k71lcvd0s1qtt1Sx80RpVTdN0XTzsTzJSrfHnH//SNJUL3izHODy9PFdVKEq/Xi+do7Y9nU7nd+/eNc3ydDr17XnoWjZZLdZlqOBSPAxDUfrNdnU+dZivT08vv/76WVW7/pBz9j5AouokFKFqz31K2jTNLAPY7/fo9H7Y75+fn2/v7oqienp6qkJRhSL2LfjXH3/88Z///CfoQKgev337ejodAYlWq9Visfjb3/768PDw/v2njx8/IK28Wa72+30Vit75RbNaLLSu677tDodX6L/rpiz87cvLEzLmZVk2VV2GQlNcrRcxRiFbNvXhuHdMKcWiCMJ5qubMQiohTE9bJFajaJaZSTWLSAghW3HuhqJaEukwWFlVMeVsaVGuUhqqshEhCW6zrff7WJZU1mXKA1xKVbXrOlVywZ/PRyL68OHD6+uBmY1GhcPLy4uagWTd7XbL5QoA14ZBROIQVbWqqkgEUBtzy8zAxwh1hhT7mNrTOca43W4/fvzY9h0ASgihqgpodcDB/9d//RdigCmrl1XTu7vbtm1zHJ4evqHEmYiWyyVMoAEj+r6/vb0FmY1yRiChUBaPT0/Oufv3d6oqwo+PDzH1ICMRdzEzzDrKsvSh/vr1a1VVm80GhwUMjdqGEMoqxDi87l9Wq9V6s3x8fPQise9Ph8NqtVotFofDIce+PR1Ax+bYs9owdJS1WVT/8ac///Wvfz0fDk3TDG27WiwWdQFljvO83iyxpKBNEgKnw/kAadNmsymLKuecKKWUylDFPg6SoLH+8O6OmW82G+9YSNvTYb9/Lctys1kfj0fU1DonRno+H0+nVlU/fPjgvd/tdvv92JOoLCvUACCiWy6X6EQGgQdkx3VRw3zQeQc+vm1bJjocXnPOq9UGbicQwGB1AhUNxQsqBJj5dDgtl8uh7/uuM7PtzQ1wcNv22Hd2u92nT5/2+yMiCzSLVVUkxCDgBoiH9ygaewHBs5PYDzHGZbNIQ0TtCjN//Pjx6elpv3vd7/dlGQrvRKRt2/VyAeIflTMigraszNz1Z+ccrDBfXp5TijmnpmmKwn/5+vnm5ubuftO35+58KL3DlBWRqQA9QU3nHC+bBuyy85xz9J5i7KvK13V5PO2BG1JKPohRHobBVJuqVE3DkIpQEZFnV5blqTu70fAxBx0BBLMbho5d6GPEOZRleHl5evfh/dcvj9h2Y+zLMqjqMAxeaHA0WcnHqqra7iSOqrpoT2chLkMRQiA1zVSX9Wk4GWnhQzRSTSGUIQS2nGPu4lAwrYuVM1qEIngiDsa6WJZNvT6chuCXaXDB+6aqLSfzzGLAWjZ1PeRRQY6AQYizOMdClpSN1cYeOUzEbMTkrvy/J6P3kbBDfDjLBJiJ2aWU+EKIouunsRo7cZ6nAgPIkEZGMuUojnJS1eRcoGzkxDknruQYabaZn1UNrCzGREIkMko72FhQfAtZBZtjUlOjrHBCd2RGZGB/NaXIxkQwTJmrD0nN/ITARUYrapoYVZps7xHuvkWQNGfAgO8tU9LsJeSsIsJzwHCF/8ZvmqIdy0q4BWSzaDyxOj9Kf2HbImN/xo6ZldQsTWBMM4mzsWJ30v4KMxFTHu+sM6KoJuLYc06aR77fCKjte12QOuJEqKciEdF0qZNEFRmRQnrtnTciNRJYhbIys5syV1dSGYhwmI3YBKYgdGXxOedEVGkOZtCz51o9NUs26G06aIK+APREl1BtzBfMbxY4jfCUCLo6lE3MvYl7U/kxokvy9O+iPaytM6C/jm/wL76Smk3/HYOeq7hKcBoThWPzDJsx9PU3zrB4vtQ/vuePv5zDlPld87dj4JjZiccsYGJxl7CGyMnkP5qyyZVX9MxKEvFMDMjbXJ6ZaUoyO7NO7rDjwfmiYPPeB+9ZyLKm1Nfr+ubd+69PD7un/099/3/WoVHjlFQcizg2cyxTXc2oU5qt98aC9ymBwOTMoohIEWKXIFPpT0cigUh9vbmPOaWkXRz6w6moau+K4/EUNRdFwSw5G1GC/Ujf9103QBcL2WVRFPf373Iy9DDv+8F770LwQc6nbhgG72UYuu12yU5++eW38/lUNbUZQx98PB5T0qqqq6JE1RdpVtW2HTP1y+VSNe12OzoqEQVfgpfa7Z5FZL1ei8vv3r3bbLZo29nUy6IoXl5eiOTp6QnpZmz2WIi/fv1KRM/Pz03TA6znnHe7XdnUZVlCH79er9frNSgfXOykBXe//PLL4XBYr9fL5QLyj6ZpUE73+PQthBAK51wRnH/tujw1+Fwul5byMHTb7XazWcPDW0TO56MRbTabvh3hrIjg0oy0KApgViISGSsvVVVtDBqxFmOxaI9j709V7bpBnGMeO5JivQ4hDDmLyO3traoOQ6zL6ng+HY/H4EsiEvF1XXciUKs3zRLm0OdTB14WvUhBvD09PcaYvPcxDjaVmqSUqkWDOVkURVU2fd+j+2MIoayrw+HU9/12uwVtiSZZ81qMD76+vj4/PxPRzc0NyFdEAlDljml6IphCIioAzYnWqufzUURijMPQEZFZfvfubrFYfP7yFcWReJx//fVXiGQeHx/btkVRgYjgW4go5wzHQxTvwuYPkg9kcoAakUwoigIQP8b4j3/8A3z/+/fvu64D+mfm27tm97KHPvinn3769u0bVobj8ViUHm4tnz59gol+WZZ3d3eTM0xOKf306Ydff/0VQA2MtXYJzRywT+McUJuB7WTOeMA6va4bZobqLKY0DEMI5c3NDd4Av6OUEnowoZcnwiF8BHcHXTMxJhDSgPbG3INyPaWEOxIns/mcs03FfGCO4fciIj///DMKKkIImFoor4TEQlV/+OEHIioKP6TRXPXdu3e49ShiQfWk9x51qOv1es69iEgRCmjMAOWdc0hHbLfbL1++mOVhMOccXGXwcGWNxBqK8YMxxq7vwX83TXM+nyC9w3aDkK9pmtj1qDfFR47HY+x6Wq6IDZ8NwRU+jDsuI8ke82TYH2Ofc8x53H9lKumDx2jqs4gvi5KIclbn3GIxGtiXZZltfCqJNITy4empKIr1eo1BgPEobODNrCxLJcPa5ZwLZsMwqF7t/lkdC2pIUOedAe2HIYQwDLGqqpSGnLVpmsL7/X4XYzy3h6a69cFIlSUulgtXUN+3x+P+7u5dN+SuOzfLhQQZhq5eVqRjw3IyIxSOaiJm4oC9nCyTEbExEV/pMVA5MPcVusYMdsVcXpOJEzxQVaUrmTtmIyQCzl1kOTIJ0kVELU9ICzhnNscjd9W/cwYnc3nx5Cgzn8C4ygmpjvV+RsQKUYQ4ZrZJL+S9T2m8Jdf4Ryb9CU+c+gzgZtJTrlQZZubEjR1B1eCFZ1nt6pzfoqMLfXn9yxnSXOcH5lP64xHsugzSZlDEqnO6Q4gEau/xPjox9FE1ZkCjyQ5yvLNmmkHiX5+A0cTcg2i3fIU5Ge1T39TFXl8ODj5B4REWzm8wyFf+gH5pxLpubpBFRKN9+ZspJ/P4/HGcp7ddbvEfgKujsWHom5P/Dod//5r+9Ka28hp5zxj0+nTnW34N5edvepteudRJ/NvzgDrzegrOx/nuu8a3mc42nNPcVWaGsf/10DAbM+PhMabJokhEkDb7Y9YGqU/33dXN5/ndiOOzmjN6OM1byLxSzOOgqjkblDa9RVHxzCZJyub+xz89vvy+//r/XlUr8QXRIhqHwjFnHcypZL6ETPPyMZ8bsXp2JGaaiaD0YRbvSSgPSQleYMwu5gR8Kd5r3qeomqMrQnuIcWi9L8qyZua+j8MwwKIaTn9lWToX4v6ItiabzXYYkgRflTU25rY7FaFyBVd12B9e94eDGRVFmVLe7V5Jiqf0oqqbzQ0RwfXieG6daPClcwH4suu60+nQdidIcmOMMfXO848/fQTSen0tIFR4fX097E9xGNtnfPr0EbTlL7/8ApkBzP6GYbi/v1+uVsC1wF7DMPQpwtYakPrr168vLy/OOVDaENu8f/9+u93Wdem9PxxOq9VqtVqdD0fvfVH63EZQj6vFEtMPR2u70zAMlFG+5tu2PR33dV3nHFNKZRVEKOcsjhdVDQ2MUV40NWZsVZeFd33fM5tzzMKsLBJmTD+rvHh0fLpMdZ3yg6fzgcmJ+FD4pl7ASC6lxMZFUQw9ekiFtj3BjBJG2qiYnIBUABSAFGF2tBCRYRi8D4CwrgjIrUP3guMA7567tu/7n3/+GaKIx8fHU3tGT5+6rs3GjjPgZdEch6bCU3T9fH5+Xi6Xt7doZLsDR4gaZfDiM4qFcHx2P/z73//+8PC03W7LUED+VBXlu7v733//Hc1i6qYMhauqShz98ssvZgZiGNkGlEheU7Bd1+FPMimA8UWzVTx4DUBhqKEg93p5eXl9fXXOffr0Ca0Adrud87DQdrDuRud5NJCqqgLh5fl8nGsMRMQ718UBCmyw4MvlEhXARDSL3YkIBRtEpDo2zWnbVs3qeoHWUfBsAWONRvTQ5MCdCbd4tVo9PT2hJ+hisajrumsHTLNy6iKErwMcVyWoyUE8D8MAggMjMxcg4ua2bYtL7rqu7TpEpz//fA+aH8EAER2Pe1Wq67LvW6JSVZ3j1Wrx/PzsnGuqharWZQXfSfZMRLEfmLlHC9WqggcUICwKYc0MwSFUy865oixhWw69O4YCk0FV2/aMUhaEKznnYei2N+sqjO1mb25uhj4+PDx4Fh4teiSE4Jjg9eKDnM6H0+kUuxbuAsQK9YD3nhkPtTMzDFQ/pKqqmqrs+3g4HESEnOtTxGPlnFstNzlFIsrZmBWyKACssiyrqkkpHc8n7wL+ZGZFWQxDxDo59QoocNWORVXhA4vZOxoQpRxCGIbueNzHeAMo352Pg0jXdUS2qMuqKjR1OcV+SL5s7u63Zsvn53PM2QcxycPQ1sXCeU5pKHxgZho7CvJcLwjbb2anetmsQYJNemORK8fDuV/PvAlPB/weV2CHRKk0E6G7y0y6eS8zcAe4ACx26nIakbGINyEhNmWS0R5kVhzMm+8IM+g7jEhE5Fl0pLQnvMgIJ7JImL9dgEXzG3hNUPtcyZJt6tSGf85qCplePNeJ/gEXzidmb2Uq3+HC663kOxg6nu3b+tes6JCqs4sgM5Py5DRoisrOsViTgaSIyIsQGdH4X/TGVNVsY8Rl0EAbKSIpGrUeiVB+OQ2CyBRYARNOGQN/XTqMMbkCujaXpb65a/gmvsKQMroeIUtxMQYVmechz9Pyj1D7aoIBTE4M+TxPIO/Ay4mM2ps3fbWu33/VQelNoAUDBJlP2qYyzclH5dLqFnw+otXvjoLXTA+bsercZCHPs3AmjHFC10/gPIfejs4VlFciNSET6N+m/A7DlH2yW5o+ksk7VMyCADEydiLOeS/XQ3k976+D+/n13S2ZEbnZRSSFlJbwOHRjd1ojU01Z2YiNrBQyV3hvnqMO1eaHm+2HYf/388tvlTSuCq4sRYgpKyuZqCX4cn737SJeVZmYHAuxxagkJESWyrL2lPtTEpEiVHDQJ6L9ft/2fVVV9WJpysdzn1JmdiH4ul4UoVLVmMZeMEVRgdkahuHbt28uFOtqW5ZlWVVEXQihT/H5+WWIA8i/TOnh4WtRFIvl2jn/9etXFh+8+/nHn759e4w5L5fLqqphkLfqutf9y93tuxCC98XpdGqaqih8UXrAl5eXl77vcs7Pz8/fvn1xzi2X6+PxhO+CAV/f92VZ//rrr0imd1338ePHsixTUvT/A4Pedf3r6ys2v7Isq0WDdbBt27IsAeJPp9Pr6wlebP/xH/8B+HI+H7GrgcxeLBYx9SGEzWZTVdXTw2Nx/w4tbDBnbtab19fX3798Aaw/n07Oyel0wGy/aVZpiERUVZVqOp72PgipVXUJNjoEx+pTGlis8P587vAkZ01Zkyl6opufGrWEUF735Or7tq4XIiKMxjckjququru7e3x8XC6XKenXh2+A2ofDQRxtNhv0Yc45B+cjy3q1WG83wzCAFAGfChMS1IwWRXk8Hj9+/Bg1D8PQtq2ZAQyhKoCIzl0bQpibruNJR7GmqoK5B8Z6//79arVCQIVFA/ALnbBALm63azM7HA77/a4oCufYOR6GsXoSCS5ocz9//nw4HJpm8d//+3/f7XZEtFwui6JAQIJCzNPpBMdAvGGz2SA03Ww20OE8PDyYGbq9ogYXRDVyMlgVz+fz3I5URH777bcff/zxxx9//Pz5M8qUy7KUQbz3qIVIKa1Wq6zx+fkZqwQgLMjslFLXnR8e+tvbW/Qr7fse5dfF2O1VoUd/9+4dWOcYo5CKCAxDUJsYc7vdbouicE5Q8lGWJfKHIL+xOm23t+fzOecEbIcqWDLBRoWFDpEVqiNSVJQRi8j9/T1qPZ1zp+5UVRVmKSYw6heRkUeugJlxH3FDceEoo4StkKq+vr4QKdBk0zSwqanrEtLqL1++zAw9HvzT4YwPzlwy8iSgG733mFoI1FXVLCNtggIGqFPQFQEpl2tUF2NUzTA2BcWOZYRISVMeYrlc1fU6a8o5k/FPP/74ut+nHMuqcCwgThCrIF+Rhz7nbJTFBdjhjwQqTw5meQzHZ46zqqrgyz5F1TFcxFNGV00lsb+giLnv+6KoeEpoJxtvdEqprKu5FgXXzjBRIFbV0+l0Op1Q+YMje3F58uS5vb0VEcfWVAWRee+WqzqltKirqgykWlWF8zwMfYyxrIuf/vwnVVIlFhliV6gPUpAhe8yjccW4M86NNkF/Atk4FmMxJzMW/zcQU0ToAhWAjQCkdNqOARuEpqZgcmWMQUQmDK+2CWpgSyVhZwLkw0NOnv1c3cdv6W0dSxVH+YqOKSZhFiJjJWa1UVM9Kr9limaNiUgnEtA0v4Ec1z/LW9P3+fKxxl7/cpYJXX9Kv1c9vMEtRDQP6gwH8QjMFCH+eVkW3mAeg6cfgDXOgZmzqSPh0SHQeDLn4IvZDKWEIxOg+czWjhptY6R1YU5o1xbepmbm3Fw3OGPcPF3ppZR2vrQrvDTp7MfyyysWbGrCOUWMoHfdjLsuQ3SlymZmEQ+gyhOjfz1dbXaonG7UmBPgMUlDJjZnCYTFyExsnP+WJzsaYlKmSWX2Pd721xAZtx83w02SkvljV0HeJQqc5xwalU3nPZao0jRnc4Zgd6SieSKqr+bTOF2yxvEL/+AvOb3tTZA63R76rpcT0eweM0/VSxEDnp/rEb+6tZeTnM9wjjHmKXXdfYCZmUZ68u01psvPgcpcxEzEqRtyRcub7Z9aPbWWh/7gZRWC08Qs6siItc84z3F5n2fzdMLMTGxi4kkzEbsQHAmTiHhm6dIgKsvl8nDqjd16vfVFeN0dhpzNSGGRa7CUcTkrk2Mx7+sQwjAUZqORyO3dnXcFs3z+8ltd10WoTqdT159Xy40vAhH1yUIIt7f3VV33/bDd3t7evSOi06m9v7/fbrehrPu+H4YY43A4vr6+vuZk3vuqanLOs5vE+Xze7Xa73QsSFCmlENzt7W3OlHMrIuvV1rvCJgOmGT+BoD2dTjmPNOrt7e3xdELXQyAtIA80Ki/LEpoQ+BJCrmNm4KG7roMTxfl8hNrn86+/fvrhA/zIzez29hY2IBBO9O2pubn59OnTy8vzzc2WiZzjqipeX1tirZuy8MGxDLGvixAKZ2aFd3NbUzM7HvekWjel95icKiIpK0IOdkJEZRl2hz0Sv0BjOWeY9tRlJWRRNeYW2J168t63aGgnIqJ1XXvvUh6qqkp5QPvPvu/LohYhhEyr9Xq32z0+PrZn4J7RMHtEn1mBmU5dC8p5u90uF2vYw4O8B5cBHx7w93dlAfuOw+EQwug/Azs/dGi6v7/f7/dN0+x2OzP74YcfUkr/+te/3r9/r6rPz88QLbx79w5ZIIRqwG2wzP/8+fPz8/P79+9/+OGnx8fHv/3tbyDy4R2+3W6JiI2885b18flh6PrNaq1ZLevdza0XF40sa45pvVzFfoAlDlDjLO0Ayp+DCtQ7mhnkT0T0z3/+EwDUeTaC33lLrFkrFO9ut1soUnTy0Rch+M0/PDwcj8f37+9B/OeceSrdQ64MMSRMyusyQKcO4xRwulA6rdebvu+HPnnvk2aMdtM0RVFBjw4kjTh26NE7zGFWxxiDL2+2N0RUV42qLhYKjPvlyxeAD6BSFm6aRsTPHzSznHMIo+HJXPNqZogBiChNPY9o7A7bdV33008/ffnyhXls0mlmRVF055aNqqKMMbbnc9M0y2YhNN50xBtIQUBhpaqQ6b+8vEBeNS3ajFQJjD5THprFGh9HUjFPLgKLxaJpmr7vmqaBr9TpdIKtufe+LsuuO6NzAjGxkamySFkE63JwntmOx56IyuC894+Pz23bIk4IITBTRl7COyQrYESjGonVecYYws3WF5VzDtXqROS8h8oW/bNQf4Jlysxm4R96SnRtj4gaix7sfdBbF92IQwiOxTkHjRYRjQWyLK4syzKkNNR1nWMMjrlpzPTcHjXHpqmKqtSo6rUMfrtdgziIyWouQgjOF6EwJinqynsfL2WRQqSzkvt6MyXWK5AOOKsTRSrEeoE4U1XrxU9k2oWn7V7nPXeGmMyMnMyMRK836/mbZ4DhXOhTREt34wuKsClYAg2BdPoESi6sPzPnPEzfoGZGaiSUiRzqYUd6fvR3J85EY9yoekHANor1r2GVXaOaGavMeOn60q4Jx5men2HS9IPOb56h3fzO6a5diSOuVM05Q7JP1zjngmyVzCgrLkEhSZ/b2WpSYQdkSESzeeLMluI4NkuEs0Kt5BnlhSYi4jANFLZAqnPVq2GFmULxCymsqkwCdv/iUm+oTjAzI/bTCL+58GngmGzUyUxjOTbewm+c+zfUu15JqogI2H28dzxWQOIGEqGJENHVBL66WWb25pc2/f5NybZMsvU5p3A9NemKEbepOPcCuPO/CYB0Kk5VVeaLY6Wq8ne9VN9qVObHcn7N3Pf0kH8vZiK2HMdpkVIaTc/pqmUAZTXLMV9/53eP9NXtGScQzhNnnifPewD3+QkJfoTsOeep49ebbFdKiQdiX+YcTbKIaJZq9dFLtKHX3A/DjgsJUohzzBStIzZmErputYUzxH3JpqKCx78wy8SmpqlLh1ObhkQmKWp77vsUATjO+3Z/OpmKsajSan2jqilTTP3xeDTK3ruqLhaLxXK5/PLlM0yLfQiH/REwF2oBMV0sFlVd5GTGVBTV/X1dFlXbdt4X69UWMC7nUQK7WlLU/Pvvn3e7VyRzn18emdx2e+u97/s2FK5pmtfXHXhKFOE1zWK5XCIRDEL0829fVqvVdrs9nV7BWcLXYmqeMuRsfd+DNN29vkLYAA/4l5eXPg6othSRw+Hw8PDw4cOHjx8/phSfn5/R7PDx8XEYhqenB+990yyZOcZolL9+/Yp6uL7vq6L8/PmzWfbep2EAbGXm+7u7uq73+x1kIWVZiqOmqiGSARUdgquqoqpKH1x76MoyMFPKgyMOwRFpzpGIiE1VUxqcC86z6bisw9AJGwOmFtLcqK5zPjBT8AGko/OuKEf5e+FdNlPVsgo+08vLS1nWoLp1p7OXC0BSGYrN5iaNndVNiuJ8Pp9OZ8BKQCWd2G4wf8MwDMPgiwDvuePxCMf3ZrkAvQe4MMtvgEWQ8YfPOhENw/Dbb78xM37/7ds3mIEiDFDVh4eHvu//9Kc/QRYMT8k5oHp8/BZj/PTpQ9u2//znf4lIVRWqSZXu7u5mXcf9/b2ZwZAR5Q3AkUA/EMB478HmAgXCJ6euy6Lw5/MQglutFk1TMfOXL59jvCMiRBTQ9APLGuXlYollHfYs3svp1KZUMfMPP3yEWmaxWGy329fX15eXl9vbWyIy1a7v+76vqvL29vbx8fHXX39FwgRBAu4L/MtV1SxBRD6v76fTqWpqhJ0paQiG+4s17XA4nE9d0zRzVS7+KyJd1/V9//z8DL3ZvM7jsQJ3fu7PoPwRPerkXlBVzswQWKJTKR5k3Du4DMUYT+ezqsYY4cd6e3vbtm1KambQ85SheH19rarqeDyaGUqZX19fc7YZ+kP6gjs1dD2Ucui7NJmBZEi5+r5vmsYHQa1LSqlwPg9RYyIz530Q15QVEWmMGtN6sSyczxrZjFTrSU+F9EvXnr33ZVlhOxiGIaVBRPq2FSEvdd/35/P5dD4458pqKcLoTESsKZkfX5JSxtrIzDmPmYFuSFCwVFVtZqEo1KzvI/IezgXxHp1QUT+gSm17xL4QJ+v3tm2LojicjnNTWDzmznkvDssFTEJNOfiS1Oq69l4w+VNKKOw7nY5MaqqhduLILDvvyuDrpqrLKubB1HVtciEtN1jZtO/BuIGUqcCsT5s1ERFqOoloso4bhdET8aU8oheFhTcTMVu+glPTzjsfBGp1IbpQpHSFa5VsatkzYbhpU76i7dzIgdqschEzMrJ85aUxPwsXTPyWA52jCCISunRnx4onTkwBNDOKGk2Zr1ppXvDrFSa5xtDX4ASndO1Dcs058hWRb1ev+UzpDy+7igRokk5cD+kFRM1RBBkTTb7hpKpTd9OAT8xlFSKAyOTcBPPnWWFiRKY8t3kyM2MhIY+7I+RGMxZDa1vLiSe/Q0KTJ1UisTe+igZUbIY4ZVZ98/SlV0KGuSWRCJ7HyyUbXzI002yZx2T6vJCZqjEzmQizTqKv63G78O7jH2QOHW2MNkdCFudCNNbR6pUDEs2pHGjc55vEUwwnk5X7NXq+ngd0aVd2wfTM/F3aQnW8IWDcrx4bVPFeKlAvs2RELem7r6apIdrVLISwx82fVUtI5aSUkEKc78dcJHFZR+aQC+PCZJO3/wi4TRU0/vSa/ZgA3HGPhY2omE/1u+nOE3YP0Sll5qxxEEcxZSPLYVP6PqklO+UhOFpzIexUeRAuzYzE2GSeKiJ+eqjGQhAm0XHxczllFKUJSdNUACW+qlR1t3/tuwgVW1FUVdnkRE7QR7Pv+36xrKuqCsEf9qd+aEU89LjYJIZhWNQ1Ceec67qunTA7DVpVlXLx9etXzVw1jSm3beuLcH9/fzyeP3z44Jz79vXb4XA4911RhLIsbm/vRMS7Ym4BGKO+vr627cksbzYb772qDX16bJ9F9qs17BF72Hc8P++ICNqYb9++wdcC6GEYRl0EULIZwQcNeHG1WoUQ9vs9UI6qwlL67u72/v4ejeVFZBiGjx8/FEVRljUqIIFWIXp+9+5dd25DcHW9zDGG4EJYpJSenp6c8PG47/t+tVoQOaPsxeHE6qYKwRFr23beiQidTgcoX6EOD8I5R1Xt+tZ5zGpkQgnpdSICPZ8m5z4oxHLOx9PBu+CcY6OYomYCavFl2bbtEHv4l6UYkWc4Ho9gfIuiSimRDTI5i6ESF7sL6iC/ffvGIuD5oJw5no7MjHLMvu9nd+qiKI7nU4yxbzugWABrwA5AUugZwEeWZQnAvdvtwPuKCCTLRVGgenW73YJMbdv227dvsEB5eXmBlQ2IcNRZnk4nVESADp8hUQih6wYzg5UeIlhV/fDhA36J+RBCANsK/Kqq0PBUVYWRWSwWQJNA9mA9MW6QStd1mfPYdhTrAyhhhArL5XK3e26a5s9//jPU+ZOcA1bxrVkOoUkpteczJB84PUQOUF+glpStXi6XqopgIMaYNMInB2cOrLxYLXPOaIp8OBx46rgJdQTgLE0dlNbr9Xa7zTlDmYOrEJSGy9glbV7tzQyRw7x0487ig0QE4I737HY7ON+b2WgUW5bMfD6f9/u9qiLlUte1c6GsK+/94/MLkD2eO2iQzAytiJxzOOecL/1N8FzAAB6xHJbK0dh+1aCD0vl8Xq/XQozxRP81pIDmBhHAr2oJWqztduu9f3p6QN8GRHEibjpD7vueVJmNWY7HY9ueYNNU13VRhBxTTD2m9BBHMJRzTimKjL1dc2JVleAXiwVcgLAHDcNgxkghEkmeqjIeDwf8Zl4KgNpzTohMEDqGUM5iV++9JoVJESLJl5cXIbdYLLIIEe33e+dcUxVD3zvnSLHXimoyyt5XdVGS5cWyqquirBwnX9dVP6Tj4Xx7l6Na1Sx8meOQ1LJ3PqXkPQgvUmWjjAw3ETFDrmAz/p7qBZVIWGiWJYxzTGZC9N8gzuklI2IWMbsQbUSjXx8gw4wozAzYzsxMOOfrLdvBXA8DdQU2xocafZSukfEVtJo5wYs6YHxQiMTB405FaOrlRDaXKc/BienMZ88OGWaXfMUVehlR3Sw/nh/Ja8Q/k6E0wu43xYTXg3iNzmcAY6O343jwsUHNPMKXbk6jVSLTG4G0c/DeGUXweNsVrlXImXEEcLu4ZDf2+cn0ViUiaO1ECQ0cp7tP12OIrLWM53xxNZznnE0SGr4IGWT24Kcp4ppavULa/QcMbIIvV0ODWWZmYkb1JikI8msXljE2mzHthNQviuh55Odky3f3ZR4Hb2/H5Tv0aVfo+eqd4+SYj25mzA7B6xyyEBEZQ7JD0xSfJ1a+ciSdr8TMLlT22yQXZABvT2PELtePlmayMbGVc74koeYTRrbUTfaOzG8SEzPWp7k7Q7oUqtobOD6GBKh6mQsA0GjmugYc6QunkocYGpdzYlOiSIHNLWvXxNidu1NObeKaOYiY88Q2dh2aHtE3s03NsimpihGRZFNn1nYdpRRCyRnri0Nss9/vY4y3t7cmklVE/NAnMzkej2ZoUVHGIRN1RbHCmgWzFGamyS0U0GG1WpVl2cc8DEPXDcMw/I//7/+vqqoff/yRTIahL4pCvMPXgcxbrprtdtunqFOpKBFpbr99+4aU7nLVFEWRtavKxnvfdX3wZVXVw5Cwx7x///7nn/58Pp8fHh7Ksv7pp58As9BHHf1TmPn+/v6HH34YhgHVgcMADyk5Ho/L5fJl/zra2znHzJvNBqYccKN7eXmB0cd2u1VNRVHs9zvIJLCF29j6Me73+81mpar7/X67XYNgHoZ+uVjE2INfLMuy784kNAwdM9d1rXHouk41AYoVRZGyooquLEPhfNYkxtRR3/eYQvM6ZUQQxqAkEdAn5+ydg+55sVhoNiItigLAvSgKyoq6wLIs0CLKi2v7AfWCKSWRRChtXG232y3iwVm13Pcx57xYLNquWy6XTbOYY2lojf72t7+Zjg5rP/30E7aZGNvz8bTZbObWP9C47/f7d+/uUkq4+/gTigJ16t1Y17UQQzmDRMq7d+9U9e9//7tzDtWNwzD0Q/uPfz7BYX2IXShcKBy3tt/v1+s1pjqCnNVq9fHjx91uP06z5RL6AfC1Nzc3X79+fXp6cs7d3t6ipHWxWNSL0Wx72qd5Nl+bazTnH9CNCM4nDw8Pq9WGmV9fXzHNkBk4n8/LZYOpeDqd0M7mfD6fz+dv376FEIjUoQFWjHPngbIsiaz0YbFYwCby3bt3ZVn27QmAPk2ti5RGSA0phTnu+x4+JDc3d8vlcrfb3d3dEdHxeIwx5mRFMMzq1Wo1G4ojlwL9mKpCWpZzfnl5wWc3mw3SX6B1ZxYDzHrbdsDNZVmiKzAu/3A4LJdLpGtOp1NWnX1sUCOBBF1VNUhcYo5hiH744Qebgnbn3Pl8lqm0A16W8AiC4cy8emMFWywWCL3mOgpo8F6fn1Xzer3CLG3bdr9/fXp6GoYBbpgwZRcR7z2mMTTlTsR7h4Ck7/u+b6uqyjEiG2PQvBFhQIoi4Oc53jZT5LfnfRCAzU8NklAPikzC6+urDwHAveu647lj5pubm6Ko3t1/+O3L76jSxk3s+z5lJaJhGKCB8UV4fHzGhhWct6xEHCZ/fTMjNV/48/kMGIeSHstRRKqiBNpomrrv2Xtf+uC9Xy7ruizKqlgsq4aq5Xr9emhzzsf2HKqyaaQsy1woZHhoOujIO5JRxDvussp0xVUzmkyOFXzMNpYJGqvm0d+CZtX1RSWCpXGGpPO+LCKoSQVSnDdrVZXJ/GSaY2/ADPi+cWefOqrOwHeGQ0AlI+ChC4tvZmxj0xVSY7loeuF/oMqzGCbnLGLMBZIGdAU652+ZxZAQHV1jsDkaGDOf4sSImYVlbgmfs6LCbR6cK0T3vaEffg+GQt+Wxn43vHzFdYpDESoRggodIWnfDzPx75zznpwbTSF5wmjz9zIzikpNiJXMhKf2SWzEbMLiyInodEMV9jzMziiDzDQSIgHPPCHMy3wguwb0NA/cBEqnooQr4Dei+XwN9kyv5PLj0SCVuSKO6Q+x0NsZe/nnFXAnhJTXINmuAjC9kirNSJWZPVMYY4U3Shj1/mIjOt1OMzMhZnGqSmoIzUkwygyKEfb1NM1vcZ6uQsAZpgtSA0asxjIJgMhyyqxGWeG0aEQppaIojKMqkwi7MF1wIiIv3sgsJ500cBMnPd45vEIIZjwMQ2/JEi3KhRl5YTJyzmnKqtq1nXMu1AHFnsRsZDYae6mZ+snl3QcmK6Brh6XaeFGm6oLG5JwfuXrO2cyJErPznGJmqjRHY1bOIVAcEktZVmVSM26NNSdv5pgyj3S+Rs1mTCQxJSbKOTKzkOTkiIQ5axqy0zRk61NgF4rQdeeYB/K027+o0XJ9k83nwXwohCXn/nDo+z4VRWF9NuOqqopSAEdy0rY/O+e85sPrriiqIlR9HJJml6JqLuvm6el0PJyPxxMrL+slZTqcjk/PD877siwXq+X53G2326qqfvv199vb23Pft23LzN4Vf//734HnjPJqvRCR1Wp1OBCROx5PdV03TdX37Wq9rOv698/D1y8PM5u42Wydc7vd7p///CeavYPVO5/PQPC///67c46Y7+5uR7Fczl++fMlkd3d32M53u93hcFitVjc3N947MPQ8EYFFARfC8nzucraiKED9itB+v++683rZvO52ZhkUb993q+WSHVGkEBwzHw+vOee6Ls/HKGKW+8PxtSzDYtGw2NC1zrmyDKqpaUrLMcaeOKc0EPdN7dp2lOs5FzTP9I9EI5D0VVX3fZ9TIjMXwrlt67pJKVmMRBRC6Pt+sfBNWfTnk5CVwR81izNxVvgANNPHoa7rm5tNUZTOcxFCjJHZjel8kePxrKplUTCz5nQ8Hp+fn4uicCU/Pzwiqlkul4tmhYgopWQ5LRa19yJCsMhYLBbMxE6AtEATppSg/TAz7/2HDx9QSAdmV1W99zebzdB1x+Nx6M5VVS2bKqUY+3Ps+tIHVjvsXkMIbTscdoeiKKr16IoI+P5//9//92KxeH095BwfH78dj8fjcb/dbjcbKEzS4XAA2Y+qX6ixi6Jw4rw4IV4sV8B///znP4loe3vjnL+9vcWq+Msvv4DjJyJUKm82G/g8fvjw7suXL1VV5xyrqijLAK63ruvX19ec4/l87Pt2tVrVddm1LdpI1XUNUvx0Op3PJyiL3GazXiyPr3sxykPkUGzWNyJShKosS2jAVqt1SqmLg5OQk/VdS0Qh8I+ffjp3raqulhsmt1gsJjs2g9zC+9B1fZ8iRWHv7jZrXxa73W613XRdl4eISm7n3Ha7rZsSwSq74H0B0Pz8/FxOTUYR1wFSI9BKUzNXyDYAXMqi2O12ZLZZr51I17aj6ZqmoT3noS8Kj6pQAM3L3pnVsZha13fb7fb58LRarYQYSbauO6c0bLdbEcdsm80K8zPGWNWF995SFuHYdVFztWjKpl5u1ufzuR9aM0t52N6si9IjRmJmx1QW4XTYn84HVRW2qqqOxwMRHY+HsgyWc3s6Mdv5fAyBnWfnKWety7FgFLkyJAB9CLE77V4PdV3fbO9i5BACOx9jzHkw5cIkG/kiiPiX3a6ua++L4/Gs2vf9EHNGwQORusKZ5b6Pq9Uqq73uX4Dg27Zndm3bF0VxPrdVUaqqpnzoBjxoNPRlUeScEeLCRy/Goe/5ZrOKMWZm733hKMe2qrzawKJV4YTSplk55hDKIhR105CIC2G99SmlzXZLRKpJJJCXqi6nuxaiZiCvlHQmI4II+othxWA24CIRT0R5VPQykYenA+UIbYmw2KQlEJGsxHNTUmZmb2ZZCaWiIkIkRjklNYvw0plxMzOTOSNhZoNqWhI7b2Yk7J1LKQk5I1S7Rp1KaFNKUTOpeXHCrJZYRFhSTprTCJ9IZRToYt1mZkdqyRLZNVWfHRFfOnApkZIpqlNImIxjTtlGZU5OWSacNqO3wnmoK80uZalm5hwnMwTSM+ifIhC9zp7RVWzzHb60UcM9jjnQjPMTA25Bs0KmMqQMOCrsTcEommpOnKOkCYEREm7EY602YtQ0at9FXBKnREmVNEsQUYahZDYzYkVPeudQ+mlmTORM1dg0p6SGZ0RG0VFkCTyVEBAJjsPk4C44hQ86lizTLMS6NnyEW+RIUV8GZ4wMFK0DzKaAc9R6YWDHn0ZofTXOM6LW0cJfoKHHoTBBxgo3ZpLRWIaIjElzmoD722hvRvrQjVzfSCLG5c3v1EnvhXBtBK8iZGwyqbLeTrV5UJy7WPDMWTAs/TO+n4MzRJ/jZxmFpzTD9PEO0BtrJJlqtOefpyeESdWyzv3VhBwJE2VwmZhmPLYc06lWOs1nPgdnTAr2bnYncGQppfjmSRBGSwc/FuuYEZPDgkXGxoGYnSNiy0YpKrk0CiQMtrLXonwkHAXrlWYjykwKLdSirjNRe9iTkC9C5nw+HMxs0ayjatf2wkWbut3L/nA4sCtgI51SrOuyaaqUh5SS88zMdV1DnQwpeUy9kSAdD+VM01RdOxDZ3JVwf9qDjMR7um5wzvVdrKrq8fHp+XWH2tCHhweUi4UQYOEMQmvRrOZMLurwlos1M4P7h1hlzvOq6t3dHdhZEMAQMf/666+A4MvVConjYYj4CnICgQecLoC6VLUsm6enp19//VWnDvBlGXLOzA54jjSh09Mvv/yzKIoyFGiQfnOzMbPd7oWIuq5brJqqqrru3Pe95nx7u0Wk4T33fe/G5ruexZKI9544iUjOOaY4dF3WyBMjgbWVxWMaUiKelCdEs1CSmS8Z4dn9l5k1j+3EmeGmf+ESFotF3/fH0yHFLCIwbQTP98PHn2OMaSz59cwMJ1MM7MvLy/5wgC4ZkhJYZTvnhP3NzU3btmiJCn4954zGSeBZIVLCkwIXF2iOoRgB5xpC2K43XVHOvzwcDqr66dMnYOsY03K5PJ9bKD1wYlXlUaWqrI8Pz9CuYKZBlqMTv4LkAHQ73vuHhyeIr+DFXhTF3d0dqgVgk/fy8vKXv/wFuwvMVdq2LQqPuzab/ACzglcGZdA0zbt3747H49yQtWmaYRjO53Nd16fTAcNyPp/v7+54SoUz82q1ggKn77uHhwcEmUFGe1kovvDs4EYQ0d3dXdf1NNoUppTSdrvA2J5Op7bvVLXv4pyZQQIKR+v7PTNXi2a7vRGRb98eZvWaqt7f3ACUY3p3XVc3ZVmWz7s9M2+3WzwFSGDCZx0itNkCP09dDrAJySQhJaLVaoUfIDRCqIkfjAhUPaoO4ATa9z2brFYrZJzwpfCpdM6tVqv9fgzR8QhjiUAUJ46GYVDNIh7pJjjbdF13PB7T0EEQhZwAvCYXdTXLTogIpQt9DwXO2Huwbdu+b1Gn3nYnbIJoO4VZURRFWYbjUbFLogIe4URZFuyDKRVFkRLFIcecQCHnNKgqs4OmH2THEGMIIWd7ft6VZUhJc85t36U4auWJZBiG2cc9TVahWD/zxe1t3NP7vl/UTYxaju2HBWdV183Qvm6WmyEnZgkuFD68v7svfKBgq9XCF8EXgcQVReGMQllj0VYlFCpcEYd52gSBDUaNr2ab9QPYM0U8nC14xOWSk5mNohS0GWFmFk8X5Crztjg/PiNmRbynqqowoxQRFlGdHDXIEZnIeLZqDhprJscwayPH9D2NOmMbfE/OWYTmrpw6CYtHcOxnlEZmiZmn/j5XHDYMCifFzjXPqm87rV7/cH1WRMTEY2MjZihIjAxnNfm6MF2pEnh0ROGp5JF5Mjj/Q83hBD3pjU0NrmtCg9dKBGaC6OACfHXqDmFmJgTKYMZ1WAGEAxEJ3NrFmJ0IKxTgTKJTDQAkN0Kk0cwglNCLsp+ISDOpTmfNlJOKY+/Ledz0LZKiKX2gb8UddoXRiS8y9+uhmcd2+tSF+J4OMk5PmmyG5OrgV9CaRwf+yV0NJzXPZ5uSBPb25S/veCtzjzGOZbY0VmRO94yY2QgWPkrGjtzYzgz9uUyYLrUGZO76IuVtY4XxSi6z4ftru3pgpqG5msR2Jb+xS5XxBbjzpTmwwMjJiyNix+zFOQmOhZk9S5rCD7xmLE5T8TjyNTylq5xzs5PM1W0YC89tzi0g/BdiNiKF8ikTs3lGD4fpFotzlvOgiTNiyjH1lkzH5Y8dk1oSYjGjsXGEYpBZxJGRsPfiiHKM/TAM3TCwuJRS28W+Mxe4a1PXDVW1XK5XzrkYo+ZRUjnEFoElOsKYZbNs5k6nQ1nWRVk65xaLmln2L7uiqBbL+nQ6haJu21aEUC0H/UMIoQiNKZ/Pp5Tyv/71r91hv1yskfl1zu33+/1+//79+1C4Hs3Sk717905E4AazXC4Ph8N//dd/LRaLP//5zyGEx8dHVEwSEdQCcJEzs7ZtHx8fq6qBZgN6ib7v67oehggsUjY1pJwfPnyAUfdyudzv93//+9/gFL7dbj98+EBEbXt6eXlZr7c8xbSPj4+Hw6v3frvdno8n7z2mIbrt3N/fd21LRMtlE4Lr+rNOLmyLRWNifd+WZYkaD++dC95YixCIrO/7rCMcF7R4GB80EsfOeTNWGY2B4eyeZEjJzw/N7NdhRiJoO2AcOQ7DNJ+ViJbLJRMXPujYRVVFxFPoOsJi+q9//ePm5q5ZLIZhQAsYIu37hEGD8AMKaRHZbDbsHcb/dGwhZIcFzdPTEzODD/bef/nyBd4mMaeUUtM04PtRhweEB5eMm5ubpq559LgcG+J8+PCB2R4eHtC7CqAfWAHQraqa1Wqlqk+7Uevivb+9vf327dvr6+v9/ftff/0iIj/++OMMB2H5P4dSh8MBhdcA1oBKeIqB7RaLxXq9jnnAkoCtqKqqGPth6EIoIbtCZefU/WrouvPNzSalAeoRIs1Zi8IDjyI7NAcziJ222y30PHgD6g0OhwMKDFBtiQZJX79+RSNYJJ1yztS2i2a1XC67bkBkVVXV7f1dCKHvRmnNt2/fzEaRjHP+48fb1Wp16lpUo87bAyh2YFPEGDlnWMh//fZ7WTWnybIJ8Yyqrlar87kFfAewhn5mmLr45ZwxzqCHIWdCVQn2b0yYlNLpfIY5Zl0vePJojzG2p+7du3c5Z+RVMGhY22ftEGI2ZkbN9HK5hP+jTfKDpmnQiCCldDodhq5D1LFarWbZCbNBCIR52A8dEYUQIKBiNpGw3+9FKKXBOSbWYRiIrCxL1dT3kYhi7Pu+RdIgazyd43a7hTKn7/t6uXAuxBhNyUnQgC2YTanrOiihkQYkIl8UIUYzRhX183MfY2QnOSkERTFm72Pb9mYUQiHi0U8JN8iIMNUx1CIUgss5dv1RxIUQMrwwcxJ2zMNq3ZSV50GJyEuoinJRL3OOoQ5FVWDAy7oJZdW1Q0pj8zgE4WSjdi7nDFwHPxki4Zlus8wkU/f3UaWgasYC1KmaR39A8JHoR0rGs00eNM1iKEC7ZprNLA+jDzWPrKempMzGNkLnWd0OQ0m6aGZo3sq/I6RnIGFmqgnLuxvl3CMIkSudAyUSQbdUI2NlQ30kTdWNREyQJ8xY0AwNXlGbZ//OEXu+yPlTUFfT9yCS6C0YnWGSXCmnL4d9+7K30porExC50qYzDIWdc2Y0FX3yvLwgahrHFj/gLuWpBtOI1Jg5a3Ys5sb6Q3FjYybHY0dLUyZVmOkT2wilTA0ZChydmY1VCWGCiDDaPykpT51w8pvIZ7z7E26cKzDnQbA5oBGbchR2uf7v6wQu//wO5YNmpQm7T+j8WrxkY++w8asvto0Yf54U19dfdHGVmb9Pr4wazUzVNJNeNfTCKkN0MWUnIjEhY2EkmMYHg5kybiqP/zVhugR509VeuZnaVIfBE/kNxoLm5woPvH4/4b576SRjYmZ4n+MIBXtScyzOBS+OmR2xsopAYZmvFwL6PqB/03ZqDkJmKO8YbXIJRpByBfRNI42PHqIcJQsIXDVnJRMhEwc9YMwqPN08wlxE3YOoE2cuZzJSz944sYqwLz0N51aYq6oa+nPbtkOKMetwHpQ7zUIW+mGIMTf1arleqUWA4KapnGO15Jwj1q5rvfdEitx937dV1ZRlaLtzjH0IrizL27ubOKSU1AfpunMIo7bEzPaHw+fPn7Pp//Xf/ntK6bffPn/58uV87oIvh2G4ubkBCgGZiv07jm2cC9QOMjMcA9PkEY5yxh9++IGZ//rXv0F4gK206zqI6cGYlmX522+/5ZxX67WZPT09ibiff/7Ze1/UU7Xu1OPWzF5eXqBC3m639/f3i8Xi119/PZ0O79+/n+anokKuKIqbm5sYo1ryXia7wFSW5Wq9IMsxD33fqyVVXa+XIuKDC85H7Zk5lD4PA7EiRRhjj4lslIvCc+mkG/v5xT45J4x5OZrFmpk68c45YnOwF5tqHkAAoTTeMqlmMyPL5/NxuVxXZWlleTweUStW1+V2uxah06nt+76p61AUfd+lFL0Uw9BVdV3XdYwZCENViQRkbVlVbdsyy/39fV3XyZSIUOcnk8c5rO6GYQASgpfIp0+fmPn1sMdtRVTGzGjgii3/5uZmu96AskVagEg3mxVaBBAB0Njz83NKCepkkJqq+uuvv76+vvapX6+2gHqPj4+ILoCwgZWJCMiSJ3IUiNB7P/ffLYpit3uu63KzWZ3P55eXp6qqtts1IkZmhpFLWZbeC3MB5X0IDrHuYlGH4M7n4+HwmnMGgY21CNERykMxybebzW63A9JNKVHW9ngqy1JjCuKWdeMIBttx1nHFGJumubm5QdwCeFpV9WKx6FPEL7uugwadiMBPhxB2ux0CMNSooK4LQfLusKdpm99ut8fjEdmD0oe6bkTk6ekJLZleXl6EPdI+Nllhdl23WCxQhYy1WkTQNguPGDDolDOJUB8h6wV5G1YASOd5qiW4v78342/fvmHQXl9fLRNqIWZeGU89eHfvR7oE68ZqtYINTtud4JloZsizJUvosUCqc9/QnGNKg3OuKPxqsSUi771RJg59e0LfhK7rWIxFcozn49E5ExEfxFmB+qZhGL5+3aHgAZmcrLGqK6JitF3yPpT18Xj0x3MIQdgNw+CD897HmFOKfd+3bS/BDzmNNg9jK1wist1ut16vy7o6Ho/nU4txQAPa4/lUlw0WUqjYZdJwJs2IQodhYFM8gDlHM10sGybXdV1TlYubVVl5x1lE+r4tQ0FEZVEsm2qxWFRVZZUi6RezeqNgIqHwlIMvgJPQxgjAdG67k2jqZTPV+RmYXRaUiWVDK23F4p9Hw0Exgo+4TdDQiLIZyC4lInTinPE6M95GObMIGakZ2h4BKiF4QNqHmEnIUH3m5Dum+YJMrkHYDKNtakeTicVdTD8mbvWC0QnEphjN0BblmDMsuKbSSQg+NpNx9zW8m6Kc7xDh5VTpDTaz6RbwWJw7at/JjLOl+Z1ENEveZzg1fguPqH2EpWPa5HvvjSmgGK8Gy4iRspCDQ/UlbHCz/OH60gi1ymykWSybkQBYXbnrKAsrvCLxbp37eRkUySrJRE2TGps6Yu8lG+c8ilVmnfn81XnqfjUTwXT1wzyvaMpO8JV0/o93Yb4FFxTNRDC7wf/B7I8jecm9TONjNJbD4t4ZWzIm51xOaX5nzhmSM2b2CE2BUadTvUQkqnEMIjFAk9Id5znPWiBsu8iD0FQU8+XfX+rbkOVNCAhoRZNHpl7sOS9hJSpe/gjf57epzo+cmz/IzJqgKGIZezCIXZRIBCb9GrXPmQFVTSm+fZLpGrjPvxcRVZntL6+nuxmygc7YMPnUnBplymOELKQ5a1YlZTYbK3LYSJyIKRO7yePKO2JRNs5sajGxmcbUt+fjcd/2fWbpu5ixhrsiZco5ioh41/e9Ws+MZn6WNYXgjex4PBGRamIx59zpfKiqarVanM/nmHSxrIfYqSo5OezPw5A+ffr0+fdvI6+W02azHSJ6/tnLy+7x8fHr16+73T6EsFxtQCiiHhE55bnesSqb4/EIfOycQ4XTarWCV+DhcMAPaF6INi6juGK7hdIGCXr04vnLX/5yc3v7+vr6+Pioio6wo0IAYQAUIMMwfPr06fn5CegKmAxp/XlW47YuFrXIQlX3+/2iqVJKRIaNVm1s4e68U4OfgyuKgtgYHjvl2LnaBPyEeS+qDtoAGy3G0pCTIyYi59mRM2UoMNnGChUfXCg8RJKqqpZJQQtRSqnvW+dC8IVqQpLdzM7nI6AtNM1N04CtFJHlshEhESLLIFLu7u6qqhLn58LBnPPxeHz//iPgb1GW4JXrunLO7XZ72JvQFR8JZfYw9cs8Ho/wb1HV2+1NURSAjyC2u67TlDfbzelwzDGdz+cvX74cj8e7u7uUkmO33+/hgI6HaD4xNAoFOmd2gPsoZp0tWfBmyA9EBHXMi8Xi69evXdet1+v1eovWAWYGyL5er+d8DmIV/BcQXIiDD5qyL8pQuBT7IoTgvRPpu261XJ7PZybKKTmR+fcisoRA5XAgMxFJKcVheHp8RMEoVA11XZc+zP0svXege7ES4iYSUdd16DYKZ3fMHzw14gR1k/AOwhBl09PplJPBfAlQL6V8Ou3xEMHc/dOnT7Onapxc+WVFGEwA7v1+DwXI6/EANh23FRYuwNBwZ3p6eoJMHI/bHJnD+d4mexma3I6hOMKfnHNZdZo8ZyRV8OSWZXE6HYqiGAbki2ixWHjvBC3SYk9Es1JlvV5XVbU/7MDNh+Cb9Rpu7j0sZcqSiETocDjiMck5nw5HfDymvq5rUyvL8t27exSFi6MQwvF47Lozs8XUixtNCJwrAGpztsPhMAwDQp15E0FBP6uKSM72/PQSymKxWMUYfR5Ga0sXyrI8dX1KqWuH5BWLYdu2MWbn3JBi0uyI53q7GLMxhbIoqprU5kYB82aUc+76UWGITIJzjCWuKgszy7FNKbKE4IQtqqmqOJaqqpyIZwkhLNeLm5ubXsws+xjFu2zcp+x9wRIskyoNw5QfTmpmTA6SSzNlUvJX/Wsme0fm0Q+bJt2sKUPtYESjfuCq1aWasaYZ/83igQnt4Ocx2w3/e2zwKfVm2bmSGS5wXoSN0Ft9LJWdINCIhUQcOt/wRDLiNeO5nLNOCGIEoxfXGsiPebSVvOq9QyZKSJWryFVnehpNGHPOc03t/NfrKGJGXJc3XMmM7QruzyUiVwOlOWdxTpwjGxuz05T7QEf5P75sclO5IKuM4Rr7GWGZRQdMnmQwcOxAziHGaMmM8qi4cDTBVmUWGQ0WM6IhYTZhM8qWVSmbQjGPYVLV4CxrAn4V8WSqWVQ1KS6QVLP35qTKRLAxxelP9DpNQzGNs7tIP76LTObf69g59GK1+b+D7xccaM7MlMhdwK0Q8SQ94rk0eR7bWalhZjkqFGLTV1+gJn4eHTOuJ+X4JkHrJslkJGw2QmG+dCnDjcRilHMeewrAtvMtLqfr87v+4fp7xwzL1S+vyW8s9WgWfUHwYrNuaVRsTcPKowm/m2/G918tkLtdecCO5vQeqZX5Js2fFXGzz9EfTx5PkXNhukuXDlBmNpleTQ+hcp7KIYiEjJMmGpMVzpTVEhERyFcSM2Zy4kScqJmgIauyMBmxZbMUY9+1x9fuuD/35yFmKkqlsNlsY4znU98PI4szxN6bd16rqiQT08RMaNQqQgDW/dAy02LRFEUpIufz0YUi5/z6+to0TVLabG/Op/ZweG2amplUzZid4x9//LFteyX717/+dTicjsfzcrn88YefyclisRDxXXcGR6s6LJfLz58/q+qPP/6IDp1mBgABv4ivX79i/4N2+XQ6ffz4kYi+fv0Kv/lhGKCj2Gw253O3XC7fv3+/WCz2+z0IvK5rP3/+nFLKZCiWBb7BTcw5o8Du5uam73vUuYqAh7OqKk6nkxep6xKbd1UVMUYrChyHWN+/e79arWLf9bGrylLw5qFrmobZzM3uoloUhQuBNGFPy8qqyRm638FzwFSscH7cjUaXKxLlnM0sO+d0XEcSsyARqSmDtPbeiqJgkxh7s1yWo+ojpVRXRdudmBfn8/l83McYF6sVZL5m1jTVer1m5vP5rGROQs45xszMi8Wiqoq6rnM2cW6xWHRdB/CNBaWqKmEPMhiyDbjsocgSVCv8+xCMmY1FEXPvxvZ0BrB4enoCpZqGYRiG9hTrul4sFqfTqa5rM355eb2/fy9CkIswc9d1zA45nPXNev96RHkrVFKbzaaqmn/8/X+NS5xqGgY2K7yviuKXX36xiQ8eJlnR4XCA62XOGTWjCBdFBIMZQsBuBAdJMMc0UQxEBLZ7u9227ZnHBhcJDlX4Z1kUN9vty8sLwt2cc+x6qH0QGXrvq6rEWMUYQ+F8kL6PLFaXZd2ULNb1Z4i/nXPozjbE6D08zj2C2Dlgq6vFx48fz+fzu3fvUsovLy/gnqEpuhGGrAvfDvL7cDjErv/06VOMEfslUmTe+7u7u8PhgCgXvxmGYbvd9j0KXv3ckwvJBOcc3oxsDNZGMPQ4f9zKOSOBTMjDw4OIX6/XiIqXy2XhAzMfDgccOeeMkhuMateNbugoFHbOndvj+XxGemSxWFShINbYx9PhoKr92LVn9O5c1E1dVof9brlqnp6ekBJxxKUPJ+jKHPmAiohzSrJYLIJfqSYEdaRk2aqiKm6Lp5cn2O2IeNWkmaAAQc2MsAtFeTq1uRucDKoaqY0xwtFVQiEicRjbfiH6EvE5DzEnEXl4eFivNqfTqW1bEW9Mwj5nS6mDM8QIwq76aCLvEYKrqjo4SSmxUFEU3vkYoxMLQUl7NQ3sc05MZbNaFr4MhRORatEUTZ2ZinKRUjIawCVlJUhokc22DI6D0a/eOdM0dsyBicW0jVJZOFUlQ99KJhp7n6eIO8Ip69S4cBRt46ImSG2ZTHj2cCQzViXVDOk/ZSKKw9CVlQ/BBc8pKTOqAwlNCyeYTnRlIIMIf973NV+5bl9rJ4holPcoy2TTLmIXfQsgymjFTWxMblQBMdh3I7qk8TPKFCe7STTrmPH3/O2qSvo9cBcjvWoEeQ09nffEjMASHxg1IdM1znDLjXY3b653fvEkGRi/QhlILedMY6GwJ7qYeBIRWi9NNozZORZBafXY8mw+SRq7brGqZotmRibMRoZuM5oxEdRw9Yji8kUSk5iCKpkSoiEjy6qWiGNyDjrl/Ae0lnPObipjmKbCm5LO+apnPj5PhuZmxhfsbspEk5P4SAAz25TBMLM85phsgplzXH0hrK/RMk/CmJyMLMONHrN05sfNzE8BK01BCQI7g63SfC/MxiagaEwwfwezm+A14z1IRpNBsmZvm05dBuXNUE7/xxY7psymjcFPfrRERJTtrWj+MiJvAwPnZv/XqWOrXR5LFKNkuyq8uOp4il9cc+3Xh0VGIudsc/3AVeezcXCMWJhJbEqcYaIkJSJSo2mzpJiH+SmdfLGQWeNkKmbOCVySiFBn42H+xcaMpcAo5uzJ2PLQtTnHsiwzReOibkrN1HfpfO5i0qIoSNgJF4WEYrT1EPI5p7Y7pdQxc9/3PgiucQRqhx0uMwRnZiml/fG4Wm3qun59PRC75bKJMbtQeB9YXNu27KRplsfj+ebmZrO+aZpmyBpjPh5fAUCRcEd9IeYMUucg2uHv9vz8fDqdbFI7LJdLlFpCNDwvUswM1SxY1bIs/+f//J8xJdRBVlX14cOH/X5/bM8Q0wvcGFMCcp278IDIbJompaEoirZtsQ8CfMQYVZP3pWkemxDZaEbe923Xdc2yJjP0FCSToij6Ps/PofOuKIKqEpNH90TitlV1xGzEhuJ9VRYhZp9SMiLkf0dpqFEIDsIziFPNYBqg3osZpzTknHkytU1pwP6Hu6wpt90JpZkvLy9s5hx7L8MwEIUYo+a+LMvgHRomVFXVNEuaZB5t29IEkcca4mGAk3pTL+u6hty/67rVaoUQCNYxKCTd7/fz1ng6nYDkiAhdn+7v70Xkn//8p3Pu/vYWcci8ioI6enoayw232zXcQnDfvS/QfGcmhruuu7m5ubu7K4rifO5AcsNfEhrx8/kMHTle4JVV9XQ6bbdbpHfhVAjtvk6iu7ZtxREKc7GAogg4xgiSFSmFvu9//PFHZgI0R8ErMyOVlFIqirBer06n02LRlD4QAXZkfClCCOccnAQRwM9KbriVA4+iTLwsQ9d17dBv1jchhLbtzQzB1eZmW9d116KzldR1U1XV3d0dsljMbr1e406hc1DTNNvtdrfb5cmKDpbkv/76K5FBc59ptASFYg2rPR5nDBd2HQz41HnK42E8nU7I0uDeITOD0UbAUxTF4XB4fn723v/0059Q2Lperw+HA2xGQfCHEFBLKiKqBi8s1NPTVPn69dtXnP9qtVyv10PbIZ1yc7NBNQIzbzab9Xq9e3lisZfd07hzASfF6Iui77vT6bRY1kVRppRi7CG7Uk1kZua8NxGPHCPgWlXVzrkQitlmBwb/xkIiSlyWdU6cs3XdYDJKnlPM574z46FPc5q36zpI4ZXGLYaIdrudThWf5/OZ2UENhQAeo435CSJfPKwt0TGqV8tFUYTg+nNisVCwGbHrhfGuoq5vV8tFWZZodbzabgbLXbtfh5UaJ82aEjto1rMZa4ZobxbNohGhiQgSijBjpPESZvtHmlQWpsmYOWdTtZjghKhmow5DUak/rQbw5VZVngwqFNRs4hQ1pSzmctauH/B4auU0U1EGMgbCgdaCiJwLRDwDqRmB0FUcPkG9C4CZa9hU1dGlKG6GQyO8MYHcRCaiNI+YjZmvm0KO6twZ/OCvM954A+KvTuYqmLnwm3LlrK0RORCaD8g89k2bM8mXN6uyvEGuV4jr+lcXnbcZwZ4Fapyp3mB0feFRI6LM5L1j9lkjvkUczdocVR19elRNU3YaIzEFMF46liwKE1oPeiLr+w58uVGGkzqTMIVsijMxY1gG+CBlGWKcGz7Yd9c1DuYIx7831Zlv6/UP46y4KmIcb4tiX75EL8551enOEvE4/ZCPmjHwxWWexzs1fnzeX0a1DXPKmVWdZ6iY/BzDXV/MDECvfjnZpPDlwmwk9okmo3EaySWPYFRVWS6c9/UsfzN8M4AfMcdoHYVtDI8KTUWiZnlqknyR2dioRjK6KOwvXzeCacJC4pgk62ieMH2vOH+pc1VV5Nlyzt4XMwE/30VEFGR5jmgvD1j+3id1msYyBmCTXAlVZUkvTQSI6OL5L2gWq6Dwp0nm2KPOR8TIpnoLSznHHtpnImqaJbvUJTbl56cHM3bes5BzrmpKH2CL4UZ1k1mMcRg6ZiNWkREi0FTVhAceGYxhGFJq67rpunNVLt69uxuiffv2bbFYLVYrVXp63nnvXfBD31dVBTDhnCt9QGec9+8/pJTQEuXx8bGqqtVqBUr19fXQNE1dL2LM+/1RRO7u3q3XS3zv3//+dxFpmuXj4yOAPmQMWGSBP4qieHh4wNqkqn/5y19yVjSDVCaIrYHvIbBh5tVqhSo6MHM554eHB5iWwAA7OAaUYaaqqupqI0ZgRm9ubrqu67rzzc2NeEaHdoCqnEelac5ZHDVNQ2RteyrKUWNt5JxzPlQilNrIzM6xc6XFgUbrYsFjTcQsOQ0aQiCmnIyZvPeIYVRRD0TICUDGjQy7mR2Pe2hCROT19XW73UIgmCaH8r7v2/aUcywLIqLaN1BUY5amlHa7HdQILghqRiHYtdFi1XAL0N8K1XIA9JCYQ6EBGpWI9vs9TPfN7Hw+o+Zyt9sRkfe+qSqwuYvFYrlcVVXV98Pj4yNIccRvoMPxRFdVFUIJgBJjfH5+Bk+53W5Pp9P5fH5+3ulkVQQHQzMDK482uuDm8XsRubm5OR7BeVewfgeoRUOi19dXI/Per1YrSH0gkEDQjhkFXhm5iP1+j9tBRLC/xMqG1gHDMPTntjudm6Y5HA4irqqqqUnnCTaC6/Xa+SLnDLeTebQ/fPhAJjjPlHLXdaEscPdhPY4VA/qWqmy22+3hcIS+BcoT9CtVVfFemFbLyrsCtram3NTLIjjYzP/0008//PDDarV8fHw8HA5tP8ZCcD0/nU4wSmcWrBswvWFmVDjMlCS0cHOLNEykzWaDyYnZMlP1VVXh7qCetes6trEknZlzztvtFmouxGZzUITA8uHhAZsoQmtEnmqKGMOmGDKlxKQ4bN/3q9Xq+flZRJqyRHekL1++xNSz2DjnLS8Wi6LwKVEcBpp6feAFGlJEUAk6xXsMgWWP8oZkpuxcYNZj2zFztlwWlYj0+0PO2buxDMP7YhhSWbqu69iJqp7PZ+/CkAcki5UspdGBysw0ZSJCGYkbvSMphNBHaPdDSoNB81b4vu9FylBQWTFZLoOYahriarUpfEnEi8UyBC+eN7c3iXMoquOxbZo6FFXKg8jUqEQ8j3luAd18jSOJHBDRvC8TjdXGiNxAToPvU7Wcc4wjaieysVyHvc5u0fCmUWz9agZ5ieVkqoROvmQcnCuLRdMUxNk0DSmScBku9J+N9vE4JWF2zEokBvPmybTkO9Q+gl9xI3KYeqPiPTIZtjAKN4X5itXGFj8fliaLbrWR7MtT4xebUiV0pdUc/0T/5nxUWcf6XXCXoyzH9GLlxFctUa9Z9lmxhvzVKG6fsRm+S66Rm12fv1z35xlPSSBJEAbv7mDKaabeS4ywuxBQkEQoBcxGlDVZTmomQqZm6lWm0i27inPMUuyMFCXCZsaURbwT+Lhn74Jmm0SVzjkXNU4P6NyLU1XVu6n36Djsc5T07zUwzjmzGYLO/7URQuoI62fs7pwfSxmnoAsj9N1hZwjqpvgq5zQDUaCOeYNDlgNbzMVVRrOlqY2wiBC5IeYxohIT1mzJSLss8EnJOQqxkKSoYsTBiImcKJOZkomIC6GALoKuEl4jqT/Z4WXN/hIUGlJgU/Q5ndsEjp0LYqxT8IoKA6UxN8HkpuNIzjrPexqdgDJNSjJgwXnmmaU0GMOZFctQJpjuqRmxE6brxlreeybLyni40PaS8fSLww9m5ISYvakZ6pBESDXFSCbkRCQQe1ZVpmxqThDEWybHkk3RuSAl9d5z8F2ywpl0rVmmnJg9JbXYOcpJI5sOfVuFok2567qs/Ho8qbF4h/W669oQpAhCREVZCguptu0xpVSWoa7rGHsw2VljzjkEpLa5bVvNFLv2t9NptdrU1SKEsuuGItRKVi2LT8Wn9Xr7ujuezl1RVMfTazy2ZD74sh16Cd4VoXBusahjzN++fQMQAbL58OEDqmDR1917//nzZ2Cmd+/ewaD969evWPhizLvdDvDox59/6ob+6ekJLVT3+31VVfWiKhfN/ccPQAaHw8HMPv/+OVSF9wHLEzABGoje3d1tlqthGJ66p5v1JsaYYry7uSnL8nA49G3LZl3Xo3Bt0TSr5QJn6L00db3b7dr2tN1ujanvOpuaxRhRCCWz45K7oV0s6mHohKksS3Fkwsk0hNqXNgxnL2Kc2CmLOBH2Pg6ZTR2zsCSjqMkc13WVUmK1qpBMlHMKIRSFB19RhmBZYtfmoS/L+ng6Ns2ib1thHrpzjn2Ovfbx9fF5sV4t6mVKCR1ENqvV6+tr4X0/nIl0GLrYDM1ycT51NGklobUFIwulL8LOmLOZvfbPRVHCahPyaJiK2BTG69RiCXV7ZobyU6B8WHwoJCspnbvu5u4OYLfv0+Fw8r6IMcHFr23bU9tiKYgx5bavqoxawN9++c05d3d355wDs7vf70Nw5huw78CXh+PB2N29ew8I27YtorWnpyf0ewLag/A6hOCDOM8sVjflcvXpH//4x93dHU8CbiJaLxbH45FVD7tdURRiVlWVxvjw8BBCqEIB9KmqmsaFrizL8+GoMYUQUGSJjXAYhu12k6+823a73c3NjXdFinm5XE714v3r6+vNzU3Kw/6wM+WiCKvlkogdWx8Thtomaeb+sBv6dH9/F4Jv29Y56bo+mTarZr1dkwkyGIhUi6L48OGD9z4NnZnd3Nz0fVfX1cvLy263a5pms9m0bQuZ+/l8bo1i1zdNE6qSiDHyEJAwcxyyOAacPR6PsBBFHbOI3N7eFkWB3mdIvh2PR8e+KurVYpWG6FjSEL/sfresPgQof3BWZVmu1+uHh4esfVEUy+Xi29dH7/3T0xOKa4fcVVV1d3dbluXpdFLW5Wqdc3YMm8WTmZ3bQ992d3e3RRFCQM/mXDgvjtruVJYlHJ/wvSG4lCzG2HVRVR1751yKCVRlyjkUjh3dVrfPT7uuPaxWq4z2Q0wpaVmEr18eTBwzN01D4jS3qrmo6kG5PZ1TNjMXyiqldNi9arYQArE4H8YZwm4YhpiTc6Ft25xt2Sy6dtBoZVlSYWmIE9XCqA0QkfV2ganOzKvNeog9Kjq8OzNR6eqmWlJWMyIpTMPdZl3WlSu8Et28u+NQ1N6rJi711O2IaL3e5pzNmEwEnhRmSua8JyJNKg4ONpYysTCpabQQvAjHlJkckYqAr89MjjiQUsp9HsXTnJOl0VvGSEYvV+89MRQRCqgERR8RCYecLUZCqxUJvlktUu5Y2YdCRLCjeV+MxXLkmNjUqTFxumBrzVmzhBCHCHAygfuR43POxf4kRM5xCIFJNJtzjknEhRHUMosnnVTYU+ngJNblCasRT1wkE/G8BqqZmzDxhA6VmSzbLEOAZ6IZ50l5MrOQc+afx9ysXH4zmmV5MxNxF/8f4rlafUY4ZmDx2MYmpBdEy1dW16pKZHMtIpl1XVeWpZqKkAhML5iIYhyEmchy6rz3SDUFyZSjkWruh2HwPlRVE1M+nl9FK18EEla1bMpKOWfLqGTW0TSImFmdy94PTD7nnJMSSU40DNp3ej4dQpmWTQ3jmaLwzjlmx8pDHrCRaRxTOqrZUiY3due0q+gIePoCu8cKbEW2JBM7CWYWY3LOVVVJwn0cUOkwO/+MEY6R8ySQ0yjkRixiCeNPo+1R1szMvghx6DJaWTlmYsvJmC4qFDMjNlFKlwZGPMunmI0ZYiZlmTvNzhOLbKwCdgyRDF/+OqPnGSVPA8E6dQ2YBwgpApl6/M5zxTlHlw5qMtVKMzMbC1/OBDGikGXhS8tiPB5zqDqf2xzuqCoJjzeVJyUZ8gkpEZEwj51757mb8WDisbzM+DnTPaU4cHg1s5jRU8mPbkZg4DUpU9TsXEB+ObZD33Ypj86mCNpFLameT504Cs4oR2da+8KxDW0LFUHMaUg5pZRMY8ZQCwgnmwQnbmqQhtpQZLhizKD2cY+K0sc4TA9whltzXddqXFUFSrKKoijKkHJ+fn5er7bAE0Z5vz+kGJtmgWTu/fuPceqFjiCYuQRliEaMx+Pxf/yP/4G99tOnT8BMdV3f3t7e3NyYjQTndYMezI1//etfoDChfXfOffz4MYQQyhp2KP/6178A8VGyxiyqinat4Js/ffp0f38fu+7p6enjx4/wfiaisgrDMLy+viJsiHE0om6aZlYsYDHq+3az2YBMZVK4/jnniIyYi6KAX7IQBe9VMzPVdSUiITjvfd0U57OQxuVyOfRt33c5a1V7770myzGjgQmgY4pJ0PzMwYeYnHNVVeXhlPP/n6332pIcSbIEhagqAGNOg2RmNZue3of9/7+Z7dmp6aokEeHMGIiqiuzDBeCeNesnOzvLw8IMBiigV0QumSlwMaRSCsDN9XpZ6dfQLZRSunYDAsY4jiSMUaNwmMbiotVK02zN7Pfff3fj7XZLRPf3jyLy48ePYRrB0xjHIecMqnqMsZKb+fV6fRlfUmz3+72qvry85JxxAtEjx+UGGs45I3AUdxCYTm9vb7heIjKO4+V0AqhdAuQTelQgY2Disao2EfMJzjQRoW3PzOBUlDKdz0eQedq2vbu7aZr448cPmKa/vDyVUtxNhF5enp6fnx8fH8HR77ru5nYPSxloMG5ubnC0UB/mnHlRW7o7WO/YDrfbLUSWzAz3pHlMR4Rmsy2ae3hp9/3gcyN8jtettUINeXt7e3O7x73w6dMnIoICGO8GoQIR7feHEEL1utlsTqfL8Xic/UDm4XJ9fX3FrSHCt7e3MIPv+/5yPaGd0W2au7s74AMUEtfr9e9//xuOBFZOmOS4O34JuD9NU2wbENxFBH3rtm1FDAp4SBp2ux2OFoydy+Xy97//HbczUl3dfZoy5l0YvGA6Bw06ROooLZqm+e2336YlK7Tv+/uH2+sFObW7+/v7c398fHyE+9DxeDyfjwC1ZqWUaTaJH0cigtM5qHq11mweWc0MRfhCKJcYt7XWy+Uy64kbAREoNQG7yDjkcepjaBBUfO4HCIXHIXddV92aphtLBmqpVlNKb2+nfijXOGBPqRViYluLN/yg00SQMmswsyCKuhEgI+fcaAR7iue5aFGWtmnnm52s6zbMXPM8aktqUSWoJo2piSgb2q7bbLvbu7tjf9nd3qSUEBg5jlVDSCnlPJdkwgEjew0zJXXuob4bvSye7kZGVoqbyRJAwWTuXmDhsOIhLKqcay5oVC9+ylhvbrxmLBaf2a/uZmSEuCHWEERyzhNRjcosVEopZZKZbTjP6hfrP18JG+9olQi5T2vXEz8yMzdm+DuTNBZA4h/8Fpcmowq/v/P6BX0hXaz99QWBLOLRMAdWygehAqA2Xrl+KJ4e9KemPi2EZ9IQRUREYc7n7qKss1ePrUB/hUDoga6gy92RrGnvPuDvXwRrVT7INLG/rBFvtRbUGzSDfDYzXuoRMOSXS7B+QUGLBxoPz6ORk/BUDH1/mC6QLTQHnq2TMCphfmdq5Zyv1x78vbuHttakYWaemJkqBRZjNiZjKm60CFVjiGVOQZrDbz8WLSLzDNyXYgwrtjhhE8RtmzNygf6RuT73dmv1zCyViHQh1ltxUVkvChEhR2xdJLVW3DshNKosIsEXVaiZwRS8zilL4u6lEhGJkiq2eTGfv5hqnLEsG3j5+I7LB8/IeK0d17kMLywXd2dSFoOWYV2piwr+nXkGpuDSqgcuYqhS3peUi7k5E8MqVHhdl0QC9bj/mQeG6RImLrYQ9z/OB2ih2ZC8lwrr8X/4suC6+fp6QQ7BIlmwJXFAHBMry1arWc55rBMxT2Y8TTGWTduVaerHYRqYmYW41tqPQ3ULTWLm25vHsV68XpPU0La+BKkWt1xsKtVElNVUOo3VCPks7r7d7lJK0zTiQsA8m4jiEiA1j3Uoi6Ra6/V6RpNyHDN6eObuXsexkASzEkJ4eXt1E73jaZpYCFsIEeVxurm7Tyk1Uc0K0ZxJrotFNLiqtdbn5+fPnz//x3/8B7YlTOfBOoD9C3C8mT0/P9/c3KBbDxM6vOx8PoMWfzwe7+7uAO7/+OOPnDOMO7Dv5lygWAXIBSqttb69vQHwAeD2ff/09ARs8dNPP03TcLlI388KbDh4lDJttzc1Z2z5ZgYoYGbMXkpRFYINArMql1JibMxLCLrb7kopMakIte2G2afhpMGxWkWo6YJy8OLDdcxjJmeRaM5mo1l1IhYJIqqR3Gut2203jnmWCkRhjnWx4UPlgJEXyMRmZTZprR4Wv0kg6RDTbrerxU6nt2L++PAZeT3MXspkZuiw4jo61SkPQROWty4pbKkJQYOIgJd8Op0w4Pv69StEitfrFZ37m5sbgE4cpC3ixdXsD84z0zQ9PDzg+FE1vXz7ZmZo3iMZh4geHx9R4B2PR4gLP3/+DL4QwoP+YftBxQggjjdB5QCsFmOcRdh1wm6KJYcIArBfcNLMbBwG0CpAuwcdJecMl1KMsMDEkCUtEksFzJacc9/3wKPDMGA51eVZlHNm8afn77kcPn36tNvtYowhyM3NHoLmzWZzba95moHdMAy/f/sBifDhcMDwYZhGM1OJIgKv/dfXVzCeYFRPRGiEE9H1ekUo0nhFupABIrj75XKBcyWkk2i6Q6Kw3W5///6tlLrdbtdos2maVEO3mf8KFkkpZb/fg5SC84mkW0BnSJxxP6LQwncBkQaoFJvI6+vry8vLly9fmjY+Pz/jwf70/D0m/fT5oW3b0/nVq4nI+XyEb0x/udzc3BgZKkYw5XgevRKGfm3bPjzeuTseLCGE3W4DcjyRTFNZQ6aw8EII/YC4pUBEVqnPozu7KJvhutTq1+sgTex221TseDxO47FtNyE1Eq55QJzw7DgJqiQzM8PbYB2/LCIon7We8+hYGDXtNE3MdM0Di1uZaRK1VqrVEeFZbcg9EbVty+LKFJW9mpDu9zdMWiq322316TwcQ0pmpW03/TSGkFLyfsio+fNUU0ohznoA+xAqJCIxBfhh5Xlcb2jEAufJzFZHm/yjBx1BolMreCMoXYB3YNJNgUkYfUZUMpEZsMTMiMwVuF1DKZOQqYYQgxmxqAh7NaKZukDMNGsTK2IWfQ4IAhaaTQyXJ8a7HQU6OEHTAuN4fargCbb8T/Z3ujKtaGdFviIwGKEPTXRWnfvBqhEMrKUeUCJnek9q+wgo/wxL3oWkK7KcP45nd+1a1pbcO9WH5pAmkFg+sNuNV3rP+rZ/+kbLWG/9NDMrFR9hzORUK8gLUkkDw9LHvdRJED1DM8I042EYrtcxT5VEm7Srg1W36hxCdAnuBEFmdZplfmzmBQZBQWixIsUfzcUkcDxwrCqHEFQj5sC2JKuv3+hjs3g9h+slW8+AUQGBR0REAlcvpZqBySU5VxIXDr402lneySOz5gG1lkhYOsj2wWTmw5KQmfkkwiSii5aSLECqjE3IfdZwO5HPrnPm7lKlhkWHwcysLBrmDrTxnC7qwmEx95kp5njUzJB2djZE0Ou83JmZOYC3pjTnnoBqSctQZq1liciYdI6gkrmCnT9JZiuODxKLZTHNPPj19vuHn49wHEtQRNzJanafJ4DLR/FytWT9CuvVnUtbYjIUMYQrx6LMrsrjmPPQT1POOTurxtD3/WhlnMq5vzpJ07SHw4GLjdMwXWmapgoLBTNVbdKWRP7292/T9Lrv/OfHHXtxq0G55pqrZ6ulukhwUS/mRLWWttlAIKuq4zieTif02mOMszy8uJutYvZq9Xg8vrw8D8Nsx7bZtF23LSUP04g5xu7mtts0OY9mZb+7i6LZp3Ec317PZnY43FwvPZqgwHnb/R6mIg8PD3h09v3lej2jv/jP//zPRPT9+5O77/f7h4cHNLyZ+Xq9Ho9HdL/AlPjtt99ijI+Pj6BYNE3zT//0TzCZadv29fWVdZYVgu75/Px8d3cHgV3Xtcz0/Pzcdd3j44Oqns+nh4eH19fXP/7449OnT+gU/tM//dPz83OtdWkBTmZ2d39rpb6+vqoyfCrHvu/7y3a7rTUzB3Mfp6ltYq21bRugrhAj89xLIKaUmnazBUYhKm0THaafdUopxZTyNIakSQO7qKRRp5pNXJhEY7hez6WUWoubqEZRFOUQtqpZRr3h7sz92oVRlfUZfb1e280ORhC436tRSi2zOnMI4fj2knOOTetUX15e8FDruo7ImMPxeMTKAXlms20v576SxyiqCofyEMLLy4uqgg8jIl+/fgWovVwuqCKAdKF5mGkkZiEExJ2ez+dxHG/2ewQbwetzGAZMS0JK4DuhSkwp3dzc4Br99ttvKFSAg7Fy4EmCXs4KQM/nM3j56JHjaQgwen9/j5vl9e15v98zM2jZGNbj0QReEJr6AOW0kILQHMXBoDDAR4/jPK9gZvBwUGlghfd9D7CCDXttodVaN207jiPOVdPEtk34o82mHYZpVUCO43g+n67XfhyzLWYvTcNr627KA1pZKJD665WZ4WZzf3+PtYGuNu41jJJU9ebm8Le//Q3XF+R+OKPjfdYuQIxRNdRakRgFbUPQMI3lcrmoRHIa+mm325FLfx0v534csqpeL0PJtulSDFFlDmwyM9i9T9OEIQOx7fabvu9rLefLse/7zbbd7TdQp1yv1x8/fqjqbrcTEaRBM/vb2wtEGjf7/fF4LGUigvyxxqApdW9vby8vT7vdzp3Rna0LO3y73ZoZ8zz9WK9dnqpVSo20bdu1TXWbpmmaSraKfs3xfMU9Po1jsVprLbk2m66U0nXbWn2apst1WqwqG9QAwzCMwxRjVIVGmVcGwrrRYI2JCL4CKquSx5Ra3OO5jEIMEh0EwV5YiIUpl4nI2ibGqLXWqN4ETRqCpl17aLe7Us2F9zdNiE1IcXO44aDbsBtzYYnV8jihW6+sgv53CCEsNnZLyxO7PS8y5QKcsYTjVHd0iAAJ62wQTjqMV3CIZ3e2BQVqCKKCaQm5GBO5k4daSYmFI6kxr/1XSdG56VTZyZgtJvVJai7EZk7u6s5ElRhSS8KnsK/Yem5gC8wiYQox/8NEzJpwXVYKyqKJnFt4IlJWxMbstjRcebGcnMEGRsczJkahFUIQGCmy4nBW9Ilm5drTxJle+xEAJsub6/qGeB1EA8vTaTW7m7uNC5JZwfe7c+L/CWf9Q5N+teykd0DP1bJlxq5HRGYwrHPiDAOdGIMozZFDTiEEYyEOREWmmfZTq6XoZrlUd1Z3tkpeiVymaVxAHS1QngGA0SLWJVmPZio/lVJ85muE9evIuxfi+/eyOcrQzebLtn7BlfyJCy5L0KxqrF7MMhqC2HGcSBVr+F0Dic/V2Vad4E5mouzV3UuuHyH+emUX0QUYWby8VQx485pLfSfGMDkjFK3OAamVpCAqQpMyu86ls/msPmW2mRz/cTHZn0dF6wV2ULyEhd5PDauSCi3J875w3PFc0xQXUTbPtwoTsfoyMpunUMxMKryCFf3ocyQi6NzTe2AvLaO6dSnMJ9pBuaOyVB9z/QD1j7LwUovMXkjObsS66Eudq5O4EVGx2l+Hy/nS9/3UD9U5hBBqfHp5e307D1MephJS0zTTOHgXg4j0fV9zwQbftm3XbcZx+v78dB29iWMXQ5NC26hNJixjX4ZprEYmakQ11zFXIzJyBLGN41iyVcsAGUCl4JSrqghP0zQMvZldri+X62kY+s2mBT7LOZdycvdLf910WyLaHqq7v7w+hxidKpHvt90wTLVmeAsO/ejsqnw4HIZhYnez0vej6k9E+te//hXNSOA8iA1AjEHbSUTQ4/z+/Ttg3L/8y7+A4MvMCFq6Dn3XdW3b/vjxw93ROh2GITYMiw8UACJyPB5fXl7u7+9F5K9//SszwyoEekpbTrK7w4YcDblv374dj6/b7fbz50czI/bX4ws+fZqmX3/9NQWBX6FZQUhTjJGE0S1eGDVqlDUGUETarmvaDg+UWsuUs3tMzUHYYuRSx6enJ6YsoWlj2yRXufaXnoyTBuYMHaS7TxWiNGLxaYT4LBGRWTEv0LflnHMe8xIqaTYyc9s2ICgjE9fdrZjr7KOSc57yGENy9+v1ioa6GShAdLmemeX+/r4uliO11lzGkFr6wIafxrJ84kwFwX98//4dLh/AE3BhX8E9L2mXfd9Dvbpp291uBzYzoprAn75/fFyX7tevX0Gn+fHjB0AMUk7Ra4d5OSqZlZpyPp/RxP38+TOc/iFNxi+/fv3q7v/1X//1/PIDy4OIgPLRGkdpZGYvLy/jOB4Oh03bmhkM8vHgAsME+H4lvdze3oJyhuc7Ag1qrXhl13Wn03m/32P7APkSZck4jl3XiMjp9PY//sf5/v4eFK9pmnIewT4SkZQSvulYctu1P//8k3B4enqKMd7f39Zap6n03A/jlQZp23az3+HZB2Y/bgfUJ//2b/92Pp83TctLcClYLrg3n56e1tkUvGuwR273u5xnz4rNZoMnGBFhBAchAaZAfd8jeGt1C0Xc7PPzM6hNKMnw1VAoXi6XmBSUvxACpBGwcEWNjaHN/f0dM7vb8XiBkzQirh7vb1W17y9vb2+3t4fXl5cQwvawn6ZpmgYQyYZh+OmnL5fL5XK5gFIoQtAnwNEfyldmfnt7G8areZqmQiQhhKbbXq/XYZj2+z0oG8fjsdioEkquZrTZ7M79NYTgxrW4E6qpDJpHqUUlOLGEGFIjInXxuFgw8TtRAUB/Zoao8mxQNlnNXdcFbc0Ks5MVDaLsaGh7Bb0npCYIV1JX8hCkTU0bUwjp5nCrMYwla/TYJGfV1DCJLfxd1WhmULOAkIaHgHsmikszSwGGzCByI4z0iajUnHM2o4VEAeBnNG+vWqrVdTw+oxPFl8SDhTWaGTsMQNzMqru4AICqaoiiykSmQVWp1upkXsmtlDqpsjtVyz47t9icnemQES/Ih+gjxxWXaoGtBmfDFUvw4koJuDyLF1XUueTqi0+IiJCwLp3EFTXiy/EHIjHOquoKYD5yYOC5/qc2P/PstMnoyRKJhBmykzIJE9Ns47MwFBA9iu+2sHecaOEvvJcczGzmISAwaIVztPCL6nqlfKH0gIEOoAko9qHFOVvSiTAvvPxqBeQWDOXQuyGXSz+YWdt1ImGYygyjhfwDX+MdrC54UuYfcw+lKnEFoZSZiRhPqnVLEp05t/7nn5UxIaoz2d0drcOlxAoiCgoQflOWNb++2NxhTmpmwNyy0EmGOjFzEFGbs79ExIWYa84ZI1a8nmb6huecx5FAK3J3yMyCe4VtnFf7OPYaszGzmzpxrmZmsW2ahoN7SslEIqtTJbGZMCPEqg48jQmaVyf3spR96Izb7MozGwYJquV5VYtIFQDvxRTTXRAIRWrzqmIir27k7+Y77jNcZppl/gtA/4ep0J9+4wtyXxerzDQmcjdhFpGpjB+Buy5y7OKVmZ2chJF9XKFINdhBlvm8V8Me/OPHj+vlMvRTmSZWjbHRGJ6fn0/H4dIPk9FuL0yh57HohBHj5XLGbtEP1+9P38c8VXJK8bDbdF2jLCmEnOs0DnkcstWx5HEqpRQjRwOvuqkYM1e3YRprrURSrGrQyJGIsDsCeczsVcpN6u7u7na7bSnT9XotxUSoVttudrXWzWYTQjid3nymMGWnGmO3kNF3GoKqxiYhprGUcj5fyQyq0P/9v/4nEe23m8PhAFwFHDxMBdgRPdTj8fhtJkXsvn79ut1uv337drlc/v3f/x1s3aZrIUsdhuGf/umfvn37lnP++vVrMUJbl5mPx+PhcEC+/RoEgzECTMdLKZfjCT7ugC8QyT0/PzMzcluH4VprJfamaaBMnzn3ZdrtdiHINDHG+ofDodQJ2BqMCDTGSLi67bq23e1DakXEyDfddhgGTU5Wai1BPSbvOp/yRbWN7U5ZiM7VzlRqClFoKqVO0wgsFVNgIlXuumaapmropIIAVkExWunszAoetog8P7+4V7BJRQIG60Lc93MhpBI2u23bblRVOKxTxVRTWcy5l8t61sXNA6tos9lc+0tqkijlnPeHfa319e25aZrNZnO5XFYhJhhTqAGu1yvguyxOgtvt9qeffsLDru/7l5cXd//5558Ph8PTy8s4jmDMhxDO5/Nvv/2Gpjioz2DjYKiNY0MrAQd8uVzu7u5gevjjx4/tdvvp06fv379P03Q4HA6Hw9vxJZcR9Oi2bX/99Vd33243x+PJF0Hq9Xq9XC7wf6y1orRYbSXxiAfI84UeBuSHb7d0ECrYMu5+Op1gI1irr0019CydCG7xAPGvr88xailT121DCCm1qHlSTNggHxZpb4jy008/oaOfUjqdzrgpSs0irYjMlO58wuHhULG33dzcXI4nHAnqn7Xvi4fGy8sLIPXj4+PhcCilNJvu27fvKF/7vocnDMwWbm9v18fsGpmMnRE2Qbb4sRwOB6wQPJkRkYtOyuVyOZ1OX79+DSF8+/YN9yl0ETCSR4zx0lDP2+0h55zLCMNNCHCJ6HQ8unvTJAgtmqa52e9xBaFgRnAEnm+YER0OB5mlNdQ02rZhGIq79+Nox2PXdU3TQa8/DJNoaNs2NS3IHu5s7M5qlfa3N6XYpR9KKW3Tde3mer0Wq6WUrlNYzQATxtjM3tXvXTBwrGc0j8hYK9UWhkZKCV32Uicv1awSuQZK2sw1j01NCEmNKMeoQXWTYhOjSChuGsPtw32p1ciGPHWbbhpzagPTbJLDEjHh5IV28bHxDPqBiJhFPC7q4lS4aEnFWeApMbe1zaplGKORCwmDCIFmrapyUJVY2CUECQGI2ZE+aCRCtbrN0fbE6lFJ1c3NneDbTMbVMqzEGaQeE/T71lDLQkZzvKuIsta1Obj6ss+oHd8apEZ3IpXZzJGJmZXE3Su5zrOH5a/rHHn+EYcQc3h3qJsR5PqCFZKyK/qG7jP1xhfTw7WcmPI702P+PaksJt0Ekg29XzIQrRcp6Yp/Vmo+yEjvDOePh/Tx2ERkfYcPPXhidrO6tv9FBGY7TkJeiazWyuIhCA4XV6dpIjMXMndpmqY6MXPTNBKTcV+LhxBLKcNlABSxxXXHnUpxs9I2yVyYTJRjko6alIKIxKTKZF4V3VYckKi/219WFFH4o5X2ib49HumACuspJVmvHRHltYpGQevu7mUa5vHd+stSCrx9mZljBJmEKIRI7i4xsFUrOU/FfVwqYW6aBsg54pss+odZnGp43Pl6AXzKZpWqk0qqTmPOoVCeaoi02XDTJEoujgFScDOWuXH+oUmAoDJemwe8MPTdnaWuVQgTubFhnEGKaC4iJmZ3YPFV7MygxIgH3FofVievzkH/UEV9OMvvstqPL5vfQuZViB88IRARrAIdMK0zU/pA8xIJkCas71wKWcmlFMsFe/bz8+vldF6iajapndq2naZCVvrLeaq02WyaeNO00aec81irI1AdbAEWYZUmJYuZNG+2+5SCuCox9qRaa6lerE5WU0pNF7FRuSke6/hS6GalmPI0oP/n7tM0Df1USnX3dpO2265poplfr8MwTETUtm3OZX84nM/ntt0w6zBMoB1vt1t3f3t7vRxPq4vtZrPZbrd3t3fXoU8pNU0W2eZcn3/8gJd2Smm/3+PpADi1v7kDk3UYhpeXFyRE/vTTT+fzFV06UFzQhIPkFFUEsF3XdY+Pj8zsuULWNgwDbCvcHS2633//XUR++eUXuBM+Pz8TEVVD4iMahI+Pj7Cru7nZA/UCzZeaVRk18TRN5uX+5tbMYmxAmYB0D6Oufhx4acmEFKdSnLnputi0GpPEwGYhNJ00RJRzDtWcLEb+9Gnz9vo9hBAVLoctU8rTJE5d3IaQnp9/nKazRFSP3G2SZ8p5zHlsmi5qAM0upYDGLVCIzQ6VdRzH7XZjZjXGcRwBEY3KZrPJfcFTxqrtdrvD4Rbo6ny6gvywkM6H/f4GmGZ+/TgSEbryK88btzl0FHd3d9M0DX0PfvOqKF2pOGBWgFUM6SHM9VX17e3t27dvm80Gl7Lv+7ZtEfCEZQNJg6piigLUjtsBTyG4QIrI29sbDCg/ffqEDvrDwwO4H2Z2c3Oz3W4Bc3/66Sc8Z799+yYiZvVyucQYbm4OIF+VUjabbrPpLpdzlxrc4JgIrVbieDJgG8g5//HHH03ThMUaEoJXZkaxxMxt26GwBEDnJUB67eKIEOgTeP6gwd91Dcrdrt3CGaa4gys/TZPZAA60mcH+Eu/pxnDUgRPr2kFHEYLDOJ/Pr6+vqto0CUceQjidTvhqutjMxyUbFcXP+lzF76+XAVB4LQxAZIKyGb+BunTVBuAUYbO0D9Z1cMOcOVqbDdhB0zShgoox5jwhi/p0Oj083oUQ3t7edt1mlT6fTm9N05yu1/v7ewz6uq5RbrERPjw8QAzTNE3fXzDHaNt2GKYQrk3TqDKxi8attSz29HzFdl6rm1Fqm812N47j+Xgcx9GMQoi1usamCQENiOt1KFZVQrZyPl9jjLX60kJVd7CZF5oyv89+Z7SAuqsU3GJNTBNN6xYWo5Y6sSu7sXq1aj6FoE1KKYXIZMZNkqAlRL272YbUBo7iDQZ0lZyV26atLhqLB0msQz/cPTz2l2tKqZAwcXHz4iklgoiLGfYb6FSiMYT9FCsN322emau6C3F2ZzMBiFksMKrbe8pKSkliQA3pGoLGEAKzigRz5+qOsB4ydxYM78WZK4u0MRGRBnYnq1YqvLTr3GimOnNAZtErr6QOd1dnmzvZvp5wZoaMFcdWyRfc8o5NgazdeFW1iogzOYnAunrm2c6wby0MAHVZwqyJM5s55Qs2IZfZQvqd5WureTQzf0ha5YX9QrSolknemeg2I8V3zjD+6B/AzPshfvjNx9evX9AWeeuHt53fXOd2NQO2MrOTsatTBU2DSFRJXHPOMpd8VPJMVGuaRrhBOaGqMWlQnSa3oiU7vAdZCNQHXKYYVYOHoMzM4qKBCPZKHbtVK/hC2CmShuJlITvNZwPLYGm1q8yt+rl00cBUZEGh83nTwLUYMc8ne05aIjNWnYcMRGRerM51LBo3uIo81zzz+AldIXcfhjJB48iMGWZMiJlXiOgI341mW/GpVjd6R7q55HGyFIlEa/VaxzFP222TiokUdxeC6Y+xEy+Q/UP5VX3xNvJ3qce87q3MPkHMHFBM19nkEUeG19sHgjtWJ63UFryA5kW9LkF3N5ZFb/3uoup/zpj9B+xekY3E7xwj9DMkuIhQCKu5/gLWMSnDYGVWxNPCy5+maRrGceynaSrjBOpn3/e1FJEwm21LDCF4o7t956Rd15Y6jldTsZg4egxB2jZhUI6865ubm3jHdTh/+fR4s91QP7GLmUXVEJuGhFXr5YLs6JJn6xiA3VpnszDsxzEIxGFN6pgU1ii11k3XphTHcch5ZOGu2+SczTyGZhxz03ToImPr3W63s4fg5DEpS8vMcLLfH3bY/hHkfn9/DxuyGO/q4uHw/ft3VX1+fsZm/McffwBMiMjj4yOA2svLC6AYQAbw4pqk87e//Q3tcxCsn5+fc3XQEjDmxnv+8ssvy2hSUR5gk75er9u2gw8dEd3d3YnIt2/fYI6Bxl6MGlNYO0xAhIebPXBGrQnaWXB7UgOak227DcgAk1vOuena/c1tt9vGGJ2kWi7GEmItTs4xhXHsS3aWzX43M3NYYrdpRMJ4ueZxYKq73SHnfO3PHGbNaAhhHAqU9TrL0czMgs7nB8Doer2aFRFFSxK46jwT8myaMswW4UOy2W8xK4AzzNDPrqkSFJfGzN7e3tBwZeabm5uUWqC9nMtqnLKyCyCCXFUKSFTd7XYPDw/Ax/hTVBrw5355eSnw3jaLMYIpDroREf3+++9gjdfFwgxLAgsMokMRAZVFlMxKfx1Z/OHxrm1bDZzzKEoaGBGkcHi8Xs/UE5xAj8fjp0+fbm5uzudTKYQpE9GcqXR7e1trxWF3qVkLDyQQAaeChT+OY0rp6emJmff7/dvbG3AqMkqxFEEux0MPbKjVcDPGqEFQIB0Ou7ZtF1sYERGIbmNs0Fgys+12+3J8wwQD50pEhnHMOZcyS+twX9zcPcQYr9dr0zR9f1XVvr+O4/j4+Hg8vuWcaynQXuOKmxmgMyp/5OP+8ccfuBbn89mWmPuu6+C83rZtk7q3tzdMIdBHwAMZCwyFFng17o7ri2ERHubIScWy+fr1Ky705XKBShXa5c1mc3d3Z1ZRUZxOJ6cKZk6t1UWxJIbhikFZUHU3LJImRnCcbm5uqjuSEFDAi8jxeIwxNk2HTIAQJDUagjRNLFVwv5Rifd/349A2Ha74drvnJdNXAgkR2hm1lm/fvmmIOWfMVbAliwbwbcZxhGeUu1udI7NxoVfgjpPPzOM4WqkoY0CIb6JO00QiGkDnsJTCpuvUI5mlELe7bdP42L91rfz09bHPhTxxTdv2sNsfUkpOxIFtpNR2RqQxpbazhUPVNK3N7h+OKn2GGjYt6PaDoYz7msaIG4cWjjVpoErEJi7oHzs7uZTyTtIgFRishRAoRJn7QQyHyLWos9kYUQgMeyHm6rQ4JBZbKgc3+7Dv+7yJE+bqoh+63bzglveutvs7iF/fhP9cTbk7I8b0AzYQDu7OH6y7mXn1G8m5rDhEROgDR4U+2HuvH/f/i6H/DGZmsR/cfpxnVGT2zhRwYS/1Ixhbjw2T1Q9f7U+Z8Stg/YDu5lEKf5gnrO/88RTRXBXADw3YfRbdKTGLw0MohNC2IlKzViOOunMmF2+ajlWsVCLpmr3VUJdijD9Ql61mEZmHTqWYVZo7CI3XovMFnU3MhAVqPSFVI/7gl0+rh+ZiprIiT1En4NmlGsG3FBaZJwyA/szG8EzXwOsZw0e7MfG8Mh1sUlKnWb6/dqBydlgm1FrbtnWj4njNfOECEYZ0bF6cSi3FnFNKxBKM+74/T0PX7vrL4Map62rTXa5Tn0sTVAOreCmlScmmIgLG3Tsf340LzXHiRHPRiO/DTmTgv0r1SkQhhGo5hmYt5nxW37q7OROxwKQSt5jNlDh1M/PZQJ1I3ImqVXj92KIR8Vk3hjEQzxqIVZDhVLHmFAeZc7ZaRITNFXmYS9Md6H1RoREWSi3IwbFqVIo9Pb0BWJgVVe3HUUIbG2k32sakqilGd993m7PXx7uWVGvxyC7sTdMxc2qjSKjFNbAo9cNpmvpmp2mw26673WzaECceNUq32V8ul6k/1ypjdqNgbqLMKWSzbLVSzXkEQxQW6d2muZ56lXhzuOmHC4t1m8TiIXRNg7Qa5J+piBw2ByIayzy+EZFaa9/39w8P7p7iLoSw38X+mp+fX6cybja7w6GFU3J/PanIzWGfYohBYwws1oT09PT09vZWSk0pNZsuhPDy9N1q/fmXrzE0cGZ8eXl5eXlJbZPr9OWnL6o6DFOtdbfb3T08iMh//dd/jeMYQ5OnSl5KKeTy+fMDxhRt2/79738HFgFLB6gCzXhcfVyylBIa7b///ntMyszX6zWP4fZw1/cXZEQgwT6ltm2TqsaQxqnPVrN56tppmsyzUxVuT8eTappK3mzaatnzwMGlidx1FlORWLOptk6RSEJk4jqNE0njrE4kKQgbWTVyMdPQxZZdwya2on4Zx93h1jynFPrzxanGLnDgchmNiFk0BjaruUqUbrctpTDrRmXqB/Ox1lxt2G73weR69eoeQpimcjqdzFlieHt7CyH0/XWa8jgOMcZu01yvV65eryXGG6C3nGtoEgmFkLCL14qGGZ3PF7RjzQwVkZmVbPvtVoi81hjC4/29qh6Px+v1OixtWmgfEWd7Op2AMj99+nQ+n388PyNaKNeKhvd65xLRbrebponMSim3P/+8adu3t7dPnz+D+x7C3DX45etPM519nJ6fnqZaAFvv7+/R7i2l/PWvfx3Hoeu6h4f70+mIgtNBmRhGON50TSNOfT+AnA2Ky/l8vl77w+FGRDD/UVXICZ6fX9zp4eHRzHa7vbs/PT2FENbIoYXRaNdrz8zAr8CmwzCQu8bQbLqx1F2TNvtdHsZpHJ3y4XAroqfTiUmPb2dsqznnpLq7OazGTbWUFOMwnGr1nJ2INEZoJMBTgsIV9wIknqWUFIO7haCPj4/4U9T51bKGZtPtXl5eIOeF2kE1/PT5S63177//tt/v3XgaC1TC4zKTGcesqjlX95k6Pwyv1+uw38MkJ+73N8wMZpQqY9M6n893d3egVsL7v9by8PCw2XSlIE128/LyUmvGppM0PH//sd20gfzh/jbG+J//+VuKEZZ74m65mBYRgQdwdT9fr3jzGOPpclFVUuGgl6Evs4+1X8+D9LTbbVRVw6ZtiUhLKde+DxxV4/Pz62azYY3uNuY6lMt2u8855zycz+ditRLVkp2cVWB1J0FFArOaUQhpJsU6BZVqBOTn7spLxJLXpknMHJXdawo+9mNSbVJbqU+NE0+wT7vZtSEkZWHNQbhJcntIOV/+9f/6tx8vfxz787/+23+r2U4v/c2hbZrA6sW4izuONeecizmDfatGrjE40Xa7Xfu+wi4uVL2KqBA7VRvZhZiJIO6qKkLVzDlwiEnNaynFWL1w8JCig8nGzKVOKlRKFZGgnFSaoDFoJVOuqqSqeSpu1SpPUy7ZAwkTu1XnKmoqRkzkHBSpT8biNddpKiLJvVbLsORKsWFo/mxGpZDnORE7CXGQyOak5BXUahd+3/vFSZxA/0BcJp5Cec6rWX6EBX9kZuTCs+EMEF7OeWE94SHm5LyErLM7wRQEak4iYlajKqo556g6c5uBBWOySqVUdwYYrbUSm1CzmFozs0ByKi7GBmhYykTkspjvzSkizCDmu3ut+M+58VxrXUM23Z1ZRd4FGABjLG7VmMkM1JQArKWqpZBoADVcJZB7yURBjRyxvqUUN27aGBOZUYhJJTIzog9KmcaRS5koZOKqNsNLVdQDNDdXRYgoiDoLOF0hBqKwbhYzoYU5OAKwPCiZCL5aCFD9ze8z1zyBlbTW9wkMOcjbxLD/rpXZSYM7hgnETkFJRdyTv/s5OjNXd/d1uMTVbSojOqpYQpjHjiOtFeBcTrCamXDEC8JH7o59CN3NORNx0zSnp7fzqTfSJnVN06AyVvexWqii4iZUphoivJbeazKe/YkYAW9LccYiEiwE5bVDj9a7LR6UMzQGJ2bRPWgMSNz9WMnR4s7Of+6gE5ExWX1vqK9UFpF/aAzMs54yTVByujO0wMKUUrClCA6Le7e7zYH0IJlNtZTCNE9tIJHEZ+HdcDGa2MK1MEE7QzTNNsBNjGnI0zSWm5s7CZqnSkQhaSkll3Ecx5zHatN2v7m7PbSx/MtffrnZH8bzKRc7Xa7Pb69uvPYhVLUUx+BbVbuuK0WV4JlQ7u7u9vt9TBo4omBFv5CZYowa+HR6wVuFFLtuq4vve3XHcJyIajEmPZ+vMFXEakEDqdYJvVUmOZ6OGL67176/nE6nn3Y7CQyrx3Ec//KXv8SYSOVyuYzXfrfbFbeVBRtCgFr08+fPm90259x1WxH5/PnzNE3/63/9r2EY0IvFgBuR9Zja60Ly/uWXX9wdXTSkPkHm2Cyp9Z8/f0a3+Hq95jJqaIlou92mEJm5LmaUqgoaNPPMn4H9JQpRPArhyxZCiElLGRExOI6jEYNWZJWs1iAqzExijiwxZxVZowBMidhZhGvQoK5CzKy55v12d3tzfzy+TdeJuZKKC2sUYm6KgU0pwmKhUMF+0DTN7LYWS81VNe723dCPZvX2bvd26q8X5EOVXIrlSWJS1Wkcp4WFLOKqvNlsRLXO3pdlVpSqsnrN+XK5XC8DTleuxUxVFQ1prEkYdLg76MLopOJHVb98+eIzF59h+eLubdsCteO5jw736ky/ykl3ux2cYa7X63//7/99s9l8//4dmPLh4eHTp099fwEvHz17m0mBszj7cDiEEC6XC2TQTdN8+vQ4juPT0xNKhdU/9Hq5qurhcCCip6cnTCdSSujRwgQJNxR66mYGAjeYwU3TAJLmPLVti5kbikmsDSAYQGRmXg3sx+nCZuM4skipftN1hy1GKHK5XD59+rTZbF5fjqUUeO/YYmxfa4VrzeVy+fr1a9t1KbWgiNTqRoSx1dPTC4oNzDfatqUP82JbHBVWqUBYcnlXNx5wG9ZHMa718XjC7YB/w1pxu92uat1hGECyB45Baf3jx4/Pnz+LyDj2Xbe/v7+HLnm32znVUsr1eh2G/ubm5nA4YDqHkzaOY4zatm3XzEJJsKowuFg3bDMLIcDIciwZqwgXDo5JqGGwzeXJ3XQYxhC01hqC5Km+vZ32+30p1VyrGYsw6/l8nmopxew6hFRDCM5Uq4PNRcJOXpFTK7OYUha6RQEdaJ3IL14lNReJMTCMZWbvIKz/lBLND/uZDr7ZNlPOOU+q4jU3sTns9uh0qPDNYddEDcr73UPb7Xel5jI2ab+92d3upvNpyjnvbrfOZmwxRBEhLgtkZNyAzoiqF/heV5qb3yERObvb3M5e7Syx/S1NcV/61kJk79YoXGt1s2ny8qeclhmKBBGVyMRMCue4bJXMhbmWTERO5mZC7sLus1MLEc0yyQ+GHu7CC65VjSIz/QUYm5kxbAeEEGbk7BIb8zscX4+QP7SlV8Sy6hqXT2R3N/I12WYGPATLN//4d9efBYytqrz5Z+1Ugg+2/j7nkQi4U5zA41Xyd0Nt+tA2FhFMe3BFSoFQmkUEt4l/aJnTQh/4WJDw0qdfcdc/QC9IcjFpkQ8WI0gSxSqoZtgCzTyEhPdnUmFzCvCQEcXvxWcHkBijiYhTUVXBua20LhjIsZYmCJE5gLu+e3T+CSjSEiFSahWawbEu+WUgLPFi4gkAsJ4BCJqXUzoXNoRZGRtKnXVQaWBhqdoaPeBOvIQBLw76KqIaMUZA22sc2cw2GwS/RF0kJfiOodbiXlkcQei1VlFeH15MYmbDMDXdxsxynjToLCBWrpWDciWvarVCmD2nSQGFi4gbg/7u7vDRDCEwz5LaZWWExQBb117aitrxU7J9WMa+SJuXmIZ50kFr5VB9qVTm1QMrj1oXw0daDONximvOM9fd67Iiyd2DrqO06v5Oe8LRhhCYKSwZ1zPr12zVLwNTdp0HCYv1hzUhmplqaJpmGKeccxvbrtXtdksk5GPf96mLzByCmLE5bZruX/71L//6r/+yDRKFn398f3t6quPw+vp6vl4Oh1uJwWtBW72UQswxhbZtyfjl5WXqB1g7I919ysNms6m1Xq9XvKzWgjE6/JVi06KXxqS1VuGQkhJRKXmOm2E6Ho+q8euXnWr49u1H125V45if7u5umDXnPIxXYQL3N+fM7MweNY51QOLj+XxGUQ44frlcXp+ehzypRBBYUVahEDpfL2b26dOXEAJgFujOzMykoMXnnI0J+jyYVOA7gsILLRpehuuFKfCPHz92u91ut6uWt9vt8/Pz6+vrbrNlZtwww9CnFDHTj3F1AaOUFPdzSsmW0WfTRmQEYvgz1RJis9vtUkoiWgurRi8OM0diYtNlw8NuEWg2OXYSEw5JQojd2L+patPtY7Or1TSYhmA1ixBHiY0SqVcXhnQmuHspFkKatyLZTFNIQU6nNxEVqTHy4aZl9pI9hNAuROTr9TyOOaYE1j6Y0+PYb7fbpu3QXk0phZByzuPYE0nf9yy06bbMfO6vizXhdbvdgufQtu3Uz57o+ClLGBOJwLgDPjDAsgB5RAQaFYy912crLAJfX1/d/ebmBs/fJkZmRvTSzPYu5e3t7XDYAX/DAgVE/3EcY5NWuAZDGyybcRxSSnd3d0SEj4BOAM/T1ckelJ5pmkBnAMQEMdqWlCig4ZQSlLjPz8/fv38/HParblUW/tXxeHR3kD0wHsVDbJqmyzDe3NyISs75119/fXt7+8svvxxu7/KQcUJSSrd3h+tlcHcQ3vD7sWQ8xt397e2t7boYo/vst0MkGiNM60+nk4h8+fJlmib4Tm63WzaHTSQtYlzQXR4e7wyFBDPODCoTdwKlpLjhJMAjCDUeCoYQCPw3IoL15/yQYYaeFTKVpombTYuZDJB03/epCcMwwKcC7wyc/fj4qMr7/ZaZhSzGFEIYhuv1er27u1uNgHCqp2lCz7iSL3uBuTvKA1psx5om11qHflJVVvZSc85OiUWGMRMPqtyPA9I9i5uzCocY3ciPx3NKyQhbrLBKLWCYhDXCD1jWlo6oLy6JHyHgvIPgFyriS0y9mntVDvvdtlouUy51ZGlT8CDM4sqpaZKKbbq25HHThoe7g5UaQvjy9XNo0uevv1yHvh/q3e3u5rDZ7qanp5dS63YRlswj/krrTsfMxZmZ6xIm6A5VfY3FiUjZFTwfnh0eXSTnjGBRHDkx4Ms82yFEiIjMLN442xOt7BoUsVEDM5OKiRcuVM1roermWYiZjcVZKESNMahAabpSveGcAb+7xhdiOhEJK17FzBhoMAsTE1mtOcRIZB9o6bSCVCBjZq4fXS4+YJUZrM9MAV9MJ+cXv2t2/WOKZSUidNwXfElExP4O0OEeSAsV293Ni7kxMXrapSLWcXWSeYf+65MTEBAgZKm3gR3z+k1XKPzh8Pzjfy8A7B248wdKszuAry42NcIUFVpKqrTweIxJnK1SZVtwlzh4ZSQkaDarO4J7cGALtwajBg489xEiM5fc88oIwhH67Nn/odD60MkF/2JOzJz/Ip5FNJdY77FcK2JcawAcGzPLIjoiokIsIiQk9m6VS+RrxVhr5QCfP5w9GDqTmZF6CMFd3D2E1HWzPADYEswx/uDTGJCusnahSikheUPNesHathWOqe2syjRNoWpRYXYREuUgnIJQSrwWrEQ515KN2XSprc2MxZk/pKyh5BW2atVNWIo5CdW6CM99btLTUkMvp37+//TBx5Rm3eo7E6sarcUiM89F3Z9Kyj/Vo/v9vtZa8hKfRGYlExGUyKqrr+pcCaBJhmdBCKHrulq8lDKOeV36bds2qcUuLhKapuHZm5YRbTVNU8j1mq/MvG1b/GYaxnHMr29PXdds95vN9qbkJOJtVKpT0G0exjzkUupYKoWY2u1lHPvLZZqm/jqKEjGnGIOCQm1N0+y6DazugFGapmHSQFGChii11nHIapZr0TA3dZjZjU24OAXVIEhFdjPKpZRSmtR9/vQ1xvTt27fr9Uou7gx0K8Kn0wCLGCa7XE7YvH///fd//dd/PZ/PQnz7eEfO5/PJ3bfbXc75v/7rv+Zu2XBZM9gQB4g2fLF6d3eDjHSAOSCVX3/99eX57d///d8fHh7e3t7atv3rX//6+vr6yy+/5GEcLtfDdkfJyjgFlsBSzC/Hk4jobr8SW6c8YDe9ubmB9ouIzMr1ekUzBskyOVdQeGutt7sDfEWYOTTtMAzspjFWm4xNok552HS7brvd724CK0vkIFHiRNkqHilCStXIwb0URXwJeTWv7MqELd82262TsDRNs2dSp1E4T1NPbNjh3MmYAiuyRIzcSsVOTESqsetUVevLmSMR0eV6DqnpuuZch23bkTBWghsTWS1l6Ht33+32+/0e7A63UkpBD/XDI4yZt+4eglglcTpsd8wcRZumVWI2n/qBmd0tRsXSGsfxeuW2be8fP6eUXl5ejsfjimbgyPn9+3c8NNfNBiRyPBNRtrVt+9tvv7n7ly+fzMrlcur7y8PD3ULMBbZmVb29vcVVg6y53WxwL8C0Eczs19fXlCJ688fjEXYlSCbabjY+h1AS5KQo3YfhenNzg0dcmNMls6qi6w9qFrxujscj+tnrhBO7BVYgLJhyzn3fhxDA3jmfz6lLzuTO3W7ftm2dxueXl1prG9v9fj8tEb9NG/vriGoZz8wQgibFswvt2be3NzwkVbUUY/eoWtVxzFgqKNVqrZYLspZfXl4wIZE5p3DObW3bFuJgPN8QH/P6+tpuN13XQZ4OrCwLDxiYzBdKj5nBbggDE1Xd7/d9f3l9fUXAFqz3N1v4jZr73C/HU2K32+U8ipCZ7bfbnMdhyCKU83g6nUS41gKdwGYzK3OIvJKnGFDPXC4X5CIbOeYqtfowjNOI2CNhlkrFi7v71A/b7VajHs9913XjmJumuZz7cSoatJhD/1DdxjxN0ySsTdMU82LV3WPogHfMDPe6zRW1YB+RD6k6eIQqonBgeggDZK+BpZSJNca4syGnRpuobWLYyJScd7vdfr+dpunm0Aatm9htukY4sEq72bebbdd1Yz4+3B7aZhdCc7jZXwcrbjHGIIxRp4hYhdVEgaTCWets3BaInLjWypXcp+zuUYUDiYgw4NefNJE4t6L8cdnjjx2BQzGurfrlfzrN/2RmUQkUyKNMUyUfmTmoq0oQoDdq2hCCMAEQewhSK0PixcxEHuPM0VcOqsorghdRnunpDNMbqsyBPwD1PyNaYWYXXmzZZ9T+DkWEYdKB19s7+GabOef/p/05og8XgvHyp/KBH7+i53l8MSfcmOrqTq7mQs5OXJ3in8E3LWDdSNzdEBHFzMy1lEoOn5IZmy4nx8xE6eOl/OAIgu6+LPxn4KtZoOjGziyqwkjqVCP3gtMCF052UmKzRdnoTERgVTAzXAGL++xZgnYukUA74c4mlBaSobuEFNnfgbUZbPtnN56PFxFfB10q/E4WPYkzgW7kDl4QuEHvo5v1x9nJUfkZy2wILlbL/JZui0/oksQ1LyQRITb29xxcQNlqxEgixVWmmBplZqtZl5+1qGDmQGzVMpxrpmkYhimUKBza7U6Vyflwszsd+1wKkZTJPASf3NlUOaLMF43uVkmUmMkqpK4VaPVDZbbaA4nIh2AxF6vk5lbJl0zZ+dSjEKV3As+fl+LHQorX7XBd6OtaX//jw+vfnZ505jSZuxAXNyKeg8qI54cOka0GrssZn29XKB7cvdQp5wqHMhFxI8BKEQkhqc77jZqbl0pO5LWWmMJ20w3DUOuUKGDXwdGllIjdrGw27c1h+/XT4+1ub71dT9dxzOY85jxMEzJrcp6gCGzbNui7k1EtZb/fs3nf96+vr4AF+8N20zVltvea4YiZhRCZ0ekPlVxUhZWcmdiNgsau3Tgjpmp4eHjY7fZ9P45j3u9u4MBAKqVMqhqC7Hab3W5HNJvMHI/H5+cf//mf+e3tLaXmcjqntoHr9tPT0//7//6/KaV/+qd/Gobh9MdJU/z8+Uvbtk/P34fxipCd/c0BUrNpyrR0g6Bu3O03f/mnn4Om33///X/8j//x/ft3ODzy0hccp16Uxqnvhwvg2t39Y4hSMu13m2EYprGg67/b7bbdBlf5eDz3fX97dwCfQUSqm7MYeUix7bYhyPV6zcWaOMNZUapG5GLmbrw/3O1v7zbtzquoBGx9KhHeZ+7sLCTv8SWy5nibO7ssFgQxdqUYC4XYlWJOEmLDGnPp3U2pENwtYmPmLBjYaZ6qLunIqWlE5NOXr99/fCMmjclrEdL9phMJ/TjCbj+EdJsO2SqWMcj90zTm3KpqkwIrVTMzFqGcCxoGpRge2fDkhtkLgNqXL1+ICDrjFcaBPYLuKZz+wDCWRacIGSte/Pr6ut1u4SXii2xxs9k0TYPoH3izoLrD257P5/P5DK8YtCvQhsfLYoybzQbrXBbHXCBgIv/x4wcqBDSksfcD1yKx6HKZXUfGcUypMTP4zyDpCT1stJNhsIMsAthcupsuCiR4v8B35XA4QFRaFx9P6DJDk6pZ31/r+XR3d/d4d4852PUygBI619juGljKbOxjZtOk3Pexbbqua5rmb3/7+6yJDwmQ2p3XAQhoKpBTIxZ0Gobz+QzbfhxMrRVjkGEYavX9fo/nYdu2z8/P7lOt9fb2FnITdzqdTofDAa6a1+t1t9upxsvlgpIbJpU4VOQz7Pf7UgrSnXBI2+1WA4MJTXMPW+HUebmczudjztlrhjtWzjlGzZMej2+o1jDgxlMXk5a1i4RiqZQyLYQZ0M1FRKHzcg4azH3oZ6eLUkrJpqqXy+X4dmbm3Y6uQz9NRdWYS8lVVWNKwIWohVwUT/41EtU/9C+JqE1pmvcgKsXIKjEjoJ2ZgoqZw7iFmVRJuO53nRnlfFGuh5tNjCXG+vh4d71eX1+zctltGt1vttum2wQpSVXv7h/6cbr2+e7xkGL7+LBt22bm4mr4+ssvU86XoUdFir2a2KziqOeWnDI7B8NswNyIagFVgziGIO9dXjyyQghEpRYrpYiykqK1DHP39cUyU/KCzeJXWbFXrVWlMilVV6UUqUtkRdwZhuU4bxo4iBDPvljuyLCcVUw4zzE0gJ48N9/mhq4IyWxNTV5dlMyIeSZoLKhvrabEeJ6bzAZ3QJ6Lgo5VZDaCmmNtapmhn3uZ7ROBU5g+rgd3Z/lHmO4fEItV0Blw4ua4bvQOzCiGGb+7C6F192e1Jb6CmZW6FBiu6AKDtrB+KDP/w4HZ8oPC8/98zXqQa6ueGb7pCW0jN3IS84qBwBrV5Qa8zr6Ihhd8NZ8gYGccOchLoOIv14JotfLjuaJQXiYSVvFgXwDn+zmx2f9whc7EKu7G1SUEJyJW5/oxIsi9gvG/fkFQqCreRGZ3crZq6wAHDeUZKM4cdxECal9P6eLNjzJ+VuebFRypagwhioSFTkJEQsSh7/tSppyz2bvMGW8qIqUg6yT3Q4+x+zQNTpWYiUNcMsOmWsgJ4ZvVcq3VqRKTew0BnjHEzFAPLEULubsbg46GX9VqQrBAIkdI2vvqefdhXMhyuM4CK8mPMH0p32W962hpb6yzhvWpMa/pMjE78+xYTGSsicXB8ViWtYNW6PMAkRYZmWYwfa/XaarMHDTSnE+ruDASVIRjjERWspvV2DbFi01j24aYmiZ1ISU8aPrrVM23286lhiD393c/fXo8bLY21h9/fH87vvT9BY7F4AYQUYxxHKd1jbozGbepu9ZzKWXqh9NpNqLGeHrKwzRNEM24cdvMId4cFjRTKwxqUxtUtYlpHMep5L7vm6bZbvc3N3dm9PL81jabw+GQUirlOPTXmUvjFfmL379/79okSpfrCe4Znz59uru7e35+RR+3FD2fz7e3N58+fb5cLn/88UcI4Wa3v7ndw5tiGIamjefz+fX55fn5+evXr8fjMSWwdfX19TXG+C//8i/u/vT8/ddffwX59ZdffsGl3O12MLchorWzuNls4G9YcmbmnPPd3R3SeWpFHTvrj0FggJTwdDrFJpkZOoIigvYqEdXqKbYs1SpYs1oypdixbpp4UOmclEyYsDUza8CsntmxeRG4rcVLnSybkwVhjYGYiNSZSKpRcVGW0HVtijJNAw9aa2XKhSahGmM0cyabpgINuwRFOjICwvb7m2EY+uHctqnmcZqmmLS/9gEqw1Pt+0vXbdvY1rrozt3bth3H4ebmNqUECQHL7LLCzCm1KTEmyCAig32hKsCmKyUa9jW4pk9PT33fx7aZBZpK49S3bRui9H0/Tr0Gznk6HA7bXXd/f9v3c9EVQnj8dI9YnJj0/uF2eRDbdru9v78fx/F4PGJyIiKo4qCFnS96KVh7a7zu+XyGkvL792+q+vXr1xjj8/Pz29sb6Ol1zrultU/soHCkBBCPt8L3hW4VViGQBKBWFJEQ5okBsCZYW/v9vpKf+2sppVoNVosbSPxEdHx9M/IQwu9///38dv70cP/p0ycoPVQUzyh3R/LX7e0tEeEMPD+9DsMAasqXL19QfkxjQVkSQlofiQC1K4ehbVsvFUpQPA3gAwPa2zRNXz7/hPkAqmIIosB9KtMIzY/MLMEO3LPHx8ftthnHEUYubdve3NygUNlsNsfj8e3tbTYCEoHPI7E1hLwhP2znyOGb3d68DNdrk9K26zCpfnt7qaUc9nel5Gma9vv95Xhi8+22iyHWWqMox1RrNSYYj7p7sRmRD8MgEphzDGmBONW8WDUrE1SMXdOQsareHe6Ox1NIMedqxUWkZDR3ZBwzHlkkKhJyzoFJkMlOzujhq4LCUd2JSciVSZmYPDCZFSKOMSm7qmB/U16sS7yye5uk5lKtbPfNfh9i0s2mIRui8v3NrUhA/jTkGUkOTdfFZnO4+3zphzHX1GobWyIz5rGUgslwDBw01+JWzYSFRcQNwKXWCtNBA4EPujVUPuweVkvLwEGDiJBwrevWW2uttCTy+CJkFF5xKPpftoR3kjuLsLIIuZKIG1t1JhVvktYaoJ1bO5EiJMLVKhGg1bxHg55EM5t5LpVhFkckIaCDPsNBonm48IErC7CxQisVUX/PugGsXMBSUDNYW743ENHgAKMBse74vrLYyHwA6ksDf+kqEhG6/h8rPRyVO/Fsf2ds4qWaELRQLgyyUFlO7gwJoCQlEgnLEYLGg/Z/wa60fMrci3T3uhj4rH+0HMM7jYQ/WH2gMQxbZHz0EgIJnpIRTFcWeacTO/4Pa53MnXwhOLtXmEKal1oritu1GMO5DiwiUm2mF7r4n2I9lxpj7VjTzIT5ELXJJMwqcGNkXNn12/355L+LG/Ejq8U4L5ELVqH2JYOWjZcT6KrC/F4jfXxz1VBKWfgmOHuh1ioaIYeGiMgW78gAb0tmJ0oAOkacc268urN5FVKQuc1szDmKhiaFhDyzEKIoC1GdJ05UiUzE4bKkyjGtbX6gZHrP4nWpVt19HEd3ZDcW+cfCff539YpajZYxFc+VG5sZhnjLc+DdwkkW+eD8B+JBZSl08ED1ZaAxDyiXm6e6FQzHZrE/Q4JDZobyDgRooHwiwsQ5xM7dl4ELO5PGJKqlTBRCcIkxErtZnqZKbGTZa9HAovVyfS2ZyzT0l2vaBCeLMd7cbh8fH7fbfZ3Ky9PLj6dvzGxMx+PrmlxzOByO53N1DyES0dwkq7NTad8PUWc3d3fH1qtwYrZZfTJPA1SLF0zNcCGqW9KUUnp6ep1XmzG5bLpdMQLlEXcFpvzAxO7+ND3f3W1VOeex67rnH0/Ivnl4eFCJpZQYdRxHPp72N4f/+I//6K/Xkqe///3vqvof//EfzHw+nf/617/Gtvn69es0TYeb3el4QVQqAlOAwodhAPnht99++/HjBzPf3NygzoZbHPA6QFWYU6JaOEuez+cUIrqM2+32999/77rmegVpEJZ2jYiUOsFVY5omjSGEsNlsN5s5cRMt3lJIgxDJVEYWCalRCd1mK2HHlKxq0ASnfLPCShJ0MSmDmSo0XlTdzbmS12pEItkoCrNXC5iBhhCsSZvdLiqLJq9UNZcyEEn2kYNGZ2GMPiXoHEeC53UIoRS7ubkjolwmoShipUzEJQ+F2iZE1SzjOAZNbQyk4e3tbbPZgB10Oh1xoUUE/s1g4qJJME39NE1MUVURiQp9apgVHXp7e1tKAQcd4B6uJpAioBwKIWAoBFyIVQpp6Y8fP9A1hzEoWtrwaBeR0/EE5M3M6JTLooystT4/P0NbnFKC0U3TprZtQ9BS8vV6UZXtdjOOAzDuZrP57bffQB2stR4Oh8PhBpQqPAxhSwrhMhHBP5QXRvjNzc0KglHMAOOuD1IQ6yGWBdtqLDNnHWMKNMKPxyMbKYnIbDLLTkr6/P05aUIzexiGahnsgtPpdD1fQgi5Fnff7ro81ZrLfr9XVUgIdrsdsYK+v9ns2rZpmgdkjPzyyy+4NDFqjnL/cIuDiUlTSlC+Ht+OYAQ9PT09Pz+7O05723Z4tuxuDqWU49v506dPqJHQbl9JZe4Ox8zX11cIISD5Zea7u7sQ5HK5lFK2u5lAD7oLLihSI2CWj0tPVGKQ/no2VWYahiFGTUF828YYUxOIvEwTzucwDCG1vDTdh2mEtkpEarFa60gTzUz3XGtmVlyLVa/l7qsk9Hq9ulOKabIpaCKBO7BOU2GuIuLVNAaaRefmXlnXsW1hcJbyKMzCeIqSMYtI16gu4edKISYNIViptdau26ag1Ko5bTtJ0Xa79rDfTrkVCUM/1UrmTbe5D3EspdzdfmUJx/MpOKXNFsF8li11KYRQzUKTslV32uy2WBWlTBqTiBgvETtehRgkmeri5MAwOJMUmN2cqnsgNnDFowYzM1IJYqLmldmFRaIuYYy0ttgh553RP7R3ojPbnkVY2J3dVZRUSjQmQdA7zw17ZianoOpo56sqkSDDZEECcLITr9gf6/p3RUR0ho4iZOZOYOo7mhGABvyhh+3vYHS1KAgzUIfErlaWwMzsUmstVsGdeEcpNKuieSFL+Id38w8g/h01fmC/iEgIWqsKB2ziutBbmIOLr7aNtCgJae5dwtobRBGH1U8pVT7wTFjmzzUzAOIVj/GfgNZ7bTBPM+ZjXGSds7EmAJYSzX6AojCFxHVhd5/dMMnIBSGZMwp3Miq+qALchSXQElI742SaSxyitSxENVXXb+SL8vsjHF/BIYsIz2ra1ZbU3605vdbKszGJMxsE0GtJICteFYPTkLubm1lxY9Y5iIM/tInXY/Dl9TgSM4PxF061qtrCKlwFCTjVOFxyj7qYU465lFxPp1PTdGYuSthHp6lQrqkJu8Nuu+vQJVQV1DdRTITcTeSdM8QsIUiMq1JzqX4CiwjqazMrpWIebR80Aao6hx7PNzRIA0rLHT4v8Tq35Zcrt3Jm/mQvWmstdaLFr/TDQlx0CQuPdjHkZ6v4izNbRhcttlN188WM5b02AHwJEX1cDLNMliyumd5KXq3MegA2EZEoTdsUL6oci0xjdreb231oQtM0m13z5cuX29tbH/Px9fj8/YlEztfTNA3Y9bEhxUXiKSI5F7BT8IfuPk1Tu90Nw7ByZ9EnizFezj06iDFGCM4gnMLM0cinsQx1GvrJnUOI4Ce4ewjx99+/mdntfofe5263CyEMedrtdv/zf/5PMoO5tYiEIC8vL1bq2A/AYc9Pr3/88Qe4BDHG17dn5fD09NS2zdevP8UY/5//5/+Bj/jn7RbXyN2x/b+9vVmZ9RjX6/Xz588//fQLyg98F3e/v79HoCMR/frrr03TpCaBc792f0GqngmmIn/88cfNzSwcTCmJBKC0nPP9w32tFXQIeH2klFRB+W1VoUdMtebZ0T9bSk3TdE3atNuHoKEWDirTMBjVWqsEljrLUBASjFAxmjOiEzuZwYCfUtUQgrEgbC61Ta0jMxcTlaZp97WMOD+4n5kCK6VEpRhTHccJjyWIfYlINd7ePp7PR7ISQrj2x82mHQcvuaSmjSE9v75BSHA43Naah2HYbDb7/R510ePj49PT0026NTNyz9M02hBDs9/u9KAk6saXywVS4MPhwMzTNMG3eH3aovWOogsIG31QEIWR+OPu//Ef/4G773Q6DcPw5csXYPGV7A7ieK11HAZaDMJBZDczZAUQ0c3NzadPn/A+MKJ5Pb2VxUq8bVtYs8NI/ng81loxNLi5uSGih4eH8dpD6Yg++jRNeJLi2Qi5JHg1C/d9uFwuyzPNkfmVczarIQSsXrwbRjen1zfcDnh/YFNVDSJGbky3+1tlOZ1OXWrubm//8z//s+u6//bf/tvd3V0/XNB0hzHANE1NN+cZQWB6Op2ef/u1lPmB0LXvfjj9OOL64i5GKtbr6+vNfr8KSdeDxITh8fHxer2a2c3NzevrKwTiORecSajA0QpBGXY4HJCRdDpdzOzx8RFxYH//+99XFTL4PJvN5nh8xZMceBoPavjw4AZ/ev4eQoAd0DRNbtOyk2nOuda822ygLpBFMoFz4shTI2FmmK+DXYMLhGjGdXiCgjomseo5G7P3fWmbjZkdj6cY4+V4xoSBE7txpaqkKTRmpdbKs/PBvFVXqwzrk7lXNxMYQlS1ufqtls0IKT7CLlTC8lRPcKlrIzNbDU3kw83OaRS2mPj2ZktEXbvfbLZPfmrSZrPZtc1+v7s/nd6I4+5w2N/dP7++xRi7dmO1RlFdTBQMjm1EGKVOw1hKmRtdVGEtP+NgUPmcvBJQO7GFEELQuX5nCkFCUCdRDjlnIhcQt/KM/8QEfxnr08zatg2SCpmzzU0+n12A5kMgAZwTDkEtCRgRM0dhxb7MDJdGcnjRKPn7M2cFaiZ1duSZa4aG5b21t8Lld2Lyh59/AO5OtDTjudZ3hnqt1RYrDiM38rkJu9prCPOC1QA28GHroS7tfF+hTq1zLOWKKbE2rFCtZlSEnBZ9AQv7B2Gr2QcPk1KdqhnVWkrJ1fICh96rAjxyZxBM75WDiCxTkf+/uuLDbStioh/oG9VDSkRs5gTfhZnDwzPzYnlPc2OWhRTE7kbzgc1VAQtMMmANMoPdWisKkHUyYGXmzkMftR7hXA2qQhvD6IjXd5qQSJi5J6QsjIuwImZ+l3W9k+YJ6P7PogLcX9UyqPDAJ2vlMH8WB9K5RCnZYowgQa3rhJnNKsa2y/mfL33othsRYaemKSEkkYtZT5bz5CPloNGrpUaqsxPdNs3Nzb7rWlJWFQRAgEmCG+njeAKfHRUCW4Yq1t0xRgETBtcAHSl0VmzJcC5m6EkIC7uwmXCgJQ+ZZpK+GpnGsF4woqrKZqbEslR+ZRpqnT1zmiZiK0JNqiGIs5KoMBHJfMqWljy5iMA+Yo7UZptV8EGIDcafORdQS2OMVksTUxvldLmSUupaDqwhRA05j7mUaSzCNZcpatGGPGmdxuTuPgSu2y3t9ntjceI2pb/89Mv94a6O4+vz2+vLc/HcD5dhGIZhIOK+H8ep3Nzs+zxhj8/jGIKu8IWZp35g49Pp0rYJQ2EiUonDMFwvJ4dREVNxc2ENoeaMx0SuxY1DCCnBkCgBgdVqwzDc3jZ5mGqtQ9vStX94eNDUmNnD7d3p9a0JKl0HkgC8OC6XUwjp559/NrPz6QqSQK1uZtMwvr4crVawWX799e/fvn2DEftPP/3U7eYROZKY2rbF1W9T01cLom1qyKoVq9ma2I6eEShzuZ764YJs9hAi6hwz67ru7e0NoZ5t24ZmDp4AtEqpmabJnc/XU2yCkbebRlV//fW3Wm2zATnY3T3nmQuLbRo38zhd3TmExNqFuE/NgYhImMTHPBj5MOVSivWmsTZNoxptTjJ3JRGR7C7uo9VhzOQlBcmFzXPUVKvlEqql1ByqMYsVr0G3IXZSenPVsFFWEeGgOReNzmqLia8Hcp5dniQIbbfbUopZw5oulwvxmaU6jdVcgxH5lIdKdbfb9H1/vZ5x32HQsdlscs7TNDHr58+fT8dL13XOFFMax1xrJTZiu/ZnDVyLv76+isgw9Kged7s9QPbd3Z07+BsTGe263aQTJleHu93nz59RT55Op/Ha/9PPv7j773//u7vf3Nwk1bfnZ2bOhGghMas5T0SU83Q8Hg+Hw/V6ARwPIYBGv9/vweGOMYGzEUK4ublllpeXp67r7g4H7TbX86VLM6sHx3C5njbbDfAxyozlmePPz08oFWRxUXx9feVlmoynx6dPnxb5YwG37Xg8gppvZpfLpUtNKUWJz2/HsRRZoBWnEEVQjh62+zGMp9M5hLi/valTTk1AE2QYrmZ2f3uHN3RnMJraLo3j2HbpMiiY4pjRDWMOIajKNI13N/uU2svl0ve9FycjL16yHfabkg1Isr+O4zjV4l3X/fbbbyoRJcHLy8sff/xxc3NzPB6HYby7u2va5nq99v0lHUPQVKvHGIZhen5+vbu7a7p2mqZcCxHd3N1+//69WK21MnuMermcTqcTAI15iTGO175Lic1Op9PXr1+/ff+91np3dxNVhv50Pp/LOOF7SeBpuCrTNA3uPvSn7WZvRtNYxlLHXIdpzKW6lPP5XK3gRE1DBoXdfWqapuTJrZ5PR5jejP1o7qo6jjmE4FSv1x77fimMicfpdCrThCg6UTLWJkYzU+EYRdnMaopBQotRrVllJ/eqqptGgjiz7ffdNNE49hrC9XpV8fvb26ZpmpSu1+vhcMh5xCBr6o/u0+Embbat1+JOu01UjZvdTymlpumc+fHxazViCZvtnXQ3nDZmlBoSkZBaUSqlFGJRNWTHGDOzMtdaJcTIatWILOpC0bHiMRo5cRUYe1AN5iTchERcRKakGoOJMBMHFafatLp0c8Ul5MyLxYe6+zSNWFpDP+EuozCLMUWFmA3R6UKTZTJCz9yYmk0zDEOp7u6q9AHlBCZjEpoTl1gEebRMRKi0zcwq1eIi4qaikVkJbGmrzsXJOHiVSoykHvATqgFOENXq5EzkRmRG7lVEVKLquwEludScveaooVa3OkuQqxUATfEqUZRo5SeLCLk4XIZZ3KtVXBxQ8tmqCUmMKiLs0bwwO1EhU2FWwi6GbCCxbEYCqK/B3V3EDVknmZi1FjOjUrgaaSBMTASWmjQ3rH2ZQSDNkma/y9UOxEFyFhF3M8/EzkK1FpG08lJgmBSiWhlVVZhqLRJYw+y4Uur0DoVdhJZKgVkCi4WpFiIOIVmlkkuMDADD7Gazl6W7TxNI5IQsIXeTZTqwlEE2D8tEmQVHTjznUqHNilieGcEy6oHqTkJaa4kxMItZcYfimZiZpEoI79WUOtEsYWITqpKtuDuDyuSEjxCReXYFIx22aSrMpBqECTaPsviiwikLdx1O1DRNoes6nlN5PcaGGZOUmlKoTrXWGJvdYX+40ZyzGaUUMPOVGBBuMheOs9rXP1SN7j7zjeAGMN9jsD2yd15UCB9HGA7uOBFVnxVvaIL6opL5WO6s1c9aVeM3K5JfKWszX4chV4I1ZEGAMCIAPlbVvjj+YL0yM8wWwGQKIWhcU5lERFRJVIkZ8htyln6wMu8KIYQ8jaUUJ2OGBThRJafqnkOkUkrNWaI02hCTMaXYfXn8cn93O/TX48vr+Xi6Xq957C/XC2qby+UEIZctKreFs5HxAixo2Jyp6v39Lbg9IgIvRVwXY+RBzAbSIJA5k1d4dyZ89xlxmrVtm2u9DkNqWzRiQUEppXz6+uXt+aXWyqy7XYfWHWbNTdP8/PNfpmn67bff2rZNTbff7//+99/Qt9t0zfF4xkA8NY0tZOW2bf/3//7r7e1tCOHt7e3Lly+A3eYlaHL3f/7nf77257/97W8///yXUsrz83NMabvdns5v6KkT0dcvPw/DMOUBLV6QW4Agu67rmoQvZWbD0IcgKQWz8nEN47S4O3rD4YND7VoH46cWNyONoeu2bbtRhfnxrDedCvx4ChF5KURSK+7Fd0spkpBw3lOyykaOpRyD0SLkqiy1lppLrTmlTUw81/d5EmUhISKVRHP+jluZA03rEoTJ4rGBZHPEkV8voxk1oXk+vwq5RmWJY38S2SPh6HLpmQgIeLPZ1FzhpgIWU38dSykA6DlnfCOwZZZOjKEHT0Rvb69LxZtzzufz+XA4IFi01rzb3fpi4Xc6nb59+/bzzz+LyPF4fH5+NrPD4fDw8AC54cPDA9hQaJdi7/z27RvsUF5eXvb7WdCMvsXxeETx1p8vtZTAst9sp37IOStxFF1ltfg3at3z+Yxhrqr217Fpmru7O8hLcNes9Pe6JJ7WWvEa0MdxC1wul3GE1JJQTqxGN1iEp9PJhRE3i17ANE2QWYtIalOcc/VySulwd/+///q3f/6Xv4jI4+Pj6XRCYJmZYXkz8/l8TimhwwLeUSmVmW8PN9ehRx/6+/fvh8Mtns9t2x4OB1y1UgqwzjRNf//731NKnz9/rouRHGzvv3z5stLTY0woa9vFIOs0XD59+kJEGJicTqcxzyY/CMPa7XYxRpGZWXG5XMxm8e6UcSYDKkz08sNiAz+ZH09v0zTdHW5eX1+aNi5aPd5s9qo6jT1k9NM05VrN5oYZfCdrrarZF7HBqmwhmgenZob5ibAwq0jl2XSciedIEExawuK003XdNE0ptSEIqMWlZGiRmzaaFRWykoVrTCGEsGnb/X5L5sMwHPZb1d2PH9/dPd3siGi3bRD+9enTnUg4vry2bfv4+Mh8556d8s3NgcVVUgip7bbEexEJaachqAapktouGldNIkGE27YTkRAis3P8ILr88KDDjrm0gXWdDKhyFVFmZzanQEzK7CKsSZVYhIuA1oy26fpe6HO7BFdbpG6yeDHTh9fgNP6D+wTNnON5lj5VEP+gH/3IV3ZeYueJwM1Ye8O0dklxodc9faHCw3Nw7gG/4xaRWqshAFPUFgKqG6GvZ+T4BTNX9hAX+3mbcQimeZvtwaGIE5JFA4pK1VVlNin3UsrS49f1rwNt6mILuOwj7+meIYScnXxR64kIzQ6idUkw4Ll3zoZ8IIYl7oRZFJLo3Yll3afMRZTe3f+IiF3epbHz+Xk3Dvp4FTAZo6UmkcVI0Gm+FIsmAaeRmFEAoBfuQvMEbCa9z2x3mIhIWEzZFzkxlTLr+taZM9Ps6siz38YcAiV/TiCeP4Vk2eH/8YdcCDYTZmYmymYFSQH8vqcXpsBalwCieR2u61xV4Ty7njcNLLOBJ6gfcxgTzLVKsRhVNdWazTxEWTy7dBk/zlrNkOJmvcuic9daycak52FCqmrTtW3bBk2zrVWMTdMgdY8UFoESQvA6u277h4HOR+A+ux9QJQrYe3AGsSLXUxlCWlC+FKt4yM6XRP6kemZmWvKN/+GqYKEv5zd9WG/V7D07el15ZqYcmFHg8lxgzEymvNz55EjBaMJsq0m61gnLsDBaqdfrcO2HaZramDabTYwgMroTXGYNz0BnIyJRd7I6ZaMcQ6ORWTTG5ucvP7fthurUn8/99dJfL/15bh+ik72yUMC9DiHojC/nubCIDGMfmpRz3t0c9rd3IjQMw5CndrshIlIhlYDMoBiZOdcCQSG54FyVUrJVZm7SZrvd4/Y4n8+lWNdtt9sdTNBrsdPp1HaNC88Gq1FPpys25l9//ZWZY9S+v8CR49OnbhzH3W6z3e5hXnF3p+fzFe8Pg4tPnx5/++1XM/vnf/7n79+/Pzw8fPnyxcwwJkNUpFMdhqFtNpfL5b/+679qrV/v783K8fg6mVnJMcY8DSpy2O1rrdfzJcbYxNSmpmmaNjXoQYJFbWYIvgkhbFJcs2/Rnr+9vcWAHhhonT8uOwy7M3PkYF233233MXREUkFzk0Bky45IbhTSUsfOuw4KfeW5a8tEVosQOQvkX46qU1Xdw+ST1erO/Zg5tKIpho5Jw/sdzkKccx6GyYxCamLTlXECojIzIifh2LQgewTx0+k0TdNuszmdTinKmKcY43A9R1UINIdhMpsu52PJ4+fPX7umvVwuRtndX99egJ67djv27wOuUqxt2/1+70yXc48tCk2aaRqRn/XLL7+gmEQvH2xssxqCTtOUUvztt1/hI35/f7+gz/L9+/ftdouKa20KvLy8zPC677uuu7+/F1EYkK9Vaynl999/R2/e3VXl7u7u9fV1s+nM5sPWObmsgMtea91sW1w+eJislCp8HGrmCjEaM2havASTwcFmthlxx+vBGo/LD6C5McUQwBfCg6XrOtiZ4xOJaDfTTk67bnN/f//09LTb7XDqyLxYBfx1d2YFWcjMHj59wdGeTmeQyK3Oqc8QpWBKcHtzeIfdpxOuo5nBEqfWGlO8ublJsb1cLjlnUKFijL/99ttut++67nS9gDiXUjq+nUHmP5+PTZNSG89XqJYbkHAeHx+JSJVLKcfXI0QpXdflMotWlQgo392nadputw9395fL6fc/fq21Pj4+Uq1Otet2tcpm0xJRCNL3QwhxHPPQT6frFRtEydW81jLncG26Lohe+sHdU0rX6wRNBaw2IMAQEZa4QhMR0cAxNKrqPuE3qP+x9TRNU2sRJidScU0BMKVpUi1XIS5sorzZNF3X7Hfb3W6Xp1Lrpu0aVT6flNhub+/HcdBAbdKmaW5vb3MuQSyl9udfvo7DiYgu/fn27jNrFE3uGrQhT9VLk7Rt2zFXF68uqjGGlimISNsEEVijuVKsNn58fK3AXUTI1uyeWbsZMJAWcZLqbGzkzCQkIao4mXBgBi+luilRKXXe05ErgceRfeBdLOzZ95YZL955KxykuavNRJSrBwYAAAEH1jZsgIQyc4jJofNnd0EslDuBxzJPoWlOo/yzUbeBFr3gXlpfs6K0WR5QFxUcy/JX2bkylCgSzCuLqDD0GTN6WVzbl/GOlzIRBdWZAOZmYBPwOyl/psf4whwGL5/WykophDD5RE7u1akKz5Yq84kzc2arBJEgETFJLmVtcKMH7W7EJkHQBJ/xD3gUxKhndGEEuQO/zmvm47/n9TObLCBgBy49zlJrNmbXAFxrzMxCZo5i5v1ye0GAj9GcOWszjUiZTRTCg4X1ZLNOQEQ4oEIgoVUUOxfY6zLzWQb9DtXrbOX5LhJdygZs0+zuxcxrdXE2gqMpE9FCGYJRpTA8kTiEgCkb+8zvNeQfL8pVZia2JRFOgfjNEE9MtYJmVWdJhhPqYRybqjLP1UgwUggtqFqtTqKp7VhD5R5PpdQ2MUZVWXxa5/40EQkZC0H+zUs+81IpzmMjWQzzmVmUkC8zY3oxUcqZZRKsb1qEpGamykL8gRXzEa+vBffc75TFQ2p9h48XbO4BuCM+bblzZu0mGjwy6wEEReF6kCEIaoyUEtonKSVRggZ5XhA8E+9ny0jBPV+ZkwgBVZSpJzKzwrATWOwF3KWWSiopbZrUxZjaZrfd7tsUqIz9NQ/95Xq+nN+OMACpRLXWvr+Y2d3dHZFdr1cR2e12XutKw8Vud3u4eXr+3nXdw8MDRvZoGANGiEjf9yLSbjoSNvcQQp5qyZh/sfEcQ73pNjE2svDJwIycpun79+/D1D8+PuI3P74/3dweVBWHxMztppnGXGuFeu98PmN7K2Vys3/+53+GLQkR9X1faw5BoMwH7Z6Z/69//+9snjTc3NxsmvZ4PG7b7tu3b9UZjCBE8Pznf/6P19fj7e19zrPg7HR+CyHs9/vj8ZVZb28PpWRVnqaBKMWoteZpGmwhO+JIwNoKIQzXvpRyOBxClCnn1DS7/V7DOmbhtcDDUq8ipRKJbtrtbnvTpC2J1vJuSMcqDTGTBI1mposbur1rqcOHZewiwikumS1kZVgiqZU1aG0oiAiptSF2QZhIaBrECdwJRcUfypQrXa/MqqqeOOesKQq6Pl5V1VWN/HC4i7GpNb8dX7bbjohi1FJsqna5nLa03W+3UfWqDEnu77//Dgp7f71aqjmPu93h9fX1fD7XWpvUwRkdIDhGvQ6jKG022xgjnmLore52Ea6OtdYvX77A8jzn3HUtKGFPT0/ujh4zngOLgDLCIAi/RAM+55mRD31F0zRwO8EuCBbv7BK9NAuwfvC26Ey7e12IW74oK86XI7SYcFEEBx1djNWOUETB80Ef/fn5ebvdruQcfHopGcMBPIKAhvu+T13bT+NiqT5hqknMIUbEx+L1INN//fr1cDj89ttv//Zv/3Y4HNCzH8c+hHA997AuPR6P7mW/3zFypsYpheDCNzeHy+UKT0zhsN3vuq7LueJg2qZFMDC8NaFIGcfx3//931NKP378uFxPTdMcj0eI0V9eXgB80UEvpQBroD6HEaTDzKqZi5zNZnN7eztM+fR2zDmfz8dlQ5XdYR81XC4X88WCk+bqYrfdtk0chgEZzOM43t3dBZbfn34ToRg1Ri11QjXSdR2R1DKRVjObxuJUz5cLsddcm6bhEIZhKHNSh3qpiwgVrkGx70ci6rrOTYBcsSqEmMlqqU2KZRlkMfmqIWEqeLwrawgSgkQNGnjed2JMKW023WbTbjabJsVDty112u02MSrbmPMYQvjy8OV0OYvaz798jrHJ47TddEM/tim2zY05N9v9zf1np1hMNLRDPwqpuhObpu0mUSUeh6xNw5LcxUk0qCj6oCYiwiDp0ez267TSSwwocAaRQDwchJFFiVExKykrGbE4gbZOS6QUZTNzC2YOpK4yd5F5yVUU1AEiuH9FxGz+JcMsZQnizfW9W1erCxxkNPg7FZiInIyNyM1FnFznNKVZMvuORoDIFmDwzjk2h/+ury1HHBX8uWut1RlMBKvzgRktbRciESnFsDl87MWIhFJBspqblaBIrcrR+WXMxetqVwIgsUCpxe6d3/s+c7XjKhxEilUvbrI2gJyJainsoIgAosxhROgucQihVnevZGwmRFS5MgcRWbnxK5RFsSQftIVz3+f/+MFzWAEWWUSYyGbOP5G5K80UGhYHX4U/lCvzlXIjF2K2SqVMLjiTRMiCFKLFLR7Ydz3nIrJKLlf4twBxX3H5wsJH/ealFDRzcQxGsyP9vPIhHl2MSdYN2owBxjGdk5mV86egWeBn4/kKqkRVJczqZaV8Q9dL01hhCpKzVXdmh8LTKX8EtLyYqgdmdWMmqVSNqrOoBFe6u2vNDDZkuiTBEpEIBYWkuuAJIORWsrKgNFYWYjJiXyzZ8TWc6koFxqN8hZiqGV1eXuLN8TIzD3MMqtVcRERh48mz3QweOuau8q4fn88s4dTgte95WmER6k5k5JWIhSUoY6ZDRExz350+6FriLF2tvDRHdbGUdidIZmmJLWjbNsXGlpmyM8HFE2UxrY43WOjFmTiFGFJMIbbtbrfdt+1OPU+5nE9vTz++v72evFYNUmsdy4jzA1UxKMUw2SCzYRhEGEDhcrnoTiB3wxVEddS26cePHxBoagxw1F6fI8zqoi7iXmNIFLD+kgSFD4aqhhTHccyl1Fo3mx2J9uOEPaxtOqDUUvPj4+P5fH59exmGAfCilNL3lxjVrL252Wvg8TSCe7LKL6Ypd5vZNP1f/uVfANeQfoqbE43hptuaFzODAUit9f/+v//v5+dXETEryIUB5aDWWkr+9m345ZdfUkqQM6ICWZElL3k6QGmLyyGKHEexgTOJVQdrxTk2ycmN6hJOtN3um3bDGtxIVUNUEkbIQ4zzRM/dbfF5LRXtpbklMFfiGoiSWZldw8yyFcX+7yZVgianKsRBuzYmERJNwqmUiZWizg3+NjSqIYQ4DIMTiQYxI1JyJ5rMmISZSGNDpbZtl7N2XReCTMM4TVOZptTuzezt9YUgUmyT8oGITsdLncbr9dx127e3t/u72ya19nD/1//6WwgBLNhcbBgGDKaM+OHhAbUiUGyeKizY395eiejm5kZV+v4qwre3NxiIIcYIHWtmBoUD9zja3vjNt2/f0E5eSSy4oOiAphSbJolI2zaAg02T7u5u0TAGeYmZ7+7u3t7enp6e7u7uAMexulT1fD7nMkcj3d7c4+kPN5VVI973vYjC8QZ8jNPpdH9/j3W7ak6geMZ/Y4Hhi0x17s8Nw9B1G+KZEDxN02a7BUre7/cxxvP5/O3bt7/85S///b//9+/fv3/9+vX2do87l6ju99vr9fry8hRjo6rDMGy3XdsmIhEOYOCg9p4ZX9V+//W3GBs07L/98QfoH03bmhnIxyKCauR4PP54+nZzczMOGQwcaGZQIZv5+Xy+9lfcJpfLpSTDMdsy18KMhZlD8KmMYw5rCYc8KSJCZ9bMSsldakRknPpSYgjt6+vr6fRWc6ZqbP76+qKqt7cHdKHUowoNwzCOObU7Y8Zc9Ho9TtNULHddN+SeCIFlzoZsv1JqUSEkBJXiUdVTCEHZq9XKIlGFWUwZoNOM3UtUDzqHmQuVbRdLKWbStk3TNOReaw6iTZNSSmUE0S6klJomNU3TtqlpmpSCe/zll5+GsR+na0rpfD7+5S9/+d9/+yu4ScMwpBBF5Byvw9jfP96xRqvK0jC3ZSpNt9US6pTdnUSNAgmrBA3CEoM2tda55e0EZCwyx7bXxcJvhTXLUB49gg/WJMTiRiLkxMJC4sLuAt9n9GqJzJ25UOWKxhaDEP7BLGXBo77+ZoYH8wf9/8BBWoE7lIv+cSruy1u9H+mKnAC8bM6srB/7cQsEne3tfNFyLjzvua/Jc9BRrc6lWK2VXPG/bf5bIuKKyJsP6lUYU8YYUP2qaikTenlL1+zDaFTZ7N2oGhdopmwtY4EV23w8LSKBg7pXXoYYMaoZWa5AzEDGru8YFONKo+pu64PUF0YxfuB/o7NTAt6fyXktVXwhIPAivnf3+m6ijzOLmqfkXD5gaPmI+JmdaNYhrF8TaGr1Z/9wvdzdMJWZo5Gc4ONZa/G62ATxYhv4gTj9Xocsh7oc/OxHYqsjuZmqkAQlMgvMlUkFPjvGbiyqPFtrzklSpVSRojob+vG7YJpUNTAxRwB3QfAo+razxyvIYPBeL1h15pDPedM0dWGFfbxTiCg4BSerVs2NKYq4oVrSuS+ls7H3erKWFTZ7lroZ5ZxhI/rej5RZFsAuNA9Q1moSBYQt/LOwLkd3J5utGc0MpkXMHFg1CbqG620J9A4ZnECz4R7CAtz/TFwSxTXGKEyITJVLcbNaipeibZPWZwq7LDELOOAWRIWVGLceMLPYIteYDzWkUoa1ImRmJq81zxpzJyhu3UlcRSoZU4K1qrM0m27fdXvPfDyf3t5Ov//+7XS8YI83s/P5rdZKZNgtrtcrUHvbNeR8OZ2apoFgADGf7KQSt9sN2u3uDspBrZUlOHET27bpMOCPTVNKyTYRUS1WSm0b1ZjM7NJfU2lFRDi4oYnB5BJD2O126AK6O9qHeP8Qte97OGQfbvY3h5unpydgqRBCzuNms7meL+fL0So9PDwQ2TSNu91ml3Yo6pyqaKxLRr2ZnU7HzWb7+++/Pz8/Szze3Nyg+QeyzW63+/XX33/++es49m3bTnkws/3u5vb29tdffxeZTdzX4B5QAtYgHrQMmefw15pzSDB1JlAy8KVVYXrq+IcYs1vxYqySmq7ttim18+KYw9hwW8y9K7Qk05xMwRrmB/268TCzagSryp2JjVRDalVVOarGWrMwM7uZBYmqyqRRkkjIeWTyEISWMWKjsRoGp4WZF/ONGmJTLbOTKqeUhstAwpbz3e3DMF6H0L+8vKhGRLO5+/l0zDk3qd3ud0S03XXn89lrzkMvQqBnsFDXJCLyWjjMNpainGJ0kuPrSwiBWc/Hk7vf393FGF/fTjDqCSEg+Wi322232+v1OgzD9Xr95Zdf0GlG7/ZwswNR5PbuBuX08/NTP/SpCXd3dzMQCXy9Xpo2auCySGOR+6Oqa0SRiMBZqNZ6OBymaRqGYb/bbDetmdVCTMRkeRqmsR+mERSXGCPeARvw+Xw+Ho/AwaisYGR5PB5hPIpuHwo/LGPwBn1xAZppRVZRZIYQiPlyuTRNgyJns9mYWan1dDptt9uHh4fr9fqf//mfdcr/9m//utlsuk0DTo5V10Bt05TNZhiGcbgKh5pL3/cSYkpJJeZhFOFPnz6hXLFKj4+PqvHp6cnMHh4+qerr62updT1aVf31119xnLe3t03TPD58hucMQrU+ffrUtu2PH0/A+uCc7Ha7ttm0m44/tGPM7LfffjueT2D+wNC2a9pa6/V6Hobh5nB4eHjAZTKrUdS8lGsBvSdpqJZFKISm7684vN1uhyfh+Xwmklorkfz48SQiQROIajlfhvGap+lw2J5Opzalte6apiGEufmKxjmzIKPqfD63zWZtBmFszMyq8Aj2zaYppZhVVSGqXZfGqcakbaPkXiuJW5skRg6WQgib/U4VJjlRVQ83t7tdEJHbuxv3A56cd3dxv7/59OWXNqXNZqc6R4Bt97vL5RJS2m73OeswWkwtDz0zb7ddL1JKadvUdG3OlVi67Y5ZyQIZUgyZ2UmY0UeutO539MEx2cwwInT3ZQrOLORmzkpsJEzk2EuJ2E1JKntxPBH/j7BPdEA/7sU5Z1oMWNYfYvoH4L48D5lVZqVQfadTyyLdAzyVRXSEamT962ju4GcGD/6OQ9YPMjP+oFlaodIKEKGRqLXS7P+9EHR9Lj/kg+XiwrPHuxFs+0UEshazAn8hIMig0JS+M/5X4BFCKPVPsTM8fwqOHKo6YC0iMpnT66t7VWVd2qTsZEzoo6ryWtqUUmBbiL9szsIqHwzmjTiCYr7k1vPcHg2rfbkvbXJUR0GTSlSJC1zm9VSvV1wXRxNmxbqDp4mwElulitJoXpaLVyaui5CriLOYzSeRmYNI/bDGZoTpcxzyumZ4ts55r6/qAtw/IMUIGOvMalbrbHwy5TpNJcbatm0IIhywItyxt9oi26WVysGkCwhcTt1seoo7CpDdl8oECAEqDcGgo5Tykbu1FkVEFCqc+rG1OzmJShQORqxKMUaFG6lXMjevtRas5rmEqu5Up2niZTQgy22Pn3mN8DIiYV6JK8sBzab9+I2V98ICp0x1JsETrQOOeWzhxvTnLICPn8urrJiMHZUFj9NARKXkWguRz+wDXrlNvlxUEfX1u+AOFJH30RU+keeTvti+8lSKLxKNpeycFZ+qlY3J65rZ5s5BNUgsVERou9/vbw5q4TRe/vrXv5/P59eXo4i0bTvmaZqGahaCuMNXbk5rS000sxiSmW232xgD+uLuDvFcim2M4ddff8UyWgVVccmGHEsmM5jQ1TILX0jYiOs0hRCYdO1Pr/1+kG2ICF03Zu6adpoKrCo32w6BrMgq0iDogsP37fn5+XA4DAOXKe8Pt7aYJdVar5czwoPO5/PpdGpSB4Xr+Xzebrc5Twhgj0Hh4/Hjx49hGG5v7k+n09evn2utT08vzBxDEzSJSIzN4+NjjAog+OnTJzCSQe+ZiVIiCJe5XC44Qkc2u3tYrMQ56LoY6MPPfMOrtDEip5OZnYmcq5ubL3cvEwnuovVNeJ67vE+EZPkhIvcwO4cSGQaLFFhBe2NVlVpCFJUoxLXOd3UpkzOlZuterRQiSqltOwMvSIRlpZbRBzsmlSBpHw6X86lJnRs/3KcfP36oVg6x67rL0Pd9ce+bNsWQmiZut18Q8jL1w+4mYTRxe3sLmoSZxRjNCngU50uP3jZou1hIUKCiCYTCEmsM1orTNN3f3wMcM/Pj46OIIIL706dP7v76+vry8gIXRViV11r/9re/ocmNeo9chmFAbxsMFiB15Hbh5uq6Du5Du90OmvNhGDCkAprHOsEywMZjZjCvRFEBegaeVDh+VX14eNjtdjhF7g6dK2A9ylcR2e12qno6nYqvGjsFfRzTCSJadefXy4WZwQIXkfP5/P37919++aXk2Pf96XQi85hcJBwOh6ZpIBtACsFUis5JYTXn/GIv8HbMUw0hpNTiLv727RsUw23XAe7wHIIYgGWnPOD4sdhwvQBB0IMfSz6fz13XMfMwDE8vzyICGyK8T66z5vXx8RFou4mp1owHC3C/malKzhNVi0mbppHq4rTbb/q+NyubzWbor0H1cLsXCRA9E0kp5Xy+vr0e+4x8q4qlRURduw1RglAK0nWNWXHX7bZRsWmaFLimmrIwUwrKrCnEJs1pLwhiFMBWkSpcKyEeLYaIpbLftXEgFhd2DbppAzullER4cg1xVs1tdqgZhu226/bRzCrT5y9fsvvT05OqHu4+S2rNbCoem676QFaapjErRv7/sfWnvZIkSbYgJouq2uLbvbHmUlXd/V6/GXBAEiRAkN/4/wGC/EByBpgB3+vpqsyszIi4q7vbpioi/CBqdj2qx7uRFXHjuruZmi5HRI6cA0hA6LIBzIgmFCilQAQcq8BALsYcCcNS3tjVaBYiIoKqOHfcDFVtTYI6xIEQGJHcoX6FsKAALlvr4BorsYMRASHUwqOhGy3xekTWvRHQedaONExdOmQ9pgHB0KvZW15siyIQGcw2RAGEKmpgZEqEzFvrqmuBo2mVbEbEDbX7mq3wETYRbrrF7nATwGwQ2QnxW4qXmaWsnEYmWunB21tuzwRYK/aymndCTWxT1bdRheryh9tdr9e2KiJA7TF9u84bw3iALbm7DoLVnkMg27qowdyVykOFjIgpuWO0ZpObTwYAII4xvIHdNZXpZQjcmgAB3tARrOl8AE+P1l+vdOAVdG7wfUNxhOSS+WtjLmLt5gK350LEUHshwM8XwpWwQN83ZtRPePvhNoVgdRRFRF2ViPy+pBoV1Edwi10BACgQlQrgxctTwBwQk3dIq4IUMCURkZJXWiyAEQcAFDBaJZ7XTgl9qzVtzHcw9FjLuVUIllIyk1LyzYCvj5zIzEIWF0/1KMR7jY2Y2tgAgI+Xv0Ry7VPenGMQRTN4kczH5abFeFsztJqfO9b3Ed9uBtHFMuvE9aXoC4nWvknVqmq33TN8/9rWz8ZT3HYNj4TWXQABNec8TuM4Xc2lVIBd5HEbXF+i+A+xGlGMEaBWvX3/8bHBdWoqVgoNVBaN2+isk0ZBRMCEEMzAW1s5KTKQQUrJfVteH14evj0zxcDJDKdpcXkEkUyhRl3zPItkZ4H7dJmn2cmgOS+ez3NOrUOH87l46tqL2ufzOcToac5Fqthtzf+V4uln5/Bdr9ddf+i6zrsnAhhbGMfRUdGP93dgKCLOtynqXpyLiPQ7cPEWWnkmHz9+PJ/P8zh8/frVE9g5591u9+MPn5al/PHHH957+uXbV6c9uCbM7oedH3cfP3785ZdfRCTGcDweQtPgeiyoaillml53u93Dw9OyLH2/L2Vh5vP5mrMgsl8VrVrUvnW2bUsMxPD8/EhEXd/sdjtAvVxfD/1hHMeQUtd13nkcU3KMQjcc95tdrxKCEbFoTS7mnFNs1uGFYsVujgeqTV+V97l9YKXNVSc8MlARQcMle2OUylIQ0QKYAWABJkU2L/kBqaqU4m1KS1HvsnCoN00DsfO5Fy0CawO+iOyPB5MyzcNuf5jGoet2KYiIPr58SQ2b2XC+EGHO+du3b+/evUtNq1ocjwLq07eH+w/vAWDJM9Jbi8L1er1cXpdlSs3OE+TDMHSdxdicz+fr9TrnJTXBaesA8OOPPx4Oh2EYHr49eUkEAEIIp9PJtcNDJOeiuHyhR18u3udWrM64eHh42O12u91unvJut/O9iIhcxVJESs7v7u99x/j1l19KKYfDoWtbAF2W5Xq9ekS37RtN2/q0kVK10r1X0hnnrnny+PjIzJ7a//jxY4zR6wZbn+t65LwRYb99++Z9kMWqjMk4TyK62+0ulwszH49HD0LGcdzv97u+f319TSn9y7/8y6Hfvb6+OIzu+/79+/f//m//a5GhlPLy8uIN9B4PPz8/m7lo2uKktdfrNcZ4OBwu5+F8PudcrZGc6P/+/fu26y6Xi1+zE+I9vnKPnrZ5fXl58VDc9RDGcQwhzvNcTN1m+Nu3b4ErF+hyuXjb9+F0dILN4XDwHdXMLpdXAkwpzfP866+/ekHj48cPfd9P12Fe9HQ6LdexlNL1u67rxvFaloyInz59ik117PIdKWdZ5nK9XrNhznlZKvpkjiFUe2LVQgQiWspCaKoaIzdNI8V8v/I+ZlU9HvcbI9aMKrYXMZAQqWnjvIwel87znJqAZE0bc84AGohjjCYSmZg5RAohuCfP4bCLbXx+Xpq+8QT84XA4ny+llB8+//TyclaF4+n99XqVYvt9Z2YiJGbtrgdkMTXDpmnGuQRGg2ICHBIg5TKbWd/vlzyXrCFY1htkporGgFhEcD0itwTQdiKvh/hbitcLQQIKagq2wnxGFAI2UM9IAwCZZ8drT5rzvKurDpCqesvTBhX8K8xZ5gAu2n2DbMzMe9kdf1Z1B4Aqt+LT20BUxXQjVABIhYa+RwGot4ECQODoeStVl2pZuwzfemS/41fQ2nTnR21g9u0abpruEHkps+9vWyDhnxACb2FDKYu3m8YYrXqwVIWMCmor3sUt2Ngw0vaZ2/i4VEkNCdacsUOmFPkyTm6AvuaDq7xMUdHafKwxRqLgzqbenaerSGLgCvvyPN2ccQA310CrlovDKs9u+Fjdxir6vfeQ91HAyiwqebut214vAKwRC4Xw1lRJFCrDHrfJCTfmPEQIBhtgc0S0jcwG5TdAWNU77W1sPQHvKp94E1DF0CAUp2SvcM7MVrPLUvyxOgcPAJCqK5gRuiHphlFvxtMAaGPPiwhghew+MWKMonkDBisMNjMLZcncQFlN+3RVlS4qMTICAhgzimCVYkIdp5GIWm79GpyXuY2FTx3/srCqdwGolpxFHB16+XWD3T6NPDdp7osLCAApRs9fAnORau0EAETsIFhNCN+UgLa4SlavUwDwXmyvkgNAoLgs8+X8sORr00SySBZR0QhUaZkBDGMiwAKFQaOCrQ0Q6K5aIqDqVUIvtYBAAW8/l9qaYARZC5rXGpUQlcMWV6AoMy9qCMaRmLiLu0N/6MPu+nJ+fb6eX16XJV8ug5k0TXx6/IaIfd+DoKCOw3UpS6DVQUMM0aZhcHm14ITIy6VpGq47lOudxqYNTZOatiXmvt8rQqnubzhNS0qpaQIHiTE59WUc59PxvqgAIWPYpP38RrquE5FhHlXVc6jTNO373fPzc9M0hDxNkzdiAsA4joDWtOlpvDZt+vjpw+V6HobLjz//qd+d/ut/+/8gldTQy8s1ctBip/eH5+dnLxhxwL7v1QoRuXP79XrNuSzj1DdtnpZIzGgU4Hp+GYc5xmhFtBQg2HWpaYKZDrOIZmIosozTNSbu+/56vR4Oh3maVUCKKMMSShET0alkbhISNW0bY4wpGBoxlqxO5lv3oyAiiJCo6ZsdIpaiS5nnaXFqoxhrAQUI0bjuzGRiSgKAImXdqavqKBjHGFXUlzoIqKobw/FqFwUcDDSrBCTVMIsQK6iVsqCBEedcYMq+UgBRDIASkHDsTOYUWzASymYGasycYjvPc2rbaVooxMOxeX1+UsLdYUfx3eXy2jSh63Capsg8Z/GEtACMw6VtOur6CZfnh8f37z9G4t2+84R023ZOHGeOgW1Z5q7bAVarr7u74zzPetHhcnUb1B9//inGuMzl/Hr1KIiZncLhGJGZRaubaVV2QmTG6/Vshq6BOM+zd4Xe3d0Nw4CIjji9gnm5XBwf37+/A7K8LE9PT0uZm6Y5X1/7fWcC0zT1/d77RuZ53u0OpZTIoYkpL1kVXNOp6zpTHYfh3f29iLy8vCKik+P3+72JZsieZQ+Bx3FUFQzshgkYeCnlMg4hBIphqXR8KSpE1O37YRiY2TGx56rfvXsXQpjmmYg4hC9/fEt/Tj/8/PM0Tf2uZeSXp8e7+/04osOsy+U8TbOInY73fbd/fj2/vr4GTk3qiOi0P+xPR2b+9P7TNE3DNIlIjI0/uOv1XMrSNE2IB5/wZuZuuIZMTN+eHodh6Pt+v993XXe5XJqQsgqnOJzPPnRN08zLwshd1zw8PDhgZYSua4hgHK9m4rIHbdua6DAMXdeVnL07vI0pEodDf3k9D5fr+/uTH72lLIgYUjh2hxjj6+sLM89zvo7jPJdhXK6XZcpRZBGBrt2p5GkamhhDoLLkYlPXJjCJgUSKKnZdIyKMgGxNIhEhpCbFGBtELIWWZXGNtkqRiqmUggzMMYUGEUGxTQ2AIkgfAjfJUVdkVkQKgZgxgBoGTim1RGHXdftd3O+Q454wqCBhun/3CYHHqeSiRta0Ow5clGLbQ54Q0UAoJCPkhEYZQZHQmI0CYUAK43Xouk4UQ0jMJKW4+LKIgCgRQjArQGAKWbSYoSEUKUXUmyJcGnB1LySvjBHRUgsO5Jl38BSBmTsqAROQKzgLGDAwqgEHAFKpJAGzaufpioSlVPjoqV8BUy0ZIHKIiYkIUNUKrWoWRBQ5SHaRQRSDnD27nFSLaXGRCCcEykqRXl3AbduxBUv1O2IG8hNZyUAV0FUQiVWVGUIIgeMimnUJIbCTh40rtkNARBceAdCm6aA2Kb0BR0RUBF61Kf2mkHgNP9RMRQuqAjIBGzgpB7z1FgzQgADzvECMXpTYFKhSClvty+EgM5p3YBn5r8HGjDc0s2KIRlyNTj35bTGFjW7AzDEE70pIiYkIdc3AgqoJKLinLxETGQDGmEopqhaYVEyhONba0upbe+QWyHmTMSLlnAEY3oxjbcWoQBZiZAFBJiAMVBknROZxFwAg1n5FEdHq11ZFRrY7CoFWYPgmbWJmas4bq1kzQ0YgMOIKPj3MYKGIDGSkhUNKAFCEiqrWeFjB2Ct7unbNOXYv5glxIKOt+9EvTcRdhANAvU5iNNEY2FDNPGcX1EqdAlbxcI0RHcc6ceUfMPQarSKAS2a+Jeq9aQxvilmOkrcpYmt5xda6j6/YrWlgTc8Ez2ltPJn1XWscBIorwQa+t6vdglS/2nUQzXPbsHJdPODeoHxdV0ii1ULVI0UfAZEZoTEzABKVIkIUCoHrs25f9/b1VbbZRESBED1OQAdDdRn42jb/wEVLsRtBWSJsUlLVpmlOp/t91w+X6x9//HG9XBDRdRs8E+ngo9JjrIhkLQKJ27Z1ZRVXhHQLQ1crZy6eBWck5yfsdjuRYmZepucUPWZ0pbymaQygaVtcFiJyFkqM036/B0In2GwU4bx60Xve8Xg8+rboz8ghiInM4xiZ+8PeRKdxfH54nOe56bu2bS+Xy+VyiSH1bfft25fz+fyv/+XPOZfff/99HOau2zHzhw8fLpdXd8mJMX79+vV4PP34449//PHHt2/fPBkZQtjGx+dP9nKBlTa08zwej8eu6+Z5wmVxAgYRnc9nl7Hz/OvLywuuuqqllDZFl442s+qvwczMim70sxo0rFU/hzUxRQpVesKHyFeEETMzSAEMfLP8pNha58SqnFXzTLBF5OuK8ODT1oRErWj7f0tZAICECEFVQa1IXpZFsYq/+i5Jay2IQo27vO3Vn5pzGABgtz9KWQj0eHc/XM4i3No+ZwnM9/fvnp+fh+t02p+AeRkHDOzSLgDQdc3lcnl4+Lrf782EiD2uYw7H43Ecx2Fw66KcUorR8iK+Cbx7d/fw8DBN07t374bL9eX8+vHjR2IwxefnZ5/Ynr/3R+w8YDc0NbN5Hv/448HPht2uG4Zhnsc//eknV+Zu2/TyfPWu4k2bhYj6vp/HaRpGM8vzEjm8v383DEObmpwdTbLTphHRlSVV9fHx0dPGMVamu8cPIjIMAyI488f7OA+7Pa69X6+vr95csT8dv3z54mwZnyHOTSciJxdxDG3bMgVnuQDAsiyenNbV+9ozLMu8uFx927p7QyGiXLIPRSk5pZRzmefh28OXUj6rWQABAABJREFU4+HudDp5f8vvv//etu3pdOcuEH3TeyAkIkSy1hXBgxysrsCxEt9LORwOvo4Oh4NHKRWjD9PXx4e2bU+nkzcfxxibtvUZ/unTp8vl8vj42DSNO2B4YFb7FvYHL2KUUj58+HA8HlNKjesWhARqzjwMIVyv12WZSin+j+fzuUjx2ss4z9OU5ykv2RAthBATaymq5bjviVBK6XdNTGnrJXDyj6zppC0Vt8EOZva6CtYOWvTV1LYtsTEFMyylqBZEi0yJQ4rJT24/cfyMCyEIgZnFFNoupi7tdl2Mod+1oiGExMwUGIzMzF3e9Dv+Z02aOaPaESkYEgZae7E8wdm2LdY0pIpAkVIJKqamAgilWEyrtixidUE03GS8YSMb+B9WM/n/zdeafbyxc/GU+drGWEoxRagaNVse/Y2YWoo647l2PJoqqhSC8GZEarYBu7eN0VV6HCf43PABD1xzVbpW+ze4huvrHz5NpBB4hy6KLATohSC8SbpvI/8GA/yut175VY1lG5mVnOPAwLOwhoqVlEVkpsTgKRszY3TA81bk1zUn7NNpQ8Dbf0MIIjUmcUHLmgdGYwJP7W0HCiKyAXxv8LkFGCLeq8qV/lRPJW688y3nIk4j32KSCty26wEHi4aukbgiIkB0aye3EAEnx+NbevuWPbExl9w2AJnYdYYQNiqLQS1KA4D8Y91GdVu59cNNtsf+3QR467tGxBuiDNFWeoJVg2SbdZsbvegqU57rT51R74+MmTHwOrxhO8rBOWaAUJczEJg5yYwAEQzJTBBJrXgXCrnsySpl4S5OZvYmzoirimdlaFUxe0N9a+PwibsRNG2tLzi3YZvTG0p2bOTDUpVE0U2qimtp6Y1Cfl2Fq1MGrsSmrYvZnykCeo3B3Hz1poqEa67dzFQrC3xdRSt1KQQzYSZiZgREb5yVEEjKIqqqYBAc/CuCQcVt9kZ/BwBACiJWSskqlarEvI6VYaWEAYPPJxAVWokQTN4ZDVJ0d9jdHe9O+8P55fXXv/7t6fEREedxmuf55eUlRt7v92rVXGYcR7ESqEpY+hG7aUU3TePU0lLKsuTPnw/mSm19DwDLMhNFZuYUWaNLoDDzOI4+1p7rEtFhGJ32GmNsuhRC8oq/H0jTNJmZJzvdAWe32w3X6/oo4f7+RESX11dm7roWVxcY316Px+Nvv/1GRO/evUux+fXXX5+eXt69e+fgI4QAMPtp5Ef7+Ty679Iff/zx8dN7M/vll1+en59X4/Ti+dRv3745aOi74+v5eYNozvQlQle1c3k+pyCr6v39vVrxLo6miT4asQlmaWUB1hm7SMHaHfJGRtyqRkTk7FJft+IhuZgilOHi60VVmYlrBRlFnfvoVhFebXyjZpmZionKtppKWSRXZRJv9faz0IV1zQwIzVBN3MD5Os1tCjFGH0wMTBjRVJUMJISQKCFZXS9gbd+7d1wxM2KPvuZxaPanFJrnl29lltPhmGJb1AhpyctyHQhDf9gDUJPaED4Pw3B+fd7tDqmhponXa1GVu9OpTen3r3+0TQcA8zik1Pa71hkUYHQ8Hono6ekh59w03TiOdbZPg6ru9h0i5jKLNg7vnNDctu0wXNxM15GlYyzfed1Hycw+ff7g+2Z5WULglDpXjdSSHQimFNq2jZHv7o6I5lzh19dX90ZAxBDI2wNExBs2VFWkuggh4vl87rpu1/fzkn317XY7M/MIPMaY88LMbtBzPB5dIgbXUgCs3i4xRmIWEUJu29YR/+l08gi5MvS0Fnw8YHh+ftrtdvu+FcnLsrRNXJbiSXqvSNzd3T0/v8bEfbdrYliKPD4+Lsvi+ZbHx0fm2LZtSimLuH+QE6u81HkZriGEwEFr/0yMbeMtNF+/fnU2v4/S5eXsd70x9Mzs9Xz2qN5164dhGMdRTP3z8+r7ZmYefvsiXZYlxgAAIQSvFKeUipbhchmv5/XA0nlZiLlMOlyny+U6TdO4LKaIyAgokgOSQWbU1Lg6+xJiCszUJIdBKQYzKyqBv7MB2VCFX5KXGjw0cjnFEKJBITYiDjGCOLEBY2Q/Cn3NxhhT27hHREpRVWPEw7HZ7Zt218cYFQApGVAumsiJFtR2O/GqLhkRA7iOCtdWFyQwslXNmhmRqhp0PYjRrILpeqICGKJh1VU2VXLMhRTQBFfxkP8wAlVVRkxRAfmN32VmW0xxi61V1VPLsOEMIoPtZBeDt7z7ikcdXoOievsPgCGKa0gyO478rmF0xbJezUbVCraqAMwNMeMWUwLoht5XlGmA3h2eFynRMARiig77mQKuo8r0HQem3pfjbzRys+pKJHkzj18xIrpgiw8aARqCuSQZmYsvihQTBE/QEm8YYwPuFTas0tgbxQBXw0QRsU0JfesuIGMkqSlkv3l1UsvWoOoY18xyXuXPARAYjEzRqkyCp6idwIkI5OTsLZfqAb8fiJ579hSDf+CKoWEDh3WI4E3pe8PTPuUAUFfRG8K3ONPPSgBAc46bN2qANyyswM9Dwapj44Vrjxk2kA6e5694GuEGRsJNGIDIXmlhLojsyaCaDhaQYiKS5xneXmq2Kp8SeTlozcdtccL6q6q4qpkbCGHwVJoBIxkIiYiqELzh29vPqcAd0NZHa35jCGgmBv94P1WNEkDFABCBCTEGdnek24vzh+QcI2b2CpE/y6pJtD5gR8YVrJs5TQkRGeqnqqmu0Rig1QjWq1SmhKBOK3d9PlNY58dG/9/uXHVRK0hGhqsFg6kVMgBjU9EC2VwkKzKxwXct8NutQXVsUCmmKgCIa4clrX0TaOiVkVIKMsHq4errOQTq2u7D+/e73e7p6enf/ut/W8apWqCfL+fz2U81EcllAQDXQmmayIxeRvcT3UQYMKa0QvbleDz6KcvMy1yatsrAtW3rfkzLnFV1npacc8ligB7nxJh8oDzlUESu12vX6TyPfm55f2ff7/f7PSI2TedMO8/BN01DsOqaS3GOsj9ov+v37++XecnT/PGHz6paJM/zeDod3r37UHT++vWrSD6e9j/++COH8PLystvtEKOTX/38e3z65mnOLR/Z992yZDNzyv40LSJyf3+vWkI4eImAiJ5eX47Ho2f+vIDgzB/PHb68VK7wPM939/eIuNnRxxiNEKBG86u7Rd1WvN0jrg0DIlJqWKrFFizYpA4sSEEpSqyIFghda0uKGooiqQBRoMBW8+irwFbZonlTs1J0dWcgh+9GjIgiploE0dSBXQGjUspMJmAhUIOo6qubQ0RVFsyqGoBTqlWCGCM2TSklNZ1KFrF+f0TEMo3740Ftecxj33dN1zw+PiKZWY6Rh+FKA+x3x3kZimjbReY9AE6jc13iMAyXy+tud4jERXIRjimayfX8GkJqYpqmyYVihmEIIfR9P44jmm4ngQsyyurC5pW68/nFTBxbHw6Hy+UyXK4i0rcdM0/DOI8TIjplxSnap8PRJ4PkggZuLOCJcP/DWiKoR74XZ3zvenl58cPDAzARIYJSlmkadruDP/dhGBy0jeN4PB4lF1wrtrqWtrKKSDVIOhwOPoHNbAu8Q4pOOXOydd/3qWvnks/Xi08Jz777qbDkPE3Tx48ff//9948f3xPBNM/X65WZuq5zzQDCcDodAMBARPPL03NK6f37gwqo2ul0KkU9JcyrDoVH6WY2z3OWcnd3F5rg+KGUUkZtqkNzcQMpP4b3+11WMYPj8XC9Xqdp3O12/a57en70mOrz588//+mnZVmA0OPPL1++dH3bxGRmIfJu3xPRMi2e22qaZn/oXQ90mqamiQYSmjReriHwfn/wxds0jW+VRBSJ1bXhVBmNEbpdi2iEAmBeVUJDT1hsMGIrN+WsTLVVXVfKbOKgJc/j4FtBSBxjRIQQA9buLDOsRA5v5EJmr0XgysGNMXJIogsH2O+73a5tmkScprEcDr1Lv2nNTxERiRhWwgIpggFotWwMpqx+kJsp6KqwTFIcsPKGLL0i78CdA5Kxn+oOGwAZUVzWAwEQ2ZBdxFnBnKpi4F4HbFpghdq3ALoeiPiPSVxEf8TEzMSgAqrFDMVu0s/ruVyh/Io4PeVBRKhMvPaS2lqLNAM1b8OsVwLiooxkzvzOq2Q0bQhpu2y8KSCseAZijGqySAagEAkRVSywgyr0dk8zU3VVCfiH1xrA1KTnluNzDO23WE9AR68IiKjmru0AoAjeNFi1VrbDZXuUfqTeRgVQaTnViKbOtPpdBQBWIr6SoaJTnrcIajXYwS0BtHUbmuso3mTNv6NjYO2yAohvSkREgXmj8XxX7vCLv/0WWDtZEZ147CGo52BvoK1jqCrtUANpVYVVKH2bP9u0vP3rNnS4tltsrBEvEHkmF7E2N7/Byze4y55qBCOmCMhIM2QEEW9uRO/LLJuEkSqggAkgAfapynBvVwUAUmzdNADAmMHjEncyqDeyZqU9uw9rR6irpa8hmAWkWkzbGkpqJQe3e9U1541bln0bmu2HsHYB+8u/1tv564Rjf6Ns9Yht9G/3gsgIZk5+cfNOX+q8Vt/MG6s9iiTMupEHahRoVWWJgLdOVl0rgi4nrwGJQjSrIj4iZS4TYQeAgCglF9EQAGPcAhJZGxPrHDIFILHagSqmpMQUdZOd8loOqovheoQITtEBAIDd7vD546cuxW+/f3349s1LE56N+/333y/D9Xg8znlZliWlICLEHGJUVZc9cTrveL1O09Q0KaXoaR6neex2uxgapzG8vlyWPLVtA0zTNF0vw5a9K6XEGHG9MM9TElGMDSAmRDMbhuF8PjuHT1VDSH7yrfuLNU2334tjd1AZx3Gapsi15u4F+r5v2zb1fT8Mj33f79ru8eUxxqZtW2YexysF7Lru/v7eatPeF1X44YcfLpfLskxfvz78/PPP5taYqCHS+/fvVdVv0CXbD4eDU19Op0OMXIq9vLycz2fPTXrmbJqmp6en+/t7z/N5Is0bN4mobdv379+7YkkuC3EHiEoWYzCFUgp8n3QBAI9Lm6ZBWpda9c8EdGo6RVE20ZwzkoG3tTUhOrOF2BSKAVhgZjXg1TPBP6pU7z0sZZEaAvkFCCkZGjCQ+RoRLeIyT4bAzCowy2yWACBbSewkisLM/jQdjOY8a86eo+12OzRzqBQjw+4ggU3K/rhTO87LtW2b9x8Or5fzjjoA6Pv2crnkMjZNp2UJmNrjHoHO5/P1et7vj3enw/l8/nK9tm2a5/ny8hxjA0zjOB72x7u7u8Ph0LediTbt6Xw+v7w+BU4AECMfDjvP1Oacp2l+eXnys2EcqxlTCCFGfn19FrfP7Bskm5cxl3y6O7y+vgKqK7GeTofT6fT8/Pzy8sSM+/0hMC/LkmIEMxWJISzzDACX8xkRU+R5nvOyhBDmafDd2KomgzFH77Ccpunr16/39/eOdAEAwY7HwziO43VIbeObhsO46/WqCB5w+tLwJm/P4pu3rAHM8zwMIwBsRDifA+662nWduxGjmsczf/vbv//nf/0XXe1jEXRZ5iVP7q02DM8xNKUU140+nvZMMZcCRinFeZ5LyaUs08TMvNvtkEjVE0tARJ8/fPbOS9F8eX5Vgd3x4N3DruT4n//zf/Z+ZVny3f0dAIQQXOJmHMeQKuMTEed59u4XpuBKOynEfb/zEOX+/t5vJ8/LbrdzkZbn5+Xh4cFEVUtMB4fU0smh730ti2Z3qvK+KSduzfNMhAiSYui7aCa5ZCIIrjMM5GokAKBqMa6gB6qCwqbU6adJYhrH0UxCYCRxBs6yLERxPbq8lu20z8jVGQE4IKIRAVWD96rj3u93TdeGmAjblMQg5DKF4IYlwIlUFZgQwBVIVEwq4aGKZ6uq07ld0AEAVAtzMjNaqT62ihRVIQTH4hStUqsN1myfihGzF9cBYJFCRg26dbsfpyb1Yr5LJG9/pRUiv2Fix6/ria1WG+eI/GL82CVHxqq6sUsdIQAEBEUiok1KD1bQaWBqplC9MXBDKVWGmpoNTmwQZfsDVn3GN+wBq6lizla0QPHUACHyphQHK7cHQJBolXCvRvdqWYQ23uPtq8JUrwN43+73gAfA6cgGQLA69Zj9A1b+DnBv/2o1uxy3TxPXUIRb3RJzzjwim6mBqq7gzb+O0NOp7rDkflUiG70Eia1KFSuox10OkRWrFrKLvZBLWlMMjXhHhaoKgIGpAViIAEZWHXIqEcix3HZTG+oGgBSSIRCCuf4MgKiaOAWcbnnzsAJ3+t9iAXnLsls63Q6qreWUVYGR1wvwwCkQIWFwuBxCcnVKADJbUASqNDS3La/FHyBC34W2Q/wtrgAGM5cuNW+oWMsIXEPEG26Y1lcpi0BloXsYoGpOAt/uX2uinSoud/gOBhuDDVd1SVyrYP7FK5z+LpIGVEIFKy7JhIjAVWfQ95rEtf2WABnQh1W3QhjoRvRZKzLyNuhbWUjNte0UQTwXioCEZGg3T1Fqr6ohYuTGTAAFQNVypVVVJw61Amrk9QFnWQWOVby8eM7VuRNWVIk831JxvCkalbBWCbEe5ISozAwInp0ysxTj4XA4Ho8xxuenp4dv38ZxDMjn4fLt27fhcn58fDzdvwMAB6YVC3q6kcBReyllmSZVTSl56bnruut1cFU7KebVjGUpwzDExBjw9fV5WYo3MXtJI0Zu+87TfilFETseT6qaq4xgopU+u0gpczGw2DSGWBSCC1D2aZ7nZS5qUsqyTPP58lpK2d2/IyJvBHRhE2dEOLu3lOXQ787Ddbc75KUsy1Qm8cq7qphdlyUfj3ePj48fP34UkV9//dXz3y4t4nV8z5L6DDwcjq4qXUoR6QHgcDi4jqSDjM8//bgsy2+//eZv9Kn4+fPnnJecl5SiJ8tOp6OanM/nWrWXQjEwM62lZE9bGIL744ppiskBChghExYkIgb0cuL1OhNlFVARs6yWOVhK4dQHQyIMhqSCYpIzGaCHGYhohsvisK14jKFFzIwYPCtMJEYk2bN96NvTOuXJc7dmNYyUIqW6ggdAAkRPc6XEiC1RKMuUV3fS1LYOv5DCbn83L1eZ5uPd6flpMSjHuz2QDpdlnueu3RHul1xE5q5rpmmSQQ6H0/v7u2G8vr4+v3v3ru/bmEXB+t3p6enp/PraNE0bU9MmJHh6elAtbdsOw+TEaANRK+MwH4/H3a6/Xq9fv3xxptanT59SbKvQBwMAllKWef748aNWY0JzvpPjxcvl0vfa9z0xPL88/v7H727nebm++oYjkruuYWZm8t4bAHJOi64qNADQNM2S87YXD8PFv0vVUuDz+cUJJ97y4TLzgaM31CKiE2OY2ZtMHJW6u7ATBddNWcd5cuknV8IZhkGgdk0gYozxer16QWnXdhzocDp++vDel6pqyTmbqefs53nc7/eXy2vX7Q6HgwqUIssy5nw57E+hiZfz4NG+Q9VlKdfr1czGeSYih6q+M/hoHI9HVR2m+d///d89v/D+/XvYShMhIKJrzmz1wPv377YuCBHxf52Wue/7JiZPMby8vLjqzjxOXv5aIYhMU16WJQX2OMcrfl3X7k9HEEWycRxPp+RsnGEYwIS7hklzmdvUtJ3vkxpDs4pYU8lv5z3eJnrQmDAFDoSlCJgGDoSwzHPJuW1cZ6Y0MaQYCMxUOVBK0eEvA8eYmKILWFkuIpKapm3b2DqUpLZt+11q254wFkGzjBivnnnpO0f2ZAHesGbtZqmSzaCISOj8uppfc1wIAEhv8JSQvChkBoC1WrXdstV6tmuNCyIogtPrEVm0mFkm8FO1wrcVWW9H/63g+i1AceDlJaFVIRAQ0dBd7lGzK4Y79RnAnR/VeRngxQGuxH3nVwT8Pl+rtb/HnG1SR8GqcgWt/I0NivwD3kV0wF/3c7TKa0opqQZX8/CoDAAQGAFEZauCukwhOKhcAQ+g2ZpY3HCRv7zgbGZYATR4CM3AAArmo0CrvInBWklYL/WNP7kJhNtamnCIuWEwVSVmQEVCUA/iTLSoAJB4K6fPMtnUO8TEkRXCppi+lptAxJxRXQcTnI35nbQ8GIsuNR0O4HZ7t+Pvl6cCyLZl311NxQxuRmsNKDai2pp4Va2UdjQQ8SDWzZ5uxQNvksh+BHq+38N1M68LISIAauVZQy2qrBWtbTLfxE60xr0Bgl9MVZ7xHPkGMzlU2Vw/nXmN1c3MFL1jRER8HnlahJnNBNFzdrZFL6ICJh4PLMtsK59Q12qDqm4u6wDg2eh/fG2DCrXKoKpv0nUr4R6Ya00EV3qx30bOFjjE6HSYt0CEuKwhlwvJGiJyQJPayIKVhl9s1eoHz7QD2BrLgxnxW6EH1thr6zuGysFSq8YZTukhNRKZzUBVvBaU2kaFEI2JU0qARBSYqnSU3Ti9rWvYpXgQAByuwRrjSpXzq+kC86LUmvJBxP1u9+7+g6p++ePb09cvADCcLy8vL3mZHx4e8jzd39/TWpQfxxHR7u7ucG0nqNLRiIjodBQ/+L3Tq5QSQ6MyL0v58uVLztL3qY2tqk7TpAqBI2JoGp6mCZm2ujAiHo/Hr9++OevDJatFZC4zMMRQuW7uX71tpjnLMFxMdH/onYLiLGRHJy5U1/etc3U8GL27u2vb9nq9ypKbd42InM9XjmEcR8TaL9H1Vciy7/vX19emafq+FTG/KscNnmzzWy6ltjS8vLxsct0eObjx0/Pz0+Fw2O93OedlmYlot9udTsdhGLxLz/nKjp9SSk3fFC0AEKsblIUUce1y3iYbEblGuK2CYsysiUnRi0Xny1j71s0kL0VGJImJGu6YIxKbshoVAzBCDizOcSRV8UHzSrrV6pyq4FpBAgHMmkMIEik4F9BbXdYypVlIbcOryx0iqnjtvgF66yBn5th11bcSoGkaaBpvt5kXabpTCCxyKWWZ5msxPb27Z7ykFOY5h8B9v394evbnO1yXL19+//Tp0z/96c/Pz8/X4QKG+/2+lLLb7WOMu911nnLOORI6Ofjp6Wm/33/9+hWZ+r6dpiXGuN/vr9fr3//+dzNrmub9+/fjOH79+vV0vG+7pKZ9u+fV1ocInCLlBOsYo+ebvevDrYJcvtDDv2maXDjD2x5KKW4OkHM+Hu9U1SUa09o7rqoICibzlBHZu0pCCEwYQ3LZdW8accFERFTUJS/OUP/27auTqrOULQj3GehcdsflwzAUlf1+j0AeA4QQAMFFeJwUNAyDXy2qhcgfPnwAgOv1Wsry4f4dks2yqMg0jCIlEL+7u1dVRrpOZ8IQYyxFh2HYITtxKBDvul7BiCZnZHrzjAKEEF4vdRxyzt5kPGfxTpWmcXuE6DShu8PR9fvbtnVx+qZpKHApxRVy2rZ1Nfc5L3d3d4HYzLw9oO/7PC/bqXm9XhGxTbumae7vT8s0e1Tm9D8AKKWkFHrur9frr7/+zddXXqac59SEFDGE2HWRGc0Kunk4eR6RQrhVpvOFCcyJoRow+XG+9TWplqZxKcyFOaYmAliIHGOVUScAldp0FDjluaKrrOIht/8TIh6P+27XN6kHjKo4TJkJDEQRtt+c5jnGWLYmMSWruL2eKWjADAAECEZGpMHPIKj2IGaexVaqHF+HQVD5pxWLyJoOxmKyqbAjqoGJGQktWBiQtjzF2nxZ4cUm51eKrZDotoruVUeoWswVinn2b3WGqf2L6NSg9bwOhLXrEUFNTN4+djthoWapqxESgOfJHDg6IEPcrKmLI4U3PENEDvJ9n8xSYAVSjsOMEIFV/CvebtzMXD4SgWB1il2n03e/ZmZ+TV443RyMEGsikpEACSkCZDNG9Io92toniTccmA11+B151mDd5F24z/MIokaoFTr7meOIGg2NUERMjZmLmaxhAIi6M8A2sG70roqqWkw2fOXWqaKyLVUAEJFlLqWIC0pu2Xq/zS0LvoFD73ndnsVae8FN6NBRaM2ymymCmaL50fYP/ay2wt+VGHMjH6Jrn66tJKs6VQjRqjjmNjmrBPlN1UgFauOC658zmREQU4iJiEXUCgAEJM8pey5pWwV+35XfvzYqOFbxv91GCMQQrBJdRKQUL+IhExV0k1BXFeftHh3gvnllrS8njRvd0Nc2RL5NoJv4CVyrqKb3RLb+VN+2YmK6CUm3McLbYLHeMBERQO0q8HkAAFsF82bpeofNd58may//ut4EEXxH88sTzewUODRSkrKUkhFRsnBo2jYqMCIqKDOnmLbbdHqrB9C3I1VHgMHMBKyo4gqG/GbQEEA5sIi0bXs8Hnfd3syen5+/fv26XC7n83kcr8MwXM6vni/fFme1Duk6l8Xous715WOMKVTmOq1CEMfjse93qhpDAwD/9b/+2+VyibEJoc85z0v2qypFU8LrOPR979lBZ6CKyNdv394IczcVKEfhfqoFjl3XMbuqhsY2hhD8qHAXSWbe7/fLNMcY0WCehv1+P1yvphpD6Pt+mqbL5VJK+fz585znL1++AIAtVZHG8wqfPn26O324XscQglODLpdLSpU58P79+xBC4OTqfiLy97//ffUSTz/++AMAvL6+enufT6F5nt2OfhgGb2F0TvPr6+uGohDxfD63fbff7znwJkJfqhdxvH3o/geHNR6RqiELSAHXeHX6++Gwm2fv+pUCRa0QiBmKBES3QilqLEZg5GjGB99xpDvImPkG5iDV32eqnqlSVVUhJfXmB0CPxLaTm9Rke5QUqyNy3UQQATSEUARi00mu2kEistvtlmUpiIClafpxmFO7D00ahkvb7MIdf/36LaUgYjHGvu2ylP1h13X06y9///r1693dXUqpmOac52U6Hk5mEjmsxkBiZufzi4F3srlCgszz3LbNqvPIjl+v16tncIloydPhWMVA3H3JTL58eaZq4JXNQgics71/f6+qMcbL5TKOo0NwH9jT6cQKLy8viYMVcVaMiPz4ww9TLq4/4+fBprZWLZCGQbUgsrOrfaPzsESsKt5s1Cwg9N5TT+EPwxCaarzibJBt91DVb9++iUhsEiJKEQ+AzWwu2cU3fSt49+5dSslnddOm8/k8Ddd/+uc/p1SVTIio6xqz4/Pz48Pj15SSiI3j9XQ65Zxfns9EnGK6XC6AHGPsdt1ut7uOwzRNiJlWydE558PhsPqbji8vL25Ae//+o5Nn7u/vHx8fT6eT7wwpJQxVoDbG6H7Gx7sTALjtVAjh+flZVZ3qo6WKCH/48OF6vgzD4AFSpWx1Xcnz09OTazjGGD3i6rrOHbIRMcR4f39/vZ5FSozN4XCY57DMV4NyOPRN5JwzMWkkM0NgcpmLlf+Bq4uc0wVXfWg1MyQLgRFhWSqviQhKKW3XNE0zz2MIDEAAxo6uAoeQQogIoZRJ3aFJJDK7GpLXmbuua9s+cMsxIrBZLqtco8dmooqlxNU9QFdrlCLFzOXnCZRFTFUNSJFCCMmAmQl1S8uZmWghSg4fEZGZsJqv+Pm5so3NQYWuwB0zCNbmUUZi3zM8NQg3ai2waoaQOyj9hxezt//ZCmqhlhDUQiAlkGLgFX4ARJKqnYWEVCWwzcwkMK/ouV7ySi3wA991L96IzsxvoHAND75jQt9gDKpfEQJTbfGniprfyLe3tQVdS+7et6tV89sVad6EK27hu4qoyBrAGFHtDXVwi/iP+XVd8foGk2xVmNk+0ytgVuWPphBow9C8onyysGF9JAVDUDHRJZcYYy65ZPUd1WqalZyF4q2Dfu+imWw779RDI6pwnHw65JzdYrmhhilKWbaL36DaNrAO3L9/QDeNf6jg1QwAZjdA1DqDN8qRE5Dro18nwPfn8gYpAWAjIHkfBDKB8+8xvH3vRu5aywvrVIcQEMCJ31U4ck1Jq3NQQYtZXR2mgKvhlEihrdN3Bdg1TKqOBUamBEagrj3nwB0AEJeVgERd09ROXwA0IwCuzqm0mOswGVQakAIBqlbxEzSojrQAdWjNNhyAWzS2Vq0QiRlLEVULIYbAWyxi5vQeQEbT6BEUbWQvA0J023CA4pKyAFhpAOr+Ybb+P1S6outigtOpgNCQBEGAGOr+tOFsM8uRPRNpamJCXh0VyU5mSimIBVGKFEJiDsG7iXPOYIZIITXOPiaf2eZaUQhmAgZV9KNeus9y9ImOkQLudoddt4ciry/PL9++nR++XV7PiIgGgdjTeBQiM5epGnp3XeM6GF3bxhCYUfLc952ILMscQmialpH7/c6z7ymlx8eHf//b315fX9u2jW004jnn/f5gMKmW2CAH6GPvTBID2B8O87K4qbhrdNQsI/JcshlP05KSM0ZC03SqYG8tO8W36WVZnp4eAtdmBG64bZthvJjZ+fmpaZu+Pz0+Px1PfYhwPp8BFcn+9re/nc/n0+kUQzjs786X6/v3H15fX/f9Qcry/PR1GF6Xpdzd3d3f3//1r7/4ue5R3PPLo2m1EGrbav3Y7fdN37++vs5lcT3pdteVUg79jgx2u935fI7Rk6bLNCkZdLudW0QtZe73nZlNeXrX32WYQ4y+Pyoq4VuqA7FWG9u2ddlNJK/MYGAJyzLZYi76GYyD9f0hz+UCGhMyltQQB0kNqAAKLIvkeabQRkRnAa1pWTUTP7CJ0NcsMwMqmRkjMJoZE6RA7lIhqoiATAy13QIsMIXCKopd3yFYKcWb2ohAJPNN8xOHENx4wYiQUwyByCCXDO3+runS6/kpFc1ZmrZ9//H9169f2xj6XQRsp2kxXWJoU0Qpy8vzc787oMph10zLIjl7E8LDw7lvmxLKOJ2ZYzATw+vw2vVtCIEpEFEK8eH5KwIfDv35LMMwLAt++HA/TbPkXJZ5zBkA1LRp+j/+eLy7uyPUL1++ABCYNqk97g/DMIzTaGbX69lWPTVD6/suBBjOQ2hZVcc8EMJu3x4ORxHRXFAtMaXKR0IzBAyq0253aCKfz2dVSSlN06VpGoVdCMQcx3lAtJTSMmfC6DUr0XK9vIQUkTzXok3L/WFHRHOZVdUsmdnlMhDr6e6oAqUs8zwjIaBN86iAqW08JHh8ff7cfQ5t+vn+z33bljyLSCQ2szzl2HMT29dxnOaMyE3TmQkxpATzMk5DCiHs+70qqJOMAfMyXS+Xh6cHROy6NqUq7/jw9OTBRmzS6+vr5TIg4rIsKaVv377c3d2572wp+vDw4IIwZRWacNhNRM/Pz2XJhuD70uPjo+vSfnj3noh+/fp7COHueBou14eHh77vEa2UzNAdDgcO+DhcHJG0XWqaRkwUlCOnwCklDkhEsOhPP/3py5ffp/Ha923OxaC8e3fHzPN48Z3BK18AGoI7v/gJ6okrCQQhBVrRoiOkGHnFHJpScMHsrm/7vmfGtb+CVBUoAEVibtoeAM7nc0hpmKdlnAAxdW3oGmQqKswcYsehUQqI0QwxtvM8N5TGZTAzIyPTGJvrdXQWooiJLAAgWUU9pZoDNABihEWEiLTBZZlijE2DIXmxusI+lzTA4jciUCEOopGubFNVBdGyauMhVidy9Sx7cmJGZdmuCrnOBqmuhYxkq92pt8Mys668C8cu5oourv7BbveD3pUDACLq1BXEKiXk2uGegyh5YmbvwQWAwCyiS15qwECEBIhYVgcclXmV6kJXg6mZfjNeu5BBLcaAiDlnQAK0bMW5vszRLdJLUTHnNzpirLlC1eUtRwsA4HCgSucRVb0+XR3WdVXKNqstdkUspQSAgaMIWSGGgM6DNGEijptkCAKgKVBgXUrg4PLTpahnBKzYBIPXsX1iS3bTdBIoCISkIOrPEwCIkAOYCRmEN6qz5jICRkQU9zxiNLCcFwCIays5bKQgRETn9AeVbAhN1zruzFIMQUwdB1N9V6X34FrQ2LhbCMgBidBAOQQRRDIVJSKzbFBdOcGAmRU8LesBpJiph7irzli9QlXZKGO6qmQC1HkdkBBBikDFmd4q6qr8BGuQZgAcEMiyx8xiSGAiqoYUkMiseEupoKrkXAqIAqoTZav3MKAsDpPqnqNqxcBEAJQZDdjbOFWBKKiqiYFZZMTIoKXo4j3u6/OtdDIAqJ69tyFz/Qnh7V9tHQy94RXdoHbc0hhbWLQmaLe6pDqnxkxgzUeurSf41n6y8g22iLNGVAa3r+0CbqPbWwo+4qYg+dagbWZbemC9Zv9bXGuRhoiBGFcpX5EMsMn4i0cmTt0GQ0NvWkVEkFJc4rNpGlrttQzRe3yYw7t37+6Oe5nz8/n54eHh8eHhfD4Hrry1rTG0+o+07TAMrrVzOBxijIFxHMcYuW2aeZ5dyc4F13fdDpk8rTtN07/92789v746jf7jxx9VC4Wdj4CrUjDz168Pd3d3AJBLUdUvX754st8lJkopRCHGOC6zmTVN0zSxlGqm4BE2InRdN02jmYzXwbsjmqZSS1OqvwkATdM0XWdmXrXwnLdnVd0v8927d6+vl7u7u7brLperD6+7Lfrz2e/3TmZwv3dV9dbAFFuoLbOhaZpxHO+OJwYcL5eUUt+0icP1ev35hx8fHh6enp6O93en04kZ53m+XC6Hw6GUotVtatwdeo9uvSTXNE1sm7USWidbPVEqPYy3TXON+2vKhjmmlEvRMU++ImKM9/f3IRraQqyBZqKQF/NPN4jmlW5VT9JIFhMlwBSi972JZADggCEwQzX09lzOlrkhXs8Pbw6pvS5vde0Y3vQ0bOVKbsyi7V49JEdkpqCGCGqKQti1mQCRTJY5peb+/l3OiwOypmkul2GZps8/fLxexlI0L1MdGdWcl6W+5R4AvFKkYOfz9XTYicj5Oi7L0vd9Sv0wDE1sc87Hw2G/2z08PFyvVy36w6fPv/zyi7dBOyv6Ieeua2MMX758JU7v3r1blgWJDeHh6YGIxuGqqrt+X7AUlaZpGONwGUKgEFrvuAhIbds6OzzLq4H0/TFwmud5XkZEaJpIHM7n52laUmrAiDDt+mYc527HpSzzMoKrfEoRLTGQKjRNymNWhWWal5KdQzIvo498QBqLzNM1uvloHqZxKaV0u94jQ++yWFkb7Aee2zucTqcmxru7d00TGTDn3KUm5/z68iKyxBgRNGeelyVnIYpt0//tr7/3fQ+GTdMhU0ppWYrXVQDx27dvpZScyzRNu91udzh4IS5LQcT9fu81t91uRyGIiJORzPDz58+uz+McHu8On6bp9fXViUDn8zmFCACUmsNuH2NkpN///rs3n4zXwa2yuq47n18+fvxIRtfrtd+1+/0eQEVk17eIGFJIKUUOrk/mrIZ5nsnosO+XeXx+fibUrmsQEVBj4hBc/axSHLES4ex2OdMbDQPXlVuLP46NQgrIGCkSEQUExJCiqvLqk+CbAKCpmFPqmdkF7L1S6rsTAocUvRcfAAScZs7n66WUggFtc9cOwdVLXJ0VV4pwKVJKWVSkqsdySglKATRmHucpqrjpU00AAwAAf58wrkPhIo/1WFQGLOs5H0KA9WRXVYXKb5fVkjyvzR5qTu+hLYvnRySsXKP6jfjdgL9l/cDAZRqQEFHRZSuRweXYqsaIN4bpaqfor7CqtpMarPwEqe4oq/3nmuh1HKKl5u9oNQba/mBvxPS6/a0qA5XavqGgFRD5/4BuP1sRRd1EA28DKCJm4mqethptSuUDv71uIc3thfmkDSHEVEyqTI3v3wBgYDm/0c0Rb8g5iAAkK0cBQNbiQMxLybk4yUfMADVw2C7j9mZVVQw24A4AW3HDr8qH13fRbRpsF7OeiW/3eFs3uH2gb8O6MjtwNVLd/pWIYoyeOvP3+mBaJTi4dG/g1ZnBKi/FNUXYeVlr/5jdThIzF3KRjWFfJ7+WjSslWRDIEOZpUtWYOHJYlsVAci7zPJVSAhKHytOOkW7xsG2Vn6qXj4Aeg2FgBKsdiea/sU54InLmMACsXcH1FUyKL3J0Wlmdk4ZvXbdvBQQzE3UNqZq92J6Q2dbzXja+ChEF3qg1tcd0pfzK9ry+f4S6LSEAiNUwC9b5590bfhtWW+wqZP8e2r8heMRb4O5cPdDtsn0x52wgYOhkeCJGAgQ1MCFEM1Q1LZVoSETqMkYAWQEJiQIUQfRg0cTp+JWRA8x8dzwe9/vxOvzt3//68vRQljyNY875Mr74DNuo4dM0MeM8S8757u54uVz6vhfN81QBvZYsIk0TnT/g96Ui4zh++fLl5eXlMgyI2LatK6AjopNrXaTCk2FgtMwFAOa8xBiJgpn0/T6lpmnabe5WNU+KANSkBpGxymtICOzo9vX1WVVLXvzM82zc+/f3WSXnHCP3Xc8pul7eb7/99vDw8MMPPzRN88cff1wulz/96U+8+jp5D2uMEUD3+72zz8NKsFmWKaUWb2h/akWEzMzzfMzc932MwYHF/f29Nxe6nY33xoUmAIBz5Ymo67phnoZhQLR+36FLYRIW05AiAHizICKKqq16uj61PFpw7M4hrJsIM4UQxOOf4/1xnrIZzfPsZoExNCFAYDJFiGpMJAyohrG68XmbhBVAJayCX66OaCBEGJCQbBUTMy+FUY203braAJBDLYlsSyDnrEU8R6VgKgI1Wxa2oNc/FWktWQYkCwSNGpME6jClVm3JYc7zCB1Br9M0iggRt6VkLCmlsiwxRhc5yHMxUUX1Hs0mBlVVI6/sv3t3h4jjWPo2DcPw9O3rcjyk1HZd5w2pqtp1HQK5G8DH9++Kqfdonu5Oy7IcDjtmFgynu1PbdUAopYzTBck4WGIqRUFz08ZkUUS0yK7bTfOVGVUxUmur7iqAtW2SMs/zHPoUY7MsC5JLp7cik3M2pmkqMvXdfre7m0vOJXvB3eUefc5IYUR+fX1Vk92u60NApnG6Olc7hFhKobU7yu/UaTmgNo/LnBe/d4WSUmqart/vAMBzA+Mwf8lfGZn52HbtcD1rLl3X7Pf7abr2u7bksUj06qAqXC7XFJv97kBEIjZOS9PU7OMwXD7/8JOz850ZMk3TdRpPx/u+75eSPZfpfQKXy+X+/fvNx8MpQ9M0uZaLGxs5kHX1G2fRuEDthpbmea6+H/1uGIbT6dS2bc45MoNqalpPMq2nrDnBKaSQQnQRGCcKI5qqTsPVs+mp4b7tY2JVjUSF1y63N501p62/nQgrrjIAcGt69yzcDg6/Ed9nUgpeDTOzZVmoCi1USUpbScNE7M+IU+y6DozGYT6cmt3+0Pe7JnXAQVaSq4Kt1TA3PFLVJWeZ59w0DaCneFVES5FSxBOEqmqKyAZMMKiClVL6/U7EPB8pt/15671sJ+DtX1dEZQGobMJzAGHbiLRsp7PnU3SlysCNFrgfpszeh2OqysFRUW2YX0GSM1eN3SF9fXldCxFDlZp5YxszkpmaKq6MXCIKxBvwJSRYEZiIkHmS2l04FJEDMxNlKLdNuhuC9Dmg5ngOVnhXkbtP/u1ifGuEivbUFFbBn+9QBwW3XgJVlVxUNaXkx+VmZEsri902UsdN5xjAdyjNP2GZ5u3Z1biFAOmt7YrZq7LbyIqrPhIgYvXvnBdXYZ7MvEwhGKqTI6yVAb1pVvRhoio37pQq88HZHgGs1HZe7Wn/AYlt8+p2lG6B2TqkRm9GYG8JVrihyKdUmaueffeNqBRZloyIm1KtrnTTUjIAEr0ZuK6PpgBUMyIHy+vq8DsSg9q36hUDVc1SmKtWbMlqspSS52XUzb0VIbx1ja6RyY1rASKGsKbHCBDftG60Bhu1woMAjNTEBPBWtIE19kay4HkFRGQkvRlKp3K+jelWRDDcmnmZokNoMIS1sXWLgeq6hbenCwBWqx/qv2+1h8PWQtrbzgIAjOhRuJnVMgaivgW8W9PGSny/YYxZDUa8n/dtupiqWwmsV1XjwhDSKhmrQApWHaigmlaAmphLErkuJKc1+VopVFYECEOKoI7PAhExQd/3h37Xt/0yDI8PD9fzWXJxFeRhuPinMXPbt2a25GyohuAwt9LdGMZpyfN0On1KTRzzQgT7/XG323mrnIg8v774CbqUwsx3d3efP3/u+x6R5nkWU2efM/M8593uULLO83w+n1Pb+Il7Op2caunoxAnWgb1oK3nBtGsByPOdXed6gmBa5jkzomfZYwo44N3dcRgGK8KMIbQppWGe5nnmGFyue5qmtm2/fftGRB8/fvT2tVKKbw+evTse7wDA4cvLy1PX7XzN+CfM8+zXSas0h4enx+PBcwCOS47H45InFxnc7XZ390dEPF+vDg6WZVEtu13nIPL19dWDBA7Bc+Seg4sxqpnTYbfJSUQuVshrcWb9Jz/Mgu+kRTWlFGPTto0smVgB3QY1A2AIASHYolGJQlAgt4SMMXi4rKtYCiIyMFHgmrdy3qQZmisp4ZrhWNfCd/um/1XEKIK3sIqYiphJNYqs1evKS6UaKleDBOaGLCl4L3PQMu66/TiOw3BGsq7dvZ6fl2Vp+y5yzlmOp70pimLO8vp62e0OS5bVeMhUVXImU0TMUlJKMTCYNjFoWwg0kKKKLHkexvv7+zamb9++LcuS5yn2bZknK5kREcU5dSHQn3/68fHp21WX1ITDsY+8+wLl9fzc7fYiECMh4TCM96f7n3/68/Pz68OzMHMbXYvp6tboTdNME3369O5yuSBZYExNIKJxHBESGBPDMFwB9Hg8EsucnyUnRAwhmKEUa1PHHY/jZApasqm6NzN4FkClTTGFuOR8fr16jatpmtGuuroTqGpKQSQHwrbfXWdXiZ3HK4YUAydi8oeyLMvz0wuq3R3v+zapFpXMzA8PD8P1ud+lpmku5zKNeRyyT+am6c7ns1S/p+A0+mkeUmyfn5+HYdjvDyml/el4vYzX6zVLWQ2nspm512ntMZ3n63V0nptvCLvdTkQul4vvXW6/4I00vuRdetWXre9F3sb622+/BaSmjeM4ptgejrumaS6XV2YOoao0TtOIpk2z39LtmqVLjeV5WUrTxhiqJFrw5q1QJVk2FgG4ILTxLXDf/lVVfRlsKwgRYwwxsSqK1PIaInouw3vHQgghRA5B1YAEDEFRRASMoXFjRCL+9OFT0/Zt02OIalgFGZHMjJomZChavBZNiGhoZtM4h9VbR8SNGpWIcilEofq1A7tsGSKXoiILEfkOAgDeiZtR3uC73mRn3R1lTQfWE9bMe9wrtgBbGQjVcc/BkIFU1yFEtA1u2gZD/cjY9hPHFPVMB0MwvGGlIwlC5TAgGhGoGrnFjqmBGYjzdOtxD6SGIUaitbRuyoQQCMANLRBNhD3TXwuMPv//ASbaanStNY1Yp5asTme+HnHlnW/ICVYOtG+R6w5Qy6VQMvJa51cQKWYBgB1H+fjA94aVG+66hfJcvVdrDOkxgK5e9RXQc1rfW5OKFduQM02MgSBUsX8AiKGJMTIFz6qYBWbsmmRq6PKLBk4rQGIDKaVagMOqe6CrwbB/n/2H1oLbc2e7L48ubtsp1/v9LqTcXp5xw5V8cVMZe/Ol2uoh22TzA9pLf75wtlHFVbPESw0+YivrqWaTYW2lQMT1j7TOVReRmwmdfF+WLJKzJzvcLooCBQ6EwRTVvSMqgXxrCMGmaVYvBYhcdS29LGM363E9zd8GkKrFWP1rsBpSo4LSm90aVNWKGn+8BUbeXaGrevo6+bDKJN08PD/1q3bb9/ZR+Na+sD0w2zyD6wQE2K7bb3798K35wACg0umqmypskwPNMXt1nvIPMzO1WgJbwRbVGgTURahaGFF1baEg8OVHYIBgaLlkEZGpKFgIodTsB4hI4sRIihpTIEAt0u7au8Ox73udli9//PH169d5HIZheHl5yfO4NQL6SI7jOC9jVVwR+fjx/fl8blqXBaXj4V2IfL2emxiJYmqCJ/+u1+syLXNemDmk5LaFP/74o2e5StGXl5csRde2sM37Ped8f3+fpTw+Pq71nWqjGEKapsUT0tfrtWka5ihipSyllBRbZr5erzGG6+u5lIJMbdcQwfV69ZpJCDQt077f+U70/Py8LJOCefJgq2T5qQ8AqiWlZABfv341g7/85S9mcjgc5mXxQoHzc0TmEHaOAz58+NC27TiOHMAtpczsl19+cQWe9+/fE9Hvf/x2uVzatm3aaCCImFI6ADy9vHR9s9t3zw/PoU5sWpbldDrtdjtg8sCAmYkCMZdl8U1hPcBwazurE9vXkVFlrTDFwACQi4iYStaSkZSZkEJtmiciYIQgRZSKz/gtY7Gti0rVdaNErBUtVQP0/6tbj4h4VLyuAtr0ZVdz7hpvlFKquaspiJkVWN2LPWVSJBcFU0FvmIOIARiCoBEgK85mZtD1jmMWao1imqZBRBa+2jg3TTMOcwpNzIqIy5R9e0JQBIyBvGWHkExmNE4BUam92+9ld71ewcowSNc1pSwhUIyNmwB4r+rWn3q9nlNKTRsAYEdwJQWdunjYd6Hv20P/p4eHplhx3Zicc9ftmjbd3e+bNk7zZZ7nlDr/1xgjYZdSUk3EEqIA5hAwJJZCTXPKZeRYSikcmDC6omjOYppTSqiYs8TYuF1USunx8XGcxhAtpZQiZilLzsQ01a5TBDOfcmqllMXMrueXcRwPh0N76N0GEsm6JqnquMzTNBGFmNrdbsfMEGLgVlWen5/vT8cY4zTl19dXVSllEZHhOl0vI1Fsmm6Z7fX1sizl06foh5wT1kOg83kcfhs/fvzo59/1eh3H8fTuntgzo2/uhsyY82zI3izbNM2yFD9iPQ53Kcx37969vLwsy/L777+3bevtra7nQ0QvLy/uosDMHq4/Pz9rLqePH5c8hRCKLBwan7dd1/lqSimqZmZu2xZQQyBZ8vnyYiBIBqgxcjE1kM596GQx285me0MVwP+YIL2Jw305+77kh6i/cStUbsgvpeQqzkyBqGbxiUIpqgicmoCYmoY5OMupafv9/oghIjARGLEtGZ2GTSERMYiBllJQLXIgRLW6VEGAKFhAMyhmzDGEIFAJwMihyh8RgpfLPHeIHgG4vVK9TcPq+VBhgaohEKMK3Ow5qzB0PU+r4DpsTBsQKdVVysyczbxBcy8zqqrb63or50bFJaJVXgXAfYGcKo6bLju4fNOapqsfaze6FLLyzv30rBox6HVIns3RbUZkTU6DqZRdWmUQYWWfb/DXlVL885lZ1ZO1FShvaNjMIrGjju3ygpdo1mjQ8SJozafQmgV37FikFuV8CdziUfgP4BVu6Dee4b697BACr8RuoqoyuUHbGNjMsMIbsMpHJgCIShLDAnVKe0RaSgF3tawynV59WrXGw01KaL2wEIJTiHGVFvCLhP9AldkQ/Ab/ttc/ECXWH7794TYw0FX+7h9wfN3AV/NUf5e38G5vXL/3TS3UVgaRA9r1w9/MfxDZc7VmFkLbNGlalutwBsQYgvOpEBGwdpe2bdWXUyukZKa2ptl8FBjRjdW8D5uZNymeLde+RkToDxRWyA5gq/WB6Y2O+1sjRR1Be5PycUBbCwd18xIzxiqn76Mc1NSgeK/0FmSIzB5u3gwf30zWt3z4Fsyto7iy6tfoCtY60TZ9tx8CgFtkvXW4V+ZATRkCQG3HWdPzemPBBas/GZrbj1U/XkTWUhw11cJYXjQ7/1FV1UAJWbEgU9PEpkkASoQMiAZ9m97f3e+6Pi/58cvXl6fnaRjHcTifz8s01d21mlUVETCz3W53PB5fXl6845uIQqBpGvq+a1JalsnMiKHvW5ejfn56LUUly+H+OE2Tjbrb9z//6af9fj/PUxFhZCIgg+PxztG2GyQ1qeu67ia2A8+NtW3fNG9AuSgMw3Q4nGKMIvry8np/9z7G+PT8AACq4vngtu1jxBDIYhBxpfY8DAMj9X0vRRCtbdtpmb2s7LIwiHi6u/PvijEy4zgtZuapaDMjgpTS+/fvReTXX389ny9EdDqd/Nhwfv/Lywsi5rKAVdbpNE0+04jBo5Q1himeaI8xBgIRWZbl06cPT68v4zS/f/eRY3BKZUxx22IMwJm75gRQAABwcBZubCC0ktLAMytE5gaXIQQP9JgDAKxyBUoUzNAUCSFGrlqS6lUjA4CcF0/e+xeBemeYeK4d0EzFRKtBGLhk1ptO60bOQ6xLzP+p9tdq3e+siDN9RDUAEZFHtqWUksXVNpgLYkTSgISURFANA2YAoB3lPOc8t00M3CzL0sY2xEFEmgaaphuu8/19//T00qALXS1mFogZIeeMpod9P00TGIUY9vs+57yMQ9ekEUrT9ESh5FlV7++OIqJdjDGmkQF0Waacl37XzOMVAJZp3u+SqnZt8kXUNA2FZDDv97sQwuPj4zjPKfZ3dyfE17u7u3EcT6fT8Xjsug4BfNq8e7cvZdrt3yEVYrucr5fL1LW7y7XEsP/ll78Thnf3H56frsusBFFwWhOcCABlGZ6GcwjhsKdlKUYgMhalJrUIoOrhmRJyjMmbvFPgtu1LUTe9apooJZd5AiZEXpbJJUEpJkRb5tHP2ut1vJ6Hf/0v/3x/uvv999+vu+6f/vlnBF3ylUdrUiDC19ezFGx3zYcPfYxVzAeg9jGHEO7v7/t+//c/fv/y5UvgSjYrRc7ns7suXK7Xr1+/qur9/b2n24HMhS/btv3Tn+4R8enpabfbIdI4TqXIfr8PIbZt9/Dw8Pz8MgzD4XDwnhyHejlnL6lVSJSLr2gRub+/9/U7TZNqQfTKNaSU5nkEAECNMfZNmtyUI8aSg0hGA24jc8vecWgEUEv5psi0tsehSw2+Fd9vQYNfXinFFSFwFdRyNE8Y3MoKwZiJYgQANSq1qMyGZshEwb3YvDbbtn0p5fn59XB6j8DIgRBNDbEghRACcgOoaKU6IqsFYjNIgYlYVed5LkWB3E0Gc5mBCQUAQQy8nT2lZHyTGrtJcyoigTECw1tUbyurm4hISHjNIotVfXT2PUNh1YKrJ68H+qXgmmMGrJnLW3CGBJqdH8xbXsY3Z5W34x7NOdPqPlHkspO+v4ExoprHFAY3iep6X1pUGSAysBo688bpgyvFpTiWdJFTd5bdMppreGaAdpvmVFXXZl2Wsn4hbQRRVStVJAN01dito6RIzMRv9RzfE0QzoAGq+wYChnnKYrY1HW6/uaGd259vsNWvCtfGDD8UqgQwAiEhILlDByKQ9z4BohFWRxpAt9mGes2m3sZGjEh18r8dGQ7OEGMKvtDgJrDx6gozr2ncNzy9gcbtE/4jcF8/xIHH23u3z0HE2IRbTFgx3QpkNwqTrln/nJ3t4qlklwxCVWC+jQHeEtB4S3A307ek+21sIG/vYkA0kTLOo9fevQ94v98HDoHeyGCO2ugm9vBBEb3tRmNvFTP7x7gFAFZrbNeAL7gG0egqk4hiENAUHN6u76zDVHPhvMHc9TvcCxdVi2ogEt8lEen27f7LHNwURj077ovarGzPAFZala3TIjKbiNzsqNU8/MaYwNa4VlXf6npbCEG2bS5rpczf9TY620W+zQl2+zIAMISCYAa0tmP780atqqhFVa1SEgEIiigKcozTLMkru8R9294dD/v9Ps/Ly/Pj49dv8zwv4/T6/Hy9Xh2SwtpYCcDzPDsIE5EQArU4juNut1Mr81yappmnARHv70/qXUuluMjdfr8Hhefzq4szfPz40YXqiNlK4cBt2/aBcxYXXsw5353eAYAzZC7DlYju7u62HIaqjuNoZiqgprvdru/7nAsixtB4oTwv0u9aM3WBl7Zt1RYzq4RvxlIAEcdxbNt2GM5+BHrG3TeCl5cXp5B6JtvbCt1TyTkV+/1+t9vdvbtvUvf09JRz9mKCZ9m7rlmWyQxrHq6GhTUbcTweP3x89/j4eH9/7+R+71goKq7oR0Rk0IRqibXb7Q7HHXF0gL4/HX0EkIkprHOpknRpJcngGlXezmRnSZqiARkQYSA2QEKFolnXdlIgIiMjT2qagpsBqmiti21FtJpRYFsROAEaKGgx0axVjpc9UwDA28m0KWH5KbtVvRDRCF0iclsO+J1/E4jIkmckIAjOuybv0MNAzEgBbcl5jqGNMc5zVNWmxU719eVL0+E0TX2MIiZWGu68JdpMcs5lyWYiCowVJJlpKYsoLyHGGA/HHREtokXyoW+XOZeyIMacl48fP87zXApfh9HMPnx81zSRiI7H/fPTU9t1h8Pp6enlMs2f/3SXUvtze9T5zIwhMcd4Ot7//e9fHx+f+n7vzGkXEb87noZhch1SZru//5iaH0Tnl5fHaZz3h8ZsOu0Pf/rTn374+Pm3376k2CQO5/N1mhZFMpv3h4PP9lLEEJsmTPOVo6QU5mIiC1KICZZFU4ymAMBUIQ1yQABlghSRYyyyDMMwL0PXdSnwVa+5LFKsYYZAyzLXMxiCFvlf/uf/37/8089/+fNP7+9Py7IggkgOgQJ1qsBUOGJeSinLzz//+fHxsfYEm8VY/aFibH744YdKGy2mqm3LRug07hDC6XSIsfGcXwjhOs5N0/Aq++v7yf39/ThO79698xqgqvZ9DwB//etfc17O57OZpZTu7+8R0TXy379/fz6fx8s1xuj69CEELziklESyiMUYQgieSwshxMREFKnClxDCssz1dBcNIZBBLsXTfiqQ3owX0P2G4KaqvoHXDZEgonfWqoonNQAgcDIFMIopMgcRrW1wnMysFHUimUNB5thUkmFBRBFrUnc8edmB3URdAYGUKBBjztmYzBBUmd1U2wKyFsmSIyGy+3ZJjJFbRsSSW1iJB9W1R6HkarXmVpN0w2jfcOHaA7NSYW1r7HsL+JEqmF4JA86SFTUlJDdH30CYSKbV+hRvewbAzUf55gIUoP4aIjseQmDXRLebJNp2vm9djYR0ky59gxZka+rBoa0xAMhaljczkSIiQaTEwhyZAtwQXZxKgYiixSGjylsrIa2aPHADqeF2Gq1qoNv+6f0YhAbsqfiVB3/ToejwN1Nt870lXt7+F9YE5bZd14dD5NfsRw8zhxtPzO0TOCBRrIkbYiK/ZgIwIjbTECmWaIYcmUNNuntPo1+SY4C6QOgtww01v1nDNvwei+NKKLIbMElE7mcC37+2575xvtcs6vqg18TxVpe4vbBtYtdFGqrejh9zW11FRFw7G2ubouLNa10adrsJWBFE9DAYt0sB83ryvBRmFAHVgmQxsWgOSMgBwVSLk8aIETxCRQAwrtwYXW8d/Ia3RUFEK7cFAKq0+u0orYMPm5hm0LVyZPg21jcrRABoC6rMj1wANDZT1SLy9kzMDNAfLa5xEgZ07py/y+2yTBUgrdnuWgt7q1+oqsjbZ0p5A+7bXLkF7g4366eh+mjVrkr2BD+BD2JNob61pd7OeCJSWMM7U6jyWLSuwJqA8cFwMX7iEEJAFQSmwDlnVQpEXdMc94fdbjeP05evvz8+Pr4+PqnqNA9rjOg007gsi651OgfB1+sVALq2LWUJIRCHrmtiDMs8erk5te3r6/M4Xvf7464/lKLX8/V8PvsMdvqpW155GB1j/Pb44A84pZRi2zSNu6WM47iU7GKIXnL1jNf1emWKANI0jVNXAWAcZs9TPj09EdEwDE6TdXYNcViWaePhEFHbtvM4EdH1euUY/ca9a83MXl9fP336BMR+WgPA9Xpt2n4cx5yzi1rc39/HGIfx4hr2IubEBiLq+/58PouYYy9ZXwQ2XK/39/cpRALcdT0AjNfB21VdVwQRD4eDj7MrmRyPx2VZQqxtQP75nlLymqnPllu5TC8K+8VYtRm/Vav1FajMq1oCIxLloubd1UQE6O1wDrJdQCwFMhMT01JijFuZ2swFaxgJQMQE1IqIuPMUs0LtJs819b5Ww6RaFL3lQrzUYCohhNg1kRgRYoyAalhjBt/BVVVREd2MA4gSkhEwUQA1ZnRGR4dh3WVAdcll9h1cRHb9PmdJbQNqRGSiOc/LspjkiadxHEyXGMiEDGycrktmMJpzZoxt25Z5iczNfsfMOYbhct4dji8vLyJyd3f89OnDnJeUwul0ev/+/SIKRmmS/fH06ad/QuI//vi6XM7B8HR/UoW//OU/Be5//fu3y7D8+OOPLis+TdPuvg9h2e/3P/zwQ4xxmcs4Lj/88OcmPs6TfvzcNx382//0+uW3y6fPH+KfWyI6HHYPj19///3307ufnp9e7u7uFOyXX34Jse+6U9NGAPj69WspGaC7DGPOmZjbLpg0wzCVvDTMITYiWbWoSgjRmWxZMvM+BBzH8fn5kUPTxJBJAdQJPyEkRI0x/fnPf1HN8zx/+fLl3d1xzavZPM+g3DRdit31en19fQWAcZxdyomZz5eLM1VSSsuycAxENM+zuwnmvISVyx5iVFVPBPiR6UR8EWma5tu3b85ff319fX09i8i7d+8A4OXl5eHhwbWwYtWCyG6X65H5brc7X68557/85S8AME3T+XxOTW3v/vjxI6I9Pz+3bdO2LZguy8Khdp7Rqh8SQrheL/M8M4bQkplJWfwsGIYrIiG6OvJbpRcRQ/iOlrAdKFztAjMzhcC+pRT3UFXlEELTiNlSFJFSTGbo5y65P3QWU2Cq6cmUmtikcZjHeep2+67bhRCQGIFUpQrYMCOyGmBgR0FaFhOjSBQQ2eq5xK6V4datShg8wxJj46SRJjUAIAHqp9QslekqjAdV3+y7fSm8cYsF1IDruW+yUVLtdqA2HratrYobeWOLhURkXiYfEG939rN6CwUQMVBwv3f/3A1Oed7XiRNUi+1bBtRdzzfApwAKiFpEldyVxhsNnVS+4kUV0WVZyJTZAr/l7M3MOy6YOabaoeiXITVJH1ZOdi3F89rItF4bAsCquu0s6lSHV9VucKqjRlwzr4jIXG5g3Ns8fPvYGyi8/YQZTQxAnRXj48OEb9LzlVdUPzZENnU6FcG6BKTqpni3Bm83GCOrgmqlHNfoBI24clS2BDkzAkRE9DqGNz94mdqvv+pUrrRsqu0Vlbu/Etje7pdXA82aV4JV1v37FL5T3m8LFLRq7/go6UqY2aoTzsgVKSu1vcaH9b03DQ+ISKZKxQRuh/02YlzyDF4wFyWC3a6j+twZQEWyIqYY/EqWZQrw9uyorkJFRHDGx4qR6lCoUdj6WW9hsCDoGkSBQ3EfqyCwgBpRYHP5J7IIahBMyb1YtXieJiCJiql4zk8KBmYjAlQicsqaL2NTITQPgE0XRCRkBDIwNQAjRvJ19PYIjVxeisjtJ8wXzLIsIgUA0OrsSSmplWVerIL9KvHjM8xbB0rORH4M+EAIIiKTmW6yUNtGsD349Tn5gLrBjTK4l15QhFIUoyvwiwjHtjEkA2hiV0qRJe+aBEBd094dT33b5XF6fnp6+vL49PjYpvD09CoiOc+IllLjMyyEakm9P/QAUEqZx6FtWwoWiC/jS5vSbrcDk77vAfTy+szMh8Ppch6k2NP1WYq+vLxsVfi2TU3jPGxF0CzmRieeksk5t2379Pzgh7ehupDfKu2UvE7tKzCl1KRGlozBxrnEGNXKvEzzMt7d3aHG19fXtm26NqkWAyt5MZMY2URAPJ3ZTssgaFZK03SvTy/TMAbi6/V6f39fsv7111+c9GKGntg7n8+IuCyzq0G/PJ9dCDKEwIwA4KHCMAzjOIqISG7bxIzLkkspBFzKIpL/+OMPN+jxBXy9ns1017VzXnyDdrp/03R931/OQ0opphaAdrvDOM5t2y3LwoYGer1e3VXHc+1934fAAFUKzazknItyIFfq8EoXIxivk5MQ3AUxMKiiWmmci0UooIISaiXOTGdmVpXAapbdO4yIfNPlQMyBUMAsKAEQEjHTsswle0C4GTLTlqFhxlLQCRImoOISxC4fEULgEAKhMUcEcxvuSNylmHMWQMQAQM5fYwYDISbgRJC0iEHGlFQVzJhoZ5ZzZtwvy5wSGgiLePdPCAHUtCwAClaG68vLi5mwmeVxKEW1KAeec+YIiqiSiULOebfbz2XhSMPlos8Zrez79Kc//5CaZg+H1PZN0wVuHDO9e//Tv//7v0/Xy6dPP/zb6zOH+NNf/iQix/tGgfen4+78Oo7jOOP++C5w7Lqdqt69P1B6Moa227ctiZ6nWd69+wGJhunp/vTxp/97+9/+238rpfzln/9sZim1795//vOf//Xffvnrv/zrP13H8d27d7tj//Xr18PhcD6ff/z88eOHH4dheH197s5n1+5s2/bpeSGCZSnM2HfRLIzjSDE1uxYND/sdEYzT+XDgp9dpXKZ8nY6H0zLrOBcETA1TAJEiy3mZH98dT8f9SYt++e3b/pDmPMYQ0XSel3k6N023LEvX7UopwzCo6s8//zzPMyFezmdfFznL5XIxs+PdSVWH6xRjNBFP9F6v16ZtvQdmnjMimmRQub//uNvtnp9faZWrTClN0zQMg/fnAIBbnu2P+77tfDN/eHgABGDyml7f98A0XYfz5cWdkmmlArt47uPD113fhxCHYQgNpJT6bg9Y0JaY4HIdQA3RdvsdqI3jSCEhkap2u2O3+qapQkqtrUIcW0hJFHQtuyOzoWRXWgyh6zpOyUoGq4itSX2Kfc6eTo4hNlbDiYhERZQCxyblnNWIiHa7XYzNMr8Qpm53oNBUNghCZBAQYBBZ2oZFK+EVgZSSgiJQSCEolyKqGjkGSroqLJtuIJiQCQxrsE3EzoVQ8UphiE5VV9/MRQpRhApIZM7IjE4jDYlBzcSbbjcOeoXujpldi9Z0Mc1mhhQAohnGwFVJRqCUbErOLeQQYmy8yEbVDBXJAFFT9EaCJSAhoRKICNUCJamqVOBSQghZhbBaHZH7oyAiOQoEF3/0qMwFLtEAKl0YlqUIGGUFWEJqfEqbWc55moYKBLHNpSZomQkJQG1epsAx50zV45GcmaymG6V+C2xcEkMBvIzq6KqUIvbmY1ifnZnrwk3TFIhNVEEq+gRyDpWuZdKyOpv6h2gxFz+MMfJaJGFmrfwFUBUDQ0DVEmNjZiFEM0OkIqUUPx2KaTArRCFEWHWWDNRAFVQj04qFhMBs7bCilTNWIwQFd1tzGoRhLd84P15EqpEoRwAgBApcYFYDAwtUa7+qb7YAzvZGQo8BVYWIDcEQvA7MMZhrmFLQosTR3xhrhFblp/yTvSnFUeuyLF5WuA2KXLuiFoUAzBTRAFRRgFlMSSttyWqHDDYxiEhEtKxNCimlcZm34IEQmamUUmc1ooIGJPDGBnsLGj25sAUk/hCNyGbdfmjVv0U9YgxIBmZFFTKQIakAhSKCACZZKpwXWIohEEaxvJEESimitctn/UYzM1VZLZPebNVqFE6C5t5ghLjSdJx4Zapqt8B9i368jxvWSDfnnPOyTdMQAgohIjGXUmQtsa1p7LeywhYxv4WtN6bBa7D79iy3nP1WDauRWa1EOJOxwnpmjqkBYkPgGJjCWPIiYmYf3n389OnTruuH4fLy/Pzw9ZtLL++6xlNTnuL1+40xOvjblENi5CYeQwhixUH2ruugBut2vU5d23oefb/ff/nyBTi8vpyXZQGU0+nk+o8+n5xFZ6ZOySIiL7H5UpzmnHMmWj0pqmvpUjcdkRialJIH0z6YBsLcXC6Xmp2aZmYSzWZRVcfhusxDffJti8AvLy8phev1Ukr54dMPXjLzb2fmFNuSB3irEuQQQtd19/f3rgJ5Op0QcRhGR+1E1HW7cRzP5/M0TX3fn06nl5cX/8lut9vv98MwTMM8juPXr1/9Zn1GbcvYb61tW6foMHPTdKq62+1UNcZ4OPS+OYqIO6dyCCklj23WR/bWsOHzJISwdX/6HHyLJInMRNVZdGomQEj4Jn4MWCt6YITB3Byp6k6o6xqJKjKSmaiZH28hBFVBhJJnYgzEbsakUg2WlyUzs8sUIgVnovqsB1Ai4kAxxiaGCpVoq6dTCAFURPj24HnLH3xXkQMwQnqzQwYKFDB1wCnW9p0VuCcObZe0yDQNKcD+eNjtj8P4ImVZpqhS5mkpxW3b0rBAyaqqwZ2tigDQvu+XucTEbd8P1+l0967t9ym1HCIaxRj3x5MnJn/99ddpWn744YcYaLc7+CEBiG3bff78+du3bwhpvz+m2LhQUkphGM8icrlc7u/e39+ffM7c39/f4z4mI2r/h//9/3FZlpxnj2Eul6HbHf/Tv/73f/3rX5nT+Tzc338gTsuy/J/+z//99XIehiEU/ad/+S/zMn758juiHQ6H95/mL1++zNMSQrq/v395eRnHEGP8/Pk/zVOOMXZ9k2VJiZ9fvv3P/8v/ePjwIS8FT0kVHp/PPM5d30zTNCn87fff/vj29e5w9z/87/4P1PVhtyPcXb59SanhEMer5z6baZoO+xMiuiJqCGG3210uF3cdbtveg2FfRJ5r7LouNM00TSml+7u76zBdr1dfg6qFOTZN4+LxqW2fnp4Q8ePHT94yHmMchsH3jcPh0O06D2jHser0hxAeHh6QyRkyTw8Pnz5/OBwOvtwAoO/7YRhynr28tizz6XRa8sX5aYBUlqob3bRRNJZSGGkrC+CNqYitSt6yOnkfj3fjOC7LgOwJGv/3UGTSlcW3ykkRM5dSmqattfiiXmFw/BeCu0cLV9cRdJdwEXl+fg0htG1/vL/zt7wtGQQ/Q82IAfCG2ktENeNIRsgAUIqvON4+wXs7ERGRFczr0EQkNVGHLhlORFAxXx0BrAqP27G4Jr6g7gwGAv/BA3U7lwE8b6t++m91jA0KyCqPxoyELCKNNwqXUkoBIGYuUnDtgyciUYUigE4WfZOsWL/3jfbtGhIbDPjuHLe3/CgARA5miJhrztJqs5xbJcqq/L2hAt/2Vw6GrqdwRKAQwsYk+Qcyuh/HGzDwB+pKOzfYSABo48PYyjf2ioStXHlck8cVKd60820/lFtJFvfYq4GVeNEeV5/pbdKmpqro2CoF48EPVKfSN9kx/5bbB401uc4AEII/rDfUDgC4xkuOAOWm5fe2UFPBmCEiMkesjQ1oWqMdj7u4KvbY7Ws79LcHXcMYqYQZXbnvfv18I2vzVn9Y3/UPk/ntRtanycAiQqrAoGpIRlRldKoYkxIBwspTAoCAREiV88iMaDmLlao6gap6wzLykVpHrNZ2/GLWWpZuzBEws5XJlvPs3c8u62NeGSEN2QjdRstupI7MwDejUvUE6oOnt5qXmYlU9X+feHUlVzKMN/Hgeum27isE5Bj6OwbeNqwq7q1aVUdKKaW4hH7tX3Y5QiJXnjb3xWOmSvqq8eJbIwIzmQEiAaCZInw3QW//sC2V2zm0gngA2/j0hsjEDEwGRIE9Nx8CtU3z888/osH1ej6/vDw+PrrAQgrkKmyuowKrkmuMcS5LVjEQM7fqIHfaI/K+B16WcV5GAouJUxNSaolonudlHo14mWc3hCdOP/zw036/zzkT+RG7zPN8uQ6uwgYAyzIzR0S8XC7TtKwCKeS8UjOb53kcZ3QfpaYHAFfPUNUiuQnN09PTMAzv37/XnBFBVduuZeZlmR3vmlGM3DTNNE1msizKzK4j8eXLlxjZ6+auhrDVK19eXojCOI5d3/tZuNvtN3z8ww8/LMvy97//3VVU7+/vn5+fPRTxbjb3buy67tu3b2URBw2ufeE37k0Fvrx3MYYUr9erA5efftoV1RCCb3+ehgSkjT3pT8pFErbqhM8Wr6viKjfmc4fWXc8JiFJmn1JkCqZmUJlRBIjVDYEDmrlJJxF4aQhZah3ZFDza9WwZIPgvASTRDNaEkOo6EVtgsaIqtbGk7l9ogOZaxQCIVB2em8ArVVHWBbXSGUMQ8R6M/7g6PLFkIuKWDLpq+ooIhWhIgZiDS6rlbU9XEQpN0wXiWGQigsN9xERF5rYkQpWyjEO+nEcRbJBjQERGiCLa931KAcmGuCDum6aJTeLY7XbH3f4o8rao27b9L//df/frr3/3KVHKMgwDEdRWbKLd/nC5Dm3aNU0HhsMwLcvS923XdQD67vSulIIIh8PBTAAzhxQCMkUD6neHeU6XyyXEtuv56enp848/N2l3HYdpXGKMP//04cuXL006Hn54/+Xr7027a9t05NPd/f3r+bnrmlwud+8OXbf7448/zOzu/c9tm3777Zdd1/7lL3/p+l7ALsP57nQA+WcTAGMRK0Wncbk73uWcx3G4sJ2zMlop+enh2//0//0f/+U//2sI4f7DfXpXzudrziIKOUvb9OMwz/PcNI3vPC8vL5X/ppV745z16zjknAmDt2K3u53Xtf7444/UdE3TEHmyMOWc3RyNMMiSAao3kAMFr4Mh4m63c17ccLk+Pj62beu6QLVFdVm+fv3qJawQwsvLiytL/vTTTwAwDIOZ7HeegwBV/fz5cymac+4aNuamiSa719dLpXWhbcCinn+q3q/ibPtxHH3xlqwla1GIXJWtzdAMm7TLeY6B3ZO1FDeWmFPqYmiYoygoVFqmrqJYItI0HXOlCnRdhxSIAmKJsen3x77vU2reYDcImDKioBE50AGsZ5/VfcLMRAHrfqXqQh9v8j4rzmOsFFfyBBMCKq64BNZMKjl2AUdnG1xYYZYvaQUABnYUVQ9lc8NEQwREYEDRGvMjovpmJiokDra9phRCYK4t9f5XlxvybtFIfFseV9UiJVDNRt9iqQ0P4MrP3tAb3YiHrHuR9xcqACyy+G2FECgqLi48j0xV+REAqg6P6oZ0fUv3PIn/xCnvVF9ws+9V1E6rR12FMWrEWssqFQsDwfaUccPuSJCaMF6XfwAeUBnqb12F2zeKCJqaGa2oCV0S1mj7nZqY1+IgLoSguPF+aZNPMfWvU6CKc/x3VirLG3F8i6+wii68oSIAKGvXoki5Bf0GtpI2t/5vAyMV3n7NpQ+dAQUbI2UdDYeakgXU0ADX0xarRA4wkTG/RS9Oq6hoDbentt3LNpE2NP8PM83v3Zt/yfva6k7yFs8ImnupBI4GUErxkAYYSyk5l4AUkCygaF7ywt5zggEpEBEbgIHItnyqqdk21M7zMjOqkeqNmTF4S4oaiJkYKjCGeSFEFKIABhrNzLSYgZQSYwRAk+LgxL+Pa9+0efZNrRCAGnoTGwIYYG2/A/GZ9j1Qxm0RbuO4BgxmjqzNTEF0WZZlE1Klyt8nt8HZmu02gt02++vdvn3t+k/+37dJdqud993LbrTqVy4au8uvKXhu1cCbgUhVAHC/63a73elwl0I8v7y8vr6ez+fL68s4XsuyzCv4E5GU0tevX102bksRNX0fmc2sbSslI+fcpKRapmkC09iFGEPXdQHjsiyEgSKUy3WeZwdkP//0J6ZQssSQrperf9FwHd3uZEu3D8OwLKSqXbsLkZZlAQAXky6lLMt0vQ6uyOH8V+eNhRAgZ//lGENAVFWXeIuRATSXOaVgCtfr2DQ7ADgcdq+vz9M0ff78eb8/jNfBrUyWJZVSjsfek9xN0xyPR69puw59zrnvd8fjEQDatgVkry0g4vV6LaW8f//eu1rP5zMRuRS0O6oycwFxmQV38HG6GxHtdp3v5m6ZtJS8LQzvU3TyuqqmlDx95Vz2JWdciUNd13k7/xbub9tr1VgA4Co+TWSgCiYFfPYaIKia1kwNOz3USWhAgVR1KYJECOIW7N5rZfXM8NyaVfcGYiQLRk0MiLgsVbyMGXMOOeeEb8I469ljiBAie9aJ654mRIxrP5vVcifBagq7ZYxuEMPbDggARUVyCZFqaA28xt6ep4l+myKCyEWMQ2h2B5hDkRxj7DmJzjmf0SZC6PfS9nmeynCZcxFVYmrmedntdjEGAG33AABL0U+ffyCOgLHvjtOyhFDbj67DFGP8/PkzAMzz7BuXqCKFyJgzptR++PDp6enF5rlpWgrMFtq+Cw2ZCRNPeTEAYEDgmGIIoFYWwUDMFLihFgiAjOSem+eXy+l03/Wn15cLx8Ac//Tnw3CddqfDn//5NAyvReZSlnZv/ekwTVMPp/P5fDy+v7v7yW0EYmS1QEtzuby+jOfPP/384/u/9KnpU3x39+HLl28ppdfn8x9//LFrO2YspfS7VoX+X//P/4eZDdf8/PTyX//f/9PXv/3yf/2//V/2d/0wzjAXAJjmHIhDSCGkUpaSFRGZIlNkCm3b34Cqmg48HQ/uUuyOS7Ry37td7/tt17SeOvn44bMbo8aYmLmYbh5M3jyTc356eqJAH9699xz2hw8fXNIqhKrQEmNEtT/++IOZj8fjhw8fUkoeFYRAvlTneTqfz8dTSxQIiZnVXOu6uNMdc3TOByKHUJkw8zwhYoixqC7Lgsxt3w/D4IFo03TrQYYARc2cDMZMMQY/iQAghJSajmMCdGXD2l4ZU8o5G1Abm7ZtrRbIaF5K37fjOCIzhYSIMabdbkdEBmCgporo/ScAJkhqSjen0Ca+oU4WDYHN2BME22m2rkeDqu24FYqRAATNJdHWsw82mwbVYkZmQgSbDgxX7FcD74qETK3qKKtrqCMBIyIGA7FVqtlMRA0xejtBNXNDBlAilpLN7OakNpAcQqCaeqxkgAJAqrxWudcj2GrFkQPid2iSKYCJro2tuKZXfStmDK6V/h0qCpFW5r0fMS4O4UIIG4RgZlyZ2WC2WtytxZBKuId1wBHJywK6JXPJQFE3dypVTSGK+9wBops53Ci4V6x2o27HCKoCfvMqDh4JTIus5Rg1M9RKWyjfSTFCKZXqvYYoab3+sA3IemzV+/iHCsYGbW+z3WZm5g9q1VvUDTTbhugRUcA2gOfSgogIqL6n+tg601srdq+0+Ii8Ae6cs5a3/PQWkyM6MNMtlPLnQ0Seu8Gb15pfsxVl+X143wcCfM9xJwpI1XcQkcip1Li1Z5ABMxWrzA4wpBhVNRclcDFTD50NiRlJ8rytQQK0Gz5IPXfXMsX29H0zWu+69hS1Mbhqk6obEBVDRcEwjoyIgTEgEBKpgtsKoKgutSohmZljZDOr9n71bhEZAdQbUJjQDEQUQImBjEDFGY1bJwRWFPKWYt/+W0PGVUdSpeo6wY1+ftWORSTiEAzWJlRYuTFbmEg30eQG3IkI1ODWtG3bMm+iRh9tX1wg31Vk3ipZ/gUli0GTuuPxdNjtm6YbL6OITMP14euX8/mszntalqZpxnF0wdS4OgcNw2AEROClZ1rn8W7XLfPoGYuu66RMbds2TSIDU0yxnTH/9re/nk73r6+vfd+///AOmQzhMlzNrOu62KRxHBUsxnA6Hc/ni1exobIV9XR3uF6vIdB+v/Py7rIsr6+vp9P7/X6P+ObH5hk473QuJe+7npljjLnMu32nWkxtt9uFQONwdeXmXdd9+/ZFVxPvp6eX4XL21JdX9OZ5fnh4yDnH2EzT4jGM/8L9/TsHwZ4gccbwt2/f5nleltJ1XdM0Hz9+/O233zzJt6X6Hh8fx3FkDN5o+/+n60+WJEmSLECMFxHRxRZfIjKzKru6ZogGIAINPgCXOeCA/7/MAQeABtPT1VWVGYu726aLCDPjwCJqFlk9Rk3Vnh7u5mqqIiyPmR+/561zB+7H4zEE8pv/8fHhb/vy8gIA67p2zKUUH93zxVOkuv/65nE+3DAM/tTgIb/3CtzWDuJN+1Z99MoiIwAUK9tGxcf2mYGBbkYEBEWBPEtEIBBAAvU9Qc6d93ALSBZ9GFE3hUo0M2aOsZRSC0jajDz8+GTGEJgZrWy91+rw1YJtne128UprlqIbLY9aAPK2sv+VLMWMnV+Qi6hPdrdWmOsZM0qMnaquWYgI40gkS1ljeiHLGHuTmVhNdJ+sz7I/LtO03q4rYeyGanJ+PO4lQF4LZxl3TwYUYs+hGzmtefJSn1M1PFmNMRI1PWwANVRDMnSyhyn2fd91gwuKp240k/k2dV0kCswoIoQRkUBBihCiu5GkOC7LCgDPz5+6fjUzBDg+fQpdpwJm1vXimTlSWPNtWW9EijSkLl8+1s8/fd7v915+LmVVLYfjn27vFyM8TdfbNAHy0I1I/WGfLtcFDf/058On18+AVpY5lyUESsT/r//n//L3v//9ePj0//3//Md//f2rSvn9738fDn99fn42+yilAFjglFLu+141OM3dM2QzKyrOAfPNPgzD7Xbzftrr6+u0rs4uG8exS0MpZcnz9Xp1S5Hjy+vH6XI+n8dxFwIsy5JViGie591u50tumqZSyhAG3yx///vfU0rH49E3jitBMXNZqnyNy6i72apVb+Y6ruomrC8vh0iMJGIgJa95SSmsa4kxervYkYRnsJvHAgBsNm1m5vLT0HBVq79hEam8xxBECzIxBqYQQmKKtWeLBbDKy5lZ3/dbmzeluCy5lHK+Tl6Y6Pu+63o/pYrIRsYgVgBkQHNwiKUV3R2IGJKh3bF823HFvVN86PzxSPKD2NR8upMdOwIgQsBAjEQUatxgx+6qCmAIxrRVkRtS8V54o0MAKNa/i0SsDtXNmMkUt2Rio9v5wJvDRB/VLaWYYdd1qrpOM5FqKys2ukV1v3o8i63JYPCDMRyiWz3+UMNu+KH+rkNsVVBssjlND3tTFFiWxblzznX2t/K+xFaZgACleG5TuUYeLWuRsaLzra4HRH4PMSAWAg6GimQEtoFdfRTF3jobjycCPsjabI2dtkLVTAEVxMBMq846oQEjqQmoACKoEWAghs34E5geBYHaTXZI9Id7vl0St2nUR6EeZ9zUn1Pwz+J2QhtRqiq2/Wh/CwAi9UiiUG9UvTOaHawRGoYAaqDOCXXxPFGNKSUAdnvd7Qz9Q6bhQ67bvoDWOUGMiPdhg/v1P4DPbfV4TGjZxR8JNswM0rxTmuabuFKcmqJttBxE8Drp4/tsz3f7uu4aZ9q0rHdLV0AUzGaZiYjqygE1EFMzCfMNiSG7TWAgAh9nVzDLufhmKWIiK1Fy6YktOyAGqKV3MOCHOEJsbGCqYsZeZSdknylBZCJ7/CRb5qGqAt6SQFAy5GoGgMgUu9R3qa/WJIgAPu1xJ5A93usf0LavWXASsCH+wCGrhqmVE/PQ9PFBGLi/EEjtIW0tqxjGrj8cDsf9AQTevn6brrfz+fyf//mf37588eKrqqZU0dUwDJfLZZN3UNWlzCFEZ6qoFUT0WaVh6Po+llIIzTWDyZAIpyXP8/zbb19utxng49///d9TSqnrShGf2vSKQozxfD7nnF9env3AQEQvoe12u2VZcp6ItO/7w2FnJh8f52maYuwcta/rKqXeQ69eINM4jlYkpSSa1dBx8DSdwexw2F2vU8nrp08v4zhGxpTSsuTrZQp86vueuTufr6fTO0DVrmHmP//53y7TzUffvLsSYnK5SWyK410/3m43ag4Uv/zyi+MDPzh9DOURoaJZjLyuy+2mRDSOvaruduP725tvSD9CRMSNyLquqsR4eY8orD7p2Xw3/MH5D2xVum1PbpvcQJgp8kZm9bSn4YNtN7aTuCgy3kli2lyOPRNmYmAW8lkQ9Ll0RGXiJtwLTsB8jDilFMQcI6vGUurIzkMI84RWicAimQ+qowIqAQOqc3W2gOuzTWb3QEatzedh+jFKimkwYwzMwsxuyuNJtZOGEVlEmSIQz+tKzCF0iFxKUAXjPaWRI8q6EGgImvrp+LmbJ72eppwlZ1nzFULX9QEgj7tuXsrz02vqh2KaUmIQVVXQ1A9+S33KuRsHZE4xBQ5m1nWBmXPRn376abot/iQ3JFdKESuiFpk4MscAiLlICKkf6Hq9AiEzSymAnLpuWUvokgqc3099P5hiSl0uehz7mNxvNSB0kaEfQi5r32GXRESWNY+7EBOnrl/zYmb0FLOWdDiI6e02nU5XGPmwO+4Oz/M8Y0h9SDFGJpiX6/l8LgS7nz7933/9pWT7y//l//q//q//7//jP/8r7qKAceCu63K3LktOKZiNt9ttGDrPS+d5Xtd1v98jV3DgAiAUOMaYV7lcPMlPZODmZd58c/jna7gUjSEUkdLcdrwWNc/zlqC6beqnT58CsYi4mnvO+Zdffpku1zmvy7IAwNP+0PVxmxrEVvvs+wQAnjw8Pz+nDqC24Mo0n2LkYehut3njrfln8UKjj6lZU8uOMS7LUsotpV7qxIUSdYDVzM/LeSGEGNkV9hBcVTyoAHMQBREDoCYtp7Ef0NsRhOM4qoAC7Q5P6ypd18eYljUPYz19uq5zOxizQlVWG4MaPQgUYuPtgAETAN5Fq1qVvbX+UaxS28EL7ejld3cywUoJJWpUs6Za6CeLmYGJl+ka1lGH7AQIrWXvhhKoXj5HJmJGETVAUwQggyoj7cKMiBVa1ULuVpUGNpevgJJS2kj2ClUazgyY2eiOwqHeFlVVeIhyfovqAkOzhzoxbYJ6dQSIgoGIaQOeXhXyJZdSojbvi20QIsboBc8tvENzxml3qeEw1KZX2dryaA3zG4CRVdsqAPBjtAXVO/+bfhzJu2MMNZ/TBYDqZkpEHLIUR+zW/i4jMxHWirUSkX+6rbQKUO1ofMZBFcyKV8qJiJgJw3YeecG4zgG6CB8CoMIDpVm1ip2bWa4694pUhwegwjn/3bqutjmKO+Y2b2yomprhVndzmLY9zccu03buQMPYj0hv+5kN+D5cAGxsHLhTd9oChEqsMHNRBkEwQvPqW6Ou1TmSWrpyyoUZVz74GpmKadZCRCnwVmu4X1hrbTjja0Ok0GBqzXOaBKS/ApLSPdNQUyf2af3sHMpaXK6+sJmFFBDBAhFjREVTMBQAMPTsSp2UvGUS98QF76mnV2XUPNVrAko1daZt1bb9Bu0Z3KX1H1BOgCbw1Oaao9Pp/Olyc0SrzjLb7/IDHP/xGW8b3szAEAke/rOV0rdsGGrcBMONYObLyBS7vnt+ftnvjmZ4Pn28fXt///7127dv3759E5GUgllVBcl5adFh6PvezLwihU2W2L21KQafLt097Uop58sHgR0OBx8WULXT6bIsi5fPP3/+/Pz8zCGs61pK9lHXcRxyzr///ts0TS4i8eXLF1dAn6YJm2HHkqfD8ZhSQrJpmub5Zga//vqrGTpL1Tse2JIiLSUTHw6Hab56MUxyiRxijF1KIfCyLH3fv7y89H1/u5wQ+Xy6eintdpu9ZS9iIeA4jkTkiss+shZjjME1LvI0TR59mGPfj+4D5cWz/X6/ndNOvPHexfb0/Rcvl8vGqPH6ipkdDjszm5aJmcddDwBFVhEB4pDStue3LxAoxY6IOAAi9v3g5/EGZP11b8hy4qbdyM0q3MzE1LDVVIwUDNBtwtm8Ng+GaNVRGk1b44iN1E3s7sJV3lt0hiUjGZIFTgBADKrKAYmddyheO9iwtTu0MbMVD1j+bTd5b/TKZhupd19hAPhBA/4eSmo8bXNmIlkKMgViRJRcJJfpdluWJYRwPB77cZSiGCGGrgjO81xsBYBEJmigpNmCBTTgDoPLEA37w/OYhtvlPGkpse859RzjGMa+H+d5xRC7bnDAV7S2F5dl4RAZYRxHRISq/GOL5YBVzjWEAGixSzmXwGF/OHR9RNQsK4DbyHrphWPs1nXNWZAwxmiKc56ZopmaCXOcl7lLwziO07zE1C9rGYZRVeep9N1YJAzDsKyzWd7vhpwzUA5mRIyByypgyLFfliX2++VyMbTdsIvcScE5azlfQ+w7TqjmnPLUd4fdLgw7I0bUdb6lXXzavf4//pfPv/zv/7taWZZrzrnrou53Ob+bWUphupiLQh4OB25Wzda8kNyKNa/LtqGenp4+Pk6n02nouk+fPyM4qa/aYLdeQWniHiYiS17bya2+wX1e3L/wrT3P88fHx+FwOJ1O0s4wZpZ2oJ5Op9fXV1Xt+/7Tpxeomrk+hqF5XsLxKcTAJwgh+BnJFD2KerXPh2dS6nNefN16hPGm07bBHfUSEUItkolmIuDmBFknoyAoAKA3pASRQ0hGZmbJNblXcYdzlz5LKeU8x5SsScfu90ciWrwNhYAGXsHdzj1qxw25g1KjYiKTk2RUq3epbz5neCIZAlGd9apAZMMECEgAhkaETNjoy62FqPcN7nILXri1R1SBZs5zRSGKSMZYD2JGAgY1kFpzLQ4PmGs0cK1mIMxFHFBWxXqzyNFFKVQdt7ndiiFioKqtuaEux3zSzDhN69Hcfr3WDh7QDyKig9FSlNUIGVkC8lb+3KQF/LN4RufpIjMTod15uZX6rJWOnBvehTqHYG2WFw3sTs31x4QKm4PkY9XjkaQE/wJAt//8A6D3K98etBnjNqfbIKavcERMXVRVfWjaIGKMXcUtss1kE1MFJ6petflBusMvg5qTj4d+MHPoqndN9DuVyMwYiYkJ7xi6Vnax+N3y1KDewFatl2Ydyk3RYTtuGgvofh5tN+rxaulhU23g7fH+Qytvbb+4/RVobZBtLT2CAahUWG+2EPmgCKGqhcBZhQMxuhaiikgIFEJ0V2kC3NDyH0qBG8j0e8jhLvHCgJ7HqnNVzEyxOhsYA6qChJwzEhgqkSIpoNtwMQHG2JWyrlkANMS7dCs85DeVzsVAeBfJR4O2cNCKf+Aapa2Ki5LBD9zZ7cPgv/BePGcqpgJWTCMxQkQszIwijEBEboW+LSYi0oc3t4cxha1/6mHQoA6SO0hFRDLaoDzelwa2MFGzNECIMR6Pz8fjsyl8fH///fevp/eP6/ljXdfj8SiSPz4+iGjo+mWakYM3gvf70Qno0zQxc+iqz3ZM0W9vN46qWsr68fFRyvr6/IKITrBxUZpSysvLi4uurDmPMXoM8lq1mXmJ+s9//rOq+izaWPmd+vr66kLvnABJYmQzuN7OzNz3XQhpmiZXkAictg3jK1JVL9eTqh6Px5wzdd3lcgkJd7thnmcidMqNE+zccBHRW6sgIu4qt7XmEVn1Xg9DoJeXl9s8HQ4H50R13UBEl+v16emJiHLOz8/PfknX69Uf1jzPPn76t7/9jYh8ftShvwOFcRxdfqvkZRgGbmLGW10whOD62bH5JlLlaldDCp+RdIoOAGxGxO20qGeqWgH1nWb+L6pqW68T2LF62CJO0/JHBGYGrDWGVlcQcI26ugRdZ6aWebCaoZCZkS9gteDcOgNVzWoxRS94V70wJDMLSBBriPHLcNUEarYa2DLYLZwBVBklbW7MNcb5DzsGbRQFZga8p+WlFDffEZFhzl0/iiBHZAoI4Xo5lVIYtRtG7uJtXmlZY8RxSCEihfjl7f31JfbjLhdExHF/dB5n348hpN345OLoHNCtuFSBY/AnKD6rICLtmpkZUpim+Xq9MjOi7vdHImaKzHzXP05B1Si4yzeJqgFxCKCGzDnnvJY4JjUzUQ4UUxIrIfGOdyISON6Wue/GIQW3J1MtTMEl2wP7MRBK1umWh2GXc0agGIKa7Z+eNa9oGCBQJA4dIK/LpYj1fT8eewAoCCkE7nqwznTZjQHU/vGP315ffv7rv/31ejtf53S9XnOWkPN+v1+XZZ7WEOk65zrdsa6ebZrWgrQT+cbAy7JcL9PpdIoxvry8+tr+/R//pJD+9Kc/LUv2AQ8X0Pz+/XteVjH99u0bEVEMHvz/7d/+LaV0OBx+//33nPP+uHfc7BlCCGFZlv1+f50nd1ITkZhiCMHHVLxA4zT62/WmqinFEALA6n25Irrb7ZD0drsNXX/JLiJMW0pPjT7nA6nelPM17DMPMSZVFlNQSykYUM6ZGUNwB4MVgJiSqZrRZtxTG8VE7sW4zNkF6c1sXdeUUtcN61oMqOuGGOP1enXebegSIs6zIGz40raKdAjUyCeIyJv/MRBjh1K4lLJVGa32q4mZCQMFdsU9r0/73kWsrBtXE6nl/Y2a0tplrZBMAMBYR9E4VGdTM0OsBQfXjCJ0G0WPb6yirkJTS6o+SutJu2Aui0usONmVjanlz/50vAio1Q+1ALhT7A8CO/61HygbCIONAYg/4PsfgVoAto7YFMRUpILvTW/gMYB7AxYqOA7QsJTzAwG0lDu8ewSLiK2e4nI9jYjQLqRyDjd0uAGnDQY/vBVueOOOQ7ah2wehJCIgivig4SNmm4x6TWXZBXzAk9IaqdtRFepY8APCqRipkqofr8ePM9A7PclqaVw9FJiZQS2hboO/vj63O+Zvi+77AUB2vwPeHvExAzOppBFHim1Y9gGyw78+iLYG7F9/4BGIb19vb7X90yOS9v/vZFRous73I/5hcTKiBXCoIyIZsqqGQCEwAphqoJqBPGYU+C8fYXsy+ND8QTVPDn13+DLy+yJmakWUQmRWFSlSbF2k4BAxBTHdpd5qhV+ZOSVmxpQSPeAVRCQ/+onUqtupD3e7HyADKip6zqqAtSlfM4mKEkDqEEObj8k5+1YyQ+bg+5aIzFDEmKELbEgGEmJELyARh9SVUkrrLlllzNeppW2LKdXRintFHxEQQwoiIloAkLFy0VQkQRDVEJEArrdbTMHIikjsD68//XLcP1mGr799/fb7l3m5rbfz5fx+Pp+XdXXL62EYxJRjKAopRiIqpsh0Wxch63c9MIz9UMoqVpgpJcrLnFLKtwlKHmIq6zoOewv85fdv8zxTpP1+7Pvx7e1NRH75059CCF+/fu2H5Kvwcrsi0eHpadztvn79elvX3W7XDcP7+4eqdl0C0qL4fBj7YQSg6bZIMSLruu46X5dpMbNN5gxQ1SzEAKju+AOgpax5nQDg6XkXuFzO35dl6brhcNgxx8t5mmaQnLp0RMR//P2355cjIszrZAipGxE4AYjpSgzMijgO4+12G/e7ohKbUWLXxXme8jqDjQhKaMt8Ox6Py7xqkXEcXYdu7AcVRQMtshtGJEtd2O+O3759izHO89zOPLxep3E/AOjtduu6zsyGYdgdDq7jBhhUzMhUsoKMw4iNZDWOo1NlAEBMyVVw204DVy4CFJE6KE8kXpggRAhmpmxQOa3tWBVIsQuRARS0KBRwteOCCgZFDAtzRGfPWR1iJiIXmCElRiarDCKngLe0wc0aLERS1cSptlaZSykh3gfXwGmTaOgi7gghBAKYppuZMrvi5A8HqkN5RABTyWuMMaVoVn183V6n6zqX4AWi2HXn8/n9dAIMuWjqx3K5jbt9N3Zh4a/fv3V9f1k+np5erCAYm4a38/r6+gqRh5HO56y6DN2BkMtSALTrAwbOZorIw5CN5lkI4+18ijHmLCGQZSDGdV0ZybNQZl7mdbrN8zybIZHux64U8X/yPl6RVQoxp5TqfG0IREhdx+ta1BQAOaRAfFszM6sJQaFHR0ZGQ4lEgHkqOaVEDAghhl6kqDEAkwZTQ1QO5vxNM3PWr5kBspoRR6znCph203x2YajdboeIYBx4VJFiKBABdTwepjITURzGRAqE83ItotEMkN8/lo+381pmBZt+++dPP/20Px5cbZ2I+r5HxGVZUt8tc356elrX9ffffz+fLy7deHx+/fr169vbh8/hnD6uOX99fn35/ctXP5Kfnl6YmQjS0DtHxYdTd7udAZjox8fHy8uLS1ep6rJMf//731ExvBAZLOuE1D8/PxPRsizPz8+llOfnZzPp+pHQvCEQ475PISboUhBNOdPQp9N68rFIA1hz7rpuuVxQtes607KNZ/hmd7zoeb5q6Yc6mOu8ZyIMIa1ZETof8ADKTJRiXwyMkJlSTGqlrDoMQz8ktZJiP01TSoljimpmlmdBjrvDSxZcCyBXVb4UeFlWjt6/8uMfiQAUmbf2MnNityLxo7CQIqiI+YKMIVLgdt4js4tJqmnxUnDDiIBooZ6oJpIBVYuUvJaSsTnYAwCYIpJocRyvSiYVYLkyIaKPaBqg5/8MyC3QkZlaUUXFhIBiAD604+omsMEdNK/jGZFlYQ6qpeRiWnxsnRiLWiQ2JBFRc6Z/MDNGLlk2JOeoXUSkzsK5glXcoBgwGRooMGPXB7G0riuANNVwcYXcja4JYLvdiFWhODaIVhoNJoALggGAZxEUiSvCVi1un6fNZOoB24U6ZYxqIIAgmpncqFs3FIeIPi5Jjbu/ITwEJaJSxLQQM1mIjNYaLB6TVYUD57L61BlUJ2xGxBg3eomFEBWbe5E1dAhIaEDo/jnYXo8ZRS3bgXt0IACqbLK/3BLdsq4rEaQUSimiC3HEpiNIBAwooiMlEdMiBqqmYC7UiaUsUkrO2ZS7FBHc6pWKmBsRMBOxs7JrVZyIiO9TWY6wzTcJbPooiAjMzn7a0jG0ex2ngmVvDigCE4KrljLX8i4qUbWIKkW8eI2NNlITDFJVTHGTd/Rels88OG1GndGkiEYBpPmaN+wOTjZBAv9fBPAunCoRsG37nYjIi4NmFhhJpJRVvIenmYwZgOZ5jilEpr4fmYEDEmmMEX9IOu8cX0+LHnMaRDdcQACQ0tIgrDd8u/ot9dm8HvVBcN02Z7CHbMEIyVxBDwzIG4gO9Dfbsu0dtnzav/b01Pt0WzInzRcQ8T4+4pdXNIcQ5nX1ot2y5mVZjsfjn37+5XB4Wq7r9+/vl/M5l2W+Xd1FHBGXZTWzX375xUXEu65jvPOLSikGkFLq+36V1VNnRgyEIuLcj9vtBq2dfconv8IQAhAsy1KKHg6Hw/EYQnBosizLunzblNdDCLfb7e9//3s2/etf/7rOcyk5pTQvtxCoS8Frk9fr9XZdQuyen19DCG+nD83qF+yl8VreAHAQTAQxdhtz2lPteZ5dP8RljNd1zWVGksNxuF6m1l64vb9/f3l9yjnvjuPr4enb2/e394uDb5duZGbn6HvLz4XqvMz25cuXaZrcSsb1ns/ns/eeQjO28LP5+v0cY1zz7BV0b3oQUQwhBLpezx6yXc3a71Xt1YYAAKuULOqieH4ZzjJy1I6u4Eh3eslWorA2pY5tecNjKaXtiDphdd+5hGhIBECmCsTIRvdx7WJIgMZMrvRW1Zw8PVY1IHqY0PAtCC3L/fH7j+rv2HYcgW41CackWvsxf+4/jHFvUe9xf2GTv/TDzN2yfG1fLhdH8263CQAyG1L629/+hiH+9a9/NeUv377mnAE+nOFgJjnL6XR5egklK1NEgHlanA3ZhW5aVi7MMQBVk5V5nhH04/SBiJH4cNypqmg5nU7LsnQxbYmN81B9bLGYJkYgAiYMUc0UKKRedFZgIyMKrslJyBgYViWirPcRFwDIOacuEJERkxkDmaEXTamWjqA9DlY1AH/WdYTu8aREqhxCuE8V1w74MFRBJO+6evdjFYFqYx4sIJg5kEqp11xikK5brSCjvb6+mtJtcrn65EVul3l1AZmqcGq03++v1+tutzscDufzxSe8/Rqu16tPdac4zPN8uV21CWD7j/V9mvPqtW2nxBDR/nB4f/vua+Pr16/ruj4/P99uF1U9Hp+ndRHJnPZFdcmZiNzFKeds5ukoxRi3MWgj7Lo0DnGatWSf6Ni0I3AjrZnPta/LlpVhHZE0r5CllCjwdsps3d0QgtZd4+UpAQAB65gR0TW1hmEwAFGdp8ktpcmtYdsJ4jNCquVwODhTyNtERi4BAUZoSBSw7uhclWoco7hZjCO+mrmZAQhCLUjx3W+kxRbfv9BGuRr33e8DMxsISBWv1Koh7UC/cmI27TkAQDAANhNVAbtjEbjbT3oQgDqfbgbNW30jzW83vMYNrewSVSUntpVVVZFgm0xwQv9jRMUH3ZXt6+00V92CJFSDxR+H/hExhNR1AD9Kz6lqaa4mGyPZQYlVFEgAwU2r6zCP3kN9rTmy/xgBACrgf6+eB4joYhuPQYPqTq95yCb6tX267SM83gr/fNuJbI1prO3mlFIQnAsUAMAeQrefV8xOlPL3r5OyD4DNpYqrQs6GVbwfu918JHV5oY2Js42Sm4m3jODeYagfh5lNgRGQEQCdwym5uKFVjDFEr57cZ0PHfth2KDMTEjXqvYvztBRLG4a+67VvR55/1O079OP0Jz2Yp247KzQPB/SSQPPAugfqh0o/IsZmCe8rGTZVk7sDMT58gfGh4/34Aw/DlferBYDIAX7c775ZQy4XNeHoaSjFSN5q6VO1UuVAfZ9CJG9p0Z0jSH6vt6X2eOO2P4+Ipqjo25gAAAhBDMhDp0BziwAHRVgFP8UDAZEryDhzHuqptv0OWcMT/he1eRx4o6DtjTt1rJQipTkKGTrXzRRtEz11RLBNriCupWQpAOAR/un46ddff93vn9dl/fb169vb23KbpuvtNl1zmbt+BCTXTBiGYV1XAVtK7lJwuktttSIaqIj0McXIRBFMQqCyLoh4ev9w4oEf26Z4vV67LoYQTtcLIu52u9fXV3dwdeU1ZvaRTQrMzKXk0+lcSom7IWv+5z//kfP80+fnGJGZ/BRQBRXwoTQRWUoWEUJyLUhf1n4NZjbPN2ZmTr5wYoxeer9cT6XoYTem2HVdZyaXy/uynmOkUmzNUz9U8nrfj8fD8zxn958KIZzP53VdETjtOkS83eYQ4rpORO7jBogcAv7zn/+83ebn55fD/ul2u+V2xvs860Z/99V4+/1yPB5F5Pi0N7O3t4yIqtL3Y9fF99PH5XKOMe52n/s+EQUIdbgbAIxQs6qaF9R9ATSr1KCVgml/AO6+8lWc84Jm5mjYI6ORAWDD4gitC8RQpz6IgsFdR4IZVU08F0Dz2GdmbcDF2klTfUnMWB8o6fYQp6AmV48bHwGpKs27sZEfqGAxxAoWmbuuX9dl48VtG/zxdY84iF7Bcrqal95V1dXWhlbXzGXpd6OIIWgp5fR+OR5eTaCLPWMwAQWb8s0UmLlQWW5cisRIy5xFZBxHwjSvpWje74+X03w87oHhts4phGm+muH1emPG0IdOo+vHu075OI5d7JFJREQla86aR+4a+5ARuJScVzNlhOQVG+aOiFQAgZhIWIAoL7M3o5KbDTMrAiAQ1qqcIQKgYRWc9sPG0KsM3ngUfOTvIbrGFgJbG4ciNKWKe7gLses8drkmqONTJEaq4iGeBahqUSsFgdPQkxY5v1+k2H6/Z45EP339+tWJcM4jv16vbvGmqmbovam+73POu93u+fnF5aTcNpi5Nq9Ey+efPnGIr6+vy7I4Ac9rtP7onYojIk5C+Pz587dv3/7rv/7LzMZx3O/3ZnI8Hn///WuM/Msvv1yv12VZfv3112a80IVAm44nEhSVUsrhsNvtur6PYtkXWD1TrRgIGLftU4ew+77uWTOXWyEAYg45L4aVOba5KRFRESGOJmLVdZgN2cygwfp6KjN7T5iZY+hUNaQo5sKjaAoc607Z7w+Hw46q70fdJqFJamwY4kEr2umwrQj3UBlx9T8RCyFw2Ejt923OzCoAiE2WDtv5bmoFtQoMtHIvqkK4q2G24TSvDtexwSIq0NLUln4QNEFAayGlGIBJEPTEmIiAEDlA0cdD2bMUVTUo6JY9VqyYmbig4FY7gx/QJBgSENfivak5qwcBVDbo/Ag/RARaDYW4qj6sa27B8B4nN4yoj64yLWz+8AMt/nkCQG22BzGqFnUvoYfwa01Y/DF4qirhH+kxDubovytlbifLNn+MD2Sb7VNsv1JKYQobgkSkdmAB1LyUVLfh0sqM35aiatmQEj68PAn0W+r7GgCI0E8O97OnZDmbKkC1Riqt8Mxt/aAqqkuMGhEYATEGq0n51qaADQRv2cLjethOn8crbPfY25b1W1se9fiJqB2H0Kbe7SEV9DodbdKTZI/49vHBPT5Baq/G1G/XRuT5z/ZAPUpD8158XB6I29zyD7U2REzhh58EACBAg9CNCxExhxDcEUrADJCmSUPkoUsxcQiREGGTomuTEH9A7Q83sS1EAKBgJET0kGOQi1j7Et+mids7MBEwY6ztYq9OMBL5fPD24AxBwEzvOvb4kKMDYCnbvCw2UheVLO2+bI+ZmdsIRf0sREQ+zVOseDwqRWOIf/rTnw6HJ2a+vp/+8Y9/nE6nlBITLuvtdrtcz5cvX9+8ah5CmOd5KRmBwax/Hq7X61qyWGHmcRw5EDAhW9d1gCrZtBQAWObb5XradckV5VSVMLgt6MfHR+y74/H4/Pyaum4zdQIANyFS1RS6GOOXL1++ffs2DP2f/v0v8zwz49Pn535IpWQrllICCKWsqpZi3/ejmbkiBIAOw8BMOa/wg1wJ7nY7IliWBckQIGfxsgoza6vUruutrFMXoXQ0zYUIjsdnX9MvLy9eHy+lqOTT6cQcwWjcjf7pbrcqIe9VtJzz6XQCUKLw+fNnwuC19uPx6OTp6/VqZpfLRZv6m+vqxBhdeRMfuOldDDlnM/W53q5L0zSN4z4wckAKiIjSsgXmuJXhXUzmAbGatVLTtv183yIiAiEqMPKDsFcL5S261N8NjecKYAyo5IICtdusAASEWOfJqmXJI2Ju50EdIN7CUDsv1XfrBhH88MbAhmhIWnn3rjawRRYBRxBthNFLwNs7axOCdDOs7Wz2gJBzpkhITDFg4DT0u+NhWpfb7cY5jpIR2Yf2rlP+8uVrij0SHg9Pfg9zzj69sK7rMsVS9Ha53W43M1NBIprnGYiLXL5/vC9Zx7Fn1HRMCLws+XqdQqDdLltnmte8Fh8jOZ/PAOCzE24FcDgcQmQgNCQDEoMioBYMLJdWvVMCZCAwRDV1lLasZZ6XUkouutvtmCMzI7IBVP9EIwxIRMgBiK0CIwYEg6CmbuzS2iFIRghANWxvh40y1tRRVR2AggkCby4eLpBff6tKhSAAxdCZosiNuKOQ8roseZ6mW4zd09PLfn/88uWLiD09vQDQt2/fdrtdzhlxeXp+Zma/YzG6Bnnsuu46LR4tPZkfx/0wDOfLZVkWf1hec3Iw7f23cRxfXl5ijAbg4kJm9uuvvx6Px+v16lbHfZ9++eWXw+FgZp5OAGoutkoIKQQh333D0McYu6En9qpYEFEwBGIfmWVOqopo3JRh6vHssFVVG6u7Vt9p8NusqiEwYVhVXHgOkUWKqsaYgALA4hMohMGDMAUGIDeb2+/3hoBMDFSFL/sxY+2LppS6LjZygq1rBnReFjhQbl19JBbTe0WzBQn0T9eq7GAqzrjlhxmtHw5+aprZ99qtEsGDKkgdp9l65maC6NILShsj2VaEanoP6iQQMCAVjwp+rJNnFohoVk0AVEzd1kcRACiwyNajKw0Bm4o4PUZEQEsIIQRWRQUsahHJC/qIaIBADA1abLAeqtCZ12IrAlGBIqpSgENFFIRQW7JRpFZMtxoNtvjsOvZmpgrbTJeZlby26p4BgECdWxUwBAvmqZ/5nKWabv9tG6kAwMwYEQxM3ZhSasyF6hhKRKggelcKfnym7X8REbVJvvi/AZGKSLN6fVwPVkvjd30wv6a6eOx+G72k8AiCH8s821tRneuoCLUefFrr0MRAEKApQvoIBNZ8oNa7yW0EEBSrLyC1HrK2qjkzNnUvCAhiNUPYLsbrSg/Zirbr2TrYPi6MdaCzHUwb1oeH15YbPH7TP35VbEACA9fdR4M2kIaNXAK1SvPjJMN2ICLilt0+AvfNsfbxqWFL/LaHfn8EZGZA913s1WQIx30XgkveYjNuIDObNccYY+xCqHMb3nwxXelfau0A4GJhj3cBsYpUEZEGYvGkHzaBnnbXyH4krkDrFDgV73FJ1bbPPU10sU9Q9Q3ORG6OQ2Jly6X8ljpMarrvhOjD34BYdVUBzLRJMTWwlUWdAfzp6fDy/Onp6WWapsvpen57v12vYAImyzJN07WUNaSYgBxBzvN8mW4I3Pfp06dPl+vVrOqdUwwpJdGiqn0MzGxqGGi+5UC8THOfutfXF1d3IiIAXebsQ3Vd1+2PB2J2K5Pr9fr29uYyNcMwDMNwOB79nwCg6zqT/Pbtawow7oac51IUU2LE08cFkQDZDEWkVDSGsspjdNsSg91uKGUFAEDNuYCqiJTiMxlhHMeffv682w0fb1diyHNm5uPxGENnhjkXALzdbtM07feHUgoreI2QORKFvFYWox/zPmjrGmqIdDg8lazfv7+LWN/3Zng+n98/vt+my/Pzc5F1mqb9fm8i19v5sNv3qcPDkZlvt0sKHJlCCKJlmm+iuevj8WnPzKoLc41GISQwlFKQKdTWmBFR37uhZiVTqarLpXn++LBF7XFfIdk2O9UcDGortpZgzY89U6sKL0ZIRgBBzcfgaDtRAKANft87ttvL7rwahYfw/YcQgI0S4Ovft7BR2GoQ2kT3zQoR2V0W4M4L3KpiZqauv9vOA9+tbUDcSaKx7/v9fu+6DQBVWzCLXq8LWqW0IRAz+1B1CMG1sRHxep3Wdb1cLuIjnqfzMAzcdXmV3768XafbusLL6/Hzp6dlFmTeH465ONAJYFQMVimX2xSZHJs6jS1wVNV5Wrru6Mo4IjZPi4sAeGKCCGbq/vZExIGcz+qSR95DQ+ViGhFc2BtcWxkBEJAYmd3utnpmI4qhAnnNVlRVFNGFrwm2+hDeH9yD8HIrwzcWjffiEJk4IqKBQBEAEBNAXNeCyECRKAXuP/IZRBXM59qtCfOHEF5fX52M7gT60+l0PB6Zg4vG3G43T3GnxRlriVuxGQB8oHzT6Difz40w0zvt9ePjAwBiSn2XPn/+7BpQb29v5/PZf+XTp09OeffETDT79Dki1o3vbAeOhMwU3HkqSxi6oesG1e+eroeQXKkDAB70Lqo4TIjRzFxXKjAjUSRalsVBPBEZVmqN20jVuWuOiGyGqmJk/sE9Rdn2jqouy5JSHwJxTLHrmTkAXK9Tneb0FwMRi+RSrRa5ERI2lObHk+9fjyFkpqF6n21w/N493/b1FnPgwdrdzMykTkygSynYRrsCs3b+FqhVKiMDha2eVS/GKqaqSXud1VEwA1HZisqPLwUzMWxL15rLTJPLr/hJxHL2YcQQUh8ZncbjbBl7sHfd6AePsc63gNNdiAihkm38iXMCZgZCEwCrx0qM0SvNtfQIUIdwAKS5j3mrYwPuuaiIItxhrlXJARCxTBKhThI79mjVw7vk32MQ9ssGu0tuOBIL3jVrrw3/uNTc9v0WdR8VO/DxX7ff3RoO1io41LK32ppj80DTmPboPWDv/LnZ9gNwB3+A2HR7oI4jI5CFuy0ShkCIjvLZRRT8z3koAzBGJkNVRK1NXkVV1Ri8AKGuSOGFf4CKwrD9HwC4DCciAYKqahFFRWZENNWqplobVgpNJOn/7Lj8P9tTRFUSfvvmNvDw+GOP77mdg1gnH7ReOd5/GBtwV/vhTe6Y4eH7Py4e9eWKjwsFILy+/OJ/3VuECCRipZRxIEBzVVuiEEJUdfnFu7rNHxbc4z1qYQVcOR/RFJGhyefZ/dcdHODdHa1RxxCaRBE9EpisRbete6UPLbYN/eNDZrNdHvrIuSdlFGMdRsFSSnE+HwIYmpo12pwq9H33+dPPL8ennOX7129ujIpizJizfP36++l0mqYJOfRj2h+66/WqqqFLl/PNq1a+o1JK/W70KRkRQcJhGJhKkXWZ5t3QMRKCzvMcCLahQ2fCmBkH7Lpudzx4iet8PrtSOwUOKX5+/eTn8fV6/ec//w6gf/7zLymly+2SAvRdYgRFjDGGEG/TWooOQ98PO0TMWcpyA4DdbjfDjFgjqReSQwjDMJjJNF/9qc3ztB93McZpvqauH4fhp59fnp6H6/V6u12ZoohdrxMYhZC+fv26rjmEUIq48RYixhgOh8OX02m/Z1V4e/tgxteXz655Rxhi6PIqUuz5ZW9VSyGs68osXRf9JAaAYRg8TfdKYdd1Lh85jqOfTDHGIllNRNwtL5iZG7I4uyaE5ABoFXE1a0censt5+X9bYKpal24TVrlvMK6DI7VQzeDge+PAGNSsuu12b3krItSw7GcLEnL9HW28L2YG+yFYbHtnKwD8IZHAau8CG2HRwUeVha8g35VeEQDQjOHHsgHTVmb3FevjfX4kF4NKCgwBPNIxYWDMZTMj7LohhOAShHktzIwBI3HXRSJ7OuxMMYNyIMR7ibee4lndNjhLMcOiUBQ6NeaYiyxZOVjJWISJjIAC9zF26zpP8zoOHWEIIZnZskyfPr3s93spusyFmUu2ZZ7TMBbhEMhU5qmUoo097FXtjIJZV2aMEMws5zLPy5yLGoQQU+pD7GLqPaoaACBDM2MWs8Dbc8EWmRicEGtFwcCADaxJyZFnfDV8GQCXUlSEQ1AkRUNCBSimqygZEGLwMwagJQiOF0uRXErhmH75859ijN++fMn5Rszeo4sxLuv6cToNw/D0/OzEmJ9++ulyva5rdtbcfr//5z//6YBeFXLOIuZU+8vlAgD7w8GHcLAx62KM3z/eRcSHUL0A//T0NA79+/u7ql6vVwDoum4Yuo3P+ttvv4lITHw6nfb7vYjE2LlurBGl5rxrhiFQSn60ay6qYkAuSOWrXgGoyYZUGow8iGJZG4Px7VmfNVc2YIyx7weXGDJCRFZVMJJSTNc6IFGtjquoorfWKQbiuO/9ztxSSt3Qt8lsNIQsRXPJORM2BIyAtV1eFR7NzOFRG3q7M0ygUiNq5fW/jQD+RYzRqseIbVXGDdLVQqlbPKJngKWevAqGm0MQOtnWWbLWcnVEZCIAEsl3SSnEjQsBhgoGIti8KUpWVROpNXutAzNYioqPeXNkRmbnbgZZl3UpgcWRPbY6sQ+NuBKkyv2V1UgBDQFUVLKKN9gjUUQIVGvARMzMsUvztNY7gZUbI2oAsKzzY9hsN/weyRvRv/7MliFAAFSTYnofNr0/oHZbCJppjN9QbEk4AaCamGw5ld9waCnXFv9VXRPCVYDvkzDQ+uFbQ8m/drC0JT+1ffHAC6qfhQEAtgIwNQ/BP4Babjqk5lwsq1MFTgBvP2nOM1FVax1gR89E5K5V7AEKwVE9MbpSdlt7Xgi+O60S8nYYbRCOiByYgaloBgCDWjj3kW6yihWtljwAmmzglrL580EM28e05oeFiM76a1jRJQNQRNBrcYBo8EiLcu9Ef3ckQAN1FmulQP7QHkck+BE23LenbPKa96v6YadTDQz+/ZBSsjpoHJwjJWIiMk3XaoWO5BmtBwUEBt9Lj28KYFpwI75tqb+aT7sjInN0Rzcp99nQhy1Rw+KGbbY30TpGAG0DgICICKJtSGL7PNvSbL1Ttxl5KCFj9iukOi3Kqr7EK4m/3WVUMyQlTH/65S9/+unny+Xy/v2ti5EAtch0u+RSrrfzx8fHvCxumjkteT+k8/lshBSSf0a3fghdil0XQshZKooCTF0HoqWUZZkYTUXWshKoiBEGA1GBTaZwHMfD4QAhLsuiAl6+6sfh+fl5HEcvI/kBKSLuXzhN03K9dF087ne1x4phzSbKIQSrhEUsTS3rdrt1sfMBUHdxciyFiGteqNJmsqoCqrXltTuMn396CYTrOonmZSnztUjBdV0Q87KsdSBYRcSmaWKk7vAyz3Pf9+fb5CIB+/3B9S5dxc+JRlxfcbrl8+nivLQYmYgOh4MHLL8zNS/q++v54i0CR/BIUNYSQnCj712/u16vInnNc4o9IhJ3ISStRSBv+xgyMIaNZrNxsQBqAXWrhtzDHNz3p6oCsMdZZz87h/1hd5A/XwBwkQEVEFNURfRh69o+MzAE9Nje/tzjzgO0WsXXSuetSfB957eSrZ/lYIRU4xmognnXGwhUUVuBSWpwQ3SyuJmJShHX7TJVBUr34AUAAF4G2wT1SykA1XDg5eXlepu6riviRra8zNJ3AyKviiJCDOu65rLGkFoSDrmsALoskyJ0MN7mZWcwjtTvxqI0jvss+Pb99Pw0Mlpg67uxYiAwJDSzdS1apu/fvyPyOOym2zJNC3Pcjfv3t1PXDYQRkcHqpKg/X4Bq/+xKuDEFr7lqG233omtd0AioVH+R0c18mNiArA7t1fukhn5aEoVKnUIyIG//Om6vlYOqNIdmULISefblfJhKRRYrygRFDaSaoKupGDEy4Ipwu91MSs4ZiA6Hwzytu92OiC6Xy9PTkwNr914opfznf/7nn/7855S6eZ7f3t7mef7rX//69vY2TZOqleLSEauIhJBqBRVgm5pFREfn+/3+l19+8eq+d1ouUr58+RJC+Omnn1wfZpqu8zwfDocvX76Y2TB22/HsP4BtMB2YvF8nYmLqGUJelrbpKJeSs0/xkjOziXgbVzUzJ6Nz43OLiBmEEBEpS+HKMeMYKXAqWYGp7wZVleJICIgghKBghuBTHI7jpWIGam/OFLgfh3y+eyRvAYGImBp6rjMJtRDQwBm4Clrjr9UKLlU55x969H840dtfqeXY9p/aOg/1GkyLPvyeB3OyrbfT4GlVT1dVMzEpWs9fVaJirRGNlcJarx+QUKh+BEREtCaTouK03koQz7k4VwKQwCivKgSImFVWKRg4xmhg5p0llS5Ej+eqWltwzrbne9tfRHKuVh5VPR0YwJGDUGBsk7uPIdpfa17viEUcliAA3AE6gPsJPL4QESB6jVm0NiseIZpvVQBx4N7yKNl+gKujPPodA9/5P3QxtDUi1pxzCMnJIe5gsD1oX5kGoFBthHxmQPUuzkHkBf46RGH2SKDfcsL74tgONWhNjwaxat0G7jmKr/NKsGFmoI2gvx1USuRnmKuE+0hAhdcifrWqkp3xga6AT/6XbJMbfby3vr/8CfoG30Agm1qr81Jj/vzhAeFDoX2LFe07j0+5Npy3N/8/2Xr2+J5t/ZvfZ/hxZOJfEXm9Qry/7t/8wx+i+zhESB23QkUx0+JMHoKu6+ZlklyIoOtje9gK/PjUaxvdzIDQgftW87YH8pH/MDOTomnWH8fp2lupiGxMmO2d/YvwMJSjj0PBRmC2LXkExmbvtw0qcfMmMLPoeB3uNYmKeAi9olDXnxPpsv76619eXz/fbvO3L1+1lDmX9/fvCLau83W6iWQKOH/MAng8vPb94JIsGFhF/WCDagTYbxKnMca1ZJGCiMEVxMVHsEpe18PhoEV8JiznvOaZiDY5Qt/tpQgA7I8Hz6kQ0ekit9vt69evMXJK6ePjo+tjYDZRb/IisgGfL1egGIFTSgB0vV7EbNz1IYRpuSVOfpOpSa8w88fHx7JeY4yuJuaHvZOVieN+v2fG0+UtlymlNF8LQlyWCwBcztcuDb/++uvf//G3ZamyU+6M4312p8e8vn7+6acXpxh5p15ELpcLMxMdzexvf/vbly/f/qf/6X+KKbhgxbzcEPF8Pp9Op59//tkVoL2q50tORKCOTygzdt3w/v7+9PLs8CvnLMX2+4Pnxl7ranFNzZRDdLr8tjlrDcNlZR6KKxs0Y2Yk3Maw2L1dFLFFHV/nXmsXVQR7DJfbP0E97Cuj1JeoG4vAg/1Ee1UiZquu/RBNHl9VPvlByFKBYKu9iwIqetWgHVSu3Lq9tvkbESnNTsKzuwZK0PkY/v7e/fRn0QyzuJRigDExsXUpJYrn83XrCYTI07RO09Qlmm9XDpRSEtV5npcsz6+vIVJIqR+eEPh2vUpeEPTpMAJajLFIFMlMMUQAGHf7/fXkpO1IFFQhcIfI5/MUsuVsKkgYUup9B5lZioPjDEQtsq7rHFMIgda1hBBiSlsW52kklnpIKBCREAZmNgNi3G6aFybrE6k3dssTGm3xQbuWCD0hQybJlZJkTdCwQTqub68ZAMiousFDIcAYo+RgCNUPGGCeT67X5IEo51w5YI0q8L/9b/8//+Gc8/F4TCk9Pz/v93tDnuf527c3/7wOv5y21w54VNVPnz5N67Isy/v7+zRNvovf3t4CVwOmEMLb25vrz7hgqCsbGsKyrrvd7tNPn80z2GIqEDil2DtKTin54JpjOKKwbVhnuwFQzgJQjZl8q/pgIjYKgTRpES/GuxCkrw1mXpeyrqsRhxDmaVXVEBLApGBZii/mrZuHgX1MM3D0u6HNVrNG+MTt9EGvGIYUkMlnMZGpImtzclqdYwEABSUKZiCSoVVqzYxq9bPyOLcttoWODcFABVg/QJPmyX0/iz35UivQ+LvbD1vrYzdC4GZocOfymleCwUQEDAF9VNSsqcAFTtsJS0B65/xUHcMQEAPa5pwIzgHLjgJVdVlWRAw72hKhaZo+Pj6qSluK2w0vRT2zFB+AQGSqRvdFhZryj4sZPOKWUooK0OMEU/uMlV4Vgict2poPnrg2ZOIh0bay+h2ZWa2/tOqM34pHHmNN+awyke4sjhbM1Zlp67qs69r3tbC4mUmZmaiI/mBivUWVDSD5CagGTqmoy+FfJGty5cFarUw3Tof3Me6YsmE/MbHGA9wOQSJ0ZNUuQx6iXaUyb/PEIkVEGj17u3smUhPsx9d2yHqyZOaAz5vAjJjcTKrdQNn+yh8A+uPXj2v+MePdVsj2Ax73HrPx7d22mRN8eEHFaXcZ5cfVpU0Jxxr0JaIt0frDdcKP17yR3QMouCW1qTITYihZzRBsTYG9hIaICKxqRFzQ+yl+1tQ8zMzcdqZdEJoBcxQwXdz9LhIjAITATDipSE3cPQ+TbQU8Xndd2aImqkVaXiXt0CoAoFYMFNCLE669gMyBwM102KUDmNk9FLklES081fgoWnJee5cTURNVIPzlz39+eX5Zp3m5TFFTmZdpuVoub6dvy3rrh06FPz7OqvCXf/vL+XRV1XUthjx0IzL1fX+53Apg3/WhTETAkTB2qhoCA2aE0sVQ1pXN1lym24UIQhoWmPoUABTFFf+oKECWvu+Zgks9bLZKqe+IKMZExB8fH4H46Xh8+/6dGVOIVvLxeBTFrutQ6XyZ1sXM8soQelvXmwIcnw/ny4dPdjpy8KrG4XAIgf7xj3+s69r10ZUTYoyBeFlmX3/cdRiGrN2y8LKqlHK5nUWUCLuuKyX//PPPiPrx8e6mjOu85KJI2h2eu6VM83rcHz59+pT6SIC//PLneZ5T6gGVg3IwgKsIrMv56Wk4HkZAvV7EqKQORUjVxvEARiUrBxvHcZlupdjp9D7uhvN5vlxOzChCfRpeng6nj6+xSxwgpQG5n1YIXaS0O53eVS0mUgVESCH145D6jmMQET9UHVkycgox5+yRlog80rlGlRPrQghmoIKmFkLtoT1uVzNrrWcTKQAIEExRQNVWosAeR/zdm34Z1gJX8WY3qDCzKragWet59RQXBKi9lDBEDBFC1FIwUDEDsEABEFVRBVRNKiQCVBPNAMpIgIYKaiqSS8kiFeSJCCC7kcuyrKoxpd4QQuIQqBlgLdN0da6Rn+WEZIYBycyIQ5eo6+zjeolRc55VhJCluCN9+fY+UWBGBE1IcZ4KYcg36SNY0DREMgo3AI1ow9tHPu4hhND1e0ZQzZG70HMMYdgf+t3ow4Kvn47fv72raupIpWheAcCCrrkQBWf/SwGDEiKsefJ4/eW/vjFFoyyiz8/P5/P59fWz2UoY3t++U8AQ0loUKXbjLgYEhBAYUbquW2ZVRQqGZKWsRMQEqkaoAMpovjACkgRCxRBSCJ0r7ZEFgFIAipgRGUABLKWIGZpdvfBsoFq0FG0eQ13k8+0y9IkjZ8tAuJbspwUzn04nRJznGRFTS0rVrB+GZyIRWZZ1t9tdr9d5LTVyEvV9//PPP7+fPnylbYrs87QWU2beHw6O4Uop7+/v4zh+nE5d338+HNa8eCvv+/tbjBHIioqYBuLj/qCqt9uNkZ4OR5NyOp3ST2yAXc9qa+x2SksaMfTCNFpAC4jQReyHmM66ZtHGGjcz69JA97kLyjmbbeTvSlgKAUXEOfTQ9FhKzkRBvXiDgaioqmte/dsvf4E2htH3o1OV+pjyWrz9ImJEgYxiiFaIMMUwSDEk42CIxgHIkBEQ1LeCOYzykj3EeZ5FNmYtNyaFM/QAIRBWYVYpBt4Dt7IlJLWApUaAxIHYK1BNudxdU0x9QonRoLo5AyFqozjXIVQTxqBFpWpHbhkCAtbkhygUU1VPMMw7aZi9Atr4FZ7UueFuLbU6JDJTLFmJKK8yT6snb0SkJayrmgnSJmITVPUyzUTUeTGOA6fufLsK2MihFO06B4LqrKRSis0UON108oKCFMsgzCAiy7J4buYjYUW0iKqsWCqiCiGslr0o4+BB1bxW5SF2XjLM6zAMAKK6ppSMuBRx8QBTqR03U7/5ROQiiRXYkCF568PAjDACOoXEcim+Q13mwbVWxHRel3XNALjkuaLhvFKoZEpEMhUzMLAQGNvEGiICqlfZzay406SuZsIhibjBZwDETbwO7j3braCg5M0+B/6VB0hOzCMKjxgX2sQwMz0WoxzNMWBddUTc6qoBiQhKWV2CAQxQxQgf0a39iN8RwEcKPJXCqpZIZRWLa4yRmUwNxK0MWFQDkuLWIGoiDaqbXNsGOLcP/giyH/zL8nZzNpiuqqU8TqH4NRKRbyvbcqdWpzYCpJZj4JYtyF3/x1/EG9anh+oeKjritdDgQW0ato2qXsqFptNZZEVv3N+n63D78I8JhCdDsKU+aGq6FiUlRAwQEJECNkOoP9KAHsZxWi4CVTsWamnKAXdpv3jPCNtjVjMiphCC+0P5+7ikFGPra6sRYCDWIiWXucwhhEU0Ehvh/un4pz/9KfUdLPrx9g0N5vV8uX6I5Pfz+8fpHRkUXPIfXC5wHEdOaZ5OXoAU1Zzz6+vrtCwAsNsdnIZERASGzLvxOUY2yV++fGHEeZoC0uGwW5YldQkf1HKozf+pKqG57KM2V9RhGHLO4340M2RKIRaR3WFUVQ+LIUYAWNdC3H3/9k6UCNmpJl6nX5ZlnudPnz6VUvKtmFnXdYfDoZT17e1cHUaYHZK6sjKiiwzwuBtE5HadYhhi6K/n76Xouq7juLvdbvO8uCqliD497Q6Hw8fHx/ny0Xf59aef3bgxpXQ87r0g581BN4XpUnp5eTKYRCxEnKfl4/TteNw/Pe8/Pr4pEBENQ//6+mnod6fTya3Xnp+fvTV/Op2cY/f58+d5nnNefNcvS06dhABdl4ZhF4Z+WaZlWWJi5kQECgCEm5gMeKz6A0EFaw/vMQunNqqzAWhojXJ4SPF9v3h4fQxMnnuDhj/k4l4O2AwKCAMCAiogq/7r29YeogH4A3LmvJQC7UhARLevAyM0KmVdlgXqSoMa+cwUxMzQil+Dn8g551JEat5dZ3adgsmxqr/75/XaJwDM8+xfepwAAJ8TmOd5WZbYH7xUlnMWmUvRLKVkZSQlSiGm0CFFwny53b5+/fpxpqfPry/D2A99h68qgmjzaiLqGUIMTMwxJtV1HPZqiymWUixZ36fDcecjZcuyEHlpR5CQ2FDMTA1lXWdiN05fY+z6Pr2/nwC5lPLx/l+HwwEsfPv64YXbedEQgmFAKvhWMNxS1w/DrpSl67ppml0oc56nw3E3DAOQ5JwRDQkCsbdiY4g6Z0QOocSCiQkJVEvOi4nbZBkwgSFZEslSPACq05pUtRRxH2Ia+1aRqimcWwh7BvXzzz/P8/zbb7/5U2PmYRhaCZ+chQ8A67qKrS4j45qPKfXOtHG6iFfcwSj2nar+9ttvzMEnuX1Aue/76/V6OBy8FOrOXM5idxrMt2/f3LACEVPqENE7abvdbl1XInKdSuaY+iQGrmIEgAjMzCEQM/tUrpm5213lzzZ9jxCC6lafAwBw+UvvMLtcKVhVzTPiXdz5slTVlHqgW+q7rotmghhKKbvjgZm/fv2aUmrnOpWiphijtzJS0Uqs9/cXKWsWTyRcwPjhvCMv2T6EDn48DdsXjyQB2FxQ/gAyoCmQ+i8xM6JtTYY/vB6gBlbKeyU2sBPkPPQ5UgcgZtzK7Y7F/a/7k3qoQOP2WWLoQgBDUKmVY0dcBLgRXJGJ1IhoGFLWVYquWNalxFT/evHhLub2iTClNI77ruucXKTqf44RGIxUgFLVajSzImZW2qWWnKUUVayl6Fx0XVcm9euJxClBiCR+O5C8vdPwWfEvxP2hAcD9WFoho0VsFRGyWmhvt+XOpVFVqDTju9ju9iaqSu3Q0TYZ3GBAqLQd05ylzq+2Mo2ZlaIAVXigAl+9qyY0bIb+oeChhm3eyrMftAf8RxCRN2GEDbj7EqJmCPjjAss58/2b/hxMVOleKcfHX9lW8sOC9FUEG1HGWmLw+GN014RBAEADE1XE1pr2xQYi4iqRd0pS+92HT3rfdM742I5gAPA+ATVR/+1mtsu+X+EjCt28UDaEUP+1+Q/8t7uy/hjdGy+PgP7xt4KZQiP4t+CgZsABi9zdzqHhAFN91Lhoz3KbALg/Wv8BxZrwgQoiFtMQgjrJH8ATmvbj/lxrec7fUFUfhqTVZ/5EZHsM22QG4t1UzP80U7xjKWqCO0aIWM3ofRwBuGiJFNXAEFaAw27/y59+fdod87pO17PmdZnOp9NbLss8z9/fvqjCp5fP18s0z0uIcbcfzEwRpsvleDz6ypjX5Xa7vX7+ea4e46wCChACEQVCDUh5Xt7evg5dV3KWdQkpSS4AwIBLXn3YgIhi3Hgy91XisXXYVcnIlNLf//43kTwMgwOvEIKfdB7d1qyQF1VCDshJJMcYd7tdiPT+8bHMGQDmee5j58wiM3OJxhApJvZoTkTZdbIQQui6fpxu88vxE2EvutyuZbqt4zgi8O22eIz49u0bAOx2O2/N/+Uv/3a7TbHrSikh0nKaxrH3VOf9/T2EFGP39PQUA8y3KwAcj8fTxyVGNsPU8bjrzMLlikVro0pEclmut7MbaogUZoYq5hjHsSei2+1mslIMqorAMQzdsI9hQAjEcDqdi6w9jwAqBsw0joMPsFZMA384Su/0wR/Dom0xHSp5HbVNBbUqgjdF69re3kE9atOd/2qtSV1nktRUt8S9ctNVtfLR7wy8+rubfvVGNfS/wty5M7ne5bZI1SQXrS7oRqZI5p4gXE+Lbe2hH1LV6Lt1nM1soPFxOsIj1xbs5nXxIIiIhAxW/FwRvdabAC67Lq77DshO+SAKUoBDIaLb7cSZfvnLr/7mu11a52XN837fy3pVLWaBiELwmbTu6elJbUXEtUgvEkLouigiqhZipwrr6ib2GAJ7b1pyRjIDbaLCMO6GeZ5zZoqRsKjgx/upSPZPermu61IEIIYudbsQEnJgjuOuW5e83fmu636/3VIKYRdUtTL3FFVBFImmhDEwM+cQ1nHX931AAIHqm2lmrrdnm2oBIiq5kQ0TYYwiyM34RkSYKYSQhn6/36vqMq3OtzgcDtTMTa/X6zAMT09PPiQ6jjtpUraX6jJrTvNjjgr3/vs4jiml08dlmqaG16th2eFwOJ/PaubY/TZdfVM4IPbA8vb2piK73c5VpDy1UC2//vrrktfbdBNTICgiIcYQu9R1wMEADYiIYhdin0IIuEipQ3hI5C5HdU06znPPjLahkChs+s1ZihTzWuy6rv1un1IyRbemUjAR2e/3IjmEMM83Vy+QojEkMByGIaVeVUuZrU2Qu9dYjFUr2bd5jDFGNtHmbeqPj8EHxkDc+PMRVSCQi1tD3WiNzAFqdlem2gCWmVVFW0RHElQbevLjSX2PXQ84CZjZQGtEEgO3lOSALmKocA9zhgIO7xDRH9ziv9h1AwBYi4rDYMkqq0RE1rV4UUaLEJEpIGLskqgKaAxixgpYRHMWJKvMKM1lrQUOTyP9mksp203zfCiqhurimZmXGKMZMggAiBiAuz6VtbiRixnWGjy2REUpiFg1q8FadHfQtYnrL8saiKWokAKUFvbR69xUm6JSzLiJbVBjWdTCttUadhFxDOQfyplypkpNs1LEpNSbvkmBQeP6YyP0NsRlD48YzAyh+vAoElaeJ5kVQIox+uxEu35/ZOABGe41JjKDZV3aMvP13Iw8OWytlUf4rurM7jrTHIJLESo0/4lNVgUeaNKPp952Ye0Q/KE4VV2YGvp/OCtBVVHQeKtzVzJnnUoz2dAg4g8pDTy82iHrTq31OulBapnaWEv7u7Zdw3YftrfdHtP22m7UA+69H9D1k9oPTB78ocBX04A2WkuGd4lGRcKEjBahAkQCAGanD2bPCRBxy04AoE23/JCBbTzI7c5u/0SPccrhQnWIvd/Z+s5YuWKqapUA56lwfcTtLqhqEamqxs5X9tsh7vNrCNAaSX4NAE5AdOxbtChCv999/uXnp8NTvk7X03m+nKfb+/X2XsptWadV5On5sKylZA0hEmUGGIbd+XSlGJ6fn9elmBkFjhbXdY0xPj09AcC6rma5G3oETiEw6u1yVitgKqVcT+dxGLquy3np+17UW8AZAFwrmplFLOfl+nHycDwMw/54jDFeLpdhGE6n9y9fvhyPxzXPKSUXVcxZzPB6m0NIInqbSz/u86oAtOQVmVLfzfONEJ+Ox/m2aLHxMKaULpfL5XIqpXR93AbGvRW1LFsNY2UOTy8v43BEpet5nicBCFLKNE2lqCvEnc/ncRzddGmeZwykaqOLVxwOt2lKXchlGcfR620+5rssXvAL66LznH2mcOhH5iiiwzCUsvY9bBW+dV0R7Xa7lDU/PR+Z2cVniOh6vRpIGvq+75FYlfa7p77br1mnZR2edyI5RpcMUxUNofMOQ11ervuxkcjBCBF8nL+REdXQmvrVH7D7tqDrm9l9CzTgXg+3tuC3iHBnyGGTD3NTslZiq3/9DyHAL1tUqbJ5UFVdQFdErBREZIoVC1b5cRJCFFJRNSFzCVRXSfZdY9vO8lksUTc4Q0QUkXmeY5c8gfQKq3+6OtGxrlaVNApRQKwmpq4UhIioknPOZTUDopqPxZT6lCiEnLWoDEM/rMu0TOfzef/81PeD5hIixtSvJZtJzmagMXKizvsD+/1RVYusIQSvuxAjIJEZoTveOdjjTa1BSiG2eb65VELOixk+vzyVHM/nszv8FVnGcTyd3z9O3y/XqyowxzVTlgtSYgopJSkjEeW1Ft6WmWJkEz7fvMvUq8G0iBmbe7dC3Niru33Z7/uYGIAlz6JqIAZgoKBitdEciJhIzbJ/4cZ5BAqgbrEAJkT09PQUYwTFdV3/65//sCKO3Q+Hw263e39/F5GXl5ePj5PXud/f372Pd7lcbrebd06GoWZiLhPZ970/2aFLdWJE1AsBrkV7OB5dhbPkDAC7YQQAUCuSY4yStZQMANWqwkqM0Sys65r67ng8lpKdAQiERW0I0QBFEABicPZjq++goE+S1OMWoGrb1e3TxGSMCJn5clmYGSk0cQIkIuevl1ICpxBCljLdJiI6Ho8QCqcIeWXkdV1VrBtGVQViBctFDYgjxS5R4PU2QVmIdl0fuy4CmEGlsjCz11MArA6aKwIYUSBqtbQ2Lli/BvQZa6K7ivl2LLbNLttooDW2NLQi7iMuqQf9j/XOLbwEqGMqBe8aJohIGGol2N2X0AhczzEDgLYvzDAE8fdS1VUKrMvqswFILkzkYlORIgIVyYaEpToSiOC6ZBVyYqz6WCAgGNWBeABiHlLqcFyz5JzZUIpKUWIfC+EQIrNrRAaiAIie8JT60iWL38WitQkwrysIMXPXETMVdXFeZfRpdSYMRVaRLRXkogKCKKTAUkGek41qRq2qZpLduwF1q194CdynoxCxFHUWTUOSXjjwZEBhk0UHbyZoldbxg0PAFKvFhv80qSL4nKepEBiqqzyDTzG5joOqEoc2CFEnwv1vlVKpINTIxPeikqoqbA5NzBERvVXSgnzEh+q7f1gvA7U+hFmdgrivTPyxYN+OyB9OsT8sYKKWohCCPcLZB+yOVVfVD1B8SGZ0E6hp2PHOXG/iBF7tJvphkNTMYuzM0KwAoJljenBOeOuJ+UC2H98gDyoxj9fwqNe+vfkPm9oBx48Qf8PY2ycOzLx5rQEAkht3AyF0nBzmevehIfXgwL299ebAEv+Qvri/g49Fbl2Dh+Vyvywi8BLZBsR/+FRERCTqHLus6umOWzdLQ0X31p4LYPszMrNiyor3t0VQ06bgw63wSJLFr+jnXz6/vr6u1ynP03y5TOf3ab5My0VsBraOYy4gCqo2zzNSGLouxpiG3skhPvXladnueDAznzF1Xh0TE1JAkCJaSiCM4/j29Utg7LpOtaSUFGyapmpGgH5ABTNUFUeoTsvpx8EBkzsQ/fbbP5zVN83Xvu93u52XslI3EAVVUwiByYDVhAN1nW9gdYjvjoneLliWaZ5vIsIB/e6bKRqs61pKznnpug6ROaaXTz+9vHyKFOc5lyxd7EueLperiDHF2+1WisTQdWkwxSoKmWUc92Z2uV7e3t6GYTgcDsMwuHZ7CGFZ8vl8zmU5HHbn83koA2Hfpb0H3+tlJgKwBLYwESPlshpSF0MgXpfZ10wp6zRNOS/rip7ylWLMu64/zEvBEP20q2Zyql3XESEibxLyAAZqLaeGLduGB9LMRiRFxKrv3pb0wwLeOmV3l3WAu5chNOW1VrABL5T7kUPkXC9CAC/KVHZHnSKtnJztLz5GW2xMs5zzVhPSIlnNAiAwGvjOQKZgSalALipSTLkmBwgCEJpyq6KKQwcehoStpe6nskPw4/FoZh8fHz4K2XWdn0CxS6WICBApALlDaoyAGFQFnOxp5g1iZjqMRy/bxxgXljXnXBaR9fn5GAKaaYgcmEFFNJdlzirsxLzW4kDE1A2Hg63r6soGim1sxsAvABGBqQ5gkTFh16dS1nkuDtxFBJFTil2fjs8/uyLKuubDsSc+vL3/nteJAhOjChCwqiiwmUgxI3L6lpnkeZaMw8tTJJmmaS0xFztfl2VWgxC4U03DsPPiRfp+HcfRBxxDF7IUkYIkzBDYkIQMEsi4G7puAOgQfTzOYoyyzETgpgC5LOu8iK+lXJz/dj6fvdbedd3xeBzHcZ6rrrmXAFxGnULykOWPb1kWLLVO33XdbrdblmWel32XvPPw/PzMzOfzuZTy/Py8NCV4MwshMKdSsi9455AQDV6DB4A1zyGEf//3f0PEy+Xy9HR0Y2YAQg4ABBAMaM3Cij0BuZkmA8WYXA76oSrUDnh42BTQMAf3w87MmNW3+TQtipSGUVVLroP+OYuq7vd7MFyXEoN23TBNy5qLzzEzxZJVpXg0jjEyu/5Wvt0uyzqZPaWUVMVEEC3nwqnbKq8ApgIOXaAy7upB51jHU0psxdTNacHPxYeP9kNB3UMKN42pTcNEVSsQRtyAe8NJBsDYaDZmRhQ2lKmshLm40bgn8VXVsYBhlpJl2YZNxcUECQ0JkXMpLszCzFJsul69bMwdG4IYIFgpGiMj8DLnpRSREg1j1CCGLrjU5A7FJSQ5hBD9bf37WQqJL172prQZNo9iAygA5D9/uU2uu88hMAUxFCsAtBbTdV2WnNLapy4yEpGBYSvJG0gF38WIaJ6nGM0MQzAvMWDl0mQzwwaHaohuPVt/dqYYY6SqpnJ32dxqPS2Au+N7PUFqt7a56QGAESqCPdCMpZiiqoCGek6p3Icg/egRVTJgkI0ts3HkVNWlMojIlFxE3aooSCqlWNP0RETEgojW5FZc2N7XD7nHkFYvBQDzBiCZBm5XKxUHbjj+ATG6ZnLFvttxBg+vOw5Gw1bkwm3YWhXAJw1+qCBb60Vvh6+vqsraapV1fxaKRmTEuj1caRqGW9l3u4wt7BDd8wR78EN8vOwtE9iu6oc0xrvR/1KGa5et255V1aqbDwgAihXRGiABaOVaAIQQzUylLiMAALubwjz+jYccRbzpUAnf7bXdO4Tt899pT4jo8pH2MBat95RFW+yr3xEtYOh9gPst8Eq/AgAIOM+h3kRmhsBSCpoRMiMJGwk5Zzfn/Pzp9fV4CCDn+TR9fNxOH9fr+TKdFpmWfNs/HZHC92/fwAJAYQ7DuN/m2b3lyhy6ofdnfHh+qlkdWOLgpccQSVWn6xlUisg0nwDA8Q2AMXNRCSmVpQAQM4VYydZSVMWccNKPw7Isv//+u+/5r1+/3m63n3/+uZTiQDmE8P722ziOwIFDut1WU+2G8cuXL+P+EPvQDbEL0UmKXsPr+z5xmOebd5M5YONfYs5KSGVZiuZaQxVF1ZRSx4MZuABHkdU/b0pdyboN5nutxaosWkrdsNvtzpd5mpbD4bDfOygviDjPc15KCIEp9n3/9nZdFxuGoe/2k055NWbous70FkIt1sYYU0rM6DoepZR5vk3T5GdV18dpKqoaUofETJEQYug4BpKVE+ecXUfSveiIkDkAINp9JMS3LlgrObeXNHlERHSZZzMz9g74Btxr9o9NQnLbJg1kqzYaiurjqeyAozTq6sau2VKF+7tt28eX+gZcHgyuiayavHkwjbFD5Frda6NIxsjARIAqSK5LqFsMlSaJGGP0g9y1SruuI6KY2PHW8Wmfy3K5XEIkQFUrXddxcECQVTejBgcodfQ2xphKuZUCaMPYR8TAwGREEBk5ALPtD/1f/vrr7ukIIeQ8danPUtZ17rqOGuVURIpIjDEEZmbaIrUWM6z69nU2j/yDmK2mzVg8AmIcx953tCowg6oyrnnVLnGXdstCeb19vH897MbptuZcbf66biBkVbBi2W6llMi8Lrnv4v7YLeu167KURfJJDQMNHRbRPK8mdl0laVlSN4KFvJRlWpgjMlnsVUuRVXRGlKEL+1037oYiNyPs+y5E6rrEjE6u2HUHK7nImpvXATOP4/j99uamSGYWh/4phNvt9vb2RjG67Hrsu2K6SunH/ZI/XJjVFRgRcV0LIR4Oh8PhAAClddW8lLCu6ziKM7+9UjNN0/Pz8zAMt+vVmzBm4NAKANyD2c2Yuq4rsjq9CgByzqaahgQAatB1Xd+PpqhKxQoYlgSMdbkysVZDekeitWhnZmJVmF8FRAVdtqi2iSqTpBTN6hqF2ZoY1JJXRHp5eem74XK5nC63fjggYpFKJgmcUpcAnO5fQkiODne73eFwAFDRnPOiKkhGBkTs1cpqRerbX70YWS2fWpEbt6acl/S8LtYgkW3nJlQS8H+j8EZNh3GLM4+oZTt2qTJOoWF3dKTlZ5BrwnjWyixmtkrxZZBzVjEKXLtkuWi7VmBiCrJpW/ofVsx5ndcVzWKMRYURQgjeUI2hS0O/LEvounmeSinzWpiZkJFiYGRetTkc5aqwhABoiGLgnUBECCF0HRHHeV49OIOrKhNlca9AzVlCxIBsxCAKQIi8rLOUAqBD6UxQOISAgVh0JQJRmedb18e+7wlpnldTNMVaImyTuNicT8yMmvyuNy0llwrZgOugcOsF/QCH2kvA0GvkYAqo7q1cndrIJywbl4Pa+YLbCGP77CClpq9VtdNq+ekPINJjb1skbdkYIVUsvkkFbsvMf3FLP5yIqwLMrqNRNXARFdClFwCbVwkAUBMNr6D8QefezDaP8Edc6//5B9xoZubOA/XXpX0QqeK+uL2Jf/GDULq/uYhIuac3AFbUWwEQLKj5ldfKmoN8IjRTs9ou2GrHLau5Q/Pti4fT+YeOGT7MhaoJQX247dfFbPN2sMeLB4CwHdvbamuUKV95Po0LquiIc4MzLRWosvmP1cTHoVUGZA6KVACtgfJtlThqbzClClE/vrbLrXq6qiK5kvJBzSy01o9XIlXNBIjIiKrGkrWTGwyatLsBKAI5T9dlrRFijJ9en8l0Pr3rMn18fLmdz7d5+vb+LSRWpPN5YdaSAbRwpJj69/f363X6y1//SiFdLteUUtePXCUI+pSSFPUjBMnMVV2lTPO0zlMMIHkNIaRApeSh60PqpmmSxnJzrjmFgIjLvDoO7sfBmcRfvny5XC4vLy+x687Xa4xdSn0pt3EcEHmalnUth0MkjESByQRhWZZVyk/73hvNAjZNExGlruv7HhWv16vqamYh0podpVUyVYxxXRdmJgYj60KXunG3P3bdqKo55+vttC5nNVnXPN2WzYUHAFpRihExxt6J7GbY931KPQLfrpdhNGa2Nuyoap4OpTgQ+kSspa6OMaQUlhWZOaUUo/nfykVyXkop+/3ezFKKvjOXZRnHoXbMTc2w2kBiIbU8FSLCpqobY/TyP7TZnYrRW5ViOwtbg6dRzLXG8Ur9gjbYShHAEMtW0wIjA3Cy2bYRqDUZt77TFmcdZ4RKbN2E25xmio/1iC3CAgCFu/4uordn0cwbTiW7IhBHpOCntfdVoLW/UKvVBfFDcwA1Jo6hSymV+nf9nBhLKeTCfGou9+k9HP9EIQSgWoTI2f07U+0pEYVIhEFkUdWAQKnb7/epWR4CwHWau56PT7uQ+uNxhxEhICFM0wQmwzAYQhfjsiyujei8ereN8xKliqzrTAhILCGDUMTmykwcmIysnaYzovX9mHNelsWsOuaGQGYSQhSRrhuIaF3L7TaFkJblmmKvCss0IxBzBMIYKPV9XmaVZZnnEOZhiGSzUiEWNARbAuNujIF0ntdbXmZbTRamToHXJkWcXfdNcpFFJPcdl6ejroe+Rxcr7CxxJI7RFEvJUKp5eFlXZoYYc84W0dGzZ9HzPBNRNS5dFg81LYfHr1+/+r8i4mbmcLvdFGy/3z8/P5tz3hCddrzb7bzu4In09+/fmfnz589EVErxv+txxgyWZS6lvL6+DkP38fHhv+IUHREJIURiZg7ERQVAuxhT7AEwixJF8AaUVZaml9K3le/V31I2PAoIjFgRvJ+I3sVyIIiBPee8XedSckqJYxCxGEPXdaq6LMuadV19XJ6lmEQQUzHdjzvHal44uN1uPoBLDDH12/QqYvDiqz60wsCoiuFIaUUl8FRERBxgbE6J22n9I3CxTZtiwz24sWUeANYfMMT22iIP/Ijktp90dIjYIlJhVUUUItImg2h2v7YYI6eOmEWqNgjjXRu36zpGDCFI8ZhWCccCsqkkE6EXXNTtIIFjSH2/+lWVosuSfckRVfVPx511DbiqUi2BObUdFOpN6IedAfmvmyIYGZBaFaIHAxHLqwlJzBDIcpn7IXVd5w4GgVPXsRR1gyoVUFWnKriuqI9Bq6oAUINZIivVWQVirjdWvEyL1YfYF0ZsprxrdrvcR6YTba6RvlU39Ga1uONQytnkqOZZIoUQqpWY9xgfcNcWuxv4VjNt3cg7dkdE0IrguanmU9X8oW09W8NtqhpCaAmqADoxrP5TO/5g+11ExIfqfinFHoQZtqt9XKV/XMit7v6w2s3MVMQTXkS0+v53jZc7XL5bjLGDY9MtmDg1qCUzbaMBbPJKRG1ag+pQ+P3ilLQBV3oE3I+bDhp7nohEmxNwfQTSrtOXwZ1V7mXrUKlshO7TblrzfsDSQoCJONwJRERtUKYJSG30/LtxzCZgCQBgwlXpatPvFJHKVoeHRKQ9vIV+eAEHNEDRbdFsVcR7iNkSTW+wEpH+aGOmWicFfR8Qs23WaAA+tvXTT5/2u0HWZbmer+9vy3Sebh+XZQ0pZhEgBKXbddIC47hHIjcx6brOlbUAoIjsY3RB6KfXF6Kq1pRS6lJ1FFqW+Xo9B9RAIaZu0RmA931PLkNONA7Dx/mUyO3EqRV33YqyyyIA8Pb29vvvvz89PQ3DkF2ooU+K0I0Dxziv+Xq9hdRl0T6iiFFgE/vH77+lFEKoOv7rugLAMAxdSiJyu96sDU06+aHve2byw9W73v3QE0NIab9/HsbDOI5kXjQSZgS0kldEdPNd5wiZmQdTqVasBgDn8zWEsNsdfvrpJwAIIazzoiIA4I14RGOmgCEmNpBcFgM1k7e3t2Xp3TDVaS1e/BMRbRYkROSqMsen/dvbW84r0a7ruhRTSl0WL9uomXAIYDUemVmKfd+NKfZiFh439oM776bs/rgJ/dE/btTNby/G2m77QyHBTSe2LfDAyv3jwLuZqZjxo4FfbWoRsXPM4OEkrnGBfJmz1DO2UgWMcKPvi+RA5CkNWuUmmiMcVii1PVdKVi3EwJwcTBOGFJMHh1KKT3wWy4joFRoHc06c8GWgrX3pS6vrIITgxTxPcc0qQwyZVXX3tAcAB5dLXkfqiWM37vohQIirWik5IpFbxDFxCIAqQoxkZn6yqioihRDsPtEOAIRQGEPDfIyo2+nijG0Pd8wx58VNfPyuXi6XGDv/rb/+9X/8+Pj49v27yLrbdTWsqaWuR8Q1l/k29X3q+56w9CnKutgQxIQC5iy326TCT8efD/v+crmtejIV01xXgxJ6fxxuIkVF0CwFYqT5Vmw9/y662+2OT/th6Oc5pcHHYMrIPAxdSgGZIkZGmufZn+wwDA4RvEnYBf+klnN2fXfCsD0gj/bTNC3L4hZyfqKcTqeXl5fdbrfb7RCYYliW5du3b4fDkZlvt9s20PIf//Efqtp3d5/Uj4+PrktuSeHJQ21GizLz+/v7MAxP+8OuHzBgmVcidtWXELp1XWMXmANTRCNf85vWBzzQxrYMWUS4iSv4LnBOS2m20HXlu/I0EwVOKYmYw+51XdPQy2n65z++/g//w79LsSzlZRxPp1PO+dPzT1e8eTfDnePcx7pIOR6Pu93OzESUGV282IcswcB7d8xk/nUrlAJAyRWrcZs7dIr84wZvp7ttRVC4N68qSYYaT0AfOL7/ErV0K4LCA3Zn5kaHwy0wmmGMVI07kOd1OZ1OnpNDO/4VIXghHwwLOqcIxKWiAbwcqMCsKSUEGsedITs3KYSgWoggpVCfS/Uh5nHYS7F5qX1gT/9Ufxifc/AdGhJqm1pK08ppOCEwR/9/zCymABC7IDcppSzAhBYA1qwrKED5OL2NY9rt+02ooJSy5smzFEQkp6CYt0DNAYaIENpWTOxC9cnxsmNFcEbI6pYXWwK0JZZWO0I/PJraI2SiwAAAhNpsT1VVxGGfr5mNXrKhwDsK0sYkhIfyfCnFMdrGeEFEd+byCbeWh9QzqJSiRtuZuJ1niOxCq4/6JXVNNrIWtMvwh9VkiCspA1q9WbQAgIFTcjxQE+A2PPoHsA4BqTT8WTeUCQXE4IrK6oWwx3zDH5azZXxDgZFYVUApxTdmY6O13UQPwzNEhHC/mIcDGrcJ8sdEGpuqzOOOw1bc3FC7z3DaD9Nxd6zr/xvYCiOAAQiggZm6yCuwurimiXIl2xVmUi2u0gMbfvaioGURwRBijCoKqgwoa5bITMREQOaBqeYOrcRViTJ+QQiai5Ta4a0ePZGQA2Ln6SkRqRY1IVJmDqSmMxpxAB+iVTUCZOKt4ltjGWDOmSl6mgZIyFgkFzSISBz2hzGZ6TzZ9Xb9eL/cbue8UAjLUojC8/Pz9Xp9u14B4PXTn98/Lib69PS0rgVNAJAIU0oqa2BcxIhj1w3X23cvDJNIRMjzLHlKhIAkDmU0IaIY5qxd2gHAdJlZQ+iSqvZ9clEaotCPu3me87J+//5+Ol+Ph9ehHz/OV9F1GFPf9yEQc7zelrwKYIeRMOyg68+XCyOdzqeQ+PX11QzRuEgRkZT6lHrVcjtfTEsItGaBhul9M4vkcRxnnTlSzvn1+fOwG7nrh/2uJEi5TMt5zYs7HJ0+5pQCBkw8xhgv0/dVtM9lGIY8TanrfZiJGYmg75NI5oC5LNP1RoQ///x5WfK6rl4CBCCnxADAMAzH4/F0OhGFZckxpJSSgYq6x/vqz5oZQyDGuM5MRuu09uMYQx/D6BaJSUhDRu45DQoRiAMHUyAMqQv9kJCsD1zWeyXPN7oHHgXJsqJ5hJUQyMw4ICze4JbNvdxLh34gmaEIqNbKHzOpGrPX4cBdFVsk8v6p7wwDqU1nMUTEGII37Fq+TQHJVQG9veS9VTNz+SRQDBQdpHogyEU77sx8usmNXSUguLJ0YAPXmlQVUzWZcgaAFOrLgxoRpYCIqACMrOywaQAAMMpliZGFOD6RItxut3omcVGFeS7rWjwLHYaBIVJgwtB13X5/9IJo4gDRhtT1IWgRgm7JMo69ImEYETGBYEQzI4MQmIgZlbs+V/04BFSRTAQxsBFlkRAaebdKSZFP/imYq/UjEjOZRoOgap5mpUbkQKJdP5rJ+8f32+3m070gkCKnyOsy931PZAAEWHLWaTnP8zzNcRyOqBEt7vdkJrFYSLv3MvdDksIEtgtwOI4B8Hy9ns/vSmHc74upos3zDIbEmAgU1hRjjFF1KroQ0eU2Uw/d836NnLN2YEx4W5dF1v04hhCn66q5pNSv08yRpmli5sPT/vxx8bJoGgbM2Y1pfvnlF2aepul4PKrq9Xx2pwgvmadU+yen6+l2u+33++v1+uc//1kM3t7exnE8n8/Lsnz69MnMPj4+breblIKIeZXXP70CQN/3Lju72+2XZTm9fXCMDhSGficiIlzUMCpFCIEvN6+lESJJMSlGpJQEuCBFsRE1dXDLwK6U6pvUi9GBuWhVj0GyTTmkVQqdd54phsBJRFJKWUopWso87PZAbBgg2unrxSAzByJKKUWLOQtzvF6naZkVDCn+/tu3//l//r+Zwv/xn//R98nFwlNKAIjg8vkBQIBUxHIBKexlRkRCRilernJzH4uxA7O1CDN6DR6Z6vwMIaLPeiohgZqJMhIiahGs8k+AiuqSYhwVDESJyFUKVAGaxRu4/RqaGAYKQGSIyLwsmYgMTA0CoxoIWEjBfCiTaF7mZfEjCZg5hTpUzYCeBCLikDqKHEIISGZY1tx1nZZiZkDRYUrX7/wXpXYQo9OpicjHrhwVRKZ+MCD2kkDOuUZdCERkgGpoCvO8dh0yM3IgMrXik6BmrhZAprCucynr6+urQ+oxdSiaIs1WEBUtqxCGgQOJCBilOFwu5yLLy+vTlK+36xxCmpY1pA6IQwjMoZQFMVxvC9jSdR1zmKZJRfo++XpbRJlZ1XV11Bf8us4CNqSOiG63W0WEMXRDz9kZ5FBhG6GJ5VKYOcREyC41A0ZGNewDQJfGWj5XYe7MiqhZKSH4hKGzpCKYmxLi1ioBEE+cvM6zAUpiZ+D8wH/eiu4hhFxUpOqJIbITNMA0l8XBJtZRLXBxTdBafffaP1VVAzMCRCyqzThASDDGiEae2PhZtpW96F/kEV2OLHC0Ik3hEFQBAxJXLzYCAnqoaoGTXu+1MBFRASIwQCmAHChsmYk6X7SmweI+oQRIZJBi73wKVTVzF+BKIvoRnXumDZtClLu/0EZqRxRVsbJ9tIo9pGzMWffz9rAWmjkAmNlGmAIAJlaodDsXxEQBBYgUVVVNrSKLOm8KLTlARFc18UNU2kw6EXEw01aMx42ccx8u1sZB9Pu7ZZ/UWrdQndUNzVVuNkIQmVW/XK8qWa1cNhYRAiiagYJ6IPZ3I/MvcN8PkTgv63y5XM/ny+XimjBFfb0GVb1er0j08vIiqk5Y7/seYFbVXCpfKOfS972tBdR8Yq/vey2yLtecs6yrgTIzMfscOjXNAe9ig6j3XgGg67p1rYM4FPB0OoUQfvvtCwB8/vw5xujaHWCYUn88PpdSptusasy8FGPk3W4nqCEEZ9r13ei9Qn9SXdeR0TovyzqZi8YQvB4Pl8tlmgURlmVhRj9xg1OGEx8Ou9j1lLqu6xIHXe76r14FTym+vLysa2Hm//iP/3h+fvaBRS/17fd796FkRq+ziqiZjbuDT6Z6vZ+Z53kuKmZ2u938uc/z7Ga0XdeJ1J9BxL7vv3+/+Fo6Hvciss6zy2y7tl3sEhEhBUTmaJt4MxExhS3ldUZvcGIfKIKCCYIRmvvmYGOU3UMAooEghtT5ABM6sbIRtMQnjdrPy1ZQ39JuZqqULhNPk7b3d2Datif9mL7XPatQ7nk5GKC5QhS0TOD+045EU6glh/o9RfQh3crJcQYjgKkJas2pnZMa4n10ZqN44o/dW5W6X/yjeYFfVX0JAbIvPOdPhxBS7InIDUe7bhCRYsDM47DvY+pSQLXUyZTLqiCqEDqjTTaKQNTrMF7Q8nJIaDMwZpbXsoX7GjERrXIV9M4vbaK3hk5UI6tOpULUxxinaVrXOcbo6oofHx95lSF1Xdf1fb8seRgGQJqmZV3X0+lEzE9PT6C2LLfEXazhi27zEvoUYj8+HbrY61LyZQmARDB0EW2c12KamczImAoHUC0hUIgco3mPIgQKMV1uc14u63zp4gEAylyK6jh0DLSuawELxBZhWRZoYr5+SHddtyyLqnVdYubj8fj7779/+/Ztv9/HGPf7dDqdDHGappzzfr/3LPp8vfg28U23rus///F7Nw6Hw4GZh2HMOX///t0rox4uQghPxxfXZXNEi4illFJyjHEpOUbuus7Mun5Q1Wmarlfe7ebdbhc4MQdmJoOsWUQS0nZsE4YQYuCkjEDYlOwIAFUAGvkHABAq4crpOu7PEEKiWMWy2n6shUY/aEKIS15//vnn948wz1UZU8RCCD73b2b7/f56nXIpy5JdqEdVP3/+3GZIolPvG3+dETcTzW2EsZ5Q0PrGyzJhdYOvJidboPB9jG2W0VpBri57sy2f37a8awI+/srDb/1AwIX/riK7/XztJT38QKMSZQIMhMwcYsQQoRWKOXWIGJCYmYfRzCTnkgU4+Cnf9z1TFBEXm+y6tD3ceZ6hUcBDSOMIzFwkO4cEzKuHEIKLAvn1m2oxE44DEaFFDF6IrzccmzNAqWZ2ZgYhhBRj6gJh38XIyENKCJxzvl0nM93vxxDxfD7nVcxwWXKTvtCNLuI3al0W7y46uihiOc8AgMTbicbMvhkR0Yjdu8fJ93MurGbw38xr+p5lDk6GwcahbQBRiQNWMguLZJGihtsoFhG1Qqmvih8oUv6stUrGMdFd5a/i9R91x7f1E0JA3CY1/yhTYw2cOm10u0utyYmKAJJV1ZoyyjY2UDs5D54ABkoPx1lrpd4lHbFRxVoiU4eGRcSgCYv/C/GGmZld2RO83G5tPIxDbQaiRsBiVgUM/DYgMhG7ZOQfj+ONLv4jpcdvAt7Pm7uszfYW/o37rxDZQ1t+e16+lwOHhiQaEr//kIGhu7wJACEpASB6dHBeLJrVAw/JiL1tDY3e4L5sAmpu8OCTr0hAiGI/yOBvzehAPlKtVsf61Lw6Qc7Z8tuNap7xIwE0owFAdDNpC4HU2MxW0Zq6Qi12bi8AMhOnFKhqhMBKy7xMl+syzaoKhF3fy7U6lrmBg+em3759K8Xmef7p8y/uNrquN2YupeyHXYy96IrIJtrF9HQ4AsCUc84rqHKgwIRkigam7O3CKo8JiuCyACGEUuR0uYzjGEJycPzl928xxmUt3lqa88qMfT/ujzsCXNZpXQthKKY5F4yuRqwA1Yi+73uvZPgjDkii5rLZrgElJrfb9f39jYjcmMmDUU0kxmEYum7oFYnZNT3sdpvmeb7ebtfLyU90f0Y5VxbE6+urmV0uF2vIHhGn+Xw+nw+HA/FYDVPA+r6/XC6mer1e/ax9enpyJrQ/O6fEAMButwuBXJViSxv8sfoRC6pPT0+qujscshRE5JCYGZgS9di4K9TmS4godSGlFDngQ0/wccPU3Y5UpU+0quwyIAP68GVGaYkuOEZ/jGi+PRslsYXOP4ycPqB2rGsft8CkVf+xdgm9x4etf7eV1elujS7ONaXNGKFJTTFiaaNynjQiGqOZdwVbpO5jIJ8c7UI9WdXxRz3yuSYK9bKJMaAP2TAAKxqgigBi7+rpXTeUov6eiEZV2Z0QMXTBM+QQAlNCIMnetIXI3jxnIRGw++MjQ3MNqXt72hmiHmoDMTMTUAGnSN1FeR9Po8fD0nlGbfaLAcxAYozz7YpkfexzXj4+YF5uVgS4Lmk/bIhgt9uh66mLpo7H4QAAqWMz/XifEEKeJSMG4tjvIAhjSMjD4fj9+zsTMkPWVSTHEPYvQ9FL3/cpBdGcEh+PRwCY51UV8ypruU6n71DWPvUpRAKzIspgqzJgSAG99x09L+rWdZ3nlZlfX1/XNbuMuudRdWKj2DzPPl7i6+16vRKRz2z5o3l9fQ0hXK/XZV6NcL/fj+P4++9fAOB4PPpf8ft8uVymaTKQ5+dnX8alOUTmXDZ878wcEeEYQkiI7ODEZeYM1Eph1EDJnywCppS6vp+mG6ybEx9Ac2o0s/8/W/+25EqSbAliejNzdyAQEfuSmdXdp6dFyOY8kP//D3zhC0WGHMpQ2HMOT2dVZe694wbAL2aqygc1c2BnE1KSEhU7AuFwN1NTXbrWUgqxuOG2zQAQGEH8rTDrYuY4qts6H0cAQBZEnOc1j3A5z6eTDHnKaVzXdavleDwhIiEfpuPr6+unT1+mafrnP//597///V/+5T8Ow3A+n3/72y8AEHwqgJs3dns5hQDspt506s36XWmqIrn3oVsmd58f0M8D2Nu+7krTAL7gjkiwJ8Q7K2P/v9Bzo3jthMaIuvuVq8YwgfYhIowDwDDskpvGzTNskSdLivcR4qDOOomlViahpGEYMESx7cobKcjdU2IAiGYmEQzD1HAcLbvEHxDjVNqTnvivWmFm7F6f/d9rqRb/vq7z/nSOxylPOeecWZjZqmYRIloWABi2zVMmIgjHYQBal01t07I1M7SH45jTuq7Xso3T8Xq9Xpc3xkhUIAgC05iJiISRedm2eZ4j3o7jwRDwjrABALvfy/74vEPdvfTax3nGp3MREskRlYOWSUQitiyrNx4OBo8XfFc93ijj8c7W5x7sa+Mvl7Evs9tC7gdNX6U/ua/2/nRbxQBgVlqdulM9wQ08yA9NvR1u9yTCaS8g2+pF33cB9IHB2AtvZtYaJUrbIMzSVnjLmN1/nn6wX39MGg4gPAg1dwpgDFK9uw5Dsv7yrkK8Lf7/f7fu/nV31txqm/u8BXYE/LakdceX9zffc/3guENH2+EWZFptgTEwwJom1x20q0zjWnEHEdtBzjsfoOX0ZtXanNrbhyS8Ze3397FT5m6LpheOAaMwEYmQasxGBjS3O/5+uFZDr6jIe2ccAMKKPouQ9HsU8ghCpCllQVpKXa5rZ9QUd4/uASKu6zqOYwCEzNwqUVBvk6E9JwKQnMcYPnIYxqVsYdXycX6zUgSJR2ZGRjKvTQxOjTBXS2NeeqsT9OXl5dOnT7UaEOqmP17elmU5Ho/DwIio0Ib/TYfDMKbXl3dTEh4NwYsO4/Tw8MictlpUtVbdo23c1US8ruu2VTAXkRjUal6v1w9Ef3p6WtdVVT99+tx+kUFEkGneiilIGpmSt6mNtdYaExYjlYzd+/379/ho//znPxHx+fn5l19+IcF5vszzRYQeHx+GIdVaT6fT68s5ntG6bcGyXdf1eDzmnI/H4/l8HscxdELjOI7juM6X6/l8Oj28X+dlWcaUo64rVhCRpWWZ0zSJ1ul4oJSRCJCEJTqnkmUPjgFDJhYAjymMeOceFT+2F7v7/nd36oTCUHIDMEhkA90FFiHqcNW+8ul2DFMMP9LSe464C7tBze5qdHcFwN0dtl+Gmt+2SbukIOHtNhTo+/p3dyDcYRV2VIijHVCdwCDm1Rk4gZC4ayImhs59BHTwVgNE/PWdKauNa9qQkpQSETg4UzIzEQbAjCHb2I8BIxyiqC7m+1GScyYYAliBCEoMwiKSF53JXeP8VnNzQoSOJBERI3Vhn5kZ9BFvCDcc0TpbESBu8+1U8GZ6EL+Vumrfkdy1qhV3HYbh8+dnEQG1y1wiKQxQbRpGdXPXT58+qRbwejjm4/EIAOcPm4bHCnxeFkVa1ppSeTw+PJ8eGfDlH3/kTMwTizpyzg8po7s6jiIyjjkPx2hTIGLZ9Mf7+TjiACKotl4bHa+U+Xodx/Ew5GEYklBQFwKii+qdiFzNrBVsLy8vzHw8Ht/e3talRP76+Pj4z3/+k5nDodXAD5yIqNZ6vV5rrYfDgVAILw9PjymlcHZ3D8HDELm7mU3TdDnP4zSEAWVwhUXETB8eHihJ9Jd2mcp0PDCJG+ySr3Bc94SuKOyEDu7ElMYp5xH7IdJ4Ym1csQNALSac03ibwSciRKK7Wk6BOTYOqENCrG6HnN19qwU3YeaPyzm6djkNtuDlctFqh9+Oj5+eL++Xbds+ffp0Pp/V7XA4/Pbbb//b//b/+vbt23/9r/+ViGIYk6oGq96tHaFE+2ZEdy913coWVoPcVYAxtmbf6XeHo7nddvr9KQk7ad09MvCIh/eJBdE9L7nZThMJYpigMwBtW90T+j3Dg8bCp57qSX+O7Y+aWZuEFW3s8LeJ/je6u6E5EolII3zHXPNeSMfS2j/vfuVRnzBxSmhmWBCiTCcCsF1utIdlMystegNRkzq0Cp/rskLwHADW+H5Kx0mmQRIRMJGZZSZmrnWiXz5frufz+bws1xhAVrY6jvRxXrRPNN8h7cPhcJnPtdZl3hBxnHzMg5lt25ZEzGpKqVab56VWJaJludZqh8NhkNB+t1Hrvm07pzwe5V6eYUfHqXuGBrWPKXU1TkFEQkBGd0/Jaq0xUqo/SnVD3Hu47T3bsMU9DWuLrWMx90gu3CmpQqu2XxUAxPIActeYQtOwoyj4sGdlkUy6O8FNuInYDJr7p/OAQfc/gYh2h0bvWf7/uML7goLup7l/XuvZ+Q6BxV4TbSaeTESSBiLqc5rBjM131QHsnHi648oTUdSt7s2EBwAAb/d5P3z9ll7vQ5P6fQbbvxPPf8fa7tP3Pc2WNhUS0SGSjP7ukXMjIIIZEng4hyJoNKd2sSkRhep5z5jBnJESy1IWxdvD6JcV28wIkbqJHoEjBNH21iLpSyRE4hoVQY9uCuhEYKVlPAz9JK6x/xGYBES1rTUiRiZmAUSrUfoQohERmAwpq+r1ep3n2d3cvRTlDk8fj8ePj49pGKfDQ0joslAp67as87okGeLQKusa92FIg5l5VTRf5ouWGvAAoKla9S1GhjCDu6chu7uuq1vbdUT04+UHMw/TYfv4uH7MP15f3t7enp+fA/W5rldVHcYxGCZvrx+bQo2hsNUd8HB4mA6HUoopaHURCYfmWN9mFQGCzpRYiEhd0Syym2EY3DVMEo7Hh1KKSEpjXrb5/e19K5rzcHx4cgXdmrU8IqYhwwe4e0QiA78ul5QSMpDgMAyS2dGI0uvr6+VyORymsKzZthp3b13LPK8fH+9PT0/jOP7jH/+APnI1hGURg6JzrbXGMLwoQFPKEf2ZOaWE7ufzmVMycMkJEZkECAGIJIc3IyIGCJFSmg5DkGr2nRMiEupKFOrDlfpKVg9EfB+e0hatE0F1Q4hWGlTdTdmiKdaOwyBmm1mtW1PLuQGAswMA7SYAocE3bJrLrhff807/HyJCixE/WcqE+3IEJ4FbgHZBVHDVAlp3HwAzCwNyBgl6THw0dAT0SI266t33xDeCqbohMlNiAgw4npAwISGhIAuReJz3YIhYapvixuruDi3qkXoFx2C6qXu702El1bEjc2gSc3OgfhLsw5LdY13t8YS6/EtVESiMIGIuKdwSlHj6LbgjeRRaWqtIZueqm4iHLtyrf7zP7j6LzPMMwHlIpZTjYdJSRbjPl42hrQNRLvNWqynjWnxQM0dgYZbPv3xGwVrrOCUkZUYkc7Qvn39DxJQ5tzoTzWzF8uVzSpzXxYgnpjEnSY6EnJOQAaPklIIQGey4LUjDyADxyCBuxdPT08fHR0ppyNM0TaFbzTl//fo1mHgiIjmVoi0zICKUAJKjrn57e2Pm8HLBTiWPfvc0TTmN1/n8/fv3aZrGcbxer8ysWh+PD4YQrjW9LGz0JFU36zANG5IKOCAkJuFm2cQkLBlwd2qKJUp34FQDj8LdyAwOhwcimreVmbXGcFlGFvCaOA3TAbfNzK7L6oZF6/PnL6WUeb5EVrRtm+SBc7quyzQdc8773Nnr9Xq+Xkg4dD49l430wvfJNfEKUHlPsnvatGlt2XZc/P7FfVIS6Yt3nfee2dRa7+fatiO15dZ+y8Y6SGmd0oB3r7iSoIBGIO0pRbuGKPZagO2FUK1bfFjq6WyYRwjHiDcLIBcQ2lgZasPL0dQAAgf03n7fUdv7NBERgSjnkZnDogAg+GMtlO01gJnptsbtR4ymeszvZEQY88DYShcWzjnnxIhwPIyRAQXnhxkBhvmyHI+TCNV6UNWPj8v5fAZHtcN+VdSJgkQ0r0tKw7qWZbmuy7JNQ5xKWymIweb2oHE7gKQknAjZ1N0NvBig5ASAAbHhzaavx+0UxjLRQYybGoPM1dFYKOUBAIDQXUspItnbwCC4PUq0u/w/ikPYbx32onf/4u6kuL3a6gUjIkJGDEZ1cJawGji2ZC4WTn+HvRZ1NHaoYa5UamnbXxhjd7M4AkmCUs0V3IiYRdAIAEzr/RreazYSRkTAgKV4f0IdXw7imQPspBrCPtZDqRGfmDkNIyISijevVXaXuHXUXNEaytZR6Tg+YjGIa/c58L9w3G83c9/+fVtFt+1GHACw/Tr3Hd2ro/akhHf3lXZktnc3AuinfSVrIgMHxEaZikfSR+3e3rezeQDRzWpVRAIkINzL4nofR/CujIh/jxXQb0o0wdH9Vl3tvwhtuo6FI3X/viJidaJbzQeIhEwxScqaARRQB9hEBAjnZble2/xqMIgwqqWAWSImB40RaqqvLy+PpydEXNfZquVDPh7TViOkQkJ213W5AgBC3ZZKYKVUAIghSsSQEgcqrLXx+QyCFgnLelXVlIbpeHh5eXHDH68vy7J8/vw1DYMjlmB7Hw7RlN/U1qpupBUMLKV0HIY8TKp+vS6lFNU6DtPxeBThPurY12VBxCEF9dYAwAnNXIYsw7is6+Hh9PXrV5FMknPO7++vH5fz2/UsKR2m0zg+MKR1Kx/XSwT6qETHcRym8fz+8fL2GmxCVX14eIhwXErR6uu6RuM+jopabJ7XUvR6vb69vS3L8i//8i/SUmQNYmK4xKiWYRjmeQ4EK6X08fER2rJYVGZmDmNiQKhlHQ8DEB6Ox/FwbCPBORFJHHz7gRQ2vTvcvp8ZPbT91EfaVzsDVrQ+qRCQgJkghqcY2d0I4Qhc7b73CR3ggUlYSANBm5A8Btf5zxKcxjELrX0AzD0Y3Cfue7l7F1D2RKbl7r6V3WyAiDhGUquaq0NtX1slosyROigiITpBi70h1mlv4eamkf62xN0MoDojIosgMvd97swJiBEIW2wyRKQhaZtRoqUagLpD4FIABE4G6AaGwMBcHVEC7XHQGCdbSrGqUcw09ic5EaGbuzuj3pkCRZRgZkLe+QZ71hipTy2msKX+ctBaN1cMyzCG1oUXyWie00FVH1XfL+dt24gwpcMvv/zyj7//08yGcUjCAT/XCutyNXAz8Mi6HLdtO6t9Oj08PD9dtzW7n44HZvw4v1RdRWgYD8MwhEtiJM2qzjwPtiYczx8r4TjkQ61mpk+nYx7HUAPHDUwJiUjtGjASc4xPp2HIZjbPcyDlZdNaawh7zOzl5SV8ElV1LduJT+u6ns/nlNLj6fnl5eXp6SmcYRDxcDi6e9nm4/EYro5//PNbSul0OtViKSWYYRiGX375hZkvl8u2baqVmef5ui/XSAe3WgwcORAzEEJhCkpLopQG7kkGAFBKwzAMWy3u3kkv2L3pkJJ0MiFXh21bj8cjMvuCQI2epg7gRkRJcqP5sYwj5mF6f3+PNVOrHY+j5KwOQce/XOanp08ismndtvr4+BweX6Vuh4fjw3EIyCPSLxFe17k7ijQPx35U3zxkRMRsA6dYnPdJ833OFP7d/rOZnburatyHoB5FxmKNRhhddARApOit697OAIDmiujoQEgyDFMfjHqTErbE2trVBgBERIjcE3eNSVKImIjv8sIAzqv2ITB2RwoC6Gk76n05EZPXiIgYYiQZIIJg4ihyovygHWeh3qwIfYWqmqo7tQFrTLuiJjrDfWxWVtVxTGPKEQeCNhxEjuNxqjWFUCo2BQULN+GyLDFt63A4qOq6rqUUoQTsicVkWLe5rBUA0lHyOO651zTx+/v7+/vbOI7b1vzWxpQ5t9rVEQJ94D76Z0/dmNmt/ZPIrgcgN93WQpiiABYAd1F1t9pXAgUPbZdL7gYmEL3W3k+OfL09mo6s33Ewbuwd36FiULedb4YYtPL4AYQ7WlPjVCM4MwI1uqmqCyUEBMfIjGPx7092p5vuK6o0omazj9xzdxLq/Il2vCE5Ae0yXG9ZsrrffibeGQSQgCnU1EDE4LhzQRsthVqNHTsxloTfHHKo42jtbe8HJkSKdZe02/4sAJrB5X5Xo7W+/yEGRHAMYlGvhpBI/vJg2n+x+cjGe7G5tl+5MeXbg0NyMPPgKt0IZwFriYh29lJwWf3uZZ0tdJde3Ah5vrN1f2bseWMFMaI73Aw4ezLT75RZSIBIGBQQiSndhYz7wgBFpIIDOIaK322vDRLLmIdtXYOou1yuQ0qgts5XMF/XVdXXbY5Izdh700SItm1b3ZZSyrYuZauhY8s57wlBKYU5lVLNlJnD96YWdffnz5/P53Otdd2qmf3223/glOZ5fn8/i9Dz0+eHx6Oqv36cy1ZrtWUtERaTDON0BID3y3lZF1ATkYCTiRDBAmg31Zwz4L2TZvjLIhGNw8TMqi5CTPL2ev79n/9YygaID6dPp8fPwnldapl1WZZNa+TucW+3bfv+8iO8LwHg9fU17OSOx6OILPOmqtM0/Prrr8Mw/P77P+drWdfi7uEnM45jXOE0TdM0vr+/t2nkIjlLSHLP53OWhh7tKyQWTx5yECK9dxMDcazgjBJsn5BsuCEzEUNQ270z87whE39pUu9fAwChNWFj32A7Uw2iHmRAgyaBjWW2Yw/W3XPjJKi16rZqN0rHDuHspMNgp4QIdd8CeFNl3U7BHdgDAGv+wbfiobM+GNQNDRHVqhWM7kEsg7g+RB8Sp9QGhru7qxkB2o3JI0B6N7Q1PC7UdKurKQ6Z3cSU05jQgx5QgqFkcfACuxOgx0Ebwpf4XDueBE6GqObBn43ENXYu9oolaK1xX6Gjjw7KSME32D/CDfWkaGL8BCntURgwbbUAEBBLJkcw81INAbVGR4J2hzQyGnIrAA6Hw1K2QKmZ8dPTg9ZW/B+OD4h4wXIYh+t8RhIcRwUYUkopZ+LE2RA/ff1FazWrJPz4/JkYSlmncUBEQp7GQ0ppXTYEeHx4eP/4MQ7DwJ+EB0QOPd/hcABJEE2kcQAA9ZiUpNEmRsRhGFZbI/n4+uXXP779aY7H00NK6Xw+v7y9Mqech3gTILy8vgYKHoya8/m8LMsff/yBiI+Pj/O8hHY8RMnruoa9DAB8//6dmX/77bfn5+eHh4fr9RoQdTyOYNI/Pj6EqS728tjdmQOWVkmcEksCZmZgQsRgcRFEOpKHCa+Xu+QA9jgQU3IbOtUztgiP1GxSG1s0SrgKhsikmiT8KyXQCE5p2bach1DYmwExb6UggIjM6xrRNaWhlEKEAVIgYviKikhKAxHVOu8H2d7iN/spL3F34byTJeII2pMMVQVosBl0q7R924auIDAOZsbQZt7ZQe6H+5603YMRsQuwl7477R7u6gei2xHfL6lG/tT9yBH6O1gYXTfZSQnJU9x2IiLSWlsTzIn3PbjXz7uxTFjdtSwKicEABNEB8i1d6bl7BFUiqqXWuhFRSonZ1QoDJkZGTnyoOXu3ThckYqSfOJBoZomJSJghmHs55wDU+I2DDBbz0eMj5JxPRz+fz9tSgm6QB6m1DjKcHh93sXLO+XA4fP/+PY6zlqz3uyoiJCwikVjvTzbutnAGjsUTWX6j+w7DVGs1g1IUkUNgzyQgGcn23QSlBPhK95A7UbtdYfjzl9zO3fugpbtD5J4tE+JU3UWGAKC7f+Jt8cQzDbzFHJjucuYhDz0To59/6ycDmf37jmDgAerXcDrqtCtE7OaMfc1zS3d3h5xYaO6OKHiXu/czN+omiDm03mF1ZkbsvWUIfkrjWEIfvdK2xm1Q2u3KETH4t3Ynydv/6S58efzn/ilU3UB3E9i21MFJoKtn9sz3/o32rxnAyRGB3NCx0cyAAIJU4Op6n3OHvGkYhmW92/9ot0+ErqpqlY2ZGZDbmfoTJeBGdNvL1rvt6m63Uqw91v0BOzThPDY9Rw+IMQHHIG69aWyhTWtmoiTVDKyKdOF21YfpcF23gFve386fP3+OftUwJE5pWbZ1XsqhuYO/v78xy/TgzPzt+59lWQ/T+PHx9nD8NAzTMGSS1t6t1ba1Hg68w37rum7LKiIPDw/ny8XMwGme5+PxGIfQx8cHIouMnOR8Pr+/n6sDBjHRKMCzNIzDMF3Xa0xUYeJxHKdp6sQKiLbvIIKItWqtNfLFePKn00lVHx8fRXIpui7lcpm/ffu2luKI0+n4/Px8Oj0R8VaLO9Y+OHaapnWd5+scqXB48jw8PARJNJ75tm1E8vT0NAyJmd/f33/8+JHTYVsLSfjiw9PT0+VyCSIQciPGxIR2ZgxB6jzPKlRKORwOZna9Xscxx3INu7RSSpRJach5Gpm5bIiMzCn40Ijo5oiYmIeUubsCI6KDgjm3WeSKUfUGodsNUYgoEt++3hp95X6jhmkJuIF32yZoubs1RwLYs21T3bZNrSBijErdw7oQA7PHoIGfYPhdAuv74t/bBdgmnzQ+257ZExEiuCsCOpqplbJqF4c17ZoDEVnMq+qGqg6m1XqFHEKh4CTetDFmTuD3YtlaDQuYFWaWDOBmgOCE0uddGyiqgYskAChbi5WOMNBgiK5uSo7gAF7D5IfD3BrC9aWWWiuYG+geu0wLEeUskSjcoR23JIk5EYkIxTv0WNfYVsyppy+1fWpgRANkM9fqzEQoKbFZ6Mhrzjl7cztVVQZcl4rIOYtTHYaByZarHscpDXp4ep5L5ZSmYZxSdoO388fhcJCUzFiEAFliMBzgOIxEpA4MmMbJDUvRh+Pndd54yoKybXV6nNKYVIs5J0YSYW6+gbGcVvdIrNd1tRptbkHEX3/99c8//3T3dV1TSp8+fTqfr6UUF8JaghH08fHx/n4moqLq7uEzU0oZxylcgwDAFM7ns4hEghuJMoTVurWww8zPz8/fvn07nU7zPBt4mP3HE1mWRXLqKGMT5BEBohMDqTsoQgByBNH0AvBQ3kXH39HdnACFrRRpIa6xkM2sDZkKbRmTl0LIgUemlLatAgAnCUTWAbat5JymaYpWuKqu20od5jgej9taX97e4henaZqXa7D8saNXEdsvl0tA4N61aPuxFRktAESLY0eXEDGabz3Fbx15wCDA3JJy6+MIwlJvT82xTVP5yWcGej4U3IAeE/D+uI9r23k42FvxKUk8x70SrtW6p6335EwrYmUehqTqpEQcTHSrtWybuTemR7CbmBl4h1dh95/Yc9aeigTHJMQ2EWfNun7R3RGBGKLVxmwAWErplDqtCrmh9eHQwNfrYmYppWg7xKvWauqIuG0bT2McWKWUYUhILkI5yzgcYhWJSHdFC76LxlyRccyJeZqmZbki4jBMOXv0xi+Xyzgevn7leZ4B4Hg4Rm8hVGTjYWIR7qCAd/Qznsh+IgQDsz9RWk0dWd3NICE6MhINQy5rw2Ii6bzLmmB/yiJCbZDZDbxrb7wfcD/jwfubuDWHtD1RNlMzv03obLG40XXcsHdlQoDrOXFKeSfgtY4i3y5yJ6ZC1z1aZ6fEZQTjPBQCbd3GwCkIotS9JNRvx6S3hbRvK+rGJwBtrqF6rVVLKVrNXIkodW+GWOcxzReg6bnD6BmxiwOge+zHPehQnarGAXF7gn1/tbnmjasSPwBEGBSYvTm8BxAx0CBiAoKD7j0PAgxCiTcAEsIyNtQh7YI8+IiGwJwZnJgTAKhtgJ6FE5PlaNMURIndRkRJJAxZAaBn2A3kDsNqgmbKS0RIZAAEDA4B/AeNKrTV5gGUqFuFOOANVBU47C64ueMggKs7mFFUYWiKrgAOqOZ14sHLFmeMjIOCMzNutQKSe92uqnH6lseH8Q+wMl81yYM8MNq6LEwGAD++//n09ImIbFuuy+JlBa+hbhmmNB2HlNK2FREB8Hm5MOM8LzlnVVznZV02Ih5zXucZTK/nDzVCJ4RU1JdlMQNJjCn9+f2VOR1Ony6Xy9vrR9Gax+Oq+vnzZwKPpvYgw7ZtgPp4OkZ4Na3rOpMDOUlKZkaCWjcmVtOyLL/99ptCmY7HYRyWed2KqdbLdTUXlwMOafz0fPz623Q6+Vq9LB/nl4+374hYdTXFLAkneH9/v16vWj0m76TEochelivzEXBNiVT9x/eLSEYYxnGc59m8qtc8pvitUjZETzL9+e1brTUGqezivLe3N6vqapeP8ziOrgaGQx6IaKsrAIzHcZhGBT/kUXhY15VliEGhRAzs5k7sSH54ODbgBNDdvFF1vQb4nWNcS6XOcQer0MeV5zSqFUrkBBWIESkaayEBUojRUQBALu5YXcNCQFW9Wikl+lqlFNXmg7lCJaLjdBCQBEKMkQw7ATOl1JqeiK5aEMI0qpW090BFN5Xz2OrWBj45erAtC0AzClQt7l4aItii2FzqZkxEUFr/XVXDLD+xMHNBxOCYoZW6mSMSu5acshGYIRMjJ1VDSOa0LiUlbEeIu1uk1KEBYFVlSuOIy1pUlUgua0wSEHONFFMViEKSw2WrDooGpu6AWy1MyEyRpbnhME4OagaOocHwWkuchSllERkGA4Ccc0IuZSVORHS9LswY5RlznEZhm6wE4GAIof2tgZm5u0hy95SSGTA4Mxt4KavDMU0xygeJpJRCopjmMT09DJmGNAZNKyUmRsADHtmQhInMyFlyRSM+kptTQhFEMmewmCLuTpgOoxtUd2QiZicAYnAUGsyDSE/knGV4OJzW85VJmISzjI8Hd58vS60G5GEHGZzvnMenpxRzlwD0cpmHYRjHwzSetm07n89Pnz/FbRyPh03r24+3EJEnGQKpAYDT6RSTREXkcrn8ePn26dOnMJyJXCTUuu5t5vFuy8NIibNVB4DQoKOxQBYX4M0VEAgd6laITYaEgimTObmhO5EDEqGrlpWBa61E0jTKTm5uCqvXYRiQZSvVkZxwNUOiTMM45K2UdfuotQ7TFGefuqdhWNd1XZchT4hbSGmnoM67DglnqIfD+OPlewylAifCZnpoTS5y25s9yUDmZqDk3f7c3d0r93VlP5NcI92q5lY1pQQOpsopk1pZ1zBvgA4fxmHf8YhIOFqObm2cH/XEqJ28kfQ7AIuwiHUjyCYGMLI2zhPurlZNAR0I0J3QawqjPAxRqhGRMBRT1XnblugLCWeRAYFJklii5ojHzJyIc87uiiwiDABbWSM5IQJ3DVCfiMAwRGsAEHd7mTdESjQAaiJfdd22hSAnHK1akRrmMWXdVFUIEVzLhm5gzb5DCIvWbd3cvRRMKU2HNBgjYq2wbViKTlNOeYp8qzliteNjA4BPnz518i2fPn1OicMZCdGZ+eH4eLlcrtfr6fAo6sCUUuJEIiJDbj6kOepVUtWt9OG0iCINmYpvePMJUeFx083MEGspJCKmXswJmFmcXLU4AAEnaWsyaGntstv83dsqa6suHB6hOgYZ+SdKoYMz5rbC3WtvvJiZukdFFFUTESs6oQBUU6+bAloUDFsxtTKOQ28BRBbq3rqpiESBTjFj58yQATsKgkb1YOq1qHCzo9nT9EjRiYgETQHRyNHMIHQVqjnvNeGtjUBE5LzOW/QD17LFDk0pWZth2I5UJnD2WiugO6AZmRERY+ciA8B9KztqjFq3mPjbn+lNPu7NVSUM1lqVoaaMfvehogBwdw/jmygLbl5RUbXcruD2m0CEPf2Py2owPfX+nXXiXbwvWpsGQA7MTABojnbz6LhdejQm9K7Kh5sRjXuj63in3bVs5Rbafmqy6F5soUH3TorKAYI20CvDdnNJw6U7FjQThO84ApS2GpvH/MvLiwgBEAo/PDwMm15l7iZobWx1iFyjpBmG/Pj8JGkAgGVZIl5v2xrgwZCnWuuyXOfrlZkfHg5Wy9vbqzpwyuzkSIT0xx9/XK/XX375JU3HWuvDw+PxeLzOay1GwqAWswzj4zBzoOAppSRNYKtavbE2Q+jZEIsg/5kZmM7zPD0MYf7AzDlLKS4ih8MB6yLTuG2VUbTU7FBr/eOPPwKv2mtBRAzOHzgty3J6bFcVELhIrnWrteSU5nlWvYrIuq7Pz8+v7y/u/vXrL+M4Lsvy5csX1fLjx495nlNK0xWUSU8AAQAASURBVDSt60pEx+Ox1k1VH05HAPj4eF+2NWaUFK1e3axyTtNwzONAzJF5BwWKObUF0OgWnMOcPPqzIeuu0ekzFG7rUaMoj4imiXphHOcHskPwXtgBIZa0mwOEjCxSOq1uXa8TB5471Fqrbvu2aoVrH50d8tmIR4yN/Nf3RfMn7ot5N5TAO2QF8Q5Fc/egjuHdHIrdgsqsgpPqps07WaVybE8GrKpMe08fg2CeJdi6AEC9twvu6GhMBMAIHOHTwKBabkvO41CPLn2cAQCKncuI5KCgWogH6Oa+AATYPMugd2nNK/kNfYk7kHMWkYrRdmdEL7UERlCCUmYeDFgRjDkJIRstRZdlIYJ9MUPnFZjXULBi/85+3xS8A5McRQUiEmLO45DD/0pqVXdMKQ0GMVgECPWOVxoAF98M+HaIVByVnQkFnNpsQoce96GzMBuPYj/j44njndcQABwOh6BxX6/XSMe12Pl8rlYik47xn3HAvL6+Pj09lVLO57OZEYq5Rl4euXj8rXlemPl0OsWZHQDk+XzuEn8/Ho8vLy+Pj4/X6xURa63jOB6Px4B7z+czEUR4MdMY1UxN/7Df6rbOHdQNw+kL0VmCkpFTSrWqupOjo/d+NTmSlfKTpRrTMI2BcO8nHRAS0M5OmaYpSEGHw6FWVdWnT88N2JPhcDiEM0+IkfpmkZzzvFyjC3EYuxFk32JxPXe2UbtEpQlq96NzBw69e1hRl1N73+ZRQu9n/34Npax+xza5Xwn7/92jAf3ER6X9PnsX9uwkY+9sgfsD935dWcfXIho4WLhzmBWK/h6og4amhQgC6XP3IN7s18/M0zSlxCGwCeFpqKTgLgcCAAyedxJVtWjO313nPo9ChJalzktFUBEB5GikxOa4R+v3lj51sWmkoczMvT1ORGEv0WFvJKKww4qbkw6HacJSCkDMgQpP5DWPo5m51niHOMtqrblb9EQ/NwxbAcIEqxGZMt4SpN3/o3nYuccfMg3mlbu32Rp71tgRnBv02wPLT2yZ/luxQnqL1b1ld91n3e/MuIhIS/taY59oa9jGE9HqiNaaA8DuTm0+ri3zEg6zh8P48PDQ41//D1KAO5FYmlXH9g7xfGOkBpEwt4ZwZDuhhesf9qbjDMJqrFzzTsLoHtD7DdkXuWmtdat1Uy3u2idnbe6HOIL7U7g5L+87wqzz29pTwPusfdu2bVtUfX8E1k2N6ScHp3a4t+s0vXt8txoj7CBj18UJFEHkbgV00+j4v/GYonx3xzYSlsFdQsTdLTLcndqzbCU+3t8m7D1WvBOnesf4734ytHGody2Y/SkquHQRwP1FEvXCB63tLrS4PDVFBwSH9gENgNWs1ioIxMBJDM3NmHmd1yCKufvHx9s0DcOQ5+WC5DkN1W2nA9ZtLevm7qD14/W1ujGjqh6Oh0+fngDAvGYZ4z7UWgDgdDrVupmub29vpnU6jESwrJdt22SQ95d3mJecxqpY67ZthVkc8DA9BNo3L/Xj42IGj6dPh98OxTTmbIcmb13XMMw6HkZE30/3WEfBIqh9vlWtVbWEQ8JwSMHXRERiYMNpGkT0+j6v8zLy8eFwZPV1Xd7f39394eHh7e2t1mpVa63Bfkkpffn8i6rGPPBeywWBK5Vt29ZrFI6Pjw8RZdptrJWIHh8fp2k6n98jhsaGfH9/J6JwZ4+Z6sG4XdclpRTPPaVUoxVLAk45j0nyZV7cUIZELAHuBlMmihZEdDdVi6oGrXHBrau+tHu6xxcFIt9qBHQS6dupLTAA1C45QUQDUg/bzLYyRQTRrYmV26eLE0VEJmzQfqcKhFTbe/iOM6Mrz7rATZulA1GXf/0lcQcAdHBsma7bPpXaAGsIg8jEbs3E9g7W7gAiIiMxUyhgXBAAu7FjFBW72yuDszq7ozuogbtfrxsiEjkLIjbxuvdyIiLKfZhDxvDibTx2vZ3c/VAxrbpDDFo0hPwxNUxEhpQA4LrMtdZtWyJ0RlBY15UIVG0YrCG7WN2M9k68a90KMyM5AQKSWt3D9C13Mb/O72ZAREkGYBHJLMIst9Tw7kVEZa3qVs3CnsOIDDqiiF26rO6u2MZi7P5aGD0KaE1tdHfTcBpt/XQicmxzYQh2IMOY8Xg8Bkdu27Za7XK5LNcVEVNu1FsAGMdDZGw552/fvplZ0HljTGygdGuzl63ruiHiNE1B5g4jvOCnxUo+HA6RZR6Px+fn57i84LxFNR6GobELYsI5tRyyl6wxAjd63+TuULUCxBRJiRbcmHJdC6Aa3HiYiEgN7e45R3cLHQYxs02rx2Q9Tt6p/9fr1U3NAJlFEgCeTqdxHMMhwNC2bfv4+EDEWmtOSUTO53dQe3h48O5tEqUjUkcCenMfu3YFEaHFEOwpZvOc3muM+3x6f5P7sy9+cT/sACC6GbWbKt6nX/v5CJ1mAHf53P163r8jdxaB2IoN2iOhmUXHP/DdAB0if7Bm3JxEICXubasQ27dhC0zMjElSZKlJch4SIad0y4lDGsfMkf3ExYR8BTDJneWOG5prrXVZtli6RDCMGdBL3UpZHZRYvGtdQoDo2tKMOBPxJq3psjo0QCNK2HsRu0cn0R2M4o2KBtH6DxsTohDSALSOCiQOIDRKlForRwLHRAROMWKJAUB9f4JMnYZ0F/mp1g6MtgcadL4WJCPPNmueAS3CA6hFJ5NudexdMwe7Chmg8Uhvi6f/wL722smEobfG7ioGUb+ZRsKIREJEyCmKG8bGvXSgzvIM0lm0jYlFaJ/6BBCTSKJj5oTeYeW2wqVNKtmvnyhMhOAnOrthCAO8n5K7i+V9RrrfZHcPmwXs7k/e09cYJ3q3HXCvi/b3v99rZuY3eSvuX3QYHPZD7UbQRwwCrXX1KhFRRzGCarv/XTFQ66ZEiF3TthvNwX53WqZfA54mQkK3ZpiMzUatXX0MdI5ZaftH/blGh0DBcefz9aI/Mmy4/V3vjKUejBDCrC3Gx5jfAtB9dMNe03ijQZKDBufXwbtDTpjbmQM4cWs0WF3K4qCZhQWv1+s4jtM0nM+iqtM0AQARb2vdrpdlWUophA6uZkrg18t7m5GOOI3jOIrZ5u5CR61bLSVKT2Cs2/r6+rqtFxbKWcxq+KDHeZbz+OP7axqMUM7zDE5fvn55fn4Eklq3ra7bWgh5OgwhScl5RMSUklf9OL+Xsk5TzJa4Se9DPcrdX5+Z1UotGn/08fT48PCAErABTNNUqwm7CHz/9iMBUc7/5X/6n6aUq66MdL1eI4BeLpePj4/EEs10Zn56enL3aZqiGiai6BjWYilNb2//yDk/PT3N8+Xl5eV4nHaq37ZtAXddr1d3f3x8fHv7iOsP03pVnee5FJ23a7BCh2EchtZGZOZt1cNxyjmRiCOtm5kS5yGlHNcQBhTMNLRZoLALR9wde4FreEsQ/e5FvbMM0AJu+DLnfNvn0HImMEC3oAB6X899VJBazpm4Dd2IubQiogRgLsIppSGllBL3FDtewdmJazDEesd+CzC7bQQz6OPi9gsmjFRb3X1H/RiagwELQuPFwg4GGICpggIiAMacZyZItezjSPddRxydLmcAiqzdOvNVCwAoMajiti7DmFrOt8ZMylrVgzI4z+uyLCRlGMYQVUeJgoi12q6OjRZB55SXeZ6pD11/fHwUESBc1zU8iGLSUCmlVtu2uq01Z6hlezg9xuklIsOQ1nV1d4BAoQrfhjPf+RDdVQ6g5mBbWbUa84KcmFMeDikNwyDBBo4sNCJZnAe1aK3VtbIqVFUJz5igeGLw7AGsrQdwAGcmhzYW2szBfKdDhMgy0ohaKzK5OzpYy4kb0Fv7sR1ANQDUTYdhmNdr3IGcR8Q5+O7hmHG9Xrdte3v9QMQwdN+27f384e4iaRzHqHvP5/P5fBbO0zTFnfz8+XPs33irsJuMmCAiy7KkJO/v76fTKeccWnMWDNdz7AWqJEZEN1ct7iSh5NZSi7Egy4SIzAnJmyytyzz2Az4OhVorYAxWQu9eCDFp5f68mOe5aGVO4zggc0yxOJ4e1qXsrL+wkhCRZdkee5+BYxIQRtuN9iO5oSR3Es+eJ8BeYMQt6spOC+EmtoQe70936Myi/U9EJhGnvrszJ3c0C/9yibSJiEpZ94+5Xwnc4WWRtOmdkGzPS9pB3y76lvf7XdmAd66IZkaAIiRCLB5Dus0MnKqQMJoCUmJKKQ3CYQ5LwzCklCicPcEAoWoJBCelpFrCii0Y/FW3Fi3xhqrWWretBg8HOjiSEk/TwOxMFFiMu+/T6AJtQXKrN6fO/XCM+2/dPMM9Cg+yaIQ6UIRCDMtbEQqACSQnrebe7M+naYriJKCWupU91Qk1LBF5DG/vj6bzl265YLyw6dBuvpk9CkEP3eG0wfuTNbPORvaqNd6cu18NdVP/ezSkJVw9d8eGnPYz5a6Pl2W4Q525Jd+csLabRiTeyyF3cDdC5DRMk+acmTklhhv2z+0sAmBqdGgAcI1s0NTRHYhAWEI4V0rJeQyu3TRNKMn2Et0JAAHBKYa3xspXvyt694vfvwkN4a5IkLJQ2CHWmAAKoQ2L2clEhCiq8Z67P8ztXLjfXP1xc4j09if7l+CgWnrt4bffZYA9H/kZBpL9urGNYepI4f1jdLAwfNq7bE5uuOd/uQ30Bg/Mcv8YoC01gLDUbJ0KB48RG/unvQUsRG9K4Ju8wO+Aw/j56kZOZmZ31F68Qw7iS3cHr0iE3gyeQTBOvngYgBCf3MyqG4YoynHbrI2bd13Wa5IgkAgKB4wkIokYtOYscarV8jFfzxtgILpDHoYhM0LVwszLetbq/cLKtm2X68e2LTlJSqnWTa0gOSNvW/3+/fu6ogGWTYuVcTg8PJ6Ox6MhIcLH5Syc8ji4IzMruBP2LjPM8xw98YiJe8ooIuFQOQwp5reN4xjim4eHw+fPn4/Twd2ZSUsFxCGnLKDqZfNxyARMQ/p8elqvM9U6Xz7e39/jPCOi4/E4pBxZO8vYcF9yRIwRbuN4mMajiJw/rgDw+PhYyipC43gMrCiQieDIBstomqZt256fn8/n87aGZJDjkBMRghxVKYfltdU4AD7mlUhqGyOXVJ1SZpKcRwh6E2uQiHIWAA91Zms++K3827Tlr/srvp+i/QNQvdGiGlON3AACm+z3HBsa6oRwTwBgRq+AIqLGcQCnxFEFBdcNEbM0iWp4DxMRgu9ldzuH3KU7cPXA6nuDJX7AO7rQ48tPUv1Q+BE1MtgdEa5xqREEgSx0mUDkYIpOWGF3aO5hPa6hugNq40pGJKqqBSB5wzNqtHGTGIKHirf5STqoeik6zyuy1xoO/UPZFAiHYfLWf6zeH0dE8GVZwgd32VZwe3h4iBleUQcyc4RFRFady6bMqZRzKSsRIFkqwzRNIZA1M0SHLuo1qzHJBVoP4pYA7XlMlARsNca9EVciQUxRckSUZuZo8buYI9Ra11K0qIkOw4SZyRGAMEyu1c3QEJrvZc+O3NAjd/eYCtIUk3ugjthK2Jw4govPgNCZmsMwvL6+btvy8PAwDYfz+Xw6ndx92+o8v318fMTeDEH889NnAAiYeZ7nfgLJPM+IdD6f//jjD3cPG5b9CFjXNZpjX758ibWdhwdVfXt7e3x8ZOZ5nnNu45wAcmz5oL70bMNvX9fizbdU4kEgaewvZh7yGJ+XGeM8aveBCDRYH6HLukeUFZiEsJRSzTm2BmJVFZFSKjKPkrZtjhIosKfI51JKh8MDIgZe8/37nwDw9PzJQu3t7q4ppYCAgtLasyJzB2YCaJXDvn7M67ZtFJL3ziB1x5B072ffvuT2A3GvDSJu8P/AO41Xo0H2b/b8tS3jPZLsiCm2hBh7z42iaoU7/sxeJZqZ3NoIgQcaM0oixLB1du++bTlnRGY+iEhKI1MiYZHcu1xNrb4sS61ba++sM4YLcxCttWipxZ0Rh5T3e1hK2bZi0UKhJrgkgmka8hDjxm6DqwEs2jktbQguN0TUJghNsHpQGSO2B6Gr5WR+ozX2MGpECMRgkIEv29Xd85ABgJMQBZXUow65pWURUoj2VCscdRmZqFk+eMtqgiHZEkTv9n1xPcQUx1ZUI9HiQHTsDTfE5hDYU+R25dZHVewEm7s9cjsg9kGc+yO+R5oDV6YumRWRUGcSkbUd0WBmM09JotSvtRJDDJ9iYUQ0MFAzc2aKci6MXZWKu4P1MsYIkIKkCACUZGgq4bHZKKm67x2t28CE/nF2B8KfphncbysKowVsNpp7Cr7fhriH+9f70vrr+xC1FsSdPCAlJpLayUV3lQ/tTaSedmu85TCk27PoId7d76exhNj8Nq+kb+DYUOQ7Un73B+jmO0tmhuZq0WOKeSmNH7Z/nn2JgHdH6rZeDBFd1WD31vEIu/sVI6JB18v2kuU+cSe6VeHkDh5KZwhtGwIwMYJhI8K1GYmAYOgGGtqylBlkVK3gBuAAtly3lUrOY0o5jyMifvv+p22NUDuOIyK+v758vL4sl3Ps8Ofn59Pzo6pu5UpVVnBTFJGUhmX+iFJY6zaNg7tu21J1iw7ay4+3rbiqbRWFs6TEyIeHU87jvJbL5XJ4OIFj0VqvKpLDffT08BRy7GW5xhErQsEp9NbluHkIRCgXkXWbg3X6+fPnp6enxBLOq3EliChJmMG9PD0fbUPKidDLurLD68sP1SrD8fX1W1ST1/Pl/f1927ZhTAAwTRMihMP6+XzN2UQkSJCPj48Aplp++fWLqtZiHx8feRzCw/Ht7S0qgYBYnp+f3V1L3Wkzjb5iGrNsI++PpVVKycPgAPP1OhETD5zzOBwBGYm6HgOJIWdJScxrnWdrnSnyu7jW71vDJHa2ZTUHiIGeii2gIBFVAFFkooDqAQiClFwtBg0SsqMhYiIkBkJTVdS2b1Nq/LkdDJAU9ofYyQN95fegyYJMbGaEjiD0U0XutjMl4rTpDDThob0DUMBy7uquJJG4a9zm6Eu4gQEDABITMAAYoAKCuTiZOjbLpvD0CNIhazfB9ehvNSBAzSpSm7FWSrleF5EqOZlDaIwcCZyGNNoBhukA0FycvfcHOlAEWmsc0nEMXK/X6/UcasjHp5OqlqJRHlgJ1JADt0Pg8OwbJ6m1IjK6OegOpoYMxxuUVSHmdEhMn2uJ+456ep/LGCvFKpqCOdZamSE6TvU2WAcBAJhEGl9Wq+0Qi4K7mztjc2RFcK/FmLkaUOt4ADrHIbKuK3PDKe8P4Fvod3X3fUyHmQWPxd1jqGeWIaV0vlweHh5KWdZ1HYYhpDJuSMi11vP57O7hdbss4XTJkX/E7QrBVpC/RSSMZb58+RIG2NfrdVkW8yrNjcCv1+vpdJqmMZyjACDejeWWjrg77mYXqoFks3hKIEKIcncQJiJgRjfWnp3YnTkgAKWcvXefRcQp/OTM3ePosibVgGk6plSh4bWJk9RiEVtixhz0UYvMfDxOf/yxc80p0vRpOjncWH+qwU3fqec/0VfiJ9toJxHh3BP3JtVtG8es9iFiO+0w3lBVo0cU7Uq+IxZ6h+pzzsF3s4aU4X5K9hzsdkl95d8ASL+jy++5RTw4a+5YN6tcljb2lSVELMG6JiJMCRGSDcYyppREBkJphv2tv5eW5VpKiXlVsZjNKnpMGfeozFWruyF5WhIzkwTzO6aqxWCaBOhBuHNQZjZv5LI9Q2hrxiH0DN5zidqiCgVCBM3RLlxQuupXd/7JT5Nl3R0Aa63zuojIQWQ/VgILwKjH+5yyagoAHEUlODY4sw052RN3REZsPmP9MREiOqKZm5mEGhqCc4jRA0Q3c9jh9uY+0sLAXxPNDnTew6O36m6vHtvR2V/9nEFEZE7u7oaEkoTdvfoN9mpNDARHIJGEbVQ8kntvK4FjdQ9a8v35i8AhkHUktRLOJfGYEHFbrw423hWuEbe9aS8btR0amzqeO/td+Yq9v3cLEQRmjmaIEGBLbAfi1KsjanlnI7/BX+7nfb7af2a3b4rrp1qr2W2kA90NZQdouoJ2w7ufZdunfVK7eCA9uNclrcvfv3ZEDhZNf+tba0m6eZO7C6KbV1XzGsREdADXoMTsWf5+y/aVsWdI/cfsL5+8X3EEu/gJ2A0gY/lCS/Rhf38BrPE9U1dwcHSLdgvepTjxxuaehpQBvK569tZb8RvGAO4AWDZVX6MlsG1bAEiANi/L73//9zAJeTwda62X68fl+kEinGQcD+PhABAlYF3WSySmUtFd61bykFiGt7fX97fLvFTm/On5t6L1/e1MSR5Pn9ey/fn9pYs763QY162o6ngcw8a16pZwAPJtq4iY88CMIlE1NSCqt1ZbKSWJVP35+fnz58+Pjw/M7KbMUovGMRA/FhY94zgq2NOXzwnxui7LstW6Oej5/B58FQD4/v3729tb6G8Oh0OSIeJmSsM42jQeEfn9/YWIfv31c9UNqeQsAHmBDVqij+talut8PB63bTOrMWv6/f19nRczq6/14XQQkWmaPl5fyqbjxHF6IaJIUtVatRRFSQ60bTWhwMgpDcGwVK/myowpCVOjqfSVEMNK2irqBOtbotyPMa/VtRbzioi1GHIllHQYqxk2OhISuSO740gEzcux4+5uAJBECJHQQRIR7abtBoio6CAkxBi8mjik4Xa+At41ARGRyMxkP3Hdb3MVzGy3Y8I7+REzN6Y+WJAjCT3gDG+xz9zd9LZfsA0oiGZWBKm4bxifBkDVsSlmHa2PcXbClNjbKJbGCjBbVU3NASAOV3MnwiRZOBUwAAh3anAK79/9mG8l/Z1LWkDvKaWnx+ecs5ldLmdVZcFAmuNT5DQi8qfnz59/qZHfb6tqxXDdYZZo2gbepuqlbIjZnaOE3dsmjQHJXLdbu8+gUWMRoWVjIimlmL3qfoNFRXKf2IBxepl24A+ViATZmwsWIIJy6//tx6+711qbqUYHkIh2oEQBgAH9DmADABE5Ho/bVj8+Plw/Qn9fSgmaOxH9+eeftdg0TX/++SeEmSOiu8e0mlLKpjVymmEYfv3lb0T0+vq605Ni+yNibMmc8/V6DfRRVb9///7bb78dj8c//vgn3Hw5eRxHFoyJrbGkuemwbznoslQASCxxSqgWxAxAwpxYVAuC7Q8i7jbcdysQ4uNDQ0ABuduqGAB4iP9E5Hy9Xi5XZHrMz1FvRBESSXOkwjF8Kjbax/n9eDzO8xzKin2JhoZeVd1t51j2M8vUSiRn83yJtBVh6WkBMPPDw8N9SfaXWHQflOKfAlm4u3Uth4jJnd5OulsW3tE3vGF8fZHsFOpbELhDDfc8I0DxxC3suDsSUqASBNFuahYzCiQ5JwQAJGEW5oTAvqN2YFZLGIUxEiVWrVrDtGS35tCovR20FF+WJeecbg655K6mHqiqI3pM60DkJMxmFj5Yf7G/tHvqgt9NsPLGidfgqdsd77nfqNopcJGZkCPN64I9Mc05V9/t8Nv7q9vOc2sJzx3sCr0canNRgMw2AIgItoc+AAhXGTPbJ/64e7gitNQc9oTKWwIFpgrMN5IM3Oksd1vPnpQ3eid1rfN9yuR9nv1tDToBOiIbclv17ZMBYAQxrKU14UkEEVxNq6+u3MEpVzCsBs5VgbCRE52wjVUhdXU1QNjrK3ciyTIIAgN4MyZsgihQtT0h3n9lz5Xv8Zf9o+22y0H/8E46IoaYqxupvHYq/M6AiyBDd4Jg7OVu/9d2bfs/7VkxdSV634q3n7Gy7U/K7wxjpJP0YwneeSG3u06I5hD2z3F9LX3vJ1ALVffgvzeJcrPjAAfXGlUXoiAAdnHc/gHg7nW/rxA7mQfJcY8xDrcF1JbgLjto+5hIADTI7Ga6B74s7sGUdXdqxPwwBhnyOI4pc/D1y7aBxnjOixtPh9M4jtUNEX/9228fP96/fPlync9Rqb+9vRFgSunl+/eidZqm6XggSQ+PJyL68f3PL19+0aLuPiYhInJLjGYAIq+vr9d1fn9/P0ynT58+//j+/vLyVlVLKcj5jGeWfDqdgjpCwtdlBvRpmswszpX4FGE4lHMmRiIIwVljGQKEMo+o83xSOhwOnz59Oh6n6HS7afBe1q3JPWutOQ3jODIXFEmMpaxZuAqNebCqUcPGO8/zPAzD09PTdT5v2/bL19+qbrXWgPdOp1O859evnwFtkOQ+1VqZ09vbW5QfInK9LrXWy+VSSvn69fPT09Pr6/sOOEXt0TYM4aYVNoi1N02TI16XRfIETKfp4Xh6QElJRgcxM+qqHVXNeZBEABZp1v2yaWuPcA9YdDcLyaz5Ftfa+Z0YfdPuSadaNLoWiQUQ2e9w6Ri1wUCABoadcHgzKgGARCHydm40zlYni0gfEhzjghERwVs86ucr3w7aW9GO7s1VloisXR4zR0LZgElEIqaeBJiqRlIYzUrrbDpippa4k4MzoSOqGbglSUTZKzZxFzAEV40pU2YP+DyrllLKupZtK6qmBiKCTEzJq5k2O4KcJcjEqorA7hgrpFfpuMMYIX4IUvjhcHh6espjRofr9bosl3HKwzDEdILrZRHJbvDw8DCMZ+YBnC/n9Xpd1QicSynDEL17jqS21hKpPyFbG1je1gkzg4hDVqvRb6gOCLAncEHrOhzaEAYEHIYhzJFEAD0RcsjnwekGXhqqK8fMAYCqKxGZIVBCal42qppzXtdSaxXJ0p2dsAM83vuQ+wJg5hBWPj4+hoxPwWLnfnx8BL9cVd1QQV9fXyPzDnH5PC9xD9/f321dACDo6QgUI1FrN/behyIHuybYa6r1+fk5ZqmaWQxsiuIq7kZKyUxDtzqOEb4iQUTfxXZtM4I77WsgdlCcSGaNjmKtNwucxA27UbS4e3Xj3Uk9bJ1qBeRxHIdhmuc58qGc83iYgn8fCff1eg0/voj2IrKtCzM/Pz/H0bau6+fPzz1jCNc27VmR7ah5CyNeIzkLA65oDmitOWcAW9cSay+idEzEvM+Z6E5TGMVh/CG4q1v2dD8oQDseuSdh2JcxNPZme/GN5B2jGOpOpaAmkGiJSJAzrd7GykSdSAREWEr8IhNyFGMpDYRMEjQDRkS1gOSdWc7vl3jnUlfwHSXcM4QbH2zPGv2GFiNR+IbxuhZmJL4tGyZKMmgXPwTRZU82at36vW2wOxFEs3fbtm0zdw9QKf463Q2829MedwcWAFrXdRoPx+PRAhwGVHMwC4mPtIkxW9kq7vwW8rt0uYHu5/O5lGLezE9C532/BgwgIMsUHHrGHVZvWRl4VNrmdR82d/v1O/bUnj7t3+ynYUMJ9hiy/6KZoQerIkjbFtbmRAaU3KyW28Eay7WYKjgrAoa1fDuP3E0xtMIKAHE3jMhKiP0QAHi3slEHgNiJkcbEY2JmgNpT2bbZ47lo7zBE0cktO/cYmbhvnP2D7ysKAHbVbWwrQIv8X0RCWXQXl+Lt93o4HuhPbYp9GcPPtk5EbQYw7iZmHRsHAOSbo47fPS8xAEFkJEAwQwPXRvAHotSVv/EAMJYiIgKQIwCyI6tDNSPzohU7DwzQtZk3gaqaa5h9ImIasplh86TU2xkDTMTEN01MbKQGA6BraZ5N7E5uUQ85uHl1NXcmRtDoS4K2jESJ1azYBohszFSYmdG0miITiITzNnimxPO6LvN2GhLO1+v7+8vrPDwkVSeHMqMdJmRRK1ppevpixMN0vJ7fX7+/bdclZZqO8PXrf3p5eWHm0+lIRFbWl8t5W9fvf7zmARTWcRxZjoEgLMv17fWPdSnIOdPx/W2WK6Qhq5oipykrwXmZxxGz0HVejsfj9/d3Is5DlpREBIERGJ3Mt+v1iuiUZBpSL/Th4+MjJjO71WEYiKDCNhyHaTw+f3o8nU6ZBSCsPAIMrdRm+AW5ijKjIOEhuTuudbmembl4AfJ1vixnQ8RlWaQBjDTB9Pnz51rrf//vf398fPz0/MXM5nl+fX395Zcvh2Ne11VkEMmIeLlcLtcPRMSZD4dDYpEhf3xclmX7T//pi/l7GoQIpuPh/fUDgD5eP56eTut1RvPMmZxQGEDH6VSKFuNxmAhTqU44rIumExNjrRUMhJKrMfNxOiSWqldGA0b3igDCHLZTnQGJhkipmWkKu2pRMvDaqhorLf1FYeaKzhw2iG5mBC7gRAoY7As1rcIkjYPIjjFKULC1TZkbXAoADJFbU4uYiLxLvWOKWRStIYztuTt0j92ex0O0/8zMgrSm6owQrQAzCG97IneqxMMeFAgBuEW0aeJ2OLWjLzjgju5ITU5EDDHPCCD0uGaqAAgMxApeEVEMiV0SlBLqn3y9bNGJLsXZEiAjodZq4ESWbWTgx+PDstVt24LlxMxatoTgBGCGGEbpQcupQVobx8Mpul7z9cSPD8cpKCvuPgyDmRFKzjykx+CxjKMQDtfrsm1bCiZrtfEwghqQG6gblmpTxjSkUqzqhohugMiUWBzRDYmJXBCZEtFN8BOo2DjmNkaXLYxNAYAGoZYrA4CnLGgYHW5T37SKWNjOhjKYGMTB3Kpt6FZKCZuLWps5TJQKxELkDmjmDW9mzsJ13cZpeHt7M9dxSmbZsl0uWlaLrJ2ZCWUcR2aOnPu6rpyzARwfT0g0b+tSlZolaw1ZmNZ23sTxeTqdJJGDmtdhTO6qVr58+aKql8v5y5fP27Yty5xSOh6nqBkc9NP46fX1TYQOh9FcQzM+CKsWSkyUl/UKECh+zjmjEwoqKQ3kIHmQZbm4bhj2oIyA4AYppVqax2J1A0JV1bqN42jQhChINI4TdHcOM4g7MKS8laXUkEIKEWndlmUZshD6ts6Xy8fpdFqWhQjHnOf58uOH/Zf/8l9Ewjn+p2nEYcnCzKWuLY8pZVvrfF0Bwd2iJ1dKUGswwA64a5HHZZgZAndxpSfpNAZAANfqhgExOiJx1PNWtnXtRU4zswMIcCAaO95CROQWCmFrampuJsToUEoxaMNZY4zoXgkAoaoVrQBOSA5kxkQCGHlBm6opLNj8Uqkf7hC0Va2+1Wbpu/fbo+iNuiWSqwhlABAKzOAIEbFwGvNARD412001j3kdLb1GdLQ8HLQNcwWPKc9mpZZQiu9Q+jBgrdbj7VpKQQdGksQQ1OkQdtdQPiT1+OxQS1Dtt1orkh2PR7BqbmDRwUAA2LagdHb3GEAICBFv6Pi6zpfL5fX1ze5geGY8HR/MrJpqmz2G6BYKKoDA0BppmYjMKhIQw8CpVgweoFlrvwc8FxXajrci7iITvzdRbeblnWMDXQ3MGDE/ur4eFIiim8akbVJVjWnK2u1OVLVGptcFr47O3qpQAicCYhACIssi+2ym4haiRDc0h2I6jImBlmVztzFlULNb94Z63JPMEp+935zmTwoA4GSqUTP7jnEoRGezfYdu/Sv1n6Z9BbV1z/ux277txSEgIIXvUCvgeyob1jftVxiQAEGNqClqm2mbtUlqQNEiAGKIVDn8BoTTCIjmxoCEbl6hd3NKqUQinOLpiggxmjVifrRStEujStVaK5qbK3qMS+jzETt/yMBVVXo1329Qb/zdzZq6rwXb625EeSuPLDKk9k1V3TZvimQI33qlULqau6lDEPA3ZnbXCOWkmbMDC/I6Lwqq6Hq5Xrf6UW12qD++vQilw3ByqMj0+ZeviL6tF+YEtn6c3//4/fe395ec8/FhfHp8IMRfvn4l5lLKx8dHEDmmaUI2JBplIOC3l/e3H2/LclXbjscJWIKDMAyTAwHQdBwHl1orpwFjYCNzTkP0Q+MVO/BwSDkNALCVLb6few+EeufU3aOzaV34lVL6+vXr4XAYxoTmui8tsyYUwi7IQwjSBagRopkty3K9Xl9eXpbrrHdWFWFGuRes3759m+c5Gr4Bi8Z/f/x43bbtl19+SSmVTf/9//v75XI9nU7DOJVSUspvbx9m9bdffx3yyFLd6jRNb28fZiYidSshyX14eAznBzMt1fKyGTgRPTw81qqADCTjOJhBHAaEYF4dNKdBEhMBGiIRcIBJTsRB7N6Lc+vIUA9YYuBaS1T2bNICJQoRp0REDEBl0wCEwsiOOUglQGCEeNfipr3ypq6iw04P2P+o373asgeOzljc7R5KkLkrSfobWCPXmvXzEzyMUByATAEJEI2IYw90CKGha/uQDuZqZmB3BjugoC0aBr7b4QzorNk4MaOD6kQ0MqtWRBuGSUTi5Gv+hu4GRctSzAklJxERYkJ0sxpZIAIHMzXf8MVW3g9JGMH8IXK1p6fTOI4OxkKlrOAaa887XIpw61EAhBmz5ZyZUynFIW4LEvMAUGtVNy1aqAKxgQNyIG/uoGZO7IQEIhL3KiGlO4jFg3mf82jhx9m7zwAQ7kDtKRsY2k6CgBasGBMxQRzUePci2v0xAvNTRB7HMbJ5s59jKYRxrYjIMAyqYZyPIvn9/ezd2GQcDnEaPTw8PD8/r7UCwLIsYQ0ZZ3BON+w257zoFln+OI7R+mCmWuuXL18A4F//9V+fn58BQFVPp5OIfP/+3d3/43/8jwD2+++/l1KIp7Cgid1Ut3BqD4M87LvjYH5jtTV8i8jMjsfjt28/IPD1YpJSsaqqIq0QbT8M+36JFWvX69Udjw8PO3E8AlQaBkTkJGTqnXN8uVxSJz4FEh8pbCllna+JudYaHpdtwvydcLnLxpK17KJDoaEOdHf3BjQGrYyEmYNVv9M2tJtHEWnYQHmjNcfzvdmGxHZragzc0bFmesPdNzrGRdT7WcsdaNurBW/SRnewUmr0VaJma7p55vgsYXAcxQZ0UDNe1uk3FYPMc9OhRToOvXXpQaHrT78FNzVGSkyGUnELEy0EiqFLAeoDGkFAqBS3LjrPPR0n7wMfAMAUVE2txK+H8dQe8XZs27oJ4AwzMWbLQfHfh0/tHyIq2OtlAwidFOy3SJCWuu2he+cgYdc1llriXu2JsqqrtpsMiNM0DcM0DNNatp0rqaqbO5qjA3iLw/t5AWAxJ37/FCG6uF8DADfTd7vjYrWSEHBP0wM2drhlt+2tDNwrkah5wM9qYAacMgAQoFrzCg/UXIbsqsEfs+oAzQ7QS5yVjoiCIImEmBnrtmHv86S7DdUsHAwJb4FUVf1+3cZBeXefQwUBENTKaF22w3hfjd7tUOCOqr4fviQccwD3Fd5Z5T8Jvve7tP8i3tFD3D0GWsfhiNitFaO7+LM4OJ6X9Djv/SLjx6QiowehCZEBzL26qjs0F9WdqGBmujYfjwADGw3Fzcy0btbEqYreWfLoVrQbsVVCDun0/vmhT80Nt/X4pP1/0P8LAGDNqTLoLX2NqlVrDnHmisXih1S1614AwHqHQs2tqpba2j3qDmnjklnSIXmc/0l4ucxV15SQEbZlxeSzf6TxkKYRk6iV49PJi7v6n//8x5/f/olGp9PD//Rf/gXA3s8XZq51m+cZCB9OhzwIEV3mS6k4JC6bn9+ul8vFQYfMS9nMAEkNRA3VCM05pWUtMsSIxwFZ5nle5vXh8TSOY9i0HY/HFtZBe13OqRE3W0yJH1CtQYZR1ZT4dDodjuPhcBiGQYRAdzNBZGY3RdiH6nkf7QBEsG3rus7galq0bnkQxJRSul6vZV1TvsXxqFg+ffp0Op32Zx0y0/PHdZqmWswU/v73v7+/n5lZJEcEDBI/AAR6Ck5hkUkk4zgxs4rUWuPJqioKP4xHRzgcT8uyCGcEGcZmkTkMCRCJQ2NfVZUZpzGlxIAqSI4g0rCHUBHFAANEFxFHama0wIAGMDhaWTdzFRH1SkRhB0HEkIiI3CCx9ECp6E7oUcfGSQZWARHaOL2WnTPx7hUAN1Yu3jl7A6IQNYvfqHCD/byfr4hNX+6wv9UtgnkQ9Ry8jStxsxiv6TmTpMEcASicEPfY0S6DsruDtc6gmblzT6SiteDBRUPsHr6tbo9PJ9RI/AJgLJgYN3ChNtObCMxgRSN1IqMEhK5WqhUMbrtXBwUnNxZpDVN3R2wmYdFFKaUMecyS0IGIDuOwIqite8rbw7GplXUJMmhoJGIME7u3QUsE3v12qG5WwXL2Phm6tFsOBGAx2IsZRIQ45kYyoSBpcF0QMZZW5H1l25gAIXxHo4gCc/Ou8IlMlZq3MSFBSizcw7fv+oT4Apml1maGE4sZmqjO92oQe8XIJAilFo0xzOtaTqdT5IjX6/X7+XskHF++fPm3f/s3FImEe+gvc1yXlmRH4h7tpuPxGNVRrXU6DKfT6eXl5du3b8GmcPfL5QLgb29vkY1dr9d5vqzr+vj4SAxR2yDiPM+SmDmF5h5AooEuIlUDOWvLK6wn3CHnsWytl5tzTkNeL1vMK8A73rC5B4dnXaqqcgpPt50Q1cwH89iqyjizSilDngIsb5TulCJSIWIpZVvmy+Xy8PDw9PS0LIv1JvcdFNd2YAgDYkOp2rbWSOM6PoL7ho0jHLrAYAdH9xTBOjq+H/B/OfLvD/4dUOw7t1cy3GLDfVbh3kTteyoD+5xCcABXrcE1r5XDwxfxprTZI5iquhZEtEaGiX/aGJisldBxh/YsiwhMb86DPWKgUHT80ME6stAUn7VWCtcRoK5xA0FpuvoaWSNLG6hZAcCbbqfNsdz9PfbbAl1ut3+Q1dbwUw8vipxuxGhVVa2llHVdS6kiIiixkvdSMBisPSeO2HvTkQOAefV6M+2IUzvk4A40DGNbkHxnOQ8I7hwhwpHCeyHwWWpWwfvS2hkd+xqgn2bx/kQ94htLrS0wte0uWwNE1DDrhGjbVggrAmB0BbDdigc60hMLcylbvwwDavenqtayCjf7TmABACAMUjQRxcXLzSO166o7I8hrZy7h/YcihxAzYkyZiNICABAVERi5Wxfe7sNfdlPAMfHR3YFbgho/oEG62TPpffPu93lfSN6g5O6I0l8AzoA76xvwLxfTWWF3c432sI9ocl0qIgpBYiQnREFGArJaRVItWtWSDA4Qw9uZEjo3PB/M1U3NvLPbzcwsTm0Hc72VEUQkd3S9uL8tt3Dq140Ae3LQ2Mzx65HYuDuGTXZ3qo8/1z5kzJCimKLHHr4yrh7zOwwAcCvXuhVAh/i4WqtUlpw+nVDrjz+/wVrHPCzDMGst25ZlUK0poQx5LdsDp2mctvVCpfx4+b6uc63b48PT509fhbNaEULTTd1SYjPTurjVj/MViYjTct1evr8mGb98fpqXy+XyYZKv88I0IOd1MwNETpd5IRloXfCRmXlbVq02TCMABP3UzJ6fn4/HIzOa6bZtdd2IA0yERv0kIryJU0OtEsYRERciM+57IabKK/RWZtxu7MoMrVVrLVsTkj4+PlrVUgrQrbMZF5bTOI1H08vXr19TSufzOY7kr1+//vnnn9u2/frr39zhzz+///u//+7uj4+PRHS5XFLidZ1jxX98fJweMosxcyllmqbzdl2X8unz07JchAiYgASBkCkMf5ZSxmkapoNwVgAzpz5DoZY6jI29OgyJCMJjHSJP4iDPIiJTkG9CgwLB1yRCDvmMIxBgRx8NyeOOE7GLE4kbJDaNIFvDfkExWHoAYLW6M7OQmsPenw2rVG93+6YE8kZ2gB62Ylxa2+2RjcUY8J+L4fhH7D4zjogQPa6m5VY3dECtNSR9gmSO90fp/bu1aNuh4nYekJjFAITmUGY9OYafX3EGuysROjioq6u75gyIylSIE5FkhVqgGrgXdyUOhJKJMLEDIDMxA6gjevPaAgxAAx2yiLuzEKBLYhFyF2JYlkC5mvpwDxrLHKG8BggEAzJJkhyMTXf1iHBqquq1boIsrbEQcA0SiAsYSNiAJAmXG4hJ28zMHO2DoLCDU5YBOo14zxjMzKsnFiKoFSAsVQgCNiXGnBIjEHiUlNS6RegdqwMk09ag4J7icx9335LFaikNw1AaUYcEEUX84+ODiB4eHnLOry/v8buXy+U//+f/vNYaho+HwyHypHnZAqCJThozDzmFPJ2Ivn//PgwDoP3+++/TNMUI5D19FOGANqPUv1zOYQl1uX4AwDAc401yzuM4ppSAifqhxcwszdWUwl24n2QOyMzrWsxsyEMEMckpfAxoh6sB9zujGu6iA1Ggto2TEJlZS+q2rYGmIpfLZRzHaRyXZQlAl5nHdBySJD5+fHxcr+cgkBynA3WSZyklaNd7KlBKiT5JL6uAmTuK6gCQhKO/va4rEZaylrKqlpBWm0U6Rfu2ojt13Z4aYs/F44PAT4LdfmISxTDm+2TFe2EQP0xEanXvhw85R0Zo0c3x5gsR/qU5Jd9Nc6yaWSxFUw2NKZCDecD5qkXVaq33Zi/eUytoYLALMbinUUgR0MWC1aDrWrZtG5AVYGszUCUkjAQS0t64yaoK3Ky/kMC90yT6PXH3lBhg2J8+EbgbAIYEudbqpoFG9QvbOyptZcaBQr2bkYSi+bazUPRuMiv1NngrtPCGoa7rGpKwKBSZUkrp8HCMPsaP+bzVEiwXIU4UVmUku4kCWp8A1cp4b+pbJQJtZjjtvLjP2kOAaxbcHLl7hxvE0+2zETH8tjzoaEboBu6obqGMQnZkSpyCbLlndNFPKVrbiWytD1DKIsw5iyoX9EAYhfAQE2fdwdqcCuq9gt62Bga0oJJDzCm/yQ+YI0rftry3jutfaR3xRUsyHRBBVYvFICyN05+Iwpt4n5TSpg3eYfOItFPY+91D92h9YheF8v4XyaHNMkdExP7+e9vE+/frvh/DrDzWrYTCEEkII43uvgc5bcXMhBOr47quZj4MA0hWNFNwV4x8Xau7m0fjr7o3rWeAhQFOQED5fV0SUUpD14VS9O7jc+75uv/8wo5dtFtublXBnJHasqtatSB5AkJmt2KOAAZmsbjcwVTBrdTNrBIJEhkWnVdKUra/Efr68baelzxx2eD15UM3m/JU9coZpuOYhqkWcFdBqXr+9uc/t20LLAoAXl6/qxa1FQDWdUHErSzLuh4OByTf1lqrCclxSofDcD6/ff/+EgcMIgMLEHMSQkZqkvMhT0RU1Jj54XhyhPf38zzPIUsVoagNELGUjbg1l6PeZuJat1oady2sfg6Hw+n0GHPL9/vcvPygoYO4j/u66xkRkWQ0q2VdPt7eiAhDHmN1uS51W4V4HMZt26pXJgL3cRiSiHUvlJzzx/v7x/v7MB5eXl5KKT9+/AiBGpF8fFxyzuM4bNsSBLtt21SdhcacxmFgGn5sr9tWCcUMgIlQJLuqq0ECrAbglNOYx0PoooTzMEzLct2XU0oyjTllBKzkbm1Augd2Gbsl8lJiwLsCem9lGihJNqvEqN7VZtDkQZEfuyK6o9WKblARHR1cAZkCDI8c6N7diGI4autaxnNRRARrNx8Ruw9UXFWz5u1honZs1fZz3R39/kju/WggIEfDIJCFzYtiLSzjHUyIkeaq6i5Djw7qTmfrzJyfDFvdXc3ozjkKyciBkRFdtVrZAA3RtC5EhKThi89MzMgEWMyUHB0T1Wrqio5M0XGwxFisNpQpEvfmhyC1bmGBGnYu0eII40VtU+ggeqHxMdEo8mlTcoNagEhTSsjuVhkJQc3NdLO6abULboDWR+22MxvRXCEPCRyD8QkY41ooJUZERso5M6WdriBCZuCORA0kbHrjBoq334pVh81DmhAczaDB8Bi9i6YMuhmNQTh7IhJzkykAeHiKRNDcL35nNYRUNCY/PD8/B0Ye6EDkOOu6Bpk7pB2BYNVaQ9ZyPJwiN/3zzz9jJXz//r2U8vXr1/P5HJ+a2wx5TykFalBrG/d4uVyq1hD/UbNkztM05dymUqA21iV3N/0YVxMmXYhAJGkYcV4BoOrmSoQMMeCiZ07QO+y11uhOm8Wj5HXbooYhIgW3bSulxMzalNIwTWUpe1XcxKwx6G2bUxZEXNf1/d3GHB2JKnKI+lZVwz4yoAdmDoS3NZi7vSDcWXZE0aKqSLBupS1UxD1ZpGZsavdp+p4O4k2a3PgPcervyQHcFeQBA4eJxn0aZ93hdI85+1+HO6bE/oY7+6J/KAhCv3WGjGrdf8vdO8gdiXuzVI/r2e+zWaUea7Zt2eMSM4bDDwColj24MUM3wrd49FFxxd+KTxraPEREchHp9UIbvkadGdjLXWTmcRzMNLCq/bjUPuAWCQCdiEOB7X7BOyeDoOf6He0ngPnYeswcjBq7A/tVyz4tK5hI0zRN4yQiBk7rT5EWWrAgDE42RNzFIBBCV3D6Hb9lx097PKT9BInN0vMB2heLB8LcBp87EYRPOzmEqRoYGUJTU7mZK1bHnFgoY0KCGEdlZsXM0QXc0NXUaqnNgReJAM0dymaWJfHQRBToQCxO7c7HowmfewDASInNkQjJGdDcapTr1CKjBx807oBCbUYm3U+2HfK3ZpSZonB1U3XVan26rUgW8/v7v9NmepRupyHccYratgpg6W4kLSIK0o5Qt11pviNtLVr/D60AiI/siIBhR8BmXhUUEdzRCJ1SSmorIqvS9Xp1h2GcqkKBILwqghE4oFFn2hFRNHzVdMfgY+FiK3pavIjtR0TYEqYOvd+lGnBXzdwWa4AowZlrfXYyq+YKVs0rmhsKoAeCCmhhqK+mtYTR0hJ7XnUVyUhsVRGxrv7lWZ6O9f/93/9V33g8neb5KpK3sv7y6+PmZV5eJ/9bymxlM9/+/b//tx8/vp2Oh//8L/8Cit+/f//nH39/efnzenn58uVLznI4PRDB5fJyvb4OwzBfl5xHkOH8/vH2Ch/LMi9l0IdBhjRM5lSqAWVAAqDhMMbIJ1XVbTsejwa+rZu7//rrr7E/A+halnm/OYG1E7WJJNF43MoaoWTIw8PDw+FwIGJVJ+qdUxbiOBKyWXWFYCD43eNAhLJs27KmlD59+qSqf/zjH5F/q/v1eo0HISLjOIo0R8gg/43jGJD577//nlJ6fHz49u3bttXHx0czO5/P5/M7In758iVUF6UU4SGnAREJ2X07nU7LrJEpXS5zyPIqbYjMgofDMQ0TIqfB0zCaeUopyQCEbQBKsyz0cUrDkJgRwBGcCNxvIwtUAbB1s1SBiQABkAEJsSVG1PrCHJPzrM1pxwidXaBiFDkzKhECuHo1dY1DEgXdtVRMd0Jy+2uXKR4x9lmbUW3HQ47zIJ5MH/tyw8j31ryadrc1t055bl4zZBjj5VwdQuFQ2Nr7UBCCW56Ju6csI0F353V3RG4UW4sQFsmKIaN1+TuAo1bj4LN4KXNZF7N6mJLWNW6+CDs6gLEQAJqjMyLIhsaCbZgZSouBrmHAHDdgd85hRpY0QHLDUJVVvfFGsGONe+gEuD13aIMLbF2UMAuDiDBEN8aQFLy4V62oJbkwS471wAhIRkAgDEAIAQZTP4kh8gcCZMGUs3V36ru8rWkqALiasSA7cUdSo2RiQsKdUOiIJCSA6FYhyrPe/uafHZcj09sDaUpcq7MQC0liM1uW7Xo9f/36FQBeX19j+il3k6JYeJFkxzuIiKQhNCeRWBwOB+EcoTjnHBMkwoallBKs94+Pjy4OtqDTRN6Qc44AHnmPdeerp+fH+LG2KxGa4UEkKNTPTqf4P0yJKREJsy7rCizjYdpJvZF8EBGLtH1RgZljLmOHn8HM0jjs5ygRmXk127ZNtTycDqqqWsJvBBFLWYMBsCyLahnzQ0oJ0MyMkcDc1UwrAicRTgkBSksiPRR7LA2JjM5MXAx12xZ3Fy6M1Ox6qhIEJUu2emOsxScK2xnpL+hJcIOcu3idOienVfvutVaDW64ZkYQahk1IQN3Apy/I1nPb1xje1JPMzNEOsp1NbtYvtbo3Snoj1qpaCzg/4XTxe0KtcgjoPSq3/bVv2/Yr5h5DWwAQnUXcLdiMSKKz9iQBUmpCFGIIChYRBaMGAJKkALAbQC4UuFJALRz+9BxGqxzDBNzdW/LjOQf7kUSIaT830X2fpmJ98XgpzTYn7ls0KGKhulYh5JTCobW5EquNwgmHksTMGpMYwnlW9rINurslMzc1p1qkN2AeM19dzR3C0gYAwDzY5uigVQ3QiYN5BC1sai8UIRFDN7IgFCcAUDB3JEAnNAevVtQKuAgxChd0M0SDzGhG7uKOay2yAKPVWvMgABCEKDP1qlarEskw7glxTKGRNsKWEJAcwsYbGiDVZqSwg94Rt6D7uwfgXkopBVJW98xs0j3a+6NU6CqL+E4ppagRkUgN/c++EZx6HdgPob4yCRqlu/sidtI4IgIghfwa7xYwAPSJzn0L3CFuFKOL/mrKKXVZK5HmRJK57WBGc62gkGvRdV1LsWEYqvO2bZtvYBXAhCkzEbqbomkceLF6VLVqaTdOBNpBwpFDFFOrALdpzQ0Qwl4b4a1fAPt39nI8/nlrmpiIAgUJuOGZbqSuCGR9vFNUjNXcAT1AHVeLCSDotG2FzM3rPP/5z3/+37/9+f9xfn6kvxV9L8WJ5fd//EmD/MfHh3V7X65vo7CW88fHa9X1l1/+s1D+88e3y/v5x49vP17+qNv5eBymw7Pr4k4AdVlW84Ugr5fzVd8uH68ypQoo4wPkYVurCAGKGdS6qbkCjqaPp/T29paG/PT0ydTP6zkaYXFAfv36+XA4xHMMpwKhkKaJWdVa3XXbNgAPYf4wDA+H4/F4lNtgiKZx1Ch3e3eVDUKGv992jS6h1fPlA9SSiNWybes8X2OxM/PpdPr06VOgQQAURrYB48X2e3l5uV6vv/3229vr6zLP0zQ9HKfff/+9bIoh5yUKZw9mZiF3r8UQHQkEJUSNpsvHx0ceiJkdQc0RkJLUWtUrUyKUeVmmaUqpHWChQ61qiJZYOIacgjo0cYlZTFaixvVo48VMbXViAnAnNQRkQmptOrp3QW4Si/CdInAAIjdAjzOiuqKDo7qCGQYaaObwE+xhQXfZm8XtvoHf6DR3+8IaybWNQWkBAsMToL8DMNBtH7XdhJF5NKiJelVvbtu2QEtnw8tc27gn7YVEz5nMG/MKEAgZUd0DLgbqJ6i7OWib5qCqSDIMLFSLbss5pclBywaMBmooGLalSMSCWtFNKY5VJjccSNQAAJlIvSIAGHgXnMXVyZ1yKCYqAEjokrlbB9zz9GKQioBQcxnbatVtKygonIgqODJCFteRaCPJSQjIgcGREJGSkBkBOmYyjfFezq2PGzhEtDVUixtLP4e0n/ceOQQiiRNrZCHQ10PrlhKhWcUgBiECGgEBojn39m5jG96Lbnve4NhN4hwi7BozEoG51rrVukXz/XQ6MfMybx8fH6E+n+c5poIFfBBeK2Ho2xKdlCLniHwx0MRxHAdIRBSKVTOL2cyPj49Bwn17ewvc3btKHhFKKQAWus88DNz6gRBBDBHdNbpeHL1vFESMySqNR5MSgJVqu0KxlBspgvscVmZmYkQsWtd1dUdqGSc2P/s0xq5hZuxTePZklzr9FxEPx6OIhMOmiGxlyZijj2FmxBjNmd3S8TKfS2H3Uqu6O0sK1k+0OLAPF4uuKfM0DEMeUsC07s5CKckwZCwWHY89tO5/4t4a8r4GoH5PsCOv7h49RuyI454uQKTLBNKms7UP/pftc9tHHbJlxl2ut4PT1g3i4GbJf2cYjeEdQfuv3BKd/s7Rscduji5CYcgb1QGzMDEhIUOvIgzAVWPrIcZuQUiUcs4h3Qa0Bmc0DTS7e7w/7RaB1qxmcafu9BFXAIDYNDDYM7k8SLReIxePjwgAFvRxMwRI3ZezlLLWysypp0xBvEkpjUNu79BnkwEAMx7zGPetmKoqmhNiNAoQsVsC3FqdejeO7b6TsB8l+0OHXu17B4/gboJ4P308c7D+fIs8PioXAHdDi7Gvaq6EBF7dVRIRM9Z4T0JQp1BTgrAkHo5TQsTrsiFilARVN0bKKRPSvflv3Kg4K8nw7tQjRI/DuzYUzAnYOnrVQ64z8+ZN0mCWwEkSoNwfpnHMQTfzQQRSt1IKoYBTZXNH5k6U2YdmAAGitzw27iQh0n4zY05EJO5ERDdZWq9++2/dlRAeR0BbQ+1ON7lUPBqhlr7Anla4m6uxoZldLvO21sPhAYHn6+oOl3JFB2YkBCdUU62l1u2Qpe2K/rxj/TUbnrZ70cw2rd4FzpEz/WVJ7YumX+tfO3TunTipEcU2RjBGJBfqDTvz7tuvYBXUyJ1IjHGaJleb57moMTiauxqjvr7++7/+2//N0RTgz+/VzKZEP962Hy//PR3S09evMHz6eB8XRCtntfXp6UQk768f//t/+7fl+i4E8/KxLcvf//F7qUvKfDxOhzEjWa31/fWHUBoSO2xb2SpyGg7zuoxJqvrDw+EhTcumpVp1Q+Ageha1bdtyGuLUOZ1OoUwNuHpZmhxeRMDaF7XopsWdzJS5eegOwxC4l3YHGe12QAw3WpKqQldJhlAkCJ+IqFspyxqOV2GxNKS8LIujs9DhcDgcDmYQ1ZSIbNsWBYOq5pz//ve/T9P09PR0vZ6HYfjtt98ul8s8zznnp6dHSeRt4IU/Pz9DmzaHZmZu6zKLDMfjsWz1Os/DOAAhcyrLQoQIvKxrVZ8eUu2Wf6WUw2FERIfqoGY1pqwHgwIdw5OInPbJRG3dgsUdcLCWhEfmFcIdYUTep0BDU47GHrM207EJNZ0AkJAVXRBMtNkyYHhl7LU+YuD8jRe79yuJiPswmn0/wx2OdecLeeuO7EcauEbHPxLcJv4mdDPv84DaTkEEIPIGP6hWgIg+cSXY+TmN4xjIXej5kNAdVY3ImZmAYiJgjChHcPfqUAF4HMdpmhjL+eObGgmnsAfbas1ZAAo5A6g5m0HRKJoANIZIxGUgM+u2RTz2xrwnjJYxw07x7BQJM1ORtKez2HrZ8aC9113hP8vg4Tix309Dckk0IYsQIhOCaQFpWtvE5CxelcAMcHOL8arxvo5Q+sR7IrJa4lGWsu31BqAx7LGxagXrzgEYg22Df6UG5FGYQaD9d+1dDFC+H9Ldn+QWLRHjRvEuVIhvpiyn0+nt7S1cnh4fH3ParCvaU0pbl7UFq83d1YAJrtdrpGXx1//2t79FsGqcYNCwq++ysCC4y/V6CcbI4+NjfPO+RRC4/uPj4zCM3LWYZjXqAUQnbvxOBEaJM4JiTaY0iIhaGadc1EspRDIMsm1buFWKiHV5aJLR3SUJIiJyyjn4Ik4Y11m0btuWUuaUtm2bxjE6CYgYsIL18bHBF0osIjIvl/gOoCPCNE3TNHknXdS6HenoRrXa2kZtQc55GCVJ2ldmDylMRDEpjztdez9DD4fxejWzSnTD2gMKpKaLiGloLBJvgvtJevdXwAMm8zvYr+EIbqa1drf7tne0I2Y/vbwrXqLe6IQKEpF6t/i55wAtxLaLoT0MRtMm2sXWQ1hcMJOamilgdgLILJCymZVGXQifeNpTBwfNQ0ZgVY0HYc1LKkoXAjDiYO6pu0eCcn8EYGdFt8ISoNbm8EPdvb5/FtrpiEJi4OA3MTH1Coq6I/59bFezdV23dRUREdrrB0IbhtBaeEqyk46mPLi7urGqtdQU0IH4r8mSmanWLHlH4qmPS/dehnXA6JaG7gEE0Hezk3iyem+YiMjMmWX/u4rBO29Nfg+qEpMIR11jZoicqSIisCBi0RribAA4Ho8t5jjUWgkwqk1ON7JTtJv3XRArBG+ncLR324p1Dw1YY/xr9+IEAPemllZVSQnvqpd2B7xNmWUmpRvvNP4oEcWp3g/Enyqf/f/ecokmD+gIQnhkJfl5effJ2XeFljaXsDCTuaEz939RnOacR0dYr9UkIXOtKnnc5nK9zqoWo9zPS/mYl2Jaqj4dp0FYUNHU6lZqAUASBkJCwbpFptjBjL4IKKhFMKQMAODJECuQxTgac2lMYur0WY8UJz4/YzJ3Qg4DTnDKnIkMwNDZrDgAghuCBSbYfQYYMzozGgOq6iENpqbq43is57OWigBey1a/PfjhKf+fvpez5zyylOs2pEeBP7b5aoD/7X/9f/4f/o8DPFzmDcbhxGn6D7/+puv27fvf6/bj7fXfzx8/2G1gmMLSiNK6LqWCmc3nua7vp0+flnrGDI4j07HUPI0npRFIFoUpcR4yZ1zX9eHhAVncfDwM4zQdj8exjN+/f399Wznl//Sf/sOyzIiopRBYklRKGcfMjFq3UtZaq1VNWQgxS/70/GkY0r5XrY3VKESEmFbzPlPL3X2zKiKmipSt6jovRFRKfT9/pJTqsoqBGRwkzwDLsqRp+u3Xv9VaEbnWNQ65UkikUf1i0Z9Op7/97W/MzDT88h8+u/vlPB8Pp9i3CHw6TWW7Io4Rv2qt5jWkocPAprDVy+l5AlnzQNOBL5eaUs55FBlZYN0W4UGrb17GcUyctRhLVLOVCadR8kCI6NWqWxw6fwlbZtWDEuKOhmjo5sBGqbES42fa+VqUAUKsY6Ge9yDkAsSCM1IzJvOQRBGCY7US5HinCTrWDgDqGiOjAW2eZwCQRCklIAY1ZEE1jRS8TdM0RFRoPgmIAQy1KTzursrWjCzYsVPgi1Y31wjfgv0glSAiMLl79aY5QyJ3aEciuMe8j8RIWOqWRQBMa3FrXiUePBBVYnR0ZlMtDkpI67pasc9fHoWSO8+XZUw2DJOho5Vtq9sGxM4pA3H0gZmG2MWO7t4YM+BbxxxCnMFRvCtiRmFGRndyQiNUN0dkQgMHYQImAGBiBK+1OhBHbeCQEppVMwUEdFRVISeWUhdOA1AmM2x2c0KkLJjT0A4JpGrV3cKn0nUlAnCwsi3rZiqSp2EYSBhQ3dW1jRJb11WEDocDjyMxIyqLg7p5NVNCAQRHhlog2j7aUGd0qFbA20AoZt+t36Bzjm/HRj+n1cEQtDHEgpeMtfrD8fHH+uN//2//5u4551CdTtOUp1FVSynMcjwer9fruq5JRKtHaabqwzD8+uuvqhoM+HVd44vPnz8/Pj6u6/r6+hpJW7jKENHT01O4tUyHRpUpS8vgpym9vr5++vTJ1YtbNQWwj/N1OgwAZlsdx5FFHE3diGJ8FaikiorJyLEZk28VwLatEpGTo7ATatW4S5x427a6LjkPZnq5fjAlZpahRR4zm6bJHdBdiNwwXAcCBBmS1FofDtOyXEvRWuvj4zNA5BwOXt3IXYmR2QEQXRGAhcF5GlxLjYM8MQkxKBHH3IyW0nktZppS2sByFjNixlKKe5u1hAiPp4clybptKUnOQ/xiTuGd0gqVWJw5j1sp99lJFxg69JmOWqp1u56GnnRDm5TSXtiHHTA0Sg8Q0U6gZ2a0AkCJqFattQ7CXpEkaeRNTRDiZgbozIRIfdwERo3dMntTREw51nONNYPozIBcAQDcWJyc2DCcHIQTkXRvegBAUmVxkUCkNhMYsiAFCFPNzM1D7UYITkodIycHIkcGqEatxeUghJg8HAL6/mo7S5AQVQ3JHdhUIwUHcACP3w/7P2aIKfORfTILMxSKp8D9yaKZDTn3Ysy1bmYQ7RI3MHOwn2jfiOhoERMi+Js7IxELCyGCmU2H0cwkcfjbIEm0KLw1RwERmRgVksuerFsny5ltaIAkeZDEXOvWIlVDlAytAlgKMS6qOybeEnIKbwvzOPokvECguwQmruhmljBVr4hkbiklZlJVSQ0p4ZzW1cws7k+kuOBqquaVHBDdEVloYEL0aopIQgTIZhWUiMXMCDwnrhtpAXTOMjJVB0MyNDfbcpaqm7oSCiKE2WkpWosRCZGoMSiQAJKz3FpkSAGAyr7LvI2cR/cQV5C7ZkmqCgTztrbCyRrDhPp85zvXzg0RWQTd9VYVNAArnJ0lUNhaFjW+vK9OfHp4slrfP95q0XEc3fF6vRoSES3XOQsKUmYRwUTuZEQQkyZjHEzOo2KYasd2lb7Cmp98+4TeHLLJ3dAQKIwT9iyqVy8N1yQkvKOrYls3BJCZ2TWZVYcS4JO7IgkjRVB2b2pmItRm/Fe2bS2lSEoEYObTdLLtfRofPqfpdSvLvKARgHz9+nyZ/5Nkef349r/8P/6v/+Fv/7PD4fvL//J/+T//z4m2P7/9+7/+t/9V12Xbto93Gyd4+nT88stvDw+PDuX940VrGCSn+Vx/vHxLwzQcTtfFJY3Pp1+IRxkeiKRUU9VlmYs6Ea3rmsdpGIYATQOcpi5IjzqyblvcmQC3AhKrpbTHDxZt7sMhZKKt71lr3WdxRzGNMQPTPSbsRHiN3KKsm5lFw+7p6fTjzx9EBMxgvq7rx8cHMx+Px3hUy3I1g8fHx3meL5dLzjka4kT48XENzT4i/vLrl7j+50+PyxKdZcyDLMsSl3Q4HL5//x5X+/r6Pk58engutZFip2kCqOM4Xq/Nf8Z6hRYHGCcBQiAHoiBHBbc8ev3tZAM085D6BcyP2BBNBAMnaA2v5uMBzfcUYVeLt5m86s25yDwiJjgSQgy2BmMEcAJocpkwW+xoqO8v5Ois+V5Yq2qMKIi8x/5/ZP3ZjiRLsi2IyaRq5kMMmXuoU/fcbjQBPvL/f4MAAfKBDRBs9nBq2JVDhA9mpjLwQVTNfVc7NqoyIyM8zM1URUWWLFnLPQ0a9+rePbIhAYBmjgiIsOsi9xLeLMEjZGKOVD722Fl9tm+yPe0bgEHscMy2bdnUA3TEYJ64c8eTYp5pdgsnxDRQy1pIOycEwry1tjqo2TG7Rq6NEd3APCzQ3TwA3dRakCIyApnd+2ZHSAx1dOojAgMsxZOQsnnqEIoIRJJHBFHOgEaOczyAxogMNcwQkdTVRAorkQJAKYlfOqITyb5kRq+899N3RIqYRLw1i2ju5qFgAeD37X69rrf7xjTNp/M0TcyI3OX17vf77XYbMHYDgJJ/Hk7aAJ4WoTSoL8y8+wum/vZ+GTskBkkTehISGaddiEzu0toaEQllRcjttqxbm+ZCfLrf7x56uX5kPg0k2f9Ji28AqLWWUrbQaZpaaynQnrOtl8vlcrnkXGni7nWazex6vSYhvpRyPB4ul8v9fn97e6u1TjN///5dRBB525ZUmHl9fWVms1jb0lorhbN3p7pFBCIzl2S1cbKyHN2y08KlFAj3Fohovvu6A418FPowQycTu2cBQPuO2wHIyGkN7PGBmbe2ZFzN91nXFZG37X44HKapbG1pbSU+AWiEjfSUiYgRwzG/UqdyxlOdypgISmDrwRffD76IONQCAGbBgJSssHAwxSKI2IV3EAc+MqLJEMeIPjkGLDhotF1yLv/C1MnTo7R7MKC2bcsMNYc2ozf68gDNfs+TLAmYR2qMUCdNpE56aEYbZCIGpEAKQijM2WPf0cMcCEhZMxoN9n3IsrU7M2eqFBHE2PcFCw6iFBGPkS2bqlCSFOkhHeOYwlah+lC1h9Eo2PdI5htCDKUk6woxfIh6JW6LYxwcBjYPY7gQhhSjuyc3JlnNe/0sIgB9VlWHjuEz+A1jIAGeXvu19cPiCQ7PPkv+duw8xkco6PlVPl3ELmODo8X3hDfndeyfKC9gzzfynfhpQJk41SEoT59kjgqxEzc37i2QoejgnsxBCsj6h4gKOCStywAAGHPmvks/cdZ2fx6b7n8en93dETCTTGYKhL7dAhHRdwElpIAx5V+oWLdxoE4feoxt9F8XOSICzOV0OpSpanP3TK4fzXmkndb42L/7v+43fz/Qx77r+RsRUXawIw24wsA13IdUaURQFsa7jns4BPnQE5OIWNfFlC2oqbvhd93MgoiOx2Ot9Xpftmbqoe7HaYZYszlYGAt6UOHOGzQiKsxG5CzqhhgonMO/o24sMAIEheSffdjRYwAFRAzqPhp4QKQfW9DIfXK0P08yJhI5ZpLSdEsSI2OYaYCRFOKJiKRIQAtzB8/mYFNralLlcJiXZdG1bavVoFrnbTNCIgxhZKp3vX798ntrrc3Xj9u3v/3X//uvf/2/zmz/8//r//Ffh/l6+bx8/M2sbW0pM5xf56+//TpNU61yu1zQ2+XyHQC21UkgELYW2LjUI8kJuPA0u0MpbE7CHMTFugBCZmwWjogpxfPy8hIRh9NJhMMs5cxFBKBLT7q76dYzyMqHw+F8Ps9zxS4qlB5VWx7MjyWFxDGwlogUkD4fCwCs6wYQTNRas2293y66bsvllnn/tm3n19cvX75ExP1+T/+RbBAz8zRNiRxkqno8HkXk73//u6p++fIlL8nMUuIGEVtrp9PJzL5///7Pf/7z119/zX8tQnWecIvD4fDt27dprqpWynQ6UWuKXJi5VqxzBy32ODjiHglznaSUCbqHAAQh+GNUq5fOCOOwtzzkkrPoCBR94j4l8xEwwhIAySQ1jwELxME8QncGICZtvUhAKJTBc2jLZAbPzIyJlvXQbIPqwfL4SoyeaXbfxmmq4WIWiCnzQoMABRBphKsJtouIiEGkPWEeABlYeYBwWcBgcgTdPWl/rht2ao0REQsByi41AwiA2TSICMPIsS0D8ICcUFeMJFj7ut6RgtNkB5EiMu6buZoBWIAmQCBcdte6nOorZZrneT/pAQgoACNbtIgSds8pYsDxKK3PQcbTyG+m7HmcjB3ESfsWoyxT05kZ81zsPpSIGLmeH0d1P8OAAy0NPlBTyxIRjnNR2+73tq0aYW2pIsS1FOLr9XpfrswcjNfPn9vSSSZ5tUzpiAzgBtDzDBhPP1/ubtBFl2McUT1zC01IhgZFIS9V9S4ih8NB14260WlJ4tPhML2+nlVfROR2u6UM4vXeWmulFDP/+PjIiquUcoHbzgNJmk3S0L98+ZIUGgBY1/Vf3/6ZKW9m+c/pyLIsaUaxruv721d3b22dDzWH2kmKesrMZ13qKUNsZq1Za4bIiVyio1rXJyBhTiqTNWY23X3OMVMWov24pB2YCIRpmmqZSymrdj+a3CyjKgbEPt9GyXhGzJh2v99bW0spW1uIgCmQrE4UOaqXvx0coAtAUTiET8KTHHDv70cg+F5jATwkGqhLr0Yu77GvO4mrFKlVzHqy6cMgeWhJjdi3617jQCsy7GfF3/P7ToTLV2bBCGDWzKiUQgEIyKUk1fspze3FwL81efxJ6hQAUm78UWR6Zup5VZSTD4mJUj/lB/PQAzFMTZhSOy4gkBgZ1CMZLoiFkHsqRemWwMxIDDkwA32+lrRfmmbpm+MfzKkbG+6OHpH3HFFEasfnbQg3AnWSD4x3wKQvZ+rvASPj9f3+EJGF7jSn3JVZrq8rjOQnU6PdT+1BpMx8HXp3eM/mPa3uxvcHQE+IkQAdujHL09xwr0B8xzr//bVfLQzAeM/UI4Aw01zMMg+zUGYSQcDU2eyrFwqIEQKnoztiEKJjQiQpCQUAvTyTMOtSxViYHjWGJ5AeTzdhrGFE2BX3LW+F5BrvPxth3dipO3ylnwAgEWOtghgARJwdnnwzcM/TiBDR7cFLwbSGKOEGReasRjwUwF29bRsi11pF/lRrIaSTo0Psaq2PnB6T2bWTbQIi0FLgbbwSI8h3k3IQEUAh7DLQAEiE8uPHhzvM0zEiXl+OxNO3b99rKS/nF2bWAGaqAL42Aj8dT9piFp6YiALCGUlKLjvbg6Mzk/ZS1fowFkZgQI6qc0SKWiTZLlOkPl5RsK8kM4Be4gQNH4jML/OoyOexL25CJkkRMYdg063gBFSoj2+LhSK4ILbWUu11kmmaqupmRrd1qRCutm1b5brAFuHA+OMfq8N9Xa/bur6ezp+Xf/4v/9+f/9P/+H/zdvj2x99v15+tfbjD6US//HY8v74DuMN6vawIerl8CzczEEYFqPW4WaVyfv3yH83ketvi/rPKoalHIFMlLtOhMHMzTf43EObgUR6B27YdpsnTVi3HuQmOx2MRabalIAAA1KlM03Q8zsepEoKZRkpuu4O566atAefMpTtiaSUiWrOIkELgsKl7U3evRSIitK3LTRCWbb3f78ysuh0O02+//Xacp3VdwT3MqBTXjTHev7ylNTQi/vjxQ4SmadprUxsjmO6epzgP5igR3W43ETmdTog4z3Oz5X5bp+nw+vqao2BA3NTneXZcmUoeXQlYIlOm7+MgzF5knac5rW7QgQUR2MkjorllINu3FvU8FD0i0A2Mcxa1F/GaGSBAn+vfjyoMCoCGzsxZYqYYDQTFYC3vGE0G+h6jIfDh1NDNtMcH4P3MS1+6xPPMrIsmPcQfHxzEsecxDx5Xj4hsm1CXk4v9wCAC72jajkIBIwV24wzixPAcYHdVTEpGOghmi4xTYMediLqvuKtHdE3Y7Hrd73e1DcO3plUmxywbzMMBCEkQyNzcwtE7jWVoyEZgHngA3uXS+/HWWR9dlhrNPRISQkAA3rsQRMSUehUUEU03ykYCgTAjAbtHJH/Gx6GZ6pkOgUgPW5Y98QIApxSZIARk4DD1cCKoLC8wg/ltcQhw37QxEzVohCHE4RGmwKSbW9uglKzi5hm4SxVT7pjOc1WNsVAjwiB2FZGcZOoRP2ewtM+6lTJl9OgH50hMMwZu2xYht9ttWZZt2/7yl79kvZ2V9u12I6Jap/xFicUeDgciWteVhhtRAu3ZLmPm2+12PB4BINPcnNEEgG3boAspbgDw/fu/IqIdW8bzcT+JiEzjfltLKVkBIrAUIuAwaJsxhXRx7l6iZFgRFjdHMBLiADMjFBRUd7MYIEK01iJimqYYAGc3Byz1OWHyYaCzDwjuKXt+Q+rMTjV1SGU+yPE4T7Nkd4oZKUCt7+XwfXywIzJ7fY4jiexM3b6doemKA9sjyDWZWRQQJp2dkx3n5hEPX3UAGq27Pbf7U48oPxp2V8ueUJpZapEBQDLjE48INe9bjM3SQiUpN2OIAmIfpNvvnGobdBESoco0PiMwYTilcG2WEQmk9Kyxi946hQeEe9AQON61K/pYLSQuy93lJakFGICWexzRMMjBAINISDU80C1HlBIcFOxlD5hH943yHRONCMoBVqQuJjCwntgrqwAkJKJAxZG6jD4tIAY6MAMRBIF7H0ZBxCKCg1pNI+WHrsD7/HpQ2GkA2B25GM3XnjRj5Kx7sr+RHtnkriv/XHHtqzrXG3qnjppZ6nzkuKAGMTBiWpiMYQwIJEt+Zf5y6q5hOJXUlSYEH0oqEaPYgDw6AQDDk3wPqEDdGCjHjNxSbB4lB1mSuRpZMKQdDTGwMz2pnAmP5TEyxZFjpPhEAIQUZJnGOZjPqH+iGDoQiM6czc/0WgiRyhN3PTbOw7IPTRE9GDL90QPvfS38M/qerxgMxqciPSCiacv5+OfEHXEfQvGndwNEEG1wOByOx3NrTQojRi10Pp2Op+l6vQLgfKBtc2Ixw7Db60EOlZkAwQGdGJlRhJklIhJfJ6RUaMpYnHo2HoQ5qw0MAB59KzsYInbCT1jqoXEAorl3ufxImZ7nybx+m2Do2mKiLphMVomAO8vMMo81pOSa+M3W3INLPRYhYT4ez+fz68vby3G7zwc+YRE6Xi4XpJApfvn1t//5//N/F9lKlW1di6Dq9n/8b//Pyud1vUcsRWCe63w4BoiqU2ltveq6tW19/3L8+Pi0ACSq5Ujl+Pr69fTyF+Rji3h7f40I5pJsruYhXEspSevJAzIzeBzirykLE2HbtohIKj8WkQjjzhFyBJjn+Xw+TlLcvZ+XghGh1tT6+ig87bNEybpI02yUSTgpgzTPx8K0Lddlvd3vVw91a4epbKaXy4WZsx9qZrWWl5ezSGHmbJevza7X6+12u1wu//2//3cR+uc//96aidC63t39er1s2/by8jLP9X6/rev958/vEbFt7f39/XA4nE6ntpmqI2zTdFBrRLS1xkJmltIe02EmIgMfqBtzqQCORCmFhwm8UAFwBETOvp4SFg8Lj5z7w6FYDJRyFRDJ8n467cAUIhSGsnKf+QMPTYXV6A1N6POPeY4S9aoJAhCSNA6IRciH9Zr3yZg+pb3HcSLK8v1p4wuA5vrnlLMVZO+hM+N8N+P0pC4+phrSYZR6TElQI9y9q0aGpn8ZAxJJCTQKAHAdiDVBBl+zMTcT6J4EgyHo1idpHmdPnuyICIlhGpRaajAz5zQR0ARAasZcEIn6SSbE0hF3t0y2cu+X0s2s9gZF3uZank2/M/IwImQnIQZOQ0+DqjlNmCg7jCzHXZODYYjk47jqPYfHSP1+SBMwITI7YgFUcnF3pKCgeZ4Jpc5qhtvaevqIXIgZsOmag8Mpum5qiChCkkozgOBB5EieZC2zbireK0VAERMx5sTGej9tWW+ZuANAKVOtKcs4l1LyaXM3ARXmcjq9fH7cvn796u5///vfr9fr8XjMtXe7remnJlIAoLWWYDyhfP/+HRHTCDmzz2TG3+/3ZVlyfv39yyuPGdPz+ZwSXpBccKL7PUVd5ePjI8DSW3oUtaxmy9aIiKiwcCkMEIKRYJSZDSpIHoQIgIRChPQMJgblnFl4SpdABCY5St2QKXW9M4HpW0uEUJrpvkJqrW2zFN7JTSrDUOl6vbrrL1/fieB2/XD38/nk7lMhAGAIjydv1KA8K9OAKY9jIZJCurX9/I4n4BPcBsZIXckv03ghoqTTN2Iy8yyhzTTtITvQ2NMFKiWr3OxPZxqVcEM/Q4kowCACkHYXl34xpqpbfmUXXwb0HMWITpSnPaV4Tt5xzEQmw4qI0tEDUxyAMDxz4f6dHgYB4IAYgkBEmExuyG5kH3LN3Y2IEMKcjoP9prEgAIY1DDcHAB/SaAyhtYqSBqB7HpI9iIEHBXg/AcLCMYJEdNsyfhWWYDPHHIpkHNKs41PnOvMefOz5IeLDrWnXonnQO/duGI2+WSb9e6oHIy2OCA/nJzMvol2HZFxMCi5EFwDtjQBE3LPtfKw6pu+fMAgk9FGJ/VuimUytTuhKzVkMdACwXcWbGHZh4ixj8nsBIDwPJupzXkCIGMlKRU9mB/k4vCDUOw6d8HZev7upbpltSx/Ig8Tm3R0idlJ+pqCO4xsQHTtrbsxLQHKNem0Gxrkk4qGHAdhlk0WSMI+IwUIptz3YVg8yzCN3H6Tj/biB6MruZl1GBnY+nscutZSPJf9rrW/ivjDWZurKls3e/qgR5P39l9PpVIqMKOx/+fUXKpUB8XTItdsKQcS2begxT8RsnCoOgMw0JVdPMMySRqfJ/vGwCAIKQnAPR0Vi5IjsXJBHRpjUkEsxPgILSctyEvZk9zqgjUToseKJ+kx3XnYABSA6BKFIkVpIKkklwABDNGQDMBaJzZmiVik17ceWzrABnWb+XLf79WZmh1Npuizb7XR8s7jeb9+Zp7/8+n8x2358/O/L+i9kOM0yTy9TfZFyjCit2ffr/6KrFpaXl9M//v4jEKRW4iPVd6Aq02s9vCwN7sttMjILi9XUmUsgv75ynmrZF57nmYtkYpGnYCklwkbrFqbktY+Zd0RgrkXkfD4ej0fb2rLcAoyZwSiRrSS4MyNDhFpDY2aEjjBFIEA7nV7mOoEahpsurTVrG4brtqlqqm0fD9Px5VXNIiJ74sfjMYZ5x/V6PZ1O//j8+flxfX9/B3MueJzm+lIR8efPn2GGHrpud7yG2vfv31H4cDhs23Y6nf7bf/tvIgJBl8tPZJgqtdY+Pz8jx1moIPLlemUp5/PZQcQciZNKkdqEmJU9okgVqUQVQhGDqXeSAwwQ3dR6EUhmwIxpxgk5U4GYrHRIPkiYu+sY94ZhoNPLSOzcEcQOH1mYqro9qIHhqYYSiOjUO+qPQpQIszXU/e0ipwkZAYEAeUhGSMLbued5RPb9t+TyMIUo/els22b9rPZKU2J+I8Hx5G3jQC8QMeeIKACCotbcd+nwRbT3uDCraXcfBxAgJJe0oyDMHEFqW0TUMpVSRCozG5n7UKmX6oEBSinezKVnxiSJ4ELXxunHJHMZSVgm09QBxDFNllE9HeL2Hm5EuIWT7xkGAhE/1PGIKEXi1QNG4YHIEQYpDoaPqX944qT25QHEXBCFmQNKjkxAEBevc5jhumzbpnmgt9YYCteSGVo205LOke21gc4GhhMjR7KWIQ8MM9+2zYG1GUvLdn++bb7MLBN3d1BVs9g2PcxHImJJ57t7BC73NYdG8mBLEZjMpyMiu16ttW3rb0tEqbAOAL/++us8z5+fn8fj0cxqrTmZSkS///773/72t1x1EZFJWynlfu9GpDnN8uXLL62t9+VKRK+v557tAau6mTOzA5qZlDLXCQncYl3X1J2zjmT3ox0eLG0HYt86k8GHllxes7uLyKpZEvTWnJkBcww2qg3V6qwNzHrR2JUumOdpyqwdMeZpclfVljL2r6+vhzoVLmYtqcY7ThzuPSeNFE4nGoOwe/4Hgzgx9lIM09KAodMAI6vS1LlCxrBQc+o+nfnwE3dPppTZn0D3ff3nbzdvmKJMf/on27bV20YiWWhlJyciUoiTu/VvG0UPJLDadXI9kIARSbgUKVWkJBgXSaBJvoNFV9fpHUjvthgMQMRSBj06kk28q1siooVDcuIREYJHlq9mDUNVc27EqQgzY3AOtiD1ZkIEktJTlhzCGARmjrZDDwQ5D4jhg6aSsREiMAf8MRHJ6F9/6hrtufE+YMBjvgIgPzhiV+gCIjAbFM2ntPlPSSE6wJ6L58PyZyCWYVCM018ZMJEiBATzziBEVNSEnwEepyRixrpH4h67wxfxMOpxSBjcwds2dAkxyaT7eMLI0AoiIjDwWGy76QYiYUSv0iI7mYM6goBODJ2t8fTa0z8Y9pR5kR4K6WUx9Pjdupk3QhJkEJKvFoFhTKmzB0zdkg8xUlEK4gkpR8zSKHWDENG9IXJAIKWMctfmgp2KCfz489Nt9PBckbmFUynOIEZ/rM+koYeZq6YBrQ+1U1Q3NGf2OgTUszkhL+cvKd4+SmdL8cG23es8RXhzI2rgSrEe5nkqAdDb0wRFCImQiXLKADvCoQ7QhfOIMIJQDBEC3QIQmDgQzdJPq/fiuZfUDkEMyIBAnmsvnJhKmnURYSmddOgIqcURiA7onrJnhCBEDCAA1TyaJqdZItSsuXFgEZkO83ycDzl4lAqzALDet89PQ5CXt/dl/SwVDodjrV//viEzn8+//vz4Y56/Rvm5LFrqfD6/agMimObyr3993O/343S05n/88eMwT/fmQK/n9//g8kUjltW3H9fp8DLPxyqTrs0oFDuKBEDL1qB3mXmv2p/XwfV6zSSDqDMHsv2ajL3D4TBPZZqmUFuWm5lJoQzpqn1IP09Td9+2JYgRsWsfEod7+oRlH0O1edsIo4psYaYbuP38uADA6eX1dD5vpqpb1hLYtfZYVbdtzWPvy9e3//bX//z27dv9fk8Ke07ZuvvlciGiXTQNnwZTmJlQlmWpta5tMYtt21jkfD5n/6G11kyj8xqBiHIc7b4uAOk43d8zk0UIahbpEMLkbpzy2qqubr1HFhDojBRp2oKUoyIAgJ6tRAMA33fakEeMQMAwQAYMRAtAC2DOia1HLIBUohzc+qecAwCCMM3Ihl4VIPoDJumZJVLXNqGdbIrhPVMfZisdeyiU4IG7S62qGuBmVqqICJN0gASRhIlICEVVfZQlA7Ewe5z6hJyjrT30OkDk9oScmNohbR4Ka+6uW7Yvkbnn/US0ritQAOaS5CR14/CKYWboC4EnmgBgXdt+wYn0pBvySLyVupUNAiWCkmJe47QAgqGVse8mCEQgGDg6YvJqFLIuAR50UgsaHcpsHUDsZwt4jj/nI04txcT1sqwKYYrAIrU1y5V8OEj2Q0Uk1eX2YzJhmv2gCvDIoVsOj57i9DwhO2wOBqkd1m9OrbW1ludCRKi6+71tiiAiUkHmMr+c33//rX379mNZfn5+frr74XA4nV6+ffv28XEhommaSGpEbNu2LKsPzb7WWjC+v7+r6v1+37YtZ9DTRfXl5SU9pHMMKbeziOSeTaHxeZ4zzT2dTp+fHjAnpruua1Jr1tYul0vlYmaRFnKix+Ms3HuG7m6axmeByEA9QTd/cG2RC++Ov2MyL3PQJFxFRPYT1P10ehERIjazGFVcsmLGwkDAnJWMfJPb7TZVOR6P27aZaUQw1eN0muoRAgAYO6OMsjNnIyWKh240uHtOfkPHXCGiSzruxWFKvhITDDt31xaY+ixZmzmghzk64MDwcBAS8AnI78yc3cQUrDNRAwBhLLzokKR3CMZDEdjDMYCJhdIEhwMBg2PMRMHgYRMhUKB0iKHUmuU3jU5X5nZJg08blizCSynuwhkaaZ+CBfCdMSiIDBBMAgRglAkZYCC4tdZ0VW0BSSJNbYyu+g0ArZl0hURGROuFf/cwyaXDkJbSgJmyRXQdzABIt27shtkRgebAXZqQB7ydJzISZpwnIhsyfwDQ2kM83oYC2P565OhPxVWm5vhoSjxlhB3HZHcVJOedjpWvx7D1+KU0zpFHPbD/OVNUhMzwMSAYiZL4GJRpM2K/3/kmeSfHWxGhIKG7B5B5+or0H4nBTYpwAHT/E1cHOVF2skxDiAIjBkfo+Vjpd1sQIW03IyI8+q4EAKBkb0ZHdgBRugzu/nmztomnNH3fbo+SAB0CI8wNAUxQxpYRACfioH0KJStzHBZLg0LZw6+qatPViEUEx6yzhj+NGnpEpNmZqmbDL3/cGR23XDAwSAFZRQqRmGkZdUx2jed5xtC2rsgwVd7CibGiELkwOwRRsDBj9qnC3dUVEYVSYjQ5LEh90jQAsziFoCTPUDNbtSUtxNEjvBCLCAs7BEVofm/WaunKG75Hvf3uaHt8xS0M0B2AjLGY9t2tagDpA4dIImVi5kDRBjEhYUVAKuwO69rWpWkjD2AqZTqUdZtn//xYK/3+9evZfLvdFqa3Ztv5OJ8P5wj88fFHKR9nP3z7+NvlAmDLcTq+nF+X1ab5UA6/Ap6ATy+n4xx+XdZlWQTlOB0aMFSptW7m4ShSP6+XaZrO5/P37z9VNQzywKu1pnm7uy/Lcjod5mnatk0k07iu6Xs8HOa5Zn6c0mxmbahDdPt3tZZUwiwX3B0BM3Yj4vF4ZOa2qbsRdP3U6/WSTfBpmm5yg0Az+/nz58v728fnZyJqInQ4nPLySimXyyWvvOlaa03m6+fnp4cCwI8fPz4vP3/99dem6+12O50Px/P5+/eftdZffvk1t8Qff/xxOBxe39+S23M8HnVYWK9LOxwOllI868ZSslvQWkMulPoFo7IO5OaumzIjcckz0jQ92rz1xBsiDE2QEcIjQs3CPcWI0DtZAsC967e497CbyQJHhCFABDns+x+YKB2hH7IV+U+890l71o5DfWJEq4Rvnw7F5KLsdJp+XgJQwoEOLaNRnjMyEhoQJ5F0MlbVNOxI5k6myMku66O9RmPwhIl2d5od1OxIkoisawOAUh564SP/2M3Y09dmy+vMZ8fd66SaGWIEmFtyVWV3zWBmIuFx3iejPT9KKSWiu2MEmplpSxo9q0d4DMGKVN0JHM3c/W6PWNn52XnlNsywdq3l7Pw6Eo7e936+9mwpdiBT9o/srtCrGhPh8f7sFkhG5Kqe4LRZTNOhVtnR36djuwM2xOiO+CShPdKOCHfgYyc7hSVAyAwisrVkGWddN4hSoZ8f19P50JeKe60zZh8jaLkvEDTVQzgisDZzW48vJUk167oNEBfMzAVSSMq9O6EmlPD5+RkRp9Pp+/fvOaCS5dnlcsn093Q6JjcpDSVyTumXX36536+llNZsV3z79u372/lFRIrwuhqEiVC6y8XwCad+1hpC6ofueQwiogh7dGO1zTQ/aS8napfYIqL0QcjMsjXN7AG65F9vSeUdU1Opk7tt25bjtofDnPR9Rvrb7QZAx8O5w7QMBIIYqtopa7RrsXfzICJMlRGz9Tl123FxzkzCHYkwVZ7c3cagJJEgWRhicHfn2Nc5jLyKEJEYiCDbZxnqEzV0G0YrvbrpRXMk8aApIgL6tvUinJF4CJohRieaIwJaOiIBxCDidQmXUrg8CcxnNmmOGcNV3dxSdCsvlZmTdJ5l0pgFCiJI+QuArEcCuj/lvtm16bptq5k1vZZSRBip60zntGI4IDbIblh0hJiIw4xG+r7f/F1dETE6zL0nkcNbJ+/aiCdAATQIiMkxROAcqdkrQCLA8eN7ytiz7KElsgu6j+Tv38WjCLu0/+CsO2IEkkBXqR+Xt4su7Lzq7gywX8BoLgUA4JOECw5og4g85dUelWQHpMMAg5gYsL85oRCRoUagWUS0fr4gRcAO7PZfke80NNEBwBMPCdt1DwcHPYU1d6I0FyqIaNaz5PBIvw5EhJyYCPAhOwN9Jq23F6JX1Lw/uDwOHmk9jiEQYCKC8GSgZSWZGGUphQqN9HoXe8DnGkDVATxTl6YNunNTpMOjhe8iK72uCEZEh1ybBXL6hQqGPseHAAcDRBRtVwBSyJkM6b6+0JC9IgYYWByYASOIwAPAw1rSgZDRI8KzlWDM4kANEEjQaNuMqWg0AERiDjQEd4wGCq0JGrC6traBKxFSdfTYHAgieX3NNQmMYbHFCgRcmQKyUlcHMw8EdYuIDiAAAqEbYHFAsHDX2JolVMmVti2bI26+3DZvl4152tRe1+n48tfX3/748eG3pkozl1nWS/NyX2+rrsfXo6F//tjm+ddt296+/I9Mh23dat14Wi1Wg3theJkgPDZnlBO/vIDMiyHKJPVgIIf5UETdwdQNAacShJf7crvdkr14PJ6Z+cePj2ZKwrVUEXl9fU3hCzNf1/s8z6UyEcxz2bYtwg+Hw2DIzIV4NY0wN7uu9/P5WIss2xqgTV3VAeB2vQMTsCDAuuk0FeHqEPM81emoZkBBIBCoTrY1QvPldv/8vC/b9b6+fflClabDvK5XCKulEMZhnhHj4+Mjg0XqxL29vUUEoJ9fjt9//NFae3t5uy13d//111+Px+Plcnl/fy/T1JbGgH/59bfNdNsWc1ib/vU/f/n58RFgh8NBbatTRTx+fHwCYKHp7etpaRuJNF/nw7y1O3E4GJHYsM9gKkS8rWouAbIsVIsBeTNbrnPYKWDZwAO0VNSA1gyxuDsGqG1mDSmYPIlhiMBAphYYW4/EHaJjKslBplIi8LastVZmcVNzY+Yd5Hb3Imj20KZNbMPBm5laYwnQ/H2cWsXuSN2vJAKBBYA4eg1Aa0s6JiRtLk/oyJYVEZHUEaOnCtmgfM5Ee7zerUO6ymM/ERERgILQESOYhAFAgbAkpNHJiYTYm4DhqlqkBFiobZuTcGutTiUINIyIHUDq1FoDYAuPAGIigDzOAigGWEUkAEhUibRIDQc1F6TW1n72gHsWJRShTWwQbCKWZWVmqRMiAjFlXtLaum3uatG1mJZlORxmj8gOJYZgZ2yamRFD1zxWYKacsEpNZbeUnQmAruTATCjkGO7BUBGU01WbALFAuAjZttZpwqRdIgMSIAEyQLdTcHVzZTQEB1eH5hCeYxvhZuSOIuRwJxQWBiij1vDUOSECs81bq7UQ1tbCDVf/1J9bLUc5nBA1gcDX93fXdjy8/fj4ebtfssYuzNu2/fz2nYhaa9uyllIsOqUHJVm+cTofImJbuzpk4tDX6/Xt7e3j4+PHj++//fbbly9f+jCMe+pUuqcDPLAUXa7uqrZu1/s0TfNckWK5fE6M72/n+/X2en41syokKJxOqzhlU8jNigggQphwbY6qzUCBIMg4DT7cg3bCTHl9fb1cLu5BxO5BKAzGtbiDCBNTaw0RcNTGbsAsHjkwQESyLEsVRozTaVqWbQLy1j4vn4VQEMyslAJCxGxmlee0sc68YdsWd83pZxrKTkRkRtgtmb2UgpQzJADRNV53BSfEALABiHouPyQCV6GEv6GwEFFrq6oRdzEQRISgPrEDjMSBnmT7zNqZcZ5nHA5ThVjOZ7Ut85XM9sBtwK69SVinwszDnI4HNtF1ygOMCIidkTFywzlBRFNwt2VzC+kwihEBUSf1wlDewwACzHIUANAzocuOgZNUd1fdVNW8ZS2wbUt+A1HJYbDRLAqgEi1d4aSLEFH3KkPspj+ZxPb0NGH1ATogBhFpU2ASkUACcPSuTWbbhrUw90mAxFwADBDADMPDjLliWFoWc61MFQB2cV4woKCgBAIgeYM7n9HMmlqWo+t2d/dwNAPrGjlODBPIDB2XhVHdmXXMDtCbGiJSMAJk/yrcIQwiiEi9MXNAdF1GIBKJZMIHjOKzuYGHBTKXZqHgCMiA6A7mGhpDdrNPRDzz+BHRzCN6a927H0QQUSkV3dVbhKuuRETIhORIKBwOq7YIEpEG4E2P01zqbOGkveYBiwCXqZpbavEZBlFKQ0A2ACFAiqhuHmm0p1yEnybFzcxBABBAAqC1h5aXexBRmSRxrqz8mcuytt6oeKJF5B8SC+hgq93VWykFQETENyPk4SQLAMRFwjyZK6qaUPVcqz0EsdLBCRP7S6JY79zh40WM5KR5iBMSYLg276dbr8KfcY5MFyj7LbnPAMw1MJI+Ze5moc2BmJmvm7pa0011I3AiCCsmHhWYOY3Wsw+IAUkS4GBiim7k7hFAJOqWh2gQIHIkvdU9EReGsheX7pbZQCnFPEwXd/+8/FyXZoCnl7+uvl7vly+/vG6wXhsuy7Kua4qcHA4nIhYu83Qgomk6zAcknFwmh9s0v2/r92WhL1++/mNtDlzKq+PsWEWOPNVaD5koOwKV+vnz57ps7+/vPz9+EsnpdDocDluz5JtmD/3ty/uzfk6f7zGbpqlOwkh7DBWRaZoO85wDrDluL92fWfYyN9elqpvZ/bbMp2MSjr3r0/o8HV5eXgoXgNBN+4LKdqV7a3a9Xpe11enw+voSiOv9jsypyiwiP378WNf1y9evIvV//V//14+Pj//8z/88n8+fn5+fn5+ttWW5l1LmeQ7stXPqzSUO9/Hx8f7+3lpDJlU1h7e3t8/PTzNL13Qient7C7D0nvz99RUIV21CUkrRcG/tCRUOxGzgoNnWdNtWSwuMYIGoutm2hrWNpCFGgJqHCBAngxOEODwZD4PAQZCYO2BYyqmMIbagcGyI6B62tVRA02Zt032n7Psla32RRJ27itk+SE7D3WPHPJIwFU8CvQMmyb/+mWfv2DufPdz02a89gHo8OCcDYXIAQOhHF1gmmjiuLVGN7OhDWHYYkLlA0JiCA4wkAnULPYDsIzhRX4GmbYQW2oNGjLmiUSf0ESgYlYZZkk0fw1W6NQi3jlWANTOLcIeahwGo5hw7ZMvEYety6QNWx/Tp7JRTS0/1tEEZqcOfyKlEjOia6YKn9kUAUQR5OPSNkudrmCFnOZZEjs7J2ZsSyHWiCOCuT5ISCY7EGKbmoREGoQqNwABUoR8M2XE2QwcGQA2oBbgUAAgNTFmdyt50C52rSCePKhUC4R+furb2/fv3uUxp+yAis9TDX/+ara15ntMqARFrrRCkqsfj8eUlkjd/Op2Y2bHXVPmdKQm/rquqnk6n9/f3XNXv7+/5bulknDf2fr+7++EwXS4X9dgltPN9prnOc307zPNBiP10no7nsq5+qBXQ0pZ4X5ZDGQ32Q3R/7Sdo/m+tNR+NdoOLHnxKqcy8qkVEay1n9ph51633oYm+7zgRAYgc979er7//9ktY+fz5I8J2QggwIKLgUOIDTOBtLOABEz5RIMYyyxUyeMYP3W58/qTJ58wL86ENVUopE0f0WypCTbfcIMxd+yJSfxUARwNqf2UHInbuCAVSMHQiRHIC/WmWJiuH/FkeI8gAwIwRPc7s5EniJKPFvuV3sBOSXy6FiKwPEHf2TlD3taAxDf98r3DAz+7edG2t5dhDBnyih7JhZu2qSsKplZgMI+YxPjhee8qVr7z+vRrpTfscpBiZUn7wLhE70tMdC6eR9MOYxFPVlKd094Q5dg5HXx7mwfE8ldHPl4gw00gKCFGQmtuWoY8CAs0ZIvlwKa6dk2/RR5tsRFYK6xLmI2SNZ4EP7viIgQgAghjxkIdHCnYKdNcxDPq0PjO05guT0doaIh6Px+z0JkS9v3ne50xMmDkjRt66PAXQs5RKRiWKlMztkkY7T8cN7u5LKSUtqMfWiIzS7q7d8bQ3GXaCSi7IzH3y/M344APRGofsg9yRZ3dJjYdBE8rzOswdcF8z7p7k5Ohst97cFpFShIjEhZ5GhgBAPYCHmBVDBDOVqZSgnAwSgoxg2t8qmYUJ+HMnPFt4SCEzjjAKBAzVzZq6a0YAHFpJ4wzuoQTRAGnQ+yKbOYbqFhZgDsumZotI2YLUNmvaHz6juYUGRBMJy9M9TIcvxqlMTIFIQgyEkUoL7m3T3rBAxmRPObi3WmcRUVIACNeInAMgFgSH1tq63NXWZVvbpsBk/uXePq/bjd1O5+n28x7B22rbpvM8T1VUVerEpbpBrRVJf/z4rGWu9XQ4/eV4er9dF67H0zsF0Pnlq2O9rhrA9fByen1JscXPz09ENnVVvd/XLP0/Pz9TSxgAlmXJfbsltdT8OE9CCB7btm7LKrUbXZkZEWYqfDhOU5mYpbeHgFK+DYY9EyKWMhGRiG1r27iVMk3TVEpR6z213gMCGisVXH2fdnJ3EamB83FCRFNz91+/fg3k+/0+TVOKG0DEH3/845///Get9Xg8LsuSx2GOq768vKzr+vPnz9x4ue4vl8t9XQuXUsrlfnt7ezOzbWulHO73O7GUUnIHu2trW4DVqRwOB3W7rYvjWnBK2YW51lTIIUZiyAC4bZv5yqnGs6quHqFbs7ZxuAHlbGUqlGGquLjF1poHEFYpUEthCUKLiGbmj5I13D1dejLXNbPc+sK1OrgHzcnJ3tt/7g7u8Sz7uGcJiDjG4x48HEhKAD4YYpEjW4AREJigSbaVLU/mAOCnNi4A7OMSNAxBxqnd1QmyEn4+urArf7GGg2eoTYkbIuEwD4RwcgRyQAo0pFR2BczzIo2QAIQItG07VWbP5EZm8tCHyV/8dDwnvVT249DM1LgzRwNbM1MEiByz21kQPMQcdGnhWArUWgklIAAaAO1Dh+kkMAS/fUTSZN3YaJEzMw6ZyIjA8HBvkSz5XialYqaXwlJII417WaP13sATxbnbpam6AyIl9cZTlz8UsCE2gzXCibNEoTQEdLRladqA5EBE0lFVJqKc51vtioilMEsxMzfjgohOV8hkHZi49JQiUzozOxwO1+sVAG63GzO31tpmWVRP05z67h21ArherzFANaaSGUkp5eXl5XQ6pY5tqZwlNwCk5sy6Lp+fn6WU0+ng7gRUpTBz2rS5e1tW9DjMLHzMpSICZsBipZAI5UHLiEFpsAaIEJ2z0PP1R43KFAF9RgU51zdLScXYdWnRfUF2QDdL3J7QpNCkuyelKv/MXHRd1u0eATmLf7/fzZpwCr9GphqZMSJihKUidnRwPddwJoh/Slyev9JzaHhAd/t+ZM50ugMx2SXr35/6qV0mh4nLqIetlGQToQPuxWQy2fLXJfs2L5IgmSqdlQ7es5axW5MeExCwZ3gjfHnXOUGPBJuBcw7S3dUaADAxM1qy43J2oAdA35PFDATPEc/G9E7u+pEtqSUNtGeHwIzMdSTu2PdpYISbBnIEhDuEpxklZiyiJ6HMPXfPUJCYQt7GdV1zooNrH7bOQbs9U6TAbBEQoKl5akIwp/Z5mDpgWKqHdb9DAMRw30c/wd01NIhqTgLkyZvPnYQjIhwI2YHckmWcpWCA+7ZpQrLJSsKxcgjDzT0frqCPxbkXur08gFT9oUCNEEQkzmfNwAAGvcEb6PsUNfD+8VVbsnoSZcvEPTcIDSrgU2KNT48bdgK9MNNUkMDdmyqREGEp4g6RuqRmU6nuOcwIIjV2DEjNEfBpy1CAQ6j2Qycekx67+NJOto9U4ooAA9vz7+fcPb+SbUNERsluuxMGYHhu+9yB2dNGT4uPAiUryVrLNE08ysVsNw0937AADNghvHzolcXJMI37IkTIPfE1k7DOomOiKoXyfAJrlpR5AAyz5to8GiCoNu5TdLtjBYwK2BEZmZKRm9QOAATz1hSIc+Rx2VZQBSxmFm4Yxol5BgA2tU3qTNTF8ppZgBEzG0geO4WIWCSlkdu2bf32Y1qy5emKYQvOc0gxs3VbIxQpyVK8LVfVxa2t631Zb+u6rtr++cf01y/89svXz3/903QDNBF5ffn186LmoebuhCThsG4LoL+8npkVqZpDwEudv1ZvTPX4Juu6NTgQ1dPrHECOsDYNcwCapoOpzzOL1HVdI4KpQFBrDUyn6XC7LWb29va2LLcMKNM00Q5SUhDQAG+cqNRaD3OdSvclzTOjN7X7wKITwWZ9xAERw+H19b25JYrf3e65TFMhAozR7/OO8uZ5U8s8TYvazV3d2jTNAJFL/Oe2JDg3z/PlcvvXH3+8vpx++/0/Pj5+pjDF/X6bpikCslYmosyWsiRdlkVqPUwHDZ/n+Xg83tdFLJKa37S9vb2oNrXFzNb1zoyl8H29idQy1SSylzTeYGaG1oxTTJAC0NwbUSAagkAgeQkgtnAxCOg+oOjUhVRScQ/MgJFLqaVIX4yQZM08UUxVm7q7cyCEBAEiNIXWGgaJkBUkItps3OHH/C4ApLpFDAB+TzSjsy27D3b+UMbaxB4CogNzKeFgCSMChFFO5FCMg7knHPHg1mNKqfR8GQORBradKEXu+i5QkLwctEjpAOgJEKNzAIWjDhVl9kDKkOmIYGqRczjAsSuUjfwDHp3TXdpvn6nqXUwiERHrfrG6tM3H4OCDnuikzSOIqUCEe2i4uzIzs+f7c6lrl2IspZCZugORmOsTApTU/0dvOnn0ECnoQgDIjBFpfGtu4R5mYeoIJWKg7pjUUohA5BYhjgn8O6TcQWAzZWbhikiAARgBOcK7EaN5qDWMDXkL3yJ0mjN9MUQApn6guxIcMjMuJXXWCQHdFSGEEIMDgPv/B4BO0zTV8+n4wkyqquHbti3L5tpaa2Wq2f5KEKiUcrEbEa3rer8v7r4sS87eyFTzMC6l5INISDuroMTm8znuWW8eE8z866+/Jrkim4rrdv/5sxEjERRiZp7mmsGBiALMTFlw1VbmCQgBEOxPS4iIzNJTJltD2OnfiO46ZNe7dUKuNBluOPf7PSKoJG4VIjJkRiHZugBgFoeDLMuGSOE4DNGQmU6H48fHx/Xzw91jV0NXdbCRDoa7M9Ku4zY2eH6ELLx3hnrPjHfEfc8gR7Tvf5Xe0OlpULLhIJNkSGzb05mrj7k/cm4Q4kDqXT17oNcDklQiInwQnbFTJTwTazNDGpTBp57GSHwxBr6YnzVZ5mYd5tyTNnhI/SScAZCSNL0I6HJ0Iyx0VNqs3xxEVLVwMm+pWJUetH3cq5/y6LlLHXP8HYEfHbA+NOIjuR8FyVOA2kWHtm1x99bauq6ttRmOiYjlPdmX4vMjs4E20kN5PUZ/FVKpLLxl0gYpS5zpmFmoooezxpDxJSKaJqriQ/nN1NdFVZ1IBJGoeIS7btuG4VK6qfS/pZ57/MwEdIfqRis+jaLCHQMbIpINh+xxW1LIPfqUJO9Bey9vsr9Kw6M9s8+I2LYtK6V9Ymq/4VmiA7iqRXApJUS2bSOivB+JjCBQClDmdlb1HLJiqQeibdtc4HkOwccLOyD1QMdzu+WnJsuR9CfzaXo0o54PJhjA/L7mAYMBLYwRiDAwIqy/ByEGWkBg6tMxM0+1TgNiNzPiVM4cdaNptrZi9EZSvrVIyaWxV7kREE5irmpByAm97/cU3dDdwjAcwgKsizW4jdCHYyvugxSgqpRDGiOuRgAiFwQkDiDaICLQDbnQGGjPwZtwdVfydGGVCDT35s0hCoAOFoG7E6EIJ2GHEDTnLwNTG8MRImBzlULrlu7iV7UFwFmISZbbdV2vpkvTZdMV0IPgX//4+1/e/3M6vK2Hddlu7y/ntalIefvy9fPj2nwhEabaTJfNA/0Y9P719/u63W8r11fDqrgC1ek8xaRuoU6H+QAA1/vtdvkUKiJyPr1AtMvlNk3T68t7qiPn4Gkg5R+IaG8x59JPhVo1j4ic+MzEvZQyTyWFcnFIeuU4hkjt5GOCiGCVlPND6GP1S9sg2XsUAJBnNjOHgZmqtQI5txQAoLpJIWKWQsxI5PNBAL2tq3e5bMuOeWvr6+vr29sbixwOf9m27Xq9ns9nREr9ioxEEZGqFDlzVmudT8fUmshIdzgcLpcFELdtEXlXS2mLzlxHxCx7coFbGFEVkX2qKWvZLi9DxhgAjZCZKgciFimemCtRdTdLtaPoc4rhve1lgb4ooCEZUUghxmrggOQRXYjQI8KQoZSCyG3bzJoIqoFwTcSLEcOBEQMcmACgYImOufrAxsL6BBvRE7kFMRJAGsK9XcUcYE8FesgyAA9jw+4BhZzjW+YpPJJ1zYNfO35t/9V92CvxGosAclLkoqpuAQSg4O6RChvEEZFuc8QBgJAX8hBxpxEeO9lxj4D41I3NeLTHkLwXRMS8q85lGLDmNiKXESUYplm0064DHJEInHft1Ji5U4DWdYVO+mpmFpYsHTWzrJEi5TLSagpSXT2DW9ZF1KGy7lIJlpM22ZMyzzkqKQNVKhzEtFmAubsbBIJZBFBYeDQAtD4ChR5oAW5gFm7kgb5ZgIngtrXslbmBqQPANE2H+axeCCUXA3NhJjMzDQQSntwhPGoVIszy+PVcAgsRWDggzPN8OByun7d8FmZ2PB7Tm/lyuQDAPB2Hfnn8+PFjJ9J83q558s3zXEopMonIuq6n06mUkpt6WZbrrXGKXM3z5+cnM7++vkzTdLlcfvz4kRhEBLTW0IABD69TAgcUhIjWDCA8oNY5IoSru7q7gXdhJoid/P04s56g97HekJkDUua8V8imj/npTFwgCBl7IhXkmJJEFGEiFWDbMzMfEiLaVgivws2YCCdh1U116/l61o7uytC8IWLlil2q1bzPrz+YP3u1E7H3fDJ603Pyl1nSnjr0D5tJCSBieKS0jFlGY12nw/ycrRJgGt+E5wTkw1o4U82Hg/Lg0fV6BiMAUwUvg1L+N74ZIshDO+rYR8zz2Gq7ZnxrDaEgBjEzPQTaI8IBu9nMY7xyLwkeCeKoMbyP6gGkb+XAOPpgazJzI5LIRzmrmvcspwBzjtPdk1sfI/Dt3ZLWfAf0d4D2drs5wvl8RkTVyMWTJ1pGm/1qdwGr/SvuLdlN1oXUW0Bl5vyau5tpUjZaW/fMKqkmh8OhzAcAcgtTVE21KEAMh40zVqVSCTmx7DDNQIKemZOxJ6/ZUhtzn4oY7iTSGzLmzbwh1Ufy6l2vK9OPPffbSxcpBJBid5As351JhU+v/iMMiOBqXRjILQZ3tBAiYlMzM3IElgAHDwMDKb0ixRCjeZ5rmdPGOAYLK3Y3OvfCuWAMcefqJCaoZkEjtnsfIk8ZIti32H5gDcpTdmYDzBkoKNihi3tAj0p9b7KQJYU0KJCZS+FaJftv+8CPP7HdMMDD0uUwdx9FPhckGqBeWF/uebIyu7ioNQbcXdgSEQdwYhfEhq7akIAFsyEVEa6xF5QAGKEExIwIiiws6AaIlPqvTYMhmAAChT0IgfPqFTLmoCFADnqHkZmaNcr+kzATEkeEggcRzRUYK4FjNN00mrsoEAcQACCJbndry/1+v6+3CCNG4nq7X8PasizrcvFom65S6PXL2zQXNZKYm9ZpAlO83D6XRWs5kmyAClQCSwCQlOC6bjAdJlSgig7kfKzH49o2nuZanGnKJv+PHz+2bRORQjU1jJkLEa1Lk1Od5+PxeL7f7xFQp5qp5OFwyNtPRPOh7gKxew+Fuv8LT7VO05Qd8EzHPU3gIp6CiANAJuWjL4NEJFPN3aWD3YEUTVfdzE0RAwHU2rYt5o0JVlUPRQzX9XL9uW53pqlJy7t9PB5F5LZs0zTN8/z5+bOUKZXpjvPh4+PDzL9+/Zpt9G8/vqfGMw3i176lVdXCp2ma6gGpxsdHa61UBqxmKxHlGIBZIKKGI5CIIDzwEgAgEurdzCnCRMjDSpkIJdwpHIGRmdhGcHRzHXhb0hK67K42V1UIA1DiYMF5rpHgroIbeTgCqkWo1TITo8Vta5ZSkAqtFMoJy9Eip+QgikiGtkQlrbuWinClQX7Ie8JDzCEDx4iVnbHap/M7KdbcIdARefwzRXSGGzEGoFnPctwV4JGOgDlA0igRu34WIaJlsHMAcghySMa2G1gAITozc6CTGwBGToF3nk/bNvOcjnp0/H1MyDwf28+vLOPB1YbysZlFGIUzZdTKwBUQmn1wdwvI4SpI69Csh0sp6h0SzsQ9q+L7/Q5uh8PhKUHZGUTjNIp9RVGS7xO5GZ1WMHOzaBrZGnZ3KQxULMADhqxnZ0snhdcsggVSXLTv0VTpNN1ct1VtQwzT7XK9ANrLaTqfqlCNIE2H2eiS1EyFuXSNvMBwinAAQUIER/PwIK5pT4EYRNI2RM4Mw2qth8PJGiBarfXzemltyXmecUJEEmCSzWJmn5+ft9vt62+/uvvPnz/d/Xg8ukEm8fM8f/v2Lat0EVmut1JK2q/e7/e3t7d0achaPQd10v65MGU0WJYlkXgASNNWd19jnec5ETh4TH3QjuDu2UN+3YeLikjdts3dS50yTYnAWuci0/1+B4BSCnOhIqYpHcjM7AZp6oIYz0Rw5oIQEJiWMdltZhbGKUzPx/l8PtvWgGnbFgDIsMZCYZAQQ8wuXMbEi7s7gCF2efiM/CN77LT6f0t08pOiGyJn1Y7dDtvdfd180Ew8T3AAYCroqQPDAOgdtHYY6UnipvkO/U7uXPY+6T42KfSkeSTrD6XanuVQgJN3Aa4dUs3rD0QMRzcTiX5aDZl6RAQM6TLYBqOHMKyqHk4X/pgUTFeyEOHx6PfuBHfnJiSi5HAjAleuOS0zcHcAII/eDvLBhtozUQBYtzUT98zCDWxpy/aj2yNOUxk3BJnZO60ORxvN1VpHb6F3F1X7b+kE64iUT4XxqyNCbctSAZ4g3mW9lekgUpkqhLhn35UAFGFjLqOd09wtzJFK0l1G6pmDzh3rhSf8Yo/GXT1JN3dlLsxhhnlq5OoIc7PWBfKJpvLYepj6jQCIWCq7+4GmaX6ca8xMWMfl9B/pZmTsEQbRJfa3tvSUwIIQDNy8AYQ7mhkkJNbpcZhqqvL6ejweb0uYmbqlvXiYEzxktdx97z/nHFTfI/m2vbYJd3ek0WRIGlL/q0iNMKLeCiTcss0L4H0OcGDVaWgozDmngJiiNN0yOVknuXJSkGds8Bj6i73HtS+KvvfBwHu1DOCyLDd3qLU23jysFAbwdbvruhCnUkSkP3GKOiElh6zvn6Tlj9KBzVogZmQhMkw0LkKyg+7KRLNwGkqlN7NDtGzGiQsJWzA5EwWSWyBhKVKr1JLlkDIhARAKC4owY2VyJm/JPt7juKDqqllZEm6W/t4pZeUJgwVgKdP7l/Nf//M/q+BUXwRfyrQE3D/vP2uty9qWdSNkANLm6hHIJBMAehQ1Jy488eV2102Pp5MwG2AzKAiITIBMZarMzG1Nf7uY5+Ovv/x+v9+3TQH6VNOyLK/vb0R0u93y0CJ2KdPpdMp7m2VkKR22ZGZhnueaPHUiSoPDwT2wiAhHpChlGjNRmZcwIghXBc2sUUqJnC9HUNV1vYMHAwK66tZ0hVARxgNurajdcyh7WWyewTenMqdDakSo+8vLW7qmE0G21HM0m5nzvMyR34jIcj8b9PM0pUgcIkLA8XgEZN7c3edDBfBpKpdLJC6oOqZyS8lERGgPx7jr4hWZMksrVSJwqgciASByBiBVAFBzNdWAzXxLT2WA3t3L1Z0GNNY0QImABUw76Twt3rpUe9hmG60bA5mGGW6gZFCKjD5+IKbVUTAJUrgBU6HSG98ZoMfe7kNd1F+YXggxiLAdYu+DboleOyKBA6IBIJEgoHtz991Tpuf3o1O/wwkxEuUElVOTHQAyO2nRAMCHdWMgQUAEagSABaEjOKL0U98l53QgMmD1kx58hKQHMQa66vwDPuxYYwZ4R2uehnMjpcYBrXEpwuzM6A7b2tI+j4eefURs29Z/u3bn0RjaeaqbWYvAZVsza49tgzQnRvf2mBJ+PsWB0V3b4Oa5hVm0zcwfqAx1AU0ez9QjDMAdYpyXYOZMKf6QChJZePi2NlU3BwxUo7aKRxDQJFVodiY3Q0Sm1BiDMpVSJsIkAJA7hNNQWANhJJwZCSOEDRFDFxEulUm4KyCbU8D1fkuX4r2KK6V8fn5q80St8nlkFfT+/n46ndZ1TV4cEZkaM7+8vFyv1+/fv9dap2mKiOye1Vr/8Y9/JD8471Jy3O/3e+rCC6byp2TOfTodEDwDdUTSJwUwrYv+NNP2fM/jKe8Z+ShmrZXPIyJKmdx9B6oiojdtVBNUqmUmorYtqpozQkQSYeu6jl/N3DnEpK1Nha/Xz3QtyXkeVbXVLtePUgpXoUbzPJNwFnUbcZQoUvFpyDKL57FgMomE/SP0POBpEcbDrb0nYfvpwLWMr2h0r66sz103Qw7mtM51QokAH3JYiDz8j59eAQG2p+ajaop9aPv5+vd/QgRi2BvwHU1EITI3ADBENjMRzrSb0qskGwb9gfb6mTrkhBFdjaC3QG3v1/FIcQDgMfJIRB45OjJm692hFxuQ5wsMhwcR8Ydsw66r3T/duq45dQ0AtUp6bN3v64AA+relyHKaRtOTtveOpwLuoH5EdIfjxJ52NI0QbYRiM8ueYTyNVN63tZa51mORmVAAwKNBEFdlQWYEDTNgtK6bjsxCAKBtl33sWcS+cnIiM4tzKenR0YN2cqkBwMFMOz67rm3blszOhXq8Dejq8u6uuiVbJtlEOweMiNweVZ+HDqaNpbcaABTipKSbdZ0fAFd33RzMLLKrS/f7dZomhAgHXddlubHg6XTai6jncjdxEXzUhKWPBIyh4TQGjcjKliICpatt7uRVGHMge44d7qqavqLdeB1RECFlTxFyBp4ISknbMc8JaVWtVfZrAwAcq2i3XB27LGtIA8j17NDNmygiPCx5xpg5iqqakbt+fP4ohPNUpQoimLUAMzMII6p5j8xbLxyhM2V3jdIIC+hqqQMdQQoQwioMXt0dyBElcassSZkLFxEFRGaa3BDcPLBWqVWIAV3dAUmYkdCSkVMKnmmeKrdmW9OUOwTk27KZbYT8+nYqUq/r7Xq9dkFZtWku4L9s7e5gb28v5/NZCKfDWe/r6/m3D/378XiO5b61cF8Ph8PSVO8bBJXCTZN877HpbbkjlzofAPl6v7nr4fRlOtAk07KsROXr19+I6PPnD/fYWmMul+sd4P76+u6w5OTonpdcLpcUZ8gJj2mapmnKNZSgqXYVZBKRHW7vmKVDZCXlKW1nbpbBo5Su4hejFaihVOn5hEB0C3dXwmjeIgAZmLGKWEg+6FqLx2FdfarlvhkzuXmiEdu2qto0Tdfr9fPz8/X1Nbfx7bYsy8JUmON6vS7L4u5ASVPTRPKYORvxyYH549u/5nme5pJTa5frj9bWlJwrpdQ6b9vN3QuRiKxtW7dPYJoO81Tm/dtyEiLDUKnMLIT9RhEn67H3fFWX1lqaVTFzrcc8zDLARYA23zaFsFKJiLfV+lFBSaKIAMvO0/V6RaAkvyxtY45ajmqW1SMxUDATYlqBasvPG4Mh8wSQPF4xZgywH1TjGzoeTOEpNMCDHceIQYOqamZqA3FPYhHuuXGPbrlhwZ0ICJmRgSk883zA4cvQQz8CpKAO5u3Ni8dgJACkYApVDbdSOCXhPL0C4iGmvi88Zm5ti9jPMFDVXmB0bCBS+GqPdILESIIUhIUYEQuxNttMk1BUCpfCl0sBABFiqRGxc69FxMNFpDVrzZg9Wx+dgWa8bZt2f5+dzIMRoUSeEhbdmJMs3MJVH7yC56w9HB1ctWFyDbv3DTSIGFRpciCSJGYnL4WQTTVMWI6xrdsKywKlkqDkyAATUZ0cScqUBLkM6d5LSRCWiBDuqbC7EiNisDYpEzJHGNBDAKGUcrvdlm01i1prCgKO+j/e398R6cePH0SUZJj5eGTm8/msqpfLpW2WDY2fP38i4l//+lci+vj4SLi9tfb+/n673faUqLVGBLfb7XZXEeE6ZU52PB5FiJnnud5uH9OcdXiVqZopUddDSBmOPFP2nGDfIztiijmgwNzUbrfbtm0iNTHFtm2ZvmNXLYM6ddgbxuxaKfm22oZQFRHhKOnzrDzUedu2SqSqOYJ/v9+/ffsWoMfjcYa5IRDRxMlU6QsAH+QXHnURDOpjTyt7Pt2x6gfFNl/eOSQR0cW884Zk+y4er77RzMJdySXTOTdARne34Z25v3/fm76rwT604xix+b+3OADcUrky6XyPne0jDdmnWdxMc4qGCNNnzzvjIoaDVZ/Sc/f8EnMvCbJzklTePYPP+aD9yp8D2vhEeZ8bAERga8YMROnS4ZT0cMSkqezI+g7qdwfiXhqp6pbL7HK5RcTLy8vhMMFgsyzLUqrs0Xtv/ux3NS+J05kB0d29WeOmw6cMB9V1ZG/9pzovSxXdQg3FGEIYDczBiYDFiY0YBT3lAlM5es9ic1HviTtxR6DNzcy8uVorpQRUImIhhK5y1u+tpsQIukFrbVk2RESfWm39OnE30jEzjCE8v9ct2buG3nAOxGEelyq+OPR2n+rwdb1XmhFzdtNNYZSowFKI0NQiDBg4OOuc55IJA/JRmpnQU2PnaaijryKR5MlA9wJ/IGjQ6/+erZtZhMsgJEcEuLZmKF0RAXo2EJjwDfFAAGFI1ugAjv/08jDwyGcG3cSjH71gAOjdxN17qyQ1XMWDRCQctBki6rq0toIBlxAkBozweLDWQGSqUomoWYvIaiY8fCcz9XIk0MxqrQ4cjnnbkx1VCrsjpLwxgBNyoOSnBRAs3CnBBhVVgSEYkNyEki0DXIQgMqBPhYyMEUvlI4gHqro2RzJGjsDX4yEQ5+m9IiJTOiMSQ7LiUv6vFJY56jwdZL40o3JY7/etAWEJ9LX58fQGeLuty3w4cpG2LB54WVproW1bt9t8PB3PZ1dZF621RqF5nj8+fn78+ElEv/z6ZV1XocKU3QbQrQmxIl2v16zw/vG3v5u133//fV1X1/b+9T1nuZjRrN1uN0SYpkkKEgMxTIdapmrhAEhEbVmlMJibNQAwa+YmIg6mDuKJUvQdorZhezSC3R3NyT3WZr5UETDYlkuobnZft9Y2bM0AxQ1eXt6ICMV+/vj59uXLz2/fAOgwnzbSbdXjcTYwMP/8uNZadd3CkYRut+u2tRTxUFWp5XQ6XS4XEjnO8+l0YqmAdL3dDvMJkFtrh4MA6mZqWyDy5+f1cDhFmAiYhTDpttZpCpbVPJClsoWyCCDWSQqHmaGHrQ7MwApJQWEIa+Gb+2LbpuvStg1MMSzUDe4OME2TIxpoLWSFikweW61CHNxxOjXVJJNAMAQJYdp9TRMz9RxRigsTE83TlHuSkcMgqSfRzQ17uHYPRPDYetaI7O5pYSgiDjlFmvVV7rss56htPk2E5DGiJgAZtCAMwhzYxB3XH+fViJJ9li4xktijEkXKVIgaQDeRNkUPAhBCJATDcNPW3IPCgBgY0FsrLAF6vV0EiQjUWuFkoCbo5R4tpwg6EGedf4+IzJiKpclZFBHwVB0Gd58qETkiROCYxgbmErPcbtbahkB14m3bTufZ3WsV85Ceh0XTdd3ueRy6pfVWdUDm0o8FgGa6rAsREz7yuYggitaah7V1i4jz+WxmLEEg95sy1fk4I22Ijbkws9uiq6asrZl5aM42cIiqYimGBABCCIpgkFOSJUBETBsXhwMjAZepqTgQkQAxShUqqfsrXPLKVd1dhSD7tpqMe2KpXNFMt3AL/hpuBymJzoPAfJxuH59GcHg94yLX63VTPZ7Py7KcXl4O9ZCk9vt9ydw0V9E70/fv33///fdpmm632/llaq19fP5g5v/8z/+cpunv//ivOsnxeMxlfD6fU1Q3+U61iociha7tUKf5MLXW5lLDtYiYbgDH8/nVrIsxUyTTkgAsIJNbzMpxWZbT6UQRtUpeXinFLFQdiaxt+ZXWWikTIqrZPM9Spuv1GgGBwCzE3MxSxfxyuUTg4XAwi1KmdVG3MIUyTyTSWgPzZnE6nS4f1//6/ON8PKKvuq3hE2F4wNK2sG2eZ4OYp1lE2roQkZTqQQHYTNlTZMMBXIQAfd1uUsgMzZWZzVqijrl4iChNYQAAmTzBlwG0B6b0ceQupiftF+YpInbaTCYPCCWH7z0dTwPcnAGQwE0BIHpjtkuzd51ys9JlaiwCCMlDzSyG7AlS/lxo7NkqrtqYPZ1xiNOem5jLtimRM3OGQQY093TZjLygHhbyg8SOhe9RYl3XfGT+NHCZOX3TFcdMZESqELlqi5BR9mSWKSkt5ei3230ds++ZxC/LkgVVLiFPGz7CIuXb/+9/e319fXl5SfJYRk4iWm939JjnGQAYsBBvauiRQyYQUfuotDLgcZo33JgQfMOgImIW1hr4NlUWrpks7YUoTFVVmYUJRHyacm51QwJhZXLGUkoxYtu9LyIzOkZk6QMYzazpsmaxUWt1dxFJesx+CgSYuUlOFrsrOCJ607YZqPu2WlOaPcwPx1mEuBAXQEIz0HCwjYFTdC4icAgYYGxMBZG64AyGtcZCXDjBglXvAJCeJ2G6tTszE+fcCTgGIJgGU7RtEcwaL4D6oO0uUrcXor2AdZRJxp7AYRbmIjMiNtXkpQOECDJzW7c/V6c9iSdKNhFs60ppfwbKhKVIoEM4MtUyeTIto6MJ+eO7HnEOMCBirZQ2fNnuiDACyFE0TqmMCEQyjDQuM+/H9N4HkC7+nSNpBAhUSimVJ8ZRC3bFYkRM+cg/Y1GPaqZPrFKO5/duEUuJ3t8P60MY5u6ctz6nvtMemQUxZu4z+OFCRDlUzUyMO3Mg22sdnMjKutaatD1zZA4R41JKWcN5mqa1NTMl4cPhkCQB6rYOntS9ZIK6QSGp87Q3era2EOO6rU1dHYg4AotMN1uIaJaDlPp5u7dmdrmTVETc1PIUeTmdcuIzIn7++Hx/+5pQVttsXdfr9VpKeXl5TcWVLHve3n5nxvv9LiLHw3lHlRJDzUGr7NokPl04p6nA1SJCNfaovZeJLPtwzLNOf9d5zRiXtHgzbW3dtmV+ff+8fH7/17+O08TdTHfSRVvTUqq7X69XYEKkP/757XA4IfK2bTYsyhL2zkxoOh7ivqWAQ57l7v7y8oJ9ArMH3ForsXT7j1KQKIXkEreY5/nj42Nctmen/n6/8zRNZVqsZci2iEJkaomeJiKU6XAuk15tAwL6kF7J2V8K4E5UIdmnEvupwACAczmezjNiONxNozXaaR7d8XSMa+ewFCKKyDxPROlh9Keiv4eUkU/vWSMi+hj6ya9Qn1InhwGBJEE2eXUGAVuAxeDE5s9qMymPT9EjiHQcCBExHvpuve53HzDBjosTAEyAZmYBZgFhaSHiDkCMxCJCWU64qTVGKuBhqRjmBuYZySiYZccY9jsAAIiyw4iJWBPptnl4l9NGCuZULexK8HsU2LPqXF1JychzIsPUNE1JZUnMA0b/WhXiz2oDZphHflubbr4jiDHY+Js1xAQgwL2rmIf5ul0DiLggGjMWqYjUmgkzkZs1a81cAQCNIsLSO76r5msYMwkhNCLp5pQAMYXNgIoEaQWQRrmdiEMMQ1oKACIe4BaRZIEdXf9HiFhKyf78Y2lhX1Qist2u2dx7Ob/98ccfOUia3qiXy2XbNvdIbdlkHy3LIiI5hJoNwD7Xi/Ly8pKLqpTy+vpKRP/617/yedVa/va3v81zneeZiKdpqkypK7Vt21yT7EfZg8o3gc7P7Ns2njjT2EngYWbTNL++vkbg5+dnV2IVaQPIjDHmFREI3RMxEzIbkup5bCUpIsdG3SGzsTwICnEEXi6Xl+PpdHphltttOZ7mKnS9bBGReU+pcjweGefj8ShTrbWWwrE39xwBIMwN/9TQx3Dq9DNARIoE/6BTyaGzZ/L8RkBMylwEehIcgwAi8mwKMCeADHLuYO4WHoEQiEDDdr6Dcbn4OUnZ5jnrjvBwZRnRITfIn1B/7zT9PIJTggwBhjI2gIeO52UITCiBmD+17988dCD6uo4BV8MgvGXivoPfe5ZM9GgXx1PHco9m+bOqfXR8Pxa3bUOkeZ4RMLfwura9MMgosS7tfl/qNPSzH+OwPUbdbrfv37+/vb1knMmVM9eSjZc89NOcpLWWdUJecF4/E+w47vMHEZHD4aC7X8eQu9mbALllR1YW3HFeyGYsMxMxDn3xps5g2eEFsByNgeDEcfYPtV/z/X4VkW1bmEuyAIaMxBIAaoYYXFBka21dtlXqvKwbNZxgLvUQAEndz1jt4wWQtMkUYtv2iG3mEEHIbTMEzm9mThgea60O5JZDj4UZoftGpeab6xhxwTEJ8HwW5LvhaIRSt/vtf7CuANHV93eHgVzYyfTbr//puOnPYE+di9A8z04pW2wJVefwajYZnhLjfbV32nDmOUkm33ODnPDGPrQ+qBCR/nEPlf38g9RaGDtYzghAGIGEIZR9hx4u8+AopaTS7Z5n4JP8an5G78LGfWVQBBIQsHvKW2Z5AOHmEQCGACIpyoeEhC367DoDMbvsH0yIgPovhIDe/dHU0KFI2/kYiU4pqc+VCqtIQ3u1108MA24kJECkUorITI5JXQUALkyN0Y1F1NrpdEQqiIWlns+vy9Zut4tDBPL5/Lqsbdu0SGWmUgq4f35+Rvjb2xsifv/+/ePn5f39HYFLkVrnZVlUrbWW3qI2prz/9a9/qepvv/0SEW2z+VDzeBsfqhKKiFQphWVP1NwdR6jNTmWe8mb2SD3+3IZT1UwKY3jImZlujYi+/fHPy+VWmGsVayYiZlLqjIjTdNqW2+XzBgG1zOt2W5bl5eWNiZa15eRWRCzLdrlcHOHt7e18PkeEjxnBw+FwW+7r7RaOt3X57bfffvvtL1xq1mVpz5Qk+EEurLVWq+33339POCQCW2tAySSaLj/XXqanqnGheZoqS7jufeS+Yj0MHEZiykjOzEISwr3xUhC5Qx0e3nUM0d1ZgAg8TIQQDSkd14BIsrz26EJRPGQrmLkKE/2pNRZPr+fH95RA5+xOF2NNGM3MgrrmYEAKPHAyWdXu+5GASDy6e0mX2umbEWHedTMQkXFvKPfiIVX5JKWtRhQDgE4odY/utBstIsDCxzBveIR5KEYEJzF6IyKMsJwIH3X7qAc6mJHvv5M6sjrlMZUbsYEBQB/2R4x0i0sv8+wlcJ95zfys9lDeWgxlHhGhwG3bWtt0mODk5FxCpDnOC0BuuC3pxdOVdCOWzHB7xITOkE65SQJERmNU3UTq8cTzsTZdl21VdUKBagCBYNqu1pLhLQiMB4EetwipjzCF2SQ9Z2XMaS8ICMCY53noAAWEE0GpjMBAnCJI7p5ZQYJwy9ZDZBCy6VREhAnKNIVxIKJHeIRbfwpmdr/f22bH4/F4POYp2FpT1/RL2qXNEzo6v75++/YtM3JmTqdkAJDSdUW/fv2ah9+6rp+fn6r65cuXWouILMvtdDr984+/11pb2/INiTpZJekKMYBVAM8Tbz8+3b2HupzLHAV2KRPRdV9XRBRDZVyHVr27EyYjVHdLpkyFMxdc1hTMzdPNTDt3lAhUVbgWmkQqRLjBVA+HiZhcCEKQkUoRJDofZ4AQkTrUXPOsNTPAJI5AhHsYU0ahIbza5b88dnXCjkr9e8Gf+u7+9NqP8/0OjB/JJAYgIChyVKY3CSFdip0BHYeOeBoqQ97tLs0euyHUsFvuv31YfqbrS6aPjvsIPphFZh3hwZxcvtxKD7YQdGDCk+DnfRrHciIlOs3gAfbtgMgjjRrx80FRG0mAdw53hyr3MffMAVIBEADWdTV7sPnDs86swxCCaKC5e2K3LEtyWX/+/Cki6U+yE/Gz+OSH0mImcJ16ISJQkvAQMZok45+4FNFxYxERe5c1V7W4e/eyNENEYUIyhrLjGBHRJUM6vpC7Ad07aQIAclVnFzfJbPm513VNpebD4SBCmRJHBGADAGFHQUqHwbTwQ1g3c7Cgo9RgLkg+kZhGeu110+IgonBP8XzclxAAEJOF58Joquu6Ukm37DgUIWA3DIMgICRmzJS4uW3b1jzQjYgAQYdnEz3pHOwJajxsfR8nLzNnHEj0th8cu9zNWF07apBHYK4s7xqPyCIsApBaZxxDJtWzaqUAiBR/ZUHxtMruxUxir3k6R0eOHsaIuVYSxAl7bOrnDS4lexGI6HnFCAGIwekogB6j+dWpO8Q+XIIBIIkfMOQgx2rr+EHewZyvB4AIceuDcYBAgI6CGMxUWPJ2ZV0ACJCpeteZ1u7djBABphv04RUAQAMLCwDLobgcHofEPlOcuUIAs9Gu+9aHU7sVGQJ42/DlMLOFNnCE4+lUpiK1NjO53yNwmg5I5ePzGkv78stvdL0CltbafWun48v5hUmkNYuwKh08rlLdHREOh+N609baurauY4h4PJ7meU73osPhcL/fU6vhfD4iYls3rLWwEFIzJUAmLixlvDKKMQQggoWj5tmeCBwNAT6A7tcz8iHL+Ji2DGbGXfaXws3DtvvNHU7zdJhna3q/X4UpR1ggu5mBpczqXuv8pU4/fny01qZ6ZHaAaK39+PEDEVdth8Nhno6qOk3T6XRupt+/f183ZWY3aK7H4/nt7UupMwIzl3W9qierj+e5rut9XdeX48vlclmW5eX9rbVmEAZxW7d6mKmKIziClElqYSSSIkhdgnfELep4m0f6T0dQKmhjEAEzAjAi1VpLmQBoW9u2bQGOGMhEjO5ABIAuCWqk3zWm+YH02RfowB4RGfe7zYJPFmu474h9i+7n8Q6rdBzLgsDjwR3sZqZ9xRNAuKlpa03zfFYImSpD4nkE+2nnQ5Qxmu+S0owwUuR98mwYJbp2lkwif+EAzoxZ3ykFgJk7hrln+heImPk5A0SYqhYeksWAXURb7U/M+vH+AU6MzF2tFgBL4RQhbi1dxoAZ0xEmBoD6yGPGyyNyawMAotrYCMiUhnHEkHI0PdGxnGAb7QW0nAEKh/Dm1ob+V6fVgqluPS+RwzRXbt6INalr9cDnl/l+j3/969P1fjycHawKIBpCc19MAwyFZzx65kUcgUGC6e+qnELl4XnDgiGCAIO7JmYaf6TspSNRMJh6sz6SH734N3cEz7SJUEQjMNgROeNDmEMAEDBREaAoMjW2y+WSko5vb28fHx/r2goxdNcbX9c1Q4qIpIKtqr6/vyf0HhFvb29Fpoi43++AXWg1Yac0ZpqmmgOpCcQeDgfb1rRjJMgUKt+fMm97msbOOjXozwAEUjASA7qn+FVv0JlZin3nPtpB4Yjg4QKDiABd91D62Jlv28Zd9YV2ni4zi3BEpEilql8+b9E2AECygGDGBg4YU61qdjgcVLtCdmXCAfZ7OsbQI3Fx3/myPmjiGBGpwuTuND7+ntuNBR89zoOb6wNBA/6370wKZWjS0AmAmCC6sgpSAOVpgRxhEY4EBKmGZZ4i7F1RI28iPG4lPPju/YvOMbL2TpiN1NMIGZ22UWaEmQMURATbafQWwSPjfKgHQrcJo0FXoJFpPLgQvosmPzk07f+0x9XEv/aEKWvy/AoiAqGqmgazlVLmeV7W2/7pdjTB3ZM/ll/5/PzMPfLrr7/ete2/MZsD+c57ZrxDt7mjn9NNIkreLxGNe5j1GPDI+HuUhUEBQiYGwDTqpWQSJlo6nn4/AiIwtfzBJaKvrrwGHjMb27a56+fnZ611mkprK4qwYGubSI8k3AU0hXjO9arqZhihTdfx29EdB0TSWcERYeGUMkgI6GDmKXOi6rX2Af3mxuqIHABqQUgkxVW1GREWmYDJh8hvz6uf1mRq9+2pLTwqOsSuSvnIkiMi6ytTbU13dJyZN3MeuA89jYa7exmYtaTrjWRE6jBBYtv5d4NIFkMPm8xU6oDPmgcihXDlTi9/lGoRgWEeY/Csx4x4nJoBCEi7IbkgBQVBF48gwpTqUNtUDRFY8Lmggb2sf4ovHSxERITspQH0ND2zMQBwTHUE5HGCQkfaeqwcuimRNUSQIeTAJcAw/k5qbN7ZIWnjEQGEAAQBge4GpUwJ2PdGfCf3ursnYJ+/nyh7iMxUdFuXZVXN4EHT4RDLUsuM0u7rUirO8/Hn5+Xnz5+JuQKLBgHgtm1iAISRBhiIfRaqtVLKYZrnwtumAPD6+oqIubfXdVmWJff/NBVE/O23X3JcLInsEbGu99ZaqVJrIcY6yVynaZpEiCGQAjwgTLd1LEpM8leilx2k8gwbfSoZCdghwsO0abOc1fBANzObulmgJdpkGofDVKjwwhAmdT4dcWlbNhYPh0PavrLU+727ov7+++9H6HvD3ef5MB3m7fOTmVPDwZHMlLjU6XA8nhFx3VQtSpXDYe7DHECH00tb18/Pz9yZGTTN7HQ+L6oOtHnU6SC1AHJ0Q5OHKYbQw6dTCCPCzVR7uEQCYpRIr3LIxN3MWuvnaO6rvnopAGCaJjUlEuaAyBZvISIEzsR9rHmj3qQDwgevbI8m8afu/+PY3s8bMHfMPBtyALQSE3EhMgt11aY5jR1+XpblFkucmV+EOAIUXGHYOz9eT8e80G4y2oXAGoX7XmOwD1ot7/6CJIwUjFFoCjEnVU8AlJkQCTzMrCBZ6qFAIBMzCz7823d46Sl7768YMsGImCunNU4ZY2ZiLjAoNX/KGEY4AgxiECB3AUjbp8j1QLUwdi5QfmpmtrbmuJ1GDwgAAGgtmvnSdMvTKBwjgJkFwDyYCwSlBEJ4y0aNhS7b8kpvp/Pr9Xr//Pljuf+cWQhxYq8TMfAGvpkDelvutVYuBQFMN23EJEwIaDl+GtBjHzESMZhSBPTjBwE8vJlbeIs85M1GooyFGXVV1dgMpTJNqIooANBwJUAASZe8ZL9ABxeFmS+XCxEdj+fz+bW19vPb93wQ6WWWPJlt2y73Gw1V1l27PTdUnkylyP1+X5bl/f09rc5LkWVZfvz4dr1eAd8QMcLqVMAjTDMsR0CSIvakjYg8DMLBA6jjo4wUo6GMMEbHAiBHHfrmytXxaAWPE0oiopQHCzw7k4i4rusupzvWYyKvM0Avd90AAw5TMXZA2drlVKu7attCm7vOhykc1QsRTFPNDGNnObjrTmYDAHTyTgwjAPBQQE/iODyBf/BUoMZTeb9/XXdHGIjHkFx/PRpc7k5kKXQWvfmOYx4y+QwAHkCPpKfn913c0GhYbO6pzJ4khbMFhCdpsEObPiSop2nCJ8CiNQWAUiKUcwouq8HHuz1aLn36ZQzvPrJ5HAyZnUbMQzOXnkTx95QLEZMTn2/bWotB7OxQfUr4jVf+6qlO6aayXxIi/g//w/+QQDuNvZN4/OFwyHirQ9Y971h+OncX6RnO/lYw5mdxgLVExGnv8AiPKf+KEZ6sKABCYGIgJo/NLXuSvZdCOxkSMQUQzSyS4IEeEfN8hEHfj8AcGvchx+fuHhrAiNynDgP2syJcp6k/jrWtzBzYlU8hUNVasxRvKKUwdvOmhKLDs6MClAi856Q9ukFAOGKtFRBLmSKgGQkLEweCBaBzAt+ICAg7f0l1C00xx45cwKNqhbGWOqs+T/O8Odl4sTEdzmMUdT969nP/ke52EQga+DUBk0H4YDrsVRkicsD9aUk/tZEfWxj//OpHs0eyYN278A4MeWJ66gMQkYApMSNxWILrUYhqFaKHMSxzygYT/bkZgYjxJ41VjAggeG7omBmiIbZ8/I6MZBEonfkX6IEQnNgcAcVwGgtnBEyJPsh5PswbmIV7Bp08LTw0ANAZADy6OFTzVIPqgzgMrKrhmIf02Bt9RvDlfJ6mQzQHEkJuLdSt1nq//VyaFpnQ4MePH5tCOLy8vX9cbvf7nbmwVCLSVdtm0/Ewz3O2gDHgdru5+1wP7uFmqefY2nq/35n5fD4fjzMRXC6XiCiVEREp1LZSOYY0p1ozVwkUoRTYSd0MIXBvoRHgruvW7l3FDDmfBiLCQ6i7Py8iYiFKXDXlI9S8KUX3DphrXdcVPAgCAWotwjxN03K9bdrSZSd3QobIMs2Hw6E1DaBkrKbxISBsq7rdpmmaj4d1Xe/3+zwdUfjj46KqdTqcTqfT6aXU+XK5Xq/Xw+H48nJm5s/Pf17v95SWu6yru7+/vwOSmXkEpbw3V4eAcC5CRcwsADPsVhYhNrcgMjNGQibOwtZDQwMIUun0MRPJpaTLNyCMWQ2hfUjAuxfxhFgAgglRHDE1xdO5rIv1juS4h44MN8y8j5PvZ8/zBt63NAWFm7kjxY5EYoBy6pcRAOLmrluquq7bcr9f27pheJ24ThCgHhsCp3ZhGzIp/vBbgMI0EtkeUOyJ55emJM0NAIdNVVLZakZbKYTa3dAYUQiYBZyMgNzFKctwYiyJMtLud91l4xD3oLarDfRqCgkAo1TJdxkHdmLPsMtH7le7x8dUKyqV0z6ihylyFklfJBpUHGYOpWQlZpVo5hpGHIXdyYJbeLMwYIoAJghzBGSuzFLmCblIeCnYdAlHZgksx+PLL1+dfNu2j+z8B3NhkcOpiBO2CHCzaM1pTTeFEkHoEeiY8gYejt7phQBABI7kghjkSACoHobAacYEgIQh3IcxmAFloXDHrYCVCAhmKBbuYETdIyYIiUhqKaVQUwB4eXkBgNYsK6U9H8rgLyJJ5G2tHV/O//Ef/6GqHx8fy7Ik//jl5cUN1nXN23u/3z8/PxFRVb+8vnrTj+8/kkBZiDcPCng5nVtbmZkYkibB2A1LIzxrFPQxfRjJ7uoP3XrGA2O50jRNqq6qCGnviMwUw5cUAFJBD/uItpsZ0qMBa9pRVe/MEkx6tAiGa4wmrerWdGnbVfUOvs5vx+UaiEEMui1fvny5L5tU3o//iKAAAxehZXnovVLkIFp4l7uF9Jt3V3dLQqf7v6cg/+fEfc+kiciH6sseWLogY89pGgCIpIKHgwdJgRibsff0PSAIB4KYuy5vCPgoEu3x2w0iQIPM3QxjQGhm5mDhbf9mYhzOTR1iIwCNrW22Y9jPSfnOe3F3FkTHFEoj4uye7TF5r8Zz0ZoZjE7j/la8z/NJWuo6EZl3mwIY6jrClQ6Cg2GVSXnpGFbs7/ny8pKY/f1+rbWmDVlEzNOU2TAN+niS3TObH4jDzjt6RLYkP9Lo8IRukM8EoLsDhUUirUMjKAIoCMADOAAIEbpWN+ZMV44gDXGZoBwOtthR1LwV2bofrUVLGTe3Jxp3kTT86QP3rkjOKXA3KBVEJDwRCYSuuum2JOOUACzCMv3KcaC1AeSAAbk2RJxnMYvWmqGWIkBIMhFOZBEgARgAyBDAGoDgTDJqnyzkYjEDDYDOf3tOi/N/3T2RhVrnfTFExN4JqbVPGObXRWjH6btETXRyR/ZnRMjc78uiSiICyGadojz8H3vk2VcOjS4xANDoKjXvygeMSIRbc0RUb9kyz2tjJMuR8SfyT1+u40ueiTMjsmQgaOZtlLxlz/f387ILBg2qjKomi8ZBS5meuG7mvrjXkgg7BQMDdEcrDHWMjMEYphoeFGCR9yKAOUHLFLPcEcp4kp58dO4ifwYG00i1NYNAkmyvuIYLCZPst2av47dtS7qbiEidlnZTBXV9ff/1+l//tWztP/7y15e393/88e1yuwP4169f3X1d2+2+AsTXr1+1eWtNhJdlZebDNB8OB9262ac2zznu6+2TGJDi58f3vIxpml5eTrfbrTUlgqRue2Cp4tEAvBTOrP14nKe51klYggDd3EOzrkaMjLBITEBj6g45S/k80Myt208GAzMzFVLMVhERoFBZ1hsiHk/ztq735Z468cv9HhSIOZgQm3kpjBin08GBl2W5XK6AvK4tpcp//vxJUgeq10MqQio3qbsTyvl8/v33/2ApebumaToej5kpWvQUPMd8aYwrgUGdi6p+XC9ffv/vliAtoQABYYRP01RZmB/uHgmfEJHrmv1l9HDI98z9Rmm/QsPJj5lrnVF7aZ7k3X3BiEw4+jbQE4g0cJkAAGAb24T2IyHjBWLsnyUGhLbvqXiAatG9M5L+2Q01ADcnQCcEQgANUA8nAI+NaAvc1MrWKkkpFBDQTJM0vK5rOkdkqOqhTQYxBjlxhW3ZvMt+OtMz6iCpJ+eegakSMniOoQUzQe8toBSJYN9yFKn7jBOlIDTtAWTctAeh8KnUwed6ZketMkl9fof92N7P+wgDTz1LZmbnbNj3IhOoLwYar0B0d0NIKo4HqW7uEIpIIULExR2ZC6EwV1UlrBDlcPpyOp7rdCrVAGLbflqEBd9vWgWYuU4QqMJE4IWnFKvGmUnWTVtRVjdQJebKZRIOgAYunRLqEOAU6XwL6L3eQ9/PZGZGAkpCsCfSk6WLIxgXLcKMEuGAm1BlkTBPCBTCgIWpYMF5nk8vx8/7YsPa1h1Su/p6vVYWRLzdbog0TVNaIJVS3t7ezOzbt28RkXKuI18RRLzf79d/farq29vb8XhclqXWervdAGBd1/P5qKrZpkh9Peh0T9kWH1Qfiwg2ROqPNYYuQkQMUbm+rToVG4m5IC65ibwzAXpOnxGCRtc7BjCEkFbHuK267+5OAceHCLcObZNSOEDX7RK+sKhtTgTnl+Ny/ZlDdRFG/Jw3Z9c2KAAQRdJnyhhLH9M0QEfRPOkNhhFsgrjr+qBejCuPf0vl951CRPHnvZMbKpMPMw9z7TQhgzRjiBgpI0MK5YMPGjoyI1JyZlpv2ZPvB2avIgwiwpzNUBt4GgR7c3BIN8kH0VxFas9sAMx9HcKLrRECIKKOeaTnspyI/CmPGZnun165nX0QAtW259vCtfc00vzo8ea8PyBkZuIe8WAg9NlTSjlmGIp+mfCl23cHoSMyfSfcC90Hmp41wP6VvG15A/dM5v8cEnfW9fNDj3TSjDDFCACBPsfBSCREeX49280GYj/cMAF7cCksU8JMsKtyZeKezgy5PYfweSASldRvKMwMlvlbdfcjz+6eUp4IQiilSLjQifPQz+s39WXZmptEmEXiYqWULg8V2Nq2rouGxgkgyMNL5SKzuiIiYPSR+pymBissgDwCeXeSiqdeGTx1dPN09s4FgtPpdDgcIiIVXQD6pIs+qbLCIGTyzjQe9eoA7/pDaZJQk+xPcwxkQ66K/Qzt1/oUFsy2lF3ZOzy9z+Nd9MbTISlJvU9thHxPM0u7LMUAYK5T0nbyQrsUvwjvfSsfr/TAs27Z3a8pZZibBUBvbe9ZvpkRNUIJyCwTmTEi2Yx5lz3DdhBSUKCHh3lns6Rq/vPWxY6dKHH/p9HG6xinZZnaq6vVzLh2be9sDY+l2bvG5p46XGamzRE4kLUpkfzyy2//+//xX3//+9+lTi8vL8fzCzP/849/TdPkgAHWTM+lTDWnBayUmglTKdPLy7HHC4pwJ4bMUN19Xe9vb28ikkoOgPHyet7564daReh6vUdYdpynucyHOs1zrcLMGI4aBE5CEjTR5O4ZLqBjZjhm2bt/e344SG0jTCObgog4IJbEn1zbsoSbHg4HCliWJRxut1uoudlcp/P5TASXy0e++4+fHyJFymHbNN/z9f/P1t8uuZEkWaKgfpm5A4hgkMyqru6eGblX9v3faFdWZkVmequyszJJRgBwN9OP+0PNHGD2QEqyyGAEwuFupqZ69Og5n166DUhjXU+qer/fs2DNtODT25e//e3fvnz5Akit6f2+pZDWx8dHTnQ9P2IRuV6vJFLXRVW721//+tfT26duQVxygJOZ+7796VQrxEEJnnXysePmN1jGwYR9535LoL0SeamSh0768MkUfM3+DJHkaZJZCNGR3D8SC/xZ3jvrBDxEM35+PR+6IpJpkHnXZh6Gju7Ue8cp05bXZmYkvpwAEEnMvKkiCwYMhYR85a+ew3ZJPY+jTT/OBSZEdPPeu6ImmZKIWusAAExMBdFJUi0dvUMgiFRmdkhl12y2Jest80/ABE0wee5/vjM4WfsHUHFUOzn6kiBxg+b2oNkcwB48gejZEg1DEj7eDRkBBvGRpnlTTGpN3nBGkjVtMtCDqyzC6NEjzF1FqvBKxB5IVLdbvL39cr68IRAw7Pv+6RPct3a957ABisiyCgmTI6Isy4IBiFyWSlKkNdth0huywnZgAXCLnClKdT/r6ObAzoPEmiQahENBCFADIiWvM+EolUVKVytFzMBamPdwpGAFK6XEENJODVPIahkAmDkBZsSxWUSEcNyuZVkzQc8l9P7+XkpZliXH7j8+PpJOkCgPM6/rmjEWETPLr7V66N5QVS+Xi7uWUiBw3/fr7X1v8uXTq5npZAmPbQJpXP/o6B5JCUYKCw+qg4YfiyqPKGI66jqYWb76GHAcgGKMtbRt+6FVkrY4R+LOzAillpJ8FsRYliKC4dtH39MFNk8NItr3vSzrKBQzBKHDZD5kzG+t9bnZM5/Ttg9wAXKMG5lQmHY3BAA3mDcEIjD8EBsBAPAx+iKpavzUkQeAQAyKptmyd4rk0yfH3dU6ADAXjOxxjbE095hbE8w8G8X4IAEOSlvSxCPCPC3nwhQttULAEKPIUJYLGPOmxJi6Z2a2bduRHEdEKSXS/2JCG0fF8pSJPoJkRBpG4+O5T8LYnxI4mSJ1Ini/3xExnwihpFSoGTKzlKHlEIPOR+73Zyzf51xfLeM+JySfzoNERI9xfzg4Sz5JFEfU8ml3cwTD50TTD0/N1IF5Gkb0yPFiRsz2kxMCMQW0p8QOcfYrmvYc68/zdJDQBDHwKDDcPUUFZ8Ntj4jcdIUH5uVuiECEjmEAybohZu8U0REIyYmEsHBhJrPCiNhNAWCpFZmGbo+qSM2kGRGXZWGWg9ySK2rv6jdjtpcLlrMUKWDebePDX7y13hsixlKWZWEuk/MzBpTHLg44Hlkpgojv7+/3+/10OmWwaq21tucTTGskRMy/DhU0Gv3z52eUj6a1nvHNzLdtQyg4XZYzcSciDPj94/ch/Zcp1iw+j+LwMKvioRhDOXiZiXuY+xg0e9DkYgITACCmt1z7XT1AlmXBnBbyTii15vrLJgxEuPbWe7/f71u702wqvb6+3m/7vu8oot0BtlqdSExzH6JHbykxQUQMiMAOgOEYHhoBAR7uDJCKa/MIH/BJzmEgYRK2iAhc3Z0RM/4SCkynxogU5WFPWhWMKBlqGq7a1vU8lDU1aq1MBUKAXL14ANdCC3OcYQekCKxA/Mtf/+V6vd62xgXR4duP7yKld0trD+v2n//49XS65JCySBVcHLDtKsTbtpn1Wtd0GDHDZRVmLBVYwMMuL2cReYGXNCPMJy0CP358IyIpxBinpZxquaxL+noRYqLsWIgCapViqc9MiGwBiOwQgEwMIpmXWCAEoKqChxUDhWU5IWJZKngA+rKWutVr36P3l8uZAt4/vn/8eN+2GwUhRa01ONJM4/z6+XbbSqmvb/j6+vr+4/ry9ilFbwDwVDEiSNjMbrfbfd/f3t72fSdyAL9cTi8vL8TS1LemXBYRUW3Zu/Sufd8Lc1g3sNu2nU4nYjDdeC2l1FLP4UiE4CHM4I4itVZkIqkEzAEE4mjmHtrRhwxC/peBsvkqzDHyYACI4eiBQIRAgY4wiS4+PLQJKVIu4CgtIlAnPD9PcXS3HIzOHiZzWjnm1H9Kx9CxmQfOFxDhx6w4AQozO6jtiGh6YxTw6NEBlNg87khAFsRQXpB5F0ZhQFrCiDEwzLUhBrPo0CZDdIa0tJBYCybRZVkKBqjt4MaUJ2j6cQoymRlYUCHgoq0jKgJl4yaZLxUw3MAdiQgBJYn9gB6Ao5BOduPzWUuDGUEoZKlMxzKlDIBlAXCkCFcRCg5EEBIA0ER5HuRdQkQwBCB38+ZJAomIZsqSZ38CWtqnJCLqTEQwrfuIeSl0MjappfddNUnJTFgIxQBLWV5elnU9s9TeVHevfG6BENmMurf9e12grG+xC9sNET0wdeUwfFmxLjUWaEqtaQAQOaAJIbjFEIUY8MHWswZGJSCGpVApQ6eUwhG62Y6AjMEFtntTVcbFAhgY1SHuHhsCa5cqWGXpzQPFUNCkcBWkLe5QYTmdVdv+ffdoRQqBC8H58unHjx/X6/V8PjNL9gATXyjEFPDLL3/5448/LpdLZQm1j+8/al0h4vVyen/Xy+Xy48cPCthv99ba5XLetu2XX3653X64ay1SBM1o27aX81n77mYEmOODMVEuAGDgNDYnIYcOwJEJTSCk+mGQS6ZwozBDim6ahzEAqAWSsCQfMjCznlIs4rSsiHi734kkBeAjdRIjTufTr7/+Gtk3p4qMAQ1oQ1KPOyF9//gogn2//fHrt95735uqlsruzawzs3YFGBJtWSyF9stSC0JrLYcFAwKAHbGrEz5GM9NhGmCYyDwXLYm5AODDl3S+kCkdi9wGOuAIboaBImWQMSLAXZh7hHBuRgdUJBIUdzIz8F3Kkh5xAd7NDqESgENJEJraGEYMVfdADrRAQzQmCNBSLohi3nrfzTrBUqiwcDNlAsKUgQcSBIDWGtEg1OWn6L2bd4tIg5fWmnBFQOQCxA7kHkDMLFyKBpijBbk7AQsPYA6fwE5EWNfau0U4MHq4h6MgBxKRqbo7kRi4mQXEenkhkiB2o23bVaNWWddlqdWspzlA8hgjAglMB2E6maIH1MpjuDzjZXZ7OhEdQgOZ1CUcEuHPNNRkOWcOSpJeEzbPimSzMoIRlvBAkKPyjDChrFezonAMZwSKIYyeSXlmGjUBRwqpa1jOsw6oERHJMkojOghSCnEBQEDPGTt36GZAJJyNmuLugoKIYYAKKxcuEJLF1d0p4S20YGbuqganoPN25/umreuyQERfiCvK1XSPGtsOf/woAqdaaCki3E3vP25CLCKLlIS3rCuK5FIXocE8DQTAdR16WclkBgAWCQBhjlDEQASzToVSvSfrBHwCm1LSN2IawYbuW3N39z0f96dPn0KHLW5MA9pM5/RJrVLVSykinETNlCrJFD88RCh/LoH/boqU6MPgMgfMprxkawDSkIgJwMevRABA4CnAYtl5721PuN3BkiEqIt+/f2fm3jIztqWezM61rkTkOhp2GTcAnIKAENAxYIjsgA8bLUA79I+m5TugTmIrpGwKgOccV4QDcr7DkOANg6BIMYx8AyCHSAaePTkbI2JKbh/PhogCUVW3bWtN99a63tUyIfOIUNXr9Vrq8i//8i9NobXmfillMQ93r3VNtWN3T1i9781nC2+/XXuqkp+Wdt/e3l6DrTLtQ4I95fAAwIkAEbIwBYA6lGR4uKgWTM7/2PGTTs0inow2B/MAcAAMMBzkTgYI9+5qufF6VwCK2ASZiDycU7d7WbZtE0JVvX9c79t127Zt287r+vb22d1b21IuwK2va3XHt7e3t09fLJD3nl22bduzUWPmKT2BiKq677tD/O3f/vX//r//Xy+vn7atWeBsRzoAnM/n+/2WrFlE/P3331A4WyJSCMCZGUQ4bZDcnaLw0Hk55vYRMUDNzEJ7etO7Z8N9AjZ2DIektEWqzUwsFgOckabgDB5nZ0xxgCPnPo7bsSwHpjKW0wPgnEH6WGyHJhLMF053gsdhnCPsYIiAVBHHU2cspWApZtZTboWZCUWkChcichtisQmo5GrJEwWdEQMJDt7IuDw0xCD29F11j+xzxYS4mjqHIjIhAwYN/0KiyU1DxMPmLd3dkCyC3NXdD0E0mhM8iIAYPKRIMxz1RO0pIGeRmROzhzBHJIQxfyYyeIqJUERg4WRwhrvn+H5SKXAqhIzn6x5TcX/86IHqAcZQIBx0VXcw9TTrXtbzCNnutt33rm7B3ImDGCkcHNyVQITRmE/1nFGU0twbCYMBggpVEiIN4AgEpBnTHhTh1trtPpC89STLUhkLIucYjIeFjwmihDbMe8reRdzP6wlKzKrGuprDx1J97wq0SqVlOTOjabjl2Jm07V5K4cY/fvwAg3Vdx3RE74hY6/Lbb7/t+57iVx8fH7/88ku6vmf5+vb29vvvv2dhVqt8/vz5x48f+U+9d2aamahvWyMiJnSHf/7zn+u6ns/n64f6JBgkj3YWYyV/KvEpA5u8AkIgDEThlFfjIYpMT+X0NAScqzcGXXj0Fo9vZiqZIuf6zPM1xa0TmXt5ednbdr+/d+1UgVP7Emnb7oLr+XzWtrHQ6bQiovau1hMkg0B09ElrzhWf9eRkFYe7Yw590ugCZcV7pH1H3Dj+8BxDhkBUxoQpGBVTuyZdGVK+7lEtz/1+fAXni8YA20MN9pksnjEhD1BEOpRMpkmLzXFqYQlEqkWIwByJgJkRGIGZuBQ84EyZMSRzzUckxMy9hAAKc64Hn6RqG35tY2BjUFn6uFTiBxdxRvvHn4nAffTaaPQbB8v8uKvj2K01czjrLVMx5oWIxtARYrJKEgHMQJJH58fHx+l0SgeAJwQdnt/8eKbHzZ+r9KeO8XG+xOwkADhh0icGA/z5TY4fP44eOqSQf/7txzsfv8tSvQefKCKQKVnG5yd5pvGvcRiQ+9P0FB6fFIbEGQ3z1BCRZVmQSxql5yRkREQcqNboe+z7vr0rbtv7duvbLu4lYA10sLOQCCcfpO+Ns9OL6P400ft0DwEecHWG1mykxFPn6riBhRjlUMp/nPs+qfNjv1B2odCfJOSPTB0Rc9rnSOJz2mHeWM8Qp9oRkYgjTHWIYuVbHRU7EelwL5mjw4e8RCmiqrlyEMd2BUiliDwVBoDfe+u9Zx4aEYjc+wYA5/M5O/J7u+9b37XbedSXIpL+8oCUU6KOhBi5CyMRgBSGThEIRCl4ZOeIORYDMb1/k7GXy8MAAoLSqAMAwAMhFSwQwoAg/yksB+NxMp7z7swQn/YNhQBnNi/HpmLmNFFzdyD5y1/+cj6/3O4bEWVmUIpEYBFa1pcI3LbtGAR0tfv9LoXWdY0o2+2q1olo3+9m1trN3XvvKOVyuZzP54S1sqXVe9+2e6ksiKUUEVqWZV3XGLRsN8vGuuNoqYGPpA4UAlIyPwKAwTEAIszVTNNkMRCzbDLfwyVKQhrCqmOKn3Jj9K6tM8br5ZIEuN53d6+11srurt3PLy8ictu32+2W3g1ZqmvrXMrt/V1Vy7KkW7ID1nL+/PaXUtcIZCpZ16iq9X46nQDi/f29615d9v2+ruvv33/vau5rBDJTrSvVU621OXaLnM2YJELM4hNj0NG6NQ0Fc4jwlH0lnHOY46DywbHqg3nBjD/xR+MYoxwx5om4dpDHVDV55I/QOY7JR9v0OV4DQM74DxIYQNZXxODOwAM0irAyTh1PGWimgbuSKKSHyJSBGyZ5LBm3KQojLaUamVnHgFM9sRAP44kQpFKYBXOnEzkkg3H6IURgOKoxUaJD+EwxzV9axug4jHAWAYiJsgtiYPgAKnJiChGHIzcNm+tQu7uHOsVwixPmEo4aCuolMAKQmEp6MFmmOATE7GaUkjsRwcuQcjIziwlxCeNTuuPukel9DnIh5MzGkb4AwDSKSnwLGMEZAIBlzfWR27a3Fo6mKIUYTBgA1HQLXwUphIdodp4gnmuKPZQcEJFYAMgDD+mPbb9lvL5v9+v1+uP6QSkgDSXCPbR2qibMQ8EzYihIZJvIQ62ZmYV5qVwFzcFM79se+/76Yiynrd2aBlDhoZvGEZRGsMly+Zdf/pJTDuF4u91oMHQFET9//kxEKf54hLje+8vLS97bt7fXzPjv93sS32stvbf8FIBrhK3r+ssvv7R9y1L8crkwcy1rPpxjtjXPoPS7hXDzHt10Okzl4B5ioGWSamU6dGSlQUP1/zA0yAuexdvYvGxmQKMFf5z0uVWzaBzEVrPc4KnHIiK1kp9Obb9FxOVy0XbHoeZhgDk7iAAcKRI0RBctK34hBixJiAKAeEiiPSiw7g7gRdbncIFzDAYnefdp3Y709/jOmQgOe4eU/njOEUXkIYSapwdkRyJKrQO5Hxpxx9S4AwKom6kDEZZ8FgCR6meIkNFXCrBQocJCEbV3jgjmwlwQCZGJLJm0EYEzD44kgs3rH9yDfGy5ryEMAn9OeXmKyWRmdhwE/syJmvSbWXiDu3e3RE5S3zdinJJHnZ9o9H7rUxOGSnlYeolIpl/MzEIRoT3NH9L1qR/zOTn8kGHwyCMH0Pg0txNPIjnPCaXPZouPSWJETMlOjBxpe3qs+YPzOBjnjtkQRn7+NvipKjAASHUUn+OCM2bC4do7vm2+YHRs6qwNxtvSwEPoaW0P+tAgZ5IcBKTeuxpCIBESlnUlMc/IBoU31ev1ev+4LogvdVnKClJIeE5dMxdKTy9LNoj78axxpt0HIgBD3NZwsGIgn+yx6/PbfD6U48g4tswjy39yb0wfOprIer7/uq7WNczbtruaqxEgFoiIKgURLSCdHXPyUM0ZCVGYmIUoNSHAicgNw8Oj5ypJhUTK4zUrz6MYy/n0Q7vKhxro4EdqHwjHUHehONSaiIgYijMRAXpm3jTVbHN6kgATMEnjhgiHSLQtwRKYiAFA0hRyqQEQB2Ky8QgxAXXPzCfCJrcYj12tNmf7IgAICNPz4iiCcVK688+AEGoRcTqdhuv1Uivh5/p6vb6bGTDVWrv577//HoFb01rrp0+ft+2+7/3lYshiZuf1BACEbDGniS1Jxh1gSGXVWs27uW377W35clmXpQgRgqn3Zm77tong6/lCRCJUa13WGuBhbsPz0ojHaMXhz4KIgZzQzRGRj5eqdTVP9gJA2ztR4tQMEHtPImMI18vlcn3/AIDT6bRvNwBIXGHf70RUCgPA1jemQmXswH3vpSyXlxd32LYdEaWWPObv+w5Ata6vb5/++c9/Sjl9/eWvpVQzA2Zte7KtLqcLIu77liVsrdIaHkJOMYCWbOZ6a43qyd2PJx4R4KlDPObwVJuaGljKFrkrTIH/eQSGWTg8Ql6g0XS5xyHRdRyHY4AyA+yMBZ7/M+sTrwpEmEgSHNMUz6+5RClS38HgOIwBAAKZhKQgUWo5J+RslseJJCqJILTWZxKe+zzmQIgUAZgLUZYTQySklJKXxIl2M6fMKzPOZXTYVKA7QBA8FJQpF3ZEBAIR5wzrDGcE6ODmARRE4ZG1Y84NEIIHcebLGWNGtmSxuZMHRRRVQrTuGA5SuHczgxxnlzQkOtb0k5+cdzftDadNgwhMrAEmBvRcO43jjZMC8KSgn/2DPIcs9a5GiUBEroOnAmNAIoAtIlxRCNeF1dxNe99RiIJUjYgCA9MqCSlCw6mrAZCnUDbMsgI4a/48+DN1y45BBKmGuzWy2pwIWKLWghju/Bi1RORCLNi7Q8tHT2Z2b3dTLEstAWoYjkklL2XpvO8hmUS0bSOCt7e3j4/bjx8/1uX89evXfd9//PiRyhipIZNn0rZt5/MZEdM4/fv375mmZJaQKPX1+pFP5/X19b5dl7p8fNw/Pj5++eULAP7+++9JC+zdSinmPQLMhkKIWnO3CDmwm6QteQKA5Nn2QVQCiWkMlMF2Fswx85IMBZqTJjAVBonYIdCd6ZFCHYMnGaL3PZvgVpiKiLn2fQ/vEJQaOz+2P1w36x3Bu+5rrELYwGFYCGE2nghTi2tkkJn2PaVo2fHrYzuYpWwX08h44E+Tixhpnnrk8dmhhYMPPbH8zFRF2GH2z+d5Coz4RNWLQUwNxBApiEeExMkbRo+RCmu4d/fQWkVEPIB5ED1KKSzIjCxUJl8lWx+FC1MlEubeWqPhiZtKlJlv8XPi/qhDAIhoXdduI7WN2Qw5vie/ftyi/EA4h1gCLODoqqW6F0nEGLiftzc1eCNAiLkWBjS11jYAWJalFC6lhDvioMHkZEhGKJoWB3lW5vWkQKQ/odrH5f0pFsF8ZPEEjRwZed72bj6AJwcicrBDIOq/vhXO7spTdv74pc83apYWMVpDHjMTm42RZxEFCg9XUzNDA0SKEsIVYFAhEoZwhyRQHKkjkYiUcVIjR6QbbpgZQl0WcaQ0lZPBAZPdFVwlYmGqgHnoA8DVgwWriDDSnGwkopikMp/kyeNsoifD3Z83DgEAzdIozw5VZQgKBwALp3Aepd0seMBiVimImKT57G/DnGrwORaf6AbAcGI+ctRRUc/CgJ/sw0bCA24GESFSW9vMbLIBaYwupNE3MwOMDN4nJasUICKmMtdEIaIio76/3e+jLHbPxtD5fF7qycyWZaUiiRouadZIWS8CYQgSIYIFgEE4DJs0IwBw6FOZawB4MC4p8fn85JAq5AiACE7ZqfKZrSLwnEoNxMnw9/CwmLZtPFXhpl0frpf1sVt4TNkBWuoYptgzAFACQSSX82s2y0op+96v1ysAlLJczXNsd1mWQqy77m0rhWvhnEOttbrtTAQI/+3f/rUs6/l8mgGod93NybyDIWIknWE9Lef1tO/3iCCC9EIiSFdzHbUtQjgiwOxjpp4xmUUCkEOXChNwQq4Fkb2rOQSEmd33aG07X5Za1o94h4QWkJC4bbuFJ0c/AlDImyP45XLRbtu2WQAxb1u2FHlM7TjW9Yy9W3h2x8zs05dPl0+fCOV6vQPY8f2ZT/znf/5ngL29vW7b9scf/8zTfSxIojnnydllczVkiIgwmNXm0Wqc0w4JS8AcCZ25HwC6P1hSjmCWwcs8mJjNmJkPkbUInzzpnzSnjup84ishYw+P+nb8vhk6j2jCEB5P8gEAkTxUJpJCUgjQXXnIHSinyAZQAAIKQ4ig4ZgbyxoGkmiCwTM/AEiT58LsyZwRomSIZeJOU4dVPYH20eAaPRt4KIgBZJVHZoY5ooSPSTgEz4lBMJtsmcHGg8HzhZR69LDQmFIVZNDdyELCSdUNghTDsVuim1KIw2NPJTJm3Td3d8uEDSggPbD3PfhnEMvM3G2QoY+H5RhJzcPRgssUx/GApA5zaQawFKE1d0COsXuCGAUZHdwVHIRZhHYNdw2lHkMUiyjvHjhnMEEER0Y3MHeMGNxWZGA4WJXMvK7rehluBqbsFqlZYULoXWpApFDW4wDORFC4Olk3hS35M7rv/b5tQHg5B8kCJLf7BzJfTmciQqCX0/mf9ysREcG3b9++f3/f9/1+24+LyQFWdz9agrXW1lpOetxut8xRAOD79++992VZRIZE9y+//PL7H7/13vOk+PTpEwBs24ZI+94BQIhOS+3qIlxrzWr22C/ZJmVOrcMA4JxjyvYSAB8k4yNZmXoGOMGmJyrapEAAIBch5TnUitPP5BEQEg70Jeki2vsuhZC52+YOZvb17fPt+t5aKwSlFIIQgq03AI1xVCEgA6YSIgDggz08wQh3d/Vk2R6lBgARVEwQIkMNQmrsEKBZMvEA/JHhERE81Jlwxpn5qZ/GBmYGhpBWLtnwmwQieNyvSVg9uDSJpQkXIAjV7gDEJLnZRQKH6j+PDIN4DLoghqcWQkHkIOFgdEucPsJT7pCGKtpPTQY4hk2ZK6c4jM7VPgrFI/uZsWhKiGZkpkDHiKB0loKe1ktEUEGCIp4wa5rAvCCZ9dbUzESIuRRJRR5nTmC1D1BfxmWc10o0yGOq6q7umu/3yBFnAXYsg+N1LGD4+XWkmIKUbK4gRBx+Rnmz8AkbxqdiLCYI/XxDjogBD9Dd3H3wqVJ5bfYH4gFjITPT9EYAgLS5UK21GlMZ15ajik+vCMwjTA77Mx5gH2I2LpI5SQDAwoUwedGsQBD4cvalsoWrEclSVgP3ZmEGTJzTFxEAUIscHzlzvCMOHO2mxDJsutQPFw7r5h0ASGFvVGSR6Rl2PJ083HG4HOCRkdtjBLYQ0bIsl8vler2+v79XKcfvip9ej8rqeBAHAz6JoMNF8WlVRBgOs8jRbxT3TsQ5Leek4ZhCoePwniwl9/ShqKelZqfPnoRR13U9n/By1kzsBpKNjIg8VtUYKCPChNgRPWaQJUgyYrgHpvsXmJsjxvDbRnNFxJwoIyTMUhwAHDCQwh1xLOrRjUr9S4y0EkBMbRrwqaeBk6K0bdu+dxQ8vXxK7tQo35nMgxDLeoK+32439Xg7nb9+/QpAEdF2LsR8Kut6Fi4JltxuH6daegfOsX4OESiFAcysS8HzZan1NR2GSxUicB+uaa31fb9ngpWZbl1KKeVyOjPjx8dHa+3104kFOcABkALC3UG1WTIZIKGLLJEg3LuCmWm4mZtpli4YXoTC0QLd/MSFpYa7WXz//v759WVZTr3dttstIk6n0+3jylQyceveF+DL+RWIu7pH7F0vl0vm4iQFma/X6940N8Dl9cXMIOj3P74v6/m///f/wczaDRF776qNiO53rYKtNUC/nC/v7++HDnQpA1ZMACki0q1aqI7MxXHuVeDs/6LlEgIAwEidYiLy0MQFjqh0xDsAsPBhKJTzwQCAxdMBcLQsH5y5I0Acx+TY6nDkiGONpYMauEM4zRZ2pJ19OFqelxSAEBiBxEIo6YgH4A4eNKvTGIofIsTERDQlJga7Ll+QRO6RuANAE5FkmtZahXAGsshI7ckuDUnYLjE7whz1hFqy7peImLnt+Gg44zjO++mRdhhJUcsoNchdmRtlGmRTqoKZg8wt1ME0VMUBkBiR9a6IpgucTlwqebA3bbBHADpGyiZmpw6dBc38UPUCmsIaEd2NYKQgNFKVHBIajozMrAEUkWOfMT1oIDA1VB+nKA2tLsAQTCFcCvB0FBahiAJE4TlFwqYJ+CcpP/v4kvw2AwTPzJ6FGYBeLp+W2hExqaW8l9a22+1mXbQ55Jg5WoAu5oi4IpYSw8iXPBwtgtDrae3bXTUdVUm4lgJb68J7AQ7s3q8s9XJKa6RyWldGUtVtS64OrOsKJNY6AGSmvu/7uq5Jlvv69Wsp5cePH3lQ5ShOnmSllG3bai35g4elw5cvXwCg9/729pY3/8uXL/f7rfeOYxRh9HP2fa+VISjLp8PRbz4AJyqFOQY2EWa2rKOjNWkScaT+cyeOCjb/qrnfp8R4YvkGwfOYzmTlsGJl5t53Ijqd1jC8Xb+hNbWuGKWUri03YvryRjOhbN0CIiMKgo81B57NOhp9ztxrB0vHPE8edQBhKjJ5Pv6kRXsc7UQ0xnqOzA9+euU5eAS6WdtP4IBHcMAnPHXu5Ue6wMAAmAN5AcXdCQEl5f+ckB2Qn0yFZoMxrScIsi1GAgQMQ/oJiJbKAUbh5j0pFogY2dKa2dKBWQaRjhN5TOwQkbppM58sfBHhOgiurgcpBdyd6VDx8oiUzgkEnh8ciXmAqADCMvMQT+Zx/jqhzGKMprxjBOeDSNw0LyMh9uTJ8FRuOT7RT8fE8dTip+d2wEAxeiZHcIUqkqs32Yjz+7N8/em5Py+V5+f+p8f9lNmbu2O6ZQ+CS/qFTTm1J3YxzGEAsBYWao4eISZSCQUC1PQoFY6i5WA04SxZjz1L450dEYlBZv5dWZiDaVGK6OnlV9bLhVa5Xd9t3zQUh4Ug2LFaHoSZUSYlK+n5EeTqul6vGfw9hx7oCDKHO9Vj10QEMdCQlRveq8lVydMwhSYTCCai0+m0lJqPIFkDGWwjIqu745JGAjwklYmIxuTI9Hxwd6IlgLIPZmYAgUCp424x7I3Gvx2w//goMfC5sRCBmB9aTvkYhIQLl6VGhEg9PjMN93UON5x2D3NvBCIyIKA4DC4s4DR8hfRMNbOu1l2LSLFAs2CppVQPdIccHZuf/4hWdDqd8gZZIIBHUAxJ0GPQDUa/EMC6vr+/v56+CjHwOM45AJBJCpuqYq1Vt/37tx8AVNZlu96Ea0S0pikBkVlUFa7rWmqmKZ0ADKO3m3mrtf63//ZvRLTvfUhAzr1qZtu23W63OZPH5qrWSfFyuRBB77217Xq9LgXXUoMpwAYgAa69b+4IDEDJ1BAUM29Nb7sHeO71PoFAYBCpxFRwUVUNJ5Km25gXB1rXVduehPuxHlhyG2tzMwPiULvf7+t6yptvmZ4DXK/XHz8+zudzuhCLLRCUvKivX79KKdu+R2DgoDJIIWa6f1xfP11a3z4+fqjq+bzuO27bRiWnG6HEo50UEw36qWwd1KpnYAkIaaZjdiiKmhlS5OS76oDqNdzCe+8BVGs9aFp5Sib6DABpaZ674vifCGMgM3lMmXwWQZr6Tu4Py7ARNLPOpDH+gYGUiSMXAWJkAY+ATGjIQNUtAmzYIS0JOOdBMiGETF2S/PqY6BgxcULs06gZAAIiuiZTE5EJgo4RUgRCCgR3PEI/w6jhlWjo1477gzhmCpEynzXvEQFuh/xrDBJIXq1GBFKQETGnLI/2MCcHBDQm9CBT67qFwylW4mhqve+FJU8PcDNXMAdwYY4gm+OqPDwjxrKMCBqKsYDIFMnnHcwiR4JIh9Rc/QZBERxD+Wcce0NXONzDEpOfc23uHkCIhAQ8bjdCTlwldkWUvwtEUseNCR0wcztkLkQhZcmDrfe9tSaiiCd3aFjV9lDMkgCI1P16vyMJpckKChNIphxjeFc8J3YR19MLS7/t2753ZJW61iKn03I6rRjR2/57a7XWTy+v65oW3DkNCr99/JqIzMvLSyll3/fE2rOZlnc18QUzK6UIMZf68f7j4/1dRBDAVI05U/9Shkxk70ZEf/zxx5cvnzEhm4hwzPXcWnM/IzKRp/oqYmQNbJZUDRQRQvG0Y7OfQgERoQ/1tFzznpMhzJNLOWKFqjKVQRpOD29/lPTZG8x235ErIyIg7vsuiyDitm31ID3DyK2Jpvn8YK07AAM6okDkuZOLaHBawCOdceJgBLu7t85cfRyvz4n7c4pGRPP4AvdJ2QZIFxicABbM2cF84Zi0i+nwEXN3wySsU+Y9SMHI2ThjZsgZoZRoIybyADYNCIoYwsM+h3/cgeZcWcI9MQT7MIKZSwQlzDkuGXFwip6+EpMbDaP2GJdKwgS0rsWn2sTxWN2dh6ILjL8CJ6qaQuBEOSmeYycQYSziBug5kTCyOrOeLrbpJZQymu6WGtaIEyXhkTLRlNfjyaimJ3AdZt78/ASfE+ifnunESQEgJuEeJ0ArRDosscZPPJcEiKMxQvNxHE0emFXoLAl+uoCI42j0AyTOrktrelzPXHVMiCwAGG5jKh4ARCCmY9rxEI/X86+e5xFHRKnpsZPbVhPLTU02FlxYhBYozkHOTAsDi0hFU3S31oxJRNIhJ3/p/NRwbPz8+vFQcltlbpNff87UY3onPVbmvEvHNszqNAkyvT9o5ESUMPzpdBIqNIewR205rFvbc6aecu+JgIsI0ugp/ZzbeEDqtjg7hhMEiVsO9AghY7ipuxlP32CA8ab+1FsBAATM8sLMzufzXJ2MyNlyQkSE9I5Sd4eYDA0cjDztHuAy5CfwoGolyo7jZN73/f5x/Xa73Rg+17pYYO8mZV3XMyC31ricAECQZcw8ZF4SZj0HrSAomGgwDeKomZJxkRu1tY6gvXdZOGujG7WMGoRyOp3Svbmup6WuzVxVrSVn/VFEFinLsvT9drt9AMD5fC6SsvFk7p9e3u73+48/viHi9Xr98uXLgJqEAKP3drvf1HRZKxF1bed6ziX1ejmLiFlPfKu13UwRJdudSSbrfe8OTBDhbsYMwdi7XT/uN03WUwECVTUIBiag3nutqxRR9QgkhHQDKNPwOcHdUN5uNxFqTZnxftvvbf/y5cu29/f3d43ofRTljnC5XBDo4+NDRPZ9f3l5CYRv37797W9/29o+dHIwRKQ1TQa8CKn2fbcvnz/nvMTr66uZbdtt2zYPDcvlPqLAcxw8dlQOfwRl1EhBXTu+k5AwoOtwSnN3tYZzPtWte6C7G4SFt/y2xN/9nEqxwwcRxoD5kSUc4AEzuzrxoN+MOBuPTm4MFunTK3KEjpAYAm1cLD9HYQDIOWsfc1SkNPwXMB6N0UyFRx8NE0ZCJp6g2jAuSMRobuLB/p5FBQNYKtSlVfFBGxhZLjLyT/I4x58JcZDzASCQmM1Me3dXgoTYZm4xfBK6uwMm7QS9KZF0JfMClMPGSaWv4eruWzOiViqFY6b4EQGmHi3c0I0JDBxAzDUiAjxozO3FFASwxF0CEENS4lM42XiztzshqEhAjg7A0t0DvGuUwln7pQ11zF7N0CfEVLLN/IwZEnEcT/kIj0LgOE5lACAa3kDEC6IiJsrlCy6J3n18bL2rYC2liCxcKvKmdk9YGsck8XGHQwjXZalV+t4ikKQsS3QPdByz48xmtu23LFwTo1jXlY167zl8kOl1RGzb1rsOEWWzzGiPGdDW2v1+3/c9GzL3+/3l5SXxiPxza+3z58///Oc/e+85O3S9Xt39fr8z0/l8Xgr3tu/7fnkZEsuqie8w5lJGZk4HQDu4asdJjBBm9qyPdCQ6c3fHPLPmcOdkwlAOsCIworsLUkpn0HRFyc2+1AURzXzfdyFn5vP53HZqocPnQYB5FRHzPgnrZhYpeZOMaphn8J/ygLzMCPIwykYcP5By/C+vn38QiRBiCoTPGfF4MMUf+Rb8nCACQGvtp108b6DOSj7GiBpHZJM2ifLoBpFua87hBoCDWWEDSkw8i5Prg8llSqcwRMSY0k9mhjPbHg8L/g+5bC62UkrKFnXTXPHbviWwDXP8dBB3HyasuffHoIiZHsdHcohoaDUG0uh8HAcEwBMsGgAImZMhYq2rux7E5fmdWku14Vb5MPKbtdygqdBTeeM/j8weOUnMmeMjRDyfCBFBEI4wIMgYm+JPJ+OR8x1fxCfW+3ENz/c56x/w+FPibqY0qNXjTSZbVQAUwE09ohFx+m0fv+IYD6MnOPm4vFJKjvrkdAdy6vxqDlIDRNMehJAgI3ORxYOAWadMH3owkbAgD5LnsUFsmNgQUaorjns7ETeIiMri+MD+VBVT1+3BThlPbbTy0I93qFVUed5JOL4/ZXNSj4vKyCR9Ms/HwsaQcpgIjdPEXGtZiCieKGrHNbgHAAakrnQJRzeUhGey5soqJE0xU/+xtSilnE4nodXMwkPRxtCZW0q73+93FB7KiqpSKA2PssXGCBCqugOAUCFBwhQe6QDcXAnDwShLIuDkSqndzHsEts63W3l/5/NL9Vgi8N76/fv1fMJlWRAJe2NmY1An8cHDBoAULENMQsIYUdr3HcWDzEJfLl/3zfY91BCIo/d9e3+5VOzcDUsp2iNctn7PwGFmRRjCFyI3oyK99zBj5rfT5Xbb3NQ7W4/T6RLhYa6+h/V1Xc0odYgC7Hy+rKf68fFxWi+vr69bbz/er4hozRCwsJzPZ6AQQgy/nNYcvQWAuogUav3W+iLlnLMLANCaXm9tV2NSM1/Wl7ZvGxjX5db7feuI2LsRgVTZ990Z61pqlNv9fjq9LOulbbuGV6lEVIQi+lL45Xz+2N+dbsB214rWtXldl0+XT3/88YenmMDeWsjXv3wtZXF3U//24/18efv4+Mhje7vdPz4+/vrXv7amZTm9fP7igIBwb/cEX3sPU/23f/s34Ph4v6o7Uvz4/r21zd0JsWt2LXvQEriICGEgmGqrIoEkGaOsszBHFKi7fgyPG2cKRFKDocvprmkOata37baua2+pZxRA2LTfti2BllUKEdXqItT7njIIvXcEhzBCJAzCKDJkCrgeKTujh3fltMt2fUwezSF3BEjd7sRNI5DcPRAJCEfrBjAA3U3Np+cOpA6Pb00LowOKCDDUdWktleTyfxERGJ0xGxpspoieKXVmt3jQLgXB0cPAKDwQgxlwiE9BBAJD+nnS/Kmhk+OGI74AADBi3qJmOyJjaixAFGbCnFUyN/14/55wOACFI5FsqkUkiTShRiJFGMAD+1LRHdT2622vKrXWKnXvv4c7hoGq9R2hcxWA8FjHRBRwICSTEhGFEDFtIhAACMGIUEgQVD3TF+Ea7t1NpEJwVwVo/OQ6h4hh0byLZCLO7o4kqs4CZkogSashwOAakVK8jEGYYxIxZpVKqWZ9cJGIENgUaTACQdU1AGUBjet1S9fFZSm1LmZ3AK9VSlmpFyIPrN2g1orgTbdaFzNFx9a0lHK61Naa7UqEX98+GSAYLIgURM3IEASCCUv58vkv//zPX6NBV9ta6/sdzRNyhmxiqN2u17ouiHj7uBYRqSVvnZkxl5eXT926g5va9XZb1/Xl9TVlg4Hicrm8v79HoHU9r6df//6PZVk+v7798cfv6y+/7F2RqdSaTlLdgghSqYOYsjkjImZH7mIKgFASahhdWyAkQiLvKbXWWFK0W1E4DMwMxxE4cv3kdSFidrdbBBASYDfzbZMyJruSQSRFiOD9/btrvP+4v1xOVOL7j39GKIbdG7l3xBUdWzeAHCi3AGVaEEpyD3JFZf53AMkBAUDCp3BRb4RAAkSUUejIqzLPM/U4hIAdAiDm/FIueHdPsnspSyk5aJTM0gN25Qjom6GwPxyp8Eg6M0Nz9wjgYaI0xJ4iECixZzCL7qbh1iEPeQxkRo4cGgEHxWyM+RAmD0jGy+5BQiQU7pD+sTlYkwEto9Ns9saDcwju7kI8YdHk9EbClmbWtWVHEREGHw9MNYgqEUFhMwPs6R1DxFIWBN53BQAUZAD3lgU8kYDHUiVcAZGJJ2EdwDsjrrW4O5gDgGS3gAJGjE2ZdkIKwjE6DaOIGt04M02S2yMOT/LCQWFCxEQej/oKEdxNVYmGpIswH2XcQCSxIGV7syVh4CiEaLJB8iYfyC5AAUjHD5zKoTxySgjE7u4AlWlF4HCiJEThZ4/m7kjmDurEIHk0DDOTWbTkuFeERzgRJiXMPVXkA8lNA9SCEAJNcwqabKr0EDEIe9q2mK6wNHUipALdPaAtfGIUtdRmyvIycM5fZfO5VjHrESMVJoL1ks6vBgDn86rqqR/IYwDY3Y0wFRYMIM8QKHnjA4R4rUuCm4i41qVKAQ9XA08NuyTJHM7WnguAnK1bYpSElNIxwlKqENG2NXdnwCVnmJLzyTWCe+9IwcQaDcDlOMUJ6TilaNhDwFGgHMWZmUEqRsze4lh/AASOAaHZbzFPFofqwTdSVVUXiSLL5fx522558olQKroAgaqZNQOXJAm5Ml8+fb6cX74isKoRaDi5Q079i9Rs85m1xHSHbgbnagaY0Tl1Gzhoh25KTHv4GEhXVaY0mzxE+rL85YV827aM9SKi6r03d79cLrf3DypEKGYmQohlv28vL69EuG03tcYQLJyuCqfT4u5d3aynFJpwVdXf//M3EZH1ZORZiSZ+VMoy5U7R3QNMhC+Xc9sUwFVbkqtgNJ4k3PfeIIjY2m5ubQmCGMfSulYRadpvt5sztl74dCmlsjqEExcEBMgm0V4qMcHpdNJ7bXdD6AjojgDw8vLyn7//c9s2Fknz53/99/9eazWL3pSEX19f266fP3/OBta2bW9vb9/ff/z4uL2+fXr9/BZOt9tt3/fKEhG32+20rqWU+/3j+/fvv/322+XltN/vEfb6+mrayKN3UNX9vgmXy+VVSum9MwsSIw31c/CIcEZMSm7rd0jVy0Awtxz1HT3pwTyLiN47Eo/pBwTEcG1b21snXs9tZ/BIaVse6o4hy3KgO8f6P8ASM6MAH4DsUAd7irzjv8zcpkt8dgnCEfAB+VDg3HY/4WTHV7JxnH9DICZJGfKU/vrJXvGpUfunN0TMQda8XD5+BQQltzWeXjjhzPFW/kAg8q8TX5EBouDgvya4YH2/325ptFmWylyyr4FIqfa9rJciJ0fKqegkOVBgAPbe79tu3mutCAuAQ6ipqiqiCxgThycrf2gLjGHaeLjfEXIQeriZUgxubY5/kI7esTvMlh08IU85J4cBDuAUDqKpsHeMnAUhOEakanbgJEIBADBTtkeAwjFLSposCABPJdA+Mk51TZMKXJal1mrmOaEBwJlV5VWdz2eYehqRY+kQzJx+kPt+Jzqt63r8SPewZiwoLCSU3X8i+vLl8//3//3/2e531WZurTVCfn155dqJyFQ/Pj5ut1uR+vr6uiyLqzHzbbun8XtSRf/4459/+9u/0NSLdPdt2w4ABRHP5/P7+zu/vjDzwTxJDQcRIZLb7caCD+3UQEMwc86BbR5IGAD4qE5zoY7ux9yGU9R8msz78CPguWENfoa9n3elqiJxzgQfjXXbvZTCEubNnmx0VBXTAiinjmcrLDcBIhgAWDg6DoWZ0bUfzYThIIaH4MmgZ068LVfXKHEfo5YTanVAeXSEsrOdOdlxkXnbr/em1rNcH7eFCHiIF+XWJiqJOUeEzhAR4eEc6BEQliSTAGLKT/HgEqR1OXo4ADXQOpyAdHY/BlScuElCiZmNZoQZyavbnJHFiXK4zzmiAyuF2bh8Qnb/D3QUHJPKNjuK4xU5GOZjbcCcFHyKk4NZgE+v+bvGtc3PhWYPugXiAfEewlzxp/c5LgwApurBo73w/D04pqrg+Wefv+34yrHUnx7HYO/M53ioiP6Evh+LZ/46nW9YiB6kMsQgEibJeFhrHYeLI6GUEumHmi5mPE5KoElaAwCkYDk6xOMzJbUy68PcoRFh5uGDT58K6ABAlLwGzYyi9YaITEJkgCxj1uuYUPGJ0PmyLIdyy7GcfA4eHI/sSOUPpAYn1+54poiY/erjdSzOQszTL2WG9Ac74L+e4KNUTnaeP8Q56GlwFgGzpcPTg2U8I4u01BWpgx5k6oGj5h57aQyjIxMgOObcN4JHCjOkzjNAljVpnYYEENqbqqqmrZQLRIe5uEkICzpgwCovy6eXbb/u20fvW4CzoYc6hhG4Y3cEKst54YUBEOmEiGxOpZuzqkJOr2e7KobYPyImndEMiIbxKjMnIYS5uId2C7NWWvq5xOyS73vvXd0gAmMc4VikREQpw//sIHdeb9ekRmWhhkEicDqd9n1DjH3fXZuclnVdhzVARBHqzW4fbV3X0+kU4T++f0ih15dX5uJdgRGGawm+vr69vHxa1xXAzXuEI8V6qsKrSIK7uRKIaVlqmAsitua3692NqNR9a9u27fs984OXl5eIsG7bdXeEeOPLhcPVBM9rJZCwhujmrUoFpOV0svPL9Z1EzX1DfgGi1vrtej+dTmWpX7+eXj+/IZQIvN2ube/LaR06j0Flqdu2qZuqFsa6Lv/+P/47EL7/+LFtW+sN3BBxWevb2yfVrqofHx8AUFnWtzcieP/xo7WtLqfunu68pS6qymSFuJsxYfLkRu8TMTf87fbR27swEKb9JwQ6+MihAR7TWq21WteYcFR+j+4tCL2me/nOHStWpIJTXOXYzPgslYUIADw1EN09+dbwXwh/cwMD5oyluwNCECC7B6IRkk+q7nFU0dPwTcQAl2P0x+bGfuqM5wecJ9wA0Z+OEjoobcnGtTGWCjAEGMb5GGajZw7MKAAQAxV5poQazixfw8w6OohUZqREv9zfv3///v379X6Lt0+lFCrkiO5R69KbqSr1famnpXAQM3NSJ90DCc1931seLUUWYQDgEBcwiOYQHhiRSUmMaOA5Dhs+Sb3Mg1cQbhGB4IgjS0sPV8R0/nuQII9DOtyTx0+BChbAiIZUAgKpDgYuADKhu6YjABAR8LjDiMm+Uis5FEDhk6PtoWTZO/YI6701U3dwMxYpZYHZc4uIfdcJ+acsD7pbFqvDCmRe88SrRpHJAYoKQSJEQh4qWKRQF19W1h323b58/bKcTrqru+/7npKI+767u7ne73cR+fTp07dv32C6L6VYZGoYZ9ZYa621AoCq3u/3ABORt7c3Zrzdbsy8LMvnz5+/f/+eu74u9e3t9bfffp0bE8bIF4J5GICwqKdPJzg8T+YJItoDUKQjyWMuPj+7I+AclVbVnEIb5+kj4ZnsOxrSE0fiMiZ8QLV7RNS6VsGIuN83d1il0DzgEVHnqFhOS0SgWRA6IsehZ4qAhIPQh+DOARRDdCkGOw5DAAEAAElEQVRGx38k94mk9AFVHk358UsA51iwuw+5SRSzZHS4qnItyevo2sYHjNEny8/oc9Ist3LeRnwqGLKvG6HMQ9c0AtVj6nbTSAsCADKxgI4hB9gcMTQfMTJNh3G1eTmeKRMhODo+PYt52j6MqJ7jbcav5yTpyMAyDuGccMj3ISLmjJ+DTz8/uyW6jAA26vbBfT+e6QzaQ24rAUuilJWE6XLPAPhMxsjXkbcdb3Wsq/D/cwGZECH8l2rkSMQPLPn4cXxChY4XjfHFB2wEgOExKckjc53Z8wEDPWohd4dAXhiBDjgD0i7XQqQe/JnjoCFkkWk07jFlWAARAzECicTmtFh2RZBzGtU1XFVhTNvTkYgm4ytrJETcNwPwlCTKLZ/nREJ3+DSoCRilCiFn9yamUn5GdRu+LQ8O21ECHQ/9KKRxggI0KTePW+cPatNRJfJUiTnuzE+Phh+PFXEigpEkUmXAZHpnlVEqp546auIFHoFYSWgof//0C+YmyRUAB2MYxnc6uB+wR76E08QKVVtrzazHCAoPDpCpBzTAUir3hqfTUou3tnl2/dBV3aJbeHdHqmVZ6vKCQaqgHWqthYDI4lMlCECHpMTkzCUDIxGPmzs/kczSykbq48SyZJk4eoWMFATgqaUPQNkKz+N4b/e8G8m0MYvE6RPXb00JQ2Ti4mGFkZkKr73jshYR3redCSIMQEQk+4eqahb7fuci5j3NaF9eXoiACE6n07IstQpimGuEBxiAi4DQAoDhGc6Sb0Cn04v67u6AO4Qw87Z3BHt7+3Lf79vWt+1+Oq1SCyK2bUem+9akrBQKgKdYMDHWOYEBCCLr+fT2ev6C4UXg1uR8vpjZsiyn00VqKbJud61V9v327Y/vy2l1z6qDIyIJZF++fHm/XQHx9fXT51++btuWdXMppW87Iq7rCgDfv3//9de/H6scEb99+2PftpxsRsTK7O59b6UszAxApr1AQQB3I2IRLvnQPVq/936ftbuEH90eTSHz4xRP3Br5qKoDY+idl8I57vnYcOhIQQgjCoWrPsSeTnUhRBjTS5M/QxBTdPnY83mWcGIMmboBIiCYx2CVOJEcth04eYHPUdXcMsovSzm+iE8oSzzHX4DsRfvT5FBujQxoEZGk9sii/KEzaEdy83QAPDxNYpZAB9TRhlAarCLMJU333KHv+/1+dzUKEJFaVpISjg7MFNfr/X69MZdl/VwrAkNB1B5mQUwBBdIfxNU9tejXIhy2dL12b10DCYmlEqdykFkkRoKMAGhm2gfQmyicqRLKDLWQQ2wUkdaYHuqhmWMhQrgzUGJFORpgbqCGAepQShGpFj4EHN1FxCMQOZPDvFfPqvzzlibNMQfsHADM+77f761nIFqWxaznnKuqepjHJiLLIvftysxLPR2ZQXo291pfX1+JpJkaxPDTJOJAqqTd5vhQj6iItJ7rL3/72m7XuogQ6673+/36ft36bdWzm53q8uXTW1mXuizruqTW7bquCa4z875vp9MaYFJqXUS7b9tWyvBH/PU//05EEfbly5f//MevRJRQvYu4W2ttb/d1FfOOeMqnnOC0O3YNxCBBj4fog3sAOCED58lyJC6ZRnCemzYDkUGYxuPl8adjLv8/EZneO8tQR8l/NSJmUrMs8Moigt7bZl2zxkPELAZ8bMzjnTkCPRCJkPBQfkVEBJpj7YkQ0ejTAEHkD3AWgHOH5jUbIiDwMcIxswdIdUzzwVBH5O6Gwt5zqsQGyzbQUgWfZEKzfsB+iOhuIkFBiOBhquM4mOvZENnA0+cYkIkPOfSUx4rZ65sBBGCiAFm0RMTBwQjEdEpMX/rjn0ZUMbMIOLofR1o5npr/BGQeyVYQeMDB6zOzMAcOZCDEcICIITVtGpEG7BQRbuZPLkX40+uR/jxSPQpiCKDnqzq+9bHcfhrHHKk5Uc6x/9QFzcPXpnzh8euOf80PCk9zeviUrMdM5fMN56fgGd7nE/GhwUKUfdrsCMX5fH68LdCB+0RE0hCO/vBgH3B5PtGePuacDp+OhANOOrgrqYsKqQcQOUwc4OFHikxElA6PMFBnTOL47abhSAzgAQgJt+f9w2x5HQfctHeIhwjMA9g67jlNaZBUrlPVVL+dOM4jcR9eqfNFx6SvPvjrR+KeMRd+Vo4en05Gio8PISZ09zS8DDWQrLg8Z5yQSq0VMb2S0AwivHeVbWspRo74eEciShlnHNsxLQcREd1yrDkQU4Fx3IWUQ8m2e34AymcAuYUEmMDJA1KBUU4vt9vNfAcgKbXtqq69q4bte1fAuoqsa/dizt1TiJAxgKQsUBC09+bWmRZkBHAGDDBwI+Qpzzy9FSyYZKlrNoKXsooIBEQ4ISBxoHqOEjqykHAFIAA73MIyypRS1rW0vbfWllJ770LIp5OqliKVT5ncDyFSQQJIqpaIELm7SuG6lN77+8cPt0CEwmRdW2vMVKt4KAEthUtBAO+6mykL8uDEUspWW0peAHsAYSHC15flft9bA7MWFAiUusuvL2fzTgQs2PvuugsFExBRmBtZEPe+l0VEBKJjLKFGS0Uqp/PnL1/+zUJ7N6fSe3OPT58+OeB2b+/X+6dPn7f7+/v1w90/n07Msu97KWVZlk3NINbLGZj++fvv//71i/vgAOSAGpi/vr4i4u+///7x8ZFScffrNe/hvm2llMvlFIF7u6uqdC6nWljS3AuHZIGDOzKflqVWITjk/BwQMCjczYe31LFXh7ihD7y7MCelVWbTKnOOZVmY+QAbnvZw+kcMafzcL3d7yMfmd8PPAf2o1MfGBjQLHTxb9kjWBAc5IqXK4XHgIQ6WKs1xmbQLksHxRRw+iDg7yQGBCBygPx8kqRSJx6UBAADPn5o/PB3N8pYdH5ye6JgwgY3R3ZtcWxiYB1ogug8DX6TL66emtvcGxN0c1SoWEaFIKxO/22bWzTogcy72As7oDowkxL2bu5tvHgtS5VKpLqwLtN2sc5mnnQ56a05Xec/uh/beiUFKQcR8cAQ/5QGYHV56xN+xkACJgGBs6ggM8NDM7D0AMLWu5pQYoKs1RsEIsAEFC1KasbvtMzk4BEYjwGyMi5mH6r7d9uYOqgqIKVaZdSO4EwMRZJGQh18ORanqvjdEaq3n6V5KQSyITgSEwkzh4KFhOT/hwGRgmSeE6T/+8f/3FPW3TkSe/0W83+/r5Xxa19Z729vLy8v79WPf9wgvpZzP59774gWGHst9vzd3TxWa83mdnJ+UxRTz/v7x/dPlRVVPp5P5nsU8AKi2E0oAtm5mse87ClKplJ6jALPDDhbdHZgLL5jiLc8p16ELDPBAePOsVbeZXT19/wTsr9fruq6y1JggnJkhjukvESmCFKrIzExMzOjR3cM9zJIvNoQZIpdMcPixrZ7W29ySf8rSfM5ZJm2KeTIqxjfIoPXNHHGOOJM78KEjHlZUT6eTmmOSdlOgTXsEIjCRPqWVGA6BUx/Thw7d0V7OD85cmBkoU0CaQjI46aZBHCSEPAwX1Z2JBSnrXDMPcDC3lMHFQIrkCmR6wIx5BB85UMyeyNNfx20koqNN+qfkdeSRAGPGJSbnzcfcvw9aEY0YBpA6yG4IYFjkOX0cR8yM4vlLjt/7/CiPZON4sj5pe3+6ziP+w+TjPdMzjgwYcSCtM9Ieij0DIEdgQsnB2XjwYX5ST0JEAE4w6GnNDNuHOWaK7t5GfxgJEadk8FyfZpaSnUk3TZw798dw8h55I6NZ6sPG9BnwhCSQkAkhGGL0PTATtVJGvGV0dxJO3fcU8p7n5kjQ7/c7cwFAAGSmUoQAzS1Aj5se82jPCImD8/zoYOfCzoz3uL04weXn5Pv4QRh4wQMIOxIJ5DEZ//TU6EjcR5fpqawiHE8QEZhFRBK46bPGPi4mc3ckS6PeR/rh2JuN8fmcFU4K2vgwyTkDIMDxBxz8JEIHhlRxdjfwyK3A7kgyD/iSya4gdTcPJyMpAoHu2NqmZQsws5YzK0AMAebWGppK9+hmzVs9rUDRurVtd3dG+vLpbakV3LQDiyBpRAIyLiCAnnV/urSnh6Wh1VrXsm60WZRaR+0oQhEI6B4IBinHm4ArM7oHEQjKtm1/qrdKKSn0CznqixFq3XcRQbLwyM6Ku5unwZMVSQdGNuthWqWUU2GWbd+TVlSrEAM4rWt9eXk5LYKhumuACdUUe0YI5wXRIRypIAghALKlmgqyiPTeu7eXy+vnz58t/HK5fHx8AAWA97bVgmu9RAStyyJUGAgstENBLhgBYOyhkQNDXNeXz/X6o9l1XeXj4+PH9fr68klV7/eN64KIv/3+TwD413/91whMwmsAINFlrVdzN//1118/rteDQKZ9EKD31n78+CEiYf7Xv/513+/3+52Z972ZWeb0I000T3Pyl/OZhpJuIaIAQ2cqVJhLKUspmXMIEsrCHBQURGHdwxgpKVQ+IzgAEOBRkWaMWGp19yIiUktZaIiLISK6ASKa9rlB3Ltq7/mDMC29MIcPZtc+ZwyOLmq+m4hY2vckgBA+GQA50JXHScQkBgIeHlJT/4tGquFTagogu4UjoKYAIrhkAXAcez65Q+gOTjh18HAA8lOe73gRH+eQ/0Q59QxAGWtgjrU4ACIxE3NBhIBALkTx5S//XtZPe2/jgqWKlJxpRmBfV8IMQe4WpZDNfjRR5mHMrKrercEYvSfiWnlBOWl05sQ7u6d0P46+CmHA0co0CHbIw9vdYtxDSZ4ii7Dk/I4QB9IUyA8RSdEPZnaPcFPoAQjgBD1lfxwkl2VBcVdGIAgEDUVHNOawXHLZhPQ0r4hwhJTHzkBPObNk1lPaZTlVylMKal0gIJ3DOWw8o1ksYSlrrRGBrSkiihAi7Zt2yvmclG6gcAR+eM04BAkv59P1/SpEy+V8vd7LIr0PS+xNb9++/bhu969fv75++pQyu9frNfsMqiqFWPDl5Wymt9vWWkvlKJvu4pfLRUT+9//+36WUukjv44TT6SuZvYIxvkmIyKbWVPfuaLB0K4VToQuIw/N4Tr0ywFKPpTocBqYxk0/w+0nXyDLRecbeBhWN6TjaETEmy9bdj0mJbORmTcsCBDnUkMwHBCDiAglqDV1oAkCHiEi/vPyNyRlIIkrOgj+0LI60Lw1FVXVKnx3keJiZxGh644AGnZn7kKX3+77VZU1Ibwx6qru7qpsGAGXiwlPQMKkvqooUibxkr8hMW2tECqTMPBqeQ/yKgAAop/n8KCGS9c9cEMMRIGsacPQMvxBhSEYxAtbE/tGnRQZOold2UR4gd+adGUVnEvz81Nydi5DTkehndBoYYlLGwo7cHYEC3SxMMZyYCzqiDByQxkLA4/8y4TmCOQIAPLyrn19HsXHkykfWPg41OB7iI9HHqR44P9Tjhjx/WHcPzy7LT7+OiGDqez5WcjKa4Jk08YCcj9ub6PvTdfKROzILEZrZA711Zy4wGGiEGCkWyGlVkYeC++HDTcO7AAGHwCCmYrII5xQmYjpI5r7JqVwuuZchm0I0DBkCYFixMjP6ods22U0E7unmvkMarmEBgACPERbcXKPFAavzFBhMyt+R0D+/jq88P01mfpJDxGMzEhERH5san2o2fEgMZXauGZdM067Ajk2UxbOqu7tpggJjt/beZVlOqm0+acoOYe/dLRWjj8FoHNwYSBM7AnQIwjiqEDRz5kBKHkoAAAaoGUua4oZ1JWICZJbr7Rugw4hOGRRqVOr7Ft7bpvd+x3ucPxGVde/NOlBA4doNxcnN1ICJc3bGwpPvQAThqtrLuH0UKY0RA6pkqphwF0V68iFiKUzk6aSFOBQpANOs4XHrW2uqrn3wZIho33eh7Gjb9fpBRMnsSwIxoHs3ggCPiQa2HHVd1xURe29qfaiGRGjrpfD5fF6WihRqLX1t3SmnnhARWQihCBAKTFl+CMxhvlLK58+fb3trfd/afjqdtNOyLFu7b9stQF8uK2OAR7kspdRkVlYhgkB3InAAKYTk6p2iIEs9vdh9D+uXl9PW27bfPcggGOA//uM/AnhZFpH67ds3Inp5fc2j/fZx3e73re2//fbbsq5EdD6fNVxvjZkTmE9Z6O9/fPv4+HDXl/M5G4WMlLfojz/+Weua6gq3221Z1teyAuY5Gtp6OmxnxcvMLGiaauUnRpwzgam2NjmLkxVDRIiMEYRCTgBQZDmfHgILzIzAAZbYRqDFZJwcATRzjlnsceY6MRuIIpLcpzmd9RhGQYTkcB2QOE4mJc6xrRGyh3pgzBM6IMvpJ9SHprT8c5Q/DpgYKMPBivbUhSDyAyrwh3EGQDbSICf/Bv1OFTIfynBxRLE8acDH50igt0gdtyIsrT3CYTlJPVnvuwwCB+d9S3kZplzPw6KVgtLbEYKQMC13iMd2TmO2iCCRZWFxSTVs1INFNnAp6wqATFQStci7OsQEOS+iEBcpIoKBCECYupgewamKTUhpyEgEkBPPEB49Yw1TRVq1671dUcq61iXtLPKkj4D0bQaAdDpIkgzFlNsGAHDouVyXtV7sEo7N/Hx+cejCS5JdlhURPU+X4ZoV0HsHIFU9rUsta5onDDSIHmm9dkAfBh2z5AMKAiJzQMTz5fTy6fX9fouwT59eIhA8dG+tFBHp23673X75y1+qrL/++ncienm5AMDe7q21t7e37GKZ9dzdP378yINQigDA9Xo1s/W85vK4XC7eNXN3KZm2ZpY08uNwKiAq3q2pOjKpjrYnIUe24md3m5mn9SkSCqLOMVAkIgaEwYtzM5Na6GjuP2Y5QGNMg+XWTul69FQLEGx3RGQmjMiWYOEsPNIilYOYsArDaOQNrZvx9LMB93zw58vM5mn+k3KzmaWujqqXwhCDQeFT2y6z9qQlPGqw8QIq0pv++PHj9fPbIwlQN7O2WzIfJpe6JB0RBilCs87HydOFIDdw86DMuRuSICoiJT4BIYjBzEiBD9llg3RY1IwMhtNGXrUHGJohDvl0IgEBCEyT46e09c95Uj7TZAlm4vGc0z+SJyYCAnMz671nUcIilcuRjGbBkPCeK7jTYZ1MAUgImMvjOWMbKq75vxFjqbi7W47S/ASuH9j58UHgidGQ1ET8GaGPyRGadyCOjPz4cTNzA6JxAKV9qj0m6Qea/pwsZpLpM0QfBYA9zTFnT2z2WI7O7fEIHBFZICK5N0kAo0Cw0HnuBHgkPu9pi/LUKkkJ/BheirluQYRYaFSkhG6QPfBD3gAx3KD3nmntAYE/sCogGkoGOOuB0UZQ1YkIPFbUzKpJ+6OXRRnWEZ8PzT/l7vOE/enGIg7g7/krs7Wexe0oDx44/bypNGUox9mcNMunJ5IfBADC0Z8XCXhEJC6VT4H6sHdJbws7Vkw88YEcO3gkEyQHYvJfmykYobMIV16HbyWA2CGJr0w8pqla5yLX67u7S+G8iefzC5Gc1k/b/qP3DsBucL/tWDwQescqJRC2tmtrYWp9J4JSiYiFhSCCxprAo671wZHIvZpL0swAHNCJcvYImRGQhCW1hJ7Da94EkVHER3jy0UuVvbUwd4BMQ19eXhAx7Kj8wtUMIeWoum4fHx8RVhdZ1pWpxNDHBRYi5CzRRGRdKkS0dksevEzOUypzhWuRhYlgENEGrZCIlmW53+/1tH79619uty0TsLeX13Wtv3/7I6DXelqqhPZaGGhZllPybgsThnk0BGQEqSVIAcwNCaGcV/5R93b78eNeSt22tixl75af+tPb19whIvL5yxdE3LbtH//4Bwa11n777be11JfX1/N6SrPYo1MhIvu+3263JMv+7W9/XUpprX379jszny8XVS0sM5sMmHPfnnOHAx+SEYVsREnOEW+qDJiF6OJFo1sbG5hQghARzbLlmhMRSEQnLossQxSVWCCFC12QChUw8OH2NzbhEelo2sLF9Dc/QnCtE4F44juaWSCwELm4uZnlRFiMubN40D2nb1Ty1mh2RXliUcehe2Tw+YuE5Qgoz+owMBpl+coQ80B9MqYAwOT7PPqD87QbuigH+3ZEk3laiNRUdUqhCQcgytXKzIUQArkwAoBpmHu9VAhihkAyS1djMQueMrUZxCaVOT0uCYIAqZuVgoQIaPkm+ZE1PZcSgwEEgEoyOx6azIXWWvJMMV1mmTGPVT4iXlCykwGOhhsRoR80Ig0wwrrt177ftUeAnE4XFTLvlUmJMCYF1ofo0KygvC6yLMKSY70GTAGeFnunE4XjEvDy8qnbrZQTApvvLA4YLGgeBBIB7l7rSkT71mm80lZMc9qEqeT4cjjm3AkOo3TovQcKFklW2PZx3fc9SWv3+x2c//jjj+16a61F2JcvXz//8pVnpz5xh9vt5qEpt5VnrbunJdN2vyVVr1Tsvf/666+fPn2qhb9//55Yb8om7PseQO413yTTKeESGKDRbbHwhCQ0XJLKRBQzSf05ZTmYxAyQmzQHFKZQfwpvz9MhnopwAAAEMzvGatd1zZ+iA6oHKKUQEFiufzRDmJkTBPk8JP3g4SCj68i/JsXiOFXH+8+0+6ipxjYMDA9zL4Kp+TgR98co4SzABik0v2gAp2XZ9vZxv71+foNRs1b1cO2WvQHk7CcQEUC6M1IWez16d7N9e0jxECJixpMIdDMABPL0ATBtNFQyiLNrAZYxLcLCnHK2HSGhAbUWYRCKlExUSis3pppB+DlPPWLscZdy45lZsszmo/yJuEJEEZQGDarqdvBdD9pJEhLGj5t5QKVjYgFGiny8Pz4phBwp7wE9RDR3z6n854eIP6fvR+6Yj4l/Hlg8wuzzV47f+3ygqGoyweLJKzP/9YjJ+DS9evzqHLuCp+r0eQXiHAlwB0SfaTHUWltrvVtamiQQkKDM/L2GlBEyBvHqaSTyOCJwDBTZzx9xXAwiG8xBiHGOTNEFSChtiJi5GyKVUjhBHPREKADYzEyHvv4hpXrcn+N64CdcnGbBPBaeTc11/Pk1u0P4/FAwAaWnyeP8A0+GbQrsHE8QEXmWZMcjSEwhByzzIeLzbEB2yOctHW8iKCk8aR77fcuAhQx9166diCI0F4O7Z2AtrMxMwhGkbkAMlJNAFCm1RuhPM8vCh0xSTooYIrKApW5oxL6puhHKfWtUainw8rZGpfve1AJVySEcenqo2tKxOoRpb/3KAicoSOHMS5Uy1AGZSMCbaWSHKJdsfmaCXZizbZ63yR0gpGDthLpw7VZAAsmJMIIZa13e399Vfd87ImL45XLpXdeydOh5ZxhxKcXdr7cPIiqlMCBLqFnb7qWUvu/e9XReYJie91rrtu3atuV0OZ3W9+sHC3z6/C91WQDRDe5tR0TtahCn02VUvtZhoeQYELIw73sHEABiFqZ4WREUXtaLu5urQZyX8/lvq3lPxBQwVHUtJwBANEakwasuZkYnYGChNcI1NoMQkU9vL7/H/z5z2W6wLK9A5euXVwBott1uH6+vb6WUl9c3RLxer//zf/5PIgAmIvn89Zcft/v50xcD1Nt9+/2PCPaumf0AQHJzf/nll8tp/f79+49v33755RfTtu87I7TWkGBZFnNPoFrD3Ru5E3CtSws163UhKs5FIYxiFw5mXqR4qLsR0IKrgua0vmloeK2ViFQ1oHY3CFhLjbD1tK4A1/sHszhCazsAnE8vXNnRQ4OCjhZ/RJRSikgppVtDmHY/x5R9ltShxIgoKaZgob3fBSsUASBAYyaHFDzmRIoPUmxYYI77uKYCdEZYJiZiBASinG1NnDgAkDjc7RGyLYCRiRzVFDmSIZ1d9wBIDkqkaO1g5kP4kHslCndlzvEVU00QF3rf06lm5BBSR9pCwUVIOAgj0FR7VyJiCBYKRJHah4QwA+K2RykUkMO76O5935ZlAWakcA2iMIju5giOoLbnKDlgJZTejFSY6+DPInEp8EAfndjNbO8bUSylljqUoNZ68umEIkWQRVW5MmryKS3TEQJED4hQSgWMIczb+gbYiEJ72zfbN+/GTBXBPQozO5+LOJKDt7zV7mQaam3fd0IhPCOCOEkhZu69I7KGOiAzXz69WoC7nU6vRATgEguCq+J+MyLJtA3AAVmkMp9T6Lcs7gZSHjzXACBCtDCkzMYCWNWJQFAXON3FXl5efnz7DVqrDP/4xz9e3j7f942ET6dTUpRzTtrca4lf/vI1MfWX11civl6vex+0DabFDbRn3wZVrZ4uC1bm0ns/rfXTp0/fv3/7+P69maFQZnXmnSiQwsxqCWYjFoXoQgGVsZhCWUQjPKgKI0foDq2nMEVrKhzEQggRLdCBAqMQUe/btndmFilJWnNCZO7bBkjgHhGnU71tdwgqw3jBE8MCwN5VUpAuOlOirVAKs7h392g0Od8MHO4sAFECrashBjMw10EzSJsGCCJEYg8zB0BmWca+y9ZvRe17BAQIkPXesauIeHDrwcxuipheoRqRvV9UdfceActy4nBAApZVFg9mICaspWhnBGBuCNFaW7gWLoUrM6KUHNdEAHRurTkAVyKqzLyukqEylUbVDLIGHhfhFGlQisCkYL13s46Whj7IgIQx0AO3vn1knDC/q19ZvJa1q4D8hUAsaBCTgjxSBptHt8EdIO1LS+avPHwxEfFJ0IOEIDygaWv3m24boAeF2t0sXRpra+reEQ0RAwoyMQFTAHbigoimgDQQfUSEOfnNzOGjkJi1xMwCiwCJekCQ5VBvfs5Moz0sp6JjiNfYhCSSrWRmAJR8P+aSS8Xds7519/PRjmZurQVYKtmopjInQ1DbDdAAHGaLkCZ7MzPyCGQuZk4EPJCdIdWv6V6HgOnjkRJDgoFkAUBIgoHOhXLaIawBMqNYhDY1MyKQ4JD8OGpm2bmcCbEmTTzb6bN4GJijhrtBRGiaoGHFCUKp9WywZ6WASMtSmcisUziOO8YJdZGMHySiLMLBBkLfexccYqYRwwWP5nAqMzCnOpAnYxwApLKZjePYH5TavGMAEIGESPCQkUk2HWMYNGZOcUIiSlWcgECXWpcAS1Vxd89RIibX6ADorojV3YGFkKyNA/QoOPMlB1bf2gYA+Qk/Pj7u2zWZDIcWZmIb5bK6ow+7SfDoYx7CIjwCKT0uc5YiInSmGlnQu6c6nNPkFbgD6GC5JRYlS3lbyqmve3OzsG5msTgCKJmjAzIT9rDW1XTf6iK4LEXAEMEhdercLEInRyoBAASAYaFCgRGAFEERkN/JLIWG9UByFhHivm0icjpdWmtJvO7b3lpLm72IVJpjN79er6paJKtwu91akhyYSET2dl9P9dBNG2U3c8JS27ZFxLqczufL6fSy7/uupgq9bwBwOhGT8hynMAtENQsITe0CZm5dEQMwSqmjGgZfqKo2ZiYCwNnThDBLVx+A7AqOERxIWtUstgGBAZ1QlmV5+/TX23XvXa/vvakyx/lyOq0v99vvqvry8lJr/fvf//73v/+diL5+/ewI79/eWdjd39/f27YLYynFnG63W1Y7qVKfequIQy0u9/lpWa/XdxHp2vZ9X9b1dDrh6B/R9XotciZWpBxV/Qm0GPkq/ORjlyswIgK9BE62BnpILpJSivvgSi3LKcynhChnyCOSZKQdqAYmQCoiImrDNNGP8e68JEzeegAYIpuFWbCUlGSFCEuqM0ZyQv4rx+5AC44/u+f8MwIAleR1PWtljNTzuCF5zQ6BiDaH9929N51aFo8O7zMskUsiP+L8+lH3U4aO43gzCzMjyTAaZv5M2jObmIHb8+tyfjlgjGNTxGzjjo/wEOGd3WQwRAOGMDILVSU5hKSGHlkKJg48EiWJcEmsKqXkgf/scZMYjEZnYmAEMkQCisDwrmbg7jKUwpmwBESeUAilFOAiTHUUh64YNyLBMPBODBHghubWez4LVVUSlFIi0MxVHcAdyGFIdeYhTSjJq8YIGJainiHXsvVNkK3zUmoemdkHnSff6BPmdOdcJDORCqPhYggiguuqHhoD3SylROD14yPDwv1+f/v8mRB77733TIJy6nff95fzp+3+YOmk/3HKG+/tmm+Y8zbbthXi88tl2zZXPZ9f015+Yk5qlpxpygNiWPYGIfrIkhncC7ATUTefuBIeacqBTsEEs+NBq/B0zcsRggQRMSC7x5PSPHkIACTibrUOH19hcgdmjjbm9jKfAyaP8HBCHtLmE7Mj4twsOIXanl/uQPTTV4lkwPbJoZrG9dlNr1XMLHHrUkrhisiue0YnESFAlppi6gB023YiQsJS11JVzQOsrst5WUSkFJ5DbpTCkff7jgOv5exeZhpwxD1ATOI+AqhqThYhYrh7b+6uutsx+Q3JdsPUOdW+Q1iEmpn5PbBVYCjAPDo2gJzcevjZPvYI4ABg4ZFCN+55jsDBZU+ZPwT3MffpCNkz0Y6mIFxoyINi+kwkT4wHWRmPwyKlDHFo38ABTh/ceprTPsnSHC5+sxV5xNIpG/DTkPERZg888fjKU3YIRxA+lnQu5vzIg5IBKR7iHuZhCCliNNsv9kBq8zVD6E/gMU5TheOWHk2DIz4cX8nf220omj6fMl2EDQEnBcjRTWN0A47J3TF2kg90fFrzpNBPC5GEnuC/3o1s5+JAu4mQgIZsGhGFPcubPiRl8vKO+3l8NH6SgPzTORvx02Y9eimpQH2c8uYAD8mrsXwGpzbi6JzPcBQB1nV3dzMFSLXAIR6/rqtPD+zjko6U/cDm860kdXY8R67M/vjjj3GPgAmFqeTkMoSFR1Z1QQhgkAcDAiIUYtX+p3WZd6TMRXAsGiBkYI+HjBpruLsGmGpTOxVeT5cVoHftzbSZd7Vh7m3rakShGgBoygm7KKsZVimcVu022QHwHC5zWGnwAHKAyAZlH/tusmYMyp9FNwgLREx/rAHQqh2erL23pIhUKcGjfTakI8zTIxfM9n037wBQa42I9I06spBcvr33y+Xl5eUz0ylc3BRBCMu+3dydSUs1loWIbZhWsAhoH0J+MCuu3jvTaDqn/UQuYKLkVgROUXCcMrspkeUxOcoR2YlOG3cICMKlnrS/7sWI9H5rTUlqX1ZxOyNiutX+8ccf//Eff9+22//1f/1fpRSDYL4tyxIRX758qbVu9ysC3z6urlZKyesTkcKy37fbR2dEw7i+f3x6ezmd6o8f35iZZbUpbavaa62Q+s1mZHbwOggjZ8UQ4+hPxbDpfmw8f+h5jZjlIemYwzxYs5kwmT+i3hRZ+2nM6Dm7TQghdxfMM2b8Ikck9NCAcKBdTbvVWh3dOQAsW4QBcBDcjzePCJxOaPGkq+DueIjkTH8TtmyeBlGukHmdHqmgFxFZRSCKCCbNB6A/FwmPnfv0tQfZLt9i0mF9dp/dfZIXATwN/3r3xN4Ga3kRPuqZAESgNHvZWg+kZVmQydOBI6CpCQzBU42Unxv5fh7YZgbQIkpypSLCWhKfHDFEHkN+iJRtVh6ZMEcEsx4HMGaPFQxTMzQyOAaEA/NCxUEdPQJMw0JLKcz1tL6qbe72+uXUmu6bdfPEz3iaCLEYZH8NgzKZQzjxMpbfXIrT8gIg3TWQc3iUJzkhguatT22pkRKl5Q0EmXkEJM+bWQAC8SFy7K7uNj2MApIgEoiIqr3UQRgVEdcxg9Ga9d77vv/l7Yv2fr1eY0aYdVlymSbVzczXy3ldVwg6UpnT6SRS/v73v/+v//W//v1//Lcq8vnz5/f379u25Ra+vJyEZXPtfWf+3LY7EYS5dcVwAA/wAC7EABxZsQBAEDgGBaIwO1iJiG6DvM5DcbUQzZr8SUT5kYgzubsQ7d7zapM0UgTNLAXUx5E5S7tt2zMBNzONAPdlWSD63tR82B7lr6AkaSRZJhCCMJUI88mNkyUXHhMJkVumHAFJI46DtzobxQn0lFLce8rqT5mOyFSKkIVrGCAEs+RfmSKIH5qJQSK4rqf0+WJmroWFuJRUhwEipAJuc49g/tLU12Lmbdt8atg9UkGzEIEp1RoRWYNFRCSoBONegJtq2/e7+c0dVFtAr0sASSAFkGPHwW1iRAoMd4Gn2T46RvyTPD2leJ/L/pn0pLaemUMpVYQXKbK8AhZzCiDiBUw9AiKIylN2mBwGgulApJO3c5wFjlmTARFKCgYjoisczPKnYyJxdJhYLDMdGfxz1H0Exqcz5YhgczEHIjFDAqkAQCg5ggVBAMGDuBHZvPXgkQFbptEYQB5uaWaC7hDMDAEYzszpzoOTWk2TgoUT3Tiy1XyNC8Z0PnjQL3NlZk5iU2jpKRQP5y6awMQYAR53ePSQU/zquTo69nJifDFYr6l/mPctlwFMUHLuJjhIzg9qWSb9z+facdt/uvnzAUWEYyCiA2JOLCXWBQGA4RhEOWSV12mWehJ/1uuM8MDw3sE82druHjhmjTPJTD3ZCIys2PVxA2MWb5SWdRMVgyQrE9G6rq0lwVqTVHCAYU0HKQoIELP+zkQwBaodcUB98453ZqbJIsisoSxl27bU/eFAzz6YdnfvGosBAIgUIVmKx2Ku1u8tZ+i5ursiwCpoLKUwgPND6j8IwtA58ecICKD0g5/0xpSxIgaiQANDB6QGnh4oufwIkAEdqJZl2+8pdtnuW5qS1Fqv11uma0Lce1drY90DtdZa34ioMmsEUizL4q7MuO/6fJzksXG9Xrdt//rLvyz1hCBuJHyWMKhVuAF7Xc7CK5EQFYMtE0ThMmvgHFlI1MHMVZCTyxcBpZSDOgY+GBBHVpcxDvCRgSW6AEEIAUDZZ0HEdf2q3m+1N3OAtArDMIjw9PD6+9//fr1eP3/+/OXLl+v12lvLkHe/flxeTgHW7pu3/vHxkQtsprm+rksevafTsm1h2rK8UdW+bxq+LAsTIOKyLETUrTMzaLgpccXn2W0fC9LDEqfND0lEwAQZacZGJUREJvJMjcfeTia3muITkOBzBg4AzDLjGgFFRNKFu1s7HusR+3K5ufd0/XGD3qA30G5lMTIfkAlkpZ2U5YfZG6Qd4XxOR04fETaR71pGImuIYKCqRxh9LmDgCd0ZnN7xxKE1JSKknxoXM70YimAH3JK2vkccmYFpnG2Q6l+JvrgdARER780ZHsxCIJRSc7Y8U5Mj+zk2CALPlPVgBEJSGw+X2bxtANRaPiAPcNXse+YcbR5gGZQPfIUJMBC1+zHGmuFSvSMyiwAwRApBItBQOHMLImGmWk6pUKEdCJfLhYQrCiOGR3d3AmdGd1NDxMAYtSIEI7LaoQIBWfMQVk2hNEBETJJOrtg5b0BDPS+lDxkjdLD/gCLQNMxMCiEwIkCQW2pZChFB6J8OAEdQQwDI/ExE7pZnAYrItm0paXwMpeTuaETZGXt5eTGzH9drQc7HXdbl3nbmwkzmzlUi4vfff/v3f/3Xt7e39/fv1+v1fr+NciLmyISlFSKWUogowniY+QVQcFYJxDkamKd74l4GatMH0cySu50LqZSl92O+DWPWmUdC7+48e1Yw2WK991IKc8GAGCztwNOptQZop7V61/v9JmQiXNZ1bx/unhMC7h4QTDk7fiRhpAGUszSEERSIaWeCBMCEMBo+BsFDoHDEgcdOH9FeMiHsXSOcGSXhZw0qkUADESNw6uSOERF3QnFz1T1zsnVd87a7a8QjZz1aJaHXsSCJIqLtPeGh/CuTMKFP20/V3ratlBIwgnmE4QSueUAOAYPddzCzvfcuBdb1fD6dmEsqpCAFYo6igwUxBkwvZBgA84N/fKTs89x/gsCzpTytM5ZaRX7mDaMjIlKIUE6LR0SgjZ2FAKmbMYu3I1oiU+Xq7qmblDftqLpHRHqayByo/8x3eVCfHxKBx846zqkkK+Ik3/uUtThW76ixx2z6DIAJog76o7q7+uNXyDQkfuwCeo7eeT8RkZgLACA+hjWPcHH89zhH8s80udDZ5UAkjIc2AAxxMDSzxFPy1yWMMt4k7AGHx3gif3qy9DQb6u6RPq8jMo5y6Mhr3d0t0ufI9CFjf/yXiAZteD61efTB8xcfhNXBb4Js+j3OC8ckaLh7BKQ00wRkgTCetaQjIo/zLHF5CrnlMyUoiAhIzJBMsLG88VERjVvHxMySB3MK/OUnNLMfP36MY+ZpaoGIkttQSkWMtCtHCI/IdOFIffCh2jE2mEMq4o9ZE1VdlhMiBgJoEImGS4BznMoisoQTBIlwIQaPUOt8QwwgQ8atd1ZkqhCyGzICcQh5PnMkZC7w3F9/0vZHGmIaU8Mockr38nJeTgsAqLbUzeDhvhPn00VEwO2mCgD3+/16vRKRqlYpRLS3u5nVKstS3XpdpNRLduPMuwiVwsy1957p+xFxMhn9uN1yzbgHIrul1FRlovPpVQq/fHod3SuHWtfR0pokrXw6XTsz1XphZpFi1gEEceToAYbwWPo45RTcNXuUoys9d0KWgIThgGpBAIInkuV0uby8RNsxYv/4+CCMzLcSW/3y5cvr66uqI+K+9WU5paOBde29X6/3dr1nS661nHAwS1U7MG3bj2+3ZSnrsuz3W0RI1vIBsxLtqRBiGkTcvaPBkgEg/a3QAdxcez4+GB1OGHC7wEgHyd0DAbPzMzChUX+qpmnlyOsBcjcmijzgkwP7yRhKgKrqUJgflf0cDQ31ME+6MvQW5mIe275XSwIi8pDAGy/V2cubtWgGAp+VQ0YuiIeOxEyayd2tDwS9mYpIGeorjwH/mNMtPMcxLRwA6Wew5/gzP1lDZ/DJf832kQ91yxJz8pJJwtENxiJFREQ3yI+ZzouYqgSEIoTAvffeDIHdwA2YCYEtMOcTYpq5eKBHeN9zNJenuK+758yTjYmxIQ9NPPbUvIf5QSQiiMx6Y+ZsNiKy6hg/3Tfr1oqcRMQEw4MJeEpDRqA79G4RBMFMnM7K+dApxStBgs0tx8+IA3D6gwCCw8gLBnwYaGGBHISh4R6AyBmsEmXObx8iEvn4CIjAfFYjiJiWDp7p+3iGswjIYz17bTiONx/HiGa646UUd1BVN+hqXKSUAu6H8Tji8PqgIv/63/49d8q+76WVbGIc7XUiWpbldrsdJ66qitC6rutar9ePqcar7loKt9aqSGtbKazactkThKMRIcrgDlnGc7NQIxogt7szl/xy3odjY+aV5zUc+Qpzug0OWx9kjohElLu69o4Abt3gkQVmFzs9a4DIzJgsAmA4cY7sMCIg24Aoc++gQaCTw9AJyeYPAEc4OCIQU2YhkebkDDhn+EZsF65jGl5cRE4nQKR937JCe37Nwh67qngEmWuKbTzQUGYmwjLIdQOffk5/AeB8Pieme3SO5hbziURAhgV3d7VwZRq5SLYUksg9XDUDAkESVGEUodxnOQ3OXBALhEQwUiRlMSKCRosFMSnifyYzHAXY8fUEXLLVHETMnMu1CKXBZ/depaKgW3TvzffCzLWA8nMC7a6II3nN10gbmGCg5iPsPMdJZjaDwe6AHCAeV+oWainPKj/nvvhTCjiTTngSYj+e2vFt41bA1MNxl0IRqUqaE0oeETbrveP5HqFyrPwZsnACds/Y83FM4JM17/HobcwKD+40R/L8Zx6fLVAfx8HBAjvS/ZG0jHAB4KGuqp1CgtDdMBsIT9dDw9nAIb89PMZ40jEBDIBo5jBdGvKSmTnmJj1ScRyKSUj/hfgQESKDqJkn4/PWiOdSJwkgCW46HJVDBGa2QITw5GOVb5jegJ5QOiPOkWIAJxpSyD68fiOP746PUzsvMhehJKCSdxmfXqrHAEE8c1VL4VqFhB95QN4kOaaSfypljgib+zGBjYj4+rUSkacmLlOlUqSu69p6CoMSBjEVJkYCQOdh7NgRsUTOgLMbLidBDEYndoKMFylROWTU8+J9cJLGTkdyZiQCM2cKD1hqKRU9mlrLbw4P9DCACDsty9Y7AHz//r21hhjgRVsHj1IZh2oyat8HJaP3j/s9wBL1bK2tS2n73boSYrb58qrOL5da19NJ8vzAoXWIwrUZ1LrWtRSpA8EVjGTuWmQ/PZ+mz9FhYYJhjZGCtQf1OdJsDB909kwQyQBMAyGYCXJiEHCWbVkKkYOrRymnL19K2Mv3P9q2/+i6vX16uW23bbu74+l0+stf/mVd1xTD+fHjx7/97W/v379dXk6n0/L6+vof/7//baoxu12q2tpWawX03rv1btaZltY2DAjw+/3u7q7aeLtcTrWM0kKENSDMIxriOafPwQNMYcSLDgBZ6OfaIwYfR3sBdHWDJ1J4TPwAJvwJs7l5RLejVXrEkQM8zopUljrTEUd8GKS5Ji0ezFxt6BP3vqsPbZY0DWDmnKNXhcz78/qPyHJsKxgtkbG/kmiexZK7t95ypzuCJ0MCjxIgIoaOIvOQ0yKaIkvzO47TCH6mGI60/UnEZrYaaT4XyRTn6DYcb0KpvIlEJIjhgBBQkJkGAy2L+Xh+PZS2MSIcYj6mB7r2dM3hCK03IqllRcRuSoBEhSe+RUQJ50yKzn46nSygqwFYarCIiDt+//2j6/V0ury9vZbX6qAI4eC999FXA2Yh1XCPrLPyLuNkw6YmICBjEGN9xrcIIRyJctIOLJnVQyoEwgEFp8l1wERhKcAOoC6dXImIno7zSaY0C0RLZg7CVOtVT90PJGK0GKRYNQd3L9ND5HS6IFXcGpAQ0Xa7hcflcnl/f99ba61JKZ9O6+l0+vj4+P79+7G/zuczACZj59u3b1++fDmfzxnq3bW11pqrNnfJvWNmOesspVhXJ0qvjE+fXoosRBRhgsAMilmuxbReMgCw9liWquoWCDkvKMfxnPGQmR0eYBURddM80YQZzHt40vmKSJvXFmCMXAb/1Ze1bFtrrVG4iJRCCB0CREQN0ko239/ckFOXAyAzDzBwtmmQMtOD3BdxJGeISITOIE95dpZS5pq9iGQktqYJjmf+bd4lZOYiA/Mz62A0jOdSA6RK7x3ACaMWZmYRcocjNz2yyfBAIHwQSjHz5G6ani2ISIwJq4erWXcnd0+J7jw1IhycgBwQZfAZNMutM7/kji4FlzXp2oRQAhWRAcif8F7iR5dMRAa1LQIAilTTDQCFi7tvurt7kUpDSB5qXZk7y5TLzEFG9DQukChcCOj/oevPliRXjixRVCczAO4RkblJdnXVOf//W1fkvtw+XdUkc0eEuwNmOtwHNYN7suSEUCi5c/ABMOiwdOlaiMJhYzztbgQBQ+byLNjAX8jcWcwFgJo7NDyp0kOFFtCH9NZ8Hv3Y+0vh9Rvf8hmXnwOEVxQ8zl+oOw3UBhwhCA0iIFDzpdDAA8IDzCL54maWcyeYAF8pZVSQbici8y9B/nzfWUGOih9n9T8S0PTxyN1MmnxxnH1URvXk75kZTJ3Kk0k6X2e8EQIBDp47Jt3hDO8YLJix0j1xqwFyvxTlHpEElt96D5hpyyfZlSbZ4UyvZ+LL/zq/QjflU+J5/oWRRyYoP98dYYpSzJub1G5U9QjrvacgcL5Ja22UEJHXAWBwnkfPwFPc5eVg/EapepLziMayNoyRTcszA+DnFsu6VioghWqpEdHaU3gSBjEG4GUvJ7fxENFyFZIQkUXGuAeQIY0bmOYCHxUxiyBwSCe1XBgCoLIEBHhBFHYjkWzi64IATmCERrnTnDeVgoHZU+u3nY0HDGW3NEqECHAPxghQjFBtoR1O38qwKnK/t0/9zNghIuDBgsJVhCEFBRjN7H776r3XCYsSJxGUwlX7cdM2yJS8uGtu8gFQ712k1rLhpIIgE1MBpt67lGWgCOcGSQtCdkgM6emOy4xdrVtDxCqFCQwgXFEEAFLW4uSB5ZFDRJEKBuEvUkQgZ2DRjOJcEFywUGwee1209e/H42h9/+OP2C6Ldlft27adFom/fv1a18u51HK9XgHg8XiQgaNdLpcBDJillERrO5j//PnTVPd9f7++HW1P46plKXPiGqqa4oIMKEJH1967qi55WiLcNRnDAOCAUogHkOnwO0zyUiE+gZzMlDy3izLSZZSxqTqHL+DHCHwBImIJO2BBTHLeGHi1fmQ+NUvjeldTpFzayQqDAGRUoehIlBzBM5tartU/I2YSBmasgWFcAhOkSagbAERm+5HUC2CAKIUQQ2QAGGczAC/oAiJCvJbFY/cLXybUM2j8BhAioiAPXT8pZ7dDRCn/MJGbIKJMP9kCuI/eI5etzeIkg0ZgTjsyaKbsA8DIrEiBua4ASkS9dzdY1xWQtXcpJCzE5KFnKMyJSlYJNncizWypm2lnLq3p497caFvWuKyEEGhnNCdS5s5Q5ykyAAhM/BsRkBAj0NEBPLMhTpwJwFs/Rzehk03k4WYPRJT0p8xUZwZBI9vNfH/mVxg+AAyIAK6mvVlEIIsw4xhu5DHxAKPI48pZw0TkXlMcx/F+vfRSX66PH8fD3ZdlOb7vueHTVW+323/8X//Xuq5Jitu27e1y/fXrz1Rrud1u1+v14+PjdvtGRDO7XC6/fv1j3/cf7++l1Igw05xyaERqlRQWMz3aI6vSZVmytcv4GWnxGuEWkN3ZoIscwIPTr6qmjpObfp5YETnxmvNpPcGmTLdZXZmIu/epb8uAPN0+zWxd3wElP/YivCwL4cEkZF7WpfW7uycNz8wCQ7V5unGNlRUeTFYgxDT14aSluXs3tzkNyM8FMgajUzSim3eZqtVMZV3rulYWTMNFTeYquvCa7RDh0H3CEdPCwxGgUD6zCMREtD/2iEiFEET0FHJldh5Pd9DYmcnlNyTMujGrTwBI8Y1QoMGQCUQMDCGyCMSgOEeJgdk/EABIODEzC9Gg50k4ERMEaUR6XuM0Q4RAn3KcAMP7FgAqD6eILICSrZQJmpkDiCGwZ+kGHoqEg/huRijXy08WBAizyAA7q9gJb8fLcXqBjTOpnZ1VwCSCs7wUwKd5FgKIqpt1KVRKKUVexG3hGW9nsM1TSi/ZCidfxd0BfkOOI6K5Ig5cOfffVN1cIegESWGywxMnyvF4foG8XP7CBf0XPMsngHKmgPmI+eunBRo3wixU23EcrfXJS4YZzxOlLWf+VR1AdVb2NMpmhjDQmL3oM9vChIAhiwFz9yRLjxuR+SIB+3GhzmrmmR8VALgKvFTG85a56sBAX/Mav+hswhiqxJkZz/uYm0vj0e4dgDDhM9PjOCwZMpwiM2P71hHJBYH7dF5PbavzpmeDnd4LCcXmDZGYU87eD5h7Nr33bdvyTiBi0viIqNZKxZlFCiPQCxCfwmQYSB5OeD6wEDhmEzHASyKiZVlaU+Isj5hlODkDIUfWiyEU6QoDAIyi2W1jCSwBQSjCaATuD2YcqumtW7pBvlQYL1KaaeGRSsZBBMgQABSpbeuAHm4emqKkUoioAsDHx0fvXQo9HvefP3/u9wdSfH/d89QeRyuFmWBZlvf3t8f3LSJYMKKott4NYmwuwkuflw8OEW3r1RGO4+CyE5G71lrXtXbHwHzUx5jezIKwlvL6OOEcoKS7WIYyYjirN8sgjgHgxCmT4ehx9J7rR8lQP45+EojPyJC8CGZGFARiKBCdJZC8lEW1Efv9dqRxTF2W7+/v4zjyqKwsj9v9crm0sGVZ+tFqrfpol8uFiL6/b2f9l3T2QoyI39/fzIgE96/v7FPNLHNwBmWcCtC11sex7/u+tvYWF5q6Ts9FUkiBrfHIEWeNePpojnfPLZb5nIz97rPxnKDyiNRmlsTN8266e+5vOD/5JGeRt+/3ngKpHm4CwGZd7UABQQmw6ULFzEwMGE+R3awbeu/ZdlYpZ1Hi7ghnUonXNzUz1dF+RwRiJQpmBqLhpQr+3BwCr7VSXgefOWdmk3/JKGfgm1dm1OVndHN3N3B4Sp7Li9wv4BlJbZ5bYS5pxBMRuV1TpkhF2qxkY6CmWbiLCI6pEeZuUhp2qKqFidTj6Me+i9RaxUFNI5J6gWnR8Ay467qeGes4jnCsJXrvl1WWpRCWIkveRCYtApFEQWfE1Ap0s76sNVmLM0dMMzBg8x1HmvFRRKHPAbwAoBsAKEAAuFvcbrdaFt4kS4fEcSNlWnNhEdGHNyEND9AZYnNPoPUDghbhvPJu0TWHhwky4ZPiT2QGbkBg//znP//6x0+cYhGZDpqOjabL5QIRZrauaxBv23b0pqofHx/X67UfLbPa19fXjx8/EDEFhUXkn//858+fH+5+u93aj3eRBODJ3Y9jX0rZ991D3YuqHu3xl7/8rLWu62o9Ny4QEczVLBAZKcAGAXoQQJVLwXPunM/jfBTiTHvnf564cloiJUs4vyMDnprfKT9wCq2cGZ2IHKOUwujH4ybL0APIv7NtWyDsx1GKDKorAlNSI2ZxM8QA8qZJgM2ndQyaZrYWoYxLWEophVsHVd33vZSyLhdZajYVXR2Y0jYFkBKwSnP43nukQawBs/jLwBnBVVUjeuv5CAWguQMQo0ipfrIocdRb+W/9mU8JIFprCZEQj2cfIJBgVO8YMqR1YCoCEHMpQ/p9aASkdARhCikekUOnmOublBWY+G+WSSOzp0RE1irMnFkss0kphSV18WvGUbVcPwBVG+q0zJOZsw9Rh9E3jtiYuvVZkp4FzJlNJjIiAT4Ghm30VzwtURMIS3MVs5521DDlWc5IHi/VsLunQd4Zb/8l/J5MRZztqAe6p/xifip3xEDW1hLV8kkFQRwbIFnNn4Xp6w9ObIUm3Wjf91O3x18YNY5OY5w3FMACAQjb0VRboiGnkowPF9X8IjnQiJPlcV4uIg9kIk/azzxscNZycK5/pMRK11mf4H7sCaJlxMviW1XLhOHyJ59xAKiMQHjiznlHMttmanjNfdkyjVsw8ucE5sPRn7cpAm02dUR2BlUzO9rhcyUGxpyBEFM4mxhH7cFS0DS7PhFJHcnzIpz3SC6Xdf6B5KAtO1hkFZFTDYrHDzEvIsIkiLiuSDREabInyIyet3P0rOgGuasuMe4GP7oKSo4UA0Eg1ViIIsyAZ1MfbmEBAE4OjAN2DGVKIr+FKYWbKogJWZAhRhj07gFAaaOFVIQEcr0AichAkcC9pWgMQZBwCEqgdT96KAqEh2pwojxYCqm2HDFzkeOxIwUihFsp3NpeRPLGXd7f/v73v1/rttX6eDgihmVKcBGpItp9gIWIbx/X1nc3UMcqi4is68qMBp2pfLxdW2tt71LKoFsZGI5VIXd3VyEKM8YwYBFSVSI3ExF2p9ZoipJGRPRmJ0IAAKpOFOiByMuSoHJSmyIiC47nLBUciryByvt1+fmz/a//9b/fP96+PztylcJmJsSp5qbKP3/+/M//8w8NYkE0Az2IKiMc4Mfjm8BcdyLqx6MwmqqrL+/b7fv7OB5//PiZFlcZceq2RsTejlLX+/1R12VdLu7OtW5xvd1u1jfXC1ixgk6SYmqISFKA2AGlCgBAsLlmBZSeX+6OwEfqDQNwkWQvgVmtC04iez635uEBxBIDTtiXZamFuzsR1SrhqhaEDExqYC1TMkKQdnDjPGh5AgmJahCVLFayWs0ShAC1p8w5Pe73TEW1VqTwUDj7C+DuhojsQYCHagS21lofdnG1lCJ1Wy/uns47BlYqA0oMz+oh2YEYREgMZyTHxBwDMQKea6mSkF7ipmCac8iMI6oajkQYAape1qVMijxMRmyMYJ25IQHvcEBH6h6tq4hwJWbxyMKDECkJmY/jEREoBMBJqQeACNPWAIAJxAUjLmvxEuZH78FciaRbIylE5OA9ggfvyzGg9SZlYeraH+Y9bsbM90d5e/voTRFgW7EuUIsAKkFQwcLknrIWRkTegtjMjERy+y7Q3VxEEKoItf4ANIMQruFSZCHBfd8RkCvR4Qn3t8Pc0BPwCgg1jADzY9/BA5lKKcBUlyVmP2ndT7WHr6/PfW9gjoh4LXUBhAAIgSRITLouF0Ag9t61mwPW1uFSqRbcayiHEsm63j8///jYuto///GPvh/WvRQxpO3He1QUp7/85S+Px2Pf9/RHMzM9mn98fP75T0R8u1x773/961/d/ePjZ6bniPjj58/v76+wzoi9H+5aKnPhoymAMsVScakccKhFoUXboK1n9ZLGi+qG6Vve9XAg4kC1cCTZH/1yWcIVAonILZjEwAuhg6JI1jFE1PejlBJu6U4N3UVEFH6+vwGEEyQdNPWR3Y4q5X6/EfLt/vXxfnGgowWqMvil1vsjmNa9PYpgqFsYBJIghhIKEEQEAruP5Wl3GHa8Y+Qb7q7WM9r0vb2/v3vviKn0gEzFQ4koa/fr9UokZiZE/jJSb94Bwd0GO0A9KBAgQgnJPeVnBZmklsfj0fXu7sxvktaFSNm5ZJ0Kgd7VLQjRzRGRrJMUdzQL9e5uSNF8p3ABJg5EcjVBIgueIsXp4pKlfIJBEMDMyapBFDVjdvc9WWGp8wcRBM4goe54wCR2ps8DRCBhDwWAIoUK5VQhD71gDiuYCli0AG3WmZeHdaaqzvfdEPHQxx9/e/doHXw36xoXLoA1IHdnLIACwM0ZGCBqXW/7Q4+WWh1DUSACAIdiEGJvGmXs1jBjaxphtdb3j/U4cn4rMxJiQIegrJ9nms2uQBFLOM/FJHM3N2DBGDRaSNw9Q6tquFs2DzD6IUQQR++uQQXJDeBQg64L8XE8ACGQLToChKlBZCQ5tGfjgThoNnnPstjNAvc5DTAKxEBgFAQIj4zn3fxo3Y3CU/2DHRDYe3NG9JwOq+Jg0bjDWIyJsL03NyhlqbXmU+GQDhKEUjE96qIfx5EhhRBzWW5dV0ZpWbsjMlP+HTOz4dM0lonzku67pqgGj94ibLQfg2J+9lS9WwQui4RjBARYYA8gh7GM672dVX5M9SEicrPW2rZtuQXbmpqCd1fEpbJwaf1Iwuu9tbe3j4rU+zGaBMLcM0kwHQCQgtKyxS3HFJL5OCJEKiLPfkvqumXhfuIK+f+v1u44R6vnL2IOcQDS3eJ0HySAp7VhROA0KsPJsiI6SV2BiLnNeoKA6EGB7onYcYCHBpg76phHhAWYULLEfHCjIoAcAXH8PhhogOErfzfJxC+f/Ox0Z2NkCbBlQanatfX9uNdak6gNYeX9PU//7Xbrvf/5Z9tLqVUYqU3XvSqCiCLDzSH7+4hAQKl12zYZwvbu4UVKApBoQUQeU+WAB0PrRDpfLhq4P3dNEBGmKBJMlt7sCyMH3MxciM+6Cua60llHWirniHB6CHGVlf/jP/7v3u0f//hVC59LaVlPEHOeqqXwcTz2uy5L0cNFFCP0aC2aCEXE5+fn5XLh4U7cHo/H5+enCNVa1YbT0OVy8Yh1XZd1dfdcHNmPOyI6AmKs61DOpjngK1IRhk/OvMP5bCKS5NWbnQ/ohHs9n8IRFp/Mk/M846lN0Xr6aAIcaijEzHgcVpaaI9VQU48cU/ZmR29EQjgu4UKlOOfNSqAoZezjHNzb0LROtJKnqPlpOwITcc+HcWrGDX9vM0MkZvIIdVM3RCQmKYW4EIHP6SRAAL6QAimHYxGRWxCUWiyIAZC7Ric9hph5av56ir8BQA7GExM988p59VLOIsGtfJ087fq7GHxec5riPK8RZiKgCd4M+E1SHTKslJzpiYGjg4dSJJ6IqiYCy1oQse+P83QNZH8gWQhBTIXYL5e11g8iKkzEhqCAnmkVDQGe49cY/c25AzD4CRGxLMsw3YgwNwglGhIiS13z93PZY5x5pbNAmchKIIaaIQQVKcnATtDHPVeLMZfr3fXYI+J6vRbBSJ6N5onK3YPE6X1sMFuYpwnX8j//5/80swh8e3u7f+2W4utFpNT/7F1Vi9T7/giWn8vf9n0XKr9+/ULEj48PbT0xJCJS63nXvr6+EujZ93sp5XK5FMbjOL4+f5Ui1+v173//O2IsSyUeS+21junHE88bk4pUHoQEETIlA0AkBJM7CYEQ/USk0jRxPx6vsQ4RYUgWeq01mb7HcUgtL0uuw+r8hCpoKMeBux2PfbssiVaKSMLWSA5EyyJ5CBWIEWFGYA1FTmkUzJPhc6/pVPECgKYdAAifNIzH4wEAdVJ9SikRwoLu/v39raqXy0V+s650d98fDyKqshARM6lbDtHyMiQUDmHg49Ez62ZhrrlgczLghEvvPZkPiH6C3BrpN5GVnJt1YggDIDBz9ECCcO8YBXJdJzkGNAv3MR6BLE/NzBwxVzIAgOyUfBnD0JOeHBCJoaSEyxyrwqgp4YXa5+6OYUEAlgo/5t4Oh2i4LN/3HV1Uo/d9u0jvVoqIIFN3RmAJ4ojQbgEe3tI0dFkWREya67Mym7n0DFA5a5vZdppCqGaezScdXiB2BEmNkQzF7p4ZLMDcyaC7u5lGWEQFwKN3Zobh8z1EBdzdkYMQhQd7HgDmmtZZA+Qnnx5SY2GA58wWJ44zsJUXhP44jtdI/gq6m47wlXGPiMzn8EEnX9OfpHCcNAEfk6XxwYaKVmJAHgBjPSATXw6X8muVshCRdieix+MB5mmxdBzHIGciwtydHYIWA9SPCJg6BCPyn8OufNLVX6Yo81o5RM4/zSznM3gOw8Ofe4BAOFQLcyPLRqnNrKqpinEeoUtJXLp0bY/Ho5Tydt2YUUjyheeRyM8pqm2mA8wNiDE8KUslGz60ZUrBl1KyJOK5cHDSZs5y9gxz5++PqDQ91ceDCiWDQD7D+Zv5JD+LKgBEzl2rhCUAYMpzPgvoHDaFE4AC5LqlhRticLiTnyMMxDSgSrSGETFS0yIC0SBiUJUAgDg0AgDnNz0TZ4IiKJj7rbNMsTND2NxJYpb7/R7hvfcsxRhjXVci+PWPfx7H8ePHj+v12o9j33cCdndBSmVJZgbmdV3XbTuziIaHt3yMR2iO6ccbTzviMy2Ne4p4+tDD76sM/tQXA/fnmMzMKj8r73/5OeOUu2eDx0wA9P6x/Pu/67ErEfFEizOGwqhKMeBIgdG3t4/0DwEAKdR7APj392fvPfeD88FrrV0ul7/97S8EeLt/l3XRY//+/kZhAPj4+aP3fr8fUsvlcnV3dyXidGU68QARCRgyJIgYGEjpR0QUqRE8Tuk5r7QZTbyfDOy5S/3i53I2NkdXbUdE1CpSoNa6UMmsHKPzAevdNVS9926KVIjHzIrG5hZAtkP0pE6NYj3Db/7azFKqb1kWxIEgEAoEne+Y2+jjpk+Blyw+zon/rEXC3YgowNyBhk94zOCedGyA8IiUvzhJKYjZSD9l5sc1UdWEfzxGHQlMjs/8BABn63NWRfHii/FauJ9dwTmYJqLe47wXNHVpfTJAiGCYS8tQFwkOdwuFHgcAsCSIAm7FvO2Px7j7kPLY9Xp9I6CUGO+9AxvgUhestWC4h3t0IYDh/F6IwnmkzUxZAEm/QgBwAw93C2Y264jIRbznE9dUtdS38+xtW4moc7vxbXwwTOUdIE7p9IxXk7WFlhBDuHk4Aqo6utUqAPD2duHihGrdIqJIURua1swMgaWkKzOq2tF8qwRAe+u9d1U/ugIAMX5/f2oPEfn5/oHI9//fAwBKKff7vR+aEENW7e/v71msI6KZvb29tf0ws1zWP45jXdfC+PX1te+7yDXJA2Z9XVfzvt8favrx8bOU6v46N9exJQZwSjnB/HUyMbkUZrbE3X3MjrILysI9j1MGukQN3f3xeJxPXIlyHksgsKn+AegJC8XUjDMzEVlrfdy/1loe+x0SKgpY17UuGxEE2NiOHbO1sfznDjBoWhPMmxrVAFRr3fc9EMPHnA2GGdyQSMpuwQ1KKWkbghMQPUN0cmkyWBWRADPrEYO3RcyEaU0TCEGEtdDb29u+7+dDp+oeqgbLsuXzaGEjiM5VS5zLrNSxe7iHKVLBROGKcKCbj8d5KZUAIWhWIZCBAmfayvvSpw8rDP2op1K420hViJGsIQCK0LM48/Ry1AEtQWCYP3w3QwhconIhhKJd1QEUjgOZKUDU9tbjz1/fHz+uAsIsAGMzp3VTbRFRypI36/F4iIg6fH3eLpdLh15KOZmHmYHPChhekK/8hL33XP06U2o+5qk9kP88hlQrEQOEA5B5iwiPFrlqPDcds8QHoPSNSvOEs/ocVcEELeF0L/HBnMw8AIOyWyPCQ896dBbZoTpcxk85pswmMJnuMFaikDA7QCgFIFB7cjt1ahzRE4HOZBGUFsWJEbt7eCBifuZM05YqbbOT8dAUJUOsXESNRMS7njXMbMil9yPbpLOXWNfVteegxryb+zyQlJ8NJwnqrOPXdT1rpwQ73L21VmTJJDbSlkOubJ4l1mvFBQApU9ZVE/u+Xq/5+rXWZSnu7rexoiqF13XVZgCUJkKEOQjI42FEBMNR66mwLKUstf4mXsHM67qK0LlOe6ZVHN65Q9/q9Y9O+leesCf+N7V1k1ti05AFAF428ADHEnGenGf1CWdLGgFxirvlkn4wo6l7GIQyAhNlqcDMkfxRjAgbb8SAljO77C7IIdAx36dIzQoAgRGZuSAqZA84gyy9tNSJsojIUgTQ7/d7HpQcU4R1EVFtqlpKeXt70xfXq3wYVNXCgUgQl2U5CXbubr3vpkkfNLMUA824YG4wFB7z1GZ8Hz4IeYMQn03/yzrHCJejs8wlv0Azz+LqtR+Auc5yJjmX8Gl/o2pv7x//43/+++fnp40tdTyOHQC268mHs8t1Q+Q/fv5VuLa+qzazIyGxpNfnDyJ+fHz84//8c91qKcvn56/b7bau6/Uvf3yofT++iYb4oKoiRknlcogUUZqtYNqdAFIw4/QNTaCJ8AQqsicce4RA5IUpC+W5shPT+ObcWPVk7M0rQ4+jBTgVkpCspYnRddA7ItIRwyiAgmotpzUsIiBFauUjBqCradcs8hIbQB8I8JDVW5YlBdrMupIHPUMDIsZ0axGRAT8inuCZu0cklVxypJtGMENNFkFGtTkWesbdR8AUFMckGo53S82TfE0AnamXMFnnPtiH5xJtJleYmnrnqjvxWdC4qUL+8xRkyC/DjEQx7Z3nxxvZBSgs1AMggJPvjlFETs3oVNQ1s1C01utW13UVKWaW1pzzIkNq4deyLn9svbV9v5tZWZHLGO4zIwUHLABOc48/9TJg1lj5gMAQsBs99kiWGIAYSXKbUTjZtCOcEkAACxE/c39EmDq4E1GpDLARkSyVRYjBHCBCrYEnP5vCjrrQ2/sPM7tcVyweEffbrXVf1zcE6moRuLdOJIgFIMwh9TOW7eLuhTj3n0opgrIft9Z2cImIz8/P4+gO8Ne//OX9/f3xeKwVReR47Lfbzd1Lqeu6fnx8/Pr85elM5PH9/ZmQBKZ7HZXjOLZtW9cVMT4+Pv78859EBEGKuCzLWjMpUinLmVZy9Sv9EAFGp5cqqIRMSTQBgAGSIfG5ziW11tvtBggs5N0AQ7VHuEg6QzMAlyLMWcXk7IVyy+Ks1McpDY0I8/543BhXd9/qYv04+kPDQ3XbaimFC5kpoaQD66AnZdv/nMmMTST3CBiCFaWUtORD5t6ObNQjAlkCHJE0hiUCM3NZTpgwu/rWkrnX3D2ZP4RBRGWpw6Tdc2MOA91yHAAuiNu2jRRMGfmTfYFmXYTMrO3pRkwAnvrIiEhlCmqZJHQiLAis7pQ0zIF8vwwqfaxuB4AHgkYEuIEO+Y7psTJwhMQyxgk4ywyYP0QkEhE0/9wya+fma3YnZmrNAGOjLYKOjsfDHI2k7kdXawAoAXvzn1gAGKmiqWloqLY9287e7+cpXC9vzJzzq3Z0BC6FDZ38+cH8FCgcpqSncdJYFznL+gz1pdSYjNmILE+dgphzdxkBjSgF6TU8kDjHoRGRwq+UA554bq/O+imhdz/B1rPmm0WanTup7hONxbHaix4nTxVeRgSJsPjcAD6/TiLZ7onfncVDolIELyZEvfeY3uQTMAJ3B8rxDGVMQAuDUOsRxIKQBvdnW86UZTpOq3UACtdaL5mm81iIyLpuzGx9RwwP7X20CqYJ5cQ8Til1NSofnX5niGzhOR8eZdUUQjhbBiJxRCIcaRLRPYLmTCN1ckthonVd932PiMfjVqvkKCZf9n6/i0ihhTlv8WCa5D0dlQMlyBU+LbHlxLdO2DJBEcQ477rNn5hWw2fhfz6f508MKQzKRie8Siksg7CRXI6IMaiGid6dbetZYp7ejePGu51FRaZIQgSEYLCmGgqAwhgEAEAIQlmGDs2gdKAMwhjGBDmsYUBO/QoigcDzWSKijDVnNj11V4gQUt+vq5u31uoil8slC8pcdk6Luyr8t7/9TUTA3Xp398JiFrWUOUYBZ0emZVtrrcjkFr33fd8PNWYeK8Z+XuRAwoFtv+ybI+LQkJvFRDIcEg08I4tZmMXkvMLZJ+BcRvFzmDtff96jMLOAUAsAdAXm5e368f11D4pzvlPKcr1esyfZtk14sYo5cPTwbVvuj8+uqrq9v7+31t7f35lLkq+4fNWyZhK6Xq/X60ZE//t//6+JqTfE+OOPPzwiwkoR683cOc7vOw4ejyeIRxWKT/qTu0+tlPHtRCQol/lq67211mcrP/lwJzPbZj0RzMxSlmVBAkc3C2hKSyEkBBZmCHXM5WcUeauLpBdPjsiZEYDzGp8PV74pM6dUKCZvj7nWum0bEfnAFAdBPLdas+JPwyCibIY5clgP1rt5EoRIAAFzfA0GLkEBQIFBODSY57BvrP6cGkTJqBt4WGCCNUSShLw8S4A5VUdE1BfWO83Ykh0RPdeCae6I/6bbc97H1tqZvfMWqHpER0Tk53TIp+CAcA0I4VR0YeYws340Vf1+fP/48ePt7S2LSHcQybpZ5t2UtHBGIjcDciYhrEQCGIQYQQBRi5yoTLgDwigfMfBVqxIghWgb91KEEXt34RoU3Q1Ti9RMCjNwV88kKsJTVAcBIBxSshERSxEULqVE6lwlMap1oUAK5FqqLFSXUo/jIHRtR3dT2yFIdQeQCDJz1WDiLhHq5mYKzGVZNrd43I/b/eEWpSwPfbg7MST4oqZcyv/9H//+l7/92yDpAf76xz8zvSUAIaW4e2ITv379avtRq0RE7z2f5d777XZbqjBzYWRmd/36/JUdHBO3psdx1EUoUmi/zwj0mxXL60/eBZziuUOpgyA8iKhIBbidD+yZ10outPbebeyGEhEjW9fUrc/KUVXNnQBkeELF5XIx68dxQETvfW5GEjIty8JcUAAgtAdRrq9TIAHQuTY2QxCe8GdMTsWyLFkqtaNHxNvbW362LOhhOAOCmdVas7KkOXrKzf7sRmICEIWFuaSJd2GK8dYwCj/XTBWllLw2pRSRoVZh3svg26CU0ntvvZlr2kCyp4BwSr0Rc2GRIqLaCJEKCaN7SoD2s+COGHobPuUymrlZpAMLkQBRWE85ukCIpKtD7vi+noGxd0hEyeJwdwBnxoiKAyMA9EEE9boGSG/+2E3D39+LhxkScSALYtwePfrjOA7EKCxZHu37fh6Yf/zjH1yWax8OHp+fn7VWIqPBWzMc5QTgyTkZe0j58BbVVMyUCX2GWXd3CB4BO4sNR/c5EQ3zcAADVEBz71nGECCzIDI45OA/r+6/PBp5rRIgP2f4ZpQDQBGJEB6KvWNPF2DsXSAi2Bj/wsTy8jrnsSei9/f3dV3bofl3Ji5oxKaqpg6BRCnSn1gGDE6RZR3UU8UfEXmYSAYhkjAiuw1eXKT5HRKmsfVwrYGcUOUjQERMlE/KX//6R7br39/fZpZg2Wz8UkYsI88pgPZspWBO5wAg6+n88CkhHeei8HhmPQIAY4L3Jzz/GxulFDlvR86ll2Uz60Qlyf21bFKMmSmHD2P5kAEyKKGZvrx+ZkbmqfsixAWJwp1l2MHQwL3ST9I93OaMDwDI6WzCzrAIACI1mQVncZPM3XAGOotyy2unZiXl84Czrj6vTuL+MNnt+HvDnSfMwyCG1ztDOEWoqwZhEAETnevMyS90d5ywx7A3AQ5EcIiA8FTpSiK+n5VuRDpdPYtXHIMVDHBCDHNIx4rK7o7uECBIQ29ocm9c9fPzU0RUFQN6NxERgKM3IpKhs7lmpZiucq21vfW5SHA6U1gECMvrUTsFfGKeEnwxm6QXDsz8duOc0ZPjFOernUX8WTCd39pzlfPoIkIsFiFSt237/DqOveckel0viNha2x9tWz/MbNsKC/75+fda5cfP98d++/66qyozL8s2q/aS36gsNYYOOmRXnVoBNIXqz6jXFUkkEVvxMkrPiYiPX8wZTq6ou3czS8e285uK1KDEpENKYRaiIwbSwz4AFcy2PItsoL5dL6VIEUk6FpA4YLegCJEgEhQUduIiZUGotQqAe2QmO5ui31qOs3ZPlZBlWVJeM6cTALA3RSYuNVSZua7LGIghoKfrJANQHhUgdneilLiWcREciYCZTvs3pABwCown6RYBAngA5xHBKUhvERFJnUZkRGXGUfsC0PTzQ2QwhRSzc8fJCXH3lEw9n+iX0PFU48mfRCPWugaEvfwMgqKP+SYExRl2UUXkzEER4U69g4exLDD3nxAJAiGQkJv2iBAiIiGSDKzufhyP3JbPST2ED62IoRROGZ6GZzSOZye/mkGc1+3xeCBeENHMEam7e44J0Hpvanjq54wKkgv4GUsxItTdHNyNDZgxENwV3N1tYCMWzLjWkh6u7to7dGtqbVsKkBy7egBx3ffDQxBc1VJfVNUQ/fv7+7qtAVHKcrm8meK+70Tg7v/8xz+yYAXkxNjym37++jrDxbZtpS632+3r6+vt/TrGaDzmy9frtZTy/f0d1uPZA/vn52d2fRHAzGV0yFCo5CA0UZV5IAmAJgmYCMfMPSKy5c62ToRy1JbRO6vhrO3O9DE7PXdXIeTh1GvE7B5qLcVYAT2tPESEBdvjTkUul9W7sOBatsJUWBSYQQrK9eNj4nWe87ph7jurKmZOh0GIQEf0IEJwAgpHKETrun5/fz8eD1W94iUicnvq8XjYi3pV8jAD8Zg8utTeBQCLcDM5LzLXWoGZMWCp8rK+hTHltEtZpIqqZocBkDZ24TlkgPSloj///H48jogopYhQYmbESASqAUGtdXDwiNMX2b2pQ7SOAclYQMQ5RwxEVHdVs/BCDEwkBZn8mXHcTztJGipSZ1WUCSs5ljPp5fOuKSQac/vFdQwB1bArmIMFLJdt5RWwC4dr+6///Edh7r0tVWiDVQo63+/Wu+57c/c/v26I363p29tbMhmIBLGJCDMgsKNSADzXCc7PM5gFmRnP8ukM9QBHpQoQAJ5Q7ku5Au7d4/Bo5grgRNUMmBGQIyXKZjkW+BtDAxFTeIalJI49YKEIJGEpMrdoMnLTOTGNsal4jjqJKOGh3ETP83m5XEbuQNz33d0Td4uI3lzVktN7zv8R86ho+jqfQBWNwDtLDiQhRhZLlJWoYFKm3QwiDA3Rg4J8VlaqWsusHErJI7osi5k9HofZECtfSu5tMiMCOgQxZUUBr0UazjkbAKk6Yp9IPAMMW8CYCsVEAwYGeJbsMRe3EgoXTMHZlrVZRkv3JRVEEHlZNjWTQiLSjg5DB2k0GEKU/JSnyFJmvSERBmPTduJez0oi/5nOHbSYNFN70ud/296bafeclYzSBIBsaOOT+9iGVgXTYJp/Jc+0YwRY9CxuaMgqxcz9NpD3EQMszyoBiHCEm7bWjBmDeS4hjPE0DJwwCRUCgUAMfvZ2p4ZK8mTGvld+Ks819tzKDWytPR77fn+kyGMppdai2qx1dyulfH19AQALEmB2rowDdS6lYAyxcEvdj3VRhLos62UjGbct63iNMccRIWRKZA5etjDzT9MaM4sCfxLZ3RwJn55w8NtghE/pFZjPbkwWTcyW7PW+Z24A8LAAGJ+UhN8+fjwejx1a3tZlWVT1cT+YuciyVCyVayW13XaU8laKXC6Xdb1kTwxApSymEY4/fvzxeNyP44GIb29XptG55mo2M5fCvR8BgyoD6Dh3wDMi1MrnBZi3DwMHTT/M3ZWmOR8iEjGRoBR3P45D50Ap2/GTuzL/8qj404UgLxpNnSJEVDdwc8BS8uQyp/hZDNQZx3pWFrro/uLz/FwkAkYCgNel8Pz8ybTKYJpkgOz4mQEGXE0ABEGBlPVtEenRVT0CRRCFEcEG10UQHSFhDQDw0NTBHHYSEQhhEdG0ZaMLSECJhCFxQYx0vpvP+1gmKEgR0QdOj9mHR0QW5+czNbvo8e0y9ZhZ74qDX5H+MnocR84rx41wFhEgMrczOETAugJziJRS2CPMpBQHAAty99ZUBBD53NsRKapqAdrHOAUAECkHHcwMEeZ9drwUbvG79xPGmf/gDIkajmP1Tve9EVFrfW/TJGEQY83MIyLB2giIgCIENDeCwYlyXOYjrbqneJladzMPZcrxowaQj6ZP+9G5LMSIAoFsJVrzMIupX9q7QMJfiGb269cvcHt/v9al1mVbFl37iqR8Q0ECoXzhvbdcWMzF04i43+8RwWW4IG/blkyz3IxKSMzd8+8DxrZt4XocR+ExwkXE04YiyYAjsgW5AQLkADohnTOtjCFweO9dLZU4h2TCeCRpnKsMufD7j5nBXLxDRI3nMFmQBIkCvCt6CBIDWmomBjAzAyJ4KYUgaq3QO4MswpfLBZE1LNHsHNMHDsffCZFI+HnGhsVyasW4B3PJyCkibx/vPGa/z9yamGIWK/f79+12y9ScW6rMfL/fmUuttSTpap5GlupDWS/p6owRQEHCKRwJgEwl4bORXBAej4OZa+Xw6EfLHevkzxMBhouQV0kJ+VILM0NvMdtvIqkVTmYFCWfCyCRimozcub5HjCSE5PCkZ0Bq3o96/bn8fRbHNOWusx6ASW1CRMSyLBxzPuoBpt7dC7Oqlsvi0KUIorW77ntb3q/MnARdAJDCpQoz3492P/Zt2x6PR2ttWbY/Pz+ZBfDomongLXOoQwByDK+i57rw+alian2Op3Qs1FpEFqbDNCbPD9OCBO7uoQ7dfPdQ8o6EEazeI7A3Nw2AJXe1z8Id505RRCBnWvdzXHxCdcx87kHCqKGQUCINLpKGLsuoyOFU76VTyvA4jlrW/DoZLdOXxiyIsZTCmAYaKCLMmOKh83M+YZqXiiSnl0iEiZFBMOCQ7kFLcf2hjp/aUDllysetlPL5+Zla/rVWm/6jAKA9a8HMVUA0dLlSYeJM61xqfiSznsjRtm1lqeu6hqOqqjUEirDEtpiGnKhIPYsEnntrzIw+fHZVWw5ezg3aCIQQpsUhV856a+Y09uOJSIRlyAZ2ot8O/1nWCrNEeLKNxxAnWwoP03CDXGgJHx4Sc8Xz2V+e5yYizOaM85S6BBtRGNBb/pEwg09H9PRkzjDlKX0EgxUKABHZdiC4pSvyIKiOt4Y450HW3QPRDeJUoYBR+o/ZVqAl75mBI54gdLx8kbMynpcJbGA8lsB8vlQeteM49v2OMUyF9n3PZRQiTP8gM3u0eWQ9bOLH+SD13vm65o+IuAfXhPeASgWAZVl4CI72Uf9NN+A8KEXKrLBtko5m5Uq5EHX2V8/KHZJTMURh8Qz0OAWnfP7A6daLqfG8gmPuSBHK2V9mq1pKOXrrvb+9vTEutVKAtuMWZhbqul3WrbdH7ul/fn4vddsfjYj+/POTBZjp/f39fvva910Yl6Xkd/zx40d27TliSDDs0Q4iIoTz7OXHZnpehMwjuWGSCq+D5AmQVaaIdH+GtnlxBgxwPiRZMeQOu8cxfocKQDVNDzIIzGxkSZ6PF3/sfI0TH8rqJGdTOLe6aRIi8+bmMtN4EuetyZ/RznHN3zfv5x9GWl9nkgAWllDvvXNgEFKAWeCYTmQ3AgTDKcw4P6Bn6e7uAQxoNAaCnsPcLAKICObe3qsWsEHkEvOZRc4aPckAAL/dL5q7MfncZRWYhS3jMK6/P27n9QGASgyAAJikJhrESiPexSsiMgsPUTAkKsjrsiw89zcABq1wva7jeHOQzT14dMBmjuZE03sOwM0cy2lDOr6FFCEibR1ekAt3H7Pmru77tm1MpftAQCKCBaWIdlBtmcaYeV02n6KNMPUNkhA1+lIIDI/IZS+rLEx2CiCMCwh+tIMDt21zMAK8XC4Bx9fnI4W8I9T0KKUwk9SqqvveHsf+48d7KYuqL4t+ff+ZnMnL5XI/9u/v7+Vy3bbNIbT1x+3+tz/+1t3e3t5ExMKFy9vbGxH9+fmPHBDt/XFutpXKMbw8jQmP44DC67p+fv5aqtRaAXzs24UTSi1rlunuMbYvJjx0nn8RyR0Ga11VKSNm9r3oqQJxVkvPaublFSLCLE1YCnMpRVo7bSnNXYmg1tHPj3TrwSLaj9aa93b7/l43dvW88GZmKd9soHoQMcmTdYlTG/v8VEOhyBHQuQp6vL+/Z3b/448/chuVfHAXJ0/mjoifn58R1lrb9/37+/v7+3vbtre3t+SAMfNQGgDqzdyAVoEcPjMzQpqOEuCyLOCFmRHGOKW1IfkXYft+r3XNm5iYa+8dKXJtN+ZjKyLEmOgiI5XCBOGubpotbnKOkUnKWN+KU6SckDD53AOPtxjF9ngKKIIwIN9wYFIjA1KwMNEyAqBZlnQ+N8dKlVIWdyWUnKeWgkyYg6p7v7/VTVv7559f3vq2LQQgtUhBRHAb6SDhs3W5iFQRWZZlWdbW2v3+YCZhXpZeCr/4/jwpAyfmlTnr5Y+edSezZ1WqqtM90AGgFsQhyYkI4WGuiqhcVorODhFs1lUBkR0BkAOm52UCKIz4TOh0ZvOsdMuYnnGE/p7gxiIpzLvAzL33x35z92UZRpC5cIWIabhEY2mV3NuzKn1ekCyWhEjXdR2NHMlMHKMCzGoKAMAjKZTnHU8eK5FlSs38mPuEmVZ776WU2+2WbA6a3WMG/N4sCEoZozkAPnkcCdKf1TBNHbN1XXO20Hsn4SJL7nXovZ3BBAbSnoFnOTM1T8Gf3u04HpdlBQBV37bl/LfCXGT5+rq1dpSliHAElmu5fz/Ox6rWwog2WsEUvnxWpPkLEWGiMj93mW2ha46SU21Nlccd8gDKk0kMSLnGFiKcinGjQ8KotSKBaofgQMChDCCZKxEIRNTJiZA5ELs5mCJlXwWIIICImO2+EN57B4P0N0ZEdxCSzGXhCAil1t527d2JEEGEzCI3UN1dmALALGhBAFEndyAQHsz3AH4LkON49N6t75pjnXAOV21E4I69t7bv2vq2baYNwGuV+70lVcbM930fwTpyUwHbvgPAtm1h/n2/XS7rwty+7ySsPXBlofe//vXfLtuP3gzREUOwIvKPn1uefh4zwQXD3D0IIsLUmVl4ifSgSQpTdCLr0T0McAGo7o64eHj6EHo7IJ0oImI4yKI6pEePhlv4oDOF6rB3H1tWoQiAYR1JAKC7iRAyX9/f9nYgMgZps7ZrleqOZcGylNvtz6772/t6NP38/q7rJWVkVJ1QREqty+PxqLVq39Wg7UdXW5ayrJuHIgsjfN2+f/x4z/hOgCKSKWFdVzcPU8Do3iXUSTUKSkF37YeHe1cac0xHRBhLk7JtRYS19649Z2oR0+GQhoXna4N0tubxwqoHAJv60BHITBjDPOA4ujW/XFbkUbsgVEIHHBweAvHw8CACYjlDWFaAqfrML2ZMZ02fsTL5ke6Ozmko083cA7EgYO4A9d4RuVY+jocOC27ncBFJfVwiZBmAYoAoGFEhjHAkKRGuqkSOIOFigQjjNHo0hPJcR8kVEQiwMFBAEKZjsiQzZ6gnzkQU9IQ8ITBQUsmRqYQkUNeaMnfQ3lrbjwYAVUiKnDVQ1sHZIWSrcBw9co2HeFmW3vv+6O6+1dr222V73/cWiJfL5dG+HKEdILIcx6F65FjETEspTJGSf4UZkd3B8yY4B0A3Tc9tZi9CbiGlmhkvZGagJExqLUyZFibpFhHW2nEcB5Fs24YgECwCiBZOCCRczAxkc0AACjRDChZA72YUhDQ3DyIGSQhDW49QBAUMJgIt6Fxlc+QUhm6tA0GVpQhob4ip6NUiNPttWeofb1tEdICVy/vHGhH2n+buf/nL3443+fP/8/91qEt9W+rbfj8ej9u//8e//frzFhGllMex996v12vuXR1HR3wQUVnq/fH948ePr6+vvT0Krekc7q6MQ5tiKbUuhRm9WWG5bBcAKGUJHF6YWWTETOERgczauwRyyb9TUqgDQhDJHHKpBBlKpf59nIBchEVYFUqGXmsvRnhdS+V+PI59l1pFBAm7d2buScNGNdMKgojHvruZt4DolYVNLYphaQqGoJ1LlXv7BwRisYoFgNSBwBkQ0QlzJUAAFDEWKeZdNSqLoyMu7sBsuU1OFHWhzfzxeKyX7fF4LNsl40zv6oDqyQSIWtcslXJikKXMuq5zDNgBWwQy1myws8xiKkAAYIBu3sFcrfVupZRUOrRJo3//uN7v3wWx1hKgc5NVO8SylOPovfe39x/urtqQmS0QXI9GJCKhHqpmfjAvlh4HYCJCpQCwmWzrCsi97607AIVBOGIhdkAAxHAnIky8xkMLFUFBY0RfSmHEfd9bVwQMtWatCrp3Ztq2i0OAqVsjQIv9Ipc///nVeo/GGEi+qaPe9z/+8nMRZo5lWSBp/Uf/+XP9+rwXuW5r9GZm/PPnX1rbIfz7+zOiEzsSgZpZiAiGazuY2dzHGoMrE2Sfc6qddA9gcYAgDmJ3N0ABdrd26LIWRwdyJzMLxhr6QFX3xrgmybe14/vRCtVoUWJBAWHGQJYsiAMAAizF687wSCeLQ8R8zoVmi5tAzPhPAlkqYwBAQT4OIYZt3TKhAEAKMmoMSfuZlYAw4fYLAKS0ibu6BRYUqaq+rm8ikmvrpZRkghEyhKOkzltOktR9rKNJBgRBM1WLChTRAVprutS1910EEON63e7379vt63q9RmApjIjHsTNzO5q7lIGHpqmwl1KoSESEA3PpvUc3IliWJaXhe4/ee61ruEdQOKzr2ntqIBECO0C2djnfTtLalAvPAIv3455Aw94bzWlt2JEqvtu2CVcSzo7d19j33R0ul7dkqVhEMwVwhuSHAnOlVFT3GBXDKOWmrzsA5LjqdOGZ9f44DRGR9hBxrtxOesmoPCKX9117y7UWhLG6nu2KdkD0sBRwAHcDM7DZhwHAi2TpY3p95QyRmbNqMTMkdyQAT+gvZqAfDfxQ1ny2vNaEEJDYgdUiwCm4lLFSkoCZv64Mzi9ySlBnM5Pop6ouy9L6vtWFmd/fP3pvvfeIvHqRnLBZYSRGjLXWQDfv5Pj2/j5EXjkpCzHIU7N4BPAMYYglwtQ6AOBc1s75GiTxEBDQQhWCEcrAVem5gQEAqi0mMev8mVcSiFIrf6Cho+TSRkRMG2KARyADQWA4YFrD1LoS9LfL1R32duTkkShSXznt02tdVePz8zOngrNDJTM9jl1EuMi6ru4KcOl6fN9vRFSXpbfxNIvI3LIyMx3ATPxmDwEvP+fvzPnGQH9rXZOIMi9ILg9BAu32/HjP18n3mrOFIY91YhX5CLRuEBQQqTvXe0fgBFfOth5nvw8AMFQU8JxNzTd6vq/PXWGby2fxMuiHQawahCgdW60K8dRNi2lTmgpxAJAEGMA5ogGYOk55rTQNbp4bJshIBZzSkSwpagzMvzPlzuuQz4hNFdHzKg1iyYtMwbg7MLxazi0rf1kIzmKLmde65IH0KchtU9V+LukqAOaKSFJiEPF+/ybmbbu6a+8HIh/HYRrHcXQMEQIAKZT7ir03M1sKAgzOemFOTgsRAQciQtC5peD+xMmIiYgsADxEJJYAIvM0RiVEfHv7yBlu/tsc704bRCAiG7jyc6UkLy8yU6TrBUO6TThE2FI3j+aGfT9aawhLqRtRZa63283BmBkZtFsKW9nu7mGhBDVR0rz+6lNNzwdSJZLFZW5zjtYrcdmvr69UlkzyRj5HX19fj8cjzRkQ8TiOfd/zjyJCrSFihKXnUSkl9fvyIVq2jZE8FIKAxyN2Nqip0OJTFes8M/k5F2Ei6c3hhQCtqr3by+P2vEdnuIN5dM0shy1nBszXiYmbRgSYdw8hdrPQHgRmSuC99wDb+DIh1cwfYBG9mfCYlSXDjac2aK70ADgT+1Q2hIkOxLm7EOFuqTOGgElDsmGPUGrF+/1u4VvdLpfL9Xr9+fPn/es7+UI8FcQH6JgrvN4S6YyIUirMtfjkoM9HafDWYDY28wwUd2cJd/Cw3NUWETdmdh4bIMliAp9fQfsDALgQMjT1Y98jMAAD3JEK2XBYsEAEC55suGE+bILkhojh3ru5J3rypMogjdpDuEaZvxYBAOZCQMzipjlXR6B1ERaogvveb18apr0fVcqPHx/btiEawMgptVa3KKX88ccfhOvn9wMhSimlcimsvZltpaQliwRggs2mykN6fEwGTDH378/aI7c1TrwZhxGHuytYCsKkTQGGY/KATNEtGLF3W9cnqXLf91rW6/UdpSCidnUIGfq/SCg6HcTzG50hNybMnAW0THXR1G89z3845hzgrO/xZfkt6/4zM76gTgMnPr+yj03NYupFaq21SM1jJlyYnoLIM5w+h/86ptmJOk4C0jmTeUlAAJCIfgb/fBBSZjcHVunTVMpg1ffel1KJCGYaTcjs/LStae/9fr8DQC0rADgO4Ey7I5osNd9iWTYEDHPral0JsLAUKcx4Tlnzy+GYGGMaZtUql+tKzAFu7gksuvuUfB3Zs3dF4nGivOfGUalliPfZi2jGazJ2hxjbBnNw/1Q+QqB4udPR++Hug2U3RRJUU1GRmAvTwiwIo1gf64QWkD5qk6x2VkW/yad4WBotzuA7xhk8qluYQ/mZ79NQBjNx2hRLsUM8AJkd0YJSb+y6rT+J846adyKqIsesPLJcG1WUWb6aaVPVNMhFGNIZAFBKycVkRCilVJbW9+M4Cg9yrZs7WHgE0bJty9vFiXcdLDTzHo7A8cKgDY8QRkQ0A2KJSLGLXI41d/BIKAQDerggAYJkzEogOSsGz1GdpWeYnHcZJpU/y7cTy8x/MYp+CkoxyjiIxBGCkISlrlxK711q2e+PMOWlrItcLvWfv/7L9Lism+q4WFvdEHHbNrPYH63rYWb78f3H5Y99DyLY9xZhqppz5ogpSuMew3oAztJnRrFR6toQq8o2EQEkBh8Jwv047gCwrpdt21IKrbXW9ZhRCZKKfZ66VMb4l2Tv7lnAn/EuJ/upN5q1ljuYWTiyUKJE+FvNcCoDni/+m4K+TXugFMY5/yYx/XcKCiJmQZLljto4sbkGJ8TZvBbGCEaPAFdTpKd2u40TniKyYy6RC/EZCZAKggRANsX51xA5ZmWTH8Pn0wfPFQI6UYAzvBLgCaPm7/T28Cjbto2FJqJzvJD1Yn61KgWGvfkIDue7vIxrx06YiCxLeX+/AjhQ1Cr3++M4Hrm6gMwI3Nouctm2jRi+vz8fj0fmVDNgZjdw7wRIgYPTUoVoWCQiYgQ204gINWASEGZG4ZzUSkQ3Y5JSJTlFRFTKQmTJPWVmnO0BEAbC6SpFT2GocWIcASGbA4YgR6SQ8B5mgIDkHkZEyBJBrTVTDwJ3Q2ekygytKRJiYEHiQlm1j2sIw8cKPdIPOwIN0DRmeadmmgcegmrlE8CTAfLBsiy9H9u2lVI+v36Z2ff39+Wyunuql6zl7XG/vb9fb7db5gfCwIBSC2E8wzi99HVMJyUSZv/MzABsdsTgmI4VQJ6ChvlzQkh49o3zYsLzDkYa+OXXn40TIgFguE8YyzpRkVIgqHVrrRM419IeHQhJigZYaxHogN1cO7jt7rRsFyKJsBSIS05Fghr5QWhyjp+fZ/5kGZF10uPxaEcnRqKxgCEib29v23ZlpFpXkVpKfXtLjHNUP71biiwTZetlIrnIC2VdmlnokPZDxNaaaR5+O2l+89KlZksAKjGopuV55OCn1kpcztLN3CwcIjTUsxEkBKJSGNBbc+26d71SWWoRYS4FxkUzQAEY4F9u0hsChMsgajsRhZOBISKhpzQUU8Gabg99BA0kIs5dpjwD61qlkHkrKPV9K4Vba/dv3Y9d3fa9LmtdFmZZCkmAi0iphojb5QJRH4fyvFPbdultqBnmI4A0RAYdkCZLc2wnIyKdaoxJQ3wKruNLSd2ah/AQGgMCQARBKAgYQW4pc025tCplvV6vB+4iUqug1ISuwFNWOymC9HqWzp4wgaQ8h7fvllTAtCR75qc58w2HeKE+wsTyzmfqrNp1Sl1nBjlBrnOqz8y1RlZHRJSMYhqExvHZZo6Y2dYDph4oArk7UMCgWQ0+7GtDXqaJYVYs6UduZtaf2FlEGm5wtgRFat6+M+q2thMRcxHpKbQ6IAaUXMMiRMQ+0xz6NElkHq95BsYcwkfg5LqMZ7z3XtblciUI2vebWuMypNVKGaL7ZoEYrR/HcUTYqLLR01YUETFA1J9odN7pcUHnBnREIEay1InIXwnuQX4ypUx779O6eZhoZDAMTA9XoGTuYqK14AGOAee2KyLYef9ALRDSAZSJABQRBqgTk9xmZh5g1inAPY1fQM1Utdu5UzhAhRjMk/LYm6EGbU6s4VKwMiOGmfZ+vJ5CImLELOgTe9AJSnUc/Cof+xCWNy//k4kAvNYK5rf7V16iwblPYWBwRGShsqwWeGhHYKFwJBhOmTwHICmjUQPIwlN4npAjhmnl4PwjFS7mFNAhIkDU3AzKWAfJ5XTIWZ6ZpaFXvNzNfAILnzVlvA49GEMWgR6a/FlEYGIRXmld17bvvXe1tqylFrxca2s3CF3X6qGqwEhCTFOKRFXNe122y2UtBT9+XPZ9//z83Pf9et2SBP94PJrp+/si4sgysR+LiHVdHdEN8ubi5JOciTkIGAq8+KeYl1LKsm1ci6VcCQTXUobkHLg7M6Y5UfbuZ3I9W/zXxH/+Ip/bMfDyUZGesT4f5jNBR0Q4Bnj405HuPGwwG1fm8grVU1J0EhUPyjUOmgqe+coinK2suyHQslYeti8oUt3Vw9wxMLv/HJQlad3dh2oKIjKDB1qf4qcgEeiG2cDDoN27Q+TSOROnMxNA4FQQSzAjaeg42+lMKkycKlWj/zeAIz3wht0MTx/HwegQOQt3RCThSfs5KzZw9yJL63sM5bLmzqXIjx8fag3QIowFwkO1VVrXWuugRkQEEEkCMwCpjkwRGo7qJsAAZBpKzozMSCBzkS7BBYuuzJZ6vYFEUgCIUJkxMBC5LNW699639eIpuwbDGChPl5kBMZz7JK8jrxyEQrCDFCIi5hoRxIzIgCpcpWwADEGHmqkBobAcaqixXRaE2B9f7g4ITFho5HVmLqWCugdCEDOISACZupTy/f2ZN2jbtsvlotOdBFn+/PNPIkqdx1zpiYi2P67bhZmt6/v1TVUZ6e1yTa09D9+2TYhEyLoCOgbHWPqJ7LVYnsbGFi5zwSNeFuXVjRAj0D2HPujuNBfoAVJAWh52R3xaes0HdqBf41GkIJ/aaiKgnRHGbiuguaMHuhGB9uP72CsLhB2PGzMwGUYQSy2XANRwkRqITKWTH90dOpKvKxFygPVudeGXJva5vwhM2VgAUxhqOIXXUksMgvv59fd9T7nrSKqxVGZeytgGzqodADJwxRS7TLoXEYejmnmF0s3DWm9ElBtr6h6ILGNrC061EXAAJ0Z0MG+E4gmzP+WPJHsts97aYd7BLXc8uEhMC0VCxkLdH+3oJZHOQSil1Ouo9UKRFsjpe0U4BCFzWOERY8eJc+oVnWhJ5v6EUbi1Bqlsk8pqYBGKgLUCKSAxgDJRZS+LVLpUilJKUraYuXLCycHM27ZlIRSO27YR1kAPsFpXnlY4TCUvYEZ+EEHAGPowRDTwbzjHOzA46OPrc3JcE9JeiCzXM5jTQU84grhKaaYYCEIlR7hSYN2qIEfE0R4FE7DwDObZ2bp7hJ6l1Fle51NMRKm+gohZmy7LAoBE4oPQOLZlASg3n8424MxTJ3p1RuPZiMaJthBVHOtfw8spB0H5ImVqrcLLz3nF4EWwYQg2PTcbEacWMNHEMH2AOL1bCoHkwvfujsyIghhIFIgWruHxOHDLWjnhaMoGJDNj7nymH7mZoSAO52kQSUsZd0/6E57/691Uc7FbT+BvEEqHSqFCBPQ+TffcXKtX4bVWKSUfVSJKj7mkCUSAeQz3QzMz6+Ahr6ONfObHtor1vGCzvRjbf+ddhIHHRIBGBA7bkVQMyLhhKXzDRWp5Giu4h5mbhoUHMSE7BAbEkLYA91xj51pGK9PT0u+sG7KbBweMUPXOI71ZH+0HUG9Hdryj/piKpGZ9P+7dq7ODVAsVYGIw627qoWa9tR2AfByjETdfjxQiXi6XWTmpqoYBEYypYtoKQ2oktd4sNRutq6qGdu2trEu9rtf3S1lWZAqg0ynWEcyUh/cYRBgwUZFCjFy8a+4N5jJABJg6AGBhoAqAFiRA4WLaelee/GxEYgIp1BrlM8xTp3+MaRLqNuexHJ2Qdk9Nej8OqQszOwQQAbIjGWCEc6lcynE8ImzbiochWG/3UnGr5fv7AFeRBbFrP5aVez8iYFmKCIlQXQQRfv78+Pz8ZN5SHXJZKsDhbt+3BxFId2ZnhtSVKiXRiMGp0NMkeWqVDrAB0zZLAGhdI/2McI5fcKoKzmw3OCune8hLooXnUzCOwwAezsrgfCIS9gAAhNzZzSYw59TzafIXTuHvr58lez6Do9CfboNnwvP/ZupxloDhrq0jy4qFOAJSOYY82AzwqT7rr299XjQRYS4A0dXDnFCABIAA7GxXXjuNM5S/amiMsAuQq+rnhXoNvhkQB5gR0XuPYCHOgCsS50QlT29WMOdVOt/rfLtSCqC795TzC+BSylpWc+69b2sREVU3BYBISGiKOZy+jKCqpaQCKbi7qVNBYgw1G8J8xTHGni7oSMlmXRVbY+aSujZFIuctvRFjKRXRkrWSIrBJ75m3D9wBcEwXTeGMdZH6sKZuoBwOpbAEI0G2zRRQkFxqkl6CLFS9tQbBRQRAEKkUev/xYT03WE51Iw8AnosTGdED0zekMFEiNkSwLDn2dZFaa7UY6/U5Cns8Hsx82nbmCGtZloz/o0ooUkqx3u73b+taFzlaAIAgeSgpEAMVKTU7ZAbCFF7LI2fzsVFVUhUmT//CAVv44/Eodd22PF05gM2Cz14a7Gf9AQBIT+bATP8D0c9bOv8XpVBvet/vcrm66/3+tS4FQS91Wy9vy3YBqiRGwmEeVJAcwgAZiJFFiCOs6+GpeS9CBKlcYZ5R6zeqwFlapf5QmlJdryNkuTvhEAbBSkSCnGxw6n3P3YzUnxlazIPDA0xFVQ/tleLxeLAQEZwLbGfBRCRm9xlq0hsTGDEC1DFgUGuEyUcrDtqNiHo/jmNXawSBYY9j37iuy5oJ0QJ4oiELVyYMUAiKUNMAqKWIkyBamE+/qsAhCAiIHDF2Ouk0F5/5Kzm9tQ50wFyDGIgQTcQjoi6ODBgcEaVwlXTAKI/bd0SUxZmZghByhSmR4Aw1nnxo4cUhcmxMIwzizCMpXDrabyICzq546N5EBCIHjaVLPhcoARJ1Zn6q7iAik7h7Mt2FSy1X7YHpKxdAOPTgr28LAOyPQ7URCRJY6z5XmRM2xSGBRQApM61mlhkwRdl5KiMnBAkAAHTac56n4iX3/SawdiJT8/AQ0dNDDXFYGZ75JWN+vhpNY++TnfX6g5hKwqc2A8+5dB5+UHVEYHaZ2mv5RUop63pJq6P8PO/v7ydrCBETj3cL00YkzAuhAIInXQXoZOHWWgFy4aoBQKkrTiWM9IEwMxF0/41ddl4Nf5ElzMl8ugQwUmvt8bgF+JSOc3C9XD8AoDcFgCQtl1IiTBV4RqpR5Jq52m9UmfMte+8ehohAyLkyNf9dStPTi9S3ewoYj8STAiwz/IW7lbouy1prRUAzNXPV4VkLLMRlhFaA7gaWB27CP2ZzBjEBTqHTrISIICg/v1pTVQzIi0H5ABjmYnbF1LLU7/ufj4c6pnpqM3AERjuca+9djzYqb0R30Dm3lecO4uB47Y+Wv1Or7Pt+3bZMZrlywTR3KHvPkY0QB6NDHNpUFRRKLKUwIEdARml1B/RwDPUeRkSOZGbsLGKIjMiO3t2CIAAtAnGkMWEJJHNyIyUSTIsBn0chPREGC3AM10423qDjBRE1VXJwoLRFEuZADuR9V+3ZVhEEIAOmJDbLer2A2/fnL0Fct3IcD6QuhfreVbsw8bapOmGAAPFw7hQpvR/H8QgwInSP4zje3t7KcAdEAGJaAHYiYS6Elam4gISKlNv3Y/a7YOoJfHfrAZYwc0QEAZ5iHUBLXTknm/HknGSCp4HYOdK5wDA45WeZPtN8zO70CYcTkasFJoURGDmJLooRwxRuHtf5jLxOrl5/MeyoJpZsFvAiH4tTmOL8YDwiXCBwKVJrLlIIoY1nF4MIwQIJHRhleD4jjs4ng7JjIAz4CgAQLQiBWNXnozc8qIkQUc5wPK8MPh/J2eefRSFO3rYNd9jndBXQAyI5MJlmlmXp3WSqo8ZslTMUJCH/ZF5mh1NKIbBaSBVbPyKCYOW61FIsMCJqEW6tkePC7UiCShDx+TpwWhxICTN0jOhmWZ2IB6IFQG50QfIB3CHAU0rPTNUVoC+lAnJhQSLwhsKA6BZFqnD0Q+/3u7u/vb29v78TUWuahPJzTyMVgjNLJqnOzNQCnSA4irIRIoKaEAKiYD6mXACAZb/dIYhIgCUAmQsgl0raullv2rO1BGJCRuRSllpXImrWVJW5pP/O3/7tf3TT3o+y1L0d5kbCt8d9WZafP39mFZVY+8jZCF9fX+ZdphpJ5ov9ePx4fwPwr68vDDNrC/JaCyMUFnClbK4JSq2OjjFk4EdvPA8VMQI9HxP36NrVAxHv3zvgZ611XS8xYosAjSL4zESj7Jh9Cr6goXn2ZDhF+GuHCfmg9Qa+LoUu28IU2ndcLtfL+7K+hQihM7MeIewWUQSXZYwNkXOdDJvezvmYDSe84WQJL70oTAooTlk0NfUALnV7e+/9aL1v2xYG9/sOkArTvCzL7bHnWqp6MOfY5xlbELG79d7dtWsrhdPFVtVzFglAQ6fYBl8/87iZuTcPLaWYBhMhFhFuCuYtXHu3FD07ekvBBreureVGTcbGtQgzL8JL4b67h4Z1692DEZh0CVdEJkIoBB5EyODZcsAII646ljBi+mwMvXYfmEIplchc9xl/DDEq4/t17UZMi6oHoFkEGDEva8lZfahBGTF63At3Tj50TF4iEwDs+17lSTsJQPTAgXBPq4HBJ+HhaUMcoTypO0TEJBZuYe5epkykhccY9yFicucQWbgsTB0AlqWUsqB7FmOpvdG1OfSU0Om9nQw7M8tB/VlB5qHKdZdlqVlTZSA1i31vMAdcJ8v8PDzxsq10Fu6vj8+ZBYhoeFCo5h7nmSby+TqfO5xoTrIVTjr4SXz1Fy/IWUZntn0OmYmWUsYTlOVW731Ztm3bdBoM06mARIlXQgQyl9ZaAuokgpgj5VMpEgCQuTBb0qERg7iUUkTqLE4gK3gZ9jt28gbn8RjEoSzxAYMhMxwBeF0KgBdGRKSR2hoixwDUAMARAylKKUIj/fVuJ0gnL5XxcH/Nwj2p6kQERLN7yGCaLICpDHxW8B7uqn1wDBAzLyLzsqxbIkzhQ746wMxNu4c50lgIyEPf29O5wMzMO47GazwVs7BI7imPeRyOOT5QeoMNF4MxZjAjkgh8PI5fvz4DSqlbuCboBN3xOIzZXQfrS0og9N5dwWeBm/SVMncEZVlGBeYwTzAQUY6VEYKI7vduZjlKa62VRVK/om4rFwKKER0MAgPAzA3DIBLuMmbWyD2G2k3RTi5vUtITbKCUTJNSA9At1IMjwjGHbjmqZiEAt8kuyEFBzIEUgKsqYDBzUlnMgiiYgbnk/xCaUFGLJOGFIwABcbgTS1lqjhl6P4TAe0cPImIiBSCEWvn6tuz7nhZst9ujlLrUrdbKUgCw9/bYb5lCELkdfV0ub2/vn19/d1cEcY9mnqyT080hAmtdcexEYkTuDpzLvWmulP9h+ej23vO0JGwAFDwM1eIVujYb2Ha+zol/W7iFuz2bbEZwD4RUjAlIGvuYuLG9oAk4fyLiZEu//j7ONmAmADir9td/+xId1BPtCAAealY2/N40x7OEMnae0YkBcMgvZk3yDO6EAFBLTZGTJzLkANNeZNIPcqjq9MKkfP0K+QCCGdF4ihNPZM6YCES01sVTEx6GFBhOfGiWEUNJbf5+5uairohwBoHZpSOEIXhAN+tzosIiFYmZCqCnUgsEsAAzkyznkDfFN1U1F9TyoqN7jqP0hCTj7CI4yDAQQeYTBK7h7g6ZtGxZFiRBILeu0/JmXeVx1H3f8zWJplyvu3mfvzMYU3lR06ymdwsU9WPxhTkIMdANh1e0m1OFDMrhWGvluoWDBQhXBzSzda0AtZr23rtb18j5dS3bmUcjAgKRpUjxVJgEYEEpVNIDXD0XT3PUe2Jm67oWpqM9IuLt7S27oHRBBnN3/ft//R9iYIg//vjDrC/X2h+PAAv3UorjuJVHbzJtxj0ZXecSBZx4iiMSAmbMhCB3v91uIvL29pF9b5HqqLMgHqPg39vvcd7y2pvhTLt4TvAAHdBVVY+99/71/fnxtv748a59/77tud1U69oxStrnLXjd3m/7AQDJqUgqUSnMggLi7q21LGaYCBCYOcel4Z6my87J+WQEzJUDEEgC95QHMbPY9/1+vyOM2XoWW/m8ZKolonVd3d16I2JHZ0YR8uHnMtCKcwdXhPHFZHqOCr313aMhgshaJI0I8lgaEVkYYgphZhM+jMm5Fu+6Pw53zyZBZNsuVQprbccRt9v9tndkYqpcNrdeyiIiwqkeCADopuGBTEQ4hhAR4WhgJ/SQoab3nltGAMC0EmB4Nw9AI2YpgiwQJULNI9EPAK8Lu6O14bjXGrJhgIGbuTpEMEGQOwSYJ/3WLEyRBnuWaIHw4XA5w7JpIIFBJIMrpSDOFEDIyEQOBBaBffKEEZLt65a66UCzDq4oBczD0Q08IFSLcETs+733I4EJNfWwDPVZ8+Xc+BzgJFRnZt/f34jv7pZm0j4fgOQLwNiWngyVnHTok3Vzpp5ZZfm/1Mfpvf1S8UOqDpwvEi9jahkmaGc+ivM+wtzjghd+EQCMbeOXdHkmoFLKcRwpUnfm0Bxr5EMBY8ohEYGs5t7VAV1ELByAYA558k2zKJ3XwbMnyfcagxEfGgyvjU1+2XVdM29nLTH/YTAXd2VGmjCZu1v3z/7Jw2AkRXKHgj6g5xAeBi8gEIGZ5PF4nHnx/AT5ErP8Hz5dRBSBSWpEZPd+XllVRfCc0vauUhIEwlLKZXvnInmxYCT+lF3Vrl0dkIWpICIVRgxg0qO11nonIgowZq5ccab8M2dnNA5wMxd6GsxyEXePIxfVwMJUFaET9+/v72PXUithTeEXJqgB0S1d1hND0mbmucLP4DRomk9hFlVVUzXr1+uViNa17ve7u+87ZOYwPasHTHEu7zsSfd9v7divl3XdNl7KspQqCzNHIHiomWuDIABqbWfmQyepo4ypU7Jj3eIUrMgbl+4DBx7hYOQ+tBYGsOruAB7j5kqttbVRMZRSEOVswWtZVBUh69qkSQCRbAva8PKgAFJ1R4tAhmGcmZvjre9brcnjx3ih8CJWZivSPbbL8ngcx3GEo4gUXMz6fd//7d///Xp9/3/+n/8Mx227Xq9v+3Fcr++Pxy0CTcOiLWvN3jr/3yzW9ZJVQqKAqat9HmmavxozppcBVj5y+XCKSAqwnIVCelvQ5PPhJGqfWvnnu+RrlpcqFgAwhxxMps8B/SsyAU/sgc56/SzlYbaCv4F/LwjHGVUHoTJgjhafkgX5RZHCJ/EAZgMw4xGc404uEhE8W3fhmoOspJR4RKAjUToWOhidzl+/DzrjZUkmIe0sOyDGkvpLW5IFK2R5NCuqJMlQa3ZekDM0iUg/+vPOEmU1o6qEaYttdWHtSTdURMxZdlcFgCLUuiFGrXLuwPiLmV9S7VMgxRAzyJplQ4u/X0Ma62ckgeAR1PsongB6G7be2d5Ird79OI7Luv348eMszVP9Jrt6wOHbRxMKyQ2TaOHuTS3CRSpAX6AkWbNZNx4bcdWlLOjujENKGZHTp3mSW6KUIoVECLsGmGn4HJr3y0qnshvysqxqHhH3+/1+v18uFwRnhlLK0favr69EZ4aa+5A88jwMtdZ9v/fev7+/A/yvf/zh7u/v73WRP//x9+/vz/frm4dlteTa1jX9IwEFj+M4HdPMLEP8SNtjTo1jHxyeRC8R2duRn2rbNrc4gYnziYMJPeIUccovq9p9rnw9z6QZ0vMp27atFvn69c9//J/b23Ulguu6IeKyrMzc3XPhOJcNN6R5QfImeilcSqkLPx4PH4bNnDShrHhnN/LEMpk5lWRwjqpaG+p7SUVY17U3a4/dfdh4bet7zOWorGWTqI2IpYj68FhU6+tak9XNXCK0eTsOdAeRmioLZwBJ4eC8XOEopXBht9Q88SwzECD0yJVuxDB1JKm1VqoB5q7u2loTwmVZ1sqtSzg/2OPYzTEkzKzvR93WdV23upGIMAKgxuTEzgftvKep+3QO9FTNved/Hg2FCAPdIdAYUBgZ2IEg0kYe3TXCl5pWs5qaPaWUbVuKkAPs+65utVwRFHmFgL0dqo2Z3Xy7rBl7t22jILe0aRtFpJnxsBACmkZSMzgizA2THLLnUV+kUqEsbceWICM5M4mSIZBNeyxBypzfe7/fv92tLKswm4VInCIZ/jKSza92nvCPjw9mvt/bti5JcsvQN5hIp23IDOZzb8rPRyYm6eCMnPa7KSedoNjLVNYdkoUfg5pYPK2EfWDt5+N8/gInZPNauOeXen2uz/d9e3ubvfHAoCOei2TZJ5SyuB+qmhRNMwPoOCbG/30V/lXuxickjUxysl7RY+DqSAwoSBDgXWN5Qk7ujMNCOM5JFEaoNgDg5N/DqY2RlRmZd9VOwwR9bOKdl2jk6fyGiTy91O4SEeDzeo97D+eysPAMRnA6pY0vJlxKKdu2le0NEdGfhW+eP9a+EjZwRyCG7/vX2/VKRGb98/YJBtfrtRQYbFTw80wU4lJZVQFJw92FAAaMsaTsEQDg24/tfo/jsYOatePzfmPE3jv55ftz97iTFLN+lfq+vb+VsiCEhzN+fn71biz1drsRUWv7qBustz0Xd5CIQjCQEfF2u9UqyPzj53veyPv95u4QYdY9hrh7j/iPv/41euu3u2kY8uXyR13+uvLqnoMzYC4U9Hjcwr1FPx6HanIBbVmWDj3ZeBD4/f29LNu6FrUIBC5SsGgoKBBwb8fyc2n9HhS1VrPe+gHRa5VRnVcJZfNOYK5ORNtSjwPaoQ99jJsrQoyANHwraXEHLLmCSIIRHno041XIkKleyu3PLwQOY8HF4A6MeuyVYm9NRLor9d67/vj5l3Vt//X3f/CyBsV+fK1b/fj46e77Q5d6RaT/+W//8evXL+1+vb7fHu3oXipe1y3CUu7NjSHKWisFeusUDqgIAGGElCg4YK4pWVaqSfID9PDn8xNhIrUEN22llJxGqVsptZSSoTBbVndnqfmw5Z60aZ5qFRGNDN+ptBjo4M5EBJHMBkdInQyDiCLk9BxBnoHpTL0A46k0dXdn5mTEZoZIXBAGgWQEXEJEdETECEbIwwm5I4GBdOrinRTSrD4H4SQ80rxuft8444UncB/opoFDiQKnl8oMDM+ZwMBjACKcmQASyHluEGZzm3G/uaHHWjcCVFUPDwKIKGVpbU9ch5mBEJlcY12W8QEQAaC3lt1XQAEwQOu9BQQXstDHcRdeAICpaj8AQIgD+7F/s1wKk5sJMgIzjyzFzD6mVXjcbx4uAhGmTpfLBRFavy/LQjAUPAgrjBnCll5IrTUZrhykCohQqgSrgXqB/rDt7QoAaaqRZZaINFOipwJa+ARESBB1rcU9ICK0G1IzZeBSapqKAkY3h0PdPURy0CFFwrwfHYL39jj0sSzL9f1SSlkWRrCb7no0B3//+aEQqdQw8tN4cGJZtuvlRylFtblrXfgN3n/9+gUA1jVMv76/L5cLQeTkSrW1x723HRGjH8uy/PnnP9+vb8Rg7djWal2/P//8y19+3vb2uB+XtZoFMJWygVE7rPmuKSDW3KMtS1FT716WBSh1l8UcSIgCAFH1WLfKgsTl73//r21bRCoK+t3CHAOE2c3CFUcSGU+NO2XhEQM4xPxluAtj74oBEEEUau3x9U0YCTgB0LJtERsIG3ZzxdgohFmsK6N4hLZDrZlZ3keRj0qlSOzHTdUQWW03s1pryosGeARAjDLFYtgo7vtOqRttsD9aKUWP3d0vl8sfP65/gh7HQazrRhikqgCh6rVWIlF1AOoGdrSlSIS57VVEhJiLrBd38N6CsDUTWXKqSUSlcM67TqUxpFx9yZomUsVozOWYkQmAoB/MRBiqzUKdhFmWsqCHufqUa0ZRAagL70qYUgwYEd2V+mEEirSmYZNQQccwJRJECbVmYJG0Ro9JkfUhN4dZqBYRs+YOQcWM0HhDIQLneBz7vjd3R4x1XVgQKLrj3ptq82hq959/vJPg7XH36MdxEG51/XDlFLknICQ3s227JnuHJqmdojKBeYcAc0AdTC8SwmnL6kPlkWotpHT//KeIyLIkxDD2ARwROEwLC3ik9UFEGKDnxqIHGar1wrUKqpthd9cUIg4vwpfshGtdz00AxHh/f8cpT3m9XlU7uiPisizHcVRa0HPKoea9lhWRk8/Yu/WeHOkM6YxzJ9W83x/fEbFtVyQy97R4O/dWj6ObBQIHWGt7hkoz06OVOshEAMCISbII74SCiECUhLEITDFHJPIIArZEBQPdQQ2Z677vdSH2CCRk2NuxMWGKzwZGROsRAO7EsvqugBButda8LaptIibYNTWjCxFAUCkYYfu+E2p4mAFzCUJB8ZS40AMRASH9H6hQiuAV1VorQFK5eJobIg0qYJIcCwJ5IDGXcABnQUe31rsmOUK66eO2J0BcLls07r1rxDC8iLnrNkv2k3DiAb9xef9Fve4FjMSJ4C7v7x+11kjYllmQguLkVQNAEdm2a84qNLGTCESstbraunbvqd9cRCgp/Iz03z5kYWZldydAf2mYiGejeQ56iNJ4Om5HI8K2f6/v71LIestFpWVZvr9up7O0OfB0HEjkybQhpqpyLMtytAzi8PHxkVSEWeXotl32/XH7/nbXdV0XKUnBv91uv74+870SPlmWZVvWvR12qJozM/JQ9VqI0tq6DMxS1/WqqksZpN7eDyKSWgasDgNrYcEAud1uSMknzkF/Jiw8V91rrfuRFnfJJ/PRefu4R62p+gOnnaeluCYKBKU6XTbeiKpuay3LuvV902NHDIO+bkt73LNhVm3Z7HnoVqv2A8Hf3t5SKsQAH/fj4+eHOzzuByKZxuPxyM33P3993W63y2Vbl8vwowVXNURca7UpHRgvPbu7I3jWvqp66ks8kY8p3zEBBuJgRMzW02KonRgG80ALXud9+K9rnQYAPKJzBFhE0ARgTjwAf4PSx7LmiRmcf22WEYMLnjQTAMChNQYntHlCI+NfzZA6Pt6c3iIABGBAeIAHzIbhXwB++l2ZHl5+Xj/5/9vfOX8HX1CQ11dIGnG+keQI0iwAGCHbcjs3dxGQCCfDIa/Dvu8RjmlVMNmZJ3ei984iHhqR1NhIX7uMGFkNw9Q98LEtlPJBToSMCqNs1TPuJdfLzSKQmYosqlprqWWFtGZjVnWgIeKWF9OG2Pbg8WdHtu9NhNblYnM3a4yzAgbg3fsgQOYrOJ6xbtQi+VEx57MOEd3VnQG8CGGO60hFpPcDsaXwpak/Hj1FRRJiCPTr9Xr9eIfo//lff4/AAq6tAWyexFwinJ6XzPzjx49t2/Z9b03Xtarqsqzmuu97lUJTz+7z8zPA3t/fe6c8Wv/8+/+5XC4fHx9//vmnmVUpR9+zu6u17vvOGOotjERWRwIACxDk78d3OBKRsUXAvjeuXEo9jsM9iASRI2hCXShcu/e0Kchon6SLl3gwZqSJwzUdsJm/cL3OB8EnbUBEwjyHIclAY4Jjv+NcMqm1PPeFjhbsjA6GXVW1EUOimF1TPgLe3y4puGF2eCgTIT4fQ55ebz7tHXLKfcKZ+V4nyoaIta5//CHnFDF/M4tpnpar+Z+Px+1xG6YwwKIK2hVKUg4KEzp3ADh6y2iZIeT14cVBA+Bcb/fpNExEOOXhI6z3lqaHhOwGRIHItZL5cxqZz+C2bcDUWzrYCrFkk3B+uyGSY0neGnOhcy63LEuCDqqa1g15ZgCg91HZezKOZrxq+3E89q7m7qUws2j31vf9fgCAOxzHQQTHsSZxdD/uwoswNgXhbakbEar2svDgI8Ro9QGAGX0sWRJRmJm6S/rjDjGAU2SZ5noPlrIQjYU9Zk4EOsOaGSblLwt6AODfddZzzp0nhaisa0Hs38f9OHoKcF+vH+7em0GhZam5f/96VBApbRyH/P9ctzWzrp1QcsRxwjentVBEJO0iqekJ54ajqhKJTbb6YEdH670juHlXtaexIAsZ5N7njIeUj4yaEo0hw3wu+UwuKY2bDe37+7tH3G633rt7Fa6EkovgnU24QlAp3Hs/jjbx6JL2fBmfAQDxyYdBxFKWlBZMv9XkNTCX43gQSYLejpSUJ2bWjpmjaYxXmLmMNWl/6rAJE2DuMu3mFmFERMTpd+aBXHIlBikMC0WERqiHB5LU7KMQ0RQVIMIlEM65Bs7kQRN7AwCLoGCAUf3MdgEiMBm0qQhJJMRRFyqlsAx51/w1IoImZ24gfEgoBR07O2KgQaTiRdp0p83TIoWHnG2SawcnIYas4lkAwQgoL9vQAMBU1kUgyDW0ei6tdpKLeTe1iEpQCiHAWuTj/WLdcnLUmuLYKrDjOHo/mDnL4ryRmTtzLwEBl2XJZ+zr68vM0nT6zHwz5GGKE6nq5bLVdVmWjamUsnhXbb21bpCjnDICOnjbLl/3m4hs24aI1hsiHn7UWmt9P46DubDIox29d/wDidG8J5ADMGSqgqFyqQuqtXRTz9ApteZfnnUVIyIE6a5n7TWgU8f7vlOlmCszdBIiSRDBzdVQcC1l9d4CDMIKbUYA7ojBBOEKiEzu0QUKI7xvm6yX3nvrvq5135twrXUtQrk+4u7H0RFjqduyrAB0HC0iSpGy1q+vr2XbWmvaOm9pkRg4uSuEOXhJ+kHq5Ew5/0geM9nQIEKiruBE4H0IOzALoCdkBXMbkrkQher+Wp66u5m6e3DGmEhq2jyJT3YjvDCJzzr+X+rg8/+TPBeRhHqPCJIhGHwW9/k4LLWMlwXDGPVjElBe8+4Z9H1y+GB242fMOmdi8FJ5v/zC4L/1GPNPHeb21fki+QeWC/UvLZPn0AFCMQzDIQABzH1aSRBE3i1+kfjNi0xEcMr6uCfPZNTKQw4PEdKz7KzpU7oxmE8eAhGlk3oA5miSZs+cFAsEe15qM38hqUJEtHZkPYfIQwWZ4pwbD8Sljq0YzG2ZqTVklixbIAL/3WDoJDlofyrzllLdIFoLost2SfwpKebZfkBIKWJm4IEYMCcziBiO2rUdvdY1uKq2rz97eriul8uPj7dfvz4tYt/vP+AHGABQOIKjWXx/f2fF8Hg8YqwqLqWU49iz8s6r8fb2BgBdDwA265dlNVdtGhH/43/8D/O+LEv6p+z7flmXAEfk+/0u1hEgXDEAELZtYy6f33drlugmgABD3zvcnQVLIfdg9qiCIOFoFhBY6gKUoK8jppDzMOfKAcg558ka5ehP6/J/2ZaDOfIaJzbnD2kBIyyEncjMEMNdylJFJIhcrffu6oqGTkdvai29G1Vb7w3g8NClUqmSnxDMt1qSZeTuqf0GMRjnMPa/cR4Yw4mjRYRZ1FprXZlKbwYRnBuNJdz96A2ZgFDV2E1NuykRIS8lKTcaAogkt+/GXGb5LY65nnMSlJ90BUTJfgkAINA99Bl+jFFeJ2BjhBHsAeFMKFSETMx6ICAyoSEWRORaerNj1wgUXiIQwAkpzMOcCgIgTqV9H955w0iImfNtnmHtqYs1pIFcgwhiKFbF/XH//PzMkrd3NrPee2tHEclKru8Plrhct1K4lIUF2mFqPQyJhGUV4VIHfzghlSwSIqKUQjE273HIblNKKWapMNcIJWubCXEWZj6OY950QkQUzjVdC0+xyGVbA0FVow9bNA8IwLRjKEwW8CKwZqVEqRUAcse9d2PWgkXVVVsuyCGiELr7UupLnB/jXxzBfGy1nlf4XFgiolMueVuvecFVnUgJOQL64A1KroBlMxDD5KQxMxVgSajXsvE7YQt3L1RejYXyM/sglztg8riYmG0yyvIaruua4be1lhRlAEDkpMcgMkA6wcFBatNhDTmY2Yb8ILF7wjoAjszIwSAcrNpDHdCBqgOgDx78SaHJH5nejmezAYBjD9Q7z28UES9jatDI88JIUkpNH1Ags9YQMbAEACGRLKiRYqNVhnby1AfIxOKR2SV7Ojw7nheOLyIiE2iuh3IpVApQkSDWgIKCZSFkADDwQEpebP6s21ospBgyRWAzTTkNmlM5ZkaPJMmZOjLEVCIzyJWtAXaedcJEo8aAkoiIRMqy2GA4SbGAB+5Rl0UWFpHKpP14PB5CkieAiI7jaL1n8Z1f83q9YkDygszs8Xgcx0FErfX7/V7KyN+Xy0WPXNsqP378AIB9vx/tQUTbZXG1UsrlckUkTLYiMCEyIBOpeTcNhFx2ed/WTIrLdt22TaYPAjO5K/KYqlfaEHFd19vj9vPHH+8fH/txpHGI1DUQIMDARFhQzHqEARADAoKIII6uNzcCTWNZlnwvs3CNpZZgj+iqDmkHCw6WtiVM6RhlpkjMuNRreG/Ht+keXgjw0IMBLmtpre39IMAAFfKtMnC97fd//nnzCOTSHvdtw1qX+/2e9W5ueLTW3t5WIvr6+up9X9bCfD2fjcIyA5a6u8yVytdq1Sx5bzUPdj+MODfuKSGiEfG5ttbV4nEcQHJd3wGgtTGuiTCiONuw8xjjBOo0cFirYEQYAfo8hK9/eWL8v1Xq//KTxeJoUx1eghekGK5NDSgiQiAmHotNL6RYmqo4J7L++knOD4MTQTzBmH/5VD7w/t949q9XYF4Ej3hOGDx3o8ZLDSBAfWzBMhgyjWVOS2TdIByT9xmOkQ36WCbOTj1r4nA9xyw0CilclgUghT7dHRBKik6k5NRZ5ef3nTtY7mPe6uZKjIWYhLSHu6npmU0jLNxVtS7Se2/HI1trVU2ubU7P0rstg2LvneUcuUCm597tclmF6yiqU/5vzhloahEyFR9rjV1ESKKUyszH0VQ1AoloWTaAh6qaxXH01ppHZ4TH7gRmZmstuU4aftwf9/8/W/+2HUeSZAmiclNVM3cHQDIiM6tqZnrWWWed+f8/6l7dM9VVmRFBEoC7manK5TyImQGRPXhgMhkk4G6uF5Et+/L69p3KjZnNTN2+f//9F6KvL8+//+Pvtc46Ur8uCfsRSQYczlMs6yPVqFkAmZGIvLy8mFnYrv7MxLomPPoAoe/fv2/LY55ncH28vYMrc/n544/391eIK3rU64yIjA4ArkPHBnViKWbx8+fbpV22be2bLUWfnp4g2ANsS4thFSbAQQgeqMPc6b6+uWcWRy5my7SKU03uB4gLx8TMzMohGYIDxj73cn7iAIAZF++7cj044aGI8GEqUpg5ACNDD9AxDIEhzIa6jgBPT/RSSmHati3AAdRD3dQOjCyc3PL+MjhGTGYhxKlOdN97znwvTMUN+qatcSmNeUeRplIdvUhz977pGOa2iYgIBVcCpCAEUIf3976u7/X2PKWgGcKzG4kROph2d2DA3LmSGDwAeED43tUgYkTOy4WZCaUIeAF3GIPCg0ohLogFggONKIfeSEie+nJHrEZYcp8VmU7oLc/zE0PMM43bkZ28T0XkrFhEBD4MsjCh67NSQUTVTBSx9FhjK+6eTLwxRi5vd2fgbe3bFuvaS00aG5fW5mnOpqv3kWWr2Smh2fv19JvCJC7uIA5xkXxTB41+x5XytpqmqdZ6ykazRNmr/6P+I+LzGEwSwem9kY5q27atoxMJAiOy6rjf77RutyvXOhGJmfWuRELEiDx6H7ppH/PcMndpH2W4JW6Yg5rj6X2k0/ChhoodYkD8CHvC3kfvWkqpJduqsW1LKaXWCRqt6xqeDM90+t5HXr33iOReesT+To9BpRwXX56QR3eNmJ7tAJA9D3NxBBu6rj3N11V9jG2aVMS5FipIRQBIzdz0Uq8FaYJIWqy7J5hiFu5DRLiWCFEbOAIRhYQQL5fp/f299w0AuAJGYUQCJqnhEBTncg0KiHSrBodAAncINw+LcArJqg8RI8gMU5qPQUjijggMhIEe6MhRZwYAjQBHhoQQKh+G0fu06zPkBke3DQCIGhG7YV4edrCPXwFwDMU0Cz100FILEQGTAQoWACBmwSwB96tdI1Ck8h6/zLxPDfBA2gDAYPfdOQ7ZXdTl7uaGEQCUnOP0CSESANfhxzAdAVCk0IXzAGXc/eZuz0+1TFmOaO+vr69P16cfP34QyzSV79+/9zHS9jv9oSOir9tumwgQYEl3uc6XU7pKR9B0ck6YsPfuvseba7dluSNJadUc0g6lkJzP3MyGaa1VhFprtUwbj+vl6XKdDAIp+Nhjuz6YQFg8gzkQt22UUrKGSO1X750YkKj3TRUYEw+AsG6YI0tClBwxuzMAsCDY3h66h5qta9cAA/ThaeCRjlrdBu4mkqNQUVVwnIpMcXFbA9JuYlgfTt5KZUYesXmv5eK23S5zUPn3f/+P+32dn557V0EZasv6DkC32xwAa9+IaJ7nUnZAXdUn4FIKIrU2Z3SfnVoc1Sh/ijQ6H2xib9NUU3ieSZAAoOoBPT8CF+/dhnrfFAUXXw9rW8gePUJZaP/8d6Y4nSNL+Bj4nGBVnLwy+NSRn1sA/t8Q97PayNMzd0BEYNDhj7GX76f/VJblZwODGNnamdt5DZyPJav3SAFjACK5m5v6YXHlh940/2EOKCItcw7S/Ofz9NNbyD8/nvyH2J0AgAA9fXsIJQIIh5u754gWPOh4GgcIfWyKMQA+zA3okIl/wthkb2sxn0zq8JK5znzo/OAIDTnYYgPMhSMyhJ0gYkR4AjmAoQOQQAISmPFQcPLQMbbW2jRNY4xlWbJry08VEbkQYPmnivB8Gb1rrcQZwGRu5ubmCHmSQxCh1LofgDu4tZ/AZGZjGwBUa01Vaz6f5bFu/S4Fr/Oktj5dL31dNut9DXcQrrWgeVJkqTC3KtrH++vP69PlcqloLhSF0Q1c9wlv/rptGwJ9kPrmOZv8tElO2uXQLRuMP/74/fZ0ffv5/v76c5qmy1T/8Y9/lFIQLBwejzemeH9/LYwvX64s0+TyeDyykagoqj6WzSzUYxiMsfWf9201LiKFRESHu5mXESAinEFpY08bCUTooI6+ruvlstcZ2cHqJxfnOKhTcAjvsqPLNsk/5jM52znsLDwz0bjWukZSU5JzjxAAHm6GgG5GFFtfzGyaKovQTkuDPrYA9xiJByPGJ+5WOa2gz8MkPqlyz8Yjy4JpmrZtW9eOR7IyfpLVikjGUub6mefZia2P8EApAmybjtEfa+/2HteY5pa0rj5G6OahUxPAoLOv2I8CNg/GgD3eJIgICSjCI9TC3QBpulzn6w0AVPv97V24IolbAHJiDIgHMmjYfUWk1gRA0gz+/IzOkiA9A/b3yIwHEVxV8+TPI0hEwvdbIMvoLCo9FBCIGcAZg0LDuu049Eg25u1pzgrSfefNE+UWs9vzDYDSZKkUMov399ds9QEgGdhHQbLHPDtgmAFkfKWKJAXoE9kYhZAQAiGTpIhQmDKLPRACGBwhmX6+Gykyc5mmGMOIJGtxt/OXGMMIsRTJVYpAWX/P8+zuj/uSNQOAeygTDI/7/W422lSH9r48zIwIWmsAOyiWW4YFK9TcHXnSJkLxeDyyvb9cpgNu123bIiKCp0kCqA8zB+JCIqVNeYD3TQE9PRzzT9L29yAF1c8l6NkU5ZrJ8OCsVPP1oHCtU7r38K2MMTQApQixmWnA8KB9g4jlWQMeU4qmGDkQyFRBgQWB0Dy891qrcHL0uwZwfn+ptU5m9017QSgFEAUJELHUHRI6qw4WOn3nACAwzCLAiVhjEDJxIRIDHGYQEOgEAEjCNYgjMHwf3QMXAFCzCFUDCgwQB9o/pPOe3o8qSM/7447PHFUAAN/9rTE9ojPijBApi3VmJi7ARCTpG6mQZv0Ix6gFEBhQTQsL5lTaLNIuXjB7+hMpiXCMAHT1zNP5mNGnOEDTHiVURGqtibH1rlO7Chc8/MLcXbjWWh+Ph4hgQKu7MPcyzRHRuzIXi70Ofnl5aa0x89AtApdlyTguIlLrshuz9Fbye76v6zpfmqqi79kxy2PpY6u1zrUB+KqaGgtABg4HKlKJBINQWADZ3JL4gQU8ACBnPRGBERq7uHvKPLB1JRJCNnPd44fsx48fl8sFEeko44h5DN22UQSMnSAwnAKInaEieBGAEAgzXbMacMRleby+3xGZuLmTf/gWge0cNQIuqjpGN9+oAYkgATNTLUUbIorQXjC5YTgJt9bWkZbAUxVWMyG/XSepUghLqRHx22+/ffv27ThJdQybatk2ZcGnpydmmuepSNv6UohVNT1QPwXt7V9nZRmH3m6YIj+XInVq25b+iBAAY1gasySNcuvuIYTQwTVGVl3AhpkSCnxYKO45yQ4YuMMOKTOLJFjvqc98smXi/w2qPyv1z7X758r+8ykGQISSqRBmnt6FR529J5a769FiH4EMx8V/wpDn6zmr5Byw/NNP308i/ieyzUciW/5vvsFPBfdO2PXjCw7n+/xrJJxliJomakWQnswUx9vp7i3FcB6EoGPc73cAKKWMI9uPDvog7jIMR8Q0TQOhwwo9sgJI8ljWo5mZCui2DgDA3ewy58/B+1yCcmyCRGii2rdlgdDWCoAvy/1ynS5zM+0sZSc8HEO/bNQPIlZaK0CiX+u6RmCteDLizrLSHCwcEKQWcrbw3vUTvJcMHABk1d2rJFfX+ljWtReHVgkAfnz/uTzeKkVWA226YpkA4HqdmLnW5u7u2scj3vrtOvW1X6+timy224e7a9JG80NnkhQjqmop6X+sl8s0tSkRr50h5CrE27a9vLw83y4Rcb+/zVNd1rsb14LzfHv98UemgBGBBYEUKRSOpRRC0cBWJx1AKBCxbevQt9baNLenp6n3lRgLgNvmQWkRaGY7Fzb2DtBgX+q7l9Gx184y9Bxd5sP/vNT9g/aKmI56ObCCpODtCzvX4XSZETkcKAAyZzXQzISriIvslswHUr57spkZMQBQkoOTdpy7JH/meSzk//+8lfIsOgpWylJpjHG5XKZpSi3T2c7lr8y8bqsPzZjPcOpjZJYWEhAjQRBCgIUPCwU0gD3iZ99fB0MGiZkLAjuk1/uBCCDm7QkJxDEhoo5AShNhCdR0LDYIM2AkIkZhswjXQsJcnGPt++tHxKMi/6DX00HCPilD+MFJ2ONckj+WLhzpX4WOEZYKtDG2+VKYuXcdBundgYj5ryJinuecNgN4JtImHO4RSZvOr2VZ4LCH3s89C+fYaTJEBhiHv3YW3/tN5KjDB49pmtICLs/nsyuDIzZ7f4MgEGDHccdcetcxRp5s7mAWqj6GQhBxauU/7hQAUO2qrntva3kWpXBuXR9qWx8iSBk2l292WZbkfiAGC5ZSzDz1Bnmbn8KbRI7yood9ThXbttX6lOVh7sH390cyu2qdiHRdVzUbY6BH20Pxxvmac7LUe9+2bbrwGb9gO6GXPDQcWTCSDHYMAUopELguW36fWho1qqUSslpyswkDuICqdrWdIwdMSAiuw0yARRz6NjSQJqYiFRHNRjcvpYRHmy+BeH+8bdsasadtiNRzs3x81sdHsLdSBqHDjFSVxYDQ0R3DHBSSAVPGqGEVeEYqEOQYgR5hXTsRIToVCDd3cxq7bbAfQ+HPNzehHDf5Z7OeHY3NM4aOChsRhUutVUoxwIhAkgy4NwWPnRNvjmoQEQOiuwFRhgCmj7mDY9DO9/zg8mqAATgYAAMHn4VIonGmGXdquf0gKNd3Ldd0MzSLVEr7UGD58vWXBCbVAvPiDG6tFcKvX7/+9sfv27ZdLpf5cvHQDHXKHzTGnrj0+vajlPLrr78mlJu4bOJSIgIGtZa8ABKZA/PHYy3CpRRmNLM0USSicDRwICylVN8XKJj70E691urufaylFIx4Wx+11lQUpKjHXTyAGDI+oPe11lqqZAiUu3rwj58/Efx6qwKh1hGUAVmdALPPzlT1I2tDL9eXMYb23hVKjSAWbq3N5hDhahoR0ioTIQqS+4bZQ89TKQKgTfWS0cFEFIRhrhglCBgQQ328XL4g0vq+3K4TlcvbYzXtRFVE5rk9PT09HveIqLUuy/23335rU6m1lrITuh7L+7ZtU5FIBo9bcp0RkZEyeCUrngwNyN8P03Vdma95aI7xcRZv3YS5976sfXkoYEGut+sXs8GC0zSlfojojBPPljVTrhFRMjEkdto0MKMwijARuf0pzPV/LY4/1+j71iP6MB+ME6HP8weYCvM4j4a9RcHUMu77xl0BaIyRmRT5BDIRRnZJE0IARWpbgQL6QSk5q5y93aVdNof7i/0A5o+Kx1K7ctSvdNY35ztNcGUvenA3LCQP8ug6MIKRmDlVz5nMsDNKaNeIx0FWzlPyBM6zuKHTynAvuzGrNVUj8tPE5lwMiMgCiIEERKl8CIr0yEP3NK4tEBGxW7qrWQS5o1rftpXQ20u93S5pxnOUSsPda53gsIvJSYi7JwbWe3cDHU603zo6fOiGiKXucsl8F7VOiGNZlmSqJJ9edRt90+a1VmZM88p5vqr1oY91XZkBDcFg7V0ympfK03TjubaJRer1cttLOgKzgei3S3m6zUiR9XRrpffSdUPED1AzsFQZY0zTlDbJtUpft1MQj4h/+8tfVZUZf/32LcKWZWm1IuK23jeANrVW6OnpNnQz76212q6ltSJtXXtpzd2XbXHgVmciGRqA3LtG4Lp2HTbNRUrms5hFCDthGz5WdeIIcEAUoYy3TFJs7qyd2r7tK5CESyljdPskT98RPWb3Eu4pHXMwRCzUzAYcWwPA0/F6mqasB0QEQSLQ6KRiz7WR2p7Bmc+wSE1BxV6FeIQ7E6jrcDtL/FzRAQj8J8aaHey4Q+GhzC3Lx4hIxUW6CRHJodVHRL5dn7dt86EeQQzTNGkAbtqmcplLZQFwYAwHMws3ZCDZ4W0AgNiF+UyUFltx1JX7KRF4tD2Q3QgR9e4RqAYIziLAnt50AG6+h4uX0gAoPBCplqK+piKfD51u3v/MJR2fKJJfEWaefcvZYDDz+dpOM/IgQIydOhthtrVJEA0RxZACaq3fvn0LcFUdA6uUCN+2TURqLYS8rZ2IMkAgX9Xz87OqJi1wn9kOi1AzC8DeNbHkbsYQImIaLMRUnCBoLyREpJSWt8l5hucbSfKbyIeUyBOVOoASNxgx3FO1nGbtBADLsizLBgCtTq216TKb+vv7+7quZrHDBKGp9WLGUmXblu0xIuLL1+dt21jQNlvXnkVtOpzMc3MTPoKr49AWM/O69syYP7ZDzdaUSRCZCGqd3JPsjkSSh/A0TWqU2gCAUmu9Xi9EtK5rxj7sJRMAHxhTBhghprU9GkQgSKEIHsN6f3QdASRHFnLeC4m64vHVWhtDSynLsttGMxVCdAuRaV3X3vvEzXTvE8YwrHh0KZqfmgjV6mOM+3h7vHerdplvYww+CLq+2x4EIkKUbETzVeTtrOaBxYIhakDVEIu84gnLVQEtWgzumhx4UwfSghRCfLk2xkAxNAVwqbXmvXgWATsuVQ5GbOBnIwv8GJ/9qebY0TZkJoSc9yGqmgWnC3/qvTKtyt2dDQAqlZL5yxhZaUbWD7vR3s6vJUJiQkQLx33ueU4GCIOTYzvM3DN/5ZR7MzCBfuB/RtK7plUzMzOXMezp5VJgD6JK+9tt2wD3lzrGKKXQMR273W7zPL++vuY1ls+t1ppc9st0UdW3t7ex9afnW63Vh87zrGObpomEe9+wZAwYqyqWAgFBh4lviuaOXpyZCxQASBp9HkmlFAB2j6HdPF358BgRctLgiOjx2N7++LmsnSXaJBDmukFYWO9jubQbABBjRLDQfJlM94nh9XpVtfdH931VhRt4OAlOZXLLZxul8lznp6era2fK3RhMNM/XMAC712k2H2vvGdeVS1pEpFCR2vuYilyeb2rx/ni06Tnd2SNiWZZv374hxo8fW7hP09O6ru/vb8yIeC3I1+vV+iYi21EO7oU7c9gHJByxX3jMjLw7dtcqIrJtSxa1IjW1xalLXrYeaOHdFMcY1+u11TkoEq5ODCPCIQgYEkhDCiIBP/zFmbJwP4e/xyV0nMWfSLfnH8KfMfjzn6YFXd6d5zzOo+5F/GGsC/ABHO57UYdufaxbfqbMLEjAEpwktxPh2xHQ88WcpbB/mlpm4U6HBeR5kXx+2bEnGv6pCTk/Bfx0/RAgEwMFCW5juFnG6eTRm29gjSXdaWPXaBYiMssDVM5AjfPVIpFpEg13+pDsgTXk7snxOBuS3nuBAIBSCmGO1xVRiECEVJ1ICPCs1gLo6fkrM6/b+xg9zHvvy/JoreWnEJ9m9Ie/2P65xCH8JaLr9fq4r3m2pHCFDs3D2Qidzc9xAXyczBCkuvX+Pmr165TapOfn52mWt/c/TFcRBKBSatcNCREx9ehIDOBjbH2UL1++2NAxtlLr4/Eu0jz08XiHkLxppFBgIaIcTl4ul8fjMc8zH86V7qqqj8fj9nTJMfrtdkPwdV2nabper2Nsva9YKzO3ViLiOrcxxpevz/f7m9lo5YpUlq2TIJDM09WRCeL2/AxYtrVHYCmtlNZaW5a7emzbAChewWxYuDORYHKD3R18AKJVPtbnJwQdPzgnRB8m68dG2wv3LBoQ0XNWeZDQiBggSdNwyACCc4cjYnr/B0cgWfTYEy2Y6eg2WSSpdBnYgGa5pCLVchHhCJ963X0T+zmgho8NBQd5LG83dzdT1SMcsJRxxM0khlprdfSIWIc+Ho9ap2m6Uqnr0m0sFA5ojARC7uRK5gctgQAA4cPcmtxAQzU8892YCpxh00S4m4z5gWKyuZkFYlCkG2CEO4u4obmVoFpLOKh105DGzKz6kR4Pn74wMfjYnQTt8Is7/3vOuM7TIFv94QNRkjUKAbXwQHeHaboIT6+v76PrXNt0m8cYqr0QPx7vSaqMCFVXtVr5/niIjMuvl4gohZ+fn3PikQTxjntYGEAWqbtRZimyU+cN8gKiDwlmDmEy02e3u0g4IrXLtdaDbIhH+0Qi2Oqc12jOWnwfwuwTj8fjkfTdJIMh8rIsj8cjIiKmCGPFWkUOZ+FlWbbHnRi+/fLsrt+/f89QxXnOuExMVUI5gurywcqRi5ycpRywHPcF9N7N0hhnt/wCADPftu12ueU3EbmwoG5rRIwxLpc5OclJwMv9parIB72ZfQwE2I27hPl+v8fBeUPerwZ1K22PHuu9Z7QlER2G6/vNlcvmmNtApnYgYhw713zkeut9n82qwrYthGWEIWFrbevL2/ubW2REK4CYfWzPfG3hbGZJHxKhuVVmRGBTCRDiC+CMWMDR1Id7vV27mndRhbWHhTtG70O6mQ3i+EV5ajK3mhbvosOZipnpyFsny3HKTiJiD79Kt1REzPionNJiBg2waAT2ZAgET00t1AEIx4CMwzgS47BvSgHuARoDO7UgAmLcttVszNCG++kohHtUDSJwhOZacYjsayP8+nTRbsnSzsiU3FTCMM9XAAJiBAUAj1i3TUoBcK7FDMZwNwCMUgpj1DJ9//4/E2QyGxHgDq4GhMykqhZ+uV1z+/Xe53netoWZVXvW3PN0DTDVfr/fc2Vf5isEdDUPCIDpMpuNMZxw14COYYUHBiY5PtsJV1MA9WEuuRBFxMwri7vn6AuBc35ZCxrRum2tXd/f383H5XLJcmO+tHV7lOpSaIwFkAKCwrdlXV1hTiSvBCFyjShSmGgqLObw9PTUrvFY+7IMAB+6sdTYkUiqQAEean1ouV5v12diYAqI4dsWYaWyb0zFTX8WCltpkMiFDDvWWW63EjzG969fLyxAbnO9wTA3B6C3t3sev4/HOxN+/eXX+/2uqpVFVSkIDNBxbFpKaXUeui3bWi9zHqCNm7oCg4MNMzUN81qrUHGw+/0N4LpjA9wIUS3m+an3DjQAsTVcF33c74+7EtHLy8sYw53XdW2tXa/XpFt7eOpsSimNKocAWilMbExODGYWIwCJYIQnlycytRsA1AJNW6lE6ZW506vSEi/AIf3n7Zw8IYQSEQIjeikkRfJWAIAAh4DMByEiVUMsjoqCKByKNpJ9vnu9+aHUdHcDBGIUFEsYLwcFAODMewQ3AeIeGLIbs0TsdvXhkHB7dsUAEGHbtmBGSthO1Z2mZqdfahpuAgFhBFxbywNuG1pKSTMrEenDPbQVES4KI+ckAD7XAgCCeyfDh3etuiEFoCNQxkBGeClium6951Cu1Hq53AAAEcxwN7mi2BmsHhgkVJCt9w7M6daCCO4++gqlbEtnLMDkyUynUup0FtZ535eCACSH4w0eJKV87yw4ho4BVQoz5/vqvTOXHA+epXw43q7PWYohyjxdIbbEGnPWt23jOtXSBMCv860PMOulhRpZ529/+cu6ru5uYEK4LKOUsm1LX1tuh977VCYA174RFiYSyYgNJlNHFJGhvbaiVhIPu16vItK7jq1frtPj8RChp6frPE+//ef/Pca4zLfvf/xsU1nXfr3OUohlbq3VKlLNIkp9RuTHJpfGwvNw/vKXv0Zpb+8PJK5VAsM8fv3Lyz/+/kfismYDw4HEIe6PxzSnnu/9qSLTkIHrum7oT083vFZ3AgY/hLPMTFT6WJlLpv2h+9h6WDCSh4+xiUirNQC2bS2lKBBSJW4BxiKE7gZSC4T2sRAWLixSBbOzTc5SGcOIQwoGDS4QQNPcRs/sJHX31goGtXphquu25IGfriTTlAzgTKPsuTfNERA9MNzNcjIAY9iI2NSsqztcLhd3Gh4sXJnPaZLvCplY1wdPAhQG4QibbvPtep1rm6jfkyQRwABBtV5674hwabfCBREd4uCsAhON2Af8qfggOkVuAADT3HRYMomRjNgnLgBOEEfZ7USiwxQGC299WzYthT2CKAws9UJZ6yftPstcte04NALyNSFsujHshREiihQuBQkNrFChIkJIUNzVBgIGehi0Wvg6Uzj0rvMkc6vCdG23qKY2MuKq1iqF3JW5tFYQUdbQbX083mudwOF2u2VpeCDZ+3E6tOcAJOEn5qKa56ES0dBt55ZQjbAICFA84ngcgZgMgkrV8b7ZUmnKDFoqEujmFsbAkq09qHRbCHmMER1ba9dLZaqx+1ESE/cRyWQTEfPBgT5ARHT0Wqt3e7xu7vLly/O2hobr0HAmpG2FcLhcymWea0067sgPhRnTY5qImHd/CD/SwVoriIFYdrQiAgOEuAq5O5JWljGmnz9/TqXOl4vbimDbsh4MJchYSwBwAHFDpjMGVVXndnX3cJimKYGSvikEuKNICS/uqubosHUfb4+vX1+6KmjvvV+vNwDatrVv2toczhZ9WbZamkitU1HVx9Kn2lpNCgmYRe+KrXgAoAS4HeQLwsZlM7UxNpTioT4UETEg+iAiMiNSMEcE5AqITuLAq66DLrU86VoeD2jTc5mnbncnM5iDcYQPUhUbfZumUqfy9o/79x9/b60NjSovLy/PEW9c/EMcefb0//wnWWroSbjMm6jsAHZ+aZAQqwILLX2YqwcgjzEQC6J16yKCbmvfGIkgdiGZq7vJsVHVekZA/hMSmX3qRw8eSITMBQBr5YiSVRQimoWpZ6+W8AkxnEOTODwuwoNox9QSLLv3t967wwe8l1AlfLIBPjpLZUYITsSLi0jsJOkAtzGSaP76+vrz50/zPf8c3JelT1OlIkjUWsvHuy7bnnt1cN0MLKXudojrYx9RFYBUUI3w9JrcYbnWmupg2Z0TzAzAReR2u5jvMchFkJHcxvr+Nrpp0QPYECcFN6nCjX0AEDZqFQsXR7jnd8uSKHGYyLCqI+ZXVQulySioGycLCBvTRNi6b9rBEEA4cFIP4kLAEfC4r+adEP+3f/u3//zH9/v3H0H45esvt9vz29vPx3L/+vIlwZUxhgOm9ErKR15sdu2Bu9jo+nRDQ2buaYIWELaLnDywlqq6ZyCX0jw6iREAkZQSrbUIFClMrup9xC+/fEXEdV0PSpwirNfrNSK2bUPkea7ooGoiRbiKIDEhDHf1oWaGwOmFh8FBuAOBEB4KBkYfOPROwlELOhcqRWDaQgJAYFLOCrEjU4SpJjKkHAy7a+qpgsJ0n2U2QhYuLFTKn6aH/4RpJd4AB8303P7xSTX7+e9HJNs/X+2+DPTwuWdmIMy/kJ2n0B5QkLORE+yEgx9ph6vX/n2AI6IwiUiTdihfJUdSRBTH/CFfJAECYhJ7dk9gRFPdjVkFW2vm3nu/XG7n0s2fG4cPGh3m+udLAjgtSnbKcl4bfsgf6XAxSlFga3PuwTxDzrPUD32k7LaV+2ErIq21vYTy2NukJGQTAIAwt1rDQdmUB2OLIu6OhQFgaOfgUkopT8sC98dPcJinm3C7zE+tXnKPrOvKU864S9JIKpdaaOuLaowxijgJSGEWIg4kAwcWkjKf+G4eU8uyJAqbA6sIcvdSytPTU0QUafe3N9UkmOljWWudIvzn6+s8TdM0zVN9PFYIfDwWM+Oyz0aYGWnH2NwhHF++PI+uiPzy8rSuK3IC4fD5o7lcLoRm3s0ie7PdEOYwEIQDuvZPWZKHmcbq7sI16Yt9jMvlsm1jjPHt2y/puZkwKBdBt3BkKoobkVyvT1wLpkMrAlGgIMVuLilSVTW/Q56ZzJwtWb7ZYrvgj3kSprfXd2KcpunE1919F3+5QUqjE6k6/Hz9k0Oihquq0Z9MoszMPZZlmWRO04KzhzwHd+e+Zubd9QXRw1QRmc4lmiIxtY+VnGdAosu7NB8+jGV30I2IuZ6GiRjpaLfD5667nECIAWhZtohkho8EsOgMwcAPCt/nUcnQwZ+8g9LAp/fuA6aDxkNEkCceReq+ACgQRIC5CNeMRj6uEhOpuQzHSNTfRWSaJhPPOXaGmh8r9kNmQ0SJl6UNCx1yo/yA/mnEup8GhEiH+yfLcTYaobiBoovA8XiDiSw+0usBYHRFNHdvbW6tpXyOdgn1JCIefZomwEzcozA3G16kMK/rq9ry9DyJ1JwZgh3xfJglGQXspj0n7oCHZ3SKJnNFxTEOzfHCiTczoxmUUjIeGCnMbLpOzLcxRtggglomFlyX/vb2dtTuu2mbRQTtw8ZdzkekZszsEIJCRExllf5YNgoQqSzTuq7r45F8xWW5j3X59ddfLYCId8gsyCzWda2lJcCTT2yapsT7SZAiCY2REcsnsx8Q1UKT+YMiUjfbHtvakirpsLOfSwVztWBUYKpl5nJBqgHFgqRegWhZRhiXNqGggTngpqOuYab/+Pt//vf//t/Gdm9V/vKXb88vtyby9eXLPF+1l/Hof6z/AFqkdkn6znmXn/f0x6TD/Tz7RERKExFiUetmHoFIQuIRMdy0bwGmHgFCRMPI3Y4rcqj2vm2ZjnBpjJjUmpwWaV7JJ3T3+Ssi+M9xNgT7Hwg3ABcuAQ6BRuYMiJxjBPexrzxmPc4dEQQ02SdWOekYfVlFhIR7T8LVtnf8rrlhkk2RfXMpBfK/ptMFpAWSpQdcvkIRcU/6zSiFwX3d1nluiByBtdYAGhl7JMxcCEmkurvBgMO5DACIPWIPrEbk8MiOBwDSSyACA4CZ57nl3YZImSwzTRdTsXAdS4SzlErYpwsjlSJ5GPlO+NaAeZ7noc5cEZtII0I33LblOHoyoT6x0jxHAJK9A2nNasElGfeEiFCZJobYwocDDDRvzBzA5sQyXRge9y6Mt/liv8C6PV7fH4/7m2r/+fPn7Xo5h7/X69WH5pTKjFWVALKgNx+X21xKWZZlW9aaubaa5L/ds28Mq20ipIjxeGylFGIWqZeL5LWK2Gqde++maXxbhvl/+T//bdvGz58/395/mkbqlc13+7B17bp1mWYicgNgCkfAfEz5pURwkIQRLIGI3dsLERkP6sspUvTIQE0ASAgq/zEAOCpoBBsFEu9VIKBByMFf22tf/HB+TEKvGVGTkofjWd//U+Euh1vi5+/gh3/LeYKfySxE5JGWZH5SiiPSeozcnSRLhP1wLK3lxOzcWfsZPRQRam3ZpkYEAoUHIacpJgu1ViLM+lAz/+QL9k/1BxwzUNi9ljUZMiJ71gQcdgRypssdRwpSIAKgD92IKKvA81ZGCsYCAMK1VUbEbdsgSIdLgQTO0+88yaBng/T5tcWfx835F/aucscX4WQAnjVKMgEQSKe9TU2b0cCcse9VVEbaATrH7mnDRxDIGAMJzFyHM+2yNmBiJiYHpjFswQeXWirOF942XJYOsIt2ztErALy/v9vol8uFAH++PvbeAwnc1nWd2gURu2pETFPdNmcq18vV3da1D/VY+3WuWfr0pHpDIBMQIUOtRQoj4jzPj/uamDQzZwWA5Go93Pq6XS6Xp29P0zT1rojDo4wBhZIveUrZDqlG7PI++DBb3Hl7++IHFq4e+PZ2R8S3t3cAvF6vCHmJbMzFPDxgKi0iAqxNMwCMsbnD0B4RiBldRczFdi9/wN0nwM6PNQvaacLUn7hFKcnhEQTKeWZESqUh38su/Dj4GBjQWmPY7fxbm4sURBwj/Wp3LX4eBb1r1eAqte4kATPzoarqYIgQEEBBiA6elnZm5hCStmC6R6+ougOdldznOgEhEJywIGEEWoBnpAAzM7ujavcwRgjf42JGH0MNLEwROQhJhyYcc5RKdJL5M/I596weos95nrnuHQizuHtXVXWzSAcOJEIMACYBzuw6ojFMVfs21rVHIFOPwK/ffqGDoCwipXBe4icVp5amuD86/ARrEu2bIrewFE6aTe5r991HWFXziecRTSRIOymQiMzUgQpiRIyRaH368xmRU9p5EROi4+nnZ25xfsTCk1tS4f8USLduD0BnJMRIwxlAYyFE6/1B1J+/zLfri/AUYQHG3N0AsRBSJuek514eAieuERERfF4Z5ylnR1bUGKneCSKopSBZbuSE/6dpfn6+rY8HEYoQMSRVm5lbm9w/VukYp+FvdhQcqqUUc0PYnXP6iIiNqbFMwk3YLvP1sdzHeCCAjvG4v82XG5JkHqp6DDXVbb5cqYgIOgAwXaaJiNb1ISKttmTIBNi6fpxCvfdaWxr1pFog/LVvOl+KmREJpy68DwesbZ5msmDAitgsqmpRZw/6eX8j4tv10qanrn5f1p+P12Vda1V2H4/v+Ph9+fH7j/U9lr98+b/+fzA3IbXuf/zj8fP3B6D/+pfr7ZlkuEFQCkkhVV2ObqbhFei8sN0diUqtzIVZANILLwB2/tbSh24bshGDBQ0dptvwKNIAvesW4QhaheepRESMlVloxxfd3VPqmgR4/DPml1ecH/zFo0ChvUtEBEiw8ag9gDEZOZG7ZZeSQJg7RhgFpGwMAJgR0Jkxgraxpcwcj/Irae5HO4sZoDDGWB6PJB7sSDzgtm1DbSo1f2KtZdvcD4aABpBUKiLhxGW6zLVWC0qDZ6CamaxjDIMgojR4RkR3ULcgLFSAkJnJd8s2xD1JziEqZdzAPhYwRyIihkoNGPrAsT0YqZb6/PwcdmG0UooUSi259qWjMzpTzaeumhi3jEEBRzAthpsTEBKmPC4LQTPbRodkw5tjBJWKo+TjwjAwGt1HQvVIDkRYIxSRbpf5Ol+69amW72N5uL69/ah1en5+/uOPP2qt8zxfLhfrQwqVzumJmUPYWuvQg/qZfrRinLi0OZhHoKoGQKnNzCHIDQb6JHW3ATEId0QspbV6zbbxdntGxKen2+/bH014AySmwszAYwyRuF0uVWR5bGlDazZ6N8RgtnOESERIbgqIGTKWpbCeg5SzID4vZgowO6vJBI12/JuZIVIqAJjZH4rZFSAGBgIiHJYaIpLOD1krR8Q+BZYCoJ93VsCH/v0o93cKyvl3TmQFEQE+yp2jqf8ncryfpT8z7xTNyL0WzFTKngFpZqoRR52aOw4oaY4eAb3b/X4PcMTrXEuZqxmui55353ltHJflB8hqu39oH2PUtn8k8zzr8N7XabqclUfs8vqIANXIWeLn/7rfXiwptIpA5t20MbHbfP1PT0+99xw+ZGsHn67583Web/Y4qnax16eL8MNEMruOUgoCXa8sIo/HI8OP8oPLK9ZNnbjWqZSyrft40NyZS7iW1r7Oz/flkd+8SGWmHR4qwIzrmkXgUmttk7TGh2MTRhgilCKfnbVyCLauaylcuQW4maVvSQKfJDJNl2z03t7fa5Xb00v6eHpgbZOqX25P2X2ljAwAHBO/hgi73W6IrMNUNaOgpNDP1/vj8T5NDfHX2+3GzE9P89ofxNH7iAhBwh2TPoqY2Om55xZj+lP+8Tlmyc7/crnebrYu/cvLt77pGMMpUlenCwAhlQwBLKkjzI/Y0TMHkI80eFVtbUbEvqX99hFcv3eD3NrsDmNYa/Pz85c8GYqUAE8Dpctt3pff0Uufe1NEGPaoGiKSWs/ez909uoZbhm5A5NzgKLwk1DTFsoUBIMMsEVEt0yLLMKX9qZCZuUUQq3lWv5/vZdhNG/GfwtfOA6eUkpnZ6dgUERhEDBFo6gwMQEODMEpp5hsAEEkW4ad7VUY+pXAFDi1TKWWap/OB5D8kUmYePWjbcnwNmB8WEFHSbNwiR5Gm+zoZY7DQKScgAqIiu5gh391u6oKY88/D2JF2gWwpH3L8jPjJBjIB7N4j02tiZ3gLMyOwWnd3g+D9W314HGWlQeQAnmVKZr1k02geDhFIDo6A6nFf1ogw02EKNJUGpZaypWAHiTHFxmNAZQp3EXl6ul4ut6fnL0WuAMTcft5/D8eMERWR6TLVeapTDSdCQdmLdQikveWwLLhgR9D2Atd9pEE+oKvv7j2lcErziehynQqju9ZCRMRkj3XJSu1Y6TvDInayqFs47kSyQApML4SA3oc5tTYhyNpVA6hUWtcIZKlMsG2DOK3onUncIh3D3YEAAdAsVDVaq7Wajew69w5Ed4PBUqqqmoMHTqWWUsyUUO6PPuzx88fbNE2Xy3W/PVu13ocBaGEupd4Q57GhUyGsalZnLqUC86NvQIyVuNfW8G3542Vq375W2C5zeX17w9vcn64WdXncV4LaSn9+dsT46y9CsmUiGqW33XG7eKRZKQsC4O61zIknwWE2l4v1bEyZees9zIkxULRbH47IzqpDx+gByowguBM5mBAhjulS5Q+//Y9u/s9nFnw4PYM7pDBiJFkQswaKAAIkYg7Xz+ugFN5b3mTn7t9vz/XECGKkQN8swkVYRNKW6DTzzmEKHKZyWeecNDtm3kZH8Ew5HetmZhFHZjXytq6324VQpIS0qZZGpeo2tm0jKaXNEWi7STBFWGuzux8m646I6ejMKYcCGMMixh4s7Na3ZS8I0JCklf3oAcAmpQrdQzEUEaqwc7gO84EmeTEnfNf7Os+CGBAxxobkglAb+zBNrz13pF0ufMKHzBxg29bBPdzBQrhwOdKbddvWZTP0UaOIdTGHQsUBw0BEnp5fahP/0U3XVikgfr6+/u16RdxPuuv1CgBIkQdlRl89P++C7gDxVB8yAEBeDES0PpauAx0sggUznaGU2ntXM/fQ4e/v932w6AYgh1wwL60B4EhQa71e5yzIPHTiOvowpGmqRBDmpou7Q4CbIlmpVDgJLh5qEYRIFHtMARkmcyk31Hn37NdPgPsZUJoGXhlLTNumEBzOAECcZFZiagSUDchpwLgXKEUIWIpHVAAoVagIMKB/9AlZuMchJjmrXvj0lTvoLGHPSNdELfPvxgHFEVFrqRJjKeXoBNxDtSPBTqtlZkIKcPAQ4aN+wgh32ktwUy+FPSDC0I2lMhMzmu59u30Cs89XfnRBu6UsM1MARgShasfcHkOhxhi7Q+XRlhx1wm6vdPZUHgFElID6ca3u2KGZBe68FxGZ53kcjtQJidkRrHgCAeexBrubRFpDpsUT7YfYCa/uJUKev5kcaQDeexcmtyA0TrkR7abgUigvyG0diOgjwoOBkpCTNSgEhINFvjwgIsdQ62TOjG0qrRVVEOHRLV8eIpiNy+XSivTel/WOiJc2EdG6be5ORwk1z3MpxQEQUQfM09PQrbWy9SUCHuv69eUbwIYkeYCUqUkRriVNt9R8DK11IoI+tnmeLzr/9ttvxKraU+hJRAkimtnUihBr07X3LLPAnAkBPeADVnd38xERYBDhOSB1D5GCiMuybqNfLpek6bu9u8PjsRJRvRYNn0rFCXx0DxIRlpZXfqas+57V+kExZ/5nI6PzRvODLVZrXZbl7fW+t3/o8yxElMqEU36a/R19ypVjQAMoLEnkqLV2Uz/cLXeb2mP9jGFZ0ap6IYuyf5+Ubp8rrXd1i5BP3axF76pOhOi7cTQiEsA+2chne1gmDNPsiFJd7cuypHMXgCNhmq7m7EtE1hW7e3EyG4rW2j/f/pA5kgAifOxQIQJV3bbt/f39Nl+SQZERB+6OyCL1cX93CECmQm4eaiw41QYBuHc9DkCm6R0pagOpwEHYS4S1lDJ0Z+/ooYBGYFUtpeFeufo5lHN3zrliKWaQDhvmwxxUl2ma9iKn1lozfCNEqiOgQWszAK3LhsRzuzAFMxI7gCWVF0DCEy9J0ZHtEWmlMBWzlHhezBI63O5327atCCEBCxXCCBMmYSGKYVTrdL1dpmlq7QmiMJfb1TX6gb0wM09TbXUS4UPxv2fVHWe18OFo9LlOO9ZSqq2w975sK2AggXDrfUOMeZ6ZEQlLqSKsan4sub2Bt91tc4xhlkLP6GNDxN47t131547L2s0AuanTfbkDAIaWab4Jv729bktvrWC3UsgcA2EYOhCQrF0FIv1qtnWMbsTQ+wpbPF2vAN7fx7Isb29viKh2AfQi89vbfVmWL1++UCo8WGqZ1cIc1fDSrq1Oqpp6kMdDRSq3G1F9bI+1P2pDZGGckdgAFt08hohM18sM/PTLrOt9pvLy9P9Z3r/+9vd/lybPv7wMXV1NuIEjhweM65WRqnyUKp9u7rwCj7lzJh9iaIpTCxFlUmOWC/m4qYC7D7XwDpgN4CAid/Uw9SFCraQEQQvhpktrTbiUUojAd1A/AD6ybs/WlpkNItVsmcmo4QCEhMdf973gCEqUlyi9XHfcKGLHQnLymEgVAMjO0HPVnlxc3wO9Ii/jYfukOG2++XCdk2kCdOx7csfhdIFEaOaPbZ1rm6bLjx+vy7Je5peh91IaEArVWqbc7dtQO+w1gRAM0k4pL309vnLwvp9oyMxcCrpv8elrjC1CENEDzLm1JoUg3NVMgwUwHMMgIG0SHEJ1ZBRRPTILXN00kA3RPVZwK6VUBAXSrpHDXzoxoF1Ii4gs5Gm+aEGBhKLgnBQ6COvv6zq6F6oXuT71rkwUgSRSGte5vj/e/vjtt7Gt375+WUffent6vv7+++9NWn2qIrJtS5ZBuRi+ffsG4Nu2DR8sRLJ7QUSWYj7Ao/e+rh0ILSAQihAzm9Gybb134Ua0R/bW6QIew7x4lIxUzg4EKMHFPdd9DCJw11I4QN2iVRyqqisiQojaGmqATIBIDm7uilAxAMExMgJNXS0jQmP3r4BzpJMhAHGQcY8ttpPIwz17p1ADAMIKEQSIFCIoBYhxlxAhRFjmHjaqAHD8+UfAk3/ieZ+F+1m1+8HDPoDh81+dQSd77X4WuESQxJj97RyWKef398NX/nSBOAnfdGD8fhQTRNYmQcRCeBAoIQJaa3lPp9VnfMq0PxseAEhyZ4aCe+jtdguKMQwA1Pz9/b2PrLYT8CZiyOk2eNjYEVmk9PkNZuJpSlZ3gsq8m4dwqCf5G3YxzJ41mGX9AfzrWRbYEZF4tE8fZfq5DPLxn3VeDi62rUdErZUY8QEpNSYKloQzUM2IOS0dd/ULZLhJqCoxZZNvFgBeKHWTnSACwsNsdKjSqozWKlebMAK32DwQY+fr568/fvy4P+4vt6enp+u6LXpXIpLaPn8QiOxAr/e3x30lhr/85Vtp81Tl9ed7AAAyERkEM+FOzJVSuDQhxVprOpQT0TRNyR6eL/z777+p6l/++stf//IvRJQRy9frVPbgOQaAADxFFCJy4tzueyqT7MrCw10xIjur93WxQA8kBEeiIo7AXIDp7f1uVatIoDBBq1OR+eePtzHGNF0+t7tZ0yRdKtun2spRdhsRZhk6xr4GpmlaF13XTgTTNCU1LpU86Ut4Nh6fW2sEZOY4HM2JaCq7v1m+hlLa2SecxKG+rLbPdkJ1uNOxfVIElTM9DAdAcAuAGIajG2UIMeakKBcbEe0l/l6sG7hDBDBTGseZrWYM4CwE5uARYB6a/RoCjz6sBCKn8oTlPCu41pwZ2hibcKml+RHDlOVvkjzx8NIIT42NretqAaE+3IonN6ZXlyIQH20zn71xro2jD+fcv7lsjmMN8ZhhClciOg2LTmoAIZ3HKTO7awTEQTGepss8z+mZeBwUGOkC7hgBEejm6kFYENgdAN3CARUgTLs7JS6PiJLZL9hrmc7JapIPAaBUTs66qj4egwialFIqBBRGxIIICOJBtQpTtQHrtrTmzHi9PsE+uMgOhEUKAiCm0dCeD3CiOswlZYf+KbGbiH6u6zp0nkG45n1NjGnplsKAZObk81cFZj7VHYiIwBoaEIeQckDO87eNmS+XS9b3JGWsum1DnbtaDerb6GMTkef2LMggHUCMSbgSsgVuq/auqo7IY1hk1o1CWl+LkPlw17b79q55aGdI3NevX6VOFcjMHo81K0OkOnQwtXB8rFYqzZdLq4yi27Z5jMfiQFqnsg29b5sitTYTtrVvpc3E5fXtdT/ePRStCE3cgtvLL09P3/6tFGzzdPFRaHEHH6+9dgxEKAWrcAad7ITaxLbJHTBdHdPShYUZFBVob+MiUHduX5Sy18StFRFxC3WH6DoebnF9+ooUY+j74/EgrIWblHmqaj1dNYgADwtz/GyB9HET75U5HtZIABCOpkGE+13tZjubmGBPvkBEjL04AHdnQGLI4ekOboEn9hc7mqhDN/c4K5W94dsdOfap7v1+T1CkVC6lpH3keXanTKSUUqfL/fX+9rogkkib51lKSdhARKQWB84KJq/zWnYjJxbOY5SOPBp3POdo0oT2aLf8w0T0gTOEFxHAGQJMfSACMIFrTyENBgIYMxZmxpJETIK9GUvuYwS7hRRjwWGburq7uSJhmCMQsUREvgtEXNcVtu1yuQBG7yPMC5N6IFLh2uq1JTdCR187bMELbduWFxgSWAQyqHvYKAJEvq2Pp6fbXMtvj4eJlamk2U7ylR+PRzLy814/8EgIVVfUFKFEQEQVUdRNDZjUoghAUB/DNMLRzGqdrtfr6/tjDAWgCFgX7V0THSvMY2z5Q6+3S14kvXczrWVCDI+VgFk8QBEcAWKoh4KFM/NRw+S+ovRlAUIPCiBi/1CSfQg0EYIOWZgfoUW5Gi32fMU4APv9atl7ADhk5HuFjQDJuyVJf3TfaYv+sbPwz3qp8w/pIH2edcOnMnRvlI93Zuc/SbXWTqtDRKYEaRIg2QkwZh6WOkwiEqYxdjtiZqkkrllqUN4QaRPt7qYZzyHny7M+PtPYjg1rqppatGx7WpsA0kyXFJVIhOu2bff3bjak0DRN01SIk1sceIiDz67gbFITp0j6TRyEdXWrtV4ul6SD76ZliDkog0PAcGpVP575QSLyPcKdsuI83oufQwMzAwi1kZp1EZqmaiN95T1gMFX33eeHMDKMEGsxC2rFDTpCkB/YeRznPCCimwWCZlQ7hogwFUKpldd13d2myy4bPVdOk/L0dDWzx+OxLMvlcrler0kJPZywq6pt6/jP//z9X/7l17SpbfNEj7V3ZebpclPVfSzDCYSGmQGmX7jN8zxNOwL6X/7Lf/FYmOnn6/eIAPTWZiJe127DsJ4zEIqjv8zOKkUyeSPgoYJINAQAUjjoDs/Pz8vQbdtaa6kgMg1CUdWGF/dtG0aAjFSmebpeuc7P0tI97Giw9+2uqnKU1AeZaq+rIjwgt0MyDajWGi7uSwq9zQwAa2m9dzu0VfiJDHYW7gmejDG0D2/Jy638KXZqjNL7GnuSMde96ITzeyat65Q5pezSLIg8TyMghnAdHqGEIJB2IpJE/NNANos5HR6ByTw+1nwvZRctACAJZJ3gYX4wvI8XE3rYxebneLtd5nnetu319RURrtcrIi7rI/V40zTlWDsizBR20Qu7a980bwpHQF5TISCNzhMsx0I6/NxZfDjw7LPx0ypgD70WkY+OOmXHxwG4JyITcqRdQdpTMxOBQ6YBSMqUL5epVOlj02GtzaWUrhGBEWDqQFzLBEB907fXTYqX5lIiwta1Q0itMxGNMVozREyLyfxwVfVyuQB4qRMzZyH948cCYaVMrZZ5qu5KEBhQmxCXocCMphGh27ICZthFQ0Th3UtayunD8bH2diNL25Pj6FgH+TBzBf78SUSCslNusmRiIcycNSIiikMcuLMJ+OAaBXFBZtbw0QOC1GLb1lSF3e/32+1WD89HIGxtji1Gd7zxy8vL6+trKYWkAMjTy5FpkF3mWLc+PMA8ShFAYqqIiKARSAQk5EOJJAmBEfukMdtvZu59lFKnicxsW9c2t9uNEFnK9Xa79a7m0QeQ8HD47fsfNiKAeHRu0+35qcwXDwQCRNju2zIUSCCoSJFCYHqbJt75YGGMOhYAQpOZmxRS7bfnp6fnmRHG1l/fFzlRh/jkzh4ROciMHf3au2FVzdCN4/pJnlMA7H52HX2zgRG1yTUqBF2eptba6+vr/f3npopTpRIY8PzlUgrnUIlhJ2TvPOoDnztLCjNLW1GIlG7sXW9EYLbyR8uL6AiISKn/IyIU+nRG4FDzUMZ2dvAAaWV9UEsFM2Nsh7u9n6fMefDVJuE7hc5hN/jI2wLAiLJp67///t3Mpzb9+P7+/GU6qwF3T1U7oKhqdgJtvhCRmRHjccV+SF0z1lREipT9HRIR0RgbIpZWQzCdaogoIZ+MCPZlqCsilxxD6xaOjB+FWj46BmYuRLL0MBhchIXULW8cIhJiN0VkIvaA5EwDgKqvSS6nyEkF8xQOKA3JmSoCC3FFptAwN1W34eQiMs8NEUtroUYEz8/PbZ7UTUpblkVVIej79++ImFYeiXznTAiYKnPvXcdocxURj3h7e3v68kvaiUzTFI7Qe5kvQQggQMhYbrc0FeGIKG2edMe2EXgdq1oXoVIEpG5bzxIEEd11nifVzljG2IihVib2CC8SHgYeiIYYgDtGvhdH7vnbwhzJ+K9AJB2AKasNP+tOsI8KIyic+LwzgoaOUADErMiJUBAEnFMFixg5RNoLdwQiYK7MmFwwQEfEs16ET1/xSdJ37r78T1lN+uEqnVs+IpiFMvMCCI+fnod1nDY4vt9kpZQTaabDwzG/f9IbIvJOxTjscUotZhZqIlxL/bwd9qPmdELIyzIAiUNHqCEDIZmpR4TENE2JKdZazcLNe+/b2tdtQYxt3swu09QAnXlnNMXh8wOf+Pefa/HsGSIiEN7e3nLvq2pe7XyQqs+TKl/2TvI5Q2SJMiyQiELNzT0CWPIg3EGU8LFuiOxD+7KOdZvnJiLtMqU6xT0o+cQZAREjP8bayrZ2dyCG2kR9twQVqojYx3YMLozkWHKZOwsgUsdIz4r2/v4wHu58uVyYy7Y8ahMsXEp5e0vUefr69Wu+tS/fvr7+/H6/319f379///H3//xNyuXl6zeRomO4QyltmNXpwkXUd3QzD5NtdLNRyqzDmLn3NRxfXr723u/3t9tT+/rt5Xqbj65Aj/HFhEGqnqro7EyEd5wwDoUGHhI6M5umaYyxLGuyjFS3c5et6+7Num3bNE2PxyMQ2jzPpYaahwmXVqci1cICYJw8Rt5zapbHPT/Q3YfkuDIibAxV1QSM3Xcnyhzr9b6pqhkTcZY7j7VnJ4z7Vk0ZhkcgHPEUZxOrh9P2uR2OGs6ZS2ttnuberyf95vjLx6xGdaRjbOSwIpgKc16ONrohQhAyB3NO8j6s8WutY9i2jjGM8COpZ4xBjByUEYpIiCgJG5gpUtRaSQTCElKKcJGKJZh5nuc073L33d/wMMM5N5TFPqZLMKMQI7AbPNZtHX273z2CBW+Xq7SplOIGqZtkZmbLFIUxjPdcv71zyGYv7zXiE8LDMQYC5+TzKPE/ytbc3QHnBIMc42C654YSInp9fb2/P56fv9xuN4fqDjrMbQQYAPVtfP/+8/GO04xPL/VyZTVdlo0QapG0mVbVNFZPiUXE+P79+//xf/xvefASwRhWSmmtuY25lizhMMLcmKDWCwAQM5H0zQG4VGZy917qFY8hFSJCoJmpWq1/mpoC7Pb+fehRce1jkFztT7fnPrbL5XaOcfJeSJ6kqiKBCLtbQkB5VeUPTReyUgq4IZF4Ka2aXea5Lcvy8+dPaTWxTpKC2OxbfXvvowNyuU6SVQGSTK3e15//z3/843p9+t+/vRwPh+iYtgGAOvB+Q1GtFclVs3ijx+NBBOnlkOn1j8djfvoamOqUKc9+IL7cnsLL6+v9x8+3Upr6++vbo7WZmAlxmko2h1JrbVVVLeBxf93bQSpcCiMSOBQhW0qbtqHDrFKxgNCh2g0RCQIGi7ZKhen7eAewDzPO3AZ5Gu7T4+P+3gtoCzMLoaVvRDDchgemoUYibQhNcl/BTNSKcBGPAN9ebu1xvfzx2+9QSKYyNY6uQVJnoQCLQTknDwdXIWJiIzKzdJtS9SYle+CISIvTXDQaAYbJXQ8PhkB0xAhCV4sIc2Ha9bXhahGVOFwBwsiI4CIk4IXtx9aJKxERDOsbhJmpWzBThmeY2bIslH6HLKqqfZRZ1jFUdZqmWqcwGLoggmoQzoxea5NiZmCqriKlaOAIaEAScX1+WrbRe7eh5lDL1HsvTcKciOfr5bEumZ02TbfKouFM6VSQEwB0dwKMIqlqdYThysyRUvQqYNFNcZ+DurmBRIQO7apu1kgESZJx7qWHw/v9fnt5EWLf6bWB7m3iddFAEK545IoXFqwwlqGq6zKQgpGgRWMEjF6A58YVIHphcI5LNNksYOu6fr18GX0b630sj1qICO8/v/u6AuDb25s0UF8s5mE6I379+qJ9AHiZ2rKNVpBEHo/3MjUubV0fzLw9Nnsft9vt1d9JyvxcSnimcREjwOmIHADOLO56qNrx6enyeCz9TXuHCMTYkGDbNiEmwNYaAU91fjzezUdNvhlZobAwQifyqGAWCLbDXHm3hXM6HlsQxrVevMYYlor2vq1SiggPNxHhWvEADSOCdvY7EVGN4u5umSS3x/EQgdt6tKAHiBVAu3QJIAZC0G5RggDABAC4bgOCENFtJ+AickSSy+SAjfeeLSLSYyshqIhgJhE+aXJjDDBnYgT8NHqGwCicCLZX2Q3g/aDopDMKEkDAngxtVjhQqPceuqtWiSjACDNxNeb5mgUreghSEF6nmQE9NJ0oEt1XVcJaapnaFcKJ6bE9zAKBw2VdgjjtrocUejzugCYipbCFiwhSBJCqLuudUC5tcgQiqZVE6jRd1vWxbg+1NQLnqTFBmhabZQhLg509j0cVdSgBImGXE1lPASiWWpMjkbBiPh93d037Ws32LP8wIsK5FFZ1+vCs5DHMnMACEcAUmYRSEgAFyd0QwMMqERJGeLgCdtMozATa13dEBCCUYsvj+em2rZ0ABcv9fn/58oSgj+U9C/pNRxCq6tPTEwA8Hu8pz316/jJf9B//+EfX9fJUb1dkvpdaAspQ9UApM0mx4SJV2sTz7IhYWEIACEF6v+9VVOUIY8a94EAWZiaG4N631LpYqFCBCKbSe79cp1znxGXdfiADM/bu7iZ0qikod4NDFJHYNo+Yp6dcma+vr5f59uPHjy9fvjw/P1OAcMmiuzYJRiwkUyHlUvZihbnsLyblPckHB4LAMYZwZnkighOd4qDTZ+PSYsoEVk7ucqXvP37bESLZ6ddwyMkqEzNv4OpjWF/Wt/lSxrK9r3uCR45lpmnK3yPGPLfAqPNky9Kt11qZCiL33qkIChLUTS3nQo9Va52kim0GQDlFH2MQsA01BCn7MoQAhNjWhZCFMQwRcVvX97dHLtNtWRnpdnla1js6jnVjZmKcRIJHt05ItVV3B0DC2PpSa52mqqqPx8N9z0l8PB61lUTxY5eZjcBGEMyQQRQ+bOsPtS2QKWBd1lqlYnFdXcWD1X1YL/Vm7kA4+lj7UmtV9WUZX79+zRxQkbb3WgwHHlzcoexzZky3k5zhZ9WUqR1SGCCPOMvhHqME2CwQHmrj3//733//7btUbrcLjYeQmLu62thEyuj44/f3x2Pd+uAyu5WfPx5IoSOIFMkwREr7/uNd9UeR+ssvv5jFf/2v/zVYVxszl//4z/+8Xa9PT0/ruvVuV6ZLbbXWMTZzZJpKKQAX4C5YHKK0WNfOUymtja7IKFLcXd0AoLWmw4Za2oASBaKXgiJCAkLFAdd1RfRaK4sAUgCaWWmVJB2/Q9rkruvjPULnViNCCrv7cGPmXdKcHObUchBqOAEAoZoGoAGSNHV2lPn25O5IEgjhWEQENcKAMdA3X1u7vr3eF/356OO//Y+/z7X9yy83mF8K07YNNEfE2+15GR61DStUCQgETW2hoIhY174tVBs9PbdSRh+PNqNljhAWFqEyobTr7auq18K//f6ffo/Xx33dlsuVnp+/QLBZfPv65bF5ZnRs20YihcERMVC4lUrr6EBW27w+lrFuT9fn4LaNrFLK+ggz9jBA/+vVXHGMGJtvJb58eWIGgHfJixYP7VRWw+6OGMkLhNNdASMgg9MiIs3FAYEA3fNxozNJa+VgByASSa2MMsa4XKfwl9yZt8tsNo4S6qTHIBxuwRkwFAcHNCKGGxElYBiZE3m+smNc8PkPUgcdKUPGBPkiAc2Pv3nkTYZb37Y/TZDdE044q6iTsRoBquq2K34ejwcfhFdVTUbsLtUPjYha5XqTWtlUzQYyCM0AsI3euKJja6133baRg2MuYmY2tNaqpr332+WaaLpBJOKaxK+IQKZM6evbhhgJRwHwzmFIk4YwD0v/dYAwG2q2risCU+yuMtEQEW1oQE363rqu2+i17sm/As09aiWiqubr2pORGQjb6L13pkIFmcVh/zAiQgpdrtOjCrFLoR66Lcuy3J+fn9/fcVkeU2ullNCSqW8OoeGUlnmCsfVh9ng8vn55BoAkT7bLvCzLVOdt22qtHjvJLwkM7+/vl9vtcrk4hFmAG6hafGDJ+RszQ4BWK5EXRkQuzEJYiLPHchYiamUP74xDibVt7KE7uBKHSSJR33K0DYxJNGfCSD+Eva1VVx0cSMIismlGh+woLMuevpk+gifTHQ8fdI7dNNrJU6GauMjQ3YR4f4MBQI6Isiu3Aj3ScTml0kAHx+ZY7cf/Pcf9SecIIoiAMfxoDLKdpwMy32GYvasHJQZEsE9Ds3/C9fOc+cCqd80GnAMHZkTf+SQZMHl+XkjBux088SGJpr23T8hwk93bdOQnxYdVC4Cr9cfjsa69lulyeX55eenjx+UyITVmVN2Z6wANEREwt3My2nXY4/GQVnPWv/dRtZoPM8ugQeGa8If6bot24O57suD5gvPzgE8siPODmKYJEdM3JkEsIhqb7js9PhIl8zES8+nPfXRTMcY+RzezQ5RCiJRnUbYTBsHMwkyIZhtggh42xqCyZTUCAKUUU0fEHz9+JKskL4tMGM1IJjrECYki59vMJ/Dt2zdmRtDWZkCupRz5kiN1NbGbeBARFWmuOYjweZ5STRDBgJ7fGQDyx8HOlxvn6Mbdt3VkteF2Sr2VmU3Rd4oZJH1tXdedKYuUKwcPLgoRjTGS+pjg3DzPjHmwGBzwVpWSF8lxO0DCzFnn8WH3SYeXy7lH8j8luJi/SU5OxJ71QSTbOiJonm6P7fX8rOVI7zouoIgIZp6mySMysFYkTvZg4vqXy2Vd19Rkn6D1ji8ivr8//CBxZVewbVuu5zEGQoKUSAyl1NZK7+quQ42lwv79drmXDhMhEembv76+vb291TIRBwCo9gBDDLUNwJFqlequiCZCpbAIpSBdxz4wseOLCHK0ss++EABojJ405Vr81IF8bK5AMP/y5cu3b9+W5d77WkopLNptG11E7o83iB2crnWOiDHs5eWlVvn995+5GHYdTkkOdCB8ELhznZ9WjImnmtlJhMsptHtHaogw1D3WUmagIzt8xLo4QgAsUyvMvCxL76PIXBrhEm2Sy2Uixj4szFR1mmpEgMPj/W5Dt3V9/vUZA97e3t7f3+fblP48APQf//Pv/8///T/zRLpeRNWZ7dgOlAZlu0oKd3J5EAoXtyhlJ1PRYQR8IETjHBNt27YsCyLmSZWkoHPscJ7quRdylkIBvMsXIcBdDyNR2yUBiGdMDVs4OCWRdYyxLJuOFCVThHmMdbW///aPeZ5/+eUvX15+qa083S7DKWDoAO/j9fXdBbrHL7/+7ddvf7nemikCFWlPURYkcqn/8dt/vN9/f67zX3/9MjWRciHwiGi1SnkiHG7L++MxT3S9XkkuY6NlHduq8jSVOiOWZenr0p/l+vT08jZ+NhfHQgwo8etfvgIQEqEgEfWu27b1deNLYcBFt20bgVAuU50uwxSAap2GaWPaF7Q5RghBtxRqOpM8HtuyvnuU1zdf19XQP2z2/1wG77qWiMjZ2l6U7NqLDF/IChcyhSllGyxIzBDkDiLERRDSf4O+PL/MbVLtaeSXsWTn2fR56gRJ48OMWLJzWcBBBY7DdgYObs//UnxAlmk7uLGb6TJGdBsflnaILHgCgWbgAe4eqhHRWmOpr6+vZjZ0y+1KOQ0wE0EiwtZare76+++/i8jXr1+RnJnv93XbfFnuho7k7iOdZTOgmAjNxuiDZ4mIWqfeH30ocdYlsq4rZaIvYWuttCq1AH04JKQ42A5qoDsg0RjDXANISiIBjIjCZIEBSAC+5zGQmRFOqprhHdvYJ60I7FQBWN1i2xzcwMF0mmpYauEFkUf3pLJkgfL6+qqqt+uzuxNB75ZwrIYiOFcqlaa5FCjvWwThtizMWGSPH1ftyY6dpklE5tqCeaotiN1CmE27qjLsARBzbYi4LI+kk/LhE5rNxvt6/2pdpKI7URRgD9W+ad+yAp6mSQr3sFwSpZxxPYGIbaqqSsgizAhn0ZBcFGYqlQ+KIXxQSzCYMzyFhZgYaKeeO8uxAMHdDYMI+NhKXkqJMQCgEG+6y6Dx0xccvM9kvztl55x/ghHBktiPAgBFijI/yKyQuT6R8oZ/cmfK38TnbXieA+eZUGu2EPvxSvsy3ovm3IyUtB3Yjas/90jx6UntaCmYhyMFRCCmxUc6XUAhdthXNX7ig2W5SUSI5fMpsXukHKFjuRjyn9MxHkUMYvTYWfu9d5EunEyAqVTOwp2ZS2XmIkLgsRPz8meF+tC0MEpXOERsrUVEH6uZIXCae0TE2rfDzpmJ9te/f6EEBJV82n4eO+mmJ0d4eF6QKZWZWjPeOSFElInRAJ6oB+xpWaHqYCP2tsrMRi4i/2RNk+vBw8BCw5NPIkJS2D0ANNGJMgpyy/eS2VWttW3bXr48uXtm4opIYjpZoJ8ncL7ITI788uVLeky+PN94V4jGjx+v27YJF0Ke59nCgBAiiKi15maIAeCj6+vrT4D9IQcYEav23AvuvvM6PIP2GhGJ7BqYvbauk8WjFtaBAWY+Er4SEbODkYw7ITtylnUYCO6Hs26weW3CLIlbp/dAK1WkbNtuwWGm6elx0OU/us2zy8qPIH8WHVdSDuKXZXnct6Tt0U49H0Rtmi6A1kpDxGSTElGTEix5aGS9mFDRsq7TNF2v15OCZYfhbHatn06DD4fT/HWMcZJb8gXoMAAwMncvJURkmiQiiGFdNUADcht6TqHdQUr2KqRjQYSIGLrdpt3x2mNMcyksqh0xSCzMiB0pWAIx0sMNIhOCI8kMpZRpmlprHtb7XiUjEAKFY99sXd4RI/lIrQFzOTrhUNV5nltrERbmy7LUmieDVuExDMKmls9Qr9dr0iiSjZk/3d0vPDGVYLUPJ9z9zFFVd82ePKsCOMgwB1spu9lSa+22kgATf/nyfLm+MFWWvd/r45RpmsiYLzWNKb/98oSI5lvq0SNiXdex7kzF1lof2xWuy/396XrJnBmR+vz85fvvf/z8+dPdr/NFanUAg0hdUEQ4QD+5UghEco50s9+IOLmOH96jiCUZgqlxz+Y8U37Lni3zUbL7wSE0zbBVLoSpKsk2VfeIMeqqFICVHT+snyyTcZkcU7SwvwZ3ZybCum1LKSXdn37//TdAWVcdGsSgA0e3Os00l7m2+wP+/R/f+3ieS32DR5G4PH2hWn68P/7j97e///Hz//u3v/xr+7faJFx7H3mStNKQH0gX7W+1obSZ6UJcgcDCiWofiAAil+eX2zwVf9fhy/Xp8utfvyJit45kgLCuj/Aajurmqu/jXS2YeWzbcONSVVWXTUSkNO3DTN/e3wF8vjQiAoR1e6zL+3wVVa8VmHW+lFomltJmaB6780N+HudCzCvfbCBihJudd3ku0FSvGAZGeAI2agOIdgoshFmigLyta2u1FaGXp97b4/0NwEvJWHXIs/I45lLNphlkk3XEMWXGLE3O9XE2GJ9upg/393xTzLAnIsWfCvrU853/kIh8j4alUici6u6O6BHLsrSpALoHZ1HFf9KM7qF2zEWkipC7E4eqDd0eyzbGeHl5KRN3f1SjWgsR9VCuJQgBYgzTIB1hCstjmGL6u9fq2zoey/v1emnTZDn0hJzBHiM8RATuW88COi0y1c2iRz9S1gknKdlzAXIEeng46tB17du20S4YyINeENH36QSSIxURFwdjua6bmwYiI2ByYUcYAvfRt3Wo6vWyH3C5hNZ1LWQUHujS5HKtGuV9fTPtrz9/X+5/rTUlgxER5kMqI4XbwN0q3us0E+A/vv8cY3z/7ffn5+c8W+/3u7TdWGDbtuTojdGT9KLhw00YINlfCCE81XbftrF1OsBUPMzLj8lQYrcxz81MRGq6TrNg+idKgfDuga2yKbtrTnIAIGPDpWTWirNgWjCdS9R8QEje62AGqADAZVew1VIi5+DmQZRNMhwekUdj5ghn6GmOm4iY3J2BiQgdI1KemB5KKR79UwRyhManlZ994PEN6X8t3OMAhs9fmRmOkNE//R2GlIUgYjlFI+AICLjPx4hQCCAAPSgzCggRcRyns+DnfiMtHT128/sd9Sfqx04PgLQPozESGd9Nlj73cgfnBBGx1olITENVR9fnl5Q6ZMmCtdbUmjOjDU0pamJ+hKLY03Evaf15CNTqdJj3ne1WVjBnBckHN1e47l3Z0RHtUo3jTDMIM42jV8y+PMHpsyJkosRRxhhFaIxILkHO9zCMELHW+/2ecEDWYZ/LYjmXZwABAABJREFUMgwIHe7u5kElrQXGUEvFGbi7N6HW2uVySwi2tXK9zsz4/v6+bdvt9pyTIREpVazvBXTqBbdty3/18vIyzzMzpzdcVipvb28I1F4u0ioKFixZNaZ5MiBSzrtwl5Zer9f8fJkwSbSq+v7+HkfEVb7HlCSua2fmUphQENN7FAE9wtJaCwOEmsme9ejuNjQQzEfFiu7MhCw57mBAQQo1R8hYbhGR4FxaqpqGj3R4JZ2geOBuvwPHZ3w2bsl1id1LinKS/va6ROwuRnnTRQTBXtlHhKqPMeTw+6citbVskM4V7hEEnprX3P6qnZlrlXwhfszS4UDu08rjxJhzqWdTlN8TEaVwKVKqlFJm97pwhInsbUmmmhDtOvIi9TxU3f32NEk6EnIEKCASB6KXyhJIJGOYxwjLN15ld7zQ9G7K8Wk2kOc+EqkiVdW3bSPiCNMjofZyuZVSLhd8fpnf39/TdrAW3rbFbNR6MbNlfdxuNynY++ou595097e3t1R5pt7sl19+MbPkKGucuadEhylnMp3OYde2bb5rkWuEl1oAWM1IeJIbcxO5fOXrungfnqV+nlqlcGmNCKc6EZFZXC6XUvj19fV+fxtj5HQrT5jLNA8WZFFVFppv8+3lhmhfvz5N04Rwvb9/K5VbkWn+cPQ66xw8IrSAEIHcfZgiEE1cp5M3v7P7zsvLDSAo9QMQVEstpRDyuZjd/WyqPyo00921D3mfS8Q+iU+VkFkMd41e695X9OzGEYRYpBKBjgAghCSV7fa/bWoAAG6bbY9778ODq/l4fvlX4bJwj8Jv67KO8vP18d/+23/79cuX56f5X//ly+06/fj583/8+99ff7zp5oHUNZjjUi9TkzEUQgAKUr3MTE9fWg133zqET13Hjx8/p+sFYBsa4TyXOjVaHj+u15bkUg0zM8TRmky19QHrWBF5mqpZEAYTsOAff/87cjHnwPL0/GVuU9jQsYn67TbdrvPj8bi/vz8e7x5be36GUEK6XBpRMcVwFqoa/SPeHE4j6E++s7DfE5ZDwDzy8rL38AhIPemum3EYozMLAAR4ZDmIEK7ApU0V3DZGosIERwWAGLtlK2LWhHKGhBHlOsA40tU/V+3nIYiI2UsgYtoSE1H6ybp7hCUK6GFmer4vpF3MlyPudV2xXc/lrqpL39Ti9nTJN56rmT7oPXxMJAAQU+wCQIRgaLXN+scCAC8vL7XF++Mtwjzw7f2ugN8QzcIA121YyNvr4kGgoWMglQhUjd6TbIbMpfe+rD2AkPncYNkoB+JjXYuZCEuZHUFVex+OJuIk7FYYiQGFC0JxB9VYluXtde19JQLiHQ0Vcqay2ZIs9uHmDs8vX+d5fnMM18xbREQHFKkRYQFIlaSAx54tbNZVt9GBCoiXiG10C0WOEsEYAdCIw/UyP6l7TnKBaL6k+N9rKUOdESoyVLSxgse6Pp6/fkEurbVluWeXnzeE7uxSBYBSyrLeH8t7mxII9HROeL5RafV+v9e51SIRwZTRm0DH1AUBW5W8tJhKam2J0hUea0nbYyuFS0EzYrDUECYonGvTLACCArtZgMVxY2aiODMEgLu6QztA6+N6ViIKtWAKD2AgJERCOHeafj4ZAXRPsPOAwwAxIsBtL2ozgfUoyt1td2BH2Gk2h3oyIgDs8x/Cp6+jYs67E043X/w0JRMRQDpvCDssHfETCWGXH4WlO/6xnZPDE4WZiEb/iMs5vonu1u7H3s9C8HjZAAC998fjgYcV+rlVs3uc5uq+m77VMqXefIxMy0KRoqqIQETppuI+jqzN3BcEAGASdGizMMOto9ZJRHFHoHfjbYAsaPY0qHNacn5w53mbJdr5wLuOKoWIOiimGtt9jNFaEaHD9d8JMcABPU33omS8SrrIRpa8mTeeoudSdvEiACCBADnnqee5fYWgg+XUFJmJUaQS4jxdRlcWz3HE29tbmqggRjpn76ui1iwQ81zqvWf1k3Kg7K5F6hgjy99NOz0e0zQFgpRT+b1fLjlmbK3VMqW7QCnVNFJ+kM/5LCv3+nsffyEiruvae1LIKMP1jrUaEIYoOXrWw50zf64NHbJBZoWa5bO6XC54WKXlDERV26HAQ0RCEd7pkXo4bOSFdeLu+UEf7RyckEGaXSY5sDZ5PB4RAahpGJXFTSCebR162GHAIK0iYpnaPM9ZdifGCZ86hMTjc9d8tjNKAP44RpwZidJsd0tbpHVdi1xKKVkLlFLcVbW3VpiZeYqIPcQe9xF3rW1ZFneYZ56xqWqACVePdHg0c02X5LzfVQcRsSAA7z5OgB4qQggshOrWdQxT7FsgbFtHRC7CXAJHOIJ1cwdEQAiEYTpM69RamwVCmNJzcGgP8zE2tTF0b/jv95/TNI2x3Lv+7W//yiTqsfWllFLKnFV7RPz8+bO1lo4o6d9VSsvbP+t12vkkWut0ViNjjLSky+ZT1QFovnxZ183Ukeo2tsd97busiEubW+ExNjO9XBgRlsf77Ta7W7rVXS6Xy+Xy/v6+bfrXX/7VzLoOVS3lNl+nv5W/PR4P88fQdcJSpPz669e//PqSdC8YQQREn7DztOoiEGJEHOZu4T6AeGbJjijPAWaGSPNS6pb9cDk7z4RJ9ktzpymOc/qBiHBgT2AeTACIAdvacUfpdrTI90CDkFo8vG9qSW0mnS4zATNzOGejpENTEr2tJuRlEgQPGGpKCBA8rM/tSm3eUMey3df19x+//+Pv/zFXrNX/+EN1XELtl6en8de//df/+j/++P3HVP/nt5cv7a9NgN/eHvf7q9Tpr3/9qw6q3Jgpoo/xWB7LP37/iWF1BiRyCB3DbUAwcZQqptA3JYbKwmVvlSG6W5cyzVMNIETcdCyPn0Xi7//4j2WL1p506/zL16dL29QQTVC9L+v9x1ge0ddl+fEf6+//8peb4I1QDHFbSEdILbVexf2Twuz4jCPivMgBIsW2RMRcACjC01P6cz+XF62Z5QgyM8nMTVKYCcAgAM5I7tptd9s5i4Md+f7UM+SHz5zbG44iGY879UyKGe5xurDtuEIaaESYjYhCTCzkI7lTmweIiHBJP5y8b5i5tOaIuTPzNV+v1943O8PY9wIiOTx7q9DavCxLwJHu4BpOTPWxDDcSqbXGBS6EBBkuUMo0zdm/itT1bm/vG2EFcGRC0jFMbVse63yZICTQuUBEdDVS9+FmMYZFeJG51esdt8d9I4I6TwDwWNe190CS4q21ehFH3IYzRUGEKObclZAKoPYxYtNaay0zAA2FIOibWuXl0V/f7xFzKc/3+8ZlcQdhj0Adu0lfuBfiebowVQRS1dfXn2NspRQFUIunVlAKCKMwBNcqtfDL821sG1PhUvOpqiqJ2MEQRbSp1loYEVsV0+NYtLsULqUEWPoeXi6Xx7YSkUhLgua6Pn78+GOapqnU8N0t1MOnWtzbNLVCuKkC5FgHAiJDH7NyyLKASNyzMg5EJMyR7o4rsyAgoqO7CzESIhALCPFAypNrr5EdUzxPgoyCtBfQWZgy857YecwoxxhudiCUf8pVTVUiHqPzCI6DznF+FgD+qZGOgPQfOo5RDIQ9HmUvfHGPNM+LHP5sxpp/Bz9G//C5sjmIKBkpTwh4bhD4hPCdX9nbuAcS8K5PUYAQYve9hfYwTK8GDz9QH3dNgspxWe4v/uTKf7blpoOHenpp13aMAkpJJ2ZEiwgdHRGFiQmLVBFhonCPw+r+bAz2rgNySnNWYyxCAPIZNUfck2LPP3T3cIzdrAPdvez+0ycrdC/IgGIbXY4c9bPg86HMjCJ2xEIRUUFM4rUHSAgxE6GHgTsRlso48lLkUopbpHSSMRFQzsSunUNFyIBGwYhMUqSW0vSI4DXXZVlqrR4fpN6Dfgj5qHNhtNbyRpc90YLz+Y9hiOm3I3/5l7+9vr4CwOU6q49J5uTOnjAEkeSjlFJFCnMJR7PI9iPpQymBHd2KFEIBBiL6+fPN1Ndl8wOFhYNjRkRMpLDvKQxQ7bQLVfe02rH1aS6IsSx3Itq25Xa7ZeSWWSaAKu4roSYJ6sBruZSue+5mXjr7JuJDYpGPK+/Z/FdZ6+eneZ3r2N7dvbADAIESFCZ2zFA8YEA4rNbNBxqntme6XnTrOd5U1evlamapi8ihRJ6rSUc+L1n+JLfYiysL/ACeoNXp6elJVX/8/K6qSTJR1QgrlRHA98TF3etsb36s5zMvhREnkWq+17it8DRVRs858Z4Hjcw1rd/R1Htfc4YjIq2l5c7AA7/PzZvTlWVZzAcLZl9KBAGuquaaxlbv76/3xysizq1KIVH0ALPhjmNsan3d7qq2PDYReX7+cn9sOSySQtfrdYyh6tM0q+7xi1yLyG4EFHGWm3gUA5bLUkpR3Uea7+/v7vb09FQKP97jfh9SsTVauy49K+8SDqVwoFho2E5BIaI//vgjRc9EYkeWyzxP02XOlbN7orcqrQZDX9TdTftjbIA+tSlfmLSym4xBKl3kXAOIyCSBqqpj2Pb+vq7r169fk0caETp8WR7wKeOZD+VGCgAQ8fyA/HCz3U9gwHEIQizAbCc4eBzkwHAGIkIi7319rNbCc7Lh7mbhKedJc1LEDEYgAg81GwEmUs2s984ECC4ELy9P09NLLU/AlzfdvsRsdi+l/Nu//OqxtfalFkEPHV6Qvt4uv0/VzMe69Wm735dedLhtput94d9+zpfy8lyJBECKXPgFSvofIKxqMzcAAt1A3zHMY9R66wFDN7e1BTd+aUwDeqlIGL0v7lFaZXShKOh/+/Xb9frL9fa1976tdxvjy1Mjla2/v7/f3Wyq5L2DPXxAfxS4zJtv23pfV359G0T4L//6q0CgH9HNe4kQ2U7jfrsDfa5TD8A7h91ECEDgDkQftpKImHEY5IABEUaxx3e3qfRu7gepJj7gls/3ZX7AeTIipgMrnPdo/sY/+UWeE0lGSj++/CtJZogdxvD0/85QeWZ0DHeJAxccYwDv+pgxhkNkR5iv66iiMkqD1j7my2R99N7XdZ3nmZi3vj3fXtT6sizbpkR1W40lmNk1wpyZSSqhrL2PjpcmamSKj20JZ6kFYr09zYb0+voegeo+zZW5WIxwWrchgGPEGLFtawTerk8Isi7vHlYV1G0dnViQaRgI8maDgEdXduhojEoQHuCWxiceiMTFHPuivY/NV4OodXgQodyXR319NzPFd7cQqX1zMy+lBYCIXNullAlAESncf//9e1q1eFHwrf3LPF+v8bjatuqASA6Jjd///o92e/z6l7/VymbDQxEZGJJuZGZTrZdpHh5fnp9e3xaPeH9/b3W+lcs0TYCeSBsePn0H/RcK8Vg361uqSyF2EIwYLnNL8n1lUgIzo0wJpgD0JDPgQf5WNUQwcybwcHeQQsngZEYGUrAMK8wLuwTN83zAXQMRs0LMozcMqgDAHlMFx8SGiBw+UoSIyDO2/FP1dhTuycLlYwNqCpIYEQFht1LaYTB0UM+BwAfsjYjZ7RytL7r7kQQVZ0l6XMl43OtZEwei4CHahoxRKwUpkqVzFtME4aoQezJ4ek4TpJrXww08ABIEBcTANMKJcB9Z94AHIgoxUNI3IkCJC8ZOoEuVNR3XBiFe5lmPhgcO63Q/CJf5tPPDxQP+F5EcJJ7nTzqgOSoduvwstgGynRu4c/niPG0iIglaZjaGMQOXjxlmREBk4Buct74fROTzy2yYGVVytVpr1u6qCjsRQmGfXeSnsH/vhDnc3WwQcpJQRcQVkt7v3iMsQvLg5WOwSkQQZu6qJkhRmYgKsCNwkuUsdOzfbeur2SCqrbVt7XqYlCfa3Xt3T1u6/XhMbkMyZKZp4v8/V3/SJEe2pIliOpzBBnePCAA53aruV1U9yBMKhZv3/3fccckFX79mV3X1HTMTQET4YGZnUFUu1NyBy5CSusgAEHA3P4Pqp9/A/Pr62lohoul4cJDYnwPnMM3DMAxDyqUUwH2INw5zay2EOE1Zut1uay1Nuj5/mL1uYObAyUJzQFRV3a1vWRZVnQ9zrb336zQn798CceDUWf0zujcb1LrTnPakDufhmJl3IF4w5ZzX7ZZzRthZW49WOYTkzDGmKCgi0nvtvafwrcn0wt23xn0gs4839W54EJMdjoOZpUym2DsSeVxaVFUGufON3X04dKlIpkYcyIDVOiB/f/l6C/TtNnf9aO/3Omzfqt/d5t0rNtidW/N8mERkWW+PEda2bSFCuA+OvI916yzV7vOWWjfmmHLcuV6GMXLOMaVADCA9hAERe9+kowefEe0yjGB8txLmEEJKe9AeEU3T4TFUD4G8/4+RU/IwDbneZFmu45inaYrJfbg3JozHKQRSjRwMSZgyIsYYRFsegocQL8vCHHx9ElEplYheXp5yzq+vX/yhUdwNKu5ldAVQj1Bw8HFdbwCQcva2tve+bfV6PbfWej+ZZyo1rb18/XK+XK6t6zRNnoAeYxzHyWxACNKViNfbwpwAKKdxWa+lNERwnXEaMhDmabzdbqVtCpDGdBg/ejtaymYdGwlzJGIEJzkL8zcl9AOLeaxhCtJuW2tNVIdhOJ2ekVCh1O4bLQbeLZhqb126mIoKEfls2S0vHUHBTsQW0GqtgAbSBQBA2eernvDoIXekMUYOACildDPLk1+dzq6wUoo08zSJe7YmqUApDSmc3y/TnB3nQrRxHCKxCFbgVoDScczTcU7/+Z//69/+9N+sX6YUxzTEGE27G4D++MunViEiaau9bOM4fvrxhPH89n4Ru3J4YuZtLVtZS1kp0jzP5bYIQm2iyUIIKNu2vYMsSNs0gvSwrde6vavEeUxMKUYkgq3W63nbapmm6XCaT0/DPI+Xy/J2eb+eb5EZoSKHMXLIkQgjUUrTtpS3Lxfra0oJO9WtlLosa98Kv71eei/Tse3zwQfu7iWyQ+bgE/Z7BntvAiApJVVRNSJzqza7Wz7TnfwtYszGFD3DgY19MoL3MuKh2zET1W/eEY96xXF9VWW+K1O/o/TsBYRZFwHTx6mUUvLEe1UVFWfN+qHZe29tH3JJq451QUQi5Bx4GLTppZQ85XEc27bFGIcU1bD15nWA3K9Pf1YpJVOotR4OBxE5n8+qOgxDjAkApC9gdDg++1lJHM1EWvc2WgzQaFsLWZWeQ8hlAwAEo3UtEECkxpjX0rr1EIJfIyGEWitjuN1utbZlWc7X28uLllIuyxojy7qVVsVwmFMX661VXSWVlDJ0UCPRBlCZWu/9thUAJQAzW5a11aU1DTzceh3H2QzneX5+zrdlO9/ex3G83W7SlcNQSmtVc67uEEzQuvqFioB6XdZaCwb++PMf3q9fPqwYojX1eyuEENxleLuewcssUVem8jiFEBiprLVCjzFywL71GCPYtXfVbZuno6oyIQH6yeIX+Y5lxugYyX0U4/+rMWRmZgP1ICfHUe4qRgZgJFUfa5DqbsTjJ52B0N77ifOJ2+5+AKKoqk12H/jQcA/GuyfqMZGKeX0jIsYWAgMSqLhwvtaac3b7I7yXwnQ3abY7mdLvjEhspgZ7ThmAO7KRmvfIu97UzNB7A7sHFUnHu7RLVbxS/n43wY7EeF1od2b8/tN8NyHunLTHMEqtx8R4Z8jcS1ER/aYjv3cL+z/hu9K7GkRDMmY2QCK7xxAy3mEh/S6ryM+Bx+WKd2nK4ynlnMc9xF4d7nX2wjiOxCCOSYkhOlmZmKPqrjZ++DH7c97aLYawn1f763eDHSPyzked4ARAqo3v/+73b9mXhJmB7QPMR6F2J3p+78BQe+9WzVNctQuIege4rus07NH0zEz3I/rx10VE1VgVCB20A1EEC4QYoohp6wiUQ4TdBciIVfsuwW9kxDsHwD9tEata11W2bXt86GbmKKDXJU7p5sBEZNJ9swDA7Xbz55Bz/vLlyzzPRPT8/Pz+/t7dusoWMzsejwDKnDjuZuHMDMjIJGAkNgyDGbTW1qVta2HehyfzPLtedhxmL4h9NY7j/Msvv/zxf/3pdrvN87yu6zQND4TbedgxxsdwyTlUzqgOIY7j6Lxqp6z4irper34P9qaBWHhf6j5P8DQ1M3MO511KAd+v23vHiHi3efgefb9PschUD4cJCUIgFUsSmJkQbJ90AYB7jN73uH6zcmJmHgb//lYb7rFKeyvieVL+enzBxBj9tv3+xvcX5jwZRMw5eiF7PM4uAgagEJLq9uiEQwhgDxUHqaqjzojY+z4T83nDo4HhkBzECGFQVaKASF4J+/J7hGLez/PHuUS9d6cqGahoF+1mAvXhHGX3P1CZ4+l4aLWoKoBum+dyBG3NYoiJe9fDYRqGKXBKcfz8+euj9962zfTbWG8//++77FFF+MGiCj7gffTPrsn++vXVbE+rqLWZWUzRF/9tbdfrrVSttSP0cXRHGouREEGBQFUFch5DCCoQQoght178sK293V6XOOSt1ZjD+XJl5pjTozCOYRwiuRO/iITw/w8xiIhvAUIWtnufFmOMYBRjdizJP0feRf+q2n3B+ETlgbvvwnGTx7L3f6iWbds2YrTevNJTghijdijVAxNMg8dqAzNeb1vvioERuNaqdk/M6BA4ARC4y2TcYSNCDHeP1Hkee9NWqh46UeoNuvDltp6X8u///u+f//rvAW7/+NNhHsfASTpQGGIwbD0d50Pn3vvT6fTjTz+kYaxNmjRARd5CmojFdH9frbRxzEQwDJlCFwPRjtpaWdr2PkxiMhPmXm+/f/5LvlIe4mH4wAHNLCAwIyM4qyPnCAKgmpmtay3b6ZA/PM3HKbbacwLpaloC6dNxej6mlDHq3GtppZqK9qqydL2KzOG2OKGT1Hw/YwihdYoSAVQEunjOxb1HB6zOzydAMlUBFDRFNAVlDhQCMjAzAqNa18AhiDTTSm5ArsYcBHY2Ve/VTFIKZhRCsCZdBAHQGiiJQemiqqZgZilHvz9UZEfdMISA27aFIGiCGFsrABDuc1JRzzoTM7tta4NqtUbi3nl8ehJFA8jc3/s6pCmE3IVSOoAhoEitzoh1oJDIbapDCLFc1xjjkOey9dPx5e3t7f3tGj9NMR3U1t+//I/ay7qd1w1zymB2OV8PU1KpcTqAWt2kV+1YS1NmEC1gQboRuXqPVrUYySC8Xm7DkBCDCbUm88Clmklgmt6+Xlt550jT9Hy+vAJoa32eZ+iUAp6m4XK9vi7w6WWupbBVlDqPoa7beltMVlWI+dBaX9bSmqraOOdJ0/l8PZ4SFTscD5Ty7XYp9ZJDfL2dWVAV3y7Xg5JqTamlT2NdiiqklFJI//gP//Rv/+O/MaDe6rb2f/vr5b/+08v04w/v1z/S2hNmYTIzxnC5XH792x//y3/5L5drwa4mGnMoUt8vZwAapykE1iSRhAFBgDDczrfjL5/85huGXd1vhkSBPbHFkGMiCpfLbRxn9swjpFJbYmJiRGA2ACDQFAgAFMLjbnNcBwD8zHX82FdsCERGiBgiFFVRSIHRohucS2ugWNeSUtoFFBQBkSMxAGECADFkosChLgsRKmKVXpeecybazSZ678Dkd5XuGridMdJUAt7HkQ/zVgBGRfV6FwBAelOtgGJAoq73IxXbmkdjsnvRgDqRBxwCcTV/DAk9ukHt3mATaHP/UU9FUFUfSfi8EgAYUETUhAjNUAAoRLQdYPaDvu8++t+z6hGNTWkn3YMhEhgaemYzciBwPN68PmsheJyCIYLTvr3VYeZSCqFxZCL3zG6EwAwxojRBAEALBAAmaGqdmREjAImIpwzHkICh1qodl7JxUA7ew5AZhvHAFABQGhhgCEkNtHdiVLVd7+FaUscy96HNPgEPISCYiiCZ9uiwu4F4L9Old6kNOAK2ZU3EaCC1gQkzX5Zt7wc6eRpI784nbMyMpLWWLoqIChYTIkRQC5zJzVVEbtsamSI52aZLUwCMxBJ6723bJOcMHAgA0LHSTbTnEAUsp2Hj0sVCxHEeVfV2Wc0kD0m1BwRjdoO82+3ihu6qWusWAvVet7Y9H0+HeWytESFzEILhMJTW5jyMMSFi7YUjiXTpGmPEyMvNK8ihp4oUQgjbWlW1lDLPs9/9kaJjGSmH3pcY4//2zz99/vxZdDVkQ2WOIhJ4jGFrVc1UtXk5vY8LekNEp420VqE1BAWTL59/izHWUoZh2NZbCCzSibC1Oo4fEA3URFVUhmEg4hBJq6n6XdY4BGLPTFFi1h3UYET0iFkvZD0EipmXFULA0+kZgZq0nJQD1VoZ0cCKtBBIrUdCUQ2ETNjrhojSpIuJWM5jznkcZV1XvZtMqGprAtCcKvM42fbnhsQEpl17r9tiZjSEwxSWZbGejUgAiCAEENHeNwBoTZgUkQhDFwQwQ2hSAbOZdTHpzQyJdk32jpFJQwym1ECISJFq7QCATIhUu7RSxnEUkd7MuVLfOZSol/hEsCzL+/kNEZ+fT2bSWlPhUtrhML08f+rNCGMMg4hUgaenH2rbkJRNkCKq5imrhRhjCJxTHsYpxmSKIUXU+HR87io7fsSMJMu6uklACMGt1AWo1UpEiZOqAlnOeVmWftdoXq7vzOxN/rJc7508G/SmranknN/er8wxMHclFdYe31+3W+h5iACbQUspphDV2IU3acgD5c+fP//5z78fnl+YuUoPgexqqh1C0Fow5JwzgHFgRCUBM6110+46B56myYzNQBVaK2KQc47oHBiMMQ55QsR5nnvv2kXdUdezIqxJh7UtDrrzrmZRgP2GuvcDkEIk4FZ66VVM660wQmRezreQkuZAZKhBWxPtw8AaNUTgALfrpbZ+vV4/vHwiDtIaE2GgYtV2syku29V6Y4YcstC1V8x8CMCKNg1BgN/fbnT983vPrwWXhrKirnIYp5DtP//Lf+YYVKCKLmtBxE+ffphvCwlfbtfX602/vE55BbPnFO299OuWno9Wr5xiYBmHsK6tLOV0eu7Wb+tFhcnCYQgxSLEv0gh0IqBxiId5BGx122CU7faFKEbmRFucA4BYuXQJYv3Th+dWtTWLcYqRx4mJFOv6+utffvvt11b1f/vf/tPL6el2ft8ut8Ztmsbn0wlRupR5vGyFjnH7xtH0QsG+m3qbWe+td7UdKd+5TXd4T22HHcCnJ2YmoCaCiEoWCBHd49YdgvZP2ghLKcC7DNn75gde5TD8AwtsrXlGV+BId2M4vXMJELH3fZTfe79er66/ecwKAQ017AxaVTNpXdis1lpFhRlwQAj+YxG/uUMYqH5nmhtjtN5qrSHsBs+I6KN2P9S2rU7T9NNPP5WtL+t2u66Xyy3HKeeIZK210+kU2Ur5RuLvva5qXWIpzeeMzAMxBaKQQ8o0TUPv/bre0FRFmiERvd0uL59e/vLHv6hCyqHU5Zcf/sDMf/7Ln5h5yOPD7rqWHjldru9/vP45EOcU5oGBMITkCZhm2LsQhnEM6/K2LMsPn34CsqGpCrTWCHkas2q/LhdrLRC9vb1xyKj29vYWY4oxv7+/+w/829/+FgiHMaaUjsent7evqn25lq9f8Omn8cPLD+/bGyqO89R7PxwOt6+//fVvf/7DP/yMBikNPpC9Xs+qOs/zOI4eW2SGOQ6iJIpmsG01Rn6wVx+gbAgBYPfS3rbN8QBEbN1zeXoxzEy7xwVYa+omwQ/o2b5TCuo97ON+55mboLu3IIUdE7rDt6yqgb79kLuUEIhIxdMrdpiNkHYu6TA6jNF7R9elOzTyMAG442Tf48F+l9DdEN12UyO8k3BEnTeKDw91J8e7wJUVlSnt7xS+94f89uK//08R2dnyf/8HHq8Q7kS1hyxln2MgPHYr3d+YmYEJmBEiIRESusPO4wu9cvd/DJkC0/4DY4yIXMp++Dw+d7hb7CF+y9ahO+Hy8Wt7cP3N3CRhGMdt21QsBHx0FwBAFBANSVorrRVmTnFqrcWUvnlcmak6AA8PTPoBzu0FR+BvqOp3lYjpvjbQ2ctkDIwY6R7xVrrklABguy1okI+RiJgCgJvMpAd4JtJ5t+RDQxWFWvo0TbU0C5Ti5L0EUyBk2yFMdP4gIiGwazm6KRu45NSwxZByzpdlVVURY2YKrGqPNtIPvSEmVHHO67Zt0nur1e7j0P2DMHCTlmmaQoxxyFstnhCU88gcH9Qv5zKpAqIOY5JuZppzZlYAmA+jr7RSig9YECFACCGo1ZSSI98vLy8AqApMu7fmTsK8701VCSG5Zz9zVIZt22R3GiVVPR6P/nrmed62zc+Y+zZ86E0V0QhBeiWiyMR5KHXr3VKMp9PJDxaHpVyH3Vrzk8df/z4jGsfWWumt9BbyEENSsK4CgCEnMlWE6FIuIwENIQRCAO29Xm/vpTQDFLFpPOT8MYToxp29d3fgQWx+ocPOuHOm1n6MSJUHHK67MQ49fNNFBJgeIa/O6vaf7GWBfxwxZL8KQwg+K/MHXsr6wEH2bcj7bg1320R/Pb33ZVl8LOlvzTcL3xUC03TYtqX3jkA+H3M1rVgdx7kbmNnp5UNKqXRZluU4HpEspRBT6BW3srh6OefMAXtvdpe/eyxADLtxjft1yt1J0yKG4JijiAoiAJMh9rKZmQC69Y0/mZzz6fmpN/VQrd73lGhVNYFS2rbVwzz+4z/+x7L1Wvu6lnkcXL3NzF++fOm9PD3PzLSpUgiGSBxCNKfvPn14qU0etCv83puy9RDI2zNfqL33mEJA8lKt1uoRuT5Qinn4jni865iJyD8Fd3kWEZ+SPT8/327rXSYe8zg4hiIiIuidJxGZaIddt9p6aWUDFUOQ1nLOMWYRqdWLpf0VlqIGEGN8eXn5t3/9n2ABXqiXXlqbpul0Oq3rbbmVWuvT6UNkfHv7KtpPp6lJ6LrvKU5ohtfblcO42mvT8ePTH1KRGjm+PG+XMA21Kn46vpjZ+f06JGiltGU7jNMwDMcP8x///Ke39y/9cLBWSYwT/eHnP8QY11oGwhjTPM/HpxMRSdNtW0AViY/TzLb4sIJZieF2eZ/Gw3/6z//U2hrCgGTzfFyWtZQtxsgUEHl1p+BW1o5gQQW2ddXErMkid2m9t2W5oqK0Ncfpw8djbfz18xdViOEQYySOhzm2Xpk5fF8W9P7N1eFyudwLdEH0Yw0AIATcb6wu1NmDTEXNyExRQfxyZ4rAqojW9+NDFLay+e1ZpYPsaQWup7lfRTsLyh0PVFutfSvVDDWYWyM9ru3HqfQYTHfRJBLCnkBBRAB+yalqb634u0tEUhuILmXjYCKTG3KBGaD6EP9+0CsArOsKRiFFn7H6pFgE3cYdABwKGoZJFbZ1/dvfflvXdjw+PT+fco6qG7GaSe8KAM6ldhc/kbaVqmopEiIgdaLYZQMMpm25FGQaUiAOt7p2hWk6dILbVqbTUZpq7yklRAOGf/6nf3l9fb3zhYJfqB8/fmwd//KXv7jR7zCOCErcE4eKSXqPQ1LjumwU4nw8QYxDiCp8WzYrrakwBEDe1j4P4Q9/+Cj9z7e1qbT1VnqQtolI+/jxY629977erhzg+XTY1nK9nMMYpbSvn89/eHoJ4VD715SSdAOi1laQfnl/e39//+HTH75+OePdR9L1SYjoQ7qcpoUhJe6CALDctmFMObsRETAz6t4+he/yd1R7rZuPsJ3b4OkkvnJETERDcF+a/bP+vhwUEb9i2as6ZgIDUCJ2F0IjonvUS+9VVdG70wdN7z7Lhn3GzY/v+A1xOByY2TEbL4dlZ5PveqDHq3L4CgDEhO/ZJ0YEiCrSVBQh+D504xhAUL2LTQEABNQMVAUR0ZkwhOCONF4w3+tyM/uOBuD/qd9X7YgPWd431zD4jhhABHsw+13eqiZ4dwH77o89NC1/1xIAGigo2ndic4a7gXe/23fA3t4rwOOVCH739T25HwCcsiJg0Gn/hlkM6Q7ny4OOEiESRWLtPYD5ueTJc7x7WgZQVe84eu98X1T3qm43lee7vvOx6u5cxP3ZEhERuwsWYCQMClZ6MbM8DBailApdW3WmkzJHX6QP4CCEQIxmMUZQVallt5oxq6WDVUQu7SGkIzA3ATVEAKSAgIIF3CYcmclgbyw7A1MGa0waQnIg4z5KIkTupS51673mnHMOtTJCRkTp3QBExM9qIqq1qnrY5B6B3mTPc4Hv+uT9w0f0EsGsm9ojvJtoj7RrvYcQZMdiyZA5sB8drTVEHvMgYkSEwMT7XYZ3vNk5nCLiHAEAcH4IEXkAjd69qsZxvBPq3AaUnDDvtDrZ44HBTAB3hAFA78Hqewa5nyFEREZIECL33pm49VZbOZ1OajLPs5vMSNc7dSEQkfXmSoatFgIjCkNOhFDqpUtdlk3ExnlCAtEiWtjIoWgvUkMIHqXsl6OIeISgE/mIiPibwtsPsd6dDV9UlSl6pQ73xtgB6ZgHJuy9q0DvGtj4HkLUek8eIMjoxBsAYE5m1lpj269srz577w9bSc/0wbtayUvhe1XEj43sk0kEYo5EobTuk8nrZSEimEOMjJCXuowpMyOAttZUBVC7YbwzgkTEHej9Mx1TNhNifrQorbVhGAjZBRv2nS++mS1le1wTfoKlIT8/P9fSvVEUkZRSzllEvn59W7ftdHqexgMA1a2dz7d5Pg6Zt62GkFIamL2KkG3bStlOp6dlWRHheDwi4tKW3pUofHg53RmA7hjbTYQQ8zwy80Oh4UlqKSbr7lYJvXdni5VS9ub429c3WqP/fxF5e3tblsU/099++613ZebD4fD09OTb0NdYvNv/P24uM6u1LrermaBpIAZQQ+bYiPi2LgAwDIMJllLWreXMx9M8jTNROL+/Hw7PHz98arX/+d//dDqdji8HMtBepW1ERiwqDUHGPF3KrZVVpGUcmXIIhBiB44/zx8CkvSmYQc+Hic0oz1/fl3nMItpLC8Qigqpbv6Uhz6dRL92giLUQ+acff4g5uu4fifbKobdSCgGWdUkh5GGaEn39/G5tZWZAud0uxFPXdYRxnPLr13Pg+vLyEo9hDVvver3dhmE6zZOZWY2X840oDnForbdt3SzwYZyG4YePT6A/DsP00w+feu+1LZ9//4u0dXj5acx4vZ5F28vLCyP+7W9/Cw+yoH8eD3DocZF7JY3fZPL7fQxAiE47QObg4zJV7aLBMAbVu5Lqzg3TsokrO0VFRIB4SjnGHELovZayuhnzXoWrtCa1dBE1Q4MWUnREB4m6SHE1N39jxiOi0S5YFJEQ3QhCvWIghmkebstGaJwSxbT4sQWqrT+KiZ1Cd3cGcYmSKRr62cFeE8e4d65EgUiOx3kcx22tt2vd1p7TAVE5oFpDaKBNAQjUM1x3qhkjIo0AqsCstbYY6XTKIbCqtt6Bedu22ttwOIY09NJuy9YJIiMYDeM05Lxt21rKHPIwHGJc/HNhYEMzwikffv44fv38flu2j58GDHnrt9B7SgOqHeaY8lybpGEeant9fX0/3w7HY4iZqCvCttWu0ppW0fp6+fDyw08//fLbb5/r2tCAd6ZxvFwuHqD9t7/9bZqHj88vIQw5Z1WBbq1w7+l0+Mjht957DuPXtzcl+MMvP52X9//xP/77kI/MUa0bCDPHSOHuoYGIAUNvypg4ZQNprYYQAu13ZEpJ4JHZwSGE27r4IbWu6zBMXaoKmCEQllYd5fL7Yy0156za7iVppDsX0H3BOaCaO4GiALDzlR/m6BwYHbVKOUutVYGa2COpETyEJ95TDw3Qh91p5+zuzcb9btiX071kfRTKe+mJCqhGZCBd9qhtA0DD3rug8d+ZO7kNOTkRHnFP0gUAsU5EcBelKux9C3kIg4GBPUj0Zo8YXHgU3HdS8r3PefzRu/aj9273+sA58KpqKg+gCB6DOlW0Xfz0nTrWK3/3/QguvPP6AxFr3QCGRzUM4Er0b3JeAM/jDP5rEU/5AQBAYERRha6mpeacGcJWy70OC2qmYiHEwG5yEi+Xi0thpWPvLQTPAUBABNgnHN9Pfh4ICPIjAeqbJyYAqJj2/b0QMJL3GJA5dLA4ZLEec46GQQy6vq1vsM8B8FGvD8NQax3HWaT13l1ZWLv1rrW0YZi2tZbSQtoRtd77EIe9UwIEI+dyMMccdNu2WmtIHSGmyMAQIKSUeyczXNe1a3MQt9batvXp+UQEy3IG1JgYAGopeXexUCbqIkhWa3EM+3a7qQWpogh5HIDwjqrAAyfyssPrD4dC/dUyMxE6Bx12Lx1TBBeLgxqjEAHFwKq1VgkRAN1qkzEgunfUTsBFxNaEOQ7DEGK0ezFnBo6v+0bwkZ2qppQebR4RBWZAcwgW0NI+f/GqZb8yluUKMIWQHl2BT//cLM8JBg+OwU4zSEOMsZbGzK64bb0agoqKwl5vMTNHAFUB6egYkJvwPMDp2+22bQtReEzOfQU6nLHnoN83Jhv6vQ+7FQzegTC8N7GRMT7OIgXzGO9hGAiDWAPArmqtt9a2rRBh2E0D26OYe0D4USOSqer1evVa4nicvUD3fICUEqCJdrduRAJAQ8TSmyLEIUPbpVmqasBPT8cYY6tihuvamCsYb1sbJuvWTUDUFGwYRpF+vZ3RtpjuQWlApjCOo09NW2uJKQQGyGa7BZMCemPgyoRa+2N53NcDtKbLtlKlaZpKadM05ZzXdau1+kwJkX///Pl8vg7T4eef/wGReu+19HGcVeTp6elwmJgxD+F8pq1cReT19XWe59PpJKKtVaZ4OBycJe8BhTnHEALcqzInuLuIj+5fItKlY2CiAEzApAD+C7u7b/lJ9UDfQwjLsvztb3/zRXu73bzlFtlNeBFxSDGm5FOdHSCoFQ18huY/8P39/ekwp5SneUwprctWWx/H3ATYJfWE4q4AkZniOMY//OEP//avf/zrn/8yjzMC1FJqKW2lGBKhlHIOIQw5tN66bNNwupr02pr00iQMh2E4CYYBpm2rMYQYwmD465e3Zb3+8svp97dL732MAVXOX78EwuM8bawq9sc//6/S24cPLy+np7ItUptou15X28MoVVSktrK1ZVlMuyEchpSDLbe3Xq+RIULc1st1WzlOP/7ws2hZzqXVbevl+emJEFWqgapspgGMwRCgc7CcIjMaAKohCaL0WsD6kMM4RCTJEVRE+pWCNrmWSrXdSmkhBMJAGIJbrxD5bQci6rxhZn44xN3HXn72mWPTd5jQXL0KBL1p36uW0NWimQEoWFM5X2/bVvdTDEwMVcBPgbVsSSKAOkXP7lYhrbVSmnQzYFMw2i9FvDN5vAkGRAVhZoN99mfk7Po99nXvLK2ripmmHIIBI3dAqds0DZHTurzeMTA08fiVXdW6N6MhiPl1u48XU8zLspTSpilO48HMelPm8Pb2uTVJcTg9TcdjFLlIb/M0BB60u2FWZmZSiJEZsLNKV2ZMIY7jkEcupVyvZy8Zl23tpjzOTHK5LaZgHMYBj9NxGuZAcV2adAZLta6Hw8mFbiKS0jBPR4R4HIaX509vf/5zmE5hHNqtLds7dcvDBECta1OlOI5TLrXf1uX9/fby/CGPkypspZCGlFJO01rLb1++nubDYZrL1k1ZzNPmmud3jGM+HCevKqbxkCK8vX1dO0rl13P7+B+efvrlD8vrrRcAVRc+/uGnny+35V//9X/8l//8f/Pcb0D1ZBMgtLYXrzHxunbtwJEMzFT5nqBk97nhtm0AKaU0DIPzpnrvzJgw1dKZI8puM+LnEdHdi/oOLj9O5F3qpKL920nt8D8wBdyNX7zS9BXLHIm+Rco/9I5wJ4DdiQr2wGlqrV4Fx/sl56enkaGXsggIgGRqvUt99NKl74CH6+0i0rYtvYsGYkAzk269K6CGQLbbLbtpzN/FlnmViQDumelPU7/DY8jAzWC+R7IfJKUHjQz/jjCze/DtwlZQwrsN31295P+0qA9G1KtvNFDcQ/X2jmKnweijBPdH3fase6+DvxFmHuvBp/OP7ygYAat2BZcGgBr20mOk719zjFl3X7OQ4siMapIT19SZOYZYipXSejNCJkZiYGYOeffQv9vMP54SMt0fxd/hIMwkDHrPlkJExHCfPVgIkTkRGgHleYLaX4aPTudAJERyRQcRxejC5W5mIjYMQ07tfD6X7TyNKmIYNOO3qLjSWySHnwGAVDsAInEKQ6uiWggDc6AYiIIqhBjr3SDYL+ZAvLZu4Crw21aWnDMBggnRLlWEu5WKX+S9d0dqdw2iBmbu8s1w07//0BPbHbVhigDiDkAuYQycxLT3IiBTHuIYmaOoohkCA2BTuW9GHob8CCyzfSHtK7N3jTGmlNxpKIT48KP08tGbz8Ph8PXrVyIy2xmkYUd/jQhUHc9KbpXtTCzdyWzk/ZXerf2947per4fDwStpzwQVkcvlotqHYSLk3ldXCvmTaU26iIiU2hGqag+RUO1y3mo1pgEApAMixTAGHry2W5bFgeSHI+fjwPEb8yGdtyoPSJv5QVhCDwHwP+/pKa7D9j+zLAsCE1FXRcJaumlf11VEmGldVwAIjD6y8C5lWbZluY7jOE5ui47OGhJxlepOHRRpZuSOMT51VNXWa1O/8dH9M73jPMyzWm91J9GV0spWEYKfqykFDJFAHmeCKda2hXCQbiEHzw5Padi2rZVaWw0pxhhz3rEbP4p9nG47kQbNbNs2JAMjR3+a7DGIZdupUDHG5+dnRCylrevaWutSb9eVKKSUyiY5pnW79d4D8+vrl2U5P7+cmHGcMgesdbtel2XZQkghhBhTjCGlVGsVbTsFHxHvJOVt29SBRTPvQg2RCFqrtOt98f54JX6X3Ut3s3/fcT6wcqzdXZVcaO7tq5vKO39VREwUEUspjARqcGcQvr29nc/nvq0pJWAakYAYmNSwieU0tl5K661sIj2wAZAIEuI4jkj2+uX3P4b46dOnn374gIggPcRA0AiIESILmBFb7zUPXNYKoqVZ1f5yOIQw1IttDQrYOKZQFVY9v12+nH8dAv/LP//TUrYAIiavX7/ctiHGeDgcjvPhORCA9laejrOJirTSFiJS43W7uHsSQmfSlELIiYl6Wd7fPw/RGOztfFVpIeTjPAXSdd1DAC+X8+XtvWlbt8vLy9PHjwcELtumCl3qUpYq/XA45Dm2Jl1ah8aIRDDNCUBaWWJktRojl7K0uuI8PZ0O0hEAt60iQDAQAyPGiKzG0NTdzQ1AH1xzVGIKkYhoH7gjIqIodDH3AyOi1qw2ETCFnpNpBETctk0VpMO6VI6BgyJC62Iq0qlVae1WQkiBvavze1REWpPeVMQMSRUUvBT7O3DLzNR2poRruR4+ym7xYa6atd57a3UTkZgSIor0pkoUDocDU2ybALKjh55v4nl7ZpZzvlwuMfD9vew0vrUW5EhkhhxyWpb17XJxvAQAl2U7HCfVfj6fc4RheO73uFO/GIDJDBkMzFprKqBgzABaIuvzaV6bfP78GQhjGr5+/tWIYxqncSaK83SQJsB2Wc+vX95Oz8/vb9fr+fXp+TgMOUZelq21hkZ1q8umMYwYRsyDcLCYjNmULtsSYmZKVa0vt2Gap8PxuqzXpbx8DAOHrbSl1Aw4zeMwKjNvZX068DiOT0cBoLX1POUUhtbauq5PT6dxiK+vr0R0PB7XTefamToCr6t0Szjkpfz2cf74b//2Ph5PZCTdz3f581/+/ZdfftZ7SshubEgmvdd2m+eh1tJbDxgZ6HZdEOgUp8et7OTRUvzkgpSiX4qHw+H08gGMSmnSa4yRwFLgWqWVysy9thi/WbP5yrnn9vmkOER1NoUye8QPiKi3hYjoKsx7twlm7lX4jS4PdzXpo8B1gKTU7pere4qJSFNB04A71oh3erRjkA/I1qsBDsG9xKNhKZ7QYgKKip6xJSAKRBQA1HPy/N7bfWnuhEgAINgdMPXOYzEzdpP773j/37D/fYBwB7ll95rwv+4XGDP7I3p0Ao9fExE8TGXN7nEVBGqK8MDOpe89j0d0uXbl+5LIa6D7s3+8NnXk/lFG+6VVShFDL0kBUUTN9onHMAz+V7yGMMUQs6perldEMwiAoXZZ11pKSymJZCRXLCARG/zdJOHRqjnH/fve0r+PzHdjR28/vByk3puogkiIgZEALYy5A4yYTLG1FqIP6/bnH2OstasaGG5rGfI4z8frdWm1nc/XkIc5jSKm6sMHBVBF9EEJkJuTQAjheruU0oB4H9zHgYjcUaH33nWXKJgJMcYUtgVq3ZzeMOa0KwXvLtRwl+Q+6nW3C/Qi0uF5EbG737Avm8cu6L17aIPpDvqKtFYFjLqaiDYxlQahBgXVUlp9OkzzHMEEkYchqurb2+chDZ8+/aOTrADAPRCddPHo+QHAOS77XSbybXMx+yGwrutuIsTIPDg872s3JbceMq+H4O/bcjPbqSnf9bTbtj0Wrb+M0+m0LFf/d1trzDvwjwTNeeRgzKG12rvW0hHxdm1OxmBmpuy9f+/qqYV+XKj2YTj563f093H4wL1A9ykl3+fVj0mRr7EQCHgXsu8xSYhEYdu2UkpIqbf9HZVSpPfT6RBj7L0ZiBi9X84mECM7SLzfxYoC35yprtdr753u8RS+zWOMPqzw0LTe+zgf/HgRETDCwK21WjuiheAm33kcTbq2VnLOSOTzFuKA2Eut0uQxRqi1A1Ae3ZiyM7OQEpFob41C2K3uVQBoDxW5k6nYu1APyVqW5brciEIM2Qn6zHw8Hqdpvt1ur6+vf/vbb5fLxcy6tuNp/uWXHz58ePr1188pc1cxaCGwAZa69J5/+cNPvR+/fv3amz4/DUjmkh5nB5lBjBFQXRBVVxNmL8Ye14Svn1JXRpqmiZmZMcbok5kHBfp+Tz2+6SQZvTPN8MOHD0R0u93+8Ic/uPpWuzHzOE/H43w4HJxFU2v94cePpZTff//de8Vpmsq21LKKyvV6XbbbUjcvfHMe3y7LkLKIpBTyNDIMgIqmb6/vOeSA9PMPP0ZiwC66TmMuZUtpCAxmrbeOlDhQypNfFnMYWl/Q8DC9dJg5nWIap26QeFNVzCnxH36ZeA7/r//3/xO29acPz//hlx+1VpJiOn/+8mvMacxhuby9vn4xk59+/HQdRwA7HQ45sk8YrnUNIXjER45IaL1sVZcYY+I+5qBKMebSyziOw5i3bfPgW0Gb5/nr189qVa3Vkbxjr7W32m/LIia9rrDY8XjIU8zAzNy3KlqIoJRSSx+nbCLH4/F4GoZhpBBVMaRoBtQkD8Oe7OADcFVW7X7yhBDuZsbfoAsR6b36+QWAzg8mDKIi3VrX1qSbInLvJooE6JcHIhNnFVuXZqiizXqdpqGbooqZPWwoYsxmIGKm6K7JYirdKFrvPYRvR+1+tdTtXtPoHWwzgL3RvJ+nqurqb7ldz6jSqwjG4fAUKaFiCqntF0l/XI1wZ9Y6m+hyvazrejyefDOrMROHEFprvbtJH29rdcazFzq11hD45eXUqtRWpBai4FsoIIfQAoF2ifcpdillqwthCCEc0iB9nudZAf/4pz9FzuNAItccnoI1APv6218Vadu23//7f+cYpznWWqcpxZiXZem1lVJa68tbfVuX2uSyVAhEaikPke3t9f3T6eXt7f3t/ZLzWFo3RAohapBufrNq9+qPh2HMOet0eHp5bmWrvW1fPwOEcUzzmEspfnAf58ktJog45CEN7Xa9EHI37BRCjnEg0yra29YO87Mhv17fhoGnMZiZSCeimBid0AAAAE/P47rBl69VDUrp/vNLKdtGe2gIk4MEu3i6F4/wKKW8vr6eXj6EENa1LOs1ayaebC8NXV9ID6HO/c7TBz7qdSYymbrtvYoYeT0qJtr3muBum9jaHg5HRF7EIzIy+dzJ3LTCFAx8MCUivpWIqJuCeOTnN3L29ywC1a56b1RicO95DgGahhAMvNUEde66qigw7S6NiCiiYkpGTVsAc/D1+3LcTO4u7wiyQ8cPtrr9/RciCtzzONWZst9GYYjIAQnp8ecf/YAPVTyt6VHRAoB5dOteuwPAd/bvYKoG3Stgiyk8/pVHX/GoAh8YvKoa7HzlUtr7+7shh5AMKGf3ZtlnzTmPdp+thRAQ9jqsN/UgUkSqpS7rVbohYm0FMBGrqhqIhzO4Nfij49qL479/+486PgAhxl2hCne1OqERiUhUw4AeScwA5X0JIT0w6do2usfQtj2OFBGxNUEKKQ4xz61JTkNKwz4wJEQMd7WDhV0BoX61n45PW8xNG1EAYjAH9ZlIvcj2Dk1NCGkYEj+fiAjJfGTv0COA1rqN48iM3uJqb0RIBIreA1QMsdbaDcT1c4co9yynO1btvIV9YAgA2z6DRe8Dwd3PpJetN4HWWjdl3AAZQcu6jjEyUquVaXcr8rP8wZNBROZ9BoK7phkfvfo8z97LrevqZeW2bSkGQgzBPUkCkasE4PtEHgDwChKxP5a0byAfvvnyKKX4kNnM1nUNIUzT5H7tvXcRYwYRW5Zr7z0Nycz6jikohNi7PkJ53XyQYzCTWo0IhnmapsnfSEqJGWu966Hv28Rs5+EREajUVh2E8sPDVACgy37whhBjCoRBRB9yMnCxI4Aq9K61dtcU9a4ATVV6U8Cuqq12osFZWC7RizEyMoDAN0dOQ1N/OLflpqpDnsYRzBMVFMws5sHfReAEAD5mFDFm7F0RGzOfTidz+NnkNB2Z+d7tJ0TUbghsIK21GKk1QfYTdfOGBNFcYxBCYI5gJNJKb56eSzvbbecd1Np8d3tt7QsDAH7++Wdnm/z5z39+eztv27ZrmcZUS+9S0NrhMPbeUzoQh2lMMcbPX37byrWUUwjpMJ/m6el8fhvHcRzH1kspzRmhzGzQc85SW62l1hoiHY/HeZ7xQX2xLtWQdoyAXIqgAAAiyvfcd3+Y/gsHLHxfOKzundjpdHKNyvPz8+2yvLy8nE6HYRqv1+tvv/3WWvv48aNTs5Zlud1uRDSk7B1a2RxE1rafg5xKX643qT0wffrh+fnpQAyOuF4uF5D3l5eXH3/8lAd+f31dljfVlHOMYUCstXURE63TNIXsflwNSYAtT8Ph+FHwCcKhKd3a7W+/f3n++CNyaEaV+m+//RXaStt6/etf+cOTLLft7XVIHBmfTlMr57/99S+//vXPKbLWy/E4Hw5z4j6NH7et9lYAAC0zAqc9qLu1rqqcw8eXE1jpEk6nk6SUUrqeL4fjaRzGbavMMbFt9batt6430WuXD09PH1Ta+fW9dPvhhx8Q8e3trZbl06dP8zzWtp3PZwPxbHI0alUAYZgPIF1Ft7V6Ru+2lS5tmqdg5redf/y79txPFp+VuAeZn27btkUOSvvM+sGRcj2HGYhoF2GSnQUFCEDrclu3ikCI4IULYWhQELmUIrUh2ZiTgy5+P+2WMJ4GItpaG+6i7weQ5kzo6/U6juM4ZoD9FKZ9U+EOdlgtZdu2FZx4a1Vaq5tgBA4BkVVhno+1lT3GEhRAHUhLKa1la621urk9gj+KlJJa2pl5YK314+FpHObbbe21fvnyKqLDMKzrpbUyjuPtsuScxW3uQmBmAWLmFNm4M3OXJqJEkAKnYSCiHEOik4IZ6D/+9AGASutpGIZhEJHz+e3167VUPd8WDknRbrcaGT99es5DGtdBhXrvl8vbv/23P/7p6+vKOP/0w3j4aeAY04DaQoxbLUst42E+HE7Sd7ChMtbeRCTkPZAIEcdhFlPrVRRyzm5db4xAJiLPz89msq4rU/j48WWIAzMFSMfjU7khYERalrVksOPTVL+sqFJrlSbjOK9ladpceSYiXngREaN6nYqkrVQk+fjxh1KbgV4u7fX1VaA4JZR2jwK407vFddU55+v1+v7+Hjgxo/V2WRdU6V0RcZ7nba0UgtyLKrt3eN6wdVG3TEZk2w2MEazhGDz401e+M9WcPOOyKtohn2/61Du8jGbfgj9dOOu1b1Pp9yRFL3e/L/Vgn7bfDeNDCCnuxSuROT+bY+/OgSYgQ3AtLMGecwyioApg0KETkeHfJw0D/B2+fq+qvW9/VJ+PR4SIRjtI6YW7D9wfr1nvdKYHh5LvHpeERMxg4C6T3zHodbeq3OkWbolNTgwtdSOimHb7F7cxCN/5Zz/q+Ecb5ll9IrKu6/l2JQw5K+DOjrD7jNjp4/6ftdbIYVmWEIIZgqGRF3ZdpKlBrRszI1oAMpPe2+X8NgzDNE2eN4Tfoe+Psun7Ry3SAIAYpdsdTTBEgMAM4KCaHzIcosZvmjlfSxlHQHXqCN7lg8mJp7IhIiDmnGOI/lsxRjENITjb0szEpcLSH1nuTXovnlkbiAI6ScqMA1mRUlfplTswYySGGJ02lkI0M9m9BAzuYytXZIrIOI6MJNYdsxxC7CI54fFwGMdRunluXQy5lrYuxWsLEVuWzeunL1++OK1Tun749IOIdNPaesCYI2GIOfC21Rj7kAMir6UOIbg5iao6Dwv//uubGNrAaV/e5L+8vPj6cXsNt2vMOacYbMfX7/Yyrg/eSgiBAT2ALIcYiQsUj/DTu1zeiygzc8/vh0rBf9SyLLSfD3Bbl9qbIbTeRKTdWu1t24p3aCbSemGkuwZRYY9cUx9Oup8J3buRUoqDo3c+zCOvcIfec84PfN2fgGhPKXWVlFKKWZFqrb1truKggIhARFst0Sxw8ua5dyWCZV1T5GkaVXXdbgDw9vZ2Op1CIBHpXd3IjZnV+v2otBjjHkpI5N/soapmLygdetP7GHYcshkOw5RSqqV1vYsipO4HEQ8+qB+GIcZoIG1bu4ghpTTUtpRSPKLEQWKPrehVeu9AzGy4B3uAqmIgBUspeULCttXSKtAeMXt6enIvNbcuJWKHycxsmqbe1UmbzHw48lZbDLm2TU17r8fDjEwGcr3dRFrOY621lOZ63/l4+P333/OSX16e0Oy2bDHxOI6t1gfp5Q4uuT96773HxMRTSinyHrYQY17Xlb4LTG3fZZ7cj3e/pvbfNTO/T4dheHl5QcR1XbWLM4jwsXEAHPbx9ZZSArVHB25AClK2FUQ4hlZKUzOAUtpNimi5Xt6IdB7zh+eXaTr89te/9N5//uXHHCOSERqTxBhE6rK0Whsz975LX9TstrxjhJzzkHPMA9OhQe5NL+VW63b++vrl9evv18vXL2+X1798mPLPH3/KhP/z//w/W9lKXaaneUzxMOQh6r9v58D68eUJda1rGz/MTLXWUreVDOZ5HoYBkc1kuS1EJGK996/L+el5Aqu9rdfbJSEfDulj/iRitVbmuG3b5XIbBxLtzEQoprX3QkR54PJez69vZkYEgUPbVk0xEnNA74SZI4L1rhwwp1wBhjERUdlqaQUAYs4hpYCGgYITagPzkHPrvZTCRCknADPRGBMGDMQEqOA4pQB4eo/zznldy9v7uxPZ66ApHmJCZGptKCJFbetVRCJzCjES5gEMYSvLaZ4MVEwYmZCRFEBbK7UZAHVT0U4RAaVJ4ciBg6pcr2cEZYIQqJSVCI7H410QMzE7oxcQrZdWtsVsq9vt7e1rIEROHIdxyhG6bFedp0ZoJkCcIuqmaBoAqvam3SX/rbcfP/1giNtaq3QRY0IXbDHbNE1gtG31dHpelk0Bh2miSEHiy8uPtW4pA+IovSg1yNTQGHgkUusMORKjGYlxwlururaXjx+J4vX1S5EScpjm1JrkIZviRIRsOuHt6zuiauh5SvM0xQGHYdxu59P86Zefni+Xy5cvv18uX399/fL11y82pf/x7/99/nE6EPLwtDapkpf3pTXJea5FUp6BiYDacos8UowK8PR0OM4zxyimspaUeZNmKb1tq3E4zaf1/XbpEjkfDocemkjNeciJW+scBuP1h388Xm5XpliqjXmm/GUcMY60dS3arEIKMVpCCb02T2g+HA7SDYFKaTHGKrLUz8OELy8ANF/O2/s79CKllMvlMgzDOA4+82VOX758wWCBIzO/X2+Hw+FyeR+GTEQhrsuy/vrrmvMITMM8xCmV0iIYIrXevNpQw5zmlGPri6oisHQT7QoIBgGh1p5SEsC+JwgToCNbYkiiGplaFwAYx1HU3MHGSaJeqZuiqgk0ZlbpRBSQmoGKmgEzExMSe0vQ6mYmqPvMHQACEomlyJECKgkUQGSKZmjq9AaNQ0RJvXeGPWAoMbe6qXZE7bVQsscA3Um6to/vdzUr3CH/+06/017NMDAhmnbVXdEeif32DSF0AzLtYoYQiImgd3FWMKIxg5nIHWsXVS90AMEUDRXv1nVu2yJizjJ6sEQIYwzBTGCvWgwRAU0MzJk2uxi+hhBUZb1t23ILoKZFq+bhAGA+Wdm2uq09vEzMvC6rmWn3nGNc1lvvlVByGv370hsYApK0WhGYIqC0uoi0dZWUQil2p+e5z4tTgtAMuxgCpTSIaldzGjRzUBHRFiOYWSS6XK+ILCEsvYdIJJRygDHfbjdAbU08r6h3CyECCwoxx16qIoQUQZuLDwk5x8EARNva1xBNYZUKoOao2NvlQgTIQ9GOXXpX4GAY16WFSClhSillWX79uiy33hYz0wYMUQFbX1X7mNPt1lpriWPTxggYQiul3V1KEBk88KsJp932MaahlBI4hZcdgVa11vrpdFIt7rBEISBb01tv+n79+vp+SSmI1jhNKSVRXdf1w+mwlCWkCIhEdCu1Y9AesUFbNiRS0hb7EAKJsBJiVDPASARdhENQM7jbjC7LklLqYt7t57HVWodpHLaRiDCgqYmpi5KJgoIhM0jHwL13sI6IIQZtGofofoV7KSxCd4My72Q+fvy4LAtTOMyj942eDOxztm3b3Oi9tZZCzHl4fT+/nd+maRLQsabTNHcVA8shttZGs95kyBMCu1M9EaU0tCZuVbwsW9vKzz//TKYMWLtU1ZQDETFNXW9bLafTiQLHnLRYiMMQkYiaSKsVgGrXsrWUMmsiBkBW3Xon6QgWb9etrI0DpUNmjqqmUtfbsixXIrxez/M8eqMLRE06eCCBCBLlPJqJERtSE+kNiFJOsycnxJhxJx1h72KKSpBzQqJSW5fuu0xEEIKpEZGzeVMIaci9921rECKY9q0SY8rHZbl+ef389Hw0kNt1BYB5Oq5lMzP/mAgZmK6XMwCwxBQ8y88tK4BDQgoh0OFwaq0PeVJVhLf397fWFnfyAYDeW0rMnMdxeHl5IaJZ+lbX1rZ1Lcx0W7d5Oq3l0lqvTbCUVLZauh/U5bK5eWjg3WTT/dEjx15rSiHGY21b3TYmU6mugKoXUQXXrJdSSinX63WaJkcPHEUdxhEATNw62fsWRcRAVkqJyT3au5TWhQA15Swanj6ciLBbQ4HatpSDWg8hMFIK/PJ8XNcgIqUuvQkApen09evvqnp+/RxC6M2mfDgenm1oSYAA52E0rYgmJBQhzXmr5fX9/el4/OnHX2rbyrqAxUjp7fqmVs91zXk8HJ8UuHfQLmZDiB+uZYZxyAOVbZHWPjzPKcFlvS23y7L+mun2fCoHop8/DbUJUKDncasDojEZSUnT0//xf/wf/9d///+ICAPnYfr46ccUCZAlMqJNc1yXCxihQQ4R0d6v72q99a1uzUcTP//8cys3d+6Sbp8/f0VkNAShv/z58+HEgDVm4lgJBZStp+Mx974B9q3cKIyn55ecWBUOh8P7+3sI9PLysiwLIhBxaR2U/GLjABzYDHsTbRpSjm7vuE/N3PGLyO40cbz79O0X5055NDOtte5oyjBIR+3o1ptxyDFMOU8559fXV+lmoiAmtRsLWlBljkCKSEH2q9zMLOZg3QCIMIH11qRVU0VmDpxAsTdjzy8UUDA0nOe5tYYA0jvRI6fQPCDGFTZgVEtvVVIaVDtTnMaD7zQKrKocA1WSv08lVNXe93xsAFjXVQGYYs651o5AnnxpZl+/vo7DnPO4ruvr1zcAOBwOXhLFGFXLtt4+fHjeRNxcDD1YjhkJmBVQCTsEMdEYzExvyxtCUhAERshM2VgDp5RSIhNt85E+/TgPw6DArUNTPU0vr+8XFUrhJw70pvVy/frbr/9r236/nt9Jn8p6+vXXP5/+4b/mYeZgy+vnsi05DbW1p9NTjAMGrLUC8dfXt/EwPz09MYcYkpj967/+q1nOU445hLh+OW/nVQz7jz/83Na3P/75jz/88MMwhC719e1mBxiHI5K6h4UHKHKocQCUjxp/HYbRWqi1hsTDNJZSAMzharxbSYCpB9rVtaaUBs6Hw6F2QFxjQtUdSX1gVw4yISIhOUvSabjDkI7Hw7rdREvK/Pr2VkqZjofPnz9/+uGnGHPZrk5WceoeIOcEMUbX5dyDB0JXbb2Y2ZB3puC9kBVAlz0Ed24REeeU11qnadqhgm8xnDsnB/ibFpbv9uC+y4KZGfiYkInc0sv5ZngPw4PdIt32LF6RVvv+10NCRCTz89pL8JzTkGNrZWvbA6LGv7djvwMq32B4JyogfoP/ERExEJLhN/46fcc6ICbUb6jzvpVMQeXxZ2S3YyLE7xD3v/8S6SJq6m7cEQD9BgVT9JCm3TkeAcAUFPSubwH/KH0hpcy8AXcMIRIFQFURjPs/23pZlqsHFQFAtyZ1Y0YkDZEI0EC7dNEeY1TZ9S1d6rr2PIRxHNd13ZHjGPWe1tla81bt2xO4W57LrvhnEcM9iaKHEFRgSCOF0GpziH67bYjz0zyr6vn1DU0dH/a1aqpmNgzDBtBr93NZmwKxiIs0YD//tPeuEUi0Wxe1XsoKAGJ9axt7rmVOtdauxtEdVPfOyoXaAMCAj4kKUbA7ocJh1xCCiDoEiI+EAb3bsAZ+zMTI45aJEPHp6dmtx0spvTfR1npdzxdVuZz1/H67Xipa6pv9+tvrevtv//zP/6nWmnIGRetmDLXXWroA5K5SKpQN+pYHPsbJX60RAqG23SWTme9i628kgce0zcM7VfZ50cvLS2tNpMJu5enKV2RgMWVOfi0+jC99/hNCeohxfTH4m3WUx5kVKuZeMTHGsud5B/6WTcH+yTbpTrPurRVRCB1FPWvWxVRutjMfDjFGF3GKmEh9nE4iLXH0MVGM0fkbOXnYKseQ5Z6I6S+PiAKH3rt1NTO8y+9LadRhHLNvIl/RvW3L4g4fwox5iL335Xa9Xi8iTRWcunO5XGKMp+npDuvKo4p4QMjLssY8rut6XbZ5nmMMhgSIMcVtq9fr1RSZNzMLMceYnCn0aHJ678MwEJNLVmIMagaEvfbWhIhyygbKzOfzhYiOp1lM37+eEfh6W4ZhGMdZ76EZzLxtG+fYWlPAWmsM2WkkIpqSB5WctrUuyyIK1+ttWW4///zLsqyq6gNgs367rS8vH9FjBxi2bVNnAgPXWodhGgbdtuXt9UwYcNf95xDC4XBQaXy34BRpp9PJrI/j2FppvaQQwjT5UMVM3t7eLu/n1trpdHp+fmZmz6BcV2cp+9q7R1zv8hJADHa3Hso5d5UQgs9tXCHt4xo/tWqtt9utlHI8Hp+enpi51zIMg3us+VJfbuuybNe3z73cQsBECCooEsnmIY3Di0kv620axpTntSy9yxiHl6dnEckx+pJgGkCFzFTlx58+ff362cyIOcZMFForl7UTdcrWW2+vr6cn5pCayfH4PA7ToZXhOpTtMhyH//yHn344HW/vmyqkcRrGca1lWc+fP//6fn6/3m7/8I8//+//+399ezuf329DTGYcYjaz3mvKoWxLKet62wjDMAyHaarb0nt/fj4dp6O2/nr5cs5vx9P4+vrqR0StWytdxC6Xa4qHD0//8XiahjGoalmbND3Mw/v5M5FR5AEHp7Q5P/Z8fhPpAHS9Xn024oypsrXLbRmHmFLwrTqMGQxCJFbVbj6xAiIIgEzBnQr8om317j1ERGGfJTlFcl13D8dtseVWrtel936g1JvWoqZda0fkSEFY1UPdAFX6+/UyZD7OAyITm909ZZkikYZg1KC12kuHfQqzR8r7G1Pp8zSmlEq98F5SGAAyIANGDs5e02619ta6CALFcc7zMHaFGEcVh+bqZj3cYx334uAb4rg7yTEzgucgCTkJnVNr7Xw+uw9GjFEVvn79ikzHp9PHHz4hlhBCSNxWBdip22AQdolTMFMlYusijYOyGYBYJm2910WsiUitWns7hVN01grElBAwjEMs2xlA8hgNmUIMCqi0bL2u5xgjSEUsyEvr/3PKaesA/RIRfv3r5wFiHCzlsZ9fzSxxOJ/Pn348tNq+fPnyfu6K2igMY4dmAQkA1ttSSrFXoYBN5HK5vL6+3obbYT4dTznkcFku66afPr1s2/Z2eYthbOoBwhDSoGClN6EJ88cqn8Mwsvb19j7SYZoOzu90EVWMsffOhK03Zndzh5zGlIYQeC3bul1VG7HU1uZ5nKbhtq2q4tXAsizjNBFRb0rWRdr1ejH4ofd6W5YYZr8nQgi//fZbqf2HH37y7zwKC1FBWOZ5Tmnw9FIzDw3pCAxGrQpzC/fEexU1szDtZF9vzfwur7WO4/jYOGbmRAjzjkb3LgXpEfNE3r2s60oxhEhgVmslA4+IDSEY7hbURNT6fuMqmIh2Fdtd3pHIYxS0NQfFZRzzMGQiENil5Per4ptf4d4C3Us0vXt0wMMNHcDuihdVV4YhABDvexgR1YzuP/CbU96dXAsAhmDfeefbN1K4wZ3bAF6Bu0IREUnACEAACPbwVLyTmHcqOaARsQ9t9J4ll4fIAZE6QQtEaQhICZnBFMBSujt1Snv06oRd1AiByZjdlt5zo4GIAxMxOPsWEUPgl5eX19dXP74erC0AYP7WvTjK2Pui6l6bshd5zIGo9RURIkcC2kppreVxMDE11dI1qFfDSHt7SYFraxjQugBzDNm09t7dZnFrtXdrVERs20qtKweMiSpUUEspqYJIW8t24Nl67UUohiMemWLt4nsHmfzQCyH4fVlrjTGmFJBCrVtvzXfcervprkz9u3LfZT+ttRCi5yx6jHBO6XA4MDAAOnHfN0WXUuvWWrucv6zrSkTr0mM4fPrwCRD/8qc/f/n9t8QBAF4+/UAUDqfnddtKbZrTVlrt2/n1TZdrAB3GIAr/kWlnrSComZgaAgJSYAD0tWMIyASEYFhrfXp68vIdV3QOQGsNQ2SPq7z31cyogr03r4bNzFWn7nGJiHcOqeDuu9dbK9tWVfX9/R0RU8xetjptErETUc458F49l7L6MfXh+TmFsCwLqD7M76dpHIbhnmWTAUDEAGkYpt71drvJnoaRU0qJqe0fVkDknIecp947qBHEQJGRGWlI2cycDetNL4YYAkelQtqbxhTXtQBoSpmIrpdtK5UIOETP1vF3uixLay1GHoasqrV2d4d8f3/3RwS7eZWu2zYOQ/Q009y3rTInMyqlb1szs5TS6bTXc3LXsj84SA/wwlcLMxt6am/NOccY9QqldSZCCrXWPKR5Pt5ut8vlMs/zYT5dzrd1Xe0+qViWBYFCHsZxZGZTLKVwTHvvrUbE83xIKTHF3vRyuX39+lrr1sVyHgyIQwpuUVDrp5cf3t7errd1mgZkmqYDANVuteg4DfN89ECYYZiICFBTGlNKy7IEBypCPh6PiPb2tnz57X293j798LJtGzPOh8mPvNq2UgpCV2nLeu29pxxKzQGJwLa1Sm2K4MOu3rvZmlKap4Puvv57We/vF1S8X/UEMVW9Xq8A4K31tm1E4FGGANR7NVFiTCn1Xs2QiFrtMcrzYUQtzBimfDgc3JgErY0pDfPx97pcLpcnOoYQULF3KcuSc3aDGiJWxMhca2VamfI0jKBmEE7zM4ZsMGyWh/Hw9PLj+dbOl0X06+l0ikyX2/X59MSIkup//OHn5+fplw/P2+1COQMQ5cE4coJT/kTM7+P4/vWv63qb5uF4PH54+WFdy+VyiZEROoKUtQ1PKacovaWY5mHsvaWUPC1ERKbpkPOb4xo+8O+1IygHTCmp9lrMNPUyf36vr69n0W2aGbCFqDHFccx3xTyUul3O1xDZQE0BQIdhKFtrVXiIOecudStVRHKO3lOpajATdZDBgx3vqOfjyiGilL/x5ParrnUzY4RAXETrVpgzEaApIuYcD9OQc4wxwvFYa6+tJQ97QhTttfbSVERSoDXiEJDY/HZEUEThYCkSM3LAGGIIwaSvt8oxMBOhbmWZxvR0mL+8LyGEgHvlAfewxlaqlwOIzJTHgYmNCBh4Oowx5HVd13V9V3k6HYZhXvWGHPa3f2cw4z1efu/sVQktBmYO5/PZ3ZEA6HA4muLb27ls1c2bAGxZbkxVNSDi8/PzPrWgbzUQMyMpdCVGREZAAEW17g5LyEhRRNaKtfE4jiGQWO8aI5FBCzyrtRyHPA7IrGWLnNvfbucvf316/qR9LeUVef3pR4L1GjH027Vf17fyq9XbP/2nP4zzIb0PKhWYrtfrhw8VCS6X98tFKUeupXQBkPf3Vlu5vL/LUltrnkJ1vbyX63XVHmT7wz//4/F4nOeRYCd5+3BTwIgMFQwbkCnYZZGJhzg9P78Y2Jv2BibARDGoVl9yrtDP6VvhmOJgWvx3hxTywGMJpSnxMI5jrdVbx23b5vmIWEyxtu5IGBO21rZtiZFvVzFdpJMhpDQcj8df//YXU315eYG7m0QIQZu43Iow5JxbI1VvU0OMwMy9LdtahxEAwAzd5lzF/P9MoUtzXM3FbXEYOQZVLdtWe+u9g1GMEQHcK4bDzlT2CiDGqAgJDHkHL3sXNCCKzJE5xeSgr9uNlePh2Z85Ips5kY0R0EsB1bJtW2u91DVF5EAZst3J948h2+NLVfE7xB3vKUv77+5IGSGidAshhLxzKLt2VEPEborE7LHJd+yWEBl3W3i9S7f384S/se0NDexh0M4aVNWQFBEMnLLu0xUnwrlwFn2SuL8ycJVLICK1rsqtL9MQUhhr7WW9cdSUmYlrrzFmjLtqM4QAqKyZmUWaC/WIOESnB6R7h0NgFgKlHB1BdIDKH+MDQbz3A+IYc4wBEbe19t5KdUvvFCMFJgBV494lsLRel9vVUEPwhOO4XK8mPXIIOTEgIKoHCHuglaE7jaSUSqtrLTlnQ6BAFLH3frtdr9crM07zMGRhRoBAzPNhMrJxnnPOb2+Xba1lazm7KuYSYj49P0G3GHZ/VQD17GlEfCS83uM594fv1Zg3WjFGb6v2AktNxGIGopDiMI4zEYF5JpevUq1rba0h2uHQer8eDqdxCMt16Xp9Oj2fnqJZXpdbinl5v7StHecTI5O13z+/+7Hz9W+/yu02Rp7mIXISEeXvFKpMKL68+PvbzcwQGAGIWRVsB7CoN/Uxr6IaIDMYSG1bl8o8EqDcDRYdb+p350fvsogerV144PF+BexmlHf3gjR4ZD25+PJ2XZ+ej4fDabvc0ohjHnJMT8eTiQYkQtzq9vT0xASI+4jgfLm56jelxBxjzK6jYOZpmup2LaW4ZiOEFGMm5MDYpD7OIhfs3r9QFRAJjHrX3qX33prYdY0pDMMQPT9Q7+pxgJg8L4kdZR+G5M/Bm73WQq0bKdOd4u9frYnICnb19TONp3EQhz+IOEQfTYAj6+tSVHe9kB+S3vr6JHMcx2EYztfLsiwfP35cy5ZSOh6PHHC53rataOtxyMQ0DMPr6/r6+vrx48fn5w/btiUO4zgej8dSyvVys/f30+l0PB5NMcaIHAjDuq7LtvWmy22bT08h9PPrnlLUmozjPE3Dx48/XK9XX3AptePhGYzXdVWF3vRwyCFE5PD6epG+bQvV2pdl0S7TODLjkOMwjO3uHhZCyDluNwqElSDluCzX4/EIANL2tG/vx8Dg+fl0u13WdRVpb18+I+KPP/6YclCBSKR7EMFu5uMhCbY7F7dHEV/a5ovzdDqpklNBvE0lAmYchgERlmXxYdE0jgBABMMwqGrvOo7j8fgUEEr90RvaIY/A5HSK5fy2rmtrW8r48dNTHtO6rk372uV9eXvtMo7jhw8fDtPUiEv58uX1ayD+9OlTznOpkvI8jCeKdYOehxnDFFPNA23bIn1j5lVTUIMuJPI0HiPGy7UTDEt5j5EBw3Vry7KEQBTGw4HGyBwsMC1tJQwh0Lbc/vbrn6Yxxcjn99eX50NAPYyJiDlAq22ehpyCj4mnYXw+PbXWpPVAaGrLehNt2mU6hKfjp2Xrf/v13wnn0/Gl9wJUj6cnZAgYOWBKkWNU1UCsgKr69HTsvQNQLU11j4CIMb++fiEiDgjo+TattRZjDL1Xb4JB+gNOE3Frsr2TJiJKBAC97XCdd+eqGgLN87wf0HZQayLy8nycD8M4EBOOp8PltgIAIgUwAUMFMzvNB9MWQjBRod2XVEQ4ALGlRETUe0RSREPsIUA3SBnGaQg8LkvIISLUIe6+HF5x+9FjAn1vzePxcKotAyiSqEpK2W1hzCBxQKaYkgASkeFehaiqdBWDrt1PgRhjq9ujjrndbn7liOyDgrK13vvhcPj198+OhYRA4zAh2lI2ZmZ1U/BdMrujsOjVDiECI3OKYEGlIluDHnOaKPZzr0WmMYzjqNrBDJmtW0pD7+jNLoLO81BrDdykq/bl+v5lvb0fDvGXT/8801++vmONXN7Px+PcS7tdnl8SPT0dwfpyuaq0v/31z8fjXJfrtppskKcYSE21i5Z16W0F7TFwW9bLcruez71vFLBtl/cvvy/n919++eWHTy9mAsN4fr+9v791xZgoBMK0zqcxZ659y4Hz9PH5hdfbWlpRFQfaA4Z6T6WpteY0ppQ88wIVp+kwTVMeptfX11orMRzS+OV1OV/exnGMQ3Zunx9Gdw8WV19VAjifzz/++InsdL4sTKMyrEt7eXn5/fffPn/+bRzHaZp2pJ+ZxMRfCVlOIxGVUkSM6J5YCeB+CP5vBSQi6L0zR8TOzE4wddB9XVfgvYj3ORciurgoxni73QAgjDu6CQDbtt3K7XA4GPC2GSO5zJSIhjyy69VRl2VZt6WU0nvlOPn6V6CuCuAvCal35kjUHni/qsYU8r0RRUSmb1yORynzyGZ6VDaP0ifgDlHvBTUYqpfdaoZN9igrQAUMXvs/mgAFNdhZ8nvpD2Zm8e+TYs12rjphYL5bv6PeXTX5O4HvtzcCdk+ZMEI0h0K7mKrUug0xcTBZtrJJ8BxBQDMlAozcm4AReVgJAIGxu0aCIhkRDTHhsGPVqiriIxR/KEQEzpOh3byyP9ANf5Gtl5QghMShrWtHQwLTLgq2SSOCaT4i2dfff317+4qISEYE8zwHotr75XINIRBgN3W+ihFSxFprpNC119aQA6cItdzWBXfHQ00jD2NoLZoZYXDTfhGJKYzjWFo1gxiHeYJWz61JzEgYaqutr621HAdmRqAYI+KorYN7fQbMOUvrjzI0hCCyl614H+OoQu/dPSv9MSVOgSIz+wlct+aFbwgphBZDTimNYzbr45ReXj6apN8/L6bhcBx/+unj+3ub5/lwOLXaVa2uWxryrbbbly8AkGNKXVqXXmpVrfO0bdsY0mPl211d7bINu+czPBpFLyuJ6LGuHPTt1jvaw5dVW9egzAEg3m43Z+s5CwUAXLXvT8ZMiNwjwfmWwV3hAICQ3Zvfn8Dp9EwYprFfr8v5fH56eso5t1Jr7aWUaZo+PL+YGao5Qn96mq+X9/P5q0g7Hp/GcRYxUJOuCJRzrhV3a5qUzuezU/VcqSKSTKt/ZK01wA6QHjRFAIgcNCoAIFA3I6IxDylCa1JKEWmDpt1wMKATo1M6OkcFEcZhENkZwA8+TM6ZI/kxaGaegoSP4AXAnHOtyjwg1n1SHQIAtCbxvqhcGmtidy4r9q4iBkAeKmyKvelvv/12PB5PL08hhBjyMIh2WVoTsdYax3w6ndAHuTmrwsvL0ziO83y43W61fDstcx5CCGuptbbeJXBKkS6X21q+Pj09iaFbm1+vV2b+4Ycfjsen9/f397fzuq5DHonC4XAyw3W9jeOIEA17zuPphL3pti0imDIZmJkA+LjSnp6ertcrGYwpBqTWa+91moYPH55F2u163bbl48ePOSd/wi8vL9fLklL68OFDKYUMtrLGGKd5fH4ez+ezu3bCd54BrdeUUsophvTYs733L6/VOXtecwN8a5OGYRiGHAKrdUBV673uvitEFCMTMRGMh+l4fHK2SQip1e7GR86FO03p7e0NWZEMIsYhb620W5PWt2V1o15prdaQUp6nY5ErCKxr29bleivvF/mv//f/R8xTvy5WVaCKATOnyMyo0tHg/Prr+cv76+t7MxgO8/F4+uHDR1W5re/r1imkVuV8PpfltpUlYZkPw8cPRzO7XN9fTsfxw+HX3/4cqOU0nw5DZBMAUFzXhQlChN40BFQ1L6Bj4tYLIqnqkOLpxx8A9euXtxjD8TScnsJf+m/zFH/55fn93Uq1Dy8jYJRWa29mEijbd2j4tm3btpmhdB2GyfUbnz9/DsHPpSxir1/Pam3n3LVeaD+W0D2fvWTfITC8m2d5aKIzpYD4nrLr1i6+Ap5fDuMUgXgcx2nyKFpjCrlHM+MmtTU05ZiGFLWTQZ/GQNQIpPdqZrXWQBnAQowxEuIU4l4oUMDTOHJiAEiJ5/GERuu6ejJI2MPtzT1cI7GiltKIaBxzCKH1zZAJhENKMblbcBNB4JgHjpGIbD/l4Y4hgfbOu9eBiAh4JrY5iw2XZfMzqPfuBfTtuojIMCS1DoQUKedQc05pcLYM0K7ut33+pgaEBCqdQkgpmVHZVA2YiHgMYWitNAHFDmS91a1cpjyAtZBIQEUKcZqmKSi0VoZMFpnRem2skHP6wy//8Onw8qc/3359n56mfHoiVT1/+ev4PHx4eYZeour6fnn77dd6HQbWTNLRAnYmiWi1rLfzlwAKQ5qG+ffy9XZdtrWodey9tYltIel/+ff/a0r/8i//8k/X61Lrtq0XoGGkYUgEwQg7AbRSlScLh5B7Sqm1rZSiy/p0GnKOpS2Po7z3bniPfQkBAUWkbBsA7tRzgcPhsG3bsl7nwER0OByIwjRNtW4cH/5NLWLYbpt1+/TTH9byFzB6fjm5JdnLy8v1evVgFI8LKaXUJmZ2vV7nKeQhEjvTvTMHRFzXJTCKmPsSiAgGY06qisyeZNRNrbcJCQOXbYN1dcrZN1xZhe6M2Mfm8mVWa23WxnEEREIiJG2dEIdhGIcRyZxId7utt9vVCEOIvSmCeTyZay7NOAT0Oz7GOE0DM6dMMQVm9PhrvVsz+ebynnevbwwfv4t3KgswEe5wsnMbQsq1djPLMeQhPi4GAOimnnroDhb37+t9WxkiKoL7Rd4d2e5UHDNAfxlAGNzoAYyICCECUG/ieU3+x+92WO4qg+hjEM+CUBBtDNh77630XlWtt1q3K6qEPDMYIBvfO5bdYlwRLQQCBEQjU0SOMVpXxN0Z1k/IvbDrux+833N69+nvUlMczOS2LOu6Pj+/pJRibA0ECboUUay9hUAvL0/Pz88M+qc//a8QKcboeai13MZxOp/fWykpxEAcYxynQbuoWQxJ2u5w33tniuM81dZkj6XTEPjp+TAMSZsOwwRYeq+tl/J2rrW+X67T4RTDHMIwzyYiYJRSMDdTFwWGENKdeB0UdmgZkJl3zkPvnR8rBL5Rultr1vfJVQgBjNTMs2CGYYwcQozbsm5baa3lNOY8pjQgGoDl/C9PT5JSIk7DqNvWEPHjp18U3k6H4+n0/Ouvv8YYwNr76/Xz589yOTeVMA0vYxoOQ60VAs7T4D02406oAFEzQ/u7cC4w8vUDAAImYCEG7R04UExmZqBIgUyAVJqIdDNBNSYE3tNGSyk+ev1eKuM9gDsj+VLxNialJCK9iTNSAGAtNcYcQ44x55zdnBSAXPzjEHWt/Xa7AeiHDx+mnHvf3WP8d2MM7+9fS9tzlGrdAM3NZFrbk8jP57OInE4nABUVVK11U6uE4I5edwjWRCqoUmBEiMgAAUGk2zQP5/P5EU3YWjGTaRpSiveuFWKM8zSpKvPZr0UHDpm5Sd+2tbWWhgz7PMql0pmIkDknot0388iM/Z7NycEAYJ6Ti3lqk96/wxOJeu9OgCm1us74+BSYgogY4eH4lFLC172jrrUZcop7FJcb3bhBp6duYdgDbg9zVN2DI3LOXcx3/YeXT+/v7+/vb3mIp9NhnsfWxCVtTmMopcSYl2UDAERuov22UAjE0Ht1kL62jYHnaXo+OTbUmDlxMMOnw9EJPKJ9HDPaU0w85Mic1uXaWvv69Ys/qCHnQPzTT794L1TXrZQytuHp6elwOLR6t+TnRBQ45Qfp0YFI50M65MHM8zznnD381W9e968TEVVhZkCVLiHQPI+tlRyHR1eGyGboFrRGsTcpRV7f1m46z3PMMc8jKb7k4fnHH98vb6V3uK3uxOAFpN9KFJICrOt6vS4pzwQUw/T7r3+7bq3I8na+TccTM6soIkZiIY3TNI35/f1d2rZet/Pr5/PrO4/zpx9fToeZGAHa7fq60TLOswq8f/nt/f0NTF5O+Xj4AKhlubXW4DjN0/zTjx/+9qc/9Xr7+eefa1m8h0HrKYCIhIwpzr3rmGOt2zxkgh5j1N5i5HHK0urxMOSc5znfru10HJ+fp5zbPGNKQyAGxDSBXDvjnhmylLqs27bV8+WGyMfjMafBzFovIYSUgoh8+PBhGIbL5XItVzRF5FJacOUKABnvGJuPs+9SJDC7s0i/2TkLAvld5ceH29PGGKdpCiGFFEMISAER69aQIQRCNTOKQBwDEKIykgwJpaNoVTcnDty7EgVCH+FxjHuSS4oZGIjAyCKjCkQOUx7Wshul9d6lisEe5RWZe60iTTWGEIyyagdgRPaQ8xBCPhxTijFk6YLISCTwGO8jEzGb2D4GzTlzjK2K02McuRER94GKYcS7zszlmDFEDs2L/lqrKybtHt4uIGbNyIDBEHeHbwAOKaTeWlMhIA45Hp5YAXNOHAyaVt20tMwUcwqBREurooMqpiodSXLIeYhjTCbw9vXyH/7hPz6fxnkI+q+vhwOdRt5au5Tz5XWZouVInz48becza4sRf/jwh/b//ePSWw6Sg1nt1opK+fByjDmN6WCt3t6+lksltjzwD8/T82iBrXQpy+8p/Hw8IsDT+X3rQocp54E5IkaLhCpzxEwRsbWnw5P2cq613NYUpzBMjoGVUsz1i7V6HuEumYrZlTpDHExZRK5v7658GqbJLKSUXBa2LGe2qGClFDNUsdbkfL6+fPzx+WVclz4fhpyZUX758ee39HZdt9vtNgzDMOy+156p2aUCjM5X2zZ5YIruo1Jr8yzGb8MTMzDnUYT799kXif/YB8iU9sxLHcfRbyC7G7YwMxL6uRxCAjUxAMUpTzkFxD3BxGspiuFwOKihIXQ191PsYsRKd1Q755xzJAZEi4HNxJWm9tjJ96laV9krM8NHKUxEwOwsiW595waYGlhv6q7czBgl6p0pYfvwjNw/0et1NDPrj9ZF8UFhsK4CioEiulDV7c8BTBk99xwMEBFZDVXAlL3xJfIUULcn84/gvr9kbwZaq6YQI8UYc0zStloX8HwZGVprISASqghA+Lvy3YAD8m5s7w/TiIEIaRd1mX++qt9mBd8Y271zQNGG8M2oNOd0PMHlciFSFTAjv+aXZfvhh/jTz/8wTv/9fHlTw0np/W1p1V5eUu/6frmMOc/jhIhlq2IKYNMwmQIzhxSqdDWLeRjGUcSIwLQjIiMQQdtaSuRBmTnnsi2/f/n65fPr6/uKlH/+8Zchz+4A6xaaMeQUBxWIMaY0uF7NzDwTJ2WvzNh1+bh76oP2XaUKAHu5EyICDmkUJ2WGME+HeZ5FrK8VEbdta1ViLHjXz7XW1i2NY+4CQx4QIQ4QAv3yH4aXDwsApBBLKTHGp6cjvNvzaRoYRHri8DRPT4dja00Y0zQOKScOnYjBI81251HejZLAP5rHlMAwMEUEJtLvsKog1pkCQO29OblHtEEnjEYMxNBFAHerlto2BP6+7w3hgegHucc2S/dc8BJjfPn44c65AjPLObuqvvZGgDEnPyu8C2pNVGG73cAKInp7nFNmCq2ulINPRULkeT4SQa2VMMQA63a73W7DmNQGVZVaACuicOCYAiIyOVNIvtv7wBSa2rYtt9vKAeZ5Ph2f/BDQLgQYOfiap3seJ8QIADmPqjCOs88iiCjm5IE+HEnB3PQmhMAUzUy6RXaXIT0c5xDYN5Fqb10R0SGHEIIBOcZpiikPzMwUt21rdct5ROSm7XK5mMk0TRxIRJjjy8cPZd2I4evXerutvXPOIzMT8u+//+6Hbc5ZupZ7w7mua2uyrEsMOeeptnI+n30Gsm2bWr9e1//5xxYwuB60d/WC++XlBZGv16XWejo+l16+fv1aSnl+fiIGMgDpOfDhOD1K521bmOPx8OwmpMtyfX9f1uV2PM6HHz6EQMz8+fNnZj4eD75ZailE9OHDh21batvmYR5iaq1db5dpmrzGYHYlErkJTIjRFGKiGLNfUvdW3IjocJh9X9xuO7cqhOB1Xe8dyQg5Rk67snn2E5sYmKIjq76ja92+fn27nLcuOM8zTMExliKpNEOy4/NPtS2vv/8OJilEQ8jjMAyTl0+eTaEIrQojBrAuGMN4OL1U0QT44elUa+eYYppy7qCGaG0rMUgYsBwChUlDqP31y+slnsPLkSOvhLJcl/P5/PnX38D06el4Ob9LOyytl23xYGXtdhifYvzzerv2tnLOBCho8zzmxK/v7+Mwc3DXkwYABmKml8tF1X0+S6kbkiIpsc0zX69bLdcSKQYEQ+nbMAyApL11Q08XvV2X63UB5JeXj2D4aK6maYBdj5fN7Hy+vr+fY8zPzycwKWXdiWKeUmEgYGxg3sjKnnKij9rdj2xxOwvw+EByexZtaoAhhBQHdu6jkahypGgB7txHDOzm35GQSTloZ1EDqMYpElGi4X6WRmZH4AIAMCWOBCgijZBjpBizNh2nULaqqgSAd8zDi4IYo9uTpZQoUmtgJm62wMwGbglP5ujF/RBXVfH3zo/DN6hqq5XdNsG0NYkhOKa7LMs0zdM0reur31h+1CZm/P9x9WdNsmRJeiCmy1lscfdY7pJZldldQAMtA0EPyREhKUL+/0e+UIChjAgBDKa7a8nl3hsRvpjZWVSVD2oemWA8lOSNisXD/Cyqn34L9vdqxplFyO6SgQTAxpxi6yuAGYGZiikyphTMrAPFmPM4xgE8+3rb+laWlAbtgpyRUMSkcy11HA/gztBgSBaQ/NzLKV9v5XT6OIz5n/6n518uZ5D6eBi3+uX8or2cf/zDdyGnx+OkpRyP88PjrE1/Pb/94YfvT8fxf/tP/+vl5XWK+fD8dDiE45Q/Hf7+wxD++38Vgz4fwz/86fNwoir68dOnn3/9JUWNQ3h7ezk9jkRTYAaVYYjIQEQqoW9GE4Kht3mybh36VuoUs0O21+t1OhxijC7/g98xhnsT5ng6PsZcau3f3s4A9vb29um77/wWfHr6EGOMKbzzgIdhcEfnt7fLdMofPx/XpZu2mBKIjeOIyN2+3m43H3e+Lxvdjdu7uz34WNmLEjc0EBEAjDHCHd+F+9jHh8hezIUQUtrh9ngXzrsq2ofsIQS8O+nmnB8eHqrWYRydhWVm4zgzknewiGhizLxHTyPnNNYuiLjnGcPufWEGO/OHyC2NPVhNdbdhea8130FivXOy348P7ygIdhfLe9QOcAwxZmdXMwfmKCK1ldaqr/ydtmbWWzcTZg4E7+N4IjJy0Z6a7f0qEdHvMqEAAMkDdN+9a0jFWlW0oPJbyf77b4G7xFZE3p2GwVzGSojoUAASmQqomLsAqbba3b6aiJi4tdK7JAwhuJsNIGJMbEYi0qX6U3VVut++HvJwPB4dpBnHsbZNVUPgw+HQ22/RE4+Px1LqttVaSpfuAnczjGH87rs/Xq+3be3XsJ7fFjC+nLePf3z04zeEYAhbLXwPdMwh+kSVmYnZzBQx55xSUGkirWh3ZWSKOaVBanGMZltrawZSt7X/7a8/f/r0CZlcHLKWjYiWZTuOs68fu3O1VXsp5fRwcLb/7jHnEHJv7wevd4MpDfSuAcg5xjwd5sPh4BKg2lqrW2stpWGeD8ttPb9d3MPusvbDccg5/PDDDymNKWdkRIM45CEmRPzHf/x3fsw+Pj+czw9BwQXEEWnKQxfBHCGHYZp8cxHsDZbebUP2BQa/rRlE7Hc/sRiyb/Bd3WGEqGD+9zZAExGV1mpxbqT/yeu67tOG2nxPeY2eUhqGjIityfV63Vl2e8DQro5QAYDfiKlvb5cQ6HA6qmq91s3K6XD8+PmTD9BijF0K+izBsJSClGKMRE1EOKAXrHC3W3Gm+zAmh4RjZCdmBIYuzYdLRMGR9BCSQVVVIGTiYUjReFk2u0prvVYGPHld6OX7NE0h0/V6JQLnvvtBgYjjOPqZeTwet23rItM0HQ6Hrm1dSq0Vf9c7hRCYQ0IAsJhSl7psq2pnZofwWpXW5F2ZF2NMMfm9/C4QPJyOOee366W1drutCjYOOaBbUBoRDUOapqm1erlctPfDfFTVKY9mdj6fHWzu5sRubq1tW317e5MOHz9+DjGHkOY5tNYeHx8OMpayphQejsdPH7/btmVZqkcRpZReXt4A9nwAwqCqtUprrW81B/bsJCJzOigijWM+n5dffvnlw4dP7oyXckSDaZrGKQOoiDw9PV0uZ+/9YgjHw8FDD0tB6Ya0myj0Jk5gc7y8lBuAc/kyxaBiSKraSxGvSRytjzEy8Dul01eaiDgBzCXRpazDMDBjbZtbEQCqh+fYewiUqkozUXf1Xq5rKX9LmY6Pp6IUQlRpwNFg2KoNgQOPYTcCimYWc0LEZelobBoJw/m6xTxnDvPxNE2HbprJmFFVWqmltvW2OLi8nN/++IfvrVc7FxpDngICaG+BNVK7rcvb66WUSlTHnOYBNcd//uf/AqAfPnwiS73putQppz989/3Xb79u23aaZ6e9TUNY1/V0OgBQazWn0Fr38WBKoW41EJeyIWmt27reblcMjAZbiG2cQpdtWRZVnSxz7Nfr9e3tkoeZKLVub2+X19dzTGkYw+FwcJNrf/u2bfv69athJIPHx+dpOlwul7e3y8PDMY9TMFEid9uhHUzqgF0JFNXzK0l1jz0yM+uCiGLSQZg5MJNBZLIATQUARAuoxBjNOoGpkEgDAoyEAL5uOEBkDDERgaFqs2mKaNB75eS5GAjQAWjMSVXNABjAlJBpryoYgDBgVKCMrTUBt4S7x1ughZSs7bzbgMGCqWqvzZtFxOS5gyCg1iEeDCAAkE9iOCgAovkYeluriLKqdOnmPg/SiprBNM3H47G1wsylyNr66REf5zHG1tsWhzwfTrfrORBQDM0AKaWQk4YU49K3CEmsJ3Znrp7iABi7SQfuYqxIgXOIzfPSDHtpgSgmBBWjFqIyg7ZVZQWtCAwhNtI8he+++xAiJhnOtxqzjmP+Qx4VCIwHxQrQb5uWdilLa+uf/u0fA0Xm+PxZ0hR+fP6gvY/dLmv57g/fP53mbX1Lp8N8pI9PH//09/Dnv/zz88Ph8TFotBhnTvAf/vEfGFgVPzw9lt6wKgVA5pQ45wkF13Vb+pblxHzTgWPODNe6LZpSSzmlGUBNCQBaL4ETgmkXQI1xEO1qEhhLr4FUUECq9Ho8HrZtK61P09S1XZdLF2VmdaNG0Jzzst5SSr/+fPn3//7fx7C8vb3tBFPA4+PD5bYiooi8vLwMw3A8TKZYawXoKpsKMEFOQaWptJyCafZ96NPwfDg0lUBIICnv7BcXqJVSVCFwMsWYMkI3syGPtdZ3hRBHjz90iqrMp2PsLXIg4JjYuiAYBwQCFSFmBiQK43AM6SBqiOxTHTSvgzXG5GW34q4UJN0rZulgRkZObLM96ACIkFV2pV3v3b0sOcVILGC1LE6UdM2IKSSeTI3Z/JYy7cUj14UIeR7G3nvZKgcy6X7rWGK/blVVEVTU0+Z7b0Aooq31FAMzq6l3LGiqPh8AUnW9fUDDdStIQATIXn8ZMnEMvSKgbq2qNERUJYSBwJAaAm21CTCGDGLMCYkwBU6xd7icF8Iw8dCrpISlLRz80Osirj1wglHuveLdLuauZk6IAUBjBJH29vY2zUMeIhEGiGbWWp+mA8+RiD0BtHULIaFtSGJdCugF9NdeH5UfT59O4y/n8+uvv/56vl6mYT7SQcr0fHpAxFq7ixG3bTudhpQiESno1qqgBQqtayt9vW0//vDd4zz+7//1P0u/iohB1hVMRjSdYtQQ8jTHtX94/u7D06fttnz79Q2Bh2HiFFm1lu32djuMp5immLYQkpkpkWyS8xg4qfVlXaV1JxUAACMLCjOb6Fo2BHYrQCISS4CVEsbhOeahtXa73VrFTsvheAw4HudDYLtevyzb5cvLV9T45fry+PjYngqomlTU4W9//aluJUb+8Y8/uHpawWppGFPrknMmRAiyoKBpThEs1NrXsGlEjQprd/6VIzpexpv7HyGnMZzfrj7eUTUARQgqRkiADNZiYOkYInUoVbbMSZp1ERH1kOZ13a7XxW1hCJQIAANm9LrcTFrrqqDaQwhSe87506dPr+e34+kRLJwvFxEZ8hhCeHs9L0shIoax1q3WNoxJOpq1OBJYF2kiQoRIsZbV/WcQNUcLkYmolN7KJoTM3LUS4jSO8zSNeUDEyLuTD5Cy+3RSIgpdu8NkqrH1klLMMZe1ppQ+Ph4jwNJvOQfATUFizuMUcj4ShbKsmUJrzaBfLrc8jQrmwaUxRjM1oJxzEEEjxjCOQ6LkTmLE75IVTTGHPGzbBhYJMWCK4+ROJsQwDOT2JpfzTaVwDoGttxUAxiGptC5Ru5TSCBqHANpRVGrnFA1JpMc0Leua8vF4CNsq0vawmzSeunLtFgWmPKBRrZUUQuIc5uVyPa/rtm3HlI7HcWv1tmxb3QJxTjMiztMDAJRSrpfXFOP57bouF2fjf//5Q2st9PB4PDiw+PHhw7reXOrNRCZAgDGEp8cTE7TWrtefnp4+nE4DIjJjiMAMZmhgbDBOedu2EIcQAjI06U06MSAZMDJxK1tMdD5/e3p6wgjDIRqPprQP9k0MtPallE2loAkipnhoXQBGZlYxFVERQlQRlWZa16VKSjHGlENvpa0thNBr0WjzPKvAuq4pDbVXQFzWZatKEdJgtkktdnnrp4en9YbxOIQYtUvbunaKfOi9EI/z8x8HESRIKREHVcjxwcwG7dttGQI9fBjTNA3zwVJAJDPe6gpsYnK51Lb07faGIMc5BLZPn5/CCG+3ayvXeRiHMaYwNLalN1Kbc/7D56dhSKqS08O2Lar64fETYA4cAW0TOR0/h+EU0RBbTpwilXKb55k4tNZCDKWdEXkrRa0zcx4mA4FmZdtSIou4rtdtZbThOD0EDC+vr84Ki5TaKueXM4dAiL33bWvaeuBUt/by7es0DoRq2ojTw8NDnubb2qTUcRxbqd++vU3j4Tg/xACvb7+GeT7SnvW4zwfVemuta8s5RyKzHb+E33yRiJjtTvxgYkQE9451GEx/83hGA8c8gO/TcbeNJyfqYaYcAiGBewPr3fHazeIcEAGvMn6TfO0d3jtk8j5isDtDXUAcY+B7nKF/DTM7hgv/wwe9X0IOiyLu5o/OqfLP9957UyNsrQEIQHA/XRFZlqV3G4ahyDKMyUG4IQci2rYtpaTdjaX36GyWuyZPAYzQczrUtfbOI8Swg/M7TdNHeDlnN2geUkyJ+rbe/Z13TLR2Hcb4/OG7w+lhHCNB3ral9sIxHMaRQjLjmNNP6XXbrsQ9RDpMp2mOJpAzQzwRUcpEafj+D59rWxBtmoZazufrW93gxz98ejj9/YePj+t6izFizimOMQ0hTRyyGCgzYaSQDIEYY4weIxETx0SGK4Wm0K1VVMucGEOrnZNyQCS7XM7H40Gtt7q7NJoH9fBv5iHbtuWcgTimvK7r4fTw4cMHNzFwfvDhcLher2b2+Pi4ft1a7Y8fntd1PR6PpbSvX78iYs4ZAJ6fn0UEcA8luIvt7r/aDBFCIJ8Yelbu5XLpvYt0D0zJQ0REnxgioaqCESIFTu69iPeo1Naaz8HfiSh4Z5eGEIDYQTi0e0KwWrgHGyGCgDXR1lWRkKLnumsTIkAAFQVCNVNpwbia5zCQqqoJuDEyongdf/eJMfDIS3RY3Qt3r7BdlevqvRizXyFg6ACMVnVaCNNuMyKyQ2J49wQElRidd1vjb87x72MBIyKgnWrvy5vveatueOD4k69/EZWOIkK+0RWJzYnyImJgYHA3oDTYJapZKiFgitix995N1Gv2Vk2l99bWpYQg7irjgtTdG34ngdx9vt+lCP/DGWV2pxvtbyiwC/RFJOcxJYwxITBzUN1B0MA8jmNogYNEg5AHaAJJODjHd6fQBIrjxzGFnSRARJFp27bb5bxcL3//9/9GpK3rKiJd5dvrK3IIafj55zeU/vwf//Hzpz/+r//5/5Vzfvrw4euXy5e3FzD54/efPjw//uH7H3M6TOMh593JpPcCjRKmfYIa0/t7argnL3rBh4gm+/+FSAhAgHZ3F/UvcDs5/wmRCYgIOXBEiGqViFKguqoG5CHkYZyP0zDlX3/+cj3f3DBx2bDJoht/+3o7nQ7SF0OLOQPbsq2tK1DsYretXL8tDw8PD0+PsplxDyG8rcs4TnNQhGhKvQEARcZO1nv73RsHPodxY1ZvXF1T/j5Iaa2FiKY7u0xlv4OIaLttTnXz/gQAnCnxeDo0VxoERsTL5eII9DBMANBLnaYDItbWhmH49u1LipOZllLWdR3HEQByjmZ2W95ijOOUt219fZWUAhHNYVyWrdYKKDGGENJaahIkonEa/AXnnIl2y5EYD25UEgIdj0e8f6hqWwvcBUUx3iNcEHuvuz8ggI8riWgY08jp3cem1aatQ/D83d1iKKUU8q5zZeYUYu+918YcW++32y3n/Pj4rKoeSNl7VzOn0cUYQyB/I3rvxOBiEjM1U/KMNr+y8b71QInJFFRtGIYQc4yxlPJ66f4rDodD7/3t7c3x47flDACibR6H77777tuXX1JKw5ByHv1xOZzBjCmFby9fj4cTcnh+fpxPD4AUmDFGVVipT9OwXG/MPObsJ8D58uoHFqDO82xmLy9vtdbj8RhCeH5+jinkmEQaByOCUrZhnEMIraKzdj9//uRYhjS9tW7akaJKXxcf/BIRpRBp2EMSpPVNV2l93S611nkeD9MYaGyt3G51WZbjac55yGHsTRDJevO5/dqupd7QeoiQQgboINysAYCn494HU/eQVKLWmmhTSyEEF0YSUfC/HXajyRBSbdu63UzJQIEgRs7DcHgI4/ExpFwFTKm1rZYbo6SUpMlatnHIQwjOi+5N160ZAIdIWHOaIzEAKrEYSldkUtFlWZr0cXycclIisq1vt9PjAzKNKYecVtHeewi5NwkIKQ2Pj3Q4HIZhCIFq24gAwVIKqprHwTQSMqClnErthLnLVkodhzDNIwB8+fJlmo8ppVJWMxQpl/MtpRQCRD/rKFCeCbVtJafDYX4SY6ZYexcwCmGcZ2Ba1jXn3MSWZbneVqT0+HT6mIbbbX07f/n69atvc38LjtP8+fPnttRlvboQ+fOn71vfXl+/IVtAiPiegardb1y1DrvXGpgJAJGBqcemO4kB0e/mnReAItZ62+tyNBQwxzasA6pX1+bcUAJmjhQMVKQ6hd1N6JjZyaMe1e5UFt/bXX6rquF3ojq8z7K98u7uqx2CqJNT9wmOVwwKdi/I/CzeVyre+S14tx3A+/C9eSQygMdBh0AhJwBalmWeDgB4vV6HYQghVOwAcDyOIQQzud1uZRWEqdYaA5kZIaQhh5yYOWCwnd/sel9gp76ISjcASikhc2uNjHcyknYTEdH5MDqQSaRGyMi1t+h2e0giCsjzfErNrbuZmKkwEYQQOLEafvz0FEJ6fePHx9M8pdvtiiDDOOYcBxzUPAmyxYg//PCHj5+eD4cx5mftLTBw4nHIwzRc3s7IpDjEkDkOgRNRRNUcOJmJ7anphKTSGSgngjlw6FGMGk/DcMitgTJga5KhI8bWt1LKti05j60XhRDCgIi1ru4nDbiP74/HIy6rKIjIMAym+PpyPhwns3y73U6nk69kZn54eHCLA08kdmtOd4SY53meZ0TkgG9vb57dGHIaxxHJWmtd3OksAoCZEO0ltZfa3hbe4zMi0W/G5CGEGF0wWr1y9UXit7jXPapKgZnuKUgIvrj3o9MNWu6rfZUmptKxGyBxiAkNiwhyNIBu0k1TYHcxRwaEvRUHU0AANBVTVQEhArrzBGBvv81fWODorxZkF2Le/zTv7fVep0KtO3NGiVy87a26D3NFWh6SgZVSnPAd86BqImr0W1MERoQMAKbmpjQppXu6ukcMmaqpQuuqQgBOlhNRJYEQ2e2senfOD3gFr7r3QhxyqyBdYpxzQGri6UCtcwfzULbWJIRkICp9Ky1n9gApVVH0N5rASKDvUQr7SbXLYeXuCUhEzHvmEaJb70UAEhHpPUZzk8oQQm+NAo8hYG1QGnYNd9qSnzPP47MhgJqf4w5e3kVH5AjC+fwKopf1Ok1THoZb2bZtk3UNzK+vr9frcjo99mZEkjn39nq79t7KYVxPh4dpPOFzjHlwjWlrDcmQoWuLHGMcQggU95PWdnt7pBi4spe2O4jTTUG8C+P3iB8OHAMh+9yJGdSresqBswGGGQLHfIl5nKf5lIYsWhExB34+PvR6G4ZhPh1Px4GZpa/SC5MpWOvb5fKKSAYBGQ1CpDgOj3/+ly+//LLMp3GYKWRr2m4VWAMemTlHzp17792wIewgDhgpGu+RNF7LgogxR91DxxwM3nN8ERlsV5oidKa9R6W73bujACLivLvetbd9sHbnmNE8z9p6zrE1KXUbxul4PG5bHadBtKnQ8Tgfj7OzpVNgP3ZqXRF3dPP15TqkJGLH4xHQYsxm9vLyQoBPHz56Is/DwzHnw+VyUe0iEpjNHPjg33eb7zZcqopoRPy+/ADAp15OYFDtRBgi+0p41xyrqv9Ip0SrqoJ5oTwMqZnLc4OP6/3Q3rYlpcHLPwCQrrITcXGX80YKgWLkwHNrRRVl5yv61tMYI1Mcx+zaEj/kam1r2Q7zaZqmmFhVhyEBwCKLdkXD0ovTmdxL93Cc6natrQDGQOyDkb/+65+Px/n5wxOxPT6ebrdb4JzHKYRYuwAAKAZiABzzSEDjOIw5MqNBH1L6cj73LuM45iEuy+JI47retrV9/PiRiYi19VrKYiCgJjI4byqEYMattRjhdDpJk9vtsqy30IL3YM5Ay3m3GQWPjFbrvfZeAcFMpLYWgwNMOwNbOcaMqK32vitYDADQmkk1K0pmwQCiGkEjTMmXhl9MIezC0xBCbdu+TlSM8J7YpWQYc3QqPID2WgLh1mtKeZ4HtMRh6hCAUm263IpaK9sFsB7mIY+DJiYM23YdJwoWe4e1yVpM1XKiwzyHENyApG5dmwgiBJ6AI1Otejl/U6Wnw+nHH74jbF++/muKuFWtvanqw9PzGIa+VpW+LBcEcu3W4XD69q3+t//234YUP3x8TjmX0rSrKtS2Aug4HExbipYoAEZVDSFsdd1qOR6POY0h7GfIttUQlEMZx9EUzTSm4cOnP2jrrQgGNLR1XWutgXcRZillGEYSJWqldtU+DHk8TAb98gaXy+Xp6eF4PHLc/YUP47QCl7ZNhzHnucq2rFdkGKYh3G6rkya95BBtqgqgkRjVtHUBYwb1+TXs6jFfTHcSvKkqGqGBIfjoxr+AEN+t4T30BAk81kN7c2PgwMHZoo4Lhr1I2iFBh58R0c0upPf77WWuzcK7KekdGxOv6e+NC8o9phFsl92ZGeyZcKqyJ/IQBSIDUTCS7kDjDsnw/hGkglkXMQA5HA6mO8qSUiqlODkMqBPtAJVKczPU1goRMZJnQ4jt+ie470P/JWbSmztVMyJqlct6caUvEaGaaOewjxpK3RAlMAIiGDVtAhg4GRAAx5TUUBQCp3HGNMTWi4AFxMAhxvjp83MeaJ7HeRqYqdaWx+zOIR8/PjPHdVtOz8eP/BQChYCP4zEwBzappYqq9un0aGalRUNWYwPy1N0IwUC0u4Efg0ir1YhDCCkxBaWGMeWH0xMIvy3nIgUJtNc0RiIYx3xbLsMwUKAuLecRQA0kpWHbNiBlHkLgeZ5r7dd1A6Raay2vaj3nfLtdvBN7fHy8Xq+3222ej6pg3W7n2xDf5nl+PJ4iMTMHCD7EIIZ5nvcZutkwDJ486pZqHKDU7mSPZdm8IhmG4XQ6uE1E2INU0G9E3A1V90GN/7dXxnT3nfCT9J0q40DyTiv34/l3sybpXcl6NzVUI4bElIACa9u5+BgQu5iiqWPojCzatFqgHWOzbmY+M/W+dQ8w8p7k3vf69gFiQGBCSmnw/SLS3y0I3JYnxgTgqVLVTRuIKJC3lBBCEFNXrkfjiuTFjU8k7rvSlVF7c+Iq3hB2zjoReQSjiKkYITOHGLlLdbaxJz+YSa2dwHrvYsAcAUAVTDmEgCTb2pA4pyFGABDZNhE0xtarKKYhT4cx5bCuTbQno3u7RGYmgMEI7uG1zOyBWQ6Puemh10Duxl1r97N+HAfnufam7ijntG8ASDmnyHUroDKNmThi7cU21Z5zVu15ym5z9HR64BwQMaXoqytEng+TL9ptuZVlrbUejsdA2MC2Uky4dPnpp7/++3/4ux9//PHby9eUw5/+zY/FXrR7BKN5r8sxtdZqL2kIh9MhxujjytLqWrZaq2PtfpyaH6G8R+TCHots7wel3lndzEyAgEp7WFUnBARmTimMxAE5MOOcpibapbxc1lKvfbsFpn/7px/TYK33w+GAKjmnp9Pxdrsdj8dvry+99NfuVoNNDXKaKUSi05evP19v2+fvPh4fJ7WaUhymMQs8nh6gCxgRBYVmZhSDT0WMDBz22V8+2D0aoIuA5wXsuwQJUYVCiN5xg1UBRkSXuxwOB2+rvC1fruecMyGAdDObpimEUEp5e7sAQA5RRNyxdFsX3J1nemsFEdU6EYUIuNlteXt6ehrHcd7Gba1EdDo9qlqMweWe63oLgYipNUE0p//59nwfG5ZSMMdhmP1EuuNTXbVP0+TnkuymnKDqszL0u8xPOU/8JSIxYmbRvq7rOEwGtixlGKZ1LU6VxsCkysxtK71s7lQRmbtaSPEwDmZWpbv9eQjBtTQE6DM318XGyHBPPBQh9/AB6aJo0ttWtDUztC4xR1UlikK6bVspVfW1tu10OnnnsCwL7wliJCKn00POOQ9xGnKXjRjX882sjdOjXxYBYVlvb28v0zSp7qZwqiq9MicV3WqNMX58/uAPpNbKaBzsdi0ccJqHb19fW+NtW9b15mZ9jlCs21LbMk0DgrS6tNbmwwgqZd0QMXKQXpdlQcQUudbKAU6nA++2RW6woTEy32M39C6cM7MUQInv90uIkUMIZVuu1yXG7Ax/IhRpIl1NpFfTyiigXTtaGAiSWPdtLrKrFlMKOUeAQ6krMSCiD0SIyECJyCE565JCKCatNwM5PRw+5ayGtdi6abWmAL3YVqsjvTEheYAgc29Yu5oOrWWXjpvFlGMIYRznUm5oAREx5hhQwGrZpHat6zxPNNNW23JZtnKdZybseaDaVi0axyFEFGlFMBJLgxjSsiyvr6++GUVsHObDcTqeHgBAOgBASHHZbq9vX8vt28NpGjK2evv86fD4NA5jfH5+/uWXX15fvz09fcg4EtHxeLzd1hhTShH32ZSkACFwzKGUIqbe/IcQ9gQMCOM4IqIZcEjB74624CJSi5nVddvGHEIYyTMfLMXhcIg5x/vM2WIypCy6vCc+thACkrNlLMZo3by3jjFiQCTdGYImIkJGwEQEDKbaVcQrYGb23BVUNDMlQGR3KgVwEJZUuyiptH0wfSeuIGKMmXBfl4g+B/gtIVl3yeBuhuX/5Pu46h2O2gt3DjsMoEa7CaMSkbcPgO7uZGbSKqc4kBdV/bd6y2mMfjqrmmpzJM8/iKjUHkLwwaLePwz7MCYTz9YJXqIR+kRyjyxprUUgVVV4T4fHHbHrpgpq0GtFxC4dEXttSBBCiJFzCl3EiTHMGBh7lyEnEQkxioIKGkCOAyJ262KgYsTBsL6P+AEgxfz8/LHWWps9Pn32sSbsAxb1+K6cIxGZNGYOmQ/TAGobohKJQQixrBUjgxG4we77ewqQ86CqBNBETFQMiAEQVFAhME9hSlPV0pe2XrvKcrWnp+PDYVYEMVXrKYVaAdEQgZnzEPmGYopkw5ha1XHMW2lV9Xq9ppQ+f/4MAO476yBorb13naaDYyq11mVZQgjn89kUp/Fwu92GeSIi76xcHWIKqppi8J/jlTTdVXo5Z68vp2k6HE6OqDk05Tc33Pke/pned6jjdrs5hvE+z8Ed6lMAQGK88w1UFX87mfePVkUMmGLkjBBqh979wrqq9sNhzjmDVjMkRgCQ2tGMCBR2GoyJxpAc2/WahJmJwBjNSE2JKARHkZsKQADm6G4Yvfda2jsI57GPZtZ7a61tW/HKg4iUNIQQwt4CeWPTWiODYRiGYZLfWdnQHvDu63+POPD6Q9X9+MENN5h8SMsckDuKIoC6sU/vfdvqkKIXmIGJCFVUAJliHGAptYlGJGRmCNEQEbuAKaVoKcd5HgF7a8EAObpBhmtzEREVAZDMeq2NiFIO7+y79y7rvevwTm/PDO9mBq01P4UBKhEBYmuN0FyVBUAIDL4/mGPkbUNmfnp6QrDEwRU1jlDenxgiIoiq6jQNqmraU8y9i/aGqGMOIo0j/fHvfvzp57+dz68Ppw9/+tMHVBty3pZ1KyWGDACt9eNpREQXMhExItf+Ds3cDbXGAdQM1IXIvy1K8MivfaTujodeIzLsC0B6QyImSBxCCMSiYNpaX+W6bdeyGso4xTGHhCFRTOO/e3l5IaIchxCGUgQgTHmaP0+tldvlbVlvWgrFQGBa4E1e86GXtoFcP52ewfj19VXrusUI2vebAZgoEAYBMWQjQVcLGyGh7o6kDECqnpPh8nRXZXQMLCLMEVB774pNxZjR93trzW3EPJICpklEzHAcR0/H9F1/Otl6vfE+MJJIyBy6CgKZKYD1LufzKyJO08F2z9AmGufDUGs9n8+IAYyOp5mIz9dbIKy1X69nb1O/fPnije75DIfDYRyzt5Q+dfQxstcQfqb57nf7hP2+M0HcJ2Z+U7gDNwCM40gICKaioCatq0JvrUK5ni+1l7fr5UTojcqq1ltRkXVZfFwZ4t52jgHLJtbb1rsv6R2VQyh1652JuPcOYEwk0hCtbkvvgRiZuTsdBaBLJXXxW2tdiPF4nBHZ53tew5SyqWrvzQx810zTdL2dc6LeWwgUIizr9Xp77TLcLufD4fA8Pr++fhuGIaWh1gUMl62a8RRGNRURZ7L5Otfetm1DkuvllQheXt6cKvbly5eU8jAMImYgau1f//zfpZfPnz+OUwyRapN1XcGolA0RzSSlxIwicr2eGfYSGd0soPdAMM5za20PqEZsqqCdwDjwLuFlVO29a+QQA1VEE+21ETIaRCa0CKZuJDqmzCEaNKLAHImStZ2xyczzPI/jSAQO9rsZGsPOo3YPIh80qerb6znnzIAGxkwAWksXg9ZNgd3LqfW11ppTQDRR3NbtJjLk47Lp+e0WkEIUREASDEgEMcamjSjUrWjrTSyE0FVu62pmH48zAKj24zwcxokQUwqMmHK4Xc6IOMbhej2vX76ypl770+HRK6V5nonRPSH+9Kd/e7m+7FI00Fa119p6rXVbFrtdzw/HwWxr5VLKw4ePp5j4cDgsy7JtCxHEMOYhejyZdo9n410PGTCNw5xZFAGAeBnG0cxiTgDAEupWAIH2WzKY2fV6XZZlGAYAeDo9pHFIafDJMxPX2sdxJAYwGoah9dJl5fAUGMVpS4jWWzfVGHkYhnVdVdUIU2DfY2ZdVe1evPpm8KjC1lovHT3SEJGAgP0sxCaiJuSADZiZtC5dkEEQsbfmkx2iEIhDQCIv9M0HN+/NZf9dl3kH40VE0n2g7y9pV6aa7Vgps39Ha815Mmh7YyDae++oxtwR0U3n3uF5359+7IYQHIgEwH2OD3C73Vq1eT7EGN+ZnbdrjaOz8XTXcGhLKfa228vAziPsjQKqGRreh9F3BNQBUXUKDdyNMnJK45gR0bQTWEipe5UMDHu2X4wxd0EnNLk5iLVmiALIzHM6qnakxMzMycxiSGDYWmuoISTMriDksm6IPI5Ya2VGyrG1ZgbISbWNk9PHoTQDDrvRGpPC7lgcAoVIIQXpauLlYCRCJFbtaIF4giFoX3HoqZxDv/XaRAMTHY7zy/ktp+F2u8U0IFLKsdbaWuk9h0hk7GVSCDEmDpG0WSsbM4ZAL1+/MbNzT6/Xa4x5HMfltrXW8mC999vtdjgcUhzc7+J9kO0LBnfGOboB1r027SkO03gwxW3bUgrLYsy8n2i/A3XeizkvTN9T4h2GX9d1miZv896tJ9/x+DgEX6sByQgN/4eEUTOrXcCciWdV2rpcl7K11oYEt+XKqDnHlAORuc5JzFSkdzGmd2pKl4ZAAD44dEgxEBEEUKHAERFr7WCkSG5ikWJW1t67C1jvHTIzs2fW3u+X7rdaSuG9LQkhMKOqtg5MkcjjGWj/LU664z0pAgAAnFnbAcBhLefJOO/Cx+Wqaib+6GCHSp0Eb2Ys0htI4KQIoCAiMaQhj8wxxck3uJ9mzZNfA4WIMbGqxcRE0Q8MBaDd1AbFTLWDqNRmRErAgC527LW/42qwW8hTCCmEJHsPopfLtdaa8+h/b8rj7XpZCJ6enmJOtVYEDIy7CIQDAbbWYo4hUG+1qXhrEPaP5M/hdr6JtBgjohnxOOVxnqZpent7dc+d3nSej9PhWEr58uXL6cOTiKhYWa+lFEidw2EcgvTiRgJdmgogBlONYUwpqPbSNjMbx4EAu7Te+7ZtzmEKGGAP3A4A6heBX+deLBNAIBIwJEM0YmMUBSHTrjqdUpwCnG1ZzwQw5jGFLEWn6RBCaq2N0wwACDQOh95sngYyWClM4ziNGRnnecbA57/+dDqNf/eHTwFpzFXKVs6/FsP0MBNbiCkEat17Y/udsok8ctxBZm/M8U6bdM6PL/XWGqq11t1jpvfem/QGOWe/I2qtzhXxb4mMvXcwGkK43z7ewHf3ljXtiCDSKAYiSCEwR0K83W5lq4hIk83jRIex97quN6/q3l7frtcVjMaXPM/z6XSKMZT1FmM26K0VomhmZuTYxIcPT77+5M5TZ2YA9dk9/qYTC6p178xr9U4bADgQB5K111aIqEsIGG63m58ApRQwrLV/+/atN0CGkFNIcVtWqQ3U5sHd6CESEwHY3u352KV3RRG3UfdPItBab8ycPPYL0RMia92kL86fD4HcGNEUfEcQAXPYB317d3RwRuX1ejlfvjEzB5Tu1ysTYe/969evZp1Rai0AKv263raff/7b9Xr8h3/494f54XpZxxGA01LldlsJI4eMwES0bdv520uM0eMNVLVuRbq93c5l3UQkhISIglysAkDksC5nsB4jpkxPTw9S23q9tVYeD4+YrLat1y0yImKv27cv15QGL5eHYTCw2jZEdJqln41+6cQYW3MtTSdGxKAqdWuWOhHlnAiTmXVtpvvUd6+2y4aQCbV37B1jZAQSgwjqtQ0iI5qIllJbL4mJTHet4T33XVot3QCgrJv3q/6qttvSNakBUkDmbgoqKeI0Hst67b0DCKFrTM3nt7V0gJCmGGPggD73Wpab6U4sTEOOkbFW3kDN1m0bxgigIVCOk4NHm2yB0zwf1/Xm3fLb21ukOdFOc53nMeU9Jc2xno+fPg1jaq2VuvpY2BCPjw/abr/88rXV8zgE7chB1eqnz8/TdCCi6/UcQkBkNsvZNRXFTdtSiuk43gE+OB6fSln9bATwFUultNKqm8Y46MMxiMg0Td++nonI39bz+ToO03Q4tnq9XG4x8u57odhaI9aYIMTIKUWvd90DmCggMjCJCBqDS8kAkEhFwIwdHL5PSN08kdn9pxkRjIzuwi2/YpmJnP5hok1Empm6gdRdBkGqUGvP+T0gY9ejOGJn90w+/F3OovcMvm7888y/kRN8sd7/CeqRpffkRYfP33sD1X0o/PuugJkDvTtmEhH+XsYnAo628t2/OedstNRWhhhyzmgdEVKiAt2xWH9J+38YdLK4NyOqCqoG6KYETBha7071KaWEiF61+20dclATx4kxJDDoYrZnzEPTxr0SUZO7KJBDzPuMQgWNPDTeHAC+Xq9pHHJOClBrH6a5l65kx8NAjCINEW/rRpclEABYqd2x1TRkbWZmbGZIYiCgSIE51d7Z5XqcMO0+J8AhAlGaeo82hCAw2dq1qZWltNfXl5RSuW3zdJDWW5NhiN4+ecZqCKS2Z3MMQybCnLm2JtrLBue313W7jtOEgJ41TUQxZN8YXaojSar69PR0u91KKcMwdNXz+Xw4Tt6MMXPgZGbrUpw636oQ9mGYctbWfIsmXwYu33Q439sxP1Duba0HEUREdEqV16OOW7tdF/p9cu/Z6N2r7r7IiUjAWpecRhFVgd7atva3y1m0pZRC5NbK7aq9RYQZUEVaKYXJW4jWydOq0bG0NOQ723XvEn2gEVJ0EnxKiSkaMXO8dzLAzL5UfKv6dbu3ypwAwItgZh7HYWfvEDGS00VCJLJ9zzJRCMn3mXN/35Og3hvX3ruBaCd/E3PK0QNx1FTFzGJ0m85mZojGHFWAmWvT0pqNkTmCoRvv5OEEhgZsBgaAhK1XIKaAGLBr09acuw6IqtJ7R/Emn0wNERBZ7uH21AARY+Cd8gTmTbs7h/bemUKr3d1y7kDDPgY0s7qVnLNYX8sWY3SnNgUD7ZGDZ6BUk2VZhhwZDACde/NeVvpZPQxJZPIx+rZt5945pLVsYx57g97g65fz4+P0/Xd/f307tybX8826hBCk9cghMBC0FLgDGDQ1bXW9XVfEmOLoo4z3hkpVu6p22baNRIj39xEcpiEKFGvdTHZHUUTYpTs+BQUjEERRbWYVSIjocrsGTqd5epgH0QpqptTEUrSYAzK53eHpdAIOt9uNQwoxfkjxeDzebpfXy9kwzdPDGC6Xy+U4zGkeRG9hoE/fn1q1IQNTR7DI2JBW3SVSAIDIAApGhnAnRAZmIApew98bMPae0Eluuhsv0PV6UaF3cJeZHQ7wMjQQxBjBzM2jeDdIpeM0A8C3b9+uIp41jsxMIVCiPXiI8G5mOo4DoBAlP/1ar62XbavTePzy5Uur8unjdwZSux6Px9Y3ABWxGBkgbdvmupphGIjoenmzfe5g21aWZfFGAnH3sy+leTnoz0dVDXaneS84RNq66uFw8n0dQqi1S9da++VySXGKIZRS/vVf//Xbt2/Q5PuPn9Lx8H4mqGjtHRHFeq2GyL2pH32l7wYSqtCktEZENE2PMUbT7qlKgf2M2jVsIibaoQPyDjh68uuy3GqtT09Pqn3b1nW7lLICQM5jiCzdbrfbNA1PT09//tf/vqxvY2YAHaesVt7OX2Ki8/n1z3/+8/PTJ4X05dv14flJDUsVQlzW4u9ObRXJAHVbFmbMOYeQctbz+YzIfpDW0rb1/PDwlFJ6fTkbtk+fnlKmeZ6O8/R1+9paa1UMJERS87GDmkEIpBq2bWFmogSgvbdaNyIym94nnLZHhaAI1NpqK9jRGROgWkonQhFRqGaeCB28K/PmLXCqUkEQbARkoonCEBB7b44xtVad5uAaibWWfdcQuPgHTUsppsFLiLKs621BJjehf3tbuhoFDsNQSqmlA9DD8RRC6q0NwzAeJsc4KtUUZUg5Rh4P4zAm/4Ge0VtLVzAFE2mqvbZNpQHAdS1hOBDo7XbbuDL7BBjGfCRI57clDPnx8cOXLwvH/IfvfnyY8zjmdVtut4svJI8LOD5MXpdO0zTPcS1lK4tIHGP6+Pn4t3/5c9luh+nQu/75z39trf7xj3/Mefz69Wspvw7DdDo9Hg+PR5sDbefz2UCGcc45tyq11nmemWJKNgzDut68gvWWTMQQNSVSlXczjCHOHz5Et9N4+/byerk+nB7H+cDMIRCSpRQAyJQPh1MeuNQlxETEZiCA5sIjVViWxfNWiLS2pne2AN7tWZDIYzWsi/u3gYKTZADe2XKA4ICwohKxq12xq1gXRbPfxU0D7PkprYnXFX7c0N2zIjo7/B4oTXdqu1NZ/oe5m4+weQdB/SOEoICtNenm0yVEJCQw2DOuRd9BcR98q2rOWRS2rfTeiYIBqEJTWdeViD48f4dIXv/5sbIbjDH23pdlSYHAyIWJvmjeySrSxd3HfN58d8pXf7zMASwCIoAoaK11qDv5LzL33qtUf0dqrSmHnflAEbEqmp/+6A5QSIgmIr1BiIxAZqgCMRMH6r2VUoAJEWqtan0IY9mqKoSQWiukbhbRY8ylNEthW67ApGZStuttPUyziCGDIYmIIQCrto6mOQ6RGdVVzV1NwbXCqJ0DJooGbEsvFawInEvxs4YAIMXh68trq/3GlxhjzjnGAIC1ec4L+f8Ow/D15bV2ZeZat2EYDMAPqc+fP6/rej6ffW949Zxz3tZKuHlrW2uNQ355efHszzvKu4dfOjTl/SRzuzeBdjgcWtvXIUDNOR+PR0DtOz9qp5M6eOtVHd8j4t7e3mKMPo683W6ImIfBRyx+1Tly+b6YmVlVAMBcRoLIHAG6tN6lxcimRmgAKtJ7K6211oqIcMA7S1VFmjO/31tHYo+8NABBDETgJGZmVgUEVdwT1sB2cC7G7PvifTDlmygw+bnh014zTSl5K6dmzs/bitC9klOFdV2dgYqICrth9vu45j5AQ5cJxBhTSsyh926orTZmJmRm7r3WWnvX1toQp5RyqdqkgRvjeJ54JyKqrbfaANyVwtZ1dWlB69J75YAp7XnsOVHvHVDBiNANgvYpmd6VMyIS2PbXTOiryx9s4N1bvbamquM4Pj4+9r77U5mZdEspd72jDwjIoGZDyr1v3VPH07BsV1U1lRASAyYOwZ+Au2OJIuLhMHkT23uvokNisSQVPXH99eUGAONwWM7r89NzrVWgI5mghMAUQPpWm9a6ifYYYw7cckAIKYbIHjKFOWdXN5ZSpPV1XQdm5sjMAXc6E9wlSSEE9xOLcU+z8jfSzACVUA1arRuxghHHvN42NDgdBhHb1orzQJxCoPP5ug9UOMSQWmtmcl5v0zRBCGk8hDzl6SmPMxH9X/7p8+16TYlDklLPIcKnP35GCBzn42m6nm/uE8KNofntQGb7tMfuvhlE9LuFt49knRWWUqrrllKU3tWcHlPB4nsfLiLzPLuByTzPYx6mafKcvt3zp3dEnIdx27ZpHL2FiykJWC01ToOXYqfjw2HW2+0mYqpKDIisuqnqhw9Pz08f/vbXr7U0ANjKcr1ehzH13ksRDibSnp8/+73jfJh9s2t7X5lmtq6r8+Nba8fjw/vla+/paaBuY+Wnn4tBERHR6roNMRClEMJi29JWBpyHcavyOD9srf6X//pfvn379nQ4fXx8+vLlizvkpBzcXxPRuvqhEeUegNV6u++d6sR6h29DPLyPNNGjoPYEX+fPICICKu+CvxZjnNAzm9qyrOfzGweb5uF6vZ7Pr4gxp7G1JUbmEF3C24o+Ph1eXr4SGwIdj0+q9vr6Ko0Uw9vreRM7HA5iqABrLWY2DAMn1tvWO6h1P0d7q621ECJ7ah7HPnQAGsexlt57TwNywBgDo91ul+v1GkJYl/bly5fj8SgirZVSMKU0zSMzlxK8Sn6vc1TVPXm8yLmfk7sTC6CVUloT3qnF6opdaZuxpDgQhdZ7Lz3lEGIEZDPsxgjElE2jCLbW3OXP74u+Z27s0m1/zs4i7rWEEGqtKqKqh8MBgNb1VmvxJrO3421dkWkiQsTACCKMggqJ45BnADCQmGNMMKyY08GBCUMTUTM0RemO/NM+ZbVuoiIdzUKMIlLqBgBMI1gBtONx3lZB5BTncTjMEo7Hy2F8BPM9Ar33lENKyWvrn3/+9S9//dfvv/8uxtilGVprrfdKDGkItvbTw/zw43eREamnhVSt9x4TA8DLy8swrDnnnMaUcwzDx0+ncZwBQLuVUmrthENpNQQa52nZbsu2hhRDynYnXPjR2qrU0lWAGeZ5jjESwfl89pZbWkcKIYRhTIiwbYUpuwEDMYVpzADglo9mdqdaxsvlDdUIQaXxwADSVDo0ELL9jFYT8cI9+GGM0FrxikHusTJMjVAYQyDuKr1vxJ09FFx1HCYzMkOmKCQi5r52AIZk7i9riCGlxClQ8LGbo9N85wTLXZRjuidvm1kVtz/yvtyZ5RYoauit3RP+ugAhMBkhd9q2bdtqKcURisTJxMy0t0pEqj2EJCIg+vzwGD2bWiQSa1OUWGsNHIdxVAXr3YPbpfdxGppsMYVShRVImQMJdEAgRQNlAtNuQD5QAJDeF8KRrB3G2A16761uXQwRY3BERIDRxMlLGGJU7U0AeWCuojWmCdG0m4XCHHLOFIOIAAIxGZgKlF4RcRzn3jsIICJDaoJmBKhFqxEQkhrl4Shat96XrUCMIYStNI/xK29XZj4cDiqylSZIVo2jHYZRgIcYMVDXJkZgamKGEDAzi6atA6qOUAjaGan2Wh+fvjdUZhbFsm699g+fPvg5RSE4gwVBpzED2aShlALWUbSXuizLPB8DhTSmdS23y3WeZ9PiHfA4js7+ent7u/sr2zRN316+SNtev355+vjBzFqVx08fl2VTLe8Ed+f9EyERIANyiJjOl633fjzOgLiWayRBE2lKRDFlBPZmjO8pSH6Vquq6rsMwxJwosJmRQoz7FaWqDTrcsXAC92QAoiCKyBSARHpI8vAQbTehkXnKqsrkQeLiNXEOIzj9iIMf5UisXVDMGELKfn+bWVcDlZASB0Zg7R2DBQrMu1uOmZmiqiJRSAgqzAhG7g1H+P6XKTMH2h2cxNN/RCnEAQ5eLouhN7G99+v1ejwe3QTTKygAc0pfawLgMzeIIQkgGHd1A+/Wm3BEClFUSqutybbVODx04JCH1mxbC1MKceyqYHa7ltp0KZUCD0PqbRNR2y7DMKhr2U1rLU6v7N4Edu3bzcymYQxMiZUOuG0g0sxAlR1MPRwm4FBKQeScWVUNrbTi7zIz10op5ZxJVXvX3jtn670ycyBmYgI0UQBlI+EAEdEkADzNc5MuItM01Frdd59Ya63GsWlzErkfbp8+fTqfr9LkNAwyWKsNQIZ8QqOytZDTUm9DsBgxEKg0kxIgIVK5XEKGVhelzDGOGULm3koaW9MmIBSDmfXWp2kKTOfLG5CFxLYZpcDK21K0yzDlZbsxs5kSgvSOgRAYTNS2bJEsCqdO1Eo9jNzMMqVVrwZ6XTsANLH69vLp0yczS26nW0sO5Lae8zBfa20dWlNTQOTp8Xmv54C75JSJyF372AdHVfv5tmEIlrg1MwQTN0h1+BkBrLWe04TIpV/cxVzMtHZEnMa5Syul5JRztlquMZtU6aWeDlMpbRxzb5IjPz58VNWXl6/aq0kQhZ9+fnFq2TSeyMi6vXx5u9A5hDCkVKWKNiJSs8M0xIBV+jxPvffL5fb49FBrNRTmWLYaeJ6PRwNBtIent+ttsfMSA5T+MsDHEELp25wgpLaut2malmVxffPry4uDi8z48eNHM+tdYsyfPx9aay8vL9fr2QN3kKl3WbaVYgCACLiVWls5HA69C5jEyNu2deiZMggp0jhOiNR7nw9jYAVe66u8/IwAnzD0tb2SZi4wHw9dRLTFGFS0lzVywGA5BiKWbopkXciUTEdURNsul7+JfPr0aRhSTvTxw/G6npk8WZF611KaAuYxlq2psSnW2mpt0zhkDuVyUdwQt7JV0xw5KTYANsE0okFHDE/Pz+fzS5wOeXj8kE4v3/6ch6kWE2M1a1iJ+lK/yaXPhwFQ/EKupbD1aZrmPFwvC4awlZVBiCjSEFB46ONwePl2jWH86aefAH8ZZ5rm8PRwyJliCNvaAucYUso9Zo1MdVvvc0pGg/W6Hg6HgWMpJVDovWtrwViUIiSpdH651LbN8xiCV3VARG4LsC3nOkTtQkToht0JyVQMFViQmpE2NxDhYTw5U7T2EpSjqfXNKK/Xm5lhYHcR2LZNlUC1lNJ69YqTGSkwEKKiIxTDNHKkZb2ZyRA4TlvYJNAYAsc0mRkGDIHKCiEEtaZgnqEbOOZ0GAYIIW3bdls2AIh5bn2NCVsD0aaljuNoIiHwx0/PiBhRz+drK10NEW8AhMyhpJfluizX0/GYSwo9RH24Xdvt+svxNH58fjpf9NuvL6fH/E//579DxJ++6u31fJumx+eHLy9fX9/OVTgPcwgDLRURQxqbdLU+j+l0OuWYNikAiSKdnk8P88PD8RRjLNsWOQ3DgUNGpM3qbXsF7LKtFKlWQ+DAwzxFwogQD4eTa+IDJyI6nU7OCy2lnM+Xw+Ggqs/Pn6baEZ2XO7iNkqqmONxuN793Hh4eQozskLMKEAUKLN3c38p/KICCmiGgmog7U5sDxV5etNa6tWEazQRQRdzmBAkZUXav3N0xzo01GPC3Iez7jMlBwW1bYLeeML2D7iEEMnrHSN6hcY/d/h3W/o6wo5fvcI/e5PfMZLsD8HePKscn/OtdTNNa83lK726qwzFl1xDkYXIPma5ARL30EGLv+u3rqxnU3iZKcOc89N4JMaXU1y2lpNbDbk/rKmpExN/lPwKAG+8Ykpi6NQepgJn1pgpGRE06kvtVsz8KEek7DOa0bAwcmZlCTHlkdpNNfAez/bvafSTiVpSm6AbVgd4fJr8TiBHR4w4BFIAAuhe1ZoCAzAEAu2iT3hXEIChEDDGgivE9XE3VAMyQpSugoCICUYh5mLSfarvcllW6MaUYRxYAgFK223U7nQ4uWnKhVUqp965qtdYulZEadHRBRWtDdp7Z5mZ8/c5lul1XIjKDbdtqrX42tdYeHx/f3l58qU/TUEqrtU7TgLhny70/sRDCNE1y64joTa7fi4gQ0wB3qSLRbu6H+FvJ/r4a3SId70Jq+N2SfV8EiIjAtmOC+xuHFAFABVR7IOR5IAJEVJNxHEMI7s2+rqv7M+SUnVsMaL//yb6qW+3E+L4FzC3/iNz5jkjfX5buDrBwf5EEzM578smmqoAZwA48EzhaY0jgRBdENEbQJiK9r/5H9a45j0QBiZ08TUQpJR+w11qZQykN0VOnULWL9D3DqLXb7eYvu5a+rq7xup9LoAYg0pAJiVsV0bas29YaVuiNA2nr1XRF3EII0b0jpDMxoZE2QIvQ13JT1YYyBDIU3PdH7/exnlpXgTiMzpPZTy1Ef3l0tw/y6IYYI7PHTje6Iw7Oo/CZoT80YiQiD1UJSDFGJnJmBaAyRlXVLojYapO7nZHeHQWYOQTsfY0hddlqs5RCu1XVLmS99ymnYXQJdUciDrquS+/9fLvkPIzTISQiQlMkCq5JCEitl3Vdp3HYOR53e8ptWwwk5uFdDoSATdVMEN0ukEUEojvZ/c5ckkm0vUP1zMwspfTX19fj6RE9qhRAVUutgUKeRkjD9XqVrkTk1K/X15d5nhmD2wqlFLzacODpVtq21RgjYUBgFfA0jvfZDiLtXqvOcKj1eHgQESZi5mVZQuR5nnvf1OUooENMDiT3riElCpbTjMjW7fT0+Pr2rfTGG0vX23VJaXh4eEhpCCHcbrfDNIcQyroimr/p4z2CtJRCFIZhyLn7pSaqjsk5VXLdbkTgYFvKdHqYREpp18NxvFy3by+/Erf1RsuyXK/XEOgwz37gOJrufE4A6L2768jDw8PlcvFLMMQ4DMP5fD4eZv8aP+vgzhEKoD7BU1Wn9CxlbaU68dy0fPn2+l//95/P5yWE9HD4dJzmuoIhpJQ4hNty8d3tlzXlCIhqQJGmFM1sHFIMJEr1/Na2BTu9vPwKAA+nE0jnmFV1WWrv0JtwTGi4Lk0VkiAyq5khlN4bIALMh8dxOm3bcj6fVW0+nlrVZdmA4sNpLKXO8/xv/92/67WGQCJimr78cgl58NIq8DQO8/efR2Heil7OS0pJkrRWRFuTPo+HlMP1eiaiZVEzm6bD4TBRaG+vb+fLq3Rby2UY44eP301TZtxtM3xyeDwep3kMISROXj37TeSjEhHp0pZtrXXbylJKAbXWJIRwOHyutd5ul7atnDjlOAwDovkocp7n1kttKzNr64g4xwckvN1utUiIo9+ejpEjoop4nQAWyia1KOI2DAMzi6rvZb5bbvhomoPb9IHva6K0bRsgA1rvGkMapyGlpJh6V4TUm8dtgpmJ2p0SoaDgii/mqqrz/MgchoE4JBHzgxQAh8EPcxOR1ovb8THjejn7SFlUiUKMofX+7dvLer1t5Wbap2kijoQC0o1su9UzXv/6r3/96a8/i11Tav/hP/5P33389Jdt3Updbtsvf/lbCHG9bt+Wn4nSYeRPnz+03r59ez09HFIa1rUw9MPTEYwP0ycOgCaILNIu1/M8nfrr6zDM8/EYQgAOKYRhSO8xusfjw7tyUlXneQYAdy94v3YRcavVv4ZjHDkCgL/vKWevJH1m64rK8/kc3msGM3c9RwjQxfIQqYGI6D7r3GNTVQWQ2QARA5JFFnFSipstIoB22cCIYkRCosEFaiJNTZnRubN4rwh9aoaIjvD17nnyd7d4NFfCMeLvtHH+G8FJ53R3WkByfZjzRnZB3u+/i4h6d+sbBNxdt/3rPSXKK9TL5XK9Xp3SUHqTe/jRjuubtdZySHbP6WBmI5yGqZRyu91SjDk4jZgICREJw+4XDKx3O/z3vx3QKT0GYICKIITarRFTiCTumNybmJOUGjECKBkAqocx4Z7mw8xKFFLMeZz2gYP7SDEbocPzZgZA7nZyZ0CxY7J2Z7WagDN5HBYxM5co+L71YW4ICQACZyLqYq21GHMOaW0dAGtTMKlViWTKAyCLKoKpmUhHUFNl0UgpTSdAbVu5Xm9SOlrUahg4BU9abqpUi6Zh99bgQIjgaJD7InvimqpGAxdL+Fdu26aqJFDrjp172er6rRDCsiyH4xBCKKX0WtwKYF1viPZuTeOLxO+w3zzd1UEgUFUDIQoERmjEhCGqgJuy+3KC+3wT9zTBfTXynUvzPxTuRohe4uDdxciXtK/njgbE4ARyMyEIznx5v5gPhwMRBQLYHWVMpAEg0v4EvG7wF+DrRu03bTQiAu7clb2ztb2gBwBEd3xFRDUjs27ejiGYCe1GpogIhORdn7kAGykNY+/dkLay9d4f50NMycxqrSoevb7XVb33GMcYgSgAk5lJ76WUbdv8nUVE1Xt8MvI4jq0KGu3cFQeypXG0lEO3Lrr2urbWOMDpOAYyTkpUQrCcMiJ7pIOIVHHXTFnKptqJYT6MZq4k3lVxBgooAGQgtbLbLTvnQu/nyfvl55MNl9kgYgjJqQiqkLNPcovXZKAWkOS+GHxrijQikK4hRb/+t21BszzEde1qHQS8Idyhh0CNKQY0g0A25tCnsK4FsHMw404oEVVEAJCDBrEQA6A2kVJaSCYd1rVNjy4yJvckEBE1yzkbqNneC+r7OWYWAsfg2XZ7dV7rxswh7PhC7z2ZqXXVQMHNvwncbp+Zmed5znksooC6LstW22AaeABA682Mx3Hc1uJyi9YacxSxPEUFeXt7iYmnaQRCQxDbO1K608f9F6WcBXaUKiQGc4qmIbCnhpsBMri5ChKM47guRVWHnFqr2kvvPaXBDEX0dHrsTUup5/PZzKbx0KWOw/EwP+Y0+7Xt9Xe4+00ZGTNj2Ft6I+y1OanGzYh2urkIEdXWele3RosxHg4HkcZUh5HTkDjC1pZtu9a6iG5TPJR1q2U1jenpKeesrVswI8cX2J+zAy5++rkBl1fYISenxTPczdlM1jWqqiHO89GgSbd1vbUmpbRxmFJK0o0oDHkKFD88nWLMYx5SGr77+MlAYkockBOv24Jqbk5RAQwMCVpvu1gwITGV1g3x9Hgopa3blYB+uS1g9N0P33U/Qrtu24YhpjyGFG/XWvra1QInIwyqah0R24U+PD2ohXV77b0jZUSc5lml+aYTBcJ0Wy6vL19zzstqX1+uhwPFwGrtsccQjqfTCUJc19s4yWHOzLiFoE0RWLWPYxIZXr59KaWkNNxut8+fP6eU5sPQZcw5Xq7whz98FyKu62pI27YRhXGY/I0+PRxPp9NyW6/X67quyEREyOQ1manEyJFxWVst15zj8eieg9agm3biZGZvb2+3dZnnOaQRFUJKoq33fr2eY2QyWEt/OD3tmKyqD1eJiDm21m631e4OtvejSX1nVdlROb+klq26wkWrGugwDDFmM3n58hpS9rSp281dCih/mFBGtF1hiAStWdk6At/KGRF3jEnRpANpYFqWxQfgKeROoqqRubQWmUXUsYyA9PWXn19eXkII0+hS5aiGeregBYAYcy1LazUFHHKe5jhoyMOgBRPTjz/8oSzrr1/O/+n//Z/mef7hj//w8vL27dsXVf27H39MGL78/OWvl1+sbr+cfzG9zvNca12X9vx0OB4/Xa9LCvPbywtTPxxzK6WWnlNCROKIyGJWWkXEPA6BsElfls0b4OPx6IezqgKgubr3HYP26vruqgJERMENatyQkO9u+m4Y6uYWIhJ2gSMyM97zSTEE3sfriF11h2w9tMzMDacR0WML6c77jIlzjoBaSlfoxIHYmMnjDBUUEdALWQoOTAIgAt9vd/BjrpSi1hGJkRyfMDO/4+/3GTHTvdnYFav3mmOvYj31ac98MbA7YP/eLphBQBIQBgxIIlK3crvdlm19N5Pppq01ZgZPoNRd1v3w8FC7btuWOPXeh2H6+PHjl29fv7y8fv/DcwhhD5lV6W7SFCPCTrj3W23Pa0cDIjAfFigSuEaOiO8GyeZPT0S6moohNzZCNCQh+K3UZo4pIVGotTbpv4Mwd72BV2DuNABAIg6jWgjohP+dS31/I/y7RERbd2hdVc18AGBmu5V1iCPY7qGZc56PT2OV21oSRlXd1k1EZLIhOXUvAGDvaloRVLoScwhDGI95OMewgHFveHlbhikzh4jKPCDwVirHEGMQbbSHGnZ/gA/HWYxfXi+t9HFkzy2a5/lyud1uN6Z4uVy2bfv4+ZNbFiLisizjOM7z/Pr6ysFSSq3X19fX0/EhBOp38xlEfNfyexfEzDkOvXeOdDzMMbg5fQjEaJ05wp7LsysZVJX5Dpn/Jue4i/aI9Hd09nsRv4sCVcEMzMRZ5jGYmSEo0q6nxiZmEuMorVpHRASTgJTyQAwiDcD7MXE2GhE5H+C9tGKOd3GPgUdIkvtt7O81IiIEAwOg3fqd3LMEd6k6kLfWAIrOb04R0RDJ7rb0qkrIzQ31vF0HymmYpsOQp+vtTBRixBQzIvi8jpnP5+s4jkDce+c7cbw17irDMMQYPZky5bGLGZBbHrCHkgaCPVBGFBCgc1CkDlQCx5xwzMmrFzMjAx9XS+tlW67NAWM7X26tl6228eE4DAOKhkjEUWWfBSIZMyvsgkIX67o/oINnzkMFgGVZzueziHmgo09d3sdfclfSA4AbvIYd3FI1DcwOcXlsqltjhRCI3E5ARDoiEu/J0CI1JlatgVOIStyPp6n1hchyjoi2LQuSBQQAQLN2W1RtGA4ZUxeupS+3locjUUDg3nvdqnSH84Oa8Z50Cw5beEWec8S7HVAIVCuYCSNH5tbxvuRktwpBCYRDTGbcegmETOh/7nq7FAB/Yl0lpJQiientcmHOp9MpxlhKu1xuRHQ6PjDzVlbvh9VdwpB6l96FMKCal6G6G934vbBfHDsMgaACrbXpMNet5px98Btyaq0aogfCTeMhIG0KDpE2kWkY/YAtRYiCSNu2LeVAMeVhGA9HVx7fbpfLcmmtPRyOPmwR2Imdt9stDhnNPJLCr3mPiksp7Tpf6dM0OUw+YASAGLohllK+vVwQmRHSOEUetmtd1puD62QgtYlIrdt0PLiOtvd+uVx8SjaOY4zx5eVFwTxAygsCZm5N1trKckPEh9NjjHErTvpaLBkRabdSWuDIMRv2AHQ8Pn7/fZd27k2W67WcBjvaMI29dyB+eHgYxrxti7a+bZs0WZYl5DBM4zAPXeS8Xb99+1bW+vh4SiEcjoMJXM5LXfuybMT6+PRARG/nb63Jw9MzgC7LwumECL12Je4q5/V2PZ9VlQ1fPnwYxwF5aGV5PV9P82Ga0rrK7bZM03Q8PKh1ouA33dPjJ4RYWq9NmFmN1kVeXy4F6DAlprSVNmR+fn4upZWltNa6lBCk9dWh7t7b3376lz/9+He//vyXlEJODHMwXQiy9m1pu9mdnwl+lb8nAPgUwhewXzS1NmLs1tU6kqSYOGjdLoiBEA+HcT4cau/n83Vd5TA93d7WGLkWQXRbhXWaDq+vr2XtgYdhmFyE407HMca3txdVdZGxTxFDoJSG1gqAijQih+c6MxNBSsmx4JRCzjnlyMy3WwkpTtMUYxSx0+nxdouX5WYvt0Ao0sV6TBxpvFzevn45Bx7yTI40E4N0aX0lzinEIQYmvm1rb4uZual/KeVt20pZ/UENw6DWr7fzNE3jEMdxDCFmVQ7JDGutRME0ILTAZZx4HDhFWbYWQvr1l1/mKR6PR5NlGhJZ+5f/488//OEf//CHH/7X//Sf3w75f/mf/+fH08Pj8ZRj+vr1BbdlGvPxcDDDcZwVMKTpw6cjml2vZ0CfCdDtttStzvPcVBgJVKRsKaUhj2ry9nJ+V2UwM3MgolKq/D746F4N7gvAvR/0Xe64Q7m+eICpXvrW6nHIOYyllOD0gxB2+wtRH4WgyG43AXviOqpqoKhB91ku/vZ5Imq9BMvMHCK7BD/8zqgRQJnJdhSJwaM9THHvAX4LBQTgEIIPUt/93d+PWtqhLVSldwr7b2DlPiwXJLj/5P3RvF+QcfdgNthT9PYblO8R9CnEcRxba0vZtnXT3dF227aNOcY0iMj1eu0KRCGlRMRdDRmuy+IDa1VNMczzsbZlW6uZieg4cGA3yGP0tuPubwkAyEDglfAdBCIP83MF5G47rKqqoibMhkTmf5S4Gw+FkBClNxHT3xXf+8wBKCCCKrQmqg3Mn/mO5prZrnt4x+ANEUFNe1fVbtDu0D4Dgrd67k8UmHPO3mAQUUpcNgFAEVCF3nVZVtAcAvhCFhEwRVAyVAMLmRDmw8PpARgG7dpK7yGQmfSeEqeUurlixugOLddt1d6GHDmkdW2Epgba/UxMGV1Y6X8L9q6g1qsgYgzSaq2lzNOUU6q1h7Br4FQ1x6zay1ZLKd7pmpl3Qe90F0RkDtM05BzfAWBDNlBQFBcvhqRgtbeB4nsD8D4Xuy9j+m3R3lfC+2d+sznac8/EQAAUSUlFRT0Io/f9OIiREdFAREUNzRTQ3nOFvR80AgwMAEYMiEaoCH4liDYzNQTcyeW+qUhEFNBUEJUokIERIBLv8y4wNAQjQwVAMgLcI23ebUkMO6lnsgqI1xbjOAceQhgM166bGQVAadJaM1P/pRRiCKn3borduoLFnGTbWhUVMMVhGA6HYwix7eFWTMieW24IgMzMriN8fDqlHFobY6DomZR6GMYs0lor0nuvrbWiWhnw9e2lrJfXl68pxSEAakcQRGYGpigovasfC2CAtLOPAIDoN2eqdx3FHX6upTTnRXjZ9L5yfD2biacVSvfCHdRcqyVm1k1Kgev12qWllObpqTfJMVTTXjsgq6pCY2bt96UDpTeRCMxIYCBVmxGbWu1rQcQYuLXW6lZqL5vMhw+t23V5q0U+fPxe1ZA5cNpwe28szUwVMfH7JF1UzcTMk7p7SgkxL8uVAIQ5pbBtK+dhv34Aeq8VwQKBADGIdAATaaU0PydX7cMwhEgBY+/9rb0xhN60tRWB5vmoelnX4kLMnPPlenYJih/vhHs4cUpD787DZET2fD3b1zcbOgsUiEi6tNZdbYsUOATYSSZGRMfjsWw3Jz0SYCCOMa6lxpiZIiI/PITDfFzWW2tlmoYQshO63MTWn5uDZPKe1RXDfkqY9db2mZKIGbpAZUSk3U2VmbF38JZ4HOeAWrW6q/qQx8fTg9hS1vNbeSulIOI0TVU6NhnHUTWUVsVUTA1hnCd3hFy29enhcRgG16r++u1rjPHTp0/71DTnUkqvLYQ0TbPzoMqmBjqOaTqkccZeuof1UAhB6enpw+Wt//zzz4hTyuMuzAUZw9i0dRUiElfD1M5gjAYqWys/f/m1A6Y0vLy9vr29ff7u+fnxaR7mxOlfzn8ppfz65afDMechGjRgEBPtzTBgzHUtL683RRjHkcIQYlfth/FwW1stOo4DYCXE8XCsraWUusjXl2+P8oAITPGHP/5pXdfjaZwO89vbBSnmNM/TqXZo3769vWza8zByTIoYzMx7ocS43K4GjQhOp1NK6ePT48+//OWf/+W/bWU1iJdrPRxmRGitHY9HhPj6+nq73aZx11m5APfLr1+naZrn+V1s6hBhjBEJAGiejjmGlEMgLlhiTKpgQDnncT6CpZ9//fL6cit1SykYNGLTbjkeDvPT7VoldKJwOj4wx/cCt/d6ejgQEcABANZ1FSnezU7TBACtNb3Piv1cymkEo3tA4c55NgUfEBFRrZ0pjPMBiHPOhKGLesTNfIhN5tZknk5rXXrvXapVRNNAFhlSosv19Xh8YLCq6kfKVsvl8vY+fb3dbhzwhx9+eHx8ZObleg0+nCUahhRjdmri2/nFoBKb9LV3lL6cX79dz7+i1Wl+yJl//LvHVh9Oj8cv316l6cfnD4+Pj8T6y9df0piOj8f/8OGfrpeblFVVcx5v61K7XK/Xb2+/Pj099W0BbClzzlE1xxhzGqdxrGq9CbEOcUhpUO1aDSGE4FcAE7GHIXgVIYaq5iDpe2VLRKjV4z78nwbkXAkjXmsDgNaEKCAHAOi6BSeTE+1GY6AixXrvRmyEZBAoJCcocercjXYI3IEBLz5677Lscm/mMI6sd/qNmcFO83KAwE9S3HG+32GQALRns94TYkX3WjBEfier2D3By+/Ie+Oi7x41e816P5fhzqT0k90ndve61n53o3RGTCGYmajebret1ffX5uX4smzel5tZHqbjdAwhmMH529fXt8uyXqfDfDgcVJoZ4+7gEVLMm3YRe2fbUyQyz45FJnTOEe1sd8M798DJpiFytkwkVruIoddkAKri3BaPyI5hyDnnNIjattV+j5itrQJA4OTB17VWH8jYPjhjB+p677Xuwx0zBJcwGJs2r0sMdu+zfZ0QpTgAkHQkhhS5N25drHbCwEht6wgUkBQQRHuvRAFQzQBNwYARAcEQ1QAph+l5OoZtqRQ0WE9MMYR1U9Ei2kIgIDMQxOBcPWldVachdzX3kyEcPD3bYYwxjVuqPlJ3gp8vFelGZNu2res6z+PlciulMXPO3ohyYqBE7/f6e8dIdx9PVQ1hp3bcR2BAGABV95aJkfef4I0x/A5lf1+9v1v5v5Xv71va0xtFxP1uWy9kigTMaOzf4seo6z0UgJFMqtwZdWBm7ry722ojEflQ532PsGsbQmADAQRTRcQ7nwq6iDRQMBVDZAzGzGS0R2YyIhOoL5KOZAx7bALeDZTAUFwiQ24SAIaU8zgMsyKtpZtSa+awOgB43pOZIETpSGhgQRXWUhBxGIYUhzuCKK11965ltxvdG1E1QyRKKTKzdaaBxnGcpomIYgy9thgIYIiJey1JK2hdt6uhpiEee9cbvF23Y7BpoMcxJq1UzeKjmSExEQfyaRUDgMo+cvSGJERqjdzCn+5c9mEY5nlG3PNWtm0pBYmo92maJmYUUe0CvFOeiNF5cGhaq7tnNGmVGFF31QExAhJUV18QEfReS5EQhtbEXdi9nRCRaZra1nqrCTnHVNeltYo51lLM9HQ8LksvpXSJIpqHKcYs3YhoGIYutZettp07XrbNLKeUCK30goj38GC6o8WB72CN75394HVIBU1Vat2aVp9Mes3tAl8ikla/XS9LrYfj8Xh8CJS3rfamyPm2rSMShaRtraUdYkaOOQ3rtiAGIlSBrr0URxOb3qVQzEwxMAKn2KrsM0VgQSAMrhW5XdeUUmvCbESw1eIVVZ5GZ5VE8ADLPB0OaZpa6TnnbeseN7uuq6rnGJYQgshwubyZ2cPDg1+U19s55wyg4ziY4e16DTm11gLR+XwGoJSSF83e5oHr2pF8Yu4w5LZtBMYpTvMDcTFlg9AbtUK1tda7c5R//fVnM3t+fu69T4fZ3Vpy3ityH9+nkG/rVq83gG1ZtsfHwQyRQquS0/j8lF5fX1++va1LIaJWTSy79nhdSwiBAjsyCMQxxNND+I//dPrDHz+OOSJaSNxNdwe5ZqWUbVsIMI0phxhLXNsq2kIIL19ff/367fP3P5DiMAwkPIaJMSDz588fS/lL77W2bRjj09NjV1w32bY+Hx85DK2Xry/nbdsOh9NpnlIcj4cZDVpo1+sVoM3TQ2CsS3t9e1mW8/F4fHg8hhSldRFpbVvX7XAcnp4+pHw4zI8U0vV6U+zzIbl0i8kIuJe+6OKTJR9iXm8XEfk3//hveukG7Ycfv//nf/7nx8dT77WUklI6nR6W26bSROo0TdM0+TkfQti29XK5OHH8eDy6cT4R+U0xP0wiItodBdfezSjlQzf45esvrp1IaahNXl/fLnxpdal1e3w8ffz0IQwjM8d0+Lu/O4Fp4DjPx3UtXSSl4enpIeecMr0PkB1x37atlPXD83dO4xTp79NCROylOnp1Pp+9LUwp+JTmdrttazXjmIfj8TiOYynFTCITcU5DSJnnKV0HEt1izPuVasCBcspEBtbHgYeRAOh8vhYHdgEP87yXJsxOETnMpxSHdV2Ryvl69ctsXRd35vnbT/+yLmWcKQS+La9MejzkZeVSyvPD8OHjlFNkfNxW5BDO1+Wf//X/+L9//3/6f/4//m//2//3/wNkQFZ7eTodgalf4+V6BQzHw+NStm3bWq+9t7fby/X8+kCncfw4jlmbEgVQmHJoIjElBuy9a+uqFijebpcmivcwdRFzNMevObvrT4jIDEQkBCAK7tPVuvZenThXRVXV2yRnVbltcXgvbffyA/b7GtEL+si882+Y3XJV34tCupPLmflwOMQYYkxMhGSGDhiLW7kj7n77TMELdK/aVT0Y1tzTRlUB+/sQQT3UBn/TmKrukLDtzgC7KTsAeGrK++iBiOR3slT7LeRlRzb9t+w/DYQAfZ7YWnOKpJvyAMC2bb23nHOMuYv5sh7nk0eliLhWg+Z5zsMAAMMw5BClbCEEMA/30d5KqX04dH9JDNxVABSZyUOrvAoQT7hC8CxJJAzEpMyCRL13g0GtMRtgMwMKDAZm5h7kachm6Dra0+mU87is1957DEYx9O5W/RQ4Ku6WFF5jtVbe2dgAZAp3usdvpiF4/wghIoUYMxGFMYs0RCFT076tN6QMCr0KkUlT7RIjMxICOC+bCQwgABuaqXUQJuBwTDPX8ppSa6YGQgZuuNHayilutRBRzlkNvL5xIZ9JG1J+GI63VZZbuV6v0zQ56JVjBKAY3yOu9tAAvxrXdc35NI0HD8ERabV2Hzh6xrKv83c9sd2F0X6jEzkHTLxOJQquCkXEXcThzGPcgwXwLqjYocGw+6D/HneHe/T3e1gw3Z2V1Z1W0AA4xhiYpVvvPbAikoiAc9hgF872Dqp7WgcRITECI5kivHcaRGSGvqfufyP6JMwM1BBAzEh2x1eDrhT27RYYk1KITETqlpFqQCYCnq8hIIiosJ8DKhAiAUDOOaUEQNL1cn779vLlcrkwIyHHFGJMQB2YukFr7tdOrfdWJcYIRjEHIIRSRXUrDaB5ChahkCtKPGEKGQC3KiSQ86AgIU0emhO4M7Mb+YREhINqjUMU6QBAvcQYPz1/2MoiIiEl4pF4wLtVPHMAIL2TuTt2IlRFr5I5hhCpC3i55k0+M/ua7L3nHHxW3ntzYMuXR20lJl8Mnpu7T9URMQT25HlnTQBAayWE5JgI3G1SzKyUYi2qqpExIxlo6zFxGsdbWz2TmRRRrW2FTU01EDDz4TDcbrauJQ/H1vXXX3/+8P0fEdicQIUMthNO3sf9Avq+O1TlrglpJn6o7vkbKSUG5LADeCJCJmq1FzFTAE0ppexSyKIK27YyMwGsy2KGgQcROM6nNJ7gPnd1ZVgp5XK5jDmqmEh3wwNPPkYgwfthvocP7FtM7DfajPWdVxlS7GqkBjtniQMnVRVTEB2GwerNQ7ecexpzphSdA1m2G1GYp8Pr24uqEtetbMt63rZtHOb3znxvTsyF/nuYg4gQwbZtiHw+n4lCznnbtt77tmy+uXz9mIJHT4QQjqfD9Xr9+vXVlIlIZX18Oh4eTs7TQ8TrckspXZdba+3h6ZGI3G1CRP7yl7/scogRr9fr6+vrMAzPz88fP350GVvv+w2bUlrX9XK53MOPYzoMacjS1lYr8x7EFoaxbu18W0zK8TQi8rdv3zjFEMhcKhAoDUNrpdYtxjE/HIJkuIKItLVevr798s8/cYn/y//1n54fPxynWUSWy6Koy3rDAANNTBGRUhwTpVq3t8vrl2+/nj4HMwshSS/ffv32+uvL6ThPPw4Pz6fW2rpu67KNeUCg19dv67qdL68GknIQETRw5vE0TV0rK6gQUGbK0hcKeHo8zLOM45ijE9JaTsGfRlMTEbWeUj7NhxLky9e/ctB/829/fH05f/78EZFTGhDxeBx/+umnccw+YfOkl3VdaysxxoeHyZ+zD2ecqy13/8fehCgOw1yrLrf1el22tl1uQGGO4/j67eu63XaHZOiX61k0PT0dgfh6XW7X5Xh8GIcR0esTnxZyztFJG0Co3QjgMB1F5Czn1tqyLMfjkZkj/ZbdkVJaZAf1trUSwzRNiOyjoWGYUkpG0Ze3QxW1FbfsNIHbdTWjYUi19hidmk45Uk4UAolWAuxaEFqISGxSm0IchiEPM9wVvdM0+ZjCG5thmDxNJecYIoLWuq1lvSg0UAbL0iszffr8xEFbL88Pz49PuUv95adf1QYkfv5w+uXXn/7Lf41/93c/fHh6RJLb9fX1RRiJKHSRcRyBgwp4x7Us1/kwjcPwM3BvtTXJOYsVEWWKABCZ0WBZFi8wGYPIfiD78RhCulx2iTZhIqIQdu0TIRuYmnqFuQNeYgBwOp1E7O1683oAicFADWOIABRcYkh3nvq7m8R7JfFe4DJjjFF6BzN019J7TYN3kuUd8TIf1iMEQPGLTX9TZKKqOdn9/Tx9/2/Ed/TxN1K4X2D3NhF/X7i/v87/vw/83Rji/fhzRFnvIc8+Ukba049A70pBhRijImzb5tW/wx4+lymlnE6nsqxmNgz/P7L+rEmOK0kTRHU5my2+RAAEmZmszOqevjPzOC/z/3/GFbn9MF1VnZkkAUSEL2Z2VtX7cMydrB4IJQVEBoIeZmdR/fRbQg8uds54CL1vfjkfoUlaKjMjWEQchuF6udfaevnLzAyozJ1M9of6mECh2/VQN7OXh9aWMQxO1RZprSBg7oU0kVEmRJama0xNoU9jW2txy7kKEcUYc6puGI0x1pouM2VrelCtglYppdUqvQUH2FlWez1qjFNtTcAY4zsjx3mF7vNtLbvusgqoWsu93EWj4bDc1n5VMNI0TWwgpnspejQDIDIQgjJQ1dqqKAOR88OcfELLrea0bT2Yc3bkvG2q379/N8Z8+vQJje2ePz0chABeXk/OHS+3X1NKuUmtdRim7sLeVSZ9VF338ELJufaRTikl+CMzI+mytlrEux650shSHz3vcO4Dvet1v0JDwh5I8celKI+3oo/QEKnlwYF+5mvuDcCz733W9PDgJAA0RDbGqJaOrD/IAFWBrSEfRjGQc60t9lVXayZy+PCNUaTWhHaPIO6+TarYaXSACIRArACi2Hbz371/RtgNv1S11lpqK6WV1vNnuBPYhuCq5aCWSUBFRXqUr0HT/Y6q1l64dxvE4GdpbYtpGHxrrZZUMvzzn79+XC8pbdM89MrJAGH3LC8ZFK1xzFybMJt957bWKWWtqlJDZIBGRMD9hMF+AJFCyulyXyDDy8uLkkL38gRkJEXWtjDzY/gHxnrrXSmF3DD4g5vSoSe1OdMABYFbJQRmttZLg670QMQu5OqAcmuNrQkh9BCrx5VcOiu9T8NLTcYYYymlsm73Zb0horX25XwGADadsKeonUxRSHf/q23bco7WWht8SmmaDs9eOpeEiEyGmZf7agyrxnEMABpjtPYgDcZxPuCU87rF6zTMKs0YM/qw5vrr17fT6cfWWq3t9XD4uO53TG8wusLbWkuEMZaOg6SUOi2waos5gUjrHkeybwHTFQjOpTVb56Zp8t6tMcYY1Sha14l/teaYVrwjEYGSMcYS+mFoKlvKGMA7t6352Wwz229f30ppwzB8fFzv9/vr+ZjSdrm8E1HHL33Xb9VN216j88NRoA9I++VARF0kBoTGGOvG7tPaG93j8XhfdpGxcy6me2eu5Zz1fh9UQU3PEWPrWmuK8MOXL8QgbSulbFuapmme5+dE7nQ6vL19QC/7BHox1xdPb+q2bQsh9mmhtfaar+tWeqszz3NPNX55eem0fkBUbfd+qWsRLafTYR8JYhOEMI3Py7GX4D3tpa/Yt7e3n34Knz59yjm7Ifz000+7lAvgOdnudP/vv32N8U5Eovz+dmtS5zkMlns71CnOojgMwz///kseBsvBe0+GAdQYk2qRrMfTHIYf1tsVRD/WawhhPp9aKS1/zHb4YX558fPPP/7leDxf3q8A9HJ6jS0VSYKzQYfIJSsTpJy/fbu+fVuIw6ZfnXM5VVWsRfIWyxYHE8ji+/u7KlhjRNSSZWbG3Sfgt99+e3l5eQZX//rr13F2x4Mn9AguJ122yKYZQwba5f03ETgdzkSUpEhtjODCdDx5gZP3flmWGOv5fL7evsaY58NojGNy3g3MvCw3Z73uKYeyres0TYfDoVTfkYVeluScPz4+VHVfLUWMdYgtpoq1gbqqmmrJVV0wQ7CH2a3bdT6e/9v/9jeR9nH5Nv1qWtMwWOu9Mcaa0NO15vnYLZtLlT5eZuYUGxG3iqUI93reTdNoSst953bDkz6R7pSKLowGkA4I9nGi98MwDAiIBN4PO/FPAVFz7hWqTaUaNmMYmOu6FWvZID2qO9EmSqCQS0FrpmHwKmVLudaaizkcjyLy8fFxu9267ZKIHA6Hr1+/I2rw1nuPJLf7R0rxcJhv2zdRUTDd1ZeZfWAPAcSmKApwOB21BTcEBTDOx7zFvP38Lz/98o+/15SC9QFZBd63e8l1no/SYFmWv/3tb18+fb7fr1L586e/3C7faoMBGZFExDreNX/Yb2eQqhVbq3vhzszPBBVr7eFwaHWH0v6XGqCbhZRSSqvdH8Fab4yG2vqdviwLAIzzNI5jAzXYRaJIxKwACGCMyTmrVIOm204QoQgQqwGqTVzoOn3d56fOENEf7OwIUUgEQRUVjemSF2OMNGUCkYqgHfoFwA7mPdJbVGtFVEPYkFKL/QdWbSUnRCRCkVpKp1iZLnh6TMmdSNuNcUABFTtbQHcDNcvUoJMKZO9sAFQqI6MKaBGNTaLxCFVyKiXvE15mttaI7C79HYFAiwSMBgVhXRYRkVrYhzA4ROVA6T0eD2Ncs2jLOaMgwMoGAScFqloQWUoVESCCHviqpUrd72NhYCJCw6ZC7bORWqvzrIG3jQQdMxMZw5bZLluqrRlFMu5weundCBG2xgLUpPmnCSYjEbEF1dr9Q3qu5zRNzoZdFwn0oDq0PkomRmvt4IOqkoh1trWqqN3uU2rDKkab1sTIUq8hOOfAWrtt0ZBFQpXUWkN1hCyiAgpEaBhrq1XEZ89mPpxlu0HYPm7vsS2VpdbKDqVlhbhepW7Jj0NsuYLO00ws63oPg7a6fHl9+fi2VEFnD+uSam3GTsbS9Xp9fT3f750olqy1KtDr+HWNwzh763o2U4fhrbXGu9Z2H5VSmu68tF3/x8wlN9Dd8XPv9R494V5fKkhryNCTxZjtHwjuCACoGtfNWmtCkId47oF5gzHGINVa2To1mlIShe4ASIjFNNXNOQdYrbUxRkRky01FUZBJmsRcWlVjjCfWpkLNIgEqirXWltxaRcPYWqtSkDuThlvVp3wVAWutMdVePWy5AHKuooyKVIG8aK7ZcXMWRJKzXEoziNp0S1lVc22K7L2f5jOCEWnbdutcrFIKqGmicStEJvj58nE7n88I2hoEPxAMaYsXaMNgEAKgrFsmAm8DGZLWpSD4mDbqtqzGsO1+z01FGrFfl6K1kbkay7XmuBofbGv1CUOEEIhMbsLMrTREL00sefIWVC0BAYrW1pqQRwA2BtA0LVUaIhKic2Hbtiqd3oO1Yj+uDZlS4v12//r1MoTzp9cfGNWYUurKJNZo8OHXX79ua2pSSEXL+r//7//nPB4+3r5f811g+/btN2Z25iVkBwAhuL5P+6Az59iRmGEYOnu1SS51LXlKsU6zzTkbV5xhpMEYn0tTUBv897dI2IZhuN0uKS3OHsjgP779x/H4Q7re//HPf3PhRIjA0IqCEpK1A8d1/fi4MONgTRMx3rWc+odhJBucPtRsqi0E15vkGKPHqUJqSCDEmJvEdW3BREGMKRljVCCm1E2Lj8ejCZYMztOhtAtCu1y/WjOVWlmkVgFV50JKt4+Pjy56SaWUpltqw+DIhC0ndhYABEvM2wmO2PtrJWJL7BQaKCGAIBGaWpsCGXZS1bJrpaqxAg0UmogoFFGtWqtYhlQ2a1EVUoJ5st1i63q9Bj+O49zBpvuy1SqfPn3ZZQ+GtUmV4od5PsLtdou1TWFoUrSxM9QqdGfAtG7/XP5jGKY+vI3rzfggTWvR798+rLXOmSr1cDgTmw4e5Zy7QZYCX+9Lp/KnqN5Ng53W9V5KESBgGuaJVGqtX778tN6XVvVy25j557/+q3Mu5a2JtJyNMdrKx3pzzs2Hgx/px5/Pv/32i7bszIc1U8lb3CaywGxLEQEHZAAgDPPx/JNzDpoQkFZug+TWYsohhFy11QKWY1w9Wiw6jnOh5H70/9f/Df/xb//+85//Mh5fssCmQETTML3Y2RnUXIVKq7ESrZve7/Xv//5r1frzz2Okti0fwUzT6dNiluKWXJY1vd2ux9fTi/N8v68ppW3bAOjHP/35/PrSPZHu9/s0viDx9XapTW9LVlzmyfzy6398On+Cmr59+6baVGqPMWajv/76j2maxnF0YbDGidLpeAKs//znP1X4/PqvAAeVe6nJGmOtLXm7pxRCeDmdBRTBSMvP4bYK8CNRWx9EgA7Gi8j3+835ME+vxuC3t1uM6zy9MKrFVCWDmJrNefqTc+Ts5xTXYOGH1xEAQALr6DhLE2MJkQGo1lRba01eX19TLd8/Li23w/kkbEptW5G6JlXl1rzlPftSeMfa16iKOddpmqqCKhofusdcU2by21qYxTmsEEtU7wdQfTD3iFixtN++/lKLTNOBQBhDSglAED0AVFlrTtYY5FRrC15qqa1BabSugHQPgzudDz7Y68fter2C0u1ylVp8sKqt1qLQENgY630o+W6tncYDoOszbQaepmOR9nGNtbZxOHY3vBDCEOy23T7e3r/8+DmMh0JpGg9CCEDBTAZyidu2barYMrj5VavN8X84NufzK4qW0pAtojTF0pK1dl3XlBJzL4yRDVoaBHe9PgAcDgdErrUZ61WRjGUy8/HU0+Xu96uxwxazdbTl9Hb5mKbjbV2m6RCGoZTivO9ATnBeans9nMxzAcEjsnEfR+rD1+0//+q2o0/Qmh7EX3zEpnYAER82L7i3FF0x1UfAnQ/AD1y8g1UdB0SQuhPeoXNpFVrtZjC99OmMq873J/odtu+epqq/68P6r2fx/eAkPIW9DXcLYSailLeulOrQZ4fpieAh3jU7Dm5Mj2FqQGYPYW7W2lLjtm0CPfycai19ImGMaa122KYV8yD8CAL2eLvnSEFERLRVra2oKpAxagCIWZkZEJDJkG1S+0RVVbuE1BiHiNN06K1w77UAoD8ia3zHjXob2tswANTuuQkVgCzvag+VKgLSun+qIik95ZhkeqR5/8q9AEU0huqDFUc0jEStaapl4IF2Jre0lqABKRjLO0eLCESJQJUUWLWVUiyTs4aaM9laEzyVCuisEoj3YRrG9+V9Wa/DPAI+iExKRI7ICWJrzRCSD8uy3G437/3xfBatANBTdR6ffA/c7QflMAyHwwEenhh98ZSYjA/d0f9+v/dw3G7h3JdTBxj0D9SXXpp3IOe5a548rudfpN+Zae25Vp9DJxHZN5+qgnargdaac65VeDoF9SnbE6E3xjSRrnygPdfads7bE3VTfVry75Q7VUgpIwIglFK8c8/P8vCjlM7SaVJTyikXNq62imrYYhPZYilGMhRLzbAaCr3Nbz3ZTjHXEkvdogEU5rFbkm1bbG0DNYYhhHmaorXsvY9xvd1u4zi3KuuyHQ4vQPjt2zdVdcF2Q3oXAmLzbJitCJRSmqpzTECxqpUu88Ln0IMZS2kxxoHCYzwoOx0FWEVKaYhSa1XmzvwkQul5fSCIyAj76YQdHov9DfbFM89zSfl52jzHJh1Qep4Pl8slbvlwHNj4MDvDQFxzTt7bnPP7t+thHBTq5fJuCH1w97dvMV2JtbbszC4Zn6bpdDr1pZti1J2vaJ7rTaR24mynrMxqT96BQq3q2DLS/X61hk6n09ff/jGO4dP5pduMTKO7r7dff/03UP/y8qkbwNVau/kpEaWc+u74+Pgo3v7000+GcS25b4QhDClFUAkhtFZK2vrJ473fto1UnJEnzaaU0lLNksHyOI7MfLlcemwfcI7l+un052EcW4VYsnO2qXaSCdB2vd6sGUSA2TCbGKP3/jQfc87rba053y7viErQxnEspTw34x/nWn/QSj1uCsQuwq61Asgwja1VROp5RtZRqbXvuJzz/Xp9/elntr5vqVrrut5VdZw+eW9LKZcr3u/3EMYhTLnEj4+IqD1Fyzn3+vqaUkrr1iHwnHNp+OXLly2nJW7DMKBhBdhy6svVe3+7vYUQmPeb5bfffnl9fe3g0fl8PhwOKUUAqCUhckqbc+6vf/1XABkPYz+4Ylqv14/DOHV7yu9ft+PxTArL9VLzyo6XZUmpEBrnwuidI3e5XNb1Pk3jNPu//OlHRJCWpBEbb63d8qaKxE4aNkkhhPW+xJRrE++sG9y2bddvd60NUHLO/aprrYrgYE0I4XJbUkre2unw8n/8n8fj8SiIuZV+oBVpRtk4P8/HMJswDnGTZRXvh+P5RaQezi+myhROteD1YzGG/uUv/1W1lBrncXTOTFMwxlzer7WCc7bLA+73u/cegXrOCSgzOSC9fNyCP5Tcvr59dZaPx/l2u8AjhaMvmD50EpH79dYktbp5b8dhBjCqyGxT0XGY2aBIBcJaa7c38NY9OeV9RtFXHT30Ud0UoV9PvZZ4zIc7V0uQ2ul0uN2FqyI0Y2kaj6XGZbkx0eFwmOe537/PNV9KSTGmWPosyBhjjBMkkXtu9fv379Z5Ng6RfLColHOuNaW0GGNG7gSVuUeGd/rZswp6qtIpUOd6xRihZCID3C2Y116hxdj6X48x5lydD11cx4w1F2lNoSHR7fYutU7jIYzHIbAxvGW8XtbLpaQUQMl7/8MPYRiG5b4ty/KXv/xFYWdf15bmIazrmvJ2OByMMfN0dM6VUvEZdw2dXB4AwBg3DIN3gckcj2NH/72xFXO33HEuhIE/PrZtW5C0NfzHP/+fy+W9FnABrWUjBrDDvlVVAPZ8396J1VrXNXdR06O0+53aLSoKUBW8d9uWAHKYxsG7bVtsGOKyWmtbK876cZz6yKuf9v15juOYc4kxDcPQmpjnKfasHuAhpHtO8FUVYK85HuXFfurh7xEt8qgPgOj3kppIAbo1R69UdiP+fhv1n032G5c6jbWLR5kZUVvbqUF7+bjX0FofVqOPyax5Vl29PGq/Exh2OPPRhzwKox3mBASQVmuLolmhNsEHKxIAYBzHR/YQWuu9c51EjtYZ4mEYXl/Dum7f397XNQ7T3D/e7XZrra3r2koBrYxkGFm488hFuqcKIfIjbro/w9Zaq0VqrbBPI9UY411QBKlKRKCoe0pOt4EnIpIGbK0xvbHZvca7b7RqN95B+2BMqmopkViCH+HBAnq+u64PBlVAACBA7fZBUrL0l6GQUrKmGGcNB9Ga0hbTRgo9trZIZmbmBirSCmEjbIjoxuC9V2pEqEoADbuBPBE2JgABVQNiQTrdTMCkltNd6slx8NYaI5fLr6fPZ2s9Da078NgG1ozaBCCGwd2zXK8fAOS9D8414NPpvG1r35nDMPS9lFJizkTUuX3WmHVd+9G5T7fZPO1X//Pz2UUOz961F+7Pu78fbc8a+o91+R/Ld314RD675WeB3U8cwN2Cup/psfVB/+7B/FygzMzGqGqpqbWGSF2LguwfXivUtLsJlV5OMVl2IKIxRgA1zgIIIXY3ZICufsG+Mtf1XquklKQKImqtSTJlQkcgbTK2m+fUIqhCgGupwzBobfdtrdKV3LBtCxuNMYrAusb7LRJaawZjfAjBOVNL6wIDAFjXddu2EEYRva9Lq+qSM50G3aI4i0DA1BRK61dgUwVB0xDBOMVGzKyUc7FM7F3OsWa0oycEVMC9ZkPtCltmqc1QZ/xrrVVEH8oaIN5FA4AgorU2REHEWkRESm5r3PpbeNamiIrIIrW1VnK11jsTRHRdMpKez3MqK3IcJ3+GwzzP5/Nxuy/btuSyIYFzVOomWl5fX3PO3ozm4UHUL+Z+iF/XRVURKz1MRXtTJwE0VgUAVMMeQVrJzRYCNMzr7RYGN00H1MJsj8czAFAG1e3j/bfXlx9fX0P5ugJka+3uLg9grTVEPth1vTObfmjsP3XruVq15M7E2InmiNj1atuS+3C1b4Fhmm/xPecMiofDRCQ5rzFvbPA4Hs8vY987PapGVZAZwava6+12uVysjUM4MLM1vuTGZJ0dtjW33VKznF8ORJDzGmPsQ/YQRsMOu+kQ0cMhql80KIrd4HIfXoN677etLssyjuMwDCmvrbXDNGmqKfG6rn8OAdmty80554MdhlBrvt0uqpNzLgzTssa45VZ3HuYweCLqxAPvffdyiTGuq8S0jvO5A+cA0CXUfS3F5Z663NnQMPh5nkMIxplti9+/f++DvsPh0MdH0zQ5+/r3v//90+cfvPfEBggIzJpyytvb29u///v/eD2dD4fD6XSy1t7v10+ffKs5pmzFbsv9/e0K6g7z0bwcXbCWEEBFs1RsYKQ2NgooSHWLWyyZzeDcVBSlxre3BcEM47E1zbV9/PqNGJpSKYVRUrrltBljgvMhjMgmlRpzbg1yScuygWgUM8+mNtlSJqLTy5mskbwN0xxGs23bb98+tqiGDi8vn+bTPAw+vV1EIXiTArcGzFgrgfLtdrP2CAAqdRh8CKMzZC1/3D6u17sAIHAYj94PpTERF1l++edv9/v9eDgTg2p15Gaa25ZCCMFZRPyv//q3ztGVSjAYJCNSU0rzfPRuVGFQUDQAZrnfS93GaTCOS80sVLZ9ByFiSqlvqM5m1kdmhe6cCiYia7iJqjQkDMGpZpWCxMNoWhEF9N4cJr+srbbMZKqQc04Rcm29FQx+JCJEvt9XtqavnNYaNBmcF6lbzEZRhKSpIIIIgml1S7mUUtCwKk4TW+tbBTB7fdi3GD6IZ72a2lNNFPtww1rrvNlRUWRrrfcelJjtME5dQ5iztKpshLgqtLgu27aVks8AipZNCEDZ6/ePtG1JBI7zwXvfiWfbNl8+bkQUBlNKaqUJMSIOYVJP9/s9xtipPp24UkpzYWAWQmuMcy54F/ptXmuNaT1Os/d22yimddu2z5+/KBTnoXXpF6PCWhqycWycYQDDHXduUkWkye726Lztjf0eu9FKz4NrD/PsplJLRUQCCw5jjLXKPOfjcSYy1noIu4Xglosx7ng4G+OYTJ+or+vqfTDGiWjcainNFGndAEhUa3e8J8qthkcMOzzwdZH2ROWfQCM+1G8PF/Be38gTl2XqpY/mHAGoUyR7qYPdZ7qJ1KbQlLgHRnaAslNpezwhA0PPVLTEBlUBaWctIzwj4lSk9GnI3hR2dPPBd9/BMGgIpsPp2s0vRaA10fwIR+zBN7R3h3tEqOac1zWK9ltZHHLl2onIrd17V9pKZaRSSonJW8OgSFxqIaLOxO2RhIi1+9URaVMQ0CbSs1QFqf/TSqs1qiqTadLLPkJEstR79C59w27coaop7T8fNETuuHJ/1M9zAaBbOuR1jQTVnpmZtTZoFcGCCgBUUWbmncrcexthZqOmNOlE2CJNvVrvjDHOmVJMZ+3XWvtCBaJaIwDkkhQUyTKgIUWtbB7N2h8TfwDSUqqpMDjnyI7ObkSwSn6v5WAYQZQVh8C3+7fr9UuYvxRQVOxGXSpWNbfWjCGPNoQQYy6lEFFJpZTybMMQsdbWu+Te5l0ul2EYhmFotbY9W1f7Bf8shvDx5/gwhHnCq/3B/r8r+yeIAvs8aufKd0scgO453jfOH0FxENnjMAnp2TP0o5/24J79hdZaY4yAOE1TCIF57OP9Ig1aY91nUwIIPRfnEQzUJdm15m3bWqt+CNayt4H49169CwBijCLVWrZ2LKXFLa3bEnMFgKVu1jKeD8EgCZC05Z6tYUvIjMYbW5kFh2kUkfv1XWFzLozjXIuut7zeN2lxHOcwkrP27e17jDE4b9mAirR6vX5U0W6XtMQYIHjvpFFulWoh2atYESl9ojUcwBIglyYIwIyqzVq2wX9cYsobG3XOIgnshPQKAGI1hNBTeAFIRKWBNEHS7ta636fYFbqtK3Nqrb0KjDHWIl15qTs2vKlY8raq5iTOudYU1NXati0ZQ5eP7XAw6xpLjSGEeQ7TNOVpvt7eu9qbmb0fnKdpmscBQYaumKwtS9vHaM5aUkCk1iqoGbx3zhCDiMAX+vj4cM4No2ltFalseVvfB++9sd/X9XJ9/+vPPzdJ2goqNMnB86fPR9EUvGXMxqp10L3J9gXfoJRSWyGibpPSUUZCLE2ainMeoXtiSvcx7GtPVa21iKmbuwLi4XBYL0vJKwHlXOd5/PLTj+t6v1zfVSUE3wNiwLBzrpQcrGUalqWUtA3eWeMt8e26Jiqttiz5A689/BWw3Zf74RiGccw5AUCMMaUyjvSUlwAAAhsDwAz6u6GZMWaL2VjbBJZlIQI/Dg20417rx8faCpZYc6m1pnUTEmaOMaqiseS8UZGcsw/28+cfT6fXWmvOiZGId38nYO3Ns3NuHMcYo6qGafz8+Uv/eNM09RFHp6Qj4jAM3ntm3tbYVXr9ukopnc9nImqtdvFo7bYDAt+/fz+fX1OuguK8vSyrITkcDl3z+pAL+23bfvvtF9V2Hg6HeXCGpcAWhchZ63PaiEiwiVQAX1IGgHVbich6U1oj9ilLFQFwbjxWzQgulVhRj6c5w7dSkiGt0pok1ZZzU5XBh9ba+8fHx+Xmw6DE0qBWYeDD+QUEYlxiSoh4uVzwdGTyWSsip9pKqdJ4y4nIBT967yR/xBhfP7387V/+XEtHtNs8n1XVOkMsRNBDjeOyhuFwPB6ZLTNLg1JEpajQfYmproi8bul8BtVWagrBWUeXGN8/3gD15eVFtIk2Z51oOx8PzPh+vby/X60djoehVVJRY5wA5ia3Zd3VPsZ479cl4R7owU+svd8IvbJi5m4l1DcLEQFKFzd6i61xk6gKTGgHdt4Ha6yjoEZ1577uEGHbY6QNu/P5FZSbKDNb48ZxlC7PeFyEy33b4lV1L8F//OFLLoWQuxNXKWVdIwI9P3O/bkTEGFNKU1Vm6OSQB+8Bn0SGfnVaszt2HGZjrReFnnFRcmqSVLU1rbU655lNv0ONsarCRPM8itqUkiELQNu2ebXTNIXg8jCUmtZ1LXHbIwiJjscD8wC/u9ZiP6j7nKM1rVKNCYScUtotWY01NF4ul3keAeh//s//WYv88o9/Hs7heDr4YLZt6dc0YiPMhjwxIKKollJaK9BEEESoE0zYkLHMpttDWe+9aIOigIpMsI9zKTi3C6UkXS4XRC2llJpLTN7bMM1rirXVzuk3jH1mpTufOaZYapVhGMwfcfRlWfp4rtbayHZHwm7e2XsUABDZce69bv5DTdxf3gOA3GF72IHw/XWWgo+wOgJAVVCoTbowgo2hVnoBCqJVtD6YLfB0jHl+5x2zfLCxHxCmdpflXvfDTmqHh2t6zx9qhiw8AlMNkpCKNMC9JyHiB2OhqlK3gM25UOd2EA/DIEDee1K4fVyu1+uzjfPeX69brdUyVWkqDUS7OSA9ghiUBET6HP5/GXcgkTKAYj9kVaBiy7VY6/uzVcKOChvjmEkFm6qIdBXBY7G2Z8n43G9737KPSmqDUqQIgpCQNWzsU4GOiEjdqb2b4iigEDAiSultc+3f0CAAaq1VmipCFW25rjE1VSkLEZWSrbXEYfADEYMismJHdFuPj9pVuapUcq1OrCd2bJySS25YUSfU1mrWVh3h9+X29v7tRAOpWutAjTFAe4ksxDr76Xa7KZKzoRvjHMbDut7xYYRfSvMee9vTH9GyLKfT6XA4dD+1PtWpewjRno7RYQZ9aJ3hD5rU33vCB08duiGuSH/y9FB+/3FHPIePj/Pu90SG/rc6QtMPTVUN3j47imdtXWtVgG7DZ60lMmDFChljpBGRqdKof07dD9cmxTAj9gLR19ozpOyzzQCAh8UkIKJ1PPhgrd+2bVluNWcQqSK3j3WeRmdJHXuDrCK1emed53Vdi7R5ngEAmZZlud/vbKVjP+poW0uKBUCto5zvzICoITjnjHVILJfr99JyD0kJIYBSw9YnziC/s0Lbw+FkXVeOdRwGg1RLFG+HwTPzNA0I4DaTUso5sQGoLFKJSBv0NNvgB0YqtTMs9w6HeH+hqghADVREWns4irbfmU69y7XWEIFIrSWrVGZQLSKEyN23tq+0TlLy3gU/b/Gj5OVwYGPc+fzqvVehFCuxPR1fRDOhQ2YlkPJgZDXY+RU5n19PCFw60dgZY0yTQgRE+peff1yW5X77MBZSXLZl/fTpR6mNDR+Px69vXy+36zwNTH65XxEaWj5MR2stobeOxwDGW+dczvWP0dxd3Llsa+8uYtxAWxcggcJj8mlzXPtIal3XGKO3obOw+mZxYfz06dPmDTtfawV08zQx2y0X47wATyEAsQrlVonIWLut6ePjWkoZx9kab43XmYjMtm3fvn0rOY6jP5+m42kirsfjARG/f0+dqdh37nNndZ06QE+bhe7shMhEO9PAWltas8yoervdjsejM2yMQanjMNTsLZvv379n4S9fvuTcU2/rMEyKEtMKNzmcfzycjtv9drvdDFFP6QrOhtH36qffAt0fsDMeW2shhF6ROxeIqLv+O+Lesd/l3qQi4vdvbx1+Y+Zt21TFGDMMw/V67d7zx9OJjfn27Vuq6fXzp5SSTG7PZM3phy+fcyo7BJiLDXaeZ8MzzXwAAQAASURBVGOsSPTen0+HaToSaSCL1BqI84ZBmzbLprVaWmYAFwbFaWvAZp7Gl1LKONP1EitwEyE+ff7heFuvo5cYr+v9Lca23D5ow5fTmRnn43RblwaSY2oChuyS4i9ff/nh/GMII8C11GScZWNyKtb6FNPkZ3llAN/EfrwvtdYQjj9++fLx8R6cDcFBgJwaOz8Oc3Am5XtOqw8soq1EwCZSUyr3+zWEcZ6OtZbekv3669f3j1+MMZ8+v3hvl3XLeR3DwRg+TuNyvfz6j7+jtHme+2lmCe/36+vr68vxlNZtW+Ny34gsoekRYH2o0gUwBmDbtofHwMOr4HEX6x/SJI0xj5FRr4mZHLUtN8neEQKRNTHGYJ11jCiiTaQigbEMahCR2RKpYddxoY5PHQ4HEblcP0rN0zTUmpfl9nG79gXY2Yb3+3253VHl09kbY9jscE8pBYFCCB3rIWTV0uGnXl30MHJrdzetzj7KOSMBkzXGiECMEcmytTlnUSDAaRxwCrnEWpNCs9bWgoPtiXJEaIGsIW8NlkZI2uvwfgPGuCKiQgMAb9hNUy6p1jJNEwAY4z59+qFzbrvAxrDtBhXBj9uWRKRJLaUgISEZq1poXe8huGHw5+NpXSMAoJJjh9Z564yh1rQHsdeCPee015ME0j8caM+Mt+MYmDHGyMyPfFNorSCSsayq0uBxTVP/glLKtm2tNdHWQI13PYUGgGLMPoyl1Sdfq5RSq+RUme0wDAaB+rHbWb/93SByl5mr6o7bPTo2/t1kQ4h6IaL6SPx51IW/WweCSOugdSuIKKXHHkFDYKAe1gUggE0BAZvCHg4vUlXbs9o0xv6xWnqiyLfbDRERh0eztQP2zy97fLf9T/bSVhsqMCoRGKaq0tlA2AM6EEChtVJrIXKttdvtdrvdX14+jdPUO07vAiKu69rlQYwmbxFfsUOVx+PRW1PSuq2pG212n+xOcQNAaQJVSQUNM9uHJ6aqqjF7CxQ1NmhVGlRArKqaYtlq7qtEARRItLckuzV9/0d2N07NJZdScy0C2h3jAYEtDVNotTs/9Hl3Q9Q/cDyQCFTBWhbQ1lQf/jwA0Fpa1zWW3LPT+oyslA4hYK2SSi2loDakKlJYtUkCE6QWVcCGnZXBhlBIAIxxIAgeWquMrIKKjkPwx8Buau6gqgQteCYdDuHIAq2m1sh6bLUqVIVSayw11ppzWpj5yThvVe/LPee85e0ZU9evzw6/tVaX+5ZTHYe5lKK7WyI53hdPbQ0BHFtSaTk9z198RFS0h01172Of5Xt3jvPeP1Px4DEzfZ7R/wuWDwClpNZ6OCzV2vnT3SwPnoANP/yRpmkCxN97A1BGJiQFJcckTB37J9v3hSKQdH6OdjhERBTVWmuM7d9k37agxrAxbKs11CW56Cx7y2nZYsxu8o6p5pjUILhA2NmEteYYMzJbO9datYG34Xx8SbkwqpTMbOfREYy1VufA+QMASLWtNUMyePPjD+e3b/+0BgCxVW2ljPMsQqK1QQUk6plibc/kRARmut9urWaDUHIs3rQ2AYNzxgB2OYSq4J65Rojog+8bWUQUSZrUWrtQXFWJdpfDpqqyaxhUIJfU79qca601hMCWmTudCUSqtFJryQWZLLNdcyVi51zhpjr8+utXFVxMO7AZh1NtuVV01tzvdwDIKTqz+GBUwRhHaFKsSMJI3ttSmpD06dA0zGx2Q89nc9gEVDUVbLUSDkx5W29S+XA4kHS6jY6H458Gn7bVWA+i43RIcUWDsm6g1tnJsA9ByftnOxpjFN3vj57EDADELNiJdLAtW855HvYa9Lmke3sfgjufRxFRhJQKaB7nA6F+XO6qKo1AjYJzdlLBr79dysn8+Kc/q1CqO9Gr1kREh8Phxx//pEK//vr1+9uHtXYI0zQNuSx//eGHMHwaJxfjtm73bunQm4fn5cVseggSIimhVpHW8NGNA6Ebwn1byXprjKqkFEuryIQIxrt2X4zfe+z1vqRG23wKgyOibVtEqvcDMyNwLcqTFaRlWSxzGJw2iaKdOQAApTQAsN611kqrUvU51O34OgAMw5CnaU1RpMYYU4q//fbbNM69LlTt6hd9gjLTNL29f0NmY8z19tFak1rX+xK37X5H7+1f/vKX+/XSWwJv3el0epd3ZsvktPPoWl4/fvmPf/yP4/H4r//6r2Rdz9a+3G/BGWYc57nWAoZjoftWAU/D9FphEMQizY1zmM26rqmCc+bHHz87l0paLmFa7qM0qnlFZhHZbus0TWx9zuXj47qu62k+zcNYSmqtzYdxHD+fDgfDXJW+v38HUT+40Y82TNvW3uR9Wy43BzlWy2itHcMAhDlfU9pS2uZhHCa6Xi7DGIwxCmIdbvF2nF8YYV1XkBxcUK3SdBoM21dSOE4jQTsdhuAwxnUcvDHmr3/967IsIYTe1HU/1o/3761m69z5fF5Tri1raQBoPMQUiWGejsZC3ynbtkHTpyy1ez72rfTsh59/0hG3TjNTxe7r4t1gjGGEl9PMzCltTSo03rbNOjPPc5e6juMorbegRhVFwDlnLN/v9/f37/f7x5//8pOK1LJc39+m6XT8/GkIfL+vjOAsqhTnDsRYa26tL9T2ROj2GwqoF74A0P3idhIz/j5JAIDWdrt6IlDJtRUma4wzQKVmkToMg3VcikHoliQnkWoIRCSnysZY52oBgrszWHKpNRtjaqo56zSN8xBKKWHwiPjx8SZCLy8nFbl8vNtHMJzZb39prbXUjDFS6lYXlL04TCnB7LvPUkqJAD9//vyPf/wSQujeOzln2QseVW219LD5igSqAtKxs+5JrYbRGRIRYaxILaeEMMxTJ54I9GB7thZ7646I3frGWgsgTSozz/PYH+mOoCGllJzTkgsTqcg8Ttb6dV0JTc1pl0u23J4w6l5G4O+xo/2AeJKx9EESgMeYZL//tDt8VQB5Tif7iu8nKRE12Y9jEEUtKohaCYQQDAn9HpXaMT/tU5jnf7ffDQ/iB6jq5XLx3h8OB9XfIfln/f4EDuGhFKQ9uamCoLHs+qYqdb/UtQ8+CKSKiGgtaQdQ4WGa2R+u9/56vbdcVKHTigDgfD6rakopHKaUUo5xXdchWGaWWrRTwEsxDlVVG4pUws7J4d0cGaBnyvQlWFpNqfSdELdca61VhsEY47pLICIhUmv75U0MRIi0+9M9Xgo8iR8dfhrHMSZVBCQkILZKzIxMRDmmjlGJVAAAFEBBeGS+alOVbdu2bVvvS5qP3QKW0OUUm8iaYm25aWVSREVqLJhrqjW2psyWGjRVZjHsOs3UEJMjaYWYDQdUMtbiJCFfy6CljqkmhozSDJnDcFQAySvxbC0jCgEC1lK3HuOcRQGwi7i/f//ebde66Ls3u0RUSnMOn+s5pfT+/v7TTz91TUnb1Rq/O68/ETsAICb4I8f3cWD9vycbHbd4FvTP7dBboJ7O29dzf+9PdsG+Bwl7zsUubHq0Cv1f+0cyxpRHqmuRVh/OgyLyiPMiBOx6zS5eIOhtgzwHDvro2Z5T0UftDszMUhRayY0QDoepbwFmPpxmtjaVXFGaacpsjGkqLW5FxCBu2xZjZjIhjMfDy329iTxek9XjyeeitS7GjqrqA7WGxmqtMQz06fOhiqtFDZGCDMEa46vmdb0zCZOoNMIGhAZRFQ05ax0RGdAibdtarZUd+8Ed/PRkGTGzNRYxq6oL3ljorVqfbtUqikDQU4GIiDuLSRq2BoAqok2hNWFQ6TlpDxphQURo3eMplyKlkjPM1jmqDUSqMXg4jssy1irTdJaW2NtxOOWca5VtibVFRF5XFOXSViNkrU85IoJj45zvGGHwIwAxkvHYkdq+ZogByeUcU0pg0FoKfrQG1vXWSkmUDnOIOd/j5gc3n84Auq53EHF2ZG8OR7Nsq1ashYDYu9ATkfrMd91KLcV5W4opaSutSq21Vse/2/J21PByuXjbWS6lD50sm1odSe2FC1MjRyEEHwuAomFBcM69nD+x2UnAre1bsNYqADlnIrLWW2tr0be3t5xLZz1Nc/jhh0+n89BaXbfLuq7rGkGpT0c7GtJZbE8gqaoasoilxxd0UY+q1lZ7PlHOOQxuOszDNG7bdvjhNW/rt99W0zSl5IL/6acfhPzheCbCmNaUTG8SrPE553UrSAsovry8TNN4PEwl5dvt1q2fOhyGzN2RMOfcY2u60Lb7QvaDepqm6XgIweUcty1dr/dSyvl8NsZ8/fpVpB2Pxz6U627TgD1JJzpjl3YPzv+Xf/nrP//5jxhv27Ydj0dG6I5yh8MhhNEYtyzLv//7P9ZtO55GJCl1rXL/5dvt+HJ8ef1CNJRSttgAMLcFUV3wJNyaa82H8UuFOW5KZFTZBScibL2I5KolI6KvgkBlnt0Ujvfbt21NHx9vYfTWeiZ8PX2ew/l2vRqy230LHsZ5MoanaQKUX3/9LS5rK7Unchxm661pFaZxIIJaY9oiEWkrpRQBvVzeL/dbrfWD+G9//VMYrLHiGIwP/QhNcZ1Gj1AJxTDELZZSXl8mtieVJlLf334bx4EYVGop1GoupRgmw4ggtVTDXHKcpqnLJ5qAZWstt6ZbTDZ4Y9hYaq3089s5b4wvcetznm7W3rdGV353xKffDh3b7kXb/X7vNVyt2RiSmgSS976UlPKGiKWkbduIplKKNa6fbK1WVZmmAyIiEDm83q4fb99SXppQq6mUtMU7EzjDY3BV6CZVpTiDIFFBdHcUk173tVZiUie+i+z7DdhJ5CLinGtVVKDHaz7qIquFa60Jas9p2lKuLXvvnfNtqTHG2rJzhnvONSISAmiuu462V8pkyFhIKbGxY3AxVwUNwXvvY1ubZCIfgg/hCyIywfV6BYCcaq9tnOFu/d6dAJ+DAtXWC7Da4rruUrdeOIUwvL6e1zV6b1NKy3r/HYMTEClEprVKjAw9DryXEsQMPfyuVgEA67jFkvLG2QJIxz1zzjvKQVYJmlQE6na6uSTVJrIfU/M8l1KqNAAoJVvgJ02jSdWsAMJGWy77K8k5q8IwDM9G8FG0q3kEzFpriXaqzHOq/qxI8A/uKE+CNQB0DnvnhcOD76vagydBQPfSELEzCFrJ+1+UtoNj2FfU7n5d9kRrJ9KPqoS7awp0EVK/M/RR8fcPr49fXUrcj2sia601SEutRAZ7rvuzZDGoYLoKzTnnfQghbDEuy9Yt2FD0eDzGmD4+PtZ1PZ1O/5//9n8Y21ouvXynh9x4bxgAmblrBKiT7JX7HiYiAEYE1T3cqqm64KlyFwYQmpyqEg7DMI6ztb19ImMMAgM04h62So8Op/Xs9y4N6PVhLwv76eCCVYCmzRjrjCcyJbeUs+yiYVVopUrLBR4hVtAEEEII8zznS40x3u5Xw3scwO22bNv2fr0gAzOOk0cUxxYNICqSomgPdNwddKSqUs/fJKJxDK2pCrXKbKyxJ/IHwMXThNhay7UVBuPMcItJebXDQETMigoiJca9cMeCrfaBI/UZ1s5neLgU9xXYNeAiMg1DzPlyuby8vPRF1VcpGXzyy/vCJiLnnBI+4XP4g9NRN655Aur1EVrZ65WuixWRrkLrKZ4ppU7EF5H+FwHg9fW1//X+HZ4F9FN201PKnzT9Z2t9W+7ruoYQeo5Gye33Jpxoj1YDfCL9ALDbBVg2xjxrJucc8x5LLCJEwGxRAZGZjCqWWl/teTzMVdrbx0ffosxsmUBECbVJbbk1r49Yt+BHdlhLA8CUt5zjNI8+gFUihI4q9etti7cwnv/2rz/nyJePe650v20gbRzHMBy+v9Wai7eGGb23HaHcT1javZndzcScZAdF9vkJkT6fpKrtT97ZsMPDIMhECoj74iFkBAXtpC4E2ockCKTQvWjQdZ3TPsSrXWH9OG32KzmEYd1yqdk736pYaw6HYRzH4+lTjzybpsMwujIO//jl3wDbut1cmENwXeQ0DGFdVzRdBFYQkY1BZFSIcS2lzJOx1uac+wFcSvGBGSTnTSUbI0ilSWZr13W3Wt9y+jSOOW3OuZoLoRXhw/wawjnGbOwkqfaSvVNBno+xA8bGmHme07aluNZaDeMQJkS83W6fP38uJTHqsxwRkZTjFmk+O2utcXZweybrDz99WZZbzrk1DMFP0xQG13nrpZRa1Fgj0th0By1JKeVUEDnnGIbhdD7s8BhtcbtbywgC2pyxhr02tME/J2P0UNeBUidKEZFApQeyo4I5p3Ec3983IsKHv0dK6bfffhuYp2maA8TtI8f0+vo6Ti9rlpQ2Jns4HHbokYiIc6zfvv2bd+wMeF87zDSO87Yt+uBWldJJTbQ/k2nsozlEbHW3XReR0/mEqIgaQjifzyWLMebl5YwIy7L0CXlnzAPK5y+flvv2/v0jhPDzzz//9OVH5601fLl+naYhpXSYJmYGvfULfRjH4+nl69fvufx2Pr9u8Zpl+fTTT+/f1/fLexMSNbWIsyYMk2FYtysAlEZ+OJvhReG8xkLW1gqItF1vYfDDNMZ1E9Gvv33z48AGsHlEmA/zPE4I208//fT97aNHsDkXLGUDlgFzSuycd9Y5i6T//Ps//vk///7Dp88//vjjekvTFDoU/en8ymS/f3yrJc2HwVqPtK/JEEKDtqV1vSy//vbPv/z8agxePr531vsQAijXmplRVWK6i0Iu2325vL5+Xtc7GzSGLx9v9/v1fD4PPgDzsix95ZxOp94gGWPu93tHZ3oBzcUatj7w5fJBRB5szhFAOCXnXPBja+1+v/dFUmud51kfccK9I+23Sac/9Sezs2RBaislI6KC2JJjrdWyCeOwbUsHKxFoXddaa3cRLaUZA9K01qS1lpKG0Vv3ssWVCJjRB/55/DPbQUTiElvOwRlr7fEwMnfVaRORvvw698IY45zrBS4zL+3eYWPrvAu+z3CYGQlLk5pWBo/IrUpj9X7YUw6gs/BbrTXlUrMJIVCj1poyWEOKQAzBT02htOTscDxOl8vFWeOcu95X5800TYgYggMQaxlAxilok/v9/tQJ9NyPfon3K75JAXDjGLrFjUjNJfb2yXvrnCPAdV2NcZ1ZV2r8uLz1Xhdxt1T5TxAeAAIjdrqysRZjjJ1GOI5zxy+MMWtceqHV5Sc9eFQQiCHF3PXEiqoAxlmRqtCcC7VmInaG+1gj54hgeiXQEzanaXLOOm/NliIz11YBwLMD0M4AA6YqAgCpFmstE5M1qkq7e+MeSkoPvi+ApNQT5tk59wTvUyoiSvSkoUNrFYCYBxHpd2J3cSSEVquKAgJgBa2EooDSoNYKtKmgMZbI9pUtUgFkmqbf6y0p1vidElSTMeYBuXcnvB3QJMDWmvXGBotMtTZWIj5DiUxZtaaSW62tak6VrVlvyzzP67p9f3t7fX1dYnJDQFI/+lRLUfm4L8j0X/7bf0FqHUQZw/D1t38ehrBtyzg4yyi1JmU1BEZqccFwpQTgtaRapHUhrioiKzRiggpFGhlrAEEJycync0XsXYQx1K9GBC6lGmOc56dyEQAsU60FtLEYQ1aRa2tbKcEGaWAQ1VjmPSAw5+wc11IAAJmQoYkAQM6xXzytKVYhIlCstRjn+zVDgDlFy1Rb7kDtPIylFEZ2djifDiKNDTpjSUfnjYqCJmu4VdxSUwUiYG6WoTUhMqpCtkcW4Tj+V2P+UuVW7h9GYMPshjFev1vjrBlBa621VQbh1m5Vli8/vaZFhBPiaC1frzeklsvinDPO8cZam7J4Y7dti+s6jmN/Yuv9/oxne9IN8Q9KTSUkwFyqDYNI7eKSbduIgMjkXK3d0fFt26Zp6r1T3RnzuCxLa2UYvDHEjB8fH62V0+mlVwbP4VWvjVrTUiopIO1s7N6gGmNyR+uZkajUum2bMcYHSwwpbd++fYsxzsdDU5mmqXMfn32yqhrnELGpOmNyTCBqiLe0qvpaIpL2HjjXQoTMXPURKaDFeq9VKhRiVkVVdOy8QZxli3cjVbJUS4P3kgWgrNt7k+zMYQrD4F2TDYScMTEt0pKzYLipCgGQpJJbTtm6YZoOQM66wVqbh+2y3qVF5S0LTYcXInh5OVe5tdYCkjEGlBSYyKogCM7joTXVJohYawYULC1r7N2stbYrs3sXR9i5oZ0eRhkLkNZaCR2SAmqT3KQ4G7zv9sMgrYo0AHGWwhhUZV0LAJVSlGAYfNacYjRMYKiro5DBeVYg1UbE0zw4R8PkjLOtlZhW5GpZnHN/+elfvn//aiwzWSYe7FRKQanzMNJudmRVsGAjakQERKkU3jZEVpFf//kVUcPgtRRBICQ0BiCWtBJwjgmtU6kAxYgpsTgaMkTrsZYalzxiCOGFSJXdMWguBRtQQ0ajDRgNh11Yr9Jlu2CtR2kIgqCMJgPFnBQhlsSMZHG53MdxJFwQX2Jun4L5BC9ash3YOVcbbrG8vL4g6tevX19ezzGpMd4HU2oWyod5bLeSYjmfXssov377IMbWyst5YqS/fDkeDofvX7/9+7/9f8fj4U9/+xcReHn9olmakgorwjAMHXTvFy6jaSoGDSkQGpBMaETBsIuSQxhzTmRsz3201uaYxjCwNmjCxt3uH9CAnKnS1PL97ePvf/87kek+MIaBsAHoKRiJ0vSugttaLfe4OsikrSYi1Fa/f/ut38GIGGM+Ho+ttdt1McZs2+adOx6Pl5r/57/9jz5P7+BOrbWVOB6OQwjB+15gHY/HmNKyRMMuuOHzZ9N9bIBzrhlNHoMtKU5hlKbeBWtzFS3busTtdHyxo7PDeF3Kb18v3o4H/5fXfz2XUta4vX46fby9Ich6WU7H+TQec3OCh9ROEcZ7LR+39f12+a+ff1qu91bqyxHcibWlHFfVRjSpgLWDKBXVaf6cy1LLdjx7raW1IiKAEst6PJw/vRyv728xrmRYKzRQP4+xlSptPAU2htm6IRSQIhEAFChuRRpOh6AteT8Ogef5dL/jDZI1DaRaCq2Wt29fD4dTRY+mpZystSWn5XZnNrWKD/7j8tuyLMMQ/vTnH51lUvh8eGmtEeHonR+HeZ6bSrrGAB6Ze5yC9/52X1traLAyE1GY7P1+Xz6u3bgz1RqlorfvH+/X6/V6vZ7P5+PxWGs1lrdttdYqyLKu3vsmlawny+/Xj8PhcP708u3bt7TG0+mwT2sRjSdgKqU0YUB13gJqbaW2ogoxrkQmpdxTC0+nF8sMbRe8spkROYT5BzMCQ9zK9fo9V2WPn84/ECMRALUtR+ccom5Ld4iS1gobEm3EaI0rpTjrEUh7sLaCVJWqpJRyJjIIJtfEzN5blT5fQmIqKaZUnA0g2pEXASk1tVaO47nWXYq1bg8btJpSbn/+088iUsoyjWQMgRRAbK3c79f7/TofRmNfUOHj432/BwFLKdpqzwAO4yylVpWqQkpVxQBZG0rRWtQZjyrScjMVALZIRJ7Q5JyGYerpsF2d32EI51BBREARjQ8tbYIATLW26/Xei/UQxtaa976UIlVBBBhRSaqAUedYa2tiDBnDXGuOW4JWc94Q0bgBLCCTgNRavQ3ahBqm0kZnJgNri244hNETKGrbR+Q7uCj6bCyeU/v2B+tuRAR9slngibUj7j9kb8u6JAgeoun+MnopTw9rsycE3lE9AAAg1QbQALspOypIjp0WZkREZddlEmlKqTOA53neERTpF/YeU59LfPJD4A+Uns5PANqd3Qmw1w+qjRhFUWVnmBhjmC0ZrkVut1uMyYex/yD7wKVIzvV2X2qtP/3005cvX/p/6HQ6dW5GD0a31gZvP+6XAgURDbuaJecqTUBbb0KaChH0nq8zMZwzOcXWiqoysUgVUWuts2FPJOU9Bq9D7ynuJXspCUmbtYCkYFKJAgrARVQEqgo1LTUjoIrktPamOefa/e+s4z2qUxCARLr2tXoyXeTQhQdd+7W/YjLMpt/r8lBhooNhmIzpGfQdUWZVFS2i2JrW2j3LtTVorJZZREFBpJXcw2itcyQ1AhAwhTAOw2CMS616ojCGbdsseWZY19T5ZCltrZXjwdVaao3W2XEcACAuyziGJwkEH5Yyqvr161dV7R5tXc3TAfK+Xft4BxGrdx327m7NvfjrF3z/ymma+qruU+/z+Zxzvt/vOTdELqVtW3p9fXUuLMt2uy3eD8/P0L9Px1qWZVFVg32ZUZ8gdUPSjq12wGNZllLK6XTqQ8DlvvW+v394IvJuegKNrZuNFmytKeJyu9VcgvPeez8EIvNxuWxx6SM5IHLeNuiNxz622raN4eHoNwy0xym0MDjCcYu3+30dggudgws5l86qF0AppSi0VJJIba0gCRtrHdUqoJ3YoyK1U/14V3nK4Mcff/hpW+PF3kREm4RhrCUtCx8OZ0RIeTPGGHa5VgVpj/iHhymha9J7+z3uhIhEdjVCFx5Ya1V3m0V56OkNkzFGodbWCAhJO8AjPU1ZAdF4P1jDrRVray1CRNZ7RExbQWTvnUgl2i07O0E250xkQnBN8tv790/0SVpjxuV6s6RNyLI5HA6i+wRmTemJzCESou6J0p1aR12BYERkXe8l55wzEQBqzjn4aRgma7m0XBVQaq21G58T4zjYjj0z8+VyZeZS2vfv310ow3QksoDg/aAPEVE/vYmor8ZcSimtHwXWmJJjq6U88PW+kvEROOpscGbPKRURZksIzEiGoWMVIufz8X6/dzLx9fpxPn3KJdtgmS2zVc1E/PH+4bzx3org6XxY7zcfjPMsmqZpaqDG2fl4SltGpo/3W8zJBf/cXE+YSVSJ/pOZ1XMPLvf7MHjn3LrmlFJ3CjLGQKutlJhWSGnHWVO+3+8i4r3PuXb+w9vbWyl5HMfDBK+fXlKxy7Isy8a0MpvL5eNjux7nAyJ1DnpHB7z3nQrXL44AIxF1oPd8+kR4LTV7PxjTmDkEWtfVDbXTbFprr6+v63pPOQ6jX5bFWOrd6fv7+7YtCs05V2MkImtcPz36yDrGeFu22pDJuhDGaZrXI4LkKmEyPVy5lDIfDwh1uV+v99vL6Ri3kiE3zu/3b79dlltMVdr/79s/Bjtadga2efic4nq/r0OYWr3nnAqxsUTC3+8lxjWEAPLxejpbyzEtaZMhTC8vL0MIcbkrYZVWW2Pm8/kcnO8gNyKSdSJyu966aS8xB+dSSpfLu7XWOuMto0Fr+dOnF9FaSgL1r6+f7rc15zoNxMb2w/B+vaWUpmk+HA4hBNXKTD98+eS9R4Xwg0FE7tcl7l4OhDsuMxgjAKrawfL+PPu0EBvlmGqtsZU7wvl8nocxrdtDaxiXZTmfz9baZVlqaR3G7jqZZVny5dJjcXvlcD6fP7++1lpT2j4+Pp4MzCfpIKXU/RVK7rvbTpNzzsWYjXE5Z2uHaZqW9aba5nlGptv1boxR0h5lPY4H51wIoUtdl/W2rquqTtPk3RBC6Oo176fuYdoLFXio3VIq1tqUIgL3SON+Samqcw5AkNR7S2xqrVtcCK2xcPRzjKYnTig0Vcyps7qf3ifSOdtNmkPX8UGA3Fr9/v1rn5R67+fDqKq//fKrSIsxAsD3ty04PwxDn2XtwBliyaUXhJa4f37e7d3iOLpcyrL0eyQgNx+4NctkQHuWMz6FnX023l9BB1hj3FTVEPShRK/Kuky0lNI5b/1/XfAAlFKyxpcamVliKyX1hOxeTtRaqVYgbCrbmlbZWtnJF9D0fv3uLb6eZ0EhosDe2D9EDOTanqU27AZ3+iQMPCkfz9lBr2mef9JL4V599utHH4kD+ODBP8vo/9we7PaFqkiGRfqAQ0vLS7z1ksXaE6HpgoBnG0RET6/7/4W6sJtk/SEB5wGgiqoQozHsmFmx7HYuoNpqraXuMRC9i/n4+FBBIprnmY1LqRARk2WyhF3NRi8vLz/++cdhGGKMtSUGzTlP04St9hXfGhnjWsop7sHC3fCk7mTRroLCXkA4b5xzOcec864QB+ly42EYhjARUasRURBYVDrmJw2QmkJdtzuiMnMIY865tALIDTE3ECWH1LSs29Ydi4lIpPZi0VtnrQ0UpEltQoAIllB7y2ScqXu6++5E/hDaAhGxMep2lWR/C7HujA5ttZSWa8NOuN+DbFqt0i1lEJEIyPvWClLjzsZGADC1gXMuqtYqQKCKfdY2kwEAbcUPM1Jjxmk6WGtbK9bhfAjv31cksQaNJQT23sdlDSG0VltrnS7VO9J+bqrquq597tzP6Ied/YNiAbsRTYfY+wospYQQuhHE88k89SWPq3137n/yWF5eXrpI4Nni9l3QL9TemlYCqJXIdeFjL9E6PaYXnb1cGIbBOVvyHu0xjuP59YWZr9drqdAHX9JFbAhNd378er9v23aY5k/uk/dDEymlLFsSWUxnJkAw1vbmrWfNiqjh3r3LNA39KEAkS9YyW4fXS4sxIsJxHFqTcZyZrAoxE6C02kopMa6AdZysdYZZYbcba4TIZmff0e5PoiIsTY1xf/nzvzQpnREjUu9XtYzMeL8XY5v3UkoBQm97AG0DwH7+KLhac+/Y+/UPwL2GfgqC8Unw0wpKABDTNnKAXX/fcm6dXhWGyfkA6Mi4cZrYaK1JiVXuWhWAaqmlqLcMSMwWEBWBiIwzgFJbLGVjEkSdpgm0+GCBhluJH5e3l5eTtkqMOVZisbSntNS625+Atp02aNiYnusB1lrezXAhhICoCsIIMa4icjhMTJaQewaZtTZGSCnN08Ean3MFkCLampBxpjMLmYhIFFtr0qD3BswMaBAV8QHEPBy9mLm38oi/O9NZw7WWlJIK1lq7EVoPLyulpO3mnBuRrHUhhM73fX19vd2vxpjj8YyI67pCguPhPI3HViKocXZIdXPOEdqffvry6y/t+/dfU759+nyaB/u+3Pr+LakS8DOqHXeCIgAAsxXF2oX2/Zn2bsQ+LqyyC1GeP06V0lozCnurhCiPNCh1qXs1djQh53y7bYgYQsg12jAAELO3Ru9LWrevTcrtfhmDryLv7+/90Ovu1Mfj+ePjo/9eRAbrpJUYVz+dP336tK5rKQUUpam0xsx5W6XkNcVSyjzP27aFEEAhl+j8GOP666//3LbNus7vr4dh/PHHH40xMcZaq7Us0phxOszGWCRLDZwNP/7pT4zIBvtqd97UmpiACMYxeGNrBWfHHKmk7MCNjGF2P/7px3T7tSZJW1rerxfbPn16GZy/r/ny/sEIGSqhJmvTlj8+rgbN+TWOPlg7iexz+5wLKoZpJKLSqohM4+ic466yqw3NPsC01nYfTGRqGVJy27a54JjRWEBUZxiwMfom5X6/MZuXl08guC4JcwnBO28Xx4jBWjNNw+DHpoWZrfEAYJwtSUW01FKq1Ka1SilNRNb70lpzn39Awt6KO2/ZDOMwCUIfig4+mMmscVuWpeamDVqRaZpyzsV7a2yXrnXa5Pdvb/3KiFuKWzLejeN0u91CCCnlGKOdJlX1fnAu9pKaH4FNTzipb75uaGfYOWuu1986UEMEx+NxGGqteQhjzvnt411qM96A4v0W2fnDcWZDWmv3w+lX1TRN03igxx5f1/tz//Yar2Oje7HHzlqbUnleXs451aaKoC3lhuQ63YsNiDZn7YC+iiGi1mo/ezvLpRukdrBAVYPztaQUVwBgorjFdbkTERs8nmZEzDnlPdY798On19atlSeqaIyZzLRtW4mJiJwzPa0y50zW9iLeWG+MMYYQRdouodwVfY/b4VHnPl3XWmvt/f1CBC+nw7MK6oV0L+S21KZpYsZaGqBYy9LgHu/DfGJGIqw950F3z0PgnbrS8x9arWx4HMdt/bjerrfL1+PpVPJSgc/HI6gaROzc2VIKiPZWHhEN8rMIexIwEBFoP96gl++IgruYCx4CUNytaRAARCv+4dfzvnz8oj/A+Xvpo4oIlg0CIOjS2VFfvhyt270vnoB9vzyeACoRdcu/vj36ubD3H7A3G4SojNaxC9YaktRk70z6sVxUWy/1S2m1VkKT6u4lUlvLOSlhSqkjVTEnVT0cxr7uw+Br1e+/fSVU51xeS99szgZxhUvqbashV0oC1VYf8weAp4qiY6j9J2qtiYAKbtsWgvohdMZPLzofQwuIWxZQwMpGUlnZUFW0agSaEItSyrVUYDaKnMoW1xuRzbl04WavKZ1x5pFKW0qhvSWDTsr/I6v7ebcxc0qJuRnUMLiu2BCtpZTLkowxIThrHJNh5hjztubuNS4NRADkuR6ElNkgATfNW4zawJyG+fBSNLNx0ooAqAChMQTjOCoKMAJI2mJrKqL3+10JPp1PjPW+vDs7zPNIxpZSRJpIq7WzhBHK72dQKanWjKilppQ3H6yxXJt6G/wQeg5lX2mODSN178VOqlPt2qxuo9+lrrZW2bbUGf8hBGMIEed5rrV2B6QQgnPu/f29b5nePj0fe99BrbXYmi+ls+F7d/rsIlT1cDj0v17LDnP2b3s8HlvTf/u3/1jWX0+n0+vrKzubammtWeN6AeeHIedcpeXSFEpvMFxO7+8L2wKE9d68dz25jYh6ABM6z2ycN/1kMQYQYF1jk+KtGYah50d0vvU4zq3V633xxns/igjWIHlTbOF8GLwBqagi3XQdnp6YtTbsmfQlS2taizSjxjiktm3b2/u3beFWchi96O5nj8hMu+gcgVQFAJnZWNvaLmzop213ROl78Hn3PLEAom4O2HoXgWRU+YFQbkI4BFZkBKNCrYGCFU21SsyCJbFB70YkSal4R70rrdjZa9VaU0sueT2cZucJQETLti3GELFDAmlNWq01iwIzee9Tyimt83xEYNU9Oa47hyCBSL+8te0aa+yVUAhh2WKMKxFYZ6yZmm7dcGYYhu19vVxuX344GGO3bfVuWNdkAK33fpyZbGtNgUqtAqrYiXOEYBRKk9YE5BEZoyI5t9YaAdRaDcMf5RPM1rn9taZUEEkBrAs1RQQGMiIyDjPNnczYWpUY7y8vL9bYl5eX6/0eYyoVvA/fv37cbptiLaV5a5htCCGti+E0+MDGxa1LfMWiAYVxHK/322E6T9PBe985S/QIO0NkIAOtCKiI6INA6Zx71tP68GPoyJVh8t7XYnICKbWUQrUasCCKBARIgIbYOjMOg7F2WW8qhOhVNadcSjqepj/99MUbW3M7nU6X9w83+OPxmHM2JvcrjJm7fZOqem8v14/z+Xw6H9/evvUhnohMk++3A6l0sq8xNAzD/X43hDlt379/LzkHb4molEyArQoCdXiob4QOCobxyNbVBuu6ouHTfKgtv/32RkBbXIfBay0x3VupYfDOudfXn5btcrlqroHD/Dp7F8xg8g8/zob8ck/fvn49TMY7+n69vH+/MngzMFHL+Y4CzDqOGbUg0u12i3Hd4lJzMcYwXwlQtHSgoQtXeuBozjnXJrmISKnVWns8nrpWMkk6+AmpT6GRydWWrcMuV1AVZlOLaBNjAnNV1BhjytuyLJ9eXo0xKi2lbY2biJAxUIiQWoW0RmOZ2Rqje+RpayhaYnp/fz++HPsH0CallA2XbduKNGhyuVyCHz99+WEaxlqr1EaAOdVpPIxTsNZCkxjzLghijjG+vr7e73fn3J9//nnbtvv93i+IWmtOpbVmLFtrD4fDumwhBMN2yxsCOWtV4L7ccwUiRja5yeidH0YA8H64LxdfS29IuhSw1vr+fjm/HJhMa21d7+MYQgidEBvCoOPesW9xIaKYtm3bgp9LScaQ94MEyanUWltTaWBMG4YhxtzL7l4h1FpzrtYxM8a0eG99sNu2zPOxrKm1gmSJqDXdttyvTu+DMdZa16FYVd22zbmGiF11ejgcfDBNXBcF5ZyMMYb4Y9s5KstyG4Zp8KGPWx+GLUCA2ppBEpSHyC0RERMQcW9XrMPb7VpKGcJkjOuj7/oHs7i+AKy1KqKw+08wc1cCPORqhe1uT0yqVSD4AYFAMYwT9Niv0KUaG4D33gJAyls3uumxGADUS3bD3Kfh8zwfTkHS4RespSQRIeKcirfOPFBDBwCMVGvthM4OHD4LheevJ+fkObvRB+jSf8EfvFyeX6kPkVw3q++v5wmEPwB4QlQmA3sqERFS8IccemyEm6aJaP9I9RFk85zM7n4dnSP18GPWh0M2847xExpkNd5YywzapNaam0hrBUmNJancVB5TdTSG13VtTUQSkgEAw66TEVXRGmdmG6aRmRUEAK7X6/e3r6fDHAY/TVOMa4+oXJatI1pIiggxRlA1PABACEFAr9dNH7mYtVakZ1biM+Vq7/YQ9+dZStm2CEDSYItNpBqLW1TdG5kGQKJYRFNufdZeCsWcPm73l8Nrybs+JoTAzCHsTsM555wLdxox9hQ0LU2RUEQFlJgAFQiB0Dnz+8jF9D6KmPHz5889pKBoX/deBVvTXpuqavdCBdjZwJVBmhbJqLW1llKh+x3JjVOYpkNGSa3PHxigtqpkTC8iWmtMvjXd1mytOx2Ot9uS4pUnW1uWWgDAOkybGkudxj3Pc875ev3oyRS7KOLeOuhFRN77bY3OOVR4tuC9G0zr0iF5gM4FMr2DX9f1WaDf7/e+pK/X61/+8qfuJtseTr2I2Gk5iNgZL30g+FjSBEAdWAGAQdX7YK1H1NvtJiJdL+gfhn0dP+6hD7XWzugYhmFZ47qu1lqypo8U5unQf17n3PF8DmG0znUepPf+1b6GEMiwauvmsn2zE2KfXYoIQOs0EkSUVnq3UDIQ6zQNjqnUzEzDME/TsKw3NlhbTteyLknbYYvSNP7wA/VsnQ5cNeVWS6nC3GoV1SpSFSTlVEtTYUSe55GIcineWz9UkSiiLvgnWYvIiNRHaFo3r2REQOTeTjxOjNbPtI7ePegxu8DfGFML/479E4l0x1sUadYyoIhqTEvM3XlJt5hqrMu2ikAY/TQMXSIpDVKKhOIcGEPGYvBcC4oUJFEpgnj7WCxhheJ8aCX3pFVjSaSVUobJi6gxphbpUgoAAKXeSKiqdVRriznWmlt5iCORty0ZY8iyKtaC8+GVSZ2B+7b2GcD1eh3CaZoPSAzQfJhbVQXqsbU51yb9X3+P3gOAVlVUiAiZAWAcx1ZL3ta+L3bLJgZmhIc7Fu+hLdpyV0sRM7MbABWIY0yI6H3IOacUgQ0j3JYVZTscps+ff0DELSYEs22bNf62pq+/vX16OSPA6CZsME+HkuV+vbCz39/fW2s//fCTNtjSGlP67IfD4eBCSCm3HkygymyLNPOY9IoIGUtEwMaSlpIeuOaubM45s1ERRdRnHHjOVZa4SVTVzk/rPt8px2VZrPMpViJa7+Xb92st0qT88ssvf/p5en19XW734P3pfBjCBITbtjkXenb1GAbV5r0fx/Dt2zdL/PYev3z5Mk5ONBorbAigKIBoVWg/vH6qAtfr9XJ5v16vxNBHbc6Z4/FsrW2t5pynMN5uNyKapinlmHNWEO9DLmteF2m0bndjTA1DNz2r69rWO7JKTW2L27Y5ojBMwdsQfIwf9+3tPPPgCTF6bM4YgzW8eEdHMtDyZV0/luV94IMhM07sZwOam6TTqbsWdipczTmDCJFV1ZiSYBWREIK1tknN3Y8Cu2FFc84Rc621h21dr1dm/vLlx8Nh6kWHQtXaLFPTnj5Igw+9EhKpp/NxS+u2bXFdWsmIuiy39/d3a62KqU1v1y2EkZlbqd7ay8c1ppsxFLx3zmkt2XtiAGklJWQ+HCZVrffd1smrLsvy+fPn4+FsjLler1XFuSACzBhCIGRCs6SlxOSDFZFhmFSxVnl9/ey9V0KiMgxTCGM/1oI1vZBNlI+HKaVijCOiGDNzL3tIFVsT59w8z6pYS5vno4iU3ETkdruF4AikJ3oeDidELiU1qIiY0na/32ut27b0K6MfjCklYjgej0QUYyTcqds7Pm10GKbW2lZSh95rzarYv7jW6pwZRl9r3mJe1/s8j2xwV3MpKRKTMtuSc4yJma3jlIr3tl+dvWfuuGSM8Xr7OBwOzpuUmrWMaLdtYwIEz8zH40xEy7IsS0GMY+gcTvr9hG9SalJogNqjOeIW+3VmLeeSFByzV4WHbBKcHZ6U2n4J9ql458yI4BMw7aSPnGsIoZ9vIm3bOtEggDJbu8ZoarPGG4N9YI5EzjnaDXWMwu4y17+htJZzNuyMcQCwxM0YEqEfvvyY4iaCZEwtcHl/M38szdnsTviqum7LE5R64GFPj+f/ZCbzRzz++ZVPegz9rl7dNazPgl+kPb/hs7hXBexm3oJM4eUcXl+/AMjldjXGIHZcf28hzB88sPfHDQ8DAfxPiTYN2mMWT0porEWGlovkrebUoFdoVaQBag/V63P8Pn/x3rSmxFxrfrxLm0qWpuu6Xi4X59w4DVuM1+uVqCMcPHm3bdp7623bcGTrjLVsiBWatIbgnDOq2i3eSyn3+90Ha63d7nf9gwN9hyKMIVDtJtyAsq3p7e3dGHc4HAgOMa65QM6HWmvT2pu8y/3StJHBaRqc53EcnCFDTNoZq63r3O/3206Z3e5xy6oAZImkM4gAlWi3vOwkGWLszZ73Xvb82dqvN0RSkMHZdS2l5tZaybWUZo1nZhHbPen7S8FHK1hqIkGF6j3PxxcTowjc1hs7QOr5BVq0GGM8IANJw64Er9U4Z0KYCO+qCg1yzs4wSN6Wu4LxQ7AWnTPM2He1MXS/x+v1Oo5jFySIiIL29/jy8kJE3fuCmanDtw8v3m4KfrlcRKBr+fv2FpGc8ziOvZMMIRyPx/6dD4cDANxut15kdzZOznWeZ+8lpdTDLEppIipSnptFRIo0u0elYg9S6f+5/p2Px6O19rn7eubF6XT6+eef58Ppdrv1yf62LMDkuqFeraUUZuuCxpxAVGtb19X43hjTut6dsUAP/1bd8yNxH23v+w5Vay2ECiDbFkfv5sOUkkGFYZhizMt968doq80Ykwsz2Vq11JQz1VoMe2lUWhNBY5w1vq+iJhWgIo5NKu63hRHNnQ9a5gXBiSih9L3Tmu7xHX3/425E21HGfio8Wqbdc3PbNsDdvla1WwAhM4OSQeA93bfLlCsAWMe3+4cItAq1IKHzw2iNU9WqEGO+Lxtf2TlzPIaX09i0keHlvl4uVyKcD+Ewh2G0YXDWUgjufr+LZmKPCvfrRbWJVmY+HOZadds2SwyAxriccr9miIgIdlesRyJSirG1otKcc0TGWssdX2arYHJqoMCeXfAu59ttAQBr/bpFYwOzra0AmnH2QCbmBNRKhRgLPhRNXYj8OFHVGCPoW2vWe6ktxmwImbW1FmOvrrA8cqx6K1GKkCIogbIAK3Brdd2yIxsGX2sDIGfH/vaX9cbI1+v9ZFika6z94VA+Pu7zPAc3GOPidu+GuTmXUkoIo7P87fqmSL/++mtwQ++i//t//+9/+9vf2FpjrPdDTKWjBtBbIEAEBmImi4bNw/DuebUZY5pWAKitAAIzs7XSo8K6RT0ZY0wPe1/X9XQ6jNOQUrq8X2vNMW2vn758+fzy3//7/5NzZMZ1keNhut8u1wsAwOaScXtM+jRNH2/vv6b46dOnJgVQrGNLqNqu149xGqZ57Khnf/HbttRaRGqOmQ2mJLfbbRo8ez+FIYSQ1m2pt3Ecz4fTsiy9iDGWj8fj7XbrBP3jPH5/vwzjPM9/ciEQYc0yTiHVxbvpMI+MI+Pr1+/vzHYeZ+eMAv7pTy/Tcci1Dr7M84wIb+/fpcHxcLDcBKp19vOnoaSbyM06a50bRsc8igQi6sIeaAJYw2BzTKUURDCWS2u5Foi7hZe1tidz+xAC7g/ZWrtt2+1260Vka7WffoRoiDMIIYoqA7HpXWj2jo0h1RKcRZU2D03Sx+Xbdl+Y7fmnnwiGt8v186cfr7f1fr1M03i73XKMgO397cMYGscQnGlS5nkaxxEAd6uAnEHaPI/n87k3b0QkDVT19PqyLNu6rv18ds71aMvODbtdlxjj/X4fhsGwu3zcDgcI06iChKbPeGut4vsTs9M0lVKMC02RyLD1bPfNNUxgXJ8OgbOuNe3mHJFzrkuHxtlZY6Tbwry+vi73rdZqJgNMzpleenZ36c5bQ8RO0HLOWdsjwJiZc44xZtDflWzd2iiEQITOmXW9l1KauONp3LZcaz2dTq+vZwCoLQMyIksDVURga6krmqS2dV1L+b1z6EVFh5OCH/t6GAbvnLlcLoQ6TfP7+/e3t7fj8Xg6HVTqNAbrxk6Q6/fvfnnV9uxGSiljGIgg55iS+uAeY1g4HV+McTnXzhPbtq3ubuu/p6T3+2W/Z7V1/Mtay2SkKSgyGXJ8vy0N5Hg4bbEicE4Vgb2jGKMgzKfjtqXeBsSYiUga11q8M2QYBIkQdS/ic6vpnpXw4OE0TIjIdmiC72+31prplizPT9YLlFKKH8KT6LOfwobZmD+U4DsCsZfm0v4zws3/6f/9vauo/8uDAEVQfEA7qNAUOulln2wSoPyhAXgya5h3Inu/Y3ZOkuBjAgDG/Cdjjf4baISCSqyqtcSaYy2xUten7kOAJxvk+XuA3h4Y5haGgYi61ybuFqEVANiYVKKxNE1TcJbN7ilGRHGL3ntwe1AL4u7VKNKcG9Z1rdI6Zfl6vfa8zFqr7m1fASBn97AVQmCDSJxz3uIS42Ztm+dZRO63tapKo6ZqjL3cUip6+ahV8niw87y3MZbd4KZSUpNijOkvjQhKTR0MrlV67YKIRPhMCH2isMxsnZmmqdYa10UVFfTJ8cgl3W6X4/Es2kSwtbauK1E+vwY/DrYwACi0nGPOgMCMDEA5R2bnnHfOdZ0uW8PMBIsNIS8GIIsAETtnaxXjAhPXAjmJ9wOTYWre25K1puqcA0TnLaIH1FxSrfXbt2/H49EY8/7+3hkvl8vldDr1k4KsuVwuiDhNU7e8RNx57U+HmZyz4C6C7C5AtdZt2/pR3nl+fU7X1/PxeOxcs46mD8PQrSS2bVvXrtzfGTv6kKhKn7pw90surbUiDQDytqtk+prv7o3LstjdS7R3/HK5XHpB/3LiHFNKybLpXLgcY82ZrS+lIFdkEhHLhpRaEYDcx3al7MaXgGoeoQ3rujL8vqlzTgQI+phFUEDU1hoBOu+YjEpmtvQI6i2lss1uoIkmpBKTEFol9m7IcUUga701g0KrtSpkYgCo3rM0Smkzhpwn733K9fX1FQDiVpktEdXWnGciYGIAFIEnQU60igiz6VHQtdb+YfAx8VNoKiTSdVHPPxFrCYEVVElb0z6TgRYbqLEEWEFRWqqK83QeBlbBGDsQ3nJqfSq4xaV77ErVnLYSgJlRMYQJsDYpwZptW4xFRI0xISmA5pwVWkrpUpv3oWe1PYGV55GrIHvMAggRiv5+UlnrYowtV1GzrQ0VfACFho/ZpnOh0/ysN8QmboIgZOvttghSl/Eg9QELPZYWiIhoba0Z5pyTtVZAizQA5IbGuFZjH6P1A7mPqjvIbYyrFWoVY8w4zDnnVHKpm7UekQitajMmiNTz6fPH928dcHp7+8axjsPpdD5er3dmDQOXGr9//zoN/jgfRGve4lLTYTgTGdRqgyOgXIuIHA6jQPeqku6R1SUlAgTQ57l7tnQnMeecifr1p92OVUXGcSxbQgBnrHSZBKK1lpxLWyKieT50onkpBcmu69pyCpNL5drazbpwPBqVAzE41y7v7+M4omhKRbQOw1FEbpcrI3WX7vtyvd7k88vrl0+v2xIRUVpNaxqnQVtlNGEIMRckcN72ssn7YZzCOIX1vszz/PPPP2/b9ttvv03TdDq9DMOwLevpcASAkna7M6nlfDrel4/r29fxWH04dGqEtXbw7vWvf5JaUJuzZhqmMB+koQ8zIbGzxqvxBMjWBFUspanwPE+IkPLqAxO2eeC//e0HY/eIDBEYht3vtbVmDJVSe2pmq3ndkmnESLkUQhRiFCWFPsnR3afBAUDnAdZac4khhHGY+8HLROM4WsuuuRKTYbutEYBCcFHyFhdAIaJhGJDaPA+IkuOKkxeBUiODvpzGMRhRV0tc7x/ScimJoKZ1MdPEqC8vZ3Z72WHJWmu8DzfVXmuWkr5//16rjOOYSosxvr5+7k5BiGycTSXf7/fWhhACsxWMZE3PdYoxdlu8j48PEWHmuKV5nq3ZPQ0fysUke51jEW0ft9ZaW8vO2VblermNo4JStdCZ9N1Irw+QKXiTkjHGu4HQ1Vqdc2i43yAAkFLXt1dVPRwOSLquKxHM8xxj7thlrRJjdtaXklJKYXC5xC0uPljnPBTxwSq0aRqIaN2WrhktRRE1ZxnGkYhya61qvzisD6212/L/J+u/mhzJkjRBVMkhxgA4i8iozOrqnu2ZXVkiV+7//x2X7IzM9lR3dSWJCCcAjB2iqvtw4J7Z9/pDSmZEujsAM9Oj+ulHZhEJQQERUNt2OgTfrP+maWL33trdcscKooUQhqGb54tK6bpABOM42rv0zt61KJILMbS2tta8bUpEzjdCmrTDlMilVGvNYOg4NgPOxkSIMbb7dtu2dvXbedempvv7e0Qc+pOqMmdEz0zOdSIC4GLkttB4fHwchuFf//3v5Xz56aefTqd7ImrhPCJmCkROxExR6i15V81EtKhkETN8vW6BIkgtOsfueHo8aFHX2v8bjAq3IaOU0g3dB4z9H84MvbkB/PHPAUDfkfvWH7c75qNv/ujgWzChmTl30+Qp/v4DAcA5qM0gwkAEzMSMm4KBmc1a0sfvRJ32u+Dm0HwLHkJEgFvIa/vPZpmCiLUaB4O2cKy11lJrVufMmAhCcCCacqlVrO12VYnYe2+Geyr7vo+HU86ZnAfDUrK8xyq1Z8x7v6XsXG+g8zyPY9/aUDNTADOpUtQM0Pq+BwsNxG2CAueciPjA7QyuIqXUWqtzwflbXqZh8aEjgmVJH0pn1co+J72m3cw8IpKPaZ33BGnri1TftckLmdk7smrz8pZzfnx8RMS2ny05i5QW9Ok4OvLMSIzSbH8E3qkFKCKs9LFREZFSatbCzLG7+Yv//PO/M/PDw8MwdDnnnG4KD9d3jsBMnEei1OZvM/TAt/coUEWcJ3ZkVgmdc8EIiZzUxuzHnLNpqFhrreTd0I/Lsm3r/vT0tJ6vhK7ruj0JAAAqO+o5btf84Rx6Op0Q8eXlpXXYH7STtvue59l7D0YNR2kodZbSakFRcc411tMHB4Pe7WyXZXHONWTlfD43BZuqeO+HYVJVVWAm1bapuLk53fZdN/oyOeeC96WUZSkfDjaNVFdKaWYIbU5oRPm7u7uu61KVWmsrl3d3dw3XbyNBcF5Eqsi2bTmdTw/30zSNh4OZeWYPzj1wKntTF0XnG7+JvW+lrUHUDb3Ad1cZLRkAct4RMXpOaQfT4/E4DAMCee9HGtetIuI0TWCp1ny8i8N4r7CVUoh9Lea7bhz8ut7YXWaABEyOUAHBEIFcF3siqin7QL4fxLgUidE33wOx2vddrVmqELEZiNZGKTEQItq2rbGSWrZOQ5L6vlcVs5sCWd9rmn0I6BuUYPTRuHcDt2uUcy0Z101LKc4554fjka7zVqv6QIh1WxOx1VqHYRjHqaRU69WsOWXRPF+HYQzBlT2d7o61ZgyeGGotN8j5Vsda+ADdhiUwVQEAJiJGQm4HDzMD0M1yGdq7oeC7VOr1vF3OqeuiqJW69cEOh6leNefc7momp6zH4/T1+SsAlFqrgQ8qAp79x4RDRCKNsVBzzhR9SqmR62KMDIYIoe/KVj/qPzMTYa0156Ii3eRUdV53q+vQd+SYyIHD17fL6e5gBm/ny/39nRkGH06n++ak0W4SZgJD71ksPb/85pwTTfOcTsdx7IYhxssy51qcc8j0w6fPkcJ0PP7y27fjeNeOcHz/AoCi4t8NOpxzQAyG+J493FaDzXDIzEopLZkcVG6Ga2be+84HdS4eo7z7rTWl0NbQYq2//fKb8+Z5uC7PSPnp0w+Hw4E4zfPsnE/r9sMPP7yc3xpJNUMZhsFMSgn9EH/++edXsB9++OEw3eeyO+f2fS25xtgDgCrkvMcYm+XcNE05V0D46aefPN1CxMdx/Pz58+fPn9sKt/FgQwhqt4F2GIbD4TAOVGu9u/8kRi+vV2YKjkWLMpEjVAOweVtTLuyHrNKR27cMZLls61b64eDdeDlfc0Wb1xgoeI9YS82Ou+g5iwDQvlVV7eKgqqUk1bquFbSKVGaUemM5z8tcTYP3N3G8WYhRwbZtW5ZNLtIKS60VyVr1bnjH8XgMN65sAlFmTtvaUmydc81/vdbc9/26zintMcY+ekfdp0+PIkZENYtp/fW3vyH6T09360rztTriWvTHP/3p8fGeCBsTDEDXfStaDodDMzNpq/U2pqa6L/s29JOqbtv2+Ph4//C0bdu3r8/7vptW730L4QqhCwEOw9iknK23eYjh5eUFABoTehzHmnIINxXZ6XQ6X7Kq1iJpz459CMEIwHBdtuPxuCwbM7eJtx3Hx+Nx29fmt9FUZ2CksrXo7Y/NUns9TfPTOqumAA4hiJRWLatkJ05vbGyb57ntdVvr+P3718fHR2b+4YdPz8/PpWbn+cuXL+u6/vbbb8uy9N3gvS/V+r43ZVXLeXPBD46beWU7zhq2paZtR5H3jEh932/btq5r21oTUUuqMpP7+/ucUq15mibnHKDLe2qCsbY6MLPgfaM+EsG+bgDQ9TFEb2b7Pqe019qVIi8vLypNs+e7LvR9z9yMgyTGSKS1bjHyB2+w9WmtN+7iAACOs4qqqOPgGJg8ghG5cTwQOUXquu58Pv/1r3/93/63/6OJNpsPTxf7YRjMbN62dj9470uVUmuRambV1KFuebeyM0X0OyIDo1OpBPjBkFGFlIqIgd3UhwDaBJE3ejqz/cGR/qPh5uBrrSZo9Dv1pTXmBuAcE7UfcqOlogECllrwI6Gq/UBhJgcA738FqkrILerE+xb/nhvxyPv4QWdvPxYQEEFV0LhqNTMCbNSXNmYBmhlj4QrqrNkpImOoIMBkhprFuSC1GFjr/hseY0AhhC2VG2P7lukd1r0i4nQ8AZgpDmE459eUUnDMzCG4fVuzFALf9bxti9UiVbVKgj123OJjr8s+jiMhxs7nvBNjF2IpRVONzjt3o4iFLoaOqhY0arGO49QTUan7ssK2ba8vV6j08PAYLJoxVK1ZVIQKzJfF+0E0TeNYUmn+a9475xyoecdSqwiJ1OgDETBr552ZOYyXy0Wt9n3vHO373g9dWznN87ztVzPzFJxzhIbmELALcZ5nkfL29vbjjz8ej8fXlzctte+jADLRti2laBdirTXnFL2PPDaLdGbMueYixCGEQLiLg9gfrVwT7OyB0ZdqDUVTtCH2AJC2JXrvgQEwbUWV0WDbFh86F0bP4TCVGOO2pdJyl8ZDO5Wv1+swDDF6k4RWasKvv/zc+TCdnnwI61YB1DllUjAYurFAdc61vW1rd3wI+74DNgGflT35EEWNOFQBSImZ13Xt+/5jiB3HvgqknGMMNSXnQ84ZEQxVihBi69pqVeeoMXGYARRd8L99f0bEh6f70A0TSV6zIpB39/cn7/0vv/3agKjgR0Q8nqZWYmLsSt3f3r67oGbn03TvPIjAOPTkfAjh0d3N8/ztt9/ArOsiGojknn3wLqfacVjTzs55jlIhpaySGcFAAGxPe63Ze5/KTsnF2PfjtG3cgzeTqnW660GgbZPNBKECqIhwQE9Bq6gggFWpIYTp0BOBQK1FEQlsJwyenIiAemTxAUspKV9jF70G50gFt7SIGCIH3wOZmRZVUx1CV6u+M9xCk7EigKkxkpiUUomQHSzrm/fsuMt5D6ETU+dd7+9uPpuSvHdKJgjIaJZFsic0rIC16yiETqEaCEYhxoh4dzc6cuPnE9GX+XpWKyJFi+V967quC9xGPq0SQ995n3OpteY9O+daySWyd8hBm7L2ZnFCCNCo2oOUBNCqKRRRh8H7aLjd3XvnN4RlHMcYh23fwfX3j8frZYvdyM2NTkDhGjrOSX03WqkxDnsqRJQVupsw48OUZq9qpaQQAhOIaB9iSpuIkrW4kFSKetenbYnRoyGYtiMDia+XPSdbFwEsw6G/H8dd7fJ6nQ4DGvz2y28h+h9++MHFbjhMl8tFhRijZ88+fP5y//z97z5EIvd0/wQ5R3SBoxA/jvcVqi/J9z72o6r+6YefHv70j+frJW25IDI0IqXXujlDMxBRaGIo5ne3aUaGWsQIUy1D7JjAUMmgo6lqXpbzGHokB0D7tt0fHlJpicWoVs+XlxBCH/qcMzqO/Wnf92Wlw/S0LmXbrg8PR0Y/9aOI7ZS3VMAoON/3/c7ZOUfOK9i27wB6WeaH8lBRS9qJ+ui51irMfd8/v76J7oi4bepdIHLesXOuqKFpF4fv37+3SQ+MmLwSdF03jiMAnM9nZm7zfNcNOfn7E439WGr2D1PO2SwfDgdPsZRixsYsJlm2IVaR8veX356ePgNRybKv27evz9N0eHp60jnnvBr3gk4EazXmXGqSauwwp7Tv+769PT4+MpGZRaZq5Hz03lUOYE6qhdh37z1Z0uqcSyU74sDOH0/7vuc97et2PB5BsWQppTi/3Z2OjoOKqlUzEajz/ALsSs5soUcPCjE4YiWCofMziGr17Dw7UHboCIkp7zXF4HJO2/p2Ok6HwS3X69T1vosppW3ff5uXLz/+UIpihaSpXur9/X3XcymCBNu6lVIYkJGavpbIqaFzriUzfv78OaVE7AEJkKrUrusC6fPzuWQYxh4Ro4Mfvnx6eb4AIYCWmlwk55EIptCrymEM+54JrOE1jeF5vV7bKfbw8JD2IiJIiRkBqxoOw1DKxmg5lxBcKbsnX2odhgEJrJond3c41lrXdXc+ejGqlHMlghj6lCHGCNAEtRhCXJezSgkhPD8/exf7vt+3DEZS0Tl2Dh4fH3/5+7+jgOPAVL3ritRhOqSUlm0VJcc9YUCMudTJ+el4RA6SS041Bm+qQ5xCdAwMAZZlEUEwkyJo4Dn89vLrcTz203TophDCHvZSEhGWktlx6GI/DiKgCsERWK3per2ufT+Gboqx37aU9hy7gCrx+HS9XpnCvhWwZgdSQyDVqlpj9KrVOVKt+76q1lKtSf5EKxm2ma3vewZGRHVQa91z2moFAM65i/14uEupXJf8EIc+9J6QoH79+mvOWcS62HsXtpRda8M85Zxf3659NzYHbo9Y97zXhVEGHvK6m644X5G76XDnVOyDpE5EADcovdba9ZGZAZioSbuAiEw+uKH/Acxo39jYKR+4O75LRWut+K4rfYfJbwDAR89tH8Y1739C7zqAD1wf/2Ar2dYKTaun7xGS8IevG2fmdyPI2x/eXjzh//9vbHTt9rJLLTmX1iDWWkVv/irtt7+8vTK5vo+92L7v+753XXDO/fb8DABdNwTXfF7JcUyQDaTvJ+hYtWqVUlJKW8rFVJhcKeKck/d9dDVEkbbtau/U6k3TaaIK0hy6zcSzY/b7vjvG+1M3X163fTfrvItddKUkT4rsIWRmKnndhB+Oxxi7u7sT3qKN9X0qpRCC1tvCRLUG/l3ekHIKIfR9RETneNvWfd/1PcjWob0bAvj2+UzTkHNmvik8mFlE9n3lEKsBkjEjoBGj82ymIXDOpdaMyLELCtIwMFAhBGYGZkDynhSwZBEtYhr7fpyGZVkE9OnxQUzmeT5fLzH0Loa2r9AqSbWlAqeUUs7jODZC/77vANRc88dxyG1fKLws1246BR9FoNS8riszTtOxFnXsvPcf73TdNr65R1FK2NbBTYBLLayYb2TrRox5X+fFum4AN/PapluPMZoqMzUeZ1sxNXi4lIJEw+Rezhdmv27b16/ff/rpT95HNzgRyTnHGLsuPDw8NEGF1JtTU/MGRYSuC0+fHi7Xq/dRFYiAiC/XMwA8Pj0pxb7vHx8f931Xq4yA2McYzbCL0d/74yS5lnYdQY2R2lPFzM67xili5i2nVOU0HaZpSimltDFQCCGga0u2auhuD1wz7kDEltgnzHw8Hg/Hoda8puUWpVwBUYPvAExERYu+f/2xPtSqKRUEBxCAWESM0Plbc9z0XiLVbpzFm3suOfaB9032rahJA5IRsYoQkQudiCKSKiZxtVjfB++4mh6PnQpXKIH9+fyL93Q4dqVswY1IksvWUJku3GwQzUyqIXEDfGut3nNbm7Tf6Mgzu/IHt2BE/qMjSjOlxdtisy0wfdeRvWcAt6993wy89y7EscX7Bd/imaMpeB+GAVsUV+OsG8I4TGmXLNAbMHuDtm2/fXSt4rXCzsz39wctldD2fTcR5xyYlD0R3q5IDAG0qlZQI2QfmwWeM/LbtszzhiQcyKbDeJheX1/Pl5mcdwZV6tv5wsxP/dPnH37c0r8f7x58GBD58+fHLz/8uG3Jex/IUMr57W1ZrhW4Gw5VJOfcD5NlfXl+3rttX/bXyysijn3HoTMzMwFCBfM34EnNABGVkP4gw0XEZvTeziznSJuFjtnXr1+DVecIAKTkbUsA0MIHxnFsmZcxxpZ8/Ouvvw7D0HXdTz/9tCyLiITILfy8lZ3T6dSIHyK2LAsyiZSu6/p+XNe1VnXeqpTlWpq8YVsKEhyOQ94x5+xjjKEDIKkFABySmjaRersKTV/eds4A0Ngm7a/aW1uWpTlPN0fwdru2AtUI2e04aHxI5xwSvL29hNCZYaOAjuPgvb+/H9/e3lp6ZcvKYOYqKJrzJgDQytfb2xsieO/RmnPajZjadd1/2HS1h9TMOYfee8cx9IjYWAdNr9+eJue8SGFG0SpaRMqyXlV1mqZFV1NCRO/JDNS01lpSNjPPRAQ3KITUDL335FjX/XA4DMMgUqqZiCz7dorv6dQgH4ZgmvZxHNvnZoYm2qD9bUuqmtaNQzwep1xknufPn394eXl+r41unuf2gbQLxOScC/04Fa3MwaH74Yc/vV1ea80IiohSVVCY2XuWcsuAb6Ayv8fvIOK2Je81p9qIdqrVe2+gh8Mhxigl/ZF103RorR6amnNMFHLOKaUYY8EGR9I49b4hC4ZDDAxIYIEdAHX9kO/yZZ5Pp9OXL1+WZUM0Fdj2/e3tZVv3X799PRxOtdaf/vyXu7u7l5eXbU05Zcf1dByBonfReWIGQD0eOtFyfTuv2+6YqhfM6AbXdV3Oed83Fem6UGu9Xq/btnnyrdXs+/7QHc7n8/V6ZmZTPhxPCFxr2raNUZjsX/7lX/wQHomn8RRjH2MvklLe5/niOLbnuqH4MWJ7dlRrzjUEaE90K8jOOTPFd8Fh+zCbiFa01FrJOTFV1fYtpZR+GBFo8EGyvr6eY/Shn1RbKHVUTcs6Nz4Ygllzjk5134vpGjvf932t5XK5lFTQ32ScuSStyp6I0H2siT9ek0gRKWq3jS0AMHsiMBNEs/fe96PBfT9mbgTc1oVUVRRpQH5bW6gw8Y3HQkS3VfX7T/jgDLQd8f/PwfxxfiC2Y94+8H73HnWp726a7XjTdzrN+1HXun+sVkmgpa6+/7mK1fb3LfK3KcDaVVS9XaQQewBoO52U0uFwiKFD5PN1aQUFABpT7fOnL30XRKTvBxXb97pvSlDNhNCJiBnmvKeUYm/BMZIjh4aqVqspskPQvhtEZEs7KbkYqqkpRB9KzS37upZU8s4EAJDzzlEen7p97/W++/Lpbhp6QF2vKcfko1dGF9WxtncbfDf2Q0pJpaSaIUMr6F2IzWcwpa0UzVId0sfHu21brVlExmloox295159fPiIBqDM2DbIMUYzqbUAgGhh41qzgiIaMWotZkJkJgJYnScAY4/MJKYilYiQHYG52CEvAACEUsqelnXX4TB1FMXqltYimQPv71Gv5G/qOm7BMczrsjbKWqm1cWP+QJDAbdvYISJ4T6ry/PKVQvz06QfnGZBL1nXd2j6qmw7tNiC6uQu35FoiJyJE7nAYDodDKWVd531fx6G/+anfAtg+DoOb1Zh7t5dqXJp9XWqRWoWwmtlaNwTa93069C2mkZBLrcy8rnt76OZ5boncRNR1gYhSSjEMw9i10cy55vEK0YWn+FlVmdEzG2KMbIaX86s7PTTyAzFIyd77xq4mdaraD30tcp5VqoCJZ0eMxGBGzrH33t2ELpCqrOuKwKfTKfiukYbNjJHaaI5w05OoakrFewghOLZlaa5+9fe5G6RWKEVM4b1yZQ63ulRrdU7b81iyGLAPDikAOgUyNEIkoGHoELHVelVRk9axiZScIUCnYG3cQiSpoFaZPJkZAlXJuVbBKiil++vf/tV5+PM//Ok4Tuu6X66X59e3L18+3z88MQuzdTE4NlWcxvuqUos0wnrjVCCSd06sqGpKiblr+0z8g+b7HekwuzldogqAEQASIbMndk38I1Lad7F33sXG/W0nh6qUUkkNAEJ0beGz7zBjfrgPIURyIee91ho638TlW9ly0n44tHugpenZu+0sgCJSiE6S7PvOgOQ+KjOaQa01BmrmDETBObeuuWVVACCCGgiAek+hH4iUGIpUcvF0/8CMNZdc9sYYDp03IED+8cc/g7EZ12JxnIhqqVcDva4Xp3nbrtd5X7MivKDD0He/rX8XUxOFWEy0LIuI5Lt7dzy59y3x7c6i20T7R9QGgduhgkjWalYpABDQqIU3qaacnCMR2fe9H/r2+Nf38Cm9JR9L13WfP3/uumBmtdItiG2nYRhijL2Npnh3dycibUdUa605lVKOx+MPn//0888/v76cj8fOOdrXGSmeptPlcrlc3ppdzLalCBhjJHKmuO/7vucQnHPu7u6u0TK/ffuWUnp4eOiim+e5KXY+Tu1Gjm2fyTAMjXvQ+vi2X2pgRAuTbirDxuwNkcl50VKLhuhqLW+vb957Apsv17xvh+MYp0HZrWW51UkkI3btTK/inDdTM/poidolqJKRjIjIbvKqtktP+crMh9NRSo2dNzN2TcYm6zaLerOWOl6lmnPdvhfC0I03f/2UMmBFvDkWtDWpSDYzQAZQch6NPli1RDSOIzOdX173fXfe932/7ppSarYnre1ulbxB0Z7dvC5dNwBAyeJCKEVKKxxYT6c7RCylprQ2LsQ0TaWUdQZFcqFTBcd+XXbvI4Idj8dlWWpOOSdUcZ5rzaWQ45uwskqN3Dnn7u/vh2FQhXVd035LPnI+rusM0Ojpq/dj13X7vhqoDy52IfgW3qLt9quSwajWPPQdoRFB38f2CaOKJyxVmLnUxKTEiIAxxsPh0Fgj3vvDwa3rvCzLti+qerg7hRByLYjYgPbQ9UC8lxoFxJgb/xCM1VyLWQMX+2qEILUUUQUvAVnbDYnejsejSKm1TtNECI0AJmBYDYwcd8fjsR/uRUQFQujWdb3M16nz/TQeTsdhmBSsIYwxRiSoNYvY0A85lev1SuRC6FqzmnNzi8qNYNKmtQZzNAZsq8z2B7cVFwIz7zn1fR8Bz+czsWvGXEyeIu65IIXD8R4Rp3HqulBKeX17ad4JZoJIhDQOg8i8rkutMYRwGA8xuNfrpaRrzaWVYkeMBFJ3Z+860eYb0GjK7Kgbeu99w+MF1Zo3fAVG99EHt8p+K4YO2wP3MeUrQlPyfTTiZs3Ptzk9kYEBITcmoiiAIICBWvNUM3WEzUaGmNtRLWIA8lErG830j4g7vr+GorcTmvCPgwG0ZYCqAgHcXMJMpGFYqGJmVuXdzN45LR9GSO5ymYvYOI7jeGhRESLWPAoJP0zNeRgGMBPJtbQUVjIlbriXhdYrprylvJPjLkwKAggGtZoRuWYOqCUjUzMcHA4TIqa9qGrzUb4hIuxAFCgHB6msDDKOPITh8XF0SAjgKWxpR7Zu6CsaEhnyss6B/brNOWe1eLlcvn/9plo/ffr05z//GYBaQ9kuYtaMZiG6u/sfAEC1Xq/XUopzt6vcmmDH1FQg7Q+dc30XUkoIzb4QYxdUoEo2ZUYjNkQTTa2hZMR1O7dr5zAQewRjhyF4y2CgxN75yCEzQK3FahUtIdz56FJN1SoHVpCqRUH7vq+q87p4FxvUVHNprurDMAAiM7e4B+99ramVGB+o6wJAyGVft8vl/Hw6TjGMhOZjuK7ndMl9P/r3MUa1ehdi7FIq+577zvfdeDz4GKNabeLXaRqX+XKDN8xuLcNNZ8M5kaoR3VhkItLsK5o1TZsPP77YM0AJIRSpqnY8TrVI7DxAxXfhLACwd85RSrquK6AwWwghRp8yAoKBxeBUFQFzXlvfQOhKrufza2OLOtdcg6AUQRVmMlGxWmqpac85I4Ej6saOuUlZWlgmoZqIuUgI7H0EIGDuXWx1v119BFCVNlQzBQCoVU1zy5qd58vb+TXlte9jtfIBJbRsP0DMZaPqm8ag5GJaxjEARHYaOzTktgwAgGbw2qyQRIQIGl+8Fisl1feUvkaiAIBSKoJPJEAVsaDz3sWU8rJmEVuX7fvzdp1XAEX4Xj5/7vpgGC7za/3t9T/9009SV9G1i7HpN8DMEeZUGtrK5LsYzdDsphra9zVnaqCDI36HHQARvY9E8oGSwvuqsHU59J5z1GS4taYbCAeEwMEzIpYqJRcrVbWOOHrvhvEwL/P1OjN1d6eH6MDMUslVS9d1tZZa67al67zlIn0/NgEG+1BKatQLERmGYV7Xr1+f+xAP09Aec2as5YZVN+BFxBCawRe3lGURMZN+CH2Ifd8jQZZ8vl6/jOPY96WkaZqad1MpJcu2Ltef//43VV3XvRaoRZj9P/zDT3GIRLpv57peovOE1gIErstFiuaavPed77DmcRjeXu315eWlHx7v75oBoSKg41IKOW7nAiKaGiK0vQ8YqVUA55xjArpxlOrr2yvI/vnz57ffktQqJb/vsiDGFu/6+2m4LEvjxb2DSng6neZ5vp5fGzed4BbruG2p1cZxHIl5Xi61KhDG2JPBsiwPDw/exSbMuDs9COC6rjcAC6jmQu52V3TdbbRo5aWBharadd22XppgoJUIJLhFsou1Bih2odwCLwkR13VH5Fo1BGuimneLD+99NFMzPR4nEZuXddue962l7dwQvGVZ9n117vc49nEcQ/CqLUPQEeHHX7WxR7SEEJrtSdd12kz0izhn3vvzfHFIbZ3YJl6RloEYc9pKmZnJB+7i0D0dPPq366yqTfCHiM4TolcVxg9hd1v1C6qY6XVv/n037uswdKDqnHPe51LYOXK3QLfj8dggvLKnNe1NOxBjBMO3t7fNtgadfKDp03RMKZlBKTc71HFsydzVOR+6HlJ1Ie6pUJUquVNK2zydhlJKLbLvGbQe/NBQhn0r43gYhs72sm+7qp5O930/qgCTf7eU4BA84tguRlMF5H3vh67r47JcAdR5bpGopr+bi8SuCZrIgPZ9owp9iE0U4Rx5HyrVWqpIFkGYL7XK6TA6RjQb++gIPPPQheuVuAvDMCzLMgzTsu5fv37/8U8/PX76UkTH8SCihLjtOaV0PE3MHhjMcDwch2HY1znn3RS2LSGF1oqA3XT/ztHx+IgmKSXg97h35L4fRex62XLOx+OxFkHkw+GesTw9fe6G3rsgYvu+mKj3TIxNMeK9b5jX58/343hoCHpjnDdry/ru5l5KcYQgSgbQEumRhtg5YgHJe2rCs3Xdu2F8eHi6LvOybNM0VbWU9n4Y933fVymloFJz/kFE1VqK7YtqCKEfnCMw1VrIdVKtzc9j16+6A1TPAT2rQsp5uZ7/EBClLRALiW4GQHazcHFEbXnaYO9mAwP2H0weAc1VNTQlQADCW1xwK+H4AaUTupt3xB8Fr2bwu7oUzLDd6Ij87lnezPOF6OYxH2Nk8gg3Rw76Q3Tl7yC9EQAQ0sfrVDVkElQDaVGt2HB3VAAi5JvbxM3xvYWfU9dZg83aj22Xs70MxJtI7nq9spv6vr/kvWVwAtDLy5tjfHh4yHsK3teq/h1OdM6ZBecpRKc3pa9okWzVuxiCz3X33rsYWpmLMbYwhW2/QZKIOAzd77MKODM7TePQ9dFj0xb0fccuICJ6AhU1UJV9vVQOXRfWdQaVfV1y3tujnlJqrn+GEKJjh2kt7cK1G505pJS2bfX+lvpJ7AHAc0tYbIQnRcJWxcys1qKGzFG1mjEyNRGdagWwUndE9LH7cGXhshsMSFZFcuY+DqiIQKEb0MC0lpqQrOsCYEW0UhIRDMMATKkW51zf96kUQ+q7MfRRFPZ987ewz9tt9n5vU2tKWid+i7D2FGPc9vlyebu7cw0KHYZh31JzvHmn/aRmh4Lga5nneY6xdy54H0uBps/ruu50nNqel29xqnAT6UvNOZsRQI3Rmen5fHbcdRFDCMMwNCX7h4FAjJHZbdumCiml59cX710q7NkMBN9V4PSeYZzSDlhbVpwaEDnvI5IY7LXmdrZ5121bvpzPXejX5do23d6Rc44Iyp4AoFIxQ+cCKMTAVawploYYkCC/ezqZmQKKARqOh6NzjoDNLFVzoIAeQKSimTRf7fZbEDGlrU3I708G3AzRLDXnSRETkSrFk0c0qUbYlPi4Lsueqvcx+C6MU8myptyQJ8MKmlv7IlLaZsB5UmEzZyA555SrgQTfmZqIESBhXPfLsizMPB4PYLTvxfvogwsR/+H+p5TS5TJ//fry448/IsTn79cM4evrdRx8F8etrJ6oi32tlaAeDodaSs6Z+UZBrLUOnTez91zk27PchrpbweS2KfLBd2amUvAdG8Z3X8s2eCCQKakhGFetquBcc3ziGlzJjaC7l8LtmN/3Ml/XIvjYyLjs97TN8wzkmbzzAGh72lTBuaDvSqyPr3aVY4xwQ9bJEzVxYcM+iAiRRQQBHAfTKmIMUGsGK8Po624lb43F6zz9f/6//6+u6758+uw9//V//A9E/Mtf/oJQyEDSMi+X0+nwsjznfX94eHp5+3mofd857yT07JHOmqXgomfPrAqD52nqARTVULef/vQJTbrgg/P2vs4FAAXDZtYOWETMEAnwQ5pstxOEyXNEEZE9I6LajfnpvYsx5n1/nd/MsPEr2htHxA/pyweT4cOx4P7+vunXDRkAWgI3vKO8IYQ79yBaGkfuh6dPJa/bthDRsT9IqZVqNxxKVmKLoWPmeV7JMRi1GOaH+/t2wqV9jyH86cuXFrQEAI0G3X5dg7pUtRZBxFLKnrbWvW3b9o6+m5nlXAHg7u6Ombdt856FSimCWA3JDEvevfddnC6XKyIhNDFYMasPj3dEPQDs+34+n2MMzRigFTQzc+/zZ5UMRQFgXdcqUkX6vg+hE5FqCipd7J9fvuMyf358MpNlnkUKM09jbOEGzKgCtWCMXclGHJD0HRNVIiLTWmubr3LOt6CG2/Sr3sdcq9VaVapKWyzUWotUHxgZEOhwODSbIfIOamXmmvKqtck6wbDv+1KkbT903dl3GNy2XH3ozKxkiTF2kQ+Hw7Yvl8tFVdk5728Sr5fX3w5ThwalyvUqiEiI3kcpbRIDH1jVmBGBui4QciuY5/M5hr7vx74f9WYrvhM77xnQAHRdN5OE1HnP0zQ1FqW+Z0HEGG8R5c6JllKbenj2TI6wlCQiaND30nUdmqpHIVTJjqnWnPOOuH369Ml7n/PedYNI8UPnbg5CJUa/7/nnn3+N/dh1A4LPOatQm6mICICkCgCwI3oXYEjJzcjlhnDxLaW7HQ3D2AVkEUmpgdCOnUs5O/aEHHw8r2cEjiFsy56Lrs/naZoab62kXErGis6zSGlhTE297ZxLKdWizQ2rjYiqtZSC1HbCrg3J8h7MREQ5Z3LpXY9EiiBizkcEFmDvOlVd5ld38n0/vr1d9lzcsg3D4BRKKQwWfGj3G6Uco/dkTZ+a91LyOow+Olb2VZSddz6YIlhSAedcaO5XDZcSuU3DyOR9DN43DoCqAKpqRfTv8Pk7dv5uN/7RxPPNbV3NjNh9HE6NAFeKlnyDsZEYgcGggTSAoJo+mu+PA6O9pPaRNYKXd7Fd11LLrWV5z8a7karJ32wW/vBlZs4RoLV5gBue15wF7N2eEogI2FnzZG3ASVsgnk4n9rHVX88OgBpQbzdOEQFg3/eI3IiAqmotOtghIpvBx4LycDgYVEBHZgrmmBAslVyLSRgK8sv57eHhwblbek6M0Xm8XC6At4C9BmA4vjk1OjAzC0P03kMrTaXWWtH5tsch7wislIzebfsVRJlgGDvRkvLGxmPXR+fZoag25sO2bW9vb22LehynWmspNyRe3ymhzO5jcBKRd99MRNXobknqtahqLTUTcnDBOQYUM2oXveW3gyW1rJZBSZTRUGqtAl2MbR3vQmTEnBZCZ2Z933U+SM0pVxcDEX3//n1Zlh47Ae37PvYo1bZtaxZ1Xdfju9fQbevUntVah6E7HEZ2eL1emPFweFLVXObL9dz3h3E4AMvxcIohGTU6ewt431MqaojIAMTst3Vfl63kGrsQQliWy8vr97vjIef9/bPi94FWVUEVazGV4j35gDmrqqZUW3Jem5TgPVJ3vl5DCPOyMnORer0s4zj2GJsTlIgA1eB+t3AteUUi730Vm+dVqsWh73qPUNdtRkTPARSl1LRt67wdjqEU3rYFAfo+9n3XnDTWbXfOOUc+eOd7dLquGgKzI1UFrYrc5gW7hex4ZpZqRhacb5+5mQmgIhnYO6nKORfMrGVQN85oyjszIrb8TgTAWyTmzWEWnXPLul/ns1RTJFWQDdZ1V7t0qRK5da25yjiO0TFRrJID+/daRI3Lh2ROKKXUXIpTSn1/GLpTqViylVTznkLnTVIter1eERyzl7qCOgJDtZzKvqW05/P5/Ndffv7rX6f//X//z//ln/+CjLns6zqrVpD9/v7eccCIZlbyjZrvyNrQq6rY8mUa6Ojc+xMEtSi4j4ZYPtAN1dry1UXEgEGxSXhyrqWkUpLzPHY9GRA5dhKsI8J9TznXbdvMDAlrUVN0PnbdkFLZtkROt21HDHen0zBK2rPCTX31sc9EshaYMo7HmrL3ro1rzbXdOYd4Y1SWlEF/L9eqQGYp7ft6SbtoBWauIr7zZoXROw+EFqOvuby9PD/cjSKFqHonnkrf2fVyPk6f4nHItYhqWdcpetPycDdWcL/88t/COB6GIZWMurHrcq1qOQ4Pp9OhnwZEa449NxZlk1ohkaGWYobuDxx30xvBXU08IwAY4ul00MLreoYPOzUAEJVaGSYGTNtORON4gNhd16WF1xABInZd1+xHmEOtVQUUW8Y7MPP9/X17ukWL9x7qLedl33cwid4V5MaJQrJ9XeZ5maYBwFJK25aGYWAXGuLQzAaaJ0k7Gtq91AgAzrkGJf729dd1XR8eHhorhonb+jFLyTlLVWbOqRyOUysjRC3odP/y5XN5z857eTvXqjHGp8cTEDp3D8D7li+XSy6p6/zpdEAILUfi/v5uGIZSSkvBbE9BM8xGujm/XS6Xw2EEemfeMgGYFaki7IIPseaypp0M2LUQ7vVyuQTHPgQEKKWoZBWuSS/bueu6GCMRlKKalQN716m0jLPCHIKjYgZGLaMAEXPO/TggYqP+11KKlpKKIoQQFKGaXi5vpRRPvg1apaZt22rV4Ftwoc7XqyhsWzqconNuXfZemdgx+xC6hnOP46Fk+fe//9vl8nY8PHz+/Dl2/vHhLkTySMvlmiu3biRGj8DzdamysUPCME1TFwNVUE2mN+O+19f2fru+77z3rdC26369nlU1eH+9nkXK/f29maxraguE9x2fqUmpWnNSVWZCazbHudacUupCn/MegmNn/eBUaV2SiEFjTEBL5mmdoRvG3ghrycSmIs7RNA3LnPO+S7Fd12EYicA5DiHs2/Vyfh6nqesjFColBUegN3p2yU1xgara5kZ6TwpvmWW1JkTOpXiAruvLrj6GlJKCmeH5OksVh1xL3rfM5J0nZCK9UTpFSkplHA9M7nq9blsiIu9i4523mZOIpsPYGtFaapuB8V3+wcw551zSOEyp7LVADB0iplRiGIA45wqgtda3t7cvn3/Ie0K7OdGZtUw3akdr2+QMQzcdBmapmbZ1c515P5BKIc5JmvqyD3GIAxi1uvw7x11V1SoizvPctzA1QmgMFhDEm5CuNccfnXprHX5vYfFGQCciI0NkotsWr4EQjR7N77bQ7be3bzdFUVUFBIbGeTMTqe1n3tBlut15eqNqyR9Bu3ZmMPkPpN/eyfRmxo4MANWAfn8Lv29ODc0M3mnxrcQ0HL+UKrIY7gAQQtc5j0jv2Wy3EX/f92kcnXNl31JKfR994Jx3AGs0JiZvho0PY8CiiKCs5ogEzETTli44i1yvyzIOB/XQgmx00oZJA3ozRbVSldjIblFhIEoOfXANWyEXwLElKGnXotu2xX4IIbBDlbKty9gPRKBaVfU4Tg1UZmaR2g5s2cplma/XM90MH0sb6N8hnJtVsw9OVRkbTfDm8g4A2nJYBAAsRFcqaIutjgcwIjYARobOgogAaK0JTJsDgEhBRFVpyZfogqgwoPPeS+z7oe9GJWSiVMq+pymGhmT3IYKSBx9DBOJ1Xfd1ByB4X+mE4L3I+XxuLuAppet1Hse+67qUN0Ri9iJai4YYyp4ul0vwnSfnfSQfpFp7pFXBFKrWXMS7jsn1Qzdfl7e3S87fvOfHT8cQwjCGtqd2zpmlcRxbZlMpzcvE1VJUtUoOTM7jtmzeQYzxfD63FUHTHYrIOl8VoZQiasUUCFLZfR+I+AOFlWotEOADLlWFZV1fX+ZcrVvL8XgYBkSIDFBKuV6vjrvDIVwviwjOc845O0bVwtiiZqyUzSw0+pYZOEf90P7TmiAEEYuWUgTBM3sUqUVbLmbfj957NM05iykAMGE1ADFRMEUzaHtVIhingXdqp+MwDM55MzTLhGLvYkEA6HpUg91qFztTRuZcZL3Oyyv4MADGqjCvK41x7AhVcs5NYoGkgR2StWjgPvi+7wVsW4v33oTfXs7fv726kGMfprEH1Spb3q/zdasGfXc8HgYV3tYkUvf1Klpih33h+fz87//DTyEcjgOjbOua825SHYehj8QGLQWaWARz3gHCu1JZcs4N+GkNnApw02QD3KRBqmY31WArp43hL2rblqyScyFBMRBEyzkPsRMBJG3umt5HFcxpORwGZr9nyUn3W2vuTsf7y/q2r3utOowdsz/2x73LwXdE1EgFt13BezvY4ChV9d7TO2rjvTdt0I+vtRIYItSqtzaMuUpelqtUjL5zjlLZD/3wv/4v//m33377/u3XL59/+OnHH5bLdVmW12t2rtln+ZrT4e7u+fnlX//tb//wz0dCx85714OUknM/Tt0wOHx8eXstWSRLBnOq21b68bjsi+u8CyxW9cPaEh28y3IQ278wvZv6tUnJe++d11qcYyLSutVcPbPrPNe4Lsv1ev3H/+lHuNi+N2dG3+JdACCEEGoxs1orojnn2oRWawWTw+FQsuSc2ixaa314eDATM2AOH4dgrXVd15wvWneRPI1xGIact+t1NfTbhsy+2SKrqpXSPGdzSh91YN/3ZgU7juO+z/u+t6O2ka8aWtEOUCaIMbbAnYZotMk/+Kgmraf/8D28XC5VbRimzofqoAnkDodpo3I5L103dl13vrwi1RACUycirUUz+13/1kinpRQDAcDWJ+37/vLyMkxjM9fb933b931PRNSPp64bNtvWZUOzaRodNyMgHcaBCNqLJzJTCuxCCCJ12zYVBwBye6eAQC05iIzACIHZeeegLQBzLZ0ZM28l11od4TRNjef2ThzVBiTO82xmx+MxF8P3dXfrE7YtDeNhmnx0vmQBoOv1Suzu7+8d+0u6vL29ff78FEJg8s5xLusyXwzq6RBBS7Ga9llrQOBayt3dncOme6uiGgOntO1bKoJEAYzbG/c+1ioia845BB9CEC3Ns+t4PM7L23x5LSVt24JkT09PYL7WClYJuRb56Ppc9IfDxIg17znvTZ9aamrDQC5biI6ddwiqvK57LdjsidSkSg3RA1oLBatWicg7KrUE18e78Xy+9rFf13VdN2Y203EcG7e2ZK9Su+DMLJW8rrOpApiPzjkXnXeEKTcbzYCIzLFtgEsRH4ITERFmKphDGIixCXMtYfARCf5091BrbaErABC6SICqCuhLKe3cKVlbykRrCZqTxDAMzNj1sZRmcp+bx7y+izBv89u+XK5ndhHMAVnsphC8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YF2mHBMqYmZSwMxxC1rrcRwNqZQCgDjnlCatdck1l1o5e+9LFSRwXg/dHq91mqbdKCDUOW+dps5enp9+//rFOuW9ZeaffvrJWvv49G1db0Z7ZiCyLdu0ZDbGxMipsLXWOC3LwiCNhdrCvP9QxSiiP9SDRFSFEREQWvreW+sdsWFwc4zfw7UxxmhVsdZGpbZtorcnQ8UYS5Z52lAaODi2c6ZS6uXlqeu69u2acaiduqWK1fp2u3nvT6dTB8oZW3NqqKJGf2cur5eXnLf9YdSmwSuL7/QP/YccV629930pLyGE8/l4PO53u13f+1uO6zZrq/u+H8cRBL337WUnopK7H3/8B8D8+PT3eV2Gweea+j0/3J2ZufIW5kZAp1pFWB2Px6YYdM6UkmoFRIgxaKIYQs7V+n4c96Xk6+U2jnut7G63q5xjjNNtFUaCzpm9slUgAVKTTrWqnZlzCkopQDUOB6nl8fGxFH59fX338UOM2zw/3R1PHz58WpdrbcFSwl3fdUNvtLvOU875cDr2vrte1hDCvvOXl9fD4QAgTYpdWby3paT9ob/d5qenb/VUtdZd575+DW2yer1enfXe9973CnU75LCY1l59fnp5vj79ON4rZcZxP19vX7586TrvjPW222B6fX1Vyjw8PCiNKUeRrvU3Y4zW+sNxL0hhDSpiUEEZ3Y/733///d/+8rdffvnl008/P357SSVrrUEo5eBc11nNkkNITb3T5lQg1CKla83OueOxi9s6l5gSLss8LY+FJ6I4vD9rrR8fvzasIWA1RoewEKneW2Xcn/7007qG222ebvPf//brfn8UqjnHEELn9gIFOPde2V4bc/r69es6zV3XWatbu2QYBhHRhuo1W2tbcss8zwTYjM7aGq31us6g7Lvj4Xi4E5HPX38vhfu+J9JhCSXXlL/E/eitbtVCYxlXFq2VQMlFxs6j08JFIaSUcon9cDjd3T2/POVUXddXgffv34OSsOWYi7PGOkKSUioIbdvyfQQnAtYqfb1cQTQAdZ07HA7N4CciIYR37z78t//233799df3798bY15entpwG4B/+unHWuuvv/4a1jXGeCH69OlThDffec71fH/39cvjtK1rDN77PtcqUEqxWh/eyDn1y6+/d72e51uOaQvX6+1p6A/7g9ekL9Ps+m7bNquMANZaf//179N0vTvth2GXc3x9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0yhvbw9BsdoftDabT8/y7f09MP76+joM+P397fv+IQj4s2fP0jRfN/3lxTWlFAJ3d/+IoOc8PJ1OmIzaeOMcJk73rutq59z19YfaWWXdZDqpug4h2A99rwANWSdb7FCUzCkmp/sTBK338P7u0UA4mziCEoQgj6umtUrp5y9fIOittUVRhOFH797/8O13X52fn//ylz/76uvfOQfHUSppoihzVko9ng77iM0whVGcWWcopZeX50Z7CGGWpG0zzK6my/lit9thTEOeBdcJjnXX1t9///3Y9VGanIHrUchyugRq5JwYq+p9ezw1QZJ7FA5y+9knEyHQf/nrz9f7DY3Mf/iLf3UxK93u2B96zvknP/rs9t3b77///vz8PI7jzz//PCyif/dnf/6jTz/7x//2uyjMiixHSfJ//Pq3D/fryTRPg+TufqcHwTDa3D28evVha2ycF6ts6RF5f/9wffls1A96NAj0cZoxGmIUaOFJxssyu795H+YpIUQpNZ9MGQuqukkny8lkcjq2T1x5ZW3XDlmaDsMwDIM2Pgiis7MzznnTNI+btXMGQBeGcRRFbdtuNpuAsjiOszQ2xoyDHIYhTWPC2W53yLPSWGitozgYqvb3X/5xefVsva42j81PPnnz7//Dv+u2233VxHEMpHp4WANvFr/8CWAUY+qAhRB6ALz31jnnIQS+6zrGgie/79MJkhBinXnSgBBNEEKjUpxzRvFut8uTFED/pKRFlAghTm3NwkhJxxnRWjroCcF5Xp5OBwihszSJc621EELrXssBPwHivdjt12GYC21mi0mShEIMQgwY+WHoKAvT4kK5XIwHY5q6WjPGvYPGuCzNb25u+m6QSkg5zufLYRDjOE4nsyRLIYQAoK5r8mzedqcwjo1T7X6XZZnSMk74eXbhEWi6DjNkvAijgPJQjQohzxir67ooCil1Nwx5NrNGYww9BAgzC+BktsAAdm0dcDabudk8dtAmcQEc4mSKkXp2VZ4ONUXuww9e67F7WB/f/vD91auPCQuSNBv63jlfFIUQAmM6DINSQ0DJcnHWtNXDw8NsNgnDsGmaKIqcsWVebHbbrmnKslTSnU5tkhZitLtd/a6/iaMiz8swjD/88GMpFKZECHU8VGFoIMRBgMdRWWutAUEQIQzu7h611kVRtG37+eeff/bpz58/+6BpqqZpkyQmhBRF8fB4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9x/rz6pvPEOF+HY5b1abjJaySCRizDayTd0Qset1rKuWS6VkraTMJcZol3GHiFSth8la65qm69q1EFlhnm3hJFN0OQcBCgottjaOkkphjOVMhRKXiohiCCFGViJjWRsZk/PeCw55wammZGdfV63gPOcMBSTnOXk7D5LJBf4tsuASgbGcU4wi55wBc05QSgGWgQmhYsKYaZoT57yt665jFH1M1ntbVVXXVrXULBOFadUBgA3hut1uQ0jAtGkqltk8jH62KLQSRnJFwEIIBiRw4Axq2RrTAgGUbCR++viuqqvkpxgKIpRSfPQcxWazQiGXJevd+3cCYVk8L7NOznm327VtlwuMNiCHy+QyIEOYpiNncLff7nfbSjtgRGHOOay0Gp6ffv63L8/fvwkI9GHvfbZuzgicc6N1iDRers/PTz7M/ap+OZ8o0P3NrflQ1XUthFiv1+uur0ejpGyahnOutS4ITdPsD4ef/+xyjplCyY4B71p+udr93rjZImen08kF1zSN1noexrfnt3bfIzDGWLCzn6dcGEqeGVW1nOahEmqeBjdM0VnO+dX7um0455e3Y2HsmrK1PsbY9/0xX6fx/O5mK2WBTE3TaS0B+Ot0DcE9vz2v2lVlRM6WlcCREUUhmY8x55xKKhm6upFCUA6M5ehdDDmmVNBIraQ2gCLOU4HMOeS8POuS1osToDAqMUbOW44coHjvlRSMlRgxpcTY8jechcCua6y1JWdKgQqV4pGBaPnn9+9+/fqLEgjATqc3IlqvVlqJRGy97q+DTSm1faeNBIqnt9dq1VH0sw1K6+vlpLXu+66rK0SMkcVU6mZFmS2nBQCw1sWYEDiXKqawJECHaci5aK2v16tzzhgjpRzHUQhRAhRgKQZGGQFEyWGylqiu/IqvcobCKJdYcuaIUmHyYelbYIVCCD74XBIiGmALcSinEKMvhYREITgwXiBP0xRT/I1j46/Rs8s0bTabum5LKYxhjEREShkhBKUyz7O1dpoH61iM9W6369frFEIuOVLmwBbUIEOAnACYqisENc1TzglwEYVZXdcx5fP5GmKsmypEH+dYmfp/lnsv0dhVj33fcxCLe6cACyFVVTfPc4y03dxsNjtrvXfJlaSUMMY4l52bCUoqOYTANMYYF+PQpum898fH59PbC0L+x3/8d/56jiksywWBMiR6O592u93iSp+u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\n",
-+ "text/plain": [
-+ "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=1000x1127 at 0x7F71547278>"
-+ ]
-+ },
-+ "execution_count": 5,
-+ "metadata": {},
-+ "output_type": "execute_result"
-+ }
-+ ],
-+ "source": [
-+ "from PIL import Image\n",
-+ "import numpy as np\n",
-+ "\n",
-+ "im = Image.open('/usr/share/notebooks/bnn_examples/pictures/deer.jpg')\n",
-+ "im "
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 4. Launching BNN in hardware\n",
-+ "The image is passed into the PL and the inference is performed. The Python API takes care of resizing the image to the format required by the network (Cifar-10 format) and transferring the image between hardware and software."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 6,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 527.00 microseconds\n",
-+ "Classification rate: 1897.53 images per second\n",
-+ "Class number: 4\n",
-+ "Class name: Deer\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "class_out=hw_classifier.classify_image(im)\n",
-+ "print(\"Class number: {0}\".format(class_out))\n",
-+ "print(\"Class name: {0}\".format(hw_classifier.class_name(class_out)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 5. Launching BNN in software\n",
-+ "As a comparison, the same image can be classified using a software implementation of the algorithm."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 7,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 418664.00 microseconds\n",
-+ "Classification rate: 2.39 images per second\n",
-+ "Class number: 4\n",
-+ "Class name: Deer\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "class_out = sw_classifier.classify_image(im)\n",
-+ "print(\"Class number: {0}\".format(class_out))\n",
-+ "print(\"Class name: {0}\".format(sw_classifier.class_name(class_out)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "As it can be seen, the software implementation is several orders of magnitude slower than the hardware implementation.\n",
-+ "\n",
-+ "## 6. Detailed Classification Information\n",
-+ "\n",
-+ "In addition to the highest ranked class output, it is possible to get the ranking of every class using the `classify_details` function. To run this example, take another couple of images. Here, a car, an airplane, and a bird will be classified in order to compare the rankings."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 8,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=64x32 at 0x7F701EFEF0>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ },
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 528.00 microseconds\n",
-+ "Classification rate: 1893.94 images per second\n",
-+ " [CLASS] [RANKING]\n",
-+ " Airplane 258\n",
-+ "Automobile 417\n",
-+ " Bird 233\n",
-+ " Cat 206\n",
-+ " Deer 238\n",
-+ " Dog 215\n",
-+ " Frog 222\n",
-+ " Horse 238\n",
-+ " Ship 236\n",
-+ " Truck 249\n"
-+ ]
-+ },
-+ {
-+ "data": {
-+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEAAAAAnCAIAAAAw+tlrAAAPI0lEQVR4nG1ZaYxlx1X+zqm6976l+0337KtniT2eycRLHMc2jkMIO4qioEhIBAkUEIqEEL+QAAESIohNgFAiFBQhkp+QOCSBhCUEjJMQEkxWJ3Zs7Jnx2J6le3qb7n6v313qfPyouvf1JNx5Pd3vvbp1z/nOd07V+Up+/vc+B6FAAFJEoBAK4iXxPwEISPyUJEQAxo9FBPFrzC4DBYABCjDeLHE+AqBBCAhpcVbSACFURISgME5vYPoHAdPdgFAMJEnCi8TJJVooQgKgiHCXYSSEjIMERPwtomlAsoeMIAhEhNT0REnOk9EAiogChDiIkRDRNEl7SRymLXYEZ3NQKKRAKPDRJjLBQ1CgEFAkOi2QCLnEWACSDGp/0kWRXVNJB7qQJNi6KqCAJDTepiIEAWoECtGw1u7oWOtEh6zEiSG+xTyZQ4glZ6WFK/Egha8lFAHAKCqMTjJ5J5ihAUmoU5J1M5TZESNilfAQgEIymUDpgGufHodAIEZ6SDQ7TgURdiQERERmtEDnehzEeCuE7B7Tegkm7NvgaPdtmz8xBN+VbrB4Z2ettGm3K586PAX0LdeZuA2KikRcVJCQsfS4GM42jDM0ughGaoOMcZ2NJCAUaIKj4znT3W3GzVISlI49AjMaRWGJYm0sfPI/BqslbvuLbYLEStMFmRRAaAm/1nfQmGidQphiDYPETGorGNsgtRHQLj/Q1g5h5BlhQO7EgaWJMTIg1RRPiMIiCCIpudnGMZCkKiFtvKWdnoQKCFBS1UxGCQ2iMgORaBOgRbfNQwqoaMszOs8S27zEi0PPwwNkivWSayWmtXhBRTMTr0LvBEQgIeIEqsgUtcEgowxeTSENZLtEbdKlpLRWKbrwQFTIVGg6liQD2yUjhlUAF4MrnQcpp1RROPQdRjkzYSYoHJ1QRQ/1sZBzXLMO3Kh0u4bveeROKsNQMfDmhSLIVAJBylwBr7EOoexju+a4QRmkoQTCjNKW3japAJhCO/q3Ode9hQhF2mil0Ft8kznJ1fbmGGbMFSqkGQ3DfgFwOm1IZII5z6mYUZyKH3hzitzJ0LHvqAJt80OEKiKpBnHgMOdRBk5qKU2mhu0GsWDlDrkKATM2JjVJwgAIzBjB7SqOCJWwmBEqhIkBkNzxQC8s5Oi5RFOSVDn7mgNPfOnZ5ZXN+8+fBjQQJB1kPuNCQR8JnSsIqSi5cjdPCTHEVRsKMdBIr1Bh4aSnWpG5oOdYODNKE5lMaUwqk6lx3EBEjDS0RZaISy+ZVgbnOO8x720+My9qFkFkE5rXXzj59PMv/tXffvr0sUPn77wjz7UJBkAVAmYOniINEUyc0huqhrTQz0RVamPuNQSUgQLxChURFa9wQgdkasHi/oIBVEEhBGCkF3EiFcWL5o65oiYmjQSCyfIUE6+Yy7DgrPDmAAVj0Osm3HP3seeuXPujv/z0maP73nDv2X6/mFZNrJGJKQK/mJlXcQoAuXMLo/mD+xcW53pNUzVGp9wcV9uTsqqbOlhdN+OdOhhJBjMjFA5KoSgcxAxCiFECURookjkaYIAT5ipGqEggQAQIwFw5UCqsMfo8gypgO9Py/J0Hlzc2f+f9nziyd/70if2njh0k6VUg4jXVLpJ+PhMFzGoFtraWB654devK9mj0lje/ua5rEfGKy9c2vvH8tb2j4Xhanzk+X9bNzk7VWAhmddNUdajqsFM2jSE0NKgJA6WBxi0CgcqQKfqOCjFYfPY0AORAfZ75PHNi9eatG8LQKwZ3nTzYMPzm+z55aGF46ujCA/fduTAa1bUVHgC8igpisfeZwns9cezEkcN7LVQW6vX1tWlZbo3HRlhTmVm9s7HQ2wm1CVnVWWhY1k1tMj8coqwHfSXYz31ZNarYGpfTspxWNi7DuI4rHipjI8g0Fgd1zjnv5wfZMBebbEi5trZ05dlvfn5rc3V+8fTb3/7OXs/92vs+1fd68vDogfvPnsym69NpXvSEFvnTLpL0pJ08duD1991ZV01dbo/Hpgt7VWxtdbmum/F4W1WLonfs0AJDIFlW4yLT4UiqJkzKnYwSSi0bVlNXN3jsgVOjuaJuOJnWk2m1Na7Gk+l4GiY1IXpzqzJyMt2WZqveWL529cWlqxcnWysrSy8fPHb69Lk3n1w8fd+Fc3cdn/vVP/lYXdbnTuy7//XnTu9cXv7i/xRv+0U2JaECWFzmKQR8lvlLL734za//U68/6vXmvMviRlfVNaGejLezPF9Y3NfL8izLVNR7l/tCRIqiGM1BnYYmOHWqKuI21tZWV01V54b9PYP+HUf2i8jG5q211ZVr11658tLT165f2bq1vLJ8Y3np6ouX/hduIC67954HH37Lu/cfvWvfEK89Nf/HH/rX9fXxhTP7L9x1/C5ZWfrrP3Rv+6VGC9ZTcZb2uaIxDeSDH36StKWrz758+ant8SoIdVlezOXFMMv6RX+QFX0V51V7g2GRF/2i1+v1+0UxHAz37d07GAyGc3Pj8bhu6BQrKyuqJDkeT5ZXlq++cnlp6ZWVm9dXbl5fWbu5vbUJyfIiK3K/uLDv0Uffes89b7x6/caDD/3waLRoYXpgcTCt6qtLa2VZb29N9iwOq3/7aF3W0ze9azqeZplX9SICmlkFCwLIn37wycxJkecM1ebqyyvLL9xae2V7a3ky3sh8FqAW9wuaD0f7vC9c1it6gyzrnTpx6sK5183PzfvMffjD7z9/4eGfeue7lpaujsdb6+srf/+pj338k49vrt8sMvVZvn//0fF4bdAvTp05v3Hr1o/96Dve8v0/nueD+fm5zc1NEe7bv9jL82lZOueLPKMR4urGKLJ6a/LNZ64wVNPx+nhrJdRjr7Kw78RwdBig3w7qDKyrQjF/4DUHj5wPzVRYrS2/9NQXHj949K5+3093Nstyezq9VW5PQ1M7l9XBXr741MWLXz944I750d7VtfWvffXL3/fIY2jqPMvP3v26w099eTic3xlP5kf9ncn4xUuXHn30Tb/w7l8+dvxkXVdF0Rv0+5Odyerqtogz483l1blhf6ecWrAsy5ombG3dWl25urmx8urVV67duGHNzmAwVwz2zc0fyBePNtnCdg0l/JQioELNGKbVRMqe09z7gyfumciTD51/6/HjZyaTTQBLNy49960n3vXTP/edZ57a2r61sXrtxee/+urlZw4dOv7g/fd9+Sv/9Y//8oki602mO6L8zGf/YX11qehlVTl+7LEfuPf+N/VH+5c3x8vf/lav18szn/k88x4CI0IIIVhVTqu67PUGRZ6P5vZcv375iSc+vrF21ZrqwmsfuvDgD26WuYzO9Xp9C01jddUYTXwg427cRCpzDhwb+8heff5r6n3ph8u3bglDXgwIPPvMNza3fvKRR34o975udt77+7/13DOXb9xYvXljeafc/s8nPtrrDxVGawrZOHPH3nEYHD+y73UX7s0KvfTCV24uv9rrz2e9fuaLPO859QGwEKypzaqq3BlvrXuf9/p979SrDAfD/uC8z4ccnri47qS3MBdsZ2fs2t19ADwJgRhgJiIIkMoCi/w7L3w7TDYrV2wGVZLjcv/RO8/fffYjf/Pn58/dO97eIMrr1y69cPHlvUfffuGt7/nv//jI00995mfe815B47IsVFvVztYXn/znIyfesFH1177znKDuZXkz3ajGSzSDiKoTUVWnzqvLRPyevYd9PvT9PXlvQYs9o3wuK0Z5f4/mfbOaQGgCwSb2jwQM8ut/8YWajP2QdNtbiHMqsTmBxW7XqVu58rUbF7+4M14HpDeYP3THw84PDxw51d9zgKH57Mc/8MBj7zhw/Oz21sb8aOFL//74333od/uD0W/8wUf2LOwjpaqn1XS7rneaugpsAAlQOC8ucy4nXNab964IsdSnNjKYNaS1Co/GRjsqOCQ8hTJTrdICR6AJFvsvFY3ShAVbPP3Qgdc8YnWlzqt6BZ2TajqZTHe21248/dXPPfv0l372V/5sML9Ql2Ov2H/4jpNnLlB1WldN0wRRFCPXXxRKJgogoN1X0BSkhaqaxE4ydo2tBKWtrMEodoEaN4ReIBq7EoliRtcgRUfEknsEYHXVkKrCugLKtpex/mD0ytUrK8uvDucWtstpb2+xPZ2cf/gn7n7jj+R5v6p2xg0pjhTQQlpILclNqYePuMJmjQ8gCkaNIKliqcNLCgAIyG9/4PMlU8dxm0CYVKju71Yf5C7hCbc1i2s3XppbPNAfLlhTtzIUzEw0rpokVWFJV+x66y7wqStOCpRI4kkrosR2X2w2HiQ9u/1tFMnanXqrsXRWdmJI636yYKZjHDxxNlgTmgoigDLF1UkLMGDWGsxWbEs9ctvJtwJienVI71LT4vdJt/RNDJXSTNCCHAUetJIoUks7cycFplXkIrx1NYWIirDDtfXeEGnafkp2spVLokB8RYG1mz8BmhTLljUtpyki3sCY8jORaVdKO9Apo94YbrcerTCSWBT7REkMFcASH2LJ64Q+IZC8FJAx+Enfm/n4PVdHNulEThEAvpML0WpRkeg2yyUhoyC2G3vpkJJu1oQsuqBLq+IlIXeXCbF33n0PU/TZykO3mS6xsYj4JJkPIHxSoJXpkKBN03ifQcwou4xvVa0uJ9oJ27KVsJk5B+lSMM7eKv6zAEoLQhKTlLvgc0nbI6DKXVQCowNd9Fo5vo0ukhLa2tcdcXyPD3EliVU4ScPJJHQiX1KA2Qa8+0NaeaJ7CUKkl0AEfaWKmIlCvABgTQSChBE+ipBJfo6xmyVhqxjejmF3zTKsy9BOt09vTGbuSJcQu5JnViIEcEm6YxblI0gmzGO9UagwkLXFWiZGONC31OkYd1sapVoHEaHc/vluP3a75DQJo8ZUa7SDZHYuko5ORLqDCyBpUCldO+G3CcnfhmjaYGUiJBXwMiPF/3PJTJz+7gEuLc9iKW4QprMjJwShCiOMKZ+knaI7ygBEYA6duk1CAuJqRUIaGCleKIQKPKSnqXaLWFwofLt3mPnQMbtz4rtM16grQUgaRGM+dio80UBi7gjo2gWAUeLuZHcKQAMsisFxR0G62ZrZ5isEQiMbwAOu3YrSiJgVaVAyPh6tdCsIk+gu8WiCCjiBJWlAmVxCK/1DYNi1PlhKWEQfu6Wv3ULupmw6q+pKZPyqIYRwQIBRJBASqJGi5P8BzlRhN+ivU9wAAAAASUVORK5CYII=\n",
-+ "text/plain": [
-+ "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=64x39 at 0x7F701EFF60>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ },
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 528.00 microseconds\n",
-+ "Classification rate: 1893.94 images per second\n",
-+ " [CLASS] [RANKING]\n",
-+ " Airplane 412\n",
-+ "Automobile 237\n",
-+ " Bird 233\n",
-+ " Cat 214\n",
-+ " Deer 248\n",
-+ " Dog 239\n",
-+ " Frog 242\n",
-+ " Horse 234\n",
-+ " Ship 250\n",
-+ " Truck 247\n"
-+ ]
-+ },
-+ {
-+ "data": {
-+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAIAAABHOBkQAAAU60lEQVR4nDWZ26+t13nWn+d9x/fNOddxn9c+2d72TuzYcey0SRsTtUXqITQ0IEFRU0AchNQrbih/AZeICySEBBISF5W4iBBtQyIKtGqjlCZNnCinNo0Tx/E+ep/WXqc515rz+8Z434eL5f4HQ2O8h9/zG/z3/+W3TJAQAVhHeqRKcdBIGrzVNoxjRYXUeW/WtdQ4JIBiZMBAEULClB7IMBbSTIKsRmYyIqRIyOiTruu9RKpljC1U0PVWLEpBjjGO2SqGMWuMAInezZxQomarGsCcTCZujGxMlGwpg2SNUrZiTlogIUWkwaWQhSXozo6pzJBIkzMEpZmnAwlRhMxSTEmplAwkzS0VSghiSkjICjzZmQdbagiITdGUyRaqkREGmJEFHYnIagw30EAmwM6RYGkhNNSspRhhWTMMhNwLzVqMTuu70loDaUAoDTSkwWBmoBnMslEkaYY0ISNDAsiUu7kMCkENqchmib64OzOVEDKitUhmRYSNgUxIFqJTKAYrBFLNXeZGpFKkGVBqhMEiUNxpXpkS2NLcnCBlxshMpsEgQOlmYYlopNMAN9KsCSRggikylUgj0bN1wChrcgGRDSEySrI4DM2hhLURImrLaMg8rUlRgKwlEgEkUIxAhtRARopkaQFA7i6htZSJtMhgkxc3A5SKBiWQSkAIJdhgJvZJFDfC4AFIqYysEYrsObJMDnl9Gdvr2p/i4VAj2SWUikT2HcAEgaZoSKk1ZSRhNDJpZjSLCEluTuL0HaOJRIJGlNbCrbBQSEEmCzSiAcxMyIwkqFDNoEkABQOTmRYOZbIYzSxatGh1bMz06do3jl79zu6LT8fzrduZ9e3Gxq1X8OdX4+1mGe4R0RrMzYiojGohZIo0EKak00BQrbZMI2WUEikoIKZIQaV4J6hGdTeDBM9sRHbWGeXKTMtAitGUXJm7uxFW5PAUGAijS6Ahq0D208kXHnzszbsvQFiv76zm3xkvPHP72s1bmy9/fPMvXjn6Pdal1GUmkQ60RAt/v+ws5TLQWAgSMocyI0OkmUCClkoJkkokg+EJYKQhVCXRbKi1Mzf2SCqFSAiS4MoUECAJg+TOZIIMuLOtT8sXHv3Um+9eZFn45Pjla2W6HFd3f2/+p3dPrn/yj1/5x/tnf+uT88+Vth+cKVXBjJrRpAawKZghFi8OGSBkSEGcVpYR3jygFjlKKi1PT5wGtkzhdERGFQkjZQAAJgWDChLJlAQnk4Ql4VADiGH07otPfv7Neze4FlZv4/j+0dpZnrlkj7uDt750bXXbxnt/+cLfWn/uV356/oc1rIURgpr7iFhCUMskjZYkBIqRCaYbnGboMtORMJgXQiUlZ7aIJJiAQqZSSmFJaYw0CwmRbCmQiKQFaJkwgkaCYFe42m+z3737i28/vWLKrCrua9P+8GR1r/OtZ//mjd+8dklHH5q/c+t7/2G6fGN2Y2c6WbVx1eogJWlNfYuUBEXQhiGMdDeSYohwp7sxLDPd0PduQPFiapkJ1da5pwhQYq3VTEZma0hPMDJO5yhImJOO9+dC9jh5vFr/bz/65fvLK/TDLFvwjM1nlwfjEhxiYmoPtl8IW16eDece/GT/zc9/+86LG5euXbp8ZntjWmMJE2iAj0iFkFRGEFacDFKdyz2FEXSjkyw0ZRYIgLsp0wUXkwgSrWWoOq2lFI0oIKSEimjFOyNDOURs4Pju6urn3v7Vh4tzXg7Avit7A7d8+0JePDc+3bVxcXK8t3j7W/t17/JVPP/qB29w6pPN/f2T5dHB1voFs44AXGCh5YhQA8xSETFMZubmtNo4KpplD01NhmBtrUzLJJQ1IsCAipsyMsOsJFlTWSMjaY2go4RYRCO9K2o5zcMfLV78/IN/sh/nsXY7JtMuotTlODkH1Yl39eJO39ZXdx9e3+o++8r5GxfP1pi06quB584AxNhGwhJm5p05aF12NVtkiBUmuqOngsoQIIJKtdONxFLMZJnNkkHCALrTKHMkIzIiAWWGAJjEdOuErA1TW357/lN/8Oifzo/WbDI+e+VcXd3fXwy2eWE9axmeNk7L7Fycve63vvPrL+fz58vh4lhZW+uH0SCYkWbgaW0S5kQxByPJcC+lE5AKKeB0kbW1GAPh/cTBtEQEU6fcBJEopUy6aV8mnXmxzq0gg5kO0IKutKwRJfe//+Ta53/4Gzz07elJt3Hm9XOrV3jgdTWJledxWOV4YieLWa1+9sbWxObLSgAG0c3MBKSUqRTlSqkRYRINMMIdZpKkEEG3jnA1ZVNkhFKeJWKVoPcs3mW0JuvYJWi0zp0dGKhsUhNEmGWqYjId3ju+/Pvf/MyQs3ryrua3cf0DXzo62OCh7PzyJMxqxcycL3d7+4u43XRnsfH6xaNl7YUCypyZzExLnFJXJpOUkA2SSCgRLa3I6EAJFCA6Y0NLRMtxaqVIVWKCSBONyVWNUtQTzhJMmkiDFTNJQXQT53Fe+t3vfnrx9MRWf5B5BD/GeHy0vHIss3WE+kk/gTjk2k8WR0dc9h4X1iJsitIxWIo1mZhOM1JQwgwlT5uXJiuUIEUgJKeKd0qjLFozoiGjNQElYJKUCUbx/q9Rx4FsscpIQXIU7wyZjYDBu9//xscf/Xhu+Vhtn2eXms6wXthq0DUssbY2rm3fKHuPo64W1er47OTOzqZQpu4eQwKUSSYQARjBFOmdEUgjKERDpiIDp9cHQqR4yqpuZm4RQ8mEBEoUOncWN3ooxnEwRGZmJnGKWSWCm9P4+p0P/fAvB3Jf5YgXa7YAKrGEb7Cb5OqI3Crnve9nZfeo9ps5f3xz/fZsOhnVZSaKI+gpdIakJASTIgGyeEnSwFGK1qiiVIho6QYvhebZRhbr+w6MUugtI2TKDFPfFQJFNsoCmbCkMkHAabO+Plpe/5PvXJvE2zi7rOszLZ6YMXHeJszSgIKNLdUT7L7bNvvNyexo2bbx4I3rg2xD4e4FzGiA0shsQCCYJsIFwt8PLIp0k4cSKSYjU0rvBFNnRQySohWYFTCyRqa11jiau1npOBkbWg7vPxG8M/fJ7H9/44WTB482z6/yjIan97pnXuzIk+WoDGZLq9YVs1GzK2Xn8u6T3Vg9/gcfXlw5O1mqK8VEMAUJnYmgmJmA3GDF0gATkSGL9FRnhjpWBGRo2Sza2sYMpEQxW7DUSCkia41GMKAOnUtgZlZKEE97pKzxh08uvfPd4/PXzj57DQ/vfHt17WZd34xV7SepuqdiimQ5F05vy3cPWh2Xly/Ya+dOmjpzNzItErBCSQBSiORpnobDiFNEp9j3Ha2NIxVeFYoAI8Fk9L1FYrUaW0QZhgFQi6ZsY5CekWEGGIlMiTQ3dqZ+Ovny1w+2t8vPfvLVvbe+XLJNFS0GdYJZRsRqj5PICtLbdIPLuzHd/NiF2zNiYHGKfppj0TLShPfLRuYep3xeBDNAJpkDNomEstVQEH1XSo9UGxtba5HZdX1RgjSITCgrpFAbKbfCU8vA6EpZm+DJAZ8+OXrtE69vH7/z3snTy1euFg1zHKcwZJtZtLoIrlpXGyb9bLOWbrPf//jkdiRpdhrfCzt4axGnyxcJKxAFAQYzwMwMmWqZIGhGM0Bu5sVSFRIEGszNZIU00l0ZGUK6KaEUkVEgmhvRWvVZuXd/ZK0b29O9o6dbZy5W6GIpa8P+YF03WfMYx7VujnG+eBiT7eoX1jl+av3Wdu6daLuTp2hKgEY3rkSDOyFAUWUJoRkMBjLMaZCYRkQ2IIubZMpUkAahOUV4OVU1xXrvvbUBEJ0FVLYUGQi6VEdM9hc51kXXFRBrPSOaM6YeNB2vTqZdGft+K0ch591ksXzwyk7/EfvJ4YgZB2MvUEhiNHdjgUMwINAyGbIwnoIWzTwRkNFM1kiVriSCkFAktqhSpihkgQRIIMli1lBTykjHaSKySI/E08P8wbvQ85+t43DGhxFj6YvX+cZssv/4/iax1p81q1Brk36nH2ez/ee6/YhK8xatFy1J6zIFJOm0UIYgukynMfV0H4AQhGIWZiRYDCmcxv2GbLA0N6+RgSwZjUJGoymVaTJkUzXrSplRpaX3bk/nW/f4Kfk6Tr4/Zesn3sWxT7vx5GCMo2euX2vE8uTISykdylq/fX7O3K+adcaWw8ix+ASCF8IJRiglwAAXM4AIoDeXIkFAKTnlp33vgSbk+5yQIWSX2RIoy2HumDK9c4NJVMtwAk7R4WV7opN67k8e/PJ0Y32qn1y2+QaPobY+za5oPg6+0XuuLLWxPuk605S2dRRxEjUKls1mlVUYJzMvKgZKkWiZLWESI1tTIFtTuPVGZMopAA1jYFHDoQaqhaQknOlxKmCQxdwoCh6QI5ABChaEppPJeq8fPz77xe9/7PLx//vMaxtrOWyvow51PD5aHsyPYevrGx2mHI63t9Yr497u4fMfvTRGHVfJSJBSeNmkEG3lpZc8W1StEgDeV7xSc+vOr5/Z3X9QujLpvLY2xmNw+2R5kqObtdXgRgIsntYVNUFgyvpu1nfTiXeFhaBBxkjlbNatWfs/X+l+5ysfe27+tb/z/J0X1/Ymw517t35QZnFmZ9om/LNv/tXu7tPL58rO9e3Wxef/6M3Jme3NrQki3UEoA601ZiIzI2qrtdYadayrsdWxjZFNTeK82PIXX/rpNz54rV8ulovHB4tbq+Uj2INokXxa87CNQ61jImQZanRj8cmkGN0lETAIAgClJpO+LZb/9Yvlz977+KfPff3nn919cNx/7ks/+O9f/qvYXp9cWmtnZzd/5gM/+wsvfe/tH799cLz10rVzH9q5fHn24MHt5XLY3l4rZqQFFMJYx9W4DCgVNesqlmJArbbaxhpRl8fTjeG9O3/yn28+uPuxuPfZy89srjTaiXf7iDo/ObBiF656rUPGOLZGwrpxbX30Qv72v/n1GFng7lSumgb5cvPM+v9880P3Hp79lSvvtP137x7hyTw7Gz79ax+58dzZo/lxmqaTsrW51cb86pe/c3IUV69d2pit/8W3vnv/6eFHP3HztY88szg6mS8atNHb1LpSJqWfmXVqWiaC6COkxhrcPnp89cdf21sbXnvlo3vTfCHO3njmlf/4oy/btVb3N99+a3dze2vjwvqTe6NqbpxbN3Q+PfJc77Vu4zLqCMEaMKTMo6yd+b8/ei0P669e+u78ybt3VxuH2ry8s/Ebn/3pK9c39+cLGRxZx2Fvb+9ktfiZX3jp8nNrT+8t7v5o/198+lP/8I1XH/zg1h/+r+8U31xbXy9WrFgphTTJMsZoLRui1czW2nh8vLzqw4c+/NrO9OLTDpcvP/e91a0zGn5+47nlw6MF7mxvYrEY5ocreWaOaKvAophlcznMlI6WMQ516Pqhzi798fdfau8+eWNnMT+aP47tw1i7eqn/xV+52a/5/OgYRtJMhUJtdTE/2t3bv/DMGZ+snu7e//7tR3//M7/27/7VP99sePNP75ayZrMOxemUEC1WY40IgACZ2aJlxmp53LD64M0PrZ7c/+a3vnr/0aNvL+4eP71zdjmZ79mZHbv+THf2XCZhrhrDiKcHe4qQUjbrzdGM9cx6Dnn+K99Y2zr4wd/95TY5w7v7bb/1V87zb3ziUuTJ4eEK8hjbsBqHOtZaow6hkNrxYv7SB27+y3/2jx4+fPTVt+5dffb1f/2bfzv2bn3rj779gdnEkDVDitoGSEYzStnamCZMpnrrwfytH/34a9/487e/fevS1vmnT/b++P73Hm6N+4u9D196/vy1a6sYppNpWwzrG8U29o/3tdhLZLaxFaGKSY+hTe/fXb12ef/mC1233rrJghPc3MHHXj9f43gYBvfZWNmZJVRjdA8wwFMfggtbmztXr3zml37u1u3bvn3xtZ/7pX97duM//c4X7vzw4QtXtw76brfVVGVrqYagUuxHa2U6u8+P+OLW2qbOeN575+D+uzW7k/l8qMOZWGBv/xHNsL83bK7Dt3d372s8OHPhvK+v2TBmCY1wWXFofOWmrW+UWlXnq7OXpp/5zHWzPlSXixH4a00gyQBYKIRAZqFPJj4MQ206c/XZj6z1x/ffGjbObcymf++TH/wfX/nBx597ZWd9e/fpio7WQi1IdIXuw2C70Hy5trt/E2ef+P5Pjmw+gc8ODycHedRtjo8P3j1/efto0aazw82rk917Xb+60K1jbbN//HR++eqZskoUU5BdSbOyWjkRsqyZXghIGV1vtVEKAWP6+25HKjSzMul99/4C47G7y+zK8zdL7O7ee+fJe3cuX3/2t3/9zGBry1VenJa7y5GGUxkOj9WqLIcuc2Nvvs/ZwWJ77i/3+3dq165vXD+rcWNeH2xtTZ8+Pbhy4YMPd9/Rk0td3bn68tHBUXl87/jajee3ttZLxiS7cE5gnaykGk8VnCuZbjKefrGx1epI6wyWDtE6YzHIvNT56lvf+trrL7547Zln79998tw5Enq0N+9nGy9eexb0o6PVTrW3Dw9nE6RgJGGt3X/v4d607+eHfSnry3sPp+emeXH9yZs/tv3zeGl2SDup4/qEjw8extGz2xsrru0fDzg8ejSZ3bj0XPbje9Z3a12/aTYRHHS3CdVBnXRK1JFKIZWtaWxs8JEl0uneWenoZWjaeeXShef7r3/9z+pqrCdHJ0PkeHLx/I6X2UlO+4svbly8vtG7kynQRBuW9cRKufbc2nSzbm3lhas3s17RwrOvH37j+ss7F3ayXOhnN87dmG5toG70PnKak/UL80eTVk98/cGtd756+97S3L1YbzCAkWnWeT9z75Ucx6yroY01moRwg1lkDshaEGYqbuamYlV6/ude5RU+ePJeN90sW1esn/7wh3/1zKtv+Pmb+/uLbvtKzhdnZpMWAbbU3vz4/pgni2XQ6LNR3H31p17fmr56dI8P6nKPB744KU11OT/e6w53n0Q5GsfLe4eL/eVPSqfrz93s+Ory0K0UFNLdT6VvZJj3ZqWzzsDIbK2pJRI0JymiuHeduSXZvGjSmTla1MnF2f3De/DpyapNL9w8Gnw+JMrEij/ZP3zyaO+il1IMiG5y7uLFm4UXp9iZYIrmR4+PHj28F/1iY2d9edxtfvTikzY8erp/++HD/YMnxdfGtrU33FnbqTWOt7d3hlXZf3Brfbb8/9Cw6goEYtVjAAAAAElFTkSuQmCC\n",
-+ "text/plain": [
-+ "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=64x43 at 0x7F701EFEF0>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ },
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 528.00 microseconds\n",
-+ "Classification rate: 1893.94 images per second\n",
-+ " [CLASS] [RANKING]\n",
-+ " Airplane 268\n",
-+ "Automobile 241\n",
-+ " Bird 387\n",
-+ " Cat 262\n",
-+ " Deer 284\n",
-+ " Dog 289\n",
-+ " Frog 236\n",
-+ " Horse 248\n",
-+ " Ship 230\n",
-+ " Truck 227\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "from IPython.display import display\n",
-+ "\n",
-+ "im = Image.open('/usr/share/notebooks/bnn_examples/pictures/car.png')\n",
-+ "im.thumbnail((64, 64), Image.ANTIALIAS)\n",
-+ "display(im) \n",
-+ "car_class = hw_classifier.classify_image_details(im)\n",
-+ "print(\"{: >10}{: >13}\".format(\"[CLASS]\",\"[RANKING]\"))\n",
-+ "for i in range(len(car_class)):\n",
-+ " print(\"{: >10}{: >10}\".format(hw_classifier.classes[i],car_class[i]))\n",
-+ "\n",
-+ "im = Image.open('/usr/share/notebooks/bnn_examples/pictures/airplane.jpg')\n",
-+ "im.thumbnail((64, 64), Image.ANTIALIAS)\n",
-+ "display(im) \n",
-+ "air_class = hw_classifier.classify_image_details(im)\n",
-+ "print(\"{: >10}{: >13}\".format(\"[CLASS]\",\"[RANKING]\"))\n",
-+ "for i in range(len(air_class)):\n",
-+ " print(\"{: >10}{: >10}\".format(hw_classifier.classes[i],air_class[i]))\n",
-+ "\n",
-+ "im = Image.open('/usr/share/notebooks/bnn_examples/pictures/bird.jpg')\n",
-+ "im.thumbnail((64, 64), Image.ANTIALIAS)\n",
-+ "display(im) \n",
-+ "bird_class = hw_classifier.classify_image_details(im)\n",
-+ "print(\"{: >10}{: >13}\".format(\"[CLASS]\",\"[RANKING]\"))\n",
-+ "for i in range(len(bird_class)):\n",
-+ " print(\"{: >10}{: >10}\".format(hw_classifier.classes[i],bird_class[i]))\n"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "The numbers can be difficult to visualise so we can use matplotlib to graph the output. Numbers are shown in units of 100:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 9,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<matplotlib.figure.Figure at 0x7f701e6a58>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "%matplotlib inline\n",
-+ "import matplotlib.pyplot as plt\n",
-+ "\n",
-+ "x_pos = np.arange(len(car_class))\n",
-+ "fig, ax = plt.subplots()\n",
-+ "ax.bar(x_pos - 0.25, (car_class/100.0), 0.25)\n",
-+ "ax.bar(x_pos, (air_class/100.0), 0.3)\n",
-+ "ax.bar(x_pos + 0.25, (bird_class/100.0), 0.25)\n",
-+ "ax.set_xticklabels(hw_classifier.classes, rotation='vertical')\n",
-+ "ax.set_xticks(x_pos)\n",
-+ "ax.set\n",
-+ "plt.legend([\"car\",\"plane\",\"bird\"])\n",
-+ "plt.show()"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 8. Reseting the device"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 10,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "from pynq import Xlnk\n",
-+ "\n",
-+ "xlnk = Xlnk()\n",
-+ "xlnk.xlnk_reset()"
-+ ]
-+ }
-+ ],
-+ "metadata": {
-+ "kernelspec": {
-+ "display_name": "Python 3",
-+ "language": "python",
-+ "name": "python3"
-+ },
-+ "language_info": {
-+ "codemirror_mode": {
-+ "name": "ipython",
-+ "version": 3
-+ },
-+ "file_extension": ".py",
-+ "mimetype": "text/x-python",
-+ "name": "python",
-+ "nbconvert_exporter": "python",
-+ "pygments_lexer": "ipython3",
-+ "version": "3.7.0"
-+ }
-+ },
-+ "nbformat": 4,
-+ "nbformat_minor": 1
-+}
-diff --git a/notebooks/.ipynb_checkpoints/CNV-BNN_Road-Signs-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/CNV-BNN_Road-Signs-checkpoint.ipynb
-new file mode 100644
-index 0000000..536d6eb
---- /dev/null
-+++ b/notebooks/.ipynb_checkpoints/CNV-BNN_Road-Signs-checkpoint.ipynb
-@@ -0,0 +1,410 @@
-+{
-+ "cells": [
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "# BNN on Pynq\n",
-+ "\n",
-+ "This notebook covers how to use Binary Neural Networks on Pynq. \n",
-+ "It shows an example of image recognition with a binarized neural network inspired at VGG-16, featuring 6 convolutional layers, 3 max pool layers and 3 fully connected layers\n",
-+ "\n",
-+ "## 1. Instantiate a Classifier\n",
-+ "Creating a classifier will automatically download the correct bitstream onto the device and load the weights trained on the specified dataset. By default there are three sets of weights available for the BNN version of the CNV network using 1 bit weights and 1 activation (W1A1) - this example uses the German Road Sign dataset."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 1,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "application/javascript": [
-+ "\n",
-+ "require(['notebook/js/codecell'], function(codecell) {\n",
-+ " codecell.CodeCell.options_default.highlight_modes[\n",
-+ " 'magic_text/x-csrc'] = {'reg':[/^%%microblaze/]};\n",
-+ " Jupyter.notebook.events.one('kernel_ready.Kernel', function(){\n",
-+ " Jupyter.notebook.get_cells().map(function(cell){\n",
-+ " if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;\n",
-+ " });\n",
-+ "});\n"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ },
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "['streetview', 'road-signs', 'cifar10']\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "import bnn\n",
-+ "print(bnn.available_params(bnn.NETWORK_CNVW1A1))\n",
-+ "\n",
-+ "classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A1, 'road-signs', bnn.RUNTIME_HW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 2. List the available classes\n",
-+ "The selected dataset can classify images in 42 classes, the names of which are accessible through the classifier."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 2,
-+ "metadata": {
-+ "scrolled": true
-+ },
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "['20 Km/h', '30 Km/h', '50 Km/h', '60 Km/h', '70 Km/h', '80 Km/h', 'End 80 Km/h', '100 Km/h', '120 Km/h', 'No overtaking', 'No overtaking for large trucks', 'Priority crossroad', 'Priority road', 'Give way', 'Stop', 'No vehicles', 'Prohibited for vehicles with a permitted gross weight over 3.5t including their trailers, and for tractors except passenger cars and buses', 'No entry for vehicular traffic', 'Danger Ahead', 'Bend to left', 'Bend to right', 'Double bend (first to left)', 'Uneven road', 'Road slippery when wet or dirty', 'Road narrows (right)', 'Road works', 'Traffic signals', 'Pedestrians in road ahead', 'Children crossing ahead', 'Bicycles prohibited', 'Risk of snow or ice', 'Wild animals', 'End of all speed and overtaking restrictions', 'Turn right ahead', 'Turn left ahead', 'Ahead only', 'Ahead or right only', 'Ahead or left only', 'Pass by on right', 'Pass by on left', 'Roundabout', 'End of no-overtaking zone', 'End of no-overtaking zone for vehicles with a permitted gross weight over 3.5t including their trailers, and for tractors except passenger cars and buses', 'Not a roadsign']\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "print(classifier.classes)"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 3. Open images to be classified\n",
-+ "The images that we want to classify are loaded and shown to the user"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 3,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<PIL.PngImagePlugin.PngImageFile image mode=RGB size=62x64 at 0x7F904B1DD8>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ },
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=64x59 at 0x7F90067780>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ },
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=42x64 at 0x7F900677B8>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "from PIL import Image\n",
-+ "import numpy as np\n",
-+ "from os import listdir\n",
-+ "from os.path import isfile, join\n",
-+ "from IPython.display import display\n",
-+ "\n",
-+ "imgList = [f for f in listdir(\"/usr/share/notebooks/bnn_examples/pictures/road_signs/\") if isfile(join(\"/usr/share/notebooks/bnn_examples/pictures/road_signs/\", f))]\n",
-+ "\n",
-+ "images = []\n",
-+ " \n",
-+ "for imgFile in imgList:\n",
-+ "\timg = Image.open(\"/usr/share/notebooks/bnn_examples/pictures/road_signs/\" + imgFile)\n",
-+ "\timages.append(img) \n",
-+ "\timg.thumbnail((64, 64), Image.ANTIALIAS)\n",
-+ "\tdisplay(img) \n",
-+ " "
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 4. Launching BNN in hardware\n",
-+ "The images are passed in the PL and the inference is performed. The images will be automatically formatted to the required format that is processed by CNV network (Cifar-10 format)."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 4,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 915.00 microseconds, 305.00 usec per image\n",
-+ "Classification rate: 3278.69 images per second\n",
-+ "Identified classes: [41 27 14]\n",
-+ "Identified class name: End of no-overtaking zone\n",
-+ "Identified class name: Pedestrians in road ahead\n",
-+ "Identified class name: Stop\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "results = classifier.classify_images(images)\n",
-+ "print(\"Identified classes: {0}\".format(results))\n",
-+ "for index in results:\n",
-+ " print(\"Identified class name: {0}\".format((classifier.class_name(index))))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 5. Launching BNN in software\n",
-+ "The inference on the same image is performed in sofware on the ARM core by passing the RUNTIME_SW attribute to the Image-Classifier"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 5,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 1252522.97 microseconds, 417507.66 usec per image\n",
-+ "Classification rate: 2.40 images per second\n",
-+ "Identified classes: [41 27 14]\n",
-+ "Identified class name: End of no-overtaking zone\n",
-+ "Identified class name: Pedestrians in road ahead\n",
-+ "Identified class name: Stop\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "sw_class = bnn.CnvClassifier(bnn.NETWORK_CNVW1A1,\"road-signs\", bnn.RUNTIME_SW)\n",
-+ "\n",
-+ "results = sw_class.classify_images(images)\n",
-+ "print(\"Identified classes: {0}\".format(results))\n",
-+ "for index in results:\n",
-+ " print(\"Identified class name: {0}\".format((classifier.class_name(index))))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 6. Locate objects within a scene\n",
-+ "\n",
-+ "This example is going to create an array of images from a single input image, tiling the image to try and locate an object. This image shows a road intersection and we're aiming at finding the stop sign."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 6,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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QxKJRFFRkdvl0ev1nZ19MAysVtO8P1RcXIzj+NDQpNFIlJeXBINBCJbHJ8bNNp3L5XryqX9pa6u1OKiKGsu3vvHdmanZn/7qB5VV5T/5xcOCIK1ff2E6xfz5yad37dxvNNhgCMUxQz6fF3gOR0iKIhAIBjAyOTlN0MTlV1z29tvvekscX7/nls92bLvgglUrl1+QSqUCgcyn2/94xx13XXvNDR988IEoivfee++iRYtmZ2ffeOONqqqqW265RdOUPz35BMczN930lfLysmAocNGGlTfeek0+x4WC0YnxudamJW++8UE6mXv8secVUYmEo1F/zuv19kz3Wc06mkBRBCpd6f3BD38kSuyTTz45NjrscdtaW+u2bt3U398/Njp82823PfHEn+w255kTw1dccelvfv27tWvXm0221curu7r63nnzfR1laF3UMj8f5FhBluV0kkExQhI1AJBINC5LksXmAKo6FwgTBKI30yab6dqbrk+n08eOH3366aebG5ojyfjpEyd7e3uffOKViipPaZndYXPmM2mOyZeUFOdyOb2J4kQmlY27i52ixPOcKPGSy+YuLSl55cUPSSO46uotMzMzH+7c29xencnkVq1aE40G44kwSRKZDLJsybLZmXmL3p6NczMT84UM77LbC1xelSGW5QgCbL18y8GDBysqfHa7dXx6otjr9S739vb1FXju3vvvRGCgKEtGRka2bftgz56d2ZicjWfWXbwoHo9TFLVn1+5Tp07ZzTSbKwRm5ysrqgd6+xPxrMFgkCTQNzAgCEoimXF6sEIiZDQaMZwgETWaiJIkTutJX6UPXdC9Uj63qgXnzXwg5PwQlva3SSwIgoCmfYl73j8c//tK0P9zd/z7+PLp6AVpQBmFYJxAYFhVNUiUVB0NA0gpLnK1NDcofELjMyIr4BgtiBFRURUAp3NMgZdQQsfwPJ7LYyiZzmUZji32eSgDpdOjOrNdEPjSkpKZ6XkDbbBZ7PlcoMRblkpl2BwnSZLBYIhEo5PTE3oDZbVaKYrgBcZTaovEp7P5SEVVUUmp00S53K4SUUFHZvyjo6N/eey3N954g85osJHk4OiYsWRNOivoHZgGyRa7XgNgfHxKUXQIBGAYTSQinkq9IIOrrrjyzP6P9uzqrKgyKJrWuLhZRxkpSu92lWRTmsARZoPjlRe3Dw/E73riuzhKowj9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Zqua4GAnguyUGbwjwbeDUDmOY4iZbk0Sg+30esQoa55HrLeKEOO3KQ0DCCEHAESQRcnD7bkdRAmgABLMQ8hzCEJIMeYB4iCkCHLcljUV2J6i3hpuduytdqkgcByyHGtrP0EBJiFCSOA4WZRZzABlQh/E3gmlOGATtzyPCAEQQtb9lWXRNM0OTGf7EAAAohDxCP4k1me/8BzEoY8xhoAAumXKjSCoFitgW8OFOCDxAqWQEuq4QaPRMO2867qO4/E8r2maIEhxRWGkZjQaZcI3VjshhExfDba7+xBCURRVTQnDLacwSiljm2RZpZQyFzCOEwBAQYA5jtN1w61V222zr2+ABLYo8HOzy3ff9WCxVMl2DyQyPfWaTanYbAYUB6IocxDxdFt4xXEcE7gzLYCqbgmheZ63bZtSymhYVdUJAbKsrq6u6brK8/zCwiLP86qqttumwEuLC8sYU0XRxkbHbdvJr22IohyPJ4vFcjTKesBuMplsNGrMobRarcqy2NPThRByXZtAMjs7Mzo6Oj4xbFuu45rj4yMD/f0n33k3mUxCnmu320GgOY6HacjzMGJo9913Dw65tbV12/Qiuk5C7HkuCQNKyIED+1577TWeF5PJFPYDSRDuuedDmho5ffoU4shtR2/TNKVSr6iahAl46unHpm/MTl270T84DjkxYiTr5RZCPMcJsqyqqu55Qa1WQwjdeeedP/jBD+r1+pUrV3RdDwIvGo329uaWllaCwDMMg20RarWarutsJLpYLKZSqUKhaBjRWq2SzWYhhIoiCyJAHFlYnBMEAUCytLzw8vdejMVisiwWCuvs5GcymUqlkkgkVtrtGzdmjx27vVQtNJu102fONho1XpSPHTtulqqcwHf19Hmec316Op1JtMw64jnP99umZTr2wUOHeEFZW8q//c47d95550URlUqlz33us6VScX5h+b1333/245/Ob+R93200amtrq77vR6NRhKGFLUnbGrKslEsj44OxRCSVSrQss1lrchJq1JuKqi8sLyFOUFQDAHDhwhWAOc9xxib26NHYhdPvT926eui2fbOza/ccf2bX2KGLV97PpZOpnL68NmPEhZHR7t//g/909MjhtdWVzXwhEUsKQEAI1coN1dD//a//1m1Hj779xjsXzl6459g9Dzz9dGF2/ld/87emp2Y+96u//OlPPfflr3yp3TRH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\n",
-+ "text/plain": [
-+ "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=640x480 at 0x7F9008D588>"
-+ ]
-+ },
-+ "execution_count": 6,
-+ "metadata": {},
-+ "output_type": "execute_result"
-+ }
-+ ],
-+ "source": [
-+ "from PIL import Image\n",
-+ "image_file = \"/usr/share/notebooks/bnn_examples/pictures/street_with_stop.JPG\"\n",
-+ "im = Image.open(image_file)\n",
-+ "im"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "Here we launch the classification on all the tiles from the source image, and all image in which the BNN identified a STOP signal is shown"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 7,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "1330\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "images = []\n",
-+ "bounds = []\n",
-+ "for s in [64,96]:\n",
-+ " stride = s // 4\n",
-+ " x_tiles = im.width // stride\n",
-+ " y_tiles = im.height // stride\n",
-+ " \n",
-+ " for j in range(y_tiles):\n",
-+ " for i in range(x_tiles):\n",
-+ " bound = (stride * i, stride * j, stride * i + s, stride * j + s)\n",
-+ " if bound[2] <= im.width and bound[3] < im.height:\n",
-+ " c = im.crop(bound)\n",
-+ " images.append(c)\n",
-+ " bounds.append(bound)\n",
-+ "\n",
-+ "print(len(images))"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 8,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 145902.00 microseconds, 109.70 usec per image\n",
-+ "Classification rate: 9115.71 images per second\n"
-+ ]
-+ },
-+ {
-+ "data": {
-+ "image/png": "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punWO7eXLl360EMPOeZsM8ZxPodIp8n29s6xiSkMw7Ozsx977LGunq7ZWaPH4xJLBFwe5nY7V61diSCI2Wr9pb1qZGQkk8msWbNmbGxcq8kaHx+nKLB9286hwTEEwZ584pnh4eE33/yTQqEQCoWdnUNyOa+goIDL5S5dumTevHlXr13asmXT0PAAn8+JRENnz54WS/jRaHTp0maFTF9RvESlyI8Gk0KBmCZpt9vvcgSHRwZvtZ3T58lu3D49b35tQWGJz+eNJ10NC2olEsmdO3fEIqlerx8bG9fr9StWrDAajVaL3Ww2T05Or1q1ymKx+HyBicmZSJjdsX3V0NAQQeB6vd5utxcUFK5bs948azcaze1t3ZFAXCiUioRis2W2sqqoobHup5M/Wyz+ZSsXMAwzPT2dlZVlsZm2bdsSjYVhmH3jzd/NOaz//vCDioqKaCR5/PjpwkL9okWLdty1BQBw62YLQRAbN268cuXKBx/85957752amBaLxSeO31ixotbhcKRSmbGB0JLlVUKBRKfT37xxKxQOZDKJaJhdta62qqqitrb2T3/6EwCwWq2eczhYFjIYDNFIMh6LxaLJSCSuVmlS8eS6deuuXr3utPnue2DH5cuXg754br6aohgAwDPPPLN//34+n79z584ffzwcjUZ/SdySKZJhGIZmURTNztYXlxX1DnSgHKikNP/yxc4nnt4qk0ump4xXr97hcfG7777/i8/3FRXpa2urXS6X0TSVl5+1+a6VMrnI5fQxNEKloSOHT4UDUZcz1ryoqfV6hzZLjSAomUqr1Wqn08kX8BKJGASxmQwlFIq9/kAqSX3yySdPP/W0bc6VyZA0TSeTSY/fZ7fbx8fHxyeGInH7gqb64dGhYDCYyiS3bNlSO6/W6/V6PC6n07nnsUfPnj178fyF61evP/OrJ8Vi4et/eO3vb/9joH/SPGv/4IP37t2247PvP7h67bzfH/T7ovmG8uvX+rI00tde+y3OoQMB3+jE5A9fXcot4uVk501NmWRSpVgsXr9+49TUmMfrVqvlFJ3asHHl0mWL9x/4rren327zNi1Ysufxxx5++OHsbN3y5csXLlzg8XhC4eDnn3+eSqYTiaRYLNm8eXNZWdnY+HDLrYsbNq4z5Ba13urk8yRioertP326494N01PGSCRKkhk+nz/nsJaXl7366isDw11p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l69cMkwzGskYhh2EmOeHnu8RBEGzFEEQhqGFYUBi0PM8x7VphuJpPsQITQ8wnBB4wfNd23RiEZ5liWZTxQLbdb014UqAhWFIQIokgROSQeCt+6KQqAYjl0qk7Wm1Wq7nILsGwzCWlpZi0YTt6I7jGIaRTCZTqdji4qKq2kNDucnxxd7e3ng8nkqlGo1GEARveOSh73//+88988rgUOenP/3x2dnZer155swZimIEUVizPAsCZAFhmjorUJlMulAouK6TTme6u7uLK6uCICA+URgEruv6/pojhOchvRlBYhgicquKgqL3UFVob8+l08mxseuyXGdZlhcl3TABAVXbbOoyy+Ntg+Ktt9+4adNgpj31zNPPlSrl65NXaYH61W9+6QHvyW/8HEAAHDA8PCJJ/M5dPdu2jVy8eHlhcW7H9siHP/b+2dnZhYV8e3s215YBIKjUC0src3v37t08MgTBwuJEBYRg1859I5t3HDt8urBUqRZb/f3dXblOWzOujV9RlDAZTwm8+M53vyUMw1dfPXLp0iUcJ0zTCoM1PSGSvWwkRIH/0d+uKZHWH1sHfXBoJlYUpdVUpQiPnGo2gsU3oGCWZZGxGmrgNubpUrVKkmS1WkUYydjYGARYq9VCtRxi+AajCqHQGBFms1maphuNhqpoyJ8VFeAgCMPQ3/j96K8TP37yV82mvHlT186de3fvueH08OmjJ4/eefcNlYoyM12slHSlGfzzpz795S9/9dz563LDdRxjdXU1ncwELnXt8mQymSYJXtcsKQpairkwv9RsNhsNeevW4SeeeOJz//l5VQObN7dPjq9+8+s/HN60FViAYGF/35aF2blWw1SbcndfV1/PSLlcjkalcrlIkaCvL1csFkVRrJTr1Wrr7LlL5aVmpjc2Onb5u1+70rcrcvudN58+dyKeEEe2bV8plI4eORmJwuf+cOjsmStvfPBRVQ9dFXR0ZaORxMLsnGF6tuWlslmSYR07aOsR+/t7SqVyW0fqve/5s2996zuapjEMQxI0Q3OLckkzjFxbprfPqdXqpgZuOXBTLB197unnkonE07/7TbOq/Pu//csrhw6//OIriuIoquP5eltHznaMWJLv6c9atnz16ijLRT3PasrNhx6+o28wrajV+flZgqAGNnWOT43ZvrZ1e//NB3fjoS/FKF0Fff8fV+8ZJddZpW0/J8fK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\n",
-+ "text/plain": [
-+ "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=640x480 at 0x7F9008D048>"
-+ ]
-+ },
-+ "execution_count": 8,
-+ "metadata": {},
-+ "output_type": "execute_result"
-+ }
-+ ],
-+ "source": [
-+ "results = classifier.classify_images(images)\n",
-+ "stop = results == 14\n",
-+ "indicies = []\n",
-+ "indicies = stop.nonzero()[0]\n",
-+ "from PIL import ImageDraw\n",
-+ "im2 = Image.open(image_file)\n",
-+ "draw2 = ImageDraw.Draw(im2)\n",
-+ "for i in indicies:\n",
-+ " draw2.rectangle(bounds[i], outline='red')\n",
-+ "\n",
-+ "im2"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "(Optional) the classification can be post-analyzed in order to pick only tiles in which the STOP signal is identified with a score higher than a certain threshold"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 9,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 145901.00 microseconds, 109.70 usec per image\n",
-+ "Classification rate: 9115.77 images per second\n"
-+ ]
-+ },
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=640x480 at 0x7F9008D588>"
-+ ]
-+ },
-+ "execution_count": 9,
-+ "metadata": {},
-+ "output_type": "execute_result"
-+ }
-+ ],
-+ "source": [
-+ "result = classifier.classify_images_details(images)\n",
-+ "result=result.reshape(len(images),44)\n",
-+ "from PIL import ImageDraw\n",
-+ "\n",
-+ "draw = ImageDraw.Draw(im)\n",
-+ "i=0\n",
-+ "for image in images:\n",
-+ " if result[i][14] > 455:\n",
-+ " draw.rectangle(bounds[i], outline='red')\n",
-+ " i=i+1 \n",
-+ " \n",
-+ "im"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 7. Reseting the device"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 10,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "from pynq import Xlnk\n",
-+ "\n",
-+ "xlnk = Xlnk();\n",
-+ "xlnk.xlnk_reset()"
-+ ]
-+ }
-+ ],
-+ "metadata": {
-+ "kernelspec": {
-+ "display_name": "Python 3",
-+ "language": "python",
-+ "name": "python3"
-+ },
-+ "language_info": {
-+ "codemirror_mode": {
-+ "name": "ipython",
-+ "version": 3
-+ },
-+ "file_extension": ".py",
-+ "mimetype": "text/x-python",
-+ "name": "python",
-+ "nbconvert_exporter": "python",
-+ "pygments_lexer": "ipython3",
-+ "version": "3.7.0"
-+ }
-+ },
-+ "nbformat": 4,
-+ "nbformat_minor": 1
-+}
-diff --git a/notebooks/.ipynb_checkpoints/CNV-BNN_SVHN-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/CNV-BNN_SVHN-checkpoint.ipynb
-new file mode 100644
-index 0000000..e982911
---- /dev/null
-+++ b/notebooks/.ipynb_checkpoints/CNV-BNN_SVHN-checkpoint.ipynb
-@@ -0,0 +1,208 @@
-+{
-+ "cells": [
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "# BNN on Pynq\n",
-+ "\n",
-+ "This notebook covers how to use Binary Neural Networks on Pynq. \n",
-+ "It shows an example of image recognition with a Binarized Neural Network inspired at VGG-16, featuring 6 convolutional layers, 3 max pool layers and 3 fully connected layers\n",
-+ "\n",
-+ "## 1. Instantiate a Classifier\n",
-+ "Creating a classifier will automatically download the correct bitstream onto device and load the weights trained on the specified dataset. By default there are three sets of weights available for the CNV network using 1 bit for weights and activation - this example uses the streetview house number set."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 1,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "application/javascript": [
-+ "\n",
-+ "require(['notebook/js/codecell'], function(codecell) {\n",
-+ " codecell.CodeCell.options_default.highlight_modes[\n",
-+ " 'magic_text/x-csrc'] = {'reg':[/^%%microblaze/]};\n",
-+ " Jupyter.notebook.events.one('kernel_ready.Kernel', function(){\n",
-+ " Jupyter.notebook.get_cells().map(function(cell){\n",
-+ " if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;\n",
-+ " });\n",
-+ "});\n"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ },
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "['streetview', 'road-signs', 'cifar10']\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "import bnn\n",
-+ "print(bnn.available_params(bnn.NETWORK_CNVW1A1))\n",
-+ "\n",
-+ "classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A1,\"streetview\",bnn.RUNTIME_HW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 2. Get classes of dataset"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 2,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '']\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "print(classifier.classes)"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 3. Open image to be classified\n",
-+ "\n",
-+ "The image to be classified is loaded and shown:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 3,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=720x720 at 0x7F9D379668>"
-+ ]
-+ },
-+ "execution_count": 3,
-+ "metadata": {},
-+ "output_type": "execute_result"
-+ }
-+ ],
-+ "source": [
-+ "from PIL import Image\n",
-+ "import numpy as np\n",
-+ "img = Image.open('/usr/share/notebooks/bnn_examples/pictures/6.png')\n",
-+ "img"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 4. Launching BNN in hardware\n",
-+ "The image is passed to PL and the inference is performed. The python API will automatically take care of formatting the picture to the right size that can be processed by CNV network."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 4,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 527.00 microseconds\n",
-+ "Classification rate: 1897.53 images per second\n",
-+ "Inferred number: 6\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "result_class_idx = classifier.classify_image(img)\n",
-+ "print(\"Inferred number: {0}\".format(classifier.class_name(result_class_idx)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 5. Launching BNN in software\n",
-+ "The inference on the same image is performed in sofware on the ARM core:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 5,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 418944.00 microseconds\n",
-+ "Classification rate: 2.39 images per second\n",
-+ "Inferred number: 6\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "sw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A1, \"streetview\", bnn.RUNTIME_SW)\n",
-+ "result_class_idx = sw_classifier.classify_image(img)\n",
-+ "print(\"Inferred number: {0}\".format(sw_classifier.class_name(result_class_idx)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 6. Reset the device"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 6,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "from pynq import Xlnk\n",
-+ "\n",
-+ "xlnk = Xlnk();\n",
-+ "xlnk.xlnk_reset()"
-+ ]
-+ }
-+ ],
-+ "metadata": {
-+ "kernelspec": {
-+ "display_name": "Python 3",
-+ "language": "python",
-+ "name": "python3"
-+ },
-+ "language_info": {
-+ "codemirror_mode": {
-+ "name": "ipython",
-+ "version": 3
-+ },
-+ "file_extension": ".py",
-+ "mimetype": "text/x-python",
-+ "name": "python",
-+ "nbconvert_exporter": "python",
-+ "pygments_lexer": "ipython3",
-+ "version": "3.7.0"
-+ }
-+ },
-+ "nbformat": 4,
-+ "nbformat_minor": 1
-+}
-diff --git a/notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10-checkpoint.ipynb
-new file mode 100644
-index 0000000..a708a1b
---- /dev/null
-+++ b/notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10-checkpoint.ipynb
-@@ -0,0 +1,608 @@
-+{
-+ "cells": [
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "# QNN on Pynq\n",
-+ "\n",
-+ "This notebook covers how to use low quantized neural networks on Pynq. \n",
-+ "It shows an example of CIFAR-10 image recognition with different precision neural network inspired at VGG-16, featuring 6 convolutional layers, 3 max pool layers and 3 fully connected layers. There are 3 different precision available:\n",
-+ "\n",
-+ "- CNVW1A1 using 1 bit weights and 1 bit activation,\n",
-+ "- CNVW1A2 using 1 bit weights and 2 bit activation and\n",
-+ "- CNVW2A2 using 2 bit weights and 2 bit activation\n",
-+ "\n",
-+ "All of them can be performed in pure software or hardware accelerated environment."
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 1. Import the package\n",
-+ "\n",
-+ "The bnn package contains the Python classifiers for CNV and LFC networks (`CnvClassifier` and `LfcClassifier`). Both of them provide several functions to perform inference on single or multiple pictures."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 1,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "application/javascript": [
-+ "\n",
-+ "require(['notebook/js/codecell'], function(codecell) {\n",
-+ " codecell.CodeCell.options_default.highlight_modes[\n",
-+ " 'magic_text/x-csrc'] = {'reg':[/^%%microblaze/]};\n",
-+ " Jupyter.notebook.events.one('kernel_ready.Kernel', function(){\n",
-+ " Jupyter.notebook.get_cells().map(function(cell){\n",
-+ " if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;\n",
-+ " });\n",
-+ "});\n"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "import bnn"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 2. Load a image\n",
-+ "\n",
-+ "Download an image showing a class of Cifar-10 set and place it on a valid directory on PYNQ. This example will perform inference on a deer, the image can be loaded in Python and can be displayed through the notebook:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 2,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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fXc8HgYV3tYkUvf1Klpih33h+fz87//DTyEcjgOjbOua825SHYehj8QGLQWaWARz3gHCu1JZcs4N+GkNnApw02QD3KRBqmY31WArp43hL2rblqyScyFBMRBEyzkPsRMBJG3umt5HFcxpORwGZr9nyUn3W2vuTsf7y/q2r3utOowdsz/2x73LwXdE1EgFt13BezvY4ChV9d7TO2rjvTdt0I+vtRIYItSqtzaMuUpelqtUjL5zjlLZD/3wv/4v//m33377/u3XL59/+OnHH5bLdVmW12t2rtln+ZrT4e7u+fnlX//tb//wz0dCx85714OUknM/Tt0wOHx8eXstWSRLBnOq21b68bjsi+u8CyxW9cPaEh28y3IQ278wvZv6tUnJe++d11qcYyLSutVcPbPrPNe4Lsv1ev3H/+lHuNi+N2dG3+JdACCEEGoxs1orojnn2oRWawWTw+FQsuSc2ixaa314eDATM2AOH4dgrXVd15wvWneRPI1xGIact+t1NfTbhsy+2SKrqpXSPGdzSh91YN/3ZgU7juO+z/u+t6O2ka8aWtEOUCaIMbbAnYZotMk/+Kgmraf/8D28XC5VbRimzofqoAnkDodpo3I5L103dl13vrwi1RACUycirUUz+13/1kinpRQDAcDWJ+37/vLyMkxjM9fb933b931PRNSPp64bNtvWZUOzaRodNyMgHcaBCNqLJzJTCuxCCCJ12zYVBwBye6eAQC05iIzACIHZeeegLQBzLZ0ZM28l11od4TRNjef2ThzVBiTO82xmx+MxF8P3dXfrE7YtDeNhmnx0vmQBoOv1Suzu7+8d+0u6vL29ff78FEJg8s5xLusyXwzq6RBBS7Ga9llrQOBayt3dncOme6uiGgOntO1bKoJEAYzbG/c+1ioia845BB9CEC3Ns+t4PM7L23x5LSVt24JkT09PYL7WClYJuRb56Ppc9IfDxIg17znvTZ9aamrDQC5biI6ddwiqvK57LdjsidSkSg3RA1oLBatWicg7KrUE18e78Xy+9rFf13VdN2Y203EcG7e2ZK9Su+DMLJW8rrOpApiPzjkXnXeEKTcbzYCIzLFtgEsRH4ITERFmKphDGIixCXMtYfARCf5091BrbaErABC6SICqCuhLKe3cKVlbykRrCZqTxDAMzNj1sZRmcp+bx7y+izBv89u+XK5ndhHMAVnsphC8ihH3pSZEij5UKU3yW4rEfkAyNQnsABRuWibe972W5Bi7LixFAYCB8756hD5GR9hCXZhi8J75Hfl/vz8V0QyEmVSpjfJM5pwzUDVpJiEfywL7gyuLvd/EZlZNCPCPbbFzoeEUTXL7DlHfsFuR32nrH1B9+2n0h/Cqj+/6wPvxPxoCfCD0t/+/OTTrH61j0BrXt80V7ypbM+Ob6U0DFaDB7e1lrOsSQphin3NNRW4c9Jts9/fBI8b49PRUc2kAT/ugPHAjxUX2qvox4gPiDYAvFcwoABkFR9k5rbLM2/P5ZZjG43RoNbfpvrdtS2UFgL7rPj63YIEdMiMzm4kRoSOxKibFSrb1cr7UqkXLBMcYu/N62ffdv29CUKU5pzb5QWuPWqVWvc1XCtZsE5vtBjEC6E08Z/kdTr5RkkRLKYUVoI18aqWUXG5EIxFRJoabLV8Lx0FTYqhVRaoIAsB7wKEAmfespQIiIjsXunGY1pFjVDBRJcTr2znGvvMBEU3Ie28KqrXrumVL67qbGXFuK1q8SYu6hsA1r9xt2/a0eu8dh5Ilxl70nLNcLpf7u8cpjqUmQGhHzrIsZqiCzrEZMnOMPRF0XRdj2vc9pW08BCJDxPuH0/P315QSALX0pfblnOt7LzX5AF1H/cDO2bq8AnCt9fv374fDoc307YQGFVXb931PyQ+ddwGZt7SewhHe0wyqZMu30IDpMLSBttZNBRGcKQO6dVmcD9t2VcuIBpaqYC7LZT6LCBMMw1BKzvvebE+ch6qlapFca20NEAA3UxogIlXbU1qXZgc0OOUu9M65lEpLog0hlJJae+fYvz/LzVyC2WHfa2NcNMpTu7HndWNmsFvmhYG2rZtpGkbfT0HBXc4zUxynHtF+e8vrVmJ39LHbtr3sMz2M94febghfNnCN7NcG+z5EIgKEruMQwvVcSil9P+aaDuMUnHu9PJvJ0MeUkuyp82EYhvmaaklV5Xyp7ODpYfzh6fH5+dlKPT+/rJfL6RCPp+FSU4jHBhe1ZCXnSeX3cCgico5UsR0GXdftc/4I5Pq9ghmGcCMVAAAxQBP4g9Rq+74HPzS7JGIF0HW7llIRwXsWsX3fow9NbLpuCVGWLauQ9/u6byGEcez7vj+/fTdj72LKxfkuhj6EDhGd4zZOEFFak5kRo/cubzcJuG+lSaSmTIBN14GIMQREKzkzI0DLFa5EoGRVclN/mqQQeyYFAjNhwHHsc9r2nOelOE99jF0cSq7H+y9py1Z4z2W97g/TsOdV0prSNkmqsnsHpoUdi0ipG3C3LAt1GEIw/D3sD7GlHpqIMPLtz/im7/oQotw6S6nt8rWNuSdk5r3Wvo9SCoDe398/Pz/bux1KW1m346/ZTu97892qDYCXUhwH57Bnenu7NApcSilGn3Nm79qE1sTWzHw8Dr/+/AyYkdyeZiTXekdPU1VtGmIzW9f9o+FuO9L2FqZpamYv7YFCxOYzMwzDuq6vr6/DMEzTVIu09Ib2A5l5HA+IVkp5O78555ipuaGv61prBeK+78dhKmqX87xtmwucUvnb3/7WxenHH388nU6ApdYKXGstiNjsC9ur8oFTSm3SYMHWGfd9H0J4enoyhH3fL8sMQIC3ToNzdq7FGVPbuRFg13XbfkbqnfdqtQ0bOe99nPbLlnMuNdkwNsKq3RpsoBbe+Y73eR+JqOXvquq+74fDwTn39vIaHB/uDn3fNyub9oHknO/u7rBDfFdJHaZTOzsA4Hw+myG7cHf34F345bfnWqXWysC16rIsYCgir6/nplr+/MOTFF3X2TNsrnbRresuUtZU+m5sBGt23BpWYmsp0efzed3rMBwdx4YQe39z8mkXKISuzdvrtnRdOJ1OD3eHWvO//Mt/v1wuj4+PwzB9//69Kb5anWkUJvLc970jcO7T6+vzuq7j1A/D4IGbXpvBQLMBDV0gCGuCnJMXr+qbd1mtue9jrdkpmUlKBZFdRybQdd2+lX3fL5fLOA6ipdTty5fPh8Nh2eT1+/M49cdprCI5pfZg9v3YetG2jG1mOESEQFI1duF6vW77/lEth6HLZcdSDD+KvHU+VGvbWofU2NpIRFpKTbV1IyFQjJzzJiKOgw9hXdcYj+M4bttyPp/NbBz7mly7GRoM1/7ZdlzLstWaa6k+EgCUXEPoahFHPuVl27auj8T4T//4jy8vL/ePJ4RmRodEvmYxj3zLUtVh6FrylHOh7z1zhVoNtdZW1WPXjWhUSnEtQqVB7M0PBAB8YERcZ/WhBj+oKjtUxZR2Z87U9r3EGKuKluyciy4iYtkLmta8F5UQAvuQVRTMe+8Iq1QyUClp35nZh66x2Pd9a/qbG+cvCTpWJvaUydiKJ0LQDzcbETFoDoO+lFqrMrVt+O87ZWj5So14BI0vD7WKqhIbKzEyEVReKxbnyRTQiyk1W5otrWYmhgBkBtM0lSJvb2/H4x250KIlk+zRRVVEk+BonZeUjoDY9/0vv1zGrvfB5vktmO15d85l2Uh9XrEeA3hBjIEOCOuqM6GrlqPrj8ep85aTvf72TBaC6z+WIQ5cGyfARMGS1JQLhICgtaSDH6uVKtUZaymq6IlRiwcRGDqvBYpVmS9vOnSeJG9v57w+PT0RATsipFbra1FH7IhLLjnnMR4i98655vvhCEOIzdaj0QcRUZWZW+ZZssbZFQWAohUVzaSoMHt2hGhZtJN9WeZQ3DBMQEEqq+7kbZ3fmkOLmTkOBFaKeO9TESYh7/Z51zYmke8fH/fXN2bfUfj6/auLYU8lPN7H2IFyzllMvHfbmlJeAMz70KKmUtou1+VwOFyv164bDoeDGV4ul2EYvOvBlBDTvhNajNOS38yuf/v3/8t3/zyO47Kn8+W16wZkt1zXnKXU693dQ5z6EMK+l6ZqCp7Jq5XNXJGcRfuasonEIazrHIJrm1k1p5aRcx8+DeydzuS3zw/0Ogs58jHM69bgKB+7eX2l0EHOseuAqZoCACp2YZy33Xu/5aKq4zgycyr78/Nz8Pzp6QdEOhwm7/pUwHEnGZ3JlmTNPM/lOIYxhrQm0yAVagUx6GI4HqZlPedax4kO/agqagkBkUxEEThoSKnM89roMajchygihJK3VNM+TZNF3FbJRQCAaJQyoxVC2LYlOnYuApnzhBSQNO2rgczz0mbCGONtsERAA73hi6JazJiBY4giiBCkQHf0y/wmdX99ufTD1XEAk67nYTxkXRxGcgRVt+069N4TRucxmGi1oo49ASCaj3K8w3leosWq299/fau1Hg93w9B7f/KuG/pj3vK2XEMkp3A6HfZ9D8Nd6EKIXEoaDm4cx8Nhcs49DQc2rTUTQgyOSXNOoCk4qhWcCwRMQCllEwBzJVsY3Lpsx+PDEMbD9ICI1/mcc0JHzrkW3KiqjXIjFYdoDn0tZRiplHI+nwFNVefrm4ggmvesoJf50ve9C5znXIohBDO8zNdxHK/LbhDG4+npU/d2vhpSzvuanu9OD8uy/DD0KkDekXd5vYY+msmyXLWEG4mimdsUlSzrut/dHTsdas5kFH0sJbMLAMCxI9pH59j6eX+eTkc1TDV/+8bRu677XNJexQGh77p+qFEWOkz/9ve/Sd+Hh4d+6E7jJEWvMsdevv3617dft7/89I+GJODmZVv3hbwLXV9V1dBzzKkO4yC+MHdgBBSICjOnlKMLxSAXQQQFMyRuu2LEXbOABXaRo9ZKRNfreRz703j37fvPi+THyQkYAce+T2nj4Pu+v16vqUrXDftlNns9jJNDqKY17SDKgKa4XJbjcVoMkhk7V1KZDqfz+VyrEGZE7rpJ25YZ2HsfgguD2/evBRYHeF3PMfSOgZhEBJigatO5mllbhI7jIFKu15mIcq7jOKaUzKSUdDweDwcP0KxvUQWZQrOxSftbQwda0+99bKnPIqKaECildDhNIjJMvYJ33cTsfexqrdu8sEPRsr7Nf//73z3SYfDj6AEAMOSkmc+v52tO6NmxQ2IFK2joPZe8to29ZxKRfbsOfRjGExEs29qSBQ0oxgAA356/S4XT4WHq+7b6jX1k507HPzHgPM8dxxhjFelDvK6z5hS8m4axSMWCMUYV3ddtW5YQ3DB6ChijqxXn+WUYJgwcMe5vF8UgYN043bG7nOfrlu6Pp+38WuvNHyml8vLy1nVd+4iul2Xf8pcvX7rAX7/9araO/QMhLZft8XG4Ow7fvn0j0Lu707/9239r/dWfPn96/fYyHcbOW811Wa+e8OHhSVUBnfNdfwjz9+vb65Jzzbs93E3sq0EGyFLJH+3+4W79918lb8Oh67seAJq4pZk5eu8AtJS07SsgGlBT6hcBVRqHU01CLj88nj59flCtl8uFOQBAjKHvJmZWEyIap/7rt1/Kz+uPP/7I1puZIwQRRKtSsq5dH8i5FbXW1XEUsVz3EPtaK3slM6kwHYac6r7NQz96X0R0GChd8tN03LatH7rjYZqX7f/8v35lRnj+9j//T/8Qg2cmLdJ3I7tIWGvdVbIDqft2d3fc87Ym6XpTq951aVv7gbb9+v17/vzlCxOs8xpjZLIQaZ6v1fZPw2ciSmkLLsTIedtLKd77cbib51mFcxJmfzgcatFaq0ERKYjSOAWxC/M8r+vuY+dcLaWoFGRnZuM4pSLk3DBOKZWGQzcedilSspjWWvO2LgjCdD8Mnee7by/fnOc+ePS9Ssl5fnn+HmP0oXPOreuuqv3QZrGaU0bSCBy8VSkmuRZD9EDkGqSXS1Kt8zwz46fPjy1/0TuAygCk5kgaBd9aVigRFL3lNJVStOvI4AaJq94Kiho5R9CUTM3uoFYV+oP10gfi3hRpqurQOfMAjIE8kYECUuy7JqqotTZ1YDs8Wr6qvSPoH+DKja3xznen3/2PDVoXDy0LtP0MBsRaKxg3KJQr55yrmCq1YWhd18vl4lyI/dgm7PEwCSiiOOe6OCz7cr0sh9P0b//278650+m0rPiGCEaO/AfY7L2vVbd9GfsBHCDi0B/bIgIap1kAUY93B11RcipaAjtiKFlqrahYaxUFx4qIWqXtMdpiBADEoNSat7WU4gPHGAniOI6lpA9nXwIHgmtaX15enp4+t112g4VCcFJvO3pGil3X9kEhBO+IiJBbZ15bjhqAhoau1X3bFqm5FTWrEqMXUXbonDOjBsqT6WVeDOoAnXMBrLCj4Dnl+aas+H1twqolpeS6PmNGo1qrd51nNGw7FlLVt5fXUtOeVnD8+ac/IZEZtp3s6/nt+ftrUR2HwzgeRGoTuLR81ru7uxC65+dn732tVko5HA4ipZbSsmaaTgMA8r6/vZxLkSzVMaeUEBlQQ+DL9bquq2Nfh36eVy3ZoHpP//Dnf3AOLvPz5XLx7kYSa7hOqxpmdnk7A5aUyvntCubvn07jFDmE4FYw+/FPX0qu3759Q6PgKXgyMw/OIbGnLLVJLR3BPm/iaxfj6+urlBpjvF7PiLiW9PXr16enz8xu35dcbde6LOvxQNLsd0wub4t0CsSKN75N2vZSM0Al1hCDc9RcCJuQVERqlVoLUWIkNNhTQuTgu0b+q5JLlVKL2dgIXIRmLSKloHexZiP1l/NSMjx9iqCS64UIvn37Vmoahu5ynYmAGfs4NZ5ukapgRD0SIjIYTdOdVE25MHWlFFV6evz8fP7bp8cDWHh+fXNEnTvkdU9pd7R3Xey6oII573upADAMw7xc13WVqkSui0OMnugQQnh9eymlqIAK5izsYBwmM8xlJ6Ljabx/emjwW9fFruuWbe26zkwa66zl/MUY76bROXbvlvVEpDcBMdSakR3eaAI38Gbbr0T09vay+/l0um+dWVvii0jD3YloGIa2tVPNPmIpUms1EQKTWswqAj4+nnJJl/k8jmMLSdn3HZG9o/maY+xj3xFRYLtcLuTx4f7pcHw4v821QlX9+eefmfnh6ZMfBjKwKiKSSwLQELrUEv6arV7Vd1NttyxL3lMX/W0uVSFAZBIRhyiGnffH4x2gE6G70+O21mXbr9erZ97WpFLGsY8xfv36HDtPxOu6HQ4let/a0Lzz0PfDP/6nPK+Be+7C4XSa1/l81c4HIm9VU6o7ZO+6lI25v65nx+nh0+cWudD3cd1LldseVX53sL1tQWOMHz5j8I7L1pIPx/H15aLD1Pf92/PL46cvKSUHdr1eSxZF8t7f3R1b9PiW9raWbHyVcRzbmv75+XkaR+/9YTxs28ZERd6V9Clt6346ndgRgE7TwA7fXnUc7pv5SfAjmFPEwzTUkhGx1sx824fc3d2t67oscynNdx8b9N4M2ttbm+elMSHNrO/719fXhpQ1G7T2ghv1sYHr7RtzLduWXl+fmfkv//TPKSVELFmaAWiD8y/bEmKfc95y2ratH4Zt20IIOZW+789v33aAp6f72Hl+10G1A/Q9QtETQwjBOQohKMhluez7rmBEjlyI/vg6X35bXvbD8MPnk3OhlOIcqSohOQ7I0Pe9mu37nnMehsF3kYha3oOZtdmsgU2I2IhLrT14e3uL49QCm19eXt7eLuNwaFD0fN1i7A/T0UAvlzeCpkAt7Rmvvh6PRxE5X15jjMuyAJbgyg9Px5wUUErdP31+GMfDsm/zck4peeJ//bd/eXy8X1cZp77Ugmhquu+rKtyd7odhenm7ENE09b/98utq6tlCZ/cPw+W8muVSymG6u7u7e325ml0QaNuSGIbQeR9a67Kuc0pJVZGogajzcqlpj9G3VMTjnW9khQYYN9JUcx9HgvP53LjXROx9pwoE6L1zhAjYUvZI9fx27ce7w2FUBecZUQGgSmb2HXcAAIapiiq05iHGvh/0eJh027dtQYLDYVqul7/+27/va1WtpuXbt+5PX36IMa6ydUMfQnh9fUYoXaBx7EMILvC8lcCdVPGui8ElL8zmXcyCIrIsi+fQGq12J+SyA2jf9yG4EFrKIU7jsZTSTKNUK4BvchR2TZxnAPD6em7lqNFm1nUFwy74GOO2kIggttu1rvvWdd009qlKyarQMkbRQJyjEOMpH4ih1lwKE7XmSTJY8BxCkBIsNPkBqSoyGrq2QRIRT4yeEW5KsLZ0znlTQ7enLVhoFmm1ZoCbTzkiMvmatpyzdwEJnCNEUylg5EIvdstKIANENhURMamq2qjToBaJ5MZGRyIUkVQKEGkVK6W9PiJHJLVqk7HffzoJWJKqN645ZxMG/NDzNlZGM9v94AV+sG7s3WXzo483M5ECSu2vVKWlDTni8k6CB0fOOanQWNqNnKCgRLyn3H5OY8g0foVzDqFp3bpadV32fd/neW7+UN5F7yPjjVRnZoSOHdZa2hNyuV48e1ZmKjdOupkpMnvzgkh395M5dWzeQdd5VdjXVLMQYAgdMzvvt2tRBecYtO77Pg4R1La8Vcll30QkZXt7eR3GwziOfR+7rpvnWYqGvn98/PTzr39vTaT3XkVVaxPdfpzE7Z1+tB3e9YbNeKGlvQCAEIGiOoL2jesytxUwAOiet21D9jH2jjvAYGq1KDgMHEVk25YQglNf9n2+vBYpiNh4zyJN04v7vmd9PZ3u+9g133Qg75gNQccxbZuq9rF7u5yJkJlFoT2f1+v127dvpnj/8MDk2/7aObcsq4INT1OMfeMItjvqXYcnInI4HFLCbduIHKNTsXmefQyllFyV2V/mVzO5u3sIkU0dIl7frpflQmCnY+eYnNdctmVZvPdd7FTXKjk6r3hbqYvIENzL+TXVlCv++nX7P//HL4+f7/4f/8//PAx0uVwIueu6x6cHAFXN3qNzvhQEgCJMGcQMTZtuuN3YzREihPD4+DgMw7rNzadPRLxnqfLr9+/X6zyvw3Tg0MkQ8PVtKZty7ArkupfGyh3H/unpqeuZoBJD9EFESt5FhNCBWs3FRJk9kUMDUREuasTEOe+Sk4vhOr8Ow0Qo67J1/YTAteq+7w4JgGrVRpk1E+/j16+/ns+vsfN394cqLTnYtRtJqjKTf2fKFqWujyqYdsnJwJxj712HVO+PAxgZBlBL2za/vf5s1aAeTyd2wOSbI6RWK6XUpUzT0Ni925pLKX0fwFPbIHsXCL0ofXr6rGCNkHY+n6dp6vueSalrBFm3Lvs8zy3AC9EGGFqLFmO8Pww+MJPlvIEJvcMaBgXAO8IGCjB7AHLsLVqh9O3731DVoAzDhHDLMrN3F4420K77mlMZx9H5oJIul0twRGjkoIrluisOx7uR3G013A8xhLDMmVxUcUTtPldm70hfXl4Q/DjdH6aHkuj1+krkEKGUBNCii8wz1wyq4B1fc20760arSymRteBtADXnuKa8LG2FDSLiscVFOQRn6swQIUhFdi7lqor9OOS0S6ljBwLAHHPV4IdkGxFLbQ69ts6LpO3hdOxPU97rnkqs8vj4+O37b7WQmqRq615yrafjuM379tvWjel4Z6UkghEAit5okK24ldpc1JiQcyu/AAJAiOR9615yzppSiOi9v16vgwvOOTVRqyLYIJssuu/7/fHUdV1OW4wx5+w9930EgMYBe319XZclOn9+fVv69XQ6dV13fb2sNIfoEaiU8vLy4r1nd/PcqIWPx09ay/n1eZmrY2LfIQTnbqyYlLZ5npdlAXgax1G1DgPG2DdfhOv1yswtM5Xo5jxzOBysCbGmaZ4vtdZt29pMPo6jmTVGX4v4OZ3u7QLLvDJ7EXl7e+v7ft/3WvR0ur+7eyhFlmVzLkynu23bQoxIBAB7TtPxUNeypnU6DEzW9RQ7l7bkfdy2DamRRZWYnWOHFF23bguA9n18fLxHxLfzdUvpGPusrvNjtipViXhZLtt6+fz5M5OJGDbQirnv+67r7u7uUHFN+7ZtwzQexqmUAgbDMCAZEaBD4iCgZmqERWQ/v3ofx3Hcczmfz68v5/v7RyI3z/vdHbphYBQ7GCO09iME16qEuzsu1+s8z0T0+fPnr9/+lsveQIdtv87LW9M/OK+HY9SX1Sznsr9d6j//8z8jmu8GLeF6OV+v11pr3w2H092U6rO77tvy5z//GVD39bos67Zffvj8cJ33b9++qeA0HQgDs/cuXi6zAgHscks5pBZJISJ9cNu8iBRA9eyYOkQc3m0P2iPgb/6/bl1XIvfy+tx86obh8J/+6b98+/ZtmfNh0FKUg78F7wAz0zhOW9qcG2+6RNDGljEozFxyVZXn72/ruj88PPXdMAyxJ2SlvD6k9UrO2Nn5/KomqCmt8/39yQcyk37oh2m8O96lWogghhA9Ouc8u2qVGVWqFPPdwMHn/Jtccuhi8z5S1Sy5PdTjOHrvnl+2X3/9Ncb4008/tXoVQtcQQjMZp6H5kpRSVXMIIQTXInpKKSmVUiRGfzycmFxjIsUYmznP2+UyX9dq4F1k8ug8VBMREWNqwKKWWjvnP31+dI4MdNtXMnDOlZxqLkwwdhGHsZQCZiGE6/V6g7NRkciqERESaC0IUCtIESSXc1YwB6DNDVC1NgPp9v03wyZT1ZLzzszD0AGq1FSLYS6GrhRh5iF2ItLCeEFvriNm1owFgUjfLWabOzsBKgKjNZPgD9av9945B0zeMQiLaSpZVR2x64KkmyWwamvHBRGIoNb8zreGBja0GxffY03+ELQEAPBhpk1EIFVEzMgx27v9Bb4b1NRac87rduNRnU6n5t/0h9kAGGnP6Tqf5T1t6ni4S6lcLpfL+aKlKuFtmENUUUJm59y7g4RpsYwxeu/RExMRO2QHyF03hBv2A7Bsq+TkyHkfPSMySTUtFbwiYRWJPph8cFe0rS+8o1rrus1V8tBPp9OpFbKuG2Ls397eiEhKDc5XExNlT4y05NxG8Bu7/X1fkeuNq3rTraMZARLnnDMoNcka/B5qO/ZeEaQaAIGxCNSiqnCcphjd5e37vpfjNIDW+Xrelpl8cI7pFpXCRI7JpG5ihU7knNciJVdGpuDJhX6Iy/UcgmOM68rDdEBF7x0YmEnO+zRN4zgC+deXs4ixC817IfZd+4ialrxdtUZmJYJWy0II67yFzrUx9+3tre9Hdu769nr/9IMjFrPL5U1qbokniH5P17Qv25oOx37dzkS0rrOLIYah6e6ZGVVz2RGR0G3b23y5IsPd430p+Pzfvj5rXa9/JgapUIp0HY3DlPJaitzdH8u+3VJGgwPQXIvzFDyD4vPzs4lO09TkEI3nFsLDsiwppetlW9a0rfX8+lIVRjgepnGaqu58/vlFSj1MsTudtvl6OBxiF0Jw/eCl7GbQ5kx414bG4EPwIiJVQ7ix1aVIJYrRA2DLwQ2O53lG074bLHDerkTu09PndVvW9bqsi/MwTHy5fCWiu9PnpvtxvjEOQympgc1StdY6HcbQRUSsxYKPZnXf93XdpRJx3x6ly/ncuU7EhnG8mw7zPP/2y89SVscotRKgD2wGjFbRzCTn0scQY3DuSLi0HF/vPYzTMHQ5ydPj4HyHyOfzGRmu1+v58uI8PjyeWrrFy3nbtuXl5QUhHsbJObcs11pKC4SPPizLgqBd771ziIQmpeh7bbFSk5kRdWbG5ABoGKaU0DnWWtRSKc476rou54SEzEwEZlhV1iWd367XpTw9PTEFwuAdq2Rmb1qY8Xp9NZtKyU0iaYYi1g9dLTpO8Xw+lzX145ALOO5AcL4uyyKPD18+ffqTEV7nN3bWBnhEYyJH7NlXKwTctFn4LvJpTQCAq6W1gERtQiJChLRtCM4DhtAN48nZYIolc91rmCKA7XvmEAfnSk6piJkd7x6JwED3fe6CM5Nt225eH3nf94LCiG7b1+vffv6n//yXh/tPz2+v+7IZO0RuAMT5fP75b5enL3Z334MoMAPAti3eTdC8jN+56fiuklJV1Fv9Z3ag5r2XUk+nQ8rLNE3z8y8tK3RZlm4cEbHrArOvW2odp/fu/LYh0bYt+47TNN0AIFUzm2J/GEZU+9e//mv+4Yenp6cvX740IxcAbR1tKXI6HUSMGe8ePnnCYlkhXM4rch4G2Pbad24YbgrO5iGzLMvd/QnQ2vHXCPdtxluWZd/z8XhsKHvzdRGRx8fHcRz3fW/a2WZlA2iAxu0YYm6O8maIaN77yzKH0IHRNB2lQq3y9PQ558zkkCnEJUQXoiuSa82Xy6WdIKpyPIxd79u2uWQhdOMYVbWUxGCodp7Pqq8Vxc9+mAZ9B4Mh177vuzD+lrbH+3EaOwKruW5b+uXvX//0+REAuhibR0qt9TqvrQmGd91CU9aCqCPuuqayw1KyWqWWlxn663pJ+9Z+oxnO153IjeP49npd5r2UkvLiEA7HCdFSSuPYNxHCsixF5OHpyTOrauz+wXEvUr4/f3eOvvzpU9rzvLwdj8f/8s//9HPvfv315y299f291HXbthAPx2kEGx3BnquBiogi3Z2O//WX/3Y+v/7TP/zl4eHh9a0YIJJr09S2bTH2zblOqrRNF2gMfagprVfc9zUE9kyailmtpQAoEWitpaT+6f66XAHAOWqLoHb2/f3vf1fVu7s71a5ZhKng6fjgvScMOS0mdd0unqkfh1o19n0EMjMiA1CR0pgRe9oREYGYvfc+RjOz8+XtfHn78uVz8N3D4wnu+yr7vO7s6KcfP0//5e75+Xmahn6ILbHR+1i1AtrhMOV83vZ0nA4GUOve9W6b95qhlNL3bph8LlvOO9ji4/FwOJxf30ohMzseDy1q5rdff16W5du3b13XlSJk0EZrxEzNJaKUkmvjcKhWM8g5t3WQiKhCKeJc6DptPpWenXNeql0uMwffUchZGdQUzKzWKqBtEVryvu88jn3XBzPLWUA0eI9gzGxVWq6CiL68nv/854P3riWRI7ZgBENEAwUgU0t7MZVhciG4XItrr945F2Mfozezl5eVmStUwkKOzaRt/breqWjJGem2AE57ASh30533vtZcSmGExpJnwIasIyL5G3TUKC4AxEw1lZxzyxxGxMPhEGOHiODYQNd9P18vzbG1YW8sgsBmVaQiwq37hZbKae89egv8uzkliYiZ3H4v3obRlr5hJthSXZp9IfuipZGBPtg1zAyg7wvEjZgBKNcbQAtIMZr33rnU95GZow/NxphASykp7YDKxDeO0Ts1aOgn55WRWAkMTbF5ThhSC7RzzqmhWjvmWQXahgERiWDqu3nbq5SWZVuLtgGmFUrnXHCEKqWUGJyI7HmvtW770nVdC88CgHEc//KXv5zPZyKK0QUP3nvVamZtMf0+wfvgPSGWUmqpas3ZQ51v8kRSBiIqtYgkRB76KXhvZl3XIVPftdhLMkOtQojT0Pd9H5yd4UbDrUW0ivcR2Dnnby49ArU0FT9O0yGEQEYiVnN1znkI7AMEp2hI2ixQgqNSUheDVmm9xWnoa9XX1xczOp1OyARGj4+PoeuWeVMtx+Nd34/fvn1rM926rqfTYRrHbdsQ7fHxUUybZ3kpJee95/H7t29V+Ycvn1Xr8+tL343TNM3L9e31bLgRSi5GcNNixiGu6567JFqrlG1bVNW5kKXWWk+H7v7h6Xw+p2WZOvvHn06ILr2+3n/+/HB6cM6hWou3ZEKoEKI3UHsnWJRSnPcxBg7++/fvbeXdzJKboMd73+o7mNv2YqCn08kUex97T2Pnx6mDv9R9RWGVsj883jdHatVqVZhZ3rdnXdc15wdE9D6ANT9NboQ6RGua9cv1vG3LMAwplRj5+fm36LvHx0+X83kcD0jqHDUl3N3dPSFeLnMI7u4o//iXH//7f1/RdF835wjUAsd9z4TsXDNgsVKqVu9d3NI1xogkSDqMjsjVWkTEMiOzVnMOv/zwdBzcfH0tafddjI4ZWpKdqlZ2xs4BqEl15MZpAOOUknPWdWHZZU8bYzeOYd3SsizIMC9X1Vzr7j22rSsSvJ7P3jum+Je//GXbtsvlAkbO8d3d3f39ffCcc6qyeQfOsSMwMzQAAJFaUgneiJwZehdq1VrIjI/HY95vJk4qKYSb9RaIAjUJMngXEddtLyoIRMiuCKQsd6eBHUm6Itq2bct6DSEwj7WqSTWX95QQQpXkPPZDqFUJrQ+P25obKvz46D59+qSWtn0pJam2SOAP5SWpWgN3mEBK6w4R3g1wmDlvu2Mkctu2AEBKexeOIUQVM4W+ny6XebuWEEItFILb1nx1y9OnB+fc5e0cY9xTHocODKzay/xyd3cX+w4IPRoimupyXYe+f/o8vZ6//+u//dw5jDGGvttLdkDHuzsRnf/6XStcLlszVhehosbeIRHobQ1VSml29W1765AU9cYtTbnW7MhzoH1flvVqujP5NiUCgKqIVmJXa3WeHAdEFC0pbWY29HFZlvPb2/39PTOXnGMIfT9er9cQwt3dXeOxTOOBmQXs7e3S9/3QT5fr2+UyN0DdcViXq4gwOWq2qoQGsm0SQodo+76P43g8Hqvccr6klut1QeTD4XA4HFR1XdfL9SqqoqXFGraWuh+HYehc8A2AJ08cWM1i3zEwEF4uc8NfzOwjDrYW/dvffuni+PnTjwBYSw0xFKlaslpTrpuZ9V14fX2Ose/7AW+O72qgIFyrXa/Xw2Hsh+gJ1aSWncBEKpDVnOeLVFEOcZoml5XZZbkCreu+EY3jeGAmAp7GU+u4VKRVIcehSMX3xIOb4JKo7/u0bm2MdI4N1AxVQKXZg+LxeHzOr/M8F4FpOgz9cRimEMLnH/709duv4xC/fHnyAfO+qSoQ51pSyexdjDd7E0BUrduWDlPffLBTzpfL27ruhHx3fxrH3nv+X/7nf/70erperyFySmhSQ3D7Wpdli7FvfTkZ/Mu//HeTOi/Lr8Efj1PXdcfTeD6/diE+3D2qGCPF4ILvcq7buoTIKgVJmH2pad9XgCBat/XSVuZEYACm2iD2x+GxFeFab4BmCOH+/vHXX3/+/PkLM+9bqsVeX89dHGIIAKAK1+Wa8jpNQ9d1hKGaNqWmcw6A3k8B/gB6aq1dN/T94SOH5O3t5en+YRx7Ar9lUsLh2CFFAPip/4HfsV3RQkJiuC7XELHWglLNZNv2KskHHnsC0FxeikLwKXZTLlpKfn19vRldILf9//V6PZ/fnHPH4zGE8PXr11LKw+nOe17XmWhnvqUAGUgVXda51hr8zfDxY+pu5cI5xwhtyhVpwN/iQvdAnSJ00JJMrJSEyEUkJ+nCECIhcskGoKaoFRVzW/q1ETRG3zgCbYoGwBACGDV9aikFgJxntJudUYyRGXVdXAOgieh4PDZtddcN27aRAkIZYrB3K722FgGAvh/YjWBeKrcUq3deMrYeuv07GlRTrCKlMqOCEWBwXtrpRRWJgUkR2LnOR+dcSklL3dI+Xy7r9QpEw9hhW/e/x541L61S8s2L/UZnFwCDZmAO7SxpFBf3waJRVTXJpY7MTGgmKhXR5EZ1usWqt/+/DQyIPpdqZimVPSXn1Myc87XWcToQ4rpd5+WCoACacz4wMrEAtKAvhGCWzcwxN9t6APA++HAoeTepqiWGXlXNsD0JIYQIIFbfHTA0l7xul5TSOLrDYdylgNQu+BwjEQxD7xhLSfru69SMBR7u7p2n6/UaulBK4/QZcJMoQd/34zguy+JcaLCTY7+u6zB4ySK5GKG+e6U1dGpdq2jNOSOai6FtSpynvu8RHBONgycGEdEqjqNUQQiuJSKyV29mOAwDkta6D31wSAjWimxAGg53jUCZc1Zt3g6R2R+Pxz72YBR8J9WKqJPauw4c9oMvmxGKD6hWAJpjxM2jnYj2fSWirh9LSWN3bNugNlcQuVJkXVdEJMIWFdnmq8vlgminw3FLezuxELHsaez6sYu//fatxdk67pn92E/DAN++/WY2O8ZmRgQA379/Pz3c11rny3lLO0DLblDVPefKzEBuPEYBix6HvvvyCNtWStlyXruuu15fEXE6jIBSSiUGQgNQrVIB0MyzC83DWOrD02MpJXRxmEYiErFtXdvbVMNxHH/y3bqVtNeca17zuu6IOtxPP/zweVvrZd12SbXuiNE5KrtsW46dI3KEXDXVerPLMANC571DrKUIGDYqtve+aFnXeduWbZlj58dxLHnf1vnuOAWH23Kp+VNwMa0FgBG6l+eXtEEM/Ty/sSOD6pwvpYQwimAp5r1nCnKLzlEzqZVLKnHoEKHrPQCxMwDzrlObNjHvfclp27Zh9Hf3R+e0JAfUq9WUauwcMYjmGzlKmssQMnLbwQGoCFxe3+Z1I9xCdFWUHTQacQx3PgYiynn33k8tOpToOH3y3pc9H4aJCLsYHu8aOUeW9Vpr9g76GEJwzWjr/PZmZp6941BKUQUmh2hEzqOdjg9n0VJyCya2932XWjXFtoCLse9HKaKGhBT68QhSFcTFTksaCHPZzYTQrcsOdnbMJcuarqbeVJqLPBqM4wjG7DvHUYwu5+WXX9fTw93xeEQSYFBUQDVUw1v60odtooi2ls77EJ1rSyRCq3vzj7P1KtU0hFCL1F1zrpd5sW1blg1SZwJD7Ic43t8/5rJdL8swdv3x6Dh4KlXytm7btj0/v8rNJB7FaBi7fd+MKNXy+f7T3ePTf/2v/+8traG7meLXkhE0p0qahyF8+vRJC4tYMzPwPkp7PPE/ICmt7EuzMrNWk1C17UpJALz3Ugsyl1y9996zmTCHqtUUunFyzqlVyQKg+741gy8RyXkPoWvNwRC6cRyHYYixv1wuh7tTTuXteqlVr9fr68v5cDgAQE5VxFTwl19+8d5PfUcUYsS+730MiChFa9V9X7ctpVSGoRuG4Zeffy01xxilApE7Ho+NWTqO4+V6zTk/fXpota6FMalqw8t+/fXXlNLxdACAfV+dc9N0dM7JawHg1tm4GK7XJeX88vKVqQthen27juNopm+XVyRJaUNS77FKzjkH363rHmKer9v9/WNJ9v3b9/+bqf9akixZsjNhVTW6idOISFbkdHU30APIYERwhfd/hZ8MBMB0H1KnKkkwd9/MqOpcWGSh4yIlJSUzI3wTMzXVtb6lFDnjSoZl3WKMh+Nw2PWcMwDcnfal8HWeqnBpcTyAUoEEEVQ/mL5DrqgNp7SFuIoI53JZpxDC0PckoJRBW9utPJ1Oawy1VknJGeu9h8ooAFTndUsptFVxWZaWSQSFu25Y15C2FXHtu9FaTUSn8yHltdR4vV7HXV8rcy455763iFgKW2tDWoji8XgESIQGRBMqEdnv9/3YGePmaSGhkvKnDx8Bq0B9eHgwpEoo67qiHI0x822qujbNqrX2tN8959cPH9799NNPzpllnbY19P0ILDlnYcg515qhZ2ON70jb/uXlsm3LMOwQUSkErC1clrm0sFVSrTBYXi63/fEAQKW8QXVut9syh74fYq5//fXv//iP/2h8V2vtx/2yLLDpXT8g4paieRtbxd2hh1it9fwWHNlcdkUwNfEzV8mpamO1tvCWveq2ObXHjyUVKU5A27FkKVz/mJncbjci2u1UiaXmFGohrN6qmkNYV8BSEse0Gd2l+LzEqR8Od3e/2Ey3earM7Qlv8NNti0qRUlq4lsJEZV1XazURTNM1pTgMCMBavxXoMcaU1qaGctbfbpf2U1lr+37f4pCBmQg1aURVq5TCu8NARpeUvguQSAQq11KjUo4Iaq1/6JfaVKcV/Tm3xiQ7pX0/AoXLbRqGwRgDpBEVAApjzIGIlNEiuXLOaS0lKWUQVZM6uRYik3MuhbtuiDEzl5xrKdwcjd57BCXMfbczuqtChOp0vq+lZT3kto4DV5GqiN5sgqRFJOdMZGp9MwPVXBvtqEHsiUiRbrP4Uni+XRBxsJ0+KBEhjRqJWh41V0Q0RjMzS0EyhG0ILiBva3Grw1r5gt/ZaqUULrXUjIhbDPthtFZLmNd1LilUpahWobfDulIq1ybfzDHWEBMRDcPAIsaYXFPri7fDA4DSmvreASIgI2JNqdYqlVlK064DVMRGYgFEzDkLpFpKTanWqExi1g1ZFWMWecMeCXwH20slAutIKQCsXLLSaJz2xVqr+65jLrWmts1rouap0lo7ZwBAW7Oua0m5tR9qrSnlbVs0am+8ArTaiEiKsebMpTTXhVJqjaGNUN9MCvKmlxBCrMIMtRaKxJX63gNUIKWV4hoQNIg1mggr6nbc4oqVmSsHAwo47/quCUAR0TgvUhs6GiEhUiksItb4zg/OmZJZpLYtMOe8SiAiK9Va7byGSl01AqKNIiKt38RCaV1qlcPhqJS+Xeenp6dhGBD7GoI1PqW0rqFk1lo3MVXba9vZCYBLzcZo52xKKad8veVh7H76+YfLf//tb3/9XWujlFq3rRb5p//4D//wyw+32+9fPn8OSxi67v7+rJTatiWlEKZtWZZuGL33lYvRtu/78/m8prqGK0tCtUfsyFcjRQhCuhrHAgkAlfYpx5hnZbxIC15lAiCtrXWtC15Kbby2t0WTuQ3QuRGdt5RKHYfDuDulWHOu15db4llbXY3TSqhWL9qSI4eVM29JKdW7fhi6UnOt1RpEQEIyxoJQ86Js2waCzSwuItYZAHbOKN3XXErJv/329+Z8YM73d4fL5TLNr0qZLSzW9DnVp8fLukVr/fmsL5eLUui9HYZhHHYpZoTG9ERm1lr7QYWtlIg5g6m6lGCdstZuMa7L0vU7rTrnaq6pQmGoyxqqU0jKuOF2XdtzohCk1hZE0HoE1rZJndbGW2uFsb3ahlBZRaout6vSNA47Iu07FAGBSvTWzhHBFkr/7etTStm7fgst7v6gtXbWzMttnq4hrAT1eDyej6e2P+Vc+mP/XW5XGqVYUQdARNaaAVET6RY1UFIGAuvoTUCpNRm72x1QEVcQEgEdS1ZuANMZZS2oeKkI1I0HmCcRJNQipVZRpESosw6VSlG0NinWAtPDw8OybiyxlvrtcX14eDgej2tJQMhvF0jXIrUUEdYNLcB/CBGh/WaZb40zIyJtHl1jUEprMkTKGKeU2XLIuULO8zSh7pyxp8N5Wi5V8paLiAhBTdu6TITQ933Y+m3bcs7a2ZJoXkMusYDknOa4Peze/fO//F9ff/tfIa7rOv3446d1Xf7tX//1drnGLVg3fPrwHxA7ZFWhEurmp6+1Gm0VQuvI4nfZZBsi1Vya9TbnxsgSbahUqgDMfLvNVr+xI40xOURjrHOGSFtrW5tARJoc3Pu+1cdKqQbKbGx113cHrUII87Iqo4ngcDg8P73O83p/f991HVfIOafMzpq+OzRFq3WDUliErbExxpSKtX4YunaQ8N4//v2Lc91hfxzHkYhSLJWzUup0OrWxw7/+679++/btP/2n//TDDz8sy3K7zUrh7Xbret/c1a3WD2EtpfRDN89zCAG1+Y6FYBCyph/HozAppZZlBjEoteSU8+a8yiWUzGHdDoeDMv7x22Vd6vuHD8vEpYSffjwv09T5Xcrry7cXlNJ7owkAS8pBAaaQ1rCR9YQ2ppwrgGjXwfn0kELmkpy11dmwxhDWdZvDthHirt/tdjvrfc55iwEAdrtdCGGL4Xa7NWN1jsn1+nq9/nuhvzsdvO/XdXauA6DCsm1RkQFgxJpyttZIKqlErfciNXJVyjy9Xu6OJ6VMztUadzrfEdHt8VWRm6Z1f/T39+9ICbN0vjfaT9PGnG7T6/3DIcbotFFkrHVExLUcD3utaN1SCMH51ECZ1uph6I7HPRFtYdHan04Hb10bMjTliXOXDx/edb1+fplEauUEWAFxGPuuM4Cc41s1+fr66rw9nI7Drn9+fl7XteXQK8XCgEA5J2Y4nx9EIIS0Gw/rura/1rpg1ru+7wlSa29tW+y7HWD9Hm76v2Hc/AeYpIhWNsW8hdVavd+PDZnibYeEShmjCYCM1ig5hNDOADHG437nrVlyGvtuXl4QSywJAJRCJFzXTStSKt+Wr6/XJ+f/pe+O1HWA6tvT12HYDd3w8nJpi4b31hjT+fF2u337duk6dzofLs9PtVZtlHOHlqoZYzTGOG8wCWQ2WuWStm3rum4cx1rrskytuC0pvXWkBZqI6Hw+V1SlFEARgKaKzLXkDMKlMkutvlOkUBIDFgHsh0FpnUsCQK0dKSVChRcWFiRUOhdGxFpl28KybsiKO6tUYk4pxXVb+m6HYLQ1rrVUmyK2LUl937+8vDBz4VrrGwcjhBBj5FJdV1lMKTCMOwSpNfdev83UsjQFWHMKGmNyzlwqGg3ITfLeEiL094jH1siZ57lWad1NEbHaWGukbQIAmhQKtpWXiFhKzvwHWwYAAKXtJe0eA6g/srjbp2OpTbVZaiKjjVXzFG7TRUo2gxP6vo2V2ubCrUas9S1wZxhMKUXrmlKqVfq+F665Vu93zpttZaWJNLGUy+vzfn80VtVbRcjWEDCWkrTWKNieTpZA2JIFy3y9aWcJLaJqKeiI0nVdqQxQGr7de7/fH9s+45wTjADgnRnHcVmm2+3qrQVj1nUd+/54PKYUaq3zHJVSUmA/HKp/+/h93yNuCtvkpGtUXQCY56U9A7vx0GRCyJJr/eMeKUXMQETthNMAwPI92TGlgCT7oQdQSiMCAVhF1Xvf1KW1hvZexxQFknXEfwTrIpJS34VlWmtTq7zZo5XKqd5ut1rleDxqbWutpeRU2DtSmnpvc0N3ApUUlXNau+aU11prTbXWdd2Msa7r13XNqaJS40Ba277vhbeud8sybdvWhnqtvZpSAGGlFCDebjelFDAv07Q/Hk+n09evT1zVMAwi6fffv5S6PXw4W4MtN6cdCbpu+Pr0GQlOp1OMcZ2XWqtz3X53aHKg/e4u5UkoT8u6bXg6j6qvpARqBPSHky+lpLwozc6pEGdrPAC120HfS43b7Tatseu60+kEAFsMWutUsrYmriWEQKSZ8/V6PRyNtV2tMu53n58WjmIiDg50Z702hD7jsm3BkNrtdi0CGiIopVCa/xs02GYd8d5b4+K2FeZ1XWutAqwUalIlSyk5pQRcDqc7rTWhCPAw9kjlNs+lLgC18s46IO3OdwffwRHHx2+xlNJe/2HYfZeMS60y7rpSeJ6X66Xm2M1rHHdGG/0d1vFKr9v7d58Y8zRftVWk6Ha7JWcM4bIsYduIOsNUSkFiozUgClRE1egx3muQBspFY8zDw0NKYdomUnw6jkh2njeuuesH7/26rjFtADTPswhu2zb0x2VZYijMrDTlkqZpsu5YuRC9USzbQKyNJlDfPz8/W+PbfFlrHWMQEYU9koCocTww15xz8+oQEFQh0lxKKsUrDyLe9UuY120bhkMt/Hq99b2vDMYqr/XxeC4pAtZdP5SSCHAYhpBiyViLHvpDNw45Va5qW2btdSllGPt1W263LaX69PTNe2+GTkRQNbmzrjWUWo3WCMzMwg3NirVWJmpzM2ABgpwqSv0j/beRs7cQyFXn3PU6pS1pUr//+nvNd/vz4Jyz3f5f/+1//c//9a+73f7nDz0wn08H4VpKus3Tu4cPgtVrV0oQhMwlhvT8//zr//hf//bLz7/88OOfSk1//vO/EWmjzNgPkCunrFyptQ792PfjdQla65jfopGsd4pU2yzk330ZY6RyrZUJa9MEaopbTCnklB6Ox3CVsE6ybY01bK0+n8+CNE2L029t7PPdaZnXdmWIqK0qWuuYyrIsRXi3O3Rd9/T8/L3zbUGo88OybH/ojrwf3z18CusGoL3bJQwIupSauVrr9ntnjJmXm1Jm27anp2UYhvfv3z8/v7ZWy7ZtJbdOS+36/nQ6XS6vtdZffvllnuf//t//e3Nzns9HRGynhZzj4XBY1/X19VkEh2Fg5lhyZ7T3vYgo7fe7u7/++cu3L//3bne8v79HBK1s5QUApvm6BfSWDvvj6+vVW7OmfLvdxt7lBIo8GSus+n4/L8++68IaSilKWxSptRCIM7bmstQVKmsyRdXbvNyu6+7Yj8MegOZpzWnrvXt/f1cK57JaY06nk1W2lFK3rdUtfwxP9vt9SXmaphyiVGbwhLrzQ5t0dd0w9GNDbuecEeh0Omm9MPMWlloElC2crdUtPkIp5Vy3bZuAFAaAGrbYRvG32w0IjXK15FrFWv/4+Bk1amVSZGAsNQjAum7vzu9KKd53t9virP3111/v7k739+92ewTyIsLCP3z6oAiIKKU0jN3Hjx/bdtYyNLquW7dFpCLWGLcQVyLbD164BUvbJuUPcW2HaoaKilDRNE2Hw+5wOHz9+mgtGW0JVa1yOJwIl22Np+OdiFxeb4Raaz1Ni/d+v9+nlHxnx3G8vHzZ7/fe908vV62cdWpZllYqyFswhV7XFaCFGTlrbQxpXdcYse/9bncIIdQqNWUhFpFtmqsYNzhjPZeqtYZR+r7nkq1W1+tVOPudXZdQS3LjCFAUIZESKYBRmUIKuapaKaVaShnH0SjTVK/H47HVJw0HNI59jFutlaVWTp0ZW6yYtXZebimH1tNsItu+d+PY32635kLeQhr6sRFptNZNUzIMA9e2D5PWGhHaq2et7fveORfW2Dm/LNMWZpFqrVWKUt6MUdZaQKmVyBC1NjRQBYwlA+lSMhEhqnndthA5okLpOjZWp9SCjEhroxUCoFyWKaWy352Utimv/dh9fSxEkMumlAJkEbSmf/q22M7nRUpNlaHwrEiIMql92+FRK1KOSOVSACHnDNgZXUPYQHLjMLIoAfXvOB4iIrkkQciMpHVKKdZSUh7HUREphSICiloEJiJrrblCLQLfA+QAQDvNzDlxztU5XUFKYSNYMhOKNiS1CNRgNSKqNTz/659vX/7eHY7oClamZrfC3FTWOVeN2nXmslyVUo/fnksBZ/Vxd3x8/Voq5Nz5zrYfDUlKKbthr0DHsJnzgSDXvBrNWtsUF4HMwhZ3wKIVpKRKWQmCVM5L/du/Pm4J+50fj+bdw65WrJsiIyGkaVqMVVpra60gxhgFlLOmlGKtriE40lrIKquEB2cVQqnCRcb9QESlJKggtWoiUCo3JXTXAQBqJbUI4RI2Q6rvu2maRHjd5mEYcs6A7JzSGirHLWxadTGEvvfOuXnZXp8frfUVcK+PCBrRgHBIrFCs1YJAiNp4QNU2OWEy1jrnhEJKzEUhwbZFY1ih4sqsUYi4AiEJsjVvvqvrusYtGGPK68vD+c45V5lyjGxtNxzTFhCx17qiCnGFvkNltDV9PzaJISBS15VSCFCTKSJIFpVTxodlYYRcq/f97TbnnBF1LkVbRURUVYwRULSBZbn4votFsbh//uUnZyGWvN/rY/aVE9fH9bZatddiXG8/vn/3+PhVoDqlAaTXfrT+t8ffJPvhwQrXfr/7+vj604/HsTuHNa3bZCku13Q8jTGllCOMGQENckO27Xu/bZBzYoTOD0CqlDJNt91uD4QpLuu8xLXsdntjTILY9Ya5WC3bllixM/p62778/tV3ewSFNFnMuFFCS1b5zvmu5nIzvENrG2dNKpMWa/S2bc0lAqCJAERAoDCLiO/HWtsoqVYuIlUbow1pxG2Z9vv93emolNKGjJJaAjAgv1j7bM1uW/Q42tP9ne8QEQ/d0Xr3+6+fv3378unTj53TIkKsFCbjWCCUZKXCst4IY11LNNa5DjunQREqLhUgEYnW2ukBBcjxfL0w893dg/EhhNUyMqAi6roupcCMqLIIFi4xvUkmQFApo5QbhmHctVTtkgoYRcsWv34Ld3d3tWJKhQClsnW681pk8p5r4Vro4e7h69fPKeS4JU3qdNx3Hf7w4/3l+bIbj9b1fd/b5Hu3a5jt1oBXgErbmG/WOABSqldaFQnQ5rbEylDMpaIeD8dlznmNICXm2+W6fHu5Kq9T2a63m1XDbne827FR1g+72+vFOzMesECsHG0+7b1H0jELkHGOypbfPdxloH7XM+FP//wPcVuI6+vjc1hnXTSVqpikoCFDpEEyck3S4jiqNQ3Mp5g5xQ2kNv8SGgERrizAChCoptChGIQcF3k4Pkxq+vL753kqiBvpuwrldL8Pcfr69a8pn993H703JWyAOIxn7Xe3ZYVtovL1xx9/Xteqqrvbd7SH//E//sevfwmPL/ZPf/rT/rQvzCFl23UDQn/YoXYv16/XNTz89A/W94CsNU632ErqKrjb7WqVklmrN3ywcGXmHKNRb/yCEIJCixL3fnTG4tA/Pn05OJNC7veaU+JSRUpn1DovTYEqIu/ejf+uZ5SUUut606YrJdUqUvI8V6OMcx0zr+uslEFWwzAK47YFInSuIhYRmdfYpOpKDcuyEWmvTCkQo6qlY7YhzrfbLaXQDeMwHkLIv3/+PAxDM1/mUtL0dHe+R8Q//fxPLZI5pVRrjmkWGD9+ejcMXa319fWqlUOwDLofeuNcmTcRSSl573e7YbrFGOM//fOn15fL56+/v96Wn3/+ebotpfB+d3j//kFp+ctf/vWvf//VOVMklRnysii/VyTj0Fcpt/lVG2QJwOrDpxPzaiwbcoQmR0Fg39k7fS4suZSwJqd8wVhWum7X3d7nst7myTuTY9La/vzzj73zYd3m6QWEyOjjwx0pAmFq7SR44+hNdRaRcHlOKVlrSXHTJLTenB9GBixSjdC47432AHqZN6jl7nhqf63W3HfdS3ytDM46Zlbadh3FGGNac1m11sy2cjYGRTKRBgbfdd++/M1a/eHDhxAXrlXbjjRXgeP5bJ0uLe7QoFNamLkwCJyOH0DcssyazHxbxrEnkJy2UoGIOq32+z3iAMhSym7wWyxcs6ACyYp0LQkRc0xN0aaIDoeDdaaJKVptSkTaqMfn1/Ppw++fX1hyLptK/nQ6YeEQknOiNfW9RxSloIGki9hcdF5izvn55dvxdA4xGasFWQSBMMWsQDEbQ1hrzducltlC6JzRMseYlSKGhYURtHZe0oogSiGzGG9EROu3AOnX11fNhUjnANeXJZdgSA29H+xQUKc8OXP3cPqgaZfKVXiNce28B4aQ07ZtYZvLoMdxH0JKYWHmlNf9fnx5vHjvT8dzrbVKBEDf+ZhLKaUyIZnKYZq3XORwOHQ7LKUwkXWuoKDStrNa1O1yrVU0OSFIKZpuAIAQU/OQLNtqUnLODUNHSlTkmmPDjjNUVjJt8ziOyjmoNebojREuYHVHblmWmMp+f8wxhbAYq0vV1RTViTLES+achBMiWtNrIprnuZFuEFUpzAyl1MP+uIW1lECIfTd23ZBiBQDv+1J4C5uICCsyymhVOQM0SnElQCAkAhIQQGMqYBHIt+lJRMbdqXfjMOzL96jUWguRNsYAodY6h9zaik1gx8zDrlekUsgiIlCLCKAICTHVWhqkpf1Xf4iYY8giqpQiRVJKhGJZh5CWZeo+vfOW8nZZpy8lPEIPqh5UzRVtM0S3Bom1NefKXJxzhKxUYhZEbPAprbVzznvXZq/TNL2+TAjUdV1zQpRUhmFIceJSiahWeFPsyBvuJqWEHJ3V4CnlJSYqS/LjwVqbYyoULag2GgMAkQAA2lqlVEpNZtqmF0TUQOlijN+27fHxc5sVNk9tStBY3IDcuuP4HXIvUjmnmiKykHlD47e+4FuaYz+mFJhZK0MUSyktoX1/PNymJaWyrjdt3YUuzj1415WaUwoK5Y8ASCIiBVJRKWWM0brNYUhbB8BKkWl5vy0MklAppb474TRqrXU7xTahOQhuKe76wSu/hYWBSZHr+q7vQ2EApcgoImPM169fEWgYhlprZSkld11XC1prO2utH7WySplxHAFgnm+aqO/7GDci8p6WZbHapCZRsFrENRZsZb7dbuMI//Iv/zKt0/X66vzueNrVFF8vT6jxeDweDoeHh/evr6+328VYtd/vjbPj/jBOt1JKLUJataPq7foyza/TdDHG9J0tNSxzFci5xOv1ejodvdWlSrtxxmjn3HWelmWxvvsj/+/h7t67/nqdnB1SSs+PT4Cy3/fGKqul1lpz1tr5zsxTnOaXcdjtRy2sU6zMOaXKIoq41up8I2OYUlOM27YtMYVSijEKsd0+rZVp+mZmCCk0CEA7fucSGpNn7LrGB9iPAwDkEpthqJRyOJx875a1Eujd/ux6xxLa1mhN6+6UUkrvPCIqlViw70ZruiarG4fu8eny8eHedghYQpwR/W7fx5hLjQwKSQtCZcGqMzuROq15GLw7uByWgHUY/3eiAoA01zoIhBC0top0KaXxd41FUogVAZoxZi2xvEAdhsE7FUIgVXfjYIwiorEfxp5fn9ewbjkmgfL6/DqOD957wGhI3d/fK2VSSkpT21OVUqXUhld32hhjFIJSJAyAhVkIUFApbRVxyhE1GcJtXUPMADbGmDjaTmPlyskqFWMsvHHtC5u+GxUpZbtlXdH2+/3DZXqutcYYh9HpWh6fPtdYLRoSANvHPJNSw37njHVGQeGrwO54NMZwqkQk8iYjrLUOfVdrXfPErJ21xbkcIjML1xijNzaEzRrFubR1hr6jG4hot+tzqofdDj7wZ37aHXoRJmSp/OPHT89/+gdE/OWXX2pNpOBvv/52f/8OlTaWvnz7zWL9/fOvCPT8/Prhw4f9MH74eF7X9bjf/e0vf2bmH374+PGHH+7j+fHxsZQy7o/X+ZLrW8o1ETVAVusR1tKSrQXgLa8+peSsbWvgd2uBGGNyCEopIi6lPD4+AlCjjRmjEN9kJH3f933fls02rW2ameY5a8dCgXp3d9cUmEo1R1poxj5rrem777nIK6JClMqwLJvWzipVa045Vk4hrMLYpjFd1728vAyjPxxOz8+Pzo/C2BZe7/u2/lvrQ5y3LSKi8/j8/BkAzvcHY0zcYOh2gPzyfJXGvCKQN0C1M8a29uHhcOi6rpXvxhhj3A8/fhr3u5yrtfZ8Z779tqWNh250Wn18D1oNxqjz6cN5p0uFFPnz599SSv3Yjbtut9tZgzWvxhhh3xIJQkzO+5xSCrmUZP0ApYKU/X7cjcPz04s2KFAqR0IZxyFpQwJQ+fHxsQG+tMaYU63VOXe5XLY1NsF3G/4jqC3MUkutrC0Vgeu8GGOGYdDOV2bne0CFqICFCyLC0PdNsNq0N13XT8u03++HYeAa2/V/o9MB1SoiuV36WmuTGDWRwt3DfViXnPPpdAfAiPKHskBpf//wMW6rMBWEWli4OqustYjQdd04DtNc53l1zvT9botrCGHbFmA5ng5aU5VojSbNnR++fn0mDOp7fmrOeRi6cRy3beutMdYqpdqz2hgDbTN6enxGVMOwW1cUoJeXl/24izHGGIdhaBNCLqkB8u/uHuK2rut6OO6NMfMypRyVBua3rF9t7JqSJuN7GyPnnEGBJouKyGgyHQDElBEVFmHMWuuU67oGa5RWqtbcdZ2xepomq1XeovddSkvLX399fSW6c1Yrslp1SjvjB8SBK3Fla50FN01L53fn073VSmuc57XvBkZoEvPbbZ6mqclG+n4EhHlaL7Isy7Lb7e7O9wCgaLnc5jSHmKXrOqWcIguoYkoifOg6LmKcffn8zVhvjDHeWY2X64pE9w8PmfPr62tct8L5sH8nzLVQSICAqhCgKlwt6ZeXue971/lOGa3tur5lz7dCrqlDm+fBewskGmSbXm+3OaYwplRKcW7QtWZEHIbB2b4WtW0xpsRctLbWVOccohjT+E2573urNKJ4W4BwHIdh0ICZcwKiNz8oIBEoRFIkwindSBWRGMIrM/d9FxMhFOO6VpMxc2OxtbFsy01od12BtCCGthoiCpFCYhEErKKEhLhCC1YouWEQRRhFMJUaY7Ral5JFaik65VIFOIkiQAlDn6gobTPUjWpueSEAjfXL7TAggjXDMs993z8/X9vSMK0oIqRAAdZaAYBzqTVXLkrh4bADLss6ITBLRSKrdOUEXFAJIsa4tSUeFFlr+t7+03/8U0jmMs3GGd+PWoewRmN8G0A751hKKaW2b6oMEYm8xZcCKJa6hWxsg/a3dHH6YwrcPBa1VoSKICBvBLSa3iKfEKENtVvBjcoQyRsmrGTdGJ1bUIp8v1dKWeObdCdXbicurW3XeQEXo5KSmTnGTO0gxG/eA0Bp30WEBaByFQJQVN9wHw3MpgSk1ppSKdKIFvr+fLc476xvcTlCKCIgVBmqoO+HOox5S8KAiAoohAAsSrdjpDhrYgzruhrttFaEpPENFtYKaK1ts1W09Q4AtLK1ln7XpxxfXp6JgNRbNF3Nhblo/RbLBUX8lvuhG/qjt533vu+GFHNKBVEZ7Yx2w7i3zgHJ09OTdtYYU2pt/rZpuq7b/H546Hq/rqtItdbknErJ2pDWFEJtUQ5KoyI9dn3MVSoXYRHYtm0Ydt57Zuj9MM/rhJJzXDceVV+AlVICoDV2nSUCYXU67YwNWkGKIgVzKiVXRkZSbaNq9gDgt+OlUqoU1poQUZFuKkYirRQ2oFAppTIgESqNBIpQAyt1bCbyFnzNNWutjXFIdRxHVInA+c6sy7zFNabNGt/77nA49X2vdQMpUj/4bRMRTIlzrlwFsToLl+u3kzlqo19fXxCsth2AynmLtavCwHFdc456WQpQXfK0LiiQb9Pz+4eDtYdtjb6zztEfYndhLLnUikTELKQkl1gZAKXWCkh9bwHGypG5Witdp4gwJRg6BcCgiFAZA0rD88u3y/XVWjJ2XNebNr1GSjkIq5TKuq7rpttQuE02cs5GMVlHBMY6ZhasAJWl1soxMAMGrIjQoao55pSIaIvr3377rai8Hw8G9Xy9CGQh3O3P63bx5t5ZWOK2rDGGzJRQ9VrdiV4ut2vK1TmHwnmbAckoXXOw3tvdDmsOOQYAo+3ueOrGoXUl5N+BtpqmcRiGYRi41NfX1/ly8Z3d7/dPj19btUpEIYTz4biFtfltcq0aySjNUp9fHg+7/f3d6cOnjyGuWtO6zgSiAf/rf/m/mtrk5eV5fxyMMdd5Gvrx6enJ245kVUrGcbjeLrkEFnd/f5omHbel93bc71sD5XA4/PwPu7Y9d7Uz7JVSLKiUSjn/e3lMLbUZAFpl39oxijSX0n5s5qIUdl13eZ1LCf1p10bkTXrZVkiF6FyXYu57431/uVysUyJCSokAKWQRAe56D6hbHyql1JAnbbgvUgGglMQMAFJrUQpyibfr6n233KZJ8jBapes8X7S2jZTaXF5EelvD0O/pXguC9z1inOe51sv5fCaiVgKKVCRMqZASIq1IC1PYstH5/uHOmlBqQIKUwrdv32KGbYsfPnw4n+9LKQ18JIL7/ZhzXZbFWn8+nlBRSuXl5aXkIcY4TV+vt2939/u7u3e7fW+MsV7/n//nf16W+Oe//n2alx5tC9g+Ho9II9cNiUoGUmKtq4W1MbrWmFKpeTeMRulSi7YE932t2VnoOwudvjsfScgqi4jTNEWQ492p67pt27SmtK1j12vQ87oyg/ddrfWw34dtM973fX887gHg+flxW+Nbh27sDRmlFYhKKecSuYRa6+6wqzW3yJItvBpjci3MrFBt2zxNS0NvHQ47ZrbW9/0QQpimaV3Xruty5et0a4oj13nSal0jEcTGhFX28ro451j0vASlBUF5Y5jL9XppgTCI6F2/1rUWDFtBpZzrrJXb5fr89HI67K01IcRu9KJBayCFAqXF5SqlBDiXtG5LP3Tt5KyUen5+TjG/e/cOBAncbY4lc4p1HA5IME2Tc50xal1XY5whc3m+jGOvyLy+PDJzWLdpmnLO+/1+PIwvLy8AvN/vEXHbovfN9wKoQBndDX2/+6HvPREyyDwXRExxI8DKwLVY6xExhtq8TEbpELdSaT94KdHrndaktGxh8k4bo0phpcRaq4wm0gw6BK41W2u7ztcKYZtLKQpJay3SWOYA39Ej7Si1bZsIrmuYp5WIdrvd7799y/mz0cOnT59KhnGk1ih0nb9er7my9965bl1vr9MNsjBXVM18KAoawwMBQAi5MINELjWFPnEIYVmLtUPXdYQqpFqLXmro++HyOsN1/sd/+qVyzrmGkLRHIsq5tg2ilXC11tvrZTd0Wlvfd7ls/L2HopVSw9iFVNY1cNUi6N1gnQHJ9nxnrW4aVgSiTvd+KFWIWXq/LMsyX5zbOwOoQRhaIBIokJorNqG51BKYS8pTCjOiyikAUAxhd6LW3qi1Mm+ICoVaga61dp1vv2eAJuqpwoTQLOcAIoxI0iCJtfAfgZtcRQQQsWTKWZhZIYhgTKUKdL5n0FnAdubdj+/KjNNcNmaughb/8Fi0FRaREMXZ7nQyKcLtuoUQRPj+/l6gLsuikZqIhYh8Z7vOGUuGzbrOIlxKAhZmNqq1AZuRq9lqhZSGqpSxSutudLb4/fFeOxTQ1itUppaK2hgvpHXNlahxLHFeJ2MMCCmltDZNmNuaQK3fv65r22uNMe2lQsQKQkZrRYgoqAqLlKKVMsYwQzsxe98R0Rqr8xYRS6raWWMtghp2hxyid75p73a7A2p32J9BKJfYrhgRaW1ZQJgBMZcIyIC61szfv5rRtjl0S8kA8Ea8AVBkADZEZIZaa1w3pYz3XiH2fc9VlmVr+2suSSmlvNJIoI31vfWhbgEqK6TC0vXOGwtA0zSt2yIiOabX+dX3IykLt9l1uza7UIDtaNuOZIh4uVyOxyORDiG0/GfvrTZUSokh5Jx/+/2vpLHFZmlrEBWIIm2JyBongs27M+72SEBaKefI6Pt3H1AZVCSIOTX/K3Rd561quszO+b63LLlybmtNe/aV0ogCIDEG57z1atti2gIJhJCYJ1Km64bOd60cXG7XXKICVEqR0VZrRGDJnVfGOWO51myd9kaVDEFhCFXeRjckUGvlBnW11jpy7a4ZY0yLnuEmsWt5ZB4ARLCUVEtGFGMsooYStNYpca75LeSYwDmndJ/yDRV3nSLlQErOWSoMfiylTNNibfa+b73PdlN29pBSyomNsYmTNurTD+9fn15qlVogJ65168jEWLctLstFKA2Df30Jy6JKUtrBsCPf+3meBWgc98a4BaYmGCX63+0NROLKtWYincvWFmVSb3kO2kA/aGvHmmKDgnlrUBhQnLGM9nZbLi9LLmwMvv9w2u+H3X4o+VpSHEaDZGsRRPHecsntVdWalEYUwe+FY91CzpEMvQmTFIkIV0Bna94u20RYGfi6LM/T8nq7soNt297tjzVvYZ1STZyTKGuwa6ZhkJq4qljlZRuGIYQirJc5b0tShKfDLoeQ162ggESlRUGtqHMu2FPL327jx3Z+M8YwgUitOccYtUJjlLMWxrGlpf7hJlJKxVABoNUKWmsmQQTmUoGJ4Ha7LEi78+i9B2BraLpeCNB7D0pV5pa0cD6ff/vy1Wi7bVEp2Q/U9+Nud/j558bu1G+DOCyllJpzc0/d5mkc96qF/WpN8EZFaxvhm+eKuf2hiCD972jbnLNW5vtAUpjZWgtcRKR8j6UTrohakWnLRVg3xDfWgjGq67pcQqPRNU9Rk8AqpbjytqxENAxdy6ivOZeY1nmyxomollfqLfW9VciddX3fN+gVqTwvE+nqnQLkrnchyDzPjdNqtFeDfn59FpF5XpdlY16863a7HQIt4ZZzOhx3Vtn/+PH/2NZSMr2+3Bh52uYzHkxnlsut2Z+09fM61VpTSs65trU1zZjI2vlBqTGlsoV1fGOYKN8JKgRQpMfDcTCWLpcXALi7e9DakqHz+eCcNU4Dlm2btRqJWCHVgoBitJ5uizHOeOO9t9ZeLpfX52/MnFIZhmHs+su0pg1Ox7Hve416WZawbp31+/0+1XK6vwshKKPTFrZldV3fd+N+v396vazb4l039OPDvbRY+5QCSz2d7ph5WaYY8hReJxsJHaJbloUUEMllfjFDV2td5/nu7mzMuG3L7Tpv27bru+PhnHN+enpalwURay3Wcq217/uZZwYZ97uGUmihqtO0bNt2d3dnrSU03vfX6zUVaimbVbQS0cYoo9d1SyGKVACe55kZEJVSOqXCIKWUzvmhP1SOKQUkQhIpFQDuz0dmaOkZKMUZY60OYZ2m6+Vyef/+fRU2xnjvEdrCwta6muZly1ofjHEs0TnjnFFKhRA4l7Hrh2FAJO+NtfbyeqM3bF388cejAPfdQEQAVAvUAgjaWUcKmutUW8eigLzrupTSeDTO6G2ZU4gxrDlX/RadWXPO0+0CWJmLRqi7HrDsj/fA5dvjxfn+/u4QU1jn5fl12oPd747adjHWWqPxpDQUzsxorArrIpBzCdbqw3FPaEoqx+OxvuS+73/88cfrdUoppVj+/ve/H49HRDXPa3vO53le13UNm4h0Q9+qFK11KcUY4zpfSinAX75+iWs8H++argFRnY7nWDNXyUWc7bXtOutizNZa2h9awk0stWSMGXvbA/iU59vtNgxP/a7TyjTGnVJKEwBwKSmEtTnNlFLTNFlDzrlgbfPd5Rx1W2qNQQQEcQKNTQZaG+dc46K02gug3G7zsmztaVqWq9Jy2NuqFAEICyIqjYbeRBctS7VkVlo4i7ODc77zo0iXY5ymqa19rWltjCFSAKodjFq5qY2z1opA4YpKlVqxSiUgAAEBqYzs4M37rJQ2pgUUAggpVa2BWnOqmQg4py0sWuvTw48ZbLGjv/8xKzXnCUpXURuiho231ja7cQt27sY2bK0iMs9zCNp4s25zZ13zHrVlTqRaR5VjDTmX2HcubFelELmW8hbqVEsSqZ23AlRyyHUjosKYcskxGKcseRCNIMzZOau1rtWm9N1V/T0yHQC+Y92p3b421hSRw+HQSJ+tOdr3feuWvfkqAJhBRHIuWCugQob2SQUJlSm1KusYgLkIoSJdGYhwGI/6gK2oQq2VMhQyEfV9HwKt61pKRkRAQRFE0loxv0HfRUTar1KVclUYhBlEWJQiQSCidg5pGyhzQVTrGkK4WGt3x8N+dzBGI2IpnHMNIVprQSwQAQJZ73wXYklVELHrLQYxSqeUlmVaQ8pZnl9ea5Uq6DvMJWYWZ7uUkreWmTo/XG+vADgMw7rOKaXOe4EKle/uTrfpwpscDoenpyenTdyWbZ1d50Wk89Z7DyD7cZTKhEpEaWXv7j8wl5g235lUOW2b0upwOAgCM3Ctxhol5tO7H60jFCiFAwSrDClbOYvUGCPoPwCs3EbqOWdlmulW18JSS8O8WC1tIHDa7zRxjgYJTKeVUtbqdnBv9QPXpMQSEirUWmlD2nDcggjHtFXWLXu8sfBb/oA1jv43NU8j1lJrTtWYP0Kz9bJMLLm9eEa/hTYQ2uaPapHKqMS6gSVWyTHGknObaxGpUhIAtHQzrXXXdcKQUhrH0dpxWTbmZsqBWrNWdp42BNKqKzmsa8hJSuGwzdpIdx4WI1UjWotYO4PDMJSSfUfGdaVUrawiA4qYiLnUmkWqUgaJmreYRZRStQihMtoV+U4oXwsiMQEya1KsNFRgklhrTgVJ+t51nR1G5zsDWKw6hri0SySswrpJLbHyOI4hrAJVAVXhWnPlTNzATUWJEpBamKtqR2DO0jLqlFKKmjCQ9vvxeXvdH4/O6F8/f47hNuwHLhFFSg1beEtBXqY1mHQcadvi1y+/ERFp0QqG3h67zns/ejctl8xbXEUpHMYjgs45iojjETWJSCpcmNuVIdKMWFK2g9dIKcVaK6ItpbRYTa11jFvXdcuytMI958xIy7KYdULtzufjOi+15MfHz58+fbLakXPeuhBCjrHWPN7f73bCyPM8N9L5brdjTuPYa+WE4bA/T9PUmqwiorXSWreqpXXBt20DRadxRERpmUpvuE9489K1h/l7bHb7tS2YqN9y+IhI5O3cMo7jWmPjCBEq621Kedu2y+WSY7m/v1eamqhP5I2S2WhLb80kxBgjCMa4xZibObU1O758/bzb7Rq9LoTgvd3t9kpDjNs0L9N8BeD3H86v15e//+2vh8PJjOrLly+tntjvR+fs+/fvmwXzdDrlnLdt2+8O7ZXftk0p1Y13BEGTi2kpWUSklLSst65HRMhlFSSWgqAOh+M47oz5uq5rw70fj0ciSCkbo0tMSy5CCPJGlbBa/fTDj9uaY9yQhOjceMG14v39fWPppJjHXT/se6VUrRlAmmQcJVunSsnTtMR1++GHnwAgc+37/kz0+++/c81954RDLqCoKKPvz0cQ+vz583xbSimWOtc75e3teo0pEeI2TynEXJmZT/YkJcdSx3Ec+nGeZ63177//nlI6n48CPAwDIj4+Pg77HTOuaww5xZz2d4fu4L2Vy2U2RoVU/u0vf/3w7t003QDYe3+5XLz3jUm9peiT3e17rXWuqR+7HoaUy5stwRrS1pr6ml7Xtex2BxG8XpbVlFJqTBKhIIrvjHHaGa2VFkmlJiSpteacG465CWunOc7zHLd13HU/fDqlvM7b9XAcVVWIyFJCSOs6GWN3+24YdqkUpfDjx/dfvnyb57k95w/v3nd+FCiVszHu7v5cvz4L1JyzsVRKeX19LaVIqe3IkXPunM85e9shgPPetvOVdyg09lVEjLUKfQzX6Ra1syQgVGOMShsA6PrZD2Ot9Xh/Z4yx1sUtNOldS+1VBLfbzTnDIlJqRf727Yu3rrN7bd72HUGap6VVjFtaVTC2AouyVvsG+Y1vDMQqGaAgZSQADoBsjEkpWGub9ODTp52zXSnl77/9bZqvXe8e3p2cc0pLiHOpSSDmkr98nobdmEs6uM5aCvFmXcfMymjXeRE0ziapaVsP3XvMeVtDTGFel9Z1ykaul5f9sB+GoZb0enlct3zYffD9yRr717/+hYi0Nr/99vlf/vN/2EKdbrNXarcbmr7OOUcKao7OqMNuuLykWuswDlWKMpqlOEP6jZmPgIghRIHcdZ3SSNgAZKA1aW0BmIgAqzEYQgixpDB3vSeixiduTTujTCsxQRiQENE4bxQpZYb+oIzVqk8ZBJNIEamIugk5an0Lt1aotdZG24YSz7UwiLVWacecUg4koDQoREBE4CIVAESAGRCUMVSLxJit6buui3ENkUlJIYZEhRlY1iza7pz/UDswY2+jDVUhMZcq36GNAFgrl8Lfvn1LqRrdGWNSqUq95dI1yywz55haV7LvvUIOaSspgQGuBYmVVjlnkMoFQGuBKsKo0BijqFNknN1N05MAbMs15dVYTcTWaQLSWoO8DSUAWvaHOG0AUFgQhQQIde88OKzALa23absblaXrOq110+Q1CFStWRhKrk37LgK5AgBwrAK51gqaGsiylJQrW+O9N4DaWAuoS5Vx3DUMRc4xJWqVLgBULohilW71kNLYIjBJtTjbnFIiAmMcAFhtSikKVQtyEkZE1Y4WTcRvrU0p51zmeXbW7/fdMOy2EFKuhSWt2+E4AkpmIFRodUX4o0/mtMk5vr48lpKoqdi1vrs7MVDX9wKKSBvXWa1TSsqYNm5rM4r7+3cAbI2plWJi+Z7MUnMBFi6iNLx8+/rh08cfP7xvzQsiNEZVwJJrLVClOuut96BIfX8aIbJ31lqdSnW6WGcMdkqJ1Ko0GaOevz3Ot/Lu3b21tg0ljKImSdTa9r0jxJQyliKCzvqqRLAAAAiFkADYKkKSofM4+BxiRhbBnKsxxjkLQK0A1eBKTaVkpas2yopp9CuszFya571i+X6O+l7riDADc21vGeKbz0lEiMBYxSwiVQRiiU1s9j2f2BBieQvoMVBBGVMl1Zq1UVpZRNNC2tvwSmstCFxlebmllI6Hk7V6miapdeyGWgvzxgy1KFRQCnMpzFQL9INzTo3Dfp2r1fZ0fFBakAqi6rMfdvaPx2OLcT/uSo0ANsatGTmUMoDEXIgaqIoILYIRRgAmBYxQSkISRFKanPVKmZTK6+1aCmutx9EDChGQaplohIgpFkXGKLtJaAYSozWzRamtqG1zRaVUCAlJrLUEVKSKVKWBWdZ1c16TIlSSalZKEai0zIbotD8YBk0YKs/XmwB9+PFPGoqw3K4X77qc8+vTcz4EZ+zL82uI2+l0+Pjp3lqdahIRIDQWcqg5b3HTxlkiv25vdLZmU/njzKY1oGZnYF2mHBMqYmZSwMxxC1rrcRwNqZQCgDjnlCatdck1l1o5e+9LFSRwXg/dHq91mqbdKCDUOW+dps5enp9+//rFOuW9ZeaffvrJWvv49G1db0Z7ZiCyLdu0ZDbGxMipsLXWOC3LwiCNhdrCvP9QxSiiP9SDRFSFEREQWvreW+sdsWFwc4zfw7UxxmhVsdZGpbZtorcnQ8UYS5Z52lAaODi2c6ZS6uXlqeu69u2acaiduqWK1fp2u3nvT6dTB8oZW3NqqKJGf2cur5eXnLf9YdSmwSuL7/QP/YccV629930pLyGE8/l4PO53u13f+1uO6zZrq/u+H8cRBL337WUnopK7H3/8B8D8+PT3eV2Gweea+j0/3J2ZufIW5kZAp1pFWB2Px6YYdM6UkmoFRIgxaKIYQs7V+n4c96Xk6+U2jnut7G63q5xjjNNtFUaCzpm9slUgAVKTTrWqnZlzCkopQDUOB6nl8fGxFH59fX338UOM2zw/3R1PHz58WpdrbcFSwl3fdUNvtLvOU875cDr2vrte1hDCvvOXl9fD4QAgTYpdWby3paT9ob/d5qenb/VUtdZd575+DW2yer1enfXe9973CnU75LCY1l59fnp5vj79ON4rZcZxP19vX7586TrvjPW222B6fX1Vyjw8PCiNKUeRrvU3Y4zW+sNxL0hhDSpiUEEZ3Y/733///d/+8rdffvnl008/P357SSVrrUEo5eBc11nNkkNITb3T5lQg1CKla83OueOxi9s6l5gSLss8LY+FJ6I4vD9rrR8fvzasIWA1RoewEKneW2Xcn/7007qG222ebvPf//brfn8UqjnHEELn9gIFOPde2V4bc/r69es6zV3XWatbu2QYBhHRhuo1W2tbcss8zwTYjM7aGq31us6g7Lvj4Xi4E5HPX38vhfu+J9JhCSXXlL/E/eitbtVCYxlXFq2VQMlFxs6j08JFIaSUcon9cDjd3T2/POVUXddXgffv34OSsOWYi7PGOkKSUioIbdvyfQQnAtYqfb1cQTQAdZ07HA7N4CciIYR37z78t//233799df3798bY15entpwG4B/+unHWuuvv/4a1jXGeCH69OlThDffec71fH/39cvjtK1rDN77PtcqUEqxWh/eyDn1y6+/d72e51uOaQvX6+1p6A/7g9ekL9Ps+m7bNquMANZaf//179N0vTvth2GXc3x9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0yhvbw9BsdoftDabT8/y7f09MP76+joM+P397fv+IQj4s2fP0jRfN/3lxTWlFAJ3d/+IoOc8PJ1OmIzaeOMcJk73rutq59z19YfaWWXdZDqpug4h2A99rwANWSdb7FCUzCkmp/sTBK338P7u0UA4mziCEoQgj6umtUrp5y9fIOittUVRhOFH797/8O13X52fn//ylz/76uvfOQfHUSppoihzVko9ng77iM0whVGcWWcopZeX50Z7CGGWpG0zzK6my/lit9thTEOeBdcJjnXX1t9///3Y9VGanIHrUchyugRq5JwYq+p9ezw1QZJ7FA5y+9knEyHQf/nrz9f7DY3Mf/iLf3UxK93u2B96zvknP/rs9t3b77///vz8PI7jzz//PCyif/dnf/6jTz/7x//2uyjMiixHSfJ//Pq3D/fryTRPg+TufqcHwTDa3D28evVha2ycF6ts6RF5f/9wffls1A96NAj0cZoxGmIUaOFJxssyu795H+YpIUQpNZ9MGQuqukkny8lkcjq2T1x5ZW3XDlmaDsMwDIM2Pgiis7MzznnTNI+btXMGQBeGcRRFbdtuNpuAsjiOszQ2xoyDHIYhTWPC2W53yLPSWGitozgYqvb3X/5xefVsva42j81PPnnz7//Dv+u2233VxHEMpHp4WANvFr/8CWAUY+qAhRB6ALz31jnnIQS+6zrGgie/79MJkhBinXnSgBBNEEKjUpxzRvFut8uTFED/pKRFlAghTm3NwkhJxxnRWjroCcF5Xp5OBwihszSJc621EELrXssBPwHivdjt12GYC21mi0mShEIMQgwY+WHoKAvT4kK5XIwHY5q6WjPGvYPGuCzNb25u+m6QSkg5zufLYRDjOE4nsyRLIYQAoK5r8mzedqcwjo1T7X6XZZnSMk74eXbhEWi6DjNkvAijgPJQjQohzxir67ooCil1Nwx5NrNGYww9BAgzC+BktsAAdm0dcDabudk8dtAmcQEc4mSKkXp2VZ4ONUXuww9e67F7WB/f/vD91auPCQuSNBv63jlfFIUQAmM6DINSQ0DJcnHWtNXDw8NsNgnDsGmaKIqcsWVebHbbrmnKslTSnU5tkhZitLtd/a6/iaMiz8swjD/88GMpFKZECHU8VGFoIMRBgMdRWWutAUEQIQzu7h611kVRtG37+eeff/bpz58/+6BpqqZpkyQmhBRF8fB4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9x/rz6pvPEOF+HY5b1abjJaySCRizDayTd0Qset1rKuWS6VkraTMJcZol3GHiFSth8la65qm69q1EFlhnm3hJFN0OQcBCgottjaOkkphjOVMhRKXiohiCCFGViJjWRsZk/PeCw55wammZGdfV63gPOcMBSTnOXk7D5LJBf4tsuASgbGcU4wi55wBc05QSgGWgQmhYsKYaZoT57yt665jFH1M1ntbVVXXVrXULBOFadUBgA3hut1uQ0jAtGkqltk8jH62KLQSRnJFwEIIBiRw4Axq2RrTAgGUbCR++viuqqvkpxgKIpRSfPQcxWazQiGXJevd+3cCYVk8L7NOznm327VtlwuMNiCHy+QyIEOYpiNncLff7nfbSjtgRGHOOay0Gp6ffv63L8/fvwkI9GHvfbZuzgicc6N1iDRers/PTz7M/ap+OZ8o0P3NrflQ1XUthFiv1+uur0ejpGyahnOutS4ITdPsD4ef/+xyjplCyY4B71p+udr93rjZImen08kF1zSN1noexrfnt3bfIzDGWLCzn6dcGEqeGVW1nOahEmqeBjdM0VnO+dX7um0455e3Y2HsmrK1PsbY9/0xX6fx/O5mK2WBTE3TaS0B+Ot0DcE9vz2v2lVlRM6WlcCREUUhmY8x55xKKhm6upFCUA6M5ehdDDmmVNBIraQ2gCLOU4HMOeS8POuS1osToDAqMUbOW44coHjvlRSMlRgxpcTY8jechcCua6y1JWdKgQqV4pGBaPnn9+9+/fqLEgjATqc3IlqvVlqJRGy97q+DTSm1faeNBIqnt9dq1VH0sw1K6+vlpLXu+66rK0SMkcVU6mZFmS2nBQCw1sWYEDiXKqawJECHaci5aK2v16tzzhgjpRzHUQhRAhRgKQZGGQFEyWGylqiu/IqvcobCKJdYcuaIUmHyYelbYIVCCD74XBIiGmALcSinEKMvhYREITgwXiBP0xRT/I1j46/Rs8s0bTabum5LKYxhjEREShkhBKUyz7O1dpoH61iM9W6369frFEIuOVLmwBbUIEOAnACYqisENc1TzglwEYVZXdcx5fP5GmKsmypEH+dYmfp/lnsv0dhVj33fcxCLe6cACyFVVTfPc4y03dxsNjtrvXfJlaSUMMY4l52bCUoqOYTANMYYF+PQpum898fH59PbC0L+x3/8d/56jiksywWBMiR6O592u93iSp+uU22MaZSUfJoDAEip397e/tN/+6f7u09NvdZma93oElOJaB6MlPfvbud5llJM0wRQxvHKOddCMkqXy7lpmtW6896mnFHA4XBwzv3661eislqtrtcxxjiO42p36Pt+gf8+P78pJVgBKZWUIlIJkUoGH4IxpqmqzAoryDnnii3pyWX975xbJlrO+aLIa8m995ILwmKtFYBN0yJi1zXv726JaL1fDcPgp0tj1kDpfDoZ3UouASFn6vtWSi4kVpW2bl7cBUopH8Ly+0uOCEQxReujdFprENx6p40CgGm8cmTfv39XlTC6uQw+R1ZXtXep69VSFjbO59fXY9PoXBhIJYyy1ylnVnd6n7YhuESxk20I2c/2N4o/IhEBlKapSikuWDdPh8NB6fV5ODdtuzCK3k4XO3tr3Rf/9fOHj6vV6q//9m9Buroo7+3lejKmTT5RSs7Nm/VtZZqUZqMVQFOZLgYI3ibGus3GlSSlGM9nmfFv/uaP3ntC9s///M+Hw35y9tPnP1RCbbpV+KsrlArltq7v7u4KMMYBGGnOP79/J1WdiB/27Ti40/HXdatv79S3X87ff84//t0fKrlbb50SDg2UGHarXkodIwEKjuo6zYnY4nWOzkuDFAMC+ujqbJxzIYQl8NCvN4JhSlFrGSMDkEShZNZ1HaNUafW7z59Pb8eUab3eiCL229uX9BZ9WLjP37493u4PXddAyVZwKGy6DkIIJWVbN1poKaVzYRzH48srIh4Ot88Pb7vDoW0NURJCxeD97OtGegqX83Hd9U1Tnc/XEMIMc9f0ADTPmXLiHHJOPlG2bE6WGUMIum8VFzGX4/F11TVdXY/zbJSSWocQIuVE1AqRU2yqanbOKJ1VeXl8ev/pM4JYH+5Z1W9ubwfrXt5eK21y4SgrQF4Yal2xaY4pRQoYoK7rCJgz894rAURFCIFSXC5DXbeQixCSYnTW1kpO84WIVquOgUxxDjFxURjLZO3lcmUQEUVKqRTivGZQOIeqNt4la2eiuLysEUpd6ZxzyUlJrpT2RraNCRpSBGCSgYjee0e5uBwrpfns3HB97UyvBINMdj5fr1elVF0rY2opFqNdCZQqwxBECOHt7U0Ml2tmxUU3v73qqa6MMSCDDZTYatPXWgoFb+dfJzvfv5MFIhdcFT5O7niep2nSWn5+/yFFn3z65a//KiW/udlzxFXbskJ2Hm5utlxIxlAK+ae//RsJf5mtT9ndbKr7u+3vfrhj0XEG0zSN16sQIAOry3QX/3Uc3qYv3+nX23+L8Muv3zIff/pd/4cfP9xUetzrrvt8moeScB59htw11c3He9k3I0tTHNoitJYsa6U4AW9qNbnp7fnph0/vEZEB3N7fpBCbRrt5fn57vDvcPH/9mnK8eX/LoBBRVTWFSHAFRuZT5oCMi+N4Zih10xeCFLOd/ct0lZJXVcUZcM5jjKZSC1Q7hBBSLAW8j/Pshst5s93WjTFKIgBRyJDXhx1SUU2VCqM5MCocax9YYXoch7a9aZq2ZD7Nvq7bxhgpRYqpMAqBKIdEAZExZIIL7y1yhigyMRdTK3XVaF1r5viSmnbDOFi/F0bJqmShJL29ncfxnBmsV4dVv9lsNt5bH0PV1MrInBNA2WxWS+fi+fgaQvA+ao0SMaWUU+JAbry0u/cCVtfn736eocKMbKKQWQsYhdAMIOVSgKdSQi6IQkrNWGIgKBcCYCgYCnJhjqFt26bt7t/dlmiFtI8Pzyza1WpVMiJoAJlzLiUDyxyY0kIg5hxtsKwUCVrLevN+8zacH9+e1uv+9vZWoIyU7TRSxqZpBJM+ht/28xIZslSoUprlkjIVYCg4Mq6r6ny9hhBtzERcVnyYYsq57brMNCsFhCyRwjxGRoKraTrN18G7RKMHP2aIFWfeB3JxfXtgDIONr8fTNI1Qclurw26NBW9+uFsK59q2i8HXdYfInJv7bl3pmkrOmZ1OZ855v9p8/PBjiNP3b7+8Pn3f7u54dvf7ZtPrL1++fPz40Q6n0/UyXkyl5NvL0TlPEPab/Xi9Ru+RA89ZSIx2uqSIOWshptP53/78F631+08fp9kiK4iYfZzn2UphjPlw/67ruqfXt1qbFMgOU90Ya11KVDJowS/H0zyOJcVzSULk/aZ20fGMlEpMuSAwBMoMOLoUj5cXRMYVs9bHQIULriuudCmgW8M4ux7fzsdnYgUxC8zWWok8FWKMeffbkxGgvL0dl8JagbzrOq9Czr+tJ4dh2O1263X/8PDkbKgqzWXe7tbWDdvtJoV4fHsbh9lO7v7+nY+u71dts/76/fv1ej7st8jK2+lVSLZZbb0zDGEruLW2xMiYICqw9Fh1q5QzclnXJgR7uQxLQIJzXopEwTNjKdHi0wUAY8yySHbuN3tGAYgxYAEFyAA5K8SY1JJzXO5oBCQojBWKtrDEJTDGvA+JvFSoFI8xzvb6W3FvTN57pbkGnSMTlUgpee8RUVfGmNrZOE3Wu+CsL6UwKOv1emHnhxByolLK5XL5bYxmtBww1tttzpSiZSynlFLKwBEBiVxBLqVOsczzTAkEV9QHxhiiAIic87peFm9p8WErpZqmIYpL5ZD3XlemEIXguq4DACX1bnvTd3EcR6XUbrcrBaQq0zS13aauzTBccs4EVErx3lLOMQallK6q8e15eH40iqfzc6KA7n3L4vF6qqQBKPc3twzy09OTkfru5oYRc/YstYouOktERahi3XC8vvxu247D0+vrmWPV9DUwae2kTeumoJSah9HaCQDW6/X3r1+EEH23qpvKD84HS2Qihefn5+12i4CfP/8opX55eQPgq9UqxmiMappaCJ4o5kJEcZ7dbrMUbFGwbiGc1nUttfbeA+dL6mOxuc/zvDR5LXopIkYiKaXWeh6v0YdSCpf8dn8TY/z1l69KqXf3tzc3Nz//8tfh4ayUYlkzinVlkIEbh5nYet/XjVJaCFlRTiH6EFwpZbtd55wv5zMRrbr+6elluI5N0wGC0qJbt8M4ztZvNrjckpzzpq3qts4ETS2xKCkAMY2j7fv1Zrs6np7f3l42m99Pdh5Gb7p8nobow93du+1hLSVf5qFhGDiXdW2WdbuQ2K9XOedpHPlv1WDZNHVbEiBKZabx/Pb8UkBIriixQtg01fvbD5TddrvPkFJK5+MzFCyUZntt6tU4DNZd+24TQsOFsT63xvz5rz/ffnofne+aVgMPdtZcHKfjn/70p8vx5L3XlY6B1k21ahv9Bz37GRFfj29V3XKpu65PzlMkTwwbcTwN29XhZiceHx9dGG73d5jsX399CsOPjTiMYT6fHvUNsjzFWUdBKaUCoYDlvKBgw/C84oe7m1sjqG3r4OI0TdfhfLocx3ne72+kkT44Zz0AF0JIKac5ZsLX1/Pd3U3T9pfLhQNfrzfWJTvHaTze3d1xKG4em6aDUr79+st4Ov3xj39UUo7DlTGmjVKIsm2Q8+MwTD4cj+dhGILzAtFO8/cv3+bB8p8UIFF0xihnJx+K0ZJCDCGsunVdU4o5FZaRc4S6rWAqmYKPoQCfpiFk4jllZbz35+GNrCM/t7XJXDZNY7ompHC6nBeZt+SaSrq9PTy+PAshpNDWutPLc9+tLedMyBiJo4LMr6dBIKZcJDAXQ0ohUlBFIsD1eh3HUYCQyDMVrkTIYZqsENg0DYdaa/328koplZI8FIWMSr4Op6Zptrt318vEiigZp+B3N4fz8QUAqqqqKpMz5ZJyToCslILIEGUpxY7zbCelVEipUgSCS9FxQEpBcsUop0xQjPeOQ8kpX8+XttNaKuumHDwXKFXDeUHMRD5G0NrknJN3ddVprZU0lZGlwOV0FgDs7fn1eL30+z3jCCiI6PHx6eKPq74tqMbJpkyMs4en7z7kpuqA6ZyVO73O43l1fzj0h2kihzBNo9arpq29dat1hzlT9G727brPOUuumkrf2ZvRWSr53//4h/WqxhIyaQECOTCWpUCozGH/0/9t97/f/n//3+P8+jv/X3/+Nnz7z//ntJPrH/73nfmYPCXwWbJ2rVMKZUxqZZwfeWH1qqJCOU1M4s1+M1zBuZnrutLi4/s751zX1n3bVEpmJp4uV1c5KYUQPBUaLm+6rgTgeboyjsJUvZIhMwRAAVpVIeJ6tQLQtWxZ5jkXAEgpzfMYo6+qRhdJVJ6fn7t2pbUmyinm3yb4EGSlMgdABIGFiBUAzptaW2sDhcnGaQgpICP++jY0rUasfYDDYStldblcQkiIgWVK5ImijwmxJAoMCzGvtRZSqozD6PwYYvLbqgOJvIg4Ky6QMSxATVMv5L7gS4rneTq9vj0iyvd3nxbd3yiRWVnY8KY2UDQRMYYLgJlSWd73nHPGMiUHAMH5kmJbrVar3RjfePEFUiQ3jDNnMREkxhgHVKpwkRAwAYLkQqJQsSAVBkoooXMqiFkKCH7iXPoYUpg8zUDzdL0y6LWWMbBCCVjWBlOiQilGy7XUoAUgUeFc+Gi9t6bWm922EPOzZywCFKV5ZlQEYBGoJeWklZBSxpK/fP+mhdRSDcNgjBFCXq9DATZZD0xKKQQrnVKXyyUDgGooWjs7zoiz9PL4tWRIZVZciJJvdrUoRsm2aY0Q3AUSIL5/fzwdL2/nk9J4uFmvN1XVKj+XVbeu62YcR845U9rOrqpN162MqQH45Xy5nIdhnJRSp9PFoHh3v/fT9evXr5dyTAF++OF30zQLCMlfh/PL8fl1s96uq2rgODpXvGcUcgocWFMZKplxjN5P87yqqkbq4HyOaXA++WCURgbPj0/TNJVSOtVTDJWSiuPHd/fDcPn+5at39v7+drhObVcDwHS9lBzqpsvZOTetV03dVqxEYHL287JdW9o6rQvjOA7np3W/allDRDb4KWXwCSabGWu04rwwoJjmpd8zxuwm3zRN01aLTkJEWkslF2dFbts2pYTIgfHNZqOUKZQkF97NjLFMHiHXldIKGJd3d7daqcvxpEBy4NYGH7KpOgDOOdbGeDcD7CgXKvj69pTCKoXIpbj/+EFrLRhIkFywlONufyO0CZ66rrN2CiEo2QghMkXGEIXknPvgpNY5paWlVUq5wM4WWqgQIhOlEHGxECEKKVTVKMULo5wTY5kVQoSSKKakJHJEoshKRCBtJCs0TZeQoVDpulUp5Xq8KinZZlVVFeVMuSCiECJnbNsemHt7vTJARJFzCiGyApQp57yAB5azNKJo25oL8N7mnDMUY1SAGJOjlAowjphLSYWJ31i0aIzJmXHOGSuMIREhYlVpxpBziLEwxmIK4zw3TauUUkpMk3V+llogwoKBWxI1ShnBDTDdNE1ljA9LHstsNp0Qomma9NsHMSm5qWVVSx/D6fz87V//sl61H9/va+W9syVNt/s+uYkJI5SoTTO7iVJJMRtTIYrn54dE4eb21seCyO/fv+vX63/c/OPtpqUkfvn19T//p/9PpCQlv7u7W3XrnN1ywimlhBBC9Ig4TcP79+8fHh5KoaqtzuczcMY5fv36pVFN2/ZKmdPp9Je//OWPf/yjtdP9/W1dyQLZjoO10263e378PkquleQMhBDjdSDKkYg7xxCapnHW5ZwBYDElL5/unFt0htP1opTab7bDMEQftFSIhmJmBefZpZS9j8ro29vb71+/rddrzvn5emnqTigujGLEdCURMQTPOXfOhhAWle90eR7H0TnHSun7mvPCcvz4/g6F5FIUhqOz0mihVGbZSBGS3+22mcWff30IjgPTTSW3u2523jm/2Wyk5G/Hl8neCVUrrmaXhskK4NZ5o3Ch9X/95XsudHdze3OzF0JoJTKjqqoeHh6apqnr2mi9RBi5UNY7ylYrdX93N88JUaGQEowE8+Hd5y/ffmZFKCF+/+NPP//8M0LpWj3Ps/PDPA/Ht9fd/kbKxobUrNbKaE/p5XRuOpNn9+Hm7sl+XTfdy+vx8evD//V/+b9cxsvL2+s826fwBPlGCxncvOo3u90uI2hdiRVOry+SlarbDJNXqOdxXm1W+8P2crqMlTncr/765ecvv/7Hd59+qqH++o2aUt5/3suqYoxdx8v5fOaKSykB2arvGeW+rkqyfp4AIAZ3ClOBJUd+1roKIUzTpLjKMd/fv2cr822aYqBpskQkddXVDRFdLoO1k5QSWFKSA1N92wUfb/YHO8/zNG5XayOkVOpms6ukRiken56nec5l2aIObpiXPtTk3MvT82azOdxso/OaV3PwCELraoKpNo0xlfOpqWvgPLKsBWcsA5JUfBinEAkA3BDiMO0/fSxcvJzP56dXI+GJ87TpP3z4ILSYRuuC01IJ5N7OqpbSSCk5IiiBoqkv5+uqXV2nSwg0Pdjd7rDrVlfKUgFQiJSx4DRPOWdE0FqlFFNKxCBHQsh9a/7Hozi3bTtNg5Imxvj8/NjX2iheGcw57jabcYq12Si19444F8/Pz9M0VlWVM0MUpRSiTEQxBSk5EcUYGWPLaLRAunNKjkbvo5+t4Gbi8+6wR6TkLccoOCXvY/DzcEmx3Wx7DmIeHhGRY6oqIwVESt57zqXgOivY1SsobJ5nYFkpxSUK7xzn2PYdQwgpakG+MIF8u101rQnBsRyrphle5+vwttrdcBDAWG1KbOjj/eHDh3eFleRzZrKqdrvDvq5rlqlWW0phHgYua1ZgmCbJXaHU7rpDf5sRNDdCFFZY4SL5pZxctLXp0GDVic//639Y3U6vD/223d4FRpfc3Pzxtrpt9+fHa8h8pst2u41xXHc9V/z19FrxSpsWoShhGGDb1eP41nY1SNXUyhOTooZcPt7cTfMolI5tR94LKe8PN0R0sz8UKICMWOma3sdglC6Uc0la66ZS07X0t+/eLnPwyV1dXYvVat31zeVyAihN00kpU8qppKqqtNYhBM4l51xIrXQlK+SSEyvLW1krE3OcvXPJaV3FGGvT3B4OPvySeam61kjDGNbVGhHrimJw1lqODHnMhSIFY0QKs51cSqmu68PdLRco1dJDpJquzuQAoTDBJRIQQNHGlFI441SKnS6JfNcarZuubxCk9/7l5dlS2e12TW1+6yzkXAjunKvrOhOT8reCdCV5ABaDR6RpGAV0talYVYfoSp4pFiVazlkIniij5EJ1GXnKuZOSc86AIZecS0YZuUwlKC4Aybl5uM77/Z0QfPZOaCiBGGOZWEoMBaSY53nsmoa0TJl8sJWWtVYIioNUyjw9/Rqg3H54x4XycxTGUBAphgzJhcDR5AKRSiQiVoKbzsM4juPIGJYF1MOfXl4YY4lBCtS1q5Ii+bkW+Dacnp+msLltjJxnJ8usBM8pTtMkFPWrfr0/cAaVKj/+9FlINUz2cHvHGKNUxnFy03yzf3ez2/o8jsO5Muv1eo3IOZdVVVlrl1NM2/bOucnZeXJEBVEA8Hly3Gjr3Xq9hYIlovWsM/3lbdICcnSH7SrH0LQ1slIrHUz906fPnPMZZ2utcw45Z4lKjJLLrm1LTM/fv1HwTdefz2dptJTqt0lOqXEc1+s1IOMCx2H4+V//zc5zXdchpKWcoWBBVn768Qel1Ol8NrrbH9aICEUykPPkE4PCkvUehSrAr9NccqKSUkmlZCrZWpt88LFMdqwV74wSOUuFbraFEjeCGJumyVQqpYxQOF+MP4wxIEqcc+ccACUqTWNSSt7OUkprLUDZbtdEBXm2durWu/1+78apNlVZb7k0693eR6JEnPNMsTaqEAnBM+NC6sv1pa3qvu93u91lHCc717JiAo2p7OiUweE6hpC1qs7ncwzB6NViZhBc+eSGcXw9HbXWghWWy/l4moZxu91STKUUKWUqFGMKISilADLkwkoRyIXAReMqLGciLWVChhy0ljFG6ybv3dKelhnF5K2n4TJ67+uq9z5SzF3LoJIheiJYLAchBCnVqq+mIdnoT6dTSmmxntvZ1U11e3vrZrssuWOM8zwqLZqmGobrPF9l1+SSQnCUQgHGWLYuaImMYYq5FNZULcMlx0M54xJJXDjxyy52eZkhImNlQaMMw9D36xCj877v++PbeZ79/d1HH6bT6eKcY4V3Xd+23NpS1Ssh+TROfd9ntvQYMB8dIuMCLsP45ctfV/ubT5/v15tqtW+Cc3XdKFkfsgTKTd8hisfvT945JWWla4rJWaIcr8OJsRyJbdzq/v6jECJP55eXb0ba6q68vp4475DAD8zaYbPZLAPlv/31X62179/ff/ny5fn5+f7+PgT38vo8z3PT1T/99OPj42Oc48PDQykwjfPb6/Gf/umfPn68l/KDc3POLFHQQheK3ltnBSVp+G92SiGk9x6J6rZ5eH5ijrquW61WS9mC1nqpvB2GYbm8KaWqqrjYPT8+CSG6pn17e9OmNsa8vLw0TXXYbpq++8Pf/Gn2jkoSUgBHocRus+WIKXvvvZDIWHHO5ZyttX3fK83zEJvWWGtNxd9/uCkU60akInIuMcXD4bAAFlnJDGEYjnUjUbCY3DSX2siqqgALgvj5169/96cff/zpUyJPRLUyiVgi5l0iwX755YtR1U+ff0o+pZS1kYfDQWtzPh/3h22kwBhrmtpal3N23iulYko+BinlONvhMnTt5vXl5Xp1StWr1erHzz/kDFXVnU/DbC8//e7Tgga6u1uvelyvN4KX8+nt06fPhYl/+i//2RJVjel2N8fjs6m1KOxPv/+btaykEO/evQvjLIVoq1Z/qFMKT9++f/v6/W9//4dxHL2LP/zuJw/s4fHxZrvpm74B7lh8O50KU4lSDLPzc9PKaT4LCTfvjY8vyLWCPgz5+G38eNNBE47HIxdqu1srWWtdee9LgOF6+nZ9/ru/+4ljHoc551Q4NH2nTH29XoloGMYY093h3SKjCaWbprm/v2MsB29zzosxbLfb+GCaxgDAZrM+Hi8sFyX073768XK5CEBg7ObmhnOuleDIpBIZsvde6YZzPpwvRiprXaTQdL138enx+81h3TW1D1MMcyGVUtrtdkLIeXZKGSklcIFG2XlgCF3XhhDGcUgppZzD0Ret5IePj69v9jreH/Y3283ry1OiAIJba0PyWmslpJJSIKCAQiQlTz5lnr0NSnA3TyE6o0wqOY6jEvKw6lKOEgGkFEJcxytR8t6XQlJyJbnR3ePjd5YS3uwX3e98PnvvY6RxGD6+//D49dfj8fX+bpsIEYhyaJo2xSJkkzAF75RSpQiWf9MPvQtcICLa2VvIbVt776dpWrpKFpqF9/74+iS42W52Vd2fh5Fl4rwIQZkmIdD5q7cxRpqvbr/ZN00/Dd+44KVkylEqrkFbR3YOshKMi4U0COAL/kbkE7OLDNSmXRMRT7wiEAL7w6ppVaJg/RyjR5RdvZPQG16vtxulFMV0uPt3XdeVRNbaQrE3tTCqquTkBlDCUUahtGlzcMfj8eH1+e7uRlaGc7zaWSmVWYQMWgmiGLznHFihebS7jxvMMUV+8nLEjVY3YG7+t//nP8RQCaFKAlDQbvv77l5J7r0thafANK9BScK8ktVssceVL5xEnTms131MDjKkmIsygSWXfK2krqp5nJSpCgJl4oavt5uX07mqK601A/DkU8myFNN2TBTRmevZpiRscP3KSAzn67Wpu8PhUAowyqfTW8l5s9kxxlLKRIVzjgzaukEGPlgpTFYyEpVCiRXBMftcNSvvY4h5vapTCcuxDUjUVSslv15e+n5bmzpyOc6v1+ltszE5Ru8mIaqYZs5LCM57ms6dMfWmac90VVLl4AGAg2z6znkfouW85VgHT0GHgrxE31atXO913XGhgfHCWAppnkbNUfMd5SQln+brPDtguNmugUPhedkaolIiSe+9IAhp8qkSzU6XbF+GEqXhTsiB5WoaE5Vk2o098/uud/GSWOsdU0YI3hTKwFTJCrGoRoTZ2vES/HA6I2Y+2yhBQ7vNHHK2lCYm20Apc8gSYnDAjAAtssHCEXMGHzIRxpI5BA4ZgeXZzeMwZ+LEPOcipADAS4yslMvrkTEWp0EzhoxnKqzk43DiSiai4K6MC6nK+foMFBotNX8TxplV/v4q/mr1/Z1cGbbpOgOy35t2dWO0mofxcN+Nzp4fv1nvbitSVK/6RIl//vjT+0/vf/3636wb+/agq9Y6kpXEStlS0KgcfAheCOVSdG6sjNJyN5yHpjV1I0y7ShEZa/ttzxiuAVBju63yNeim2pt3BfVPn35Awde33erDeglGA2TEQhQ3mw0wiciVkim44zTN0ZpOf/x0ywpeLhfVNMsJcBzHXdMedgdvfaHy/PxERN1mK6REozrVrTozDqf1zQaRxRg55q4xWuLr62tXr0Lg1pvEtA85ZonglXCcTcHmel9YeZFa2KepUCOgjJeXaFPu1el6Fapz4Vy1XOiy6ru6phCS9VEg8971feti8MlzzoX4reYpJTKqTqFkKowLripO4MNUN4bF+Pxy4mh4tVemh6pS2Gc9z+X5eDm+e38bQ5ZCOJ/aqg82FSIqoWlg3R4YQrWSQxjfLteSimq5LVYltt3uQi5Pz0dEzDlxAYDSplkX1a87KlQYCyGURDZOVa1zzjkTRxWCjzEil3OIFVMICktihIgsxiAlT8WjQyGZd3POuW96RCy8KAGpRB/mvmk8h+Ati6O1k0JXUpzCubgsDdzf1j6SaZmNF28hZQLOEZGAGSX9FPa75uk1ExETOHpLyBKUgjIQI2PmUoTgIAWXqJQiP1sXw2VmEZQWUrQIcZqHKXkhBGXGGAPOo8/AkRWUQpWMpSRrfVVVlVE+pBh9XdfPz2dExgE4FG/HaZoREThrdKW1nq0d3FygvLx+33cbl7w/HV1fcQOCy8eXobDcNJW1l67rGM3j5dq0lREY3YVxNb4di/OlnV+uR7H6IMTq6NJtXa/qlb3aK02HvgIoQmJ2lBidxjOJsupbIrPbrMfx2vfG2Wk8XXRVIWo0/aG7NZX8w99IYHKeKDjLkS7nt8PtTaailFqtut1+FdM8Xtz59Pjxw+9r3X/9/i9unFig/dp4rJxzLmQ3zcfXt5Ty//IfPkw2cZFLKSyXFKIo0FddJWsAmOz05dvXzWaDiEpp59xwOmshHI8oxZLDUxptdJU2pYA2MmeuzZaIXl6fPn362DT15XJBgVoLKdhhv/Vufnl+XPeNEJh5MY2YJisFLzml6HPOxlTz9RJC1LoiIqPrcZycpfVKS77ebYyWhm0guKKU+vTTv48FvZ8W6+3pdOr6RlQGEDmXBSiTRERyAXLcbe/Xu63z2fmHFOHxIez2nz58LrO9DsOw7m8ThU3XO+fm2d1u9ymF2c9cYtt0Uqh5nq/Xa2H04cO7lFJOxAEWmNj1Oiijck4xxUz25fEhrqJAoBSv82nVtdZORkspeQxgJ//8/dWO9t39XdvuddWn0VG00zRYa99//oFr8GGsWj7SlZIL47hZH6ZS7v/u70Zv+1XvHp8ASmFkp2m1Wn3++OnyejRa77aH19PxeL60XVes95e5rytQArwGdo0p5hSeHx77Vds2ldY686wk7LZ3q34/Yfz82Xt3tJO72fy+rutxmpRShScXx+Px9Xq92pGaShzfhtubVS6BcapNo9FwOZvdigHPKZy9UxpLUQwIcnWz+5CSp+yUMoxlpZS1VkrNUWfilTEpJSOr0+nSVnWtm6iD0UJrzoUWSoBkgx8qI3aHg6kbiXwwKg7X8XrdrHtt6g8f3zFeXl4f3Py83W4LtCVjIl9rM4+T5GKaJl1VVVtxISIxLUzmEOPo4yWFc3Z5t9o/83EaZxODcm4l1bubg9Gy1u93/Q2P/vT9u1SGi6K0oJQztyZtu7YjH67xYi+nUiBSSUbLEhXquq3Ow9VnapomOKrNJtV8shYEqCJYISnE94cHKWXda1NgDpaSB+RS8q6vvHddb9xsKafbm+3T94uAclhvz8dzGkEbJiR4GoThhUeebFsbLPU8O5YLolo8h1L3iMw7K7hRii6XkzZKM4kMGtME0/gQnHNN1wMSlcRROB9zKl3TVobnRFroxV8tBdttD5friXO+6IopkuAl55Ctk1KRnwVXfVMD8JRS161EzEUIwaXUC1ZQYC4ls+J9QISmaYhMzrlrNxwVMAmC5ZyVkMaYlJKb5hijUipEVyBTCsRgGqZutRZcOudKzhlyVekQAnC8nF6naaqqSkittd7vNqvVKiht5xELQ2SOQDBJ3GCzrWWtmo0LKaVMRXAQx/PgfdjvbqUSl8upFGSs5JyFVjFGIWXKtOCNKZe6bbTWrJRpnGKMQijvPWH2zsUQZus55wwZlWRqrXBtvVtKLpDzTORnS0QJWF3xFBPL7HS6eIu3t7cxzyEFpWRhZGfHuTRScc5DStfTUUpZVZWUkuXCEBYCkRA4jJe12iolQ8g+kYshJ+LguZAFgRi1dVs3ZrBeSS6Q17VepNIYctPUVVWFqIiKtXb5dgXyUkrb9M4559x+v79eZmP0Ah/QWuecSozImUZtQwwhcFSMIQDoqkVKGTAT4xwRMZfkvS+/saImpaX3aZ5dDIlzPoyTMQYXdg1wIso5cwHJeaDIGEMupNBSSmvDZIcSqG8kcprtleaiKpNzVtJYO8UYlEGiiIwvEUzKLBdWNys3zVo1Td1TAu8Hb8+1McBEKcWHCbDE5JfokhACikDOYnK8gDTSh3A+XTNjq3YFuSSK5+Pp7fQqRaVU1ZjmfD4XhoxhCAkRl4wXl9rNc2NMt+5eX49CiMJy3RgBOTPWaD3nrJTc9VWeGXI+Hc8ytJIrst6xtNlt7+7rwGbvfMkUo7fTCFiGYZJahBCVwu3+8O7DZ1Z0jLHS693+XVNtn56v1/NFp0g5V1XFkYV52m03zjlrrdRKSh08sTWu173zEwB4F4WQyy7zf+YoOKJzbru/6Zu15KKUUqF6OR0DD4fDDpED4GazWa/XKf6GGPeRIpGpq7ZtTVUNw7Bad6Obm6YZhuHTp09933/58qsQ4tOnT7vdzpgqUQmUOMiqrrqmFigBERjmzCgUs6vGcZxG2zarhSrYdB3n9PD0mtL13e2n4CiTLwUocQ4aivXON023arfkzu7i+r43zGjM/vqmu8bkkhjr+3YYhvP5IqVQWjgXUgpt21o7h+hyETEQYwhMXq9j3bVam5wLIipVO3eNIXeb3nv/8vKilBEoK9NsNtunZ3c5j127ycSEEC4606iUwpfvX7quM9UaJSpZf//2NF/nvu9TSkyWtlkpZexlklxWTQ2lKGkAdcoMABYzg7V2STYv25cY42+tskIQ5US5AFprF1vaQj1ffpaIQkmFwdIxtPw2Dsg5BOdijCS5UgKYZCwrKRlj2JoD1wUYF7JqOuaDtb4AAFalpJKztV4IsaRCjVTbgkZXTy+vwlSZ2Hq1BSzH0+v5eq2atuu6zWaDVY3AMOvfnts5Z2IMWIzkfCTKHBmCEkKVDCklwc3ikyFKyzOnlNJ1nX87zfO8eLsXZ//ir5NSlsIQkXNeiOWcOSvaVFqapmvDdjXPo9YSoAAwIXjOiSgqperaaH37/Px4ub7O8yil7NpN26mbm797fn3x8/TLn/+82x20wNPry/z22tS1EIIxFIg3+4NAzgs6O0PKNzc70+jNZpVyKqVkxkuBRCVn2m63l9NVioZQt217entMKW23+4eHh8dvj7vD/ofPP0olBDdN3SePhcUQXNPWnz59fnl5sdYLoU0jGIpxPjZtezgcjDFcsOFybldmmiaK/v39J0SgHH2wxphxHBc+zHq9rus659w0DQBUFF9f3vrVDhEZpBACFFbXbeb8crksijxjjCiP4xhC6LtGJx1jahrz8eP76/V6vV61llIrzkEIwRhbyPpfv3794x//JKW+XscQUmWa63XImeWcMrHTmyUqUtj9Ya0Um6cQknt5eSqFPn369Pz8/PDwsNvt/vR3fzsMV2NM3/c5p3meV+vOODpfjk237fpt9NvzaXp+fhWSdd1qHMfVds0YhBC6rjPGROettW3b930/DMPyVH94eAAob29vWstS8vl87vpm4Z/GGE1dMYaX8/Xu7kbkLJS5f79p2lcf6MO790QklNjX2xgCUUQErap5tjESCvV6fEQU+/2N9Y4x1tXddboWYmzy4TKOsbxf7ytduXG4nC+A+Dc//sClSJnQWsZY3TbB+XEcD4fD0uHQ9f12s4/BZVYQhFDAEPq+zzk7N2ulh3H2Ia32ey5tzDmVFKK7f3+33/+eo5t81ILL9frp+Tmdr4hoTLXq+vPLl65a1bXxwZZSCuUYSUpiBXPOKYfdbrff3ShlEJS1XkoGiCEEwALIFilPKUWUsbDL5ZKJlmsrJfcp9tqs1ytgqTCq65oLkQpb9bsIyBDbtg02VFX1t3/7t5fT2zRN799/7PtWGnFzuy2QiYij7LrOB/Bu/vb9CwAc9rc156fTqetWRFFKriRjxJCxVddiDUZxCUxiIe/2q1V0/vz6wjlfr/qYMkQZU055+vj5d6WUy3CsVMWRuXkUgivBpxic81Lo4fJmY2qrtpSChZWCRFTV0oWZOY6ZCWDcyNPbeb1ed91qGAapJUqQWUitGEuF5aUVZLXqBQrG2M3NHZTASmCMffrh89PLSSmhpWJYCjBWuJEKkbGcq1oiQExRSi6ESCURkfUxBMcFrtY9IosUQvLny7npm111Q1QW3IV/fD4cDoyh0ejDVDeqqhrymah4NwCIwpIUWmujpHTOOee1qrSqCnmikpIvEhhjQjDGcilFUGZaKM4FAyBWYohKyarpCv2mo+USOBQlDeeKUgFcEIRyUUVt8DkmAFCirNcdADudT7MLTdePbgg+zuNpnmcp+TgPmZH3HgVnyIL3lNJc6bZuCkJiRQnBpfSUXU4ccHX/LsfkrB2sM0Jbn2Ybl6g7cJVyDqlQzkIwIQUlv7AzOcOcc0qBg1RKaV0Fn1jxbEGAQzZKVJofz9fHx2dtjKqUrhQr4OYh5iKUVFwQI1ZYmK1z8+3NIVO8HE9GSy1ViUDZT9MbB6iauqoqKhAjMZbX63XJ+fX1iaNsaqOUISI7Oc45Mu6j9TGst/sY6e10kRyAFcWFdbbWQJBtmEXQQmBb67quRIHFU8VY8GEGFnXFDvu9HS8ChJKCUs6Z5VzatqqMiZERxdle27bPOQMUgMI5H/zMGONKx9FFa+taZmJSCikaBsmnSDGHEJZxUGq13e7ruvbRBeu8D6WUru6EEHOIJfOSgTGAwnJKmWIphYlMJcdMnEuulGnqyWKxIQXGe4iQElkt6sPNRikxOZrGYyLHRUVEyHnOTAiRvEOup9kWUNvdVunazpTyKZBiI4kelOKlEINI5Jf+Qo6CcgLIUlABFgLFWELICJgjkCBG5KYxJ2K8dE1dgAkhSgGllJ09UV4MKsCgbbq27S+nszJ6s1ldp+HtdDQo1n2vOW5Xba1RAvWVjNZLUJmx63CJjFElz+5i6rK9XZUyeOtyzkJJwUFI3bV9Xbfk6XBzUxh++/qaYl6t7vu+n+egjYwU0pUCpZJT8kEKVEr98vOvKBCwxEDGNAwh5MSV5kJN87UAQIyiABci51wYCi5jzCEXqYX3yQiJTGngKedSfjPIHg63ddXOxRGR8yFSklKvt/sPH9+1lfnrX/+KHJhPVaVvbw8ppcvlQkR1Xa/Xayk5Y+zx6dlar7jom22KeRpD32kERjlTTDmRm32KEQCAZS3FcD2eLufheuQ8cLzfbetrsjmXQqZd3f740+FynAWvDrub4/nt2/cv93fv26aZ7HMqRUr++vicBX748GHhoiDCb7VB0QfrAJgPdrHkhuBSdMNw9Slt1jutGtWqnFMptqpNVXcx5tPpJUYyynRd23XNzeGesZILSsSQAmWnlIrRG1N3/ZYr4FBSzIywrdqubpwfEVHJWqvKu1OMVGW4XC+FMudQCjHKzi2K6sLA4ZvNRgqJiD6llOJutxdCDuPcmPpyGZYpCn77V5ZBNlMAEIgoEJZHMxe/bSVKouBsXUkhsBSoq04r0ruWcznPM2VgDEsBSmSaOhc0umYcz+dHpRTVxDlv66YIBCb3+33IAMC9j9YNIVhvw3y9+qlfNTVwPntfab3aHJw9UynLLgNQCG5KjqwoVjglMFrX1bIgQABAzhB4COF8Pm82G6UFJb6kXZfLgsg458aIJWQphEAqRuu+71erjVG6UhWwoivjJAQ/u5wBi9ZSG5kpxhiqquKC5eIBA2V6Oz6Uwt+/f3+42RHRw/cnkfPdZufcfLmeM5bd9maxDSBiVVW1qSimrupu7g/Wz5Fi3/c+xRhyisz7OfiRMaxM//3bcdV22/V9CL9utj3F1Lbt4+OjEOLDhw/a6PP5qnXVttn7mMhZ75RqNpud937V3T0+fUMUyugffvjh8w+ffv7553/55//2D//49ykHDowoWTsvxvSb/f54PCLi58+frbXX61VrU9f18lwazpd5nl9fXw+HA+e4LDj87J+eH5aQ3HI+JCIAtNYythESh8Eao43RCO3lcgEQiMx7vzBYF67lNFrn7ELH994D45zzaRr7vo8xUlQxlmBt045KixhLSktAdiSivu+fn58B4Hw+I0KMpAx/eXmSAruu0yr7UGL0w/XcdWuEijH49u377d16tdrFSFIUpVTOeRiGxc21tFsAAIMiJGcsE2Uu0HuvlMw5O+cO+1vORdet3l6PTdOsVmvn4t27D0QlFzzc3ljrZz+zTFIzZKCU3G43KfrdblcKo8RiSjHDbrf/23abCx6P59//9Ifz9fT29rLmRq+2pZRCBIwJzjXANI5vp+NqsxZKueDts73Z74WSg51Vs769vT1dBwCuFAfGgPEMmAEyMGKFS6GxQcQUA2RSqr257758+ZLZcb3e7vUaIV4vU/AxxIhSlJxj9JUx++220ppcMJWsK+XtpW+bFI31VCinnL33LvgUWdetYoxa1ylla23XN0KIXDIrCMA5l8tblTHGI6echRB1Y5RSRFQgC2Qp0nwdU12bZpUZiMoYbTLDl8cnSqlrqnmcVGU2m03VVhlIm2qrd9frebKz4GUB0QqBWooQQl1pgRhLxJKR2+EyADBjjFHK6coO18t1NgK6bsNZNFJgoRSTVk1dG1FJH/N6t/Vh1qqmHIwWdpozpcZUWvB5vhbyAouAHO0UY4zBKykkF7pWBamUdB1Hd/GSKyK6v72flADEpmkKsMxhf3cb/AQC/BxySYXITlPs+tVqM1yuMeW27SuDq82GMdZ1HWUWk82MS6GV1NFj9EFpqYQKKRRWuJCAGVJOwS9WQCkREBjLdaM4x1y8VjUIWVJBKQrDGGNVLS+s62wnY1Tf1V5k55ySXCqWkmAsBZ+NlhxZDLMUyFFJqRbc8DJ4U4hElFISBZAKJgYSOAPIpRSAAiwD+kjTNADAuu+Bc8qZSwlQDCLn3IfgnSulFASBXCtRKALH6IP33s3T7PzD01OYzgu7CgXf7XbWzgXY3d1d9OS9L6VMdk4pxZQpp8JF8iPnEFhmkSEDBiClBAYheaJijKnrmrHsgweOJTNr7Wq1KowtDssYPWNMSr2g9UMIRKCUWdID0zToKLumyTl770OKw3CRejNZ773b7XbIZQhOCFEb5QQnQA7xero6OynRtI2WnKU4c5ELscVCqrVmbPlQCYz1XTMM09PjQ101QihgvOu6um6fXsn5GHwuwBgTSlaIDBhTPAut1rs1I+bChDI3RnMgYPJ6vSCiMSpFHsJEpax1t9ls2q7OOYXoEdsQHENRVRXngnLkHFIKAKCVAsYWpEMGBsgZQ2ttybZrc1tpUbU8k1p4kNEySIjQNr0AyXIpRFAYy2BMY0wlJScQiIKoLBe2sAwAhVKh5MlZa0sBkXIBBpgZI4G8qhqOVYglF8VRF8rzdLlcX4kIYEM5Sq4YYwicUolYWBFKN1xUyqycd6+vs9HKO2tlgEoUFlmMMQWlVAgFNSMiwMgFX07GnJAVvkTQoGTgDBEbU6FcYOGRg0COyyShpNG6SiEyod5//BhdHMe5FCoIzy+P3tuEQNnm0ns/K66bpmqbVb3ZlcLK04wucsEqrs26F7ISqNq66duO0YLgSFXdLspP5kyq2s6OiGJOmKVPlHLu+5aozM4KgcmH0/H14/sPIQQq1DVdjJGS05Wyzjnn1tttjAEApdCIYkkYe++FUIzzENOcAnmbPe26FUukdQUFnPchUtd1Vd0O03i9XmOktukAoDK1rkxlGtNUd+/fCcHN8fL29ragKmKMi78WkS2OvWkcpJRKYsnx7Xg+Ht+Or6FpOuQSoeQUm6aJIaVAORcl4Xg8jpejkpmV8Pb67cP7m7wxtemk3nHVbdeNbiY70u7wAVYt781q3eUID9envt8qxWUlXt8eFmWpqqqcyc6eqHAuh2n03nEOq00fAzFWpNY+ugIqRhJcs8Kfn59LZnd3dxzVOJ0RhXd2uAzPz89d1263a+RMcLTkUrIh2NP5OUW2O9xV2kQoDMo8XKGgQh5czCUzFJRjjPh2fA0htLWmGBAZUV4S6iEEIcQCkPEpFgSuZNu2l8vFW3c43CwKjxALfIY45xzZ/2xCXf4jpeQcJEcplEAuJPgwSUSmJSsx56ylZCgAOCWgkpELpeuQ8jjbkhkIiaCE0AwLsbIMrMaYHGgZ3Y5v59N5uv/4Q/Dx7fSiDTLIjDwwzks5Pr3ETFJKvtlIqbr2QETLVyCEiDGXgpzLtu3s7IFxKbn3rpQiFUcEYLA05izoFcbY6XgBgFwSst/M7oxjKRBjyDmPb2cqebazktJo6aKz0RISIDo/AxS5rKU9ZJYzKzmX7XZrKj4MpxhjSsxO+du3h08/fOy6zq/tPE4UU7deERbUAjjOzl7m8bBZ8yCEEG3fSWVCjJRKweJCTClTAgB4fnxZdQoR1l3LUUpphmFYbD9/+fJvCHy9qrjMkz1bj6fTKee8261TCtNsT+fn2hzu79+VQlo3Upt5nFJKHz9+1FpfL2+Pj985sKrrFgrQ28trVVWbm5tSCuf8cDgsAtr5fH57ezPGLBzxeZ4+fv5pyb3lnI0xAPz5+RFBLH70uq6X+tLVatV1/aLh+GCnmSMrbdtut+vlZY9QWCkxxpLzqmubqqYUpmkioso0WmsAfHs7zfO83ey5gNNpUDILqSjbl+cxF/nhw4fHx+8hhP3+Jme2XvfW2gUcNJxPi/Qn5W+eFqPU1+8PH9833759+/u///fOTc9Px7//9383jXaaXNebaZpyzn3f/w+pim5ubtq6SSnc3t4iZ4hss9l476SUy4klxnS5XJwLp9Pl97//vTHGBy+lggI5z0IgUfTBWluAQ7XZdl3nrGCMueBjLImIMs42am3CHP/yz//n58+fN/1ao2ikvN0dUiYUnEpqmoplis6mFHOmwnKh7JwLKUkpEDFnxoVq2y4lEkIIqecQpQEuRL/aOGs5l8bUjDFt6lJKBCmlQKVBCp9m5JlDGWYrufbeY4zb7XqeHee8UFSq+ds//k3wE0BJFHnClMjPjqistyutdQfMzn6e565dL9nlcbogLwDAUZZCHCUrWArLkJ1zAiAmDyxXVQMQOXEuircz5ww58943vdRVx4VmXFR1L82VOQuCb7br3XaTUkIBKaVIKaUUQmIFl4Z4IVAr0XY1lrqtTEHWNY2zk9LBzkMpBQprTHtzuL+gfHj8WtXm9v29aXobqO60daHpaqnFZXz5l//+3z9+unv//j646enpKZNTSqPBTN4TZIrGqK5to09vb7OSInq7X99KGYFnaZQNdri+ZUYRRYrZrlar1SpRmabJmIoJeHl5lpz1q+o6nFnO+91OSXk+nyUaKbRouiCy4MSVjD5xiYWAiFKKi0iVc8qsCMWRI5ZkKsyZpt+EsqB1VVU60TxOF8reVJxzKQ1/eTuXArvdXiqz2x1ijCFGBtz6OYQ5kW2aSijklKvWZPJS68IgplyyEBylqDmqUvhyF5RSUgopBUQsJZdCom5WMcZxspxLoyUA+kgx+q6pKeVEIIQowDMTDFkGhqUs2z7vfcokhViKPCRnw3VmkYJ1CtU8TYC47tuzH67TyBhbrzbDMBhTdV3HGGitSylCqAVQyrmw3mZWVlVVGIQYWEYlJM9CgimU+75dfgQRkPPZhhAt58CZAACj9YIS885BwRSirowUnLGMyCVHJnlKwftpuoTN/mCnebdZcSnP04CIOfq6Nn3fp0wpZo4McpGAiXPBwYeJYy7MA8jtbluArCc7Z0ABAEJKIUR0PoQgBRpTh5BKZlVVKWVKhlJKzrFt1oiOMyGUygQpJZd8SimlS9OEuq4LAuUoFSjOWUmJiHNQSjKWiUJhkYPgDKQQ3s3fv39z3q4269WqCyFF73VvAKAy6ny+VHWdcyrltzgfRwmo+n7FUGcCyEBEKBWPWWtETpFc9A7QaF2VWKZp4IJ1XV9VpTARguNCLlEzIuL8t32h5CLkQkSJ4uyslBoophQyxZITF5x8KVR17Yc5kJsZysiKY5C5gFIoBjQL9L2EEIILsZJGcOUdheQ41nW1GSdbaZxGH8NUmNNal4KIyx1EnCMCS+SlMpwrisw7xyFVVRWT11Itkkvdrojoch5ySZvNyscgJddGno5vUsr93X3btm/u1PZrzgF5FoCRZRAZdSUqLk2rlG763phGsIKS/34tQ2avp1cKUaPOlAXhMFuUYlGEoo11XRMRy4VzMQ4T5/L23eE6XEIIgKlqWPBFCDTGLA32sN3e3d9er9dSSs6ladrNZpty4oJxjhxAaKNkJaVOKXMuS4EQEmOMMs4hzuN1nCYgZrRGKkYpJQ1R6brV4XBgjC1LdGM0FxgiGV1JKakwH1LddLmkhTS3jAjv3r1rmmbZBE+Tlcjvbva73aaujfNTcEMurpTJhoygOOcxNpItkIokAKOfBaftqorJuTk+f3u43fZNt/IeMhWt5Hke//rrL41afdb66eHNp0vL5TymX355OdysfvzxPudUmXocx7qul6Y6zmXf9wt4cZyuIVhKZZFQAEvXNTGxeXb73YoxdL60bUsFp9HFmI2uYCXOx1OILiXyPioliOzl9LreVJQcsIQc316eYqQssJYac1FK5ZRLZgDcmBoFxGSdHQCAyOccuODAOWRwi5uFyBhjmjrP8zAM3i8lRGoaxnEcq6pp21brChEppiVghIiM8ZyztXNlTMkgABerDAdMKY7jgCxrLWOglLLWUoqqAAKwFLz1cZosFUaJ6aphDBcHJJVMjOq6rqom57xIo6tuNc3f5tl57x8fngDzNNm2rbHKiLjf7mJIFKJSKoQgtRIKFKLUVSklxwTMaVW1bds2DbAZAJfFDwDE5DmHpQ9c6zXnXBkdY9JGppQ445xzVhCRMcQCBQAYK4miVNpIRRQXeGXBknnhQIyR4EJWKmciSkoprTXnsnhPidV1zznnaErG03H49vT47u6+XfWMsVCihkpWRjXaOj87a52TlTFEjKNAmRF4VlzpZWSMgY4vr3XdKq423YYrNruj1JpjKize3hxme5WKQrBts5nnU/AspZxzklJqzaA3DGm2cD4/1ZWs65ZiuL29fYWX5Uv03n7+/FlIaLuGWGma5vX1lUvx448/AsDLy8tqtXLOnY+n/X5vlB6GsW87DiiQX07nz59Y2/fESiGqtIxzMEo7PyOAkrqtG+fcOI5t3XDAUspyMEBWYvKUdVVV4zg6N/d9v3SZLa1zVVUjovdeCLHf74dhWJqkTqfLfj+vtypEmWkGHqQQgCy6KLiuq6quKoF8t9stKeEYiHE2DMOq7YhiihFBIOA4DvM8lgLn8+XPf/7zzc3hcj15l6RUfa+8n621jGHfd0KIGGOM8e7uJif6j//xv1g3NU2TUthsNiml7XY7TteU0pLNXVqKHx8fP3/+XLctpRJiAMG15n7OUqv1en08H3POy7jvnAPGnQ0FWEH+/PrWtn1jmv1+vzxpq6oqhaWUpTEJyMUIkQslNoetaeqcM4VYN5Uxv6EamqbJhTHKUmjnHLEipYqQCuOUqe07zjkrRQrFEKjknHMBVhhsDzeCw/H4GnNslCkg8nJol6ppOim1n621VgmplJGSh2CJ6Hw+AnAGKKVcjJ1SyqzZOM4MckoBkQHS8fSsta6qirHMGCytcCE67z0THLAUylJKzgVRoJysHSqpEFlKGZALaTwxRhkRu75/mkcXfL/dJp8wF8YyY2yanbU2hLiYo4TEGBQHbJqGUfbBlgx11wMr0cXkAwjOuRKqXTV93+032/3lcqlWnZCm6LKNm6/fv2deisBf/u2fH5//vNrgZ3hv7Xkaz86m9Zb2uouRuJCH25vr+WKM4eCEYKZqDzeHflX7t5NQCJgKBalwuM5NIwjL119+ff/xB62rscwc8TqcnZtVWzHGOEeGRUpeazX7cDy93hzuONeA9ThdjCelNMVkmkoqU2yI0TtHsw9tVZcCCzRGKu6spxyXE2YphMgECM45ZRYoE0spsdkGrasQi3Wh61aB0uzcgnQM0sUYXHCSa6445xBTTj4IsfRLAkUAJinxTJTJL7sz50dEqKqKMSyliLZfjeNoZzfNY8qVUbIwIiIXIgCappVSMpD/v57+o0uWLbnSBEXkcCXG3P2SR4IBiURWd/W0/v9vqFqVCSQQiBcR71J3o0oOFemBPsBHd+DrLnNVtaNC9v42CxJRygVq+q0c1HrT5LVSjTHTdC9NnDZ9GFDpT1+/kqHT85Ps92UjDWuNAs7Y1oRjYU6bUE8EEUVrTYnWebXNo0IR05qauZY1EkPnPNqEJCXnmqrWqnEJwXWdr1laK6UWaLxOD6vdfLs+Hg+/2x33h74fiXROUUS4ZgOkrTOkcoqttf3ROdJOaTHWo04pKaWCt9M0rSUBwG4cP3/6VnMTKLm0Luhu8Dnn75fZm511oTXeLH0KcEtakead7Ywx2prtrSkinKUfRmNdzul+vy/LIiRKUWuNoLVSclyqMIIiotqidboJG0tEUHIUzFaLc0ohpWWdpunxeKxxcc789MPHbPJjnuZ5fnp6yjlvHUgrFZW2xhfMhIZI7caTdbXErDWJNFBYWhXAYIiYqxQt3rlQJa6pbrssrTtmyq3WOStjt80JCwAoYEFEEVGMRaSkhDsGbMLVGNO57j6lT79+RzyeXj4Q1HlOYJaS52H4LQKmVmYWhcQMW7UBlUnAGLNOdTe6Dz/8/K//60tcq26NCAAlxqi1a60hKoFGqIgIkZRSpbVaUSslgq01ZbmUZKyyflcLX873mJMP9jFPtZbD4ZhSSiX/8MO7w2FXa/Vdb5wHgBSnH3/88fX1mw7t3csH34VaOceyVnRmuE/TbjygkTInJD/uDyQw3+4kdL/N8zIVbh8/fgRCZr5fb845F/DxSKWUYXREnFKqNYeOQveUUkIUkTYM3ceP75XWr29vuZY1Re+7/X5/f7xZIwBNuCB5pXTONa5JkQZBAOi64XK+5pRe374tafn5ww+IWFoZ3a42nOdpK/Fvt0fO1VrddV2MC3Nl5u2V2SoDtm/fvszzOgyDNiaVbJzthjGlNK+riLy8eyqpLyXFdVGKTqdTvxt//fxvpckwOAXog73dbsBklCiU4Cn4w+12m+cMxq/zY50Kkf/175/uy9+O7z/4vgODTx/fX9f7/e3r6UlNl8//8v/87fztbgTrh/fe4ul0mqalNeEGKRZjSqdDazmlEnyfc3o8Hvv9vtZaSnx6eqpNPe5RRJaYjHFKma/fXoWVD3ZdCxEwc9d14zjkHL3fvb1+qWUVNiDtsNtV5n//t1/u91s3DrMxH17e7Q6jMBHRbb6OwwERpmlKad3tdiANSXLOrvOKVEppW0PP87wFFV2v12mZf/fTz7vdLud8v99FcNwdlFIoMJdaawXkTYbEraYYc0olauuIFBoyNHQKpLUmkJXySFoagFhSVpCICLRJpbZHTKko4xBVzlUESellWVItxqicM5cajO/7vpS62+1aUyItdNYYs9t3Ma5FGIBQUSq51rquaxPud0Ndat/3xjgAjsykQGvTD4GIrDWl1NaatVZpXNe5NdRaSilELUbW1tRatshP+e2nKth8hsBcAbQLPsZICoHb9XreirMtpAlAAMQYQ2TV5rJtLa8rKWVNN01TrXm/7/pufznPtValzND11trG3ERaa/fLtfM9c13jXGsmQ6mmUkoq9bg/bTWuVVaB+p9fPpdSnHOfytzv/fOHU2mZRS3L1IWDd/p06JXalVIwaKW5H/plzk9PL7lMxkJj+vD+o7S3t/N377uYHo68UritOH799Gsp6Ycff0QF1vplWXzfEVHM6XA4nK8Xa21wvrW2bZZa+039cjgcbpfrPK/Hl4+bWH9dZ2LcDSMg/xZ5S3qbx2+y5tv1YYxxxm4k0GVZtlHLuq5KUSnlcDi01tY16mFQhFYbZtYKEXjoO2utNbqW+PzUOX/6/m2Nce773W7faQPX63Ub1d34pq0hImMcYwohfP0uv/zt18NuCM5rbZ3tr7fFKisIzy8va4xICtB8f73udoN1euuX/gsrvB1C3vsuOB8sS71ez977aXpcr1ettXddjNH78A//8A+/fvryhz/87tu3bymtWpPxzoDM6xKU6ndjnNU0LV3Xt8aI5F2QEUJXRaQJexdqkWmavLHPz8/W2k2p1kplqaBIIcQY52UypIBEuCIQEXXOMzOR2gDza4xaWURRygiq3BjITjEZp1tjZnn7/goA4/6gnO3H4TE/hmFE0Mu6bklkDHg8PqUlVSYfbG1ta0us0gBQctVWldhws6I5B2S2Jr+1dj8/rLUibVlma50xznuT89oalUKIv5kZNquMtZalWaWktXmeDruDMSqXjIjMm8BDA0AVqKDi/AidY4W+C8Ttcrtr1H3oKhdvfGtNmIxxSiEpsNZaa2pJh/2ppHVd19YaRuy7UUFYU0aF1rnaYE6sUPend/54WpZlbc059/zuHRN249B13e9+/hFgCsEzQ6nJOWd0OJ06It11zhhjlGYgY3ST6oI3Y++6ULgqKzHd58tdaf10ONZUPrx8UNb93//P//v6+vrhww81pvO0Ptbz8+lojYnL1AUH3ForzhlGLqU0LlUaKe27PrMQYBj3ShlugNoY0SI5F4mmaa1LSdu0Yvt7g/PgTK1tWZbQmePxqfBu26AS+Q/v98a40rg0WHIlAm1sbc0Pu8ot9E0ZA6KsM6KUH8b7ZVlSVGLYA5BixsdjstYilJxzTEspeQvya41jzBqVdqETpNyqVgZIrcsq0jYCMSIh6NK4tUYKSymWpLVmSIUQtFL3+z3nTFrVhpXFCTnjX98ub1+/9Yeu693pcLq8XY77w/PppbaGiCkmpYwy9JsMC6m1RoqC65bpbW7LMI7BD9M0Pe43EdmPPQVd6lLr3FqTxmnlUlrXe2bIOZe41patVlNcXehevz6kVgTmmluZtXPcZq2tCLvg5jWt8xKMn+N6u9y1JoPkfJdjznFxNiylLI8pdM5a66z9/t1pA8Ip5xlk6bqEpLv+qaxxWZZaG2m9sWYFGhEJmMaJlBFGFjRG1VorF64isJW2yXvo+w5Apvne212DJo1BKllElsbsnO5HM0+RawudGXZPXKM0EkFrdeft0/FwPtetBN9cwmtMNeVtKqC1LlmQmQwNw642bhVTKtJk48Vao8lAraqVXKrUFmvJoJ2zh7wsrZUlTaXWw8GhMt77mCfkohSu61xK2nU9EBE3RQSgoHFJK3BunEqJhpQzloBKhq63iFJbSnM1joiAcBveb/tvRIVE5L1f40OTWaY5F6X0bjNuh9DPjzfSoJUjDa1VRS7GLCyd1wS8KW2U0nEtObMxRhmKee2dzpyNd0hqmmcG/OGHn5jr19dPWitBiXkdhqHrOkT49u3L9TZ//PCTNsq7Tlo+Hg6h9047aOp+u6RUuue+oR72T02PAsV1tmsqxugM7l6epDYRbBVqa/f7fRx7rfU9rzEtz/aQc1vXteuVRpICtbTuOBYuuZaSysbI7/v+6/evlZv3fhvn5JxSXKDlGKNm9rsPIq2UCgC/mYObECpL1jLN51vo3I8v74O2a/mtXYwxa83rEtdlU2C31ooi8c4gyPn1goqGYSACZtoKoMdjDiHo/8Q7fPr06Th2Hz58MKr79PcLAFgfclXC+Ps//p/TtPQ+EDYgXUrqfN8F++c//1uO5f37jyui7gYojXOTYv7t//6P+zof3r8bBxfGXlgD8K+//nJ9/dvH978nws7pl1PY73TvMOV0Pr/VWg+HU+8754JSWGpaluR9RwTPzy/MLcbYmrTGItJaKSV9//4dlRuGobGIoFKqVYwxd7133vR9Z4yqTXb74XZpVtuak0YqKb2ezznNSqFXHqAhNeMVkldkY0nWem64bbQ3SJQz9ny5lSZQW611A6uhVpv+wQX/5dvXy+36u59+PJ1O59e36/UaU1FKOWNLKSmvqipEv/nLjTFSWynFWCsCbfNNMhOwKBZpxnYoSsSVSoxMBKRNUPZ0onlNSpnWRLgCUinlcrleH7cQwpbFm3MmQ6QNCJ2ejqmlDx/ebYKxFItYux9GQVz+c7qhwCzLpEBpXYgAgTdA+2ZCFY1rnHOqxhgiZYxB7JRS21Fca2Xmbui3GmKzrm7zi21cWmtlEaKqrS3zTEQa0RCWwjmnWgszbyL47feZZeO7BedrbV03WhvmeV7XBPDYH3qXtAJMqTjjc4ko4pT++19+OezHl9ORdzsNUEu5P+6llMrSeZfjSkSdD11Q797tLpeL0/CH3/+QShz7HaOvWV3PZ5aKlHa73WbEPx7H2+3R++H5+dnZMN2utS1bBvvvfgqv325e91oJQiWUdZlSXrXW6zrfHvfD6biWvDGCjTGPZUatjs9Pnz9/fvf8cj6fl2V5enoCwK1a3XY10/1xu932dCQl65o6bVuV0+k0z3POueu6/f74+vptG9ms85pV3u37WvPGFYHGvetnc1/XNabFB4vw29Z0w+N8+/btP/7j3xHxcDjlnH/88SMRCYg2cjgOxoI1Xdcllqy1fb8/bmBZzTIMOyEp3HLOP/70u3//t38FoHEcaxUiOhwOreL5fP7xpx+YubX2w8cfc0lfv359efe0wfiMVTHGbYTZ976UErH96U9/qLV+/vz5+fl52/hty5aUMjNrbX/44QNLPbWDtaawvH75Zq193GcY6ek0LI/IDJ3xm6FCRLquky30FySu+bQ/LMuycdDfvfuw9TygyNpOKSJSuu83ZdGy5M3HrxVuEpxx3G20WWt8zpm5hNAjUilVGQ1Ij8edAIlQW7eu67KuDgmmdYVY7s27Ma75flu4ttPBaKPNzjORMbqUIkBaWWttrdUYB1KRNGp1GJ+VUgIKUT0eD0R5PG7Oua4bSkmbvcRY6QcHQAC/DUIRqdS0HSC1FmDUWuWc17QaZbZdHwobTUY5QWjMpGxulSNbov1xd/n+1lrtd+PtvrjOWW0JZRgsEZQaS13XdXG2E1CkyDgo3JQ0ImiQhbvQDQ3SlCYUMX4EhFKKoLrPueUiIxhjPr7/sIkMT7vn/f/YW2u984in/Y5EWCABIxmdMrOR8XAEaQrYDmsV+vT128vLk3X490+fYlyenl64EYhOqZzG48vLu+D73ocLIAK+HE/cGrSqySjtSooiYp1mSMgA2Iw2MWXfdbVl0lorv64p56zIWOu0EClTG1bWMSdplSowsyJERCKwVqeSU2IHzodxnmcBtHYYeldKEcnGdkvMxijSOK9L19y01i5Y4/pWoTXWoLTWXSe32z23Wit7F4Lvp8cCUrWuW9FFRIDMzEoZrawurW6saGZArYBoWhcS3iIPNo1j50NrRWkyxgC0ratord3v98v5vG1wUmFnXCkNgIa+f//yDi3s+sEb+49//JO1/ny7WmvH3eF+vxtjEuftm0PWtdY00tj117dzrnGNaCwh1dzmeZ4K9nr4YISYWSppbZXDDY+9xGWdZua6G3utaei6HFPJ8en47IextbLMd6P3msRqrLFZbfzT7vPnz30/IKrCzdsgjVuDTdTImpd5FpHT6RSX5Xq7PT99fHv7PgwelX1Ma06MJLVgzrkxD8POd71SSisdQlBIcZGS2TligHVdmQ0ossHWVqDUvjPW9MK16zwpPhycrDCnBY2g8UqpnEolsNZqh7XqHCsAc80xrQqMd955RWo/DH3X+cNxt00OrNWAdrNab5GNQ38QptaktVZabRXnZd2Wg42rtwaUEEFhbjk3TjEmo4vb6RDC7dEej3v2zfeZYwNVWSoBCNRlmRHRa43GEoIxBnJFYGYmBVBFWkEWFOz9LoJxzqQ8LXk2pgcUox030toQmYbCm4tWxDq9Rsk5IkpJGbAp1aA2a23UCLIBKJRzer87cVM5sUjTWgNgSsX6gEjMLaU0+gEUp5qMMUT6dp2E8bA/Vm61luPx6L2rtQqi7zsXQkxLzpmZXy/nl9PTPN1LWhUZrDazPOZzA3HGA2wOQl6jaKViSqCt9lRbNFYrSy9P7xAxt6q0CiE0aIjYe3e7n7mG4D0h3h6zIo+Inz+92cFrbRl4EyLfHvdv374552zwxKqUJiJ5XRQygeS4+B0AEAIZo/7ziDdKKTH5a8qqtGM/dqhbyrvQbzk4SqmS6zzPy7IYq3OOITiRWjK3WmKM+/2RQE3TY+PD7Ha7l5eXt7e3ZV7jmv7jP/7CzM+HXilsLKW0nNrXr49U6m48HPvherklj+/f7VrjcRyHPjgLreZpevy3P/2DRkpLeft+dqZT4DDDaTz8/OPHW5pWAOf3//ov//Nf/+XPhz4q9Tul9D/9j3/kppCq6FxyZgYRzKl2Dvf7A6LcbhdjjDUOSQDUvNxLaVstKCLD2InQp7+/WT/sDsd1XfenE4JpmbeCMoSw34+NC6kwjv0//OmPf//lLzXH9++e5vmxzg+jYByCQTk8n7rOkiZB0tb24whAX7681txeTh+en97d73dFoLXdjaf75TsAbC/RDZb3+vpaWiWtb7fbY38gYKVUSrHk+7Abubbt97ciXimlmLTWcV6Ys9aaFG7rLOCKiCwttzpaoyikWOe0Ns5Acjq+NBDjnWNoDbkVVBpRPR7XjaS+Td26rquxICIIee9Lq50LPlgAKJm7blinRTmfS9kd9grx9rhbq7U198skhAoESRQCgBChSMu5vb19t9ZvGVj/iWmHlFYA2gr0TYYBIFrrzVgsAkgiALXWUisRtRa7rhuGoZWyvUHmdc05b/8b11apam0QobUWYyTkZY67HWjl+25c49xaGYZ+P4wgNN0f+nBYpxVRhi6sl7uq+b//7meLogE5p7TMpTIiWo2vjysi9p1DaGNv1pm1bkhtHPsujNc7/8//9y+HsRNpxkpZOS7rppTwLrx+P//+d6eW2zInVEVRaEVrAwD6cV/HnSMiBbKBUE6n07gflFK5Va2NiAigiBCq6TGPww4/krX2/fv3G0uq7/t5nrXWp9Pp81//DloTERHVmrquw9KAGwDs9/v7/b7tP7f6srV2OJyWZeq67vEo1tpSijA2aKfTiaX+/e/T58+fx3EEodfXbx8//shSD8fd5XzbrMPH4761Visva45psgZzAqPocBxyvXKD4/4QQji/XTfkEQjN8+ycG3vf9/37dy8KaV0n73ac4fn5XWGzoXLut0fXdbkk5xyAtMa/DZ5bLaVs8Z+32z14vSlSfvjhByJsrW0G3GmaN4JWjFPlMgy9967WfJvWLSF4q0QVmcP++MsvvyzL/Xg4hNCv82KtBkJE0Er1fW+MsU7fbjfv/fVxRVTee02klIrzrBUaoxWIVhpR0roE5/vQpZBv12t2efCOmS/3W+97Ivr86csc191ud3o+kdFCqJSm9htYplb2RI9lZtNSbIo8ACFSjHGe57Tm0I0xxsq27/u4LCwSc9ZEqUgrUYTXNSlF0zIDYN/t7/dr13VEtCzLbneowqWUWqt21hhVimzPQ4zReaO1FoB1XWtNXKHrjmhsSok8xhhbKUjorAVlZEOniPguTI9bJSEu1lqrbC2Mv+3DubWmFPbWINlclhiXUnXnLXPS2m63oB+HGFcWiTmldgc0RpvKtSEqrUtkbtSatMJxuT89PXFjhZgradynZRJevT3My1Vw2u+Pt7dHvj1c8L7rpfB8v42D92P/9XsKIZChx/2cykIKPn/+rMAN++e3y0258MPHn8Zx1GS4VG+dQLJWe+cQURMm5jXOThulxDpKaZ3r/Hr+/s///I/G2draPC9bzFlwKufcGKwJvu+W+7TGaEiGset0B8IgSETrmmrNy1KVWp7fuWUt3NAchnmO67rmVrXxSEoZWzmFrpvv6/k6XW9ZW0ugUiwn57lUVGSMqQDLshCavu8vl0uM8cOHgSWzWCReliXF4n1fsuivdWkpWyDrNdfy/etbg2atHbuDQCnrMl3vzfNmWSOlcy0KJYSQS/z+7ZuIIKhWsTRQBsnA/fZoXF5+eOe9BZBcIQxja+X4dGitTevdBisimkVazSmt89R1g3hXgJ8+vLudp82dDYpcCDnnsuT5fD+e+pRirWW0AylyVsW4eG9jXDTreV364I23Ust4CFWWmLgPQynNkCLrFRJzmebLx+Np3A+tibX2tN9dbtd5Xp+fn++3KxEqgpzWl5cXaW1dV0AGy7tjpzSWhIrAeIpxnucZBQ+nlyZMWlUuDI1Ip5SXeV5L8jufcgatRGlLaou86nxntRFTmblB40akVVZFlEUgFJSGhEYriaka0ohS28ytGEKlFBGgWUv0pLBKOz0dUBkAEqiVV2VHdKbT4/37lUmtUkGQEj9K5AoptrgW54J4BFJLrT0WIk1OHvFa670KZt4jGwCnDXW0rJfl883sX37vdmpOZ5f7RFLz1buQ02yVLixKmaIetRXCgFkAFWhDOmMFETe6Ic21JgThsDfB+Vb0CvO81GHwLOsaJ7R9a6xINHuGyfvCxXJla6kgFkZFJsf4musf/+FPfhiN0bfXLxaa4FglagBA3yoJEnNSZFsrRkFLbLTiijWX1hQASGFkCmGXYhbRGn1NOS6TUqaVPAwaVWQ1ZYholHHd4/4GALXm4P1uNzaQpVZEyolZG6tPf/63f0GMv/v9R6lFGf/0/iNZN01TzVEKdLsBRkxpRdCH4xD8yCCHg/7+/XusLaW65Nvvf//7WmusBbS6PR61CAi7zoUhPPeBgFEFauSDU0g1F6VAIRm3xVWaUopShsYwjPvf/aj60M1T7rqOtFNkBGgYhlra1oi2UjUpAiWotW5EsjuYxtO8LNzEGKuMsT4YpVPM93y/Pq4i7fn908tPP63LWte189ZQu18vyHK7ffv0t9fL/dsPPx1/93E0qixlrcWtTYb+dH6bHnMcQne7ftvvj7vd7nq9dofTn/75H/92/vY6reMQzq9fPv/yN0yX4fieayesQend4bAs6/evr8B67J+VyY/pzOibEFRora3xzG3Y7YZaudaKKMNuvFwuQk3TOHQ9qqm1pjXkMp9fy/PTe0DWhpXCw343jF0pMabWOKK3oTshU2Hb7+3/7390//t//+9uGJ7e74SVtT6ukbBdLhdElbVe5wVYnl5Oc01q16Vl6brBCAqQIkOoO98vj1lVdGBUkwSJrFnX9XFfjVLGdtJ4Px5SrIKLU7r3+3VdjQWG4r1XWGKMrVWtXSyRjLvPMxg1qA8i4lxYU0ktcZN1zVrrNUdj7FYGAfCa4uZafnl5X0ohQN/50/5ApOxgABUg6uAs9suyvr1ehrFj5i9fPyXN9LiVXK31hlR32GvnQdpmME05OtREkKVqULUKGrM/POeYNrNKa60UNtqBFBHhJrWJVqIIapWUokJCQQBa5uy9R0SjtYhIS+OuJ2zGW0bw2oexSyndbjcGAUJrXa31cZ+ZuTVmi8bY+/2u9dJ1nbV6miIiAQBzDc4Qt7g8QgjWmJeXFwAuLMa7abrGugjlXBfvPSFqnWtJzn749e/fSo3jzhPZz29/68O7cfeB5Mrt35fYQfvntK6gxAVfixI2ztVp/nqf/zyEdxU/D/7F272izprueLKP+duX86/P+4/DuL8+JgS1PNYqxXRiqcWC17fr9Xr96Q9//OunX13wGVZLdl4X33WV+T5NRISk+37suuH/+L/+r19//TUEW+KslOp9jwawx9vjKjGGrks5g8jWaccYXXAHf2CQNcXasjcaVc2ldOiY4ecPHz59/nvNSzcM87rkNlnbAfD+eDDGgZA2YV5uj8cDwWvlnMNSIilotVqHMc6pinfD08lebvdWAbTK1d6X2Nh3/v2y0GE3lJJSEmWCCBijjBpqNrUCS9uNx2maaoGuH3POJecQ+hhXZdWvX3713hsTiOhxu59OJyR4e/vugp2WB7Hmanbj0/1xv81fieCHj398XODlw/ta65ev3wlhNz4JIhllvC1pvj8e+8OBQeZ12ZoEakSgNBmF+nQ0KaVaq7UWQJTClNZYolM2xoiIwah+f7rdbkvKtUk/DO/evWMRAliWOS1ZgVGkY8nGUuG11FUpNKBrLp13MUVUjVsmCp0jwvD19avrd5kz1JybtEFN08wkl8vrulTvu3HonCcTMLeouLs93lK8H479+frmfY+sNTnrjSAoZVrFZc6lMQBZ640Bo5TUKlCQKJVcue12+zld79PZGOOHrkEj5CpZUHtTv1zOzgzj00dtwvfLLWitTW7Scl4f64yteGNdh6gaYnpMdRs0EIEyWhvjup2FVuOCpEjo8XgQaiLMCQiG25wFLYI32nV+VKhyaURaYD4dhmXRrVRu9P31ut/vtXO2U/P9xsyYGfhOiPMMilPOuQk7N5LCt/MNkRp52w1hvHrjtelDoN1Q7vfrPH0nKh9/9w+7w/Evv3w+Hk7DcGhctC2N4tAP67ogGesdc2NYrbWVExdc0no8do95IqJcRBuclkikG4jWrgitsSDK4XmPKNM1W29yjpmbVlopw6UCK0ddrsUAk9Yi2Pnj23meZqNJlxxjro/7aoMWZK2pcAkeFNS0LOdvX7amZuydc4FJGx9KmUrNj0ek/f7l/e56vTYCq0NrLcZFgQGGUlJtVX/+5degbe/sYJ1RusRVIwXrVshj73EljzY4fbtekIBUQ8Qwjsx8uz4Qcb87KmVyLdty8/x23VI2lVIiyNyIdGMWBGstEGGMIlhaRWNBxCstjKVVTIWUW2N1ISilSuVa2SobnFMoOa45GxGx1imlWqubGyyEcBx3t9vNkn7cbijy8Yf3eR1zjpsrNITQmhhjlmWx3nddF3M6Ho8NkJssMW0+m1xK3wdj9DxP28gn5uy7IOLXxES0LHMfulrLht3VWrfS5scDlcoxKaXGcRTmaZqExTn3eDxKrcfjUSklLJtOEVA1gWUuzAyEOVfrKVdoTJqIGBiYiLQ1DRs1WeI6TROh2L7b6ngCBJULFyRA8iBK2JB23tOaUq211ZpKRmODMSSU1tQqBNdJy/MUtzgxIKw1r+ANKS1NF1WXguDEqJxQQeoGD2W3LpfX86+fXs9uxH6Po6+H46iVcMutZpGmlco5NlGoARgLF0VNpBWuhQXBCDWm+Ha+UAg/7/9gAyZY799upELfDaU04IrO5PSoLZFLeZ24idFgVCWTEYWU+/jxn/76t3+PccqMGkRaQaNyzfY30DRr0sJYa0HkxtHa0QfVGJClCRjdaWWFLVNq0mKNgKwtNWDmsqw3359c39VahUGjDbrUVIwIoiopGmNBaLrPxnnj1DTPS46H3Ul73VpLcY1rdkYBEKLs93vm+jrdU1qttURKBLX2wY9ElPPaWolx0a77wx9++uVvf1mW1Tn/7v37TZcyjN00TQhsjGJm5up8D+43oF7M4lxolTdrQRNBZYA0avX08twNfStVW9MNvQs9g+Rcc86KdG1ts3T3fddaU1pbq1iqr4qZU6xWuWEYK+fH7TqO4/PT6ddff225jIfx4/sfLKmvlzeNRIbePT31fV8Fvn//Pj2+usDaSIzReqfI//r3V43hp48v97fLcr+PoXt5eg7Oe9/FGP/7P/8fl+Xy5fPfllrrmhWY/dhbJfvTMZdWOPfDrnK73m+vl/NxtxeAt7cLKbbWvp2/dK673s6NW7Dm86fX1tq7dy9AmGNSONxvq7erdT50OueyP4za0OdPb1+/fn15eSIlSmPX+xCcQO51KKVESf2+h6bB6coqtxQRfvp4ZG7Hp1MtjbEJ4hRvOccik2hNIimvQMKCzqDdBSgyDEOMERW11rQ1v//jHz7G9Pnz56lMRDrYAP1v4aIbiqE77s+3h9bU9cEYI5CnOQbfG3UQYwUysnTeGtBGHKIKfhSRWtqyRET0wTWuOad1XUspm+SsNUwpAuDGJ/nw4cPtdos5TtOESEC02x2+fv16PD6lWM7nc2Ngqdba4/H4uj4e84RAShlrLYN8+/ZNax2UzTnv9ztnbUqrAtwUI4jc92E3BiLa8CBKqVwWZi6lMTPgbz6TWmtrTTsDIpo0ADXZ2BdSauqH3W1enHPWkFJqmaPvAoASwQ1thAil5FJ/2x50wW0YExGZpomZrbXzPA/DTgihCWlERbWVmOP/5//8/7YaAbgWRqWN9aVWQu1sINTed/cSa2XnnHDo+1PXDVXyPNUl3lJKfd/v9zskLrER6XV91IL73Qsp5cNwOd/086jUk7Gnfnjmpta1ODsgSbviRgHu+yCCTRiLmqfU96NSZl1XZuDaiKjVDKwFBRUT8mG3m5Y5xqS1RqK1VG3dx48//vWvf931Q/A2xtj3vTT23uectw0AIYrwRvItKTtrW2lQGhI6YxFgfkzUtTD0JLQ77DdWqbfm73/95cOHnzZATa0IQOfzerlcjDHe2mHX1zZbG+ZpDWEMfoxrnaZpYhn68XQ6aa1z5S1iLKXMVUJwtXDwvdZ2WaPW1nlSypTCxqjb7WZNcM7lMm/rTWPMJhm3xmedUyqXx/Tu+eSC3wqJuDZSdNr9dLt9R8RcIkNblsk6+v76yegOERHVbrfbHK7TvDpjf/rpp/v1dTMtKKWulwszE+laKzOllFzwRplNMpBSut/vuCpEYWmkZFtfEJG1opFyztJ4XZZtt1lba6UywzwtzgVosK7rOPbSIMdyuVy55vDjR2AqqQkQNg2Kaoolrn/+87/94Q9/AhGtKc7TbhxbbuuamNX8WErKx0OHQgLV2qypLjXfbzWEEJyb56iUHA6HZVmcM9baLnTzGq312xcHEb33b9db13W1ZmZCBABwzo/jQIjMbLQRLjlnp5XRdotVRvI513p99DsQFswVK+c1VYiDC7vdELV+fD+LyPZ9XBd2XmmDAEzWAaMIDv0I2GqtRHaZN4fl6MxOKVVyi7iSVusajf4tfUWTAoBpmUspw34XgjscDqUUUjDdH4/HQ2uNHW5GFK11Y1ZEKebr+fLhww8/vf+xCZdSSKvTu/drTilvuYGzUsY5c3/c/uVf/uVPf/z5ww8/Xd6+Ozsa7eIajTFEyA0JXUxLa+V6vStyz8/v/vKXv3z9+vXdu3e11r7vc2red8H3r6+vueZ3vsslbRWs1lRrSQVHO5RSyGgo6XAajX9OuSrjtLV6Ko/pFqwDpbpu9DbUUua8WqeUwlTzn/74j18//y2tawihlHo9356fXcpzztkqpfSmobClFGOU9xaFAZgIAUkAtFaIoG/nW7Kudj68eDCIKF5jp/V9zqkUMopYgMR5SwIaNVljrYXGqM3zy3vnXCktLStK1dpudhkAElZxzY/HoxtChx1qrNKk1soNUSEioJoeD2Nca+3r129N5Hg8Wmuhcghhmh6Add93gYMlJJRNMdl1nbR2vU6lJuDfIMdW6bjO59e3oe9QCFkUqMv57rTb9TtjjLYOU0aAhmQNWetjKsJNRHb7/Waiaq30fSiVldKCAIja2pwzEYNSJeVLjCml0+lJa72m5K2r3DRizNk5V2JZ13VdFhKlnDnfroB4OGwBliAiQiSCwqo0RiCpeL/NNGfV6dqKZrKOUorMtR+C8z5xFWkMjQAIAbeBvBCSaYKIyunOmL619piusS6tZFTqt6qOmygUoCpsjAuhJzQplQ0bAogu2EbeKmWFmGxJmGoGX6pJYmcNoLW1lgiXab6C6v/xT//Na9BKvs83pWxnA9cINpACrX2ppbRWWgFiBiwZatXODue377fL2xTXYx+0NYJKaU2kN9tNzpmJW2i11sbtMb+ldQYWjStgHFiU3jt7QJTgnu7T8vnrN3PXp5eDUajI0m8KGtHWAxAAh86IZGsIkFkaMLCwiChUSpnCqgnnFK0i6zwRlpzvt5y5hc6L6Ljmsk4aq9aV5B6cJ0BvTc55CzRFFmHOab7exGj1448fH5NdlqUoNfTa93qT547j+O3bt19//eqtG4bh6Xm/OUGn6b4lLzy/+8HqHlE9HvOf/vGPzrnz+Rw6b5U2Rm8AfmaWKqRcSkmDYWEgUcZWLgyUK28p5aFHUmo8Hox31+s1t5pa1QTG2Mrguy7nsuY0dj1p0tZsnHVEEG4+GOdcyQxiCLVz5n57Q+H9sJ+mqaSqQBHpjY46jgMzk0a/s620PqiffveyxOHp6bjfPwHk4Mc7xekxkZx+eP8hpey970+j1pa0+qA+VsJ//fc/cymd0fFx+/D+5/H08uXLl/3h9Pr6OuwPKZWcr//6L/9WS3ncZ6db6MzHH97dbrfL9fzu6bnvu3XFGFfv/Tyl89tj3O8AHFErJX/6/Nc//P4fP/7w8unTl5SWrgtaw7qm6+27Mcb5blkepJoxpjWY5znyNKo+10qqR/Ql6VKFDBrpUq5xbdb0JUsIe2Z9u6Vw0FY5hiaNWxNjbcoxrasL4/N+N3b95ljSWodjsN495mlZlq4bCFRKSaB5pwkFiZ0zLHlZli2AEABizJacsZ3WGigZwtoy1MYMSWfv/TZZJyKl0HurFDYuUAEAibRIyyUSaq0JkQB4Xddc8281UEoxRmPM4/F4e73U2owxX79+FZGnp6d342lZlrzmNq2tgVaqThG0VqOF0qTURlhTFhGFCAApr0RkTQBgRAFgrQ0AI5icKzMrrbea7D8VEdCqMDZtDbNs4VOtNSZlbDDWXa5XRQZEvKcco9bmfn/M83I8HolUrWVDbZ7PZ6315rzy3m9CTWttadkYU2ptwKQw13K+vu0OozS4XC7eOwAgZUK36/r96fQsTZTSzoZa2FqvtDhDcU1gKyqO6e798PHjjyzp+rgO/aGkVFuqXL+/5nHcvzy//9vf/zLNb4fDH7swlJJizIaUD30tdByflaLCLYSAiAw4PRZhRAwEChi5Nq31u5cX5hyXqZbqxiCN0eDp9HS93IXUeHw+n89+QKWUIv2YF6VU1+nWGgBvhs5NqtpEjFEbmgZElFIA2HXdGudpmro+jOO4xBkzkQLvnQjXnKzW7Bxiq42XeRFQiGYbglhrh2FH2Nb1GoIDoVYp+HCR+3+FDyiEUsr19ljiWlrlwkRglb3drlrrknldk7PU9armWmsbhuF2j95b792y3jZP/ND3rTUADKFDpGmaTGemuIiWKd00GURZp+jMALJpKR0Zvt4dUp3m82GvS2nzPIdusNZ+//7de6u8ijGN456IQuiv12vJbWOcb5mPMadN8rFxSzcreVmLAIfgRJRICyE4ZzbbTEqJHKYYjTG5lA1jL3Pq3fB4rNsa83Q4cq6o1HpflUIu6PTgdL097ovL3oWYlg3xqRQSQSkpdK7rfc0NGBRSbbWVAgAlFZZisRE0FO7c4FyXUtZWPZZr6Drvu/t9mqfFu0FrXWtNqeyHcZ7ny+WmtBqG4Xq/NIbGqQtDXiOzpJRIods5a30Ibp5vynWkCVGVUki41dxy0gCd1oqVQ/eb6TyvxpnjcXe73TSJ91akrfNizJac7gnwdrkz8/4wbJkzzmotTGQFdWttWV7n5d73LoSAqGprSiltLADM67KuKxmd0hycU0o5E7x38zylFO+Pi7YmhEBE67xyqVbr6/ny53/995fnj//w3/8JlS61uWE37J/DeFGCpbSv31433rmAj3k1StXKr69fxl1X6yqgWRiJmYtI1do6G1qTLgzWhZzrtEZE1SqUIrfrA/ZqHHfLMqfUnAth6OO8WEdGWxFOJa8pOmNtp5Ylkhgyvha0nRvH8dfPX9YlOeecsynleZ4aJ+8NKVCY92O/Hw/JWBFupQlzSVlKTdOC1qHmbYuoNY3jCJi58WYZ+i9wcAPRyxwfj4e275vCCvLhpw+myZ//1//6nsNuZw57yyUeDmK0b03mNY/WxJilFhYho3NlQHLBdz5sdLDWZFkWa926rt++vY51SHVT1ovSmkjVJsuypDX/ZupCIJBa8vX1+263Cxan2/0+T9ZaRQ0aK+8boG2gjTLGPOI6z7PzRlkNAL7vlFVk6HdDQAHr3PP7d7fbrQEedvvgPNDWanegCBFLq5xTa5JKbswbsnpJS3Cm1ookrcljnkM/cOUmWFO+XC7cSoyriCCC0cZqDU2sNgjItZow5JTut9s6L8fDU0ppmiYWmabp+flZEWzhdmyds9pr1FqVUmqdputUNR6Pe2e6VriVVQi3ZYJzTlvVdZ5LEWkbPL2VnEC0MoQ2JeEmseTb9EDKXKtpTSm1hTCAIqWtGiAvUaAoDdsQqBSpubBQNYsKnojQdiqMtOQmScOsgVqqToWfPnzcDYv5+5ecoql13IXbdJkeF+8HdRKtKXOuLXOz25u4NdaaSrXMgzGD80OtX+OalXJh2At4rqFUze1CCKUUrkUMsKyoMvOscPWOONVcptYuRte+R+8slPZ0PN3vn799+QxGxl0ozPvBe2tTzgAkjE1EKVQaG4MxpvFaShIRpVFppajWMuWNRVNKbdJ00w0FDQqkeXLKWN0ra9Z1VUq0RgDRSsBSzUtaV98PxigB3g1hTrdlPr9he/fumfRwvXx3xpPiWvPWtQ7DcDnfaq0qmN3u0CpobZha46I0Bd91nedKu/EQ0+JseDwej8cjdCGvi4gEG9K6amUZibSlBqg8kSjIRLSF9OVULteHiCApPxhGQCKzDeZLhmXpuq7WOgxDa7x9qlJLKSWEgCDMAqKBKUesVZzDabqsy6PWlta5eI8s4zgaZaEBaOz3O9CEyKmV/fM43efxNIaCTy/vUiytVlJqvz8Aw1ldnOuen8Pr+dqYQDvTDSLSWX+5rdzw6fh0vrw5ZX768JEbEZmS1xTjYYcacJmWlvJ+d4gx5tyOxycEm3J0ztSalbLWjPP8dbCH09Phcp3iWrRRtXDO2VpdawshlJL++rc/f/z40Tiel3WNScAym7fzhdTLMHRfvny53W4aY9Faa318/zul+stSere3EFDly/W7NAtB32/r09O7nGSernXN4LAwA9dcazfAmrIxLuY1BJdbjiUaUqmUysU4o5PVuiqkYRgUUkpr13lEiWkad+F+LwAQQljWbMTd73dUZC05T0o1ZxDrjAiCidnP87Su65LiNkdkhpxaRdZaALDr7DAE9XZ+3Cet9TDsN/tHk21AjltSFTPknIhot+uWZV3nxVorjaXwGIZ7uS/LMqUcQuhcV3Ph2lDg8nYOwSlDRBRC570HLHHNtbJSyvthXWcR3N4r1vhGDRVtHJntWCDnUEyrgo1zzoioFPV9P5fsnSNtEVRrggJxrUYH6/qcoJTEjYxRiqyz+vnl9Jc//zLPa9d11noRJNKHwymE8OXb581iHiS4ENo6EeC6rjnN67pab7eWxzlrjE0pz4/ldr8NY9ictNYZESaiyqA0LvPah9PQn+b1GzMHv6v1fHo5ff38t5TzDg+18ocP775//77TxJIyz7E8rvMS8z6tWWtLZldbJSJnQxNgZlI2RdZGnk7PXei51vlx2x13uu/KEltuhlCaCCtUDlH7bv+s+q9v34euf3r+cL28bUVkOLg4J0TcAC8A0IXAXH+LAkBozIAcdgNoEGlMCKSMNw0EkZxzIi0uSRofdrs1LilmAG2NbQzed5vEHBE/f/6qDYOU1iDFtR9VCONv3gPm31QTGokASyuFxz6UXG+X+8v7d+u6ltyenvdEFGMUwZSyc25zRKzrSojeub7vX9/emNmH0bp+msuaSjU1GCgl2tDtDi4uUvLahElbY0xZY9/tlZYY8/X2GHacYtGmhBD2+31KqZSmFGptvfetSc4VCAk1N+i7ERUFReu6TtO65bCuOZHRWIp37unpCVEej4e1Vmt9ubzdHzMiFm5SWxDW3sZ5nud5nhbv/fPzoaSlPx0JhUCkZaWXrutuj0/BmdOLb4hdx9axc3vzYs/n89D5R3BaaxR4PB4KSZNYo5omAkFhALFa1ZqUMbvD0/5wKpWn9XJ8PrZWvn07E+p5XnMu8/S3w9PzbjwgtBhz1w0M1A8BUbx1DE1rKo2J9GYZN8YYYwFweqzG7ozJjK0xrfMDQbwlpdr1+5tzbnCaekNGLcv0eJTj08lbHY0hIhTi1qb7DMDj0BOKMY6lzMtMqmmtjQ1h6ERkXed5+v5Y5o3rX2p2QiS/4W6qlHlat258s0qfz2et1bp6a1Q/hPN5bo2eDy8iEmNcluXr5y99P5wOx7cvr9P9wbU2ZTILIA77w48//xFKezt/TXnRmkDhMBqBnDI457R2pKRVFGEA6buxNdbaGB2engwqPc+z1mZzCDjnAMhotyzr16/f3717p5T+9vX15d1T8F1KyTivsK3rvJmUbo/7h+eTD9281vt9iYnHPTsfrHFZMmnUhpjFaqoVgzNaISNLq95pQ46ZUVrN62O69M5pRdtjAIBb6ra2SsChFGPc5mZsrZUmCpSez9ePP37Yh/5+Pqu+f7cbptfz9ev360I/HP5B51SkaGhpnUAb5/ztdjNaO622mYrWmrSWlABgc7uva1RKOeeXZdlGREoppWnr6Uup8xLv97tHHPo+Pq7M7BUMY9dak7ykNE3LakKHIq/nSWuLVoMQL/PT4VhKeTymjYclIspYbdAN3vahczbnrLRSYAdAZthcO9zauq4udFsS22OeCLUIMkutzMyAbJSKzNYqr81jWlLK/bgTkfP5XOe1lLIb+xjXbczTDUMppbM+9F3OGYRKKdzaRi57fX3NXAVkOx1ijAbJOfe4XlQrWLW32lBrsDiaLssXCKElEceh8wbN/T5N89r3/VTSYdx57/NGT9dERK2WChnAEXNMKK2AUsK61ipcN9sQIgJiyrlU7lE7TyypsbA0EAVANasYI3n2xqL1WY16R46maS5pvg1hd49QUukc7fvh4/Phfr+3dL/dcq25D67ythejmOKyLIpg2zCWykSKqCMVNKq4ziyrsmuqyupeWvh+viFUra01HkQECgtXnkXmJb6qYoJ2TVUsUoTT8tBw1/qEMrPMvZfvb1c7hvUxG0Vmd9jwz12/23yxiLjGJaXMHVjrC6/3x1WVRipYo5pkwzoEyxaQm0JBxQaBiBx3ECljs66zRteWco1KkzEIKDVXJN5Ijmt8hG7Q1DqvG8fGWWm2TpGSt9evffC/3fFlAYDn5+eh7+uGHWkk0JRSArKuK91ufThprd/t393v98v9UmstNVtFW2WWUuq6jhvlykopARCgnLO1vglL5XVNy7Js2NetSNqmm9u/N6z4FiOHSOM4Xi6Xjb+Wc+46ur09uGkEnXMWqObJpDwj4mHcGeOUUs/Pz0SUWyUibW1LcY4RFWiF5G0H4Lx//fxJILMUbqwAEIxWXfAtFgFAsn5JjEskGxik1TrN948ffhaMj+vjp5/+OPjdf/zy98Ph9O3zt+PxmJe1M6Eu8eVwCqGXbghDH0K438+lZqWFOnO/Ld6NCCYXTqmsS/XWGu02Z23J+cvn8/O7d953n7/+zVgiIsDMrGPk1lrf90RwPp+/fv3aWjvsaI33cedRTWtK375/tt7PD2G15grCtc7Tbb6Ph1FUjvVRro5dswD7cWBeUmzO9kZpztO0zDrGDUae12iM2SLHFWlu4oOtxizrndmtcWGRcb/b7XbBHI0OMc21LsaYR36shXzrjNECxmqxjus6NV5jjOuaKpM1TqsAzCUnMUxEIr+lOG1n3W8RP2/XEELoQ2ttWZbd4bCBa87nc8nteDxu0RkiknO9zV8Ph4P2btR6XdeGgIQV5XK5IOJ2bhvS3ntrLREBWK1BmHIVY7Q1/Ub0BW6bpgtIbW7CbUiZpoWIuAGzpGXNcTXG7HbDf33mruvWNXHdAlO8dd04HHLO3FA5P47HUopW3dPT0/1+//DhwxZl5ZxrrbXWUKl5nr13j8ej88E2u2FDpsdl0/ZsT36MaRiwFlbaEmlmAcJhGJDSGicEahWJVKuVVOBaQIzRKkVG6Litzy8/Q3Xe7gVqqdR3z9fb2zB0tcVSF6RKugkUAF1KiWl1zlXTamVEpUiX0nzwxmofDgwCAHFZ9n0wQWpsiqzWfl1y8Dtt/OU8jbtDilkhdZ3fKmAE3uzmG3h0g7n1XbddhBDCZbqVwszVe6s7v1n6Y4wo0lpjrkaR1rrrFAAgy2Zt3PA1KRXmCkC11t1ueH0j5wwAgIAi3SpvPJyU0obdZJDeuxDC7X7PS5qmCbgRUY5pWdbQ740xKcVlXeKagdL7908pR26CiFzB2A2HoghdSunxmGMuLctu5zOWkmpwMo6jVm1+ZGZmyOu6WhPG4fkxT4jmsHfbdYgxjuM4juP5fOZmjVHemk2Hk1JqTUqrzKyQUNHhcCCinGOMsXBj5mVZnNeHw2G/Hx+Ph4horZkhxlgJHvcbX9pPP/3UEErJFcQO3fV6fn398tPH3/3088dWI9fUhK11Wjlr/TrNy2P56ff7D+9/Iq0fj8d2pDvnpmna7Xbfv38Hslprp/D0tBPGWtkaFYLzjoxVS4pEWpFTxtteKRdQgyj9/BRut/syX3e7Q87VmoConfVKy2ZGTykZ071///58fp3uD9v1W6G8tSI5501ylnMtpRFIq4woSkvjGJd16B0SaIuNeZkeS4xN4HJ93Xf7YbS11nm+MLdaFpHWmECw5HY4DM5ILKtVvfOkFE5TyvVNh7upi9L74LqU0rIszmoSaK0RYkzLduNKKSnNwCximOsiItKMMS/vnrZGcSPOWWuN0vv9/ueffxZB+e2R5nVJWpnnp3frPKf6UFac04ysPV4urzlmRHPcHXOKtTKCrjUrAwgGAbXW1noBmudlG2YrpVprhDIMg/f9+e06TyuSbExVxCYiOWdvaeuciVApVUrTto/na1ybgJmnSMofDieBvK5rKdE6/fyyZ+6dpdYqkAhUYxFEFEsXzGNaal5vcYupka09/u0w9E4aiyCh3SA2gmCVCKB+DuMP+6eA5jHNShvKrVPmn//bP7mvX37/42G3D4/5fnlMb+c7Wfv+44d5mktJQ+gO+72IsNT5sdxu9+P+4H3344/D+Xye5/V2uyqFf/rTHwqvzrktmybnHGOqpRhl3z/tu67761//6pw7HcYtQuJ6vc6PW2PQxqylaOeMtWvM1lpAUNaUkph5d9j33bCsk7WWiJXWBiC3yggsENPqu2CXNecMhA0EEXOOrnO/3SFSrYlzlnnVhn4rQ3N1AYmMQqUQ07oYZ2uOKaX9YfTWKaJU6+1268eh73uDqrUWUxGR79+/p5SOh8Nut7tdH+fz1Qb/8u7dRgkoa3x5eTkej1YRQtsaXGY+HHxKDvy4349dFzZomgI8Xy7X8218dxxD1zmHLGWdUxGjkIW1TrktBB03WwqP7hR27y/3c5V1m3KllHJMC0oXhnE8IKgcCzM657hhqdiaMFNbMo+UESubzj911OV6axW5CogSoVxRge6HU2lwuVzUGvohHE7vSmlKmdYaCXlj15RLKqVCSbX3brc7SK5xXrmt6/ql8Ksyh3HXM8P58vX9B58zabOJ8DbxDxNBKYUTOrIK0RvLUnJJpczGhAbXUqb3z+P56oX09fXtdDpxqWBpE3rWtBiryHBKBYCU0ilN0/2xrEsXiAFZNCk2KEqB00RIKK01WZe1pmpsVqornEorLjglsMbMxABOax2G0HXeGLPthVWJXFtl5qZLScaStooEtKZ5eWhlN11vP4R+CIS0rqt1IKAR0dlAipdlYQYiIgWllK/fv1TmLQRxtztsCqIYo9ZGGAGo60cRWZYVQIhAk4o5bfM2RCWCpRSrtHKulhJTUogsbVkWFNJaK6WVUiSAtKWI21rz7XYDcdYMtXLj1FqvlBkGM447ZNRa//DDD2tOb5ez1lS5reuqrZbahOnt+3k3jMaHd++P0/wwthNBZiY0Rg3BGcZqjBmMfsxLblUJlladc2PfkXKN7e/+8I/jeLg+Hq21aXn0fTidDiVV78xuHPq+ty4AgHad1mAdfvo8pwitVwjaGGXMS4z527dXEGWMrUWmtU5TVthKnoddOexPX79/+vrl+36/H4bh7fVRa0VU7989z/P6+voaYwQAf3jf0b4f7KPMv356PU/fPwx/uE35/pYRlQh3HUj10FTnuul+bzgkWDTIOI7aOCHq+36+3WOKmlQCyDk7beZ5RsRxGEg5bRQo2AwtLBhjTClZb1uVLgwaHYLquyGleRz3MOucGlEHoGMSTUSGrQFSgghKYa61Vt6IfqUwEgMgALYqYnDLbd0KLGbe7/ek6X6/r2vcdICv38/be2jDKDltaqlv375roKXI88tp7PqkdK21pBpM+LrMSqkP7z9sK3LvvUgrpYiwMRYY4xq5gXVGpDaGEAKRbq1V3nBPG2lHkKXktE3oAQEYUJgAy7rMtxsA7sYDc93wx9twxxgFsMmvK6FCrDnnYRistd++fRuGYRzHDU3GzCUlZu77/na5wl6sdSS/jWzWdc2fk3OuG/pa69bQlizHp5M1qMiVnB7TG2ALvu/7AYTmhzCztkZmhcoYY5a5Du7QWkHtcxJSpGk05JPcEZVU7cxhfxy1tiiP3bj/9euneZ77boipcgMg1Wq2Vt+mW5wXTUYQjsfjsk4iYIxzSqXSpviIKfcj9dqllG5//ysIz/PcakbE2lqtdbrdj8fjRuzp+36r1bx3IvJ4PIw1mwEg56w0riXVWmqtFmGTT6ouiAiIWGvneWmVRbBVaaoppVJM0zLXWl+epp9+/vDt+2dr/LqsIrXf9Y/HzRi3gfZzScIQt54muMGHxw2M1YFdKclauz+MtWYUKCm/vb6OO+2s/vblc2uwzVkJ9TzPpZQQ9JrXxzx3XReTmR/x/fOBub19Xz6+30nLMc6F888//57Q1iJIbb/zOcdt9EhqM00SADweN0UjgF1iJK01UWtFKdxYybfbbdP5bIjJNaf/0tl7Pyilvn17vV7PzjkRjDHGmGMrSilNynv/WObt2pZWj8fjuuTH4/bf/+mf5ul2vebb4/rzz7//8ccfnTaxH3755Zfz+frDjz+RVpfbo0zTbrd79+HD7XY7PZ1ezxdrrfd+ma/d2CNDq+Ks1lpZR4jS2yduopQRoFyiEBLSPN13bnh6ekJQu93hfL5uH/KwP7FUIuz7HkmMMTHGEMI8z7/FDxujSW2X6z/72NZ511qbl4m5koLSUuHmtCVCj15ZZX2XK7dUgFGoKqKWY6mLc8YHYml9IGZGhOCD1eMOekFkzoBIxJXn3RF3+32JY85GKSYq8zxvseJD31trO5Hdbpdb3e26mvP1emmNFAGiDEMXQiC0a4pbe3l8Ohll1hSPz0/ny+1yufjdbuiHnGtrdZofl9fv3WCto/Gws1bHGKfbVErJeX39/ou11Pfmg/NQc6mrsx3UolSw1iwxEeHLy8sSowCnlLRygAwg+8O4PVekZFkma7VGlZYVRQvz/X5TSnnrpsdqPW4XloWMAk1YCqMWpbBwXZYI6KyG0mieH8Zwa3XonUIotd6n+zTNh/2pHw6n00kaK8RlWdaUcs7MgLgpoLeSCQlRCABI/8N/+5NIY6nPp6cuOEbojnvjnT6N/X7sxo5Rf3tbUPlaOcbcWonzokFycNdrQVSlslK02+1ak43v++HDiCRKqRAcs23CtWZgFhECRAEicqFjwFybC0ops0nYR4HQeyLK0nLlLTPifp+QxXch55xSDCF03eZNQQAgxPvtZoxRgDlF5XxNNVXZHcYNAwekSCEqQhZrSUS4FaO8VpqNLSkDyzAMxrh5XpFKSkmTSuvKtbw7nWIoWmFrdQtuBMRWqguBq0gTAAhDn1sFgOD7vu934yG10kD+KwphXdfr9brfDUprJY2httYAjXbD0/sfq3huXDIbY0BxY96O5tF3CAoYiYgBoTWltKDKSZiZIZZaaym16n7YDZ2eo9nAqHmNa2vOGvKDBixNgTAiAiAApBRjWkkZYzS3DDlynoW0UirsBlBecEWLJfO6Mmrj/NHvdL5/mZbCiNZba4PWdovtVMqQRC4VQWtD2qASbpCW+f7929+n22rscNi/Nwoe9085X283BxzWlYh6AAQxJdO6SIuK8bxy2gRBlQsjZZ6X+3IaQ11zqdUan5lrYQXIrdRiEHFd55rZeyBDOTWtPSLO8zxNizJmHI85SskIoIzTlYU0kDbCSEpTqdZA4bW0hmRqSxb3mtgoIcJWQRFp7QGglJZiZcElVgWaBa33tQARaOVbys4FaTxNEyIqlL7vWispL601wRrCcyllnlfnTC0gmNQRP358/+nTpxijtpaIduNuvz9M09Qat8b3+11r7Yx1umfmjDmLpJRKbVxFEXQ+NOGU1lPf1VKQRQESS5PKgjUmEdRdp/WGo1G1ZOZqtblebszNOQBYAWutqeRm9chYQghKmbQkZY1qaK1GjQZVbzvvDIEYY+Y1atEKjLVPwkkpFdNsDJJqpGrXG6Nlnu++G6wSbEVaUwjY8N3TjqHEqkznuSEY/uHndymtzj73h12JKa6rcZoYTDDaGIV6TdcmS62pVvn65UyqGcddOCzrQ2kex77JfLndrtdrjPG431ugr1++n54OL88/fvv2ZV3YGadVXpf87eub1dZaIyJEGgAErNahFXw83t7ezizxcvmcoK4TcBPnglbNGD/diw/GqEFyrTWTomWZRYMGneJSUiTA7e0CjTfD/QZJZBbv/SZv3VBfuRZt3ZaHFWO2JFo75+3WrY0uLJwEq2wkRxdQ0BnXpImACNbKVdXacilFKRJUrW4sYa2U6sKQU5umeV3TMHQbE/Z+v1vrthp6kytsJOC4TEhwPD7t9/s4LV3vndZKUQi+lmKUNsatVBEx9L3VVGsGgFYqERmnNmK01rpxaU1qS60V3Q8b3rdx2wQV2yqgC+5xr1yLNPbWKY3eGZDGeZ0eExENXWc0TdNCypDG2ua2HXqt3e7zpucmAqN0q7IuCYROx2cEdbs+drtdXHMIwWqXTbpeb2PfDcOwrmtJueZyX+dxP7x7/zwO3TytJSVjrEiLsQRvSqsiTCQstdaE0O33R2OxlFWAELHyXHmN0fb9eL/NAGxRpjm1YlnS49a6MO6GLaw3Wd9vKZ4APYtAFWZQxEjsPAGr0YzTbVpTKsRKoaAigFgig7A0H0zjNC9X63zKRSvMOd1u09B5bR2XDM4u86yNQcTNLjnPs7W/KV9VE6ysEFopznhBYgBNJKUgkVZ6020DQGX2XTC2izHHXJhTCMEHW1vOKJ8+//L7P/xIxEqjsbguBYC3OegwDMCyUSCRYL7fXQjHYd99eJdzBKxEZF3YAC6o9HYjhlFtSNBpWo3RIrDbDSwVQJZlVsYs63S+XqzqpKU8kvf+PN/meeUG1prT/mPf99wIoYXAiKiNLMs9ZxrHMZdSSuq6/RYNdjjs1zhfb+e+7zflT4yRuQIw4raZ8ajVVmxsGhvAxgyPxwOAQui1tiGop9Pzs6IYozQebYBUHzkRkapgg3d2GLv9NCcis6zJuM76vqZPBcB0RG6+L7Gb8Pj8dHyxn/+2rCkNh+P+eMq5vrx/n3MurT3uSwi99945rbVmrq2iNqqzfYxxi4X69vlTznG/33NNmVCR0QZZskjJtXGDv0/3w2G/zadFZJtGe98tSwQQaw0RzdNMRKfDgYi4tsZLE621bRUYaI05FS6t0cEKt3Ve9UpEVAtqFfa7k9aUUmpFKx2cc0bZXJbWUErpwq5VYYGuD6mUZY0CtetGnM38mLuuU+Q1ajMYwBLXmyLc6J/WWmOtSCsl1YpW6WEYtVat5hiXjT5ZWnrc7k2YlBGRt8sZEd+9fNg9Hd/e3jI3ANgUDfM8h86uy3I47ghNLaBV2I2uJFmWyzzf1ihIfo03a62xyljdWmtcUvkt+ZG59UO3riuiaE0prTlxCB0A1Fo0AjP3PmhP0+N6fvuKJH0IJmgiYmyaYH/o1nVNee3DTqsWU05zNMY4px+PPM2rNtAHL6QAFQJMjxicQqK4FhC9Pz1p49FqqiwNtPW9/m2hhMTGKI3EUoFIawuoGNr/H1fZ1mPAayk4AAAAAElFTkSuQmCC\n",
-+ "text/plain": [
-+ "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=1000x1127 at 0x7F91A3BF60>"
-+ ]
-+ },
-+ "execution_count": 2,
-+ "metadata": {},
-+ "output_type": "execute_result"
-+ }
-+ ],
-+ "source": [
-+ "from PIL import Image\n",
-+ "import numpy as np\n",
-+ "\n",
-+ "img = Image.open('/usr/share/notebooks/bnn_examples/pictures/deer.jpg')\n",
-+ "img "
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 3. Hardware accelerated inference\n",
-+ "\n",
-+ "The inference can be performed with different precision for weights and activation. Creating a specific Classifier will automatically download the correct bitstream onto PL and load the weights and thresholds trained on the specific dataset. \n",
-+ "Passing a runtime attribute will allow to choose between hardware accelerated or pure software inference.\n",
-+ "\n",
-+ "### Case 1: \n",
-+ "#### W1A1 - 1 bit weight and 1 activation\n",
-+ "\n",
-+ "Instantiate the classifier:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 3,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "hw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A1,'cifar10',bnn.RUNTIME_HW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "Inference can be performed by using `classify_image` for single and `classify_images` for multiple images. The image(s) will automatically be processed to match Cifar-10 format that can be taken by CNV network. For Cifar-10 preformatted pictures `classify_cifar` and `classify_cifars` are available (see notebook CNV-QNN_Cifar10_TestSet). "
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 4,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 527.00 microseconds\n",
-+ "Classification rate: 1897.53 images per second\n",
-+ "Class number: 4\n",
-+ "Class name: Deer\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "inferred_class = hw_classifier.classify_image(img)\n",
-+ "hw_timeW1A1 = hw_classifier.usecPerImage\n",
-+ "\n",
-+ "print(\"Class number: {0}\".format(inferred_class))\n",
-+ "print(\"Class name: {0}\".format(hw_classifier.class_name(inferred_class)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "It is also possible to get the rankings of each class using `classify_image_details` for single and `classify_images_details` for multiple images:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 5,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 528.00 microseconds\n",
-+ "Classification rate: 1893.94 images per second\n",
-+ "\n",
-+ " [CLASS] [RANKING]\n",
-+ " Airplane 234\n",
-+ "Automobile 231\n",
-+ " Bird 265\n",
-+ " Cat 248\n",
-+ " Deer 410\n",
-+ " Dog 257\n",
-+ " Frog 224\n",
-+ " Horse 262\n",
-+ " Ship 226\n",
-+ " Truck 233\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "rankingsW1A1 = hw_classifier.classify_image_details(img)\n",
-+ "print(\"\\n{: >10}{: >13}\".format(\"[CLASS]\",\"[RANKING]\"))\n",
-+ "for i in range(len(rankingsW1A1)):\n",
-+ " print(\"{: >10}{: >10}\".format(hw_classifier.classes[i],rankingsW1A1[i]))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "As expected deer is the highest ranked class."
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "### Case 2:\n",
-+ "#### W1A2 - 1 bit weight and 2 bit activation"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 6,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "hw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A2,'cifar10',bnn.RUNTIME_HW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 7,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 543.00 microseconds\n",
-+ "Classification rate: 1841.62 images per second\n",
-+ "Class number: 4\n",
-+ "Class name: Deer\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "inferred_class = hw_classifier.classify_image(img)\n",
-+ "hw_timeW1A2 = hw_classifier.usecPerImage\n",
-+ "\n",
-+ "print(\"Class number: {0}\".format(inferred_class))\n",
-+ "print(\"Class name: {0}\".format(hw_classifier.class_name(inferred_class)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "and now with rankings:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 8,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 577.00 microseconds\n",
-+ "Classification rate: 1733.10 images per second\n",
-+ "\n",
-+ " [CLASS] [RANKING]\n",
-+ " Airplane -20\n",
-+ "Automobile -46\n",
-+ " Bird -38\n",
-+ " Cat -6\n",
-+ " Deer 268\n",
-+ " Dog 6\n",
-+ " Frog -14\n",
-+ " Horse -28\n",
-+ " Ship -38\n",
-+ " Truck -30\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "rankingsW1A2 = hw_classifier.classify_image_details(img)\n",
-+ "print(\"\\n{: >10}{: >13}\".format(\"[CLASS]\",\"[RANKING]\"))\n",
-+ "for i in range(len(rankingsW1A2)):\n",
-+ " print(\"{: >10}{: >10}\".format(hw_classifier.classes[i],rankingsW1A2[i]))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "### Case 3:\n",
-+ "#### W2A2 - 2 bit weight and 2 bit activation"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 9,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "hw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW2A2,'cifar10',bnn.RUNTIME_HW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 10,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 1622.00 microseconds\n",
-+ "Classification rate: 616.52 images per second\n",
-+ "Class number: 4\n",
-+ "Class name: Deer\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "inferred_class = hw_classifier.classify_image(img)\n",
-+ "hw_timeW2A2 = hw_classifier.usecPerImage\n",
-+ "\n",
-+ "print(\"Class number: {0}\".format(inferred_class))\n",
-+ "print(\"Class name: {0}\".format(hw_classifier.class_name(inferred_class)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 11,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 1621.00 microseconds\n",
-+ "Classification rate: 616.90 images per second\n",
-+ "\n",
-+ " [CLASS] [RANKING]\n",
-+ " Airplane -24\n",
-+ "Automobile -34\n",
-+ " Bird -21\n",
-+ " Cat -13\n",
-+ " Deer 244\n",
-+ " Dog 4\n",
-+ " Frog -7\n",
-+ " Horse -20\n",
-+ " Ship -27\n",
-+ " Truck -13\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "rankingsW2A2 = hw_classifier.classify_image_details(img)\n",
-+ "print(\"\\n{: >10}{: >13}\".format(\"[CLASS]\",\"[RANKING]\"))\n",
-+ "for i in range(len(rankingsW2A2)):\n",
-+ " print(\"{: >10}{: >10}\".format(hw_classifier.classes[i],rankingsW2A2[i]))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 4. Software inference\n",
-+ "\n",
-+ "For sake of comparison every network can be performed in pure software environment. See how inference times increase massively:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 12,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "sw_W1A1 = bnn.CnvClassifier(bnn.NETWORK_CNVW1A1,'cifar10',bnn.RUNTIME_SW)\n",
-+ "sw_W1A2 = bnn.CnvClassifier(bnn.NETWORK_CNVW1A2,'cifar10',bnn.RUNTIME_SW)\n",
-+ "sw_W2A2 = bnn.CnvClassifier(bnn.NETWORK_CNVW2A2,'cifar10',bnn.RUNTIME_SW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 13,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "-- Software inference CNVW1A1 --\n",
-+ "Inference took 418492.00 microseconds\n",
-+ "Classification rate: 2.39 images per second\n",
-+ "Class number: 4\n",
-+ "\n",
-+ "-- Software inference CNVW1A2 --\n",
-+ "Inference took 2645258.00 microseconds\n",
-+ "Classification rate: 0.38 images per second\n",
-+ "Class number: 4\n",
-+ "\n",
-+ "-- Software inference CNVW2A2 --\n",
-+ "Inference took 4578718.00 microseconds\n",
-+ "Classification rate: 0.22 images per second\n",
-+ "Class number: 4\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "print(\"-- Software inference CNVW1A1 --\")\n",
-+ "out=sw_W1A1.classify_image(img)\n",
-+ "sw_timeW1A1=sw_W1A1.usecPerImage\n",
-+ "print(\"Class number: {0}\".format(out))\n",
-+ "\n",
-+ "print(\"\\n-- Software inference CNVW1A2 --\")\n",
-+ "out=sw_W1A2.classify_image(img)\n",
-+ "sw_timeW1A2=sw_W1A2.usecPerImage\n",
-+ "print(\"Class number: {0}\".format(out))\n",
-+ "\n",
-+ "print(\"\\n-- Software inference CNVW2A2 --\")\n",
-+ "out=sw_W2A2.classify_image(img)\n",
-+ "sw_timeW2A2=sw_W2A2.usecPerImage\n",
-+ "print(\"Class number: {0}\".format(out))\n"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 5. Summary"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "### Inference time\n",
-+ "\n",
-+ "Results can be visualized using `matplotlib`. Here the comparison of hardware vs software execution time which is plotted in microseconds:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 14,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEPCAYAAABMTw/iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAFRlJREFUeJzt3X9wnWXd5/H3lzYQ6bbAYt1RCiQIxVL6+xTKjxRRgWIpzqB9bKWjHdkiILsjLg6VVVGEHXWqzuoqbEGpy5RqeQSlUsShAzblxz5Nh18FLBasEmBrW6A0FrCFa/9IyFNrk5wk5+TOuXi/ZjJw7nNy3d+cK/Ppne99nfuOlBKSpHztV3QBkqTqMuglKXMGvSRlzqCXpMwZ9JKUOYNekjJn0EtS5gx6ScqcQS9JmRta5M4jYhYwa/jw4QtGjx5dZCmSVHPWrVu3NaU0sqfXxWC4BEKpVEotLS1FlyFJNSUi1qWUSj29ztaNJGXOoJekzBUa9BExKyIWb9++vcgyJClrhZ6MTSmtAFaUSqUFez+3a9cuWltbef311wuoLC/19fWMGjWKurq6okuRVIBCg747ra2tDB8+nIaGBiKi6HJqVkqJbdu20draSmNjY9HlSCrAoO3Rv/766xx66KGGfD9FBIceeqh/GUnvYIO6R2/IV4bvo/TOVmjQp5RWpJQuPOigg4osQ5KyNmh79HtrWHhnRcfb9K2ZPb9m0ybOOecc1q9fX5F9NjQ00NLSwrvf/e6KjCepCr4+wAeeX6/+qsNB26Ovdbt37676Pt58882q70NS7TPoe/Dmm2+yYMECxo4dy5lnnslrr73GDTfcwNSpU5kwYQIf//jH2blzJwDz58/ni1/8IqeffjpXXHEF27Zt48wzz2TSpEl87nOf4+3LTXznO9/hBz/4AQCXXXYZH/rQhwBYtWoV8+bNA+Diiy+mVCoxduxYrrrqqs56GhoauPrqqzn11FO59dZbeeaZZ5gxYwZTpkyhqamJP/zhDwP59kiqAYP6ZOxg8Mc//pHPf/7zPPHEExx88MH88pe/5LzzzmPt2rU8+uijjBkzhp/85Cedr3/66ae55557+O53v8s3vvENTj31VB5++GHOPfdc/vKXvwAwffp0mpubAWhpaaGtrY1du3axZs0ampqaALj22mtpaWnhscce4/e//z2PPfZY5z7q6+tZs2YNc+bM4cILL+SHP/wh69atY9GiRVxyySUD+O5IqgWD9gNTg0VjYyMTJ04EYMqUKWzatIn169fzla98hVdeeYW2tjbOOuusztfPnj2bIUOGALB69Wpuu+02AGbOnMkhhxzSOc66devYsWMHBxxwAJMnT6alpYXm5ubOI/3ly5ezePFidu/ezYsvvsiTTz7J+PHjAfjkJz8JQFtbGw888ACzZ8/u3P8bb7xR5XdEUq2pmZOxRTnggAM6/3/IkCG89tprzJ8/n1/96ldMmDCBJUuWcN9993W+ZtiwYf/w/fta2lhXV0dDQwM33XQTJ598MuPHj+fee+/lmWeeYcyYMfzpT39i0aJFrF27lkMOOYT58+f/wzr4t/fx1ltvcfDBB/PII49U+KeWlBN79H2wY8cO3vve97Jr1y6WLl3a5eumT5/e+fxdd93Fyy+//A/PLVq0iOnTp9PU1MT111/PxIkTiQheffVVhg0bxkEHHcTmzZu566679jn+iBEjaGxs5NZbbwXaPwX76KOPVvAnlZSDmjmiL2c55ED55je/yYknnsiRRx7JuHHj2LFjxz5fd9VVVzF37lwmT57MaaedxhFHHNH5XFNTE9deey0nnXQSw4YNo76+vrM/P2HCBCZNmsTYsWM56qijOOWUU7qsZenSpVx88cVcc8017Nq1izlz5jBhwoTK/sCSatqgvfHIU089xZgxYwqqKD++n1KZamgdfU3ceKQWVt1IUq3zEgiSlDlPxkpS5mrmZKxUU2qoz6v8eUQvSZkz6CUpc7XTuqn0n8IV/lO3ubmZiy66iLq6OpYtW8bDDz/Mpz71qYruQ5L6wiP6Clm6dCmXX345jzzyCJs3b+aWW26p6PgpJd56662KjinpncGg78bf/vY3Zs6cyYQJEzj++OP5xS9+wapVq5g0aRLjxo3js5/9LG+88QY33ngjy5cv5+qrr+b8889n4cKFNDc3M3HiRL7//e/z0Y9+tPPqk5MmTeLqq68G4Ktf/So33ngjbW1tfPjDH2by5MmMGzeOX//610D7jU/GjBnDJZdcwuTJk3nuuef43e9+x0knncTkyZOZPXs2bW1thb0/kmpDoa2biJgFzDr66KOLLKNLv/3tb3nf+97HnXe2391q+/btHH/88axatYrRo0fz6U9/muuuu44vfOELrFmzhnPOOYdPfOIT3HfffSxatIjf/OY3QPsVJZubm2loaGDo0KHcf//9AKxZs4Z58+ZRX1/P7bffzogRI9i6dSvTpk3j3HPPBWDDhg3cdNNN/PjHP2br1q1cc8013HPPPQwbNoxvf/vbfO973+NrX/taMW+QpJrgB6a6MW7cOO655x6uuOIKmpub2bRpE42NjYwePRqAz3zmM6xevbrHcZqamli9ejVr1qxh5syZtLW1sXPnTjZt2sSxxx5LSokrr7yS8ePH85GPfITnn3+ezZs3A3DkkUcybdo0AB566CGefPJJTjnlFCZOnMjPfvYz/vznP1fvDZCUhdo5GVuA0aNHs27dOlauXMmXv/xlzjzzzD6NM3XqVFpaWjjqqKM444wz2Lp1KzfccANTpkwB2vv7W7ZsYd26dZ2XMH77ssR7XvY4pcQZZ5zBsmXL+v/DSXrHsEffjRdeeIEDDzyQefPmcfnll/PAAw+wadMmNm7cCMDNN9/Maaed9k/fN3z48H+4ouX+++/P4YcfzvLly5k2bRpNTU0sWrSo82qV27dv5z3veQ91dXXce++9XR6lT5s2jfvvv79z/zt37uTpp5+u9I8tKTO1c0RfwCf/Hn/8cb70pS+x3377UVdXx3XXXcf27duZPXs2u3fvZurUqVx00UX/9H3jx49n6NChTJgwgfnz53PZZZfR1NTEqlWrOPDAA2lqaqK1tbUz6M8//3xmzZpFqVRi4sSJfOADH9hnPSNHjmTJkiXMnTu3805S11xzTWcrSZL2xcsUv0P4fg4wL4FQu2po7mriMsWSpOoz6CUpc4M66AdDWykHvo/SO9ugDfr6+nq2bdtmSPVTSolt27ZRX19fdCmSCjJoV92MGjWK1tZWtmzZUnQpNa++vp5Ro0YVXYakggzaoK+rq6OxsbHoMiSp5lU86CNiP+CbwAigJaX0s0rvQ5JUvrJ69BHx04j4a0Ss32v7jIjYEBEbI2Jhx+aPAYcBu4DWypYrSeqtck/GLgFm7LkhIoYAPwLOBo4D5kbEccCxwIMppS8CF1euVElSX5QV9Cml1cBLe20+AdiYUno2pfR34Oe0H823Ai93vObNrsaMiAsjoiUiWjzhKknV05/llYcBz+3xuLVj223AWRHxQ6DLa/imlBanlEoppdLIkSP7UYYkqTv9ORkb+9iWUko7gQvKGmCQ33hEknLQnyP6VuDwPR6PAl7ozQCD/cYjkpSD/gT9WuCYiGiMiP2BOcAdlSlLklQp5S6vXAY8CBwbEa0RcUFKaTdwKXA38BSwPKX0RG92HhGzImLx9u1eYlWSqqWsHn1KaW4X21cCK/u685TSCmBFqVRa0NcxJEndG7QXNZMkVUahQW/rRpKqr9Cgd9WNJFWfrRtJypytG0nKnK0bScqcrRtJypxBL0mZs0cvSZmzRy9JmbN1I0mZM+glKXP9ufGIBsLXB7Ct9XXPlUg58mSsJGXOk7GSlDl79JKUOYNekjJn0EtS5gx6Scqcq24kKXOuupGkzNm6kaTMGfSSlDmDXpIyZ9BLUuYMeknKnEEvSZkz6CUpc35gSpIy5wemJClztm4kKXMGvSRlzqCXpMwZ9JKUOYNekjJn0EtS5gx6ScqcQS9JmTPoJSlzBr0kZa7iQR8RH4yI5oi4PiI+WOnxJUm9U1bQR8RPI+KvEbF+r+0zImJDRGyMiIUdmxPQBtQDrZUtV5LUW+Ue0S8BZuy5ISKGAD8CzgaOA+ZGxHFAc0rpbOAK4BuVK1WS1BdlBX1KaTXw0l6bTwA2ppSeTSn9Hfg58LGU0lsdz78MHNDVmBFxYUS0RETLli1b+lC6JKkc/enRHwY8t8fjVuCwiDgvIv43cDPwv7r65pTS4pRSKaVUGjlyZD/KkCR1Z2g/vjf2sS2llG4DbitrgIhZwKyjjz66H2VIkrrTnyP6VuDwPR6PAl7ozQDeeESSqq8/Qb8WOCYiGiNif2AOcEdlypIkVUq5yyuXAQ8Cx0ZEa0RckFLaDVwK3A08BSxPKT3Rm517z1hJqr6yevQppbldbF8JrOzrzlNKK4AVpVJpQV/HkCR1z0sgSFLmCg16WzeSVH2FBr2rbiSp+mzdSFLmbN1IUuZs3UhS5mzdSFLmDHpJypw9eknKnD16ScqcrRtJypxBL0mZM+glKXOejJWkzHkyVpIyZ+tGkjJn0EtS5gx6ScqcQS9JmXPVjSRlzlU3kpQ5WzeSlDmDXpIyZ9BLUuYMeknKnEEvSZkz6CUpcwa9JGXOD0xJUub8wJQkZc7WjSRlzqCXpMwZ9JKUOYNekjJn0EtS5gx6ScqcQS9JmTPoJSlzBr0kZc6gl6TMVSXoI2JYRKyLiHOqMb4kqXxlBX1E/DQi/hoR6/faPiMiNkTExohYuMdTVwDLK1moJKlvyj2iXwLM2HNDRAwBfgScDRwHzI2I4yLiI8CTwOYK1ilJ6qOh5bwopbQ6Ihr22nwCsDGl9CxARPwc+BjwH4BhtIf/axGxMqX01t5jRsSFwIUARxxxRF/rlyT1oKyg78JhwHN7PG4FTkwpXQoQEfOBrfsKeYCU0mJgMUCpVEr9qEOS1I3+BH3sY1tnYKeUlvRjbElShfRn1U0rcPgej0cBL/RmAO8wJUnV15+gXwscExGNEbE/MAe4ozcDeIcpSaq+cpdXLgMeBI6NiNaIuCCltBu4FLgbeApYnlJ6ojc794hekqqv3FU3c7vYvhJY2dedp5RWACtKpdKCvo4hSeqel0CQpMwVGvS2biSp+goNek/GSlL12bqRpMzZupGkzNm6kaTM2bqRpMwZ9JKUOXv0kpQ5e/SSlDlbN5KUOYNekjJn0EtS5jwZK0mZ82SsJGXO1o0kZc6gl6TMGfSSlDmDXpIyZ9BLUuZcXilJmXN5pSRlztaNJGXOoJekzBn0kpQ5g16SMmfQS1LmDHpJypzr6CUpc66jl6TM2bqRpMwZ9JKUOYNekjI3tOgCJNWehoV3Dti+Nn1r5oDtK1ce0UtS5gx6ScqcQS9JmTPoJSlzBr0kZc6gl6TMVTzoI2JMRFwfEf8aERdXenxJUu+UFfQR8dOI+GtErN9r+4yI2BARGyNiIUBK6amU0kXAvwClypcsSeqNco/olwAz9twQEUOAHwFnA8cBcyPiuI7nzgXWAKsqVqkkqU/KCvqU0mrgpb02nwBsTCk9m1L6O/Bz4GMdr78jpXQycH5XY0bEhRHREhEtW7Zs6Vv1kqQe9ecSCIcBz+3xuBU4MSI+CJwHHACs7OqbU0qLgcUApVIp9aMOSVI3+hP0sY9tKaV0H3BfP8aVJFVQf1bdtAKH7/F4FPBCbwbwDlOSVH39Cfq1wDER0RgR+wNzgDt6M4B3mJKk6it3eeUy4EHg2IhojYgLUkq7gUuBu4GngOUppSd6s3OP6CWp+srq0aeU5naxfSXdnHAtY9wVwIpSqbSgr2NIkrrnJRAkKXOFBr2tG0mqvkKD3pOxklR9tm4kKXMGvSRlzh69JGXOHr0kZa4/17oZFBoW3jmg+9v0rZkDur+cOXfSwLBHL0mZs0cvSZmzRy9JmbN1I0mZM+glKXP26CUpc/boJSlztm4kKXMGvSRlLlJKRddARGwB/lx0HVX2bmBr0UWo15y32vVOmLsjU0oje3rRoAj6d4KIaEkplYquQ73jvNUu5+7f2bqRpMwZ9JKUOYN+4CwuugD1ifNWu5y7DvboJSlzHtFLUuYMeknKnEEvSZkz6CUpcwa9JGXOoB9AEfG1omtQ9yLirIi4ICIa9tr+2WIqUjmct+4Z9APrPxddgLoWEf8D+O/AOGBVRPyXPZ6+tJiq1BPnrWeuo6+wiHi1q6eAd6WUhg5kPSpfRDwOTEop7Y6Ig4FbgA0ppcsi4uGU0qSCS9Q+OG8984i+8l4BjkkpjdjrazjwYtHFqVtDU0q7AVJKrwCzgBERcSuwf6GVqTvOWw8M+sr7P8CRXTx3y0AWol57JiJOe/tBSunNlNIFwAZgTHFlqQfOWw9s3UgdIuJdACml1/bx3GEppecHvir1xHnrmUf0AyAi3h8RX4mI9UXXoq6llF7bOyzenjvg7oLKUg+ct54Z9FUSEe+NiC9ExL8BTwBDgLkFl6UyOHe1yXnrmq2bCouIBbT/co0Clnd8/Tql1FhoYeqRc1ebnLeeGfQVFhF/Bx4E/ltKqaVj27MppaOKrUw9ce5qk/PWM9d0V977gNnA9yLiP9F+dFFXbEkqk3NXm5y3HnhEX0URMQqYQ/uflQcCt6eUriy2KpXDuatNztu+GfQDJCKOBeaklL5RdC3qHeeuNjlv/85VNwMkpbQBeKDoOtR7zt3gFxEjIuL9e27rmLfbCyppUDHoB9ZPii5AfebcDVIR8S/AH4BfRsQTETF1j6eXFFPV4OLJ2AqLiDu6ego4dCBrUe84dzXrSmBKSunFiDgBuDkirkwp3Ub73L3jGfSV1wTMA9r22h7ACQNfjnrBuatNQ1NKLwKklP4tIk4HftNxYtaTkBj01fAQsDOl9Pu9n4iIDQXUo/I5d7Xp1Yh4f0rpGYCOI/vTae/Pjy22tMHBHn3l/Q5oi4h/+kc0pTS9gHpUPueuNt0K/Mc95y2l9CowA/AOU3hEXw2HAf8T+EBEPEb7ao37gQdTSi8VWpl64tzVpu7mbWmhlQ0SrqOvkojYHygBJwMndXy9klI6rtDC1CPnrjY5b13ziL563gWMAA7q+HoBeLzQilQu5642OW9d8Ii+wiJiMe0ngHYA/5f2E3wPpZReLrQw9ci5q03OW888GVt5RwAHAP8PeB5opf0+shr8nLva5Lz1wCP6KoiIoP0I4+SOr+OBl2g/OXRVkbWpe85dbXLeumfQV1HHBzZOof0X7xzg0JTSwcVWpXI4d7XJeds3g77CIuK/0v5Ldgqwi45lXh3/fTyl9FaB5akbzl1tct565qqbymsA/hW47O2PZatmNODc1aIGnLdueUQvSZlz1Y0kZc6gl6TMGfSSlDmDXpIy9/8BEx2mLTWmH04AAAAASUVORK5CYII=\n",
-+ "text/plain": [
-+ "<matplotlib.figure.Figure at 0x7f91169898>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "%matplotlib inline\n",
-+ "import matplotlib.pyplot as plt\n",
-+ "\n",
-+ "hw_bars = [hw_timeW1A1, hw_timeW1A2, hw_timeW2A2]\n",
-+ "sw_bars = [sw_timeW1A1, sw_timeW1A2, sw_timeW2A2]\n",
-+ "\n",
-+ "x_pos = np.arange(3)\n",
-+ "fig, ax = plt.subplots()\n",
-+ "ax.bar(x_pos - 0.25, hw_bars, 0.25)\n",
-+ "ax.bar(x_pos + 0.25, sw_bars, 0.25)\n",
-+ "ax.set_xticklabels([\"W1A1\",\"W1A2\",\"W2A2\"], rotation='vertical')\n",
-+ "ax.set_xticks(x_pos)\n",
-+ "plt.legend([\"hardware\",\"software\"])\n",
-+ "plt.semilogy()\n",
-+ "plt.show()"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "### Class Rankings\n",
-+ "\n",
-+ "The rankings are different distributed to each class for each network:\n",
-+ "\n",
-+ "#### W1A1:\n",
-+ "\n",
-+ "The rankings here are showed in units of 200 for better visualization."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 15,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<matplotlib.figure.Figure at 0x7f8453c0f0>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "%matplotlib inline\n",
-+ "import matplotlib.pyplot as plt\n",
-+ "\n",
-+ "x_pos = np.arange(len(rankingsW1A1))\n",
-+ "fig, ax = plt.subplots()\n",
-+ "ax.bar(x_pos, (rankingsW1A1/200), 0.7)\n",
-+ "ax.set_xticklabels(hw_classifier.classes, rotation='vertical')\n",
-+ "ax.set_xticks(x_pos)\n",
-+ "ax.set\n",
-+ "plt.show()"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "#### W1A2:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 16,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<matplotlib.figure.Figure at 0x7f844a7550>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "x_pos = np.arange(len(rankingsW1A2))\n",
-+ "fig, ax = plt.subplots()\n",
-+ "ax.bar(x_pos, rankingsW1A2, 0.7)\n",
-+ "ax.set_xticklabels(hw_classifier.classes, rotation='vertical')\n",
-+ "ax.set_xticks(x_pos)\n",
-+ "ax.set\n",
-+ "plt.show()"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "#### W2A2:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 17,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<matplotlib.figure.Figure at 0x7f842d5320>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "x_pos = np.arange(len(rankingsW2A2))\n",
-+ "fig, ax = plt.subplots()\n",
-+ "ax.bar(x_pos, rankingsW2A2, 0.7)\n",
-+ "ax.set_xticklabels(hw_classifier.classes, rotation='vertical')\n",
-+ "ax.set_xticks(x_pos)\n",
-+ "ax.set\n",
-+ "plt.show()"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 6. Reset the device"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 18,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "from pynq import Xlnk\n",
-+ "\n",
-+ "xlnk = Xlnk()\n",
-+ "xlnk.xlnk_reset()"
-+ ]
-+ }
-+ ],
-+ "metadata": {
-+ "kernelspec": {
-+ "display_name": "Python 3",
-+ "language": "python",
-+ "name": "python3"
-+ },
-+ "language_info": {
-+ "codemirror_mode": {
-+ "name": "ipython",
-+ "version": 3
-+ },
-+ "file_extension": ".py",
-+ "mimetype": "text/x-python",
-+ "name": "python",
-+ "nbconvert_exporter": "python",
-+ "pygments_lexer": "ipython3",
-+ "version": "3.7.0"
-+ }
-+ },
-+ "nbformat": 4,
-+ "nbformat_minor": 1
-+}
-diff --git a/notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10_Testset-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10_Testset-checkpoint.ipynb
-new file mode 100644
-index 0000000..94b9c8d
---- /dev/null
-+++ b/notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10_Testset-checkpoint.ipynb
-@@ -0,0 +1,345 @@
-+{
-+ "cells": [
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "# Cifar-10 testset classification on Pynq\n",
-+ "\n",
-+ "This notebook covers how to use low quantized neural networks on Pynq. \n",
-+ "It shows an example how CIFAR-10 testset can be inferred utilizing different precision neural networks inspired at VGG-16, featuring 6 convolutional layers, 3 max pool layers and 3 fully connected layers. There are 3 different precision available:\n",
-+ "\n",
-+ "- CNVW1A1 using 1 bit weights and 1 bit activation,\n",
-+ "- CNVW1A2 using 1 bit weights and 2 bit activation and\n",
-+ "- CNVW2A2 using 2 bit weights and 2 bit activation"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 1. Import the package"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 1,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "application/javascript": [
-+ "\n",
-+ "require(['notebook/js/codecell'], function(codecell) {\n",
-+ " codecell.CodeCell.options_default.highlight_modes[\n",
-+ " 'magic_text/x-csrc'] = {'reg':[/^%%microblaze/]};\n",
-+ " Jupyter.notebook.events.one('kernel_ready.Kernel', function(){\n",
-+ " Jupyter.notebook.get_cells().map(function(cell){\n",
-+ " if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;\n",
-+ " });\n",
-+ "});\n"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "import bnn"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 2. The Cifar-10 testset\n",
-+ "\n",
-+ "This notebook required the testset from https://www.cs.toronto.edu/~kriz/cifar.html which contains 10000 images that can be processed by CNV network directly without preprocessing.\n",
-+ "\n",
-+ "You can download the cifar-10 set from given url via wget and unzip it to a folder on Pynq as shown below.\n",
-+ "This may take a while as the training set is included in the archive as well.\n",
-+ "After that we need to read the labels from the binary file to be able to compare the results later:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 2,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "#get\n",
-+ "!wget https://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz\n",
-+ "#unzip\n",
-+ "!tar -xf cifar-10-binary.tar.gz\n",
-+ "\n",
-+ "labels = []\n",
-+ "with open(\"/usr/share/notebooks/bnn_examples/cifar-10-batches-bin/test_batch.bin\", \"rb\") as file:\n",
-+ " #for 10000 pictures\n",
-+ " for i in range(10000):\n",
-+ " #read first byte -> label\n",
-+ " labels.append(int.from_bytes(file.read(1), byteorder=\"big\"))\n",
-+ " #read image (3072 bytes) and do nothing with it\n",
-+ " file.read(3072)\n",
-+ " file.close()"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 3. Start inference\n",
-+ "\n",
-+ "The inference can be performed with different precision for weights and activation. Creating a specific Classifier will automatically download the correct bitstream onto PL and load the weights and thresholds trained on the specific dataset. \n",
-+ "\n",
-+ "Thus that images are already Cifar-10 preformatted no preprocessing is required. Therefor the functions `classify_cifar` or `classify_cifars` can be used. When classifying non Cifar-10 formatted pictures refer to `classify_image` or `classify_images` (see Notebook CNV-QNN_Cifar10).\n",
-+ "\n",
-+ "### Case 1: \n",
-+ "#### W1A1 - 1 bit weight and 1 activation\n",
-+ "\n",
-+ "Instantiate the classifier:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 3,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "hw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A1,'cifar10',bnn.RUNTIME_HW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "And start the inference on Cifar-10 preformatted multiple images:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 4,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 1092898.03 microseconds, 109.29 usec per image\n",
-+ "Classification rate: 9149.98 images per second\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "result_W1A1 = hw_classifier.classify_cifars(\"/usr/share/notebooks/bnn_examples/cifar-10-batches-bin/test_batch.bin\")\n",
-+ "time_W1A1 = hw_classifier.usecPerImage"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "### Case 2:\n",
-+ "#### W1A2 - 1 bit weight and 2 activation"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 5,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "hw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A2,'cifar10',bnn.RUNTIME_HW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 6,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 1092836.00 microseconds, 109.28 usec per image\n",
-+ "Classification rate: 9150.50 images per second\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "result_W1A2 = hw_classifier.classify_cifars(\"/usr/share/notebooks/bnn_examples/cifar-10-batches-bin/test_batch.bin\")\n",
-+ "time_W1A2 = hw_classifier.usecPerImage"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "### Case 3:\n",
-+ "#### W2A2 - 2 bit weight and 2 activation"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 7,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "hw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW2A2,'cifar10',bnn.RUNTIME_HW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 8,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 3875513.92 microseconds, 387.55 usec per image\n",
-+ "Classification rate: 2580.30 images per second\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "result_W2A2 = hw_classifier.classify_cifars(\"/usr/share/notebooks/bnn_examples/cifar-10-batches-bin/test_batch.bin\")\n",
-+ "time_W2A2 = hw_classifier.usecPerImage"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 4. Summary"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "### Inference time\n",
-+ "\n",
-+ "Results can be visualized using `matplotlib`. Here the comparison of hardware execution time is plotted in microseconds per Image:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 9,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<matplotlib.figure.Figure at 0x7f788081d0>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "%matplotlib inline\n",
-+ "import matplotlib.pyplot as plt\n",
-+ "\n",
-+ "height = [time_W1A1, time_W1A2, time_W2A2]\n",
-+ "bars = ('W1A1', 'W1A2', 'W2A2')\n",
-+ "\n",
-+ "y_pos=range(3)\n",
-+ "plt.bar(y_pos, height, 0.5)\n",
-+ "plt.xticks(y_pos, bars)\n",
-+ "\n",
-+ "plt.show()"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "### Accuracy\n",
-+ "\n",
-+ "The accuracy on the testset can be calculated by comparing the inferred labels against the one read at the beginning:\n"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 10,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Accuracy W1A1: 79.22 %\n",
-+ "Accuracy W1A2: 82.66 %\n",
-+ "Accuracy W2A2: 84.29 %\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "#compare against labels\n",
-+ "countRight = 0\n",
-+ "for idx in range(len(labels)):\n",
-+ " if labels[idx] == result_W1A1[idx]:\n",
-+ " countRight += 1\n",
-+ "accuracyW1A1 = countRight*100/len(labels)\n",
-+ "\n",
-+ "countRight = 0\n",
-+ "for idx in range(len(labels)):\n",
-+ " if labels[idx] == result_W1A2[idx]:\n",
-+ " countRight += 1\n",
-+ "accuracyW1A2 = countRight*100/len(labels)\n",
-+ "\n",
-+ "countRight = 0\n",
-+ "for idx in range(len(labels)):\n",
-+ " if labels[idx] == result_W2A2[idx]:\n",
-+ " countRight += 1\n",
-+ "accuracyW2A2 = countRight*100/len(labels)\n",
-+ "\n",
-+ "print(\"Accuracy W1A1: \",accuracyW1A1,\"%\")\n",
-+ "print(\"Accuracy W1A2: \",accuracyW1A2,\"%\")\n",
-+ "print(\"Accuracy W2A2: \",accuracyW2A2,\"%\")"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 6. Reset the device"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 11,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "from pynq import Xlnk\n",
-+ "\n",
-+ "xlnk = Xlnk()\n",
-+ "xlnk.xlnk_reset()"
-+ ]
-+ }
-+ ],
-+ "metadata": {
-+ "kernelspec": {
-+ "display_name": "Python 3",
-+ "language": "python",
-+ "name": "python3"
-+ },
-+ "language_info": {
-+ "codemirror_mode": {
-+ "name": "ipython",
-+ "version": 3
-+ },
-+ "file_extension": ".py",
-+ "mimetype": "text/x-python",
-+ "name": "python",
-+ "nbconvert_exporter": "python",
-+ "pygments_lexer": "ipython3",
-+ "version": "3.7.0"
-+ }
-+ },
-+ "nbformat": 4,
-+ "nbformat_minor": 1
-+}
-diff --git a/notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10_Webcam-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10_Webcam-checkpoint.ipynb
-new file mode 100644
-index 0000000..ffb5e6f
---- /dev/null
-+++ b/notebooks/.ipynb_checkpoints/CNV-QNN_Cifar10_Webcam-checkpoint.ipynb
-@@ -0,0 +1,357 @@
-+{
-+ "cells": [
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "# QNN on Pynq\n",
-+ "\n",
-+ "This notebook covers how to use low quantized neural networks on Pynq. \n",
-+ "It shows an example of webcam based Cifar-10 recognition using CNV network inspired at VGG-16, featuring 6 convolutional layers, 3 max pool layers and 3 fully connected layers. There are 3 different precision available:\n",
-+ "\n",
-+ "- CNVW1A1 using 1 bit weights and 1 bit activation,\n",
-+ "- CNVW1A2 using 1 bit weights and 2 bit activation and\n",
-+ "- CNVW2A2 using 2 bit weights and 2 activation\n",
-+ "\n",
-+ "All of them can be performed in pure software and hardware accelerated environment.\n",
-+ "In order to reproduce this notebook, you will need an external USB Camera connected to the PYNQ Board."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 1,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "application/javascript": [
-+ "\n",
-+ "require(['notebook/js/codecell'], function(codecell) {\n",
-+ " codecell.CodeCell.options_default.highlight_modes[\n",
-+ " 'magic_text/x-csrc'] = {'reg':[/^%%microblaze/]};\n",
-+ " Jupyter.notebook.events.one('kernel_ready.Kernel', function(){\n",
-+ " Jupyter.notebook.get_cells().map(function(cell){\n",
-+ " if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;\n",
-+ " });\n",
-+ "});\n"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "import bnn"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 1. Load image from the camera\n",
-+ "\n",
-+ "The image is captured from the external USB camera and shown:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 2,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAAEgCAIAAAAFWz53AAEAAElEQVR4nDz92ZN0yXUfCJ7ju98t9ty+taqAKgAEJVGU2mysRz1/c9u8tplmerrVbIKSAJAAiQIKqPqW3CJjubvvPg9RVDzkS5pFZIZfP+f4b3Ps9h0gJBOIYICQMyBCSjk4J6QEBGcsJYQKnkNCRrpDJ5VERCHF0I6EUYBU1MXQj1Vdti8DACLFZlFAgmlyJGVVSkhgfXDWIyfVQgLC08ORELLdLmdjzWAWi4V1fr9/ur29pRSt9ef2uNts+65NPuacF0WVcx7NTCj1wSeA61c3AJB9enh6vHtzBwButMeXl9VieTweN5sNIkbnKaUhRKXkYf9SVsU///73Ssuvv/6GlcX3f/zj7e3t09PzZrPpzu3tq9sfvv+0WC/PXffmzWsA6Lt+moe7u7vjy6GoSqHV/cNDjFlrbYwJPtRVM88zQxJjvL25YVKcDi/Gmt1mO8+m7U9a68ViwaT67X//r3VVxxjfvX/38Px4c3P98vTinOdKOud3yy2lRAs1DWN07mW/V1K9vLzstjuppdJ6MvNmexVzenx8LOoq5bxarWKMKaXD4cA5H818fX399PR0dXXFGPPenw/n5bKhBI7Hl1W1nueZcUkIuf/4ebPdImK1Wnz33Z9evXsFlCAnH374ICsppXLRNAWXEse+zclBwq4dMJGiaJTSRdWcT73S0gbnknXWVlXlBjt3I8/0an1Ngf7z7//w059/c+zapqkIx+7cBWdfnh//+pd//fj0jIjT6Far1f3956+++urTp4eU0/t377q+FZx33fnPf/muaWoC8O792+fH++P5rGT1+ot31jgi2OPDHij593/7H3/1q199/c1PHh/vhRDOWcU45xwy5JTMZKZpDCFst1shlZnnpln88Y/f3t29ZpwjYl1VZpzrunj4+On29urXv/7H29c31rp26qQsJzvf3t51XV+q8uH+/vXru8fHx916Z617fHi4u71bNPU0jtWy/vjhw9v37xAREe8f7gutQghCcy7E49Nj3w+aiXfv3+WMv/nH3/6H/+k//Pn7v+hywRirq0oq+d//7//+85//3Duji+K3//Brxsl6s5nmiRACAEDI4XR8++7t1fX1pw8fbu/uPn76aK0r6lLrIlj7u3/553dv30utlsv1f/kv/4culQ/2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\n",
-+ "text/plain": [
-+ "<PIL.Image.Image image mode=RGB size=352x288 at 0x7F89BC5390>"
-+ ]
-+ },
-+ "execution_count": 2,
-+ "metadata": {},
-+ "output_type": "execute_result"
-+ }
-+ ],
-+ "source": [
-+ "import cv2\n",
-+ "from PIL import Image as PIL_Image\n",
-+ "from PIL import ImageEnhance\n",
-+ "from PIL import ImageOps\n",
-+ "\n",
-+ "# says we capture an image from a webcam\n",
-+ "cap = cv2.VideoCapture(1) \n",
-+ "_ , cv2_im = cap.read()\n",
-+ "cv2_im = cv2.cvtColor(cv2_im,cv2.COLOR_BGR2RGB)\n",
-+ "img = PIL_Image.fromarray(cv2_im)\n",
-+ "\n",
-+ "#original captured image\n",
-+ "#orig_img_path = '/usr/share/notebooks/bnn_examples/pictures/webcam_cifar-10.jpg'\n",
-+ "#img = PIL_Image.open(orig_img_path) \n",
-+ "\n",
-+ "# The enhancement values (contrast and brightness) depend on backgroud, external lights etc\n",
-+ "bright = ImageEnhance.Brightness(img) \n",
-+ "img = bright.enhance(0.95) \n",
-+ "\n",
-+ "img\n"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 2. Hardware Inference\n",
-+ "\n",
-+ "The inference can be performed with different precision for weights and activation. Creating a specific Classifier will automatically download the correct bitstream onto PL and load the specified parameters."
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "### Case 1:\n",
-+ "\n",
-+ "#### W1A1 - 1 bit weights and 1 activation"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 3,
-+ "metadata": {
-+ "scrolled": false
-+ },
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 527.00 microseconds\n",
-+ "Classification rate: 1897.53 images per second\n",
-+ "Inferred class: 4\n",
-+ "Class name: Deer\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "hw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A1,\"cifar10\",bnn.RUNTIME_HW)\n",
-+ "class_ranksW1A1=hw_classifier.classify_image_details(img)\n",
-+ "inferred_class=class_ranksW1A1.argmax()\n",
-+ "print(\"Inferred class: {0}\".format(inferred_class))\n",
-+ "print(\"Class name: {0}\".format(hw_classifier.class_name(inferred_class)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "### Case 2:\n",
-+ "\n",
-+ "#### W1A2 - 1 bit weight and 2 activation"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 4,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 542.00 microseconds\n",
-+ "Classification rate: 1845.02 images per second\n",
-+ "Inferred class: 4\n",
-+ "Class name: Deer\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "hw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A2,\"cifar10\",bnn.RUNTIME_HW)\n",
-+ "class_ranksW1A2=hw_classifier.classify_image_details(img)\n",
-+ "inferred_class=class_ranksW1A2.argmax()\n",
-+ "print(\"Inferred class: {0}\".format(inferred_class))\n",
-+ "print(\"Class name: {0}\".format(hw_classifier.class_name(inferred_class)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "### Case 3:\n",
-+ "\n",
-+ "#### W2A2 - 2 bit weights and 2 activation"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 5,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 1622.00 microseconds\n",
-+ "Classification rate: 616.52 images per second\n",
-+ "Inferred class: 4\n",
-+ "Class name: Deer\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "hw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW2A2,\"cifar10\",bnn.RUNTIME_HW)\n",
-+ "class_ranksW2A2=hw_classifier.classify_image_details(img)\n",
-+ "inferred_class=class_ranksW2A2.argmax()\n",
-+ "print(\"Inferred class: {0}\".format(inferred_class))\n",
-+ "print(\"Class name: {0}\".format(hw_classifier.class_name(inferred_class)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 3. Summary\n",
-+ "\n",
-+ "### Rankings\n",
-+ "\n",
-+ "The rankings can be visualized using `matplotlib`:\n",
-+ "\n",
-+ "#### W1A1:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 6,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<matplotlib.figure.Figure at 0x7f78ffb780>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "%matplotlib inline\n",
-+ "import matplotlib.pyplot as plt\n",
-+ "import numpy as np\n",
-+ "\n",
-+ "x_pos = np.arange(len(class_ranksW1A1))\n",
-+ "fig, ax = plt.subplots()\n",
-+ "ax.bar(x_pos, (class_ranksW1A1), 0.7)\n",
-+ "ax.set_xticklabels(hw_classifier.classes, rotation='vertical')\n",
-+ "ax.set_xticks(x_pos)\n",
-+ "ax.set\n",
-+ "plt.show()"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "#### W1A2:\n"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 7,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<matplotlib.figure.Figure at 0x7f78ffbc50>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "x_pos = np.arange(len(class_ranksW1A2))\n",
-+ "fig, ax = plt.subplots()\n",
-+ "ax.bar(x_pos, (class_ranksW1A2), 0.7)\n",
-+ "ax.set_xticklabels(hw_classifier.classes, rotation='vertical')\n",
-+ "ax.set_xticks(x_pos)\n",
-+ "ax.set\n",
-+ "plt.show()"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "#### W2A2:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 8,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<matplotlib.figure.Figure at 0x7f704f7dd8>"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "x_pos = np.arange(len(class_ranksW2A2))\n",
-+ "fig, ax = plt.subplots()\n",
-+ "ax.bar(x_pos, (class_ranksW2A2), 0.7)\n",
-+ "ax.set_xticklabels(hw_classifier.classes, rotation='vertical')\n",
-+ "ax.set_xticks(x_pos)\n",
-+ "ax.set\n",
-+ "plt.show()"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 4. Reset the device\n"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 9,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "from pynq import Xlnk\n",
-+ "\n",
-+ "xlnk = Xlnk()\n",
-+ "xlnk.xlnk_reset()"
-+ ]
-+ }
-+ ],
-+ "metadata": {
-+ "celltoolbar": "Raw Cell Format",
-+ "kernelspec": {
-+ "display_name": "Python 3",
-+ "language": "python",
-+ "name": "python3"
-+ },
-+ "language_info": {
-+ "codemirror_mode": {
-+ "name": "ipython",
-+ "version": 3
-+ },
-+ "file_extension": ".py",
-+ "mimetype": "text/x-python",
-+ "name": "python",
-+ "nbconvert_exporter": "python",
-+ "pygments_lexer": "ipython3",
-+ "version": "3.7.0"
-+ }
-+ },
-+ "nbformat": 4,
-+ "nbformat_minor": 1
-+}
-diff --git a/notebooks/.ipynb_checkpoints/LFC-BNN_Chars_Webcam-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/LFC-BNN_Chars_Webcam-checkpoint.ipynb
-new file mode 100644
-index 0000000..cf520b2
---- /dev/null
-+++ b/notebooks/.ipynb_checkpoints/LFC-BNN_Chars_Webcam-checkpoint.ipynb
-@@ -0,0 +1,383 @@
-+{
-+ "cells": [
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "# BNN on Pynq\n",
-+ "\n",
-+ "This notebook covers how to use Binary Neural Networks on Pynq. \n",
-+ "It shows an example of handwritten character recognition using a binarized neural network composed of 4 fully connected layers with 1024 neurons each, trained on the NIST database of handwritten characters. \n",
-+ "In order to reproduce this notebook, you will need an external USB Camera connected to the PYNQ Board."
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 1. Import the package"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 1,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "application/javascript": [
-+ "\n",
-+ "require(['notebook/js/codecell'], function(codecell) {\n",
-+ " codecell.CodeCell.options_default.highlight_modes[\n",
-+ " 'magic_text/x-csrc'] = {'reg':[/^%%microblaze/]};\n",
-+ " Jupyter.notebook.events.one('kernel_ready.Kernel', function(){\n",
-+ " Jupyter.notebook.get_cells().map(function(cell){\n",
-+ " if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;\n",
-+ " });\n",
-+ "});\n"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "import bnn"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 2. Checking available parameters\n",
-+ "\n",
-+ "By default the following trained parameters are available for LFC network using 1 bit for weights and activation:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 2,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "['chars_merged', 'mnist']\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "print(bnn.available_params(bnn.NETWORK_LFCW1A1))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "Two sets of weights are available for the LFCW1A1 network, the MNIST and one for character recognition (NIST)."
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 3. Instantiate the classifier\n",
-+ "\n",
-+ "Creating a classifier will automatically download the correct bitstream onto the device and load the weights trained on the specified dataset. This example works with the LFCW1A1 to recognize handwritten characters.\n",
-+ "Passing a runtime attribute will allow to choose between hardware accelerated or pure software inference."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 3,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "hw_classifier = bnn.LfcClassifier(bnn.NETWORK_LFCW1A1,\"chars_merged\",bnn.RUNTIME_HW)\n",
-+ "sw_classifier = bnn.LfcClassifier(bnn.NETWORK_LFCW1A1,\"chars_merged\",bnn.RUNTIME_SW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 4,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'd', 'e', 'f', 'g', 'h', 'n', 'q', 'r', 't']\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "print(hw_classifier.classes)"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 4. Load the image from the camera\n",
-+ "\n",
-+ "The image is captured from the external USB camera and stored locally. The image is then enhanced in contrast and brightness to remove background noise. \n",
-+ "The resulting image should show the digit on a white background."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 5,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<PIL.Image.Image image mode=L size=512x448 at 0x7F4FA47978>"
-+ ]
-+ },
-+ "execution_count": 5,
-+ "metadata": {},
-+ "output_type": "execute_result"
-+ }
-+ ],
-+ "source": [
-+ "import cv2\n",
-+ "from PIL import Image as PIL_Image\n",
-+ "from PIL import ImageEnhance\n",
-+ "from PIL import ImageOps\n",
-+ "\n",
-+ "\n",
-+ "# says we capture an image from a webcam\n",
-+ "cap = cv2.VideoCapture(0) \n",
-+ "_ , cv2_im = cap.read()\n",
-+ "cv2_im = cv2.cvtColor(cv2_im,cv2.COLOR_BGR2RGB)\n",
-+ "img = PIL_Image.fromarray(cv2_im).convert(\"L\") \n",
-+ "\n",
-+ "#original captured image\n",
-+ "#orig_img_path = '/usr/share/notebooks/bnn/pictures/webcam_image_chars.jpg'\n",
-+ "#img = PIL_Image.open(orig_img_path).convert(\"L\") \n",
-+ "\n",
-+ "#Image enhancement \n",
-+ "contr = ImageEnhance.Contrast(img) \n",
-+ "img = contr.enhance(5) # The enhancement values (contrast and brightness) \n",
-+ "bright = ImageEnhance.Brightness(img) # depends on backgroud, external lights etc \n",
-+ "img = bright.enhance(2.0) \n",
-+ "\n",
-+ "#img = img.rotate(180) # Rotate the image (depending on camera orientation) \n",
-+ "#Adding a border for future cropping \n",
-+ "img = ImageOps.expand(img,border=80,fill='white') \n",
-+ "threshold = 180 \n",
-+ "img = img.point(lambda p: p > threshold and 255) \n",
-+ "img\n"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 5. Crop and scale the image "
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 6,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "from PIL import Image as PIL_Image\n",
-+ "import numpy as np\n",
-+ "import math\n",
-+ "from scipy import misc\n",
-+ "\n",
-+ "#Find bounding box \n",
-+ "inverted = ImageOps.invert(img) \n",
-+ "box = inverted.getbbox() \n",
-+ "img_new = img.crop(box) \n",
-+ "width, height = img_new.size \n",
-+ "ratio = min((28./height), (28./width)) \n",
-+ "background = PIL_Image.new('RGB', (28,28), (255,255,255)) \n",
-+ "if(height == width): \n",
-+ " img_new = img_new.resize((28,28)) \n",
-+ "elif(height>width): \n",
-+ " img_new = img_new.resize((int(width*ratio),28)) \n",
-+ " background.paste(img_new, (int((28-img_new.size[0])/2),int((28-img_new.size[1])/2))) \n",
-+ "else: \n",
-+ " img_new = img_new.resize((28, int(height*ratio))) \n",
-+ " background.paste(img_new, (int((28-img_new.size[0])/2),int((28-img_new.size[1])/2))) \n",
-+ " \n",
-+ "background \n",
-+ "img_data=np.asarray(background) \n",
-+ "img_data = img_data[:,:,0]\n",
-+ "im = PIL_Image.fromarray(img_data)\n",
-+ "im.save('/usr/share/img_webcam_char.png')"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 6. Convert to BNN input format\n",
-+ "The image is resized to comply with the MNIST standard. The image is resized at 28x28 pixels and the colors inverted. "
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 7,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAAAAABXZoBIAAAAbElEQVR4nJWRSxbAIAwCSV/vf2W60Sr51WYVHTGIgBa5LS405SABlrAr/lAKJKwzNEwVEwWezozXqdJxC8CW59sdZBrC2DN96YRL8XbpU7xv+eTZn4TgI++UMpRM4ffMGDl3pbOTxpQrC9rBBz8mJA//yq/5AAAAAElFTkSuQmCC\n",
-+ "text/plain": [
-+ "<PIL.Image.Image image mode=L size=28x28 at 0x7F4E70B2B0>"
-+ ]
-+ },
-+ "execution_count": 7,
-+ "metadata": {},
-+ "output_type": "execute_result"
-+ }
-+ ],
-+ "source": [
-+ "from array import *\n",
-+ "from PIL import Image as PIL_Image\n",
-+ "from PIL import ImageOps\n",
-+ "img_load = PIL_Image.open('/usr/share/img_webcam_char.png').convert(\"L\") \n",
-+ "# Convert to BNN input format \n",
-+ "# The image is resized to comply with the MNIST standard. The image is resized at 28x28 pixels and the colors inverted. \n",
-+ " \n",
-+ "#Resize the image and invert it (white on black) \n",
-+ "smallimg = ImageOps.invert(img_load) \n",
-+ "smallimg = smallimg.rotate(0) \n",
-+ " \n",
-+ "data_image = array('B') \n",
-+ " \n",
-+ "pixel = smallimg.load() \n",
-+ "for x in range(0,28): \n",
-+ " for y in range(0,28): \n",
-+ " if(pixel[y,x] == 255): \n",
-+ " data_image.append(255) \n",
-+ " else: \n",
-+ " data_image.append(1) \n",
-+ " \n",
-+ "# Setting up the header of the MNIST format file - Required as the hardware is designed for MNIST dataset \n",
-+ "hexval = \"{0:#0{1}x}\".format(1,6) \n",
-+ "header = array('B') \n",
-+ "header.extend([0,0,8,1,0,0]) \n",
-+ "header.append(int('0x'+hexval[2:][:2],16)) \n",
-+ "header.append(int('0x'+hexval[2:][2:],16)) \n",
-+ "header.extend([0,0,0,28,0,0,0,28]) \n",
-+ "header[3] = 3 # Changing MSB for image data (0x00000803) \n",
-+ "data_image = header + data_image \n",
-+ "output_file = open('/usr/share/img_webcam_processed', 'wb') \n",
-+ "data_image.tofile(output_file) \n",
-+ "output_file.close() \n",
-+ "smallimg"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 7. Launching BNN in hardware\n",
-+ "Now, as the image has MNIST format, we can pass it to the PL and perform the inference"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 8,
-+ "metadata": {
-+ "scrolled": false
-+ },
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 7.00 microseconds\n",
-+ "Classification rate: 142857.14 images per second\n",
-+ "Class number: 10\n",
-+ "Class name: A\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "class_out=hw_classifier.classify_mnist(\"/usr/share/img_webcam_processed\")\n",
-+ "print(\"Class number: {0}\".format(class_out))\n",
-+ "print(\"Class name: {0}\".format(hw_classifier.bnn.class_name(class_out)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 8. Launching BNN in Software\n",
-+ "For comparison we can also perform classification in software"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 9,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 19212.00 microseconds\n",
-+ "Classification rate: 52.05 images per second\n",
-+ "Class number: 10\n",
-+ "Class name: A\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "class_out=sw_classifier.classify_mnist(\"/usr/share/img_webcam_processed\")\n",
-+ "print(\"Class number: {0}\".format(class_out))\n",
-+ "print(\"Class name: {0}\".format(sw_classifier.bnn.class_name(class_out)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 9. Reset the device\n"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 10,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "from pynq import Xlnk\n",
-+ "\n",
-+ "xlnk = Xlnk()\n",
-+ "xlnk.xlnk_reset()"
-+ ]
-+ }
-+ ],
-+ "metadata": {
-+ "celltoolbar": "Raw Cell Format",
-+ "kernelspec": {
-+ "display_name": "Python 3",
-+ "language": "python",
-+ "name": "python3"
-+ },
-+ "language_info": {
-+ "codemirror_mode": {
-+ "name": "ipython",
-+ "version": 3
-+ },
-+ "file_extension": ".py",
-+ "mimetype": "text/x-python",
-+ "name": "python",
-+ "nbconvert_exporter": "python",
-+ "pygments_lexer": "ipython3",
-+ "version": "3.7.0"
-+ }
-+ },
-+ "nbformat": 4,
-+ "nbformat_minor": 1
-+}
-diff --git a/notebooks/.ipynb_checkpoints/LFC-BNN_MNIST_Webcam-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/LFC-BNN_MNIST_Webcam-checkpoint.ipynb
-new file mode 100644
-index 0000000..180d335
---- /dev/null
-+++ b/notebooks/.ipynb_checkpoints/LFC-BNN_MNIST_Webcam-checkpoint.ipynb
-@@ -0,0 +1,377 @@
-+{
-+ "cells": [
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "# BNN on Pynq\n",
-+ "\n",
-+ "This notebook covers how to use Binary Neural Networks on Pynq. \n",
-+ "It shows an example of handwritten digit recognition using a binarized neural network composed of 4 fully connected layers with 1024 neurons each, trained on the MNIST dataset of handwritten digits. \n",
-+ "In order to reproduce this notebook, you will need an external USB Camera connected to the PYNQ Board.\n",
-+ "\n",
-+ "## 1. Import the package"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 1,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "application/javascript": [
-+ "\n",
-+ "require(['notebook/js/codecell'], function(codecell) {\n",
-+ " codecell.CodeCell.options_default.highlight_modes[\n",
-+ " 'magic_text/x-csrc'] = {'reg':[/^%%microblaze/]};\n",
-+ " Jupyter.notebook.events.one('kernel_ready.Kernel', function(){\n",
-+ " Jupyter.notebook.get_cells().map(function(cell){\n",
-+ " if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;\n",
-+ " });\n",
-+ "});\n"
-+ ]
-+ },
-+ "metadata": {},
-+ "output_type": "display_data"
-+ }
-+ ],
-+ "source": [
-+ "import bnn"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 2. Checking available parameters\n",
-+ "\n",
-+ "By default the following trained parameters are available for LFC network using 1 bit for weights and 1 threshold for activation:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 2,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "['chars_merged', 'mnist']\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "print(bnn.available_params(bnn.NETWORK_LFCW1A1))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "Two sets of weights are available for the LFCW1A1 network, the MNIST and one for character recognition (NIST)."
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 3. Instantiate the classifier\n",
-+ "\n",
-+ "Creating a classifier will automatically download the correct bitstream onto the device and load the weights trained on the specified dataset. This example works with the LFCW1A1 for inferring MNIST handwritten digits.\n",
-+ "Passing a runtime attribute will allow to choose between hardware accelerated or pure software inference."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 3,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "hw_classifier = bnn.LfcClassifier(bnn.NETWORK_LFCW1A1,\"mnist\",bnn.RUNTIME_HW)\n",
-+ "sw_classifier = bnn.LfcClassifier(bnn.NETWORK_LFCW1A1,\"mnist\",bnn.RUNTIME_SW)"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 4,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "print(hw_classifier.classes)"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 4. Load the image from the camera\n",
-+ "The image is captured from the external USB camera and stored locally. The image is then enhanced in contract and brightness to remove background noise. \n",
-+ "The resulting image should show the digit on a white background:"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 5,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "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\n",
-+ "text/plain": [
-+ "<PIL.Image.Image image mode=L size=512x448 at 0x7F4D6BCE80>"
-+ ]
-+ },
-+ "execution_count": 5,
-+ "metadata": {},
-+ "output_type": "execute_result"
-+ }
-+ ],
-+ "source": [
-+ "import cv2\n",
-+ "from PIL import Image as PIL_Image\n",
-+ "from PIL import ImageEnhance\n",
-+ "from PIL import ImageOps\n",
-+ "\n",
-+ "# says we capture an image from a webcam\n",
-+ "cap = cv2.VideoCapture(1) \n",
-+ "_ , cv2_im = cap.read()\n",
-+ "cv2_im = cv2.cvtColor(cv2_im,cv2.COLOR_BGR2RGB)\n",
-+ "img = PIL_Image.fromarray(cv2_im).convert(\"L\") \n",
-+ "\n",
-+ "#original captured image\n",
-+ "#orig_img_path = '/usr/share/notebooks/bnn/pictures/webcam_image_mnist.jpg'\n",
-+ "#img = PIL_Image.open(orig_img_path).convert(\"L\") \n",
-+ " \n",
-+ "#Image enhancement \n",
-+ "contr = ImageEnhance.Contrast(img)\n",
-+ "img = contr.enhance(3) # The enhancement values (contrast and brightness) \n",
-+ "bright = ImageEnhance.Brightness(img) # depends on backgroud, external lights etc\n",
-+ "img = bright.enhance(4.0) \n",
-+ "\n",
-+ "#img = img.rotate(180) # Rotate the image (depending on camera orientation)\n",
-+ "#Adding a border for future cropping\n",
-+ "img = ImageOps.expand(img,border=80,fill='white') \n",
-+ "img"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 5. Crop and scale the image\n",
-+ "The center of mass of the image is evaluated to properly crop the image and extract the written digit only. "
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 6,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "from PIL import Image as PIL_Image\n",
-+ "import numpy as np\n",
-+ "import math\n",
-+ "\n",
-+ "#Find bounding box \n",
-+ "inverted = ImageOps.invert(img) \n",
-+ "box = inverted.getbbox() \n",
-+ "img_new = img.crop(box) \n",
-+ "width, height = img_new.size \n",
-+ "ratio = min((28./height), (28./width)) \n",
-+ "background = PIL_Image.new('RGB', (28,28), (255,255,255)) \n",
-+ "if(height == width): \n",
-+ " img_new = img_new.resize((28,28)) \n",
-+ "elif(height>width): \n",
-+ " img_new = img_new.resize((int(width*ratio),28)) \n",
-+ " background.paste(img_new, (int((28-img_new.size[0])/2),int((28-img_new.size[1])/2))) \n",
-+ "else: \n",
-+ " img_new = img_new.resize((28, int(height*ratio))) \n",
-+ " background.paste(img_new, (int((28-img_new.size[0])/2),int((28-img_new.size[1])/2))) \n",
-+ " \n",
-+ "background \n",
-+ "img_data=np.asarray(background) \n",
-+ "img_data = img_data[:,:,0] \n",
-+ "im = PIL_Image.fromarray(img_data)\n",
-+ "im.save('/usr/share/img_webcam_mnist.png') "
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 6. Convert to BNN input format\n",
-+ "The image is resized to comply with the MNIST standard. The image is resized at 28x28 pixels and the colors inverted. "
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 7,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "data": {
-+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAAAAABXZoBIAAAAcElEQVR4nNVS2w2AMAgE4wYO4NgO4ACO5AAOcX60goSz2k/vp+ReIaQiDgDAKgxAfZlGJtpxDUPL9S+R4GiJfqHO2ttpU3L6GOzTZkrvgP+GCo11KgRYJOXMCi3ZmBy9Vh9XLfyWmqPpRYXVk91h7Ak1jCnedgrNYwAAAABJRU5ErkJggg==\n",
-+ "text/plain": [
-+ "<PIL.Image.Image image mode=L size=28x28 at 0x7F4C403860>"
-+ ]
-+ },
-+ "execution_count": 7,
-+ "metadata": {},
-+ "output_type": "execute_result"
-+ }
-+ ],
-+ "source": [
-+ "from array import *\n",
-+ "from PIL import Image as PIL_Image\n",
-+ "from PIL import ImageOps\n",
-+ "img_load = PIL_Image.open('/usr/share/img_webcam_mnist.png').convert(\"L\") \n",
-+ "# Convert to BNN input format \n",
-+ "# The image is resized to comply with the MNIST standard. The image is resized at 28x28 pixels and the colors inverted. \n",
-+ " \n",
-+ "#Resize the image and invert it (white on black) \n",
-+ "smallimg = ImageOps.invert(img_load) \n",
-+ "smallimg = smallimg.rotate(0) \n",
-+ " \n",
-+ "data_image = array('B') \n",
-+ " \n",
-+ "pixel = smallimg.load() \n",
-+ "for x in range(0,28): \n",
-+ " for y in range(0,28): \n",
-+ " if(pixel[y,x] == 255): \n",
-+ " data_image.append(255) \n",
-+ " else: \n",
-+ " data_image.append(1) \n",
-+ " \n",
-+ "# Setting up the header of the MNIST format file - Required as the hardware is designed for MNIST dataset \n",
-+ "hexval = \"{0:#0{1}x}\".format(1,6) \n",
-+ "header = array('B') \n",
-+ "header.extend([0,0,8,1,0,0]) \n",
-+ "header.append(int('0x'+hexval[2:][:2],16)) \n",
-+ "header.append(int('0x'+hexval[2:][2:],16)) \n",
-+ "header.extend([0,0,0,28,0,0,0,28]) \n",
-+ "header[3] = 3 # Changing MSB for image data (0x00000803) \n",
-+ "data_image = header + data_image \n",
-+ "output_file = open('/usr/share/img_webcam_mnist_processed', 'wb') \n",
-+ "data_image.tofile(output_file) \n",
-+ "output_file.close() \n",
-+ "smallimg"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 7. Launching BNN in hardware\n",
-+ "\n",
-+ "The image is passed in the PL and the inference is performed. Use `classify_mnist` to classify a single mnist formatted picture."
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 8,
-+ "metadata": {
-+ "scrolled": false
-+ },
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 8.00 microseconds\n",
-+ "Classification rate: 125000.00 images per second\n",
-+ "Class number: 2\n",
-+ "Class name: 2\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "class_out = hw_classifier.classify_mnist(\"/usr/share/img_webcam_mnist_processed\")\n",
-+ "print(\"Class number: {0}\".format(class_out))\n",
-+ "print(\"Class name: {0}\".format(hw_classifier.class_name(class_out)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {},
-+ "source": [
-+ "## 8. Launching BNN in software\n",
-+ "The inference on the same image is performed in sofware on the ARM core"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 9,
-+ "metadata": {},
-+ "outputs": [
-+ {
-+ "name": "stdout",
-+ "output_type": "stream",
-+ "text": [
-+ "Inference took 18588.00 microseconds\n",
-+ "Classification rate: 53.80 images per second\n",
-+ "Class number: 2\n",
-+ "Class name: 2\n"
-+ ]
-+ }
-+ ],
-+ "source": [
-+ "class_out=sw_classifier.classify_mnist(\"/usr/share/img_webcam_mnist_processed\")\n",
-+ "print(\"Class number: {0}\".format(class_out))\n",
-+ "print(\"Class name: {0}\".format(hw_classifier.class_name(class_out)))"
-+ ]
-+ },
-+ {
-+ "cell_type": "markdown",
-+ "metadata": {
-+ "collapsed": true
-+ },
-+ "source": [
-+ "## 9. Reset the device"
-+ ]
-+ },
-+ {
-+ "cell_type": "code",
-+ "execution_count": 10,
-+ "metadata": {},
-+ "outputs": [],
-+ "source": [
-+ "from pynq import Xlnk\n",
-+ "\n",
-+ "xlnk = Xlnk()\n",
-+ "xlnk.xlnk_reset()"
-+ ]
-+ }
-+ ],
-+ "metadata": {
-+ "celltoolbar": "Raw Cell Format",
-+ "kernelspec": {
-+ "display_name": "Python 3",
-+ "language": "python",
-+ "name": "python3"
-+ },
-+ "language_info": {
-+ "codemirror_mode": {
-+ "name": "ipython",
-+ "version": 3
-+ },
-+ "file_extension": ".py",
-+ "mimetype": "text/x-python",
-+ "name": "python",
-+ "nbconvert_exporter": "python",
-+ "pygments_lexer": "ipython3",
-+ "version": "3.7.0"
-+ }
-+ },
-+ "nbformat": 4,
-+ "nbformat_minor": 1
-+}
-diff --git a/notebooks/CNV-BNN_Cifar10.ipynb b/notebooks/CNV-BNN_Cifar10.ipynb
-index 39a4acc..d4febdc 100755
---- a/notebooks/CNV-BNN_Cifar10.ipynb
-+++ b/notebooks/CNV-BNN_Cifar10.ipynb
-@@ -146,7 +146,7 @@
- "from PIL import Image\n",
- "import numpy as np\n",
- "\n",
-- "im = Image.open('/home/xilinx/jupyter_notebooks/bnn/pictures/deer.jpg')\n",
-+ "im = Image.open('/usr/share/notebooks/bnn_examples/pictures/deer.jpg')\n",
- "im "
- ]
- },
-@@ -317,7 +317,7 @@
- "source": [
- "from IPython.display import display\n",
- "\n",
-- "im = Image.open('/home/xilinx/jupyter_notebooks/bnn/pictures/car.png')\n",
-+ "im = Image.open('/usr/share/notebooks/bnn_examples/pictures/car.png')\n",
- "im.thumbnail((64, 64), Image.ANTIALIAS)\n",
- "display(im) \n",
- "car_class = hw_classifier.classify_image_details(im)\n",
-@@ -325,7 +325,7 @@
- "for i in range(len(car_class)):\n",
- " print(\"{: >10}{: >10}\".format(hw_classifier.classes[i],car_class[i]))\n",
- "\n",
-- "im = Image.open('/home/xilinx/jupyter_notebooks/bnn/pictures/airplane.jpg')\n",
-+ "im = Image.open('/usr/share/notebooks/bnn_examples/pictures/airplane.jpg')\n",
- "im.thumbnail((64, 64), Image.ANTIALIAS)\n",
- "display(im) \n",
- "air_class = hw_classifier.classify_image_details(im)\n",
-@@ -333,7 +333,7 @@
- "for i in range(len(air_class)):\n",
- " print(\"{: >10}{: >10}\".format(hw_classifier.classes[i],air_class[i]))\n",
- "\n",
-- "im = Image.open('/home/xilinx/jupyter_notebooks/bnn/pictures/bird.jpg')\n",
-+ "im = Image.open('/usr/share/notebooks/bnn_examples/pictures/bird.jpg')\n",
- "im.thumbnail((64, 64), Image.ANTIALIAS)\n",
- "display(im) \n",
- "bird_class = hw_classifier.classify_image_details(im)\n",
-@@ -417,7 +417,7 @@
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
-- "version": "3.6.5"
-+ "version": "3.7.0"
- }
- },
- "nbformat": 4,
-diff --git a/notebooks/CNV-BNN_Road-Signs.ipynb b/notebooks/CNV-BNN_Road-Signs.ipynb
-index 04d7be2..536d6eb 100755
---- a/notebooks/CNV-BNN_Road-Signs.ipynb
-+++ b/notebooks/CNV-BNN_Road-Signs.ipynb
-@@ -128,12 +128,12 @@
- "from os.path import isfile, join\n",
- "from IPython.display import display\n",
- "\n",
-- "imgList = [f for f in listdir(\"/home/xilinx/jupyter_notebooks/bnn/pictures/road_signs/\") if isfile(join(\"/home/xilinx/jupyter_notebooks/bnn/pictures/road_signs/\", f))]\n",
-+ "imgList = [f for f in listdir(\"/usr/share/notebooks/bnn_examples/pictures/road_signs/\") if isfile(join(\"/usr/share/notebooks/bnn_examples/pictures/road_signs/\", f))]\n",
- "\n",
- "images = []\n",
- " \n",
- "for imgFile in imgList:\n",
-- "\timg = Image.open(\"/home/xilinx/jupyter_notebooks/bnn/pictures/road_signs/\" + imgFile)\n",
-+ "\timg = Image.open(\"/usr/share/notebooks/bnn_examples/pictures/road_signs/\" + imgFile)\n",
- "\timages.append(img) \n",
- "\timg.thumbnail((64, 64), Image.ANTIALIAS)\n",
- "\tdisplay(img) \n",
-@@ -236,7 +236,7 @@
- ],
- "source": [
- "from PIL import Image\n",
-- "image_file = \"/home/xilinx/jupyter_notebooks/bnn/pictures/street_with_stop.JPG\"\n",
-+ "image_file = \"/usr/share/notebooks/bnn_examples/pictures/street_with_stop.JPG\"\n",
- "im = Image.open(image_file)\n",
- "im"
- ]
-@@ -402,7 +402,7 @@
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
-- "version": "3.6.5"
-+ "version": "3.7.0"
- }
- },
- "nbformat": 4,
-diff --git a/notebooks/CNV-BNN_SVHN.ipynb b/notebooks/CNV-BNN_SVHN.ipynb
-index 2db9017..e982911 100755
---- a/notebooks/CNV-BNN_SVHN.ipynb
-+++ b/notebooks/CNV-BNN_SVHN.ipynb
-@@ -103,7 +103,7 @@
- "source": [
- "from PIL import Image\n",
- "import numpy as np\n",
-- "img = Image.open('/home/xilinx/jupyter_notebooks/bnn/pictures/6.png')\n",
-+ "img = Image.open('/usr/share/notebooks/bnn_examples/pictures/6.png')\n",
- "img"
- ]
- },
-@@ -200,7 +200,7 @@
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
-- "version": "3.6.5"
-+ "version": "3.7.0"
- }
- },
- "nbformat": 4,
-diff --git a/notebooks/CNV-QNN_Cifar10.ipynb b/notebooks/CNV-QNN_Cifar10.ipynb
-index ae7e76c..a708a1b 100755
---- a/notebooks/CNV-QNN_Cifar10.ipynb
-+++ b/notebooks/CNV-QNN_Cifar10.ipynb
-@@ -82,7 +82,7 @@
- "from PIL import Image\n",
- "import numpy as np\n",
- "\n",
-- "img = Image.open('/home/xilinx/jupyter_notebooks/bnn/pictures/deer.jpg')\n",
-+ "img = Image.open('/usr/share/notebooks/bnn_examples/pictures/deer.jpg')\n",
- "img "
- ]
- },
-@@ -600,7 +600,7 @@
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
-- "version": "3.6.5"
-+ "version": "3.7.0"
- }
- },
- "nbformat": 4,
-diff --git a/notebooks/CNV-QNN_Cifar10_Testset.ipynb b/notebooks/CNV-QNN_Cifar10_Testset.ipynb
-index 30d23c3..94b9c8d 100755
---- a/notebooks/CNV-QNN_Cifar10_Testset.ipynb
-+++ b/notebooks/CNV-QNN_Cifar10_Testset.ipynb
-@@ -73,7 +73,7 @@
- "!tar -xf cifar-10-binary.tar.gz\n",
- "\n",
- "labels = []\n",
-- "with open(\"/home/xilinx/jupyter_notebooks/bnn/cifar-10-batches-bin/test_batch.bin\", \"rb\") as file:\n",
-+ "with open(\"/usr/share/notebooks/bnn_examples/cifar-10-batches-bin/test_batch.bin\", \"rb\") as file:\n",
- " #for 10000 pictures\n",
- " for i in range(10000):\n",
- " #read first byte -> label\n",
-@@ -130,7 +130,7 @@
- }
- ],
- "source": [
-- "result_W1A1 = hw_classifier.classify_cifars(\"/home/xilinx/jupyter_notebooks/bnn/cifar-10-batches-bin/test_batch.bin\")\n",
-+ "result_W1A1 = hw_classifier.classify_cifars(\"/usr/share/notebooks/bnn_examples/cifar-10-batches-bin/test_batch.bin\")\n",
- "time_W1A1 = hw_classifier.usecPerImage"
- ]
- },
-@@ -166,7 +166,7 @@
- }
- ],
- "source": [
-- "result_W1A2 = hw_classifier.classify_cifars(\"/home/xilinx/jupyter_notebooks/bnn/cifar-10-batches-bin/test_batch.bin\")\n",
-+ "result_W1A2 = hw_classifier.classify_cifars(\"/usr/share/notebooks/bnn_examples/cifar-10-batches-bin/test_batch.bin\")\n",
- "time_W1A2 = hw_classifier.usecPerImage"
- ]
- },
-@@ -202,7 +202,7 @@
- }
- ],
- "source": [
-- "result_W2A2 = hw_classifier.classify_cifars(\"/home/xilinx/jupyter_notebooks/bnn/cifar-10-batches-bin/test_batch.bin\")\n",
-+ "result_W2A2 = hw_classifier.classify_cifars(\"/usr/share/notebooks/bnn_examples/cifar-10-batches-bin/test_batch.bin\")\n",
- "time_W2A2 = hw_classifier.usecPerImage"
- ]
- },
-@@ -337,7 +337,7 @@
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
-- "version": "3.6.5"
-+ "version": "3.7.0"
- }
- },
- "nbformat": 4,
-diff --git a/notebooks/CNV-QNN_Cifar10_Webcam.ipynb b/notebooks/CNV-QNN_Cifar10_Webcam.ipynb
-index 53d46c9..ffb5e6f 100755
---- a/notebooks/CNV-QNN_Cifar10_Webcam.ipynb
-+++ b/notebooks/CNV-QNN_Cifar10_Webcam.ipynb
-@@ -77,13 +77,13 @@
- "from PIL import ImageOps\n",
- "\n",
- "# says we capture an image from a webcam\n",
-- "cap = cv2.VideoCapture(0) \n",
-+ "cap = cv2.VideoCapture(1) \n",
- "_ , cv2_im = cap.read()\n",
- "cv2_im = cv2.cvtColor(cv2_im,cv2.COLOR_BGR2RGB)\n",
- "img = PIL_Image.fromarray(cv2_im)\n",
- "\n",
- "#original captured image\n",
-- "#orig_img_path = '/home/xilinx/jupyter_notebooks/bnn/pictures/webcam_cifar-10.jpg'\n",
-+ "#orig_img_path = '/usr/share/notebooks/bnn_examples/pictures/webcam_cifar-10.jpg'\n",
- "#img = PIL_Image.open(orig_img_path) \n",
- "\n",
- "# The enhancement values (contrast and brightness) depend on backgroud, external lights etc\n",
-@@ -349,7 +349,7 @@
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
-- "version": "3.6.5"
-+ "version": "3.7.0"
- }
- },
- "nbformat": 4,
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn/0001-Update-default-notebooks-path-from-home-xilinx-to-us.patch b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn/0001-Update-default-notebooks-path-from-home-xilinx-to-us.patch
deleted file mode 100644
index fb72ab2d0..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn/0001-Update-default-notebooks-path-from-home-xilinx-to-us.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 03b7eccd5c238832191c57c9bcb4bc3a4e69f454 Mon Sep 17 00:00:00 2001
-From: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
-Date: Sun, 22 Sep 2019 12:55:00 -0700
-Subject: [PATCH] Update default notebooks path from /home/xilinx/ to
- /usr/share
-
----
- notebooks/LFC-QNN_MNIST.ipynb | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/notebooks/LFC-QNN_MNIST.ipynb b/notebooks/LFC-QNN_MNIST.ipynb
-index fa2b972..752c154 100755
---- a/notebooks/LFC-QNN_MNIST.ipynb
-+++ b/notebooks/LFC-QNN_MNIST.ipynb
-@@ -77,7 +77,7 @@
- "\n",
- "#read labels\n",
- "labels = []\n",
-- "with open(\"/home/xilinx/jupyter_notebooks/bnn/t10k-labels-idx1-ubyte\",\"rb\") as lbl_file:\n",
-+ "with open(\"/usr/share/notebooks/bnn_examples/t10k-labels-idx1-ubyte\",\"rb\") as lbl_file:\n",
- " #read magic number and number of labels (MSB first) -> MNIST header\n",
- " magicNum = int.from_bytes(lbl_file.read(4), byteorder=\"big\")\n",
- " countLbl = int.from_bytes(lbl_file.read(4), byteorder=\"big\")\n",
-@@ -143,7 +143,7 @@
- }
- ],
- "source": [
-- "result_W1A1 = lfcW1A1_classifier.classify_mnists(\"/home/xilinx/jupyter_notebooks/bnn/t10k-images-idx3-ubyte\")"
-+ "result_W1A1 = lfcW1A1_classifier.classify_mnists(\"/usr/share/notebooks/bnn_examples/t10k-images-idx3-ubyte\")"
- ]
- },
- {
-@@ -178,7 +178,7 @@
- }
- ],
- "source": [
-- "result_W1A2 = lfcW1A2_classifier.classify_mnists(\"/home/xilinx/jupyter_notebooks/bnn/t10k-images-idx3-ubyte\")"
-+ "result_W1A2 = lfcW1A2_classifier.classify_mnists(\"/usr/share/notebooks/bnn_examples/t10k-images-idx3-ubyte\")"
- ]
- },
- {
-@@ -196,8 +196,8 @@
- "metadata": {},
- "outputs": [],
- "source": [
-- "with open(\"/home/xilinx/jupyter_notebooks/bnn/10_mnist_pictures\", \"wb\") as out_file:\n",
-- " with open(\"/home/xilinx/jupyter_notebooks/bnn/t10k-images-idx3-ubyte\",\"rb\") as img_file:\n",
-+ "with open(\"/usr/share/notebooks/bnn_examples/10_mnist_pictures\", \"wb\") as out_file:\n",
-+ " with open(\"/usr/share/notebooks/bnn_examples/t10k-images-idx3-ubyte\",\"rb\") as img_file:\n",
- " #copy magic number\n",
- " out_file.write(img_file.read(4))\n",
- " #set number of images\n",
-@@ -241,10 +241,10 @@
- "source": [
- "print(\"SW Inference with W1A1:\")\n",
- "sw_lfcW1A1_classifier = bnn.LfcClassifier(bnn.NETWORK_LFCW1A1,\"mnist\",bnn.RUNTIME_SW)\n",
-- "sw_resultW1A1 = sw_lfcW1A1_classifier.classify_mnists(\"/home/xilinx/jupyter_notebooks/bnn/10_mnist_pictures\")\n",
-+ "sw_resultW1A1 = sw_lfcW1A1_classifier.classify_mnists(\"/usr/share/notebooks/bnn_examples/10_mnist_pictures\")\n",
- "print(\"\\nSW Inference with W1A2:\")\n",
- "sw_lfcW1A2_classifier = bnn.LfcClassifier(bnn.NETWORK_LFCW1A2,\"mnist\",bnn.RUNTIME_SW)\n",
-- "sw_resultW1A2 = sw_lfcW1A2_classifier.classify_mnists(\"/home/xilinx/jupyter_notebooks/bnn/10_mnist_pictures\")"
-+ "sw_resultW1A2 = sw_lfcW1A2_classifier.classify_mnists(\"/usr/share/notebooks/bnn_examples/10_mnist_pictures\")"
- ]
- },
- {
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn_1.0.bb b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn_1.0.bb
deleted file mode 100644
index c20ac5d64..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-bnn/pynq-ultra96-bnn_1.0.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-DESCRIPTION = "Recipe to install BNN notebooks and PYNQ dependencies for ultra96"
-SUMMARY = "BNN example jupyter notebooks with PYNQ"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8f625d3c898c18035639b6d6943b6a9c"
-
-SRC_URI = "git://github.com/Xilinx/BNN-PYNQ.git;protocol=https \
- file://0001-BNN-Notebooks-changed-default-picture-location.patch \
- file://0001-Update-default-notebooks-path-from-home-xilinx-to-us.patch \
-"
-
-SRCREV = "32eed91994228d1042a16c692047dfe81e47d498"
-
-inherit xilinx-pynq
-
-RDEPENDS_${PN}-notebooks += "\
- python3-pynq \
- python3-pillow \
- libstdc++ \
- libcma \
- bash \
-"
-
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_ultra96 = "${MACHINE}"
-
-S = "${WORKDIR}/git"
-
-do_configure[noexec]="1"
-do_compile[noexec]="1"
-
-def get_board(d):
- x = str(d.getVar("BOARD_NAME", "True"))
- return x.lower()
-
-do_install () {
- JUPYTER_NOTEBOOKS=${D}${PYNQ_NOTEBOOK_DIR}
- install -d ${JUPYTER_NOTEBOOKS}/bnn_examples
-
- install -d ${JUPYTER_NOTEBOOKS}/bnn_examples/bitstreams
- install -d ${JUPYTER_NOTEBOOKS}/bnn_examples/bitstreams/${@get_board(d)}
- cp -r ${S}/bnn/bitstreams/${@get_board(d)}/* ${JUPYTER_NOTEBOOKS}/bnn_examples/bitstreams/${@get_board(d)}/
-
- install -d ${JUPYTER_NOTEBOOKS}/bnn_examples/libraries
- install -d ${JUPYTER_NOTEBOOKS}/bnn_examples/libraries/${@get_board(d)}
- cp -r ${S}/bnn/libraries/${@get_board(d)}/* ${JUPYTER_NOTEBOOKS}/bnn_examples/libraries/${@get_board(d)}/
-
- cp -r ${S}/bnn/params ${JUPYTER_NOTEBOOKS}/bnn_examples/
- cp -r ${S}/bnn/src ${JUPYTER_NOTEBOOKS}/bnn_examples/
- cp -r ${S}/bnn/__init__.py ${JUPYTER_NOTEBOOKS}/bnn_examples/
- cp -r ${S}/bnn/bnn.py ${JUPYTER_NOTEBOOKS}/bnn_examples/
- cp -r ${S}/MANIFEST.in ${JUPYTER_NOTEBOOKS}/bnn_examples/
- cp -r ${S}/setup.py ${JUPYTER_NOTEBOOKS}/bnn_examples/
-
- cp -r ${S}/notebooks/* ${JUPYTER_NOTEBOOKS}/bnn_examples/
-}
-
-PACKAGE_ARCH_ultra96 = "${BOARD_ARCH}"
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld/0001-fix-repo_board_folder-variable.patch b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld/0001-fix-repo_board_folder-variable.patch
deleted file mode 100644
index 85a2c7132..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld/0001-fix-repo_board_folder-variable.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-
-m 38230239577f1c53fdd83b44002f8113bdabedd6 Mon Sep 17 00:00:00 2001
-From: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
-Date: Fri, 7 Jun 2019 23:51:07 +0000
-Subject: [PATCH] fix repo_board_folder variable
-
----
- setup.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 708dc25..21595f1 100644
---- a/setup.py
-+++ b/setup.py
-@@ -34,13 +34,14 @@ import shutil
-
- # global variables
- board = os.environ['BOARD']
--repo_board_folder = f'boards/{board}/resizer'
-+repo_board_folder = 'boards/'+board+'/resizer'
- board_notebooks_dir = os.environ['PYNQ_JUPYTER_NOTEBOOKS']
- hw_data_files = []
-
-
- # check whether board is supported
- def check_env():
-+ print("board = %s repo_board_folder = %s" %(board,repo_board_folder))
- if not os.path.isdir(repo_board_folder):
- raise ValueError("Board {} is not supported.".format(board))
- if not os.path.isdir(board_notebooks_dir):
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld/0001-resizer_PL-notebooks-for-ZCU104-and-Ultra96-changed.patch b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld/0001-resizer_PL-notebooks-for-ZCU104-and-Ultra96-changed.patch
deleted file mode 100644
index 1ab95d383..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld/0001-resizer_PL-notebooks-for-ZCU104-and-Ultra96-changed.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 788469badc4cd6a618e02d52883511cfbb00ca34 Mon Sep 17 00:00:00 2001
-From: Vinay Senthil <vinays@xilinx.com>
-Date: Tue, 30 Jul 2019 15:53:25 -0700
-Subject: [PATCH] resizer_PL notebooks for ZCU104 and Ultra96: changed default
- bitstream location
-
-Location is no longer /home/xilinx. Now it is in a bitsream folder in the same directory as the notebook.
-
-Signed-off-by: Vinay Senthil <vinays@xilinx.com>
----
- boards/Ultra96/resizer/notebooks/resizer_PL.ipynb | 4 ++--
- boards/ZCU104/resizer/notebooks/resizer_PL.ipynb | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/boards/Ultra96/resizer/notebooks/resizer_PL.ipynb b/boards/Ultra96/resizer/notebooks/resizer_PL.ipynb
-index 1658d78..cd04d93 100644
---- a/boards/Ultra96/resizer/notebooks/resizer_PL.ipynb
-+++ b/boards/Ultra96/resizer/notebooks/resizer_PL.ipynb
-@@ -78,7 +78,7 @@
- "outputs": [],
- "source": [
- "resize_design = Overlay(\n",
-- " \"/usr/local/lib/python3.6/dist-packages/helloworld/bitstream/resizer.bit\")"
-+ " \"bitstream/resizer.bit\")"
- ]
- },
- {
-@@ -497,7 +497,7 @@
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
-- "version": "3.6.5"
-+ "version": "3.7.0"
- }
- },
- "nbformat": 4,
-diff --git a/boards/ZCU104/resizer/notebooks/resizer_PL.ipynb b/boards/ZCU104/resizer/notebooks/resizer_PL.ipynb
-index 1658d78..cd04d93 100644
---- a/boards/ZCU104/resizer/notebooks/resizer_PL.ipynb
-+++ b/boards/ZCU104/resizer/notebooks/resizer_PL.ipynb
-@@ -78,7 +78,7 @@
- "outputs": [],
- "source": [
- "resize_design = Overlay(\n",
-- " \"/usr/local/lib/python3.6/dist-packages/helloworld/bitstream/resizer.bit\")"
-+ " \"bitstream/resizer.bit\")"
- ]
- },
- {
-@@ -497,7 +497,7 @@
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
-- "version": "3.6.5"
-+ "version": "3.7.0"
- }
- },
- "nbformat": 4,
---
-2.7.4
-
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld_1.0.bb b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld_1.0.bb
deleted file mode 100644
index d1aabb7d2..000000000
--- a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-ultra96-helloworld/pynq-ultra96-helloworld_1.0.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "PYNQ Helloworld for Ultra96"
-LICENSE = "BSD"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f9990fcc34ccf1f82ccf1bc5a1cc3bfc"
-
-RDEPENDS_${PN} += "\
- python3-pynq \
- python3-pillow \
- libstdc++ \
- "
-
-SRC_URI = "git://github.com/Xilinx/PYNQ-HelloWorld.git;protocol=https \
- file://0001-fix-repo_board_folder-variable.patch \
- file://0001-resizer_PL-notebooks-for-ZCU104-and-Ultra96-changed.patch \
-"
-
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_ultra96 = "${MACHINE}"
-
-SRC_URI[md5sum] = "ac1bfe94a18301b26ae5110ea26ca596"
-SRC_URI[sha256sum] = "f522c54c9418d1b1fdb6098cd7139439d47b041900000812c51200482d423460"
-
-SRCREV = "0e10a7ee06c3e7d873f4468e06e523e2d58d07f8"
-S = "${WORKDIR}/git"
-
-inherit xilinx-pynq
-
-do_configure[noexec]="1"
-do_compile[noexec]="1"
-
-do_install() {
- install -d ${D}/${PYNQ_NOTEBOOK_DIR}/helloworld
- install -d ${D}/${PYNQ_NOTEBOOK_DIR}/helloworld/bitstream
-
- cp -r ${S}/boards/${BOARD_NAME}/resizer/notebooks/* ${D}/${PYNQ_NOTEBOOK_DIR}/helloworld
- cp -r ${S}/boards/${BOARD_NAME}/resizer/bitstream/* ${D}/${PYNQ_NOTEBOOK_DIR}/helloworld/bitstream
-
-}
-
-PACKAGE_ARCH_ultra96 = "${BOARD_ARCH}"
diff --git a/meta-xilinx/meta-xilinx-standalone/README.md b/meta-xilinx/meta-xilinx-standalone/README.md
deleted file mode 100644
index 50ac9ad76..000000000
--- a/meta-xilinx/meta-xilinx-standalone/README.md
+++ /dev/null
@@ -1,62 +0,0 @@
-meta-xilinx-standalone
-======================
-
-This layer is meant to augment Yocto/OE functionality to provide a
-Baremetal/Standalone Toolchain as well as the foundation for building
-the embeddedsw components that enable non-Linux software required for
-Xilinx based FPGA/SOCs.
-
-Note, the non-Linux software components are still in development and
-this should be considered to be a preview release only. For instance,
-some components may not be buildable, expect APIs to change on various
-parts and pieces.
-
-
-Maintainers, Mailing list, Patches
-==================================
-
-Please send any patches, pull requests, comments or questions for this
-layer to the [meta-xilinx mailing list]
-(https://lists.yoctoproject.org/listinfo/meta-xilinx):
-
- meta-xilinx@lists.yoctoproject.org
-
-Maintainers:
-
- Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
- Mark Hatle <mark.hatle@xilinx.com>
-
-Dependencies
-============
-
-This layer depends on:
-
- URI: git://git.yoctoproject.org/poky
-
- URI: git://git.yoctoproject.org/meta-xilinx/meta-xilinx-bsp
-
-Usage
-=====
-
-1.- Clone this layer along with the specified layers
-
-2.- $ source oe-init-build-env
-
-3.- Add this layer to BBLAYERS on conf/bblayers.conf
-
-4.- Add the following to your conf/local.conf to build for the
-microblaze architecture:
-
-DISTRO="xilinx-standalone"
-
-MACHINE="microblaze-pmu"
-
-5.- Build a package:
-
-for example:
-
-$ bitbake newlib
-
-or
-
-$ bitbake meta-toolchain
diff --git a/meta-xilinx/meta-xilinx-standalone/classes/esw.bbclass b/meta-xilinx/meta-xilinx-standalone/classes/esw.bbclass
deleted file mode 100644
index 1f7e35f42..000000000
--- a/meta-xilinx/meta-xilinx-standalone/classes/esw.bbclass
+++ /dev/null
@@ -1,106 +0,0 @@
-inherit pkgconfig cmake
-
-LICENSE = "Proprietary"
-LICFILENAME = "license.txt"
-LIC_FILES_CHKSUM = "file://${S}/${LICFILENAME};md5=39ab6ab638f4d1836ba994ec6852de94"
-
-# We should move to an actual SRCREV eventually
-include conf/xilinx/esw-srcrev.inc
-
-SRCREV ?= "${AUTOREV}"
-PV = "${XILINX_RELEASE_VERSION}+git${SRCPV}"
-REPO ?= "git://github.com/xilinx/embeddedsw.git;protocol=https"
-BRANCH ?= "master"
-SRC_URI = "${REPO};branch=${BRANCH}"
-
-SRCREV_FORMAT = "src_decouple"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-OECMAKE_SOURCEPATH = "${S}/${ESW_COMPONENT_SRC}"
-
-SPECFILE_PATH_arm = "${S}/scripts/specs/arm/Xilinx.spec"
-SPECFILE_PATH_aarch64 = "${S}/scripts/specs/arm/Xilinx.spec"
-SPECFILE_PATH_microblaze = "${S}/scripts/specs/microblaze/Xilinx.spec"
-
-ESW_CFLAGS += "-specs=${SPECFILE_PATH}"
-
-inherit ccmake
-
-COMPATIBLE_HOST = ".*-elf"
-COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi"
-
-DTBFILE ?= "${RECIPE_SYSROOT}/boot/devicetree/system-top.dtb"
-
-def get_xlnx_cmake_machine(fam, d):
- cmake_machine = fam
- if (fam == 'zynqmp'):
- cmake_machine = 'ZynqMP'
- elif (fam == 'versal'):
- cmake_machine = 'Versal'
- elif (fam == 'zynq'):
- cmake_machine = 'Zynq'
- return cmake_machine
-
-def get_xlnx_cmake_processor(tune, machine, d):
- cmake_processor = tune
- if tune.startswith('microblaze'):
- if (machine == 'microblaze-pmu'):
- cmake_processor = 'pmu_microblaze'
- elif (machine == 'microblaze-plm'):
- cmake_processor = 'plm_microblaze'
- else:
- cmake_processor = 'microblaze'
- elif (tune in [ 'cortexr5', 'cortexr5f' ]):
- cmake_processor = 'cortexr5'
- elif tune.startswith('cortexa9'):
- cmake_processor = 'cortexa9'
- elif (tune in [ 'cortexa53', 'cortexa72-cortexa53' ]):
- cmake_processor = 'cortexa53'
- elif tune == 'cortexa72':
- cmake_processor = 'cortexa72'
- return cmake_processor
-
-XLNX_CMAKE_MACHINE = "${@get_xlnx_cmake_machine(d.getVar('SOC_FAMILY'), d)}"
-XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('MACHINE'), d)}"
-XLNX_CMAKE_SYSTEM_NAME ?= "Generic"
-
-cmake_do_generate_toolchain_file_append() {
- cat >> ${WORKDIR}/toolchain.cmake <<EOF
- include(CMakeForceCompiler)
- CMAKE_FORCE_C_COMPILER("${OECMAKE_C_COMPILER}" GNU)
- CMAKE_FORCE_CXX_COMPILER("${OECMAKE_CXX_COMPILER}" GNU)
- set( CMAKE_SYSTEM_PROCESSOR "${XLNX_CMAKE_PROCESSOR}" )
- set( CMAKE_MACHINE "${XLNX_CMAKE_MACHINE}" )
- # Will need this in the future to make cmake understand esw variables
- # set( CMAKE_SYSTEM_NAME `echo elf | sed -e 's/^./\u&/' -e 's/^\(Linux\).*/\1/'` )
- set( CMAKE_SYSTEM_NAME "${XLNX_CMAKE_SYSTEM_NAME}" )
-EOF
-}
-
-do_install() {
- install -d ${D}${libdir}
- install -d ${D}${includedir}
- install -m 0755 ${B}/${ESW_COMPONENT_NAME} ${D}${libdir}
- install -m 0644 ${B}/include/*.h ${D}${includedir}
-}
-
-CFLAGS_append = " ${ESW_CFLAGS}"
-
-# We need to find the license file, which vaires depending on the component
-# recurse a maximum of x times, could be fancier but it gets complicated since
-# we dont know for certain we are running devtool or just externalsrc
-python(){
- import os.path
- if bb.data.inherits_class('externalsrc', d) and d.getVar('EXTERNALSRC'):
- externalsrc = d.getVar('EXTERNALSRC')
- lic_file = d.getVar('LIC_FILES_CHKSUM', False)
- licpath=externalsrc
- for i in range(5):
- if os.path.isfile(licpath + '/' + d.getVar('LICFILENAME',True)):
- lic_file = lic_file.replace('${S}',licpath)
- d.setVar('LIC_FILES_CHKSUM', lic_file)
- return
- licpath=os.path.dirname(licpath)
- bb.error("Couldn't find license file: %s, within directory %s or his parent directories" % (d.getVar('LICFILENAME',True), externalsrc))
-}
diff --git a/meta-xilinx/meta-xilinx-standalone/classes/esw_examples.bbclass b/meta-xilinx/meta-xilinx-standalone/classes/esw_examples.bbclass
deleted file mode 100644
index 391f388e4..000000000
--- a/meta-xilinx/meta-xilinx-standalone/classes/esw_examples.bbclass
+++ /dev/null
@@ -1,27 +0,0 @@
-inherit esw deploy python3native
-
-DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native xilstandalone libxil xiltimer device-tree"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_generate_eglist () {
- cd ${S}
- nativepython3 ${S}/scripts/example.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-addtask generate_eglist before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- install -m 0755 ${B}/*.elf ${D}/${base_libdir}/firmware
-}
-
-do_deploy() {
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/*.elf ${DEPLOYDIR}/
-}
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/*.elf"
diff --git a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-freertos.conf b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-freertos.conf
deleted file mode 100644
index cba5fd904..000000000
--- a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-freertos.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-require conf/distro/xilinx-standalone.inc
-
-DISTRO_NAME_append = " (freertos)"
-
-XLNX_CMAKE_SYSTEM_NAME = "FreeRTOS"
-
-# We need to pass FREERTOS_BSP compliler flag it is consumed
-# esw components.
-ESW_CFLAGS += " -DFREERTOS_BSP"
diff --git a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone-nolto.conf b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone-nolto.conf
deleted file mode 100644
index 315f555cb..000000000
--- a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone-nolto.conf
+++ /dev/null
@@ -1 +0,0 @@
-require conf/distro/xilinx-standalone.inc
diff --git a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf
deleted file mode 100644
index 4273230f0..000000000
--- a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-require conf/distro/xilinx-standalone.inc
-
-DISTRO_NAME_append = " (lto)"
-
-# By default we want to optimize for size.
-FULL_OPTIMIZATION = "-O2 -pipe ${DEBUG_FLAGS}"
-
-# Workaround for microblaze -Os bug
-FULL_OPTIMIZATION_microblaze = "-O2 -pipe ${DEBUG_FLAGS}"
-
-# We also need to use Link Time Optimization for many items, make this the
-# default.
-ESW_CFLAGS += " -flto -ffat-lto-objects"
-
diff --git a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc
deleted file mode 100644
index 5c8ae67a1..000000000
--- a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc
+++ /dev/null
@@ -1,47 +0,0 @@
-DISTRO_NAME = "Xilinx Standalone Distro"
-DISTRO_VERSION = "1.0"
-TARGET_VENDOR = "-xilinx"
-
-# Make sure any users get the xilinx-standalone distro override
-DISTROOVERRIDES_prepend = "${@'xilinx-standalone:' if d.getVar('DISTRO') != "xilinx-standalone" else ''}"
-
-TCLIBC = "newlib"
-TCLIBCAPPEND =""
-
-# Change SDK name
-SDK_VERSION = "xilinx-standalone"
-
-require conf/distro/include/yocto-uninative.inc
-INHERIT += "uninative"
-
-# Hold this until it gets merged in core, we need libc.a and libgloss.a for cross-canadian
-LIBC_DEPENDENCIES_append = " newlib-staticdev libgloss-staticdev"
-
-ESW_CFLAGS ?= ""
-
-INHERIT += "buildhistory"
-
-# Cortex R5 requires an additional cflag to be passed for compatibility with the embeddedsw
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -DARMR5', '', d)}"
-
-# Make sure all regular recipes are excluded from compatibility
-# Avoid using this for native, nativesdk or cross recipes
-COMPATOS = ""
-# Set the regex for target recipes only, follow TARGET_OS default
-COMPATOS_class-target = ".*-linux${LIBCEXTENSION}${ABIEXTENSION}"
-COMPATIBLE_HOST ?= "${COMPATOS}"
-
-# Clear defaults
-DISTRO_FEATURES_BACKFILL_xilinx-standalone = ""
-VIRTUAL-RUNTIME_init_manager_xilinx-standalone = ""
-
-PREFERRED_PROVIDER_virtual/kernel = "linux-dummy"
-
-# Hold this until it gets merged in core, we need libc.a and libgloss.a for cross-canadian
-LIBC_DEPENDENCIES_append = " newlib-staticdev libgloss-staticdev"
-
-# No cached configsite files
-TOOLCHAIN_NEED_CONFIGSITE_CACHE = ""
-
-# Workaround for pulling in nativesdk-mingw-w64-winpthreads
-TOOLCHAIN_HOST_TASK_append_sdkmingw32 = " nativesdk-mingw-w64-winpthreads"
diff --git a/meta-xilinx/meta-xilinx-standalone/conf/layer.conf b/meta-xilinx/meta-xilinx-standalone/conf/layer.conf
deleted file mode 100644
index de1acee80..000000000
--- a/meta-xilinx/meta-xilinx-standalone/conf/layer.conf
+++ /dev/null
@@ -1,19 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend \
- ${LAYERDIR}/recipes-*/*.bb \
- ${LAYERDIR}/recipes-*/*.bbappend \
- "
-
-BBFILE_COLLECTIONS += "xilinx-standalone"
-BBFILE_PATTERN_xilinx-standalone = "^${LAYERDIR}/"
-BBFILE_PRIORITY_xilinx-standalone = "7"
-
-LAYERDEPENDS_xilinx-standalone = "core xilinx"
-LAYERRECOMMENDS_xilinx-standalone = "xilinx-microblaze"
-
-LAYERSERIES_COMPAT_xilinx-standalone = "dunfell gatesgarth"
-XILINX_RELEASE_VERSION = "v2020.2"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb
deleted file mode 100644
index 9b5bb1103..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-inherit esw deploy
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_hello_world/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil xilstandalone xiltimer freertos10-xilinx device-tree"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/freertos_hello_world* ${D}/${base_libdir}/firmware
-}
-
-FREERTOS_HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-FREERTOS_HELLO_WORLD_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.elf ${DEPLOYDIR}/${FREERTOS_HELLO_WORLD_BASE_NAME}.elf
- ln -sf ${FREERTOS_HELLO_WORLD_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.bin ${DEPLOYDIR}/${FREERTOS_HELLO_WORLD_BASE_NAME}.bin
- ln -sf ${FREERTOS_HELLO_WORLD_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/freertos_hello_world*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb
deleted file mode 100644
index ebfc85aaa..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-inherit esw deploy python3native
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_echo_server/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_generate_app_data() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/freertos_lwip_echo* ${D}/${base_libdir}/firmware
-}
-
-FREERTOS_LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-FREERTOS_LWIP_ECHO_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_ECHO_BASE_NAME}.elf
- ln -sf ${FREERTOS_LWIP_ECHO_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_ECHO_BASE_NAME}.bin
- ln -sf ${FREERTOS_LWIP_ECHO_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/freertos_lwip_echo*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb
deleted file mode 100644
index eb199d39e..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-inherit esw deploy python3native
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_client/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_generate_app_data() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/freertos_lwip_tcp_perf_client* ${D}/${base_libdir}/firmware
-}
-
-FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf
- ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin
- ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/freertos_lwip_tcp_perf_client*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb
deleted file mode 100644
index c22825934..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-inherit esw deploy python3native
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_server/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_generate_app_data() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/freertos_lwip_tcp_perf_server* ${D}/${base_libdir}/firmware
-}
-
-FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.elf
- ln -sf ${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.bin
- ln -sf ${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/freertos_lwip_tcp_perf_server*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb
deleted file mode 100644
index ccf8f09e4..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-inherit esw deploy python3native
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_client/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_generate_app_data() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/freertos_lwip_udp_perf_client* ${D}/${base_libdir}/firmware
-}
-
-FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf
- ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin
- ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/freertos_lwip_udp_perf_client*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb
deleted file mode 100644
index f2c9eaed1..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-inherit esw deploy python3native
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_server/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_generate_app_data() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/freertos_lwip_udp_perf_server* ${D}/${base_libdir}/firmware
-}
-
-FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.elf
- ln -sf ${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.bin
- ln -sf ${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/freertos_lwip_udp_perf_server*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/hello-world/hello-world_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/hello-world/hello-world_git.bb
deleted file mode 100644
index c67fb5f5f..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/hello-world/hello-world_git.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-inherit esw deploy
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/hello_world/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil xiltimer device-tree"
-
-inherit python3native
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/hello_world* ${D}/${base_libdir}/firmware
-}
-
-HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-HELLO_WORLD_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/hello_world.elf ${DEPLOYDIR}/${HELLO_WORLD_BASE_NAME}.elf
- ln -sf ${HELLO_WORLD_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/hello_world.elf ${WORKDIR}/package/${base_libdir}/firmware/hello_world.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/hello_world.bin ${DEPLOYDIR}/${HELLO_WORLD_BASE_NAME}.bin
- ln -sf ${HELLO_WORLD_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/hello_world*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb
deleted file mode 100644
index e0d6f13cf..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-inherit esw deploy python3native
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_echo_server/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_generate_app_data() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/lwip_echo* ${D}/${base_libdir}/firmware
-}
-
-LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-LWIP_ECHO_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo_server.elf ${DEPLOYDIR}/${LWIP_ECHO_BASE_NAME}.elf
- ln -sf ${LWIP_ECHO_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo.bin ${DEPLOYDIR}/${LWIP_ECHO_BASE_NAME}.bin
- ln -sf ${LWIP_ECHO_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/lwip_echo*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb
deleted file mode 100644
index 6f0c9b4a2..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-inherit esw deploy python3native
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_client/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_generate_app_data() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/lwip_tcp_perf_client* ${D}/${base_libdir}/firmware
-}
-
-LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-LWIP_TCP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.elf ${DEPLOYDIR}/${LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf
- ln -sf ${LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.bin ${DEPLOYDIR}/${LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin
- ln -sf ${LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/lwip_tcp_perf_client*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb
deleted file mode 100644
index d9f990c4c..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-inherit esw deploy python3native
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_server/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_generate_app_data() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/lwip_tcp_perf_server* ${D}/${base_libdir}/firmware
-}
-
-LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-LWIP_TCP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.elf ${DEPLOYDIR}/${LWIP_TCP_PERF_SERVER_BASE_NAME}.elf
- ln -sf ${LWIP_TCP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.bin ${DEPLOYDIR}/${LWIP_TCP_PERF_SERVER_BASE_NAME}.bin
- ln -sf ${LWIP_TCP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/lwip_tcp_perf_server*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb
deleted file mode 100644
index fc89c13ec..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-inherit esw deploy python3native
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_client/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_generate_app_data() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/lwip_udp_perf_client* ${D}/${base_libdir}/firmware
-}
-
-LWIP_UDP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-LWIP_UDP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.elf ${DEPLOYDIR}/${LWIP_UDP_PERF_CLIENT_BASE_NAME}.elf
- ln -sf ${LWIP_UDP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.bin ${DEPLOYDIR}/${LWIP_UDP_PERF_CLIENT_BASE_NAME}.bin
- ln -sf ${LWIP_UDP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/lwip_udp_perf_client*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb
deleted file mode 100644
index 8b9114ac3..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-inherit esw deploy python3native
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_server/src/"
-
-DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native"
-
-do_configure_prepend() {
- cd ${S}
- nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_generate_app_data() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/lwip_udp_perf_server* ${D}/${base_libdir}/firmware
-}
-
-LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-LWIP_UDP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf
- ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin
- ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/lwip_udp_perf_server*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/pmufw/pmufw_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/pmufw/pmufw_git.bb
deleted file mode 100644
index 19238f97a..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/pmufw/pmufw_git.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-inherit esw deploy
-
-COMPATIBLE_MACHINE = "microblaze-pmu"
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_pmufw/src"
-
-DEPENDS += "xilstandalone xiltimer xilfpga xilskey"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/pmufw* ${D}/${base_libdir}/firmware
-}
-
-PMU_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-PMU_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/pmufw.elf ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf
- ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/pmufw.elf ${WORKDIR}/package/${base_libdir}/firmware/pmufw.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/pmufw.bin ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.bin
- ln -sf ${PMU_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/pmufw*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-applications/zynqmp-fsbl/zynqmp-fsbl_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-applications/zynqmp-fsbl/zynqmp-fsbl_git.bb
deleted file mode 100644
index a0d2d2b9d..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-applications/zynqmp-fsbl/zynqmp-fsbl_git.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-inherit esw deploy
-
-COMPATIBLE_MACHINE = ".*-zynqmp"
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_fsbl/src"
-
-DEPENDS += "xilstandalone xiltimer xilffs xilsecure xilpm device-tree"
-
-PSU_INIT = "${RECIPE_SYSROOT}/${includedir}/devicetree/psu_init*"
-
-do_configure_prepend() {
- # Copy psu_init* files to fsbl source code
- cp ${PSU_INIT} ${S}/${ESW_COMPONENT_SRC}
-}
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/zynqmp_fsbl* ${D}/${base_libdir}/firmware
-}
-
-ZYNQMP_FSBL_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-ZYNQMP_FSBL_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # We need to deploy the stripped elf, hence why not doing it from ${D}
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_fsbl.elf ${DEPLOYDIR}/${ZYNQMP_FSBL_BASE_NAME}.elf
- ln -sf ${ZYNQMP_FSBL_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_fsbl.elf ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_fsbl.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_fsbl.bin ${DEPLOYDIR}/${ZYNQMP_FSBL_BASE_NAME}.bin
- ln -sf ${ZYNQMP_FSBL_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-CFLAGS_append_aarch64 = " -DARMA53_64"
-CFLAGS_append_armrm = " -DARMR5"
-
-FILES_${PN} = "${base_libdir}/firmware/zynqmp_fsbl*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-bsp/device-tree/device-tree.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-bsp/device-tree/device-tree.bbappend
deleted file mode 100644
index 2cc088f27..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-bsp/device-tree/device-tree.bbappend
+++ /dev/null
@@ -1,28 +0,0 @@
-COMPATIBLE_HOST_xilinx-standalone = "${HOST_SYS}"
-
-COMPATIBLE_MACHINE_cortexa53-zynqmp = ".*"
-COMPATIBLE_MACHINE_cortexr5-zynqmp = ".*"
-COMPATIBLE_MACHINE_microblaze-pmu = ".*"
-COMPATIBLE_MACHINE_microblaze-plm = ".*"
-COMPATIBLE_MACHINE_cortexa72-versal = ".*"
-COMPATIBLE_MACHINE_cortexr5-versal = ".*"
-COMPATIBLE_MACHINE_cortexa9-zynq = ".*"
-
-XSCTH_PROC_cortexa53-zynqmp ??= "psu_cortexa53_0"
-XSCTH_PROC_cortexr5-zynqmp ??= "psu_cortexr5_0"
-XSCTH_PROC_microblaze-pmu ??= "psu_pmu_0"
-XSCTH_PROC_cortexa72-versal ??= "psv_cortexa72_0"
-XSCTH_PROC_microblaze-plm ??= "psv_pmc_0"
-XSCTH_PROC_cortexr5-versal ??= "psv_cortexr5_0"
-XSCTH_PROC_cortexa9-zynq ??= "ps7_cortexa9_0"
-
-# Enable @ flag on dtc which is required by libxil
-DTC_FLAGS_append_xilinx-standalone = " -@"
-DT_INCLUDE_append_xilinx-standalone = " ${WORKDIR}/git/device_tree/data/kernel_dtsi/${XILINX_RELEASE_VERSION}/include/"
-
-
-do_install_append_zynqmp_xilinx-standalone() {
- install -d ${D}${includedir}/devicetree
- install -m 0644 ${B}/${PN}/psu_init.c ${D}/${includedir}/devicetree/psu_init.c
- install -m 0644 ${B}/${PN}/psu_init.h ${D}/${includedir}/devicetree/psu_init.h
-}
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/gnu-toolchain-canadian.bb b/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/gnu-toolchain-canadian.bb
deleted file mode 100644
index ca8885b87..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/gnu-toolchain-canadian.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-inherit cross-canadian
-
-SUMMARY = "Links to the various GNU toolchains for use with the Xilinx multilib toolchain"
-PN = "gnu-toolchain-canadian-${TARGET_SYS}"
-BPN = "gnu-toolchain-canadian"
-
-LICENSE = "MIT"
-
-do_install () {
- if [ "${TARGET_SYS_MULTILIB_ORIGINAL}" != "" -a "${TARGET_SYS_MULTILIB_ORIGINAL}" != "${TARGET_SYS}" ]; then
- mkdir -p ${D}${bindir}
-
- # Create a link for each item references by the environment files
- for each in gcc g++ as ld gdb strip ranlib objcopy objdump readelf ar nm ; do
- ln -s ../${TARGET_SYS_MULTILIB_ORIGINAL}/${TARGET_SYS_MULTILIB_ORIGINAL}-${each} ${D}${bindir}/${TARGET_SYS}-$each
- done
- fi
-}
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-ALLOW_EMPTY_${PN} = "1"
-FILES_${PN} = "${bindir}"
-
-PACKAGES = "${PN}"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend
deleted file mode 100644
index ff7d2c726..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend
+++ /dev/null
@@ -1,12 +0,0 @@
-COMPATIBLE_HOST = "${HOST_SYS}"
-
-# We want a smaller SDK then normal, so don't use nativesdk-packagegroup-sdk-host
-# The following should work on both Linux and mingw32
-
-HOST_DEPENDS = " \
- nativesdk-qemu \
- nativesdk-sdk-provides-dummy \
-"
-
-TOOLCHAIN_HOST_TASK_xilinx-standalone = "${HOST_DEPENDS} packagegroup-cross-canadian-${MACHINE}"
-TOOLCHAIN_TARGET_TASK_xilinx-standalone = "${@multilib_pkg_extend(d, 'packagegroup-newlib-standalone-sdk-target')}"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/libgloss_4.%.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/libgloss_4.%.bbappend
deleted file mode 100644
index 646d0e9a9..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/libgloss_4.%.bbappend
+++ /dev/null
@@ -1,12 +0,0 @@
-COMPATIBLE_HOST = ".*-elf"
-COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi"
-
-# When building multiple, we need to depend on the multilib newlib
-DEPENDS_append_xilinx-standalone = " ${MLPREFIX}newlib"
-
-EXTRA_OECONF_append_xilinx-standalone = " \
- --enable-newlib-io-c99-formats \
- --enable-newlib-io-long-long \
- --enable-newlib-io-float \
- --enable-newlib-io-long-double \
-"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/newlib_4.%.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/newlib_4.%.bbappend
deleted file mode 100644
index 90522cfbc..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/newlib_4.%.bbappend
+++ /dev/null
@@ -1,20 +0,0 @@
-COMPATIBLE_HOST = ".*-elf"
-COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi"
-
-EXTRA_OECONF_append_xilinx-standalone = " \
- --enable-newlib-io-c99-formats \
- --enable-newlib-io-long-long \
- --enable-newlib-io-float \
- --enable-newlib-io-long-double \
-"
-
-# Avoid trimmping CCARGS from CC by newlib configure
-do_configure_prepend_xilinx-standalone(){
- export CC_FOR_TARGET="${CC}"
-}
-
-# Fix for multilib newlib installations
-do_install_prepend_xilinx-standalone() {
- mkdir -p $(dirname ${D}${libdir})
- mkdir -p $(dirname ${D}${includedir})
-}
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend
deleted file mode 100644
index 456ec6c1c..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend
+++ /dev/null
@@ -1,14 +0,0 @@
-# Avoid installing all of the alternative toolchains
-# due to multilib enabled in the primary toolchain.
-
-# Create the links to the multilib toolchain components
-GNUTCLINKS = "gnu-toolchain-canadian-${TARGET_SYS}"
-
-# Without the := the eval during do_package is occasionally missing multilibs
-RDEPENDS_${PN}_xilinx-standalone := " \
- ${@all_multilib_tune_values(d, 'GNUTCLINKS')} \
- ${BINUTILS} \
- ${GCC} \
- ${GDB} \
- meta-environment-${MACHINE} \
-"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb b/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb
deleted file mode 100644
index b64554d35..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-COMPATIBLE_HOST = "${HOST_SYS}"
-
-SUMMARY = "Target packages for the standalone SDK"
-
-PACKAGE_ARCH = "${TUNE_PKGARCH}"
-
-inherit packagegroup
-
-RDEPENDS_${PN} = "\
- libgcc-dev \
- libstdc++-dev \
- ${LIBC_DEPENDENCIES} \
- "
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend
deleted file mode 100644
index 5ba6039bd..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require binutils-xilinx-standalone.inc
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross_%.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross_%.bbappend
deleted file mode 100644
index 5ba6039bd..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require binutils-xilinx-standalone.inc
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-xilinx-standalone.inc b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-xilinx-standalone.inc
deleted file mode 100644
index ac5697362..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/binutils/binutils-xilinx-standalone.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-LDGOLD_xilinx-standalone = ""
-LDGOLD_ALTS_xilinx-standalone = ""
-
-EXTRA_OECONF_append_xilinx-standalone = " \
- --disable-gprof \
- --disable-shared \
- --enable-lto \
- --enable-static \
- --enable-multilib \
-"
-
-# CortexR5 and 32-bit arm are both "arm"
-EXTRA_OECONF_append_xilinx-standalone_arm = " \
- --enable-interwork \
-"
-
-EXTRA_OECONF_append_xilinx-standalone_microblaze = " \
- --disable-initfini-array \
-"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-10/additional-microblaze-multilibs.patch b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-10/additional-microblaze-multilibs.patch
deleted file mode 100644
index 3d520d0f9..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-10/additional-microblaze-multilibs.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-Change the multilib settings to match the expectations of Vitis and related.
-
-The multilib list is as follows:
-
-.;
-le;@mlittle-endian
-bs;@mxl-barrel-shift
-p;@mxl-pattern-compare
-m;@mno-xl-soft-mul
-fpd;@mhard-float
-m/fpd;@mno-xl-soft-mul@mhard-float
-p/m;@mxl-pattern-compare@mno-xl-soft-mul
-p/fpd;@mxl-pattern-compare@mhard-float
-p/m/fpd;@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
-bs/p;@mxl-barrel-shift@mxl-pattern-compare
-bs/m;@mxl-barrel-shift@mno-xl-soft-mul
-bs/fpd;@mxl-barrel-shift@mhard-float
-bs/m/fpd;@mxl-barrel-shift@mno-xl-soft-mul@mhard-float
-bs/p/m;@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul
-bs/p/fpd;@mxl-barrel-shift@mxl-pattern-compare@mhard-float
-bs/p/m/fpd;@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
-le/m64;@mlittle-endian@m64
-le/bs;@mlittle-endian@mxl-barrel-shift
-le/p;@mlittle-endian@mxl-pattern-compare
-le/m;@mlittle-endian@mno-xl-soft-mul
-le/fpd;@mlittle-endian@mhard-float
-le/m/fpd;@mlittle-endian@mno-xl-soft-mul@mhard-float
-le/p/m;@mlittle-endian@mxl-pattern-compare@mno-xl-soft-mul
-le/p/fpd;@mlittle-endian@mxl-pattern-compare@mhard-float
-le/p/m/fpd;@mlittle-endian@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
-le/bs/p;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare
-le/bs/m;@mlittle-endian@mxl-barrel-shift@mno-xl-soft-mul
-le/bs/fpd;@mlittle-endian@mxl-barrel-shift@mhard-float
-le/bs/m/fpd;@mlittle-endian@mxl-barrel-shift@mno-xl-soft-mul@mhard-float
-le/bs/p/m;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul
-le/bs/p/fpd;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare@mhard-float
-le/bs/p/m/fpd;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
-le/m64/bs;@mlittle-endian@m64@mxl-barrel-shift
-le/m64/p;@mlittle-endian@m64@mxl-pattern-compare
-le/m64/m;@mlittle-endian@m64@mno-xl-soft-mul
-le/m64/fpd;@mlittle-endian@m64@mhard-float
-le/m64/m/fpd;@mlittle-endian@m64@mno-xl-soft-mul@mhard-float
-le/m64/p/m;@mlittle-endian@m64@mxl-pattern-compare@mno-xl-soft-mul
-le/m64/p/fpd;@mlittle-endian@m64@mxl-pattern-compare@mhard-float
-le/m64/p/m/fpd;@mlittle-endian@m64@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
-le/m64/bs/p;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare
-le/m64/bs/m;@mlittle-endian@m64@mxl-barrel-shift@mno-xl-soft-mul
-le/m64/bs/fpd;@mlittle-endian@m64@mxl-barrel-shift@mhard-float
-le/m64/bs/m/fpd;@mlittle-endian@m64@mxl-barrel-shift@mno-xl-soft-mul@mhard-float
-le/m64/bs/p/m;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul
-le/m64/bs/p/fpd;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare@mhard-float
-le/m64/bs/p/m/fpd;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul@mhard-float
-
-As part of this the order of the multilibs was changes from upstream to make
-it easier to avoid big-endian m64, which is not supported by the toolchain.
-
-Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
-
-Index: gcc-9.2.0/gcc/config/microblaze/t-microblaze
-===================================================================
---- gcc-9.2.0.orig/gcc/config/microblaze/t-microblaze
-+++ gcc-9.2.0/gcc/config/microblaze/t-microblaze
-@@ -1,17 +1,11 @@
--MULTILIB_OPTIONS = m64 mxl-barrel-shift mlittle-endian mno-xl-soft-mul mxl-multiply-high
--#MULTILIB_DIRNAMES = m64 bs le m mh
--MULTILIB_DIRNAMES = . . . . .
--MULTILIB_EXCEPTIONS = *m64/mxl-multiply-high mxl-multiply-high
--MULTILIB_EXCEPTIONS += *m64
--MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift
--MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul
--MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul
--MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul
--MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul/mxl-multiply-high
--MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul/mxl-multiply-high
-+MULTILIB_OPTIONS = mlittle-endian m64 mxl-barrel-shift mxl-pattern-compare mno-xl-soft-mul mhard-float
-+MULTILIB_DIRNAMES = le m64 bs p m fpd
-+MULTILIB_EXCEPTIONS = mxl-multiply-high
- MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
- MULTILIB_EXCEPTIONS += *mlittle-endian/mxl-multiply-high mxl-multiply-high
--MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mlittle-endian/mxl-multiply-high
-+MULTILIB_EXCEPTIONS += *mxl-pattern-compare*/*mxl-multiply-high*
-+# Big endian m64 is not supported
-+MULTILIB_EXCEPTIONS += m64*
-
- # Extra files
- microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-configure-xilinx-standalone.inc b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-configure-xilinx-standalone.inc
deleted file mode 100644
index b9bfe83dd..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-configure-xilinx-standalone.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-# Mimic the file gcc-configure-common from the Yocto Project
-LINKER_HASH_STYLE_xilinx-standalone = ""
-SYMVERS_CONF_xilinx-standalone = ""
-
-EXTRA_OECONF_append_xilinx-standalone_microblaze = " --disable-initfini_array"
-
-EXTRA_OECONF_append_xilinx-standalone_microblaze = " --disable-__cxa_atexit"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend
deleted file mode 100644
index 152348486..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend
+++ /dev/null
@@ -1,20 +0,0 @@
-require gcc-configure-xilinx-standalone.inc
-require gcc-xilinx-standalone.inc
-
-# We want to use the stock multilib configs, when available
-EXTRACONFFUNCS_xilinx-standalone = ""
-
-EXTRA_OECONF_append_xilinx-standalone = " \
- --enable-multilib \
-"
-
-# Temporary hack to build gcc cross canadian for tclibc-newlib as --with-sysroot=/not/exist
-# has been removed from TARGET_OS for elf and eabi in gcc-cross-canadian.inc
-
-python() {
- if 'xilinx-standalone' in d.getVar("DISTROOVERRIDES").split(':'):
- extraoeconfgcc = d.getVar('EXTRA_OECONF')
- extraoeconfgcc += " --with-sysroot=/not/exist"
- d.delVar('EXTRA_OECONF')
- d.setVar('EXTRA_OECONF', extraoeconfgcc)
-}
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross_%.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross_%.bbappend
deleted file mode 100644
index 22a3e3a9b..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross_%.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-require gcc-configure-xilinx-standalone.inc
-require gcc-xilinx-standalone.inc
-
-# We want to use the stock multilib configs, when available
-EXTRACONFFUNCS_xilinx-standalone = ""
-
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend
deleted file mode 100644
index 7057a0576..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend
+++ /dev/null
@@ -1,74 +0,0 @@
-require gcc-configure-xilinx-standalone.inc
-
-COMPATIBLE_HOST = "${HOST_SYS}"
-
-EXTRA_OECONF_append_xilinx-standalone_class-target = " \
- --disable-libstdcxx-pch \
- --with-newlib \
- --disable-threads \
- --enable-plugins \
- --with-gnu-as \
- --disable-libitm \
-"
-
-EXTRA_OECONF_append_xilinx-standalone_aarch64_class-target = " \
- --disable-multiarch \
- --with-arch=armv8-a \
- "
-
-# Both arm and armrm overrides are set w/ cortex r5
-# So only set rmprofile if armrm is defined.
-ARM_PROFILE = "aprofile"
-ARM_PROFILE_armrm = "rmprofile"
-
-EXTRA_OECONF_append_xilinx-standalone_arm_class-target = " \
- --with-multilib-list=${ARM_PROFILE} \
- "
-
-EXTRA_OECONF_append_xilinx-standalone_armrm_class-target = " \
- --disable-tls \
- --disable-decimal-float \
- "
-
-EXTRA_OECONF_append_xilinx-standalone_microblaze_class-target = " \
- --enable-target-optspace \
- --without-long-double-128 \
- "
-
-# Changes local to gcc-runtime...
-
-# Dont build libitm, etc.
-RUNTIMETARGET_xilinx-standalone_class-target = "libstdc++-v3"
-
-do_install_append_xilinx-standalone_class-target() {
- # Fixup what gcc-runtime normally would do, we don't want linux directories!
- rm -rf ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
-
- # The multilibs have different headers, so stop combining them!
- if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
- rm -rf ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
- fi
-
- # link the C++ header into the place that multilib gcc expects
- # C++ compiler looks at usr/include/c++/version/canonical-arch/mlib
- if [ "${TARGET_SYS_MULTILIB_ORIGINAL}" != "" -a "${TARGET_SYS_MULTILIB_ORIGINAL}" != "${TARGET_SYS}" ]; then
- mlib=${BASE_LIB_tune-${DEFAULTTUNE}}
- mlib=${mlib##lib/}
-
- link_name=${D}${includedir}/c++/${BINV}/${TARGET_SYS_MULTILIB_ORIGINAL}/${mlib}
- target=${D}${includedir}/c++/${BINV}/${TARGET_SYS}
-
- echo mkdir -p $link_name
- mkdir -p $link_name
- for each in bits ext ; do
- relpath=$(python3 -c "import os.path; print(os.path.relpath('$target/$each', '$(dirname $link_name/$each)'))")
-
- echo ln -s $relpath $link_name/$each
- ln -s $relpath $link_name/$each
- done
- fi
-}
-
-FILES_${PN}-dbg_append_xilinx-standalone_class-target = "\
- ${libdir}/libstdc++.a-gdb.py \
-"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_10.%.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_10.%.bbappend
deleted file mode 100644
index d3abc611b..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_10.%.bbappend
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPATIBLE_HOST = "${HOST_SYS}"
-
-# Add MicroBlaze Patches (only when using MicroBlaze)
-FILESEXTRAPATHS_append_microblaze_xilinx-standalone := ":${THISDIR}/gcc-10"
-SRC_URI_append_microblaze_xilinx-standalone = " \
- file://additional-microblaze-multilibs.patch \
-"
-
-CHECK_FOR_MICROBLAZE_microblaze = "1"
-
-python() {
- if d.getVar('CHECK_FOR_MICROBLAZE') == '1':
- if 'xilinx-microblaze' not in d.getVar('BBFILE_COLLECTIONS').split():
- bb.fatal('You must include the meta-microblaze layer to build for this configuration.')
-}
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc
deleted file mode 100644
index 29f67aff2..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc
+++ /dev/null
@@ -1,31 +0,0 @@
-EXTRA_OECONF_append_xilinx-standalone = " \
- --disable-libstdcxx-pch \
- --with-newlib \
- --disable-threads \
- --enable-plugins \
- --with-gnu-as \
- --disable-libitm \
-"
-
-EXTRA_OECONF_append_xilinx-standalone_aarch64 = " \
- --disable-multiarch \
- --with-arch=armv8-a \
- "
-
-# Both arm and armrm overrides are set w/ cortex r5
-# So only set rmprofile if armrm is defined.
-ARM_PROFILE = "aprofile"
-ARM_PROFILE_armrm = "rmprofile"
-EXTRA_OECONF_append_xilinx-standalone_arm = " \
- --with-multilib-list=${ARM_PROFILE} \
- "
-
-EXTRA_OECONF_append_xilinx-standalone_armrm = " \
- --disable-tls \
- --disable-decimal-float \
- "
-
-EXTRA_OECONF_append_xilinx-standalone_microblaze = " \
- --enable-target-optspace \
- --without-long-double-128 \
- "
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend
deleted file mode 100644
index 17529a039..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend
+++ /dev/null
@@ -1,29 +0,0 @@
-require gcc-configure-xilinx-standalone.inc
-
-COMPATIBLE_HOST = "${HOST_SYS}"
-
-python do_multilib_install_xilinx-standalone_class-target () {
- pass
-}
-
-standalone_fixup () {
- (
- cd ${D}${libdir}
- for each in ${TARGET_SYS}/*/* ; do
- ln -s $each $(basename $each)
- done
- )
-
- # Apparently we can end up with an empty /lib occasionally
- find ${D}/lib -type d | sort -r | xargs rmdir || :
-}
-
-FIXUP_FUNCTION = ""
-FIXUP_FUNCTION_xilinx-standalone_class-target = " standalone_fixup"
-
-do_install[postfuncs] .= "${FIXUP_FUNCTION}"
-
-FILES_${PN}-dev_append_xilinx-standalone_class-target = " \
- ${libdir}/*.a \
- ${libdir}/*.o \
-"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert-head.sh b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert-head.sh
deleted file mode 100755
index b59dff1e0..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert-head.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#! /bin/bash
-
-# Call using:
-#../microblaze/sysroots/x86_64-oesdk-linux/usr/bin/microblaze-xilinx-elf/microblaze-xilinx-elf-gcc -print-multi-lib | mb-convert-head.sh
-
-# Then copy the output into the special microblaze-tc BSP
-
-sed -e 's,;, ,' |
- while read mlib args ; do
- if [ $mlib = '.' ]; then
- continue
- fi
- multilib="libmb$(echo $mlib | sed -e 's,/,,g')"
-
- echo 'MULTILIBS += "multilib:'${multilib}'"'
- done
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert.sh b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert.sh
deleted file mode 100755
index e05145ec4..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#! /bin/bash
-
-# Call using:
-#../microblaze/sysroots/x86_64-oesdk-linux/usr/bin/microblaze-xilinx-elf/microblaze-xilinx-elf-gcc -print-multi-lib | mb-convert.sh
-
-# Then copy the output into the special microblaze-tc BSP
-
-mlib_to_feature() {
- feature_base="microblaze"
- feature_endian=" bigendian"
- feature_barrel=""
- feature_pattern=""
- feature_multiply=""
- feature_multiplyhigh=""
- feature_sixtyfour=""
- feature_math=""
- while read feature ; do
- case $feature in
- le) feature_endian="";;
- bs) feature_barrel=" barrel-shift";;
- p) feature_pattern=" pattern-compare";;
- m) if [ -z ${feature_multiplyhigh} ]; then feature_multiply=" multiply-low" ; fi ;;
- mh) feature_multiply="" ; feature_multiplyhigh=" multiply-high";;
- m64) feature_sixtyfour=" 64-bit";;
- fpd) feature_math=" fpu-hard";;
- *) echo "UNKNOWN $feature";;
- esac
- done
- echo "${feature_base}${feature_sixtyfour}${feature_endian}${feature_barrel}${feature_pattern}${feature_multiply}${feature_multiplyhigh}${feature_math}"
-}
-
-sed -e 's,;, ,' |
- while read mlib args ; do
- if [ $mlib = '.' ]; then
- echo '# Base configuration'
- echo '# CFLAGS:'
- echo 'DEFAULTTUNE = "microblaze"'
- echo
- echo 'AVAILTUNES += "microblaze"'
- echo 'BASE_LIB_tune-microblaze = "lib"'
- echo 'TUNE_FEATURES_tune-microblaze = "microblaze bigendian"'
- echo 'PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"'
- continue
- fi
-
- cflags=$(echo $args | sed -e 's,@, -,g')
- multilib="libmb$(echo $mlib | sed -e 's,/,,g')"
- tune="microblaze$(echo $mlib | sed -e 's,m64,64,' -e 's,/,,g')"
- features=$(echo $mlib | sed -e 's,/, ,g' | xargs -n 1 echo | mlib_to_feature)
- echo
- echo
- echo "# $mlib"
- echo "# CFLAGS:${cflags}"
- echo "DEFAULTTUNE_virtclass-multilib-$multilib = \"$tune\""
- echo
- echo "AVAILTUNES += \"$tune\""
- echo "BASE_LIB_tune-$tune = \"lib/$mlib\""
- echo "TUNE_FEATURES_tune-$tune = \"${features}\""
- echo "PACKAGE_EXTRA_ARCHS_tune-$tune = \"\${TUNE_PKGARCH}\""
- done
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend
deleted file mode 100644
index 0d8243241..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-COMPATIBLE_HOST = "${HOST_SYS}"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axicdma_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axicdma_git.bb
deleted file mode 100644
index 442ffb7b3..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axicdma_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axicdma/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axidma_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axidma_git.bb
deleted file mode 100644
index 05f4c342b..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axidma_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axidma/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axiethernet_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axiethernet_git.bb
deleted file mode 100644
index 1dc83406f..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axiethernet_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axiethernet/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axivdma_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axivdma_git.bb
deleted file mode 100644
index 415cb9b4b..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/axivdma_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axivdma/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/can_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/can_git.bb
deleted file mode 100644
index 3f688c3b3..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/can_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/can/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/canfd_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/canfd_git.bb
deleted file mode 100644
index 36fa367ba..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/canfd_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canfd/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/canps_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/canps_git.bb
deleted file mode 100644
index ab6f6478f..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/canps_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canps/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/clockps_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/clockps_git.bb
deleted file mode 100644
index b0bb1ccb9..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/clockps_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/clockps/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/csudma_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/csudma_git.bb
deleted file mode 100644
index f505a8af3..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/csudma_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/csudma/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/devcfg_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/devcfg_git.bb
deleted file mode 100644
index 044144655..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/devcfg_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/devcfg/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/dmaps_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/dmaps_git.bb
deleted file mode 100644
index 0891fb86a..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/dmaps_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dmaps/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/emaclite_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/emaclite_git.bb
deleted file mode 100644
index 927bc93be..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/emaclite_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emaclite/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/emacps_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/emacps_git.bb
deleted file mode 100644
index 530087a49..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/emacps_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emacps/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/gpio_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/gpio_git.bb
deleted file mode 100644
index 8302d66d3..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/gpio_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpio/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/gpiops_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/gpiops_git.bb
deleted file mode 100644
index 9ece49a95..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/gpiops_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpiops/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/ipipsu_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/ipipsu_git.bb
deleted file mode 100644
index 83a107eb1..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/ipipsu_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ipipsu/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/llfifo_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/llfifo_git.bb
deleted file mode 100644
index dbc1945fe..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/llfifo_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/llfifo/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/mbox_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/mbox_git.bb
deleted file mode 100644
index 085a459eb..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/mbox_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mbox/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/mcdma_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/mcdma_git.bb
deleted file mode 100644
index 4b45d0037..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/mcdma_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mcdma/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/mutex_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/mutex_git.bb
deleted file mode 100644
index 6a7b39b4c..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/mutex_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mutex/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/nandpsu_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/nandpsu_git.bb
deleted file mode 100644
index 8fd7251b0..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/nandpsu_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/nandpsu/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/ospipsv_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/ospipsv_git.bb
deleted file mode 100644
index b98f9b517..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/ospipsv_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ospipsv/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/qspips_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/qspips_git.bb
deleted file mode 100644
index 1f0a12409..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/qspips_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspips/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/qspipsu_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/qspipsu_git.bb
deleted file mode 100644
index f1c97e972..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/qspipsu_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspipsu/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/resetps_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/resetps_git.bb
deleted file mode 100644
index 51e4eaad6..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/resetps_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/resetps/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/rtcpsu_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/rtcpsu_git.bb
deleted file mode 100644
index 19f17f731..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/rtcpsu_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/rtcpsu/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/scugic_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/scugic_git.bb
deleted file mode 100644
index f20c82411..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/scugic_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/scugic/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/sdps_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/sdps_git.bb
deleted file mode 100644
index cba4543cd..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/sdps_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sdps/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/spips_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/spips_git.bb
deleted file mode 100644
index d1395a1e1..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/spips_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/spips/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/sysmon_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/sysmon_git.bb
deleted file mode 100644
index cc10bbc1e..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/sysmon_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmon/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/tmrctr_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/tmrctr_git.bb
deleted file mode 100644
index 2e675fb7f..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/tmrctr_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmrctr/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/ttcps_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/ttcps_git.bb
deleted file mode 100644
index 72a215665..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/ttcps_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ttcps/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/uartlite_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/uartlite_git.bb
deleted file mode 100644
index 0f6d688ff..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/uartlite_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartlite/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/uartps_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/uartps_git.bb
deleted file mode 100644
index e898f011c..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/uartps_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartps/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/usbpsu_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/usbpsu_git.bb
deleted file mode 100644
index 976453758..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/usbpsu_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usbpsu/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/wdtps_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/wdtps_git.bb
deleted file mode 100644
index de70d5fce..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/wdtps_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdtps/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/xadcps_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/xadcps_git.bb
deleted file mode 100644
index 2e6075213..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/xadcps_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xadcps/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/xxvethernet_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/xxvethernet_git.bb
deleted file mode 100644
index 66e6bcd62..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/xxvethernet_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xxvethernet/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/zdma_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-drivers/zdma_git.bb
deleted file mode 100644
index 584a1b204..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-drivers/zdma_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit esw_examples
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/zdma/examples/"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend
deleted file mode 100644
index 0d8243241..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-COMPATIBLE_HOST = "${HOST_SYS}"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/freertos10-xilinx_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/freertos10-xilinx_git.bb
deleted file mode 100644
index 870524d20..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/freertos10-xilinx_git.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-inherit esw python3native
-
-ESW_COMPONENT_SRC = "/ThirdParty/bsp/freertos10_xilinx/src/"
-ESW_COMPONENT_NAME = "libfreertos.a"
-
-DEPENDS += "libxil xilstandalone xilmem dtc-native python3-pyyaml-native python3-dtc-native xiltimer"
-
-do_configure_prepend() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/libxil_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/libxil_git.bb
deleted file mode 100644
index 4ac7c1150..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/libxil_git.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-inherit esw python3native
-
-ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/"
-ESW_COMPONENT_NAME = "libxil.a"
-
-DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native xilstandalone xilmem device-tree"
-
-do_configure_prepend() {
- # This will generate CMakeLists.txt which contains
- # drivers for the libxil
- cd ${S}
- #TODO
- # This call was initially used to get the list of drivers and libraries required
- # by the design to the build system to use as dependencies to the application
- # being built, at this point this is all done in a single cmake build bundling
- # everything in libxil, which is undesired.
- DRIVERS_LIST=$(nativepython3 ${S}/scripts/getdrvlist.py -d ${DTBFILE})
-}
-
-do_generate_driver_data() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/generate_drvdata.py -d ${DTBFILE}
-}
-
-addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot
-do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/lwip_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/lwip_git.bb
deleted file mode 100644
index 7e31b32e8..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/lwip_git.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-inherit esw python3native
-
-ESW_COMPONENT_SRC = "/ThirdParty/sw_services/lwip211/src/"
-ESW_COMPONENT_NAME = "liblwip211.a"
-
-DEPENDS += "dtc-native python3-dtc-native libxil python3-pyyaml-native"
-DEPENDS_append_xilinx-freertos = "freertos10-xilinx"
-
-do_configure_prepend() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
-
-do_install() {
- install -d ${D}${libdir}
- install -d ${D}${includedir}
- install -m 0755 ${B}/${ESW_COMPONENT_NAME} ${D}${libdir}
- install -m 0644 ${B}/include/*.h ${D}${includedir}
- cp -r ${B}/include/arch/ ${D}${includedir}
- cp -r ${B}/include/include/lwip/ ${D}${includedir}
- cp -r ${B}/include/include/netif/ ${D}${includedir}
-}
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilffs_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilffs_git.bb
deleted file mode 100644
index fdfbb7cff..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilffs_git.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilffs/src/"
-ESW_COMPONENT_NAME = "libxilffs.a"
-
-EXTRA_OECMAKE += "-DXILFFS_use_mkfs=OFF"
-EXTRA_OECMAKE += "-DXILFFS_read_only=ON"
-EXTRA_OECMAKE += "-DXILFFS_word_access=OFF"
-
-DEPENDS += "xilstandalone libxil"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilfpga_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilfpga_git.bb
deleted file mode 100644
index 41405fdfb..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilfpga_git.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilfpga/src/"
-ESW_COMPONENT_NAME = "libxilfpga.a"
-
-DEPENDS += " libxil xilsecure"
-
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilloader_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilloader_git.bb
deleted file mode 100644
index 682908adb..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilloader_git.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilloader/src/"
-ESW_COMPONENT_NAME = "libxilloader.a"
-
-DEPENDS += "xilstandalone libxil xilpm xilpdi xilffs xilsecure xilpuf"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilmailbox_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilmailbox_git.bb
deleted file mode 100644
index ff61d95d3..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilmailbox_git.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilmailbox/src/"
-ESW_COMPONENT_NAME = "libxilmailbox.a"
-
-DEPENDS += "xilstandalone libxil"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilmem_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilmem_git.bb
deleted file mode 100644
index de9425408..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilmem_git.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilmem/src/"
-ESW_COMPONENT_NAME = "libxilmem.a"
-
-DEPENDS += "xilstandalone"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpdi_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpdi_git.bb
deleted file mode 100644
index c008b0698..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpdi_git.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilpdi/src/"
-ESW_COMPONENT_NAME = "libxilpdi.a"
-
-DEPENDS += "xilstandalone libxil"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilplmi_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilplmi_git.bb
deleted file mode 100644
index e866e98f9..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilplmi_git.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilplmi/src/"
-ESW_COMPONENT_NAME = "libxilplmi.a"
-
-DEPENDS += "xilstandalone libxil"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpm_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpm_git.bb
deleted file mode 100644
index 80132c90c..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpm_git.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilpm/src/"
-ESW_COMPONENT_NAME = "libxilpm.a"
-
-DEPENDS = "libxil"
-DEPENDS_microblaze-plm_append = "xilplmi"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpuf_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpuf_git.bb
deleted file mode 100644
index 31f06288b..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilpuf_git.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilpuf/src/"
-ESW_COMPONENT_NAME = "libxilpuf.a"
-
-DEPENDS += "libxil"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilsecure_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilsecure_git.bb
deleted file mode 100644
index 0ad555105..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilsecure_git.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilsecure/src/"
-ESW_COMPONENT_NAME = "libxilsecure.a"
-
-DEPENDS += "libxil"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilsem_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilsem_git.bb
deleted file mode 100644
index 3631d7f0f..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilsem_git.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilsem/src/"
-ESW_COMPONENT_NAME = "libxilsem.a"
-
-DEPENDS += "xilstandalone libxil"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilskey_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilskey_git.bb
deleted file mode 100644
index 847825546..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilskey_git.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit esw
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xilskey/src/"
-ESW_COMPONENT_NAME = "libxilskey.a"
-
-DEPENDS += "libxil"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilstandalone_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilstandalone_git.bb
deleted file mode 100644
index a4a393c37..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xilstandalone_git.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-inherit esw python3native
-
-ESW_COMPONENT_SRC = "/lib/bsp/standalone/src/"
-ESW_COMPONENT_NAME = "libxilstandalone.a"
-
-DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native libgloss device-tree"
-
-do_configure_prepend() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/generate_libdata.py -d ${DTBFILE}
-}
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xiltimer_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xiltimer_git.bb
deleted file mode 100644
index 428fa6869..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-libraries/xiltimer_git.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-inherit esw python3native
-
-ESW_COMPONENT_SRC = "/lib/sw_services/xiltimer/src/"
-ESW_COMPONENT_NAME = "libxiltimer.a"
-
-DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native libxil device-tree"
-
-do_configure_prepend() {
- # This script should also not rely on relative paths and such
- cd ${S}
- nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
-}
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/plm/plm-standalone_git.bb b/meta-xilinx/meta-xilinx-standalone/recipes-standalone/plm/plm-standalone_git.bb
deleted file mode 100644
index 25988eb9e..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/plm/plm-standalone_git.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-inherit esw deploy
-
-ESW_COMPONENT_SRC = "/lib/sw_apps/versal_plm/src/"
-
-DEPENDS += "xilstandalone xiltimer xilffs xilpdi xilplmi xilloader xilpm xilsecure xilsem"
-
-do_install() {
- install -d ${D}/${base_libdir}/firmware
- # Note that we have to make the ELF executable for it to be stripped
- install -m 0755 ${B}/versal_plm* ${D}/${base_libdir}/firmware
-}
-
-PLM_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-PLM_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
-
- # Not a huge fan of deploying from package but we want the stripped elf to be deployed.
- # We could, technically create another task that runs after do_install that strips it but it
- # seems unnecessarily convoluted, unless there's an objection on performing do_install we
- # should do it this way since it easier to keep up with changes in oe-core.
-
- install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.elf ${DEPLOYDIR}/${PLM_FIRMWARE_BASE_NAME}.elf
- ln -sf ${PLM_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.elf ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.bin
- install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.bin ${DEPLOYDIR}/${PLM_FIRMWARE_BASE_NAME}.bin
- ln -sf ${PLM_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_package
-
-FILES_${PN} = "${base_libdir}/firmware/plm*"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/plm/plm_2020.2.bb b/meta-xilinx/meta-xilinx-standalone/recipes-standalone/plm/plm_2020.2.bb
deleted file mode 100644
index c5a68ef17..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/plm/plm_2020.2.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-inherit deploy
-
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://../../../../license.txt;md5=39ab6ab638f4d1836ba994ec6852de94"
-
-SRCREV = "e8db5fb118229fdc621e0ec7848641a23bf60998"
-PV = "${XILINX_RELEASE_VERSION}+git${SRCPV}"
-
-SRC_URI = "git://github.com/Xilinx/embeddedsw.git;protocol=https;nobranch=1"
-
-COMPATIBLE_HOST = "microblaze.*-elf"
-COMPATIBLE_MACHINE = "versal-mb"
-
-
-S = "${WORKDIR}/git/lib/sw_apps/versal_plm/src"
-
-# The makefile does not handle parallelization
-PARALLEL_MAKE = ""
-
-do_configure() {
- # manually do the copy_bsp step first, so as to be able to fix up use of
- # mb-* commands
- ${S}/../misc/copy_bsp.sh
-}
-
-COMPILER = "${CC}"
-COMPILER_FLAGS = "-O2 -c"
-EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects"
-ARCHIVER = "${AR}"
-
-BSP_DIR ?= "${S}/../misc/versal_plm_bsp"
-BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_pmc_0/libsrc"
-
-def bsp_make_vars(d):
- s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"]
- return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
-
-do_compile() {
- # the Makefile in ${S}/../misc/Makefile, does not handle CC, AR, AS, etc
- # properly. So do its job manually. Preparing the includes first, then libs.
- for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
- done
- for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
- done
-
- # --build-id=none is required due to linker script not defining a location for it.
- # Again, recipe-systoot include is necessary
- oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
-}
-
-do_install() {
- :
-}
-
-PLM_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-PLM_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
- install -Dm 0644 ${B}/plm.elf ${DEPLOYDIR}/${PLM_BASE_NAME}.elf
- ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${B}/plm.elf ${B}/plm.bin
- install -m 0644 ${B}/plm.bin ${DEPLOYDIR}/${PLM_BASE_NAME}.bin
- ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_install
-
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware/fix-zynqmp-assert.patch b/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware/fix-zynqmp-assert.patch
deleted file mode 100644
index 87e1b111b..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware/fix-zynqmp-assert.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff --git a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c
-index 297c6c2ddc..bc295cf013 100644
---- a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c
-+++ b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c
-@@ -52,7 +52,7 @@
- * @pulse Function performing reset pulse operation
- */
- typedef struct PmResetOps {
-- void (*const assert)(const PmReset* const rst, const u32 action);
-+ void (*const resetAssert)(const PmReset* const rst, const u32 action);
- u32 (*const getStatus)(const PmReset* const s);
- u32 (*const pulse)(const PmReset* const rst);
- } PmResetOps;
-@@ -415,37 +415,37 @@ static u32 PmResetPulsePl(const PmReset* const rst)
- }
-
- static const PmResetOps pmResetOpsGeneric = {
-- .assert = PmResetAssertGen,
-+ .resetAssert = PmResetAssertGen,
- .getStatus = PmResetGetStatusGen,
- .pulse = PmResetPulseGen,
- };
-
- static const PmResetOps pmResetOpsGpo = {
-- .assert = PmResetAssertGpo,
-+ .resetAssert = PmResetAssertGpo,
- .getStatus = PmResetGetStatusGpo,
- .pulse = PmResetPulseGpo,
- };
-
- static const PmResetOps pmResetOpsRom = {
-- .assert = PmResetAssertRom,
-+ .resetAssert = PmResetAssertRom,
- .getStatus = PmResetGetStatusRom,
- .pulse = PmResetPulseRom,
- };
-
- static const PmResetOps pmResetOpsNoAssert = {
-- .assert = NULL,
-+ .resetAssert = NULL,
- .getStatus = PmResetGetStatusRom,
- .pulse = PmResetPulseRom,
- };
-
- static const PmResetOps pmResetOpsPl = {
-- .assert = PmResetAssertPl,
-+ .resetAssert = PmResetAssertPl,
- .getStatus = PmResetGetStatusPl,
- .pulse = PmResetPulsePl,
- };
-
- static const PmResetOps pmResetOpsGpioBankIO = {
-- .assert = NULL,
-+ .resetAssert = NULL,
- .getStatus = PmResetGetStatusGpioBankIOs,
- .pulse = PmResetPulseGpioBankIOs,
- };
-@@ -1901,8 +1901,8 @@ s32 PmResetDoAssert(const PmReset *reset, u32 action)
- switch (action) {
- case PM_RESET_ACTION_RELEASE:
- case PM_RESET_ACTION_ASSERT:
-- if (NULL != reset->ops->assert) {
-- reset->ops->assert(reset, action);
-+ if (NULL != reset->ops->resetAssert) {
-+ reset->ops->resetAssert(reset, action);
- } else {
- status = XST_INVALID_PARAM;
- }
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2020.2.bb b/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2020.2.bb
deleted file mode 100644
index 330e02095..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2020.2.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-inherit deploy
-
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://../../../../license.txt;md5=39ab6ab638f4d1836ba994ec6852de94"
-
-SRCREV = "e8db5fb118229fdc621e0ec7848641a23bf60998"
-PV = "${XILINX_RELEASE_VERSION}+git${SRCPV}"
-
-SRC_URI = "git://github.com/Xilinx/embeddedsw.git;protocol=https;nobranch=1 \
- file://fix-zynqmp-assert.patch;pnum=5"
-
-COMPATIBLE_HOST = "microblaze.*-elf"
-COMPATIBLE_MACHINE = "microblaze-pmu"
-
-S = "${WORKDIR}/git/lib/sw_apps/zynqmp_pmufw/src"
-
-# The makefile does not handle parallelization
-PARALLEL_MAKE = ""
-
-do_configure() {
- # manually do the copy_bsp step first, so as to be able to fix up use of
- # mb-* commands
- ${S}/../misc/copy_bsp.sh
-}
-
-COMPILER = "${CC}"
-COMPILER_FLAGS = "-O2 -c"
-EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects"
-ARCHIVER = "${AR}"
-
-BSP_DIR ?= "${S}/../misc/zynqmp_pmufw_bsp"
-BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_pmu_0/libsrc"
-
-def bsp_make_vars(d):
- s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"]
- return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
-
-do_compile() {
- # the Makefile in ${S}/../misc/Makefile, does not handle CC, AR, AS, etc
- # properly. So do its job manually. Preparing the includes first, then libs.
- for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
- done
- for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
- done
-
- # --build-id=none is required due to linker script not defining a location for it.
- # Again, recipe-systoot include is necessary
- oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
-}
-
-do_install() {
- :
-}
-
-PMU_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
-
-do_deploy() {
- install -Dm 0644 ${B}/executable.elf ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf
- ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${B}/executable.elf ${B}/executable.bin
- install -m 0644 ${B}/executable.bin ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.bin
- ln -sf ${PMU_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_install
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/psm-firmware/psm-firmware_2020.2.bb b/meta-xilinx/meta-xilinx-standalone/recipes-standalone/psm-firmware/psm-firmware_2020.2.bb
deleted file mode 100644
index cd346b123..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/psm-firmware/psm-firmware_2020.2.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-inherit deploy
-
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://../../../../license.txt;md5=39ab6ab638f4d1836ba994ec6852de94"
-
-SRCREV = "e8db5fb118229fdc621e0ec7848641a23bf60998"
-PV = "${XILINX_RELEASE_VERSION}+git${SRCPV}"
-
-SRC_URI = "git://github.com/Xilinx/embeddedsw.git;protocol=https;nobranch=1"
-
-COMPATIBLE_HOST = "microblaze.*-elf"
-COMPATIBLE_MACHINE = "versal-mb"
-
-
-S = "${WORKDIR}/git/lib/sw_apps/versal_psmfw/src"
-
-# The makefile does not handle parallelization
-PARALLEL_MAKE = ""
-
-do_configure() {
- # manually do the copy_bsp step first, so as to be able to fix up use of
- # mb-* commands
- ${S}/../misc/copy_bsp.sh
-}
-
-COMPILER = "${CC}"
-COMPILER_FLAGS = "-O2 -c"
-EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects"
-ARCHIVER = "${AR}"
-
-BSP_DIR ?= "${S}/../misc/versal_psmfw_bsp"
-BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_psm_0/libsrc"
-
-def bsp_make_vars(d):
- s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"]
- return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
-
-do_compile() {
- # the Makefile in ${S}/../misc/Makefile, does not handle CC, AR, AS, etc
- # properly. So do its job manually. Preparing the includes first, then libs.
- for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
- done
- for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
- done
-
- # --build-id=none is required due to linker script not defining a location for it.
- # Again, recipe-systoot include is necessary
- oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
-}
-
-do_install() {
- :
-}
-
-PSM_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-PSM_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
- install -Dm 0644 ${B}/psmfw.elf ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf
- ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${B}/psmfw.elf ${B}/psmfw.bin
- install -m 0644 ${B}/psmfw.bin ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin
- ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_install
-
diff --git a/meta-xilinx/meta-xilinx-standalone/scripts/microblaze_dtb.py b/meta-xilinx/meta-xilinx-standalone/scripts/microblaze_dtb.py
deleted file mode 100644
index 1c5ed8352..000000000
--- a/meta-xilinx/meta-xilinx-standalone/scripts/microblaze_dtb.py
+++ /dev/null
@@ -1,170 +0,0 @@
-import argparse
-import libfdt
-import os
-import sys
-
-# Format: FEATURE : (dtb property, condition_operator, condition_value)
-# If dtb property is None, then the item is always on
-#
-# If the condition_operator is None, then enable if it exists for existance
-#
-# If the condition_operator is '!', and condition_value is None then enable if
-# if is not defined
-#
-# Otherwise 'condition' and value are evaluated by type.
-#
-# If the condition is = then any value of condition_values will set it
-# If the condition is ! then no value of condition_values will set it
-
-microblaze_tune_features = {
- 'microblaze' : (None, None, None),
- 'bigendian': ('xlnx,endianness', '!', 1),
- '64-bit' : ('xlnx,data-size', '=', 64),
- 'barrel-shift': ('xlnx,use-barrel', '=', 1),
- 'pattern-compare': ('xlnx,use-pcmp-instr', '=', 1),
- 'reorder' : ('xlnx,use-reorder-instr', '!', 0),
- 'frequency-optimized': ('xlnx,area-optimized', '=', 2),
- 'multiply-low': ('xlnx,use-hw-mul', '=', 1),
- 'multiply-high': ('xlnx,use-hw-mul', '=', 2),
- 'divide-hard': ('xlnx,use-div', '=', 1),
- 'fpu-soft': ('xlnx,use-fpu', '!', [1,2]),
- 'fpu-hard': ('xlnx,use-fpu', '=', 1),
- 'fpu-hard-extended':('xlnx,use-fpu', '=', 2),
-}
-
-def processProperties(fdt, node):
- TUNE_FEATURES = []
-
- for feature in microblaze_tune_features:
- (property, cop, cvalue) = microblaze_tune_features[feature]
-
- if not property:
- TUNE_FEATURES.append(feature)
-
- # Special processing to get the version
- if feature == "microblaze":
- ver = microblazeVersion(fdt, node)
- if ver:
- TUNE_FEATURES.append(ver)
- continue
-
- prop_value = fdt.getprop( node, property, libfdt.QUIET_NOTFOUND)
-
- if not prop_value or prop_value == -1:
- if cop == '!':
- if not cvalue:
- TUNE_FEATURES.append(ver)
- continue
- continue
-
- # If no operator
- if not cop or (cop == '=' and not cvalue):
- TUNE_FEATURES.append(feature)
- continue
-
- ctype = type(cvalue)
- if ctype == type(list()):
- val_list = cvalue
- else:
- val_list = [ cvalue ]
-
- result = False
- for value in val_list:
- ctype = type(value)
- if ctype == type(int()):
- val = prop_value.as_uint32()
- else:
- raise TypeError('Unknown type %s' % ctype)
-
- if value == val:
- result = True
- break
- else:
- result = False
-
- if (cop == '!' and result == False) or \
- (cop == '=' and result == True):
- TUNE_FEATURES.append(feature)
-
- return TUNE_FEATURES
-
-def microblazeVersion(fdt, node):
- version = None
-
- val = fdt.getprop( node, 'model', libfdt.QUIET_NOTFOUND)
-
- if val and val != -1:
- val = fdt.getprop( node, 'model' ).as_str()
- version = val[val.find('microblaze,') + 11:]
-
- if version.startswith('8'):
- # Strip 8.xx.y, to just 8.xx
- v = version.split('.')
- version = '.'.join(v[0:2])
-
- version = 'v' + version
-
- return version
-
-def MicroblazeConfig(dtbfile, out):
- fdt = libfdt.Fdt(open(dtbfile, mode='rb').read())
-
- cpu = -1
- while (True):
- cpu = cpu + 1
- try:
- node = fdt.path_offset('/cpus/cpu@%d' % cpu)
-
- try:
- prop = fdt.getprop( node, 'compatible' )
-
- prop_val = prop[:-1].decode('utf-8').split('\x00')
-
- microblaze = False
- for val in prop_val:
- if "microblaze" in val:
- microblaze = True
- break
-
- if not microblaze:
- continue
-
- # Construct TUNE_FEATURE here
- TUNE_FEATURES = processProperties(fdt, node)
-
- out.write('AVAILTUNES += "microblaze-cpu%s"\n' % (cpu))
- out.write('TUNE_FEATURES_tune-microblaze-cpu%s = "%s"\n' % (cpu, ' '.join(TUNE_FEATURES)))
- out.write('PACKAGE_EXTRA_ARCHS_tune-microblaze-cpu%s = "${TUNE_PKGARCH}"\n' % (cpu))
-
- except Exception as e:
- sys.stderr.write("Exception looking at properties: %s\n" % e)
-
- continue
-
- except Exception as e:
- # CPUs SHOULD be consecutive w/o gaps, so no more to search
- break
-
-if __name__ == "__main__":
- parser = argparse.ArgumentParser(description='Generate MicroBlaze TUNE_FEATURES')
-
- parser.add_argument('-d', '--dtb-file', action='store',
- help='DTB file to process')
-
- parser.add_argument('-o', '--output', action='store',
- help='Output file to store TUNE_FEATURE settings')
-
- args = parser.parse_args()
-
- if not args.dtb_file:
- sys.stderr.write('ERROR: You must specify a DTB_FILE to process.\n')
- sys.exit(1)
-
- outputf = sys.stdout
- if args.output:
- if os.path.exists(args.output):
- sys.stderr.write('ERROR: The output file "%s" exists!\n' % args.output)
- sys.exit(1)
- outputf = open(args.output, 'w')
-
- MicroblazeConfig(args.dtb_file, outputf)
diff --git a/meta-yadro/meta-nicole/conf/local.conf.sample b/meta-yadro/meta-nicole/conf/local.conf.sample
index 8e426c7ae..4a91b28ff 100644
--- a/meta-yadro/meta-nicole/conf/local.conf.sample
+++ b/meta-yadro/meta-nicole/conf/local.conf.sample
@@ -256,3 +256,9 @@ CONF_VERSION = "2"
# Set the root password to '0penBmc'
# Defaults from meta-phosphor/conf/distro/include/phosphor-defaults.inc
+
+# Add default administrative account (login: admin, password: admin)
+DEFAULT_ADMIN_PASSWORD = "'\$6\$Fze0kFe8\$YjEc0mvYcwZvjBtnVWQ4Os4gFMDj.ogBkg2jTSjpOgFQpT33hDitAUheGGJcSZ0PkzRuzOq/xhpJ5bmrFg46R.'"
+EXTRA_USERS_PARAMS:append:pn-obmc-phosphor-image = "\
+ useradd -p ${DEFAULT_ADMIN_PASSWORD} -g users -G priv-admin,ipmi -N admin; \
+"
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/images/obmc-phosphor-image.bbappend
index a18048d7f..2055e9992 100644
--- a/meta-yadro/meta-nicole/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ b/meta-yadro/meta-nicole/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -1,5 +1,4 @@
OBMC_IMAGE_EXTRA_INSTALL:append = " \
- admin-account \
first-boot-set-hostname \
mboxd \
obmc-yadro-cli \
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/users/admin-account.bb b/meta-yadro/meta-nicole/recipes-phosphor/users/admin-account.bb
deleted file mode 100644
index 1bb0ae1a6..000000000
--- a/meta-yadro/meta-nicole/recipes-phosphor/users/admin-account.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Default administrative account"
-DESCRIPTION = "Creating default account for system administrator"
-PR = "r1"
-
-inherit useradd
-
-# License info
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-# Dependencies
-RDEPENDS:${PN} = "\
- sudo \
- phosphor-ipmi-host \
- phosphor-user-manager \
-"
-
-# Groups
-GROUP_ADMIN = "priv-admin"
-GROUP_OPERATOR = "priv-operator"
-GROUP_USER = "priv-user"
-GROUP_IPMI = "ipmi"
-
-# Default administrative account (login: admin, password: admin)
-ADMIN_LOGIN = "admin"
-ADMIN_PASSW = "\$1\$Fze0kFe8\$sylEANC01t.osF8OewyB/1"
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = "--groups ${GROUP_ADMIN},${GROUP_IPMI} \
- --password '${ADMIN_PASSW}' \
- ${ADMIN_LOGIN}"
-
-# We don't have package body
-ALLOW_EMPTY:${PN} = "1"
-
-# Workaround for meta-phosphor/classes/phosphor-rootfs-postcommands.bbclass.
-# The bb-script cannot add root to non-empty groups (invalid sed command).
-GROUPMEMS_PARAM:${PN} = "-a root -g ${GROUP_ADMIN}; \
- -a root -g ${GROUP_IPMI}"
diff --git a/meta-yadro/recipes-yadro/cli/obmc-yadro-backup_git.bb b/meta-yadro/recipes-yadro/cli/obmc-yadro-backup_git.bb
index ae167e3bf..b7055d29b 100644
--- a/meta-yadro/recipes-yadro/cli/obmc-yadro-backup_git.bb
+++ b/meta-yadro/recipes-yadro/cli/obmc-yadro-backup_git.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/YADRO-KNS/obmc-yadro-backup"
PR = "r1"
PV = "1.0+git${SRCPV}"
-inherit meson
+inherit pkgconfig meson
# License info
LICENSE = "Apache-2.0"
diff --git a/meta-yadro/recipes-yadro/cli/obmc-yadro-fwupdate_git.bb b/meta-yadro/recipes-yadro/cli/obmc-yadro-fwupdate_git.bb
index 95eef8fc0..161c54bf0 100644
--- a/meta-yadro/recipes-yadro/cli/obmc-yadro-fwupdate_git.bb
+++ b/meta-yadro/recipes-yadro/cli/obmc-yadro-fwupdate_git.bb
@@ -6,7 +6,7 @@ PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-inherit meson
+inherit pkgconfig meson
DEPENDS += " \
sdbusplus \
diff --git a/meta-yadro/recipes-yadro/cli/obmc-yadro-lsinventory_git.bb b/meta-yadro/recipes-yadro/cli/obmc-yadro-lsinventory_git.bb
index 89ceb1ee1..2e66a7d95 100644
--- a/meta-yadro/recipes-yadro/cli/obmc-yadro-lsinventory_git.bb
+++ b/meta-yadro/recipes-yadro/cli/obmc-yadro-lsinventory_git.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/YADRO-KNS/obmc-yadro-lsinventory"
PR = "r1"
PV = "1.0+git${SRCPV}"
-inherit meson
+inherit pkgconfig meson
# License info
LICENSE = "Apache-2.0"
diff --git a/meta-yadro/recipes-yadro/cli/obmc-yadro-lssensors_git.bb b/meta-yadro/recipes-yadro/cli/obmc-yadro-lssensors_git.bb
index 5a08c7a3e..f202ab89f 100644
--- a/meta-yadro/recipes-yadro/cli/obmc-yadro-lssensors_git.bb
+++ b/meta-yadro/recipes-yadro/cli/obmc-yadro-lssensors_git.bb
@@ -7,7 +7,7 @@ PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-inherit meson
+inherit pkgconfig meson
DEPENDS += "sdbusplus"
diff --git a/meta-yadro/recipes-yadro/cli/obmc-yadro-netconfig_git.bb b/meta-yadro/recipes-yadro/cli/obmc-yadro-netconfig_git.bb
index 7ec34edfa..9f850cad5 100644
--- a/meta-yadro/recipes-yadro/cli/obmc-yadro-netconfig_git.bb
+++ b/meta-yadro/recipes-yadro/cli/obmc-yadro-netconfig_git.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/YADRO-KNS/obmc-yadro-netconfig"
PR = "r1"
PV = "1.0+git${SRCPV}"
-inherit meson
+inherit pkgconfig meson
# License info
LICENSE = "Apache-2.0"
diff --git a/openbmc-env b/openbmc-env
index 03e8628e1..1d06dcfc0 100644
--- a/openbmc-env
+++ b/openbmc-env
@@ -1,16 +1,18 @@
-if [ -n "$BASH_SOURCE" ]; then
- OBMCROOT="`dirname $BASH_SOURCE`"
+#!/bin/bash
+if [ -n "${BASH_SOURCE[0]}" ]; then
+ OBMCROOT="$(dirname "${BASH_SOURCE[0]}")"
elif [ -n "$ZSH_NAME" ]; then
- OBMCROOT="`dirname $0`"
+ OBMCROOT="$(dirname "$0")"
else
- OBMCROOT="`pwd`"
+ OBMCROOT="$(pwd)"
fi
-if [ -f $OBMCROOT/customrc ]; then
+if [ -f "$OBMCROOT/customrc" ]; then
echo "### Sourcing customrc ###"
- . $OBMCROOT/customrc
+ # shellcheck source=/dev/null
+ . "$OBMCROOT/customrc"
fi
echo "### Initializing OE build env ###"
-. $OBMCROOT/oe-init-build-env
-
+# shellcheck source=oe-init-build-env
+. "$OBMCROOT/oe-init-build-env"
diff --git a/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake
index dc1873af6..d3ee8e946 100755
--- a/poky/bitbake/bin/bitbake
+++ b/poky/bitbake/bin/bitbake
@@ -12,6 +12,8 @@
import os
import sys
+import warnings
+warnings.simplefilter("default")
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)),
'lib'))
diff --git a/poky/bitbake/bin/bitbake-diffsigs b/poky/bitbake/bin/bitbake-diffsigs
index 19420a2df..6646dccdf 100755
--- a/poky/bitbake/bin/bitbake-diffsigs
+++ b/poky/bitbake/bin/bitbake-diffsigs
@@ -11,6 +11,7 @@
import os
import sys
import warnings
+warnings.simplefilter("default")
import argparse
import logging
import pickle
diff --git a/poky/bitbake/bin/bitbake-getvar b/poky/bitbake/bin/bitbake-getvar
index 942321925..5435a8d79 100755
--- a/poky/bitbake/bin/bitbake-getvar
+++ b/poky/bitbake/bin/bitbake-getvar
@@ -9,6 +9,8 @@ import argparse
import io
import os
import sys
+import warnings
+warnings.simplefilter("default")
bindir = os.path.dirname(__file__)
topdir = os.path.dirname(bindir)
diff --git a/poky/bitbake/bin/bitbake-hashclient b/poky/bitbake/bin/bitbake-hashclient
index a89290217..494f17592 100755
--- a/poky/bitbake/bin/bitbake-hashclient
+++ b/poky/bitbake/bin/bitbake-hashclient
@@ -13,6 +13,8 @@ import pprint
import sys
import threading
import time
+import warnings
+warnings.simplefilter("default")
try:
import tqdm
diff --git a/poky/bitbake/bin/bitbake-hashserv b/poky/bitbake/bin/bitbake-hashserv
index 153f65a37..00af76b2d 100755
--- a/poky/bitbake/bin/bitbake-hashserv
+++ b/poky/bitbake/bin/bitbake-hashserv
@@ -10,6 +10,8 @@ import sys
import logging
import argparse
import sqlite3
+import warnings
+warnings.simplefilter("default")
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
diff --git a/poky/bitbake/bin/bitbake-layers b/poky/bitbake/bin/bitbake-layers
index ff085d674..449434d46 100755
--- a/poky/bitbake/bin/bitbake-layers
+++ b/poky/bitbake/bin/bitbake-layers
@@ -14,6 +14,8 @@ import logging
import os
import sys
import argparse
+import warnings
+warnings.simplefilter("default")
bindir = os.path.dirname(__file__)
topdir = os.path.dirname(bindir)
diff --git a/poky/bitbake/bin/bitbake-prserv b/poky/bitbake/bin/bitbake-prserv
index bef5ef689..323df66dd 100755
--- a/poky/bitbake/bin/bitbake-prserv
+++ b/poky/bitbake/bin/bitbake-prserv
@@ -6,6 +6,8 @@
import os
import sys,logging
import optparse
+import warnings
+warnings.simplefilter("default")
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)),'lib'))
diff --git a/poky/bitbake/bin/bitbake-selftest b/poky/bitbake/bin/bitbake-selftest
index aec470692..f25f23b1a 100755
--- a/poky/bitbake/bin/bitbake-selftest
+++ b/poky/bitbake/bin/bitbake-selftest
@@ -7,6 +7,8 @@
import os
import sys, logging
+import warnings
+warnings.simplefilter("default")
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
import unittest
diff --git a/poky/bitbake/bin/bitbake-server b/poky/bitbake/bin/bitbake-server
index 8e5394736..f53f88b6b 100755
--- a/poky/bitbake/bin/bitbake-server
+++ b/poky/bitbake/bin/bitbake-server
@@ -8,6 +8,7 @@
import os
import sys
import warnings
+warnings.simplefilter("default")
import logging
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
diff --git a/poky/bitbake/bin/bitbake-worker b/poky/bitbake/bin/bitbake-worker
index 7d982f90b..115bc1d09 100755
--- a/poky/bitbake/bin/bitbake-worker
+++ b/poky/bitbake/bin/bitbake-worker
@@ -6,6 +6,7 @@
import os
import sys
import warnings
+warnings.simplefilter("default")
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
from bb import fetch2
import logging
@@ -16,6 +17,8 @@ import signal
import pickle
import traceback
import queue
+import shlex
+import subprocess
from multiprocessing import Lock
from threading import Thread
@@ -145,6 +148,7 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
# a fork() or exec*() activates PSEUDO...
envbackup = {}
+ fakeroot = False
fakeenv = {}
umask = None
@@ -164,6 +168,7 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
# We can't use the fakeroot environment in a dry run as it possibly hasn't been built
if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not dry_run:
+ fakeroot = True
envvars = (workerdata["fakerootenv"][fn] or "").split()
for key, value in (var.split('=') for var in envvars):
envbackup[key] = os.environ.get(key)
@@ -282,7 +287,11 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
try:
if dry_run:
return 0
- return bb.build.exec_task(fn, taskname, the_data, cfg.profile)
+ ret = bb.build.exec_task(fn, taskname, the_data, cfg.profile)
+ if fakeroot:
+ fakerootcmd = shlex.split(the_data.getVar("FAKEROOTCMD"))
+ subprocess.run(fakerootcmd + ['-S'], check=True, stdout=subprocess.PIPE)
+ return ret
except:
os._exit(1)
if not profiling:
@@ -513,9 +522,11 @@ except BaseException as e:
import traceback
sys.stderr.write(traceback.format_exc())
sys.stderr.write(str(e))
-
-worker_thread_exit = True
-worker_thread.join()
+finally:
+ worker_thread_exit = True
+ worker_thread.join()
workerlog_write("exiting")
+if not normalexit:
+ sys.exit(1)
sys.exit(0)
diff --git a/poky/bitbake/bin/git-make-shallow b/poky/bitbake/bin/git-make-shallow
index 57069f7ed..1d00fbf18 100755
--- a/poky/bitbake/bin/git-make-shallow
+++ b/poky/bitbake/bin/git-make-shallow
@@ -16,6 +16,8 @@ import itertools
import os
import subprocess
import sys
+import warnings
+warnings.simplefilter("default")
version = 1.0
diff --git a/poky/bitbake/bin/toaster-eventreplay b/poky/bitbake/bin/toaster-eventreplay
index 8fa4ab711..404b61f51 100755
--- a/poky/bitbake/bin/toaster-eventreplay
+++ b/poky/bitbake/bin/toaster-eventreplay
@@ -19,6 +19,8 @@ import sys
import json
import pickle
import codecs
+import warnings
+warnings.simplefilter("default")
from collections import namedtuple
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst
index a6ef90db1..a4b1efbe8 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst
@@ -208,8 +208,8 @@ metadata. For example, in ``bitbake.conf`` the recipe name and version
are used to set the variables :term:`PN` and
:term:`PV`::
- PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
- PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
+ PN = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
+ PV = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
In this example, a recipe called "something_1.2.3.bb" would set
:term:`PN` to "something" and :term:`PV` to "1.2.3".
@@ -578,9 +578,6 @@ the build. This information includes:
- ``BB_BASEHASH_``\ *filename:taskname*: The base hashes for each
dependent task.
-- ``BBHASHDEPS_``\ *filename:taskname*: The task dependencies for
- each task.
-
- :term:`BB_TASKHASH`: The hash of the currently running task.
It is worth noting that BitBake's "-S" option lets you debug BitBake's
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
index 40b245b6d..a944d0f78 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
@@ -441,6 +441,13 @@ Here are some example URLs::
.. note::
+ When using ``git`` as the fetcher of the main source code of your software,
+ ``S`` should be set accordingly::
+
+ S = "${WORKDIR}/git"
+
+.. note::
+
Specifying passwords directly in ``git://`` urls is not supported.
There are several reasons: :term:`SRC_URI` is often written out to logs and
other places, and that could easily leak passwords; it is also all too
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst
index c5a4ce60b..83a415d99 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst
@@ -216,7 +216,7 @@ Following is the complete "Hello World" example.
use some editor to create the ``bitbake.conf`` so that it contains
the following::
- PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
+ PN = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
TMPDIR = "${TOPDIR}/tmp"
CACHE = "${TMPDIR}/cache"
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
index b0494d080..119720d52 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
@@ -413,8 +413,8 @@ variables from BitBake's internal data dictionary, ``d``. The following
lines select the values of a package name and its version number,
respectively::
- PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
- PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
+ PN = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
+ PV = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
.. note::
@@ -1941,7 +1941,7 @@ Wildcard Support in Variables
=============================
Support for wildcard use in variables varies depending on the context in
-which it is used. For example, some variables and file names allow
+which it is used. For example, some variables and filenames allow
limited use of wildcards through the "``%``" and "``*``" characters.
Other variables or names support Python's
`glob <https://docs.python.org/3/library/glob.html>`_ syntax,
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
index 2392ec425..8862e16b8 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
@@ -339,7 +339,7 @@ overview of their function and contents.
:term:`BB_LOGFMT`
Specifies the name of the log files saved into
``${``\ :term:`T`\ ``}``. By default, the :term:`BB_LOGFMT`
- variable is undefined and the log file names get created using the
+ variable is undefined and the log filenames get created using the
following form::
log.{task}.{pid}
@@ -393,7 +393,7 @@ overview of their function and contents.
:term:`BB_RUNFMT`
Specifies the name of the executable script files (i.e. run files)
saved into ``${``\ :term:`T`\ ``}``. By default, the
- :term:`BB_RUNFMT` variable is undefined and the run file names get
+ :term:`BB_RUNFMT` variable is undefined and the run filenames get
created using the following form::
run.{task}.{pid}
diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py
index 6ce8f1e6d..7e4ab9f64 100644
--- a/poky/bitbake/lib/bb/build.py
+++ b/poky/bitbake/lib/bb/build.py
@@ -295,9 +295,13 @@ def exec_func_python(func, d, runfile, cwd=None):
lineno = int(d.getVarFlag(func, "lineno", False))
bb.methodpool.insert_method(func, text, fn, lineno - 1)
- comp = utils.better_compile(code, func, "exec_python_func() autogenerated")
- utils.better_exec(comp, {"d": d}, code, "exec_python_func() autogenerated")
+ comp = utils.better_compile(code, func, "exec_func_python() autogenerated")
+ utils.better_exec(comp, {"d": d}, code, "exec_func_python() autogenerated")
finally:
+ # We want any stdout/stderr to be printed before any other log messages to make debugging
+ # more accurate. In some cases we seem to lose stdout/stderr entirely in logging tests without this.
+ sys.stdout.flush()
+ sys.stderr.flush()
bb.debug(2, "Python function %s finished" % func)
if cwd and olddir:
@@ -682,47 +686,51 @@ def _exec_task(fn, task, d, quieterr):
try:
try:
event.fire(TaskStarted(task, fn, logfn, flags, localdata), localdata)
- except (bb.BBHandledException, SystemExit):
- return 1
- try:
for func in (prefuncs or '').split():
exec_func(func, localdata)
exec_func(task, localdata)
for func in (postfuncs or '').split():
exec_func(func, localdata)
- except bb.BBHandledException:
- event.fire(TaskFailed(task, fn, logfn, localdata, True), localdata)
- return 1
- except Exception as exc:
- if quieterr:
- event.fire(TaskFailedSilent(task, fn, logfn, localdata), localdata)
- else:
- errprinted = errchk.triggered
- logger.error(str(exc))
- event.fire(TaskFailed(task, fn, logfn, localdata, errprinted), localdata)
- return 1
- finally:
- sys.stdout.flush()
- sys.stderr.flush()
-
- bblogger.removeHandler(handler)
-
- # Restore the backup fds
- os.dup2(osi[0], osi[1])
- os.dup2(oso[0], oso[1])
- os.dup2(ose[0], ose[1])
-
- # Close the backup fds
- os.close(osi[0])
- os.close(oso[0])
- os.close(ose[0])
+ finally:
+ # Need to flush and close the logs before sending events where the
+ # UI may try to look at the logs.
+ sys.stdout.flush()
+ sys.stderr.flush()
+
+ bblogger.removeHandler(handler)
+
+ # Restore the backup fds
+ os.dup2(osi[0], osi[1])
+ os.dup2(oso[0], oso[1])
+ os.dup2(ose[0], ose[1])
+
+ # Close the backup fds
+ os.close(osi[0])
+ os.close(oso[0])
+ os.close(ose[0])
+
+ logfile.close()
+ if os.path.exists(logfn) and os.path.getsize(logfn) == 0:
+ logger.debug2("Zero size logfn %s, removing", logfn)
+ bb.utils.remove(logfn)
+ bb.utils.remove(loglink)
+ except bb.BBHandledException:
+ event.fire(TaskFailed(task, fn, logfn, localdata, True), localdata)
+ return 1
+ except (Exception, SystemExit) as exc:
+ if quieterr:
+ event.fire(TaskFailedSilent(task, fn, logfn, localdata), localdata)
+ else:
+ errprinted = errchk.triggered
+ # If the output is already on stdout, we've printed the information in the
+ # logs once already so don't duplicate
+ if verboseStdoutLogging:
+ errprinted = True
+ logger.error(repr(exc))
+ event.fire(TaskFailed(task, fn, logfn, localdata, errprinted), localdata)
+ return 1
- logfile.close()
- if os.path.exists(logfn) and os.path.getsize(logfn) == 0:
- logger.debug2("Zero size logfn %s, removing", logfn)
- bb.utils.remove(logfn)
- bb.utils.remove(loglink)
event.fire(TaskSucceeded(task, fn, logfn, localdata), localdata)
if not localdata.getVarFlag(task, 'nostamp', False) and not localdata.getVarFlag(task, 'selfstamp', False):
@@ -1030,6 +1038,8 @@ def tasksbetween(task_start, task_end, d):
def follow_chain(task, endtask, chain=None):
if not chain:
chain = []
+ if task in chain:
+ bb.fatal("Circular task dependencies as %s depends on itself via the chain %s" % (task, " -> ".join(chain)))
chain.append(task)
for othertask in tasks:
if othertask == task:
diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py
index 73bc6e966..4e08c100a 100644
--- a/poky/bitbake/lib/bb/cache.py
+++ b/poky/bitbake/lib/bb/cache.py
@@ -19,7 +19,8 @@
import os
import logging
import pickle
-from collections import defaultdict, Mapping
+from collections import defaultdict
+from collections.abc import Mapping
import bb.utils
from bb import PrefixLoggerAdapter
import re
diff --git a/poky/bitbake/lib/bb/command.py b/poky/bitbake/lib/bb/command.py
index a81dcb136..ec8688522 100644
--- a/poky/bitbake/lib/bb/command.py
+++ b/poky/bitbake/lib/bb/command.py
@@ -667,6 +667,16 @@ class CommandsAsync:
command.finishAsyncCommand()
findFilesMatchingInDir.needcache = False
+ def testCookerCommandEvent(self, command, params):
+ """
+ Dummy command used by OEQA selftest to test tinfoil without IO
+ """
+ pattern = params[0]
+
+ command.cooker.testCookerCommandEvent(pattern)
+ command.finishAsyncCommand()
+ testCookerCommandEvent.needcache = False
+
def findConfigFilePath(self, command, params):
"""
Find the path of the requested configuration file
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index db991702e..af794b4c4 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -389,7 +389,12 @@ class BBCooker:
if not self.hashserv:
dbfile = (self.data.getVar("PERSISTENT_DIR") or self.data.getVar("CACHE")) + "/hashserv.db"
self.hashservaddr = "unix://%s/hashserve.sock" % self.data.getVar("TOPDIR")
- self.hashserv = hashserv.create_server(self.hashservaddr, dbfile, sync=False)
+ self.hashserv = hashserv.create_server(
+ self.hashservaddr,
+ dbfile,
+ sync=False,
+ upstream=self.data.getVar("BB_HASHSERVE_UPSTREAM") or None,
+ )
self.hashserv.serve_as_process()
self.data.setVar("BB_HASHSERVE", self.hashservaddr)
self.databuilder.origdata.setVar("BB_HASHSERVE", self.hashservaddr)
@@ -1063,6 +1068,11 @@ class BBCooker:
if matches:
bb.event.fire(bb.event.FilesMatchingFound(filepattern, matches), self.data)
+ def testCookerCommandEvent(self, filepattern):
+ # Dummy command used by OEQA selftest to test tinfoil without IO
+ matches = ["A", "B"]
+ bb.event.fire(bb.event.FilesMatchingFound(filepattern, matches), self.data)
+
def findProviders(self, mc=''):
return bb.providers.findProviders(self.databuilder.mcdata[mc], self.recipecaches[mc], self.recipecaches[mc].pkg_pn)
diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py
index 1c1e008c6..ba657c03b 100644
--- a/poky/bitbake/lib/bb/cookerdata.py
+++ b/poky/bitbake/lib/bb/cookerdata.py
@@ -291,6 +291,8 @@ class CookerDataBuilder(object):
multiconfig = (self.data.getVar("BBMULTICONFIG") or "").split()
for config in multiconfig:
+ if config[0].isdigit():
+ bb.fatal("Multiconfig name '%s' is invalid as multiconfigs cannot start with a digit" % config)
mcdata = self.parseConfigurationFiles(self.prefiles, self.postfiles, config)
bb.event.fire(bb.event.ConfigParsed(), mcdata)
self.mcdata[config] = mcdata
@@ -342,6 +344,9 @@ class CookerDataBuilder(object):
layers = (data.getVar('BBLAYERS') or "").split()
broken_layers = []
+ if not layers:
+ bb.fatal("The bblayers.conf file doesn't contain any BBLAYERS definition")
+
data = bb.data.createCopy(data)
approved = bb.utils.approved_variables()
@@ -396,6 +401,8 @@ class CookerDataBuilder(object):
if c in collections_tmp:
bb.fatal("Found duplicated BBFILE_COLLECTIONS '%s', check bblayers.conf or layer.conf to fix it." % c)
compat = set((data.getVar("LAYERSERIES_COMPAT_%s" % c) or "").split())
+ if compat and not layerseries:
+ bb.fatal("No core layer found to work with layer '%s'. Missing entry in bblayers.conf?" % c)
if compat and not (compat & layerseries):
bb.fatal("Layer %s is not compatible with the core layer which only supports these series: %s (layer is compatible with %s)"
% (c, " ".join(layerseries), " ".join(compat)))
diff --git a/poky/bitbake/lib/bb/data.py b/poky/bitbake/lib/bb/data.py
index 97022853c..9d18b1e2b 100644
--- a/poky/bitbake/lib/bb/data.py
+++ b/poky/bitbake/lib/bb/data.py
@@ -226,7 +226,7 @@ def emit_func(func, o=sys.__stdout__, d = init()):
deps = newdeps
seen |= deps
newdeps = set()
- for dep in deps:
+ for dep in sorted(deps):
if d.getVarFlag(dep, "func", False) and not d.getVarFlag(dep, "python", False):
emit_var(dep, o, d, False) and o.write('\n')
newdeps |= bb.codeparser.ShellParser(dep, logger).parse_shell(d.getVar(dep))
diff --git a/poky/bitbake/lib/bb/data_smart.py b/poky/bitbake/lib/bb/data_smart.py
index 65528c6ae..8d235da12 100644
--- a/poky/bitbake/lib/bb/data_smart.py
+++ b/poky/bitbake/lib/bb/data_smart.py
@@ -17,7 +17,7 @@ BitBake build tools.
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import copy, re, sys, traceback
-from collections import MutableMapping
+from collections.abc import MutableMapping
import logging
import hashlib
import bb, bb.codeparser
@@ -151,6 +151,7 @@ class ExpansionError(Exception):
self.expression = expression
self.variablename = varname
self.exception = exception
+ self.varlist = [varname or expression or ""]
if varname:
if expression:
self.msg = "Failure expanding variable %s, expression was %s which triggered exception %s: %s" % (varname, expression, type(exception).__name__, exception)
@@ -160,8 +161,14 @@ class ExpansionError(Exception):
self.msg = "Failure expanding expression %s which triggered exception %s: %s" % (expression, type(exception).__name__, exception)
Exception.__init__(self, self.msg)
self.args = (varname, expression, exception)
+
+ def addVar(self, varname):
+ if varname:
+ self.varlist.append(varname)
+
def __str__(self):
- return self.msg
+ chain = "\nThe variable dependency chain for the failure is: " + " -> ".join(self.varlist)
+ return self.msg + chain
class IncludeHistory(object):
def __init__(self, parent = None, filename = '[TOP LEVEL]'):
@@ -403,14 +410,17 @@ class DataSmart(MutableMapping):
s = __expand_python_regexp__.sub(varparse.python_sub, s)
except SyntaxError as e:
# Likely unmatched brackets, just don't expand the expression
- if e.msg != "EOL while scanning string literal":
+ if e.msg != "EOL while scanning string literal" and not e.msg.startswith("unterminated string literal"):
raise
if s == olds:
break
- except ExpansionError:
+ except ExpansionError as e:
+ e.addVar(varname)
raise
except bb.parse.SkipRecipe:
raise
+ except bb.BBHandledException:
+ raise
except Exception as exc:
tb = sys.exc_info()[2]
raise ExpansionError(varname, s, exc).with_traceback(tb) from exc
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index 914fa5c02..ee29d89b1 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -466,7 +466,7 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None):
# Kill parameters, they make no sense for mirror tarballs
uri_decoded[5] = {}
elif ud.localpath and ud.method.supports_checksum(ud):
- basename = os.path.basename(ud.localpath)
+ basename = os.path.basename(uri_decoded[loc])
if basename and not result_decoded[loc].endswith(basename):
result_decoded[loc] = os.path.join(result_decoded[loc], basename)
else:
@@ -754,6 +754,11 @@ def get_srcrev(d, method_name='sortable_revision'):
that fetcher provides a method with the given name and the same signature as sortable_revision.
"""
+ recursion = d.getVar("__BBINSRCREV")
+ if recursion:
+ raise FetchError("There are recursive references in fetcher variables, likely through SRC_URI")
+ d.setVar("__BBINSRCREV", True)
+
scms = []
fetcher = Fetch(d.getVar('SRC_URI').split(), d)
urldata = fetcher.ud
@@ -768,6 +773,7 @@ def get_srcrev(d, method_name='sortable_revision'):
autoinc, rev = getattr(urldata[scms[0]].method, method_name)(urldata[scms[0]], d, urldata[scms[0]].names[0])
if len(rev) > 10:
rev = rev[:10]
+ d.delVar("__BBINSRCREV")
if autoinc:
return "AUTOINC+" + rev
return rev
@@ -802,6 +808,7 @@ def get_srcrev(d, method_name='sortable_revision'):
if seenautoinc:
format = "AUTOINC+" + format
+ d.delVar("__BBINSRCREV")
return format
def localpath(url, d):
@@ -827,6 +834,7 @@ FETCH_EXPORT_VARS = ['HOME', 'PATH',
'DBUS_SESSION_BUS_ADDRESS',
'P4CONFIG',
'SSL_CERT_FILE',
+ 'AWS_PROFILE',
'AWS_ACCESS_KEY_ID',
'AWS_SECRET_ACCESS_KEY',
'AWS_DEFAULT_REGION']
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index 488f4c741..e8ddf2c76 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -68,6 +68,7 @@ import subprocess
import tempfile
import bb
import bb.progress
+from contextlib import contextmanager
from bb.fetch2 import FetchMethod
from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
@@ -418,6 +419,20 @@ class Git(FetchMethod):
bb.utils.remove(tmpdir, recurse=True)
def build_mirror_data(self, ud, d):
+
+ # Create as a temp file and move atomically into position to avoid races
+ @contextmanager
+ def create_atomic(filename):
+ fd, tfile = tempfile.mkstemp(dir=os.path.dirname(filename))
+ try:
+ yield tfile
+ umask = os.umask(0o666)
+ os.umask(umask)
+ os.chmod(tfile, (0o666 & ~umask))
+ os.rename(tfile, filename)
+ finally:
+ os.close(fd)
+
if ud.shallow and ud.write_shallow_tarballs:
if not os.path.exists(ud.fullshallow):
if os.path.islink(ud.fullshallow):
@@ -428,7 +443,8 @@ class Git(FetchMethod):
self.clone_shallow_local(ud, shallowclone, d)
logger.info("Creating tarball of git repository")
- runfetchcmd("tar -czf %s ." % ud.fullshallow, d, workdir=shallowclone)
+ with create_atomic(ud.fullshallow) as tfile:
+ runfetchcmd("tar -czf %s ." % tfile, d, workdir=shallowclone)
runfetchcmd("touch %s.done" % ud.fullshallow, d)
finally:
bb.utils.remove(tempdir, recurse=True)
@@ -437,7 +453,8 @@ class Git(FetchMethod):
os.unlink(ud.fullmirror)
logger.info("Creating tarball of git repository")
- runfetchcmd("tar -czf %s ." % ud.fullmirror, d, workdir=ud.clonedir)
+ with create_atomic(ud.fullmirror) as tfile:
+ runfetchcmd("tar -czf %s ." % tfile, d, workdir=ud.clonedir)
runfetchcmd("touch %s.done" % ud.fullmirror, d)
def clone_shallow_local(self, ud, dest, d):
diff --git a/poky/bitbake/lib/bb/fetch2/svn.py b/poky/bitbake/lib/bb/fetch2/svn.py
index 80102b44f..d40e4d290 100644
--- a/poky/bitbake/lib/bb/fetch2/svn.py
+++ b/poky/bitbake/lib/bb/fetch2/svn.py
@@ -57,7 +57,12 @@ class Svn(FetchMethod):
if 'rev' in ud.parm:
ud.revision = ud.parm['rev']
- ud.localfile = d.expand('%s_%s_%s_%s_.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision))
+ # Whether to use the @REV peg-revision syntax in the svn command or not
+ ud.pegrevision = True
+ if 'nopegrevision' in ud.parm:
+ ud.pegrevision = False
+
+ ud.localfile = d.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision, ["0", "1"][ud.pegrevision]))
def _buildsvncommand(self, ud, d, command):
"""
@@ -98,7 +103,8 @@ class Svn(FetchMethod):
if ud.revision:
options.append("-r %s" % ud.revision)
- suffix = "@%s" % (ud.revision)
+ if ud.pegrevision:
+ suffix = "@%s" % (ud.revision)
if command == "fetch":
transportuser = ud.parm.get("transportuser", "")
diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py
index 9a49e64a0..349891e85 100644
--- a/poky/bitbake/lib/bb/fetch2/wget.py
+++ b/poky/bitbake/lib/bb/fetch2/wget.py
@@ -69,7 +69,7 @@ class Wget(FetchMethod):
"""
Check to see if a given url can be fetched with wget.
"""
- return ud.type in ['http', 'https', 'ftp']
+ return ud.type in ['http', 'https', 'ftp', 'ftps']
def recommends_checksum(self, urldata):
return True
diff --git a/poky/bitbake/lib/bb/main.py b/poky/bitbake/lib/bb/main.py
index 06bad495a..639fc1885 100755
--- a/poky/bitbake/lib/bb/main.py
+++ b/poky/bitbake/lib/bb/main.py
@@ -112,13 +112,6 @@ def _showwarning(message, category, filename, lineno, file=None, line=None):
warnlog.warning(s)
warnings.showwarning = _showwarning
-warnings.filterwarnings("ignore")
-warnings.filterwarnings("default", module="(<string>$|(oe|bb)\.)")
-warnings.filterwarnings("ignore", category=PendingDeprecationWarning)
-warnings.filterwarnings("ignore", category=ImportWarning)
-warnings.filterwarnings("ignore", category=DeprecationWarning, module="<string>$")
-warnings.filterwarnings("ignore", message="With-statements now directly support multiple context managers")
-
def create_bitbake_parser():
parser = optparse.OptionParser(
diff --git a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 152ef6ab7..ee9bd760c 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -19,9 +19,6 @@ from . import ConfHandler
from .. import resolve_file, ast, logger, ParseError
from .ConfHandler import include, init
-# For compatibility
-bb.deprecate_import(__name__, "bb.parse", ["vars_from_file"])
-
__func_start_regexp__ = re.compile(r"(((?P<py>python(?=(\s|\()))|(?P<fr>fakeroot(?=\s)))\s*)*(?P<func>[\w\.\-\+\{\}\$:]+)?\s*\(\s*\)\s*{$" )
__inherit_regexp__ = re.compile(r"inherit\s+(.+)" )
__export_func_regexp__ = re.compile(r"EXPORT_FUNCTIONS\s+(.+)" )
diff --git a/poky/bitbake/lib/bb/persist_data.py b/poky/bitbake/lib/bb/persist_data.py
index c6a209fb3..49c9a0d51 100644
--- a/poky/bitbake/lib/bb/persist_data.py
+++ b/poky/bitbake/lib/bb/persist_data.py
@@ -12,14 +12,14 @@ currently, providing a key/value store accessed by 'domain'.
#
import collections
+import collections.abc
import contextlib
import functools
import logging
import os.path
import sqlite3
import sys
-import warnings
-from collections import Mapping
+from collections.abc import Mapping
sqlversion = sqlite3.sqlite_version_info
if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
@@ -29,7 +29,7 @@ if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
logger = logging.getLogger("BitBake.PersistData")
@functools.total_ordering
-class SQLTable(collections.MutableMapping):
+class SQLTable(collections.abc.MutableMapping):
class _Decorators(object):
@staticmethod
def retry(*, reconnect=True):
@@ -238,55 +238,6 @@ class SQLTable(collections.MutableMapping):
def has_key(self, key):
return key in self
-
-class PersistData(object):
- """Deprecated representation of the bitbake persistent data store"""
- def __init__(self, d):
- warnings.warn("Use of PersistData is deprecated. Please use "
- "persist(domain, d) instead.",
- category=DeprecationWarning,
- stacklevel=2)
-
- self.data = persist(d)
- logger.debug("Using '%s' as the persistent data cache",
- self.data.filename)
-
- def addDomain(self, domain):
- """
- Add a domain (pending deprecation)
- """
- return self.data[domain]
-
- def delDomain(self, domain):
- """
- Removes a domain and all the data it contains
- """
- del self.data[domain]
-
- def getKeyValues(self, domain):
- """
- Return a list of key + value pairs for a domain
- """
- return list(self.data[domain].items())
-
- def getValue(self, domain, key):
- """
- Return the value of a key for a domain
- """
- return self.data[domain][key]
-
- def setValue(self, domain, key, value):
- """
- Sets the value of a key for a domain
- """
- self.data[domain][key] = value
-
- def delValue(self, domain, key):
- """
- Deletes a key/value pair
- """
- del self.data[domain][key]
-
def persist(domain, d):
"""Convenience factory for SQLTable objects based upon metadata"""
import bb.utils
diff --git a/poky/bitbake/lib/bb/process.py b/poky/bitbake/lib/bb/process.py
index 7c3995cce..d5a1775fc 100644
--- a/poky/bitbake/lib/bb/process.py
+++ b/poky/bitbake/lib/bb/process.py
@@ -181,5 +181,8 @@ def run(cmd, input=None, log=None, extrafiles=None, **options):
stderr = stderr.decode("utf-8")
if pipe.returncode != 0:
+ if log:
+ # Don't duplicate the output in the exception if logging it
+ raise ExecutionError(cmd, pipe.returncode, None, None)
raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
return stdout, stderr
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index 25e012125..10511a09d 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -85,15 +85,19 @@ class RunQueueStats:
"""
Holds statistics on the tasks handled by the associated runQueue
"""
- def __init__(self, total):
+ def __init__(self, total, setscene_total):
self.completed = 0
self.skipped = 0
self.failed = 0
self.active = 0
+ self.setscene_active = 0
+ self.setscene_covered = 0
+ self.setscene_notcovered = 0
+ self.setscene_total = setscene_total
self.total = total
def copy(self):
- obj = self.__class__(self.total)
+ obj = self.__class__(self.total, self.setscene_total)
obj.__dict__.update(self.__dict__)
return obj
@@ -112,6 +116,13 @@ class RunQueueStats:
def taskActive(self):
self.active = self.active + 1
+ def updateCovered(self, covered, notcovered):
+ self.setscene_covered = covered
+ self.setscene_notcovered = notcovered
+
+ def updateActiveSetscene(self, active):
+ self.setscene_active = active
+
# These values indicate the next step due to be run in the
# runQueue state machine
runQueuePrepare = 2
@@ -1735,8 +1746,7 @@ class RunQueueExecute:
self.holdoff_need_update = True
self.sqdone = False
- self.stats = RunQueueStats(len(self.rqdata.runtaskentries))
- self.sq_stats = RunQueueStats(len(self.rqdata.runq_setscene_tids))
+ self.stats = RunQueueStats(len(self.rqdata.runtaskentries), len(self.rqdata.runq_setscene_tids))
for mc in rq.worker:
rq.worker[mc].pipe.setrunqueueexec(self)
@@ -1787,6 +1797,7 @@ class RunQueueExecute:
else:
self.sq_task_complete(task)
self.sq_live.remove(task)
+ self.stats.updateActiveSetscene(len(self.sq_live))
else:
if status != 0:
self.task_fail(task, status, fakerootlog=fakerootlog)
@@ -1820,7 +1831,7 @@ class RunQueueExecute:
def finish(self):
self.rq.state = runQueueCleanUp
- active = self.stats.active + self.sq_stats.active
+ active = self.stats.active + len(self.sq_live)
if active > 0:
bb.event.fire(runQueueExitWait(active), self.cfgData)
self.rq.read_workers()
@@ -1853,7 +1864,7 @@ class RunQueueExecute:
return valid
def can_start_task(self):
- active = self.stats.active + self.sq_stats.active
+ active = self.stats.active + len(self.sq_live)
can_start = active < self.number_tasks
return can_start
@@ -1904,6 +1915,12 @@ class RunQueueExecute:
self.setbuildable(revdep)
logger.debug("Marking task %s as buildable", revdep)
+ for t in self.sq_deferred.copy():
+ if self.sq_deferred[t] == task:
+ logger.debug2("Deferred task %s now buildable" % t)
+ del self.sq_deferred[t]
+ update_scenequeue_data([t], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self, summary=False)
+
def task_complete(self, task):
self.stats.taskCompleted()
bb.event.fire(runQueueTaskCompleted(task, self.stats, self.rq), self.cfgData)
@@ -1950,7 +1967,7 @@ class RunQueueExecute:
err = False
if not self.sqdone:
logger.debug('We could skip tasks %s', "\n".join(sorted(self.scenequeue_covered)))
- completeevent = sceneQueueComplete(self.sq_stats, self.rq)
+ completeevent = sceneQueueComplete(self.stats, self.rq)
bb.event.fire(completeevent, self.cfgData)
if self.sq_deferred:
logger.error("Scenequeue had deferred entries: %s" % pprint.pformat(self.sq_deferred))
@@ -2061,7 +2078,7 @@ class RunQueueExecute:
self.sq_task_failoutright(task)
return True
- startevent = sceneQueueTaskStarted(task, self.sq_stats, self.rq)
+ startevent = sceneQueueTaskStarted(task, self.stats, self.rq)
bb.event.fire(startevent, self.cfgData)
taskdepdata = self.sq_build_taskdepdata(task)
@@ -2082,7 +2099,7 @@ class RunQueueExecute:
self.build_stamps2.append(self.build_stamps[task])
self.sq_running.add(task)
self.sq_live.add(task)
- self.sq_stats.taskActive()
+ self.stats.updateActiveSetscene(len(self.sq_live))
if self.can_start_task():
return True
@@ -2172,7 +2189,7 @@ class RunQueueExecute:
if self.can_start_task():
return True
- if self.stats.active > 0 or self.sq_stats.active > 0:
+ if self.stats.active > 0 or len(self.sq_live) > 0:
self.rq.read_workers()
return self.rq.active_fds()
@@ -2180,7 +2197,8 @@ class RunQueueExecute:
if self.sq_deferred:
tid = self.sq_deferred.pop(list(self.sq_deferred.keys())[0])
logger.warning("Runqeueue deadlocked on deferred tasks, forcing task %s" % tid)
- self.sq_task_failoutright(tid)
+ if tid not in self.runq_complete:
+ self.sq_task_failoutright(tid)
return True
if len(self.failed_tids) != 0:
@@ -2457,6 +2475,7 @@ class RunQueueExecute:
self.sq_task_failoutright(tid)
if changed:
+ self.stats.updateCovered(len(self.scenequeue_covered), len(self.scenequeue_notcovered))
self.holdoff_need_update = True
def scenequeue_updatecounters(self, task, fail=False):
@@ -2490,6 +2509,7 @@ class RunQueueExecute:
new.add(dep)
next = new
+ self.stats.updateCovered(len(self.scenequeue_covered), len(self.scenequeue_notcovered))
self.holdoff_need_update = True
def sq_task_completeoutright(self, task):
@@ -2513,13 +2533,11 @@ class RunQueueExecute:
self.rq.state = runQueueCleanUp
def sq_task_complete(self, task):
- self.sq_stats.taskCompleted()
- bb.event.fire(sceneQueueTaskCompleted(task, self.sq_stats, self.rq), self.cfgData)
+ bb.event.fire(sceneQueueTaskCompleted(task, self.stats, self.rq), self.cfgData)
self.sq_task_completeoutright(task)
def sq_task_fail(self, task, result):
- self.sq_stats.taskFailed()
- bb.event.fire(sceneQueueTaskFailed(task, self.sq_stats, result, self), self.cfgData)
+ bb.event.fire(sceneQueueTaskFailed(task, self.stats, result, self), self.cfgData)
self.scenequeue_notcovered.add(task)
self.scenequeue_updatecounters(task, True)
self.sq_check_taskfail(task)
@@ -2527,8 +2545,6 @@ class RunQueueExecute:
def sq_task_failoutright(self, task):
self.sq_running.add(task)
self.sq_buildable.add(task)
- self.sq_stats.taskSkipped()
- self.sq_stats.taskCompleted()
self.scenequeue_notcovered.add(task)
self.scenequeue_updatecounters(task, True)
@@ -2536,8 +2552,6 @@ class RunQueueExecute:
self.sq_running.add(task)
self.sq_buildable.add(task)
self.sq_task_completeoutright(task)
- self.sq_stats.taskSkipped()
- self.sq_stats.taskCompleted()
def sq_build_taskdepdata(self, task):
def getsetscenedeps(tid):
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index b593830cc..8fdcc66dc 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -661,7 +661,7 @@ class BBUIEventQueue:
self.reader = ConnectionReader(readfd)
self.t = threading.Thread()
- self.t.setDaemon(True)
+ self.t.daemon = True
self.t.run = self.startCallbackHandler
self.t.start()
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index 3f9fe5064..625a9cf3b 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -864,21 +864,21 @@ def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False):
changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps'], a_data['basewhitelist'] & b_data['basewhitelist'])
if changed:
- for dep in changed:
+ for dep in sorted(changed):
output.append(color_format("{color_title}List of dependencies for variable %s changed from '{color_default}%s{color_title}' to '{color_default}%s{color_title}'") % (dep, a_data['gendeps'][dep], b_data['gendeps'][dep]))
if a_data['gendeps'][dep] and b_data['gendeps'][dep]:
output.append("changed items: %s" % a_data['gendeps'][dep].symmetric_difference(b_data['gendeps'][dep]))
if added:
- for dep in added:
+ for dep in sorted(added):
output.append(color_format("{color_title}Dependency on variable %s was added") % (dep))
if removed:
- for dep in removed:
+ for dep in sorted(removed):
output.append(color_format("{color_title}Dependency on Variable %s was removed") % (dep))
changed, added, removed = dict_diff(a_data['varvals'], b_data['varvals'])
if changed:
- for dep in changed:
+ for dep in sorted(changed):
oldval = a_data['varvals'][dep]
newval = b_data['varvals'][dep]
if newval and oldval and ('\n' in oldval or '\n' in newval):
@@ -948,7 +948,7 @@ def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False):
b = b_data['runtaskhashes']
changed, added, removed = dict_diff(a, b)
if added:
- for dep in added:
+ for dep in sorted(added):
bdep_found = False
if removed:
for bdep in removed:
@@ -958,7 +958,7 @@ def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False):
if not bdep_found:
output.append(color_format("{color_title}Dependency on task %s was added{color_default} with hash %s") % (clean_basepath(dep), b[dep]))
if removed:
- for dep in removed:
+ for dep in sorted(removed):
adep_found = False
if added:
for adep in added:
@@ -968,7 +968,7 @@ def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False):
if not adep_found:
output.append(color_format("{color_title}Dependency on task %s was removed{color_default} with hash %s") % (clean_basepath(dep), a[dep]))
if changed:
- for dep in changed:
+ for dep in sorted(changed):
if not collapsed:
output.append(color_format("{color_title}Hash for dependent task %s changed{color_default} from %s to %s") % (clean_basepath(dep), a[dep], b[dep]))
if callable(recursecb):
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 9291ce4a0..af292a216 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -867,6 +867,27 @@ class FetcherNetworkTest(FetcherTest):
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
@skipIfNoNetwork()
+ def test_fetch_specify_downloadfilename(self):
+ fetcher = bb.fetch.Fetch(["http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz;downloadfilename=bitbake-v1.0.0.tar.gz"], self.d)
+ fetcher.download()
+ self.assertEqual(os.path.getsize(self.dldir + "/bitbake-v1.0.0.tar.gz"), 57749)
+
+ @skipIfNoNetwork()
+ def test_fetch_premirror_specify_downloadfilename_regex_uri(self):
+ self.d.setVar("PREMIRRORS", "http://.*/.* http://downloads.yoctoproject.org/releases/bitbake/")
+ fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz;downloadfilename=bitbake-v1.0.0.tar.gz"], self.d)
+ fetcher.download()
+ self.assertEqual(os.path.getsize(self.dldir + "/bitbake-v1.0.0.tar.gz"), 57749)
+
+ @skipIfNoNetwork()
+ # BZ13039
+ def test_fetch_premirror_specify_downloadfilename_specific_uri(self):
+ self.d.setVar("PREMIRRORS", "http://invalid.yoctoproject.org/releases/bitbake http://downloads.yoctoproject.org/releases/bitbake")
+ fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz;downloadfilename=bitbake-v1.0.0.tar.gz"], self.d)
+ fetcher.download()
+ self.assertEqual(os.path.getsize(self.dldir + "/bitbake-v1.0.0.tar.gz"), 57749)
+
+ @skipIfNoNetwork()
def gitfetcher(self, url1, url2):
def checkrevision(self, fetcher):
fetcher.unpack(self.unpackdir)
@@ -1232,7 +1253,7 @@ class FetchLatestVersionTest(FetcherTest):
("presentproto", "git://git.yoctoproject.org/bbfetchtests-presentproto", "24f3a56e541b0a9e6c6ee76081f441221a120ef9", "")
: "1.0",
# version pattern "pkg_name-vX.Y.Z"
- ("dtc", "git://git.qemu.org/dtc.git", "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf", "")
+ ("dtc", "git://git.yoctoproject.org/bbfetchtests-dtc.git", "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf", "")
: "1.4.0",
# combination version pattern
("sysprof", "git://gitlab.gnome.org/GNOME/sysprof.git;protocol=https", "cd44ee6644c3641507fb53b8a2a69137f2971219", "")
@@ -1244,13 +1265,13 @@ class FetchLatestVersionTest(FetcherTest):
: "20120614",
# packages with a valid UPSTREAM_CHECK_GITTAGREGEX
# mirror of git://anongit.freedesktop.org/xorg/driver/xf86-video-omap since network issues interfered with testing
- ("xf86-video-omap", "git://git.yoctoproject.org/bbfetchtests-xf86-video-omap", "ae0394e687f1a77e966cf72f895da91840dffb8f", "(?P<pver>(\d+\.(\d\.?)*))")
+ ("xf86-video-omap", "git://git.yoctoproject.org/bbfetchtests-xf86-video-omap", "ae0394e687f1a77e966cf72f895da91840dffb8f", r"(?P<pver>(\d+\.(\d\.?)*))")
: "0.4.3",
- ("build-appliance-image", "git://git.yoctoproject.org/poky", "b37dd451a52622d5b570183a81583cc34c2ff555", "(?P<pver>(([0-9][\.|_]?)+[0-9]))")
+ ("build-appliance-image", "git://git.yoctoproject.org/poky", "b37dd451a52622d5b570183a81583cc34c2ff555", r"(?P<pver>(([0-9][\.|_]?)+[0-9]))")
: "11.0.0",
- ("chkconfig-alternatives-native", "git://github.com/kergoth/chkconfig;branch=sysroot", "cd437ecbd8986c894442f8fce1e0061e20f04dee", "chkconfig\-(?P<pver>((\d+[\.\-_]*)+))")
+ ("chkconfig-alternatives-native", "git://github.com/kergoth/chkconfig;branch=sysroot", "cd437ecbd8986c894442f8fce1e0061e20f04dee", r"chkconfig\-(?P<pver>((\d+[\.\-_]*)+))")
: "1.3.59",
- ("remake", "git://github.com/rocky/remake.git", "f05508e521987c8494c92d9c2871aec46307d51d", "(?P<pver>(\d+\.(\d+\.)*\d*(\+dbg\d+(\.\d+)*)*))")
+ ("remake", "git://github.com/rocky/remake.git", "f05508e521987c8494c92d9c2871aec46307d51d", r"(?P<pver>(\d+\.(\d+\.)*\d*(\+dbg\d+(\.\d+)*)*))")
: "3.82+dbg0.9",
}
@@ -1290,11 +1311,11 @@ class FetchLatestVersionTest(FetcherTest):
#
# http://www.cups.org/software/1.7.2/cups-1.7.2-source.tar.bz2
# https://github.com/apple/cups/releases
- ("cups", "/software/1.7.2/cups-1.7.2-source.tar.bz2", "/apple/cups/releases", "(?P<name>cups\-)(?P<pver>((\d+[\.\-_]*)+))\-source\.tar\.gz")
+ ("cups", "/software/1.7.2/cups-1.7.2-source.tar.bz2", "/apple/cups/releases", r"(?P<name>cups\-)(?P<pver>((\d+[\.\-_]*)+))\-source\.tar\.gz")
: "2.0.0",
# http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz
# http://ftp.debian.org/debian/pool/main/d/db5.3/
- ("db", "/berkeley-db/db-5.3.21.tar.gz", "/debian/pool/main/d/db5.3/", "(?P<name>db5\.3_)(?P<pver>\d+(\.\d+)+).+\.orig\.tar\.xz")
+ ("db", "/berkeley-db/db-5.3.21.tar.gz", "/debian/pool/main/d/db5.3/", r"(?P<name>db5\.3_)(?P<pver>\d+(\.\d+)+).+\.orig\.tar\.xz")
: "5.3.10",
}
@@ -2257,9 +2278,10 @@ class NPMTest(FetcherTest):
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))
# Setup the mirror
+ pkgname = os.path.basename(ud.proxy.urls[0].split(';')[0])
mirrordir = os.path.join(self.tempdir, 'mirror')
bb.utils.mkdirhier(mirrordir)
- os.replace(ud.localpath, os.path.join(mirrordir, os.path.basename(ud.localpath)))
+ os.replace(ud.localpath, os.path.join(mirrordir, pkgname))
self.d.setVar('PREMIRRORS', 'https?$://.*/.* file://%s/\n' % mirrordir)
self.d.setVar('BB_FETCH_PREMIRRORONLY', '1')
# Fetch again
@@ -2269,6 +2291,27 @@ class NPMTest(FetcherTest):
@skipIfNoNpm()
@skipIfNoNetwork()
+ def test_npm_premirrors_with_specified_filename(self):
+ url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+ # Fetch once to get a tarball
+ fetcher = bb.fetch.Fetch([url], self.d)
+ ud = fetcher.ud[fetcher.urls[0]]
+ fetcher.download()
+ self.assertTrue(os.path.exists(ud.localpath))
+ # Setup the mirror
+ mirrordir = os.path.join(self.tempdir, 'mirror')
+ bb.utils.mkdirhier(mirrordir)
+ mirrorfilename = os.path.join(mirrordir, os.path.basename(ud.localpath))
+ os.replace(ud.localpath, mirrorfilename)
+ self.d.setVar('PREMIRRORS', 'https?$://.*/.* file://%s\n' % mirrorfilename)
+ self.d.setVar('BB_FETCH_PREMIRRORONLY', '1')
+ # Fetch again
+ self.assertFalse(os.path.exists(ud.localpath))
+ fetcher.download()
+ self.assertTrue(os.path.exists(ud.localpath))
+
+ @skipIfNoNpm()
+ @skipIfNoNetwork()
def test_npm_mirrors(self):
# Fetch once to get a tarball
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
@@ -2329,7 +2372,7 @@ class NPMTest(FetcherTest):
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_registry_alternate(self):
- url = 'npm://registry.freajs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+ url = 'npm://skimdb.npmjs.com;package=@savoirfairelinux/node-server-example;version=1.0.0'
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py
index 65ff2727d..8df745d13 100644
--- a/poky/bitbake/lib/bb/ui/knotty.py
+++ b/poky/bitbake/lib/bb/ui/knotty.py
@@ -753,7 +753,7 @@ def main(server, eventHandler, params, tf = TerminalFilter):
continue
if isinstance(event, bb.runqueue.sceneQueueTaskStarted):
- logger.info("Running setscene task %d of %d (%s)" % (event.stats.completed + event.stats.active + event.stats.failed + 1, event.stats.total, event.taskstring))
+ logger.info("Running setscene task %d of %d (%s)" % (event.stats.setscene_covered + event.stats.setscene_active + event.stats.setscene_notcovered + 1, event.stats.setscene_total, event.taskstring))
continue
if isinstance(event, bb.runqueue.runQueueTaskStarted):
diff --git a/poky/bitbake/lib/bb/ui/uihelper.py b/poky/bitbake/lib/bb/ui/uihelper.py
index 48d808ae2..52fdae3fe 100644
--- a/poky/bitbake/lib/bb/ui/uihelper.py
+++ b/poky/bitbake/lib/bb/ui/uihelper.py
@@ -49,8 +49,8 @@ class BBUIHelper:
tid = event._fn + ":" + event._task
removetid(event.pid, tid)
self.failed_tasks.append( { 'title' : "%s %s" % (event._package, event._task)})
- elif isinstance(event, bb.runqueue.runQueueTaskStarted):
- self.tasknumber_current = event.stats.completed + event.stats.active + event.stats.failed + 1
+ elif isinstance(event, bb.runqueue.runQueueTaskStarted) or isinstance(event, bb.runqueue.sceneQueueTaskStarted):
+ self.tasknumber_current = event.stats.completed + event.stats.active + event.stats.failed + event.stats.setscene_active + 1
self.tasknumber_total = event.stats.total
self.needUpdate = True
elif isinstance(event, bb.build.TaskProgress):
diff --git a/poky/bitbake/lib/bblayers/query.py b/poky/bitbake/lib/bblayers/query.py
index 6e94c8307..525d4f0d4 100644
--- a/poky/bitbake/lib/bblayers/query.py
+++ b/poky/bitbake/lib/bblayers/query.py
@@ -441,10 +441,10 @@ NOTE: .bbappend files can impact the dependencies.
line = fnfile.readline()
# The "require/include xxx" in conf/machine/*.conf, .inc and .bbclass
- conf_re = re.compile(".*/conf/machine/[^\/]*\.conf$")
- inc_re = re.compile(".*\.inc$")
+ conf_re = re.compile(r".*/conf/machine/[^\/]*\.conf$")
+ inc_re = re.compile(r".*\.inc$")
# The "inherit xxx" in .bbclass
- bbclass_re = re.compile(".*\.bbclass$")
+ bbclass_re = re.compile(r".*\.bbclass$")
for layerdir in self.bblayers:
layername = self.get_layer_name(layerdir)
for dirpath, dirnames, filenames in os.walk(layerdir):
diff --git a/poky/bitbake/lib/layerindexlib/__init__.py b/poky/bitbake/lib/layerindexlib/__init__.py
index 9ca127b9d..3159bf2f6 100644
--- a/poky/bitbake/lib/layerindexlib/__init__.py
+++ b/poky/bitbake/lib/layerindexlib/__init__.py
@@ -6,7 +6,6 @@
import datetime
import logging
-import imp
import os
from collections import OrderedDict
diff --git a/poky/documentation/README b/poky/documentation/README
index fad19683c..1e7b4f0e6 100644
--- a/poky/documentation/README
+++ b/poky/documentation/README
@@ -34,26 +34,21 @@ Manual Organization
Here the folders corresponding to individual manuals:
-* sdk-manual - The Yocto Project Software Development Kit (SDK) Developer's Guide.
-* bsp-guide - The Yocto Project Board Support Package (BSP) Developer's Guide
-* dev-manual - The Yocto Project Development Tasks Manual
-* kernel-dev - The Yocto Project Linux Kernel Development Tasks Manual
-* ref-manual - The Yocto Project Reference Manual
-* brief-yoctoprojectqs - The Yocto Project Quick Start
-* profile-manual - The Yocto Project Profile and Tracing Manual
-* toaster-manual - The Toaster Manual
-* test-manual - The Test Environment Manual
+* overview-manual - Yocto Project Overview and Concepts Manual
+* sdk-manual - Yocto Project Software Development Kit (SDK) Developer's Guide.
+* bsp-guide - Yocto Project Board Support Package (BSP) Developer's Guide
+* dev-manual - Yocto Project Development Tasks Manual
+* kernel-dev - Yocto Project Linux Kernel Development Manual
+* ref-manual - Yocto Project Reference Manual
+* brief-yoctoprojectqs - Yocto Project Quick Start
+* profile-manual - Yocto Project Profiling and Tracing Manual
+* toaster-manual - Toaster User Manual
+* test-manual - Yocto Project Test Environment Manual
Each folder is self-contained regarding content and figures.
If you want to find HTML versions of the Yocto Project manuals on the web,
-go to https://www.yoctoproject.org and click on the "Docs" tab. From
-there you have access to archived documentation from previous releases, current
-documentation for the latest release, and "Docs in Progress" for the release
-currently being developed.
-
-In general, the Yocto Project site (https://www.yoctoproject.org) is a great
-reference for both information and downloads.
+the current versions reside at https://docs.yoctoproject.org.
poky.yaml
=========
diff --git a/poky/documentation/boilerplate.rst b/poky/documentation/boilerplate.rst
index baccc9fe4..9b64d91ef 100644
--- a/poky/documentation/boilerplate.rst
+++ b/poky/documentation/boilerplate.rst
@@ -14,5 +14,5 @@ Commons.
To report any inaccuracies or problems with this (or any other Yocto Project)
manual, or to send additions or changes, please send email/patches to the Yocto
Project documentation mailing list at ``docs@lists.yoctoproject.org`` or
-log into the Freenode ``#yocto`` channel.
+log into the `Libera Chat <https://libera.chat/>`__ ``#yocto`` channel.
diff --git a/poky/documentation/bsp-guide/history.rst b/poky/documentation/bsp-guide/history.rst
deleted file mode 100644
index d7cd8ef7f..000000000
--- a/poky/documentation/bsp-guide/history.rst
+++ /dev/null
@@ -1,73 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-
-***********************
-Manual Revision History
-***********************
-
-.. list-table::
- :widths: 10 15 40
- :header-rows: 1
-
- * - Revision
- - Date
- - Note
- * - 0.9
- - November 2010
- - The initial document released with the Yocto Project 0.9 Release
- * - 1.0
- - April 2011
- - Released with the Yocto Project 1.0 Release.
- * - 1.1
- - October 2011
- - Released with the Yocto Project 1.1 Release.
- * - 1.2
- - April 2012
- - Released with the Yocto Project 1.2 Release.
- * - 1.3
- - October 2012
- - Released with the Yocto Project 1.3 Release.
- * - 1.4
- - April 2013
- - Released with the Yocto Project 1.4 Release.
- * - 1.5
- - October 2013
- - Released with the Yocto Project 1.5 Release.
- * - 1.6
- - April 2014
- - Released with the Yocto Project 1.6 Release.
- * - 1.7
- - October 2014
- - Released with the Yocto Project 1.7 Release.
- * - 1.8
- - April 2015
- - Released with the Yocto Project 1.8 Release.
- * - 2.0
- - October 2015
- - Released with the Yocto Project 2.0 Release.
- * - 2.1
- - April 2016
- - Released with the Yocto Project 2.1 Release.
- * - 2.2
- - October 2016
- - Released with the Yocto Project 2.2 Release.
- * - 2.3
- - May 2017
- - Released with the Yocto Project 2.3 Release.
- * - 2.4
- - October 2017
- - Released with the Yocto Project 2.4 Release.
- * - 2.5
- - May 2018
- - Released with the Yocto Project 2.5 Release.
- * - 2.6
- - November 2018
- - Released with the Yocto Project 2.6 Release.
- * - 2.7
- - May 2019
- - Released with the Yocto Project 2.7 Release.
- * - 3.0
- - October 2019
- - Released with the Yocto Project 3.0 Release.
- * - 3.1
- - April 2020
- - Released with the Yocto Project 3.1 Release.
diff --git a/poky/documentation/bsp-guide/index.rst b/poky/documentation/bsp-guide/index.rst
index a4394a85e..9a8e034ae 100644
--- a/poky/documentation/bsp-guide/index.rst
+++ b/poky/documentation/bsp-guide/index.rst
@@ -11,6 +11,5 @@ Yocto Project Board Support Package Developer's Guide
:numbered:
bsp
- history
.. include:: /boilerplate.rst
diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst
index 4a5011ea7..b81f51bf8 100644
--- a/poky/documentation/dev-manual/common-tasks.rst
+++ b/poky/documentation/dev-manual/common-tasks.rst
@@ -25,7 +25,7 @@ Creating Your Own Layer
-----------------------
It is very easy to create your own layers to use with the OpenEmbedded
-build system. The Yocto Project ships with tools that speed up creating
+build system, as the Yocto Project ships with tools that speed up creating
layers. This section describes the steps you perform by hand to create
layers so that you can better understand them. For information about the
layer-creation tools, see the
@@ -422,8 +422,9 @@ Before the OpenEmbedded build system can use your new layer, you need to
enable it. To enable your layer, simply add your layer's path to the
:term:`BBLAYERS` variable in your ``conf/bblayers.conf`` file, which is
found in the :term:`Build Directory`.
-The following example shows how to enable a layer named
-``meta-mylayer``::
+The following example shows how to enable your new
+``meta-mylayer`` layer (note how your new layer exists outside of
+the official ``poky`` repository which you would have checked out earlier)::
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
@@ -434,7 +435,7 @@ The following example shows how to enable a layer named
/home/user/poky/meta \
/home/user/poky/meta-poky \
/home/user/poky/meta-yocto-bsp \
- /home/user/poky/meta-mylayer \
+ /home/user/mystuff/meta-mylayer \
"
BitBake parses each ``conf/layer.conf`` file from the top down as
@@ -554,6 +555,67 @@ The end result of this ``.bbappend`` file is that on a Raspberry Pi, where
used during :ref:`ref-tasks-fetch` and the test for a non-zero file size in
:ref:`ref-tasks-install` will return true, and the file will be installed.
+Installing Additional Files Using Your Layer
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+As another example, consider the main ``xserver-xf86-config`` recipe and a
+corresponding ``xserver-xf86-config`` append file both from the :term:`Source
+Directory`. Here is the main ``xserver-xf86-config`` recipe, which is named
+``xserver-xf86-config_0.1.bb`` and located in the "meta" layer at
+``meta/recipes-graphics/xorg-xserver``::
+
+ SUMMARY = "X.Org X server configuration file"
+ HOMEPAGE = "http://www.x.org"
+ SECTION = "x11/base"
+ LICENSE = "MIT-X"
+ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+ PR = "r33"
+
+ SRC_URI = "file://xorg.conf"
+
+ S = "${WORKDIR}"
+
+ CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf"
+
+ PACKAGE_ARCH = "${MACHINE_ARCH}"
+ ALLOW_EMPTY:${PN} = "1"
+
+ do_install () {
+ if test -s ${WORKDIR}/xorg.conf; then
+ install -d ${D}/${sysconfdir}/X11
+ install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/
+ fi
+ }
+
+Following is the append file, which is named ``xserver-xf86-config_%.bbappend``
+and is from the Raspberry Pi BSP Layer named ``meta-raspberrypi``. The
+file is in the layer at ``recipes-graphics/xorg-xserver``::
+
+ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+ SRC_URI:append:rpi = " \
+ file://xorg.conf.d/98-pitft.conf \
+ file://xorg.conf.d/99-calibration.conf \
+ "
+ do_install:append:rpi () {
+ PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
+ if [ "${PITFT}" = "1" ]; then
+ install -d ${D}/${sysconfdir}/X11/xorg.conf.d/
+ install -m 0644 ${WORKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
+ install -m 0644 ${WORKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
+ fi
+ }
+
+ FILES:${PN}:append:rpi = " ${sysconfdir}/X11/xorg.conf.d/*"
+
+Building off of the previous example, we once again are setting the
+:term:`FILESEXTRAPATHS` variable. In this case we are also using
+:term:`SRC_URI` to list additional source files to use when ``rpi`` is found in
+the list of :term:`OVERRIDES`. The :ref:`ref-tasks-install` task will then perform a
+check for an additional :term:`MACHINE_FEATURES` that if set will cause these
+additional files to be installed. These additional files are listed in
+:term:`FILES` so that they will be packaged.
+
Prioritizing Your Layer
-----------------------
@@ -843,8 +905,8 @@ the :term:`IMAGE_INSTALL` variable with the ``:append`` operator::
IMAGE_INSTALL:append = " strace"
-Use of the syntax is important -
-specifically, the space between the quote and the package name, which is
+Use of the syntax is important; specifically, the leading space
+after the opening quote and before the package name, which is
``strace`` in this example. This space is required since the ``:append``
operator does not add the space.
@@ -2361,7 +2423,7 @@ into separate packages::
require xorg-lib-common.inc
SUMMARY = "Xpm: X Pixmap extension library"
- LICENSE = "BSD"
+ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=51f4270b012ecd4ab1a164f5f4ed6cf7"
DEPENDS += "libxext libsm libxt"
PE = "1"
@@ -3476,7 +3538,7 @@ Similar to working within a development shell as described in the
previous section, you can also spawn and work within an interactive
Python development shell. When debugging certain commands or even when
just editing packages, ``devpyshell`` can be a useful tool. When you
-invoke ``devpyshell``, all tasks up to and including
+invoke the ``devpyshell`` task, all tasks up to and including
:ref:`ref-tasks-patch` are run for the
specified target. Then a new terminal is opened. Additionally, key
Python objects and code are available in the same way they are to
@@ -3486,7 +3548,7 @@ functions::
pydevshell> d.getVar("STAGING_DIR")
'/media/build1/poky/build/tmp/sysroots'
- pydevshell> d.getVar("STAGING_DIR")
+ pydevshell> d.getVar("STAGING_DIR", False)
'${TMPDIR}/sysroots'
pydevshell> d.setVar("FOO", "bar")
pydevshell> d.getVar("FOO")
@@ -3517,9 +3579,9 @@ either by using Ctrl+d or closing the terminal window.
Building
========
-This section describes various build procedures. For example, the steps
-needed for a simple build, a target that uses multiple configurations,
-building an image for more than one machine, and so forth.
+This section describes various build procedures, such as the steps
+needed for a simple build, building a target for multiple configurations,
+generating an image for more than one machine, and so forth.
Building a Simple Image
-----------------------
@@ -3575,8 +3637,10 @@ The following figure and list overviews the build process:
.. note::
A common practice is to use a different Build Directory for
- different targets. For example, ``~/build/x86`` for a ``qemux86``
- target, and ``~/build/arm`` for a ``qemuarm`` target.
+ different targets; for example, ``~/build/x86`` for a ``qemux86``
+ target, and ``~/build/arm`` for a ``qemuarm`` target. In any
+ event, it's typically cleaner to locate the build directory
+ somewhere outside of your source directory.
3. *Make Sure Your* ``local.conf`` *File is Correct*: Ensure the
``conf/local.conf`` configuration file, which is found in the Build
@@ -3599,7 +3663,7 @@ The following figure and list overviews the build process:
The target is the name of the recipe you want to build. Common
targets are the images in ``meta/recipes-core/images``,
``meta/recipes-sato/images``, and so forth all found in the
- :term:`Source Directory`. Or, the target
+ :term:`Source Directory`. Alternatively, the target
can be the name of a recipe for a specific piece of software such as
BusyBox. For more details about the images the OpenEmbedded build
system supports, see the
@@ -3810,7 +3874,7 @@ Follow these steps to create an initramfs image:
.. note::
- It is recommended that you do bundle the initramfs image with the
+ It is recommended that you bundle the initramfs image with the
kernel image to avoid circular dependencies between the kernel
recipe and the initramfs recipe should the initramfs image include
kernel modules.
@@ -3824,6 +3888,12 @@ Follow these steps to create an initramfs image:
.. note::
+ Bundling the initramfs with the kernel conflates the code in the initramfs
+ with the GPLv2 licensed Linux kernel binary. Thus only GPLv2 compatible
+ software may be part of a bundled initramfs.
+
+ .. note::
+
If you choose to not bundle the initramfs image with the kernel
image, you are essentially using an
`Initial RAM Disk (initrd) <https://en.wikipedia.org/wiki/Initrd>`__.
@@ -4430,7 +4500,7 @@ directory:
SRCREV = "${AUTOREV}"
When a recipe sets :term:`SRCREV` to
- ``${AUTOREV}``, the build system accesses the network in an
+ ``${``\ :term:`AUTOREV`\ ``}``, the build system accesses the network in an
attempt to determine the latest version of software from the SCM.
Typically, recipes that use :term:`AUTOREV` are custom or modified
recipes. Recipes that reside in public repositories usually do not
@@ -5197,17 +5267,19 @@ command to return the available Wic images as follows::
$ wic list images
genericx86 Create an EFI disk image for genericx86*
- beaglebone-yocto Create SD card image for Beaglebone
edgerouter Create SD card image for Edgerouter
- qemux86-directdisk Create a QEMU machine 'pcbios' direct disk image
- directdisk-gpt Create a 'pcbios' direct disk image
- mkefidisk Create an EFI disk image
- directdisk Create a 'pcbios' direct disk image
+ beaglebone-yocto Create SD card image for Beaglebone
+ qemux86-directdisk Create a qemu machine 'pcbios' direct disk image
systemd-bootdisk Create an EFI disk image with systemd-boot
mkhybridiso Create a hybrid ISO image
+ mkefidisk Create an EFI disk image
sdimage-bootpart Create SD card image with a boot partition
directdisk-multi-rootfs Create multi rootfs image using rootfs plugin
+ directdisk Create a 'pcbios' direct disk image
directdisk-bootloader-config Create a 'pcbios' direct disk image with custom bootloader config
+ qemuriscv Create qcow2 image for RISC-V QEMU machines
+ directdisk-gpt Create a 'pcbios' direct disk image
+ efi-bootdisk
Once you know the list of available
Wic images, you can use ``help`` with the command to get help on a
@@ -7571,7 +7643,7 @@ Selecting a Device Manager
The Yocto Project provides multiple ways to manage the device manager
(``/dev``):
-- Persistent and Pre-Populated\ ``/dev``: For this case, the ``/dev``
+- Persistent and Pre-Populated ``/dev``: For this case, the ``/dev``
directory is persistent and the required device nodes are created
during the build.
@@ -7581,7 +7653,7 @@ The Yocto Project provides multiple ways to manage the device manager
configuration of device nodes is done in user space by a device
manager like ``udev`` or ``busybox-mdev``.
-Using Persistent and Pre-Populated\ ``/dev``
+Using Persistent and Pre-Populated ``/dev``
--------------------------------------------
To use the static method for device population, you need to set the
@@ -10478,7 +10550,7 @@ been followed:
and email address. In this example, the email address is a mailing
list::
- $ poky/scripts/send-pull-request -p ~/meta-intel/pull-10565 -t meta-intel@yoctoproject.org
+ $ poky/scripts/send-pull-request -p ~/meta-intel/pull-10565 -t meta-intel@lists.yoctoproject.org
You need to follow the prompts as the script is interactive.
diff --git a/poky/documentation/dev-manual/history.rst b/poky/documentation/dev-manual/history.rst
deleted file mode 100644
index 1ba312422..000000000
--- a/poky/documentation/dev-manual/history.rst
+++ /dev/null
@@ -1,67 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-
-***********************
-Manual Revision History
-***********************
-
-.. list-table::
- :widths: 10 15 40
- :header-rows: 1
-
- * - Revision
- - Date
- - Note
- * - 1.1
- - October 2011
- - The initial document released with the Yocto Project 1.1 Release
- * - 1.2
- - April 2012
- - Released with the Yocto Project 1.2 Release.
- * - 1.3
- - October 2012
- - Released with the Yocto Project 1.3 Release.
- * - 1.4
- - April 2013
- - Released with the Yocto Project 1.4 Release.
- * - 1.5
- - October 2013
- - Released with the Yocto Project 1.5 Release.
- * - 1.6
- - April 2014
- - Released with the Yocto Project 1.6 Release.
- * - 1.7
- - October 2014
- - Released with the Yocto Project 1.7 Release.
- * - 1.8
- - April 2015
- - Released with the Yocto Project 1.8 Release.
- * - 2.0
- - October 2015
- - Released with the Yocto Project 2.0 Release.
- * - 2.1
- - April 2016
- - Released with the Yocto Project 2.1 Release.
- * - 2.2
- - October 2016
- - Released with the Yocto Project 2.2 Release.
- * - 2.3
- - May 2017
- - Released with the Yocto Project 2.3 Release.
- * - 2.4
- - October 2017
- - Released with the Yocto Project 2.4 Release.
- * - 2.5
- - May 2018
- - Released with the Yocto Project 2.5 Release.
- * - 2.6
- - November 2018
- - Released with the Yocto Project 2.6 Release.
- * - 2.7
- - May 2019
- - Released with the Yocto Project 2.7 Release.
- * - 3.0
- - October 2019
- - Released with the Yocto Project 3.0 Release.
- * - 3.1
- - April 2020
- - Released with the Yocto Project 3.1 Release.
diff --git a/poky/documentation/dev-manual/index.rst b/poky/documentation/dev-manual/index.rst
index 941db2df8..f16b135c4 100644
--- a/poky/documentation/dev-manual/index.rst
+++ b/poky/documentation/dev-manual/index.rst
@@ -14,6 +14,5 @@ Yocto Project Development Tasks Manual
start
common-tasks
qemu
- history
.. include:: /boilerplate.rst
diff --git a/poky/documentation/dev-manual/intro.rst b/poky/documentation/dev-manual/intro.rst
index 23c848e87..0f7370a96 100644
--- a/poky/documentation/dev-manual/intro.rst
+++ b/poky/documentation/dev-manual/intro.rst
@@ -7,16 +7,16 @@ The Yocto Project Development Tasks Manual
Welcome
=======
-Welcome to the Yocto Project Development Tasks Manual! This manual
+Welcome to the Yocto Project Development Tasks Manual. This manual
provides relevant procedures necessary for developing in the Yocto
Project environment (i.e. developing embedded Linux images and
-user-space applications that run on targeted devices). The manual groups
+user-space applications that run on targeted devices). This manual groups
related procedures into higher-level sections. Procedures can consist of
high-level steps or low-level steps depending on the topic.
This manual provides the following:
-- Procedures that help you get going with the Yocto Project. For
+- Procedures that help you get going with the Yocto Project; for
example, procedures that show you how to set up a build host and work
with the Yocto Project source repositories.
@@ -24,25 +24,25 @@ This manual provides the following:
Changes can be improvements, new features, or bug fixes.
- Procedures related to "everyday" tasks you perform while developing
- images and applications using the Yocto Project. For example,
- procedures to create a layer, customize an image, write a new recipe,
+ images and applications using the Yocto Project, such as
+ creating a new layer, customizing an image, writing a new recipe,
and so forth.
This manual does not provide the following:
-- Redundant Step-by-step Instructions: For example, the
+- Redundant step-by-step instructions: For example, the
:doc:`/sdk-manual/index` manual contains detailed
instructions on how to install an SDK, which is used to develop
applications for target hardware.
-- Reference or Conceptual Material: This type of material resides in an
- appropriate reference manual. For example, system variables are
+- Reference or conceptual material: This type of material resides in an
+ appropriate reference manual. As an example, system variables are
documented in the :doc:`/ref-manual/index`.
-- Detailed Public Information Not Specific to the Yocto Project: For
- example, exhaustive information on how to use the Source Control
- Manager Git is better covered with Internet searches and official Git
- Documentation than through the Yocto Project documentation.
+- Detailed public information not specific to the Yocto Project: For
+ example, exhaustive information on how to use the Git version
+ control system is better covered with Internet searches and official Git
+ documentation than through the Yocto Project documentation.
Other Information
=================
diff --git a/poky/documentation/dev-manual/start.rst b/poky/documentation/dev-manual/start.rst
index c3276c950..fc1b7c307 100644
--- a/poky/documentation/dev-manual/start.rst
+++ b/poky/documentation/dev-manual/start.rst
@@ -321,7 +321,7 @@ Project Build Host:
- gcc &MIN_GCC_VERSION; or greater.
- If your build host does not meet any of these three listed version
+ If your build host does not meet any of these listed version
requirements, you can take steps to prepare the system so that you
can still use the Yocto Project. See the
":ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`"
diff --git a/poky/documentation/kernel-dev/history.rst b/poky/documentation/kernel-dev/history.rst
deleted file mode 100644
index 761b506ac..000000000
--- a/poky/documentation/kernel-dev/history.rst
+++ /dev/null
@@ -1,58 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-
-***********************
-Manual Revision History
-***********************
-
-.. list-table::
- :widths: 10 15 40
- :header-rows: 1
-
- * - Revision
- - Date
- - Note
- * - 1.4
- - April 2013
- - The initial document released with the Yocto Project 1.4 Release
- * - 1.5
- - October 2013
- - Released with the Yocto Project 1.5 Release.
- * - 1.6
- - April 2014
- - Released with the Yocto Project 1.6 Release.
- * - 1.7
- - October 2014
- - Released with the Yocto Project 1.7 Release.
- * - 1.8
- - April 2015
- - Released with the Yocto Project 1.8 Release.
- * - 2.0
- - October 2015
- - Released with the Yocto Project 2.0 Release.
- * - 2.1
- - April 2016
- - Released with the Yocto Project 2.1 Release.
- * - 2.2
- - October 2016
- - Released with the Yocto Project 2.2 Release.
- * - 2.3
- - May 2017
- - Released with the Yocto Project 2.3 Release.
- * - 2.4
- - October 2017
- - Released with the Yocto Project 2.4 Release.
- * - 2.5
- - May 2018
- - Released with the Yocto Project 2.5 Release.
- * - 2.6
- - November 2018
- - Released with the Yocto Project 2.6 Release.
- * - 2.7
- - May 2019
- - Released with the Yocto Project 2.7 Release.
- * - 3.0
- - October 2019
- - Released with the Yocto Project 3.0 Release.
- * - 3.1
- - April 2020
- - Released with the Yocto Project 3.1 Release.
diff --git a/poky/documentation/kernel-dev/index.rst b/poky/documentation/kernel-dev/index.rst
index a8848ec8c..bd20e371e 100644
--- a/poky/documentation/kernel-dev/index.rst
+++ b/poky/documentation/kernel-dev/index.rst
@@ -16,6 +16,5 @@ Yocto Project Linux Kernel Development Manual
concepts-appx
maint-appx
faq
- history
.. include:: /boilerplate.rst
diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst
index c8b89885e..301763752 100644
--- a/poky/documentation/overview-manual/concepts.rst
+++ b/poky/documentation/overview-manual/concepts.rst
@@ -1908,8 +1908,8 @@ Behind the scenes, the shared state code works by looking in
shared state files. Here is an example::
SSTATE_MIRRORS ?= "\
- file://.\* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
- file://.\* file:///some/local/dir/sstate/PATH"
+ file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+ file://.* file:///some/local/dir/sstate/PATH"
.. note::
diff --git a/poky/documentation/overview-manual/history.rst b/poky/documentation/overview-manual/history.rst
deleted file mode 100644
index 6fc700a01..000000000
--- a/poky/documentation/overview-manual/history.rst
+++ /dev/null
@@ -1,28 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-
-***********************
-Manual Revision History
-***********************
-
-.. list-table::
- :widths: 10 15 40
- :header-rows: 1
-
- * - Revision
- - Date
- - Note
- * - 2.5
- - May 2018
- - The initial document released with the Yocto Project 2.5 Release
- * - 2.6
- - November 2018
- - Released with the Yocto Project 2.6 Release.
- * - 2.7
- - May 2019
- - Released with the Yocto Project 2.7 Release.
- * - 3.0
- - October 2019
- - Released with the Yocto Project 3.0 Release.
- * - 3.1
- - April 2020
- - Released with the Yocto Project 3.1 Release.
diff --git a/poky/documentation/overview-manual/index.rst b/poky/documentation/overview-manual/index.rst
index 123aed9b8..04061f8f4 100644
--- a/poky/documentation/overview-manual/index.rst
+++ b/poky/documentation/overview-manual/index.rst
@@ -14,6 +14,5 @@ Yocto Project Overview and Concepts Manual
yp-intro
development-environment
concepts
- history
.. include:: /boilerplate.rst
diff --git a/poky/documentation/poky.yaml b/poky/documentation/poky.yaml
index 19441f099..feb792fb4 100644
--- a/poky/documentation/poky.yaml
+++ b/poky/documentation/poky.yaml
@@ -1,12 +1,12 @@
-DISTRO : "3.3.2"
+DISTRO : "3.3.3"
DISTRO_NAME_NO_CAP : "hardknott"
DISTRO_NAME : "Hardknott"
DISTRO_NAME_NO_CAP_MINUS_ONE : "gatesgarth"
DISTRO_NAME_NO_CAP_LTS : "dunfell"
-YOCTO_DOC_VERSION : "3.3.2"
+YOCTO_DOC_VERSION : "3.3.3"
YOCTO_DOC_VERSION_MINUS_ONE : "3.2.4"
-DISTRO_REL_TAG : "yocto-3.3.2"
-POKYVERSION : "25.0.2"
+DISTRO_REL_TAG : "yocto-3.3.3"
+POKYVERSION : "25.0.3"
YOCTO_POKY : "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;"
YOCTO_DL_URL : "https://downloads.yoctoproject.org"
YOCTO_AB_URL : "https://autobuilder.yoctoproject.org"
diff --git a/poky/documentation/profile-manual/history.rst b/poky/documentation/profile-manual/history.rst
deleted file mode 100644
index 761b506ac..000000000
--- a/poky/documentation/profile-manual/history.rst
+++ /dev/null
@@ -1,58 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-
-***********************
-Manual Revision History
-***********************
-
-.. list-table::
- :widths: 10 15 40
- :header-rows: 1
-
- * - Revision
- - Date
- - Note
- * - 1.4
- - April 2013
- - The initial document released with the Yocto Project 1.4 Release
- * - 1.5
- - October 2013
- - Released with the Yocto Project 1.5 Release.
- * - 1.6
- - April 2014
- - Released with the Yocto Project 1.6 Release.
- * - 1.7
- - October 2014
- - Released with the Yocto Project 1.7 Release.
- * - 1.8
- - April 2015
- - Released with the Yocto Project 1.8 Release.
- * - 2.0
- - October 2015
- - Released with the Yocto Project 2.0 Release.
- * - 2.1
- - April 2016
- - Released with the Yocto Project 2.1 Release.
- * - 2.2
- - October 2016
- - Released with the Yocto Project 2.2 Release.
- * - 2.3
- - May 2017
- - Released with the Yocto Project 2.3 Release.
- * - 2.4
- - October 2017
- - Released with the Yocto Project 2.4 Release.
- * - 2.5
- - May 2018
- - Released with the Yocto Project 2.5 Release.
- * - 2.6
- - November 2018
- - Released with the Yocto Project 2.6 Release.
- * - 2.7
- - May 2019
- - Released with the Yocto Project 2.7 Release.
- * - 3.0
- - October 2019
- - Released with the Yocto Project 3.0 Release.
- * - 3.1
- - April 2020
- - Released with the Yocto Project 3.1 Release.
diff --git a/poky/documentation/profile-manual/index.rst b/poky/documentation/profile-manual/index.rst
index 6e54133e0..0270932ca 100644
--- a/poky/documentation/profile-manual/index.rst
+++ b/poky/documentation/profile-manual/index.rst
@@ -14,6 +14,5 @@ Yocto Project Profiling and Tracing Manual
arch
usage
examples
- history
.. include:: /boilerplate.rst
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index 3af023895..5c60fd8c8 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -543,7 +543,7 @@ which the OpenEmbedded build system places the generated objects built
from the recipes. By default, the :term:`B` directory is set to the
following, which is separate from the source directory (:term:`S`)::
- ${WORKDIR}/${BPN}/{PV}/
+ ${WORKDIR}/${BPN}-{PV}/
See these variables for more information:
:term:`WORKDIR`, :term:`BPN`, and
@@ -1710,6 +1710,55 @@ one such example. However, being aware of this class can reduce the
proliferation of different versions of similar classes across multiple
layers.
+.. _ref-classes-overlayfs:
+
+``overlayfs.bbclass``
+=======================
+
+It's often desired in Embedded System design to have a read-only rootfs.
+But a lot of different applications might want to have read-write access to
+some parts of a filesystem. It can be especially useful when your update mechanism
+overwrites the whole rootfs, but you may want your application data to be preserved
+between updates. The :ref:`overlayfs <ref-classes-overlayfs>` class provides a way
+to achieve that by means of ``overlayfs`` and at the same time keeping the base
+rootfs read-only.
+
+To use this class, set a mount point for a partition ``overlayfs`` is going to use as upper
+layer in your machine configuration. The underlying file system can be anything that
+is supported by ``overlayfs``. This has to be done in your machine configuration::
+
+ OVERLAYFS_MOUNT_POINT[data] = "/data"
+
+.. note::
+
+ * QA checks fail to catch file existence if you redefine this variable in your recipe!
+ * Only the existence of the systemd mount unit file is checked, not its contents.
+ * To get more details on ``overlayfs``, its internals and supported operations, please refer
+ to the official documentation of the `Linux kernel <https://www.kernel.org/doc/html/latest/filesystems/overlayfs.html>`_.
+
+The class assumes you have a ``data.mount`` systemd unit defined elsewhere in your BSP
+(e.g. in ``systemd-machine-units`` recipe) and it's installed into the image.
+
+Then you can specify writable directories on a recipe basis (e.g. in my-application.bb)::
+
+ OVERLAYFS_WRITABLE_PATHS[data] = "/usr/share/my-custom-application"
+
+To support several mount points you can use a different variable flag. Assuming we
+want to have a writable location on the file system, but do not need that the data
+survives a reboot, then we could have a ``mnt-overlay.mount`` unit for a ``tmpfs`` file system.
+
+In your machine configuration::
+
+ OVERLAYFS_MOUNT_POINT[mnt-overlay] = "/mnt/overlay"
+
+and then in your recipe::
+
+ OVERLAYFS_WRITABLE_PATHS[mnt-overlay] = "/usr/share/another-application"
+
+.. note::
+
+ The class does not support the ``/etc`` directory itself, because ``systemd`` depends on it.
+
.. _ref-classes-own-mirrors:
``own-mirrors.bbclass``
diff --git a/poky/documentation/ref-manual/devtool-reference.rst b/poky/documentation/ref-manual/devtool-reference.rst
index 1862c481d..a1a8bcdc9 100644
--- a/poky/documentation/ref-manual/devtool-reference.rst
+++ b/poky/documentation/ref-manual/devtool-reference.rst
@@ -78,7 +78,7 @@ has a number of sub-commands for each function. You can run
As directed in the general help output, you can
get more syntax on a specific command by providing the command name and
-using "--help"::
+using ``--help``::
$ devtool add --help
NOTE: Starting bitbake server...
@@ -284,10 +284,7 @@ is identified using the ``EDITOR`` variable, on the specified recipe.
When you use the ``devtool edit-recipe`` command, you must supply the
root name of the recipe (i.e. no version, paths, or extensions). Also,
the recipe file itself must reside in the workspace as a result of the
-``devtool add`` or ``devtool upgrade`` commands. However, you can
-override that requirement by using the "-a" or "--any-recipe" option.
-Using either of these options allows you to edit any recipe regardless
-of its location.
+``devtool add`` or ``devtool upgrade`` commands.
.. _devtool-updating-a-recipe:
@@ -331,23 +328,37 @@ Checking on the Upgrade Status of a Recipe
Upstream recipes change over time. Consequently, you might find that you
need to determine if you can upgrade a recipe to a newer version.
-To check on the upgrade status of a recipe, use the
-``devtool check-upgrade-status`` command. The command displays a table
-of your current recipe versions, the latest upstream versions, the email
-address of the recipe's maintainer, and any additional information such
-as commit hash strings and reasons you might not be able to upgrade a
-particular recipe.
+To check on the upgrade status of a recipe, you can use the
+``devtool latest-version recipe`` command, which quickly shows the current
+version and the latest version available upstream. To get a more global
+picture, use the ``devtool check-upgrade-status`` command, which takes a
+list of recipes as input, or no arguments, in which case it checks all
+available recipes. This command will only print the recipes for which
+a new upstream version is available. Each such recipe will have its current
+version and latest upstream version, as well as the email of the maintainer
+and any additional information such as the commit hash or reason for not
+being able to upgrade it, displayed in a table.
+
+This upgrade checking mechanism relies on the optional :term:`UPSTREAM_CHECK_URI`,
+:term:`UPSTREAM_CHECK_REGEX`, :term:`UPSTREAM_CHECK_GITTAGREGEX`,
+:term:`UPSTREAM_CHECK_COMMITS` and :term:`UPSTREAM_VERSION_UNKNOWN`
+variables in package recipes.
.. note::
+ - Most of the time, the above variables are unnecessary. They are only
+ required when upstream does something unusual, and default
+ mechanisms cannot find the new upstream versions.
+
- For the ``oe-core`` layer, recipe maintainers come from the
:yocto_git:`maintainers.inc </poky/tree/meta/conf/distro/include/maintainers.inc>`
file.
- If the recipe is using the :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching:git fetcher (\`\`git://\`\`)`
- rather than a
- tarball, the commit hash points to the commit that matches the
- recipe's latest version tag.
+ rather than a tarball, the commit hash points to the commit that matches
+ the recipe's latest version tag, or in the absence of suitable tags,
+ to the latest commit (when :term:`UPSTREAM_CHECK_COMMITS` set to ``1``
+ in the recipe).
As with all ``devtool`` commands, you can get help on the individual
command::
@@ -372,29 +383,25 @@ Following is a partial example table that reports on all the recipes.
Notice the reported reason for not upgrading the ``base-passwd`` recipe.
In this example, while a new version is available upstream, you do not
want to use it because the dependency on ``cdebconf`` is not easily
-satisfied.
-
-.. note::
-
- When a reason for not upgrading displays, the reason is usually
- written into the recipe using the ``RECIPE_NO_UPDATE_REASON``
- variable. See the
- :yocto_git:`base-passwd.bb </poky/tree/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb>`
- recipe for an example.
+satisfied. Maintainers can explicit the reason that is shown by adding
+the :term:`RECIPE_NO_UPDATE_REASON` variable to the corresponding recipe.
+See :yocto_git:`base-passwd.bb </poky/tree/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb>`
+for an example.
::
$ devtool check-upgrade-status
...
- NOTE: acpid 2.0.30 2.0.31 Ross Burton <ross.burton@intel.com>
- NOTE: u-boot-fw-utils 2018.11 2019.01 Marek Vasut <marek.vasut@gmail.com> d3689267f92c5956e09cc7d1baa4700141662bff
- NOTE: u-boot-tools 2018.11 2019.01 Marek Vasut <marek.vasut@gmail.com> d3689267f92c5956e09cc7d1baa4700141662bff
- .
- .
- .
- NOTE: base-passwd 3.5.29 3.5.45 Anuj Mittal <anuj.mittal@intel.com> cannot be updated due to: Version 3.5.38 requires cdebconf for update-passwd utility
- NOTE: busybox 1.29.2 1.30.0 Andrej Valek <andrej.valek@siemens.com>
- NOTE: dbus-test 1.12.10 1.12.12 Chen Qi <Qi.Chen@windriver.com>
+ INFO: bind 9.16.20 9.16.21 Armin Kuster <akuster808@gmail.com>
+ INFO: inetutils 2.1 2.2 Tom Rini <trini@konsulko.com>
+ INFO: iproute2 5.13.0 5.14.0 Changhyeok Bae <changhyeok.bae@gmail.com>
+ INFO: openssl 1.1.1l 3.0.0 Alexander Kanavin <alex.kanavin@gmail.com>
+ INFO: base-passwd 3.5.29 3.5.51 Anuj Mittal <anuj.mittal@intel.com> cannot be updated due to: Version 3.5.38 requires cdebconf for update-passwd utility
+ ...
+
+Last but not least, you may set :term:`UPSTREAM_VERSION_UNKNOWN` to ``1``
+in a recipe when there's currently no way to determine its latest upstream
+version.
.. _devtool-upgrading-a-recipe:
@@ -471,7 +478,7 @@ Use the ``devtool build`` command to build your recipe. The
When you use the ``devtool build`` command, you must supply the root
name of the recipe (i.e. do not provide versions, paths, or extensions).
-You can use either the "-s" or the "--disable-parallel-make" options to
+You can use either the ``-s`` or the ``--disable-parallel-make`` options to
disable parallel makes during the build. Here is an example::
$ devtool build recipe
diff --git a/poky/documentation/ref-manual/history.rst b/poky/documentation/ref-manual/history.rst
deleted file mode 100644
index dc0a2ae79..000000000
--- a/poky/documentation/ref-manual/history.rst
+++ /dev/null
@@ -1,74 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-
-***********************
-Manual Revision History
-***********************
-
-.. list-table::
- :widths: 10 15 40
- :header-rows: 1
-
- * - Revision
- - Date
- - Note
- * - 0.9
- - November 2010
- - The initial document released with the Yocto Project 0.9 Release
- * - 1.0
- - April 2011
- - Released with the Yocto Project 1.0 Release.
- * - 1.1
- - October 2011
- - Released with the Yocto Project 1.1 Release.
- * - 1.2
- - April 2012
- - Released with the Yocto Project 1.2 Release.
- * - 1.3
- - October 2012
- - Released with the Yocto Project 1.3 Release.
- * - 1.4
- - April 2013
- - Released with the Yocto Project 1.4 Release.
- * - 1.5
- - October 2013
- - Released with the Yocto Project 1.5 Release.
- * - 1.6
- - April 2014
- - Released with the Yocto Project 1.6 Release.
- * - 1.7
- - October 2014
- - Released with the Yocto Project 1.7 Release.
- * - 1.8
- - April 2015
- - Released with the Yocto Project 1.8 Release.
- * - 2.0
- - October 2015
- - Released with the Yocto Project 2.0 Release.
- * - 2.1
- - April 2016
- - Released with the Yocto Project 2.1 Release.
- * - 2.2
- - October 2016
- - Released with the Yocto Project 2.2 Release.
- * - 2.3
- - May 2017
- - Released with the Yocto Project 2.3 Release.
- * - 2.4
- - October 2017
- - Released with the Yocto Project 2.4 Release.
- * - 2.5
- - May 2018
- - Released with the Yocto Project 2.5 Release.
- * - 2.6
- - November 2018
- - Released with the Yocto Project 2.6 Release.
- * - 2.7
- - May 2019
- - Released with the Yocto Project 2.7 Release.
- * - 3.0
- - October 2019
- - Released with the Yocto Project 3.0 Release.
- * - 3.1
- - April 2020
- - Released with the Yocto Project 3.1 Release.
-
diff --git a/poky/documentation/ref-manual/index.rst b/poky/documentation/ref-manual/index.rst
index 5cf10c5c2..a746dde49 100644
--- a/poky/documentation/ref-manual/index.rst
+++ b/poky/documentation/ref-manual/index.rst
@@ -25,6 +25,5 @@ Yocto Project Reference Manual
varlocality
faq
resources
- history
.. include:: /boilerplate.rst
diff --git a/poky/documentation/ref-manual/qa-checks.rst b/poky/documentation/ref-manual/qa-checks.rst
index c3e40dba5..792c099d0 100644
--- a/poky/documentation/ref-manual/qa-checks.rst
+++ b/poky/documentation/ref-manual/qa-checks.rst
@@ -151,7 +151,7 @@ Errors and Warnings
occur if you add a path which contains a ``.debug`` directory and do
not explicitly add the ``.debug`` directory to the ``-dbg`` package.
If this is the case, add the ``.debug`` directory explicitly to
- ``FILES_${PN}-dbg``. See :term:`FILES` for additional
+ ``FILES:${PN}-dbg``. See :term:`FILES` for additional
information on :term:`FILES`.
 
@@ -435,7 +435,7 @@ Errors and Warnings
(e.g. :term:`PN` happens to be the same as :term:`MACHINE`
or :term:`DISTRO`), it can have unexpected
consequences. For example, assignments such as
- ``FILES_${PN} = "xyz"`` effectively turn into ``FILES = "xyz"``.
+ ``FILES:${PN} = "xyz"`` effectively turn into ``FILES = "xyz"``.
Rename your recipe (or if :term:`PN` is being set explicitly, change the
:term:`PN` value) so that the conflict does not occur. See
:term:`FILES` for additional information.
diff --git a/poky/documentation/ref-manual/resources.rst b/poky/documentation/ref-manual/resources.rst
index 5ffd2b399..c94238466 100644
--- a/poky/documentation/ref-manual/resources.rst
+++ b/poky/documentation/ref-manual/resources.rst
@@ -90,12 +90,12 @@ For more Yocto Project-related mailing lists, see the
Internet Relay Chat (IRC)
=========================
-Two IRC channels on Freenode are available for the Yocto Project and
-Poky discussions:
+Two IRC channels on `Libera Chat <https://libera.chat/>`__
+are available for the Yocto Project and OpenEmbedded discussions:
- ``#yocto``
-- ``#poky``
+- ``#oe``
.. _resources-links-and-related-documentation:
@@ -187,9 +187,10 @@ Here is a list of resources you might find helpful:
implementation of Bugzilla for logging and tracking Yocto Project
defects.
-- *Internet Relay Chat (IRC):* Two IRC channels on Freenode are
- available for Yocto Project and Poky discussions: ``#yocto`` and
- ``#poky``, respectively.
+- *Internet Relay Chat (IRC):* Two IRC channels on
+ `Libera Chat <https://libera.chat/>`__ are
+ available for Yocto Project and OpenEmbeddded discussions: ``#yocto`` and
+ ``#oe``, respectively.
- `Quick EMUlator (QEMU) <https://wiki.qemu.org/Index.html>`__\ *:* An
open-source machine emulator and virtualizer.
diff --git a/poky/documentation/ref-manual/system-requirements.rst b/poky/documentation/ref-manual/system-requirements.rst
index e9d995c61..5e5c105d6 100644
--- a/poky/documentation/ref-manual/system-requirements.rst
+++ b/poky/documentation/ref-manual/system-requirements.rst
@@ -4,7 +4,7 @@
System Requirements
*******************
-Welcome to the Yocto Project Reference Manual! This manual provides
+Welcome to the Yocto Project Reference Manual. This manual provides
reference information for the current release of the Yocto Project, and
is most effectively used after you have an understanding of the basics
of the Yocto Project. The manual is neither meant to be read as a
@@ -277,7 +277,8 @@ installer and automatically installs the tools for you:
1. Execute the ``install-buildtools`` script. Here is an example::
$ cd poky
- $ scripts/install-buildtools --without-extended-buildtools \
+ $ scripts/install-buildtools \
+ --without-extended-buildtools \
--base-url &YOCTO_DL_URL;/releases/yocto \
--release yocto-&DISTRO; \
--installer-version &DISTRO;
diff --git a/poky/documentation/ref-manual/tasks.rst b/poky/documentation/ref-manual/tasks.rst
index ecc701856..4edae3339 100644
--- a/poky/documentation/ref-manual/tasks.rst
+++ b/poky/documentation/ref-manual/tasks.rst
@@ -438,37 +438,6 @@ Manually Called Tasks
These tasks are typically manually triggered (e.g. by using the
``bitbake -c`` command-line option):
-.. _ref-tasks-checkpkg:
-
-``do_checkpkg``
----------------
-
-Provides information about the recipe including its upstream version and
-status. The upstream version and status reveals whether or not a version
-of the recipe exists upstream and a status of not updated, updated, or
-unknown.
-
-To check the upstream version and status of a recipe, use the following
-devtool commands::
-
- $ devtool latest-version
- $ devtool check-upgrade-status
-
-See the ":ref:`ref-manual/devtool-reference:\`\`devtool\`\` quick reference`"
-chapter for more information on
-``devtool``. See the ":ref:`devtool-checking-on-the-upgrade-status-of-a-recipe`"
-section for information on checking the upgrade status of a recipe.
-
-To build the ``checkpkg`` task, use the ``bitbake`` command with the
-"-c" option and task name::
-
- $ bitbake core-image-minimal -c checkpkg
-
-By default, the results are stored in :term:`$LOG_DIR <LOG_DIR>` (e.g.
-``$BUILD_DIR/tmp/log``).
-
-.. _ref-tasks-checkuri:
-
``do_checkuri``
---------------
diff --git a/poky/documentation/ref-manual/terms.rst b/poky/documentation/ref-manual/terms.rst
index 32658051a..e5a7565df 100644
--- a/poky/documentation/ref-manual/terms.rst
+++ b/poky/documentation/ref-manual/terms.rst
@@ -367,10 +367,16 @@ universal, the list includes them just in case:
section in the Yocto Project Overview and Concepts Manual.
:term:`Task`
- A unit of execution for BitBake (e.g.
+ A per-recipe unit of execution for BitBake (e.g.
:ref:`ref-tasks-compile`,
:ref:`ref-tasks-fetch`,
:ref:`ref-tasks-patch`, and so forth).
+ One of the major benefits of the build system is that, since each
+ recipe will typically spawn the execution of numerous tasks,
+ it is entirely possible that many tasks can execute in parallel,
+ either tasks from separate recipes or independent tasks within
+ the same recipe, potentially up to the parallelism of your
+ build system.
:term:`Toaster`
A web interface to the Yocto Project's :term:`OpenEmbedded Build System`.
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index d5ac1926b..5f6f91146 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -3589,6 +3589,12 @@ system and gives an overview of their function and contents.
.. note::
+ Bundling the initramfs with the kernel conflates the code in the
+ initramfs with the GPLv2 licensed Linux kernel binary. Thus only GPLv2
+ compatible software may be part of a bundled initramfs.
+
+ .. note::
+
Using an extra compilation pass to bundle the initramfs avoids a
circular dependency between the kernel recipe and the initramfs
recipe should the initramfs include kernel modules. Should that be
@@ -5064,33 +5070,44 @@ system and gives an overview of their function and contents.
":ref:`package.bbclass <ref-classes-package>`" section.
:term:`PACKAGE_DEBUG_SPLIT_STYLE`
- Determines how to split up the binary and debug information when
- creating ``*-dbg`` packages to be used with the GNU Project Debugger
- (GDB).
-
- With the :term:`PACKAGE_DEBUG_SPLIT_STYLE` variable, you can control
- where debug information, which can include or exclude source files,
- is stored:
-
- - ".debug": Debug symbol files are placed next to the binary in a
- ``.debug`` directory on the target. For example, if a binary is
- installed into ``/bin``, the corresponding debug symbol files are
- installed in ``/bin/.debug``. Source files are placed in
- ``/usr/src/debug``.
-
- - "debug-file-directory": Debug symbol files are placed under
- ``/usr/lib/debug`` on the target, and separated by the path from
- where the binary is installed. For example, if a binary is
- installed in ``/bin``, the corresponding debug symbols are
- installed in ``/usr/lib/debug/bin``. Source files are placed in
- ``/usr/src/debug``.
-
- - "debug-without-src": The same behavior as ".debug" previously
- described with the exception that no source files are installed.
-
- - "debug-with-srcpkg": The same behavior as ".debug" previously
- described with the exception that all source files are placed in a
- separate ``*-src`` pkg. This is the default behavior.
+ Determines how to split up and package debug and source information
+ when creating debugging packages to be used with the GNU Project
+ Debugger (GDB). In general, based on the value of this variable,
+ you can combine the source and debug info in a single package,
+ you can break out the source into a separate package that can be
+ installed independently, or you can choose to not have the source
+ packaged at all.
+
+ The possible values of :term:`PACKAGE_DEBUG_SPLIT_STYLE` variable:
+
+ - "``.debug``": All debugging and source info is placed in a single
+ ``*-dbg`` package; debug symbol files are placed next to the
+ binary in a ``.debug`` directory so that, if a binary is installed
+ into ``/bin``, the corresponding debug symbol file is installed
+ in ``/bin/.debug``. Source files are installed in the same ``*-dbg``
+ package under ``/usr/src/debug``.
+
+ - "``debug-file-directory``": As above, all debugging and source info
+ is placed in a single ``*-dbg`` package; debug symbol files are
+ placed entirely under the directory ``/usr/lib/debug`` and separated
+ by the path from where the binary is installed, so that if a binary
+ is installed in ``/bin``, the corresponding debug symbols are installed
+ in ``/usr/lib/debug/bin``, and so on. As above, source is installed
+ in the same package under ``/usr/src/debug``.
+
+ - "``debug-with-srcpkg``": Debugging info is placed in the standard
+ ``*-dbg`` package as with the ``.debug`` value, while source is
+ placed in a separate ``*-src`` package, which can be installed
+ independently. This is the default setting for this variable,
+ as defined in Poky's ``bitbake.conf`` file.
+
+ - "``debug-without-src``": The same behavior as with the ``.debug``
+ setting, but no source is packaged at all.
+
+ .. note::
+
+ Much of the above package splitting can be overridden via
+ use of the :term:`INHIBIT_PACKAGE_DEBUG_SPLIT` variable.
You can find out more about debugging using GDB by reading the
":ref:`dev-manual/common-tasks:debugging with the gnu project debugger (gdb) remotely`" section
@@ -5391,7 +5408,7 @@ system and gives an overview of their function and contents.
The list of packages the recipe creates. The default value is the
following::
- ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}
+ ${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}
During packaging, the :ref:`ref-tasks-package` task
goes through :term:`PACKAGES` and uses the :term:`FILES`
@@ -6132,6 +6149,13 @@ system and gives an overview of their function and contents.
BitBake User Manual for additional information on tasks and
dependencies.
+ :term:`RECIPE_NO_UPDATE_REASON`
+ If a recipe should not be replaced by a more recent upstream version,
+ putting the reason why in this variable in a recipe allows
+ ``devtool check-upgrade-status`` command to display it, as explained
+ in the ":ref:`ref-manual/devtool-reference:checking on the upgrade status of a recipe`"
+ section.
+
:term:`REQUIRED_DISTRO_FEATURES`
When inheriting the
:ref:`features_check <ref-classes-features_check>`
@@ -7503,6 +7527,7 @@ system and gives an overview of their function and contents.
${base_libdir} \
${nonarch_base_libdir} \
${datadir} \
+ /sysroot-only \
"
:term:`SYSROOT_DIRS_BLACKLIST`
@@ -7516,10 +7541,16 @@ system and gives an overview of their function and contents.
${mandir} \
${docdir} \
${infodir} \
- ${datadir}/locale \
+ ${datadir}/X11/locale \
${datadir}/applications \
+ ${datadir}/bash-completion \
${datadir}/fonts \
+ ${datadir}/gtk-doc/html \
+ ${datadir}/installed-tests \
+ ${datadir}/locale \
${datadir}/pixmaps \
+ ${datadir}/terminfo \
+ ${libdir}/${BPN}/ptest \
"
:term:`SYSROOT_DIRS_NATIVE`
@@ -8476,9 +8507,21 @@ system and gives an overview of their function and contents.
install initscripts package them in the main package for the recipe,
you rarely need to set this variable in individual recipes.
+ :term:`UPSTREAM_CHECK_COMMITS`
+ You can perform a per-recipe check for what the latest upstream
+ source code version is by calling ``devtool latest-version recipe``. If
+ the recipe source code is provided from Git repositories, but
+ releases are not identified by Git tags, set :term:`UPSTREAM_CHECK_COMMITS`
+ to ``1`` in the recipe, and the OpenEmbedded build system
+ will compare the latest commit with the one currently specified
+ by the recipe (:term:`SRCREV`).
+ ::
+
+ UPSTREAM_CHECK_COMMITS = "1"
+
:term:`UPSTREAM_CHECK_GITTAGREGEX`
You can perform a per-recipe check for what the latest upstream
- source code version is by calling ``bitbake -c checkpkg`` recipe. If
+ source code version is by calling ``devtool latest-version recipe``. If
the recipe source code is provided from Git repositories, the
OpenEmbedded build system determines the latest upstream version by
picking the latest tag from the list of all repository tags.
@@ -8501,7 +8544,7 @@ system and gives an overview of their function and contents.
:term:`UPSTREAM_CHECK_URI`
You can perform a per-recipe check for what the latest upstream
- source code version is by calling ``bitbake -c checkpkg`` recipe. If
+ source code version is by calling ``devtool latest-version recipe``. If
the source code is provided from tarballs, the latest version is
determined by fetching the directory listing where the tarball is and
attempting to find a later tarball. When this approach does not work,
@@ -8511,6 +8554,18 @@ system and gives an overview of their function and contents.
UPSTREAM_CHECK_URI = "recipe_url"
+ :term:`UPSTREAM_VERSION_UNKNOWN`
+ You can perform a per-recipe check for what the latest upstream
+ source code version is by calling ``devtool latest-version recipe``.
+ If no combination of the :term:`UPSTREAM_CHECK_URI`, :term:`UPSTREAM_CHECK_REGEX`,
+ :term:`UPSTREAM_CHECK_GITTAGREGEX` and :term:`UPSTREAM_CHECK_COMMITS` variables in
+ the recipe allows to determine what the latest upstream version is,
+ you can set :term:`UPSTREAM_VERSION_UNKNOWN` to ``1`` in the recipe
+ to acknowledge that the check cannot be performed.
+ ::
+
+ UPSTREAM_VERSION_UNKNOWN = "1"
+
:term:`USE_DEVFS`
Determines if ``devtmpfs`` is used for ``/dev`` population. The
default value used for :term:`USE_DEVFS` is "1" when no value is
diff --git a/poky/documentation/releases.rst b/poky/documentation/releases.rst
index 3f9646407..bb881a2e2 100644
--- a/poky/documentation/releases.rst
+++ b/poky/documentation/releases.rst
@@ -11,6 +11,7 @@ Release Series 3.3 (hardknott)
- :yocto_docs:`3.3 Documentation </3.3>`
- :yocto_docs:`3.3.1 Documentation </3.3.1>`
- :yocto_docs:`3.3.2 Documentation </3.3.2>`
+- :yocto_docs:`3.3.2 Documentation </3.3.3>`
*******************************
Release Series 3.2 (gatesgarth)
@@ -37,6 +38,7 @@ Release Series 3.1 (dunfell)
- :yocto_docs:`3.1.8 Documentation </3.1.8>`
- :yocto_docs:`3.1.9 Documentation </3.1.9>`
- :yocto_docs:`3.1.10 Documentation </3.1.10>`
+- :yocto_docs:`3.1.11 Documentation </3.1.11>`
==========================
Outdated Release Manuals
diff --git a/poky/documentation/sdk-manual/history.rst b/poky/documentation/sdk-manual/history.rst
deleted file mode 100644
index 8c10f6d2e..000000000
--- a/poky/documentation/sdk-manual/history.rst
+++ /dev/null
@@ -1,40 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-
-***********************
-Manual Revision History
-***********************
-
-.. list-table::
- :widths: 10 15 40
- :header-rows: 1
-
- * - Revision
- - Date
- - Note
- * - 2.1
- - April 2016
- - The initial document released with the Yocto Project 2.1 Release
- * - 2.2
- - October 2016
- - Released with the Yocto Project 2.2 Release.
- * - 2.3
- - May 2017
- - Released with the Yocto Project 2.3 Release.
- * - 2.4
- - October 2017
- - Released with the Yocto Project 2.4 Release.
- * - 2.5
- - May 2018
- - Released with the Yocto Project 2.5 Release.
- * - 2.6
- - November 2018
- - Released with the Yocto Project 2.6 Release.
- * - 2.7
- - May 2019
- - Released with the Yocto Project 2.7 Release.
- * - 3.0
- - October 2019
- - Released with the Yocto Project 3.0 Release.
- * - 3.1
- - April 2020
- - Released with the Yocto Project 3.1 Release.
diff --git a/poky/documentation/sdk-manual/index.rst b/poky/documentation/sdk-manual/index.rst
index fce2b199c..dc7186b91 100644
--- a/poky/documentation/sdk-manual/index.rst
+++ b/poky/documentation/sdk-manual/index.rst
@@ -17,6 +17,5 @@ Yocto Project Application Development and the Extensible Software Development Ki
appendix-obtain
appendix-customizing
appendix-customizing-standard
- history
.. include:: /boilerplate.rst
diff --git a/poky/documentation/sphinx-static/switchers.js b/poky/documentation/sphinx-static/switchers.js
index 6243724da..1e37b625a 100644
--- a/poky/documentation/sphinx-static/switchers.js
+++ b/poky/documentation/sphinx-static/switchers.js
@@ -3,9 +3,9 @@
var all_versions = {
'dev': 'dev (3.4)',
- '3.3.2': '3.3.2',
+ '3.3.3': '3.3.3',
'3.2.4': '3.2.4',
- '3.1.10': '3.1.10',
+ '3.1.11': '3.1.11',
'3.0.4': '3.0.4',
'2.7.4': '2.7.4',
};
diff --git a/poky/documentation/test-manual/history.rst b/poky/documentation/test-manual/history.rst
deleted file mode 100644
index 89d4aad21..000000000
--- a/poky/documentation/test-manual/history.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-
-***********************
-Manual Revision History
-***********************
-
-.. list-table::
- :widths: 10 15 40
- :header-rows: 1
-
- * - Revision
- - Date
- - Note
- * - 3.2
- - October 2020
- - The initial document released with the Yocto Project 3.2 Release
diff --git a/poky/documentation/test-manual/index.rst b/poky/documentation/test-manual/index.rst
index 4c590a6aa..86a2f436e 100644
--- a/poky/documentation/test-manual/index.rst
+++ b/poky/documentation/test-manual/index.rst
@@ -15,6 +15,5 @@ Yocto Project Test Environment Manual
understand-autobuilder
reproducible-builds
yocto-project-compatible
- history
.. include:: /boilerplate.rst
diff --git a/poky/documentation/toaster-manual/history.rst b/poky/documentation/toaster-manual/history.rst
deleted file mode 100644
index 05b63e5b9..000000000
--- a/poky/documentation/toaster-manual/history.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-
-***********************
-Manual Revision History
-***********************
-
-.. list-table::
- :widths: 10 15 40
- :header-rows: 1
-
- * - Revision
- - Date
- - Note
- * - 1.8
- - April 2015
- - The initial document released with the Yocto Project 1.8 Release
- * - 2.0
- - October 2015
- - Released with the Yocto Project 2.0 Release.
- * - 2.1
- - April 2016
- - Released with the Yocto Project 2.1 Release.
- * - 2.2
- - October 2016
- - Released with the Yocto Project 2.2 Release.
- * - 2.3
- - May 2017
- - Released with the Yocto Project 2.3 Release.
- * - 2.4
- - October 2017
- - Released with the Yocto Project 2.4 Release.
- * - 2.5
- - May 2018
- - Released with the Yocto Project 2.5 Release.
- * - 2.6
- - November 2018
- - Released with the Yocto Project 2.6 Release.
- * - 2.7
- - May 2019
- - Released with the Yocto Project 2.7 Release.
- * - 3.0
- - October 2019
- - Released with the Yocto Project 3.0 Release.
- * - 3.1
- - April 2020
- - Released with the Yocto Project 3.1 Release.
diff --git a/poky/documentation/toaster-manual/index.rst b/poky/documentation/toaster-manual/index.rst
index f13ba7b8a..3ff4c6913 100644
--- a/poky/documentation/toaster-manual/index.rst
+++ b/poky/documentation/toaster-manual/index.rst
@@ -14,6 +14,5 @@ Toaster User Manual
start
setup-and-use
reference
- history
.. include:: /boilerplate.rst
diff --git a/poky/meta-poky/conf/distro/poky-tiny.conf b/poky/meta-poky/conf/distro/poky-tiny.conf
index b8f5f21a3..756c65a2f 100644
--- a/poky/meta-poky/conf/distro/poky-tiny.conf
+++ b/poky/meta-poky/conf/distro/poky-tiny.conf
@@ -43,7 +43,7 @@ FULL_OPTIMIZATION="-Os -pipe ${DEBUG_FLAGS}"
# Distro config is evaluated after the machine config, so we have to explicitly
# set the kernel provider to override a machine config.
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny"
-PREFERRED_VERSION_linux-yocto-tiny ?= "5.13%"
+PREFERRED_VERSION_linux-yocto-tiny ?= "5.14%"
# We can use packagegroup-core-boot, but in the future we may need a new packagegroup-core-tiny
#POKY_DEFAULT_EXTRA_RDEPENDS += "packagegroup-core-boot"
diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf
index ae0c52178..e161e4943 100644
--- a/poky/meta-poky/conf/distro/poky.conf
+++ b/poky/meta-poky/conf/distro/poky.conf
@@ -19,8 +19,8 @@ POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
-PREFERRED_VERSION_linux-yocto ?= "5.13%"
-PREFERRED_VERSION_linux-yocto-rt ?= "5.13%"
+PREFERRED_VERSION_linux-yocto ?= "5.14%"
+PREFERRED_VERSION_linux-yocto-rt ?= "5.14%"
SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}"
SDKPATHINSTALL = "/opt/${DISTRO}/${SDK_VERSION}"
diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample
index 75b27167f..7bdbba06b 100644
--- a/poky/meta-poky/conf/local.conf.sample
+++ b/poky/meta-poky/conf/local.conf.sample
@@ -221,13 +221,15 @@ BB_DISKMON_DIRS ??= "\
# Yocto Project SState Mirror
#
# The Yocto Project has prebuilt artefacts available for its releases, you can enable
-# use of these by uncommenting the following line. This will mean the build uses
+# use of these by uncommenting the following lines. This will mean the build uses
# the network to check for artefacts at the start of builds, which does slow it down
# equally, it will also speed up the builds by not having to build things if they are
# present in the cache. It assumes you can download something faster than you can build it
# which will depend on your network.
+# Note: For this to work you also need hash-equivalence passthrough to the matching server
#
-#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH"
+#BB_HASHSERVE_UPSTREAM = "typhoon.yocto.io:8687"
+#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/3.4/PATH;downloadfilename=PATH"
#
# Qemu configuration
diff --git a/poky/meta-selftest/recipes-devtools/python/python-async-test.inc b/poky/meta-selftest/recipes-devtools/python/python-async-test.inc
index 439a0b927..6d7c7458b 100644
--- a/poky/meta-selftest/recipes-devtools/python/python-async-test.inc
+++ b/poky/meta-selftest/recipes-devtools/python/python-async-test.inc
@@ -1,7 +1,7 @@
SUMMARY = "Python framework to process interdependent tasks in a pool of workers"
HOMEPAGE = "http://github.com/gitpython-developers/async"
SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e"
inherit pypi
diff --git a/poky/meta-selftest/recipes-test/logging-test/logging-test.bb b/poky/meta-selftest/recipes-test/logging-test/logging-test.bb
new file mode 100644
index 000000000..a6100123f
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/logging-test/logging-test.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Destined to fail"
+LICENSE = "CLOSED"
+
+deltask do_patch
+INHIBIT_DEFAULT_DEPS = "1"
+
+do_shelltest() {
+ echo "This is shell stdout"
+ echo "This is shell stderr" >&2
+ exit 1
+}
+addtask do_shelltest
+
+python do_pythontest_exit () {
+ print("This is python stdout")
+ sys.exit(1)
+}
+addtask do_pythontest_exit
+
+python do_pythontest_fatal () {
+ print("This is python fatal test stdout")
+ bb.fatal("This is a fatal error")
+}
+addtask do_pythontest_fatal
diff --git a/poky/meta-selftest/wic/test_efi_plugin.wks b/poky/meta-selftest/wic/test_efi_plugin.wks
new file mode 100644
index 000000000..1603d6c4b
--- /dev/null
+++ b/poky/meta-selftest/wic/test_efi_plugin.wks
@@ -0,0 +1,6 @@
+# short-description: This file is used in oe-selftest wic module to test efi plugin
+
+part /boot --source bootimg-efi --sourceparams="loader=systemd-boot,create-unified-kernel-image=true,initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}" --active --align 1024 --use-uuid
+part / --source rootfs --fstype=ext4 --align 1024 --use-uuid
+
+bootloader --timeout=0 --append="console=ttyS0,115200n8"
diff --git a/poky/meta-skeleton/recipes-kernel/hello-mod/files/hello.c b/poky/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
index f3c0d372e..6b73a7952 100644
--- a/poky/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
+++ b/poky/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
@@ -19,15 +19,17 @@
#include <linux/module.h>
-int init_module(void)
+static int __init hello_init(void)
{
- printk("Hello World!\n");
+ pr_info("Hello World!\n");
return 0;
}
-void cleanup_module(void)
+static void __exit hello_exit(void)
{
- printk("Goodbye Cruel World!\n");
+ pr_info("Goodbye Cruel World!\n");
}
+module_init(hello_init);
+module_exit(hello_exit);
MODULE_LICENSE("GPL");
diff --git a/poky/meta-yocto-bsp/README.hardware.md b/poky/meta-yocto-bsp/README.hardware.md
index 9803af006..f00f167d3 100644
--- a/poky/meta-yocto-bsp/README.hardware.md
+++ b/poky/meta-yocto-bsp/README.hardware.md
@@ -37,10 +37,10 @@ variable value corresponding to the board is given in brackets.
Reference Board Maintenance
===========================
-Send pull requests, patches, comments or questions about meta-yocto-bsps to poky@yoctoproject.org
+Send pull requests, patches, comments or questions about meta-yocto-bsps to poky@lists.yoctoproject.org
Maintainers: Kevin Hao <kexin.hao@windriver.com>
- Bruce Ashfield <bruce.ashfield@windriver.com>
+ Bruce Ashfield <bruce.ashfield@gmail.com>
Consumer Devices
================
diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
index 618af4030..b3d960a8c 100644
--- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
+++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
@@ -24,7 +24,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "5.13%"
+PREFERRED_VERSION_linux-yocto ?= "5.14%"
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
diff --git a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
index 9c95f4632..32be4b9c3 100644
--- a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
+++ b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
@@ -11,7 +11,7 @@ KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "5.13%"
+PREFERRED_VERSION_linux-yocto ?= "5.14%"
SERIAL_CONSOLES = "115200;ttyS0"
USE_VT ?= "0"
diff --git a/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc b/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
index adc8ca879..4651b37e5 100644
--- a/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
+++ b/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
@@ -2,7 +2,7 @@ include conf/machine/include/x86/x86-base.inc
require conf/machine/include/x86/qemuboot-x86.inc
MACHINE_FEATURES += "wifi efi pcbios"
-PREFERRED_VERSION_linux-yocto ?= "5.13%"
+PREFERRED_VERSION_linux-yocto ?= "5.14%"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
XSERVER ?= "${XSERVER_X86_BASE} \
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend
index 1e14229c2..a7ef143dc 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend
@@ -7,17 +7,17 @@ KMACHINE:genericx86 ?= "common-pc"
KMACHINE:genericx86-64 ?= "common-pc-64"
KMACHINE:beaglebone-yocto ?= "beaglebone"
-SRCREV_machine:genericx86 ?= "c274623910704eefcc98380a17649889ac7e9408"
-SRCREV_machine:genericx86-64 ?= "c274623910704eefcc98380a17649889ac7e9408"
-SRCREV_machine:edgerouter ?= "ac089d661362ba857e235c5630242039b150ae26"
-SRCREV_machine:beaglebone-yocto ?= "a6df693a45f5787d4254e0998f52b4465b2a5efe"
+SRCREV_machine:genericx86 ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4"
+SRCREV_machine:genericx86-64 ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4"
+SRCREV_machine:edgerouter ?= "4ab94e777d8b41ee1ee4c279259e9733bc8049b1"
+SRCREV_machine:beaglebone-yocto ?= "941cc9c3849f96f7eaf109b1e35e05ba366aca56"
COMPATIBLE_MACHINE:genericx86 = "genericx86"
COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE:edgerouter = "edgerouter"
COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
-LINUX_VERSION:genericx86 = "5.10.55"
-LINUX_VERSION:genericx86-64 = "5.10.55"
-LINUX_VERSION:edgerouter = "5.10.55"
-LINUX_VERSION:beaglebone-yocto = "5.10.55"
+LINUX_VERSION:genericx86 = "5.10.63"
+LINUX_VERSION:genericx86-64 = "5.10.63"
+LINUX_VERSION:edgerouter = "5.10.63"
+LINUX_VERSION:beaglebone-yocto = "5.10.63"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.13.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.13.bbappend
deleted file mode 100644
index 6089a94d7..000000000
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.13.bbappend
+++ /dev/null
@@ -1,23 +0,0 @@
-KBRANCH:genericx86 = "v5.13/standard/base"
-KBRANCH:genericx86-64 = "v5.13/standard/base"
-KBRANCH:edgerouter = "v5.13/standard/edgerouter"
-KBRANCH:beaglebone-yocto = "v5.13/standard/beaglebone"
-
-KMACHINE:genericx86 ?= "common-pc"
-KMACHINE:genericx86-64 ?= "common-pc-64"
-KMACHINE:beaglebone-yocto ?= "beaglebone"
-
-SRCREV_machine:genericx86 ?= "fe64083abac67ac736aa0133f3a4088286aece40"
-SRCREV_machine:genericx86-64 ?= "fe64083abac67ac736aa0133f3a4088286aece40"
-SRCREV_machine:edgerouter ?= "7b80606f7484fb1967a261e7e262de9adeb7ed59"
-SRCREV_machine:beaglebone-yocto ?= "e486ea86794d62e7e6adbb3a2b2fd65222f323f7"
-
-COMPATIBLE_MACHINE:genericx86 = "genericx86"
-COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE:edgerouter = "edgerouter"
-COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
-
-LINUX_VERSION:genericx86 = "5.13.11"
-LINUX_VERSION:genericx86-64 = "5.13.11"
-LINUX_VERSION:edgerouter = "5.13.11"
-LINUX_VERSION:beaglebone-yocto = "5.13.11"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.14.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.14.bbappend
new file mode 100644
index 000000000..52371ff66
--- /dev/null
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.14.bbappend
@@ -0,0 +1,23 @@
+KBRANCH:genericx86 = "v5.14/standard/base"
+KBRANCH:genericx86-64 = "v5.14/standard/base"
+KBRANCH:edgerouter = "v5.14/standard/edgerouter"
+KBRANCH:beaglebone-yocto = "v5.14/standard/beaglebone"
+
+KMACHINE:genericx86 ?= "common-pc"
+KMACHINE:genericx86-64 ?= "common-pc-64"
+KMACHINE:beaglebone-yocto ?= "beaglebone"
+
+SRCREV_machine:genericx86 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+SRCREV_machine:genericx86-64 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+SRCREV_machine:edgerouter ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+SRCREV_machine:beaglebone-yocto ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+
+COMPATIBLE_MACHINE:genericx86 = "genericx86"
+COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
+COMPATIBLE_MACHINE:edgerouter = "edgerouter"
+COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
+
+LINUX_VERSION:genericx86 = "5.14.6"
+LINUX_VERSION:genericx86-64 = "5.14.6"
+LINUX_VERSION:edgerouter = "5.14.6"
+LINUX_VERSION:beaglebone-yocto = "5.14.6"
diff --git a/poky/meta/classes/autotools.bbclass b/poky/meta/classes/autotools.bbclass
index 2c7968e65..4ab246099 100644
--- a/poky/meta/classes/autotools.bbclass
+++ b/poky/meta/classes/autotools.bbclass
@@ -145,9 +145,12 @@ ACLOCALEXTRAPATH:class-target = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
ACLOCALEXTRAPATH:class-nativesdk = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
python autotools_aclocals () {
- d.setVar("CONFIG_SITE", siteinfo_get_files(d, sysrootcache=True))
+ sitefiles, searched = siteinfo_get_files(d, sysrootcache=True)
+ d.setVar("CONFIG_SITE", " ".join(sitefiles))
}
+do_configure[file-checksums] += "${@' '.join(siteinfo_get_files(d, sysrootcache=False)[1])}"
+
CONFIGURE_FILES = "${S}/configure.in ${S}/configure.ac ${S}/config.h.in ${S}/acinclude.m4 Makefile.am"
autotools_do_configure() {
diff --git a/poky/meta/classes/cpan-base.bbclass b/poky/meta/classes/cpan-base.bbclass
index 9758065bf..93d11e1be 100644
--- a/poky/meta/classes/cpan-base.bbclass
+++ b/poky/meta/classes/cpan-base.bbclass
@@ -20,7 +20,7 @@ PERLLIBDIRS:class-native = "${libdir}/perl5"
def cpan_upstream_check_pattern(d):
for x in (d.getVar('SRC_URI') or '').split(' '):
if x.startswith("https://cpan.metacpan.org"):
- _pattern = x.split('/')[-1].replace(d.getVar('PV'), '(?P<pver>\d+.\d+)')
+ _pattern = x.split('/')[-1].replace(d.getVar('PV'), r'(?P<pver>\d+.\d+)')
return _pattern
return ''
diff --git a/poky/meta/classes/create-spdx.bbclass b/poky/meta/classes/create-spdx.bbclass
new file mode 100644
index 000000000..739b46e9b
--- /dev/null
+++ b/poky/meta/classes/create-spdx.bbclass
@@ -0,0 +1,948 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+DEPLOY_DIR_SPDX ??= "${DEPLOY_DIR}/spdx/${MACHINE}"
+
+# The product name that the CVE database uses. Defaults to BPN, but may need to
+# be overriden per recipe (for example tiff.bb sets CVE_PRODUCT=libtiff).
+CVE_PRODUCT ??= "${BPN}"
+CVE_VERSION ??= "${PV}"
+
+SPDXDIR ??= "${WORKDIR}/spdx"
+SPDXDEPLOY = "${SPDXDIR}/deploy"
+SPDXWORK = "${SPDXDIR}/work"
+
+SPDX_TOOL_NAME ??= "oe-spdx-creator"
+SPDX_TOOL_VERSION ??= "1.0"
+
+SPDXRUNTIMEDEPLOY = "${SPDXDIR}/runtime-deploy"
+
+SPDX_INCLUDE_SOURCES ??= "0"
+SPDX_INCLUDE_PACKAGED ??= "0"
+SPDX_ARCHIVE_SOURCES ??= "0"
+SPDX_ARCHIVE_PACKAGED ??= "0"
+
+SPDX_UUID_NAMESPACE ??= "sbom.openembedded.org"
+SPDX_NAMESPACE_PREFIX ??= "http://spdx.org/spdxdoc"
+
+SPDX_LICENSES ??= "${COREBASE}/meta/files/spdx-licenses.json"
+
+do_image_complete[depends] = "virtual/kernel:do_create_spdx"
+
+def get_doc_namespace(d, doc):
+ import uuid
+ namespace_uuid = uuid.uuid5(uuid.NAMESPACE_DNS, d.getVar("SPDX_UUID_NAMESPACE"))
+ return "%s/%s-%s" % (d.getVar("SPDX_NAMESPACE_PREFIX"), doc.name, str(uuid.uuid5(namespace_uuid, doc.name)))
+
+def recipe_spdx_is_native(d, recipe):
+ return any(a.annotationType == "OTHER" and
+ a.annotator == "Tool: %s - %s" % (d.getVar("SPDX_TOOL_NAME"), d.getVar("SPDX_TOOL_VERSION")) and
+ a.comment == "isNative" for a in recipe.annotations)
+
+def is_work_shared(d):
+ pn = d.getVar('PN')
+ return bb.data.inherits_class('kernel', d) or pn.startswith('gcc-source')
+
+
+python() {
+ import json
+ if d.getVar("SPDX_LICENSE_DATA"):
+ return
+
+ with open(d.getVar("SPDX_LICENSES"), "r") as f:
+ data = json.load(f)
+ # Transform the license array to a dictionary
+ data["licenses"] = {l["licenseId"]: l for l in data["licenses"]}
+ d.setVar("SPDX_LICENSE_DATA", data)
+}
+
+def convert_license_to_spdx(lic, document, d, existing={}):
+ from pathlib import Path
+ import oe.spdx
+
+ available_licenses = d.getVar("AVAILABLE_LICENSES").split()
+ license_data = d.getVar("SPDX_LICENSE_DATA")
+ extracted = {}
+
+ def add_extracted_license(ident, name):
+ nonlocal document
+
+ if name in extracted:
+ return
+
+ extracted_info = oe.spdx.SPDXExtractedLicensingInfo()
+ extracted_info.name = name
+ extracted_info.licenseId = ident
+ extracted_info.extractedText = None
+
+ if name == "PD":
+ # Special-case this.
+ extracted_info.extractedText = "Software released to the public domain"
+ elif name in available_licenses:
+ # This license can be found in COMMON_LICENSE_DIR or LICENSE_PATH
+ for directory in [d.getVar('COMMON_LICENSE_DIR')] + d.getVar('LICENSE_PATH').split():
+ try:
+ with (Path(directory) / name).open(errors="replace") as f:
+ extracted_info.extractedText = f.read()
+ break
+ except FileNotFoundError:
+ pass
+ if extracted_info.extractedText is None:
+ # Error out, as the license was in available_licenses so should
+ # be on disk somewhere.
+ bb.error("Cannot find text for license %s" % name)
+ else:
+ # If it's not SPDX, or PD, or in available licenses, then NO_GENERIC_LICENSE must be set
+ filename = d.getVarFlag('NO_GENERIC_LICENSE', name)
+ if filename:
+ filename = d.expand("${S}/" + filename)
+ with open(filename, errors="replace") as f:
+ extracted_info.extractedText = f.read()
+ else:
+ bb.error("Cannot find any text for license %s" % name)
+
+ extracted[name] = extracted_info
+ document.hasExtractedLicensingInfos.append(extracted_info)
+
+ def convert(l):
+ if l == "(" or l == ")":
+ return l
+
+ if l == "&":
+ return "AND"
+
+ if l == "|":
+ return "OR"
+
+ if l == "CLOSED":
+ return "NONE"
+
+ spdx_license = d.getVarFlag("SPDXLICENSEMAP", l) or l
+ if spdx_license in license_data["licenses"]:
+ return spdx_license
+
+ try:
+ spdx_license = existing[l]
+ except KeyError:
+ spdx_license = "LicenseRef-" + l
+ add_extracted_license(spdx_license, l)
+
+ return spdx_license
+
+ lic_split = lic.replace("(", " ( ").replace(")", " ) ").split()
+
+ return ' '.join(convert(l) for l in lic_split)
+
+
+def process_sources(d):
+ pn = d.getVar('PN')
+ assume_provided = (d.getVar("ASSUME_PROVIDED") or "").split()
+ if pn in assume_provided:
+ for p in d.getVar("PROVIDES").split():
+ if p != pn:
+ pn = p
+ break
+
+ # glibc-locale: do_fetch, do_unpack and do_patch tasks have been deleted,
+ # so avoid archiving source here.
+ if pn.startswith('glibc-locale'):
+ return False
+ if d.getVar('PN') == "libtool-cross":
+ return False
+ if d.getVar('PN') == "libgcc-initial":
+ return False
+ if d.getVar('PN') == "shadow-sysroot":
+ return False
+
+ # We just archive gcc-source for all the gcc related recipes
+ if d.getVar('BPN') in ['gcc', 'libgcc']:
+ bb.debug(1, 'spdx: There is bug in scan of %s is, do nothing' % pn)
+ return False
+
+ return True
+
+
+def add_package_files(d, doc, spdx_pkg, topdir, get_spdxid, get_types, *, archive=None, ignore_dirs=[], ignore_top_level_dirs=[]):
+ from pathlib import Path
+ import oe.spdx
+ import hashlib
+
+ source_date_epoch = d.getVar("SOURCE_DATE_EPOCH")
+ if source_date_epoch:
+ source_date_epoch = int(source_date_epoch)
+
+ sha1s = []
+ spdx_files = []
+
+ file_counter = 1
+ for subdir, dirs, files in os.walk(topdir):
+ dirs[:] = [d for d in dirs if d not in ignore_dirs]
+ if subdir == str(topdir):
+ dirs[:] = [d for d in dirs if d not in ignore_top_level_dirs]
+
+ for file in files:
+ filepath = Path(subdir) / file
+ filename = str(filepath.relative_to(topdir))
+
+ if filepath.is_file() and not filepath.is_symlink():
+ spdx_file = oe.spdx.SPDXFile()
+ spdx_file.SPDXID = get_spdxid(file_counter)
+ for t in get_types(filepath):
+ spdx_file.fileTypes.append(t)
+ spdx_file.fileName = filename
+
+ if archive is not None:
+ with filepath.open("rb") as f:
+ info = archive.gettarinfo(fileobj=f)
+ info.name = filename
+ info.uid = 0
+ info.gid = 0
+ info.uname = "root"
+ info.gname = "root"
+
+ if source_date_epoch is not None and info.mtime > source_date_epoch:
+ info.mtime = source_date_epoch
+
+ archive.addfile(info, f)
+
+ sha1 = bb.utils.sha1_file(filepath)
+ sha1s.append(sha1)
+ spdx_file.checksums.append(oe.spdx.SPDXChecksum(
+ algorithm="SHA1",
+ checksumValue=sha1,
+ ))
+ spdx_file.checksums.append(oe.spdx.SPDXChecksum(
+ algorithm="SHA256",
+ checksumValue=bb.utils.sha256_file(filepath),
+ ))
+
+ doc.files.append(spdx_file)
+ doc.add_relationship(spdx_pkg, "CONTAINS", spdx_file)
+ spdx_pkg.hasFiles.append(spdx_file.SPDXID)
+
+ spdx_files.append(spdx_file)
+
+ file_counter += 1
+
+ sha1s.sort()
+ verifier = hashlib.sha1()
+ for v in sha1s:
+ verifier.update(v.encode("utf-8"))
+ spdx_pkg.packageVerificationCode.packageVerificationCodeValue = verifier.hexdigest()
+
+ return spdx_files
+
+
+def add_package_sources_from_debug(d, package_doc, spdx_package, package, package_files, sources):
+ from pathlib import Path
+ import hashlib
+ import oe.packagedata
+ import oe.spdx
+
+ debug_search_paths = [
+ Path(d.getVar('PKGD')),
+ Path(d.getVar('STAGING_DIR_TARGET')),
+ Path(d.getVar('STAGING_DIR_NATIVE')),
+ ]
+
+ pkg_data = oe.packagedata.read_subpkgdata_extended(package, d)
+
+ if pkg_data is None:
+ return
+
+ for file_path, file_data in pkg_data["files_info"].items():
+ if not "debugsrc" in file_data:
+ continue
+
+ for pkg_file in package_files:
+ if file_path.lstrip("/") == pkg_file.fileName.lstrip("/"):
+ break
+ else:
+ bb.fatal("No package file found for %s" % str(file_path))
+ continue
+
+ for debugsrc in file_data["debugsrc"]:
+ ref_id = "NOASSERTION"
+ for search in debug_search_paths:
+ debugsrc_path = search / debugsrc.lstrip("/")
+ if not debugsrc_path.exists():
+ continue
+
+ file_sha256 = bb.utils.sha256_file(debugsrc_path)
+
+ if file_sha256 in sources:
+ source_file = sources[file_sha256]
+
+ doc_ref = package_doc.find_external_document_ref(source_file.doc.documentNamespace)
+ if doc_ref is None:
+ doc_ref = oe.spdx.SPDXExternalDocumentRef()
+ doc_ref.externalDocumentId = "DocumentRef-dependency-" + source_file.doc.name
+ doc_ref.spdxDocument = source_file.doc.documentNamespace
+ doc_ref.checksum.algorithm = "SHA1"
+ doc_ref.checksum.checksumValue = source_file.doc_sha1
+ package_doc.externalDocumentRefs.append(doc_ref)
+
+ ref_id = "%s:%s" % (doc_ref.externalDocumentId, source_file.file.SPDXID)
+ else:
+ bb.debug(1, "Debug source %s with SHA256 %s not found in any dependency" % (str(debugsrc_path), file_sha256))
+ break
+ else:
+ bb.debug(1, "Debug source %s not found" % debugsrc)
+
+ package_doc.add_relationship(pkg_file, "GENERATED_FROM", ref_id, comment=debugsrc)
+
+def collect_dep_recipes(d, doc, spdx_recipe):
+ from pathlib import Path
+ import oe.sbom
+ import oe.spdx
+
+ deploy_dir_spdx = Path(d.getVar("DEPLOY_DIR_SPDX"))
+
+ dep_recipes = []
+ taskdepdata = d.getVar("BB_TASKDEPDATA", False)
+ deps = sorted(set(
+ dep[0] for dep in taskdepdata.values() if
+ dep[1] == "do_create_spdx" and dep[0] != d.getVar("PN")
+ ))
+ for dep_pn in deps:
+ dep_recipe_path = deploy_dir_spdx / "recipes" / ("recipe-%s.spdx.json" % dep_pn)
+
+ spdx_dep_doc, spdx_dep_sha1 = oe.sbom.read_doc(dep_recipe_path)
+
+ for pkg in spdx_dep_doc.packages:
+ if pkg.name == dep_pn:
+ spdx_dep_recipe = pkg
+ break
+ else:
+ continue
+
+ dep_recipes.append(oe.sbom.DepRecipe(spdx_dep_doc, spdx_dep_sha1, spdx_dep_recipe))
+
+ dep_recipe_ref = oe.spdx.SPDXExternalDocumentRef()
+ dep_recipe_ref.externalDocumentId = "DocumentRef-dependency-" + spdx_dep_doc.name
+ dep_recipe_ref.spdxDocument = spdx_dep_doc.documentNamespace
+ dep_recipe_ref.checksum.algorithm = "SHA1"
+ dep_recipe_ref.checksum.checksumValue = spdx_dep_sha1
+
+ doc.externalDocumentRefs.append(dep_recipe_ref)
+
+ doc.add_relationship(
+ "%s:%s" % (dep_recipe_ref.externalDocumentId, spdx_dep_recipe.SPDXID),
+ "BUILD_DEPENDENCY_OF",
+ spdx_recipe
+ )
+
+ return dep_recipes
+
+collect_dep_recipes[vardepsexclude] += "BB_TASKDEPDATA"
+
+
+def collect_dep_sources(d, dep_recipes):
+ import oe.sbom
+
+ sources = {}
+ for dep in dep_recipes:
+ # Don't collect sources from native recipes as they
+ # match non-native sources also.
+ if recipe_spdx_is_native(d, dep.recipe):
+ continue
+ recipe_files = set(dep.recipe.hasFiles)
+
+ for spdx_file in dep.doc.files:
+ if spdx_file.SPDXID not in recipe_files:
+ continue
+
+ if "SOURCE" in spdx_file.fileTypes:
+ for checksum in spdx_file.checksums:
+ if checksum.algorithm == "SHA256":
+ sources[checksum.checksumValue] = oe.sbom.DepSource(dep.doc, dep.doc_sha1, dep.recipe, spdx_file)
+ break
+
+ return sources
+
+
+python do_create_spdx() {
+ from datetime import datetime, timezone
+ import oe.sbom
+ import oe.spdx
+ import uuid
+ from pathlib import Path
+ from contextlib import contextmanager
+ import oe.cve_check
+
+ @contextmanager
+ def optional_tarfile(name, guard, mode="w"):
+ import tarfile
+ import bb.compress.zstd
+
+ num_threads = int(d.getVar("BB_NUMBER_THREADS"))
+
+ if guard:
+ name.parent.mkdir(parents=True, exist_ok=True)
+ with bb.compress.zstd.open(name, mode=mode + "b", num_threads=num_threads) as f:
+ with tarfile.open(fileobj=f, mode=mode + "|") as tf:
+ yield tf
+ else:
+ yield None
+
+
+ deploy_dir_spdx = Path(d.getVar("DEPLOY_DIR_SPDX"))
+ spdx_workdir = Path(d.getVar("SPDXWORK"))
+ include_packaged = d.getVar("SPDX_INCLUDE_PACKAGED") == "1"
+ include_sources = d.getVar("SPDX_INCLUDE_SOURCES") == "1"
+ archive_sources = d.getVar("SPDX_ARCHIVE_SOURCES") == "1"
+ archive_packaged = d.getVar("SPDX_ARCHIVE_PACKAGED") == "1"
+
+ creation_time = datetime.now(tz=timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
+
+ doc = oe.spdx.SPDXDocument()
+
+ doc.name = "recipe-" + d.getVar("PN")
+ doc.documentNamespace = get_doc_namespace(d, doc)
+ doc.creationInfo.created = creation_time
+ doc.creationInfo.comment = "This document was created by analyzing recipe files during the build."
+ doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"]
+ doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass")
+ doc.creationInfo.creators.append("Organization: OpenEmbedded ()")
+ doc.creationInfo.creators.append("Person: N/A ()")
+
+ recipe = oe.spdx.SPDXPackage()
+ recipe.name = d.getVar("PN")
+ recipe.versionInfo = d.getVar("PV")
+ recipe.SPDXID = oe.sbom.get_recipe_spdxid(d)
+ if bb.data.inherits_class("native", d):
+ annotation = oe.spdx.SPDXAnnotation()
+ annotation.annotationDate = creation_time
+ annotation.annotationType = "OTHER"
+ annotation.annotator = "Tool: %s - %s" % (d.getVar("SPDX_TOOL_NAME"), d.getVar("SPDX_TOOL_VERSION"))
+ annotation.comment = "isNative"
+ recipe.annotations.append(annotation)
+
+ for s in d.getVar('SRC_URI').split():
+ if not s.startswith("file://"):
+ recipe.downloadLocation = s
+ break
+ else:
+ recipe.downloadLocation = "NOASSERTION"
+
+ homepage = d.getVar("HOMEPAGE")
+ if homepage:
+ recipe.homepage = homepage
+
+ license = d.getVar("LICENSE")
+ if license:
+ recipe.licenseDeclared = convert_license_to_spdx(license, doc, d)
+
+ summary = d.getVar("SUMMARY")
+ if summary:
+ recipe.summary = summary
+
+ description = d.getVar("DESCRIPTION")
+ if description:
+ recipe.description = description
+
+ # Some CVEs may be patched during the build process without incrementing the version number,
+ # so querying for CVEs based on the CPE id can lead to false positives. To account for this,
+ # save the CVEs fixed by patches to source information field in the SPDX.
+ patched_cves = oe.cve_check.get_patched_cves(d)
+ patched_cves = list(patched_cves)
+ patched_cves = ' '.join(patched_cves)
+ if patched_cves:
+ recipe.sourceInfo = "CVEs fixed: " + patched_cves
+
+ cpe_ids = oe.cve_check.get_cpe_ids(d.getVar("CVE_PRODUCT"), d.getVar("CVE_VERSION"))
+ if cpe_ids:
+ for cpe_id in cpe_ids:
+ cpe = oe.spdx.SPDXExternalReference()
+ cpe.referenceCategory = "SECURITY"
+ cpe.referenceType = "http://spdx.org/rdf/references/cpe23Type"
+ cpe.referenceLocator = cpe_id
+ recipe.externalRefs.append(cpe)
+
+ doc.packages.append(recipe)
+ doc.add_relationship(doc, "DESCRIBES", recipe)
+
+ if process_sources(d) and include_sources:
+ recipe_archive = deploy_dir_spdx / "recipes" / (doc.name + ".tar.zst")
+ with optional_tarfile(recipe_archive, archive_sources) as archive:
+ spdx_get_src(d)
+
+ add_package_files(
+ d,
+ doc,
+ recipe,
+ spdx_workdir,
+ lambda file_counter: "SPDXRef-SourceFile-%s-%d" % (d.getVar("PN"), file_counter),
+ lambda filepath: ["SOURCE"],
+ ignore_dirs=[".git"],
+ ignore_top_level_dirs=["temp"],
+ archive=archive,
+ )
+
+ if archive is not None:
+ recipe.packageFileName = str(recipe_archive.name)
+
+ dep_recipes = collect_dep_recipes(d, doc, recipe)
+
+ doc_sha1 = oe.sbom.write_doc(d, doc, "recipes")
+ dep_recipes.append(oe.sbom.DepRecipe(doc, doc_sha1, recipe))
+
+ recipe_ref = oe.spdx.SPDXExternalDocumentRef()
+ recipe_ref.externalDocumentId = "DocumentRef-recipe-" + recipe.name
+ recipe_ref.spdxDocument = doc.documentNamespace
+ recipe_ref.checksum.algorithm = "SHA1"
+ recipe_ref.checksum.checksumValue = doc_sha1
+
+ sources = collect_dep_sources(d, dep_recipes)
+ found_licenses = {license.name:recipe_ref.externalDocumentId + ":" + license.licenseId for license in doc.hasExtractedLicensingInfos}
+
+ if not recipe_spdx_is_native(d, recipe):
+ bb.build.exec_func("read_subpackage_metadata", d)
+
+ pkgdest = Path(d.getVar("PKGDEST"))
+ for package in d.getVar("PACKAGES").split():
+ if not oe.packagedata.packaged(package, d):
+ continue
+
+ package_doc = oe.spdx.SPDXDocument()
+ pkg_name = d.getVar("PKG:%s" % package) or package
+ package_doc.name = pkg_name
+ package_doc.documentNamespace = get_doc_namespace(d, package_doc)
+ package_doc.creationInfo.created = creation_time
+ package_doc.creationInfo.comment = "This document was created by analyzing packages created during the build."
+ package_doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"]
+ package_doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass")
+ package_doc.creationInfo.creators.append("Organization: OpenEmbedded ()")
+ package_doc.creationInfo.creators.append("Person: N/A ()")
+ package_doc.externalDocumentRefs.append(recipe_ref)
+
+ package_license = d.getVar("LICENSE:%s" % package) or d.getVar("LICENSE")
+
+ spdx_package = oe.spdx.SPDXPackage()
+
+ spdx_package.SPDXID = oe.sbom.get_package_spdxid(pkg_name)
+ spdx_package.name = pkg_name
+ spdx_package.versionInfo = d.getVar("PV")
+ spdx_package.licenseDeclared = convert_license_to_spdx(package_license, package_doc, d, found_licenses)
+
+ package_doc.packages.append(spdx_package)
+
+ package_doc.add_relationship(spdx_package, "GENERATED_FROM", "%s:%s" % (recipe_ref.externalDocumentId, recipe.SPDXID))
+ package_doc.add_relationship(package_doc, "DESCRIBES", spdx_package)
+
+ package_archive = deploy_dir_spdx / "packages" / (package_doc.name + ".tar.zst")
+ with optional_tarfile(package_archive, archive_packaged) as archive:
+ package_files = add_package_files(
+ d,
+ package_doc,
+ spdx_package,
+ pkgdest / package,
+ lambda file_counter: oe.sbom.get_packaged_file_spdxid(pkg_name, file_counter),
+ lambda filepath: ["BINARY"],
+ archive=archive,
+ )
+
+ if archive is not None:
+ spdx_package.packageFileName = str(package_archive.name)
+
+ add_package_sources_from_debug(d, package_doc, spdx_package, package, package_files, sources)
+
+ oe.sbom.write_doc(d, package_doc, "packages")
+}
+# NOTE: depending on do_unpack is a hack that is necessary to get it's dependencies for archive the source
+addtask do_create_spdx after do_package do_packagedata do_unpack before do_build do_rm_work
+
+SSTATETASKS += "do_create_spdx"
+do_create_spdx[sstate-inputdirs] = "${SPDXDEPLOY}"
+do_create_spdx[sstate-outputdirs] = "${DEPLOY_DIR_SPDX}"
+
+python do_create_spdx_setscene () {
+ sstate_setscene(d)
+}
+addtask do_create_spdx_setscene
+
+do_create_spdx[dirs] = "${SPDXDEPLOY} ${SPDXWORK}"
+do_create_spdx[cleandirs] = "${SPDXDEPLOY} ${SPDXWORK}"
+do_create_spdx[depends] += "${PATCHDEPENDENCY}"
+do_create_spdx[deptask] = "do_create_spdx"
+
+def collect_package_providers(d):
+ from pathlib import Path
+ import oe.sbom
+ import oe.spdx
+ import json
+
+ deploy_dir_spdx = Path(d.getVar("DEPLOY_DIR_SPDX"))
+
+ providers = {}
+
+ taskdepdata = d.getVar("BB_TASKDEPDATA", False)
+ deps = sorted(set(
+ dep[0] for dep in taskdepdata.values() if dep[0] != d.getVar("PN")
+ ))
+ deps.append(d.getVar("PN"))
+
+ for dep_pn in deps:
+ recipe_data = oe.packagedata.read_pkgdata(dep_pn, d)
+
+ for pkg in recipe_data.get("PACKAGES", "").split():
+
+ pkg_data = oe.packagedata.read_subpkgdata_dict(pkg, d)
+ rprovides = set(n for n, _ in bb.utils.explode_dep_versions2(pkg_data.get("RPROVIDES", "")).items())
+ rprovides.add(pkg)
+
+ for r in rprovides:
+ providers[r] = pkg
+
+ return providers
+
+collect_package_providers[vardepsexclude] += "BB_TASKDEPDATA"
+
+python do_create_runtime_spdx() {
+ from datetime import datetime, timezone
+ import oe.sbom
+ import oe.spdx
+ import oe.packagedata
+ from pathlib import Path
+
+ deploy_dir_spdx = Path(d.getVar("DEPLOY_DIR_SPDX"))
+ spdx_deploy = Path(d.getVar("SPDXRUNTIMEDEPLOY"))
+ is_native = bb.data.inherits_class("native", d)
+
+ creation_time = datetime.now(tz=timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
+
+ providers = collect_package_providers(d)
+
+ if not is_native:
+ bb.build.exec_func("read_subpackage_metadata", d)
+
+ dep_package_cache = {}
+
+ pkgdest = Path(d.getVar("PKGDEST"))
+ for package in d.getVar("PACKAGES").split():
+ localdata = bb.data.createCopy(d)
+ pkg_name = d.getVar("PKG:%s" % package) or package
+ localdata.setVar("PKG", pkg_name)
+ localdata.setVar('OVERRIDES', d.getVar("OVERRIDES", False) + ":" + package)
+
+ if not oe.packagedata.packaged(package, localdata):
+ continue
+
+ pkg_spdx_path = deploy_dir_spdx / "packages" / (pkg_name + ".spdx.json")
+
+ package_doc, package_doc_sha1 = oe.sbom.read_doc(pkg_spdx_path)
+
+ for p in package_doc.packages:
+ if p.name == pkg_name:
+ spdx_package = p
+ break
+ else:
+ bb.fatal("Package '%s' not found in %s" % (pkg_name, pkg_spdx_path))
+
+ runtime_doc = oe.spdx.SPDXDocument()
+ runtime_doc.name = "runtime-" + pkg_name
+ runtime_doc.documentNamespace = get_doc_namespace(localdata, runtime_doc)
+ runtime_doc.creationInfo.created = creation_time
+ runtime_doc.creationInfo.comment = "This document was created by analyzing package runtime dependencies."
+ runtime_doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"]
+ runtime_doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass")
+ runtime_doc.creationInfo.creators.append("Organization: OpenEmbedded ()")
+ runtime_doc.creationInfo.creators.append("Person: N/A ()")
+
+ package_ref = oe.spdx.SPDXExternalDocumentRef()
+ package_ref.externalDocumentId = "DocumentRef-package-" + package
+ package_ref.spdxDocument = package_doc.documentNamespace
+ package_ref.checksum.algorithm = "SHA1"
+ package_ref.checksum.checksumValue = package_doc_sha1
+
+ runtime_doc.externalDocumentRefs.append(package_ref)
+
+ runtime_doc.add_relationship(
+ runtime_doc.SPDXID,
+ "AMENDS",
+ "%s:%s" % (package_ref.externalDocumentId, package_doc.SPDXID)
+ )
+
+ deps = bb.utils.explode_dep_versions2(localdata.getVar("RDEPENDS") or "")
+ seen_deps = set()
+ for dep, _ in deps.items():
+ if dep in seen_deps:
+ continue
+
+ dep = providers[dep]
+
+ if not oe.packagedata.packaged(dep, localdata):
+ continue
+
+ dep_pkg_data = oe.packagedata.read_subpkgdata_dict(dep, d)
+ dep_pkg = dep_pkg_data["PKG"]
+
+ if dep in dep_package_cache:
+ (dep_spdx_package, dep_package_ref) = dep_package_cache[dep]
+ else:
+ dep_path = deploy_dir_spdx / "packages" / ("%s.spdx.json" % dep_pkg)
+
+ spdx_dep_doc, spdx_dep_sha1 = oe.sbom.read_doc(dep_path)
+
+ for pkg in spdx_dep_doc.packages:
+ if pkg.name == dep_pkg:
+ dep_spdx_package = pkg
+ break
+ else:
+ bb.fatal("Package '%s' not found in %s" % (dep_pkg, dep_path))
+
+ dep_package_ref = oe.spdx.SPDXExternalDocumentRef()
+ dep_package_ref.externalDocumentId = "DocumentRef-runtime-dependency-" + spdx_dep_doc.name
+ dep_package_ref.spdxDocument = spdx_dep_doc.documentNamespace
+ dep_package_ref.checksum.algorithm = "SHA1"
+ dep_package_ref.checksum.checksumValue = spdx_dep_sha1
+
+ dep_package_cache[dep] = (dep_spdx_package, dep_package_ref)
+
+ runtime_doc.externalDocumentRefs.append(dep_package_ref)
+
+ runtime_doc.add_relationship(
+ "%s:%s" % (dep_package_ref.externalDocumentId, dep_spdx_package.SPDXID),
+ "RUNTIME_DEPENDENCY_OF",
+ "%s:%s" % (package_ref.externalDocumentId, spdx_package.SPDXID)
+ )
+ seen_deps.add(dep)
+
+ oe.sbom.write_doc(d, runtime_doc, "runtime", spdx_deploy)
+}
+
+addtask do_create_runtime_spdx after do_create_spdx before do_build do_rm_work
+SSTATETASKS += "do_create_runtime_spdx"
+do_create_runtime_spdx[sstate-inputdirs] = "${SPDXRUNTIMEDEPLOY}"
+do_create_runtime_spdx[sstate-outputdirs] = "${DEPLOY_DIR_SPDX}"
+
+python do_create_runtime_spdx_setscene () {
+ sstate_setscene(d)
+}
+addtask do_create_runtime_spdx_setscene
+
+do_create_runtime_spdx[dirs] = "${SPDXRUNTIMEDEPLOY}"
+do_create_runtime_spdx[cleandirs] = "${SPDXRUNTIMEDEPLOY}"
+do_create_runtime_spdx[rdeptask] = "do_create_spdx"
+
+def spdx_get_src(d):
+ """
+ save patched source of the recipe in SPDX_WORKDIR.
+ """
+ import shutil
+ spdx_workdir = d.getVar('SPDXWORK')
+ spdx_sysroot_native = d.getVar('STAGING_DIR_NATIVE')
+ pn = d.getVar('PN')
+
+ workdir = d.getVar("WORKDIR")
+
+ try:
+ # The kernel class functions require it to be on work-shared, so we dont change WORKDIR
+ if not is_work_shared(d):
+ # Change the WORKDIR to make do_unpack do_patch run in another dir.
+ d.setVar('WORKDIR', spdx_workdir)
+ # Restore the original path to recipe's native sysroot (it's relative to WORKDIR).
+ d.setVar('STAGING_DIR_NATIVE', spdx_sysroot_native)
+
+ # The changed 'WORKDIR' also caused 'B' changed, create dir 'B' for the
+ # possibly requiring of the following tasks (such as some recipes's
+ # do_patch required 'B' existed).
+ bb.utils.mkdirhier(d.getVar('B'))
+
+ bb.build.exec_func('do_unpack', d)
+ # Copy source of kernel to spdx_workdir
+ if is_work_shared(d):
+ d.setVar('WORKDIR', spdx_workdir)
+ d.setVar('STAGING_DIR_NATIVE', spdx_sysroot_native)
+ src_dir = spdx_workdir + "/" + d.getVar('PN')+ "-" + d.getVar('PV') + "-" + d.getVar('PR')
+ bb.utils.mkdirhier(src_dir)
+ if bb.data.inherits_class('kernel',d):
+ share_src = d.getVar('STAGING_KERNEL_DIR')
+ cmd_copy_share = "cp -rf " + share_src + "/* " + src_dir + "/"
+ cmd_copy_kernel_result = os.popen(cmd_copy_share).read()
+ bb.note("cmd_copy_kernel_result = " + cmd_copy_kernel_result)
+
+ git_path = src_dir + "/.git"
+ if os.path.exists(git_path):
+ shutils.rmtree(git_path)
+
+ # Make sure gcc and kernel sources are patched only once
+ if not (d.getVar('SRC_URI') == "" or is_work_shared(d)):
+ bb.build.exec_func('do_patch', d)
+
+ # Some userland has no source.
+ if not os.path.exists( spdx_workdir ):
+ bb.utils.mkdirhier(spdx_workdir)
+ finally:
+ d.setVar("WORKDIR", workdir)
+
+do_rootfs[recrdeptask] += "do_create_spdx do_create_runtime_spdx"
+
+ROOTFS_POSTUNINSTALL_COMMAND =+ "image_combine_spdx ; "
+python image_combine_spdx() {
+ import os
+ import oe.spdx
+ import oe.sbom
+ import io
+ import json
+ from oe.rootfs import image_list_installed_packages
+ from datetime import timezone, datetime
+ from pathlib import Path
+ import tarfile
+ import bb.compress.zstd
+
+ creation_time = datetime.now(tz=timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
+ image_name = d.getVar("IMAGE_NAME")
+ image_link_name = d.getVar("IMAGE_LINK_NAME")
+
+ deploy_dir_spdx = Path(d.getVar("DEPLOY_DIR_SPDX"))
+ imgdeploydir = Path(d.getVar("IMGDEPLOYDIR"))
+ source_date_epoch = d.getVar("SOURCE_DATE_EPOCH")
+
+ doc = oe.spdx.SPDXDocument()
+ doc.name = image_name
+ doc.documentNamespace = get_doc_namespace(d, doc)
+ doc.creationInfo.created = creation_time
+ doc.creationInfo.comment = "This document was created by analyzing the source of the Yocto recipe during the build."
+ doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"]
+ doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass")
+ doc.creationInfo.creators.append("Organization: OpenEmbedded ()")
+ doc.creationInfo.creators.append("Person: N/A ()")
+
+ image = oe.spdx.SPDXPackage()
+ image.name = d.getVar("PN")
+ image.versionInfo = d.getVar("PV")
+ image.SPDXID = oe.sbom.get_image_spdxid(image_name)
+
+ doc.packages.append(image)
+
+ spdx_package = oe.spdx.SPDXPackage()
+
+ packages = image_list_installed_packages(d)
+
+ for name in sorted(packages.keys()):
+ pkg_spdx_path = deploy_dir_spdx / "packages" / (name + ".spdx.json")
+ pkg_doc, pkg_doc_sha1 = oe.sbom.read_doc(pkg_spdx_path)
+
+ for p in pkg_doc.packages:
+ if p.name == name:
+ pkg_ref = oe.spdx.SPDXExternalDocumentRef()
+ pkg_ref.externalDocumentId = "DocumentRef-%s" % pkg_doc.name
+ pkg_ref.spdxDocument = pkg_doc.documentNamespace
+ pkg_ref.checksum.algorithm = "SHA1"
+ pkg_ref.checksum.checksumValue = pkg_doc_sha1
+
+ doc.externalDocumentRefs.append(pkg_ref)
+ doc.add_relationship(image, "CONTAINS", "%s:%s" % (pkg_ref.externalDocumentId, p.SPDXID))
+ break
+ else:
+ bb.fatal("Unable to find package with name '%s' in SPDX file %s" % (name, pkg_spdx_path))
+
+ runtime_spdx_path = deploy_dir_spdx / "runtime" / ("runtime-" + name + ".spdx.json")
+ runtime_doc, runtime_doc_sha1 = oe.sbom.read_doc(runtime_spdx_path)
+
+ runtime_ref = oe.spdx.SPDXExternalDocumentRef()
+ runtime_ref.externalDocumentId = "DocumentRef-%s" % runtime_doc.name
+ runtime_ref.spdxDocument = runtime_doc.documentNamespace
+ runtime_ref.checksum.algorithm = "SHA1"
+ runtime_ref.checksum.checksumValue = runtime_doc_sha1
+
+ # "OTHER" isn't ideal here, but I can't find a relationship that makes sense
+ doc.externalDocumentRefs.append(runtime_ref)
+ doc.add_relationship(
+ image,
+ "OTHER",
+ "%s:%s" % (runtime_ref.externalDocumentId, runtime_doc.SPDXID),
+ comment="Runtime dependencies for %s" % name
+ )
+
+ image_spdx_path = imgdeploydir / (image_name + ".spdx.json")
+
+ with image_spdx_path.open("wb") as f:
+ doc.to_json(f, sort_keys=True)
+
+ image_spdx_link = imgdeploydir / (image_link_name + ".spdx.json")
+ image_spdx_link.symlink_to(os.path.relpath(image_spdx_path, image_spdx_link.parent))
+
+ num_threads = int(d.getVar("BB_NUMBER_THREADS"))
+
+ visited_docs = set()
+
+ index = {"documents": []}
+
+ spdx_tar_path = imgdeploydir / (image_name + ".spdx.tar.zst")
+ with bb.compress.zstd.open(spdx_tar_path, "w", num_threads=num_threads) as f:
+ with tarfile.open(fileobj=f, mode="w|") as tar:
+ def collect_spdx_document(path):
+ nonlocal tar
+ nonlocal deploy_dir_spdx
+ nonlocal source_date_epoch
+ nonlocal index
+
+ if path in visited_docs:
+ return
+
+ visited_docs.add(path)
+
+ with path.open("rb") as f:
+ doc, sha1 = oe.sbom.read_doc(f)
+ f.seek(0)
+
+ if doc.documentNamespace in visited_docs:
+ return
+
+ bb.note("Adding SPDX document %s" % path)
+ visited_docs.add(doc.documentNamespace)
+ info = tar.gettarinfo(fileobj=f)
+
+ info.name = doc.name + ".spdx.json"
+ info.uid = 0
+ info.gid = 0
+ info.uname = "root"
+ info.gname = "root"
+
+ if source_date_epoch is not None and info.mtime > int(source_date_epoch):
+ info.mtime = int(source_date_epoch)
+
+ tar.addfile(info, f)
+
+ index["documents"].append({
+ "filename": info.name,
+ "documentNamespace": doc.documentNamespace,
+ "sha1": sha1,
+ })
+
+ for ref in doc.externalDocumentRefs:
+ ref_path = deploy_dir_spdx / "by-namespace" / ref.spdxDocument.replace("/", "_")
+ collect_spdx_document(ref_path)
+
+ collect_spdx_document(image_spdx_path)
+
+ index["documents"].sort(key=lambda x: x["filename"])
+
+ index_str = io.BytesIO(json.dumps(index, sort_keys=True).encode("utf-8"))
+
+ info = tarfile.TarInfo()
+ info.name = "index.json"
+ info.size = len(index_str.getvalue())
+ info.uid = 0
+ info.gid = 0
+ info.uname = "root"
+ info.gname = "root"
+
+ tar.addfile(info, fileobj=index_str)
+
+ def make_image_link(target_path, suffix):
+ link = imgdeploydir / (image_link_name + suffix)
+ link.symlink_to(os.path.relpath(target_path, link.parent))
+
+ make_image_link(spdx_tar_path, ".spdx.tar.zst")
+
+ spdx_index_path = imgdeploydir / (image_name + ".spdx.index.json")
+ with spdx_index_path.open("w") as f:
+ json.dump(index, f, sort_keys=True)
+
+ make_image_link(spdx_index_path, ".spdx.index.json")
+}
+
diff --git a/poky/meta/classes/cross-canadian.bbclass b/poky/meta/classes/cross-canadian.bbclass
index 447a2bb15..ffbc2167e 100644
--- a/poky/meta/classes/cross-canadian.bbclass
+++ b/poky/meta/classes/cross-canadian.bbclass
@@ -40,6 +40,8 @@ python () {
extralibcs = [""]
if "musl" in d.getVar("BASECANADIANEXTRAOS"):
extralibcs.append("musl")
+ if "android" in tos:
+ extralibcs.append("android")
for variant in ["", "spe", "x32", "eabi", "n32", "_ilp32"]:
for libc in extralibcs:
entry = "linux"
diff --git a/poky/meta/classes/cross.bbclass b/poky/meta/classes/cross.bbclass
index 00e0de84f..3e6a2f60b 100644
--- a/poky/meta/classes/cross.bbclass
+++ b/poky/meta/classes/cross.bbclass
@@ -72,10 +72,6 @@ libexecdir = "${exec_prefix}/libexec/${CROSS_TARGET_SYS_DIR}"
do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}/"
do_packagedata[stamp-extra-info] = ""
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
-}
-
USE_NLS = "no"
export CC = "${BUILD_CC}"
diff --git a/poky/meta/classes/externalsrc.bbclass b/poky/meta/classes/externalsrc.bbclass
index 54b08adf6..ad93b2d2a 100644
--- a/poky/meta/classes/externalsrc.bbclass
+++ b/poky/meta/classes/externalsrc.bbclass
@@ -109,6 +109,15 @@ python () {
if local_srcuri and task in fetch_tasks:
continue
bb.build.deltask(task, d)
+ if bb.data.inherits_class('reproducible_build', d) and task == 'do_unpack':
+ # The reproducible_build's create_source_date_epoch_stamp function must
+ # be run after the source is available and before the
+ # do_deploy_source_date_epoch task. In the normal case, it's attached
+ # to do_unpack as a postfuncs, but since we removed do_unpack (above)
+ # we need to move the function elsewhere. The easiest thing to do is
+ # move it into the prefuncs of the do_deploy_source_date_epoch task.
+ # This is safe, as externalsrc runs with the source already unpacked.
+ d.prependVarFlag('do_deploy_source_date_epoch', 'prefuncs', 'create_source_date_epoch_stamp ')
d.prependVarFlag('do_compile', 'prefuncs', "externalsrc_compile_prefunc ")
d.prependVarFlag('do_configure', 'prefuncs', "externalsrc_configure_prefunc ")
diff --git a/poky/meta/classes/image-artifact-names.bbclass b/poky/meta/classes/image-artifact-names.bbclass
index 3ac8dd731..67f04e816 100644
--- a/poky/meta/classes/image-artifact-names.bbclass
+++ b/poky/meta/classes/image-artifact-names.bbclass
@@ -4,7 +4,7 @@
IMAGE_BASENAME ?= "${PN}"
IMAGE_VERSION_SUFFIX ?= "-${DATETIME}"
-IMAGE_VERSION_SUFFIX[vardepsexclude] += "DATETIME"
+IMAGE_VERSION_SUFFIX[vardepsexclude] += "DATETIME SOURCE_DATE_EPOCH"
IMAGE_NAME ?= "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}-${MACHINE}"
@@ -13,3 +13,10 @@ IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}-${MACHINE}"
# by default) followed by additional suffices which describe the format (.ext4,
# .ext4.xz, etc.).
IMAGE_NAME_SUFFIX ??= ".rootfs"
+
+python () {
+ if bb.data.inherits_class('reproducible_build', d) and bb.data.inherits_class('deploy', d) and d.getVar("IMAGE_VERSION_SUFFIX") == "-${DATETIME}":
+ import datetime
+ d.setVar("IMAGE_VERSION_SUFFIX", "-" + datetime.datetime.fromtimestamp(int(d.getVar("SOURCE_DATE_EPOCH")), datetime.timezone.utc).strftime('%Y%m%d%H%M%S'))
+ d.setVarFlag("IMAGE_VERSION_SUFFIX", "vardepvalue", "")
+}
diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass
index d76895178..c2f323202 100644
--- a/poky/meta/classes/image.bbclass
+++ b/poky/meta/classes/image.bbclass
@@ -138,7 +138,10 @@ python () {
def extraimage_getdepends(task):
deps = ""
for dep in (d.getVar('EXTRA_IMAGEDEPENDS') or "").split():
- deps += " %s:%s" % (dep, task)
+ if ":" in dep:
+ deps += " %s " % (dep)
+ else:
+ deps += " %s:%s" % (dep, task)
return deps
d.appendVarFlag('do_image_complete', 'depends', extraimage_getdepends('do_populate_sysroot'))
@@ -431,6 +434,7 @@ python () {
localdata.delVar('DATETIME')
localdata.delVar('DATE')
localdata.delVar('TMPDIR')
+ localdata.delVar('IMAGE_VERSION_SUFFIX')
vardepsexclude = (d.getVarFlag('IMAGE_CMD:' + realt, 'vardepsexclude', True) or '').split()
for dep in vardepsexclude:
localdata.delVar(dep)
diff --git a/poky/meta/classes/image_types_wic.bbclass b/poky/meta/classes/image_types_wic.bbclass
index 2f1a0b709..e3863c88a 100644
--- a/poky/meta/classes/image_types_wic.bbclass
+++ b/poky/meta/classes/image_types_wic.bbclass
@@ -1,11 +1,36 @@
# The WICVARS variable is used to define list of bitbake variables used in wic code
# variables from this list is written to <image>.env file
WICVARS ?= "\
- BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_EFI_BOOT_FILES IMAGE_BOOT_FILES \
- IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \
- ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS HOSTTOOLS_DIR \
- KERNEL_IMAGETYPE MACHINE INITRAMFS_IMAGE INITRAMFS_IMAGE_BUNDLE INITRAMFS_LINK_NAME APPEND \
- ASSUME_PROVIDED PSEUDO_IGNORE_PATHS"
+ APPEND \
+ ASSUME_PROVIDED \
+ BBLAYERS \
+ DEPLOY_DIR_IMAGE \
+ FAKEROOTCMD \
+ HOSTTOOLS_DIR \
+ IMAGE_BASENAME \
+ IMAGE_BOOT_FILES \
+ IMAGE_EFI_BOOT_FILES \
+ IMAGE_LINK_NAME \
+ IMAGE_ROOTFS \
+ IMGDEPLOYDIR \
+ INITRAMFS_FSTYPES \
+ INITRAMFS_IMAGE \
+ INITRAMFS_IMAGE_BUNDLE \
+ INITRAMFS_LINK_NAME \
+ INITRD \
+ INITRD_LIVE \
+ ISODIR \
+ KERNEL_IMAGETYPE \
+ MACHINE \
+ PSEUDO_IGNORE_PATHS \
+ RECIPE_SYSROOT_NATIVE \
+ ROOTFS_SIZE \
+ STAGING_DATADIR \
+ STAGING_DIR \
+ STAGING_DIR_HOST \
+ STAGING_LIBDIR \
+ TARGET_SYS \
+"
inherit ${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', 'kernel-artifact-names', '', d)}
@@ -60,8 +85,8 @@ do_image_wic[deptask] += "do_image_complete"
WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 'x86_64', 'i686' ], "syslinux-native", "",d)}'
WKS_FILE_DEPENDS_DEFAULT += "bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native"
WKS_FILE_DEPENDS_BOOTLOADERS = ""
-WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot"
-WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux grub-efi systemd-boot"
+WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot os-release"
+WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux grub-efi systemd-boot os-release"
WKS_FILE_DEPENDS_BOOTLOADERS:x86-x32 = "syslinux grub-efi"
WKS_FILE_DEPENDS ??= "${WKS_FILE_DEPENDS_DEFAULT} ${WKS_FILE_DEPENDS_BOOTLOADERS}"
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index 20d4e4d74..f2d2ca368 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -780,7 +780,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
filerdepends = {}
rdep_data = oe.packagedata.read_subpkgdata(pkg, d)
for key in rdep_data:
- if key.startswith("FILERDEPENDS_"):
+ if key.startswith("FILERDEPENDS:"):
for subkey in bb.utils.explode_deps(rdep_data[key]):
if subkey not in ignored_file_rdeps and \
not subkey.startswith('perl('):
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index d13c38fb0..4acec1877 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -322,15 +322,6 @@ python do_devshell:prepend () {
addtask bundle_initramfs after do_install before do_deploy
-get_cc_option () {
- # Check if KERNEL_CC supports the option "file-prefix-map".
- # This option allows us to build images with __FILE__ values that do not
- # contain the host build path.
- if ${KERNEL_CC} -Q --help=joined | grep -q "\-ffile-prefix-map=<old=new>"; then
- echo "-ffile-prefix-map=${S}=/kernel-source/"
- fi
-}
-
kernel_do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
@@ -361,9 +352,8 @@ kernel_do_compile() {
copy_initramfs
use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
fi
- cc_extra=$(get_cc_option)
for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
- oe_runmake ${typeformake} CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
+ oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
done
# vmlinux.gz is not built by kernel
if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then
@@ -390,8 +380,7 @@ do_compile_kernelmodules() {
bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
fi
if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
- cc_extra=$(get_cc_option)
- oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
+ oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
# Module.symvers gets updated during the
# building of the kernel modules. We need to
diff --git a/poky/meta/classes/libc-package.bbclass b/poky/meta/classes/libc-package.bbclass
index 7a661d44b..13ef8cdc0 100644
--- a/poky/meta/classes/libc-package.bbclass
+++ b/poky/meta/classes/libc-package.bbclass
@@ -355,7 +355,7 @@ python package_do_split_gconvs () {
m.write("\t@echo 'Progress %d/%d'\n" % (i, total))
m.write("\t" + makerecipe + "\n\n")
d.setVar("EXTRA_OEMAKE", "-C %s ${PARALLEL_MAKE}" % (os.path.dirname(makefile)))
- d.setVarFlag("oe_runmake", "progress", "outof:Progress\s(\d+)/(\d+)")
+ d.setVarFlag("oe_runmake", "progress", r"outof:Progress\s(\d+)/(\d+)")
bb.note("Executing binary locale generation makefile")
bb.build.exec_func("oe_runmake", d)
bb.note("collecting binary locales from locale tree")
diff --git a/poky/meta/classes/meta.bbclass b/poky/meta/classes/meta.bbclass
deleted file mode 100644
index 5e6890238..000000000
--- a/poky/meta/classes/meta.bbclass
+++ /dev/null
@@ -1,4 +0,0 @@
-
-PACKAGES = ""
-
-do_build[recrdeptask] = "do_build"
diff --git a/poky/meta/classes/mirrors.bbclass b/poky/meta/classes/mirrors.bbclass
index 87bba4147..ba325a658 100644
--- a/poky/meta/classes/mirrors.bbclass
+++ b/poky/meta/classes/mirrors.bbclass
@@ -70,7 +70,6 @@ ${CPAN_MIRROR} http://search.cpan.org/CPAN/ \n \
MIRRORS += "\
git://salsa.debian.org/.* git://salsa.debian.org/PATH;protocol=https \n \
git://git.gnome.org/.* git://gitlab.gnome.org/GNOME/PATH;protocol=https \n \
-git://git.savannah.gnu.org/.* git://git.savannah.gnu.org/git/PATH;protocol=https \n \
-git://git.yoctoproject.org/.* git://git.yoctoproject.org/git/PATH;protocol=https \n \
git://.*/.* git://HOST/PATH;protocol=https \n \
+git://.*/.* git://HOST/git/PATH;protocol=https \n \
"
diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass
index 3cbda5d80..b210c49c0 100644
--- a/poky/meta/classes/multilib.bbclass
+++ b/poky/meta/classes/multilib.bbclass
@@ -196,7 +196,7 @@ PACKAGEFUNCS:append = " do_package_qa_multilib"
python do_package_qa_multilib() {
def check_mlprefix(pkg, var, mlprefix):
- values = bb.utils.explode_deps(d.getVar('%s_%s' % (var, pkg)) or d.getVar(var) or "")
+ values = bb.utils.explode_deps(d.getVar('%s:%s' % (var, pkg)) or d.getVar(var) or "")
candidates = []
for i in values:
if i.startswith('virtual/'):
diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass
index c4c5515d5..985dfacd0 100644
--- a/poky/meta/classes/package.bbclass
+++ b/poky/meta/classes/package.bbclass
@@ -1224,6 +1224,14 @@ python split_and_strip_files () {
# Modified the file so clear the cache
cpath.updatecache(file)
+ def strip_pkgd_prefix(f):
+ nonlocal dvar
+
+ if f.startswith(dvar):
+ return f[len(dvar):]
+
+ return f
+
#
# First lets process debug splitting
#
@@ -1237,6 +1245,8 @@ python split_and_strip_files () {
for file in staticlibs:
results.append( (file,source_info(file, d)) )
+ d.setVar("PKGDEBUGSOURCES", {strip_pkgd_prefix(f): sorted(s) for f, s in results})
+
sources = set()
for r in results:
sources.update(r[1])
@@ -1549,6 +1559,7 @@ PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS
python emit_pkgdata() {
from glob import glob
import json
+ import bb.compress.zstd
def process_postinst_on_target(pkg, mlprefix):
pkgval = d.getVar('PKG:%s' % pkg)
@@ -1621,6 +1632,8 @@ fi
with open(data_file, 'w') as fd:
fd.write("PACKAGES: %s\n" % packages)
+ pkgdebugsource = d.getVar("PKGDEBUGSOURCES") or []
+
pn = d.getVar('PN')
global_variants = (d.getVar('MULTILIB_GLOBAL_VARIANTS') or "").split()
variants = (d.getVar('MULTILIB_VARIANTS') or "").split()
@@ -1640,17 +1653,32 @@ fi
pkgval = pkg
d.setVar('PKG:%s' % pkg, pkg)
+ extended_data = {
+ "files_info": {}
+ }
+
pkgdestpkg = os.path.join(pkgdest, pkg)
files = {}
+ files_extra = {}
total_size = 0
seen = set()
for f in pkgfiles[pkg]:
- relpth = os.path.relpath(f, pkgdestpkg)
+ fpath = os.sep + os.path.relpath(f, pkgdestpkg)
+
fstat = os.lstat(f)
- files[os.sep + relpth] = fstat.st_size
+ files[fpath] = fstat.st_size
+
+ extended_data["files_info"].setdefault(fpath, {})
+ extended_data["files_info"][fpath]['size'] = fstat.st_size
+
if fstat.st_ino not in seen:
seen.add(fstat.st_ino)
total_size += fstat.st_size
+
+ if fpath in pkgdebugsource:
+ extended_data["files_info"][fpath]['debugsrc'] = pkgdebugsource[fpath]
+ del pkgdebugsource[fpath]
+
d.setVar('FILES_INFO:' + pkg , json.dumps(files, sort_keys=True))
process_postinst_on_target(pkg, d.getVar("MLPREFIX"))
@@ -1662,15 +1690,20 @@ fi
val = write_if_exists(sf, pkg, var)
write_if_exists(sf, pkg, 'FILERPROVIDESFLIST')
- for dfile in (d.getVar('FILERPROVIDESFLIST:' + pkg) or "").split():
+ for dfile in sorted((d.getVar('FILERPROVIDESFLIST:' + pkg) or "").split()):
write_if_exists(sf, pkg, 'FILERPROVIDES:' + dfile)
write_if_exists(sf, pkg, 'FILERDEPENDSFLIST')
- for dfile in (d.getVar('FILERDEPENDSFLIST:' + pkg) or "").split():
+ for dfile in sorted((d.getVar('FILERDEPENDSFLIST:' + pkg) or "").split()):
write_if_exists(sf, pkg, 'FILERDEPENDS:' + dfile)
sf.write('%s:%s: %d\n' % ('PKGSIZE', pkg, total_size))
+ subdata_extended_file = pkgdatadir + "/extended/%s.json.zstd" % pkg
+ num_threads = int(d.getVar("BB_NUMBER_THREADS"))
+ with bb.compress.zstd.open(subdata_extended_file, "wt", encoding="utf-8", num_threads=num_threads) as f:
+ json.dump(extended_data, f, sort_keys=True, separators=(",", ":"))
+
# Symlinks needed for rprovides lookup
rprov = d.getVar('RPROVIDES:%s' % pkg) or d.getVar('RPROVIDES')
if rprov:
@@ -1701,7 +1734,8 @@ fi
write_extra_runtime_pkgs(global_variants, packages, pkgdatadir)
}
-emit_pkgdata[dirs] = "${PKGDESTWORK}/runtime ${PKGDESTWORK}/runtime-reverse ${PKGDESTWORK}/runtime-rprovides"
+emit_pkgdata[dirs] = "${PKGDESTWORK}/runtime ${PKGDESTWORK}/runtime-reverse ${PKGDESTWORK}/runtime-rprovides ${PKGDESTWORK}/extended"
+emit_pkgdata[vardepsexclude] = "BB_NUMBER_THREADS"
ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then
@@ -1763,9 +1797,9 @@ python package_do_filedeps() {
d.appendVar(key, " " + " ".join(requires[file]))
for pkg in requires_files:
- d.setVar("FILERDEPENDSFLIST:" + pkg, " ".join(requires_files[pkg]))
+ d.setVar("FILERDEPENDSFLIST:" + pkg, " ".join(sorted(requires_files[pkg])))
for pkg in provides_files:
- d.setVar("FILERPROVIDESFLIST:" + pkg, " ".join(provides_files[pkg]))
+ d.setVar("FILERPROVIDESFLIST:" + pkg, " ".join(sorted(provides_files[pkg])))
}
SHLIBSDIRS = "${WORKDIR_PKGDATA}/${MLPREFIX}shlibs2"
@@ -2078,12 +2112,12 @@ python package_do_pkgconfig () {
for pkg in packages.split():
pkgconfig_provided[pkg] = []
pkgconfig_needed[pkg] = []
- for file in pkgfiles[pkg]:
+ for file in sorted(pkgfiles[pkg]):
m = pc_re.match(file)
if m:
pd = bb.data.init()
name = m.group(1)
- pkgconfig_provided[pkg].append(name)
+ pkgconfig_provided[pkg].append(os.path.basename(name))
if not os.access(file, os.R_OK):
continue
with open(file, 'r') as f:
@@ -2106,7 +2140,7 @@ python package_do_pkgconfig () {
pkgs_file = os.path.join(shlibswork_dir, pkg + ".pclist")
if pkgconfig_provided[pkg] != []:
with open(pkgs_file, 'w') as f:
- for p in pkgconfig_provided[pkg]:
+ for p in sorted(pkgconfig_provided[pkg]):
f.write('%s\n' % p)
# Go from least to most specific since the last one found wins
diff --git a/poky/meta/classes/package_deb.bbclass b/poky/meta/classes/package_deb.bbclass
index eca43e178..65dbe6c39 100644
--- a/poky/meta/classes/package_deb.bbclass
+++ b/poky/meta/classes/package_deb.bbclass
@@ -315,10 +315,8 @@ python do_package_write_deb () {
do_package_write_deb[dirs] = "${PKGWRITEDIRDEB}"
do_package_write_deb[cleandirs] = "${PKGWRITEDIRDEB}"
do_package_write_deb[depends] += "${@oe.utils.build_depends_string(d.getVar('PACKAGE_WRITE_DEPS'), 'do_populate_sysroot')}"
-addtask package_write_deb after do_packagedata do_package
-
+EPOCHTASK ??= ""
+addtask package_write_deb after do_packagedata do_package ${EPOCHTASK} before do_build
PACKAGEINDEXDEPS += "dpkg-native:do_populate_sysroot"
PACKAGEINDEXDEPS += "apt-native:do_populate_sysroot"
-
-do_build[recrdeptask] += "do_package_write_deb"
diff --git a/poky/meta/classes/package_ipk.bbclass b/poky/meta/classes/package_ipk.bbclass
index c3b53854e..776fe8ed2 100644
--- a/poky/meta/classes/package_ipk.bbclass
+++ b/poky/meta/classes/package_ipk.bbclass
@@ -230,8 +230,8 @@ def ipk_write_pkg(pkg, d):
shell=True)
if d.getVar('IPK_SIGN_PACKAGES') == '1':
- ipkver = "%s-%s" % (d.getVar('PKGV'), d.getVar('PKGR'))
- ipk_to_sign = "%s/%s_%s_%s.ipk" % (pkgoutdir, pkgname, ipkver, d.getVar('PACKAGE_ARCH'))
+ ipkver = "%s-%s" % (localdata.getVar('PKGV'), localdata.getVar('PKGR'))
+ ipk_to_sign = "%s/%s_%s_%s.ipk" % (pkgoutdir, pkgname, ipkver, localdata.getVar('PACKAGE_ARCH'))
sign_ipk(d, ipk_to_sign)
finally:
@@ -274,9 +274,8 @@ python do_package_write_ipk () {
do_package_write_ipk[dirs] = "${PKGWRITEDIRIPK}"
do_package_write_ipk[cleandirs] = "${PKGWRITEDIRIPK}"
do_package_write_ipk[depends] += "${@oe.utils.build_depends_string(d.getVar('PACKAGE_WRITE_DEPS'), 'do_populate_sysroot')}"
-addtask package_write_ipk after do_packagedata do_package
+EPOCHTASK ??= ""
+addtask package_write_ipk after do_packagedata do_package ${EPOCHTASK} before do_build
PACKAGEINDEXDEPS += "opkg-utils-native:do_populate_sysroot"
PACKAGEINDEXDEPS += "opkg-native:do_populate_sysroot"
-
-do_build[recrdeptask] += "do_package_write_ipk"
diff --git a/poky/meta/classes/package_rpm.bbclass b/poky/meta/classes/package_rpm.bbclass
index 88d861c0e..1c62d8283 100644
--- a/poky/meta/classes/package_rpm.bbclass
+++ b/poky/meta/classes/package_rpm.bbclass
@@ -748,9 +748,8 @@ python do_package_write_rpm () {
do_package_write_rpm[dirs] = "${PKGWRITEDIRRPM}"
do_package_write_rpm[cleandirs] = "${PKGWRITEDIRRPM}"
do_package_write_rpm[depends] += "${@oe.utils.build_depends_string(d.getVar('PACKAGE_WRITE_DEPS'), 'do_populate_sysroot')}"
-addtask package_write_rpm after do_packagedata do_package
+EPOCHTASK ??= ""
+addtask package_write_rpm after do_packagedata do_package ${EPOCHTASK} before do_build
PACKAGEINDEXDEPS += "rpm-native:do_populate_sysroot"
PACKAGEINDEXDEPS += "createrepo-c-native:do_populate_sysroot"
-
-do_build[recrdeptask] += "do_package_write_rpm"
diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass
index ccfe22328..49e166e69 100644
--- a/poky/meta/classes/populate_sdk_base.bbclass
+++ b/poky/meta/classes/populate_sdk_base.bbclass
@@ -1,4 +1,6 @@
-inherit meta image-postinst-intercepts image-artifact-names
+PACKAGES = ""
+
+inherit image-postinst-intercepts image-artifact-names
# Wildcards specifying complementary packages to install for every package that has been explicitly
# installed into the rootfs
diff --git a/poky/meta/classes/reproducible_build.bbclass b/poky/meta/classes/reproducible_build.bbclass
index 378121903..7571c116c 100644
--- a/poky/meta/classes/reproducible_build.bbclass
+++ b/poky/meta/classes/reproducible_build.bbclass
@@ -1,17 +1,38 @@
# reproducible_build.bbclass
#
-# Sets SOURCE_DATE_EPOCH in each component's build environment.
+# Sets the default SOURCE_DATE_EPOCH in each component's build environment.
+# The format is number of seconds since the system epoch.
+#
# Upstream components (generally) respect this environment variable,
# using it in place of the "current" date and time.
# See https://reproducible-builds.org/specs/source-date-epoch/
#
-# After sources are unpacked but before they are patched, we set a reproducible value for SOURCE_DATE_EPOCH.
-# This value should be reproducible for anyone who builds the same revision from the same sources.
+# The default value of SOURCE_DATE_EPOCH comes from the function
+# get_source_date_epoch_value which reads from the SDE_FILE, or if the file
+# is not available (or set to 0) will use the fallback of
+# SOURCE_DATE_EPOCH_FALLBACK.
+#
+# The SDE_FILE is normally constructed from the function
+# create_source_date_epoch_stamp which is typically added as a postfuncs to
+# the do_unpack task. If a recipe does NOT have do_unpack, it should be added
+# to a task that runs after the source is available and before the
+# do_deploy_source_date_epoch task is executed.
+#
+# If a recipe wishes to override the default behavior it should set it's own
+# SOURCE_DATE_EPOCH or override the do_deploy_source_date_epoch_stamp task
+# with recipe-specific functionality to write the appropriate
+# SOURCE_DATE_EPOCH into the SDE_FILE.
#
-# There are 4 ways we determine SOURCE_DATE_EPOCH:
+# SOURCE_DATE_EPOCH is intended to be a reproducible value. This value should
+# be reproducible for anyone who builds the same revision from the same
+# sources.
+#
+# There are 4 ways the create_source_date_epoch_stamp function determines what
+# becomes SOURCE_DATE_EPOCH:
#
# 1. Use the value from __source_date_epoch.txt file if this file exists.
-# This file was most likely created in the previous build by one of the following methods 2,3,4.
+# This file was most likely created in the previous build by one of the
+# following methods 2,3,4.
# Alternatively, it can be provided by a recipe via SRC_URI.
#
# If the file does not exist:
@@ -22,20 +43,16 @@
# 3. Use the mtime of "known" files such as NEWS, CHANGLELOG, ...
# This works for well-kept repositories distributed via tarball.
#
-# 4. Use the modification time of the youngest file in the source tree, if there is one.
+# 4. Use the modification time of the youngest file in the source tree, if
+# there is one.
# This will be the newest file from the distribution tarball, if any.
#
-# 5. Fall back to a fixed timestamp.
-#
-# Once the value of SOURCE_DATE_EPOCH is determined, it is stored in the recipe's SDE_FILE.
-# If none of these mechanisms are suitable, replace the do_deploy_source_date_epoch task
-# with recipe-specific functionality to write the appropriate SOURCE_DATE_EPOCH into the SDE_FILE.
+# 5. Fall back to a fixed timestamp (SOURCE_DATE_EPOCH_FALLBACK).
#
-# If this file is found by other tasks, the value is exported in the SOURCE_DATE_EPOCH variable.
-# SOURCE_DATE_EPOCH is set for all tasks that might use it (do_configure, do_compile, do_package, ...)
+# Once the value is determined, it is stored in the recipe's SDE_FILE.
BUILD_REPRODUCIBLE_BINARIES ??= '1'
-inherit ${@oe.utils.ifelse(d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1', 'reproducible_build_simple', '')}
+inherit reproducible_build_simple
SDE_DIR = "${WORKDIR}/source-date-epoch"
SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt"
@@ -92,12 +109,20 @@ python create_source_date_epoch_stamp() {
os.rename(tmp_file, epochfile)
}
+EPOCHTASK = "do_deploy_source_date_epoch"
+
+# Generate the stamp after do_unpack runs
+do_unpack[postfuncs] += "create_source_date_epoch_stamp"
+
def get_source_date_epoch_value(d):
- cached = d.getVar('__CACHED_SOURCE_DATE_EPOCH')
- if cached:
+ epochfile = d.getVar('SDE_FILE')
+ cached, efile = d.getVar('__CACHED_SOURCE_DATE_EPOCH') or (None, None)
+ if cached and efile == epochfile:
return cached
- epochfile = d.getVar('SDE_FILE')
+ if cached and epochfile != efile:
+ bb.debug(1, "Epoch file changed from %s to %s" % (efile, epochfile))
+
source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
try:
with open(epochfile, 'r') as f:
@@ -115,13 +140,8 @@ def get_source_date_epoch_value(d):
except FileNotFoundError:
bb.debug(1, "Cannot find %s. SOURCE_DATE_EPOCH will default to %d" % (epochfile, source_date_epoch))
- d.setVar('__CACHED_SOURCE_DATE_EPOCH', str(source_date_epoch))
+ d.setVar('__CACHED_SOURCE_DATE_EPOCH', (str(source_date_epoch), epochfile))
return str(source_date_epoch)
export SOURCE_DATE_EPOCH ?= "${@get_source_date_epoch_value(d)}"
BB_HASHBASE_WHITELIST += "SOURCE_DATE_EPOCH"
-
-python () {
- if d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1':
- d.appendVarFlag("do_unpack", "postfuncs", " create_source_date_epoch_stamp")
-}
diff --git a/poky/meta/classes/rm_work.bbclass b/poky/meta/classes/rm_work.bbclass
index 07901d759..5f12d5aae 100644
--- a/poky/meta/classes/rm_work.bbclass
+++ b/poky/meta/classes/rm_work.bbclass
@@ -73,7 +73,7 @@ do_rm_work () {
# sstate version since otherwise we'd need to leave 'plaindirs' around
# such as 'packages' and 'packages-split' and these can be large. No end
# of chain tasks depend directly on do_package anymore.
- rm -f $i;
+ rm -f -- $i;
;;
*_setscene*)
# Skip stamps which are already setscene versions
@@ -90,7 +90,7 @@ do_rm_work () {
;;
esac
done
- rm -f $i
+ rm -f -- $i
esac
done
@@ -100,9 +100,9 @@ do_rm_work () {
# Retain only logs and other files in temp, safely ignore
# failures of removing pseudo folers on NFS2/3 server.
if [ $dir = 'pseudo' ]; then
- rm -rf $dir 2> /dev/null || true
+ rm -rf -- $dir 2> /dev/null || true
elif ! echo "$excludes" | grep -q -w "$dir"; then
- rm -rf $dir
+ rm -rf -- $dir
fi
done
}
diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass
index c5746eba1..7fe9e3d8c 100644
--- a/poky/meta/classes/rootfs-postcommands.bbclass
+++ b/poky/meta/classes/rootfs-postcommands.bbclass
@@ -218,8 +218,8 @@ postinst_enable_logging () {
# Modify systemd default target
#
set_systemd_default_target () {
- if [ -d ${IMAGE_ROOTFS}${sysconfdir}/systemd/system -a -e ${IMAGE_ROOTFS}${systemd_unitdir}/system/${SYSTEMD_DEFAULT_TARGET} ]; then
- ln -sf ${systemd_unitdir}/system/${SYSTEMD_DEFAULT_TARGET} ${IMAGE_ROOTFS}${sysconfdir}/systemd/system/default.target
+ if [ -d ${IMAGE_ROOTFS}${sysconfdir}/systemd/system -a -e ${IMAGE_ROOTFS}${systemd_system_unitdir}/${SYSTEMD_DEFAULT_TARGET} ]; then
+ ln -sf ${systemd_system_unitdir}/${SYSTEMD_DEFAULT_TARGET} ${IMAGE_ROOTFS}${sysconfdir}/systemd/system/default.target
fi
}
diff --git a/poky/meta/classes/rust-common.bbclass b/poky/meta/classes/rust-common.bbclass
index a8803d61b..f7f9cbbb2 100644
--- a/poky/meta/classes/rust-common.bbclass
+++ b/poky/meta/classes/rust-common.bbclass
@@ -176,5 +176,5 @@ do_rust_create_wrappers () {
${BUILD_CC} ${COREBASE}/meta/files/rust-ccld-wrapper.c -o ${RUST_TARGET_CCLD}
}
-addtask rust_create_wrappers before do_configure after do_patch
+addtask rust_create_wrappers before do_configure after do_patch do_prepare_recipe_sysroot
do_rust_create_wrappers[dirs] += "${WRAPPER_DIR}"
diff --git a/poky/meta/classes/siteinfo.bbclass b/poky/meta/classes/siteinfo.bbclass
index 0bd1f3680..c5f4dfda4 100644
--- a/poky/meta/classes/siteinfo.bbclass
+++ b/poky/meta/classes/siteinfo.bbclass
@@ -176,17 +176,39 @@ python () {
bb.fatal("Please add your architecture to siteinfo.bbclass")
}
-def siteinfo_get_files(d, sysrootcache = False):
+# Layers with siteconfig need to add a replacement path to this variable so the
+# sstate isn't path specific
+SITEINFO_PATHVARS = "COREBASE"
+
+def siteinfo_get_files(d, sysrootcache=False):
sitedata = siteinfo_data(d)
- sitefiles = ""
+ sitefiles = []
+ searched = []
for path in d.getVar("BBPATH").split(":"):
for element in sitedata:
filename = os.path.join(path, "site", element)
if os.path.exists(filename):
- sitefiles += filename + " "
+ searched.append(filename + ":True")
+ sitefiles.append(filename)
+ else:
+ searched.append(filename + ":False")
+
+ # Have to parameterise out hardcoded paths such as COREBASE for the main site files
+ for var in d.getVar("SITEINFO_PATHVARS").split():
+ searched2 = []
+ replace = os.path.normpath(d.getVar(var))
+ for s in searched:
+ searched2.append(s.replace(replace, "${" + var + "}"))
+ searched = searched2
+
+ if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d):
+ # We need sstate sigs for native/cross not to vary upon arch so we can't depend on the site files.
+ # In future we may want to depend upon all site files?
+ # This would show up as breaking sstatetests.SStateTests.test_sstate_32_64_same_hash for example
+ searched = []
if not sysrootcache:
- return sitefiles
+ return sitefiles, searched
# Now check for siteconfig cache files in sysroots
path_siteconfig = d.getVar('SITECONFIG_SYSROOTCACHE')
@@ -195,8 +217,8 @@ def siteinfo_get_files(d, sysrootcache = False):
if not i.endswith("_config"):
continue
filename = os.path.join(path_siteconfig, i)
- sitefiles += filename + " "
- return sitefiles
+ sitefiles.append(filename)
+ return sitefiles, searched
#
# Make some information available via variables
diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass
index d7f1b3f26..7f4b1f680 100644
--- a/poky/meta/classes/sstate.bbclass
+++ b/poky/meta/classes/sstate.bbclass
@@ -1,4 +1,4 @@
-SSTATE_VERSION = "3"
+SSTATE_VERSION = "5"
SSTATE_MANIFESTS ?= "${TMPDIR}/sstate-control"
SSTATE_MANFILEPREFIX = "${SSTATE_MANIFESTS}/manifest-${SSTATE_MANMACH}-${PN}"
@@ -67,6 +67,13 @@ SSTATE_DUPWHITELIST += "${DEPLOY_DIR_IMAGE}/microcode"
SSTATE_SCAN_FILES ?= "*.la *-config *_config postinst-*"
SSTATE_SCAN_CMD ??= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES").split())}" \) -type f'
SSTATE_SCAN_CMD_NATIVE ??= 'grep -Irl -e ${RECIPE_SYSROOT} -e ${RECIPE_SYSROOT_NATIVE} -e ${HOSTTOOLS_DIR} ${SSTATE_BUILDDIR}'
+SSTATE_HASHEQUIV_FILEMAP ?= " \
+ populate_sysroot:*/postinst-useradd-*:${TMPDIR} \
+ populate_sysroot:*/postinst-useradd-*:${COREBASE} \
+ populate_sysroot:*/postinst-useradd-*:regex-\s(PATH|PSEUDO_IGNORE_PATHS|HOME|LOGNAME|OMP_NUM_THREADS|USER)=.*\s \
+ populate_sysroot:*/crossscripts/*:${TMPDIR} \
+ populate_sysroot:*/crossscripts/*:${COREBASE} \
+ "
BB_HASHFILENAME = "False ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}"
@@ -640,10 +647,21 @@ python sstate_hardcode_path () {
def sstate_package(ss, d):
import oe.path
+ import time
tmpdir = d.getVar('TMPDIR')
+ fixtime = False
+ if ss['task'] == "package":
+ fixtime = True
+
+ def fixtimestamp(root, path):
+ f = os.path.join(root, path)
+ if os.lstat(f).st_mtime > sde:
+ os.utime(f, (sde, sde), follow_symlinks=False)
+
sstatebuild = d.expand("${WORKDIR}/sstate-build-%s/" % ss['task'])
+ sde = int(d.getVar("SOURCE_DATE_EPOCH") or time.time())
d.setVar("SSTATE_CURRTASK", ss['task'])
bb.utils.remove(sstatebuild, recurse=True)
bb.utils.mkdirhier(sstatebuild)
@@ -656,6 +674,8 @@ def sstate_package(ss, d):
# to sstate tasks but there aren't many of these so better just avoid them entirely.
for walkroot, dirs, files in os.walk(state[1]):
for file in files + dirs:
+ if fixtime:
+ fixtimestamp(walkroot, file)
srcpath = os.path.join(walkroot, file)
if not os.path.islink(srcpath):
continue
@@ -677,6 +697,11 @@ def sstate_package(ss, d):
bb.utils.mkdirhier(plain)
bb.utils.mkdirhier(pdir)
bb.utils.rename(plain, pdir)
+ if fixtime:
+ fixtimestamp(pdir, "")
+ for walkroot, dirs, files in os.walk(pdir):
+ for file in files + dirs:
+ fixtimestamp(walkroot, file)
d.setVar('SSTATE_BUILDDIR', sstatebuild)
d.setVar('SSTATE_INSTDIR', sstatebuild)
@@ -731,6 +756,7 @@ def pstaging_fetch(sstatefetch, d):
localdata.setVar('FILESPATH', dldir)
localdata.setVar('DL_DIR', dldir)
localdata.setVar('PREMIRRORS', mirrors)
+ localdata.setVar('SRCPV', d.getVar('SRCPV'))
# if BB_NO_NETWORK is set but we also have SSTATE_MIRROR_ALLOW_NETWORK,
# we'll want to allow network access for the current set of fetches.
@@ -755,6 +781,9 @@ def pstaging_fetch(sstatefetch, d):
except bb.fetch2.BBFetchException:
pass
+pstaging_fetch[vardepsexclude] += "SRCPV"
+
+
def sstate_setscene(d):
shared_state = sstate_state_fromvars(d)
accelerate = sstate_installpkg(shared_state, d)
@@ -1037,15 +1066,13 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None):
logit("Considering setscene task: %s" % (str(taskdependees[task])), log)
+ directtasks = ["do_populate_lic", "do_deploy_source_date_epoch", "do_shared_workdir", "do_stash_locale", "do_gcc_stash_builddir"]
+
def isNativeCross(x):
return x.endswith("-native") or "-cross-" in x or "-crosssdk" in x or x.endswith("-cross")
- # We only need to trigger populate_lic through direct dependencies
- if taskdependees[task][1] == "do_populate_lic":
- return True
-
- # stash_locale and gcc_stash_builddir are never needed as a dependency for built objects
- if taskdependees[task][1] == "do_stash_locale" or taskdependees[task][1] == "do_gcc_stash_builddir":
+ # We only need to trigger deploy_source_date_epoch through direct dependencies
+ if taskdependees[task][1] in directtasks:
return True
# We only need to trigger packagedata through direct dependencies
@@ -1068,8 +1095,8 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None):
# do_package_write_* need do_populate_sysroot as they're mainly postinstall dependencies
if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm']:
return False
- # do_package/packagedata/package_qa don't need do_populate_sysroot
- if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package', 'do_packagedata', 'do_package_qa']:
+ # do_package/packagedata/package_qa/deploy don't need do_populate_sysroot
+ if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package', 'do_packagedata', 'do_package_qa', 'do_deploy']:
continue
# Native/Cross packages don't exist and are noexec anyway
if isNativeCross(taskdependees[dep][0]) and taskdependees[dep][1] in ['do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm', 'do_packagedata', 'do_package', 'do_package_qa']:
@@ -1117,13 +1144,9 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None):
# Target populate_sysroot need their dependencies
return False
- if taskdependees[task][1] == 'do_shared_workdir':
+ if taskdependees[dep][1] in directtasks:
continue
- if taskdependees[dep][1] == "do_populate_lic":
- continue
-
-
# Safe fallthrough default
logit(" Default setscene dependency fall through due to dependency: %s" % (str(taskdependees[dep])), log)
return False
diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass
index af3397bab..65a6cd512 100644
--- a/poky/meta/classes/staging.bbclass
+++ b/poky/meta/classes/staging.bbclass
@@ -306,6 +306,7 @@ python extend_recipe_sysroot() {
sstatetasks = d.getVar("SSTATETASKS").split()
# Add recipe specific tasks referenced by setscene_depvalid()
sstatetasks.append("do_stash_locale")
+ sstatetasks.append("do_deploy")
def print_dep_tree(deptree):
data = ""
diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass
index 3c689aec9..a76e77385 100644
--- a/poky/meta/classes/testimage.bbclass
+++ b/poky/meta/classes/testimage.bbclass
@@ -64,8 +64,6 @@ BASICTESTSUITE = "\
DEFAULT_TEST_SUITES = "${BASICTESTSUITE}"
-# aarch64 has no graphics
-DEFAULT_TEST_SUITES:remove:aarch64 = "xorg"
# musl doesn't support systemtap
DEFAULT_TEST_SUITES:remove:libc-musl = "stap"
@@ -201,6 +199,7 @@ def testimage_main(d):
import json
import signal
import logging
+ import shutil
from bb.utils import export_proxies
from oeqa.core.utils.misc import updateTestData
@@ -408,10 +407,17 @@ def testimage_main(d):
get_testimage_result_id(configuration),
dump_streams=d.getVar('TESTREPORT_FULLLOGS'))
results.logSummary(pn)
+
+ # Copy additional logs to tmp/log/oeqa so it's easier to find them
+ targetdir = os.path.join(get_testimage_json_result_dir(d), d.getVar("PN"))
+ os.makedirs(targetdir, exist_ok=True)
+ os.symlink(bootlog, os.path.join(targetdir, os.path.basename(bootlog)))
+ os.symlink(d.getVar("BB_LOGFILE"), os.path.join(targetdir, os.path.basename(d.getVar("BB_LOGFILE") + "." + d.getVar('DATETIME'))))
+
if not results or not complete:
- bb.fatal('%s - FAILED - tests were interrupted during execution' % pn, forcelog=True)
+ bb.fatal('%s - FAILED - tests were interrupted during execution, check the logs in %s' % (pn, d.getVar("LOG_DIR")), forcelog=True)
if not results.wasSuccessful():
- bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, forcelog=True)
+ bb.fatal('%s - FAILED - also check the logs in %s' % (pn, d.getVar("LOG_DIR")), forcelog=True)
def get_runtime_paths(d):
"""
diff --git a/poky/meta/classes/toolchain-scripts.bbclass b/poky/meta/classes/toolchain-scripts.bbclass
index 479f3b706..fb6261c91 100644
--- a/poky/meta/classes/toolchain-scripts.bbclass
+++ b/poky/meta/classes/toolchain-scripts.bbclass
@@ -65,6 +65,7 @@ toolchain_create_sdk_env_script () {
# This function creates an environment-setup-script in the TMPDIR which enables
# a OE-core IDE to integrate with the build tree
+# Caller must ensure CONFIG_SITE is setup
toolchain_create_tree_env_script () {
script=${TMPDIR}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
rm -f $script
@@ -73,7 +74,7 @@ toolchain_create_tree_env_script () {
echo 'export PATH=${STAGING_DIR_NATIVE}/usr/bin:${STAGING_BINDIR_TOOLCHAIN}:$PATH' >> $script
echo 'export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}' >> $script
echo 'export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}' >> $script
- echo 'export CONFIG_SITE="${@siteinfo_get_files(d)}"' >> $script
+ echo 'export CONFIG_SITE="${CONFIG_SITE}"' >> $script
echo 'export SDKTARGETSYSROOT=${STAGING_DIR_TARGET}' >> $script
echo 'export OECORE_NATIVE_SYSROOT="${STAGING_DIR_NATIVE}"' >> $script
echo 'export OECORE_TARGET_SYSROOT="${STAGING_DIR_TARGET}"' >> $script
@@ -161,7 +162,7 @@ EOF
}
#we get the cached site config in the runtime
-TOOLCHAIN_CONFIGSITE_NOCACHE = "${@siteinfo_get_files(d)}"
+TOOLCHAIN_CONFIGSITE_NOCACHE = "${@' '.join(siteinfo_get_files(d)[0])}"
TOOLCHAIN_CONFIGSITE_SYSROOTCACHE = "${STAGING_DIR}/${MLPREFIX}${MACHINE}/${target_datadir}/${TARGET_SYS}_config_site.d"
TOOLCHAIN_NEED_CONFIGSITE_CACHE ??= "virtual/${MLPREFIX}libc ncurses"
DEPENDS += "${TOOLCHAIN_NEED_CONFIGSITE_CACHE}"
diff --git a/poky/meta/classes/useradd.bbclass b/poky/meta/classes/useradd.bbclass
index 287ef8433..20771a0ce 100644
--- a/poky/meta/classes/useradd.bbclass
+++ b/poky/meta/classes/useradd.bbclass
@@ -230,6 +230,10 @@ fakeroot python populate_packages:prepend () {
preinst += 'perform_useradd () {\n%s}\n' % d.getVar('perform_useradd')
preinst += 'perform_groupmems () {\n%s}\n' % d.getVar('perform_groupmems')
preinst += d.getVar('useradd_preinst')
+ # Expand out the *_PARAM variables to the package specific versions
+ for rep in ["GROUPADD_PARAM", "USERADD_PARAM", "GROUPMEMS_PARAM"]:
+ val = d.getVar(rep + ":" + pkg) or ""
+ preinst = preinst.replace("${" + rep + "}", val)
d.setVar('pkg_preinst:%s' % pkg, preinst)
# RDEPENDS setup
diff --git a/poky/meta/classes/utils.bbclass b/poky/meta/classes/utils.bbclass
index 072ea1f63..b4eb3d38a 100644
--- a/poky/meta/classes/utils.bbclass
+++ b/poky/meta/classes/utils.bbclass
@@ -30,7 +30,6 @@ oe_libinstall() {
silent=""
require_static=""
require_shared=""
- staging_install=""
while [ "$#" -gt 0 ]; do
case "$1" in
-C)
@@ -62,10 +61,6 @@ oe_libinstall() {
if [ -z "$destpath" ]; then
bbfatal "oe_libinstall: no destination path specified"
fi
- if echo "$destpath/" | egrep '^${STAGING_LIBDIR}/' >/dev/null
- then
- staging_install=1
- fi
__runcmd () {
if [ -z "$silent" ]; then
@@ -159,36 +154,6 @@ oe_libinstall() {
__runcmd cd "$olddir"
}
-oe_machinstall() {
- # Purpose: Install machine dependent files, if available
- # If not available, check if there is a default
- # If no default, just touch the destination
- # Example:
- # $1 $2 $3 $4
- # oe_machinstall -m 0644 fstab ${D}/etc/fstab
- #
- # TODO: Check argument number?
- #
- filename=`basename $3`
- dirname=`dirname $3`
-
- for o in `echo ${OVERRIDES} | tr ':' ' '`; do
- if [ -e $dirname/$o/$filename ]; then
- bbnote $dirname/$o/$filename present, installing to $4
- install $1 $2 $dirname/$o/$filename $4
- return
- fi
- done
-# bbnote overrides specific file NOT present, trying default=$3...
- if [ -e $3 ]; then
- bbnote $3 present, installing to $4
- install $1 $2 $3 $4
- else
- bbnote $3 NOT present, touching empty $4
- touch $4
- fi
-}
-
create_cmdline_wrapper () {
# Create a wrapper script where commandline options are needed
#
diff --git a/poky/meta/conf/abi_version.conf b/poky/meta/conf/abi_version.conf
index 35faef9a3..e84cad101 100644
--- a/poky/meta/conf/abi_version.conf
+++ b/poky/meta/conf/abi_version.conf
@@ -12,4 +12,4 @@ OELAYOUT_ABI = "14"
# a reset of the equivalence, for example when reproducibility issues break the
# existing match data. Distros can also append to this value for the same effect.
#
-HASHEQUIV_HASH_VERSION = "5"
+HASHEQUIV_HASH_VERSION = "8"
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 2140d498f..f3ff5b776 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -604,6 +604,7 @@ LINKER_HASH_STYLE:mipsarch:libc-musl = "sysv"
# Pass parallel make options to the compile task
EXTRA_OEMAKE:prepend:task-compile = "${PARALLEL_MAKE} "
PARALLEL_MAKEINST ??= "${PARALLEL_MAKE}"
+PARALLEL_MAKEINST[vardepvalue] = "1"
# Pass parallel make options to the install task
EXTRA_OEMAKE:prepend:task-install = "${PARALLEL_MAKEINST} "
@@ -811,6 +812,7 @@ PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
# Default parallelism and resource usage for xz
XZ_MEMLIMIT ?= "50%"
XZ_THREADS ?= "${@oe.utils.cpu_count(at_least=2)}"
+XZ_THREADS[vardepvalue] = "1"
XZ_DEFAULTS ?= "--memlimit=${XZ_MEMLIMIT} --threads=${XZ_THREADS}"
XZ_DEFAULTS[vardepsexclude] += "XZ_MEMLIMIT XZ_THREADS"
diff --git a/poky/meta/conf/distro/include/cve-extra-exclusions.inc b/poky/meta/conf/distro/include/cve-extra-exclusions.inc
index cf07acce1..a6f52b5de 100644
--- a/poky/meta/conf/distro/include/cve-extra-exclusions.inc
+++ b/poky/meta/conf/distro/include/cve-extra-exclusions.inc
@@ -61,10 +61,6 @@ CVE_CHECK_WHITELIST += "CVE-2020-29509 CVE-2020-29511"
# There was a proposed patch https://lists.gnu.org/archive/html/qemu-devel/2021-02/msg06098.html
# however qemu maintainers are sure the patch is incorrect and should not be applied.
-# flex:flex-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-6293
-# Upstream bug, still open: https://github.com/westes/flex/issues/414
-# Causes memory exhaustion so potential DoS but no buffer overflow, low priority
-
# wget https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-31879
# https://mail.gnu.org/archive/html/bug-wget/2021-02/msg00002.html
# No response upstream as of 2021/5/12
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 0e8185f4e..8592de5a6 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -4,7 +4,7 @@
#
# Please submit any patches against recipes in meta to the
# OE-Core mail list (openembedded-core@lists.openembedded.org)
-# For recipes in meta-yocto please use the Poky list (poky@yoctoproject.org)
+# For recipes in meta-yocto please use the Poky list (poky@lists.yoctoproject.org)
#
# If you have problems with or questions about a particular recipe, feel
# free to contact the maintainer directly (cc:ing the appropriate mailing list
@@ -46,7 +46,6 @@ RECIPE_MAINTAINER:pn-apt = "Aníbal Limón <limon.anibal@gmail.com>"
RECIPE_MAINTAINER:pn-argp-standalone = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-asciidoc = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-aspell = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER:pn-assimp = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-at = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-at-spi2-atk = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER:pn-at-spi2-core = "Tim Orling <timothy.t.orling@intel.com>"
diff --git a/poky/meta/conf/distro/include/rust_versions.inc b/poky/meta/conf/distro/include/rust_versions.inc
deleted file mode 100644
index a11ba22a8..000000000
--- a/poky/meta/conf/distro/include/rust_versions.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-# include this in your distribution to easily switch between versions
-# just by changing RUST_VERSION variable
-
-RUST_VERSION ?= "1.51.0"
-
-PREFERRED_VERSION_cargo ?= "${RUST_VERSION}"
-PREFERRED_VERSION_cargo-native ?= "${RUST_VERSION}"
-PREFERRED_VERSION_libstd-rs ?= "${RUST_VERSION}"
-PREFERRED_VERSION_rust ?= "${RUST_VERSION}"
-PREFERRED_VERSION_rust-cross-${TARGET_ARCH} ?= "${RUST_VERSION}"
-PREFERRED_VERSION_rust-llvm ?= "${RUST_VERSION}"
-PREFERRED_VERSION_rust-llvm-native ?= "${RUST_VERSION}"
-PREFERRED_VERSION_rust-native ?= "${RUST_VERSION}"
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index 47f23f5c3..27e60b60a 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -21,12 +21,13 @@ SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.37%"
GDBVERSION ?= "10.%"
GLIBCVERSION ?= "2.34"
-LINUXLIBCVERSION ?= "5.13%"
+LINUXLIBCVERSION ?= "5.14%"
QEMUVERSION ?= "6.0%"
GOVERSION ?= "1.16%"
# This can not use wildcards like 8.0.% since it is also used in mesa to denote
# llvm version being used, so always bump it with llvm recipe version bump
LLVMVERSION ?= "12.0.1"
+RUSTVERSION ?= "1.54.0"
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
@@ -81,3 +82,15 @@ PREFERRED_VERSION_nativesdk-go-runtime ?= "${GOVERSION}"
PREFERRED_VERSION_llvm = "${LLVMVERSION}"
PREFERRED_VERSION_llvm-native = "${LLVMVERSION}"
PREFERRED_VERSION_nativesdk-llvm = "${LLVMVERSION}"
+
+# Rust toolchain preferred versions:
+
+PREFERRED_VERSION_cargo ?= "${RUSTVERSION}"
+PREFERRED_VERSION_cargo-native ?= "${RUSTVERSION}"
+PREFERRED_VERSION_libstd-rs ?= "${RUSTVERSION}"
+PREFERRED_VERSION_rust ?= "${RUSTVERSION}"
+PREFERRED_VERSION_rust-cross-${TARGET_ARCH} ?= "${RUSTVERSION}"
+PREFERRED_VERSION_rust-llvm ?= "${RUSTVERSION}"
+PREFERRED_VERSION_rust-llvm-native ?= "${RUSTVERSION}"
+PREFERRED_VERSION_rust-native ?= "${RUSTVERSION}"
+
diff --git a/poky/meta/conf/licenses.conf b/poky/meta/conf/licenses.conf
index e2bd58f84..991fb6cc2 100644
--- a/poky/meta/conf/licenses.conf
+++ b/poky/meta/conf/licenses.conf
@@ -19,6 +19,9 @@ SPDXLICENSEMAP[AGPLv3.0+] = "AGPL-3.0-or-later"
SPDXLICENSEMAP[AGPL-3.0] = "AGPL-3.0-only"
SPDXLICENSEMAP[AGPL-3.0+] = "AGPL-3.0-or-later"
+# BSD variations
+SPDXLICENSEMAP[BSD-0-Clause] = "0BSD"
+
# GPL variations
SPDXLICENSEMAP[GPL-1] = "GPL-1.0-only"
SPDXLICENSEMAP[GPL-1+] = "GPL-1.0-or-later"
@@ -45,7 +48,7 @@ SPDXLICENSEMAP[GPLv3.0+] = "GPL-3.0-or-later"
SPDXLICENSEMAP[GPL-3.0] = "GPL-3.0-only"
SPDXLICENSEMAP[GPL-3.0+] = "GPL-3.0-or-later"
-#LGPL variations
+# LGPL variations
SPDXLICENSEMAP[LGPLv2] = "LGPL-2.0-only"
SPDXLICENSEMAP[LGPLv2+] = "LGPL-2.0-or-later"
SPDXLICENSEMAP[LGPLv2.0] = "LGPL-2.0-only"
@@ -63,49 +66,52 @@ SPDXLICENSEMAP[LGPLv3+] = "LGPL-3.0-or-later"
SPDXLICENSEMAP[LGPL-3.0] = "LGPL-3.0-only"
SPDXLICENSEMAP[LGPL-3.0+] = "LGPL-3.0-or-later"
-#MPL variations
+# MPL variations
SPDXLICENSEMAP[MPL-1] = "MPL-1.0"
SPDXLICENSEMAP[MPLv1] = "MPL-1.0"
SPDXLICENSEMAP[MPLv1.1] = "MPL-1.1"
SPDXLICENSEMAP[MPLv2] = "MPL-2.0"
-#MIT variations
+# MIT variations
SPDXLICENSEMAP[MIT-X] = "MIT"
SPDXLICENSEMAP[MIT-style] = "MIT"
-#Openssl variations
+# Openssl variations
SPDXLICENSEMAP[openssl] = "OpenSSL"
-#PSF variations
+# PSF variations
SPDXLICENSEMAP[PSF] = "PSF-2.0"
SPDXLICENSEMAP[PSFv2] = "PSF-2.0"
-#Python variations
+# Python variations
SPDXLICENSEMAP[Python-2] = "Python-2.0"
-#Apache variations
+# Apache variations
SPDXLICENSEMAP[Apachev2] = "Apache-2.0"
SPDXLICENSEMAP[Apache-2] = "Apache-2.0"
-#Artistic variations
+# Artistic variations
SPDXLICENSEMAP[Artisticv1] = "Artistic-1.0"
SPDXLICENSEMAP[Artistic-1] = "Artistic-1.0"
-#Academic variations
+# Academic variations
SPDXLICENSEMAP[AFL-2] = "AFL-2.0"
SPDXLICENSEMAP[AFL-1] = "AFL-1.2"
SPDXLICENSEMAP[AFLv2] = "AFL-2.0"
SPDXLICENSEMAP[AFLv1] = "AFL-1.2"
-#CDDL variations
+# CDDL variations
SPDXLICENSEMAP[CDDLv1] = "CDDL-1.0"
SPDXLICENSEMAP[CDDL-1] = "CDDL-1.0"
-#Other variations
+# Other variations
SPDXLICENSEMAP[EPLv1.0] = "EPL-1.0"
SPDXLICENSEMAP[FreeType] = "FTL"
+SPDXLICENSEMAP[Nauman] = "Naumen"
+SPDXLICENSEMAP[tcl] = "TCL"
+SPDXLICENSEMAP[vim] = "Vim"
-#Silicon Graphics variations
+# Silicon Graphics variations
SPDXLICENSEMAP[SGIv1] = "SGI-1"
# Additional license directories. Add your custom licenses directories this path.
diff --git a/poky/meta/conf/machine/include/mips/feature-mips-mips16e.inc b/poky/meta/conf/machine/include/mips/feature-mips-mips16e.inc
index 101d5331b..6fd12fb84 100644
--- a/poky/meta/conf/machine/include/mips/feature-mips-mips16e.inc
+++ b/poky/meta/conf/machine/include/mips/feature-mips-mips16e.inc
@@ -11,7 +11,7 @@ MIPSPKGSFX_MIPS16E .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', '-m16',
TUNEVALID[no-interlink-compressed] = "Disable mixing of standard and MIPS16e code"
MIPS16_TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'no-interlink-compressed', ' -mno-interlink-compressed', ' -minterlink-compressed', d)}"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' ${MIPS16_TUNE_CCARGS}', '', d)}"
-OVERRIDES .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ':mips16e', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', 'mips16e:', '', d)}"
# show status (if compiling in MIPS16e mode)
BUILDCFG_VARS += "${@['', 'MIPS_INSTRUCTION_SET'][d.getVar('MIPS_INSTRUCTION_SET') == 'mips16e']}"
diff --git a/poky/meta/conf/machine/include/qemu.inc b/poky/meta/conf/machine/include/qemu.inc
index c7136da71..642c322ab 100644
--- a/poky/meta/conf/machine/include/qemu.inc
+++ b/poky/meta/conf/machine/include/qemu.inc
@@ -21,7 +21,7 @@ RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
# Use a common kernel recipe for all QEMU machines
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native"
+EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native:do_addto_recipe_sysroot"
# Provide the nfs server kernel module for all qemu images
KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
diff --git a/poky/meta/conf/machine/include/x86/x86-base.inc b/poky/meta/conf/machine/include/x86/x86-base.inc
index 958b3490e..44e4b4ec4 100644
--- a/poky/meta/conf/machine/include/x86/x86-base.inc
+++ b/poky/meta/conf/machine/include/x86/x86-base.inc
@@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
# kernel-related variables
#
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ??= "5.13%"
+PREFERRED_VERSION_linux-yocto ??= "5.14%"
#
# XSERVER subcomponents, used to build the XSERVER variable
diff --git a/poky/meta/conf/machine/qemuarm.conf b/poky/meta/conf/machine/qemuarm.conf
index 93d855b6e..d71a793ed 100644
--- a/poky/meta/conf/machine/qemuarm.conf
+++ b/poky/meta/conf/machine/qemuarm.conf
@@ -20,7 +20,7 @@ QB_SMP = "-smp 4"
# Standard Serial console
QB_KERNEL_CMDLINE_APPEND = "vmalloc=256"
# For graphics to work we need to define the VGA device as well as the necessary USB devices
-QB_GRAPHICS = "-device VGA,edid=on"
+QB_GRAPHICS = "-device virtio-gpu-pci"
QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
# Virtio Networking support
QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
diff --git a/poky/meta/conf/machine/qemuarm64.conf b/poky/meta/conf/machine/qemuarm64.conf
index ea7fae272..3b08deddd 100644
--- a/poky/meta/conf/machine/qemuarm64.conf
+++ b/poky/meta/conf/machine/qemuarm64.conf
@@ -19,7 +19,7 @@ QB_CPU = "-cpu cortex-a57"
QB_SMP = "-smp 4"
QB_CPU_KVM = "-cpu host -machine gic-version=3"
# For graphics to work we need to define the VGA device as well as the necessary USB devices
-QB_GRAPHICS = "-device VGA,edid=on"
+QB_GRAPHICS = "-device virtio-gpu-pci"
QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
# Virtio Networking support
QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
diff --git a/poky/meta/conf/machine/qemuarmv5.conf b/poky/meta/conf/machine/qemuarmv5.conf
index 6c99a5296..3c2c4997b 100644
--- a/poky/meta/conf/machine/qemuarmv5.conf
+++ b/poky/meta/conf/machine/qemuarmv5.conf
@@ -13,8 +13,9 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
QB_SYSTEM_NAME = "qemu-system-arm"
QB_MACHINE = "-machine versatilepb"
QB_KERNEL_CMDLINE_APPEND = "vmalloc=256"
-QB_OPT_APPEND = "-usb -device usb-tablet"
-PREFERRED_VERSION_linux-yocto ??= "5.13%"
+QB_GRAPHICS = "-device virtio-gpu-pci"
+QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
+PREFERRED_VERSION_linux-yocto ??= "5.14%"
QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
KMACHINE:qemuarmv5 = "qemuarm"
diff --git a/poky/meta/files/common-licenses/0BSD b/poky/meta/files/common-licenses/0BSD
new file mode 100644
index 000000000..0b8ae762b
--- /dev/null
+++ b/poky/meta/files/common-licenses/0BSD
@@ -0,0 +1,5 @@
+Copyright (C) YEAR by AUTHOR EMAIL
+
+Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/poky/meta/files/common-licenses/ADSL b/poky/meta/files/common-licenses/ADSL
new file mode 100644
index 000000000..dc509208c
--- /dev/null
+++ b/poky/meta/files/common-licenses/ADSL
@@ -0,0 +1 @@
+This software code is made available "AS IS" without warranties of any kind. You may copy, display, modify and redistribute the software code either by itself or as incorporated into your code; provided that you do not remove any proprietary notices. Your use of this software code is at your own risk and you waive any claim against Amazon Digital Services, Inc. or its affiliates with respect to your use of this software code. (c) 2006 Amazon Digital Services, Inc. or its affiliates.
diff --git a/poky/meta/files/common-licenses/AFL-1.1 b/poky/meta/files/common-licenses/AFL-1.1
new file mode 100644
index 000000000..446c0aca4
--- /dev/null
+++ b/poky/meta/files/common-licenses/AFL-1.1
@@ -0,0 +1,27 @@
+Academic Free License
+Version 1.1
+
+The Academic Free License applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
+
+ "Licensed under the Academic Free License version 1.1."
+
+Grant of License. Licensor hereby grants to any person obtaining a copy of the Original Work ("You") a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license
+
+(1) to use, copy, modify, merge, publish, perform, distribute and/or sell copies of the Original Work and derivative works thereof, and
+
+(2) under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and derivative works thereof, subject to the following conditions.
+
+ Right of Attribution. Redistributions of the Original Work must reproduce all copyright notices in the Original Work as furnished by the Licensor, both in the Original Work itself and in any documentation and/or other materials provided with the distribution of the Original Work in executable form.
+
+ Exclusions from License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor.
+
+WARRANTY AND DISCLAIMERS. LICENSOR WARRANTS THAT THE COPYRIGHT IN AND TO THE ORIGINAL WORK IS OWNED BY THE LICENSOR OR THAT THE ORIGINAL WORK IS DISTRIBUTED BY LICENSOR UNDER A VALID CURRENT LICENSE FROM THE COPYRIGHT OWNER. EXCEPT AS EXPRESSLY STATED IN THE IMMEDIATELY PRECEEDING SENTENCE, THE ORIGINAL WORK IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTY OF NON-INFRINGEMENT AND WARRANTIES THAT THE ORIGINAL WORK IS MERCHANTABLE OR FIT FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO LICENSE TO ORIGINAL WORK IS GRANTED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE LICENSOR BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING AS A RESULT OF THIS LICENSE OR THE USE OF THE ORIGINAL WORK INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PERSON SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+License to Source Code. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to access and modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
+
+Mutual Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License if You file a lawsuit in any court alleging that any OSI Certified open source software that is licensed under any license containing this "Mutual Termination for Patent Action" clause infringes any patent claims that are essential to use that software.
+
+This license is Copyright (C) 2002 Lawrence E. Rosen. All rights reserved.
+Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
diff --git a/meta-lenovo/COPYING.GPL b/poky/meta/files/common-licenses/AGPL-1.0-only
index c9cd1233c..a00f82e60 100644
--- a/meta-lenovo/COPYING.GPL
+++ b/poky/meta/files/common-licenses/AGPL-1.0-only
@@ -1,127 +1,86 @@
-GNU GENERAL PUBLIC LICENSE
-Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
-Preamble
-The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
-
-Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and modification follow.
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
-
-a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
-b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
-c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
-These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
-
-3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
-
-a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
-The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
-
-If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
-
-This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
-
-9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-END OF TERMS AND CONDITIONS
-How to Apply These Terms to Your New Programs
-If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
-
-one line to give the program's name and an idea of what it does.
-Copyright (C) yyyy name of author
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
-
-Gnomovision version 69, Copyright (C) year name of author
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
-type `show w'. This is free software, and you are welcome
-to redistribute it under certain conditions; type `show c'
-for details.
-The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
-
-Yoyodyne, Inc., hereby disclaims all copyright
-interest in the program `Gnomovision'
-(which makes passes at compilers) written
-by James Hacker.
-
-signature of Ty Coon, 1 April 1989
-Ty Coon, President of Vice
-This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.
-
+AFFERO GENERAL PUBLIC LICENSE
+Version 1, March 2002 Copyright © 2002 Affero Inc. 510 Third Street - Suite 225, San Francisco, CA 94107, USA
+
+This license is a modified version of the GNU General Public License copyright (C) 1989, 1991 Free Software Foundation, Inc. made with their permission. Section 2(d) has been added to cover use of software over a computer network.
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the Affero General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This Public License applies to most of Affero's software and to any other program whose authors commit to using it. (Some other Affero software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. This General Public License is designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this Affero General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+ b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+ c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+ d) If the Program as you received it is intended to interact with users through a computer network and if, in the version you received, any user interacting with the Program was given the opportunity to request transmission to that user of the Program's complete source code, you must not remove that facility from your modified version of the Program or work based on the Program, and must offer an equivalent opportunity for all users interacting with your Program through a computer network to request immediate transmission by HTTP of the complete source code of your modified version or other derivative work.
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+ a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+ b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+ c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+9. Affero Inc. may publish revised and/or new versions of the Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by Affero, Inc. If the Program does not specify a version number of this License, you may choose any version ever published by Affero, Inc.
+
+You may also choose to redistribute modified versions of this program under any version of the Free Software Foundation's GNU General Public License version 3 or higher, so long as that version of the GNU GPL includes terms and conditions substantially equivalent to those of this license.
+
+10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by Affero, Inc., write to us; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
diff --git a/poky/meta/files/common-licenses/AGPL-1.0-or-later b/poky/meta/files/common-licenses/AGPL-1.0-or-later
new file mode 100644
index 000000000..a00f82e60
--- /dev/null
+++ b/poky/meta/files/common-licenses/AGPL-1.0-or-later
@@ -0,0 +1,86 @@
+AFFERO GENERAL PUBLIC LICENSE
+Version 1, March 2002 Copyright © 2002 Affero Inc. 510 Third Street - Suite 225, San Francisco, CA 94107, USA
+
+This license is a modified version of the GNU General Public License copyright (C) 1989, 1991 Free Software Foundation, Inc. made with their permission. Section 2(d) has been added to cover use of software over a computer network.
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the Affero General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This Public License applies to most of Affero's software and to any other program whose authors commit to using it. (Some other Affero software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. This General Public License is designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this Affero General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+ b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+ c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+ d) If the Program as you received it is intended to interact with users through a computer network and if, in the version you received, any user interacting with the Program was given the opportunity to request transmission to that user of the Program's complete source code, you must not remove that facility from your modified version of the Program or work based on the Program, and must offer an equivalent opportunity for all users interacting with your Program through a computer network to request immediate transmission by HTTP of the complete source code of your modified version or other derivative work.
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+ a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+ b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+ c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+9. Affero Inc. may publish revised and/or new versions of the Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by Affero, Inc. If the Program does not specify a version number of this License, you may choose any version ever published by Affero, Inc.
+
+You may also choose to redistribute modified versions of this program under any version of the Free Software Foundation's GNU General Public License version 3 or higher, so long as that version of the GNU GPL includes terms and conditions substantially equivalent to those of this license.
+
+10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by Affero, Inc., write to us; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
diff --git a/poky/meta/files/common-licenses/AMDPLPA b/poky/meta/files/common-licenses/AMDPLPA
new file mode 100644
index 000000000..a58a8525f
--- /dev/null
+++ b/poky/meta/files/common-licenses/AMDPLPA
@@ -0,0 +1,20 @@
+Copyright (c) 2006, 2007 Advanced Micro Devices, Inc.
+All rights reserved.
+
+Redistribution and use in any form of this material and any product thereof including software in source or binary forms, along with any related documentation, with or without modification ("this material"), is permitted provided that the following conditions are met:
+
+ Redistributions of source code of any software must retain the above copyright notice and all terms of this license as part of the code.
+
+ Redistributions in binary form of any software must reproduce the above copyright notice and all terms of this license in any related documentation and/or other materials.
+
+ Neither the names nor trademarks of Advanced Micro Devices, Inc. or any copyright holders or contributors may be used to endorse or promote products derived from this material without specific prior written permission.
+
+ Notice about U.S. Government restricted rights: This material is provided with "RESTRICTED RIGHTS." Use, duplication or disclosure by the U.S. Government is subject to the full extent of restrictions set forth in FAR52.227 and DFARS252.227 et seq., or any successor or applicable regulations. Use of this material by the U.S. Government constitutes acknowledgment of the proprietary rights of Advanced Micro Devices, Inc. and any copyright holders and contributors.
+
+ ANY BREACH OF ANY TERM OF THIS LICENSE SHALL RESULT IN THE IMMEDIATE REVOCATION OF ALL RIGHTS TO REDISTRIBUTE, ACCESS OR USE THIS MATERIAL.
+
+THIS MATERIAL IS PROVIDED BY ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" IN ITS CURRENT CONDITION AND WITHOUT ANY REPRESENTATIONS, GUARANTEE, OR WARRANTY OF ANY KIND OR IN ANY WAY RELATED TO SUPPORT, INDEMNITY, ERROR FREE OR UNINTERRUPTED OPERATION, OR THAT IT IS FREE FROM DEFECTS OR VIRUSES. ALL OBLIGATIONS ARE HEREBY DISCLAIMED - WHETHER EXPRESS, IMPLIED, OR STATUTORY - INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, COMPLETENESS, OPERABILITY, QUALITY OF SERVICE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. OR ANY COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, REVENUE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED OR BASED ON ANY THEORY OF LIABILITY ARISING IN ANY WAY RELATED TO THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE ENTIRE AND AGGREGATE LIABILITY OF ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS SHALL NOT EXCEED TEN DOLLARS (US $10.00). ANYONE REDISTRIBUTING OR ACCESSING OR USING THIS MATERIAL ACCEPTS THIS ALLOCATION OF RISK AND AGREES TO RELEASE ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS FROM ANY AND ALL LIABILITIES, OBLIGATIONS, CLAIMS, OR DEMANDS IN EXCESS OF TEN DOLLARS (US $10.00). THE FOREGOING ARE ESSENTIAL TERMS OF THIS LICENSE AND, IF ANY OF THESE TERMS ARE CONSTRUED AS UNENFORCEABLE, FAIL IN ESSENTIAL PURPOSE, OR BECOME VOID OR DETRIMENTAL TO ADVANCED MICRO DEVICES, INC. OR ANY COPYRIGHT HOLDERS OR CONTRIBUTORS FOR ANY REASON, THEN ALL RIGHTS TO REDISTRIBUTE, ACCESS OR USE THIS MATERIAL SHALL TERMINATE IMMEDIATELY. MOREOVER, THE FOREGOING SHALL SURVIVE ANY EXPIRATION OR TERMINATION OF THIS LICENSE OR ANY AGREEMENT OR ACCESS OR USE RELATED TO THIS MATERIAL.
+
+NOTICE IS HEREBY PROVIDED, AND BY REDISTRIBUTING OR ACCESSING OR USING THIS MATERIAL SUCH NOTICE IS ACKNOWLEDGED, THAT THIS MATERIAL MAY BE SUBJECT TO RESTRICTIONS UNDER THE LAWS AND REGULATIONS OF THE UNITED STATES OR OTHER COUNTRIES, WHICH INCLUDE BUT ARE NOT LIMITED TO, U.S. EXPORT CONTROL LAWS SUCH AS THE EXPORT ADMINISTRATION REGULATIONS AND NATIONAL SECURITY CONTROLS AS DEFINED THEREUNDER, AS WELL AS STATE DEPARTMENT CONTROLS UNDER THE U.S. MUNITIONS LIST. THIS MATERIAL MAY NOT BE USED, RELEASED, TRANSFERRED, IMPORTED, EXPORTED AND/OR RE- EXPORTED IN ANY MANNER PROHIBITED UNDER ANY APPLICABLE LAWS, INCLUDING U.S. EXPORT CONTROL LAWS REGARDING SPECIFICALLY DESIGNATED PERSONS, COUNTRIES AND NATIONALS OF COUNTRIES SUBJECT TO NATIONAL SECURITY CONTROLS. MOREOVER, THE FOREGOING SHALL SURVIVE ANY EXPIRATION OR TERMINATION OF ANY LICENSE OR AGREEMENT OR ACCESS OR USE RELATED TO THIS MATERIAL.
+
+This license forms the entire agreement regarding the subject matter hereof and supersedes all proposals and prior discussions and writings between the parties with respect thereto. This license does not affect any ownership, rights, title, or interest in, or relating to, this material. No terms of this license can be modified or waived, and no breach of this license can be excused, unless done so in a writing signed by all affected parties. Each term of this license is separately enforceable. If any term of this license is determined to be or becomes unenforceable or illegal, such term shall be reformed to the minimum extent necessary in order for this license to remain in effect in accordance with its terms as modified by such reformation. This license shall be governed by and construed in accordance with the laws of the State of Texas without regard to rules on conflicts of law of any state or jurisdiction or the United Nations Convention on the International Sale of Goods. All disputes arising out of this license shall be subject to the jurisdiction of the federal and state courts in Austin, Texas, and all defenses are hereby waived concerning personal jurisdiction and venue of these courts.
diff --git a/poky/meta/files/common-licenses/AML b/poky/meta/files/common-licenses/AML
new file mode 100644
index 000000000..a9d91ffc8
--- /dev/null
+++ b/poky/meta/files/common-licenses/AML
@@ -0,0 +1,9 @@
+Copyright: Copyright (c) 2006 by Apple Computer, Inc., All Rights Reserved.
+
+IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in consideration of your agreement to the following terms, and your use, installation, modification or redistribution of this Apple software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, modify or redistribute this Apple software.
+
+In consideration of your agreement to abide by the following terms, and subject to these terms, Apple grants you a personal, non-exclusive license, under Apple's copyrights in this original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the Apple Software, with or without modifications, in source and/or binary forms; provided that if you redistribute the Apple Software in its entirety and without modifications, you must retain this notice and the following text and disclaimers in all such redistributions of the Apple Software. Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to endorse or promote products derived from the Apple Software without specific prior written permission from Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your derivative works or by other works in which the Apple Software may be incorporated.
+
+The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+
+IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/AMPAS b/poky/meta/files/common-licenses/AMPAS
new file mode 100644
index 000000000..0fc771d75
--- /dev/null
+++ b/poky/meta/files/common-licenses/AMPAS
@@ -0,0 +1,13 @@
+Copyright (c) 2006 Academy of Motion Picture Arts and Sciences ("A.M.P.A.S."). Portions contributed by others as indicated. All rights reserved.
+
+A world-wide, royalty-free, non-exclusive right to distribute, copy, modify, create derivatives, and use, in source and binary forms, is hereby granted, subject to acceptance of this license. Performance of any of the aforementioned acts indicates acceptance to be bound by the following terms and conditions:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the Disclaimer of Warranty.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the Disclaimer of Warranty in the documentation and/or other materials provided with the distribution.
+
+ * Nothing in this license shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of A.M.P.A.S. or any contributors, except as expressly stated herein, and neither the name of A.M.P.A.S. nor of any other contributors to this software, may be used to endorse or promote products derived from this software without specific prior written permission of A.M.P.A.S. or contributor, as appropriate.
+
+This license shall be governed by the laws of the State of California, and subject to the jurisdiction of the courts therein.
+
+Disclaimer of Warranty: THIS SOFTWARE IS PROVIDED BY A.M.P.A.S. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL A.M.P.A.S., ANY CONTRIBUTORS OR DISTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/ANTLR-PD-fallback b/poky/meta/files/common-licenses/ANTLR-PD-fallback
new file mode 100644
index 000000000..12bfe7373
--- /dev/null
+++ b/poky/meta/files/common-licenses/ANTLR-PD-fallback
@@ -0,0 +1,7 @@
+ANTLR 2 License
+
+We reserve no legal rights to the ANTLR--it is fully in the public domain. An individual or company may do whatever they wish with source code distributed with ANTLR or the code generated by ANTLR, including the incorporation of ANTLR, or its output, into commerical software.
+
+We encourage users to develop software with ANTLR. However, we do ask that credit is given to us for developing ANTLR. By "credit", we mean that if you use ANTLR or incorporate any source code into one of your programs (commercial product, research project, or otherwise) that you acknowledge this fact somewhere in the documentation, research report, etc... If you like ANTLR and have developed a nice tool with the output, please mention that you developed it using ANTLR. In addition, we ask that the headers remain intact in our source code. As long as these guidelines are kept, we expect to continue enhancing this system and expect to make other tools available as they are completed.
+
+In countries where the Public Domain status of the work may not be valid, the author grants a copyright licence to the general public to deal in the work without restriction and permission to sublicence derivates under the terms of any (OSI approved) Open Source licence.
diff --git a/poky/meta/files/common-licenses/APAFML b/poky/meta/files/common-licenses/APAFML
new file mode 100644
index 000000000..a7824e26c
--- /dev/null
+++ b/poky/meta/files/common-licenses/APAFML
@@ -0,0 +1,3 @@
+Copyright (c) 1985, 1987, 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+
+This file and the 14 PostScript(R) AFM files it accompanies may be used, copied, and distributed for any purpose and without charge, with or without modification, provided that all copyright notices are retained; that the AFM files are not distributed without this file; that all modifications to this file or any of the AFM files are prominently noted in the modified file(s); and that this paragraph is not modified. Adobe Systems has no responsibility or obligation to support the use of the AFM files.
diff --git a/poky/meta/files/common-licenses/Abstyles b/poky/meta/files/common-licenses/Abstyles
new file mode 100644
index 000000000..96027770e
--- /dev/null
+++ b/poky/meta/files/common-licenses/Abstyles
@@ -0,0 +1,11 @@
+This is APREAMBL.TEX, version 1.10e, written by Hans-Hermann Bode
+(HHBODE@DOSUNI1.BITNET), for the BibTeX `adaptable' family, version 1.10.
+See the file APREAMBL.DOC for a detailed documentation.
+
+This program is distributed WITHOUT ANY WARRANTY, express or implied.
+
+Copyright (C) 1991, 1992 Hans-Hermann Bode
+
+Permission is granted to make and distribute verbatim copies of this document provided that the copyright notice and this permission notice are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
diff --git a/poky/meta/files/common-licenses/Adobe-2006 b/poky/meta/files/common-licenses/Adobe-2006
new file mode 100644
index 000000000..d6fb2634a
--- /dev/null
+++ b/poky/meta/files/common-licenses/Adobe-2006
@@ -0,0 +1,12 @@
+Adobe Systems Incorporated(r) Source Code License Agreement
+Copyright(c) 2006 Adobe Systems Incorporated. All rights reserved.
+
+Please read this Source Code License Agreement carefully before using the source code.
+
+Adobe Systems Incorporated grants to you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license, to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute this source code and such derivative works in source or object code form without any attribution requirements.
+
+The name "Adobe Systems Incorporated" must not be used to endorse or promote products derived from the source code without prior written permission.
+
+You agree to indemnify, hold harmless and defend Adobe Systems Incorporated from and against any loss, damage, claims or lawsuits, including attorney's fees that arise or result from your use or distribution of the source code.
+
+THIS SOURCE CODE IS PROVIDED "AS IS" AND "WITH ALL FAULTS", WITHOUT ANY TECHNICAL SUPPORT OR ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ALSO, THERE IS NO WARRANTY OF NON-INFRINGEMENT, TITLE OR QUIET ENJOYMENT. IN NO EVENT SHALL MACROMEDIA OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOURCE CODE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/Adobe-Glyph b/poky/meta/files/common-licenses/Adobe-Glyph
new file mode 100644
index 000000000..609651d82
--- /dev/null
+++ b/poky/meta/files/common-licenses/Adobe-Glyph
@@ -0,0 +1,10 @@
+Copyright (c) 1997,1998,2002,2007 Adobe Systems Incorporated
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this documentation file to use, copy, publish, distribute, sublicense, and/or sell copies of the documentation, and to permit others to do the same, provided that:
+
+ - No modification, editing or other alteration of this document is allowed; and
+ - The above copyright notice and this permission notice shall be included in all copies of the documentation.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this documentation file, to create their own derivative works from the content of this document to use, copy, publish, distribute, sublicense, and/or sell the derivative works, and to permit others to do the same, provided that the derived work is not represented as being a copy or version of this document.
+
+Adobe shall not be liable to any party for any loss of revenue or profit or for indirect, incidental, special, consequential, or other similar damages, whether based on tort (including without limitation negligence or strict liability), contract or other legal or equitable grounds even if Adobe has been advised or had reason to know of the possibility of such damages. The Adobe materials are provided on an "AS IS" basis.Ê Adobe specifically disclaims all express, statutory, or implied warranties relating to the Adobe materials, including but not limited to those concerning merchantability or fitness for a particular purpose or non-infringement of any third party rights regarding the Adobe materials.
diff --git a/poky/meta/files/common-licenses/Afmparse b/poky/meta/files/common-licenses/Afmparse
new file mode 100644
index 000000000..7c6d37ca6
--- /dev/null
+++ b/poky/meta/files/common-licenses/Afmparse
@@ -0,0 +1,10 @@
+(C) 1988, 1989 by Adobe Systems Incorporated. All rights reserved.
+
+This file may be freely copied and redistributed as long as:
+
+ 1) This entire notice continues to be included in the file,
+ 2) If the file has been modified in any way, a notice of such modification is conspicuously indicated.
+
+PostScript, Display PostScript,and Adobe are registered trademarks of Adobe Systems Incorporated.
+
+THE INFORMATION BELOW IS FURNISHED AS IS, IS SUBJECT TO CHANGE WITHOUT NOTICE, AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY ADOBE SYSTEMS INCORPORATED. ADOBE SYSTEMS INCORPORATED ASSUMES NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR INACCURACIES, MAKES NO WARRANTY OF ANY KIND (EXPRESS, IMPLIED OR STATUTORY) WITH RESPECT TO THIS INFORMATION, AND EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES OF MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSES AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
diff --git a/poky/meta/files/common-licenses/Aladdin b/poky/meta/files/common-licenses/Aladdin
new file mode 100644
index 000000000..5d71ff8ec
--- /dev/null
+++ b/poky/meta/files/common-licenses/Aladdin
@@ -0,0 +1,62 @@
+Aladdin Free Public License
+(Version 8, November 18, 1999)
+
+Copyright (C) 1994, 1995, 1997, 1998, 1999 Aladdin Enterprises, Menlo Park, California, U.S.A. All rights reserved.
+
+NOTE: This License is not the same as any of the GNU Licenses published by the Free Software Foundation. Its terms are substantially different from those of the GNU Licenses. If you are familiar with the GNU Licenses, please read this license with extra care.
+
+Aladdin Enterprises hereby grants to anyone the permission to apply this License to their own work, as long as the entire License (including the above notices and this paragraph) is copied with no changes, additions, or deletions except for changing the first paragraph of Section 0 to include a suitable description of the work to which the license is being applied and of the person or entity that holds the copyright in the work, and, if the License is being applied to a work created in a country other than the United States, replacing the first paragraph of Section 6 with an appropriate reference to the laws of the appropriate country.
+
+0. Subject Matter
+This License applies to the computer program known as "Aladdin Ghostscript." The "Program", below, refers to such program. The Program is a copyrighted work whose copyright is held by Aladdin Enterprises (the "Licensor"). Please note that Aladdin Ghostscript is neither the program known as "GNU Ghostscript" nor the version of Ghostscript available for commercial licensing from Artifex Software Inc.
+
+A "work based on the Program" means either the Program or any derivative work of the Program, as defined in the United States Copyright Act of 1976, such as a translation or a modification.
+
+BY MODIFYING OR DISTRIBUTING THE PROGRAM (OR ANY WORK BASED ON THE PROGRAM), YOU INDICATE YOUR ACCEPTANCE OF THIS LICENSE TO DO SO, AND ALL ITS TERMS AND CONDITIONS FOR COPYING, DISTRIBUTING OR MODIFYING THE PROGRAM OR WORKS BASED ON IT. NOTHING OTHER THAN THIS LICENSE GRANTS YOU PERMISSION TO MODIFY OR DISTRIBUTE THE PROGRAM OR ITS DERIVATIVE WORKS. THESE ACTIONS ARE PROHIBITED BY LAW. IF YOU DO NOT ACCEPT THESE TERMS AND CONDITIONS, DO NOT MODIFY OR DISTRIBUTE THE PROGRAM.
+
+1. Licenses.
+Licensor hereby grants you the following rights, provided that you comply with all of the restrictions set forth in this License and provided, further, that you distribute an unmodified copy of this License with the Program:
+
+ (a) You may copy and distribute literal (i.e., verbatim) copies of the Program's source code as you receive it throughout the world, in any medium.
+ (b) You may modify the Program, create works based on the Program and distribute copies of such throughout the world, in any medium.
+
+2. Restrictions.
+This license is subject to the following restrictions:
+
+ (a) Distribution of the Program or any work based on the Program by a commercial organization to any third party is prohibited if any payment is made in connection with such distribution, whether directly (as in payment for a copy of the Program) or indirectly (as in payment for some service related to the Program, or payment for some product or service that includes a copy of the Program "without charge"; these are only examples, and not an exhaustive enumeration of prohibited activities). The following methods of distribution involving payment shall not in and of themselves be a violation of this restriction:
+
+ (i) Posting the Program on a public access information storage and retrieval service for which a fee is received for retrieving information (such as an on-line service), provided that the fee is not content-dependent (i.e., the fee would be the same for retrieving the same volume of information consisting of random data) and that access to the service and to the Program is available independent of any other product or service. An example of a service that does not fall under this section is an on-line service that is operated by a company and that is only available to customers of that company. (This is not an exhaustive enumeration.)
+ (ii) Distributing the Program on removable computer-readable media, provided that the files containing the Program are reproduced entirely and verbatim on such media, that all information on such media be redistributable for non-commercial purposes without charge, and that such media are distributed by themselves (except for accompanying documentation) independent of any other product or service. Examples of such media include CD-ROM, magnetic tape, and optical storage media. (This is not intended to be an exhaustive list.) An example of a distribution that does not fall under this section is a CD-ROM included in a book or magazine. (This is not an exhaustive enumeration.)
+
+ (b) Activities other than copying, distribution and modification of the Program are not subject to this License and they are outside its scope. Functional use (running) of the Program is not restricted, and any output produced through the use of the Program is subject to this license only if its contents constitute a work based on the Program (independent of having been made by running the Program).
+
+ (c) You must meet all of the following conditions with respect to any work that you distribute or publish that in whole or in part contains or is derived from the Program or any part thereof ("the Work"):
+
+ (i) If you have modified the Program, you must cause the Work to carry prominent notices stating that you have modified the Program's files and the date of any change. In each source file that you have modified, you must include a prominent notice that you have modified the file, including your name, your e-mail address (if any), and the date and purpose of the change;
+ (ii) You must cause the Work to be licensed as a whole and at no charge to all third parties under the terms of this License;
+ (iii) If the Work normally reads commands interactively when run, you must cause it, at each time the Work commences operation, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty). Such notice must also state that users may redistribute the Work only under the conditions of this License and tell the user how to view the copy of this License included with the Work. (Exceptions: if the Program is interactive but normally prints or displays such an announcement only at the request of a user, such as in an "About box", the Work is required to print or display the notice only under the same circumstances; if the Program itself is interactive but does not normally print such an announcement, the Work is not required to print an announcement.);
+ (iv) You must accompany the Work with the complete corresponding machine-readable source code, delivered on a medium customarily used for software interchange. The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable code. If you distribute with the Work any component that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, you must also distribute the source code of that component if you have it and are allowed to do so;
+ (v) If you distribute any written or printed material at all with the Work, such material must include either a written copy of this License, or a prominent written indication that the Work is covered by this License and written instructions for printing and/or displaying the copy of the License on the distribution medium;
+ (vi) You may not impose any further restrictions on the recipient's exercise of the rights granted herein.
+
+If distribution of executable or object code is made by offering the equivalent ability to copy from a designated place, then offering equivalent ability to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source code along with the object code.
+
+3. Reservation of Rights.
+No rights are granted to the Program except as expressly set forth herein. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+4. Other Restrictions.
+If the distribution and/or use of the Program is restricted in certain countries for any reason, Licensor may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+5. Limitations.
+THE PROGRAM IS PROVIDED TO YOU "AS IS," WITHOUT WARRANTY. THERE IS NO WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL LICENSOR, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+6. General.
+This License is governed by the laws of the State of California, U.S.A., excluding choice of law rules.
+
+If any part of this License is found to be in conflict with the law, that part shall be interpreted in its broadest meaning consistent with the law, and no other parts of the License shall be affected.
+
+For United States Government users, the Program is provided with RESTRICTED RIGHTS. If you are a unit or agency of the United States Government or are acquiring the Program for any such unit or agency, the following apply:
+
+If the unit or agency is the Department of Defense ("DOD"), the Program and its documentation are classified as "commercial computer software" and "commercial computer software documentation" respectively and, pursuant to DFAR Section 227.7202, the Government is acquiring the Program and its documentation in accordance with the terms of this License. If the unit or agency is other than DOD, the Program and its documentation are classified as "commercial computer software" and "commercial computer software documentation" respectively and, pursuant to FAR Section 12.212, the Government is acquiring the Program and its documentation in accordance with the terms of this License.
diff --git a/poky/meta/files/common-licenses/Artistic-1.0-Perl b/poky/meta/files/common-licenses/Artistic-1.0-Perl
new file mode 100644
index 000000000..dd45f4cd8
--- /dev/null
+++ b/poky/meta/files/common-licenses/Artistic-1.0-Perl
@@ -0,0 +1,51 @@
+The "Artistic License"
+
+Preamble
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder as specified below.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+ b) use the modified Package only within your corporation or organization.
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+ c) give non-standard executables non-standard names, and clearly document the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. You may embed this Package's interpreter within an executable of yours (by linking); this shall be construed as a mere form of aggregation, provided that the complete Standard Version of the interpreter is so embedded.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whoever generated them, and may be sold commercially, and may be aggregated with this Package. If such scripts or library files are aggregated with this Package via the so-called "undump" or "unexec" methods of producing a binary executable image, then distribution of such an image shall neither be construed as a distribution of this Package nor shall it fall under the restrictions of Paragraphs 3 and 4, provided that you do not represent such an executable image as a Standard Version of this Package.
+
+7. C subroutines (or comparably compiled subroutines in other languages) supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language.
+
+8. Aggregation of this Package with a commercial distribution is always permitted provided that the use of this Package is embedded; that is, when no overt attempt is made to make this Package's interfaces visible to the end user of the commercial distribution. Such use shall not be construed as a distribution of this Package.
+
+9. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
diff --git a/poky/meta/files/common-licenses/Artistic-1.0-cl8 b/poky/meta/files/common-licenses/Artistic-1.0-cl8
new file mode 100644
index 000000000..6f26f833d
--- /dev/null
+++ b/poky/meta/files/common-licenses/Artistic-1.0-cl8
@@ -0,0 +1,51 @@
+The Artistic License
+
+Preamble
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+ b) use the modified Package only within your corporation or organization.
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package.
+
+8.Aggregation of this Package with a commercial distribution is always permitted provided that the use of this Package is embedded; that is, when no overt attempt is made to make this Package's interfaces visible to the end user of the commercial distribution. Such use shall not be construed as a distribution of this Package.
+
+9. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
diff --git a/poky/meta/files/common-licenses/BSD-0-Clause b/poky/meta/files/common-licenses/BSD-0-Clause
deleted file mode 100644
index 328bdd6ae..000000000
--- a/poky/meta/files/common-licenses/BSD-0-Clause
+++ /dev/null
@@ -1,12 +0,0 @@
-Copyright (C) <YEAR> by <OWNER>
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/meta-lenovo/COPYING.BSD b/poky/meta/files/common-licenses/BSD-2-Clause-Views
index 513ea9922..be605e314 100644
--- a/meta-lenovo/COPYING.BSD
+++ b/poky/meta/files/common-licenses/BSD-2-Clause-Views
@@ -1,11 +1,11 @@
-Copyright © 2019-present Lenovo
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+Copyright (c) <year> <owner> All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the copyright holders or contributors.
diff --git a/poky/meta/files/common-licenses/BSD-3-Clause-Attribution b/poky/meta/files/common-licenses/BSD-3-Clause-Attribution
new file mode 100644
index 000000000..6dcab5eff
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-3-Clause-Attribution
@@ -0,0 +1,11 @@
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+ 4. Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Universidad de Palermo, Argentina" (http://www.palermo.edu/).'
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/BSD-3-Clause-LBNL b/poky/meta/files/common-licenses/BSD-3-Clause-LBNL
new file mode 100644
index 000000000..ab94601ae
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-3-Clause-LBNL
@@ -0,0 +1,12 @@
+Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+(1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+(2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+(3) Neither the name of the University of California, Lawrence Berkeley National Laboratory, U.S. Dept. of Energy nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code ("Enhancements") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to Lawrence Berkeley National Laboratory, without imposing a separate written license agreement for such Enhancements, then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such Enhancements or derivative works thereof, in binary and source code form.
diff --git a/poky/meta/files/common-licenses/BSD-3-Clause-Modification b/poky/meta/files/common-licenses/BSD-3-Clause-Modification
new file mode 100644
index 000000000..4e337d7db
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-3-Clause-Modification
@@ -0,0 +1,35 @@
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+1. Redistributions in source code must retain the accompanying
+ copyright notice, this list of conditions, and the following
+ disclaimer.
+
+2. Redistributions in binary form must reproduce the accompanying
+ copyright notice, this list of conditions, and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+
+3. Names of the copyright holders must not be used to endorse or
+ promote products derived from this software without prior
+ written permission from the copyright holders.
+
+4. If any files are modified, you must cause the modified files to
+ carry prominent notices stating that you changed the files and
+ the date of any change.
+
+Disclaimer
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS" AND
+ ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+ THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/BSD-3-Clause-No-Military-License b/poky/meta/files/common-licenses/BSD-3-Clause-No-Military-License
new file mode 100644
index 000000000..e06aa93b5
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-3-Clause-No-Military-License
@@ -0,0 +1,16 @@
+Copyright (c) year copyright holder. All Rights Reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1.
+Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2.
+Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3.
+Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+YOU ACKNOWLEDGE THAT THIS SOFTWARE IS NOT DESIGNED, LICENSED OR INTENDED FOR USE IN THE DESIGN, CONSTRUCTION, OPERATION OR MAINTENANCE OF ANY MILITARY FACILITY.
diff --git a/poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-License b/poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-License
new file mode 100644
index 000000000..b37aa3058
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-License
@@ -0,0 +1,14 @@
+
+Copyright 1994-2009 Sun Microsystems, Inc. All Rights Reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ * Neither the name of Sun Microsystems, Inc. or the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility.
diff --git a/poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-License-2014 b/poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-License-2014
new file mode 100644
index 000000000..315c6d64c
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-License-2014
@@ -0,0 +1,16 @@
+
+Copyright © 2008, 2014 Oracle and/or its affiliates. All rights reserved.
+
+Use is subject to license terms.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ * Neither the name of Oracle Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility.
diff --git a/poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-Warranty b/poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-Warranty
new file mode 100644
index 000000000..17457e676
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-3-Clause-No-Nuclear-Warranty
@@ -0,0 +1,14 @@
+
+Copyright (c) 2003-2005 Sun Microsystems, Inc. All Rights Reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ - Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ - Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ - Neither the name of Sun Microsystems, Inc. or the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+You acknowledge that this software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility.
diff --git a/poky/meta/files/common-licenses/BSD-3-Clause-Open-MPI b/poky/meta/files/common-licenses/BSD-3-Clause-Open-MPI
new file mode 100644
index 000000000..166a95b13
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-3-Clause-Open-MPI
@@ -0,0 +1,34 @@
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer listed
+ in this license in the documentation and/or other materials
+ provided with the distribution.
+
+- Neither the name of the copyright holders nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+The copyright holders provide no reassurances that the source code
+provided does not infringe any patent, copyright, or any other
+intellectual property rights of third parties. The copyright holders
+disclaim any liability to any recipient for claims brought against
+recipient by any third party for infringement of that parties
+intellectual property rights.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/BSD-4-Clause-Shortened b/poky/meta/files/common-licenses/BSD-4-Clause-Shortened
new file mode 100644
index 000000000..6812783d5
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-4-Clause-Shortened
@@ -0,0 +1,13 @@
+License: BSD-4-Clause-Shortened
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that:
+
+(1) source code distributions retain the above copyright notice and this paragraph in its entirety,
+(2) distributions including binary code include the above copyright notice and this paragraph in its entirety in the documentation or other materials provided with the distribution, and
+(3) all advertising materials mentioning features or use of this software display the following acknowledgement:
+
+"This product includes software developed by the University of California, Lawrence Berkeley Laboratory and its contributors.''
+
+Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/poky/meta/files/common-licenses/BSD-4-Clause-UC b/poky/meta/files/common-licenses/BSD-4-Clause-UC
new file mode 100644
index 000000000..69edbe324
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-4-Clause-UC
@@ -0,0 +1,15 @@
+BSD-4-Clause (University of California-Specific)
+
+Copyright [various years] The Regents of the University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors.
+
+4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/BSD-Protection b/poky/meta/files/common-licenses/BSD-Protection
new file mode 100644
index 000000000..73820813f
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-Protection
@@ -0,0 +1,53 @@
+BSD Protection License
+February 2002
+
+Preamble
+--------
+
+The Berkeley Software Distribution ("BSD") license has proven very effective over the years at allowing for a wide spread of work throughout both commercial and non-commercial products. For programmers whose primary intention is to improve the general quality of available software, it is arguable that there is no better license than the BSD license, as it permits improvements to be used wherever they will help, without idealogical or metallic constraint.
+
+This is of particular value to those who produce reference implementations of proposed standards: The case of TCP/IP clearly illustrates that freely and universally available implementations leads the rapid acceptance of standards -- often even being used instead of a de jure standard (eg, OSI network models).
+
+With the rapid proliferation of software licensed under the GNU General Public License, however, the continued success of this role is called into question. Given that the inclusion of a few lines of "GPL-tainted" work into a larger body of work will result in restricted distribution -- and given that further work will likely build upon the "tainted" portions, making them difficult to remove at a future date -- there are inevitable circumstances where authors would, in order to protect their goal of providing for the widespread usage of their work, wish to guard against such "GPL-taint".
+
+In addition, one can imagine that companies which operate by producing and selling (possibly closed-source) code would wish to protect themselves against the rise of a GPL-licensed competitor. While under existing licenses this would mean not releasing their code under any form of open license, if a license existed under which they could incorporate any improvements back into their own (commercial) products then they might be far more willing to provide for non-closed distribution.
+
+For the above reasons, we put forth this "BSD Protection License": A license designed to retain the freedom granted by the BSD license to use licensed works in a wide variety of settings, both non-commercial and commercial, while protecting the work from having future contributors restrict that freedom.
+
+The precise terms and conditions for copying, distribution, and modification follow.
+
+BSD PROTECTION LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION, AND MODIFICATION
+----------------------------------------------------------------
+
+0. Definitions.
+
+ a) "Program", below, refers to any program or work distributed under the terms of this license.
+ b) A "work based on the Program", below, refers to either the Program or any derivative work under copyright law.
+ c) "Modification", below, refers to the act of creating derivative works.
+ d) "You", below, refers to each licensee.
+
+1. Scope.
+This license governs the copying, distribution, and modification of the Program. Other activities are outside the scope of this license; The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program.
+
+2. Verbatim copies.
+You may copy and distribute verbatim copies of the Program as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+3. Modification and redistribution under closed license.
+You may modify your copy or copies of the Program, and distribute the resulting derivative works, provided that you meet the following conditions:
+
+ a) The copyright notice and disclaimer on the Program must be reproduced and included in the source code, documentation, and/or other materials provided in a manner in which such notices are normally distributed.
+ b) The derivative work must be clearly identified as such, in order that it may not be confused with the original work.
+ c) The license under which the derivative work is distributed must expressly prohibit the distribution of further derivative works.
+
+4. Modification and redistribution under open license.
+You may modify your copy or copies of the Program, and distribute the resulting derivative works, provided that you meet the following conditions:
+
+ a) The copyright notice and disclaimer on the Program must be reproduced and included in the source code, documentation, and/or other materials provided in a manner in which such notices are normally distributed.
+ b) You must clearly indicate the nature and date of any changes made to the Program. The full details need not necessarily be included in the individual modified files, provided that each modified file is clearly marked as such and instructions are included on where the full details of the modifications may be found.
+ c) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+5. Implied acceptance.
+You may not copy or distribute the Program or any derivative works except as expressly provided under this license. Consequently, any such action will be taken as implied acceptance of the terms of this license.
+
+6. NO WARRANTY.
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
diff --git a/poky/meta/files/common-licenses/BSD-Source-Code b/poky/meta/files/common-licenses/BSD-Source-Code
new file mode 100644
index 000000000..c41fc4273
--- /dev/null
+++ b/poky/meta/files/common-licenses/BSD-Source-Code
@@ -0,0 +1,10 @@
+Copyright (c) 2011, Deusty, LLC
+All rights reserved.
+
+Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Neither the name of Deusty nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Deusty, LLC.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/BUSL-1.1 b/poky/meta/files/common-licenses/BUSL-1.1
new file mode 100644
index 000000000..86d5e5b56
--- /dev/null
+++ b/poky/meta/files/common-licenses/BUSL-1.1
@@ -0,0 +1,72 @@
+Business Source License 1.1
+
+License text copyright © 2017 MariaDB Corporation Ab, All Rights Reserved.
+"Business Source License" is a trademark of MariaDB Corporation Ab.
+
+Terms
+
+The Licensor hereby grants you the right to copy, modify, create derivative
+works, redistribute, and make non-production use of the Licensed Work. The
+Licensor may make an Additional Use Grant, above, permitting limited
+production use.
+
+Effective on the Change Date, or the fourth anniversary of the first publicly
+available distribution of a specific version of the Licensed Work under this
+License, whichever comes first, the Licensor hereby grants you rights under
+the terms of the Change License, and the rights granted in the paragraph
+above terminate.
+
+If your use of the Licensed Work does not comply with the requirements
+currently in effect as described in this License, you must purchase a
+commercial license from the Licensor, its affiliated entities, or authorized
+resellers, or you must refrain from using the Licensed Work.
+
+All copies of the original and modified Licensed Work, and derivative works
+of the Licensed Work, are subject to this License. This License applies
+separately for each version of the Licensed Work and the Change Date may vary
+for each version of the Licensed Work released by Licensor.
+
+You must conspicuously display this License on each original or modified copy
+of the Licensed Work. If you receive the Licensed Work in original or
+modified form from a third party, the terms and conditions set forth in this
+License apply to your use of that work.
+
+Any use of the Licensed Work in violation of this License will automatically
+terminate your rights under this License for the current and all other
+versions of the Licensed Work.
+
+This License does not grant you any right in any trademark or logo of
+Licensor or its affiliates (provided that you may use a trademark or logo of
+Licensor as expressly required by this License).
+
+TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
+AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
+EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
+TITLE.
+
+MariaDB hereby grants you permission to use this License’s text to license
+your works, and to refer to it using the trademark “Business Source License”,
+as long as you comply with the Covenants of Licensor below.
+
+Covenants of Licensor
+
+In consideration of the right to use this License’s text and the “Business
+Source License” name and trademark, Licensor covenants to MariaDB, and to all
+other recipients of the licensed work to be provided by Licensor:
+
+1. To specify as the Change License the GPL Version 2.0 or any later version,
+ or a license that is compatible with GPL Version 2.0 or a later version,
+ where “compatible” means that software provided under the Change License can
+ be included in a program with software provided under GPL Version 2.0 or a
+ later version. Licensor may specify additional Change Licenses without
+ limitation.
+
+2. To either: (a) specify an additional grant of rights to use that does not
+ impose any additional restriction on the right granted in this License, as
+ the Additional Use Grant; or (b) insert the text “None”.
+
+3. To specify a Change Date.
+
+4. Not to modify this License in any other way.
+
diff --git a/poky/meta/files/common-licenses/Bahyph b/poky/meta/files/common-licenses/Bahyph
new file mode 100644
index 000000000..a42e875ac
--- /dev/null
+++ b/poky/meta/files/common-licenses/Bahyph
@@ -0,0 +1,11 @@
+COPYRIGHT NOTICE
+
+These patterns and the generating sh script are Copyright (c) GMV 1991
+
+These patterns were developed for internal GMV use and are made public in the hope that they will benefit others. Also, spreading these patterns throughout the Spanish-language TeX community is expected to provide back-benefits to GMV in that it can help keeping GMV in the mainstream of spanish users.
+
+However, this is given for free and WITHOUT ANY WARRANTY. Under no circumstances can Julio Sanchez, GMV, Jos'e A. Ma~nas or any agents or representatives thereof be held responsible for any errors in this software nor for any damages derived from its use, even in case any of the above has been notified of the possibility of such damages. If any such situation arises, you responsible for repair. Use of this software is an explicit acceptance of these conditions.
+
+You can use this software for any purpose. You cannot delete this copyright notice. If you change this software, you must include comments explaining who, when and why. You are kindly requested to send any changes to tex@gmv.es. If you change the generating script, you must include code in it such that any output is clearly labeled as generated by a modified script. Despite the lack of warranty, we would like to hear about any problem you find. Please report problems to tex@gmv.es.
+
+END OF COPYRIGHT NOTICE
diff --git a/poky/meta/files/common-licenses/Barr b/poky/meta/files/common-licenses/Barr
new file mode 100644
index 000000000..07f32df0e
--- /dev/null
+++ b/poky/meta/files/common-licenses/Barr
@@ -0,0 +1 @@
+This is a package of commutative diagram macros built on top of Xy-pic by Michael Barr (email: barr@barrs.org). Its use is unrestricted. It may be freely distributed, unchanged, for non-commercial or commercial use. If changed, it must be renamed. Inclusion in a commercial software package is also permitted, but I would appreciate receiving a free copy for my personal examination and use. There are no guarantees that this package is good for anything. I have tested it with LaTeX 2e, LaTeX 2.09 and Plain TeX. Although I know of no reason it will not work with AMSTeX, I have not tested it.
diff --git a/poky/meta/files/common-licenses/Beerware b/poky/meta/files/common-licenses/Beerware
new file mode 100644
index 000000000..c7ffc1a04
--- /dev/null
+++ b/poky/meta/files/common-licenses/Beerware
@@ -0,0 +1 @@
+"THE BEER-WARE LICENSE" (Revision 42): <phk@FreeBSD.ORG> wrote this file. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return Poul-Henning Kamp
diff --git a/poky/meta/files/common-licenses/BitTorrent-1.0 b/poky/meta/files/common-licenses/BitTorrent-1.0
new file mode 100644
index 000000000..16e3b9a64
--- /dev/null
+++ b/poky/meta/files/common-licenses/BitTorrent-1.0
@@ -0,0 +1,330 @@
+BitTorrent Open Source License
+
+Version 1.0
+
+This BitTorrent Open Source License (the "License") applies to the BitTorrent client and related software products as
+well as any updates or maintenance releases of that software ("BitTorrent Products") that are distributed by
+BitTorrent, Inc. ("Licensor"). Any BitTorrent Product licensed pursuant to this License is a Licensed Product.
+Licensed Product, in its entirety, is protected by U.S. copyright law. This License identifies the terms under which
+you may use, copy, distribute or modify Licensed Product.
+
+Preamble
+
+This Preamble is intended to describe, in plain English, the nature and scope of this License. However, this
+Preamble is not a part of this license. The legal effect of this License is dependent only upon the terms of the
+License and not this Preamble.
+
+This License complies with the Open Source Definition and is derived from the Jabber Open Source License 1.0 (the
+"JOSL"), which has been approved by Open Source Initiative. Sections 4(c) and 4(f)(iii) from the JOSL have been
+dropped.
+
+This License provides that:
+
+1. You may use, sell or give away the Licensed Product, alone or as a component of an aggregate software
+distribution containing programs from several different sources. No royalty or other fee is required.
+
+2. Both Source Code and executable versions of the Licensed Product, including Modifications made by previous
+Contributors, are available for your use. (The terms "Licensed Product," "Modifications," "Contributors" and "Source
+Code" are defined in the License.)
+
+3. You are allowed to make Modifications to the Licensed Product, and you can create Derivative Works from it.
+(The term "Derivative Works" is defined in the License.)
+
+4. By accepting the Licensed Product under the provisions of this License, you agree that any Modifications you
+make to the Licensed Product and then distribute are governed by the provisions of this License. In particular, you
+must make the Source Code of your Modifications available to others.
+
+5. You may use the Licensed Product for any purpose, but the Licensor is not providing you any warranty
+whatsoever, nor is the Licensor accepting any liability in the event that the Licensed Product doesn't work properly
+or causes you any injury or damages.
+
+6. If you sublicense the Licensed Product or Derivative Works, you may charge fees for warranty or support, or
+for accepting indemnity or liability obligations to your customers. You cannot charge for the Source Code.
+
+7. If you assert any patent claims against the Licensor relating to the Licensed Product, or if you breach any
+terms of the License, your rights to the Licensed Product under this License automatically terminate.
+
+You may use this License to distribute your own Derivative Works, in which case the provisions of this License will
+apply to your Derivative Works just as they do to the original Licensed Product.
+
+Alternatively, you may distribute your Derivative Works under any other OSI-approved Open Source license, or under a
+proprietary license of your choice. If you use any license other than this License, however, you must continue to
+fulfill the requirements of this License (including the provisions relating to publishing the Source Code) for those
+portions of your Derivative Works that consist of the Licensed Product, including the files containing Modifications.
+
+New versions of this License may be published from time to time. You may choose to continue to use the license
+terms in this version of the License or those from the new version. However, only the Licensor has the right to
+change the License terms as they apply to the Licensed Product.
+
+This License relies on precise definitions for certain terms. Those terms are defined when they are first used, and
+the definitions are repeated for your convenience in a Glossary at the end of the License.
+
+
+License Terms
+
+1. Grant of License From Licensor. Licensor hereby grants you a world-wide, royalty-free, non-exclusive
+license, subject to third party intellectual property claims, to do the following:
+
+a. Use, reproduce, modify, display, perform, sublicense and distribute any Modifications created by such
+Contributor or portions thereof, in both Source Code or as an executable program, either on an unmodified basis or as
+part of Derivative Works.
+
+b. Under claims of patents now or hereafter owned or controlled by Contributor, to make, use, sell, offer for
+sale, have made, and/or otherwise dispose of Modifications or portions thereof, but solely to the extent that any
+such claim is necessary to enable you to make, use, sell, offer for sale, have made, and/or otherwise dispose of
+Modifications or portions thereof or Derivative Works thereof.
+
+
+2. Grant of License to Modifications From Contributor. "Modifications" means any additions to or deletions from the
+substance or structure of (i) a file containing Licensed Product, or (ii) any new file that contains any part of
+Licensed Product. Hereinafter in this License, the term "Licensed Product" shall include all previous Modifications
+that you receive from any Contributor. By application of the provisions in Section 4(a) below, each person or entity
+who created or contributed to the creation of, and distributed, a Modification (a "Contributor") hereby grants you a
+world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, to do the
+following:
+
+ 1. Use, reproduce, modify, display, perform, sublicense and distribute any Modifications created by such
+Contributor or portions thereof, in both Source Code or as an executable program, either on an unmodified basis or as
+part of Derivative Works.
+
+ 2. Under claims of patents now or hereafter owned or controlled by Contributor, to make, use, sell, offer for
+sale, have made, and/or otherwise dispose of Modifications or portions thereof, but solely to the extent that any
+such claim is necessary to enable you to make, use, sell, offer for sale, have made, and/or otherwise dispose of
+Modifications or portions thereof or Derivative Works thereof.
+
+
+3. Exclusions From License Grant. Nothing in this License shall be deemed to grant any rights to trademarks,
+copyrights, patents, trade secrets or any other intellectual property of Licensor or any Contributor except as
+expressly stated herein. No patent license is granted separate from the Licensed Product, for code that you delete
+from the Licensed Product, or for combinations of the Licensed Product with other software or hardware. No right is
+granted to the trademarks of Licensor or any Contributor even if such marks are included in the Licensed Product.
+Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this
+License any code that Licensor otherwise would have a right to license.
+
+
+4. Your Obligations Regarding Distribution.
+
+a. Application of This License to Your Modifications. As an express condition for your use of the Licensed
+Product, you hereby agree that any Modifications that you create or to which you contribute, and which you
+distribute, are governed by the terms of this License including, without limitation, Section 2. Any Modifications
+that you create or to which you contribute may be distributed only under the terms of this License or a future
+version of this License released under Section 7. You must include a copy of this License with every copy of the
+Modifications you distribute. You agree not to offer or impose any terms on any Source Code or executable version of
+the Licensed Product or Modifications that alter or restrict the applicable version of this License or the
+recipients' rights hereunder. However, you may include an additional document offering the additional rights
+described in Section 4(d).
+
+b. Availability of Source Code. You must make available, under the terms of this License, the Source Code of
+the Licensed Product and any Modifications that you distribute, either on the same media as you distribute any
+executable or other form of the Licensed Product, or via a mechanism generally accepted in the software development
+community for the electronic transfer of data (an "Electronic Distribution Mechanism"). The Source Code for any
+version of Licensed Product or Modifications that you distribute must remain available for at least twelve (12)
+months after the date it initially became available, or at least six (6) months after a subsequent version of said
+Licensed Product or Modifications has been made available. You are responsible for ensuring that the Source Code
+version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+c. Intellectual Property Matters.
+
+ i. Third Party Claims. If you have knowledge that a license to a third
+party's intellectual property right is required to exercise the rights granted by this License, you must include a
+text file with the Source Code distribution titled "LEGAL" that describes the claim and the party making the claim in
+sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after you make any
+Modifications available as described in Section 4(b), you shall promptly modify the LEGAL file in all copies you make
+available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups)
+reasonably calculated to inform those who received the Licensed Product from you that new knowledge has been
+obtained.
+
+ ii. Contributor APIs. If your Modifications include an application
+programming interface ("API") and you have knowledge of patent licenses that are reasonably necessary to implement
+that API, you must also include this information in the LEGAL file.
+
+ iii. Representations. You represent that, except as disclosed pursuant to
+4(c)(i) above, you believe that any Modifications you distribute are your original creations and that you have
+sufficient rights to grant the rights conveyed by this License.
+
+d. Required Notices. You must duplicate this License in any documentation you provide along with the Source
+Code of any Modifications you create or to which you contribute, and which you distribute, wherever you describe
+recipients' rights relating to Licensed Product. You must duplicate the notice contained in Exhibit A (the "Notice")
+in each file of the Source Code of any copy you distribute of the Licensed Product. If you created a Modification,
+you may add your name as a Contributor to the Notice. If it is not possible to put the Notice in a particular Source
+Code file due to its structure, then you must include such Notice in a location (such as a relevant directory file)
+where a user would be likely to look for such a notice. You may choose to offer, and charge a fee for, warranty,
+support, indemnity or liability obligations to one or more recipients of Licensed Product. However, you may do so
+only on your own behalf, and not on behalf of the Licensor or any Contributor. You must make it clear that any such
+warranty, support, indemnity or liability obligation is offered by you alone, and you hereby agree to indemnify the
+Licensor and every Contributor for any liability incurred by the Licensor or such Contributor as a result of
+warranty, support, indemnity or liability terms you offer.
+
+e. Distribution of Executable Versions. You may distribute Licensed Product as an executable program under a
+license of your choice that may contain terms different from this License provided (i) you have satisfied the
+requirements of Sections 4(a) through 4(d) for that distribution, (ii) you include a conspicuous notice in the
+executable version, related documentation and collateral materials stating that the Source Code version of the
+Licensed Product is available under the terms of this License, including a description of how and where you have
+fulfilled the obligations of Section 4(b), and (iii) you make it clear that any terms that differ from this License
+are offered by you alone, not by Licensor or any Contributor. You hereby agree to indemnify the Licensor and every
+Contributor for any liability incurred by Licensor or such Contributor as a result of any terms you offer.
+
+f. Distribution of Derivative Works. You may create Derivative Works (e.g., combinations of some or all of the
+Licensed Product with other code) and distribute the Derivative Works as products under any other license you select,
+with the proviso that the requirements of this License are fulfilled for those portions of the Derivative Works that
+consist of the Licensed Product or any Modifications thereto.
+
+
+5. Inability to Comply Due to Statute or Regulation. If it is impossible for you to comply with any of the
+terms of this License with respect to some or all of the Licensed Product due to statute, judicial order, or
+regulation, then you must (i) comply with the terms of this License to the maximum extent possible, (ii) cite the
+statute or regulation that prohibits you from adhering to the License, and (iii) describe the limitations and the
+code they affect. Such description must be included in the LEGAL file described in Section 4(d), and must be included
+with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such
+description must be sufficiently detailed for a recipient of ordinary skill at computer programming to be able to
+understand it.
+
+
+6. Application of This License. This License applies to code to which Licensor or Contributor has attached the
+Notice in Exhibit A, which is incorporated herein by this reference.
+
+
+7. Versions of This License.
+
+a. New Versions. Licensor may publish from time to time revised and/or new versions of the License.
+
+b. Effect of New Versions. Once Licensed Product has been published under a particular version of the License,
+you may always continue to use it under the terms of that version. You may also choose to use such Licensed Product
+under the terms of any subsequent version of the License published by Licensor. No one other than Licensor has the
+right to modify the terms applicable to Licensed Product created under this License.
+
+c. Derivative Works of this License. If you create or use a modified version of this License, which you may do
+only in order to apply it to software that is not already a Licensed Product under this License, you must rename your
+license so that it is not confusingly similar to this License, and must make it clear that your license contains
+terms that differ from this License. In so naming your license, you may not use any trademark of Licensor or any
+Contributor.
+
+
+8. Disclaimer of Warranty. LICENSED PRODUCT IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE LICENSED PRODUCT IS FREE
+OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
+PERFORMANCE OF THE LICENSED PRODUCT IS WITH YOU. SHOULD LICENSED PRODUCT PROVE DEFECTIVE IN ANY RESPECT, YOU (AND
+NOT THE LICENSOR OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS
+DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF LICENSED PRODUCT IS AUTHORIZED
+HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+
+9. Termination.
+
+a. Automatic Termination Upon Breach. This license and the rights granted hereunder will terminate
+automatically if you fail to comply with the terms herein and fail to cure such breach within thirty (30) days of
+becoming aware of the breach. All sublicenses to the Licensed Product that are properly granted shall survive any
+termination of this license. Provisions that, by their nature, must remain in effect beyond the termination of this
+License, shall survive.
+
+b. Termination Upon Assertion of Patent Infringement. If you initiate litigation by asserting a patent
+infringement claim (excluding declaratory judgment actions) against Licensor or a Contributor (Licensor or
+Contributor against whom you file such an action is referred to herein as Respondent) alleging that Licensed Product
+directly or indirectly infringes any patent, then any and all rights granted by such Respondent to you under Sections
+1 or 2 of this License shall terminate prospectively upon sixty (60) days notice from Respondent (the "Notice
+Period") unless within that Notice Period you either agree in writing (i) to pay Respondent a mutually agreeable
+reasonably royalty for your past or future use of Licensed Product made by such Respondent, or (ii) withdraw your
+litigation claim with respect to Licensed Product against such Respondent. If within said Notice Period a reasonable
+royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not
+withdrawn, the rights granted by Licensor to you under Sections 1 and 2 automatically terminate at the expiration of
+said Notice Period.
+
+c. Reasonable Value of This License. If you assert a patent infringement claim against Respondent alleging
+that Licensed Product directly or indirectly infringes any patent where such claim is resolved (such as by license or
+settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses
+granted by said Respondent under Sections 1 and 2 shall be taken into account in determining the amount or value of
+any payment or license.
+
+d. No Retroactive Effect of Termination. In the event of termination under Sections 9(a) or 9(b) above, all
+end user license agreements (excluding licenses to distributors and resellers) that have been validly granted by you
+or any distributor hereunder prior to termination shall survive termination.
+
+
+10. Limitation of Liability. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE),
+CONTRACT, OR OTHERWISE, SHALL THE LICENSOR, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF LICENSED PRODUCT, OR ANY SUPPLIER
+OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF
+ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
+MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE
+POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+RESULTING FROM SUCH PARTYS NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
+NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY
+NOT APPLY TO YOU.
+
+
+11. Responsibility for Claims. As between Licensor and Contributors, each party is responsible for claims and
+damages arising, directly or indirectly, out of its utilization of rights under this License. You agree to work with
+Licensor and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or
+shall be deemed to constitute any admission of liability.
+
+
+12. U.S. Government End Users. The Licensed Product is a commercial item, as that term is defined in 48 C.F.R.
+2.101 (Oct. 1995), consisting of commercial computer software and commercial computer software documentation, as such
+terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through
+227.7202-4 (June 1995), all U.S. Government End Users acquire Licensed Product with only those rights set forth
+herein.
+
+
+13. Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any
+provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary
+to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable
+law, if any, provides otherwise), excluding its conflict-of-law provisions. You expressly agree that any litigation
+relating to this license shall be subject to the jurisdiction of the Federal Courts of the Northern District of
+California or the Superior Court of the County of Santa Clara, California (as appropriate), with venue lying in Santa
+Clara County, California, with the losing party responsible for costs including, without limitation, court costs and
+reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the
+International Sale of Goods is expressly excluded. You and Licensor expressly waive any rights to a jury trial in
+any litigation concerning Licensed Product or this License. Any law or regulation that provides that the language of
+a contract shall be construed against the drafter shall not apply to this License.
+
+
+14. Definition of You in This License. You throughout this License, whether in upper or lower case, means an
+individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a
+future version of this License issued under Section 7. For legal entities, you includes any entity that controls, is
+controlled by, or is under common control with you. For purposes of this definition, control means (i) the power,
+direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii)
+ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+
+15. Glossary. All defined terms in this License that are used in more than one Section of this License are repeated
+here, in alphabetical order, for the convenience of the reader. The Section of this License in which each defined
+term is first used is shown in parentheses.
+
+Contributor: Each person or entity who created or contributed to the creation of, and distributed, a Modification.
+(See Section 2)
+
+Derivative Works: That term as used in this License is defined under U.S. copyright law. (See Section 1(b))
+
+License: This BitTorrent Open Source License. (See first paragraph of License)
+
+Licensed Product: Any BitTorrent Product licensed pursuant to this License. The term "Licensed Product" includes
+all previous Modifications from any Contributor that you receive. (See first paragraph of License and Section 2)
+
+Licensor: BitTorrent, Inc. (See first paragraph of License)
+
+Modifications: Any additions to or deletions from the substance or structure of (i) a file containing Licensed
+Product, or (ii) any new file that contains any part of Licensed Product. (See Section 2)
+
+Notice: The notice contained in Exhibit A. (See Section 4(e))
+
+Source Code: The preferred form for making modifications to the Licensed Product, including all modules contained
+therein, plus any associated interface definition files, scripts used to control compilation and installation of an
+executable program, or a list of differential comparisons against the Source Code of the Licensed Product. (See
+Section 1(a))
+
+You: This term is defined in Section 14 of this License.
+
+
+EXHIBIT A
+
+The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product or
+any hereto. Contributors to any Modifications may add their own copyright notices to identify their own
+contributions.
+
+License:
+
+The contents of this file are subject to the BitTorrent Open Source License Version 1.0 (the License). You may not
+copy or use this file, in either source code or executable form, except in compliance with the License. You may
+obtain a copy of the License at http://www.bittorrent.com/license/.
+
+Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express
+or implied. See the License for the specific language governing rights and limitations under the License.
diff --git a/poky/meta/files/common-licenses/BitTorrent-1.1 b/poky/meta/files/common-licenses/BitTorrent-1.1
new file mode 100644
index 000000000..fa5bd9df2
--- /dev/null
+++ b/poky/meta/files/common-licenses/BitTorrent-1.1
@@ -0,0 +1,137 @@
+BitTorrent Open Source License
+Version 1.1
+
+This BitTorrent Open Source License (the "License") applies to the BitTorrent client and related software products as well as any updates or maintenance releases of that software ("BitTorrent Products") that are distributed by BitTorrent, Inc. ("Licensor"). Any BitTorrent Product licensed pursuant to this License is a Licensed Product. Licensed Product, in its entirety, is protected by U.S. copyright law. This License identifies the terms under which you may use, copy, distribute or modify Licensed Product.
+
+Preamble
+
+This Preamble is intended to describe, in plain English, the nature and scope of this License. However, this Preamble is not a part of this license. The legal effect of this License is dependent only upon the terms of the License and not this Preamble.
+
+This License complies with the Open Source Definition and is derived from the Jabber Open Source License 1.0 (the "JOSL"), which has been approved by Open Source Initiative. Sections 4(c) and 4(f)(iii) from the JOSL have been deleted.
+
+This License provides that:
+
+1. You may use or give away the Licensed Product, alone or as a component of an aggregate software distribution containing programs from several different sources. No royalty or other fee is required.
+
+2. Both Source Code and executable versions of the Licensed Product, including Modifications made by previous Contributors, are available for your use. (The terms "Licensed Product," "Modifications," "Contributors" and "Source Code" are defined in the License.)
+
+3. You are allowed to make Modifications to the Licensed Product, and you can create Derivative Works from it. (The term "Derivative Works" is defined in the License.)
+
+4. By accepting the Licensed Product under the provisions of this License, you agree that any Modifications you make to the Licensed Product and then distribute are governed by the provisions of this License. In particular, you must make the Source Code of your Modifications available to others free of charge and without a royalty.
+
+5. You may sell, accept donations or otherwise receive compensation for executable versions of a Licensed Product, without paying a royalty or other fee to the Licensor or any Contributor, provided that such executable versions contain your or another Contributor's material Modifications. For the avoidance of doubt, to the extent your executable version of a Licensed Product does not contain your or another Contributor's material Modifications, you may not sell, accept donations or otherwise receive compensation for such executable.
+
+You may use the Licensed Product for any purpose, but the Licensor is not providing you any warranty whatsoever, nor is the Licensor accepting any liability in the event that the Licensed Product doesn't work properly or causes you any injury or damages.
+
+6. If you sublicense the Licensed Product or Derivative Works, you may charge fees for warranty or support, or for accepting indemnity or liability obligations to your customers. You cannot charge for, sell, accept donations or otherwise receive compensation for the Source Code.
+
+7. If you assert any patent claims against the Licensor relating to the Licensed Product, or if you breach any terms of the License, your rights to the Licensed Product under this License automatically terminate.
+You may use this License to distribute your own Derivative Works, in which case the provisions of this License will apply to your Derivative Works just as they do to the original Licensed Product.
+
+Alternatively, you may distribute your Derivative Works under any other OSI-approved Open Source license, or under a proprietary license of your choice. If you use any license other than this License, however, you must continue to fulfill the requirements of this License (including the provisions relating to publishing the Source Code) for those portions of your Derivative Works that consist of the Licensed Product, including the files containing
+Modifications.
+
+New versions of this License may be published from time to time in connection with new versions of a Licensed Product or otherwise. You may choose to continue to use the license terms in this version of the License for the Licensed Product that was originally licensed hereunder, however, the new versions of this License will at all times apply to new versions of the Licensed Product released by Licensor after the release of the new version of this License. Only the Licensor has the right to change the License terms as they apply to the Licensed Product.
+
+This License relies on precise definitions for certain terms. Those terms are defined when they are first used, and the definitions are repeated for your convenience in a Glossary at the end of the License.
+
+License Terms
+
+1. Grant of License From Licensor. Subject to the terms and conditions of this License, Licensor hereby grants you a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, to do the following:
+
+ a. Use, reproduce, modify, display, perform, sublicense and distribute any Modifications created by a Contributor or portions thereof, in both Source Code or as an executable program, either on an unmodified basis or as part of Derivative Works.
+ b. Under claims of patents now or hereafter owned or controlled by Contributor, to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof, but solely to the extent that any such claim is necessary to enable you to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof or Derivative Works thereof.
+
+2. Grant of License to Modifications From Contributor. "Modifications" means any additions to or deletions from the substance or structure of (i) a file containing a Licensed Product, or (ii) any new file that contains any part of a Licensed Product. Hereinafter in this License, the term "Licensed Product" shall include all previous Modifications that you receive from any Contributor. Subject to the terms and conditions of this License, By application of the provisions in Section 4(a) below, each person or entity who created or contributed to the creation of, and distributed, a Modification (a "Contributor") hereby grants you a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, to do the following:
+
+ a. Use, reproduce, modify, display, perform, sublicense and distribute any Modifications created by such Contributor or portions thereof, in both Source Code or as an executable program, either on an unmodified basis or as part of Derivative Works.
+
+ b. Under claims of patents now or hereafter owned or controlled by Contributor, to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof, but solely to the extent that any such claim is necessary to enable you to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof or Derivative Works thereof.
+
+3. Exclusions From License Grant. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor or any Contributor except as expressly stated herein. No patent license is granted separate from the Licensed Product, for code that you delete from the Licensed Product, or for combinations of the Licensed Product with other software or hardware. No right is granted to the trademarks of Licensor or any Contributor even if such marks are included in the Licensed Product. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any code that Licensor otherwise would have a right to license. As an express condition for your use of the Licensed Product, you hereby agree that you will not, without the prior written consent of Licensor, use any trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor or any Contributor except as expressly stated herein. For the avoidance of doubt and without limiting the foregoing, you hereby agree that you will not use or display any trademark of Licensor or any Contributor in any domain name, directory filepath, advertisement, link or other reference to you in any manner or in any media.
+
+4. Your Obligations Regarding Distribution.
+
+ a. Application of This License to Your Modifications. As an express condition for your use of the Licensed Product, you hereby agree that any Modifications that you create or to which you contribute, and which you distribute, are governed by the terms of this License including, without limitation, Section 2. Any Modifications that you create or to which you contribute may be distributed only under the terms of this License or a future version of this License released under Section 7. You must include a copy of this License with every copy of the Modifications you distribute. You agree not to offer or impose any terms on any Source Code or executable version of the Licensed Product or Modifications that alter or restrict the applicable version of this License or the recipients' rights hereunder. However, you may include an additional document offering the additional rights described in Section 4(d).
+
+ b. Availability of Source Code. You must make available, without charge, under the terms of this License, the Source Code of the Licensed Product and any Modifications that you distribute, either on the same media as you distribute any executable or other form of the Licensed Product, or via a mechanism generally accepted in the software development community for the electronic transfer of data (an "Electronic Distribution Mechanism"). The Source Code for any version of Licensed Product or Modifications that you distribute must remain available for as long as any executable or other form of the Licensed Product is distributed by you. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ c. Intellectual Property Matters.
+
+ i. Third Party Claims. If you have knowledge that a license to a third party's intellectual property right is required to exercise the rights granted by this License, you must include a text file with the Source Code distribution titled "LEGAL" that describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after you make any Modifications available as described in Section 4(b), you shall promptly modify the LEGAL file in all copies you make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Licensed Product from you that new knowledge has been obtained.
+ ii. Contributor APIs. If your Modifications include an application programming interface ("API") and you have knowledge of patent licenses that are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+ iii. Representations. You represent that, except as disclosed pursuant to 4(c)(i) above, you believe that any Modifications you distribute are your original creations and that you have sufficient rights to grant the rights conveyed by this License.
+
+ d. Required Notices. You must duplicate this License in any documentation you provide along with the Source Code of any Modifications you create or to which you contribute, and which you distribute, wherever you describe recipients' rights relating to Licensed Product. You must duplicate the notice contained in Exhibit A (the "Notice") in each file of the Source Code of any copy you distribute of the Licensed Product. If you created a Modification, you may add your name as a Contributor to the Notice. If it is not possible to put the Notice in a particular Source Code file due to its structure, then you must include such Notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Licensed Product. However, you may do so only on your own behalf, and not on behalf of the Licensor or any Contributor. You must make it clear that any such warranty, support, indemnity or liability obligation is offered by you alone, and you hereby agree to indemnify the Licensor and every Contributor for any liability incurred by the Licensor or such Contributor as a result of warranty, support, indemnity or liability terms you offer.
+
+ e. Distribution of Executable Versions. You may distribute Licensed Product as an executable program under a license of your choice that may contain terms different from this License provided (i) you have satisfied the requirements of Sections 4(a) through 4(d) for that distribution, (ii) you include a conspicuous notice in the executable version, related documentation and collateral materials stating that the Source Code version of the Licensed Product is available under the terms of this License, including a description of how and where you have fulfilled the obligations of Section 4(b), and (iii) you make it clear that any terms that differ from this License are offered by you alone, not by Licensor or any Contributor. You hereby agree to indemnify the Licensor and every Contributor for any liability incurred by Licensor or such Contributor as a result of any terms you offer.
+
+ f. Distribution of Derivative Works. You may create Derivative Works (e.g., combinations of some or all of the Licensed Product with other code) and distribute the Derivative Works as products under any other license you select, with the proviso that the requirements of this License are fulfilled for those portions of the Derivative Works that consist of the Licensed Product or any Modifications thereto.
+
+ g. Compensation for Distribution of Executable Versions of Licensed Products, Modifications or Derivative Works. Notwithstanding any provision of this License to the contrary, by distributing, selling, licensing, sublicensing or otherwise making available any Licensed Product, or Modification or Derivative Work thereof, you and Licensor hereby acknowledge and agree that you may sell, license or sublicense for a fee, accept donations or otherwise receive compensation for executable versions of a Licensed Product, without paying a royalty or other fee to the Licensor or any other Contributor, provided that such executable versions (i) contain your or another Contributor's material Modifications, or (ii) are otherwise material Derivative Works. For purposes of this License, an executable version of the Licensed Product will be deemed to contain a material Modification, or will otherwise be deemed a material Derivative Work, if (a) the Licensed Product is modified with your own or a third party's software programs or other code, and/or the Licensed Product is combined with a number of your own or a third party's software programs or code, respectively, and (b) such software programs or code add or contribute material value, functionality or features to the License Product. For the avoidance of doubt, to the extent your executable version of a Licensed Product does not contain your or another Contributor's material Modifications or is otherwise not a material Derivative Work, in each case as contemplated herein, you may not sell, license or sublicense for a fee, accept donations or otherwise receive compensation for such executable. Additionally, without limitation of the foregoing and notwithstanding any provision of this License to the contrary, you cannot charge for, sell, license or sublicense for a fee, accept donations or otherwise receive compensation for the Source Code.
+
+5. Inability to Comply Due to Statute or Regulation. If it is impossible for you to comply with any of the terms of this License with respect to some or all of the Licensed Product due to statute, judicial order, or regulation, then you must (i) comply with the terms of this License to the maximum extent possible, (ii) cite the statute or regulation that prohibits you from adhering to the License, and (iii) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 4(d), and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill at computer programming to be able to understand it.
+
+6. Application of This License. This License applies to code to which Licensor or Contributor has attached the Notice in Exhibit A, which is incorporated herein by this reference.
+
+7. Versions of This License.
+
+ a. New Versions. Licensor may publish from time to time revised and/or new versions of the License.
+
+ b. Effect of New Versions. Once Licensed Product has been published under a particular version of the License, you may always continue to use it under the terms of that version, provided that any such license be in full force and effect at the time, and has not been revoked or otherwise terminated. You may also choose to use such Licensed Product under the terms of any subsequent version (but not any prior version) of the License published by Licensor. No one other than Licensor has the right to modify the terms applicable to Licensed Product created under this License.
+
+ c. Derivative Works of this License. If you create or use a modified version of this License, which you may do only in order to apply it to software that is not already a Licensed Product under this License, you must rename your license so that it is not confusingly similar to this License, and must make it clear that your license contains terms that differ from this License. In so naming your license, you may not use any trademark of Licensor or any Contributor.
+
+8. Disclaimer of Warranty. LICENSED PRODUCT IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE LICENSED PRODUCT IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LICENSED PRODUCT IS WITH YOU. SHOULD LICENSED PRODUCT PROVE DEFECTIVE IN ANY RESPECT, YOU (AND NOT THE LICENSOR OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF LICENSED PRODUCT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9. Termination.
+
+ a. Automatic Termination Upon Breach. This license and the rights granted hereunder will terminate automatically if you fail to comply with the terms herein and fail to cure such breach within ten (10) days of being notified of the breach by the Licensor. For purposes of this provision, proof of delivery via email to the address listed in the 'WHOIS' database of the registrar for any website through which you distribute or market any Licensed Product, or to any alternate email address which you designate in writing to the Licensor, shall constitute sufficient notification. All sublicenses to the Licensed Product that are properly granted shall survive any termination of this license so long as they continue to complye with the terms of this License. Provisions that, by their nature, must remain in effect beyond the termination of this License, shall survive.
+
+ b. Termination Upon Assertion of Patent Infringement. If you initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Licensor or a Contributor (Licensor or Contributor against whom you file such an action is referred to herein as Respondent) alleging that Licensed Product directly or indirectly infringes any patent, then any and all rights granted by such Respondent to you under Sections 1 or 2 of this License shall terminate prospectively upon sixty (60) days notice from Respondent (the "Notice Period") unless within that Notice Period you either agree in writing (i) to pay Respondent a mutually agreeable reasonably royalty for your past or future use of Licensed Product made by such Respondent, or (ii) withdraw your litigation claim with respect to Licensed Product against such Respondent. If within said Notice Period a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Licensor to you under Sections 1 and 2 automatically terminate at the expiration of said Notice Period.
+
+ c. Reasonable Value of This License. If you assert a patent infringement claim against Respondent alleging that Licensed Product directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by said Respondent under Sections 1 and 2 shall be taken into account in determining the amount or value of any payment or license.
+
+ d. No Retroactive Effect of Termination. In the event of termination under Sections 9(a) or 9(b) above, all end user license agreements (excluding licenses to distributors and resellers) that have been validly granted by you or any distributor hereunder prior to termination shall survive termination.
+
+10. Limitation of Liability. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE LICENSOR, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF LICENSED PRODUCT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTYS NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+11. Responsibility for Claims. As between Licensor and Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License. You agree to work with Licensor and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+12. U.S. Government End Users. The Licensed Product is a commercial item, as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of commercial computer software and commercial computer software documentation, as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Licensed Product with only those rights set forth herein.
+
+13. Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. You expressly agree that in any litigation relating to this license the losing party shall be responsible for costs including, without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation that provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+14. Definition of You in This License. You throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 7. For legal entities, you includes any entity that controls, is controlled by, is under common control with, or affiliated with, you. For purposes of this definition, control means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. You are responsible for advising any affiliated entity of the terms of this License, and that any rights or privileges derived from or obtained by way of this License are subject to the restrictions outlined herein.
+
+15. Glossary. All defined terms in this License that are used in more than one Section of this License are repeated here, in alphabetical order, for the convenience of the reader. The Section of this License in which each defined term is first used is shown in parentheses.
+
+Contributor: Each person or entity who created or contributed to the creation of, and distributed, a Modification. (See Section 2)
+
+Derivative Works: That term as used in this License is defined under U.S. copyright law. (See Section 1(b))
+
+License: This BitTorrent Open Source License. (See first paragraph of License)
+
+Licensed Product: Any BitTorrent Product licensed pursuant to this License. The term "Licensed Product" includes all previous Modifications from any Contributor that you receive. (See first paragraph of License and Section 2)
+
+Licensor: BitTorrent, Inc. (See first paragraph of License)
+
+Modifications: Any additions to or deletions from the substance or structure of (i) a file containing Licensed
+Product, or (ii) any new file that contains any part of Licensed Product. (See Section 2)
+
+Notice: The notice contained in Exhibit A. (See Section 4(e))
+
+Source Code: The preferred form for making modifications to the Licensed Product, including all modules contained therein, plus any associated interface definition files, scripts used to control compilation and installation of an executable program, or a list of differential comparisons against the Source Code of the Licensed Product. (See Section 1(a))
+
+You: This term is defined in Section 14 of this License.
+
+EXHIBIT A
+
+The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product or any hereto. Contributors to any Modifications may add their own copyright notices to identify their own contributions.
+
+License:
+The contents of this file are subject to the BitTorrent Open Source License Version 1.0 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License at http://www.bittorrent.com/license/.
+
+Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+BitTorrent, Inc.
diff --git a/poky/meta/files/common-licenses/BlueOak-1.0.0 b/poky/meta/files/common-licenses/BlueOak-1.0.0
new file mode 100644
index 000000000..c5402b957
--- /dev/null
+++ b/poky/meta/files/common-licenses/BlueOak-1.0.0
@@ -0,0 +1,55 @@
+# Blue Oak Model License
+
+Version 1.0.0
+
+## Purpose
+
+This license gives everyone as much permission to work with
+this software as possible, while protecting contributors
+from liability.
+
+## Acceptance
+
+In order to receive this license, you must agree to its
+rules. The rules of this license are both obligations
+under that agreement and conditions to your license.
+You must not do anything with this software that triggers
+a rule that you cannot or will not follow.
+
+## Copyright
+
+Each contributor licenses you to do everything with this
+software that would otherwise infringe that contributor's
+copyright in it.
+
+## Notices
+
+You must ensure that everyone who gets a copy of
+any part of this software from you, with or without
+changes, also gets the text of this license or a link to
+<https://blueoakcouncil.org/license/1.0.0>.
+
+## Excuse
+
+If anyone notifies you in writing that you have not
+complied with [Notices](#notices), you can keep your
+license by taking all practical steps to comply within 30
+days after the notice. If you do not do so, your license
+ends immediately.
+
+## Patent
+
+Each contributor licenses you to do everything with this
+software that would otherwise infringe any patent claims
+they can license or become able to license.
+
+## Reliability
+
+No contributor can revoke this license.
+
+## No Liability
+
+***As far as the law allows, this software comes as is,
+without any warranty or condition, and no contributor
+will be liable to anyone for any damages related to this
+software or this license, under any kind of legal claim.***
diff --git a/poky/meta/files/common-licenses/Borceux b/poky/meta/files/common-licenses/Borceux
new file mode 100644
index 000000000..4856e7885
--- /dev/null
+++ b/poky/meta/files/common-licenses/Borceux
@@ -0,0 +1,19 @@
+Copyright 1993 Francis Borceux
+You may freely use, modify, and/or distribute each of the files in this package without limitation. The package consists of the following files:
+
+README
+compatibility/OldDiagram
+compatibility/OldMaxiDiagram
+compatibility/OldMicroDiagram
+compatibility/OldMiniDiagram
+compatibility/OldMultipleArrows
+diagram/Diagram
+diagram/MaxiDiagram
+diagram/MicroDiagram
+diagram/MiniDiagram
+diagram/MultipleArrows
+user-guides/Diagram_Mode_d_Emploi
+user-guides/Diagram_Read_Me
+
+Of course no support is guaranteed, but the author will attempt to assist with problems. Current email address:
+francis dot borceux at uclouvain dot be.
diff --git a/poky/meta/files/common-licenses/C-UDA-1.0 b/poky/meta/files/common-licenses/C-UDA-1.0
new file mode 100644
index 000000000..9f7c57df5
--- /dev/null
+++ b/poky/meta/files/common-licenses/C-UDA-1.0
@@ -0,0 +1,47 @@
+Computational Use of Data Agreement v1.0
+
+This is the Computational Use of Data Agreement, Version 1.0 (the “C-UDA”). Capitalized terms are defined in Section 5. Data Provider and you agree as follows:
+
+1. Provision of the Data
+
+1.1. You may use, modify, and distribute the Data made available to you by the Data Provider under this C-UDA for Computational Use if you follow the C-UDA's terms.
+
+1.2. Data Provider will not sue you or any Downstream Recipient for any claim arising out of the use, modification, or distribution of the Data provided you meet the terms of the C-UDA.
+
+1.3 This C-UDA does not restrict your use, modification, or distribution of any portions of the Data that are in the public domain or that may be used, modified, or distributed under any other legal exception or limitation.
+
+2. Restrictions
+
+2.1 You agree that you will use the Data solely for Computational Use.
+
+2.2 The C-UDA does not impose any restriction with respect to the use, modification, or distribution of Results.
+
+3. Redistribution of Data
+
+3.1. You may redistribute the Data, so long as:
+
+3.1.1. You include with any Data you redistribute all credit or attribution information that you received with the Data, and your terms require any Downstream Recipient to do the same; and
+
+3.1.2. You bind each recipient to whom you redistribute the Data to the terms of the C-UDA.
+
+4. No Warranty, Limitation of Liability
+
+4.1. Data Provider does not represent or warrant that it has any rights whatsoever in the Data.
+
+4.2. THE DATA IS PROVIDED ON AN “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+4.3. NEITHER DATA PROVIDER NOR ANY UPSTREAM DATA PROVIDER SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE DATA OR RESULTS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+5. Definitions
+
+5.1. “Computational Use” means activities necessary to enable the use of Data (alone or along with other material) for analysis by a computer.
+
+5.2.“Data” means the material you receive under the C-UDA in modified or unmodified form, but not including Results.
+
+5.3. “Data Provider” means the source from which you receive the Data and with whom you enter into the C-UDA.
+
+5.4. “Downstream Recipient” means any person or persons who receives the Data directly or indirectly from you in accordance with the C-UDA.
+
+5.5. “Result” means anything that you develop or improve from your use of Data that does not include more than a de minimis portion of the Data on which the use is based. Results may include de minimis portions of the Data necessary to report on or explain use that has been conducted with the Data, such as figures in scientific papers, but do not include more. Artificial intelligence models trained on Data (and which do not include more than a de minimis portion of Data) are Results.
+
+5.6. “Upstream Data Providers” means the source or sources from which the Data Provider directly or indirectly received, under the terms of the C-UDA, material that is included in the Data.
diff --git a/poky/meta/files/common-licenses/CAL-1.0 b/poky/meta/files/common-licenses/CAL-1.0
new file mode 100644
index 000000000..4cebc6d54
--- /dev/null
+++ b/poky/meta/files/common-licenses/CAL-1.0
@@ -0,0 +1,354 @@
+# The Cryptographic Autonomy License, v. 1.0
+
+*This Cryptographic Autonomy License (the "License") applies to any
+Work whose owner has marked it with any of the following notices, or a
+similar demonstration of intent:*
+
+SPDX-License-Identifier: CAL-1.0
+Licensed under the Cryptographic Autonomy License version 1.0
+
+*or*
+
+SPDX-License-Identifier: CAL-1.0-Combined-Work-Exception
+Licensed under the Cryptographic Autonomy License version 1.0, with
+Combined Work Exception
+
+______________________________________________________________________
+
+## 1. Purpose
+
+This License gives You unlimited permission to use and modify the
+software to which it applies (the "Work"), either as-is or in modified
+form, for Your private purposes, while protecting the owners and
+contributors to the software from liability.
+
+This License also strives to protect the freedom and autonomy of third
+parties who receive the Work from you. If any non-affiliated third
+party receives any part, aspect, or element of the Work from You, this
+License requires that You provide that third party all the permissions
+and materials needed to independently use and modify the Work without
+that third party having a loss of data or capability due to your
+actions.
+
+The full permissions, conditions, and other terms are laid out below.
+
+## 2. Receiving a License
+
+In order to receive this License, You must agree to its rules. The
+rules of this License are both obligations of Your agreement with the
+Licensor and conditions to your License. You must not do anything with
+the Work that triggers a rule You cannot or will not follow.
+
+### 2.1. Application
+
+The terms of this License apply to the Work as you receive it from
+Licensor, as well as to any modifications, elaborations, or
+implementations created by You that contain any licensable portion of
+the Work (a "Modified Work"). Unless specified, any reference to the
+Work also applies to a Modified Work.
+
+### 2.2. Offer and Acceptance
+
+This License is automatically offered to every person and
+organization. You show that you accept this License and agree to its
+conditions by taking any action with the Work that, absent this
+License, would infringe any intellectual property right held by
+Licensor.
+
+### 2.3. Compliance and Remedies
+
+Any failure to act according to the terms and conditions of this
+License places Your use of the Work outside the scope of the License
+and infringes the intellectual property rights of the Licensor. In the
+event of infringement, the terms and conditions of this License may be
+enforced by Licensor under the intellectual property laws of any
+jurisdiction to which You are subject. You also agree that either the
+Licensor or a Recipient (as an intended third-party beneficiary) may
+enforce the terms and conditions of this License against You via
+specific performance.
+
+## 3. Permissions
+### 3.1. Permissions Granted
+
+Conditioned on compliance with section 4, and subject to the
+limitations of section 3.2, Licensor grants You the world-wide,
+royalty-free, non-exclusive permission to:
+
++ a) Take any action with the Work that would infringe the non-patent
+intellectual property laws of any jurisdiction to which You are
+subject; and
+
++ b) claims that Licensor can license or becomes able to
+license, to the extent that those claims are embodied in the Work as
+distributed by Licensor. ### 3.2. Limitations on Permissions Granted
+
+The following limitations apply to the permissions granted in section
+3.1:
+
++ a) Licensor does not grant any patent license for claims that are
+only infringed due to modification of the Work as provided by
+Licensor, or the combination of the Work as provided by Licensor,
+directly or indirectly, with any other component, including other
+software or hardware.
+
++ b) Licensor does not grant any license to the trademarks, service
+marks, or logos of Licensor, except to the extent necessary to comply
+with the attribution conditions in section 4.1 of this License.
+
+## 4. Conditions
+
+If You exercise any permission granted by this License, such that the
+Work, or any part, aspect, or element of the Work, is distributed,
+communicated, made available, or made perceptible to a non-Affiliate
+third party (a "Recipient"), either via physical delivery or via a
+network connection to the Recipient, You must comply with the
+following conditions:
+
+### 4.1. Provide Access to Source Code
+
+Subject to the exception in section 4.4, You must provide to each
+Recipient a copy of, or no-charge unrestricted network access to, the
+Source Code corresponding to the Work ("Access").
+
+The "Source Code" of the Work means the form of the Work preferred for
+making modifications, including any comments, configuration
+information, documentation, help materials, installation instructions,
+cryptographic seeds or keys, and any information reasonably necessary
+for the Recipient to independently compile and use the Source Code and
+to have full access to the functionality contained in the Work.
+
+#### 4.1.1. Providing Network Access to the Source Code
+
+Network Access to the Notices and Source Code may be provided by You
+or by a third party, such as a public software repository, and must
+persist during the same period in which You exercise any of the
+permissions granted to You under this License and for at least one
+year thereafter.
+
+#### 4.1.2. Source Code for a Modified Work
+
+Subject to the exception in section 4.5, You must provide to each
+Recipient of a Modified Work Access to Source Code corresponding to
+those portions of the Work remaining in the Modified Work as well as
+the modifications used by You to create the Modified Work. The Source
+Code corresponding to the modifications in the Modified Work must be
+provided to the Recipient either a) under this License, or b) under a
+Compatible Open Source License.
+
+A “Compatible Open Source License” means a license accepted by the Open Source
+Initiative that allows object code created using both Source Code provided under
+this License and Source Code provided under the other open source license to be
+distributed together as a single work.
+
+#### 4.1.3. Coordinated Disclosure of Security Vulnerabilities
+
+You may delay providing the Source Code corresponding to a particular
+modification of the Work for up to ninety (90) days (the "Embargo
+Period") if:
+
++ a) the modification is intended to address a newly-identified
+vulnerability or a security flaw in the Work,
+
++ b) disclosure of the vulnerability or security flaw before the end
+of the Embargo Period would put the data, identity, or autonomy of one
+or more Recipients of the Work at significant risk,
+
++ c) You are participating in a coordinated disclosure of the
+vulnerability or security flaw with one or more additional Licensees,
+and
+
++ d) Access to the Source Code pertaining to the modification is
+provided to all Recipients at the end of the Embargo Period.
+
+### 4.2. Maintain User Autonomy
+
+In addition to providing each Recipient the opportunity to have Access
+to the Source Code, You cannot use the permissions given under this
+License to interfere with a Recipient's ability to fully use an
+independent copy of the Work generated from the Source Code You
+provide with the Recipient's own User Data.
+
+"User Data" means any data that is an input to or an output from the
+Work, where the presence of the data is necessary for substantially
+identical use of the Work in an equivalent context chosen by the
+Recipient, and where the Recipient has an existing ownership interest,
+an existing right to possess, or where the data has been generated by,
+for, or has been assigned to the Recipient.
+
+#### 4.2.1. No Withholding User Data
+
+Throughout any period in which You exercise any of the permissions
+granted to You under this License, You must also provide to any
+Recipient to whom you provide services via the Work, a no-charge copy,
+provided in a commonly used electronic form, of the Recipient's User
+Data in your possession, to the extent that such User Data is
+available to You for use in conjunction with the Work.
+
+#### 4.2.2. No Technical Measures that Limit Access
+
+You may not, by means of the use cryptographic methods applied to
+anything provided to the Recipient, by possession or control of
+cryptographic keys, seeds, hashes, by any other technological
+protection measures, or by any other method, limit a Recipient's
+ability to access any functionality present in Recipient's independent
+copy of the Work, or to deny a Recipient full control of the
+Recipient's User Data.
+
+#### 4.2.3. No Legal or Contractual Measures that Limit Access
+
+You may not contractually restrict a Recipient's ability to
+independently exercise the permissions granted under this License. You
+waive any legal power to forbid circumvention of technical protection
+measures that include use of the Work, and You waive any claim that
+the capabilities of the Work were limited or modified as a means of
+enforcing the legal rights of third parties against Recipients.
+
+### 4.3. Provide Notices and Attribution
+
+You must retain all licensing, authorship, or attribution notices
+contained in the Source Code (the "Notices"), and provide all such
+Notices to each Recipient, together with a statement acknowledging the
+use of the Work. Notices may be provided directly to a Recipient or
+via an easy-to-find hyperlink to an Internet location also providing
+Access to Source Code.
+
+### 4.4. Scope of Conditions in this License
+
+You are required to uphold the conditions of this License only
+relative to those who are Recipients of the Work from You. Other than
+providing Recipients with the applicable Notices, Access to Source
+Code, and a copy of and full control of their User Data, nothing in
+this License requires You to provide processing services to or engage
+in network interactions with anyone.
+
+### 4.5. Combined Work Exception
+
+As an exception to condition that You provide Recipients Access to
+Source Code, any Source Code files marked by the Licensor as having
+the "Combined Work Exception," or any object code exclusively
+resulting from Source Code files so marked, may be combined with other
+Software into a "Larger Work." So long as you comply with the
+requirements to provide Recipients the applicable Notices and Access
+to the Source Code provided to You by Licensor, and you provide
+Recipients access to their User Data and do not limit Recipient's
+ability to independently work with their User Data, any other Software
+in the Larger Work as well as the Larger Work as a whole may be
+licensed under the terms of your choice.
+
+## 5. Term and Termination
+
+The term of this License begins when You receive the Work, and
+continues until terminated for any of the reasons described herein, or
+until all Licensor's intellectual property rights in the Software
+expire, whichever comes first ("Term"). This License cannot be
+revoked, only terminated for the reasons listed below.
+
+### 5.1. Effect of Termination
+
+If this License is terminated for any reason, all permissions granted
+to You under Section 3 by any Licensor automatically terminate. You
+will immediately cease exercising any permissions granted in this
+License relative to the Work, including as part of any Modified Work.
+
+### 5.2. Termination for Non-Compliance; Reinstatement
+
+This License terminates automatically if You fail to comply with any
+of the conditions in section 4. As a special exception to termination
+for non-compliance, Your permissions for the Work under this License
+will automatically be reinstated if You come into compliance with all
+the conditions in section 2 within sixty (60) days of being notified
+by Licensor or an intended third-party beneficiary of Your
+noncompliance. You are eligible for reinstatement of permissions for
+the Work one time only, and only for the sixty days immediately after
+becoming aware of noncompliance. Loss of permissions granted for the
+Work under this License due to either a) sustained noncompliance
+lasting more than sixty days or b) subsequent termination for
+noncompliance after reinstatement, is permanent, unless rights are
+specifically restored by Licensor in writing.
+
+### 5.3. Termination Due to Litigation
+
+If You initiate litigation against Licensor, or any Recipient of the
+Work, either direct or indirect, asserting that the Work directly or
+indirectly infringes any patent, then all permissions granted to You
+by this License shall terminate. In the event of termination due to
+litigation, all permissions validly granted by You under this License,
+directly or indirectly, shall survive termination. Administrative
+review procedures, declaratory judgment actions, counterclaims in
+response to patent litigation, and enforcement actions against former
+Licensees terminated under this section do not cause termination due
+to litigation.
+
+## 6. Disclaimer of Warranty and Limit on Liability
+
+As far as the law allows, the Work comes AS-IS, without any warranty
+of any kind, and no Licensor or contributor will be liable to anyone
+for any damages related to this software or this license, under any
+kind of legal claim, or for any type of damages, including indirect,
+special, incidental, or consequential damages of any type arising as a
+result of this License or the use of the Work including, without
+limitation, damages for loss of goodwill, work stoppage, computer
+failure or malfunction, loss of profits, revenue, or any and all other
+commercial damages or losses.
+
+## 7. Other Provisions
+### 7.1. Affiliates
+
+An "Affiliate" means any other entity that, directly or indirectly
+through one or more intermediaries, controls, is controlled by, or is
+under common control with, the Licensee. Employees of a Licensee and
+natural persons acting as contractors exclusively providing services
+to Licensee are also Affiliates.
+
+### 7.2. Choice of Jurisdiction and Governing Law
+
+A Licensor may require that any action or suit by a Licensee relating
+to a Work provided by Licensor under this License may be brought only
+in the courts of a particular jurisdiction and under the laws of a
+particular jurisdiction (excluding its conflict-of-law provisions), if
+Licensor provides conspicuous notice of the particular jurisdiction to
+all Licensees.
+
+### 7.3. No Sublicensing
+
+This License is not sublicensable. Each time You provide the Work or a
+Modified Work to a Recipient, the Recipient automatically receives a
+license under the terms described in this License. You may not impose
+any further reservations, conditions, or other provisions on any
+Recipients' exercise of the permissions granted herein.
+
+### 7.4. Attorneys' Fees
+
+In any action to enforce the terms of this License, or seeking damages
+relating thereto, including by an intended third-party beneficiary,
+the prevailing party shall be entitled to recover its costs and
+expenses, including, without limitation, reasonable attorneys' fees
+and costs incurred in connection with such action, including any
+appeal of such action. A "prevailing party" is the party that
+achieves, or avoids, compliance with this License, including through
+settlement. This section shall survive the termination of this
+License.
+
+### 7.5. No Waiver
+
+Any failure by Licensor to enforce any provision of this License will
+not constitute a present or future waiver of such provision nor limit
+Licensor's ability to enforce such provision at a later time.
+
+### 7.6. Severability
+
+If any provision of this License is held to be unenforceable, such
+provision shall be reformed only to the extent necessary to make it
+enforceable. Any invalid or unenforceable portion will be interpreted
+to the effect and intent of the original portion. If such a
+construction is not possible, the invalid or unenforceable portion
+will be severed from this License but the rest of this License will
+remain in full force and effect.
+
+### 7.7. License for the Text of this License
+
+The text of this license is released under the Creative Commons
+Attribution-ShareAlike 4.0 International License, with the caveat that
+any modifications of this license may not use the name "Cryptographic
+Autonomy License" or any name confusingly similar thereto to describe
+any derived work of this License.
diff --git a/poky/meta/files/common-licenses/CAL-1.0-Combined-Work-Exception b/poky/meta/files/common-licenses/CAL-1.0-Combined-Work-Exception
new file mode 100644
index 000000000..4cebc6d54
--- /dev/null
+++ b/poky/meta/files/common-licenses/CAL-1.0-Combined-Work-Exception
@@ -0,0 +1,354 @@
+# The Cryptographic Autonomy License, v. 1.0
+
+*This Cryptographic Autonomy License (the "License") applies to any
+Work whose owner has marked it with any of the following notices, or a
+similar demonstration of intent:*
+
+SPDX-License-Identifier: CAL-1.0
+Licensed under the Cryptographic Autonomy License version 1.0
+
+*or*
+
+SPDX-License-Identifier: CAL-1.0-Combined-Work-Exception
+Licensed under the Cryptographic Autonomy License version 1.0, with
+Combined Work Exception
+
+______________________________________________________________________
+
+## 1. Purpose
+
+This License gives You unlimited permission to use and modify the
+software to which it applies (the "Work"), either as-is or in modified
+form, for Your private purposes, while protecting the owners and
+contributors to the software from liability.
+
+This License also strives to protect the freedom and autonomy of third
+parties who receive the Work from you. If any non-affiliated third
+party receives any part, aspect, or element of the Work from You, this
+License requires that You provide that third party all the permissions
+and materials needed to independently use and modify the Work without
+that third party having a loss of data or capability due to your
+actions.
+
+The full permissions, conditions, and other terms are laid out below.
+
+## 2. Receiving a License
+
+In order to receive this License, You must agree to its rules. The
+rules of this License are both obligations of Your agreement with the
+Licensor and conditions to your License. You must not do anything with
+the Work that triggers a rule You cannot or will not follow.
+
+### 2.1. Application
+
+The terms of this License apply to the Work as you receive it from
+Licensor, as well as to any modifications, elaborations, or
+implementations created by You that contain any licensable portion of
+the Work (a "Modified Work"). Unless specified, any reference to the
+Work also applies to a Modified Work.
+
+### 2.2. Offer and Acceptance
+
+This License is automatically offered to every person and
+organization. You show that you accept this License and agree to its
+conditions by taking any action with the Work that, absent this
+License, would infringe any intellectual property right held by
+Licensor.
+
+### 2.3. Compliance and Remedies
+
+Any failure to act according to the terms and conditions of this
+License places Your use of the Work outside the scope of the License
+and infringes the intellectual property rights of the Licensor. In the
+event of infringement, the terms and conditions of this License may be
+enforced by Licensor under the intellectual property laws of any
+jurisdiction to which You are subject. You also agree that either the
+Licensor or a Recipient (as an intended third-party beneficiary) may
+enforce the terms and conditions of this License against You via
+specific performance.
+
+## 3. Permissions
+### 3.1. Permissions Granted
+
+Conditioned on compliance with section 4, and subject to the
+limitations of section 3.2, Licensor grants You the world-wide,
+royalty-free, non-exclusive permission to:
+
++ a) Take any action with the Work that would infringe the non-patent
+intellectual property laws of any jurisdiction to which You are
+subject; and
+
++ b) claims that Licensor can license or becomes able to
+license, to the extent that those claims are embodied in the Work as
+distributed by Licensor. ### 3.2. Limitations on Permissions Granted
+
+The following limitations apply to the permissions granted in section
+3.1:
+
++ a) Licensor does not grant any patent license for claims that are
+only infringed due to modification of the Work as provided by
+Licensor, or the combination of the Work as provided by Licensor,
+directly or indirectly, with any other component, including other
+software or hardware.
+
++ b) Licensor does not grant any license to the trademarks, service
+marks, or logos of Licensor, except to the extent necessary to comply
+with the attribution conditions in section 4.1 of this License.
+
+## 4. Conditions
+
+If You exercise any permission granted by this License, such that the
+Work, or any part, aspect, or element of the Work, is distributed,
+communicated, made available, or made perceptible to a non-Affiliate
+third party (a "Recipient"), either via physical delivery or via a
+network connection to the Recipient, You must comply with the
+following conditions:
+
+### 4.1. Provide Access to Source Code
+
+Subject to the exception in section 4.4, You must provide to each
+Recipient a copy of, or no-charge unrestricted network access to, the
+Source Code corresponding to the Work ("Access").
+
+The "Source Code" of the Work means the form of the Work preferred for
+making modifications, including any comments, configuration
+information, documentation, help materials, installation instructions,
+cryptographic seeds or keys, and any information reasonably necessary
+for the Recipient to independently compile and use the Source Code and
+to have full access to the functionality contained in the Work.
+
+#### 4.1.1. Providing Network Access to the Source Code
+
+Network Access to the Notices and Source Code may be provided by You
+or by a third party, such as a public software repository, and must
+persist during the same period in which You exercise any of the
+permissions granted to You under this License and for at least one
+year thereafter.
+
+#### 4.1.2. Source Code for a Modified Work
+
+Subject to the exception in section 4.5, You must provide to each
+Recipient of a Modified Work Access to Source Code corresponding to
+those portions of the Work remaining in the Modified Work as well as
+the modifications used by You to create the Modified Work. The Source
+Code corresponding to the modifications in the Modified Work must be
+provided to the Recipient either a) under this License, or b) under a
+Compatible Open Source License.
+
+A “Compatible Open Source License” means a license accepted by the Open Source
+Initiative that allows object code created using both Source Code provided under
+this License and Source Code provided under the other open source license to be
+distributed together as a single work.
+
+#### 4.1.3. Coordinated Disclosure of Security Vulnerabilities
+
+You may delay providing the Source Code corresponding to a particular
+modification of the Work for up to ninety (90) days (the "Embargo
+Period") if:
+
++ a) the modification is intended to address a newly-identified
+vulnerability or a security flaw in the Work,
+
++ b) disclosure of the vulnerability or security flaw before the end
+of the Embargo Period would put the data, identity, or autonomy of one
+or more Recipients of the Work at significant risk,
+
++ c) You are participating in a coordinated disclosure of the
+vulnerability or security flaw with one or more additional Licensees,
+and
+
++ d) Access to the Source Code pertaining to the modification is
+provided to all Recipients at the end of the Embargo Period.
+
+### 4.2. Maintain User Autonomy
+
+In addition to providing each Recipient the opportunity to have Access
+to the Source Code, You cannot use the permissions given under this
+License to interfere with a Recipient's ability to fully use an
+independent copy of the Work generated from the Source Code You
+provide with the Recipient's own User Data.
+
+"User Data" means any data that is an input to or an output from the
+Work, where the presence of the data is necessary for substantially
+identical use of the Work in an equivalent context chosen by the
+Recipient, and where the Recipient has an existing ownership interest,
+an existing right to possess, or where the data has been generated by,
+for, or has been assigned to the Recipient.
+
+#### 4.2.1. No Withholding User Data
+
+Throughout any period in which You exercise any of the permissions
+granted to You under this License, You must also provide to any
+Recipient to whom you provide services via the Work, a no-charge copy,
+provided in a commonly used electronic form, of the Recipient's User
+Data in your possession, to the extent that such User Data is
+available to You for use in conjunction with the Work.
+
+#### 4.2.2. No Technical Measures that Limit Access
+
+You may not, by means of the use cryptographic methods applied to
+anything provided to the Recipient, by possession or control of
+cryptographic keys, seeds, hashes, by any other technological
+protection measures, or by any other method, limit a Recipient's
+ability to access any functionality present in Recipient's independent
+copy of the Work, or to deny a Recipient full control of the
+Recipient's User Data.
+
+#### 4.2.3. No Legal or Contractual Measures that Limit Access
+
+You may not contractually restrict a Recipient's ability to
+independently exercise the permissions granted under this License. You
+waive any legal power to forbid circumvention of technical protection
+measures that include use of the Work, and You waive any claim that
+the capabilities of the Work were limited or modified as a means of
+enforcing the legal rights of third parties against Recipients.
+
+### 4.3. Provide Notices and Attribution
+
+You must retain all licensing, authorship, or attribution notices
+contained in the Source Code (the "Notices"), and provide all such
+Notices to each Recipient, together with a statement acknowledging the
+use of the Work. Notices may be provided directly to a Recipient or
+via an easy-to-find hyperlink to an Internet location also providing
+Access to Source Code.
+
+### 4.4. Scope of Conditions in this License
+
+You are required to uphold the conditions of this License only
+relative to those who are Recipients of the Work from You. Other than
+providing Recipients with the applicable Notices, Access to Source
+Code, and a copy of and full control of their User Data, nothing in
+this License requires You to provide processing services to or engage
+in network interactions with anyone.
+
+### 4.5. Combined Work Exception
+
+As an exception to condition that You provide Recipients Access to
+Source Code, any Source Code files marked by the Licensor as having
+the "Combined Work Exception," or any object code exclusively
+resulting from Source Code files so marked, may be combined with other
+Software into a "Larger Work." So long as you comply with the
+requirements to provide Recipients the applicable Notices and Access
+to the Source Code provided to You by Licensor, and you provide
+Recipients access to their User Data and do not limit Recipient's
+ability to independently work with their User Data, any other Software
+in the Larger Work as well as the Larger Work as a whole may be
+licensed under the terms of your choice.
+
+## 5. Term and Termination
+
+The term of this License begins when You receive the Work, and
+continues until terminated for any of the reasons described herein, or
+until all Licensor's intellectual property rights in the Software
+expire, whichever comes first ("Term"). This License cannot be
+revoked, only terminated for the reasons listed below.
+
+### 5.1. Effect of Termination
+
+If this License is terminated for any reason, all permissions granted
+to You under Section 3 by any Licensor automatically terminate. You
+will immediately cease exercising any permissions granted in this
+License relative to the Work, including as part of any Modified Work.
+
+### 5.2. Termination for Non-Compliance; Reinstatement
+
+This License terminates automatically if You fail to comply with any
+of the conditions in section 4. As a special exception to termination
+for non-compliance, Your permissions for the Work under this License
+will automatically be reinstated if You come into compliance with all
+the conditions in section 2 within sixty (60) days of being notified
+by Licensor or an intended third-party beneficiary of Your
+noncompliance. You are eligible for reinstatement of permissions for
+the Work one time only, and only for the sixty days immediately after
+becoming aware of noncompliance. Loss of permissions granted for the
+Work under this License due to either a) sustained noncompliance
+lasting more than sixty days or b) subsequent termination for
+noncompliance after reinstatement, is permanent, unless rights are
+specifically restored by Licensor in writing.
+
+### 5.3. Termination Due to Litigation
+
+If You initiate litigation against Licensor, or any Recipient of the
+Work, either direct or indirect, asserting that the Work directly or
+indirectly infringes any patent, then all permissions granted to You
+by this License shall terminate. In the event of termination due to
+litigation, all permissions validly granted by You under this License,
+directly or indirectly, shall survive termination. Administrative
+review procedures, declaratory judgment actions, counterclaims in
+response to patent litigation, and enforcement actions against former
+Licensees terminated under this section do not cause termination due
+to litigation.
+
+## 6. Disclaimer of Warranty and Limit on Liability
+
+As far as the law allows, the Work comes AS-IS, without any warranty
+of any kind, and no Licensor or contributor will be liable to anyone
+for any damages related to this software or this license, under any
+kind of legal claim, or for any type of damages, including indirect,
+special, incidental, or consequential damages of any type arising as a
+result of this License or the use of the Work including, without
+limitation, damages for loss of goodwill, work stoppage, computer
+failure or malfunction, loss of profits, revenue, or any and all other
+commercial damages or losses.
+
+## 7. Other Provisions
+### 7.1. Affiliates
+
+An "Affiliate" means any other entity that, directly or indirectly
+through one or more intermediaries, controls, is controlled by, or is
+under common control with, the Licensee. Employees of a Licensee and
+natural persons acting as contractors exclusively providing services
+to Licensee are also Affiliates.
+
+### 7.2. Choice of Jurisdiction and Governing Law
+
+A Licensor may require that any action or suit by a Licensee relating
+to a Work provided by Licensor under this License may be brought only
+in the courts of a particular jurisdiction and under the laws of a
+particular jurisdiction (excluding its conflict-of-law provisions), if
+Licensor provides conspicuous notice of the particular jurisdiction to
+all Licensees.
+
+### 7.3. No Sublicensing
+
+This License is not sublicensable. Each time You provide the Work or a
+Modified Work to a Recipient, the Recipient automatically receives a
+license under the terms described in this License. You may not impose
+any further reservations, conditions, or other provisions on any
+Recipients' exercise of the permissions granted herein.
+
+### 7.4. Attorneys' Fees
+
+In any action to enforce the terms of this License, or seeking damages
+relating thereto, including by an intended third-party beneficiary,
+the prevailing party shall be entitled to recover its costs and
+expenses, including, without limitation, reasonable attorneys' fees
+and costs incurred in connection with such action, including any
+appeal of such action. A "prevailing party" is the party that
+achieves, or avoids, compliance with this License, including through
+settlement. This section shall survive the termination of this
+License.
+
+### 7.5. No Waiver
+
+Any failure by Licensor to enforce any provision of this License will
+not constitute a present or future waiver of such provision nor limit
+Licensor's ability to enforce such provision at a later time.
+
+### 7.6. Severability
+
+If any provision of this License is held to be unenforceable, such
+provision shall be reformed only to the extent necessary to make it
+enforceable. Any invalid or unenforceable portion will be interpreted
+to the effect and intent of the original portion. If such a
+construction is not possible, the invalid or unenforceable portion
+will be severed from this License but the rest of this License will
+remain in full force and effect.
+
+### 7.7. License for the Text of this License
+
+The text of this license is released under the Creative Commons
+Attribution-ShareAlike 4.0 International License, with the caveat that
+any modifications of this license may not use the name "Cryptographic
+Autonomy License" or any name confusingly similar thereto to describe
+any derived work of this License.
diff --git a/poky/meta/files/common-licenses/CC-BY-2.5-AU b/poky/meta/files/common-licenses/CC-BY-2.5-AU
new file mode 100644
index 000000000..23b880091
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-2.5-AU
@@ -0,0 +1,112 @@
+Creative Commons Attribution 2.5 Australia
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENCE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
+
+Licence
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENCE ("CCPL" OR "LICENCE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORISED UNDER THIS LICENCE AND/OR APPLICABLE LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENCE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+ 1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopaedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this Licence.
+
+ b. "Derivative Work" means a work that reproduces a substantial part of the Work, or of the Work and other pre-existing works protected by copyright, or that is an adaptation of a Work that is a literary, dramatic, musical or artistic work. Derivative Works include a translation, musical arrangement, dramatisation, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which a work may be adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this Licence. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this Licence.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this Licence.
+
+ d. "Moral rights law" means laws under which an individual who creates a work protected by copyright has rights of integrity of authorship of the work, rights of attribution of authorship of the work, rights not to have authorship of the work falsely attributed, or rights of a similar or analogous nature in the work anywhere in the world.
+
+ e. "Original Author" means the individual or entity who created the Work.
+
+ f. "Work" means the work or other subject-matter protected by copyright that is offered under the terms of this Licence, which may include (without limitation) a literary, dramatic, musical or artistic work, a sound recording or cinematograph film, a published edition of a literary, dramatic, musical or artistic work or a television or sound broadcast.
+
+ g. "You" means an individual or entity exercising rights under this Licence who has not previously violated the terms of this Licence with respect to the Work, or who has received express permission from the Licensor to exercise rights under this Licence despite a previous violation.
+
+ h. "Licence Elements" means the following high-level licence attributes as selected by Licensor and indicated in the title of this Licence: Attribution, NonCommercial, NoDerivatives, ShareAlike.
+
+2. Fair Dealing and Other Rights. Nothing in this Licence excludes or modifies, or is intended to exclude or modify, (including by reducing, limiting, or restricting) the rights of You or others to use the Work arising from fair dealings or other limitations on the rights of the copyright owner or the Original Author under copyright law, moral rights law or other applicable laws.
+
+3. Licence Grant. Subject to the terms and conditions of this Licence, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) licence to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to create and reproduce Derivative Works;
+
+ c. to publish, communicate to the public, distribute copies or records of, exhibit or display publicly, perform publicly and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+ d. to publish, communicate to the public, distribute copies or records of, exhibit or display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works;
+
+ e. For the avoidance of doubt, where the Work is a musical composition:
+
+ i. Performance Royalties Under Blanket Licences. Licensor will not collect, whether individually or via a performance rights society, royalties for Your communication to the public, broadcast, public performance or public digital performance (e.g. webcast) of the Work.
+
+ ii. Mechanical Rights and Statutory Royalties. Licensor will not collect, whether individually or via a music rights agency, designated agent or a music publisher, royalties for any record You create from the Work ("cover version") and distribute, subject to the compulsory licence created by 17 USC Section 115 of the US Copyright Act (or an equivalent statutory licence under the Australian Copyright Act or in other jurisdictions).
+
+
+ f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor will not collect, whether individually or via a performance-rights society, royalties for Your public digital performance (e.g. webcast) of the Work, subject to the compulsory licence created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor under this Licence are hereby reserved.
+
+4. Restrictions. The licence granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may publish, communicate to the public, distribute, publicly exhibit or display, publicly perform, or publicly digitally perform the Work only under the terms of this Licence, and You must include a copy of, or the Uniform Resource Identifier for, this Licence with every copy or record of the Work You publish, communicate to the public, distribute, publicly exhibit or display, publicly perform or publicly digitally perform. You may not offer or impose any terms on the Work that exclude, alter or restrict the terms of this Licence or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this Licence and to the disclaimer of representations and warranties. You may not publish, communicate to the public, distribute, publicly exhibit or display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this Licence. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this Licence. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by Section 4(b), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by Section 4(b), as requested.
+
+ b. If you publish, communicate to the public, distribute, publicly exhibit or display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work. You must also give clear and reasonably prominent credit to (i) the Original Author (by name or pseudonym if applicable), if the name or pseudonym is supplied; and (ii) if another party or parties (eg a sponsor institute, publishing entity or journal) is designated for attribution in the copyright notice, terms of service or other reasonable means associated with the Work, such party or parties. If applicable, that credit must be given in the particular way made known by the Original Author and otherwise as reasonable to the medium or means You are utilizing, by conveying the identity of the Original Author and the other designated party or parties (if applicable); the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+ c. False attribution prohibited. Except as otherwise agreed in writing by the Licensor, if You publish, communicate to the public, distribute, publicly exhibit or display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works in accordance with this Licence, You must not falsely attribute the Work to someone other than the Original Author.
+
+ d. Prejudice to honour or reputation prohibited. Except as otherwise agreed in writing by the Licensor, if you publish, communicate to the public, distribute, publicly exhibit or display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must not do anything that results in a material distortion of, the mutilation of, or a material alteration to, the Work that is prejudicial to the Original Author's honour or reputation, and You must not do anything else in relation to the Work that is prejudicial to the Original Author's honour or reputation.
+
+5. Disclaimer.
+
+EXCEPT AS EXPRESSLY STATED IN THIS LICENCE OR OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, AND TO THE FULL EXTENT PERMITTED BY APPLICABLE LAW, LICENSOR OFFERS THE WORK "AS-IS" AND MAKES NO REPRESENTATIONS, WARRANTIES OR CONDITIONS OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, ANY REPRESENTATIONS, WARRANTIES OR CONDITIONS REGARDING THE CONTENTS OR ACCURACY OF THE WORK, OR OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, THE ABSENCE OF LATENT OR OTHER DEFECTS, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE.
+
+6. Limitation on Liability.
+
+TO THE FULL EXTENT PERMITTED BY APPLICABLE LAW, AND EXCEPT FOR ANY LIABILITY ARISING FROM CONTRARY MUTUAL AGREEMENT AS REFERRED TO IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) FOR ANY LOSS OR DAMAGE WHATSOEVER, INCLUDING (WITHOUT LIMITATION) LOSS OF PRODUCTION OR OPERATION TIME, LOSS, DAMAGE OR CORRUPTION OF DATA OR RECORDS; OR LOSS OF ANTICIPATED SAVINGS, OPPORTUNITY, REVENUE, PROFIT OR GOODWILL, OR OTHER ECONOMIC LOSS; OR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF OR IN CONNECTION WITH THIS LICENCE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+If applicable legislation implies warranties or conditions, or imposes obligations or liability on the Licensor in respect of this Licence that cannot be wholly or partly excluded, restricted or modified, the Licensor's liability is limited, to the full extent permitted by the applicable legislation, at its option, to:
+
+ a. in the case of goods, any one or more of the following:
+
+ i. the replacement of the goods or the supply of equivalent goods;
+
+ ii. the repair of the goods;
+
+ iii. the payment of the cost of replacing the goods or of acquiring equivalent goods;
+
+ iv. the payment of the cost of having the goods repaired; or
+
+ b. in the case of services:
+
+ i. the supplying of the services again; or
+
+ ii. the payment of the cost of having the services supplied again.
+
+7. Termination.
+
+ a. This Licence and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this Licence. Individuals or entities who have received Derivative Works or Collective Works from You under this Licence, however, will not have their licences terminated provided such individuals or entities remain in full compliance with those licences. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this Licence.
+
+ b. Subject to the above terms and conditions, the licence granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different licence terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this Licence (or any other licence that has been, or is required to be, granted under the terms of this Licence), and this Licence will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous.
+
+ a. Each time You publish, communicate to the public, distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a licence to the Work on the same terms and conditions as the licence granted to You under this Licence.
+
+ b. Each time You publish, communicate to the public, distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a licence to the original Work on the same terms and conditions as the licence granted to You under this Licence.
+
+ c. If any provision of this Licence is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Licence, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this Licence shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This Licence constitutes the entire agreement between the parties with respect to the Work licensed here. To the full extent permitted by applicable law, there are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This Licence may not be modified without the mutual written agreement of the Licensor and You.
+
+ f. The construction, validity and performance of this Licence shall be governed by the laws in force in New South Wales, Australia.
+
+Creative Commons is not a party to this Licence, and, to the full extent permitted by applicable law, makes no representation or warranty whatsoever in connection with the Work. To the full extent permitted by applicable law, Creative Commons will not be liable to You or any party on any legal theory (including, without limitation, negligence) for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this licence. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-3.0-AT b/poky/meta/files/common-licenses/CC-BY-3.0-AT
new file mode 100644
index 000000000..b22fedef2
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-3.0-AT
@@ -0,0 +1,111 @@
+CREATIVE COMMONS IST KEINE RECHTSANWALTSKANZLEI UND LEISTET KEINE RECHTSBERATUNG. DIE BEREITSTELLUNG DIESER LIZENZ FÜHRT ZU KEINEM MANDATSVERHÄLTNIS. CREATIVE COMMONS STELLT DIESE INFORMATIONEN OHNE GEWÄHR ZUR VERFÜGUNG. CREATIVE COMMONS ÜBERNIMMT KEINE GEWÄHRLEISTUNG FÜR DIE GELIEFERTEN INFORMATIONEN UND SCHLIEßT DIE HAFTUNG FÜR SCHÄDEN AUS, DIE SICH AUS DEREN GEBRAUCH ERGEBEN.
+
+Lizenz
+
+DER GEGENSTAND DIESER LIZENZ (WIE UNTER "SCHUTZGEGENSTAND" DEFINIERT) WIRD UNTER DEN BEDINGUNGEN DIESER CREATIVE COMMONS PUBLIC LICENSE ("CCPL", "LIZENZ" ODER "LIZENZVERTRAG") ZUR VERFÜGUNG GESTELLT. DER SCHUTZGEGENSTAND IST DURCH DAS URHEBERRECHT UND/ODER ANDERE GESETZE GESCHÜTZT. JEDE FORM DER NUTZUNG DES SCHUTZGEGENSTANDES, DIE NICHT AUFGRUND DIESER LIZENZ ODER DURCH GESETZE GESTATTET IST, IST UNZULÄSSIG.
+
+DURCH DIE AUSÜBUNG EINES DURCH DIESE LIZENZ GEWÄHRTEN RECHTS AN DEM SCHUTZGEGENSTAND ERKLÄREN SIE SICH MIT DEN LIZENZBEDINGUNGEN RECHTSVERBINDLICH EINVERSTANDEN. SOWEIT DIESE LIZENZ ALS LIZENZVERTRAG ANZUSEHEN IST, GEWÄHRT IHNEN DER LIZENZGEBER DIE IN DER LIZENZ GENANNTEN RECHTE UNENTGELTLICH UND IM AUSTAUSCH DAFÜR, DASS SIE DAS GEBUNDENSEIN AN DIE LIZENZBEDINGUNGEN AKZEPTIEREN.
+
+1. Definitionen
+
+ a. Der Begriff "Bearbeitung" im Sinne dieser Lizenz bezeichnet das Ergebnis jeglicher Art von Veränderung des Schutzgegenstandes, solange dieses erkennbar vom Schutzgegenstand abgeleitet wurde. Dies kann insbesondere auch eine Umgestaltung, Änderung, Anpassung, Übersetzung oder Heranziehung des Schutzgegenstandes zur Vertonung von Laufbildern sein. Nicht als Bearbeitung des Schutzgegenstandes gelten seine Aufnahme in eine Sammlung oder ein Sammelwerk und die freie Nutzung des Schutzgegenstandes.
+
+ b. Der Begriff "Sammelwerk" im Sinne dieser Lizenz meint eine Zusammenstellung von literarischen, künstlerischen oder wissenschaftlichen Inhalten zu einem einheitlichen Ganzen, sofern diese Zusammenstellung aufgrund von Auswahl und Anordnung der darin enthaltenen selbständigen Elemente eine eigentümliche geistige Schöpfung darstellt, unabhängig davon, ob die Elemente systematisch oder methodisch angelegt und dadurch einzeln zugänglich sind oder nicht.
+
+ c. "Verbreiten" im Sinne dieser Lizenz bedeutet, den Schutzgegenstand oder Bearbeitungen im Original oder in Form von Vervielfältigungsstücken, mithin in körperlich fixierter Form der Öffentlichkeit zugänglich zu machen oder in Verkehr zu bringen.
+
+ d. Der "Lizenzgeber" im Sinne dieser Lizenz ist diejenige natürliche oder juristische Person oder Gruppe, die den Schutzgegenstand unter den Bedingungen dieser Lizenz anbietet und insoweit als Rechteinhaberin auftritt.
+
+ e. "Rechteinhaber" im Sinne dieser Lizenz ist der Urheber des Schutzgegenstandes oder jede andere natürliche oder juristische Person, die am Schutzgegenstand ein Immaterialgüterrecht erlangt hat, welches die in Abschnitt 3 genannten Handlungen erfasst und eine Erteilung, Übertragung oder Einräumung von Nutzungsbewilligungen bzw Nutzungsrechten an Dritte erlaubt.
+
+ f. Der Begriff "Schutzgegenstand" bezeichnet in dieser Lizenz den literarischen, künstlerischen oder wissenschaftlichen Inhalt, der unter den Bedingungen dieser Lizenz angeboten wird. Das kann insbesondere eine eigentümliche geistige Schöpfung jeglicher Art oder ein Werk der kleinen Münze, ein nachgelassenes Werk oder auch ein Lichtbild oder anderes Objekt eines verwandten Schutzrechts sein, unabhängig von der Art seiner Fixierung und unabhängig davon, auf welche Weise jeweils eine Wahrnehmung erfolgen kann, gleichviel ob in analoger oder digitaler Form. Soweit Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen, unterfallen auch sie dem Begriff „Schutzgegenstand“ im Sinne dieser Lizenz.
+
+ g. Mit "Sie" bzw. "Ihnen" ist die natürliche oder juristische Person gemeint, die in dieser Lizenz im Abschnitt 3 genannte Nutzungen des Schutzgegenstandes vornimmt und zuvor in Hinblick auf den Schutzgegenstand nicht gegen Bedingungen dieser Lizenz verstoßen oder aber die ausdrückliche Erlaubnis des Lizenzgebers erhalten hat, die durch diese Lizenz gewährte Nutzungsbewilligung trotz eines vorherigen Verstoßes auszuüben.
+
+ h. Unter "Öffentlich Wiedergeben" im Sinne dieser Lizenz sind Wahrnehmbarmachungen des Schutzgegenstandes in unkörperlicher Form zu verstehen, die für eine Mehrzahl von Mitgliedern der Öffentlichkeit bestimmt sind und mittels öffentlicher Wiedergabe in Form von Vortrag, Aufführung, Vorführung, Darbietung, Sendung, Weitersendung oder zeit- und ortsunabhängiger Zurverfügungstellung erfolgen, unabhängig von den zum Einsatz kommenden Techniken und Verfahren, einschließlich drahtgebundener oder drahtloser Mittel und Einstellen in das Internet.
+
+ i. "Vervielfältigen" im Sinne dieser Lizenz bedeutet, gleichviel in welchem Verfahren, auf welchem Träger, in welcher Menge und ob vorübergehend oder dauerhaft, Vervielfältigungsstücke des Schutzgegenstandes herzustellen, insbesondere durch Ton- oder Bildaufzeichnungen, und umfasst auch das erstmalige Festhalten des Schutzgegenstandes oder dessen Wahrnehmbarmachung auf Mitteln der wiederholbaren Wiedergabe sowie das Herstellen von Vervielfältigungsstücken dieser Festhaltung, sowie die Speicherung einer geschützten Darbietung oder eines Bild- und/oder Schallträgers in digitaler Form oder auf einem anderen elektronischen Medium.
+
+2. Beschränkungen der Verwertungsrechte
+
+Diese Lizenz ist in keiner Weise darauf gerichtet, Befugnisse zur Nutzung des Schutzgegenstandes zu vermindern, zu beschränken oder zu vereiteln, die sich aus den Beschränkungen der Verwertungsrechte, anderen Beschränkungen der Ausschließlichkeitsrechte des Rechtsinhabers oder anderen entsprechenden Rechtsnormen oder sich aus dem Fehlen eines immaterialgüterrechtlichen Schutzes ergeben.
+
+3. Lizenzierung
+
+Unter den Bedingungen dieser Lizenz erteilt Ihnen der Lizenzgeber - unbeschadet unverzichtbarer Rechte und vorbehaltlich des Abschnitts 3.e) - die vergütungsfreie, räumlich und zeitlich (für die Dauer des Urheberrechts oder verwandten Schutzrechts am Schutzgegenstand) unbeschränkte Nutzungsbewilligung, den Schutzgegenstand in der folgenden Art und Weise zu nutzen:
+
+ a. Den Schutzgegenstand in beliebiger Form und Menge zu vervielfältigen, ihn in Sammelwerke zu integrieren und ihn als Teil solcher Sammelwerke zu vervielfältigen;
+
+ b. Den Schutzgegenstand zu bearbeiten, einschließlich Übersetzungen unter Nutzung jedweder Medien anzufertigen, sofern deutlich erkennbar gemacht wird, dass es sich um eine Bearbeitung handelt;
+
+ c. Den Schutzgegenstand, allein oder in Sammelwerke aufgenommen, öffentlich wiederzugeben und zu verbreiten; und
+
+ d. Bearbeitungen des Schutzgegenstandes zu veröffentlichen, öffentlich wiederzugeben und zu verbreiten.
+
+ e. Bezüglich der Vergütung für die Nutzung des Schutzgegenstandes gilt Folgendes:
+
+ i. Unverzichtbare gesetzliche Vergütungsansprüche: Soweit unverzichtbare Vergütungsansprüche im Gegenzug für gesetzliche Lizenzen vorgesehen oder Pauschalabgabensysteme (zum Beispiel für Leermedien) vorhanden sind, behält sich der Lizenzgeber das ausschließliche Recht vor, die entsprechenden Vergütungsansprüche für jede Ausübung eines Rechts aus dieser Lizenz durch Sie geltend zu machen.
+
+ ii. Vergütung bei Zwangslizenzen: Sofern Zwangslizenzen außerhalb dieser Lizenz vorgesehen sind und zustande kommen, verzichtet der Lizenzgeber für alle Fälle einer lizenzgerechten Nutzung des Schutzgegenstandes durch Sie auf jegliche Vergütung.
+
+ iii. Vergütung in sonstigen Fällen: Bezüglich lizenzgerechter Nutzung des Schutzgegenstandes durch Sie, die nicht unter die beiden vorherigen Abschnitte (i) und (ii) fällt, verzichtet der Lizenzgeber auf jegliche Vergütung, unabhängig davon, ob eine Geltendmachung der Vergütungsansprüche durch ihn selbst oder nur durch eine Verwertungsgesellschaft möglich wäre.
+
+Die vorgenannte Nutzungsbewilligung wird für alle bekannten sowie alle noch nicht bekannten Nutzungsarten eingeräumt. Sie beinhaltet auch das Recht, solche Änderungen am Schutzgegenstand vorzunehmen, die für bestimmte nach dieser Lizenz zulässige Nutzungen technisch erforderlich sind. Alle sonstigen Rechte, die über diesen Abschnitt hinaus nicht ausdrücklich vom Lizenzgeber eingeräumt werden, bleiben diesem allein vorbehalten. Soweit Datenbanken oder Zusammenstellungen von Daten Schutzgegenstand dieser Lizenz oder Teil dessen sind und einen immaterialgüterrechtlichen Schutz eigener Art genießen, verzichtet der Lizenzgeber auf die Geltendmachung sämtlicher daraus resultierender Rechte.
+
+4. Bedingungen
+
+Die Erteilung der Nutzungsbewilligung gemäß Abschnitt 3 dieser Lizenz erfolgt ausdrücklich nur unter den folgenden Bedingungen:
+
+ a. Sie dürfen den Schutzgegenstand ausschließlich unter den Bedingungen dieser Lizenz verbreiten oder öffentlich wiedergeben. Sie müssen dabei stets eine Kopie dieser Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen dieser Lizenz oder die durch diese Lizenz gewährten Rechte beschränken. Sie dürfen den Schutzgegenstand nicht unterlizenzieren. Bei jeder Kopie des Schutzgegenstandes, die Sie verbreiten oder öffentlich wiedergeben, müssen Sie alle Hinweise unverändert lassen, die auf diese Lizenz und den Haftungsausschluss hinweisen. Wenn Sie den Schutzgegenstand verbreiten oder öffentlich wiedergeben, dürfen Sie (in Bezug auf den Schutzgegenstand) keine technischen Maßnahmen ergreifen, die den Nutzer des Schutzgegenstandes in der Ausübung der ihm durch diese Lizenz gewährten Rechte behindern können. Dasselbe gilt auch für den Fall, dass der Schutzgegenstand einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt dieser Lizenz unterstellt werden muss. Sofern Sie ein Sammelwerk erstellen, müssen Sie - soweit dies praktikabel ist - auf die Mitteilung eines Lizenzgebers hin aus dem Sammelwerk die in Abschnitt 4.b) aufgezählten Hinweise entfernen. Wenn Sie eine Bearbeitung vornehmen, müssen Sie – soweit dies praktikabel ist – auf die Mitteilung eines Lizenzgebers hin von der Bearbeitung die in Abschnitt 4.b) aufgezählten Hinweise entfernen.
+
+ b. Die Verbreitung und die öffentliche Wiedergabe des Schutzgegenstandes oder auf ihm aufbauender Inhalte oder ihn enthaltender Sammelwerke ist Ihnen nur unter der Bedingung gestattet, dass Sie, vorbehaltlich etwaiger Mitteilungen im Sinne von Abschnitt 4.a), alle dazu gehörenden Rechtevermerke unberührt lassen. Sie sind verpflichtet, die Urheberschaft oder die Rechteinhaberschaft in einer der Nutzung entsprechenden, angemessenen Form anzuerkennen, indem Sie selbst – soweit bekannt – Folgendes angeben:
+
+ i. Den Namen (oder das Pseudonym, falls ein solches verwendet wird) Rechteinhabers, und/oder falls der Lizenzgeber im Rechtevermerk, in den Nutzungsbedingungen oder auf andere angemessene Weise eine Zuschreibung an Dritte vorgenommen hat (z.B. an eine Stiftung, ein Verlagshaus oder eine Zeitung) („Zuschreibungsempfänger“), Namen bzw. Bezeichnung dieses oder dieser Dritten;
+
+ ii. den Titel des Inhaltes;
+
+ iii. in einer praktikablen Form den Uniform-Resource-Identifier (URI, z.B. Internetadresse), den der Lizenzgeber zum Schutzgegenstand angegeben hat, es sei denn, dieser URI verweist nicht auf den Rechtevermerk oder die Lizenzinformationen zum Schutzgegenstand;
+
+ iv. und im Falle einer Bearbeitung des Schutzgegenstandes in Übereinstimmung mit Abschnitt 3.b) einen Hinweis darauf, dass es sich um eine Bearbeitung handelt.
+
+ Die nach diesem Abschnitt 4.b) erforderlichen Angaben können in jeder angemessenen Form gemacht werden; im Falle einer Bearbeitung des Schutzgegenstandes oder eines Sammelwerkes müssen diese Angaben das Minimum darstellen und bei gemeinsamer Nennung aller Beitragenden dergestalt erfolgen, dass sie zumindest ebenso hervorgehoben sind wie die Hinweise auf die übrigen Rechteinhaber. Die Angaben nach diesem Abschnitt dürfen Sie ausschließlich zur Angabe der Rechteinhaberschaft in der oben bezeichneten Weise verwenden. Durch die Ausübung Ihrer Rechte aus dieser Lizenz dürfen Sie ohne eine vorherige, separat und schriftlich vorliegende Zustimmung des Urhebers, des Lizenzgebers und/oder des Zuschreibungsempfängers weder implizit noch explizit irgendeine Verbindung mit dem oder eine Unterstützung oder Billigung durch den Urheber, den Lizenzgeber oder den Zuschreibungsempfänger andeuten oder erklären.
+
+ c. Die oben unter 4.a) und b) genannten Einschränkungen gelten nicht für solche Teile des Schutzgegenstandes, die allein deshalb unter den Schutzgegenstandsbegriff fallen, weil sie als Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen.
+
+ d. (Urheber)Persönlichkeitsrechte bleiben - soweit sie bestehen - von dieser Lizenz unberührt.
+
+5. Gewährleistung
+
+SOFERN KEINE ANDERS LAUTENDE, SCHRIFTLICHE VEREINBARUNG ZWISCHEN DEM LIZENZGEBER UND IHNEN GESCHLOSSEN WURDE UND SOWEIT MÄNGEL NICHT ARGLISTIG VERSCHWIEGEN WURDEN, BIETET DER LIZENZGEBER DEN SCHUTZGEGENSTAND UND DIE ERTEILUNG DER NUTZUNGSBEWILLIGUNG UNTER AUSSCHLUSS JEGLICHER GEWÄHRLEISTUNG AN UND ÜBERNIMMT WEDER AUSDRÜCKLICH NOCH KONKLUDENT GARANTIEN IRGENDEINER ART. DIES UMFASST INSBESONDERE DAS FREISEIN VON SACH- UND RECHTSMÄNGELN, UNABHÄNGIG VON DEREN ERKENNBARKEIT FÜR DEN LIZENZGEBER, DIE VERKEHRSFÄHIGKEIT DES SCHUTZGEGENSTANDES, SEINE VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK SOWIE DIE KORREKTHEIT VON BESCHREIBUNGEN.
+
+6. Haftungsbeschränkung
+
+ÜBER DIE IN ZIFFER 5 GENANNTE GEWÄHRLEISTUNG HINAUS HAFTET DER LIZENZGEBER IHNEN GEGENÜBER FÜR SCHÄDEN JEGLICHER ART NUR BEI GROBER FAHRLÄSSIGKEIT ODER VORSATZ, UND ÜBERNIMMT DARÜBER HINAUS KEINERLEI FREIWILLIGE HAFTUNG FÜR FOLGE- ODER ANDERE SCHÄDEN, AUCH WENN ER ÜBER DIE MÖGLICHKEIT IHRES EINTRITTS UNTERRICHTET WURDE.
+
+7. Erlöschen
+
+ a. Diese Lizenz und die durch sie erteilte Nutzungsbewilligung erlöschen mit Wirkung für die Zukunft im Falle eines Verstoßes gegen die Lizenzbedingungen durch Sie, ohne dass es dazu der Kenntnis des Lizenzgebers vom Verstoß oder einer weiteren Handlung einer der Vertragsparteien bedarf. Mit natürlichen oder juristischen Personen, die Bearbeitungen des Schutzgegenstandes oder diesen enthaltende Sammelwerke sowie entsprechende Vervielfältigungsstücke unter den Bedingungen dieser Lizenz von Ihnen erhalten haben, bestehen nachträglich entstandene Lizenzbeziehungen jedoch solange weiter, wie die genannten Personen sich ihrerseits an sämtliche Lizenzbedingungen halten. Darüber hinaus gelten die Ziffern 1, 2, 5, 6, 7, und 8 auch nach einem Erlöschen dieser Lizenz fort.
+
+ b. Vorbehaltlich der oben genannten Bedingungen gilt diese Lizenz unbefristet bis der rechtliche Schutz für den Schutzgegenstand ausläuft. Davon abgesehen behält der Lizenzgeber das Recht, den Schutzgegenstand unter anderen Lizenzbedingungen anzubieten oder die eigene Weitergabe des Schutzgegenstandes jederzeit einzustellen, solange die Ausübung dieses Rechts nicht einer Kündigung oder einem Widerruf dieser Lizenz (oder irgendeiner Weiterlizenzierung, die auf Grundlage dieser Lizenz bereits erfolgt ist bzw. zukünftig noch erfolgen muss) dient und diese Lizenz unter Berücksichtigung der oben zum Erlöschen genannten Bedingungen vollumfänglich wirksam bleibt.
+
+8. Sonstige Bestimmungen
+
+ a. Jedes Mal wenn Sie den Schutzgegenstand für sich genommen oder als Teil eines Sammelwerkes verbreiten oder öffentlich wiedergeben, bietet der Lizenzgeber dem Empfänger eine Lizenz zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ b. Jedes Mal wenn Sie eine Bearbeitung des Schutzgegenstandes verbreiten oder öffentlich wiedergeben, bietet der Lizenzgeber dem Empfänger eine Lizenz am ursprünglichen Schutzgegenstand zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ c. Sollte eine Bestimmung dieser Lizenz unwirksam sein, so bleibt davon die Wirksamkeit der Lizenz im Übrigen unberührt.
+
+ d. Keine Bestimmung dieser Lizenz soll als abbedungen und kein Verstoß gegen sie als zulässig gelten, solange die von dem Verzicht oder von dem Verstoß betroffene Seite nicht schriftlich zugestimmt hat.
+
+ e. Diese Lizenz (zusammen mit in ihr ausdrücklich vorgesehenen Erlaubnissen, Mitteilungen und Zustimmungen, soweit diese tatsächlich vorliegen) stellt die vollständige Vereinbarung zwischen dem Lizenzgeber und Ihnen in Bezug auf den Schutzgegenstand dar. Es bestehen keine Abreden, Vereinbarungen oder Erklärungen in Bezug auf den Schutzgegenstand, die in dieser Lizenz nicht genannt sind. Rechtsgeschäftliche Änderungen des Verhältnisses zwischen dem Lizenzgeber und Ihnen sind nur über Modifikationen dieser Lizenz möglich. Der Lizenzgeber ist an etwaige zusätzliche, einseitig durch Sie übermittelte Bestimmungen nicht gebunden. Diese Lizenz kann nur durch schriftliche Vereinbarung zwischen Ihnen und dem Lizenzgeber modifiziert werden. Derlei Modifikationen wirken ausschließlich zwischen dem Lizenzgeber und Ihnen und wirken sich nicht auf die Dritten gemäß 8.a) und b) angebotenen Lizenzen aus.
+
+ f. Sofern zwischen Ihnen und dem Lizenzgeber keine anderweitige Vereinbarung getroffen wurde und soweit Wahlfreiheit besteht, findet auf diesen Lizenzvertrag das Recht der Republik Österreich Anwendung.
+
+Creative Commons Notice
+
+Creative Commons ist nicht Partei dieser Lizenz und übernimmt keinerlei Gewähr oder dergleichen in Bezug auf den Schutzgegenstand. Creative Commons haftet Ihnen oder einer anderen Partei unter keinem rechtlichen Gesichtspunkt für irgendwelche Schäden, die - abstrakt oder konkret, zufällig oder vorhersehbar - im Zusammenhang mit dieser Lizenz entstehen. Unbeschadet der vorangegangen beiden Sätze, hat Creative Commons alle Rechte und Pflichten eines Lizenzgebers, wenn es sich ausdrücklich als Lizenzgeber im Sinne dieser Lizenz bezeichnet.
+
+Creative Commons gewährt den Parteien nur insoweit das Recht, das Logo und die Marke "Creative Commons" zu nutzen, als dies notwendig ist, um der Öffentlichkeit gegenüber kenntlich zu machen, dass der Schutzgegenstand unter einer CCPL steht. Ein darüber hinaus gehender Gebrauch der Marke "Creative Commons" oder einer verwandten Marke oder eines verwandten Logos bedarf der vorherigen schriftlichen Zustimmung von Creative Commons. Jeder erlaubte Gebrauch richtet sich nach der Creative Commons Marken-Nutzungs-Richtlinie in der jeweils aktuellen Fassung, die von Zeit zu Zeit auf der Website veröffentlicht oder auf andere Weise auf Anfrage zugänglich gemacht wird. Zur Klarstellung: Die genannten Einschränkungen der Markennutzung sind nicht Bestandteil dieser Lizenz.
+
+Creative Commons kann kontaktiert werden über https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-3.0-DE b/poky/meta/files/common-licenses/CC-BY-3.0-DE
new file mode 100644
index 000000000..2e7d21548
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-3.0-DE
@@ -0,0 +1,109 @@
+Creative Commons Namensnennung 3.0 Deutschland
+
+ CREATIVE COMMONS IST KEINE RECHTSANWALTSKANZLEI UND LEISTET KEINE RECHTSBERATUNG. DIE BEREITSTELLUNG DIESER LIZENZ FÜHRT ZU KEINEM MANDATSVERHÄLTNIS. CREATIVE COMMONS STELLT DIESE INFORMATIONEN OHNE GEWÄHR ZUR VERFÜGUNG. CREATIVE COMMONS ÜBERNIMMT KEINE GEWÄHRLEISTUNG FÜR DIE GELIEFERTEN INFORMATIONEN UND SCHLIEßT DIE HAFTUNG FÜR SCHÄDEN AUS, DIE SICH AUS DEREN GEBRAUCH ERGEBEN.
+
+Lizenz
+
+DER GEGENSTAND DIESER LIZENZ (WIE UNTER "SCHUTZGEGENSTAND" DEFINIERT) WIRD UNTER DEN BEDINGUNGEN DIESER CREATIVE COMMONS PUBLIC LICENSE ("CCPL", "LIZENZ" ODER "LIZENZVERTRAG") ZUR VERFÜGUNG GESTELLT. DER SCHUTZGEGENSTAND IST DURCH DAS URHEBERRECHT UND/ODER ANDERE GESETZE GESCHÜTZT. JEDE FORM DER NUTZUNG DES SCHUTZGEGENSTANDES, DIE NICHT AUFGRUND DIESER LIZENZ ODER DURCH GESETZE GESTATTET IST, IST UNZULÄSSIG.
+
+DURCH DIE AUSÜBUNG EINES DURCH DIESE LIZENZ GEWÄHRTEN RECHTS AN DEM SCHUTZGEGENSTAND ERKLÄREN SIE SICH MIT DEN LIZENZBEDINGUNGEN RECHTSVERBINDLICH EINVERSTANDEN. SOWEIT DIESE LIZENZ ALS LIZENZVERTRAG ANZUSEHEN IST, GEWÄHRT IHNEN DER LIZENZGEBER DIE IN DER LIZENZ GENANNTEN RECHTE UNENTGELTLICH UND IM AUSTAUSCH DAFÜR, DASS SIE DAS GEBUNDENSEIN AN DIE LIZENZBEDINGUNGEN AKZEPTIEREN.
+
+1. Definitionen
+
+ a. Der Begriff "Abwandlung" im Sinne dieser Lizenz bezeichnet das Ergebnis jeglicher Art von Veränderung des Schutzgegenstandes, solange die eigenpersönlichen Züge des Schutzgegenstandes darin nicht verblassen und daran eigene Schutzrechte entstehen. Das kann insbesondere eine Bearbeitung, Umgestaltung, Änderung, Anpassung, Übersetzung oder Heranziehung des Schutzgegenstandes zur Vertonung von Laufbildern sein. Nicht als Abwandlung des Schutzgegenstandes gelten seine Aufnahme in eine Sammlung oder ein Sammelwerk und die freie Benutzung des Schutzgegenstandes.
+
+ b. Der Begriff "Sammelwerk" im Sinne dieser Lizenz meint eine Zusammenstellung von literarischen, künstlerischen oder wissenschaftlichen Inhalten, sofern diese Zusammenstellung aufgrund von Auswahl und Anordnung der darin enthaltenen selbständigen Elemente eine geistige Schöpfung darstellt, unabhängig davon, ob die Elemente systematisch oder methodisch angelegt und dadurch einzeln zugänglich sind oder nicht.
+
+ c. "Verbreiten" im Sinne dieser Lizenz bedeutet, den Schutzgegenstand oder Abwandlungen im Original oder in Form von Vervielfältigungsstücken, mithin in körperlich fixierter Form der Öffentlichkeit anzubieten oder in Verkehr zu bringen.
+
+ d. Der "Lizenzgeber" im Sinne dieser Lizenz ist diejenige natürliche oder juristische Person oder Gruppe, die den Schutzgegenstand unter den Bedingungen dieser Lizenz anbietet und insoweit als Rechteinhaberin auftritt.
+
+ e. "Rechteinhaber" im Sinne dieser Lizenz ist der Urheber des Schutzgegenstandes oder jede andere natürliche oder juristische Person oder Gruppe von Personen, die am Schutzgegenstand ein Immaterialgüterrecht erlangt hat, welches die in Abschnitt 3 genannten Handlungen erfasst und bei dem eine Einräumung von Nutzungsrechten oder eine Weiterübertragung an Dritte möglich ist.
+
+ f. Der Begriff "Schutzgegenstand" bezeichnet in dieser Lizenz den literarischen, künstlerischen oder wissenschaftlichen Inhalt, der unter den Bedingungen dieser Lizenz angeboten wird. Das kann insbesondere eine persönliche geistige Schöpfung jeglicher Art, ein Werk der kleinen Münze, ein nachgelassenes Werk oder auch ein Lichtbild oder anderes Objekt eines verwandten Schutzrechts sein, unabhängig von der Art seiner Fixierung und unabhängig davon, auf welche Weise jeweils eine Wahrnehmung erfolgen kann, gleichviel ob in analoger oder digitaler Form. Soweit Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen, unterfallen auch sie dem Begriff "Schutzgegenstand" im Sinne dieser Lizenz.
+
+ g. Mit "Sie" bzw. "Ihnen" ist die natürliche oder juristische Person gemeint, die in dieser Lizenz im Abschnitt 3 genannte Nutzungen des Schutzgegenstandes vornimmt und zuvor in Hinblick auf den Schutzgegenstand nicht gegen Bedingungen dieser Lizenz verstoßen oder aber die ausdrückliche Erlaubnis des Lizenzgebers erhalten hat, die durch diese Lizenz gewährten Nutzungsrechte trotz eines vorherigen Verstoßes auszuüben.
+
+ h. Unter "Öffentlich Zeigen" im Sinne dieser Lizenz sind Veröffentlichungen und Präsentationen des Schutzgegenstandes zu verstehen, die für eine Mehrzahl von Mitgliedern der Öffentlichkeit bestimmt sind und in unkörperlicher Form mittels öffentlicher Wiedergabe in Form von Vortrag, Aufführung, Vorführung, Darbietung, Sendung, Weitersendung, zeit- und ortsunabhängiger Zugänglichmachung oder in körperlicher Form mittels Ausstellung erfolgen, unabhängig von bestimmten Veranstaltungen und unabhängig von den zum Einsatz kommenden Techniken und Verfahren, einschließlich drahtgebundener oder drahtloser Mittel und Einstellen in das Internet.
+
+ i. "Vervielfältigen" im Sinne dieser Lizenz bedeutet, mittels beliebiger Verfahren Vervielfältigungsstücke des Schutzgegenstandes herzustellen, insbesondere durch Ton- oder Bildaufzeichnungen, und umfasst auch den Vorgang, erstmals körperliche Fixierungen des Schutzgegenstandes sowie Vervielfältigungsstücke dieser Fixierungen anzufertigen, sowie die Übertragung des Schutzgegenstandes auf einen Bild- oder Tonträger oder auf ein anderes elektronisches Medium, gleichviel ob in digitaler oder analoger Form.
+
+2. Schranken des Immaterialgüterrechts. Diese Lizenz ist in keiner Weise darauf gerichtet, Befugnisse zur Nutzung des Schutzgegenstandes zu vermindern, zu beschränken oder zu vereiteln, die Ihnen aufgrund der Schranken des Urheberrechts oder anderer Rechtsnormen bereits ohne Weiteres zustehen oder sich aus dem Fehlen eines immaterialgüterrechtlichen Schutzes ergeben.
+
+3. Einräumung von Nutzungsrechten. Unter den Bedingungen dieser Lizenz räumt Ihnen der Lizenzgeber - unbeschadet unverzichtbarer Rechte und vorbehaltlich des Abschnitts 3.e) - das vergütungsfreie, räumlich und zeitlich (für die Dauer des Schutzrechts am Schutzgegenstand) unbeschränkte einfache Recht ein, den Schutzgegenstand auf die folgenden Arten und Weisen zu nutzen ("unentgeltlich eingeräumtes einfaches Nutzungsrecht für jedermann"):
+
+ a. den Schutzgegenstand in beliebiger Form und Menge zu vervielfältigen, ihn in Sammelwerke zu integrieren und ihn als Teil solcher Sammelwerke zu vervielfältigen;
+
+ b. Abwandlungen des Schutzgegenstandes anzufertigen, einschließlich Übersetzungen unter Nutzung jedweder Medien, sofern deutlich erkennbar gemacht wird, dass es sich um Abwandlungen handelt;
+
+ c. den Schutzgegenstand, allein oder in Sammelwerke aufgenommen, öffentlich zu zeigen und zu verbreiten;
+
+ d. Abwandlungen des Schutzgegenstandes zu veröffentlichen, öffentlich zu zeigen und zu verbreiten.
+
+ e. Bezüglich Vergütung für die Nutzung des Schutzgegenstandes gilt Folgendes:
+
+ i. Unverzichtbare gesetzliche Vergütungsansprüche: Soweit unverzichtbare Vergütungsansprüche im Gegenzug für gesetzliche Lizenzen vorgesehen oder Pauschalabgabensysteme (zum Beispiel für Leermedien) vorhanden sind, behält sich der Lizenzgeber das ausschließliche Recht vor, die entsprechende Vergütung einzuziehen für jede Ausübung eines Rechts aus dieser Lizenz durch Sie.
+
+ ii. Vergütung bei Zwangslizenzen: Sofern Zwangslizenzen außerhalb dieser Lizenz vorgesehen sind und zustande kommen, verzichtet der Lizenzgeber für alle Fälle einer lizenzgerechten Nutzung des Schutzgegenstandes durch Sie auf jegliche Vergütung.
+
+ iii. Vergütung in sonstigen Fällen: Bezüglich lizenzgerechter Nutzung des Schutzgegenstandes durch Sie, die nicht unter die beiden vorherigen Abschnitte (i) und (ii) fällt, verzichtet der Lizenzgeber auf jegliche Vergütung, unabhängig davon, ob eine Einziehung der Vergütung durch ihn selbst oder nur durch eine Verwertungsgesellschaft möglich wäre.
+
+Das vorgenannte Nutzungsrecht wird für alle bekannten sowie für alle noch nicht bekannten Nutzungsarten eingeräumt. Es beinhaltet auch das Recht, solche Änderungen am Schutzgegenstand vorzunehmen, die für bestimmte nach dieser Lizenz zulässige Nutzungen technisch erforderlich sind. Alle sonstigen Rechte, die über diesen Abschnitt hinaus nicht ausdrücklich durch den Lizenzgeber eingeräumt werden, bleiben diesem allein vorbehalten. Soweit Datenbanken oder Zusammenstellungen von Daten Schutzgegenstand dieser Lizenz oder Teil dessen sind und einen immaterialgüterrechtlichen Schutz eigener Art genießen, verzichtet der Lizenzgeber auf sämtliche aus diesem Schutz resultierenden Rechte.
+
+4. Bedingungen. Die Einräumung des Nutzungsrechts gemäß Abschnitt 3 dieser Lizenz erfolgt ausdrücklich nur unter den folgenden Bedingungen:
+
+ a. Sie dürfen den Schutzgegenstand ausschließlich unter den Bedingungen dieser Lizenz verbreiten oder öffentlich zeigen. Sie müssen dabei stets eine Kopie dieser Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen dieser Lizenz oder die durch diese Lizenz gewährten Rechte beschränken. Sie dürfen den Schutzgegenstand nicht unterlizenzieren. Bei jeder Kopie des Schutzgegenstandes, die Sie verbreiten oder öffentlich zeigen, müssen Sie alle Hinweise unverändert lassen, die auf diese Lizenz und den Haftungsausschluss hinweisen. Wenn Sie den Schutzgegenstand verbreiten oder öffentlich zeigen, dürfen Sie (in Bezug auf den Schutzgegenstand) keine technischen Maßnahmen ergreifen, die den Nutzer des Schutzgegenstandes in der Ausübung der ihm durch diese Lizenz gewährten Rechte behindern können. Dieser Abschnitt 4.a) gilt auch für den Fall, dass der Schutzgegenstand einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt dieser Lizenz unterstellt werden muss. Sofern Sie ein Sammelwerk erstellen, müssen Sie auf die Mitteilung eines Lizenzgebers hin aus dem Sammelwerk die in Abschnitt 4.b) aufgezählten Hinweise entfernen. Wenn Sie eine Abwandlung vornehmen, müssen Sie auf die Mitteilung eines Lizenzgebers hin von der Abwandlung die in Abschnitt 4.b) aufgezählten Hinweise entfernen.
+
+ b. Die Verbreitung und das öffentliche Zeigen des Schutzgegenstandes oder auf ihm aufbauender Abwandlungen oder ihn enthaltender Sammelwerke ist Ihnen nur unter der Bedingung gestattet, dass Sie, vorbehaltlich etwaiger Mitteilungen im Sinne von Abschnitt 4.a), alle dazu gehörenden Rechtevermerke unberührt lassen. Sie sind verpflichtet, die Rechteinhaberschaft in einer der Nutzung entsprechenden, angemessenen Form anzuerkennen, indem Sie - soweit bekannt - Folgendes angeben:
+
+ i. Den Namen (oder das Pseudonym, falls ein solches verwendet wird) des Rechteinhabers und / oder, falls der Lizenzgeber im Rechtevermerk, in den Nutzungsbedingungen oder auf andere angemessene Weise eine Zuschreibung an Dritte vorgenommen hat (z.B. an eine Stiftung, ein Verlagshaus oder eine Zeitung) ("Zuschreibungsempfänger"), Namen bzw. Bezeichnung dieses oder dieser Dritten;
+
+ ii. den Titel des Inhaltes;
+
+ iii. in einer praktikablen Form den Uniform-Resource-Identifier (URI, z.B. Internetadresse), den der Lizenzgeber zum Schutzgegenstand angegeben hat, es sei denn, dieser URI verweist nicht auf den Rechtevermerk oder die Lizenzinformationen zum Schutzgegenstand;
+
+ iv. und im Falle einer Abwandlung des Schutzgegenstandes in Übereinstimmung mit Abschnitt 3.b) einen Hinweis darauf, dass es sich um eine Abwandlung handelt.
+
+ Die nach diesem Abschnitt 4.b) erforderlichen Angaben können in jeder angemessenen Form gemacht werden; im Falle einer Abwandlung des Schutzgegenstandes oder eines Sammelwerkes müssen diese Angaben das Minimum darstellen und bei gemeinsamer Nennung mehrerer Rechteinhaber dergestalt erfolgen, dass sie zumindest ebenso hervorgehoben sind wie die Hinweise auf die übrigen Rechteinhaber. Die Angaben nach diesem Abschnitt dürfen Sie ausschließlich zur Angabe der Rechteinhaberschaft in der oben bezeichneten Weise verwenden. Durch die Ausübung Ihrer Rechte aus dieser Lizenz dürfen Sie ohne eine vorherige, separat und schriftlich vorliegende Zustimmung des Lizenzgebers und / oder des Zuschreibungsempfängers weder explizit noch implizit irgendeine Verbindung zum Lizenzgeber oder Zuschreibungsempfänger und ebenso wenig eine Unterstützung oder Billigung durch ihn andeuten.
+
+ c. Die oben unter 4.a) und b) genannten Einschränkungen gelten nicht für solche Teile des Schutzgegenstandes, die allein deshalb unter den Schutzgegenstandsbegriff fallen, weil sie als Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen.
+
+ d. Persönlichkeitsrechte bleiben - soweit sie bestehen - von dieser Lizenz unberührt.
+
+5. Gewährleistung
+
+SOFERN KEINE ANDERS LAUTENDE, SCHRIFTLICHE VEREINBARUNG ZWISCHEN DEM LIZENZGEBER UND IHNEN GESCHLOSSEN WURDE UND SOWEIT MÄNGEL NICHT ARGLISTIG VERSCHWIEGEN WURDEN, BIETET DER LIZENZGEBER DEN SCHUTZGEGENSTAND UND DIE EINRÄUMUNG VON RECHTEN UNTER AUSSCHLUSS JEGLICHER GEWÄHRLEISTUNG AN UND ÜBERNIMMT WEDER AUSDRÜCKLICH NOCH KONKLUDENT GARANTIEN IRGENDEINER ART. DIES UMFASST INSBESONDERE DAS FREISEIN VON SACH- UND RECHTSMÄNGELN, UNABHÄNGIG VON DEREN ERKENNBARKEIT FÜR DEN LIZENZGEBER, DIE VERKEHRSFÄHIGKEIT DES SCHUTZGEGENSTANDES, SEINE VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK SOWIE DIE KORREKTHEIT VON BESCHREIBUNGEN. DIESE GEWÄHRLEISTUNGSBESCHRÄNKUNG GILT NICHT, SOWEIT MÄNGEL ZU SCHÄDEN DER IN ABSCHNITT 6 BEZEICHNETEN ART FÜHREN UND AUF SEITEN DES LIZENZGEBERS DAS JEWEILS GENANNTE VERSCHULDEN BZW. VERTRETENMÜSSEN EBENFALLS VORLIEGT.
+
+6. Haftungsbeschränkung
+
+DER LIZENZGEBER HAFTET IHNEN GEGENÜBER IN BEZUG AUF SCHÄDEN AUS DER VERLETZUNG DES LEBENS, DES KÖRPERS ODER DER GESUNDHEIT NUR, SOFERN IHM WENIGSTENS FAHRLÄSSIGKEIT VORZUWERFEN IST, FÜR SONSTIGE SCHÄDEN NUR BEI GROBER FAHRLÄSSIGKEIT ODER VORSATZ, UND ÜBERNIMMT DARÜBER HINAUS KEINERLEI FREIWILLIGE HAFTUNG.
+
+7. Erlöschen
+
+ a. Diese Lizenz und die durch sie eingeräumten Nutzungsrechte erlöschen mit Wirkung für die Zukunft im Falle eines Verstoßes gegen die Lizenzbedingungen durch Sie, ohne dass es dazu der Kenntnis des Lizenzgebers vom Verstoß oder einer weiteren Handlung einer der Vertragsparteien bedarf. Mit natürlichen oder juristischen Personen, die Abwandlungen des Schutzgegenstandes oder diesen enthaltende Sammelwerke unter den Bedingungen dieser Lizenz von Ihnen erhalten haben, bestehen nachträglich entstandene Lizenzbeziehungen jedoch solange weiter, wie die genannten Personen sich ihrerseits an sämtliche Lizenzbedingungen halten. Darüber hinaus gelten die Ziffern 1, 2, 5, 6, 7, und 8 auch nach einem Erlöschen dieser Lizenz fort.
+
+ b. Vorbehaltlich der oben genannten Bedingungen gilt diese Lizenz unbefristet bis der rechtliche Schutz für den Schutzgegenstand ausläuft. Davon abgesehen behält der Lizenzgeber das Recht, den Schutzgegenstand unter anderen Lizenzbedingungen anzubieten oder die eigene Weitergabe des Schutzgegenstandes jederzeit einzustellen, solange die Ausübung dieses Rechts nicht einer Kündigung oder einem Widerruf dieser Lizenz (oder irgendeiner Weiterlizenzierung, die auf Grundlage dieser Lizenz bereits erfolgt ist bzw. zukünftig noch erfolgen muss) dient und diese Lizenz unter Berücksichtigung der oben zum Erlöschen genannten Bedingungen vollumfänglich wirksam bleibt.
+
+8. Sonstige Bestimmungen
+
+ a. Jedes Mal, wenn Sie den Schutzgegenstand für sich genommen oder als Teil eines Sammelwerkes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ b. Jedes Mal, wenn Sie eine Abwandlung des Schutzgegenstandes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz am ursprünglichen Schutzgegenstand zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ c. Sollte eine Bestimmung dieser Lizenz unwirksam sein, so bleibt davon die Wirksamkeit der Lizenz im Übrigen davon unberührt.
+
+ d. Keine Bestimmung dieser Lizenz soll als abbedungen und kein Verstoß gegen sie als zulässig gelten, solange die von dem Verzicht oder von dem Verstoß betroffene Seite nicht schriftlich zugestimmt hat.
+
+ e. Diese Lizenz (zusammen mit in ihr ausdrücklich vorgesehenen Erlaubnissen, Mitteilungen und Zustimmungen, soweit diese tatsächlich vorliegen) stellt die vollständige Vereinbarung zwischen dem Lizenzgeber und Ihnen in Bezug auf den Schutzgegenstand dar. Es bestehen keine Abreden, Vereinbarungen oder Erklärungen in Bezug auf den Schutzgegenstand, die in dieser Lizenz nicht genannt sind. Rechtsgeschäftliche Änderungen des Verhältnisses zwischen dem Lizenzgeber und Ihnen sind nur über Modifikationen dieser Lizenz möglich. Der Lizenzgeber ist an etwaige zusätzliche, einseitig durch Sie übermittelte Bestimmungen nicht gebunden. Diese Lizenz kann nur durch schriftliche Vereinbarung zwischen Ihnen und dem Lizenzgeber modifiziert werden. Derlei Modifikationen wirken ausschließlich zwischen dem Lizenzgeber und Ihnen und wirken sich nicht auf die Dritten gemäß Ziffern 8.a) und b) angebotenen Lizenzen aus.
+
+ f. Sofern zwischen Ihnen und dem Lizenzgeber keine anderweitige Vereinbarung getroffen wurde und soweit Wahlfreiheit besteht, findet auf diesen Lizenzvertrag das Recht der Bundesrepublik Deutschland Anwendung.
+
+
+Creative Commons Notice
+
+Creative Commons ist nicht Partei dieser Lizenz und übernimmt keinerlei Gewähr oder dergleichen in Bezug auf den Schutzgegenstand. Creative Commons haftet Ihnen oder einer anderen Partei unter keinem rechtlichen Gesichtspunkt für irgendwelche Schäden, die - abstrakt oder konkret, zufällig oder vorhersehbar - im Zusammenhang mit dieser Lizenz entstehen. Unbeschadet der vorangegangen beiden Sätze, hat Creative Commons alle Rechte und Pflichten eines Lizenzgebers, wenn es sich ausdrücklich als Lizenzgeber im Sinne dieser Lizenz bezeichnet.
+
+Creative Commons gewährt den Parteien nur insoweit das Recht, das Logo und die Marke "Creative Commons" zu nutzen, als dies notwendig ist, um der Öffentlichkeit gegenüber kenntlich zu machen, dass der Schutzgegenstand unter einer CCPL steht. Ein darüber hinaus gehender Gebrauch der Marke "Creative Commons" oder einer verwandten Marke oder eines verwandten Logos bedarf der vorherigen schriftlichen Zustimmung von Creative Commons. Jeder erlaubte Gebrauch richtet sich nach der Creative Commons Marken-Nutzungs-Richtlinie in der jeweils aktuellen Fassung, die von Zeit zu Zeit auf der Website veröffentlicht oder auf andere Weise auf Anfrage zugänglich gemacht wird. Zur Klarstellung: Die genannten Einschränkungen der Markennutzung sind nicht Bestandteil dieser Lizenz.
+
+Creative Commons kann kontaktiert werden über https://creativecommons.org/.
+
diff --git a/poky/meta/files/common-licenses/CC-BY-3.0-NL b/poky/meta/files/common-licenses/CC-BY-3.0-NL
new file mode 100644
index 000000000..5789b8592
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-3.0-NL
@@ -0,0 +1,97 @@
+Creative Commons Naamsvermelding 3.0
+
+ CREATIVE COMMONS CORPORATION IS GEEN ADVOCATENPRAKTIJK EN VERLEENT GEEN JURIDISCHE DIENSTEN. DE VERSPREIDING VAN DEZE LICENTIE ROEPT GEEN JURIDISCHE RELATIE MET CREATIVE COMMONS IN HET LEVEN. CREATIVE COMMONS VERSPREIDT DEZE INFORMATIE 'AS-IS'. CREATIVE COMMONS STAAT NIET IN VOOR DE INHOUD VAN DE VERSTREKTE INFORMATIE EN SLUIT ALLE AANSPRAKELIJKHEID UIT VOOR ENIGERLEI SCHADE VOORTVLOEIEND UIT HET GEBRUIK VAN DEZE INFORMATIE INDIEN EN VOORZOVER DE WET NIET ANDERS BEPAALT.
+
+Licentie
+
+HET WERK (ALS HIERONDER OMSCHREVEN) WORDT TER BESCHIKKING GESTELD OVEREENKOMSTIG DE VOORWAARDEN VAN DEZE CREATIVE COMMONS PUBLIEKE LICENTIE ('CCPL' OF 'LICENTIE'). HET WERK WORDT BESCHERMD OP GROND VAN HET AUTEURSRECHT, NABURIGE RECHTEN, HET DATABANKENRECHT EN/OF ENIGE ANDERE TOEPASSELIJKE RECHTEN. MET UITZONDERING VAN HET IN DEZE LICENTIE OMSCHREVEN TOEGESTANE GEBRUIK VAN HET WERK IS ENIG ANDER GEBRUIK VAN HET WERK NIET TOEGESTAAN.
+
+DOOR HET UITOEFENEN VAN DE IN DEZE LICENTIE VERLEENDE RECHTEN MET BETREKKING TOT HET WERK AANVAARDT EN GAAT DE GEBRUIKER AKKOORD MET DE VOORWAARDEN VAN DEZE LICENTIE, MET DIEN VERSTANDE DAT (DE INHOUD VAN) DEZE LICENTIE OP VOORHAND VOLDOENDE DUIDELIJK KENBAAR DIENT TE ZIJN VOOR DE ONTVANGER VAN HET WERK.
+
+DE LICENTIEGEVER VERLEENT DE GEBRUIKER DE IN DEZE LICENTIE OMSCHREVEN RECHTEN MET INACHTNEMING VAN DE DESBETREFFENDE VOORWAARDEN.
+
+1. Definities
+
+ a. 'Verzamelwerk' een werk waarin het Werk, in zijn geheel en in ongewijzigde vorm, samen met een of meer andere werken, die elk een afzonderlijk en zelfstandig werk vormen, tot een geheel is samengevoegd. Voorbeelden van een verzamelwerk zijn een tijdschrift, een bloemlezing of een encyclopedie. Een Verzamelwerk zal voor de toepassing van deze Licentie niet als een Afgeleid werk (als hieronder omschreven) worden beschouwd.
+
+ b. 'Afgeleid werk' een werk dat is gebaseerd op het Werk of op het Werk en andere reeds bestaande werken. Voorbeelden van een Afgeleid werk zijn een vertaling, een muziekschikking (arrangement), een toneelbewerking, een literaire bewerking, een verfilming, een geluidsopname, een kunstreproductie, een verkorte versie, een samenvatting of enig andere bewerking van het Werk, met dien verstande dat een Verzamelwerk voor de toepassing van deze Licentie niet als een Afgeleid werk zal worden beschouwd.
+
+ Indien het Werk een muziekwerk betreft, zal de synchronisatie van de tijdslijnen van het Werk en een bewegend beeld ('synching') voor de toepassing van deze Licentie als een Afgeleid Werk worden beschouwd.
+
+ c. 'Licentiegever' de natuurlijke persoon/personen of rechtspersoon/rechtspersonen die het Werk volgens de voorwaarden van deze Licentie aanbiedt/aanbieden.
+
+ d. 'Maker' de natuurlijke persoon/personen of rechtspersoon/personen die het oorspronkelijke werk gemaakt heeft/hebben. Voor de toepassing van deze Licentie wordt onder de Maker mede verstaan de uitvoerende kunstenaar, film- en fonogramproducent en omroeporganisaties in de zin van de Wet op de naburige rechten en de producent van een databank in de zin van de Databankenwet.
+
+ e. 'Werk' het auteursrechtelijk beschermde werk dat volgens de voorwaarden van deze Licentie wordt aangeboden. Voor de toepassing van deze Licentie wordt onder het Werk mede verstaan het fonogram, de eerste vastlegging van een film en het (omroep)programma in de zin van de Wet op de naburige rechten en de databank in de zin van de Databankenwet, voor zover dit fonogram, deze eerste vastlegging van een film, dit (omroep)programma en deze databank beschermd wordt krachtens de toepasselijke wet in de jurisdictie van de Gebruiker.
+
+ f. 'Gebruiker' de natuurlijke persoon of rechtspersoon die rechten ingevolge deze Licentie uitoefent en die de voorwaarden van deze Licentie met betrekking tot het Werk niet eerder geschonden heeft, of die van de Licentiegever uitdrukkelijke toestemming gekregen heeft om rechten ingevolge deze Licentie uit te oefenen ondanks een eerdere schending.
+
+2. Beperkingen van de uitsluitende rechten. Niets in deze Licentie strekt ertoe om de rechten te beperken die voortvloeien uit de beperkingen en uitputting van de uitsluitende rechten van de rechthebbende krachtens het auteursrecht, de naburige rechten, het databankenrecht of enige andere toepasselijke rechten.
+
+3. Licentieverlening. Met inachtneming van de voorwaarden van deze Licentie verleent de Licentiegever hierbij aan de Gebruiker een wereldwijde, niet-exclusieve licentie om de navolgende rechten met betrekking tot het Werk vrij van royalty's uit te oefenen voor de duur van de toepasselijke intellectuele eigendomsrechten:
+
+ a. het reproduceren van het Werk, het opnemen van het Werk in een of meerdere Verzamelwerken, en het reproduceren van het in de Verzamelwerken opgenomen Werk;
+
+ b. het maken en reproduceren van Afgeleide werken met dien verstande dat met betrekking tot het Afgeleide werk, met inbegrip van welke vertaling in welk medium dan ook, duidelijk wordt gemaakt dat er wijzigingen in het oorspronkelijke Werk zijn aangebracht. Bijvoorbeeld, aan een vertaling kan worden toegevoegd dat 'het oorspronkelijke Werk is van het Engels in het Spaans vertaald', of in geval van een verandering kan worden aangegeven dat 'het oorspronkelijke werk is veranderd';
+
+ c. het verspreiden van exemplaren van het Werk, het in het openbaar tonen, op- en uitvoeren en het on-line beschikbaar stellen van het Werk, afzonderlijk en als deel van een Verzamelwerk;
+
+ d. het verspreiden van exemplaren van Afgeleide werken, het in het openbaar te tonen, op- en uitvoeren en het on-line beschikbaar stellen van Afgeleide werken;
+
+ e. het opvragen en hergebruiken van het Werk;
+
+ f. Volledigheidshalve dient te worden vermeld dat:
+
+ i. Niet voor afstand vatbare heffingsregelingen. in het geval van niet voor afstand vatbare heffingsregelingen (bijvoorbeeld met betrekking tot thuiskopieën) de Licentiegever zich het recht voorbehoudt om dergelijke heffingen te innen (al dan niet door middel van een auteursrechtenorganisatie) bij zowel commercieel als niet-commercieel gebruik van het Werk;
+
+ ii. Voor afstand vatbare heffingsregeling. in het geval van voor afstand vatbare heffingsregelingen (bijvoorbeeld met betrekking tot leenrechten) de Licentiegever afstand doet van het recht om dergelijke heffingen te innen bij zowel commercieel als niet-commercieel gebruik van het Werk;
+
+ iii. Collectief rechtenbeheer. de Licentiegever afstand doet van het recht om vergoedingen te innen (zelfstandig of, indien de Licentiegever lid is van een auteursrechtenorganisatie, door middel van die organisatie) bij zowel commercieel als niet-commercieel gebruik van het Werk.
+
+De Gebruiker mag deze rechten uitoefenen met behulp van alle thans bekende media, dragers en formats. De Gebruiker is tevens gerechtigd om technische wijzigingen aan te brengen die noodzakelijk zijn om de rechten met behulp van andere media, dragers en formats uit te oefenen. Alle niet uitdrukkelijk verleende rechten zijn hierbij voorbehouden aan de Licentiegever, met inbegrip van maar niet beperkt tot de rechten die in artikel 4(d) worden genoemd. Voor zover de Licentiegever op basis van het nationale recht ter implementatie van de Europese Databankenrichtlijn over uitsluitende rechten beschickt doet de Licentiegever afstand van deze rechten.
+
+4. Beperkingen. De in artikel 3 verleende Licentie is uitdrukkelijk gebonden aan de volgende beperkingen:
+
+ a. De Gebruiker mag het Werk uitsluitend verspreiden, in het openbaar tonen, op- of uitvoeren of on-line beschikbaar stellen met inachtneming van de voorwaarden van deze Licentie, en de Gebruiker dient een exemplaar van, of de Uniform Resource Identifier voor, deze Licentie toe te voegen aan elk exemplaar van het Werk dat de Gebruiker verspreidt, in het openbaar toont, op- of uitvoert, of on-line beschikbaar stelt. Het is de Gebruiker niet toegestaan om het Werk onder enige afwijkende voorwaarden aan te bieden waardoor de voorwaarden van deze Licentie dan wel de mogelijkheid van de ontvangers van het Werk om de rechten krachtens deze Licentie uit te oefenen worden beperkt. Het is de Gebruiker niet toegestaan om het Werk in sublicentie te geven. De Gebruiker dient alle vermeldingen die verwijzen naar deze Licentie dan wel naar de uitsluiting van garantie te laten staan. Het is de Gebruiker niet toegestaan om het Werk te verspreiden, in het openbaar te tonen, op- of uit te voeren of on-line beschikbaar te stellen met toepassing van technologische voorzieningen waardoor de voorwaarden van deze Licentie dan wel de mogelijkheid van de ontvangers van het Werk om de rechten krachtens deze Licentie uit te oefenen worden beperkt. Het voorgaande is tevens van toepassing op het Werk dat deel uitmaakt van een Verzamelwerk, maar dat houdt niet in dat het Verzamelwerk, afgezien van het Werk zelf, gebonden is aan de voorwaarden van deze Licentie. Indien de Gebruiker een Verzamelwerk maakt, dient deze, op verzoek van welke Licentiegever ook, de op grond van artikel 4(b) vereiste naamsvermelding uit het Verzamelwerk te verwijderen, voor zover praktisch mogelijk, conform het verzoek. Indien de Gebruiker een Afgeleid werk maakt, dient hij, op verzoek van welke Licentiegever ook, de op grond van artikel 4(b) vereiste naamsvermelding uit het Afgeleide werk te verwijderen, voorzover praktisch mogelijk, conform het verzoek.
+
+ b. Indien de Gebruiker het Werk, Afgeleide Werken of Verzamelwerken verspreidt, in het openbaar toont, op- of uitvoert of on-line beschikbaar stelt, dient de Gebruiker, tenzij er sprake is van een verzoek als vermeld in lid 4(a), alle auteursrechtvermeldingen met betrekking tot het Werk te laten staan. Tevens dient de Gebruiker, op een wijze die redelijk is in verhouding tot het gebruikte medium, de naam te vermelden van (i) de Maker (of zijn/haar pseudoniem indien van toepassing) indien deze wordt vermeld; en/of (ii) van (een) andere partij(en) (b.v. sponsor, uitgeverij, tijdschrift) indien de naamsvermelding van deze partij(en) ("Naamsvermeldingsgerechtigden") in de auteursrechtvermelding of algemene voorwaarden van de Licentiegever of op een andere redelijke wijze verplicht is gesteld door de Maker en/of de Licentiegever; de titel van het Werk indien deze wordt vermeld; voorzover redelijkerwijs toepasbaar de Uniform Resource Identifier, indien aanwezig, waarvan de Licentiegever heeft aangegeven dat deze bij het Werk hoort, tenzij de URI niet verwijst naar de auteursrechtvermeldingen of de licentie-informatie betreffende het Werk; in overeenstemming met artikel 3(b) in geval van een Afgeleid werk, door te verwijzen naar het gebruik van het Werk in het Afgeleide werk (bijvoorbeeld: 'De Franse vertaling van het Werk van de Maker' of 'Scenario gebaseerd op het Werk van de Maker'). De Gebruiker dient op redelijke wijze aan de in dit artikel genoemde vereisten te voldoen; echter, met dien verstande dat, in geval van een Afgeleid werk of een Verzamelwerk, de naamsvermeldingen in ieder geval geplaatst dienen te worden, indien er een naamsvermelding van alle makers van het Afgeleide werk of het Verzamelwerk geplaatst wordt dan als deel van die naamsvermeldingen, en op een wijze die in ieder geval even duidelijk is als de naamsvermeldingen van de overige makers.
+
+ Volledigheidshalve dient te worden vermeld dat de Gebruiker uitsluitend gebruik mag maken van de naamsvermelding op de in dit artikel omschreven wijze teneinde te voldoen aan de naamsvermeldingsverplichting en, door gebruikmaking van zijn rechten krachtens deze Licentie, is het de Gebruiker niet toegestaan om op enigerlei wijze de indruk te wekken dat er sprake is van enig verband met, sponsorschap van of goedkeuring van de (toepasselijke) Maker, Licentiegever c.q. Naamsvermeldingsgerechtigden van de Gebruiker of diens gebruik van het Werk, zonder de afzonderlijke, uitdrukkelijke, voorafgaande, schriftelijke toestemming van de Maker, Licentiegever c.q. Naamsvermeldingsgerechtigden.
+
+ c. Volledigheidshalve dient te worden vermeld, dat de hierboven vermelde beperkingen (lid 4(a) en lid 4(b)) niet van toepassing zijn op die onderdelen van het Werk die geacht worden te vallen onder de definitie van het 'Werk' zoals vermeld in deze Licentie uitsluitend omdat zij voldoen aan de criteria van het sui generis databankenrecht krachtens het nationale recht ter implementatie van de Europese Databankenrichtlijn.
+
+ d. De in artikel 3 verleende rechten moeten worden uitgeoefend met inachtneming van het morele recht van de Maker (en/of de uitvoerende kunstenaar) om zich te verzetten tegen elke misvorming, verminking of andere aantasting van het werk, welke nadeel zou kunnen toebrengen aan de eer of de naam van de Maker (en/of de uitvoerende kunstenaar) of aan zijn waarde in deze hoedanigheid, indien en voor zover de Maker (en/of de uitvoerende kunstenaar) op grond van een op hem van toepassing zijnde wettelijke bepaling geen afstand kan doen van dat morele recht.
+
+5. Garantie en vrijwaring.
+
+TENZIJ ANDERS SCHRIFTELIJK IS OVEREENGEKOMEN DOOR DE PARTIJEN, STELT DE LICENTIEGEVER HET WERK BESCHIKBAAR OP 'AS-IS' BASIS, ZONDER ENIGE GARANTIE, HETZIJ DIRECT, INDIRECT OF ANDERSZINS, MET BETREKKING TOT HET WERK, MET INBEGRIP VAN, MAAR NIET BEPERKT TOT GARANTIES MET BETREKKING TOT DE EIGENDOMSTITEL, DE VERKOOPBAARHEID, DE GESCHIKTHEID VOOR BEPAALDE DOELEINDEN, MOGELIJKE INBREUK, DE AFWEZIGHEID VAN LATENTE OF ANDERE TEKORTKOMINGEN, DE JUISTHEID OF DE AAN- OF AFWEZIGHEID VAN FOUTEN, ONGEACHT DE OPSPOORBAARHEID DAARVAN, INDIEN EN VOORZOVER DE WET NIET ANDERS BEPAALT.
+
+6. Beperking van de aansprakelijkheid.
+
+DE LICENTIEGEVER AANVAARDT GEEN ENKELE AANSPRAKELIJKHEID JEGENS DE GEBRUIKER VOOR ENIGE BIJZONDERE OF INCIDENTELE SCHADE OF GEVOLGSCHADE VOORTVLOEIEND UIT DEZE LICENTIE OF HET GEBRUIK VAN HET WERK, ZELFS NIET INDIEN DE LICENTIEGEVER OP DE HOOGTE IS GESTELD VAN HET RISICO VAN DERGELIJKE SCHADE, INDIEN EN VOORZOVER DE WET NIET ANDERS BEPAALT.
+
+7. Beëindiging
+
+ a. Deze Licentie en de daarin verleende rechten vervallen automatisch op het moment dat de Gebruiker in strijd handelt met de voorwaarden van deze Licentie. De licenties van natuurlijke personen of rechtspersonen die Verzamelwerken hebben ontvangen van de Gebruiker krachtens deze Licentie blijven echter in stand zolang dergelijke natuurlijke personen of rechtspersonen zich houden aan de voorwaarden van die licenties. Na de beëindiging van deze Licentie blijven artikelen 1, 2, 5, 6, 7 en 8 onverminderd van kracht.
+
+ b. Met inachtneming van de hierboven vermelde voorwaarden wordt de Licentie verleend voor de duur van de toepasselijke intellectuele eigendomsrechten op het Werk. De Licentiegever behoudt zich desalniettemin te allen tijde het recht voor om het Werk volgens gewijzigde licentievoorwaarden te verspreiden of om het Werk niet langer te verspreiden; met dien verstande dat een dergelijk besluit niet de intrekking van deze Licentie (of enig andere licentie die volgens de voorwaarden van deze Licentie (verplicht) is verleend) tot gevolg heeft, en deze Licentie onverminderd van kracht blijft tenzij zij op de in lid a omschreven wijze wordt beëindigd.
+
+8. Diversen
+
+ a. Elke keer dat de Gebruiker het Werk of een Verzamelwerk verspreidt of on-line beschikbaar stelt, biedt de Licentiegever de ontvanger een licentie op het Werk aan volgens de algemene voorwaarden van deze Licentie.
+
+ b. Elke keer dat de Gebruiker een Afgeleid werk verspreidt of on-line beschikbaar stelt, biedt de Licentiegever de ontvanger een licentie op het oorspronkelijke werk aan volgens de algemene voorwaarden van deze Licentie.
+
+ c. Indien enige bepaling van deze Licentie nietig of niet rechtens afdwingbaar is, zullen de overige voorwaarden van deze Licentie volledig van kracht blijven. De nietige of niet-afdwingbare bepaling zal, zonder tussenkomst van de partijen, worden vervangen door een geldige en afdwingbare bepaling waarbij het doel en de strekking van de oorspronkelijke bepaling zoveel mogelijk in acht worden genomen.
+
+ d. Een verklaring van afstand van in deze Licentie verleende rechten of een wijziging van de voorwaarden van deze Licentie dient schriftelijk te geschieden en getekend te zijn door de partij die verantwoordelijk is voor de verklaring van afstand respectievelijk de partij wiens toestemming voor de wijziging is vereist.
+
+ f. Deze Licentie bevat de volledige overeenkomst tussen de partijen met betrekking tot het in licentie gegeven Werk. Er zijn geen andere afspraken gemaakt met betrekking tot het Werk. De Licentiegever is niet gebonden aan enige aanvullende bepalingen die worden vermeld in mededelingen van de Gebruiker. Deze licentie kan uitsluitend worden gewijzigd met de wederzijdse, schriftelijke instemming van de Licentiegever en de Gebruiker.
+
+Aansprakelijkheid en merkrechten van Creative Commons
+
+Creative Commons is geen partij bij deze Licentie en stelt geen enkele garantie met betrekking tot het Werk. Creative Commons kan op geen enkele wijze aansprakelijk worden gehouden jegens de Gebruiker of derden voor enigerlei schade met inbegrip van, maar niet beperkt tot enige algemene, bijzondere, incidentele of gevolgschade voortvloeiend uit deze Licentie. Onverminderd het bepaalde in de twee (2) voorgaande volzinnen is Creative Commons gebonden aan alle rechten en verplichtingen van de Licentiegever indien Creative Commons zichzelf uitdrukkelijk kenbaar gemaakt heeft als de Licentiegever krachtens deze Licentie.
+
+Met uitzondering van het beperkte doel om iedereen erop te wijzen dat het Werk in licentie is gegeven krachtens de CCPL, geeft Creative Commons aan geen van de partijen toestemming om gebruik te maken van de merknaam 'Creative Commons', enige daarmee verband houdende merknamen dan wel het logo van Creative Commons gebruiken zonder de voorafgaande schriftelijke toestemming van Creative Commons. Het geoorloofde gebruik dient in overeenstemming te zijn met de alsdan geldende richtlijnen betreffende het gebruik van merknamen van Creative Commons zoals die bekend worden gemaakt op de website of anderszins van tijd tot tijd, desgevraagd, ter beschikking worden gesteld. Volledigheidshalve dient te worden vermeld dat deze merkrechtelijke beperking geen deel uitmaakt van de Licentie.
+
+U kunt contact opnemen met Creative Commons via de website: https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-3.0-US b/poky/meta/files/common-licenses/CC-BY-3.0-US
new file mode 100644
index 000000000..c35a2b1a1
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-3.0-US
@@ -0,0 +1,83 @@
+Creative Commons Attribution 3.0 United States
+
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with one or more other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual, individuals, entity or entities that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual, individuals, entity or entities who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to create and reproduce Derivative Works provided that any such Derivative Work, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";;
+
+ c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+ d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
+
+ e. For the avoidance of doubt, where the Work is a musical composition:
+
+ i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or, in the event that Licensor is a member of a performance rights society (e.g. ASCAP, BMI, SESAC), via that society, royalties for the public performance or public digital performance (e.g. webcast) of the Work.
+
+ ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+ f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of a recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. When You distribute, publicly display, publicly perform, or publicly digitally perform the Work, You may not impose any technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by Section 4(b), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by Section 4(b), as requested.
+
+ b. If You distribute, publicly display, publicly perform, or publicly digitally perform the Work (as defined in Section 1 above) or any Derivative Works (as defined in Section 1 above) or Collective Works (as defined in Section 1 above), You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, consistent with Section 3(b) in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(b) may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear, if a credit for all contributing authors of the Derivative Work or Collective Work appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND ONLY TO THE EXTENT OF ANY RIGHTS HELD IN THE LICENSED WORK BY THE LICENSOR. THE LICENSOR MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MARKETABILITY, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works (as defined in Section 1 above) or Collective Works (as defined in Section 1 above) from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work (as defined in Section 1 above) or a Collective Work (as defined in Section 1 above), the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons Notice
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License.
+
+Creative Commons may be contacted at https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-4.0 b/poky/meta/files/common-licenses/CC-BY-4.0
new file mode 100644
index 000000000..13ca539f3
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-4.0
@@ -0,0 +1,156 @@
+Creative Commons Attribution 4.0 International
+
+ Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public.
+
+Creative Commons Attribution 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
+
+ c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ h. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part; and
+
+ B. produce, reproduce, and Share Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified form), You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+ 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/poky/meta/files/common-licenses/CC-BY-NC-3.0-DE b/poky/meta/files/common-licenses/CC-BY-NC-3.0-DE
new file mode 100644
index 000000000..5d1181528
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-NC-3.0-DE
@@ -0,0 +1,110 @@
+Creative Commons Namensnennung - Keine kommerzielle Nutzung 3.0 Deutschland
+
+ CREATIVE COMMONS IST KEINE RECHTSANWALTSKANZLEI UND LEISTET KEINE RECHTSBERATUNG. DIE BEREITSTELLUNG DIESER LIZENZ FÜHRT ZU KEINEM MANDATSVERHÄLTNIS. CREATIVE COMMONS STELLT DIESE INFORMATIONEN OHNE GEWÄHR ZUR VERFÜGUNG. CREATIVE COMMONS ÜBERNIMMT KEINE GEWÄHRLEISTUNG FÜR DIE GELIEFERTEN INFORMATIONEN UND SCHLIEßT DIE HAFTUNG FÜR SCHÄDEN AUS, DIE SICH AUS DEREN GEBRAUCH ERGEBEN.
+
+Lizenz
+
+DER GEGENSTAND DIESER LIZENZ (WIE UNTER "SCHUTZGEGENSTAND" DEFINIERT) WIRD UNTER DEN BEDINGUNGEN DIESER CREATIVE COMMONS PUBLIC LICENSE ("CCPL", "LIZENZ" ODER "LIZENZVERTRAG") ZUR VERFÜGUNG GESTELLT. DER SCHUTZGEGENSTAND IST DURCH DAS URHEBERRECHT UND/ODER ANDERE GESETZE GESCHÜTZT. JEDE FORM DER NUTZUNG DES SCHUTZGEGENSTANDES, DIE NICHT AUFGRUND DIESER LIZENZ ODER DURCH GESETZE GESTATTET IST, IST UNZULÄSSIG.
+
+DURCH DIE AUSÜBUNG EINES DURCH DIESE LIZENZ GEWÄHRTEN RECHTS AN DEM SCHUTZGEGENSTAND ERKLÄREN SIE SICH MIT DEN LIZENZBEDINGUNGEN RECHTSVERBINDLICH EINVERSTANDEN. SOWEIT DIESE LIZENZ ALS LIZENZVERTRAG ANZUSEHEN IST, GEWÄHRT IHNEN DER LIZENZGEBER DIE IN DER LIZENZ GENANNTEN RECHTE UNENTGELTLICH UND IM AUSTAUSCH DAFÜR, DASS SIE DAS GEBUNDENSEIN AN DIE LIZENZBEDINGUNGEN AKZEPTIEREN.
+
+1. Definitionen
+
+ a. Der Begriff "Abwandlung" im Sinne dieser Lizenz bezeichnet das Ergebnis jeglicher Art von Veränderung des Schutzgegenstandes, solange die eigenpersönlichen Züge des Schutzgegenstandes darin nicht verblassen und daran eigene Schutzrechte entstehen. Das kann insbesondere eine Bearbeitung, Umgestaltung, Änderung, Anpassung, Übersetzung oder Heranziehung des Schutzgegenstandes zur Vertonung von Laufbildern sein. Nicht als Abwandlung des Schutzgegenstandes gelten seine Aufnahme in eine Sammlung oder ein Sammelwerk und die freie Benutzung des Schutzgegenstandes.
+
+ b. Der Begriff "Sammelwerk" im Sinne dieser Lizenz meint eine Zusammenstellung von literarischen, künstlerischen oder wissenschaftlichen Inhalten, sofern diese Zusammenstellung aufgrund von Auswahl und Anordnung der darin enthaltenen selbständigen Elemente eine geistige Schöpfung darstellt, unabhängig davon, ob die Elemente systematisch oder methodisch angelegt und dadurch einzeln zugänglich sind oder nicht.
+
+ c. "Verbreiten" im Sinne dieser Lizenz bedeutet, den Schutzgegenstand oder Abwandlungen im Original oder in Form von Vervielfältigungsstücken, mithin in körperlich fixierter Form der Öffentlichkeit anzubieten oder in Verkehr zu bringen.
+
+ d. Der "Lizenzgeber" im Sinne dieser Lizenz ist diejenige natürliche oder juristische Person oder Gruppe, die den Schutzgegenstand unter den Bedingungen dieser Lizenz anbietet und insoweit als Rechteinhaberin auftritt.
+
+ e. "Rechteinhaber" im Sinne dieser Lizenz ist der Urheber des Schutzgegenstandes oder jede andere natürliche oder juristische Person oder Gruppe von Personen, die am Schutzgegenstand ein Immaterialgüterrecht erlangt hat, welches die in Abschnitt 3 genannten Handlungen erfasst und bei dem eine Einräumung von Nutzungsrechten oder eine Weiterübertragung an Dritte möglich ist.
+
+ f. Der Begriff "Schutzgegenstand" bezeichnet in dieser Lizenz den literarischen, künstlerischen oder wissenschaftlichen Inhalt, der unter den Bedingungen dieser Lizenz angeboten wird. Das kann insbesondere eine persönliche geistige Schöpfung jeglicher Art, ein Werk der kleinen Münze, ein nachgelassenes Werk oder auch ein Lichtbild oder anderes Objekt eines verwandten Schutzrechts sein, unabhängig von der Art seiner Fixierung und unabhängig davon, auf welche Weise jeweils eine Wahrnehmung erfolgen kann, gleichviel ob in analoger oder digitaler Form. Soweit Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen, unterfallen auch sie dem Begriff "Schutzgegenstand" im Sinne dieser Lizenz.
+
+ g. Mit "Sie" bzw. "Ihne*" ist die natürliche oder juristische Person gemeint, die in dieser Lizenz im Abschnitt 3 genannte Nutzungen des Schutzgegenstandes vornimmt und zuvor in Hinblick auf den Schutzgegenstand nicht gegen Bedingungen dieser Lizenz verstoßen oder aber die ausdrückliche Erlaubnis des Lizenzgebers erhalten hat, die durch diese Lizenz gewährten Nutzungsrechte trotz eines vorherigen Verstoßes auszuüben.
+
+ h. Unter "Öffentlich Zeigen" im Sinne dieser Lizenz sind Veröffentlichungen und Präsentationen des Schutzgegenstandes zu verstehen, die für eine Mehrzahl von Mitgliedern der Öffentlichkeit bestimmt sind und in unkörperlicher Form mittels öffentlicher Wiedergabe in Form von Vortrag, Aufführung, Vorführung, Darbietung, Sendung, Weitersendung, zeit- und ortsunabhängiger Zugänglichmachung oder in körperlicher Form mittels Ausstellung erfolgen, unabhängig von bestimmten Veranstaltungen und unabhängig von den zum Einsatz kommenden Techniken und Verfahren, einschließlich drahtgebundener oder drahtloser Mittel und Einstellen in das Internet.
+
+ i. "Vervielfältigen" im Sinne dieser Lizenz bedeutet, mittels beliebiger Verfahren Vervielfältigungsstücke des Schutzgegenstandes herzustellen, insbesondere durch Ton- oder Bildaufzeichnungen, und umfasst auch den Vorgang, erstmals körperliche Fixierungen des Schutzgegenstandes sowie Vervielfältigungsstücke dieser Fixierungen anzufertigen, sowie die Übertragung des Schutzgegenstandes auf einen Bild- oder Tonträger oder auf ein anderes elektronisches Medium, gleichviel ob in digitaler oder analoger Form.
+
+2. Schranken des Immaterialgüterrechts. Diese Lizenz ist in keiner Weise darauf gerichtet, Befugnisse zur Nutzung des Schutzgegenstandes zu vermindern, zu beschränken oder zu vereiteln, die Ihnen aufgrund der Schranken des Urheberrechts oder anderer Rechtsnormen bereits ohne Weiteres zustehen oder sich aus dem Fehlen eines immaterialgüterrechtlichen Schutzes ergeben.
+
+3. Einräumung von Nutzungsrechten. Unter den Bedingungen dieser Lizenz räumt Ihnen der Lizenzgeber - unbeschadet unverzichtbarer Rechte und vorbehaltlich des Abschnitts 4.e) - das vergütungsfreie, räumlich und zeitlich (für die Dauer des Schutzrechts am Schutzgegenstand) unbeschränkte einfache Recht ein, den Schutzgegenstand auf die folgenden Arten und Weisen zu nutzen ("unentgeltlich eingeräumtes einfaches Nutzungsrecht für jedermann"):
+
+ a. Den Schutzgegenstand in beliebiger Form und Menge zu vervielfältigen, ihn in Sammelwerke zu integrieren und ihn als Teil solcher Sammelwerke zu vervielfältigen;
+
+ b. Abwandlungen des Schutzgegenstandes anzufertigen, einschließlich Übersetzungen unter Nutzung jedweder Medien, sofern deutlich erkennbar gemacht wird, dass es sich um Abwandlungen handelt;
+
+ c. den Schutzgegenstand, allein oder in Sammelwerke aufgenommen, öffentlich zu zeigen und zu verbreiten;
+
+ d. Abwandlungen des Schutzgegenstandes zu veröffentlichen, öffentlich zu zeigen und zu verbreiten.
+
+Das vorgenannte Nutzungsrecht wird für alle bekannten sowie für alle noch nicht bekannten Nutzungsarten eingeräumt. Es beinhaltet auch das Recht, solche Änderungen am Schutzgegenstand vorzunehmen, die für bestimmte nach dieser Lizenz zulässige Nutzungen technisch erforderlich sind. Alle sonstigen Rechte, die über diesen Abschnitt hinaus nicht ausdrücklich durch den Lizenzgeber eingeräumt werden, bleiben diesem allein vorbehalten. Soweit Datenbanken oder Zusammenstellungen von Daten Schutzgegenstand dieser Lizenz oder Teil dessen sind und einen immaterialgüterrechtlichen Schutz eigener Art genießen, verzichtet der Lizenzgeber auf sämtliche aus diesem Schutz resultierenden Rechte.
+
+4. Bedingungen. Die Einräumung des Nutzungsrechts gemäß Abschnitt 3 dieser Lizenz erfolgt ausdrücklich nur unter den folgenden Bedingungen:
+
+ a. Sie dürfen den Schutzgegenstand ausschließlich unter den Bedingungen dieser Lizenz verbreiten oder öffentlich zeigen. Sie müssen dabei stets eine Kopie dieser Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen dieser Lizenz oder die durch diese Lizenz gewährten Rechte beschränken. Sie dürfen den Schutzgegenstand nicht unterlizenzieren. Bei jeder Kopie des Schutzgegenstandes, die Sie verbreiten oder öffentlich zeigen, müssen Sie alle Hinweise unverändert lassen, die auf diese Lizenz und den Haftungsausschluss hinweisen. Wenn Sie den Schutzgegenstand verbreiten oder öffentlich zeigen, dürfen Sie (in Bezug auf den Schutzgegenstand) keine technischen Maßnahmen ergreifen, die den Nutzer des Schutzgegenstandes in der Ausübung der ihm durch diese Lizenz gewährten Rechte behindern können. Dieser Abschnitt 4.a) gilt auch für den Fall, dass der Schutzgegenstand einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt dieser Lizenz unterstellt werden muss. Sofern Sie ein Sammelwerk erstellen, müssen Sie auf die Mitteilung eines Lizenzgebers hin aus dem Sammelwerk die in Abschnitt 4.c) aufgezählten Hinweise entfernen. Wenn Sie eine Abwandlung vornehmen, müssen Sie auf die Mitteilung eines Lizenzgebers hin von der Abwandlung die in Abschnitt 4.c) aufgezählten Hinweise entfernen.
+
+ b. Die Rechteeinräumung gemäß Abschnitt 3 gilt nur für Handlungen, die nicht vorrangig auf einen geschäftlichen Vorteil oder eine geldwerte Vergütung gerichtet sind ("nicht-kommerzielle Nutzung", "Non-commercial-Option"). Wird Ihnen in Zusammenhang mit dem Schutzgegenstand dieser Lizenz ein anderer Schutzgegenstand überlassen, ohne dass eine vertragliche Verpflichtung hierzu besteht (etwa im Wege von File-Sharing), so wird dies nicht als auf geschäftlichen Vorteil oder geldwerte Vergütung gerichtet angesehen, wenn in Verbindung mit dem Austausch der Schutzgegenstände tatsächlich keine Zahlung oder geldwerte Vergütung geleistet wird.
+
+ c. Die Verbreitung und das öffentliche Zeigen des Schutzgegenstandes oder auf ihm aufbauender Abwandlungen oder ihn enthaltender Sammelwerke ist Ihnen nur unter der Bedingung gestattet, dass Sie, vorbehaltlich etwaiger Mitteilungen im Sinne von Abschnitt 4.a), alle dazu gehörenden Rechtevermerke unberührt lassen. Sie sind verpflichtet, die Rechteinhaberschaft in einer der Nutzung entsprechenden, angemessenen Form anzuerkennen, indem Sie - soweit bekannt - Folgendes angeben:
+
+ i. Den Namen (oder das Pseudonym, falls ein solches verwendet wird) des Rechteinhabers und / oder, falls der Lizenzgeber im Rechtevermerk, in den Nutzungsbedingungen oder auf andere angemessene Weise eine Zuschreibung an Dritte vorgenommen hat (z.B. an eine Stiftung, ein Verlagshaus oder eine Zeitung) ("Zuschreibungsempfänger"), Namen bzw. Bezeichnung dieses oder dieser Dritten;
+
+ ii. den Titel des Inhaltes;
+
+ iii. in einer praktikablen Form den Uniform-Resource-Identifier (URI, z.B. Internetadresse), den der Lizenzgeber zum Schutzgegenstand angegeben hat, es sei denn, dieser URI verweist nicht auf den Rechtevermerk oder die Lizenzinformationen zum Schutzgegenstand;
+
+ iv. und im Falle einer Abwandlung des Schutzgegenstandes in Übereinstimmung mit Abschnitt 3.b) einen Hinweis darauf, dass es sich um eine Abwandlung handelt.
+
+ Die nach diesem Abschnitt 4.c) erforderlichen Angaben können in jeder angemessenen Form gemacht werden; im Falle einer Abwandlung des Schutzgegenstandes oder eines Sammelwerkes müssen diese Angaben das Minimum darstellen und bei gemeinsamer Nennung mehrerer Rechteinhaber dergestalt erfolgen, dass sie zumindest ebenso hervorgehoben sind wie die Hinweise auf die übrigen Rechteinhaber. Die Angaben nach diesem Abschnitt dürfen Sie ausschließlich zur Angabe der Rechteinhaberschaft in der oben bezeichneten Weise verwenden. Durch die Ausübung Ihrer Rechte aus dieser Lizenz dürfen Sie ohne eine vorherige, separat und schriftlich vorliegende Zustimmung des Lizenzgebers und / oder des Zuschreibungsempfängers weder explizit noch implizit irgendeine Verbindung zum Lizenzgeber oder Zuschreibungsempfänger und ebenso wenig eine Unterstützung oder Billigung durch ihn andeuten.
+
+ d. Die oben unter 4.a) bis c) genannten Einschränkungen gelten nicht für solche Teile des Schutzgegenstandes, die allein deshalb unter den Schutzgegenstandsbegriff fallen, weil sie als Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen.
+
+ e. Bezüglich Vergütung für die Nutzung des Schutzgegenstandes gilt Folgendes:
+
+ i. Unverzichtbare gesetzliche Vergütungsansprüche: Soweit unverzichtbare Vergütungsansprüche im Gegenzug für gesetzliche Lizenzen vorgesehen oder Pauschalabgabensysteme (zum Beispiel für Leermedien) vorhanden sind, behält sich der Lizenzgeber das ausschließliche Recht vor, die entsprechende Vergütung einzuziehen für jede Ausübung eines Rechts aus dieser Lizenz durch Sie.
+
+ ii. Vergütung bei Zwangslizenzen: Sofern Zwangslizenzen außerhalb dieser Lizenz vorgesehen sind und zustande kommen, behält sich der Lizenzgeber das ausschließliche Recht auf Einziehung der entsprechenden Vergütung für den Fall vor, dass Sie eine Nutzung des Schutzgegenstandes für andere als die in Abschnitt 4.b) als nicht-kommerziell definierten Zwecke vornehmen, verzichtet für alle übrigen, lizenzgerechten Fälle von Nutzung jedoch auf jegliche Vergütung.
+
+ iii. Vergütung in sonstigen Fällen: Bezüglich lizenzgerechter Nutzung des Schutzgegenstandes durch Sie, die nicht unter die beiden vorherigen Abschnitte (i) und (ii) fällt, verzichtet der Lizenzgeber auf jegliche Vergütung, unabhängig davon, ob eine Einziehung der Vergütung durch ihn selbst oder nur durch eine Verwertungsgesellschaft möglich wäre. Der Lizenzgeber behält sich jedoch das ausschließliche Recht auf Einziehung der entsprechenden Vergütung (durch ihn selbst oder eine Verwertungsgesellschaft) für den Fall vor, dass Sie eine Nutzung des Schutzgegenstandes für andere als die in Abschnitt 4.b) als nicht-kommerziell definierten Zwecke vornehmen.
+
+ f. Persönlichkeitsrechte bleiben - soweit sie bestehen - von dieser Lizenz unberührt.
+
+5. Gewährleistung
+
+SOFERN KEINE ANDERS LAUTENDE, SCHRIFTLICHE VEREINBARUNG ZWISCHEN DEM LIZENZGEBER UND IHNEN GESCHLOSSEN WURDE UND SOWEIT MÄNGEL NICHT ARGLISTIG VERSCHWIEGEN WURDEN, BIETET DER LIZENZGEBER DEN SCHUTZGEGENSTAND UND DIE EINRÄUMUNG VON RECHTEN UNTER AUSSCHLUSS JEGLICHER GEWÄHRLEISTUNG AN UND ÜBERNIMMT WEDER AUSDRÜCKLICH NOCH KONKLUDENT GARANTIEN IRGENDEINER ART. DIES UMFASST INSBESONDERE DAS FREISEIN VON SACH- UND RECHTSMÄNGELN, UNABHÄNGIG VON DEREN ERKENNBARKEIT FÜR DEN LIZENZGEBER, DIE VERKEHRSFÄHIGKEIT DES SCHUTZGEGENSTANDES, SEINE VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK SOWIE DIE KORREKTHEIT VON BESCHREIBUNGEN. DIESE GEWÄHRLEISTUNGSBESCHRÄNKUNG GILT NICHT, SOWEIT MÄNGEL ZU SCHÄDEN DER IN ABSCHNITT 6 BEZEICHNETEN ART FÜHREN UND AUF SEITEN DES LIZENZGEBERS DAS JEWEILS GENANNTE VERSCHULDEN BZW. VERTRETENMÜSSEN EBENFALLS VORLIEGT.
+
+6. Haftungsbeschränkung
+
+DER LIZENZGEBER HAFTET IHNEN GEGENÜBER IN BEZUG AUF SCHÄDEN AUS DER VERLETZUNG DES LEBENS, DES KÖRPERS ODER DER GESUNDHEIT NUR, SOFERN IHM WENIGSTENS FAHRLÄSSIGKEIT VORZUWERFEN IST, FÜR SONSTIGE SCHÄDEN NUR BEI GROBER FAHRLÄSSIGKEIT ODER VORSATZ, UND ÜBERNIMMT DARÜBER HINAUS KEINERLEI FREIWILLIGE HAFTUNG.
+
+7. Erlöschen
+
+ a. Diese Lizenz und die durch sie eingeräumten Nutzungsrechte erlöschen mit Wirkung für die Zukunft im Falle eines Verstoßes gegen die Lizenzbedingungen durch Sie, ohne dass es dazu der Kenntnis des Lizenzgebers vom Verstoß oder einer weiteren Handlung einer der Vertragsparteien bedarf. Mit natürlichen oder juristischen Personen, die Abwandlungen des Schutzgegenstandes oder diesen enthaltende Sammelwerke unter den Bedingungen dieser Lizenz von Ihnen erhalten haben, bestehen nachträglich entstandene Lizenzbeziehungen jedoch solange weiter, wie die genannten Personen sich ihrerseits an sämtliche Lizenzbedingungen halten. Darüber hinaus gelten die Ziffern 1, 2, 5, 6, 7, und 8 auch nach einem Erlöschen dieser Lizenz fort.
+
+ b. Vorbehaltlich der oben genannten Bedingungen gilt diese Lizenz unbefristet bis der rechtliche Schutz für den Schutzgegenstand ausläuft. Davon abgesehen behält der Lizenzgeber das Recht, den Schutzgegenstand unter anderen Lizenzbedingungen anzubieten oder die eigene Weitergabe des Schutzgegenstandes jederzeit einzustellen, solange die Ausübung dieses Rechts nicht einer Kündigung oder einem Widerruf dieser Lizenz (oder irgendeiner Weiterlizenzierung, die auf Grundlage dieser Lizenz bereits erfolgt ist bzw. zukünftig noch erfolgen muss) dient und diese Lizenz unter Berücksichtigung der oben zum Erlöschen genannten Bedingungen vollumfänglich wirksam bleibt.
+
+8. Sonstige Bestimmungen
+
+ a. Jedes Mal wenn Sie den Schutzgegenstand für sich genommen oder als Teil eines Sammelwerkes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ b. Jedes Mal wenn Sie eine Abwandlung des Schutzgegenstandes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz am ursprünglichen Schutzgegenstand zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ c. Sollte eine Bestimmung dieser Lizenz unwirksam sein, so bleibt davon die Wirksamkeit der Lizenz im Übrigen unberührt.
+
+ d. Keine Bestimmung dieser Lizenz soll als abbedungen und kein Verstoß gegen sie als zulässig gelten, solange die von dem Verzicht oder von dem Verstoß betroffene Seite nicht schriftlich zugestimmt hat.
+
+ e. Diese Lizenz (zusammen mit in ihr ausdrücklich vorgesehenen Erlaubnissen, Mitteilungen und Zustimmungen, soweit diese tatsächlich vorliegen) stellt die vollständige Vereinbarung zwischen dem Lizenzgeber und Ihnen in Bezug auf den Schutzgegenstand dar. Es bestehen keine Abreden, Vereinbarungen oder Erklärungen in Bezug auf den Schutzgegenstand, die in dieser Lizenz nicht genannt sind. Rechtsgeschäftliche Änderungen des Verhältnisses zwischen dem Lizenzgeber und Ihnen sind nur über Modifikationen dieser Lizenz möglich. Der Lizenzgeber ist an etwaige zusätzliche, einseitig durch Sie übermittelte Bestimmungen nicht gebunden. Diese Lizenz kann nur durch schriftliche Vereinbarung zwischen Ihnen und dem Lizenzgeber modifiziert werden. Derlei Modifikationen wirken ausschließlich zwischen dem Lizenzgeber und Ihnen und wirken sich nicht auf die Dritten gemäß Ziffern 8.a) und b) angeboteten Lizenzen aus.
+
+ f. Sofern zwischen Ihnen und dem Lizenzgeber keine anderweitige Vereinbarung getroffen wurde und soweit Wahlfreiheit besteht, findet auf diesen Lizenzvertrag das Recht der Bundesrepublik Deutschland Anwendung.
+
+
+Creative Commons Notice
+
+Creative Commons ist nicht Partei dieser Lizenz und übernimmt keinerlei Gewähr oder dergleichen in Bezug auf den Schutzgegenstand. Creative Commons haftet Ihnen oder einer anderen Partei unter keinem rechtlichen Gesichtspunkt für irgendwelche Schäden, die - abstrakt oder konkret, zufällig oder vorhersehbar - im Zusammenhang mit dieser Lizenz entstehen. Unbeschadet der vorangegangen beiden Sätze, hat Creative Commons alle Rechte und Pflichten eines Lizenzgebers, wenn es sich ausdrücklich als Lizenzgeber im Sinne dieser Lizenz bezeichnet.
+
+Creative Commons gewährt den Parteien nur insoweit das Recht, das Logo und die Marke "Creative Commons" zu nutzen, als dies notwendig ist, um der Öffentlichkeit gegenüber kenntlich zu machen, dass der Schutzgegenstand unter einer CCPL steht. Ein darüber hinaus gehender Gebrauch der Marke "Creative Commons" oder einer verwandten Marke oder eines verwandten Logos bedarf der vorherigen schriftlichen Zustimmung von Creative Commons. Jeder erlaubte Gebrauch richtet sich nach der Creative Commons Marken-Nutzungs-Richtlinie in der jeweils aktuellen Fassung, die von Zeit zu Zeit auf der Website veröffentlicht oder auf andere Weise auf Anfrage zugänglich gemacht wird. Zur Klarstellung: Die genannten Einschränkungen der Markennutzung sind nicht Bestandteil dieser Lizenz.
+
+Creative Commons kann kontaktiert werden über https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-NC-4.0 b/poky/meta/files/common-licenses/CC-BY-NC-4.0
new file mode 100644
index 000000000..340cf0c95
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-NC-4.0
@@ -0,0 +1,158 @@
+Creative Commons Attribution-NonCommercial 4.0 International
+
+ Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public.
+
+Creative Commons Attribution-NonCommercial 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
+
+ c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ h. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ i. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
+
+ j. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ k. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ l. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
+
+ B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified form), You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+ 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/poky/meta/files/common-licenses/CC-BY-NC-ND-3.0-DE b/poky/meta/files/common-licenses/CC-BY-NC-ND-3.0-DE
new file mode 100644
index 000000000..06d59d675
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-NC-ND-3.0-DE
@@ -0,0 +1,101 @@
+Creative Commons Namensnennung - Keine kommerzielle Nutzung - Keine Bearbeitungen 3.0 Deutschland
+
+ CREATIVE COMMONS IST KEINE RECHTSANWALTSKANZLEI UND LEISTET KEINE RECHTSBERATUNG. DIE BEREITSTELLUNG DIESER LIZENZ FÜHRT ZU KEINEM MANDATSVERHÄLTNIS. CREATIVE COMMONS STELLT DIESE INFORMATIONEN OHNE GEWÄHR ZUR VERFÜGUNG. CREATIVE COMMONS ÜBERNIMMT KEINE GEWÄHRLEISTUNG FÜR DIE GELIEFERTEN INFORMATIONEN UND SCHLIEßT DIE HAFTUNG FÜR SCHÄDEN AUS, DIE SICH AUS DEREN GEBRAUCH ERGEBEN.
+
+Lizenz
+
+DER GEGENSTAND DIESER LIZENZ (WIE UNTER "SCHUTZGEGENSTAND" DEFINIERT) WIRD UNTER DEN BEDINGUNGEN DIESER CREATIVE COMMONS PUBLIC LICENSE ("CCPL", "LIZENZ" ODER "LIZENZVERTRAG") ZUR VERFÜGUNG GESTELLT. DER SCHUTZGEGENSTAND IST DURCH DAS URHEBERRECHT UND/ODER ANDERE GESETZE GESCHÜTZT. JEDE FORM DER NUTZUNG DES SCHUTZGEGENSTANDES, DIE NICHT AUFGRUND DIESER LIZENZ ODER DURCH GESETZE GESTATTET IST, IST UNZULÄSSIG.
+
+DURCH DIE AUSÜBUNG EINES DURCH DIESE LIZENZ GEWÄHRTEN RECHTS AN DEM SCHUTZGEGENSTAND ERKLÄREN SIE SICH MIT DEN LIZENZBEDINGUNGEN RECHTSVERBINDLICH EINVERSTANDEN. SOWEIT DIESE LIZENZ ALS LIZENZVERTRAG ANZUSEHEN IST, GEWÄHRT IHNEN DER LIZENZGEBER DIE IN DER LIZENZ GENANNTEN RECHTE UNENTGELTLICH UND IM AUSTAUSCH DAFÜR, DASS SIE DAS GEBUNDENSEIN AN DIE LIZENZBEDINGUNGEN AKZEPTIEREN.
+
+1. Definitionen
+
+ a. Der Begriff "Abwandlung" im Sinne dieser Lizenz bezeichnet das Ergebnis jeglicher Art von Veränderung des Schutzgegenstandes, solange die eigenpersönlichen Züge des Schutzgegenstandes darin nicht verblassen und daran eigene Schutzrechte entstehen. Das kann insbesondere eine Bearbeitung, Umgestaltung, Änderung, Anpassung, Übersetzung oder Heranziehung des Schutzgegenstandes zur Vertonung von Laufbildern sein. Nicht als Abwandlung des Schutzgegenstandes gelten seine Aufnahme in eine Sammlung oder ein Sammelwerk und die freie Benutzung des Schutzgegenstandes.
+
+ b. Der Begriff "Sammelwerk" im Sinne dieser Lizenz meint eine Zusammenstellung von literarischen, künstlerischen oder wissenschaftlichen Inhalten, sofern diese Zusammenstellung aufgrund von Auswahl und Anordnung der darin enthaltenen selbständigen Elemente eine geistige Schöpfung darstellt, unabhängig davon, ob die Elemente systematisch oder methodisch angelegt und dadurch einzeln zugänglich sind oder nicht.
+
+ c. "Verbreiten" im Sinne dieser Lizenz bedeutet, den Schutzgegenstand im Original oder in Form von Vervielfältigungsstücken, mithin in körperlich fixierter Form der Öffentlichkeit anzubieten oder in Verkehr zu bringen.
+
+ d. Der "Lizenzgeber" im Sinne dieser Lizenz ist diejenige natürliche oder juristische Person oder Gruppe, die den Schutzgegenstand unter den Bedingungen dieser Lizenz anbietet und insoweit als Rechteinhaberin auftritt.
+
+ e. "Rechteinhaber" im Sinne dieser Lizenz ist der Urheber des Schutzgegenstandes oder jede andere natürliche oder juristische Person oder Gruppe von Personen, die am Schutzgegenstand ein Immaterialgüterrecht erlangt hat, welches die in Abschnitt 3 genannten Handlungen erfasst und bei dem eine Einräumung von Nutzungsrechten oder eine Weiterübertragung an Dritte möglich ist.
+
+ f. Der Begriff "Schutzgegenstand" bezeichnet in dieser Lizenz den literarischen, künstlerischen oder wissenschaftlichen Inhalt, der unter den Bedingungen dieser Lizenz angeboten wird. Das kann insbesondere eine persönliche geistige Schöpfung jeglicher Art, ein Werk der kleinen Münze, ein nachgelassenes Werk oder auch ein Lichtbild oder anderes Objekt eines verwandten Schutzrechts sein, unabhängig von der Art seiner Fixierung und unabhängig davon, auf welche Weise jeweils eine Wahrnehmung erfolgen kann, gleichviel ob in analoger oder digitaler Form. Soweit Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen, unterfallen auch sie dem Begriff "Schutzgegenstand" im Sinne dieser Lizenz.
+
+ g. Mit "Sie" bzw. "Ihnen" ist die natürliche oder juristische Person gemeint, die in dieser Lizenz im Abschnitt 3 genannte Nutzungen des Schutzgegenstandes vornimmt und zuvor in Hinblick auf den Schutzgegenstand nicht gegen Bedingungen dieser Lizenz verstoßen oder aber die ausdrückliche Erlaubnis des Lizenzgebers erhalten hat, die durch diese Lizenz gewährten Nutzungsrechte trotz eines vorherigen Verstoßes auszuüben.
+
+ h. Unter "Öffentlich Zeigen" im Sinne dieser Lizenz sind Veröffentlichungen und Präsentationen des Schutzgegenstandes zu verstehen, die für eine Mehrzahl von Mitgliedern der Öffentlichkeit bestimmt sind und in unkörperlicher Form mittels öffentlicher Wiedergabe in Form von Vortrag, Aufführung, Vorführung, Darbietung, Sendung, Weitersendung, zeit- und ortsunabhängiger Zugänglichmachung oder in körperlicher Form mittels Ausstellung erfolgen, unabhängig von bestimmten Veranstaltungen und unabhängig von den zum Einsatz kommenden Techniken und Verfahren, einschließlich drahtgebundener oder drahtloser Mittel und Einstellen in das Internet.
+
+ i. "Vervielfältigen" im Sinne dieser Lizenz bedeutet, mittels beliebiger Verfahren Vervielfältigungsstücke des Schutzgegenstandes herzustellen, insbesondere durch Ton- oder Bildaufzeichnungen, und umfasst auch den Vorgang, erstmals körperliche Fixierungen des Schutzgegenstandes sowie Vervielfältigungsstücke dieser Fixierungen anzufertigen, sowie die Übertragung des Schutzgegenstandes auf einen Bild- oder Tonträger oder auf ein anderes elektronisches Medium, gleichviel ob in digitaler oder analoger Form.
+
+2. Schranken des Immaterialgüterrechts. Diese Lizenz ist in keiner Weise darauf gerichtet, Befugnisse zur Nutzung des Schutzgegenstandes zu vermindern, zu beschränken oder zu vereiteln, die Ihnen aufgrund der Schranken des Urheberrechts oder anderer Rechtsnormen bereits ohne Weiteres zustehen oder sich aus dem Fehlen eines immaterialgüterrechtlichen Schutzes ergeben.
+
+3. Einräumung von Nutzungsrechten. Unter den Bedingungen dieser Lizenz räumt Ihnen der Lizenzgeber - unbeschadet unverzichtbarer Rechte und vorbehaltlich des Abschnitts 4.e) - das vergütungsfreie, räumlich und zeitlich (für die Dauer des Schutzrechts am Schutzgegenstand) unbeschränkte einfache Recht ein, den Schutzgegenstand auf die folgenden Arten und Weisen zu nutzen ("unentgeltlich eingeräumtes einfaches Nutzungsrecht für jedermann"):
+
+ a. den Schutzgegenstand in beliebiger Form und Menge zu vervielfältigen, ihn in Sammelwerke zu integrieren und ihn als Teil solcher Sammelwerke zu vervielfältigen;
+
+ b. den Schutzgegenstand, allein oder in Sammelwerke aufgenommen, öffentlich zu zeigen und zu verbreiten.
+
+Das vorgenannte Nutzungsrecht wird für alle bekannten sowie für alle noch nicht bekannten Nutzungsarten eingeräumt. Es beinhaltet auch das Recht, solche Änderungen am Schutzgegenstand vorzunehmen, die für bestimmte nach dieser Lizenz zulässige Nutzungen technisch erforderlich sind. Weitergehende Änderungen oder Abwandlungen sind jedoch untersagt. Alle sonstigen Rechte, die über diesen Abschnitt hinaus nicht ausdrücklich durch den Lizenzgeber eingeräumt werden, bleiben diesem allein vorbehalten. Soweit Datenbanken oder Zusammenstellungen von Daten Schutzgegenstand dieser Lizenz oder Teil dessen sind und einen immaterialgüterrechtlichen Schutz eigener Art genießen, verzichtet der Lizenzgeber auf sämtliche aus diesem Schutz resultierenden Rechte.
+
+4. Bedingungen. Die Einräumung des Nutzungsrechts gemäß Abschnitt 3 dieser Lizenz erfolgt ausdrücklich nur unter den folgenden Bedingungen:
+
+ a. Sie dürfen den Schutzgegenstand ausschließlich unter den Bedingungen dieser Lizenz verbreiten oder öffentlich zeigen. Sie müssen dabei stets eine Kopie dieser Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen dieser Lizenz oder die durch diese Lizenz gewährten Rechte beschränken. Sie dürfen den Schutzgegenstand nicht unterlizenzieren. Bei jeder Kopie des Schutzgegenstandes, die Sie verbreiten oder öffentlich zeigen, müssen Sie alle Hinweise unverändert lassen, die auf diese Lizenz und den Haftungsausschluss hinweisen. Wenn Sie den Schutzgegenstand verbreiten oder öffentlich zeigen, dürfen Sie (in Bezug auf den Schutzgegenstand) keine technischen Maßnahmen ergreifen, die den Nutzer des Schutzgegenstandes in der Ausübung der ihm durch diese Lizenz gewährten Rechte behindern können. Dieser Abschnitt 4.a) gilt auch für den Fall, dass der Schutzgegenstand einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt dieser Lizenz unterstellt werden muss. Sofern Sie ein Sammelwerk erstellen, müssen Sie auf die Mitteilung eines Lizenzgebers hin aus dem Sammelwerk die in Abschnitt 4.c) aufgezählten Hinweise entfernen.
+
+ b. Die Rechteeinräumung gemäß Abschnitt 3 gilt nur für Handlungen, die nicht vorrangig auf einen geschäftlichen Vorteil oder eine geldwerte Vergütung gerichtet sind ("nicht-kommerzielle Nutzung", "Non-commercial-Option"). Wird Ihnen in Zusammenhang mit dem Schutzgegenstand dieser Lizenz ein anderer Schutzgegenstand überlassen, ohne dass eine vertragliche Verpflichtung hierzu besteht (etwa im Wege von File-Sharing), so wird dies nicht als auf geschäftlichen Vorteil oder geldwerte Vergütung gerichtet angesehen, wenn in Verbindung mit dem Austausch der Schutzgegenstände tatsächlich keine Zahlung oder geldwerte Vergütung geleistet wird.
+
+ c. Die Verbreitung und das öffentliche Zeigen des Schutzgegenstandes oder ihn enthaltender Sammelwerke ist Ihnen nur unter der Bedingung gestattet, dass Sie, vorbehaltlich etwaiger Mitteilungen im Sinne von Abschnitt 4.a), alle dazu gehörenden Rechtevermerke unberührt lassen. Sie sind verpflichtet, die Rechteinhaberschaft in einer der Nutzung entsprechenden, angemessenen Form anzuerkennen, indem Sie - soweit bekannt - Folgendes angeben:
+
+ i. Den Namen (oder das Pseudonym, falls ein solches verwendet wird) des Rechteinhabers und / oder, falls der Lizenzgeber im Rechtevermerk, in den Nutzungsbedingungen oder auf andere angemessene Weise eine Zuschreibung an Dritte vorgenommen hat (z.B. an eine Stiftung, ein Verlagshaus oder eine Zeitung) ("Zuschreibungsempfänger"), Namen bzw. Bezeichnung dieses oder dieser Dritten;
+
+ ii. den Titel des Inhaltes;
+
+ iii. in einer praktikablen Form den Uniform-Resource-Identifier (URI, z.B. Internetadresse), den der Lizenzgeber zum Schutzgegenstand angegeben hat, es sei denn, dieser URI verweist nicht auf den Rechtevermerk oder die Lizenzinformationen zum Schutzgegenstand.
+
+ Die nach diesem Abschnitt 4.c) erforderlichen Angaben können in jeder angemessenen Form gemacht werden; im Falle eines Sammelwerkes müssen diese Angaben das Minimum darstellen und bei gemeinsamer Nennung mehrerer Rechteinhaber dergestalt erfolgen, dass sie zumindest ebenso hervorgehoben sind wie die Hinweise auf die übrigen Rechteinhaber. Die Angaben nach diesem Abschnitt dürfen Sie ausschließlich zur Angabe der Rechteinhaberschaft in der oben bezeichneten Weise verwenden. Durch die Ausübung Ihrer Rechte aus dieser Lizenz dürfen Sie ohne eine vorherige, separat und schriftlich vorliegende Zustimmung des Lizenzgebers und / oder des Zuschreibungsempfängers weder explizit noch implizit irgendeine Verbindung zum Lizenzgeber oder Zuschreibungsempfänger und ebenso wenig eine Unterstützung oder Billigung durch ihn andeuten.
+
+ d. Die oben unter 4.a) bis c) genannten Einschränkungen gelten nicht für solche Teile des Schutzgegenstandes, die allein deshalb unter den Schutzgegenstandsbegriff fallen, weil sie als Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen.
+
+ e. Bezüglich Vergütung für die Nutzung des Schutzgegenstandes gilt Folgendes:
+
+ i. Unverzichtbare gesetzliche Vergütungsansprüche: Soweit unverzichtbare Vergütungsansprüche im Gegenzug für gesetzliche Lizenzen vorgesehen oder Pauschalabgabensysteme (zum Beispiel für Leermedien) vorhanden sind, behält sich der Lizenzgeber das ausschließliche Recht vor, die entsprechende Vergütung einzuziehen für jede Ausübung eines Rechts aus dieser Lizenz durch Sie.
+
+ ii. Vergütung bei Zwangslizenzen: Sofern Zwangslizenzen außerhalb dieser Lizenz vorgesehen sind und zustande kommen, behält sich der Lizenzgeber das ausschließliche Recht auf Einziehung der entsprechenden Vergütung für den Fall vor, dass Sie eine Nutzung des Schutzgegenstandes für andere als die in Abschnitt 4.b) als nicht-kommerziell definierten Zwecke vornehmen, verzichtet für alle übrigen, lizenzgerechten Fälle von Nutzung jedoch auf jegliche Vergütung.
+
+ iii. Vergütung in sonstigen Fällen: Bezüglich lizenzgerechter Nutzung des Schutzgegenstandes durch Sie, die nicht unter die beiden vorherigen Abschnitte (i) und (ii) fällt, verzichtet der Lizenzgeber auf jegliche Vergütung, unabhängig davon, ob eine Einziehung der Vergütung durch ihn selbst oder nur durch eine Verwertungsgesellschaft möglich wäre. Der Lizenzgeber behält sich jedoch das ausschließliche Recht auf Einziehung der entsprechenden Vergütung (durch ihn selbst oder eine Verwertungsgesellschaft) für den Fall vor, dass Sie eine Nutzung des Schutzgegenstandes für andere als die in Abschnitt 4.b) als nicht-kommerziell definierten Zwecke vornehmen.
+
+ f. Persönlichkeitsrechte bleiben - soweit sie bestehen - von dieser Lizenz unberührt.
+
+5. Gewährleistung
+
+SOFERN KEINE ANDERS LAUTENDE, SCHRIFTLICHE VEREINBARUNG ZWISCHEN DEM LIZENZGEBER UND IHNEN GESCHLOSSEN WURDE UND SOWEIT MÄNGEL NICHT ARGLISTIG VERSCHWIEGEN WURDEN, BIETET DER LIZENZGEBER DEN SCHUTZGEGENSTAND UND DIE EINRÄUMUNG VON RECHTEN UNTER AUSSCHLUSS JEGLICHER GEWÄHRLEISTUNG AN UND ÜBERNIMMT WEDER AUSDRÜCKLICH NOCH KONKLUDENT GARANTIEN IRGENDEINER ART. DIES UMFASST INSBESONDERE DAS FREISEIN VON SACH- UND RECHTSMÄNGELN, UNABHÄNGIG VON DEREN ERKENNBARKEIT FÜR DEN LIZENZGEBER, DIE VERKEHRSFÄHIGKEIT DES SCHUTZGEGENSTANDES, SEINE VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK SOWIE DIE KORREKTHEIT VON BESCHREIBUNGEN. DIESE GEWÄHRLEISTUNGSBESCHRÄNKUNG GILT NICHT, SOWEIT MÄNGEL ZU SCHÄDEN DER IN ABSCHNITT 6 BEZEICHNETEN ART FÜHREN UND AUF SEITEN DES LIZENZGEBERS DAS JEWEILS GENANNTE VERSCHULDEN BZW. VERTRETENMÜSSEN EBENFALLS VORLIEGT.
+
+6. Haftungsbeschränkung
+
+DER LIZENZGEBER HAFTET IHNEN GEGENÜBER IN BEZUG AUF SCHÄDEN AUS DER VERLETZUNG DES LEBENS, DES KÖRPERS ODER DER GESUNDHEIT NUR, SOFERN IHM WENIGSTENS FAHRLÄSSIGKEIT VORZUWERFEN IST, FÜR SONSTIGE SCHÄDEN NUR BEI GROBER FAHRLÄSSIGKEIT ODER VORSATZ, UND ÜBERNIMMT DARÜBER HINAUS KEINERLEI FREIWILLIGE HAFTUNG.
+
+7. Erlöschen
+
+ a. Diese Lizenz und die durch sie eingeräumten Nutzungsrechte erlöschen mit Wirkung für die Zukunft im Falle eines Verstoßes gegen die Lizenzbedingungen durch Sie, ohne dass es dazu der Kenntnis des Lizenzgebers vom Verstoß oder einer weiteren Handlung einer der Vertragsparteien bedarf. Mit natürlichen oder juristischen Personen, die den Schutzgegenstand enthaltende Sammelwerke unter den Bedingungen dieser Lizenz von Ihnen erhalten haben, bestehen nachträglich entstandene Lizenzbeziehungen jedoch solange weiter, wie die genannten Personen sich ihrerseits an sämtliche Lizenzbedingungen halten. Darüber hinaus gelten die Ziffern 1, 2, 5, 6, 7, und 8 auch nach einem Erlöschen dieser Lizenz fort.
+
+ b. Vorbehaltlich der oben genannten Bedingungen gilt diese Lizenz unbefristet bis der rechtliche Schutz für den Schutzgegenstand ausläuft. Davon abgesehen behält der Lizenzgeber das Recht, den Schutzgegenstand unter anderen Lizenzbedingungen anzubieten oder die eigene Weitergabe des Schutzgegenstandes jederzeit einzustellen, solange die Ausübung dieses Rechts nicht einer Kündigung oder einem Widerruf dieser Lizenz (oder irgendeiner Weiterlizenzierung, die auf Grundlage dieser Lizenz bereits erfolgt ist bzw. zukünftig noch erfolgen muss) dient und diese Lizenz unter Berücksichtigung der oben zum Erlöschen genannten Bedingungen vollumfänglich wirksam bleibt.
+
+8. Sonstige Bestimmungen
+
+ a. Jedes Mal wenn Sie den Schutzgegenstand für sich genommen oder als Teil eines Sammelwerkes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ b. Sollte eine Bestimmung dieser Lizenz unwirksam sein, so bleibt davon die Wirksamkeit der Lizenz im Übrigen unberührt.
+
+ c. Keine Bestimmung dieser Lizenz soll als abbedungen und kein Verstoß gegen sie als zulässig gelten, solange die von dem Verzicht oder von dem Verstoß betroffene Seite nicht schriftlich zugestimmt hat.
+
+ d. Diese Lizenz (zusammen mit in ihr ausdrücklich vorgesehenen Erlaubnissen, Mitteilungen und Zustimmungen, soweit diese tatsächlich vorliegen) stellt die vollständige Vereinbarung zwischen dem Lizenzgeber und Ihnen in Bezug auf den Schutzgegenstand dar. Es bestehen keine Abreden, Vereinbarungen oder Erklärungen in Bezug auf den Schutzgegenstand, die in dieser Lizenz nicht genannt sind. Rechtsgeschäftliche Änderungen des Verhältnisses zwischen dem Lizenzgeber und Ihnen sind nur über Modifikationen dieser Lizenz möglich. Der Lizenzgeber ist an etwaige zusätzliche, einseitig durch Sie übermittelte Bestimmungen nicht gebunden. Diese Lizenz kann nur durch schriftliche Vereinbarung zwischen Ihnen und dem Lizenzgeber modifiziert werden. Derlei Modifikationen wirken ausschließlich zwischen dem Lizenzgeber und Ihnen und wirken sich nicht auf die Dritten gemäß Ziffern 8.a) angeboteten Lizenzen aus.
+
+ e. Sofern zwischen Ihnen und dem Lizenzgeber keine anderweitige Vereinbarung getroffen wurde und soweit Wahlfreiheit besteht, findet auf diesen Lizenzvertrag das Recht der Bundesrepublik Deutschland Anwendung.
+
+Creative Commons Notice
+
+Creative Commons ist nicht Partei dieser Lizenz und übernimmt keinerlei Gewähr oder dergleichen in Bezug auf den Schutzgegenstand. Creative Commons haftet Ihnen oder einer anderen Partei unter keinem rechtlichen Gesichtspunkt für irgendwelche Schäden, die - abstrakt oder konkret, zufällig oder vorhersehbar - im Zusammenhang mit dieser Lizenz entstehen. Unbeschadet der vorangegangen beiden Sätze, hat Creative Commons alle Rechte und Pflichten eines Lizenzgebers, wenn es sich ausdrücklich als Lizenzgeber im Sinne dieser Lizenz bezeichnet.
+
+Creative Commons gewährt den Parteien nur insoweit das Recht, das Logo und die Marke "Creative Commons" zu nutzen, als dies notwendig ist, um der Öffentlichkeit gegenüber kenntlich zu machen, dass der Schutzgegenstand unter einer CCPL steht. Ein darüber hinaus gehender Gebrauch der Marke "Creative Commons" oder einer verwandten Marke oder eines verwandten Logos bedarf der vorherigen schriftlichen Zustimmung von Creative Commons. Jeder erlaubte Gebrauch richtet sich nach der Creative Commons Marken-Nutzungs-Richtlinie in der jeweils aktuellen Fassung, die von Zeit zu Zeit auf der Website veröffentlicht oder auf andere Weise auf Anfrage zugänglich gemacht wird. Zur Klarstellung: Die genannten Einschränkungen der Markennutzung sind nicht Bestandteil dieser Lizenz.
+
+Creative Commons kann kontaktiert werden über https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-NC-ND-3.0-IGO b/poky/meta/files/common-licenses/CC-BY-NC-ND-3.0-IGO
new file mode 100644
index 000000000..c5b3226c1
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-NC-ND-3.0-IGO
@@ -0,0 +1,99 @@
+Attribution-NonCommercial-NoDerivs 3.0 IGO
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. THE LICENSOR IS NOT NECESSARILY AN INTERGOVERNMENTAL ORGANIZATION (IGO), AS DEFINED IN THE LICENSE BELOW.
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("LICENSE"). THE LICENSOR (DEFINED BELOW) HOLDS COPYRIGHT AND OTHER RIGHTS IN THE WORK. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION FOR YOUR ACCEPTANCE AND AGREEMENT TO THE TERMS OF THE LICENSE.
+
+1. Definitions
+
+ a. "IGO" means, solely and exclusively for purposes of this License, an organization established by a treaty or other instrument governed by international law and possessing its own international legal personality. Other organizations established to carry out activities across national borders and that accordingly enjoy immunity from legal process are also IGOs for the sole and exclusive purposes of this License. IGOs may include as members, in addition to states, other entities.
+
+ b. "Work" means the literary and/or artistic work eligible for copyright protection, whatever may be the mode or form of its expression including digital form, and offered under the terms of this License. It is understood that a database, which by reason of the selection and arrangement of its contents constitutes an intellectual creation, is considered a Work.
+
+ c. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License and may be, but is not necessarily, an IGO.
+
+ d. "You" means an individual or entity exercising rights under this License.
+
+ e. "Reproduce" means to make a copy of the Work in any manner or form, and by any means.
+
+ f. "Distribute" means the activity of making publicly available the Work (or copies of the Work), as applicable, by sale, rental, public lending or any other known form of transfer of ownership or possession of the Work or copy of the Work.
+
+ g. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+
+ h. "Adaptation" means a work derived from or based upon the Work, or upon the Work and other pre-existing works. Adaptations may include works such as translations, derivative works, or any alterations and arrangements of any kind involving the Work. For purposes of this License, where the Work is a musical work, performance, or phonogram, the synchronization of the Work in timed-relation with a moving image is an Adaptation. For the avoidance of doubt, including the Work in a Collection is not an Adaptation.
+
+ i. "Collection" means a collection of literary or artistic works or other works or subject matter other than works listed in Section 1(b) which by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. For the avoidance of doubt, a Collection will not be considered as an Adaptation.
+
+2. Scope of this License. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright protection.
+
+3. License Grant. Subject to the terms and conditions of this License, the Licensor hereby grants You a worldwide, royalty-free, non-exclusive license to exercise the rights in the Work as follows:
+
+ a. to Reproduce, Distribute and Publicly Perform the Work, to incorporate the Work into one or more Collections, and to Reproduce, Distribute and Publicly Perform the Work as incorporated in the Collections.
+
+This License lasts for the duration of the term of the copyright in the Work licensed by the Licensor. The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. All rights not expressly granted by the Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d).
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work (see section 8(a)). You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from a Licensor You must, to the extent practicable, remove from the Collection any credit (inclusive of any logo, trademark, official mark or official emblem) as required by Section 4(c), as requested.
+
+ b. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be primarily intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
+
+ c. If You Distribute, or Publicly Perform the Work or any Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) any attributions that the Licensor indicates be associated with the Work as indicated in a copyright notice, (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that the Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributors to the Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Licensor or others designated for attribution, of You or Your use of the Work, without the separate, express prior written permission of the Licensor or such others.
+
+ d. For the avoidance of doubt:
+
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and,
+
+ iii. Voluntary License Schemes. To the extent possible, the Licensor waives the right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary licensing scheme. In all other cases the Licensor expressly reserves the right to collect such royalties.
+
+ e. Except as otherwise agreed in writing by the Licensor, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the honor or reputation of the Licensor where moral rights apply.
+
+5. Representations, Warranties and Disclaimer
+
+THE LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE.
+
+6. Limitation on Liability
+
+IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. Subject to the terms and conditions set forth in this License, the license granted here lasts for the duration of the term of the copyright in the Work licensed by the Licensor as stated in Section 3. Notwithstanding the above, the Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated below.
+
+ b. If You fail to comply with this License, then this License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. Notwithstanding the foregoing, this License reinstates automatically as of the date the violation is cured, provided it is cured within 30 days of You discovering the violation, or upon express reinstatement by the Licensor. For the avoidance of doubt, this Section 7(b) does not affect any rights the Licensor may have to seek remedies for violations of this License by You.
+
+8. Miscellaneous
+
+ a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. If any provision of this License is invalid or unenforceable, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the Licensor.
+
+ d. This License constitutes the entire agreement between You and the Licensor with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. The Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+ e. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). Interpretation of the scope of the rights granted by the Licensor and the conditions imposed on You under this License, this License, and the rights and conditions set forth herein shall be made with reference to copyright as determined in accordance with general principles of international law, including the above mentioned conventions.
+
+ f. Nothing in this License constitutes or may be interpreted as a limitation upon or waiver of any privileges and immunities that may apply to the Licensor or You, including immunity from the legal processes of any jurisdiction, national court or other authority.
+
+ g. Where the Licensor is an IGO, any and all disputes arising under this License that cannot be settled amicably shall be resolved in accordance with the following procedure:
+
+ i. Pursuant to a notice of mediation communicated by reasonable means by either You or the Licensor to the other, the dispute shall be submitted to non-binding mediation conducted in accordance with rules designated by the Licensor in the copyright notice published with the Work, or if none then in accordance with those communicated in the notice of mediation. The language used in the mediation proceedings shall be English unless otherwise agreed.
+
+ ii. If any such dispute has not been settled within 45 days following the date on which the notice of mediation is provided, either You or the Licensor may, pursuant to a notice of arbitration communicated by reasonable means to the other, elect to have the dispute referred to and finally determined by arbitration. The arbitration shall be conducted in accordance with the rules designated by the Licensor in the copyright notice published with the Work, or if none then in accordance with the UNCITRAL Arbitration Rules as then in force. The arbitral tribunal shall consist of a sole arbitrator and the language of the proceedings shall be English unless otherwise agreed. The place of arbitration shall be where the Licensor has its headquarters. The arbitral proceedings shall be conducted remotely (e.g., via telephone conference or written submissions) whenever practicable.
+
+ iii. Interpretation of this License in any dispute submitted to mediation or arbitration shall be as set forth in Section 8(e), above.
+
+Creative Commons Notice
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of the Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License.
+
+Creative Commons may be contacted at https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-NC-ND-4.0 b/poky/meta/files/common-licenses/CC-BY-NC-ND-4.0
new file mode 100644
index 000000000..6f2a684c1
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-NC-ND-4.0
@@ -0,0 +1,155 @@
+Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International
+
+ Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public.
+
+Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ c. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ d. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ e. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ f. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ g. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ h. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
+
+ i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
+
+ B. produce and reproduce, but not Share, Adapted Material for NonCommercial purposes only.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material, You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ For the avoidance of doubt, You do not have permission under this Public License to Share Adapted Material.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only and provided You do not Share Adapted Material;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/poky/meta/files/common-licenses/CC-BY-NC-SA-2.0-FR b/poky/meta/files/common-licenses/CC-BY-NC-SA-2.0-FR
new file mode 100644
index 000000000..9f7f9103e
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-NC-SA-2.0-FR
@@ -0,0 +1,93 @@
+Creative Commons Paternité - Pas d'Utilisation Commerciale - Partage Des Conditions Initiales A l'Identique 2.0
+
+ Creative Commons n'est pas un cabinet d'avocats et ne fournit pas de services de conseil juridique. La distribution de la présente version de ce contrat ne crée aucune relation juridique entre les parties au contrat présenté ci-après et Creative Commons. Creative Commons fournit cette offre de contrat-type en l'état, à seule fin d'information. Creative Commons ne saurait être tenu responsable des éventuels préjudices résultant du contenu ou de l'utilisation de ce contrat.
+
+Contrat
+
+L'Oeuvre (telle que définie ci-dessous) est mise à disposition selon les termes du présent contrat appelé Contrat Public Creative Commons (dénommé ici « CPCC » ou « Contrat »). L'Oeuvre est protégée par le droit de la propriété littéraire et artistique (droit d'auteur, droits voisins, droits des producteurs de bases de données) ou toute autre loi applicable. Toute utilisation de l'Oeuvre autrement qu'explicitement autorisée selon ce Contrat ou le droit applicable est interdite.
+
+L'exercice sur l'Oeuvre de tout droit proposé par le présent contrat vaut acceptation de celui-ci. Selon les termes et les obligations du présent contrat, la partie Offrante propose à la partie Acceptante l'exercice de certains droits présentés ci-après, et l'Acceptant en approuve les termes et conditions d'utilisation.
+
+1. Définitions
+
+ a. « Oeuvre » : oeuvre de l'esprit protégeable par le droit de la propriété littéraire et artistique ou toute loi applicable et qui est mise à disposition selon les termes du présent Contrat.
+
+ b. « Oeuvre dite Collective » : une oeuvre dans laquelle l'oeuvre, dans sa forme intégrale et non modifiée, est assemblée en un ensemble collectif avec d'autres contributions qui constituent en elles-mêmes des oeuvres séparées et indépendantes. Constituent notamment des Oeuvres dites Collectives les publications périodiques, les anthologies ou les encyclopédies. Aux termes de la présente autorisation, une oeuvre qui constitue une Oeuvre dite Collective ne sera pas considérée comme une Oeuvre dite Dérivée (telle que définie ci-après).
+
+ c. « Oeuvre dite Dérivée » : une oeuvre créée soit à partir de l'Oeuvre seule, soit à partir de l'Oeuvre et d'autres oeuvres préexistantes. Constituent notamment des Oeuvres dites Dérivées les traductions, les arrangements musicaux, les adaptations théâtrales, littéraires ou cinématographiques, les enregistrements sonores, les reproductions par un art ou un procédé quelconque, les résumés, ou toute autre forme sous laquelle l'Oeuvre puisse être remaniée, modifiée, transformée ou adaptée, à l'exception d'une oeuvre qui constitue une Oeuvre dite Collective. Une Oeuvre dite Collective ne sera pas considérée comme une Oeuvre dite Dérivée aux termes du présent Contrat. Dans le cas où l'Oeuvre serait une composition musicale ou un enregistrement sonore, la synchronisation de l'oeuvre avec une image animée sera considérée comme une Oeuvre dite Dérivée pour les propos de ce Contrat.
+
+ d. « Auteur original » : la ou les personnes physiques qui ont créé l'Oeuvre.
+
+ e. « Offrant » : la ou les personne(s) physique(s) ou morale(s) qui proposent la mise à disposition de l'Oeuvre selon les termes du présent Contrat.
+
+ f. « Acceptant » : la personne physique ou morale qui accepte le présent contrat et exerce des droits sans en avoir violé les termes au préalable ou qui a reçu l'autorisation expresse de l'Offrant d'exercer des droits dans le cadre du présent contrat malgré une précédente violation de ce contrat.
+
+ g. « Options du Contrat » : les attributs génériques du Contrat tels qu'ils ont été choisis par l'Offrant et indiqués dans le titre de ce Contrat : Paternité - Pas d'Utilisation Commerciale - Partage Des Conditions Initiales A l'Identique.
+
+2. Exceptions aux droits exclusifs. Aucune disposition de ce contrat n'a pour intention de réduire, limiter ou restreindre les prérogatives issues des exceptions aux droits, de l'épuisement des droits ou d'autres limitations aux droits exclusifs des ayants droit selon le droit de la propriété littéraire et artistique ou les autres lois applicables.
+
+3. Autorisation. Soumis aux termes et conditions définis dans cette autorisation, et ceci pendant toute la durée de protection de l'Oeuvre par le droit de la propriété littéraire et artistique ou le droit applicable, l'Offrant accorde à l'Acceptant l'autorisation mondiale d'exercer à titre gratuit et non exclusif les droits suivants :
+
+ a. reproduire l'Oeuvre, incorporer l'Oeuvre dans une ou plusieurs Oeuvres dites Collectives et reproduire l'Oeuvre telle qu'incorporée dans lesdites Oeuvres dites Collectives;
+
+ b. créer et reproduire des Oeuvres dites Dérivées;
+
+ c. distribuer des exemplaires ou enregistrements, présenter, représenter ou communiquer l'Oeuvre au public par tout procédé technique, y compris incorporée dans des Oeuvres Collectives;
+
+ d. distribuer des exemplaires ou phonogrammes, présenter, représenter ou communiquer au public des Oeuvres dites Dérivées par tout procédé technique;
+
+ e. lorsque l'Oeuvre est une base de données, extraire et réutiliser des parties substantielles de l'Oeuvre.
+
+Les droits mentionnés ci-dessus peuvent être exercés sur tous les supports, médias, procédés techniques et formats. Les droits ci-dessus incluent le droit d'effectuer les modifications nécessaires techniquement à l'exercice des droits dans d'autres formats et procédés techniques. L'exercice de tous les droits qui ne sont pas expressément autorisés par l'Offrant ou dont il n'aurait pas la gestion demeure réservé, notamment les mécanismes de gestion collective obligatoire applicables décrits à l'article 4(e).
+
+4. Restrictions. L'autorisation accordée par l'article 3 est expressément assujettie et limitée par le respect des restrictions suivantes :
+
+
+ a. L'Acceptant peut reproduire, distribuer, représenter ou communiquer au public l'Oeuvre y compris par voie numérique uniquement selon les termes de ce Contrat. L'Acceptant doit inclure une copie ou l'adresse Internet (Identifiant Uniforme de Ressource) du présent Contrat à toute reproduction ou enregistrement de l'Oeuvre que l'Acceptant distribue, représente ou communique au public y compris par voie numérique. L'Acceptant ne peut pas offrir ou imposer de conditions d'utilisation de l'Oeuvre qui altèrent ou restreignent les termes du présent Contrat ou l'exercice des droits qui y sont accordés au bénéficiaire. L'Acceptant ne peut pas céder de droits sur l'Oeuvre. L'Acceptant doit conserver intactes toutes les informations qui renvoient à ce Contrat et à l'exonération de responsabilité. L'Acceptant ne peut pas reproduire, distribuer, représenter ou communiquer au public l'Oeuvre, y compris par voie numérique, en utilisant une mesure technique de contrôle d'accès ou de contrôle d'utilisation qui serait contradictoire avec les termes de cet Accord contractuel. Les mentions ci-dessus s'appliquent à l'Oeuvre telle qu'incorporée dans une Oeuvre dite Collective, mais, en dehors de l'Oeuvre en elle-même, ne soumettent pas l'Oeuvre dite Collective, aux termes du présent Contrat. Si l'Acceptant crée une Oeuvre dite Collective, à la demande de tout Offrant, il devra, dans la mesure du possible, retirer de l'Oeuvre dite Collective toute référence au dit Offrant, comme demandé. Si l'Acceptant crée une Oeuvre dite Collective, à la demande de tout Auteur, il devra, dans la mesure du possible, retirer de l'Oeuvre dite Collective toute référence au dit Auteur, comme demandé. Si l'Acceptant crée une Oeuvre dite Dérivée, à la demande de tout Offrant, il devra, dans la mesure du possible, retirer de l'Oeuvre dite Dérivée toute référence au dit Offrant, comme demandé. Si l'Acceptant crée une Oeuvre dite Dérivée, à la demande de tout Auteur, il devra, dans la mesure du possible, retirer de l'Oeuvre dite Dérivée toute référence au dit Auteur, comme demandé.
+
+ b. L'Acceptant peut reproduire, distribuer, représenter ou communiquer au public une Oeuvre dite Dérivée y compris par voie numérique uniquement sous les termes de ce Contrat, ou d'une version ultérieure de ce Contrat comprenant les mêmes Options du Contrat que le présent Contrat, ou un Contrat Creative Commons iCommons comprenant les mêmes Options du Contrat que le présent Contrat (par exemple Paternité - Pas d'Utilisation Commerciale - Partage Des Conditions Initiales A l'Identique 2.0 Japon). L'Acceptant doit inclure une copie ou l'adresse Internet (Identifiant Uniforme de Ressource) du présent Contrat, ou d'un autre Contrat tel que décrit à la phrase précédente, à toute reproduction ou enregistrement de l'Oeuvre dite Dérivée que l'Acceptant distribue, représente ou communique au public y compris par voie numérique. L'Acceptant ne peut pas offrir ou imposer de conditions d'utilisation sur l'Oeuvre dite Dérivée qui altèrent ou restreignent les termes du présent Contrat ou l'exercice des droits qui y sont accordés au bénéficiaire, et doit conserver intactes toutes les informations qui renvoient à ce Contrat et à l'avertissement sur les garanties. L'Acceptant ne peut pas reproduire, distribuer, représenter ou communiquer au public y compris par voie numérique l'Oeuvre dite Dérivée en utilisant une mesure technique de contrôle d'accès ou de contrôle d'utilisation qui serait contradictoire avec les termes de cet Accord contractuel. Les mentions ci-dessus s'appliquent à l'Oeuvre dite Dérivée telle qu'incorporée dans une Oeuvre dite Collective, mais, en dehors de l'Oeuvre dite Dérivée en elle-même, ne soumettent pas l'Oeuvre Collective, aux termes du présent Contrat.
+
+ c. L'Acceptant ne peut exercer aucun des droits conférés par l'article 3 avec l'intention ou l'objectif d'obtenir un profit commercial ou une compensation financière personnelle. L'échange de l'Oeuvre avec d'autres Oeuvres protégées par le droit de la propriété littéraire et artistique par le partage électronique de fichiers, ou par tout autre moyen, n'est pas considéré comme un échange avec l'intention ou l'objectif d'un profit commercial ou d'une compensation financière personnelle, dans la mesure où aucun paiement ou compensation financière n'intervient en relation avec l'échange d'Oeuvres protégées.
+
+ d. Si l'Acceptant reproduit, distribue, représente ou communique au public, y compris par voie numérique, l'Oeuvre ou toute Oeuvre dite Dérivée ou toute Oeuvre dite Collective, il doit conserver intactes toutes les informations sur le régime des droits et en attribuer la paternité à l'Auteur Original, de manière raisonnable au regard au médium ou au moyen utilisé. Il doit communiquer le nom de l'Auteur Original ou son éventuel pseudonyme s'il est indiqué ; le titre de l'Oeuvre Originale s'il est indiqué ; dans la mesure du possible, l'adresse Internet ou Identifiant Uniforme de Ressource (URI), s'il existe, spécifié par l'Offrant comme associé à l'Oeuvre, à moins que cette adresse ne renvoie pas aux informations légales (paternité et conditions d'utilisation de l'Oeuvre). Dans le cas d'une Oeuvre dite Dérivée, il doit indiquer les éléments identifiant l'utilisation l'Oeuvre dans l'Oeuvre dite Dérivée par exemple « Traduction anglaise de l'Oeuvre par l'Auteur Original » ou « Scénario basé sur l'Oeuvre par l'Auteur Original ». Ces obligations d'attribution de paternité doivent être exécutées de manière raisonnable. Cependant, dans le cas d'une Oeuvre dite Dérivée ou d'une Oeuvre dite Collective, ces informations doivent, au minimum, apparaître à la place et de manière aussi visible que celles à laquelle apparaissent les informations de même nature.
+
+ e. Dans le cas où une utilisation de l'Oeuvre serait soumise à un régime légal de gestion collective obligatoire, l'Offrant se réserve le droit exclusif de collecter ces redevances par l'intermédiaire de la société de perception et de répartition des droits compétente. Sont notamment concernés la radiodiffusion et la communication dans un lieu public de phonogrammes publiés à des fins de commerce, certains cas de retransmission par câble et satellite, la copie privée d'Oeuvres fixées sur phonogrammes ou vidéogrammes, la reproduction par reprographie.
+
+5. Garantie et exonération de responsabilité
+
+
+ a. En mettant l'Oeuvre à la disposition du public selon les termes de ce Contrat, l'Offrant déclare de bonne foi qu'à sa connaissance et dans les limites d'une enquête raisonnable :
+
+ i. L'Offrant a obtenu tous les droits sur l'Oeuvre nécessaires pour pouvoir autoriser l'exercice des droits accordés par le présent Contrat, et permettre la jouissance paisible et l'exercice licite de ces droits, ceci sans que l'Acceptant n'ait aucune obligation de verser de rémunération ou tout autre paiement ou droits, dans la limite des mécanismes de gestion collective obligatoire applicables décrits à l'article 4(e);
+
+ ii. L'Oeuvre n'est constitutive ni d'une violation des droits de tiers, notamment du droit de la propriété littéraire et artistique, du droit des marques, du droit de l'information, du droit civil ou de tout autre droit, ni de diffamation, de violation de la vie privée ou de tout autre préjudice délictuel à l'égard de toute tierce partie.
+
+ b. A l'exception des situations expressément mentionnées dans le présent Contrat ou dans un autre accord écrit, ou exigées par la loi applicable, l'Oeuvre est mise à disposition en l'état sans garantie d'aucune sorte, qu'elle soit expresse ou tacite, y compris à l'égard du contenu ou de l'exactitude de l'Oeuvre.
+
+6. Limitation de responsabilité. A l'exception des garanties d'ordre public imposées par la loi applicable et des réparations imposées par le régime de la responsabilité vis-à-vis d'un tiers en raison de la violation des garanties prévues par l'article 5 du présent contrat, l'Offrant ne sera en aucun cas tenu responsable vis-à-vis de l'Acceptant, sur la base d'aucune théorie légale ni en raison d'aucun préjudice direct, indirect, matériel ou moral, résultant de l'exécution du présent Contrat ou de l'utilisation de l'Oeuvre, y compris dans l'hypothèse où l'Offrant avait connaissance de la possible existence d'un tel préjudice.
+
+7. Résiliation
+
+ a. Tout manquement aux termes du contrat par l'Acceptant entraîne la résiliation automatique du Contrat et la fin des droits qui en découlent. Cependant, le contrat conserve ses effets envers les personnes physiques ou morales qui ont reçu de la part de l'Acceptant, en exécution du présent contrat, la mise à disposition d'Oeuvres dites Dérivées, ou d'Oeuvres dites Collectives, ceci tant qu'elles respectent pleinement leurs obligations. Les sections 1, 2, 5, 6 et 7 du contrat continuent à s'appliquer après la résiliation de celui-ci.
+
+ b. Dans les limites indiquées ci-dessus, le présent Contrat s'applique pendant toute la durée de protection de l'Oeuvre selon le droit applicable. Néanmoins, l'Offrant se réserve à tout moment le droit d'exploiter l'Oeuvre sous des conditions contractuelles différentes, ou d'en cesser la diffusion; cependant, le recours à cette option ne doit pas conduire à retirer les effets du présent Contrat (ou de tout contrat qui a été ou doit être accordé selon les termes de ce Contrat), et ce Contrat continuera à s'appliquer dans tous ses effets jusqu'à ce que sa résiliation intervienne dans les conditions décrites ci-dessus.
+
+8. Divers
+
+ a. A chaque reproduction ou communication au public par voie numérique de l'Oeuvre ou d'une Oeuvre dite Collective par l'Acceptant, l'Offrant propose au bénéficiaire une offre de mise à disposition de l'Oeuvre dans des termes et conditions identiques à ceux accordés à la partie Acceptante dans le présent Contrat.
+
+ b. A chaque reproduction ou communication au public par voie numérique d'une Oeuvre dite Dérivée par l'Acceptant, l'Offrant propose au bénéficiaire une offre de mise à disposition du bénéficiaire de l'Oeuvre originale dans des termes et conditions identiques à ceux accordés à la partie Acceptante dans le présent Contrat.
+
+ c. La nullité ou l'inapplicabilité d'une quelconque disposition de ce Contrat au regard de la loi applicable n'affecte pas celle des autres dispositions qui resteront pleinement valides et applicables. Sans action additionnelle par les parties à cet accord, lesdites dispositions devront être interprétées dans la mesure minimum nécessaire à leur validité et leur applicabilité.
+
+ d. Aucune limite, renonciation ou modification des termes ou dispositions du présent Contrat ne pourra être acceptée sans le consentement écrit et signé de la partie compétente.
+
+ e. Ce Contrat constitue le seul accord entre les parties à propos de l'Oeuvre mise ici à disposition. Il n'existe aucun élément annexe, accord supplémentaire ou mandat portant sur cette Oeuvre en dehors des éléments mentionnés ici. L'Offrant ne sera tenu par aucune disposition supplémentaire qui pourrait apparaître dans une quelconque communication en provenance de l'Acceptant. Ce Contrat ne peut être modifié sans l'accord mutuel écrit de l'Offrant et de l'Acceptant.
+
+ f. Le droit applicable est le droit français.
+
+Creative Commons n'est pas partie à ce Contrat et n'offre aucune forme de garantie relative à l'Oeuvre. Creative Commons décline toute responsabilité à l'égard de l'Acceptant ou de toute autre partie, quel que soit le fondement légal de cette responsabilité et quel que soit le préjudice subi, direct, indirect, matériel ou moral, qui surviendrait en rapport avec le présent Contrat. Cependant, si Creative Commons s'est expressément identifié comme Offrant pour mettre une Oeuvre à disposition selon les termes de ce Contrat, Creative Commons jouira de tous les droits et obligations d'un Offrant.
+
+A l'exception des fins limitées à informer le public que l'Oeuvre est mise à disposition sous CPCC, aucune des parties n'utilisera la marque « Creative Commons » ou toute autre indication ou logo afférent sans le consentement préalable écrit de Creative Commons. Toute utilisation autorisée devra être effectuée en conformité avec les lignes directrices de Creative Commons à jour au moment de l'utilisation, telles qu'elles sont disponibles sur son site Internet ou sur simple demande.
+
+Creative Commons peut être contacté à https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-NC-SA-2.0-UK b/poky/meta/files/common-licenses/CC-BY-NC-SA-2.0-UK
new file mode 100644
index 000000000..4025f2325
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-NC-SA-2.0-UK
@@ -0,0 +1,149 @@
+Creative Commons Attribution - Non-Commercial - Share-Alike 2.0 England and Wales
+
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENCE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
+
+Licence
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENCE ("CCPL" OR "LICENCE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENCE OR COPYRIGHT LAW IS PROHIBITED. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENCE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+This Creative Commons England and Wales Public Licence enables You (all capitalised terms defined below) to view, edit, modify, translate and distribute Works worldwide, under the terms of this licence, provided that You credit the Original Author.
+
+'The Licensor' [one or more legally recognised persons or entities offering the Work under the terms and conditions of this Licence]
+
+and
+
+'You'
+
+agree as follows:
+
+1. Definitions
+
+ a. "Attribution" means acknowledging all the parties who have contributed to and have rights in the Work or Collective Work under this Licence.
+
+ b. "Collective Work" means the Work in its entirety in unmodified form along with a number of other separate and independent works, assembled into a collective whole.
+
+ c. "Derivative Work" means any work created by the editing, modification, adaptation or translation of the Work in any media (however a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this Licence). For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this Licence.
+
+ d. "Licence" means this Creative Commons England and Wales Public Licence agreement.
+
+ e. "Licence Elements" means the following high-level licence attributes indicated in the title of this Licence: Attribution, Non-Commercial, Share-Alike.
+
+ f. "Non-Commercial" means "not primarily intended for or directed towards commercial advantage or private monetary compensation". The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed towards commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
+
+ g. "Original Author" means the individual (or entity) who created the Work.
+
+ h. "Work" means the work protected by copyright which is offered under the terms of this Licence.
+
+For the purpose of this Licence, when not inconsistent with the context, words in the singular number include the plural number.
+
+2. Licence Terms
+
+2.1 The Licensor hereby grants to You a worldwide, royalty-free, non-exclusive, Licence for Non-Commercial use and for the duration of copyright in the Work.
+
+You may:
+
+ • copy the Work;
+
+ • create one or more Derivative Works;
+
+ • incorporate the Work into one or more Collective Works;
+
+ • copy Derivative Works or the Work as incorporated in any Collective Work; and
+
+ • publish, distribute, archive, perform or otherwise disseminate the Work or the Work as incorporated in any Collective Work, to the public in any material form in any media whether now known or hereafter created.
+
+HOWEVER,
+
+You must not:
+
+ • impose any terms on the use to be made of the Work, the Derivative Work or the Work as incorporated in a Collective Work that alter or restrict the terms of this Licence or any rights granted under it or has the effect or intent of restricting the ability to exercise those rights;
+
+ • impose any digital rights management technology on the Work or the Work as incorporated in a Collective Work that alters or restricts the terms of this Licence or any rights granted under it or has the effect or intent of restricting the ability to exercise those rights;
+
+ • sublicense the Work;
+
+ • subject the Work to any derogatory treatment as defined in the Copyright, Designs and Patents Act 1988.
+
+FINALLY,
+
+You must:
+
+ • make reference to this Licence (by Uniform Resource Identifier (URI), spoken word or as appropriate to the media used) on all copies of the Work and Collective Works published, distributed, performed or otherwise disseminated or made available to the public by You;
+
+ • recognise the Licensor's / Original Author's right of attribution in any Work and Collective Work that You publish, distribute, perform or otherwise disseminate to the public and ensure that You credit the Licensor / Original Author as appropriate to the media used; and
+
+ • to the extent reasonably practicable, keep intact all notices that refer to this Licence, in particular the URI, if any, that the Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work.
+
+Additional Provisions for third parties making use of the Work
+
+2.2. Further licence from the Licensor
+
+Each time You publish, distribute, perform or otherwise disseminate
+
+ • the Work; or
+
+ • any Derivative Work; or
+
+ • the Work as incorporated in a Collective Work
+
+the Licensor agrees to offer to the relevant third party making use of the Work (in any of the alternatives set out above) a licence to use the Work on the same terms and conditions as granted to You hereunder.
+
+2.3. Further licence from You
+
+Each time You publish, distribute, perform or otherwise disseminate
+
+ • a Derivative Work; or
+
+ • a Derivative Work as incorporated in a Collective Work
+
+You agree to offer to the relevant third party making use of the Work (in either of the alternatives set out above) a licence to use the Derivative Work on any of the following premises:
+
+ • a licence on the same terms and conditions as the licence granted to You hereunder; or
+
+ • a later version of the licence granted to You hereunder; or
+
+ • any other Creative Commons licence with the same Licence Elements.
+
+2.4. This Licence does not affect any rights that the User may have under any applicable law, including fair use, fair dealing or any other legally recognised limitation or exception to copyright infringement.
+
+2.5. All rights not expressly granted by the Licensor are hereby reserved, including but not limited to, the exclusive right to collect, whether individually or via a licensing body, such as a collecting society, royalties for any use of the Work which results in commercial advantage or private monetary compensation.
+
+3. Warranties and Disclaimer
+
+Except as required by law, the Work is licensed by the Licensor on an "as is" and "as available" basis and without any warranty of any kind, either express or implied.
+
+4. Limit of Liability
+
+Subject to any liability which may not be excluded or limited by law the Licensor shall not be liable and hereby expressly excludes all liability for loss or damage howsoever and whenever caused to You.
+
+5. Termination
+
+The rights granted to You under this Licence shall terminate automatically upon any breach by You of the terms of this Licence. Individuals or entities who have received Collective Works from You under this Licence, however, will not have their Licences terminated provided such individuals or entities remain in full compliance with those Licences.
+
+6. General
+
+6.1. The validity or enforceability of the remaining terms of this agreement is not affected by the holding of any provision of it to be invalid or unenforceable.
+
+6.2. This Licence constitutes the entire Licence Agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. The Licensor shall not be bound by any additional provisions that may appear in any communication in any form.
+
+6.3. A person who is not a party to this Licence shall have no rights under the Contracts (Rights of Third Parties) Act 1999 to enforce any of its terms.
+
+6.4. This Licence shall be governed by the law of England and Wales and the parties irrevocably submit to the exclusive jurisdiction of the Courts of England and Wales.
+
+7. On the role of Creative Commons
+
+7.1. Neither the Licensor nor the User may use the Creative Commons logo except to indicate that the Work is licensed under a Creative Commons Licence. Any permitted use has to be in compliance with the Creative Commons trade mark usage guidelines at the time of use of the Creative Commons trade mark. These guidelines may be found on the Creative Commons website or be otherwise available upon request from time to time.
+
+7.2. Creative Commons Corporation does not profit financially from its role in providing this Licence and will not investigate the claims of any Licensor or user of the Licence.
+
+7.3. One of the conditions that Creative Commons Corporation requires of the Licensor and You is an acknowledgement of its limited role and agreement by all who use the Licence that the Corporation is not responsible to anyone for the statements and actions of You or the Licensor or anyone else attempting to use or using this Licence.
+
+7.4. Creative Commons Corporation is not a party to this Licence, and makes no warranty whatsoever in connection to the Work or in connection to the Licence, and in all events is not liable for any loss or damage resulting from the Licensor's or Your reliance on this Licence or on its enforceability.
+
+7.5. USE OF THIS LICENCE MEANS THAT YOU AND THE LICENSOR EACH ACCEPTS THESE CONDITIONS IN SECTION 7.1, 7.2, 7.3, 7.4 AND EACH ACKNOWLEDGES CREATIVE COMMONS CORPORATION'S VERY LIMITED ROLE AS A FACILITATOR OF THE LICENCE FROM THE LICENSOR TO YOU.
+
+ Creative Commons is not a party to this Licence, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this licence. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+ Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+ Creative Commons may be contacted at https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-NC-SA-3.0-DE b/poky/meta/files/common-licenses/CC-BY-NC-SA-3.0-DE
new file mode 100644
index 000000000..b56385e0c
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-NC-SA-3.0-DE
@@ -0,0 +1,126 @@
+Creative Commons Namensnennung - Keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Deutschland
+
+ CREATIVE COMMONS IST KEINE RECHTSANWALTSKANZLEI UND LEISTET KEINE RECHTSBERATUNG. DIE BEREITSTELLUNG DIESER LIZENZ FÜHRT ZU KEINEM MANDATSVERHÄLTNIS. CREATIVE COMMONS STELLT DIESE INFORMATIONEN OHNE GEWÄHR ZUR VERFÜGUNG. CREATIVE COMMONS ÜBERNIMMT KEINE GEWÄHRLEISTUNG FÜR DIE GELIEFERTEN INFORMATIONEN UND SCHLIEßT DIE HAFTUNG FÜR SCHÄDEN AUS, DIE SICH AUS DEREN GEBRAUCH ERGEBEN.
+
+Lizenz
+
+DER GEGENSTAND DIESER LIZENZ (WIE UNTER "SCHUTZGEGENSTAND" DEFINIERT) WIRD UNTER DEN BEDINGUNGEN DIESER CREATIVE COMMONS PUBLIC LICENSE ("CCPL", "LIZENZ" ODER "LIZENZVERTRAG") ZUR VERFÜGUNG GESTELLT. DER SCHUTZGEGENSTAND IST DURCH DAS URHEBERRECHT UND/ODER ANDERE GESETZE GESCHÜTZT. JEDE FORM DER NUTZUNG DES SCHUTZGEGENSTANDES, DIE NICHT AUFGRUND DIESER LIZENZ ODER DURCH GESETZE GESTATTET IST, IST UNZULÄSSIG.
+
+DURCH DIE AUSÜBUNG EINES DURCH DIESE LIZENZ GEWÄHRTEN RECHTS AN DEM SCHUTZGEGENSTAND ERKLÄREN SIE SICH MIT DEN LIZENZBEDINGUNGEN RECHTSVERBINDLICH EINVERSTANDEN. SOWEIT DIESE LIZENZ ALS LIZENZVERTRAG ANZUSEHEN IST, GEWÄHRT IHNEN DER LIZENZGEBER DIE IN DER LIZENZ GENANNTEN RECHTE UNENTGELTLICH UND IM AUSTAUSCH DAFÜR, DASS SIE DAS GEBUNDENSEIN AN DIE LIZENZBEDINGUNGEN AKZEPTIEREN.
+
+1. Definitionen
+
+ a. Der Begriff "Abwandlung" im Sinne dieser Lizenz bezeichnet das Ergebnis jeglicher Art von Veränderung des Schutzgegenstandes, solange die eigenpersönlichen Züge des Schutzgegenstandes darin nicht verblassen und daran eigene Schutzrechte entstehen. Das kann insbesondere eine Bearbeitung, Umgestaltung, Änderung, Anpassung, Übersetzung oder Heranziehung des Schutzgegenstandes zur Vertonung von Laufbildern sein. Nicht als Abwandlung des Schutzgegenstandes gelten seine Aufnahme in eine Sammlung oder ein Sammelwerk und die freie Benutzung des Schutzgegenstandes.
+
+ b. Der Begriff "Sammelwerk" im Sinne dieser Lizenz meint eine Zusammenstellung von literarischen, künstlerischen oder wissenschaftlichen Inhalten, sofern diese Zusammenstellung aufgrund von Auswahl und Anordnung der darin enthaltenen selbständigen Elemente eine geistige Schöpfung darstellt, unabhängig davon, ob die Elemente systematisch oder methodisch angelegt und dadurch einzeln zugänglich sind oder nicht.
+
+ c. "Verbreiten" im Sinne dieser Lizenz bedeutet, den Schutzgegenstand oder Abwandlungen im Original oder in Form von Vervielfältigungsstücken, mithin in körperlich fixierter Form der Öffentlichkeit anzubieten oder in Verkehr zu bringen.
+
+ d. Unter "Lizenzelementen" werden im Sinne dieser Lizenz die folgenden übergeordneten Lizenzcharakteristika verstanden, die vom Lizenzgeber ausgewählt wurden und in der Bezeichnung der Lizenz zum Ausdruck kommen: "Namensnennung", "Keine kommerzielle Nutzung", "Weitergabe unter gleichen Bedingungen".
+
+ e. Der "Lizenzgeber" im Sinne dieser Lizenz ist diejenige natürliche oder juristische Person oder Gruppe, die den Schutzgegenstand unter den Bedingungen dieser Lizenz anbietet und insoweit als Rechteinhaberin auftritt.
+
+ f. "Rechteinhaber" im Sinne dieser Lizenz ist der Urheber des Schutzgegenstandes oder jede andere natürliche oder juristische Person oder Gruppe von Personen, die am Schutzgegenstand ein Immaterialgüterrecht erlangt hat, welches die in Abschnitt 3 genannten Handlungen erfasst und bei dem eine Einräumung von Nutzungsrechten oder eine Weiterübertragung an Dritte möglich ist.
+
+ g. Der Begriff "Schutzgegenstand" bezeichnet in dieser Lizenz den literarischen, künstlerischen oder wissenschaftlichen Inhalt, der unter den Bedingungen dieser Lizenz angeboten wird. Das kann insbesondere eine persönliche geistige Schöpfung jeglicher Art, ein Werk der kleinen Münze, ein nachgelassenes Werk oder auch ein Lichtbild oder anderes Objekt eines verwandten Schutzrechts sein, unabhängig von der Art seiner Fixierung und unabhängig davon, auf welche Weise jeweils eine Wahrnehmung erfolgen kann, gleichviel ob in analoger oder digitaler Form. Soweit Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen, unterfallen auch sie dem Begriff "Schutzgegenstand" im Sinne dieser Lizenz.
+
+ h. Mit "Sie" bzw. "Ihnen" ist die natürliche oder juristische Person gemeint, die in dieser Lizenz im Abschnitt 3 genannte Nutzungen des Schutzgegenstandes vornimmt und zuvor in Hinblick auf den Schutzgegenstand nicht gegen Bedingungen dieser Lizenz verstoßen oder aber die ausdrückliche Erlaubnis des Lizenzgebers erhalten hat, die durch diese Lizenz gewährten Nutzungsrechte trotz eines vorherigen Verstoßes auszuüben.
+
+ i. Unter "Öffentlich Zeigen" im Sinne dieser Lizenz sind Veröffentlichungen und Präsentationen des Schutzgegenstandes zu verstehen, die für eine Mehrzahl von Mitgliedern der Öffentlichkeit bestimmt sind und in unkörperlicher Form mittels öffentlicher Wiedergabe in Form von Vortrag, Aufführung, Vorführung, Darbietung, Sendung, Weitersendung, zeit- und ortsunabhängiger Zugänglichmachung oder in körperlicher Form mittels Ausstellung erfolgen, unabhängig von bestimmten Veranstaltungen und unabhängig von den zum Einsatz kommenden Techniken und Verfahren, einschließlich drahtgebundener oder drahtloser Mittel und Einstellen in das Internet.
+
+ j. "Vervielfältigen" im Sinne dieser Lizenz bedeutet, mittels beliebiger Verfahren Vervielfältigungsstücke des Schutzgegenstandes herzustellen, insbesondere durch Ton- oder Bildaufzeichnungen, und umfasst auch den Vorgang, erstmals körperliche Fixierungen des Schutzgegenstandes sowie Vervielfältigungsstücke dieser Fixierungen anzufertigen, sowie die Übertragung des Schutzgegenstandes auf einen Bild- oder Tonträger oder auf ein anderes elektronisches Medium, gleichviel ob in digitaler oder analoger Form.
+
+2. Schranken des Immaterialgüterrechts. Diese Lizenz ist in keiner Weise darauf gerichtet, Befugnisse zur Nutzung des Schutzgegenstandes zu vermindern, zu beschränken oder zu vereiteln, die Ihnen aufgrund der Schranken des Urheberrechts oder anderer Rechtsnormen bereits ohne Weiteres zustehen oder sich aus dem Fehlen eines immaterialgüterrechtlichen Schutzes ergeben.
+
+3. Einräumung von Nutzungsrechten. Unter den Bedingungen dieser Lizenz räumt Ihnen der Lizenzgeber - unbeschadet unverzichtbarer Rechte und vorbehaltlich des Abschnitts 4.f) - das vergütungsfreie, räumlich und zeitlich (für die Dauer des Schutzrechts am Schutzgegenstand) unbeschränkte einfache Recht ein, den Schutzgegenstand auf die folgenden Arten und Weisen zu nutzen ("unentgeltlich eingeräumtes einfaches Nutzungsrecht für jedermann"):
+
+ a. Den Schutzgegenstand in beliebiger Form und Menge zu vervielfältigen, ihn in Sammelwerke zu integrieren und ihn als Teil solcher Sammelwerke zu vervielfältigen;
+
+ b. Abwandlungen des Schutzgegenstandes anzufertigen, einschließlich Übersetzungen unter Nutzung jedweder Medien, sofern deutlich erkennbar gemacht wird, dass es sich um Abwandlungen handelt;
+
+ c. den Schutzgegenstand, allein oder in Sammelwerke aufgenommen, öffentlich zu zeigen und zu verbreiten;
+
+ d. Abwandlungen des Schutzgegenstandes zu veröffentlichen, öffentlich zu zeigen und zu verbreiten.
+
+Das vorgenannte Nutzungsrecht wird für alle bekannten sowie für alle noch nicht bekannten Nutzungsarten eingeräumt. Es beinhaltet auch das Recht, solche Änderungen am Schutzgegenstand vorzunehmen, die für bestimmte nach dieser Lizenz zulässige Nutzungen technisch erforderlich sind. Alle sonstigen Rechte, die über diesen Abschnitt hinaus nicht ausdrücklich durch den Lizenzgeber eingeräumt werden, bleiben diesem allein vorbehalten. Soweit Datenbanken oder Zusammenstellungen von Daten Schutzgegenstand dieser Lizenz oder Teil dessen sind und einen immaterialgüterrechtlichen Schutz eigener Art genießen, verzichtet der Lizenzgeber auf sämtliche aus diesem Schutz resultierenden Rechte.
+
+4. Bedingungen. Die Einräumung des Nutzungsrechts gemäß Abschnitt 3 dieser Lizenz erfolgt ausdrücklich nur unter den folgenden Bedingungen:
+
+ a. Sie dürfen den Schutzgegenstand ausschließlich unter den Bedingungen dieser Lizenz verbreiten oder öffentlich zeigen. Sie müssen dabei stets eine Kopie dieser Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen dieser Lizenz oder die durch diese Lizenz gewährten Rechte beschränken. Sie dürfen den Schutzgegenstand nicht unterlizenzieren. Bei jeder Kopie des Schutzgegenstandes, die Sie verbreiten oder öffentlich zeigen, müssen Sie alle Hinweise unverändert lassen, die auf diese Lizenz und den Haftungsausschluss hinweisen. Wenn Sie den Schutzgegenstand verbreiten oder öffentlich zeigen, dürfen Sie (in Bezug auf den Schutzgegenstand) keine technischen Maßnahmen ergreifen, die den Nutzer des Schutzgegenstandes in der Ausübung der ihm durch diese Lizenz gewährten Rechte behindern können. Dieser Abschnitt 4.a) gilt auch für den Fall, dass der Schutzgegenstand einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt dieser Lizenz unterstellt werden muss. Sofern Sie ein Sammelwerk erstellen, müssen Sie auf die Mitteilung eines Lizenzgebers hin aus dem Sammelwerk die in Abschnitt 4.d) aufgezählten Hinweise entfernen. Wenn Sie eine Abwandlung vornehmen, müssen Sie auf die Mitteilung eines Lizenzgebers hin von der Abwandlung die in Abschnitt 4.d) aufgezählten Hinweise entfernen.
+
+ b. Sie dürfen eine Abwandlung ausschließlich unter den Bedingungen
+
+ i. dieser Lizenz,
+
+ ii. einer späteren Version dieser Lizenz mit denselben Lizenzelementen;
+
+ iii. einer rechtsordnungsspezifischen Creative-Commons-Lizenz mit denselben Lizenzelementen ab Version 3.0 aufwärts (z.B. Namensnennung - Keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 US) oder
+
+ iv. der Creative-Commons-Unported-Lizenz mit denselben Lizenzelementen ab Version 3.0 aufwärts
+
+ verbreiten oder öffentlich zeigen ("Verwendbare Lizenz").
+
+ Sie müssen stets eine Kopie der verwendbaren Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen, wenn Sie die Abwandlung verbreiten oder öffentlich zeigen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen der verwendbaren Lizenz oder die durch sie gewährten Rechte beschränken. Bei jeder Abwandlung, die Sie verbreiten oder öffentlich zeigen, müssen Sie alle Hinweise auf die verwendbare Lizenz und den Haftungsausschluss unverändert lassen. Wenn Sie die Abwandlung verbreiten oder öffentlich zeigen, dürfen Sie (in Bezug auf die Abwandlung) keine technischen Maßnahmen ergreifen, die den Nutzer der Abwandlung in der Ausübung der ihm durch die verwendbare Lizenz gewährten Rechte behindern können. Dieser Abschnitt 4.b) gilt auch für den Fall, dass die Abwandlung einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt der verwendbaren Lizenz unterstellt werden muss.
+
+ c. Die Rechteeinräumung gemäß Abschnitt 3 gilt nur für Handlungen, die nicht vorrangig auf einen geschäftlichen Vorteil oder eine geldwerte Vergütung gerichtet sind ("nicht-kommerzielle Nutzung", "Non-commercial-Option"). Wird Ihnen in Zusammenhang mit dem Schutzgegenstand dieser Lizenz ein anderer Schutzgegenstand überlassen, ohne dass eine vertragliche Verpflichtung hierzu besteht (etwa im Wege von File-Sharing), so wird dies nicht als auf geschäftlichen Vorteil oder geldwerte Vergütung gerichtet angesehen, wenn in Verbindung mit dem Austausch der Schutzgegenstände tatsächlich keine Zahlung oder geldwerte Vergütung geleistet wird.
+
+ d. Die Verbreitung und das öffentliche Zeigen des Schutzgegenstandes oder auf ihm aufbauender Abwandlungen oder ihn enthaltender Sammelwerke ist Ihnen nur unter der Bedingung gestattet, dass Sie, vorbehaltlich etwaiger Mitteilungen im Sinne von Abschnitt 4.a), alle dazu gehörenden Rechtevermerke unberührt lassen. Sie sind verpflichtet, die Rechteinhaberschaft in einer der Nutzung entsprechenden, angemessenen Form anzuerkennen, indem Sie - soweit bekannt - Folgendes angeben:
+
+ i. Den Namen (oder das Pseudonym, falls ein solches verwendet wird) des Rechteinhabers und / oder, falls der Lizenzgeber im Rechtevermerk, in den Nutzungsbedingungen oder auf andere angemessene Weise eine Zuschreibung an Dritte vorgenommen hat (z.B. an eine Stiftung, ein Verlagshaus oder eine Zeitung) ("Zuschreibungsempfänger"), Namen bzw. Bezeichnung dieses oder dieser Dritten;
+
+ ii. den Titel des Inhaltes;
+
+ iii. in einer praktikablen Form den Uniform-Resource-Identifier (URI, z.B. Internetadresse), den der Lizenzgeber zum Schutzgegenstand angegeben hat, es sei denn, dieser URI verweist nicht auf den Rechtevermerk oder die Lizenzinformationen zum Schutzgegenstand;
+
+ iv. und im Falle einer Abwandlung des Schutzgegenstandes in Übereinstimmung mit Abschnitt 3.b) einen Hinweis darauf, dass es sich um eine Abwandlung handelt.
+
+ Die nach diesem Abschnitt 4.d) erforderlichen Angaben können in jeder angemessenen Form gemacht werden; im Falle einer Abwandlung des Schutzgegenstandes oder eines Sammelwerkes müssen diese Angaben das Minimum darstellen und bei gemeinsamer Nennung mehrerer Rechteinhaber dergestalt erfolgen, dass sie zumindest ebenso hervorgehoben sind wie die Hinweise auf die übrigen Rechteinhaber. Die Angaben nach diesem Abschnitt dürfen Sie ausschließlich zur Angabe der Rechteinhaberschaft in der oben bezeichneten Weise verwenden. Durch die Ausübung Ihrer Rechte aus dieser Lizenz dürfen Sie ohne eine vorherige, separat und schriftlich vorliegende Zustimmung des Lizenzgebers und / oder des Zuschreibungsempfängers weder explizit noch implizit irgendeine Verbindung zum Lizenzgeber oder Zuschreibungsempfänger und ebenso wenig eine Unterstützung oder Billigung durch ihn andeuten.
+
+ e. Die oben unter 4.a) bis d) genannten Einschränkungen gelten nicht für solche Teile des Schutzgegenstandes, die allein deshalb unter den Schutzgegenstandsbegriff fallen, weil sie als Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen.
+
+ f. Bezüglich Vergütung für die Nutzung des Schutzgegenstandes gilt Folgendes:
+
+ i. Unverzichtbare gesetzliche Vergütungsansprüche: Soweit unverzichtbare Vergütungsansprüche im Gegenzug für gesetzliche Lizenzen vorgesehen oder Pauschalabgabensysteme (zum Beispiel für Leermedien) vorhanden sind, behält sich der Lizenzgeber das ausschließliche Recht vor, die entsprechende Vergütung einzuziehen für jede Ausübung eines Rechts aus dieser Lizenz durch Sie.
+
+ ii. Vergütung bei Zwangslizenzen: Sofern Zwangslizenzen außerhalb dieser Lizenz vorgesehen sind und zustande kommen, behält sich der Lizenzgeber das ausschließliche Recht auf Einziehung der entsprechenden Vergütung für den Fall vor, dass Sie eine Nutzung des Schutzgegenstandes für andere als die in Abschnitt 4.c) als nicht-kommerziell definierten Zwecke vornehmen, verzichtet für alle übrigen, lizenzgerechten Fälle von Nutzung jedoch auf jegliche Vergütung.
+
+ iii. Vergütung in sonstigen Fällen: Bezüglich lizenzgerechter Nutzung des Schutzgegenstandes durch Sie, die nicht unter die beiden vorherigen Abschnitte (i) und (ii) fällt, verzichtet der Lizenzgeber auf jegliche Vergütung, unabhängig davon, ob eine Einziehung der Vergütung durch ihn selbst oder nur durch eine Verwertungsgesellschaft möglich wäre. Der Lizenzgeber behält sich jedoch das ausschließliche Recht auf Einziehung der entsprechenden Vergütung (durch ihn selbst oder eine Verwertungsgesellschaft) für den Fall vor, dass Sie eine Nutzung des Schutzgegenstandes für andere als die in Abschnitt 4.c) als nicht-kommerziell definierten Zwecke vornehmen.
+
+ g. Persönlichkeitsrechte bleiben - soweit sie bestehen - von dieser Lizenz unberührt.
+
+5. Gewährleistung
+
+SOFERN KEINE ANDERS LAUTENDE, SCHRIFTLICHE VEREINBARUNG ZWISCHEN DEM LIZENZGEBER UND IHNEN GESCHLOSSEN WURDE UND SOWEIT MÄNGEL NICHT ARGLISTIG VERSCHWIEGEN WURDEN, BIETET DER LIZENZGEBER DEN SCHUTZGEGENSTAND UND DIE EINRÄUMUNG VON RECHTEN UNTER AUSSCHLUSS JEGLICHER GEWÄHRLEISTUNG AN UND ÜBERNIMMT WEDER AUSDRÜCKLICH NOCH KONKLUDENT GARANTIEN IRGENDEINER ART. DIES UMFASST INSBESONDERE DAS FREISEIN VON SACH- UND RECHTSMÄNGELN, UNABHÄNGIG VON DEREN ERKENNBARKEIT FÜR DEN LIZENZGEBER, DIE VERKEHRSFÄHIGKEIT DES SCHUTZGEGENSTANDES, SEINE VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK SOWIE DIE KORREKTHEIT VON BESCHREIBUNGEN. DIESE GEWÄHRLEISTUNGSBESCHRÄNKUNG GILT NICHT, SOWEIT MÄNGEL ZU SCHÄDEN DER IN ABSCHNITT 6 BEZEICHNETEN ART FÜHREN UND AUF SEITEN DES LIZENZGEBERS DAS JEWEILS GENANNTE VERSCHULDEN BZW. VERTRETENMÜSSEN EBENFALLS VORLIEGT.
+
+6. Haftungsbeschränkung
+
+DER LIZENZGEBER HAFTET IHNEN GEGENÜBER IN BEZUG AUF SCHÄDEN AUS DER VERLETZUNG DES LEBENS, DES KÖRPERS ODER DER GESUNDHEIT NUR, SOFERN IHM WENIGSTENS FAHRLÄSSIGKEIT VORZUWERFEN IST, FÜR SONSTIGE SCHÄDEN NUR BEI GROBER FAHRLÄSSIGKEIT ODER VORSATZ, UND ÜBERNIMMT DARÜBER HINAUS KEINERLEI FREIWILLIGE HAFTUNG.
+
+7. Erlöschen
+
+ a. Diese Lizenz und die durch sie eingeräumten Nutzungsrechte erlöschen mit Wirkung für die Zukunft im Falle eines Verstoßes gegen die Lizenzbedingungen durch Sie, ohne dass es dazu der Kenntnis des Lizenzgebers vom Verstoß oder einer weiteren Handlung einer der Vertragsparteien bedarf. Mit natürlichen oder juristischen Personen, die Abwandlungen des Schutzgegenstandes oder diesen enthaltende Sammelwerke unter den Bedingungen dieser Lizenz von Ihnen erhalten haben, bestehen nachträglich entstandene Lizenzbeziehungen jedoch solange weiter, wie die genannten Personen sich ihrerseits an sämtliche Lizenzbedingungen halten. Darüber hinaus gelten die Ziffern 1, 2, 5, 6, 7, und 8 auch nach einem Erlöschen dieser Lizenz fort.
+
+ b. Vorbehaltlich der oben genannten Bedingungen gilt diese Lizenz unbefristet bis der rechtliche Schutz für den Schutzgegenstand ausläuft. Davon abgesehen behält der Lizenzgeber das Recht, den Schutzgegenstand unter anderen Lizenzbedingungen anzubieten oder die eigene Weitergabe des Schutzgegenstandes jederzeit einzustellen, solange die Ausübung dieses Rechts nicht einer Kündigung oder einem Widerruf dieser Lizenz (oder irgendeiner Weiterlizenzierung, die auf Grundlage dieser Lizenz bereits erfolgt ist bzw. zukünftig noch erfolgen muss) dient und diese Lizenz unter Berücksichtigung der oben zum Erlöschen genannten Bedingungen vollumfänglich wirksam bleibt.
+
+8. Sonstige Bestimmungen
+
+ a. Jedes Mal wenn Sie den Schutzgegenstand für sich genommen oder als Teil eines Sammelwerkes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ b. Jedes Mal wenn Sie eine Abwandlung des Schutzgegenstandes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz am ursprünglichen Schutzgegenstand zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ c. Sollte eine Bestimmung dieser Lizenz unwirksam sein, so bleibt davon die Wirksamkeit der Lizenz im Übrigen unberührt.
+
+ d. Keine Bestimmung dieser Lizenz soll als abbedungen und kein Verstoß gegen sie als zulässig gelten, solange die von dem Verzicht oder von dem Verstoß betroffene Seite nicht schriftlich zugestimmt hat.
+
+ e. Diese Lizenz (zusammen mit in ihr ausdrücklich vorgesehenen Erlaubnissen, Mitteilungen und Zustimmungen, soweit diese tatsächlich vorliegen) stellt die vollständige Vereinbarung zwischen dem Lizenzgeber und Ihnen in Bezug auf den Schutzgegenstand dar. Es bestehen keine Abreden, Vereinbarungen oder Erklärungen in Bezug auf den Schutzgegenstand, die in dieser Lizenz nicht genannt sind. Rechtsgeschäftliche Änderungen des Verhältnisses zwischen dem Lizenzgeber und Ihnen sind nur über Modifikationen dieser Lizenz möglich. Der Lizenzgeber ist an etwaige zusätzliche, einseitig durch Sie übermittelte Bestimmungen nicht gebunden. Diese Lizenz kann nur durch schriftliche Vereinbarung zwischen Ihnen und dem Lizenzgeber modifiziert werden. Derlei Modifikationen wirken ausschließlich zwischen dem Lizenzgeber und Ihnen und wirken sich nicht auf die Dritten gemäß Ziffern 8.a) und b) angeboteten Lizenzen aus.
+
+ f. Sofern zwischen Ihnen und dem Lizenzgeber keine anderweitige Vereinbarung getroffen wurde und soweit Wahlfreiheit besteht, findet auf diesen Lizenzvertrag das Recht der Bundesrepublik Deutschland Anwendung.
+
+Creative Commons Notice
+
+Creative Commons ist nicht Partei dieser Lizenz und übernimmt keinerlei Gewähr oder dergleichen in Bezug auf den Schutzgegenstand. Creative Commons haftet Ihnen oder einer anderen Partei unter keinem rechtlichen Gesichtspunkt für irgendwelche Schäden, die - abstrakt oder konkret, zufällig oder vorhersehbar - im Zusammenhang mit dieser Lizenz entstehen. Unbeschadet der vorangegangen beiden Sätze, hat Creative Commons alle Rechte und Pflichten eines Lizenzgebers, wenn es sich ausdrücklich als Lizenzgeber im Sinne dieser Lizenz bezeichnet.
+
+Creative Commons gewährt den Parteien nur insoweit das Recht, das Logo und die Marke "Creative Commons" zu nutzen, als dies notwendig ist, um der Öffentlichkeit gegenüber kenntlich zu machen, dass der Schutzgegenstand unter einer CCPL steht. Ein darüber hinaus gehender Gebrauch der Marke "Creative Commons" oder einer verwandten Marke oder eines verwandten Logos bedarf der vorherigen schriftlichen Zustimmung von Creative Commons. Jeder erlaubte Gebrauch richtet sich nach der Creative Commons Marken-Nutzungs-Richtlinie in der jeweils aktuellen Fassung, die von Zeit zu Zeit auf der Website veröffentlicht oder auf andere Weise auf Anfrage zugänglich gemacht wird. Zur Klarstellung: Die genannten Einschränkungen der Markennutzung sind nicht Bestandteil dieser Lizenz.
+
+Creative Commons kann kontaktiert werden über https://creativecommons.org/.
+
diff --git a/poky/meta/files/common-licenses/CC-BY-NC-SA-3.0-IGO b/poky/meta/files/common-licenses/CC-BY-NC-SA-3.0-IGO
new file mode 100644
index 000000000..e03be0e88
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-NC-SA-3.0-IGO
@@ -0,0 +1,105 @@
+Attribution-NonCommercial-ShareAlike 3.0 IGO
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. THE LICENSOR IS NOT NECESSARILY AN INTERGOVERNMENTAL ORGANIZATION (IGO), AS DEFINED IN THE LICENSE BELOW.
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE (“LICENSE”). THE LICENSOR (DEFINED BELOW) HOLDS COPYRIGHT AND OTHER RIGHTS IN THE WORK. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION FOR YOUR ACCEPTANCE AND AGREEMENT TO THE TERMS OF THE LICENSE.
+
+1. Definitions
+
+ a. "IGO" means, solely and exclusively for purposes of this License, an organization established by a treaty or other instrument governed by international law and possessing its own international legal personality. Other organizations established to carry out activities across national borders and that accordingly enjoy immunity from legal process are also IGOs for the sole and exclusive purposes of this License. IGOs may include as members, in addition to states, other entities.
+
+ b. "Work" means the literary and/or artistic work eligible for copyright protection, whatever may be the mode or form of its expression including digital form, and offered under the terms of this License. It is understood that a database, which by reason of the selection and arrangement of its contents constitutes an intellectual creation, is considered a Work.
+
+ c. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License and may be, but is not necessarily, an IGO.
+
+ d. "You" means an individual or entity exercising rights under this License.
+
+ e. "License Elements" means the following high-level license attributes as selected by the Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike.
+
+ f. "Reproduce" means to make a copy of the Work in any manner or form, and by any means.
+
+ g. "Distribute" means the activity of making publicly available the Work or Adaptation (or copies of the Work or Adaptation), as applicable, by sale, rental, public lending or any other known form of transfer of ownership or possession of the Work or copy of the Work.
+
+ h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+
+ i. "Adaptation" means a work derived from or based upon the Work, or upon the Work and other pre-existing works. Adaptations may include works such as translations, derivative works, or any alterations and arrangements of any kind involving the Work. For purposes of this License, where the Work is a musical work, performance, or phonogram, the synchronization of the Work in timed-relation with a moving image is an Adaptation. For the avoidance of doubt, including the Work in a Collection is not an Adaptation.
+
+ j. "Collection" means a collection of literary or artistic works or other works or subject matter other than works listed in Section 1(b) which by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. For the avoidance of doubt, a Collection will not be considered as an Adaptation.
+
+2. Scope of this License. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright protection.
+
+3. License Grant. Subject to the terms and conditions of this License, the Licensor hereby grants You a worldwide, royalty-free, non-exclusive license to exercise the rights in the Work as follows:
+
+ a. to Reproduce, Distribute and Publicly Perform the Work, to incorporate the Work into one or more Collections, and to Reproduce, Distribute and Publicly Perform the Work as incorporated in the Collections; and,
+
+ b. to create, Reproduce, Distribute and Publicly Perform Adaptations, provided that You clearly label, demarcate or otherwise identify that changes were made to the original Work.
+
+This License lasts for the duration of the term of the copyright in the Work licensed by the Licensor. The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by the Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(e).
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work (see section 8(a)). You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from a Licensor You must, to the extent practicable, remove from the Collection any credit (inclusive of any logo, trademark, official mark or official emblem) as required by Section 4(d), as requested. If You create an Adaptation, upon notice from a Licensor You must, to the extent practicable, remove from the Adaptation any credit (inclusive of any logo, trademark, official mark or official emblem) as required by Section 4(d), as requested.
+
+ b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; or (iii) either the unported Creative Commons license or a ported Creative Commons license (either this or a later license version) containing the same License Elements (the “Applicable License”). (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform. (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License. (III) You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform. (IV) When You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License.
+
+ c. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be primarily intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
+
+ d. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) any attributions that the Licensor indicates be associated with the Work as indicated in a copyright notice, (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that the Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation. The credit required by this Section 4(d) may be implemented in any reasonable manner; provided, however, that in the case of an Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributors to the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Licensor or others designated for attribution, of You or Your use of the Work, without the separate, express prior written permission of the Licensor or such others.
+
+ e. For the avoidance of doubt:
+
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and,
+
+ iii. Voluntary License Schemes. To the extent possible, the Licensor waives the right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary licensing scheme. In all other cases the Licensor expressly reserves the right to collect such royalties.
+
+ f. Except as otherwise agreed in writing by the Licensor, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the honor or reputation of the Licensor where moral rights apply.
+
+5. Representations, Warranties and Disclaimer
+
+THE LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE.
+
+6. Limitation on Liability
+
+IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. Subject to the terms and conditions set forth in this License, the license granted here lasts for the duration of the term of the copyright in the Work licensed by the Licensor as stated in Section 3. Notwithstanding the above, the Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated below.
+
+ b. If You fail to comply with this License, then this License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. Notwithstanding the foregoing, this License reinstates automatically as of the date the violation is cured, provided it is cured within 30 days of You discovering the violation, or upon express reinstatement by the Licensor. For the avoidance of doubt, this Section 7(b) does not affect any rights the Licensor may have to seek remedies for violations of this License by You.
+
+8. Miscellaneous
+
+ a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b Each time You Distribute or Publicly Perform an Adaptation, the Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the Licensor.
+
+ e. This License constitutes the entire agreement between You and the Licensor with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. The Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+ f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). Interpretation of the scope of the rights granted by the Licensor and the conditions imposed on You under this License, this License, and the rights and conditions set forth herein shall be made with reference to copyright as determined in accordance with general principles of international law, including the above mentioned conventions.
+
+ g. Nothing in this License constitutes or may be interpreted as a limitation upon or waiver of any privileges and immunities that may apply to the Licensor or You, including immunity from the legal processes of any jurisdiction, national court or other authority.
+
+ h. Where the Licensor is an IGO, any and all disputes arising under this License that cannot be settled amicably shall be resolved in accordance with the following procedure:
+
+ i. Pursuant to a notice of mediation communicated by reasonable means by either You or the Licensor to the other, the dispute shall be submitted to non-binding mediation conducted in accordance with rules designated by the Licensor in the copyright notice published with the Work, or if none then in accordance with those communicated in the notice of mediation. The language used in the mediation proceedings shall be English unless otherwise agreed.
+
+ ii. If any such dispute has not been settled within 45 days following the date on which the notice of mediation is provided, either You or the Licensor may, pursuant to a notice of arbitration communicated by reasonable means to the other, elect to have the dispute referred to and finally determined by arbitration. The arbitration shall be conducted in accordance with the rules designated by the Licensor in the copyright notice published with the Work, or if none then in accordance with the UNCITRAL Arbitration Rules as then in force. The arbitral tribunal shall consist of a sole arbitrator and the language of the proceedings shall be English unless otherwise agreed. The place of arbitration shall be where the Licensor has its headquarters. The arbitral proceedings shall be conducted remotely (e.g., via telephone conference or written submissions) whenever practicable.
+
+ iii. Interpretation of this License in any dispute submitted to mediation or arbitration shall be as set forth in Section 8(f), above.
+
+Creative Commons Notice
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of the Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License.
+
+Creative Commons may be contacted at https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-NC-SA-4.0 b/poky/meta/files/common-licenses/CC-BY-NC-SA-4.0
new file mode 100644
index 000000000..baee873b6
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-NC-SA-4.0
@@ -0,0 +1,170 @@
+Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
+
+ Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public.
+
+Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
+
+ c. BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.
+
+ d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike.
+
+ h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ j. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ k. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
+
+ l. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ m. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ n. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
+
+ B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply.
+
+ C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified form), You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+ b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
+
+ 1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License.
+
+ 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
+
+ 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/poky/meta/files/common-licenses/CC-BY-ND-3.0-DE b/poky/meta/files/common-licenses/CC-BY-ND-3.0-DE
new file mode 100644
index 000000000..c89d92798
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-ND-3.0-DE
@@ -0,0 +1,101 @@
+Creative Commons Namensnennung - Keine Bearbeitungen 3.0 Deutschland
+
+ CREATIVE COMMONS IST KEINE RECHTSANWALTSKANZLEI UND LEISTET KEINE RECHTSBERATUNG. DIE BEREITSTELLUNG DIESER LIZENZ FÜHRT ZU KEINEM MANDATSVERHÄLTNIS. CREATIVE COMMONS STELLT DIESE INFORMATIONEN OHNE GEWÄHR ZUR VERFÜGUNG. CREATIVE COMMONS ÜBERNIMMT KEINE GEWÄHRLEISTUNG FÜR DIE GELIEFERTEN INFORMATIONEN UND SCHLIEßT DIE HAFTUNG FÜR SCHÄDEN AUS, DIE SICH AUS DEREN GEBRAUCH ERGEBEN.
+
+Lizenz
+
+DER GEGENSTAND DIESER LIZENZ (WIE UNTER "SCHUTZGEGENSTAND" DEFINIERT) WIRD UNTER DEN BEDINGUNGEN DIESER CREATIVE COMMONS PUBLIC LICENSE ("CCPL", "LIZENZ" ODER "LIZENZVERTRAG") ZUR VERFÜGUNG GESTELLT. DER SCHUTZGEGENSTAND IST DURCH DAS URHEBERRECHT UND/ODER ANDERE GESETZE GESCHÜTZT. JEDE FORM DER NUTZUNG DES SCHUTZGEGENSTANDES, DIE NICHT AUFGRUND DIESER LIZENZ ODER DURCH GESETZE GESTATTET IST, IST UNZULÄSSIG.
+
+DURCH DIE AUSÜBUNG EINES DURCH DIESE LIZENZ GEWÄHRTEN RECHTS AN DEM SCHUTZGEGENSTAND ERKLÄREN SIE SICH MIT DEN LIZENZBEDINGUNGEN RECHTSVERBINDLICH EINVERSTANDEN. SOWEIT DIESE LIZENZ ALS LIZENZVERTRAG ANZUSEHEN IST, GEWÄHRT IHNEN DER LIZENZGEBER DIE IN DER LIZENZ GENANNTEN RECHTE UNENTGELTLICH UND IM AUSTAUSCH DAFÜR, DASS SIE DAS GEBUNDENSEIN AN DIE LIZENZBEDINGUNGEN AKZEPTIEREN.
+
+1. Definitionen
+
+ a. Der Begriff "Abwandlung" im Sinne dieser Lizenz bezeichnet das Ergebnis jeglicher Art von Veränderung des Schutzgegenstandes, solange die eigenpersönlichen Züge des Schutzgegenstandes darin nicht verblassen und daran eigene Schutzrechte entstehen. Das kann insbesondere eine Bearbeitung, Umgestaltung, Änderung, Anpassung, Übersetzung oder Heranziehung des Schutzgegenstandes zur Vertonung von Laufbildern sein. Nicht als Abwandlung des Schutzgegenstandes gelten seine Aufnahme in eine Sammlung oder ein Sammelwerk und die freie Benutzung des Schutzgegenstandes.
+
+ b. Der Begriff "Sammelwerk" im Sinne dieser Lizenz meint eine Zusammenstellung von literarischen, künstlerischen oder wissenschaftlichen Inhalten, sofern diese Zusammenstellung aufgrund von Auswahl und Anordnung der darin enthaltenen selbständigen Elemente eine geistige Schöpfung darstellt, unabhängig davon, ob die Elemente systematisch oder methodisch angelegt und dadurch einzeln zugänglich sind oder nicht.
+
+ c. "Verbreiten" im Sinne dieser Lizenz bedeutet, den Schutzgegenstand im Original oder in Form von Vervielfältigungsstücken, mithin in körperlich fixierter Form der Öffentlichkeit anzubieten oder in Verkehr zu bringen.
+
+ d. Der "Lizenzgeber" im Sinne dieser Lizenz ist diejenige natürliche oder juristische Person oder Gruppe, die den Schutzgegenstand unter den Bedingungen dieser Lizenz anbietet und insoweit als Rechteinhaberin auftritt.
+
+ e. "Rechteinhaber" im Sinne dieser Lizenz ist der Urheber des Schutzgegenstandes oder jede andere natürliche oder juristische Person oder Gruppe von Personen, die am Schutzgegenstand ein Immaterialgüterrecht erlangt hat, welches die in Abschnitt 3 genannten Handlungen erfasst und bei dem eine Einräumung von Nutzungsrechten oder eine Weiterübertragung an Dritte möglich ist.
+
+ f. Der Begriff "Schutzgegenstand" bezeichnet in dieser Lizenz den literarischen, künstlerischen oder wissenschaftlichen Inhalt, der unter den Bedingungen dieser Lizenz angeboten wird. Das kann insbesondere eine persönliche geistige Schöpfung jeglicher Art, ein Werk der kleinen Münze, ein nachgelassenes Werk oder auch ein Lichtbild oder anderes Objekt eines verwandten Schutzrechts sein, unabhängig von der Art seiner Fixierung und unabhängig davon, auf welche Weise jeweils eine Wahrnehmung erfolgen kann, gleichviel ob in analoger oder digitaler Form. Soweit Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen, unterfallen auch sie dem Begriff "Schutzgegenstand" im Sinne dieser Lizenz.
+
+ g. Mit "Sie" bzw. "Ihnen" ist die natürliche oder juristische Person gemeint, die in dieser Lizenz im Abschnitt 3 genannte Nutzungen des Schutzgegenstandes vornimmt und zuvor in Hinblick auf den Schutzgegenstand nicht gegen Bedingungen dieser Lizenz verstoßen oder aber die ausdrückliche Erlaubnis des Lizenzgebers erhalten hat, die durch diese Lizenz gewährten Nutzungsrechte trotz eines vorherigen Verstoßes auszuüben.
+
+ h. Unter "Öffentlich Zeigen" im Sinne dieser Lizenz sind Veröffentlichungen und Präsentationen des Schutzgegenstandes zu verstehen, die für eine Mehrzahl von Mitgliedern der Öffentlichkeit bestimmt sind und in unkörperlicher Form mittels öffentlicher Wiedergabe in Form von Vortrag, Aufführung, Vorführung, Darbietung, Sendung, Weitersendung, zeit- und ortsunabhängiger Zugänglichmachung oder in körperlicher Form mittels Ausstellung erfolgen, unabhängig von bestimmten Veranstaltungen und unabhängig von den zum Einsatz kommenden Techniken und Verfahren, einschließlich drahtgebundener oder drahtloser Mittel und Einstellen in das Internet.
+
+ i. "Vervielfältigen" im Sinne dieser Lizenz bedeutet, mittels beliebiger Verfahren Vervielfältigungsstücke des Schutzgegenstandes herzustellen, insbesondere durch Ton- oder Bildaufzeichnungen, und umfasst auch den Vorgang, erstmals körperliche Fixierungen des Schutzgegenstandes sowie Vervielfältigungsstücke dieser Fixierungen anzufertigen, sowie die Übertragung des Schutzgegenstandes auf einen Bild- oder Tonträger oder auf ein anderes elektronisches Medium, gleichviel ob in digitaler oder analoger Form.
+
+2. Schranken des Immaterialgüterrechts. Diese Lizenz ist in keiner Weise darauf gerichtet, Befugnisse zur Nutzung des Schutzgegenstandes zu vermindern, zu beschränken oder zu vereiteln, die Ihnen aufgrund der Schranken des Urheberrechts oder anderer Rechtsnormen bereits ohne Weiteres zustehen oder sich aus dem Fehlen eines immaterialgüterrechtlichen Schutzes ergeben.
+
+3. Einräumung von Nutzungsrechten. Unter den Bedingungen dieser Lizenz räumt Ihnen der Lizenzgeber - unbeschadet unverzichtbarer Rechte und vorbehaltlich des Abschnitts 3.c) - das vergütungsfreie, räumlich und zeitlich (für die Dauer des Schutzrechts am Schutzgegenstand) unbeschränkte einfache Recht ein, den Schutzgegenstand auf die folgenden Arten und Weisen zu nutzen ("unentgeltlich eingeräumtes einfaches Nutzungsrecht für jedermann"):
+
+ a. Den Schutzgegenstand in beliebiger Form und Menge zu vervielfältigen, ihn in Sammelwerke zu integrieren und ihn als Teil solcher Sammelwerke zu vervielfältigen;
+
+ b. den Schutzgegenstand, allein oder in Sammelwerke aufgenommen, öffentlich zu zeigen und zu verbreiten.
+
+ c. Bezüglich Vergütung für die Nutzung des Schutzgegenstandes gilt Folgendes:
+
+ i. Unverzichtbare gesetzliche Vergütungsansprüche: Soweit unverzichtbare Vergütungsansprüche im Gegenzug für gesetzliche Lizenzen vorgesehen oder Pauschalabgabensysteme (zum Beispiel für Leermedien) vorhanden sind, behält sich der Lizenzgeber das ausschließliche Recht vor, die entsprechende Vergütung einzuziehen für jede Ausübung eines Rechts aus dieser Lizenz durch Sie.
+
+ ii. Vergütung bei Zwangslizenzen: Sofern Zwangslizenzen außerhalb dieser Lizenz vorgesehen sind und zustande kommen, verzichtet der Lizenzgeber für alle Fälle einer lizenzgerechten Nutzung des Schutzgegenstandes durch Sie auf jegliche Vergütung.
+
+ iii. Vergütung in sonstigen Fällen: Bezüglich lizenzgerechter Nutzung des Schutzgegenstandes durch Sie, die nicht unter die beiden vorherigen Abschnitte (i) und (ii) fällt, verzichtet der Lizenzgeber auf jegliche Vergütung, unabhängig davon, ob eine Einziehung der Vergütung durch ihn selbst oder nur durch eine Verwertungsgesellschaft möglich wäre.
+
+Das vorgenannte Nutzungsrecht wird für alle bekannten sowie für alle noch nicht bekannten Nutzungsarten eingeräumt. Es beinhaltet auch das Recht, solche Änderungen am Schutzgegenstand vorzunehmen, die für bestimmte nach dieser Lizenz zulässige Nutzungen technisch erforderlich sind. Weitergehende Änderungen oder Abwandlungen sind jedoch untersagt. Alle sonstigen Rechte, die über diesen Abschnitt hinaus nicht ausdrücklich durch den Lizenzgeber eingeräumt werden, bleiben diesem allein vorbehalten. Soweit Datenbanken oder Zusammenstellungen von Daten Schutzgegenstand dieser Lizenz oder Teil dessen sind und einen immaterialgüterrechtlichen Schutz eigener Art genießen, verzichtet der Lizenzgeber auf sämtliche aus diesem Schutz resultierenden Rechte.
+
+4. Bedingungen. Die Einräumung des Nutzungsrechts gemäß Abschnitt 3 dieser Lizenz erfolgt ausdrücklich nur unter den folgenden Bedingungen:
+
+ a. Sie dürfen den Schutzgegenstand ausschließlich unter den Bedingungen dieser Lizenz verbreiten oder öffentlich zeigen. Sie müssen dabei stets eine Kopie dieser Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen dieser Lizenz oder die durch diese Lizenz gewährten Rechte beschränken. Sie dürfen den Schutzgegenstand nicht unterlizenzieren. Bei jeder Kopie des Schutzgegenstandes, die Sie verbreiten oder öffentlich zeigen, müssen Sie alle Hinweise unverändert lassen, die auf diese Lizenz und den Haftungsausschluss hinweisen. Wenn Sie den Schutzgegenstand verbreiten oder öffentlich zeigen, dürfen Sie (in Bezug auf den Schutzgegenstand) keine technischen Maßnahmen ergreifen, die den Nutzer des Schutzgegenstandes in der Ausübung der ihm durch diese Lizenz gewährten Rechte behindern können. Dieser Abschnitt 4.a) gilt auch für den Fall, dass der Schutzgegenstand einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt dieser Lizenz unterstellt werden muss. Sofern Sie ein Sammelwerk erstellen, müssen Sie auf die Mitteilung eines Lizenzgebers hin aus dem Sammelwerk die in Abschnitt 4.b) aufgezählten Hinweise entfernen.
+
+ b. Die Verbreitung und das öffentliche Zeigen des Schutzgegenstandes oder ihn enthaltender Sammelwerke ist Ihnen nur unter der Bedingung gestattet, dass Sie, vorbehaltlich etwaiger Mitteilungen im Sinne von Abschnitt 4.a), alle dazu gehörenden Rechtevermerke unberührt lassen. Sie sind verpflichtet, die Rechteinhaberschaft in einer der Nutzung entsprechenden, angemessenen Form anzuerkennen, indem Sie - soweit bekannt - Folgendes angeben:
+
+ i. Den Namen (oder das Pseudonym, falls ein solches verwendet wird) des Rechteinhabers und / oder, falls der Lizenzgeber im Rechtevermerk, in den Nutzungsbedingungen oder auf andere angemessene Weise eine Zuschreibung an Dritte vorgenommen hat (z.B. an eine Stiftung, ein Verlagshaus oder eine Zeitung) ("Zuschreibungsempfänger"), Namen bzw. Bezeichnung dieses oder dieser Dritten;
+
+ ii. den Titel des Inhaltes;
+
+ iii. in einer praktikablen Form den Uniform-Resource-Identifier (URI, z.B. Internetadresse), den der Lizenzgeber zum Schutzgegenstand angegeben hat, es sei denn, dieser URI verweist nicht auf den Rechtevermerk oder die Lizenzinformationen zum Schutzgegenstand.
+
+ Die nach diesem Abschnitt 4.b) erforderlichen Angaben können in jeder angemessenen Form gemacht werden; im Falle eines Sammelwerkes müssen diese Angaben das Minimum darstellen und bei gemeinsamer Nennung mehrerer Rechteinhaber dergestalt erfolgen, dass sie zumindest ebenso hervorgehoben sind wie die Hinweise auf die übrigen Rechteinhaber. Die Angaben nach diesem Abschnitt dürfen Sie ausschließlich zur Angabe der Rechteinhaberschaft in der oben bezeichneten Weise verwenden. Durch die Ausübung Ihrer Rechte aus dieser Lizenz dürfen Sie ohne eine vorherige, separat und schriftlich vorliegende Zustimmung des Lizenzgebers und / oder des Zuschreibungsempfängers weder explizit noch implizit irgendeine Verbindung zum Lizenzgeber oder Zuschreibungsempfänger und ebenso wenig eine Unterstützung oder Billigung durch ihn andeuten.
+
+ c. Die oben unter 4.a) und b) genannten Einschränkungen gelten nicht für solche Teile des Schutzgegenstandes, die allein deshalb unter den Schutzgegenstandsbegriff fallen, weil sie als Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen.
+
+ d. Persönlichkeitsrechte bleiben - soweit sie bestehen - von dieser Lizenz unberührt.
+
+5. Gewährleistung
+
+SOFERN KEINE ANDERS LAUTENDE, SCHRIFTLICHE VEREINBARUNG ZWISCHEN DEM LIZENZGEBER UND IHNEN GESCHLOSSEN WURDE UND SOWEIT MÄNGEL NICHT ARGLISTIG VERSCHWIEGEN WURDEN, BIETET DER LIZENZGEBER DEN SCHUTZGEGENSTAND UND DIE EINRÄUMUNG VON RECHTEN UNTER AUSSCHLUSS JEGLICHER GEWÄHRLEISTUNG AN UND ÜBERNIMMT WEDER AUSDRÜCKLICH NOCH KONKLUDENT GARANTIEN IRGENDEINER ART. DIES UMFASST INSBESONDERE DAS FREISEIN VON SACH- UND RECHTSMÄNGELN, UNABHÄNGIG VON DEREN ERKENNBARKEIT FÜR DEN LIZENZGEBER, DIE VERKEHRSFÄHIGKEIT DES SCHUTZGEGENSTANDES, SEINE VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK SOWIE DIE KORREKTHEIT VON BESCHREIBUNGEN. DIESE GEWÄHRLEISTUNGSBESCHRÄNKUNG GILT NICHT, SOWEIT MÄNGEL ZU SCHÄDEN DER IN ABSCHNITT 6 BEZEICHNETEN ART FÜHREN UND AUF SEITEN DES LIZENZGEBERS DAS JEWEILS GENANNTE VERSCHULDEN BZW. VERTRETENMÜSSEN EBENFALLS VORLIEGT.
+
+6. Haftungsbeschränkung
+
+DER LIZENZGEBER HAFTET IHNEN GEGENÜBER IN BEZUG AUF SCHÄDEN AUS DER VERLETZUNG DES LEBENS, DES KÖRPERS ODER DER GESUNDHEIT NUR, SOFERN IHM WENIGSTENS FAHRLÄSSIGKEIT VORZUWERFEN IST, FÜR SONSTIGE SCHÄDEN NUR BEI GROBER FAHRLÄSSIGKEIT ODER VORSATZ, UND ÜBERNIMMT DARÜBER HINAUS KEINERLEI FREIWILLIGE HAFTUNG.
+
+7. Erlöschen
+
+ a. Diese Lizenz und die durch sie eingeräumten Nutzungsrechte erlöschen mit Wirkung für die Zukunft im Falle eines Verstoßes gegen die Lizenzbedingungen durch Sie, ohne dass es dazu der Kenntnis des Lizenzgebers vom Verstoß oder einer weiteren Handlung einer der Vertragsparteien bedarf. Mit natürlichen oder juristischen Personen, die den Schutzgegenstand enthaltende Sammelwerke unter den Bedingungen dieser Lizenz von Ihnen erhalten haben, bestehen nachträglich entstandene Lizenzbeziehungen jedoch solange weiter, wie die genannten Personen sich ihrerseits an sämtliche Lizenzbedingungen halten. Darüber hinaus gelten die Ziffern 1, 2, 5, 6, 7, und 8 auch nach einem Erlöschen dieser Lizenz fort.
+
+ b. Vorbehaltlich der oben genannten Bedingungen gilt diese Lizenz unbefristet bis der rechtliche Schutz für den Schutzgegenstand ausläuft. Davon abgesehen behält der Lizenzgeber das Recht, den Schutzgegenstand unter anderen Lizenzbedingungen anzubieten oder die eigene Weitergabe des Schutzgegenstandes jederzeit einzustellen, solange die Ausübung dieses Rechts nicht einer Kündigung oder einem Widerruf dieser Lizenz (oder irgendeiner Weiterlizenzierung, die auf Grundlage dieser Lizenz bereits erfolgt ist bzw. zukünftig noch erfolgen muss) dient und diese Lizenz unter Berücksichtigung der oben zum Erlöschen genannten Bedingungen vollumfänglich wirksam bleibt.
+
+8. Sonstige Bestimmungen
+
+ a. Jedes Mal wenn Sie den Schutzgegenstand für sich genommen oder als Teil eines Sammelwerkes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ b. Sollte eine Bestimmung dieser Lizenz unwirksam sein, so bleibt davon die Wirksamkeit der Lizenz im Übrigen unberührt.
+
+ c. Keine Bestimmung dieser Lizenz soll als abbedungen und kein Verstoß gegen sie als zulässig gelten, solange die von dem Verzicht oder von dem Verstoß betroffene Seite nicht schriftlich zugestimmt hat.
+
+ d. Diese Lizenz (zusammen mit in ihr ausdrücklich vorgesehenen Erlaubnissen, Mitteilungen und Zustimmungen, soweit diese tatsächlich vorliegen) stellt die vollständige Vereinbarung zwischen dem Lizenzgeber und Ihnen in Bezug auf den Schutzgegenstand dar. Es bestehen keine Abreden, Vereinbarungen oder Erklärungen in Bezug auf den Schutzgegenstand, die in dieser Lizenz nicht genannt sind. Rechtsgeschäftliche Änderungen des Verhältnisses zwischen dem Lizenzgeber und Ihnen sind nur über Modifikationen dieser Lizenz möglich. Der Lizenzgeber ist an etwaige zusätzliche, einseitig durch Sie übermittelte Bestimmungen nicht gebunden. Diese Lizenz kann nur durch schriftliche Vereinbarung zwischen Ihnen und dem Lizenzgeber modifiziert werden. Derlei Modifikationen wirken ausschließlich zwischen dem Lizenzgeber und Ihnen und wirken sich nicht auf die Dritten gemäß Ziffern 8.a) angeboteten Lizenzen aus.
+
+ e. Sofern zwischen Ihnen und dem Lizenzgeber keine anderweitige Vereinbarung getroffen wurde und soweit Wahlfreiheit besteht, findet auf diesen Lizenzvertrag das Recht der Bundesrepublik Deutschland Anwendung.
+
+
+Creative Commons Notice
+
+Creative Commons ist nicht Partei dieser Lizenz und übernimmt keinerlei Gewähr oder dergleichen in Bezug auf den Schutzgegenstand. Creative Commons haftet Ihnen oder einer anderen Partei unter keinem rechtlichen Gesichtspunkt für irgendwelche Schäden, die - abstrakt oder konkret, zufällig oder vorhersehbar - im Zusammenhang mit dieser Lizenz entstehen. Unbeschadet der vorangegangen beiden Sätze, hat Creative Commons alle Rechte und Pflichten eines Lizenzgebers, wenn es sich ausdrücklich als Lizenzgeber im Sinne dieser Lizenz bezeichnet.
+
+Creative Commons gewährt den Parteien nur insoweit das Recht, das Logo und die Marke "Creative Commons" zu nutzen, als dies notwendig ist, um der Öffentlichkeit gegenüber kenntlich zu machen, dass der Schutzgegenstand unter einer CCPL steht. Ein darüber hinaus gehender Gebrauch der Marke "Creative Commons" oder einer verwandten Marke oder eines verwandten Logos bedarf der vorherigen schriftlichen Zustimmung von Creative Commons. Jeder erlaubte Gebrauch richtet sich nach der Creative Commons Marken-Nutzungs-Richtlinie in der jeweils aktuellen Fassung, die von Zeit zu Zeit auf der Website veröffentlicht oder auf andere Weise auf Anfrage zugänglich gemacht wird. Zur Klarstellung: Die genannten Einschränkungen der Markennutzung sind nicht Bestandteil dieser Lizenz.
+
+Creative Commons kann kontaktiert werden über https://creativecommons.org/.
+
diff --git a/poky/meta/files/common-licenses/CC-BY-ND-4.0 b/poky/meta/files/common-licenses/CC-BY-ND-4.0
new file mode 100644
index 000000000..09a21c735
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-ND-4.0
@@ -0,0 +1,154 @@
+Creative Commons Attribution-NoDerivatives 4.0 International
+
+ Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public.
+
+Creative Commons Attribution-NoDerivatives 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NoDerivatives 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ c. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ d. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ e. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ f. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ g. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ h. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ i. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ j. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part; and
+
+ B. produce and reproduce, but not Share, Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material, You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ 2. For the avoidance of doubt, You do not have permission under this Public License to Share Adapted Material.
+
+ 3. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 4. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database, provided You do not Share Adapted Material;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/poky/meta/files/common-licenses/CC-BY-SA-2.0-UK b/poky/meta/files/common-licenses/CC-BY-SA-2.0-UK
new file mode 100644
index 000000000..ea3df2195
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-SA-2.0-UK
@@ -0,0 +1,147 @@
+Creative Commons Attribution - Share-Alike 2.0 England and Wales
+
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENCE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
+
+Licence
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENCE ("CCPL" OR "LICENCE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENCE OR COPYRIGHT LAW IS PROHIBITED. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENCE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+This Creative Commons England and Wales Public Licence enables You (all capitalised terms defined below) to view, edit, modify, translate and distribute Works worldwide, under the terms of this licence, provided that You credit the Original Author.
+
+'The Licensor' [one or more legally recognised persons or entities offering the Work under the terms and conditions of this Licence]
+
+and
+
+'You'
+
+agree as follows:
+
+1. Definitions
+
+ a. "Attribution" means acknowledging all the parties who have contributed to and have rights in the Work or Collective Work under this Licence.
+
+ b. "Collective Work" means the Work in its entirety in unmodified form along with a number of other separate and independent works, assembled into a collective whole.
+
+ c. "Derivative Work" means any work created by the editing, modification, adaptation or translation of the Work in any media (however a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this Licence). For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this Licence.
+
+ d. "Licence" means this Creative Commons England and Wales Public Licence agreement.
+
+ e. "Licence Elements" means the following high-level licence attributes indicated in the title of this Licence: Attribution, Share-Alike.
+
+ f. "Original Author" means the individual (or entity) who created the Work.
+
+ g. "Work" means the work protected by copyright which is offered under the terms of this Licence.
+
+ h. For the purpose of this Licence, when not inconsistent with the context, words in the singular number include the plural number.
+
+2. Licence Terms
+
+2.1 The Licensor hereby grants to You a worldwide, royalty-free, non-exclusive, Licence for use and for the duration of copyright in the Work.
+
+You may:
+
+ * copy the Work;
+
+ * create one or more derivative Works;
+
+ * incorporate the Work into one or more Collective Works;
+
+ * copy Derivative Works or the Work as incorporated in any Collective Work; and
+
+ * publish, distribute, archive, perform or otherwise disseminate the Work or the Work as incorporated in any Collective Work, to the public in any material form in any media whether now known or hereafter created.
+
+HOWEVER,
+
+You must not:
+
+ * impose any terms on the use to be made of the Work, the Derivative Work or the Work as incorporated in a Collective Work that alter or restrict the terms of this Licence or any rights granted under it or has the effect or intent of restricting the ability to exercise those rights;
+
+ * impose any digital rights management technology on the Work or the Work as incorporated in a Collective Work that alters or restricts the terms of this Licence or any rights granted under it or has the effect or intent of restricting the ability to exercise those rights;
+
+ * sublicense the Work;
+
+ * subject the Work to any derogatory treatment as defined in the Copyright, Designs and Patents Act 1988.
+
+FINALLY,
+
+You must:
+
+ * make reference to this Licence (by Uniform Resource Identifier (URI), spoken word or as appropriate to the media used) on all copies of the Work and Collective Works published, distributed, performed or otherwise disseminated or made available to the public by You;
+
+ * recognise the Licensor's / Original Author's right of attribution in any Work and Collective Work that You publish, distribute, perform or otherwise disseminate to the public and ensure that You credit the Licensor / Original Author as appropriate to the media used; and
+
+ * to the extent reasonably practicable, keep intact all notices that refer to this Licence, in particular the URI, if any, that the Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work.
+
+Additional Provisions for third parties making use of the Work
+
+2.2. Further licence from the Licensor
+
+Each time You publish, distribute, perform or otherwise disseminate
+
+ * the Work; or
+
+ * any Derivative Work; or
+
+ * the Work as incorporated in a Collective Work
+
+the Licensor agrees to offer to the relevant third party making use of the Work (in any of the alternatives set out above) a licence to use the Work on the same terms and conditions as granted to You hereunder.
+
+2.3. Further licence from You
+
+Each time You publish, distribute, perform or otherwise disseminate
+
+ * a Derivative Work; or
+
+ * a Derivative Work as incorporated in a Collective Work
+
+You agree to offer to the relevant third party making use of the Work (in either of the alternatives set out above) a licence to use the Derivative Work on any of the following premises:
+
+ * a licence to the Derivative Work on the same terms and conditions as the licence granted to You hereunder; or
+
+ * a later version of the licence granted to You hereunder; or
+
+ * any other Creative Commons licence with the same Licence Elements.
+
+2.4. This Licence does not affect any rights that the User may have under any applicable law, including fair use, fair dealing or any other legally recognised limitation or exception to copyright infringement.
+
+2.5. All rights not expressly granted by the Licensor are hereby reserved, including but not limited to, the exclusive right to collect, whether individually or via a licensing body, such as a collecting society, royalties for any use of the Work which results in commercial advantage or private monetary compensation.
+
+3. Warranties and Disclaimer
+
+Except as required by law, the Work is licensed by the Licensor on an "as is" and "as available" basis and without any warranty of any kind, either express or implied.
+
+4. Limit of Liability
+
+Subject to any liability which may not be excluded or limited by law the Licensor shall not be liable and hereby expressly excludes all liability for loss or damage howsoever and whenever caused to You.
+
+5. Termination
+
+The rights granted to You under this Licence shall terminate automatically upon any breach by You of the terms of this Licence. Individuals or entities who have received Collective Works from You under this Licence, however, will not have their Licences terminated provided such individuals or entities remain in full compliance with those Licences.
+
+6. General
+
+6.1. The validity or enforceability of the remaining terms of this agreement is not affected by the holding of any provision of it to be invalid or unenforceable.
+
+6.2. This Licence constitutes the entire Licence Agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. The Licensor shall not be bound by any additional provisions that may appear in any communication in any form.
+
+6.3. A person who is not a party to this Licence shall have no rights under the Contracts (Rights of Third Parties) Act 1999 to enforce any of its terms.
+
+6.4. This Licence shall be governed by the law of England and Wales and the parties irrevocably submit to the exclusive jurisdiction of the Courts of England and Wales.
+
+7. On the role of Creative Commons
+
+7.1. Neither the Licensor nor the User may use the Creative Commons logo except to indicate that the Work is licensed under a Creative Commons Licence. Any permitted use has to be in compliance with the Creative Commons trade mark usage guidelines at the time of use of the Creative Commons trade mark. These guidelines may be found on the Creative Commons website or be otherwise available upon request from time to time.
+
+7.2. Creative Commons Corporation does not profit financially from its role in providing this Licence and will not investigate the claims of any Licensor or user of the Licence.
+
+7.3. One of the conditions that Creative Commons Corporation requires of the Licensor and You is an acknowledgement of its limited role and agreement by all who use the Licence that the Corporation is not responsible to anyone for the statements and actions of You or the Licensor or anyone else attempting to use or using this Licence.
+
+7.4. Creative Commons Corporation is not a party to this Licence, and makes no warranty whatsoever in connection to the Work or in connection to the Licence, and in all events is not liable for any loss or damage resulting from the Licensor's or Your reliance on this Licence or on its enforceability.
+
+7.5. USE OF THIS LICENCE MEANS THAT YOU AND THE LICENSOR EACH ACCEPTS THESE CONDITIONS IN SECTION 7.1, 7.2, 7.3, 7.4 AND EACH ACKNOWLEDGES CREATIVE COMMONS CORPORATION'S VERY LIMITED ROLE AS A FACILITATOR OF THE LICENCE FROM THE LICENSOR TO YOU.
+
+Creative Commons is not a party to this Licence, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this licence. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-SA-2.1-JP b/poky/meta/files/common-licenses/CC-BY-SA-2.1-JP
new file mode 100644
index 000000000..7971930e3
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-SA-2.1-JP
@@ -0,0 +1,83 @@
+アトリビューション—シェアアライク 2.1
+(帰属—同一条件許諾)
+クリエイティブ・コモンズ及びクリエイティブ・コモンズ・ジャパンは法律事務所ではありません。この利用許諾条項の頒布は法的アドバイスその他の法律業務を行うものではありません。クリエイティブ・コモンズ及びクリエイティブ・コモンズ・ジャパンは、この利用許諾の当事者ではなく、ここに提供する情報及び本作品に関しいかなる保証も行いません。クリエイティブ・コモンズ及びクリエイティブ・コモンズ・ジャパンは、いかなる法令に基づこうとも、あなた又はいかなる第三者の損害(この利用許諾に関連する通常損害、特別損害を含みますがこれらに限られません)について責任を負いません。
+
+利用許諾
+
+本作品(下記に定義する)は、このクリエイティブ・コモンズ・パブリック・ライセンス日本版(以下「この利用許諾」という)の条項の下で提供される。本作品は、著作権法及び/又は他の適用法によって保護される。本作品をこの利用許諾又は著作権法の下で授権された以外の方法で使用することを禁止する。
+
+許諾者は、かかる条項をあなたが承諾することとひきかえに、ここに規定される権利をあなたに付与する。本作品に関し、この利用許諾の下で認められるいずれかの利用を行うことにより、あなたは、この利用許諾(条項)に拘束されることを承諾し同意したこととなる。
+
+第1条 定義
+
+この利用許諾中の用語を以下のように定義する。その他の用語は、著作権法その他の法令で定める意味を持つものとする。
+
+ a. 「二次的著作物」とは、著作物を翻訳し、編曲し、若しくは変形し、または脚色し、映画化し、その他翻案することにより創作した著作物をいう。ただし、編集著作物又はデータベースの著作物(以下、この二つを併せて「編集著作物等」という。)を構成する著作物は、二次的著作物とみなされない。また、原著作者及び実演家の名誉又は声望を害する方法で原著作物を改作、変形もしくは翻案して生じる著作物は、この利用許諾の目的においては、二次的著作物に含まれない。
+ b. 「許諾者」とは、この利用許諾の条項の下で本作品を提供する個人又は団体をいう。
+ c. 「あなた」とは、この利用許諾に基づく権利を行使する個人又は団体をいう。
+ d. 「原著作者」とは、本作品に含まれる著作物を創作した個人又は団体をいう。
+ e. 「本作品」とは、この利用許諾の条項に基づいて利用する権利が付与される対象たる無体物をいい、著作物、実演、レコード、放送にかかる音又は影像、もしくは有線放送にかかる音又は影像をすべて含むものとする。
+ f. 「ライセンス要素」とは、許諾者が選択し、この利用許諾に表示されている、以下のライセンス属性をいう:帰属・同一条件許諾
+
+第2条 著作権等に対する制限
+
+この利用許諾に含まれるいかなる条項によっても、許諾者は、あなたが著作権の制限(著作権法第30条〜49条)、著作者人格権に対する制限(著作権法第18条2項〜4項、第19条2項〜4項、第20条2項)、著作隣接権に対する制限(著作権法第102条)その他、著作権法又はその他の適用法に基づいて認められることとなる本作品の利用を禁止しない。
+
+第3条 ライセンスの付与
+
+この利用許諾の条項に従い、許諾者はあなたに、本作品に関し、すべての国で、ロイヤリティ・フリー、非排他的で、(第7条bに定める期間)継続的な以下のライセンスを付与する。ただし、あなたが以前に本作品に関するこの利用許諾の条項に違反したことがないか、あるいは、以前にこの利用許諾の条項に違反したがこの利用許諾に基づく権利を行使するために許諾者から明示的な許可を得ている場合に限る。
+
+ a. 本作品に含まれる著作物(以下「本著作物」という。)を複製すること(編集著作物等に組み込み複製することを含む。以下、同じ。)、
+ b. 本著作物を翻案して二次的著作物を創作し、複製すること、
+ c. 本著作物又はその二次的著作物の複製物を頒布すること(譲渡または貸与により公衆に提供することを含む。以下同じ。)、上演すること、演奏すること、上映すること、公衆送信を行うこと(送信可能化を含む。以下、同じ。)、公に口述すること、公に展示すること、
+ d. 本作品に含まれる実演を、録音・録画すること(録音・録画物を増製することを含む)、録音・録画物により頒布すること、公衆送信を行うこと、
+ e. 本作品に含まれるレコードを、複製すること、頒布すること、公衆送信を行うこと、
+ f. 本作品に含まれる、放送に係る音又は影像を、複製すること、その放送を受信して再放送すること又は有線放送すること、その放送又はこれを受信して行う有線放送を受信して送信可能化すること、そのテレビジョン放送又はこれを受信して行う有線放送を受信して、影像を拡大する特別の装置を用いて公に伝達すること、
+ g. 本作品に含まれる、有線放送に係る音又は影像を、複製すること、その有線放送を受信して放送し、又は再有線放送すること、その有線放送を受信して送信可能化すること、その有線テレビジョン放送を受信して、影像を拡大する特別の装置を用いて公に伝達すること、
+
+上記に定められた本作品又はその二次的著作物の利用は、現在及び将来のすべての媒体・形式で行うことができる。あなたは、他の媒体及び形式で本作品又はその二次的著作物を利用するのに技術的に必要な変更を行うことができる。許諾者は本作品又はその二次的著作物に関して、この利用許諾に従った利用については自己が有する著作者人格権及び実演家人格権を行使しない。許諾者によって明示的に付与されない全ての権利は、留保される。
+
+第4条 受領者へのライセンス提供
+
+あなたが本作品をこの利用許諾に基づいて利用する度毎に、許諾者は本作品又は本作品の二次的著作物の受領者に対して、直接、この利用許諾の下であなたに許可された利用許諾と同じ条件の本作品のライセンスを提供する。
+
+第5条 制限
+
+上記第3条及び第4条により付与されたライセンスは、以下の制限に明示的に従い、制約される。
+
+ a. あなたは、この利用許諾の条項に基づいてのみ、本作品を利用することができる。
+ b. あなたは、この利用許諾又はこの利用許諾と同一のライセンス要素を含むほかのクリエイティブ・コモンズ・ライセンス(例えば、この利用許諾の新しいバージョン、又はこの利用許諾と同一のライセンス要素の他国籍ライセンスなど)に基づいてのみ、本作品の二次的著作物を利用することができる。
+ c. あなたは、本作品を利用するときは、この利用許諾の写し又はURI(Uniform Resource Identifier)を本作品の複製物に添付又は表示しなければならない。
+ d. あなたは、本作品の二次的著作物を利用するときは、この利用許諾又はこの利用許諾と同一のライセンス要素を含むほかのクリエイティブ・コモンズ・ライセンスの写し又はURIを本作品の二次的著作物の複製物に添付または表示しなければならない。
+ e. あなたは、この利用許諾条項及びこの利用許諾によって付与される利用許諾受領者の権利の行使を変更又は制限するような、本作品又はその二次的著作物に係る条件を提案したり課したりしてはならない。
+ f. あなたは、本作品を再利用許諾することができない。
+ g. あなたは、本作品又はその二次的著作物の利用にあたって、この利用許諾及びその免責条項に関する注意書きの内容を変更せず、見やすい態様でそのまま掲載しなければならない。
+ h. あなたは、この利用許諾条項と矛盾する方法で本著作物へのアクセス又は使用をコントロールするような技術的保護手段を用いて、本作品又はその二次的著作物を利用してはならない。
+ i. 本条の制限は、本作品又はその二次的著作物が編集著作物等に組み込まれた場合にも、その組み込まれた作品に関しては適用される。しかし、本作品又はその二次的著作物が組み込まれた編集著作物等そのものは、この利用許諾の条項に従う必要はない。
+ j. あなたは、本作品、その二次的著作物又は本作品を組み込んだ編集著作物等を利用する場合には、(1)本作品に係るすべての著作権表示をそのままにしておかなければならず、(2)原著作者及び実演家のクレジットを、合理的な方式で、(もし示されていれば原著作者及び実演家の名前又は変名を伝えることにより、)表示しなければならず、(3)本作品のタイトルが示されている場合には、そのタイトルを表示しなければならず、(4)許諾者が本作品に添付するよう指定したURIがあれば、合理的に実行可能な範囲で、そのURIを表示しなければならず(ただし、そのURIが本作品の著作権表示またはライセンス情報を参照するものでないときはこの限りでない。)(5)二次的著作物の場合には、当該二次的著作物中の原著作物の利用を示すクレジットを表示しなければならない。これらのクレジットは、合理的であればどんな方法でも行うことができる。しかしながら、二次的著作物又は編集著作物等の場合には、少なくとも他の同様の著作者のクレジットが表示される箇所で当該クレジットを表示し、少なくとも他の同様の著作者のクレジットと同程度に目立つ方法であることを要する。
+ k. もし、あなたが、本作品の二次的著作物、又は本作品もしくはその二次的著作物を組み込んだ編集著作物等を創作した場合、あなたは、許諾者からの通知があれば、実行可能な範囲で、要求に応じて、二次的著作物又は編集著作物等から、許諾者又は原著作者への言及をすべて除去しなければならない。
+
+第6条 責任制限
+
+この利用許諾の両当事者が書面にて別途合意しない限り、許諾者は本作品を現状のまま提供するものとし、明示・黙示を問わず、本作品に関していかなる保証(特定の利用目的への適合性、第三者の権利の非侵害、欠陥の不存在を含むが、これに限られない。)もしない。
+
+この利用許諾又はこの利用許諾に基づく本作品の利用から発生する、いかなる損害(許諾者が、本作品にかかる著作権、著作隣接権、著作者人格権、実演家人格権、商標権、パブリシティ権、不正競争防止法その他関連法規上保護される利益を有する者からの許諾を得ることなく本作品の利用許諾を行ったことにより発生する損害、プライバシー侵害又は名誉毀損から発生する損害等の通常損害、及び特別損害を含むが、これに限らない。)についても、許諾者に故意又は重大な過失がある場合を除き、許諾者がそのような損害発生の可能性を知らされたか否かを問わず、許諾者は、あなたに対し、これを賠償する責任を負わない。
+
+第7条 終了
+
+ a. この利用許諾は、あなたがこの利用許諾の条項に違反すると自動的に終了する。しかし、本作品、その二次的著作物又は編集著作物等をあなたからこの利用許諾に基づき受領した第三者に対しては、その受領者がこの利用許諾を遵守している限り、この利用許諾は終了しない。第1条、第2条、第4条から第9条は、この利用許諾が終了してもなお有効に存続する。
+ b. 上記aに定める場合を除き、この利用許諾に基づくライセンスは、本作品に含まれる著作権法上の権利が存続するかぎり継続する。
+ c. 許諾者は、上記aおよびbに関わらず、いつでも、本作品をこの利用許諾に基づいて頒布することを将来に向かって中止することができる。ただし、許諾者がこの利用許諾に基づく頒布を将来に向かって中止した場合でも、この利用許諾に基づいてすでに本作品を受領した利用者に対しては、この利用許諾に基づいて過去及び将来に与えられるいかなるライセンスも終了することはない。また、上記によって終了しない限り、この利用許諾は、全面的に有効なものとして継続する。
+
+第8条 その他
+
+ a. この利用許諾のいずれかの規定が、適用法の下で無効及び/又は執行不能の場合であっても、この利用許諾の他の条項の有効性及び執行可能性には影響しない。
+ b. この利用許諾の条項の全部又は一部の放棄又はその違反に関する承諾は、これが書面にされ、当該放棄又は承諾に責任を負う当事者による署名又は記名押印がなされない限り、行うことができない。
+ c. この利用許諾は、当事者が本作品に関して行った最終かつ唯一の合意の内容である。この利用許諾は、許諾者とあなたとの相互の書面による合意なく修正されない。
+ d. この利用許諾は日本語により提供される。この利用許諾の英語その他の言語への翻訳は参照のためのものに過ぎず、この利用許諾の日本語版と翻訳との間に何らかの齟齬がある場合には日本語版が優先する。
+
+第9条 準拠法
+
+この利用許諾は、日本法に基づき解釈される。
+
+本作品がクリエイティブ・コモンズ・ライセンスに基づき利用許諾されたことを公衆に示すという限定された目的の場合を除き、許諾者も被許諾者もクリエイティブ・コモンズの事前の書面による同意なしに「クリエイティブ・コモンズ」の商標若しくは関連商標又はクリエイティブ・コモンズのロゴを使用しないものとします。使用が許可された場合はクリエイティブ・コモンズおよびクリエイティブ・コモンズ・ジャパンのウェブサイト上に公表される、又はその他随時要求に従い利用可能となる、クリエイティブ・コモンズの当該時点における商標使用指針を遵守するものとします。クリエイティブ・コモンズは https://creativecommons.org/から、クリエイティブ・コモンズ・ジャパンはhttp://www.creativecommons.jp/から連絡することができます。
diff --git a/poky/meta/files/common-licenses/CC-BY-SA-3.0-AT b/poky/meta/files/common-licenses/CC-BY-SA-3.0-AT
new file mode 100644
index 000000000..365b5f705
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-SA-3.0-AT
@@ -0,0 +1,139 @@
+CREATIVE COMMONS IST KEINE RECHTSANWALTSKANZLEI UND LEISTET KEINE RECHTSBERATUNG. DIE BEREITSTELLUNG DIESER LIZENZ FÜHRT ZU KEINEM MANDATSVERHÄLTNIS. CREATIVE COMMONS STELLT DIESE INFORMATIONEN OHNE GEWÄHR ZUR VERFÜGUNG. CREATIVE COMMONS ÜBERNIMMT KEINE GEWÄHRLEISTUNG FÜR DIE GELIEFERTEN INFORMATIONEN UND SCHLIEßT DIE HAFTUNG FÜR SCHÄDEN AUS, DIE SICH AUS DEREN GEBRAUCH ERGEBEN.
+
+Lizenz
+
+DER GEGENSTAND DIESER LIZENZ (WIE UNTER „SCHUTZGEGENSTAND“ DEFINIERT) WIRD UNTER DEN BEDINGUNGEN DIESER CREATIVE COMMONS PUBLIC LICENSE ("CCPL", „LIZENZ“ ODER "LIZENZVERTRAG") ZUR VERFÜGUNG GESTELLT. DER SCHUTZGEGENSTAND IST DURCH DAS URHEBERRECHT UND/ODER ANDERE GESETZE GESCHÜTZT. JEDE FORM DER NUTZUNG DES SCHUTZGEGENSTANDES, DIE NICHT AUFGRUND DIESER LIZENZ ODER DURCH GESETZE GESTATTET IST, IST UNZULÄSSIG.
+
+DURCH DIE AUSÜBUNG EINES DURCH DIESE LIZENZ GEWÄHRTEN RECHTS AN DEM SCHUTZGEGENSTAND ERKLÄREN SIE SICH MIT DEN LIZENZBEDINGUNGEN RECHTSVERBINDLICH EINVERSTANDEN. SOWEIT DIESE LIZENZ ALS LIZENZVERTRAG ANZUSEHEN IST, GEWÄHRT IHNEN DER LIZENZGEBER DIE IN DER LIZENZ GENANNTEN RECHTE UNENTGELTLICH UND IM AUSTAUSCH DAFÜR, DASS SIE DAS GEBUNDENSEIN AN DIE LIZENZBEDINGUNGEN AKZEPTIEREN.
+
+1. Definitionen
+
+ a. Der Begriff "Bearbeitung" im Sinne dieser Lizenz bezeichnet das Ergebnis jeglicher Art von Veränderung des Schutzgegenstandes, solange dieses erkennbar vom Schutzgegenstand abgeleitet wurde. Dies kann insbesondere auch eine Umgestaltung, Änderung, Anpassung, Übersetzung oder Heranziehung des Schutzgegenstandes zur Vertonung von Laufbildern sein. Nicht als Bearbeitung des Schutzgegenstandes gelten seine Aufnahme in eine Sammlung oder ein Sammelwerk und die freie Nutzung des Schutzgegenstandes.
+
+ b. Der Begriff "Sammelwerk" im Sinne dieser Lizenz meint eine Zusammenstellung von literarischen, künstlerischen oder wissenschaftlichen Inhalten zu einem einheitlichen Ganzen, sofern diese Zusammenstellung aufgrund von Auswahl und Anordnung der darin enthaltenen selbständigen Elemente eine eigentümliche geistige Schöpfung darstellt, unabhängig davon, ob die Elemente systematisch oder methodisch angelegt und dadurch einzeln zugänglich sind oder nicht.
+
+ c. "Verbreiten" im Sinne dieser Lizenz bedeutet, den Schutzgegenstand oder Bearbeitungen im Original oder in Form von Vervielfältigungsstücken, mithin in körperlich fixierter Form der Öffentlichkeit zugänglich zu machen oder in Verkehr zu bringen.
+
+ d. Unter "Lizenzelementen" werden im Sinne dieser Lizenz die folgenden übergeordneten Lizenzcharakteristika verstanden, die vom Lizenzgeber ausgewählt wurden und in der Bezeichnung der Lizenz zum Ausdruck kommen: "Namensnennung", "Weitergabe unter gleichen Bedingungen".
+
+ e. Der "Lizenzgeber" im Sinne dieser Lizenz ist diejenige natürliche oder juristische Person oder Gruppe, die den Schutzgegenstand unter den Bedingungen dieser Lizenz anbietet und insoweit als Rechteinhaberin auftritt.
+
+ f. "Rechteinhaber" im Sinne dieser Lizenz ist der Urheber des Schutzgegenstandes oder jede andere natürliche oder juristische Person, die am Schutzgegenstand ein Immaterialgüterrecht erlangt hat, welches die in Abschnitt 3 genannten Handlungen erfasst und eine Erteilung, Übertragung oder Einräumung von Nutzungsbewilligungen bzw Nutzungsrechten an Dritte erlaubt.
+
+ g. Der Begriff "Schutzgegenstand" bezeichnet in dieser Lizenz den literarischen, künstlerischen oder wissenschaftlichen Inhalt, der unter den Bedingungen dieser Lizenz angeboten wird. Das kann insbesondere eine eigentümliche geistige Schöpfung jeglicher Art oder ein Werk der kleinen Münze, ein nachgelassenes Werk oder auch ein Lichtbild oder anderes Objekt eines verwandten Schutzrechts sein, unabhängig von der Art seiner Fixierung und unabhängig davon, auf welche Weise jeweils eine Wahrnehmung erfolgen kann, gleichviel ob in analoger oder digitaler Form. Soweit Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen, unterfallen auch sie dem Begriff „Schutzgegenstand“ im Sinne dieser Lizenz.
+
+ h. Mit "Sie" bzw. "Ihnen" ist die natürliche oder juristische Person gemeint, die in dieser Lizenz im Abschnitt 3 genannte Nutzungen des Schutzgegenstandes vornimmt und zuvor in Hinblick auf den Schutzgegenstand nicht gegen Bedingungen dieser Lizenz verstoßen oder aber die ausdrückliche Erlaubnis des Lizenzgebers erhalten hat, die durch diese Lizenz gewährte Nutzungsbewilligung trotz eines vorherigen Verstoßes auszuüben.
+
+ i. Unter "Öffentlich Wiedergeben" im Sinne dieser Lizenz sind Wahrnehmbarmachungen des Schutzgegenstandes in unkörperlicher Form zu verstehen, die für eine Mehrzahl von Mitgliedern der Öffentlichkeit bestimmt sind und mittels öffentlicher Wiedergabe in Form von Vortrag, Aufführung, Vorführung, Darbietung, Sendung, Weitersendung oder zeit- und ortsunabhängiger Zurverfügungstellung erfolgen, unabhängig von den zum Einsatz kommenden Techniken und Verfahren, einschließlich drahtgebundener oder drahtloser Mittel und Einstellen in das Internet.
+
+ j. "Vervielfältigen" im Sinne dieser Lizenz bedeutet, gleichviel in welchem Verfahren, auf welchem Träger, in welcher Menge und ob vorübergehend oder dauerhaft, Vervielfältigungsstücke des Schutzgegenstandes herzustellen, insbesondere durch Ton- oder Bildaufzeichnungen, und umfasst auch das erstmalige Festhalten des Schutzgegenstandes oder dessen Wahrnehmbarmachung auf Mitteln der wiederholbaren Wiedergabe sowie das Herstellen von Vervielfältigungsstücken dieser Festhaltung, sowie die Speicherung einer geschützten Darbietung oder eines Bild- und/oder Schallträgers in digitaler Form oder auf einem anderen elektronischen Medium.
+
+ k. "Mit Creative Commons kompatible Lizenz" bezeichnet eine Lizenz, die unter https://creativecommons.org/compatiblelicenses aufgelistet ist und die durch Creative Commons als grundsätzlich zur vorliegenden Lizenz äquivalent akzeptiert wurde, da zumindest folgende Voraussetzungen erfüllt sind:
+
+ Diese mit Creative Commons kompatible Lizenz
+
+ i. enthält Bestimmungen, welche die gleichen Ziele verfolgen, die gleiche Bedeutung haben und die gleichen Wirkungen erzeugen wie die Lizenzelemente der vorliegenden Lizenz; und
+
+ ii. erlaubt ausdrücklich das Lizenzieren von ihr unterstellten Abwandlungen unter vorliegender Lizenz, unter einer anderen rechtsordnungsspezifisch angepassten Creative-Commons-Lizenz mit denselben Lizenzelementen wie vorliegende Lizenz aufweist oder unter der entsprechenden Creative-Commons-Unported-Lizenz.
+
+2. Beschränkungen der Verwertungsrechte
+
+Diese Lizenz ist in keiner Weise darauf gerichtet, Befugnisse zur Nutzung des Schutzgegenstandes zu vermindern, zu beschränken oder zu vereiteln, die sich aus den Beschränkungen der Verwertungsrechte, anderen Beschränkungen der Ausschließlichkeitsrechte des Rechtsinhabers oder anderen entsprechenden Rechtsnormen oder sich aus dem Fehlen eines immaterialgüterrechtlichen Schutzes ergeben.
+
+3. Lizenzierung
+
+Unter den Bedingungen dieser Lizenz erteilt Ihnen der Lizenzgeber - unbeschadet unverzichtbarer Rechte und vorbehaltlich des Abschnitts 3.e) - die vergütungsfreie, räumlich und zeitlich (für die Dauer des Urheberrechts oder verwandten Schutzrechts am Schutzgegenstand) unbeschränkte Nutzungsbewilligung, den Schutzgegenstand in der folgenden Art und Weise zu nutzen:
+
+ a. Den Schutzgegenstand in beliebiger Form und Menge zu vervielfältigen, ihn in Sammelwerke zu integrieren und ihn als Teil solcher Sammelwerke zu vervielfältigen;
+
+ b. Den Schutzgegenstand zu bearbeiten, einschließlich Übersetzungen unter Nutzung jedweder Medien anzufertigen, sofern deutlich erkennbar gemacht wird, dass es sich um eine Bearbeitung handelt;
+
+ c. Den Schutzgegenstand, allein oder in Sammelwerke aufgenommen, öffentlich wiederzugeben und zu verbreiten; und
+
+ d. Bearbeitungen des Schutzgegenstandes zu veröffentlichen, öffentlich wiederzugeben und zu verbreiten.
+
+ e. Bezüglich Vergütung für die Nutzung des Schutzgegenstandes gilt Folgendes:
+
+ i. Unverzichtbare gesetzliche Vergütungsansprüche: Soweit unverzichtbare Vergütungsansprüche im Gegenzug für gesetzliche Lizenzen vorgesehen oder Pauschalabgabensysteme (zum Beispiel für Leermedien) vorhanden sind, behält sich der Lizenzgeber das ausschließliche Recht vor, die entsprechenden Vergütungsansprüche für jede Ausübung eines Rechts aus dieser Lizenz durch Sie geltend zu machen.
+
+ ii. Vergütung bei Zwangslizenzen: Soweit Zwangslizenzen außerhalb dieser Lizenz vorgesehen sind und zustande kommen, verzichtet der Lizenzgeber für alle Fälle einer lizenzgerechten Nutzung des Schutzgegenstandes durch Sie auf jegliche Vergütung.
+
+ iii. Vergütung in sonstigen Fällen: Bezüglich lizenzgerechter Nutzung des Schutzgegenstandes durch Sie, die nicht unter die beiden vorherigen Abschnitte (i) und (ii) fällt, verzichtet der Lizenzgeber auf jegliche Vergütung, unabhängig davon, ob eine Geltendmachung der Vergütungsansprüche durch ihn selbst oder nur durch eine Verwertungsgesellschaft möglich wäre.
+
+Die vorgenannte Nutzungsbewilligung wird für alle bekannten sowie alle noch nicht bekannten Nutzungsarten eingeräumt. Sie beinhaltet auch das Recht, solche Änderungen am Schutzgegenstand vorzunehmen, die für bestimmte nach dieser Lizenz zulässige Nutzungen technisch erforderlich sind. Alle sonstigen Rechte, die über diesen Abschnitt hinaus nicht ausdrücklich vom Lizenzgeber eingeräumt werden, bleiben diesem allein vorbehalten. Soweit Datenbanken oder Zusammenstellungen von Daten Schutzgegenstand dieser Lizenz oder Teil dessen sind und einen immaterialgüterrechtlichen Schutz eigener Art genießen, verzichtet der Lizenzgeber auf die Geltendmachung sämtlicher daraus resultierender Rechte.
+
+4. Bedingungen
+
+Die Erteilung der Nutzungsbewilligung gemäß Abschnitt 3 dieser Lizenz erfolgt ausdrücklich nur unter den folgenden Bedingungen:
+
+ a. Sie dürfen den Schutzgegenstand ausschließlich unter den Bedingungen dieser Lizenz verbreiten oder öffentlich wiedergeben. Sie müssen dabei stets eine Kopie dieser Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen dieser Lizenz oder die durch diese Lizenz gewährten Rechte beschränken. Sie dürfen den Schutzgegenstand nicht unterlizenzieren. Bei jeder Kopie des Schutzgegenstandes, die Sie verbreiten oder öffentlich wiedergeben, müssen Sie alle Hinweise unverändert lassen, die auf diese Lizenz und den Haftungsausschluss hinweisen. Wenn Sie den Schutzgegenstand verbreiten oder öffentlich wiedergeben, dürfen Sie (in Bezug auf den Schutzgegenstand) keine technischen Maßnahmen ergreifen, die den Nutzer des Schutzgegenstandes in der Ausübung der ihm durch diese Lizenz gewährten Rechte behindern können. Dasselbe gilt auch für den Fall, dass der Schutzgegenstand einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt dieser Lizenz unterstellt werden muss. Sofern Sie ein Sammelwerk erstellen, müssen Sie - soweit dies praktikabel ist - auf die Mitteilung eines Lizenzgebers hin aus dem Sammelwerk die in Abschnitt 4.c) aufgezählten Hinweise entfernen. Wenn Sie eine Bearbeitung vornehmen, müssen Sie – soweit dies praktikabel ist – auf die Mitteilung eines Lizenzgebers hin von der Bearbeitung die in Abschnitt 4.c) aufgezählten Hinweise entfernen.
+
+ b. Sie dürfen eine Bearbeitung ausschließlich unter den Bedingungen
+
+ i. dieser Lizenz,
+
+ ii. einer späteren Version dieser Lizenz mit denselben Lizenzelementen,
+
+ iii. einer rechtsordnungsspezifischen Creative-Commons-Lizenz mit denselben Lizenzelementen ab Version 3.0 aufwärts (z.B. Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 US),
+
+ iv. der Creative-Commons-Unported-Lizenz mit denselben Lizenzelementen ab Version 3.0 aufwärts, oder
+
+ v. einer mit Creative Commons kompatiblen Lizenz
+
+ verbreiten oder öffentlich wiedergeben.
+
+ Falls Sie die Bearbeitung gemäß Abschnitt b)(v) unter einer mit Creative Commons kompatiblen Lizenz lizenzieren, müssen Sie deren Lizenzbestimmungen Folge leisten.
+
+ Falls Sie die Bearbeitung unter einer der unter b)(i)-(iv) genannten Lizenzen ("Verwendbare Lizenzen") lizenzieren, müssen Sie deren Lizenzbestimmungen sowie folgenden Bestimmungen Folge leisten: Sie müssen stets eine Kopie der verwendbaren Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen, wenn Sie die Bearbeitung verbreiten oder öffentlich wiedergeben. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen der verwendbaren Lizenz oder die durch sie gewährten Rechte beschränken. Bei jeder Bearbeitung, die Sie verbreiten oder öffentlich wiedergeben, müssen Sie alle Hinweise auf die verwendbare Lizenz und den Haftungsausschluss unverändert lassen. Wenn Sie die Bearbeitung verbreiten oder öffentlich wiedergeben, dürfen Sie (in Bezug auf die Bearbeitung) keine technischen Maßnahmen ergreifen, die den Nutzer der Bearbeitung in der Ausübung der ihm durch die verwendbare Lizenz gewährten Rechte behindern können. Dieser Abschnitt 4.b) gilt auch für den Fall, dass die Bearbeitung einen Bestandteil eines Sammelwerkes bildet; dies bedeutet jedoch nicht, dass das Sammelwerk insgesamt der verwendbaren Lizenz unterstellt werden muss.
+
+ c. Die Verbreitung und die öffentliche Wiedergabe des Schutzgegenstandes oder auf ihm aufbauender Inhalte oder ihn enthaltender Sammelwerke ist Ihnen nur unter der Bedingung gestattet, dass Sie, vorbehaltlich etwaiger Mitteilungen im Sinne von Abschnitt 4.a), alle dazu gehörenden Rechtevermerke unberührt lassen. Sie sind verpflichtet, die Urheberschaft oder die Rechteinhaberschaft in einer der Nutzung entsprechenden, angemessenen Form anzuerkennen, indem Sie selbst – soweit bekannt – Folgendes angeben:
+
+ i. Den Namen (oder das Pseudonym, falls ein solches verwendet wird) des Rechteinhabers, und/oder falls der Lizenzgeber im Rechtevermerk, in den Nutzungsbedingungen oder auf andere angemessene Weise eine Zuschreibung an Dritte vorgenommen hat (z.B. an eine Stiftung, ein Verlagshaus oder eine Zeitung) („Zuschreibungsempfänger“), Namen bzw. Bezeichnung dieses oder dieser Dritten;
+
+ ii. den Titel des Inhaltes;
+
+ iii. in einer praktikablen Form den Uniform-Resource-Identifier (URI, z.B. Internetadresse), den der Lizenzgeber zum Schutzgegenstand angegeben hat, es sei denn, dieser URI verweist nicht auf den Rechtevermerk oder die Lizenzinformationen zum Schutzgegenstand;
+
+ iv. und im Falle einer Bearbeitung des Schutzgegenstandes in Übereinstimmung mit Abschnitt 3.b) einen Hinweis darauf, dass es sich um eine Bearbeitung handelt.
+
+ Die nach diesem Abschnitt 4.c) erforderlichen Angaben können in jeder angemessenen Form gemacht werden; im Falle einer Bearbeitung des Schutzgegenstandes oder eines Sammelwerkes müssen diese Angaben das Minimum darstellen und bei gemeinsamer Nennung aller Beitragenden dergestalt erfolgen, dass sie zumindest ebenso hervorgehoben sind wie die Hinweise auf die übrigen Rechteinhaber. Die Angaben nach diesem Abschnitt dürfen Sie ausschließlich zur Angabe der Rechteinhaberschaft in der oben bezeichneten Weise verwenden. Durch die Ausübung Ihrer Rechte aus dieser Lizenz dürfen Sie ohne eine vorherige, separat und schriftlich vorliegende Zustimmung des Urhebers, des Lizenzgebers und/oder des Zuschreibungsempfängers weder implizit noch explizit irgendeine Verbindung mit dem oder eine Unterstützung oder Billigung durch den Lizenzgeber oder den Zuschreibungsempfänger andeuten oder erklären.
+
+ d. Die oben unter 4.a) bis c) genannten Einschränkungen gelten nicht für solche Teile des Schutzgegenstandes, die allein deshalb unter den Schutzgegenstandsbegriff fallen, weil sie als Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen.
+
+ e. (Urheber)Persönlichkeitsrechte bleiben - soweit sie bestehen - von dieser Lizenz unberührt.
+
+5. Gewährleistung
+
+SOFERN KEINE ANDERS LAUTENDE, SCHRIFTLICHE VEREINBARUNG ZWISCHEN DEM LIZENZGEBER UND IHNEN GESCHLOSSEN WURDE UND SOWEIT MÄNGEL NICHT ARGLISTIG VERSCHWIEGEN WURDEN, BIETET DER LIZENZGEBER DEN SCHUTZGEGENSTAND UND DIE ERTEILUNG DER NUTZUNGSBEWILLIGUNG UNTER AUSSCHLUSS JEGLICHER GEWÄHRLEISTUNG AN UND ÜBERNIMMT WEDER AUSDRÜCKLICH NOCH KONKLUDENT GARANTIEN IRGENDEINER ART. DIES UMFASST INSBESONDERE DAS FREISEIN VON SACH- UND RECHTSMÄNGELN, UNABHÄNGIG VON DEREN ERKENNBARKEIT FÜR DEN LIZENZGEBER, DIE VERKEHRSFÄHIGKEIT DES SCHUTZGEGENSTANDES, SEINE VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK SOWIE DIE KORREKTHEIT VON BESCHREIBUNGEN.
+
+6. Haftungsbeschränkung
+
+ÜBER DIE IN ZIFFER 5 GENANNTE GEWÄHRLEISTUNG HINAUS HAFTET DER LIZENZGEBER IHNEN GEGENÜBER FÜR SCHÄDEN JEGLICHER ART NUR BEI GROBER FAHRLÄSSIGKEIT ODER VORSATZ, UND ÜBERNIMMT DARÜBER HINAUS KEINERLEI FREIWILLIGE HAFTUNG FÜR FOLGE- ODER ANDERE SCHÄDEN, AUCH WENN ER ÜBER DIE MÖGLICHKEIT IHRES EINTRITTS UNTERRICHTET WURDE.
+
+7. Erlöschen
+
+ a. Diese Lizenz und die durch sie erteilte Nutzungsbewilligung erlöschen mit Wirkung für die Zukunft im Falle eines Verstoßes gegen die Lizenzbedingungen durch Sie, ohne dass es dazu der Kenntnis des Lizenzgebers vom Verstoß oder einer weiteren Handlung einer der Vertragsparteien bedarf. Mit natürlichen oder juristischen Personen, die Bearbeitungen des Schutzgegenstandes oder diesen enthaltende Sammelwerke sowie entsprechende Vervielfältigungsstücke unter den Bedingungen dieser Lizenz von Ihnen erhalten haben, bestehen nachträglich entstandene Lizenzbeziehungen jedoch solange weiter, wie die genannten Personen sich ihrerseits an sämtliche Lizenzbedingungen halten. Darüber hinaus gelten die Ziffern 1, 2, 5, 6, 7, und 8 auch nach einem Erlöschen dieser Lizenz fort.
+
+ b. Vorbehaltlich der oben genannten Bedingungen gilt diese Lizenz unbefristet bis der rechtliche Schutz für den Schutzgegenstand ausläuft. Davon abgesehen behält der Lizenzgeber das Recht, den Schutzgegenstand unter anderen Lizenzbedingungen anzubieten oder die eigene Weitergabe des Schutzgegenstandes jederzeit einzustellen, solange die Ausübung dieses Rechts nicht einer Kündigung oder einem Widerruf dieser Lizenz (oder irgendeiner Weiterlizenzierung, die auf Grundlage dieser Lizenz bereits erfolgt ist bzw. zukünftig noch erfolgen muss) dient und diese Lizenz unter Berücksichtigung der oben zum Erlöschen genannten Bedingungen vollumfänglich wirksam bleibt.
+
+8. Sonstige Bestimmungen
+
+ a. Jedes Mal wenn Sie den Schutzgegenstand für sich genommen oder als Teil eines Sammelwerkes verbreiten oder öffentlich wiedergeben, bietet der Lizenzgeber dem Empfänger eine Lizenz zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ b. Jedes Mal wenn Sie eine Bearbeitung des Schutzgegenstandes verbreiten oder öffentlich wiedergeben, bietet der Lizenzgeber dem Empfänger eine Lizenz am ursprünglichen Schutzgegenstand zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ c. Sollte eine Bestimmung dieser Lizenz unwirksam sein, so bleibt davon die Wirksamkeit der Lizenz im Übrigen unberührt.
+
+ d. Keine Bestimmung dieser Lizenz soll als abbedungen und kein Verstoß gegen sie als zulässig gelten, solange die von dem Verzicht oder von dem Verstoß betroffene Seite nicht schriftlich zugestimmt hat.
+
+ e. Diese Lizenz (zusammen mit in ihr ausdrücklich vorgesehenen Erlaubnissen, Mitteilungen und Zustimmungen, soweit diese tatsächlich vorliegen) stellt die vollständige Vereinbarung zwischen dem Lizenzgeber und Ihnen in Bezug auf den Schutzgegenstand dar. Es bestehen keine Abreden, Vereinbarungen oder Erklärungen in Bezug auf den Schutzgegenstand, die in dieser Lizenz nicht genannt sind. Rechtsgeschäftliche Änderungen des Verhältnisses zwischen dem Lizenzgeber und Ihnen sind nur über Modifikationen dieser Lizenz möglich. Der Lizenzgeber ist an etwaige zusätzliche, einseitig durch Sie übermittelte Bestimmungen nicht gebunden. Diese Lizenz kann nur durch schriftliche Vereinbarung zwischen Ihnen und dem Lizenzgeber modifiziert werden. Derlei Modifikationen wirken ausschließlich zwischen dem Lizenzgeber und Ihnen und wirken sich nicht auf die Dritten gemäß 8.a) und b) angebotenen Lizenzen aus.
+
+ f. Sofern zwischen Ihnen und dem Lizenzgeber keine anderweitige Vereinbarung getroffen wurde und soweit Wahlfreiheit besteht, findet auf diesen Lizenzvertrag das Recht der Republik Österreich Anwendung.
+
+Creative Commons Notice
+
+Creative Commons ist nicht Partei dieser Lizenz und übernimmt keinerlei Gewähr oder dergleichen in Bezug auf den Schutzgegenstand. Creative Commons haftet Ihnen oder einer anderen Partei unter keinem rechtlichen Gesichtspunkt für irgendwelche Schäden, die - abstrakt oder konkret, zufällig oder vorhersehbar - im Zusammenhang mit dieser Lizenz entstehen. Unbeschadet der vorangegangen beiden Sätze, hat Creative Commons alle Rechte und Pflichten eines Lizenzgebers, wenn es sich ausdrücklich als Lizenzgeber im Sinne dieser Lizenz bezeichnet.
+
+Creative Commons gewährt den Parteien nur insoweit das Recht, das Logo und die Marke "Creative Commons" zu nutzen, als dies notwendig ist, um der Öffentlichkeit gegenüber kenntlich zu machen, dass der Schutzgegenstand unter einer CCPL steht. Ein darüber hinaus gehender Gebrauch der Marke "Creative Commons" oder einer verwandten Marke oder eines verwandten Logos bedarf der vorherigen schriftlichen Zustimmung von Creative Commons. Jeder erlaubte Gebrauch richtet sich nach der Creative Commons Marken-Nutzungs-Richtlinie in der jeweils aktuellen Fassung, die von Zeit zu Zeit auf der Website veröffentlicht oder auf andere Weise auf Anfrage zugänglich gemacht wird. Zur Klarstellung: Die genannten Einschränkungen der Markennutzung sind nicht Bestandteil dieser Lizenz.
+
+Creative Commons kann kontaktiert werden über https://creativecommons.org/.
diff --git a/poky/meta/files/common-licenses/CC-BY-SA-3.0-DE b/poky/meta/files/common-licenses/CC-BY-SA-3.0-DE
new file mode 100644
index 000000000..7ea586af4
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-BY-SA-3.0-DE
@@ -0,0 +1,136 @@
+Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Deutschland
+
+ CREATIVE COMMONS IST KEINE RECHTSANWALTSKANZLEI UND LEISTET KEINE RECHTSBERATUNG. DIE BEREITSTELLUNG DIESER LIZENZ FÜHRT ZU KEINEM MANDATSVERHÄLTNIS. CREATIVE COMMONS STELLT DIESE INFORMATIONEN OHNE GEWÄHR ZUR VERFÜGUNG. CREATIVE COMMONS ÜBERNIMMT KEINE GEWÄHRLEISTUNG FÜR DIE GELIEFERTEN INFORMATIONEN UND SCHLIEßT DIE HAFTUNG FÜR SCHÄDEN AUS, DIE SICH AUS DEREN GEBRAUCH ERGEBEN.
+
+Lizenz
+
+DER GEGENSTAND DIESER LIZENZ (WIE UNTER "SCHUTZGEGENSTAND" DEFINIERT) WIRD UNTER DEN BEDINGUNGEN DIESER CREATIVE COMMONS PUBLIC LICENSE ("CCPL", "LIZENZ" ODER "LIZENZVERTRAG") ZUR VERFÜGUNG GESTELLT. DER SCHUTZGEGENSTAND IST DURCH DAS URHEBERRECHT UND/ODER ANDERE GESETZE GESCHÜTZT. JEDE FORM DER NUTZUNG DES SCHUTZGEGENSTANDES, DIE NICHT AUFGRUND DIESER LIZENZ ODER DURCH GESETZE GESTATTET IST, IST UNZULÄSSIG.
+
+DURCH DIE AUSÜBUNG EINES DURCH DIESE LIZENZ GEWÄHRTEN RECHTS AN DEM SCHUTZGEGENSTAND ERKLÄREN SIE SICH MIT DEN LIZENZBEDINGUNGEN RECHTSVERBINDLICH EINVERSTANDEN. SOWEIT DIESE LIZENZ ALS LIZENZVERTRAG ANZUSEHEN IST, GEWÄHRT IHNEN DER LIZENZGEBER DIE IN DER LIZENZ GENANNTEN RECHTE UNENTGELTLICH UND IM AUSTAUSCH DAFÜR, DASS SIE DAS GEBUNDENSEIN AN DIE LIZENZBEDINGUNGEN AKZEPTIEREN.
+
+1. Definitionen
+
+ a. Der Begriff "Abwandlung" im Sinne dieser Lizenz bezeichnet das Ergebnis jeglicher Art von Veränderung des Schutzgegenstandes, solange die eigenpersönlichen Züge des Schutzgegenstandes darin nicht verblassen und daran eigene Schutzrechte entstehen. Das kann insbesondere eine Bearbeitung, Umgestaltung, Änderung, Anpassung, Übersetzung oder Heranziehung des Schutzgegenstandes zur Vertonung von Laufbildern sein. Nicht als Abwandlung des Schutzgegenstandes gelten seine Aufnahme in eine Sammlung oder ein Sammelwerk und die freie Benutzung des Schutzgegenstandes.
+
+ b. Der Begriff "Sammelwerk" im Sinne dieser Lizenz meint eine Zusammenstellung von literarischen, künstlerischen oder wissenschaftlichen Inhalten, sofern diese Zusammenstellung aufgrund von Auswahl und Anordnung der darin enthaltenen selbständigen Elemente eine geistige Schöpfung darstellt, unabhängig davon, ob die Elemente systematisch oder methodisch angelegt und dadurch einzeln zugänglich sind oder nicht.
+
+ c. "Verbreiten" im Sinne dieser Lizenz bedeutet, den Schutzgegenstand oder Abwandlungen im Original oder in Form von Vervielfältigungsstücken, mithin in körperlich fixierter Form der Öffentlichkeit anzubieten oder in Verkehr zu bringen.
+
+ d. Unter "Lizenzelementen" werden im Sinne dieser Lizenz die folgenden übergeordneten Lizenzcharakteristika verstanden, die vom Lizenzgeber ausgewählt wurden und in der Bezeichnung der Lizenz zum Ausdruck kommen: "Namensnennung", "Weitergabe unter gleichen Bedingungen".
+
+ e. Der "*Lizenzgeber*" im Sinne dieser Lizenz ist diejenige natürliche oder juristische Person oder Gruppe, die den Schutzgegenstand unter den Bedingungen dieser Lizenz anbietet und insoweit als Rechteinhaberin auftritt.
+
+ f. "Rechteinhaber" im Sinne dieser Lizenz ist der Urheber des Schutzgegenstandes oder jede andere natürliche oder juristische Person oder Gruppe von Personen, die am Schutzgegenstand ein Immaterialgüterrecht erlangt hat, welches die in Abschnitt 3 genannten Handlungen erfasst und bei dem eine Einräumung von Nutzungsrechten oder eine Weiterübertragung an Dritte möglich ist.
+
+ g. Der Begriff "Schutzgegenstand" bezeichnet in dieser Lizenz den literarischen, künstlerischen oder wissenschaftlichen Inhalt, der unter den Bedingungen dieser Lizenz angeboten wird. Das kann insbesondere eine persönliche geistige Schöpfung jeglicher Art, ein Werk der kleinen Münze, ein nachgelassenes Werk oder auch ein Lichtbild oder anderes Objekt eines verwandten Schutzrechts sein, unabhängig von der Art seiner Fixierung und unabhängig davon, auf welche Weise jeweils eine Wahrnehmung erfolgen kann, gleichviel ob in analoger oder digitaler Form. Soweit Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen, unterfallen auch sie dem Begriff "Schutzgegenstand" im Sinne dieser Lizenz.
+
+ h. Mit "Sie" bzw. "Ihnen" ist die natürliche oder juristische Person gemeint, die in dieser Lizenz im Abschnitt 3 genannte Nutzungen des Schutzgegenstandes vornimmt und zuvor in Hinblick auf den Schutzgegenstand nicht gegen Bedingungen dieser Lizenz verstoßen oder aber die ausdrückliche Erlaubnis des Lizenzgebers erhalten hat, die durch diese Lizenz gewährten Nutzungsrechte trotz eines vorherigen Verstoßes auszuüben.
+
+ i. Unter "Öffentlich Zeigen" im Sinne dieser Lizenz sind Veröffentlichungen und Präsentationen des Schutzgegenstandes zu verstehen, die für eine Mehrzahl von Mitgliedern der Öffentlichkeit bestimmt sind und in unkörperlicher Form mittels öffentlicher Wiedergabe in Form von Vortrag, Aufführung, Vorführung, Darbietung, Sendung, Weitersendung, zeit- und ortsunabhängiger Zugänglichmachung oder in körperlicher Form mittels Ausstellung erfolgen, unabhängig von bestimmten Veranstaltungen und unabhängig von den zum Einsatz kommenden Techniken und Verfahren, einschließlich drahtgebundener oder drahtloser Mittel und Einstellen in das Internet.
+
+ j. "Vervielfältigen" im Sinne dieser Lizenz bedeutet, mittels beliebiger Verfahren Vervielfältigungsstücke des Schutzgegenstandes herzustellen, insbesondere durch Ton- oder Bildaufzeichnungen, und umfasst auch den Vorgang, erstmals körperliche Fixierungen des Schutzgegenstandes sowie Vervielfältigungsstücke dieser Fixierungen anzufertigen, sowie die Übertragung des Schutzgegenstandes auf einen Bild- oder Tonträger oder auf ein anderes elektronisches Medium, gleichviel ob in digitaler oder analoger Form.
+
+ k. "Mit Creative Commons kompatible Lizenz" bezeichnet eine Lizenz, die unter https://creativecommons.org/compatiblelicenses aufgelistet ist und die durch Creative Commons als grundsätzlich zur vorliegenden Lizenz äquivalent akzeptiert wurde, da zumindest folgende Voraussetzungen erfüllt sind:
+
+ Diese mit Creative Commons kompatible Lizenz
+
+ i. enthält Bestimmungen, welche die gleichen Ziele verfolgen, die gleiche Bedeutung haben und die gleichen Wirkungen erzeugen wie die Lizenzelemente der vorliegenden Lizenz; und
+
+ ii. erlaubt ausdrücklich das Lizenzieren von ihr unterstellten Abwandlungen unter vorliegender Lizenz, unter einer anderen rechtsordnungsspezifisch angepassten Creative-Commons-Lizenz mit denselben Lizenzelementen, wie sie die vorliegende Lizenz aufweist, oder unter der entsprechenden Creative-Commons-Unported-Lizenz.
+
+2. Schranken des Immaterialgüterrechts. Diese Lizenz ist in keiner Weise darauf gerichtet, Befugnisse zur Nutzung des Schutzgegenstandes zu vermindern, zu beschränken oder zu vereiteln, die Ihnen aufgrund der Schranken des Urheberrechts oder anderer Rechtsnormen bereits ohne Weiteres zustehen oder sich aus dem Fehlen eines immaterialgüterrechtlichen Schutzes ergeben.
+
+3. Einräumung von Nutzungsrechten. Unter den Bedingungen dieser Lizenz räumt Ihnen der Lizenzgeber - unbeschadet unverzichtbarer Rechte und vorbehaltlich des Abschnitts 3.e) - das vergütungsfreie, räumlich und zeitlich (für die Dauer des Schutzrechts am Schutzgegenstand) unbeschränkte einfache Recht ein, den Schutzgegenstand auf die folgenden Arten und Weisen zu nutzen ("unentgeltlich eingeräumtes einfaches Nutzungsrecht für jedermann"):
+
+ a. Den Schutzgegenstand in beliebiger Form und Menge zu vervielfältigen, ihn in Sammelwerke zu integrieren und ihn als Teil solcher Sammelwerke zu vervielfältigen;
+
+ b. Abwandlungen des Schutzgegenstandes anzufertigen, einschließlich Übersetzungen unter Nutzung jedweder Medien, sofern deutlich erkennbar gemacht wird, dass es sich um Abwandlungen handelt;
+
+ c. den Schutzgegenstand, allein oder in Sammelwerke aufgenommen, öffentlich zu zeigen und zu verbreiten;
+
+ d. Abwandlungen des Schutzgegenstandes zu veröffentlichen, öffentlich zu zeigen und zu verbreiten.
+
+ e. Bezüglich Vergütung für die Nutzung des Schutzgegenstandes gilt Folgendes:
+
+ i. Unverzichtbare gesetzliche Vergütungsansprüche: Soweit unverzichtbare Vergütungsansprüche im Gegenzug für gesetzliche Lizenzen vorgesehen oder Pauschalabgabensysteme (zum Beispiel für Leermedien) vorhanden sind, behält sich der Lizenzgeber das ausschließliche Recht vor, die entsprechende Vergütung einzuziehen für jede Ausübung eines Rechts aus dieser Lizenz durch Sie.
+
+ ii. Vergütung bei Zwangslizenzen: Sofern Zwangslizenzen außerhalb dieser Lizenz vorgesehen sind und zustande kommen, verzichtet der Lizenzgeber für alle Fälle einer lizenzgerechten Nutzung des Schutzgegenstandes durch Sie auf jegliche Vergütung.
+
+ iii. Vergütung in sonstigen Fällen: Bezüglich lizenzgerechter Nutzung des Schutzgegenstandes durch Sie, die nicht unter die beiden vorherigen Abschnitte (i) und (ii) fällt, verzichtet der Lizenzgeber auf jegliche Vergütung, unabhängig davon, ob eine Einziehung der Vergütung durch ihn selbst oder nur durch eine Verwertungsgesellschaft möglich wäre.
+
+Das vorgenannte Nutzungsrecht wird für alle bekannten sowie für alle noch nicht bekannten Nutzungsarten eingeräumt. Es beinhaltet auch das Recht, solche Änderungen am Schutzgegenstand vorzunehmen, die für bestimmte nach dieser Lizenz zulässige Nutzungen technisch erforderlich sind. Alle sonstigen Rechte, die über diesen Abschnitt hinaus nicht ausdrücklich durch den Lizenzgeber eingeräumt werden, bleiben diesem allein vorbehalten. Soweit Datenbanken oder Zusammenstellungen von Daten Schutzgegenstand dieser Lizenz oder Teil dessen sind und einen immaterialgüterrechtlichen Schutz eigener Art genießen, verzichtet der Lizenzgeber auf sämtliche aus diesem Schutz resultierenden Rechte.
+
+4. Bedingungen. Die Einräumung des Nutzungsrechts gemäß Abschnitt 3 dieser Lizenz erfolgt ausdrücklich nur unter den folgenden Bedingungen:
+
+ a. Sie dürfen den Schutzgegenstand ausschließlich unter den Bedingungen dieser Lizenz verbreiten oder öffentlich zeigen. Sie müssen dabei stets eine Kopie dieser Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen dieser Lizenz oder die durch diese Lizenz gewährten Rechte beschränken. Sie dürfen den Schutzgegenstand nicht unterlizenzieren. Bei jeder Kopie des Schutzgegenstandes, die Sie verbreiten oder öffentlich zeigen, müssen Sie alle Hinweise unverändert lassen, die auf diese Lizenz und den Haftungsausschluss hinweisen. Wenn Sie den Schutzgegenstand verbreiten oder öffentlich zeigen, dürfen Sie (in Bezug auf den Schutzgegenstand) keine technischen Maßnahmen ergreifen, die den Nutzer des Schutzgegenstandes in der Ausübung der ihm durch diese Lizenz gewährten Rechte behindern können. Dieser Abschnitt 4.a) gilt auch für den Fall, dass der Schutzgegenstand einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt dieser Lizenz unterstellt werden muss. Sofern Sie ein Sammelwerk erstellen, müssen Sie auf die Mitteilung eines Lizenzgebers hin aus dem Sammelwerk die in Abschnitt 4.c) aufgezählten Hinweise entfernen. Wenn Sie eine Abwandlung vornehmen, müssen Sie auf die Mitteilung eines Lizenzgebers hin von der Abwandlung die in Abschnitt 4.c) aufgezählten Hinweise entfernen.
+
+ b. Sie dürfen eine Abwandlung ausschließlich unter den Bedingungen
+
+ i. dieser Lizenz,
+
+ ii. einer späteren Version dieser Lizenz mit denselben Lizenzelementen,
+
+ iii. einer rechtsordnungsspezifischen Creative-Commons-Lizenz mit denselben Lizenzelementen ab Version 3.0 aufwärts (z.B. Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 US),
+
+ iv. der Creative-Commons-Unported-Lizenz mit denselben Lizenzelementen ab Version 3.0 aufwärts, oder
+
+ v. einer mit Creative Commons kompatiblen Lizenz
+
+ verbreiten oder öffentlich zeigen.
+
+ Falls Sie die Abwandlung gemäß Abschnitt (v) unter einer mit Creative Commons kompatiblen Lizenz lizenzieren, müssen Sie deren Lizenzbestimmungen Folge leisten.
+
+ Falls Sie die Abwandlungen unter einer der unter (i)-(iv) genannten Lizenzen ("Verwendbare Lizenzen") lizenzieren, müssen Sie deren Lizenzbestimmungen sowie folgenden Bestimmungen Folge leisten: Sie müssen stets eine Kopie der verwendbaren Lizenz oder deren vollständige Internetadresse in Form des Uniform-Resource-Identifier (URI) beifügen, wenn Sie die Abwandlung verbreiten oder öffentlich zeigen. Sie dürfen keine Vertrags- oder Nutzungsbedingungen anbieten oder fordern, die die Bedingungen der verwendbaren Lizenz oder die durch sie gewährten Rechte beschränken. Bei jeder Abwandlung, die Sie verbreiten oder öffentlich zeigen, müssen Sie alle Hinweise auf die verwendbare Lizenz und den Haftungsausschluss unverändert lassen. Wenn Sie die Abwandlung verbreiten oder öffentlich zeigen, dürfen Sie (in Bezug auf die Abwandlung) keine technischen Maßnahmen ergreifen, die den Nutzer der Abwandlung in der Ausübung der ihm durch die verwendbare Lizenz gewährten Rechte behindern können. Dieser Abschnitt 4.b) gilt auch für den Fall, dass die Abwandlung einen Bestandteil eines Sammelwerkes bildet, was jedoch nicht bedeutet, dass das Sammelwerk insgesamt der verwendbaren Lizenz unterstellt werden muss.
+
+ c. Die Verbreitung und das öffentliche Zeigen des Schutzgegenstandes oder auf ihm aufbauender Abwandlungen oder ihn enthaltender Sammelwerke ist Ihnen nur unter der Bedingung gestattet, dass Sie, vorbehaltlich etwaiger Mitteilungen im Sinne von Abschnitt 4.a), alle dazu gehörenden Rechtevermerke unberührt lassen. Sie sind verpflichtet, die Rechteinhaberschaft in einer der Nutzung entsprechenden, angemessenen Form anzuerkennen, indem Sie - soweit bekannt - Folgendes angeben:
+
+ i. Den Namen (oder das Pseudonym, falls ein solches verwendet wird) des Rechteinhabers und / oder, falls der Lizenzgeber im Rechtevermerk, in den Nutzungsbedingungen oder auf andere angemessene Weise eine Zuschreibung an Dritte vorgenommen hat (z.B. an eine Stiftung, ein Verlagshaus oder eine Zeitung) ("Zuschreibungsempfänger"), Namen bzw. Bezeichnung dieses oder dieser Dritten;
+
+ ii. den Titel des Inhaltes;
+
+ iii. in einer praktikablen Form den Uniform-Resource-Identifier (URI, z.B. Internetadresse), den der Lizenzgeber zum Schutzgegenstand angegeben hat, es sei denn, dieser URI verweist nicht auf den Rechtevermerk oder die Lizenzinformationen zum Schutzgegenstand;
+
+ iv. und im Falle einer Abwandlung des Schutzgegenstandes in Übereinstimmung mit Abschnitt 3.b) einen Hinweis darauf, dass es sich um eine Abwandlung handelt.
+
+ Die nach diesem Abschnitt 4.c) erforderlichen Angaben können in jeder angemessenen Form gemacht werden; im Falle einer Abwandlung des Schutzgegenstandes oder eines Sammelwerkes müssen diese Angaben das Minimum darstellen und bei gemeinsamer Nennung mehrerer Rechteinhaber dergestalt erfolgen, dass sie zumindest ebenso hervorgehoben sind wie die Hinweise auf die übrigen Rechteinhaber. Die Angaben nach diesem Abschnitt dürfen Sie ausschließlich zur Angabe der Rechteinhaberschaft in der oben bezeichneten Weise verwenden. Durch die Ausübung Ihrer Rechte aus dieser Lizenz dürfen Sie ohne eine vorherige, separat und schriftlich vorliegende Zustimmung des Lizenzgebers und / oder des Zuschreibungsempfängers weder explizit noch implizit irgendeine Verbindung zum Lizenzgeber oder Zuschreibungsempfänger und ebenso wenig eine Unterstützung oder Billigung durch ihn andeuten.
+
+ d. Die oben unter 4.a) bis c) genannten Einschränkungen gelten nicht für solche Teile des Schutzgegenstandes, die allein deshalb unter den Schutzgegenstandsbegriff fallen, weil sie als Datenbanken oder Zusammenstellungen von Daten einen immaterialgüterrechtlichen Schutz eigener Art genießen.
+
+ e. Persönlichkeitsrechte bleiben - soweit sie bestehen - von dieser Lizenz unberührt.
+
+5. Gewährleistung
+
+SOFERN KEINE ANDERS LAUTENDE, SCHRIFTLICHE VEREINBARUNG ZWISCHEN DEM LIZENZGEBER UND IHNEN GESCHLOSSEN WURDE UND SOWEIT MÄNGEL NICHT ARGLISTIG VERSCHWIEGEN WURDEN, BIETET DER LIZENZGEBER DEN SCHUTZGEGENSTAND UND DIE EINRÄUMUNG VON RECHTEN UNTER AUSSCHLUSS JEGLICHER GEWÄHRLEISTUNG AN UND ÜBERNIMMT WEDER AUSDRÜCKLICH NOCH KONKLUDENT GARANTIEN IRGENDEINER ART. DIES UMFASST INSBESONDERE DAS FREISEIN VON SACH- UND RECHTSMÄNGELN, UNABHÄNGIG VON DEREN ERKENNBARKEIT FÜR DEN LIZENZGEBER, DIE VERKEHRSFÄHIGKEIT DES SCHUTZGEGENSTANDES, SEINE VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK SOWIE DIE KORREKTHEIT VON BESCHREIBUNGEN. DIESE GEWÄHRLEISTUNGSBESCHRÄNKUNG GILT NICHT, SOWEIT MÄNGEL ZU SCHÄDEN DER IN ABSCHNITT 6 BEZEICHNETEN ART FÜHREN UND AUF SEITEN DES LIZENZGEBERS DAS JEWEILS GENANNTE VERSCHULDEN BZW. VERTRETENMÜSSEN EBENFALLS VORLIEGT.
+
+6. Haftungsbeschränkung
+
+DER LIZENZGEBER HAFTET IHNEN GEGENÜBER IN BEZUG AUF SCHÄDEN AUS DER VERLETZUNG DES LEBENS, DES KÖRPERS ODER DER GESUNDHEIT NUR, SOFERN IHM WENIGSTENS FAHRLÄSSIGKEIT VORZUWERFEN IST, FÜR SONSTIGE SCHÄDEN NUR BEI GROBER FAHRLÄSSIGKEIT ODER VORSATZ, UND ÜBERNIMMT DARÜBER HINAUS KEINERLEI FREIWILLIGE HAFTUNG.
+
+7. Erlöschen
+
+ a. Diese Lizenz und die durch sie eingeräumten Nutzungsrechte erlöschen mit Wirkung für die Zukunft im Falle eines Verstoßes gegen die Lizenzbedingungen durch Sie, ohne dass es dazu der Kenntnis des Lizenzgebers vom Verstoß oder einer weiteren Handlung einer der Vertragsparteien bedarf. Mit natürlichen oder juristischen Personen, die Abwandlungen des Schutzgegenstandes oder diesen enthaltende Sammelwerke unter den Bedingungen dieser Lizenz von Ihnen erhalten haben, bestehen nachträglich entstandene Lizenzbeziehungen jedoch solange weiter, wie die genannten Personen sich ihrerseits an sämtliche Lizenzbedingungen halten. Darüber hinaus gelten die Ziffern 1, 2, 5, 6, 7, und 8 auch nach einem Erlöschen dieser Lizenz fort.
+
+ b. Vorbehaltlich der oben genannten Bedingungen gilt diese Lizenz unbefristet bis der rechtliche Schutz für den Schutzgegenstand ausläuft. Davon abgesehen behält der Lizenzgeber das Recht, den Schutzgegenstand unter anderen Lizenzbedingungen anzubieten oder die eigene Weitergabe des Schutzgegenstandes jederzeit einzustellen, solange die Ausübung dieses Rechts nicht einer Kündigung oder einem Widerruf dieser Lizenz (oder irgendeiner Weiterlizenzierung, die auf Grundlage dieser Lizenz bereits erfolgt ist bzw. zukünftig noch erfolgen muss) dient und diese Lizenz unter Berücksichtigung der oben zum Erlöschen genannten Bedingungen vollumfänglich wirksam bleibt.
+
+8. Sonstige Bestimmungen
+
+ a. Jedes Mal wenn Sie den Schutzgegenstand für sich genommen oder als Teil eines Sammelwerkes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ b. Jedes Mal wenn Sie eine Abwandlung des Schutzgegenstandes verbreiten oder öffentlich zeigen, bietet der Lizenzgeber dem Empfänger eine Lizenz am ursprünglichen Schutzgegenstand zu den gleichen Bedingungen und im gleichen Umfang an, wie Ihnen in Form dieser Lizenz.
+
+ c. Sollte eine Bestimmung dieser Lizenz unwirksam sein, so bleibt davon die Wirksamkeit der Lizenz im Übrigen unberührt.
+
+ d. Keine Bestimmung dieser Lizenz soll als abbedungen und kein Verstoß gegen sie als zulässig gelten, solange die von dem Verzicht oder von dem Verstoß betroffene Seite nicht schriftlich zugestimmt hat.
+
+ e. Diese Lizenz (zusammen mit in ihr ausdrücklich vorgesehenen Erlaubnissen, Mitteilungen und Zustimmungen, soweit diese tatsächlich vorliegen) stellt die vollständige Vereinbarung zwischen dem Lizenzgeber und Ihnen in Bezug auf den Schutzgegenstand dar. Es bestehen keine Abreden, Vereinbarungen oder Erklärungen in Bezug auf den Schutzgegenstand, die in dieser Lizenz nicht genannt sind. Rechtsgeschäftliche Änderungen des Verhältnisses zwischen dem Lizenzgeber und Ihnen sind nur über Modifikationen dieser Lizenz möglich. Der Lizenzgeber ist an etwaige zusätzliche, einseitig durch Sie übermittelte Bestimmungen nicht gebunden. Diese Lizenz kann nur durch schriftliche Vereinbarung zwischen Ihnen und dem Lizenzgeber modifiziert werden. Derlei Modifikationen wirken ausschließlich zwischen dem Lizenzgeber und Ihnen und wirken sich nicht auf die Dritten gemäß Ziffern 8.a) und b) angeboteten Lizenzen aus.
+
+ f. Sofern zwischen Ihnen und dem Lizenzgeber keine anderweitige Vereinbarung getroffen wurde und soweit Wahlfreiheit besteht, findet auf diesen Lizenzvertrag das Recht der Bundesrepublik Deutschland Anwendung.
+
+Creative Commons Notice
+
+Creative Commons ist nicht Partei dieser Lizenz und übernimmt keinerlei Gewähr oder dergleichen in Bezug auf den Schutzgegenstand. Creative Commons haftet Ihnen oder einer anderen Partei unter keinem rechtlichen Gesichtspunkt für irgendwelche Schäden, die - abstrakt oder konkret, zufällig oder vorhersehbar - im Zusammenhang mit dieser Lizenz entstehen. Unbeschadet der vorangegangen beiden Sätze, hat Creative Commons alle Rechte und Pflichten eines Lizenzgebers, wenn es sich ausdrücklich als Lizenzgeber im Sinne dieser Lizenz bezeichnet.
+
+Creative Commons gewährt den Parteien nur insoweit das Recht, das Logo und die Marke "Creative Commons" zu nutzen, als dies notwendig ist, um der Öffentlichkeit gegenüber kenntlich zu machen, dass der Schutzgegenstand unter einer CCPL steht. Ein darüber hinaus gehender Gebrauch der Marke "Creative Commons" oder einer verwandten Marke oder eines verwandten Logos bedarf der vorherigen schriftlichen Zustimmung von Creative Commons. Jeder erlaubte Gebrauch richtet sich nach der Creative Commons Marken-Nutzungs-Richtlinie in der jeweils aktuellen Fassung, die von Zeit zu Zeit auf der Website veröffentlicht oder auf andere Weise auf Anfrage zugänglich gemacht wird. Zur Klarstellung: Die genannten Einschränkungen der Markennutzung sind nicht Bestandteil dieser Lizenz.
+
+Creative Commons kann kontaktiert werden über https://creativecommons.org/.
+
diff --git a/poky/meta/files/common-licenses/CC-PDDC b/poky/meta/files/common-licenses/CC-PDDC
new file mode 100644
index 000000000..b64dfd6b7
--- /dev/null
+++ b/poky/meta/files/common-licenses/CC-PDDC
@@ -0,0 +1,8 @@
+
+The person or persons who have associated work with this document (the "Dedicator" or "Certifier") hereby either (a) certifies that, to the best of his knowledge, the work of authorship identified is in the public domain of the country from which the work is published, or (b) hereby dedicates whatever copyright the dedicators holds in the work of authorship identified below (the "Work") to the public domain. A certifier, moreover, dedicates any copyright interest he may have in the associated work, and for these purposes, is described as a "dedicator" below.
+
+A certifier has taken reasonable steps to verify the copyright status of this work. Certifier recognizes that his good faith efforts may not shield him from liability if in fact the work certified is not in the public domain.
+
+Dedicator makes this dedication for the benefit of the public at large and to the detriment of the Dedicator's heirs and successors. Dedicator intends this dedication to be an overt act of relinquishment in perpetuity of all present and future rights under copyright law, whether vested or contingent, in the Work. Dedicator understands that such relinquishment of all rights includes the relinquishment of all rights to enforce (by lawsuit or otherwise) those copyrights in the Work.
+
+Dedicator recognizes that, once placed in the public domain, the Work may be freely reproduced, distributed, transmitted, used, modified, built upon, or otherwise exploited by anyone for any purpose, commercial or non-commercial, and in any way, including by methods that have not yet been invented or conceived.
diff --git a/poky/meta/files/common-licenses/CDDL-1.1 b/poky/meta/files/common-licenses/CDDL-1.1
new file mode 100644
index 000000000..f5479ec40
--- /dev/null
+++ b/poky/meta/files/common-licenses/CDDL-1.1
@@ -0,0 +1,123 @@
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
+Version 1.1
+
+1. Definitions.
+
+1.1. “Contributor” means each individual or entity that creates or contributes to the creation of Modifications.
+
+1.2. “Contributor Version” means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor.
+
+1.3. “Covered Software” means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
+
+1.4. “Executable” means the Covered Software in any form other than Source Code.
+
+1.5. “Initial Developer” means the individual or entity that first makes Original Software available under this License.
+
+1.6. “Larger Work” means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
+
+1.7. “License” means this document.
+
+1.8. “Licensable” means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+1.9. “Modifications” means the Source Code and Executable form of any of the following:
+
+ A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications;
+
+ B. Any new file that contains any part of the Original Software or previous Modification; or
+
+ C. Any new file that is contributed or otherwise made available under the terms of this License.
+
+1.10. “Original Software” means the Source Code and Executable form of computer software code that is originally released under this License.
+
+1.11. “Patent Claims” means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+1.12. “Source Code” means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code.
+
+1.13. “You” (or “Your”) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, “You” includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. License Grants.
+
+2.1. The Initial Developer Grant.
+Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
+
+ (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of the Original Software with other software or devices.
+
+2.2. Contributor Grant.
+Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+ (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+3.1. Availability of Source Code.
+Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange.
+
+3.2. Modifications.
+The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License.
+
+3.3. Required Notices.
+You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.
+
+3.4. Application of Additional Terms.
+You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients' rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+3.5. Distribution of Executable Versions.
+You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient's rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+3.6. Larger Works.
+You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
+
+4. Versions of the License.
+
+4.1. New Versions.
+Oracle is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License.
+
+4.2. Effect of New Versions.
+You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward.
+
+4.3. Modified Versions.
+When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License.
+
+5. DISCLAIMER OF WARRANTY.
+COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN “AS IS” BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+6. TERMINATION.
+
+6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as “Participant”) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant.
+
+6.3. If You assert a patent infringement claim against Participant alleging that the Participant Software directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+6.4. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination.
+
+7. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+8. U.S. GOVERNMENT END USERS.
+
+The Covered Software is a “commercial item,” as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software” (as that term is defined at 48 C.F.R. § 252.227-7014(a)(1)) and “commercial computer software documentation” as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License.
+
+9. MISCELLANEOUS.
+
+This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction's conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software.
+
+10. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
+The code released under the CDDL shall be governed by the laws of the State of California (excluding conflict-of-law provisions). Any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California and the state courts of the State of California, with venue lying in Santa Clara County, California.
diff --git a/poky/meta/files/common-licenses/CDL-1.0 b/poky/meta/files/common-licenses/CDL-1.0
new file mode 100644
index 000000000..e2990cde2
--- /dev/null
+++ b/poky/meta/files/common-licenses/CDL-1.0
@@ -0,0 +1,53 @@
+Common Documentation License
+
+Version 1.0 - February 16, 2001
+
+Copyright © 2001 Apple Computer, Inc.
+
+Permission is granted to copy and distribute verbatim copies of this License, but changing or adding to it in any way is not permitted.
+
+Please read this License carefully before downloading or using this material. By downloading or using this material, you are agreeing to be bound by the terms of this License. If you do not or cannot agree to the terms of this License, please do not download or use this material.
+
+0. Preamble. The Common Documentation License (CDL) provides a very simple and consistent license that allows relatively unrestricted use and redistribution of documents while still maintaining the author's credit and intent. To preserve simplicity, the License does not specify in detail how (e.g. font size) or where (e.g. title page, etc.) the author should be credited. To preserve consistency, changes to the CDL are not allowed and all derivatives of CDL documents are required to remain under the CDL. Together, these constraints enable third parties to easily and safely reuse CDL documents, making the CDL ideal for authors who desire a wide distribution of their work. However, this means the CDL does not allow authors to restrict precisely how their work is used or represented, making it inappropriate for those desiring more finely-grained control.
+
+1. General; Definitions. This License applies to any documentation, manual or other work that contains a notice placed by the Copyright Holder stating that it is subject to the terms of this Common Documentation License version 1.0 (or subsequent version thereof) ("License"). As used in this License:
+
+1.1 "Copyright Holder" means the original author(s) of the Document or other owner(s) of the copyright in the Document.
+
+1.2 "Document(s)" means any documentation, manual or other work that has been identified as being subject to the terms of this License.
+
+1.3 "Derivative Work" means a work which is based upon a pre-existing Document, such as a revision, modification, translation, abridgment, condensation, expansion, or any other form in which such pre-existing Document may be recast, transformed, or adapted.
+
+1.4 "You" or "Your" means an individual or a legal entity exercising rights under this License.
+
+2. Basic License. Subject to all the terms and conditions of this License, You may use, copy, modify, publicly display, distribute and publish the Document and your Derivative Works thereof, in any medium physical or electronic, commercially or non-commercially; provided that: (a) all copyright notices in the Document are preserved; (b) a copy of this License, or an incorporation of it by reference in proper form as indicated in Exhibit A below, is included in a conspicuous location in all copies such that it would be reasonably viewed by the recipient of the Document; and (c) You add no other terms or conditions to those of this License.
+
+3. Derivative Works. All Derivative Works are subject to the terms of this License. You may copy and distribute a Derivative Work of the Document under the conditions of Section 2 above, provided that You release the Derivative Work under the exact, verbatim terms of this License (i.e., the Derivative Work is licensed as a "Document" under the terms of this License). In addition, Derivative Works of Documents must meet the following requirements:
+
+ (a) All copyright and license notices in the original Document must be preserved.
+
+ (b) An appropriate copyright notice for your Derivative Work must be added adjacent to the other copyright notices.
+
+ (c) A statement briefly summarizing how your Derivative Work is different from the original Document must be included in the same place as your copyright notice.
+
+ (d) If it is not reasonably evident to a recipient of your Derivative Work that the Derivative Work is subject to the terms of this License, a statement indicating such fact must be included in the same place as your copyright notice.
+
+4. Compilation with Independent Works. You may compile or combine a Document or its Derivative Works with other separate and independent documents or works to create a compilation work ("Compilation"). If included in a Compilation, the Document or Derivative Work thereof must still be provided under the terms of this License, and the Compilation shall contain (a) a notice specifying the inclusion of the Document and/or Derivative Work and the fact that it is subject to the terms of this License, and (b) either a copy of the License or an incorporation by reference in proper form (as indicated in Exhibit A). Mere aggregation of a Document or Derivative Work with other documents or works on the same storage or distribution medium (e.g. a CD-ROM) will not cause this License to apply to those other works.
+
+5. NO WARRANTY. THE DOCUMENT IS PROVIDED 'AS IS' BASIS, WITHOUT WARRANTY OF ANY KIND, AND THE COPYRIGHT HOLDER EXPRESSLY DISCLAIMS ALL WARRANTIES AND/OR CONDITIONS WITH RESPECT TO THE DOCUMENT, EITHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND OF NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+
+6. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USE, REPRODUCTION, MODIFICATION, DISTRIBUTION AND/OR PUBLICATION OF THE DOCUMENT, OR ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY.
+
+7. Trademarks. This License does not grant any rights to use any names, trademarks, service marks or logos of the Copyright Holder (collectively "Marks") and no such Marks may be used to endorse or promote works or products derived from the Document without the prior written permission of the Copyright Holder.
+
+8. Versions of the License. Apple Computer, Inc. ("Apple") may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Once a Document has been published under a particular version of this License, You may continue to use it under the terms of that version. You may also choose to use such Document under the terms of any subsequent version of this License published by Apple. No one other than Apple has the right to modify the terms applicable to Documents created under this License.
+
+9. Termination. This License and the rights granted hereunder will terminate automatically if You fail to comply with any of its terms. Upon termination, You must immediately stop any further reproduction, modification, public display, distr ibution and publication of the Document and Derivative Works. However, all sublicenses to the Document and Derivative Works which have been properly granted prior to termination shall survive any termination of this License. Provisions which, by their nat ure, must remain in effect beyond the termination of this License shall survive, including but not limited to Sections 5, 6, 7, 9 and 10.
+
+10. Waiver; Severability; Governing Law. Failure by the Copyright Holder to enforce any provision of this License will not be deemed a waiver of future enforcement of that or any other provision. If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License will be enforced to the maximum extent permissible so as to effect the economic benefits and intent of the parties, and the remainder of this License will continue in full force and effect. This License shall be governed by the laws of the United States and the State of California, except that body of California law concerning conflicts of law.
+
+EXHIBIT A
+
+The proper form for an incorporation of this License by reference is as follows:
+
+"Copyright (c) [year] by [Copyright Holder's name]. This material has been released under and is subject to the terms of the Common Documentation License, v.1.0, the terms of which are hereby incorporated by reference. Please obtain a copy of the License at http://www.opensource.apple.com/cdl/ and read it before using this material. Your use of this material signifies your agreement to the terms of the License."
diff --git a/poky/meta/files/common-licenses/CDLA-Permissive-1.0 b/poky/meta/files/common-licenses/CDLA-Permissive-1.0
new file mode 100644
index 000000000..28249cf1f
--- /dev/null
+++ b/poky/meta/files/common-licenses/CDLA-Permissive-1.0
@@ -0,0 +1,85 @@
+Community Data License Agreement – Permissive – Version 1.0
+
+This is the Community Data License Agreement – Permissive, Version 1.0 (“Agreement”). Data is provided to You under this Agreement by each of the Data Providers. Your exercise of any of the rights and permissions granted below constitutes Your acceptance and agreement to be bound by the terms and conditions of this Agreement.
+
+The benefits that each Data Provider receives from making Data available and that You receive from Data or otherwise under these terms and conditions shall be deemed sufficient consideration for the formation of this Agreement. Accordingly, Data Provider(s) and You (the “Parties”) agree as follows:
+
+Section 1. Definitions
+
+1.1 “Add” means to supplement Data with Your own or someone else’s Data, resulting in Your “Additions.” Additions do not include Results.
+
+1.2 “Computational Use” means Your analysis (through the use of computational devices or otherwise) or other interpretation of Data. By way of example and not limitation, “Computational Use” includes the application of any computational analytical technique, the purpose of which is the analysis of any Data in digital form to generate information about Data such as patterns, trends, correlations, inferences, insights and attributes.
+
+1.3 “Data” means the information (including copyrightable information, such as images or text), collectively or individually, whether created or gathered by a Data Provider or an Entity acting on its behalf, to which rights are granted under this Agreement.
+
+1.4 “Data Provider” means any Entity (including any employee or contractor of such Entity authorized to Publish Data on behalf of such Entity) that Publishes Data under this Agreement prior to Your Receiving it.
+
+1.5 “Enhanced Data” means the subset of Data that You Publish and that is composed of (a) Your Additions and/or (b) Modifications to Data You have received under this Agreement.
+
+1.6 “Entity” means any natural person or organization that exists under the laws of the jurisdiction in which it is organized, together with all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (a) the power, directly or indirectly, to cause the direction or management of such entity, whether by contract or otherwise, (b) the ownership of more than fifty percent (50%) of the outstanding shares or securities, (c) the beneficial ownership of such entity or, (d) the ability to appoint, whether by agreement or right, the majority of directors of an Entity.
+
+1.7 “Modify” means to delete, erase, correct or re-arrange Data, resulting in “Modifications.” Modifications do not include Results.
+
+1.8 “Publish” means to make all or a subset of Data (including Your Enhanced Data) available in any manner which enables its Use, including by providing a copy on physical media or remote access. For any form of Entity, that is to make the Data available to any individual who is not employed by that Entity or engaged as a contractor or agent to perform work on that Entity’s behalf. A “Publication” occurs each time You Publish Data.
+
+1.9 “Receive” or “Receives” means to have been given access to Data, locally or remotely.
+
+1.10 “Results” means the outcomes or outputs that You obtain from Your Computational Use of Data. Results shall not include more than a de minimis portion of the Data on which the Computational Use is based.
+
+1.11 “Sui Generis Database Rights” means rights, other than copyright, resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other equivalent rights anywhere in the world.
+
+1.12 “Use” means using Data (including accessing, copying, studying, reviewing, adapting, analyzing, evaluating, or making Computational Use of it), either by machines or humans, or a combination of both.
+
+1.13 “You” or “Your” means any Entity that Receives Data under this Agreement.
+
+Section 2. Right and License to Use and to Publish
+
+2.1 Subject to the conditions set forth in Section 3 of this Agreement, Data Provider(s) hereby grant(s) to You a worldwide, non-exclusive, irrevocable (except as provided in Section 5) right to: (a) Use Data; and (b) Publish Data.
+
+2.2 To the extent that the Data or the coordination, selection or arrangement of Data is protected or protectable under copyright, Sui Generis Database Rights, or other law, Data Provider(s) further agree(s) that such Data or coordination, selection or arrangement is hereby licensed to You and to anyone else who Receives Data under this Agreement for Use and Publication, subject to the conditions set forth in Section 3 of this Agreement.
+
+2.3 Except for these rights and licenses expressly granted, no other intellectual property rights are granted or should be implied.
+
+Section 3. Conditions on Rights Granted
+
+3.1 If You Publish Data You Receive or Enhanced Data:
+
+(a) You may do so under a license of Your choice provided that You give anyone who Receives the Data from You the text of this Agreement, the name of this Agreement and/or a hyperlink or other method reasonably likely to provide a copy of the text of this Agreement; and
+
+(b) You must cause any Data files containing Enhanced Data to carry prominent notices that You have changed those files; and
+
+(c) If You Publish Data You Receive, You must preserve all credit or attribution to the Data Provider(s). Such retained credit or attribution includes any of the following to the extent they exist in Data as You have Received it: legal notices or metadata; identification of the Data Provider(s); or hyperlinks to Data to the extent it is practical to do so.
+
+3.2 You may provide additional or different license terms and conditions for use, reproduction, or distribution of that Enhanced Data, or for any combination of Data and Enhanced Data as a whole, provided that Your Use and Publication of that combined Data otherwise complies with the conditions stated in this License.
+
+3.3 You and each Data Provider agree that Enhanced Data shall not be considered a work of joint authorship by virtue of its relationship to Data licensed under this Agreement and shall not require either any obligation of accounting to or the consent of any Data Provider.
+
+3.4 This Agreement imposes no obligations or restrictions on Your Use or Publication of Results.
+
+Section 4. Data Provider(s)’ Representations
+
+4.1 Each Data Provider represents that the Data Provider has exercised reasonable care, to assure that: (a) the Data it Publishes was created or generated by it or was obtained from others with the right to Publish the Data under this Agreement; and (b) Publication of such Data does not violate any privacy or confidentiality obligation undertaken by the Data Provider.
+
+Section 5. Termination
+
+5.1 All of Your rights under this Agreement will terminate, and Your right to Receive, Use or Publish the Data will be revoked or modified if You materially fail to comply with the terms and conditions of this Agreement and You do not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If Your rights under this Agreement terminate, You agree to cease Receipt, Use and Publication of Data. However, Your obligations and any rights and permissions granted by You under this Agreement relating to Data that You Published prior to such termination will continue and survive.
+
+5.2 If You institute litigation against a Data Provider or anyone else who Receives the Data (including a cross-claim in a lawsuit) based on the Data, other than a claim asserting breach of this Agreement, then any rights previously granted to You to Receive, Use and Publish Data under this Agreement will terminate as of the date such litigation is filed.
+
+Section 6. Disclaimer of Warranties and Limitation of Liability
+
+6.1 EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE DATA (INCLUDING ENHANCED DATA) IS PROVIDED ON AN “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+6.2 NEITHER YOU NOR ANY DATA PROVIDERS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE DATA OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+Section 7. Miscellaneous
+
+7.1 You agree that it is solely Your responsibility to comply with all applicable laws with regard to Your Use or Publication of Data, including any applicable privacy, data protection, security and export laws. You agree to take reasonable steps to assist a Data Provider fulfilling responsibilities to comply with applicable laws with regard to Use or Publication of Data Received hereunder.
+
+7.2 You and Data Provider(s), collectively and individually, waive and/or agree not to assert, to the extent permitted by law, any moral rights You or they hold in Data.
+
+7.3 This Agreement confers no rights or remedies upon any person or entity other than the Parties and their respective heirs, executors, successors and assigns.
+
+7.4 The Data Provider(s) reserve no right or expectation of privacy, data protection or confidentiality in any Data that they Publish under this Agreement. If You choose to Publish Data under this Agreement, You similarly do so with no reservation or expectation of any rights of privacy or confidentiality in that Data.
+
+7.5 The Community Data License Agreement workgroup under The Linux Foundation is the steward of this Agreement (“Steward”). No one other than the Steward has the right to modify or publish new versions of this Agreement. Each version will be given a distinguishing version number. You may Use and Publish Data Received hereunder under the terms of the version of the Agreement under which You originally Received the Data, or under the terms of any subsequent version published by the Steward.
diff --git a/poky/meta/files/common-licenses/CDLA-Permissive-2.0 b/poky/meta/files/common-licenses/CDLA-Permissive-2.0
new file mode 100644
index 000000000..cc0f954b5
--- /dev/null
+++ b/poky/meta/files/common-licenses/CDLA-Permissive-2.0
@@ -0,0 +1,35 @@
+Community Data License Agreement - Permissive - Version 2.0
+
+This is the Community Data License Agreement - Permissive, Version 2.0 (the "agreement"). Data Provider(s) and Data Recipient(s) agree as follows:
+
+1. Provision of the Data
+
+1.1. A Data Recipient may use, modify, and share the Data made available by Data Provider(s) under this agreement if that Data Recipient follows the terms of this agreement.
+
+1.2. This agreement does not impose any restriction on a Data Recipient's use, modification, or sharing of any portions of the Data that are in the public domain or that may be used, modified, or shared under any other legal exception or limitation.
+
+2. Conditions for Sharing Data
+
+2.1. A Data Recipient may share Data, with or without modifications, so long as the Data Recipient makes available the text of this agreement with the shared Data.
+
+3. No Restrictions on Results
+
+3.1. This agreement does not impose any restriction or obligations with respect to the use, modification, or sharing of Results.
+
+4. No Warranty; Limitation of Liability
+
+4.1. All Data Recipients receive the Data subject to the following terms:
+
+THE DATA IS PROVIDED ON AN "AS IS" BASIS, WITHOUT REPRESENTATIONS, WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+NO DATA PROVIDER SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE DATA OR RESULTS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+5. Definitions
+
+5.1. "Data" means the material received by a Data Recipient under this agreement.
+
+5.2. "Data Provider" means any person who is the source of Data provided under this agreement and in reliance on a Data Recipient's agreement to its terms.
+
+5.3. "Data Recipient" means any person who receives Data directly or indirectly from a Data Provider and agrees to the terms of this agreement.
+
+5.4. "Results" means any outcome obtained by computational analysis of Data, including for example machine learning models and models' insights.
diff --git a/poky/meta/files/common-licenses/CDLA-Sharing-1.0 b/poky/meta/files/common-licenses/CDLA-Sharing-1.0
new file mode 100644
index 000000000..dba8e2576
--- /dev/null
+++ b/poky/meta/files/common-licenses/CDLA-Sharing-1.0
@@ -0,0 +1,89 @@
+Community Data License Agreement – Sharing – Version 1.0
+
+This is the Community Data License Agreement – Sharing, Version 1.0 (“Agreement”). Data is provided to You under this Agreement by each of the Data Providers. Your exercise of any of the rights and permissions granted below constitutes Your acceptance and agreement to be bound by the terms and conditions of this Agreement.
+
+The benefits that each Data Provider receives from making Data available and that You receive from Data or otherwise under these terms and conditions shall be deemed sufficient consideration for the formation of this Agreement. Accordingly, Data Provider(s) and You (the “Parties”) agree as follows:
+
+Section 1. Definitions
+
+1.1 “Add” means to supplement Data with Your own or someone else’s Data, resulting in Your “Additions.” Additions do not include Results.
+
+1.2 “Computational Use” means Your analysis (through the use of computational devices or otherwise) or other interpretation of Data. By way of example and not limitation, “Computational Use” includes the application of any computational analytical technique, the purpose of which is the analysis of any Data in digital form to generate information about Data such as patterns, trends, correlations, inferences, insights and attributes.
+
+1.3 “Data” means the information (including copyrightable information, such as images or text), collectively or individually, whether created or gathered by a Data Provider or an Entity acting on its behalf, to which rights are granted under this Agreement.
+
+1.4 “Data Provider” means any Entity (including any employee or contractor of such Entity authorized to Publish Data on behalf of such Entity) that Publishes Data under this Agreement prior to Your Receiving it.
+
+1.5 “Enhanced Data” means the subset of Data that You Publish and that is composed of (a) Your Additions and/or (b) Modifications to Data You have received under this Agreement.
+
+1.6 “Entity” means any natural person or organization that exists under the laws of the jurisdiction in which it is organized, together with all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (a) the power, directly or indirectly, to cause the direction or management of such entity, whether by contract or otherwise, (b) the ownership of more than fifty percent (50%) of the outstanding shares or securities, (c) the beneficial ownership of such entity or, (d) the ability to appoint, whether by agreement or right, the majority of directors of an Entity.
+
+1.7 “Ledger” means a digital record of Data or grants of rights in Data governed by this Agreement, using any technology having functionality to record and store Data or grants, contributions, or licenses to Data governed by this Agreement.
+
+1.8 “Modify” means to delete, erase, correct or re-arrange Data, resulting in “Modifications.” Modifications do not include Results.
+
+1.9 “Publish” means to make all or a subset of Data (including Your Enhanced Data) available in any manner which enables its Use, including by providing a copy on physical media or remote access. For any form of Entity, that is to make the Data available to any individual who is not employed by that Entity or engaged as a contractor or agent to perform work on that Entity’s behalf. A “Publication” occurs each time You Publish Data.
+
+1.10 “Receive” or “Receives” means to have been given access to Data, locally or remotely.
+
+1.11 “Results” means the outcomes or outputs that You obtain from Your Computational Use of Data. Results shall not include more than a de minimis portion of the Data on which the Computational Use is based.
+
+1.12 “Sui Generis Database Rights” means rights, other than copyright, resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other equivalent rights anywhere in the world.
+
+1.13 “Use” means using Data (including accessing, copying, studying, reviewing, adapting, analyzing, evaluating, or making Computational Use of it), either by machines or humans, or a combination of both.
+
+1.14 “You” or “Your” means any Entity that Receives Data under this Agreement.
+
+Section 2. Right and License to Use and to Publish
+
+2.1 Subject to the conditions set forth in Section 3 of this Agreement, Data Provider(s) hereby grant(s) to You a worldwide, non-exclusive, irrevocable (except as provided in Section 5) right to: (a) Use Data; and (b) Publish Data.
+
+2.2 To the extent that the Data or the coordination, selection or arrangement of Data is protected or protectable under copyright, Sui Generis Database Rights, or other law, Data Provider(s) further agree(s) that such Data or coordination, selection or arrangement is hereby licensed to You and to anyone else who Receives Data under this Agreement for Use and Publication, subject to the conditions set forth in Section 3 of this Agreement.
+
+2.3 Except for these rights and licenses expressly granted, no other intellectual property rights are granted or should be implied.
+
+Section 3. Conditions on Rights Granted
+
+3.1 If You Publish Data You Receive or Enhanced Data:
+
+(a) The Data (including the Enhanced Data) must be Published under this Agreement in accordance with this Section 3; and
+
+(b) You must cause any Data files containing Enhanced Data to carry prominent notices that You have changed those files; and
+
+(c) If You Publish Data You Receive, You must preserve all credit or attribution to the Data Provider(s). Such retained credit or attribution includes any of the following to the extent they exist in Data as You have Received it: legal notices or metadata; identification of the Data Provider(s); or hyperlinks to Data to the extent it is practical to do so.
+
+3.2 You may not restrict or deter the ability of anyone who Receives the Data (a) to Publish the Data in a publicly-accessible manner or (b) if the project has designated a Ledger for recording Data or grants of rights in Data for purposes of this Agreement, to record the Data or grants of rights in Data in the Ledger.
+
+3.3 If You Publish Data You Receive, You must do so under an unmodified form of this Agreement and include the text of this Agreement, the name of this Agreement and/or a hyperlink or other method reasonably likely to provide a copy of the text of this Agreement. You may not modify this Agreement or impose any further restrictions on the exercise of the rights granted under this Agreement, including by adding any restriction on commercial or non-commercial Use of Data (including Your Enhanced Data) or by limiting permitted Use of such Data to any particular platform, technology or field of endeavor. Notices that purport to modify this Agreement shall be of no effect.
+
+3.4 You and each Data Provider agree that Enhanced Data shall not be considered a work of joint authorship by virtue of its relationship to Data licensed under this Agreement and shall not require either any obligation of accounting to or the consent of any Data Provider.
+
+3.5 This Agreement imposes no obligations or restrictions on Your Use or Publication of Results.
+
+Section 4. Data Provider(s)’ Representations
+
+4.1 Each Data Provider represents that the Data Provider has exercised reasonable care, to assure that: (a) the Data it Publishes was created or generated by it or was obtained from others with the right to Publish the Data under this Agreement; and (b) Publication of such Data does not violate any privacy or confidentiality obligation undertaken by the Data Provider.
+
+Section 5. Termination
+
+5.1 All of Your rights under this Agreement will terminate, and Your right to Receive, Use or Publish the Data will be revoked or modified if You materially fail to comply with the terms and conditions of this Agreement and You do not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If Your rights under this Agreement terminate, You agree to cease Receipt, Use and Publication of Data. However, Your obligations and any rights and permissions granted by You under this Agreement relating to Data that You Published prior to such termination will continue and survive.
+
+5.2 If You institute litigation against a Data Provider or anyone else who Receives the Data (including a cross-claim in a lawsuit) based on the Data, other than a claim asserting breach of this Agreement, then any rights previously granted to You to Receive, Use and Publish Data under this Agreement will terminate as of the date such litigation is filed.
+
+Section 6. Disclaimer of Warranties and Limitation of Liability
+
+6.1 EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE DATA (INCLUDING ENHANCED DATA) IS PROVIDED ON AN “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+6.2 NEITHER YOU NOR ANY DATA PROVIDERS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE DATA OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+Section 7. Miscellaneous
+
+7.1 You agree that it is solely Your responsibility to comply with all applicable laws with regard to Your Use or Publication of Data, including any applicable privacy, data protection, security and export laws. You agree to take reasonable steps to assist a Data Provider fulfilling responsibilities to comply with applicable laws with regard to Use or Publication of Data Received hereunder.
+
+7.2 You and Data Provider(s), collectively and individually, waive and/or agree not to assert, to the extent permitted by law, any moral rights You or they hold in Data.
+
+7.3 This Agreement confers no rights or remedies upon any person or entity other than the Parties and their respective heirs, executors, successors and assigns.
+
+7.4 The Data Provider(s) reserve no right or expectation of privacy, data protection or confidentiality in any Data that they Publish under this Agreement. If You choose to Publish Data under this Agreement, You similarly do so with no reservation or expectation of any rights of privacy or confidentiality in that Data.
+
+7.5 The Community Data License Agreement workgroup under The Linux Foundation is the steward of this Agreement (“Steward”). No one other than the Steward has the right to modify or publish new versions of this Agreement. Each version will be given a distinguishing version number. You may Use and Publish Data Received hereunder under the terms of the version of the Agreement under which You originally Received the Data, or under the terms of any subsequent version published by the Steward.
diff --git a/poky/meta/files/common-licenses/CECILL-1.1 b/poky/meta/files/common-licenses/CECILL-1.1
new file mode 100644
index 000000000..95bea5c9d
--- /dev/null
+++ b/poky/meta/files/common-licenses/CECILL-1.1
@@ -0,0 +1,229 @@
+ FREE SOFTWARE LICENSING AGREEMENT CeCILL
+
+Notice
+
+This Agreement is a free software license that is the result of discussions between its authors in order to ensure compliance with the two main principles guiding its drafting:
+ - firstly, its conformity with French law, both as regards the law of torts and intellectual property law, and the protection that it offers to authors and the holders of economic rights over software.
+ - secondly, compliance with the principles for the distribution of free software: access to source codes, extended user-rights.
+
+The following bodies are the authors of this license CeCILL (Ce : CEA, C : CNRS, I : INRIA, LL : Logiciel Libre):
+
+Commissariat à l'Energie Atomique - CEA, a public scientific, technical and industrial establishment, having its principal place of business at 31-33 rue de la Fédération, 75752 PARIS cedex 15, France.
+
+Centre National de la Recherche Scientifique - CNRS, a public scientific and technological establishment, having its principal place of business at 3 rue Michel-Ange 75794 Paris cedex 16, France.
+
+Institut National de Recherche en Informatique et en Automatique - INRIA, a public scientific and technological establishment, having its principal place of business at Domaine de Voluceau, Rocquencourt, BP 105, 78153 Le Chesnay cedex.
+
+PREAMBLE
+
+The purpose of this Free Software Licensing Agreement is to grant users the right to modify and redistribute the software governed by this license within the framework of an "open source" distribution model.
+
+The exercising of these rights is conditional upon certain obligations for users so as to ensure that this status is retained for subsequent redistribution operations.
+
+As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors only have limited liability.
+
+In this respect, it is brought to the user's attention that the risks associated with loading, using, modifying and/or developing or reproducing the software by the user given its nature of Free Software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the Software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions of security. This Agreement may be freely reproduced and published, provided it is not altered, and that no Articles are either added or removed herefrom.
+
+This Agreement may apply to any or all software for which the holder of the economic rights decides to submit the operation thereof to its provisions.
+
+Article 1 - DEFINITIONS
+
+For the purposes of this Agreement, when the following expressions commence with a capital letter, they shall have the following meaning:
+
+Agreement: means this Licensing Agreement, and any or all of its subsequent versions.
+
+Software: means the software in its Object Code and/or Source Code form and, where applicable, its documentation, "as is" at the time when the Licensee accepts the Agreement.
+
+Initial Software: means the Software in its Source Code and/or Object Code form and, where applicable, its documentation, "as is" at the time when it is distributed for the first time under the terms and conditions of the Agreement.
+
+Modified Software: means the Software modified by at least one Contribution.
+
+Source Code: means all the Software's instructions and program lines to which access is required so as to modify the Software.
+
+Object Code: means the binary files originating from the compilation of the Source Code.
+
+Holder: means the holder of the economic rights over the Initial Software.
+
+Licensee(s): mean(s) the Software user(s) having accepted the Agreement.
+
+Contributor: means a Licensee having made at least one Contribution.
+
+Licensor: means the Holder, or any or all other individual or legal entity, that distributes the Software under the Agreement.
+
+Contributions: mean any or all modifications, corrections, translations, adaptations and/or new functionalities integrated into the Software by any or all Contributor, and the Static Modules.
+
+Module: means a set of sources files including their documentation that, once compiled in executable form, enables supplementary functionalities or services to be developed in addition to those offered by the Software.
+
+Dynamic Module: means any or all module, created by the Contributor, that is independent of the Software, so that this module and the Software are in two different executable forms that are run in separate address spaces, with one calling the other when they are run.
+
+Static Module: means any or all module, created by the Contributor and connected to the Software by a static link that makes their object codes interdependent. This module and the Software to which it is connected, are combined in a single executable.
+
+Parties: mean both the Licensee and the Licensor.
+
+These expressions may be used both in singular and plural form.
+
+Article 2 - PURPOSE
+
+The purpose of the Agreement is to enable the Licensor to grant the Licensee a free, non-exclusive, transferable and worldwide License for the Software as set forth in Article 5 hereinafter for the whole term of protection of the rights over said Software.
+
+Article 3 - ACCEPTANCE
+
+3.1. The Licensee shall be deemed as having accepted the terms and conditions of this Agreement by the occurrence of the first of the following events:
+ (i) loading the Software by any or all means, notably, by downloading from a remote server, or by loading from a physical medium;
+ (ii) the first time the Licensee exercises any of the rights granted hereunder.
+
+3.2. One copy of the Agreement, containing a notice relating to the specific nature of the Software, to the limited warranty, and to the limitation to use by experienced users has been provided to the Licensee prior to its acceptance as set forth in Article 3.1 hereinabove, and the Licensee hereby acknowledges that it is aware thereof.
+
+Article 4 - EFFECTIVE DATE AND TERM
+
+4.1. EFFECTIVE DATE
+
+The Agreement shall become effective on the date when it is accepted by the Licensee as set forth in Article 3.1.
+
+4.2. TERM
+
+The Agreement shall remain in force during the whole legal term of protection of the economic rights over the Software.
+
+Article 5 - SCOPE OF THE RIGHTS GRANTED ---------------------------------------
+
+The Licensor hereby grants to the Licensee, that accepts such, the following rights as regards the Software for any or all use, and for the term of the Agreement, on the basis of the terms and conditions set forth hereinafter.
+
+Otherwise, the Licensor grants to the Licensee free of charge exploitation rights on the patents he holds on whole or part of the inventions implemented in the Software.
+
+5.1. RIGHTS OF USE
+
+The Licensee is authorized to use the Software, unrestrictedly, as regards the fields of application, with it being hereinafter specified that this relates to:
+ 1. permanent or temporary reproduction of all or part of the Software by any or all means and in any or all form.
+ 2. loading, displaying, running, or storing the Software on any or all medium.
+ 3. entitlement to observe, study or test the operation thereof so as to establish the ideas and principles that form the basis for any or all constituent elements of said Software. This shall apply when the Licensee carries out any or all loading, displaying, running, transmission or storage operation as regards the Software, that it is entitled to carry out hereunder.
+
+5.2. entitlement to make CONTRIBUTIONS
+
+The right to make Contributions includes the right to translate, adapt, arrange, or make any or all modification to the Software, and the right to reproduce the resulting Software.
+
+The Licensee is authorized to make any or all Contribution to the Software provided that it explicitly mentions its name as the author of said Contribution and the date of the development thereof.
+
+5.3. DISTRIBUTION AND PUBLICATION RIGHTS
+
+In particular, the right of distribution and publication includes the right to transmit and communicate the Software to the general public on any or all medium, and by any or all means, and the right to market, either in consideration of a fee, or free of charge, a copy or copies of the Software by means of any or all process. The Licensee is further authorized to redistribute copies of the modified or unmodified Software to third parties according to the terms and conditions set forth hereinafter.
+
+5.3.1. REDISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION
+
+The Licensee is authorized to redistribute true copies of the Software in Source Code or Object Code form, provided that said redistribution complies with all the provisions of the Agreement and is accompanied by:
+
+ 1. a copy of the Agreement,
+ 2. a notice relating to the limitation of both the Licensor's warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Software's Object Code is redistributed, the Licensee allows future Licensees unhindered access to the Software's full Source Code by providing them with the terms and conditions for access thereto, it being understood that the additional cost of acquiring the Source Code shall not exceed the cost of transferring the data.
+
+5.3.2. REDISTRIBUTION OF MODIFIED SOFTWARE
+
+When the Licensee makes a Contribution to the Software, the terms and conditions for the redistribution of the Modified Software shall then be subject to all the provisions hereof.
+
+The Licensee is authorized to redistribute the Modified Software, in Source Code or Object Code form, provided that said redistribution complies with all the provisions of the Agreement and is accompanied by:
+
+ 1. a copy of the Agreement,
+ 2. a notice relating to the limitation of both the Licensor's warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Modified Software's Object Code is redistributed, the Licensee allows future Licensees unhindered access to the Modified Software's full Source Code by providing them with the terms and conditions for access thereto, it being understood that the additional cost of acquiring the Source Code shall not exceed the cost of transferring the data.
+
+5.3.3. redistribution OF DYNAMIC MODULES
+
+When the Licensee has developed a Dynamic Module, the terms and conditions hereof do not apply to said Dynamic Module, that may be distributed under a separate Licensing Agreement.
+
+5.3.4. COMPATIBILITY WITH THE GPL LICENSE
+
+In the event that the Modified or unmodified Software is included in a code that is subject to the provisions of the GPL License, the Licensee is authorized to redistribute the whole under the GPL License.
+
+In the event that the Modified Software includes a code that is subject to the provisions of the GPL License, the Licensee is authorized to redistribute the Modified Software under the GPL License.
+
+Article 6 - INTELLECTUAL PROPERTY
+
+6.1. OVER THE INITIAL SOFTWARE
+
+The Holder owns the economic rights over the Initial Software. Any or all use of the Initial Software is subject to compliance with the terms and conditions under which the Holder has elected to distribute its work and no one shall be entitled to and it shall have sole entitlement to modify the terms and conditions for the distribution of said Initial Software.
+
+The Holder undertakes to maintain the distribution of the Initial Software under the conditions of the Agreement, for the duration set forth in article 4.2..
+
+6.2. OVER THE CONTRIBUTIONS
+
+The intellectual property rights over the Contributions belong to the holder of the economic rights as designated by effective legislation.
+
+6.3. OVER THE DYNAMIC MODULES
+
+The Licensee having developed a Dynamic Module is the holder of the intellectual property rights over said Dynamic Module and is free to choose the agreement that shall govern its distribution.
+
+6.4. JOINT PROVISIONS
+
+6.4.1. The Licensee expressly undertakes:
+
+ 1. not to remove, or modify, in any or all manner, the intellectual property notices affixed to the Software;
+ 2. to reproduce said notices, in an identical manner, in the copies of the Software.
+
+6.4.2. The Licensee undertakes not to directly or indirectly infringe the intellectual property rights of the Holder and/or Contributors and to take, where applicable, vis-à-vis its staff, any or all measures required to ensure respect for said intellectual property rights of the Holder and/or Contributors.
+
+Article 7 - RELATED SERVICES
+
+7.1. Under no circumstances shall the Agreement oblige the Licensor to provide technical assistance or maintenance services for the Software.
+
+However, the Licensor is entitled to offer this type of service. The terms and conditions of such technical assistance, and/or such maintenance, shall then be set forth in a separate instrument. Only the Licensor offering said maintenance and/or technical assistance services shall incur liability therefor.
+
+7.2. Similarly, any or all Licensor shall be entitled to offer to its Licensees, under its own responsibility, a warranty, that shall only be binding upon itself, for the redistribution of the Software and/or the Modified Software, under terms and conditions that it shall decide upon itself. Said warranty, and the financial terms and conditions of its application, shall be subject to a separate instrument executed between the Licensor and the Licensee.
+
+Article 8 - LIABILITY
+
+8.1. Subject to the provisions of Article 8.2, should the Licensor fail to fulfill all or part of its obligations hereunder, the Licensee shall be entitled to claim compensation for the direct loss suffered as a result of a fault on the part of the Licensor, subject to providing evidence of it.
+
+8.2. The Licensor's liability is limited to the commitments made under this Licensing Agreement and shall not be incurred as a result , in particular: (i) of loss due the Licensee's total or partial failure to fulfill its obligations, (ii) direct or consequential loss due to the Software's use or performance that is suffered by the Licensee, when the latter is a professional using said Software for professional purposes and (iii) consequential loss due to the Software's use or performance. The Parties expressly agree that any or all pecuniary or business loss (i.e. loss of data, loss of profits, operating loss, loss of customers or orders, opportunity cost, any disturbance to business activities) or any or all legal proceedings instituted against the Licensee by a third party, shall constitute consequential loss and shall not provide entitlement to any or all compensation from the Licensor.
+
+Article 9 - WARRANTY
+
+9.1. The Licensee acknowledges that the current situation as regards scientific and technical know-how at the time when the Software was distributed did not enable all possible uses to be tested and verified, nor for the presence of any or all faults to be detected. In this respect, the Licensee's attention has been drawn to the risks associated with loading, using, modifying and/or developing and reproducing the Software that are reserved for experienced users.
+
+The Licensee shall be responsible for verifying, by any or all means, the product's suitability for its requirements, its due and proper functioning, and for ensuring that it shall not cause damage to either persons or property.
+
+9.2. The Licensor hereby represents, in good faith, that it is entitled to grant all the rights on the Software (including in particular the rights set forth in Article 5 hereof over the Software).
+
+9.3. The Licensee acknowledges that the Software is supplied "as is" by the Licensor without any or all other express or tacit warranty, other than that provided for in Article 9.2 and, in particular, without any or all warranty as to its market value, its secured, innovative or relevant nature.
+
+Specifically, the Licensor does not warrant that the Software is free from any or all error, that it shall operate continuously, that it shall be compatible with the Licensee's own equipment and its software configuration, nor that it shall meet the Licensee's requirements.
+
+9.4. The Licensor does not either expressly or tacitly warrant that the Software does not infringe any or all third party intellectual right relating to a patent, software or to any or all other property right. Moreover, the Licensor shall not hold the Licensee harmless against any or all proceedings for infringement that may be instituted in respect of the use, modification and redistribution of the Software. Nevertheless, should such proceedings be instituted against the Licensee, the Licensor shall provide it with technical and legal assistance for its defense. Such technical and legal assistance shall be decided upon on a case-by-case basis between the relevant Licensor and the Licensee pursuant to a memorandum of understanding. The Licensor disclaims any or all liability as regards the Licensee's use of the Software's name. No warranty shall be provided as regards the existence of prior rights over the name of the Software and as regards the existence of a trademark.
+
+Article 10 - TERMINATION
+
+10.1. In the event of a breach by the Licensee of its obligations hereunder, the Licensor may automatically terminate this Agreement thirty (30) days after notice has been sent to the Licensee and has remained ineffective.
+
+10.2. The Licensee whose Agreement is terminated shall no longer be authorized to use, modify or distribute the Software. However, any or all licenses that it may have granted prior to termination of the Agreement shall remain valid subject to their having been granted in compliance with the terms and conditions hereof.
+
+Article 11 - MISCELLANEOUS PROVISIONS
+
+11.1. EXCUSABLE EVENTS
+
+Neither Party shall be liable for any or all delay, or failure to perform the Agreement, that may be attributable to an event of force majeure, an act of God or an outside cause, such as, notably, defective functioning, or interruptions affecting the electricity or telecommunications networks, blocking of the network following a virus attack, the intervention of the government authorities, natural disasters, water damage, earthquakes, fire, explosions, strikes and labor unrest, war, etc.
+
+11.2. The fact that either Party may fail, on one or several occasions, to invoke one or several of the provisions hereof, shall under no circumstances be interpreted as being a waiver by the interested Party of its entitlement to invoke said provision(s) subsequently.
+
+11.3. The Agreement cancels and replaces any or all previous agreement, whether written or oral, between the Parties and having the same purpose, and constitutes the entirety of the agreement between said Parties concerning said purpose. No supplement or modification to the terms and conditions hereof shall be effective as regards the Parties unless it is made in writing and signed by their duly authorized representatives.
+
+11.4. In the event that one or several of the provisions hereof were to conflict with a current or future applicable act or legislative text, said act or legislative text shall take precedence, and the Parties shall make the necessary amendments so as to be in compliance with said act or legislative text. All the other provisions shall remain effective. Similarly, the fact that a provision of the Agreement may be null and void, for any reason whatsoever, shall not cause the Agreement as a whole to be null and void.
+
+11.5. LANGUAGE
+
+The Agreement is drafted in both French and English. In the event of a conflict as regards construction, the French version shall be deemed authentic.
+
+Article 12 - NEW VERSIONS OF THE AGREEMENT
+
+12.1. Any or all person is authorized to duplicate and distribute copies of this Agreement.
+
+12.2. So as to ensure coherence, the wording of this Agreement is protected and may only be modified by the authors of the License, that reserve the right to periodically publish updates or new versions of the Agreement, each with a separate number. These subsequent versions may address new issues encountered by Free Software.
+
+12.3. Any or all Software distributed under a given version of the Agreement may only be subsequently distributed under the same version of the Agreement, or a subsequent version, subject to the provisions of article 5.3.4.
+
+Article 13 - GOVERNING LAW AND JURISDICTION
+
+13.1. The Agreement is governed by French law. The Parties agree to endeavor to settle the disagreements or disputes that may arise during the performance of the Agreement out-of-court.
+
+13.2. In the absence of an out-of-court settlement within two (2) months as from their occurrence, and unless emergency proceedings are necessary, the disagreements or disputes shall be referred to the Paris Courts having jurisdiction, by the first Party to take action.
+
+ Version 1.1 of 10/26/2004
diff --git a/poky/meta/files/common-licenses/CECILL-2.1 b/poky/meta/files/common-licenses/CECILL-2.1
new file mode 100644
index 000000000..d290c0694
--- /dev/null
+++ b/poky/meta/files/common-licenses/CECILL-2.1
@@ -0,0 +1,518 @@
+
+ CeCILL FREE SOFTWARE LICENSE AGREEMENT
+
+Version 2.1 dated 2013-06-21
+
+
+ Notice
+
+This Agreement is a Free Software license agreement that is the result
+of discussions between its authors in order to ensure compliance with
+the two main principles guiding its drafting:
+
+ * firstly, compliance with the principles governing the distribution
+ of Free Software: access to source code, broad rights granted to users,
+ * secondly, the election of a governing law, French law, with which it
+ is conformant, both as regards the law of torts and intellectual
+ property law, and the protection that it offers to both authors and
+ holders of the economic rights over software.
+
+The authors of the CeCILL (for Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre])
+license are:
+
+Commissariat à l'énergie atomique et aux énergies alternatives - CEA, a
+public scientific, technical and industrial research establishment,
+having its principal place of business at 25 rue Leblanc, immeuble Le
+Ponant D, 75015 Paris, France.
+
+Centre National de la Recherche Scientifique - CNRS, a public scientific
+and technological establishment, having its principal place of business
+at 3 rue Michel-Ange, 75794 Paris cedex 16, France.
+
+Institut National de Recherche en Informatique et en Automatique -
+Inria, a public scientific and technological establishment, having its
+principal place of business at Domaine de Voluceau, Rocquencourt, BP
+105, 78153 Le Chesnay cedex, France.
+
+
+ Preamble
+
+The purpose of this Free Software license agreement is to grant users
+the right to modify and redistribute the software governed by this
+license within the framework of an open source distribution model.
+
+The exercising of this right is conditional upon certain obligations for
+users so as to preserve this status for all subsequent redistributions.
+
+In consideration of access to the source code and the rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty and the software's author, the holder of the
+economic rights, and the successive licensors only have limited liability.
+
+In this respect, the risks associated with loading, using, modifying
+and/or developing or reproducing the software by the user are brought to
+the user's attention, given its Free Software status, which may make it
+complicated to use, with the result that its use is reserved for
+developers and experienced professionals having in-depth computer
+knowledge. Users are therefore encouraged to load and test the
+suitability of the software as regards their requirements in conditions
+enabling the security of their systems and/or data to be ensured and,
+more generally, to use and operate it in the same conditions of
+security. This Agreement may be freely reproduced and published,
+provided it is not altered, and that no provisions are either added or
+removed herefrom.
+
+This Agreement may apply to any or all software for which the holder of
+the economic rights decides to submit the use thereof to its provisions.
+
+Frequently asked questions can be found on the official website of the
+CeCILL licenses family (http://www.cecill.info/index.en.html) for any
+necessary clarification.
+
+
+ Article 1 - DEFINITIONS
+
+For the purpose of this Agreement, when the following expressions
+commence with a capital letter, they shall have the following meaning:
+
+Agreement: means this license agreement, and its possible subsequent
+versions and annexes.
+
+Software: means the software in its Object Code and/or Source Code form
+and, where applicable, its documentation, "as is" when the Licensee
+accepts the Agreement.
+
+Initial Software: means the Software in its Source Code and possibly its
+Object Code form and, where applicable, its documentation, "as is" when
+it is first distributed under the terms and conditions of the Agreement.
+
+Modified Software: means the Software modified by at least one
+Contribution.
+
+Source Code: means all the Software's instructions and program lines to
+which access is required so as to modify the Software.
+
+Object Code: means the binary files originating from the compilation of
+the Source Code.
+
+Holder: means the holder(s) of the economic rights over the Initial
+Software.
+
+Licensee: means the Software user(s) having accepted the Agreement.
+
+Contributor: means a Licensee having made at least one Contribution.
+
+Licensor: means the Holder, or any other individual or legal entity, who
+distributes the Software under the Agreement.
+
+Contribution: means any or all modifications, corrections, translations,
+adaptations and/or new functions integrated into the Software by any or
+all Contributors, as well as any or all Internal Modules.
+
+Module: means a set of sources files including their documentation that
+enables supplementary functions or services in addition to those offered
+by the Software.
+
+External Module: means any or all Modules, not derived from the
+Software, so that this Module and the Software run in separate address
+spaces, with one calling the other when they are run.
+
+Internal Module: means any or all Module, connected to the Software so
+that they both execute in the same address space.
+
+GNU GPL: means the GNU General Public License version 2 or any
+subsequent version, as published by the Free Software Foundation Inc.
+
+GNU Affero GPL: means the GNU Affero General Public License version 3 or
+any subsequent version, as published by the Free Software Foundation Inc.
+
+EUPL: means the European Union Public License version 1.1 or any
+subsequent version, as published by the European Commission.
+
+Parties: mean both the Licensee and the Licensor.
+
+These expressions may be used both in singular and plural form.
+
+
+ Article 2 - PURPOSE
+
+The purpose of the Agreement is the grant by the Licensor to the
+Licensee of a non-exclusive, transferable and worldwide license for the
+Software as set forth in Article 5 <#scope> hereinafter for the whole
+term of the protection granted by the rights over said Software.
+
+
+ Article 3 - ACCEPTANCE
+
+3.1 The Licensee shall be deemed as having accepted the terms and
+conditions of this Agreement upon the occurrence of the first of the
+following events:
+
+ * (i) loading the Software by any or all means, notably, by
+ downloading from a remote server, or by loading from a physical medium;
+ * (ii) the first time the Licensee exercises any of the rights granted
+ hereunder.
+
+3.2 One copy of the Agreement, containing a notice relating to the
+characteristics of the Software, to the limited warranty, and to the
+fact that its use is restricted to experienced users has been provided
+to the Licensee prior to its acceptance as set forth in Article 3.1
+<#accepting> hereinabove, and the Licensee hereby acknowledges that it
+has read and understood it.
+
+
+ Article 4 - EFFECTIVE DATE AND TERM
+
+
+ 4.1 EFFECTIVE DATE
+
+The Agreement shall become effective on the date when it is accepted by
+the Licensee as set forth in Article 3.1 <#accepting>.
+
+
+ 4.2 TERM
+
+The Agreement shall remain in force for the entire legal term of
+protection of the economic rights over the Software.
+
+
+ Article 5 - SCOPE OF RIGHTS GRANTED
+
+The Licensor hereby grants to the Licensee, who accepts, the following
+rights over the Software for any or all use, and for the term of the
+Agreement, on the basis of the terms and conditions set forth hereinafter.
+
+Besides, if the Licensor owns or comes to own one or more patents
+protecting all or part of the functions of the Software or of its
+components, the Licensor undertakes not to enforce the rights granted by
+these patents against successive Licensees using, exploiting or
+modifying the Software. If these patents are transferred, the Licensor
+undertakes to have the transferees subscribe to the obligations set
+forth in this paragraph.
+
+
+ 5.1 RIGHT OF USE
+
+The Licensee is authorized to use the Software, without any limitation
+as to its fields of application, with it being hereinafter specified
+that this comprises:
+
+ 1. permanent or temporary reproduction of all or part of the Software
+ by any or all means and in any or all form.
+
+ 2. loading, displaying, running, or storing the Software on any or all
+ medium.
+
+ 3. entitlement to observe, study or test its operation so as to
+ determine the ideas and principles behind any or all constituent
+ elements of said Software. This shall apply when the Licensee
+ carries out any or all loading, displaying, running, transmission or
+ storage operation as regards the Software, that it is entitled to
+ carry out hereunder.
+
+
+ 5.2 ENTITLEMENT TO MAKE CONTRIBUTIONS
+
+The right to make Contributions includes the right to translate, adapt,
+arrange, or make any or all modifications to the Software, and the right
+to reproduce the resulting software.
+
+The Licensee is authorized to make any or all Contributions to the
+Software provided that it includes an explicit notice that it is the
+author of said Contribution and indicates the date of the creation thereof.
+
+
+ 5.3 RIGHT OF DISTRIBUTION
+
+In particular, the right of distribution includes the right to publish,
+transmit and communicate the Software to the general public on any or
+all medium, and by any or all means, and the right to market, either in
+consideration of a fee, or free of charge, one or more copies of the
+Software by any means.
+
+The Licensee is further authorized to distribute copies of the modified
+or unmodified Software to third parties according to the terms and
+conditions set forth hereinafter.
+
+
+ 5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION
+
+The Licensee is authorized to distribute true copies of the Software in
+Source Code or Object Code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+ 1. a copy of the Agreement,
+
+ 2. a notice relating to the limitation of both the Licensor's warranty
+ and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Object Code of the Software is
+redistributed, the Licensee allows effective access to the full Source
+Code of the Software for a period of at least three years from the
+distribution of the Software, it being understood that the additional
+acquisition cost of the Source Code shall not exceed the cost of the
+data transfer.
+
+
+ 5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE
+
+When the Licensee makes a Contribution to the Software, the terms and
+conditions for the distribution of the resulting Modified Software
+become subject to all the provisions of this Agreement.
+
+The Licensee is authorized to distribute the Modified Software, in
+source code or object code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+ 1. a copy of the Agreement,
+
+ 2. a notice relating to the limitation of both the Licensor's warranty
+ and liability as set forth in Articles 8 and 9,
+
+and, in the event that only the object code of the Modified Software is
+redistributed,
+
+ 3. a note stating the conditions of effective access to the full source
+ code of the Modified Software for a period of at least three years
+ from the distribution of the Modified Software, it being understood
+ that the additional acquisition cost of the source code shall not
+ exceed the cost of the data transfer.
+
+
+ 5.3.3 DISTRIBUTION OF EXTERNAL MODULES
+
+When the Licensee has developed an External Module, the terms and
+conditions of this Agreement do not apply to said External Module, that
+may be distributed under a separate license agreement.
+
+
+ 5.3.4 COMPATIBILITY WITH OTHER LICENSES
+
+The Licensee can include a code that is subject to the provisions of one
+of the versions of the GNU GPL, GNU Affero GPL and/or EUPL in the
+Modified or unmodified Software, and distribute that entire code under
+the terms of the same version of the GNU GPL, GNU Affero GPL and/or EUPL.
+
+The Licensee can include the Modified or unmodified Software in a code
+that is subject to the provisions of one of the versions of the GNU GPL,
+GNU Affero GPL and/or EUPL and distribute that entire code under the
+terms of the same version of the GNU GPL, GNU Affero GPL and/or EUPL.
+
+
+ Article 6 - INTELLECTUAL PROPERTY
+
+
+ 6.1 OVER THE INITIAL SOFTWARE
+
+The Holder owns the economic rights over the Initial Software. Any or
+all use of the Initial Software is subject to compliance with the terms
+and conditions under which the Holder has elected to distribute its work
+and no one shall be entitled to modify the terms and conditions for the
+distribution of said Initial Software.
+
+The Holder undertakes that the Initial Software will remain ruled at
+least by this Agreement, for the duration set forth in Article 4.2 <#term>.
+
+
+ 6.2 OVER THE CONTRIBUTIONS
+
+The Licensee who develops a Contribution is the owner of the
+intellectual property rights over this Contribution as defined by
+applicable law.
+
+
+ 6.3 OVER THE EXTERNAL MODULES
+
+The Licensee who develops an External Module is the owner of the
+intellectual property rights over this External Module as defined by
+applicable law and is free to choose the type of agreement that shall
+govern its distribution.
+
+
+ 6.4 JOINT PROVISIONS
+
+The Licensee expressly undertakes:
+
+ 1. not to remove, or modify, in any manner, the intellectual property
+ notices attached to the Software;
+
+ 2. to reproduce said notices, in an identical manner, in the copies of
+ the Software modified or not.
+
+The Licensee undertakes not to directly or indirectly infringe the
+intellectual property rights on the Software of the Holder and/or
+Contributors, and to take, where applicable, vis-à-vis its staff, any
+and all measures required to ensure respect of said intellectual
+property rights of the Holder and/or Contributors.
+
+
+ Article 7 - RELATED SERVICES
+
+7.1 Under no circumstances shall the Agreement oblige the Licensor to
+provide technical assistance or maintenance services for the Software.
+
+However, the Licensor is entitled to offer this type of services. The
+terms and conditions of such technical assistance, and/or such
+maintenance, shall be set forth in a separate instrument. Only the
+Licensor offering said maintenance and/or technical assistance services
+shall incur liability therefor.
+
+7.2 Similarly, any Licensor is entitled to offer to its licensees, under
+its sole responsibility, a warranty, that shall only be binding upon
+itself, for the redistribution of the Software and/or the Modified
+Software, under terms and conditions that it is free to decide. Said
+warranty, and the financial terms and conditions of its application,
+shall be subject of a separate instrument executed between the Licensor
+and the Licensee.
+
+
+ Article 8 - LIABILITY
+
+8.1 Subject to the provisions of Article 8.2, the Licensee shall be
+entitled to claim compensation for any direct loss it may have suffered
+from the Software as a result of a fault on the part of the relevant
+Licensor, subject to providing evidence thereof.
+
+8.2 The Licensor's liability is limited to the commitments made under
+this Agreement and shall not be incurred as a result of in particular:
+(i) loss due the Licensee's total or partial failure to fulfill its
+obligations, (ii) direct or consequential loss that is suffered by the
+Licensee due to the use or performance of the Software, and (iii) more
+generally, any consequential loss. In particular the Parties expressly
+agree that any or all pecuniary or business loss (i.e. loss of data,
+loss of profits, operating loss, loss of customers or orders,
+opportunity cost, any disturbance to business activities) or any or all
+legal proceedings instituted against the Licensee by a third party,
+shall constitute consequential loss and shall not provide entitlement to
+any or all compensation from the Licensor.
+
+
+ Article 9 - WARRANTY
+
+9.1 The Licensee acknowledges that the scientific and technical
+state-of-the-art when the Software was distributed did not enable all
+possible uses to be tested and verified, nor for the presence of
+possible defects to be detected. In this respect, the Licensee's
+attention has been drawn to the risks associated with loading, using,
+modifying and/or developing and reproducing the Software which are
+reserved for experienced users.
+
+The Licensee shall be responsible for verifying, by any or all means,
+the suitability of the product for its requirements, its good working
+order, and for ensuring that it shall not cause damage to either persons
+or properties.
+
+9.2 The Licensor hereby represents, in good faith, that it is entitled
+to grant all the rights over the Software (including in particular the
+rights set forth in Article 5 <#scope>).
+
+9.3 The Licensee acknowledges that the Software is supplied "as is" by
+the Licensor without any other express or tacit warranty, other than
+that provided for in Article 9.2 <#good-faith> and, in particular,
+without any warranty as to its commercial value, its secured, safe,
+innovative or relevant nature.
+
+Specifically, the Licensor does not warrant that the Software is free
+from any error, that it will operate without interruption, that it will
+be compatible with the Licensee's own equipment and software
+configuration, nor that it will meet the Licensee's requirements.
+
+9.4 The Licensor does not either expressly or tacitly warrant that the
+Software does not infringe any third party intellectual property right
+relating to a patent, software or any other property right. Therefore,
+the Licensor disclaims any and all liability towards the Licensee
+arising out of any or all proceedings for infringement that may be
+instituted in respect of the use, modification and redistribution of the
+Software. Nevertheless, should such proceedings be instituted against
+the Licensee, the Licensor shall provide it with technical and legal
+expertise for its defense. Such technical and legal expertise shall be
+decided on a case-by-case basis between the relevant Licensor and the
+Licensee pursuant to a memorandum of understanding. The Licensor
+disclaims any and all liability as regards the Licensee's use of the
+name of the Software. No warranty is given as regards the existence of
+prior rights over the name of the Software or as regards the existence
+of a trademark.
+
+
+ Article 10 - TERMINATION
+
+10.1 In the event of a breach by the Licensee of its obligations
+hereunder, the Licensor may automatically terminate this Agreement
+thirty (30) days after notice has been sent to the Licensee and has
+remained ineffective.
+
+10.2 A Licensee whose Agreement is terminated shall no longer be
+authorized to use, modify or distribute the Software. However, any
+licenses that it may have granted prior to termination of the Agreement
+shall remain valid subject to their having been granted in compliance
+with the terms and conditions hereof.
+
+
+ Article 11 - MISCELLANEOUS
+
+
+ 11.1 EXCUSABLE EVENTS
+
+Neither Party shall be liable for any or all delay, or failure to
+perform the Agreement, that may be attributable to an event of force
+majeure, an act of God or an outside cause, such as defective
+functioning or interruptions of the electricity or telecommunications
+networks, network paralysis following a virus attack, intervention by
+government authorities, natural disasters, water damage, earthquakes,
+fire, explosions, strikes and labor unrest, war, etc.
+
+11.2 Any failure by either Party, on one or more occasions, to invoke
+one or more of the provisions hereof, shall under no circumstances be
+interpreted as being a waiver by the interested Party of its right to
+invoke said provision(s) subsequently.
+
+11.3 The Agreement cancels and replaces any or all previous agreements,
+whether written or oral, between the Parties and having the same
+purpose, and constitutes the entirety of the agreement between said
+Parties concerning said purpose. No supplement or modification to the
+terms and conditions hereof shall be effective as between the Parties
+unless it is made in writing and signed by their duly authorized
+representatives.
+
+11.4 In the event that one or more of the provisions hereof were to
+conflict with a current or future applicable act or legislative text,
+said act or legislative text shall prevail, and the Parties shall make
+the necessary amendments so as to comply with said act or legislative
+text. All other provisions shall remain effective. Similarly, invalidity
+of a provision of the Agreement, for any reason whatsoever, shall not
+cause the Agreement as a whole to be invalid.
+
+
+ 11.5 LANGUAGE
+
+The Agreement is drafted in both French and English and both versions
+are deemed authentic.
+
+
+ Article 12 - NEW VERSIONS OF THE AGREEMENT
+
+12.1 Any person is authorized to duplicate and distribute copies of this
+Agreement.
+
+12.2 So as to ensure coherence, the wording of this Agreement is
+protected and may only be modified by the authors of the License, who
+reserve the right to periodically publish updates or new versions of the
+Agreement, each with a separate number. These subsequent versions may
+address new issues encountered by Free Software.
+
+12.3 Any Software distributed under a given version of the Agreement may
+only be subsequently distributed under the same version of the Agreement
+or a subsequent version, subject to the provisions of Article 5.3.4
+<#compatibility>.
+
+
+ Article 13 - GOVERNING LAW AND JURISDICTION
+
+13.1 The Agreement is governed by French law. The Parties agree to
+endeavor to seek an amicable solution to any disagreements or disputes
+that may arise during the performance of the Agreement.
+
+13.2 Failing an amicable solution within two (2) months as from their
+occurrence, and unless emergency proceedings are necessary, the
+disagreements or disputes shall be referred to the Paris Courts having
+jurisdiction, by the more diligent Party.
diff --git a/poky/meta/files/common-licenses/CERN-OHL-1.1 b/poky/meta/files/common-licenses/CERN-OHL-1.1
new file mode 100644
index 000000000..9fcefc956
--- /dev/null
+++ b/poky/meta/files/common-licenses/CERN-OHL-1.1
@@ -0,0 +1,47 @@
+CERN OHL v1.1
+2011-07-08 - CERN, Geneva, Switzerland
+CERN Open Hardware Licence v1.1
+
+Preamble
+Through this CERN Open Hardware Licence ("CERN OHL") version 1.1, the Organization wishes to disseminate its hardware designs (as published on http://www.ohwr.org/) as widely as possible, and generally to foster collaboration among public research hardware designers. The CERN OHL is copyright of CERN. Anyone is welcome to use the CERN OHL, in unmodified form only, for the distribution of his own Open Hardware designs. Any other right is reserved.
+
+1. Definitions
+In this Licence, the following terms have the following meanings:
+“Licence” means this CERN OHL.
+“Documentation” means schematic diagrams, designs, circuit or circuit board layouts, mechanical drawings, flow charts and descriptive text, and other explanatory material that is explicitly stated as being made available under the conditions of this Licence. The Documentation may be in any medium, including but not limited to computer files and representations on paper, film, or any other media.
+“Product” means either an entire, or any part of a, device built using the Documentation or the modified Documentation.
+“Licensee” means any natural or legal person exercising rights under this Licence.
+“Licensor” means any natural or legal person that creates or modifies Documentation and subsequently communicates to the public and/ or distributes the resulting Documentation under the terms and conditions of this Licence.
+A Licensee may at the same time be a Licensor, and vice versa.
+
+2. Applicability
+2.1 This Licence governs the use, copying, modification, communication to the public and distribution of the Documentation, and the manufacture and distribution of Products. By exercising any right granted under this Licence, the Licensee irrevocably accepts these terms and conditions.
+2.2 This Licence is granted by the Licensor directly to the Licensee, and shall apply worldwide and without limitation in time. The Licensee may assign his licence rights or grant sub-licences.
+2.3 This Licence does not apply to software, firmware, or code loaded into programmable devices which may be used in conjunction with the Documentation, the modified Documentation or with Products. The use of such software, firmware, or code is subject to the applicable licence terms and conditions.
+
+3. Copying, modification, communication to the public and distribution of the Documentation
+3.1 The Licensee shall keep intact all copyright and trademarks notices and all notices that refer to this Licence and to the disclaimer of warranties that is included in the Documentation. He shall include a copy thereof in every copy of the documentation or, as the case may be, modified Documentation, that he communicates to the public or distributes.
+3.2 The Licensee may use, copy, communicate to the public and distribute verbatim copies of the Documentation, in any medium, subject to the requirements specified in section 3.1.
+3.3 The Licensee may modify the Documentation or any portion thereof. The Licensee may communicate to the public and distribute the modified Documentation (thereby in addition to being a Licensee also becoming a Licensor), always provided that he shall:
+a. comply with section 3.1;
+b. cause the modified Documentation to carry prominent notices stating that the Licensee has modified the Documentation, with the date and details of the modifications;
+c. license the modified Documentation under the terms and conditions of this Licence or, where applicable, a later version of this Licence as may be issued by CERN; and
+d. send a copy of the modified Documentation to all Licensors that contributed to the parts of the Documentation that were modified, as well as to any other Licensor who has requested to receive a copy of the modified Documentation and has provided a means of contact with the Documentation.
+3.4 The Licence includes a licence to those patents or registered designs that are held by the Licensor, to the extent necessary to make use of the rights granted under this Licence. The scope of this section 3.4 shall be strictly limited to the parts of the Documentation or modified Documentation created by the Licensor.
+
+4. Manufacture and distribution of Products
+4.1 The Licensee may manufacture or distribute Products always provided that the Licensee distributes to each recipient of such Products a copy of the Documentation or modified Documentation, as applicable, and complies with section 3.
+4.2 The Licensee is invited to inform in writing any Licensor who has indicated its wish to receive this information about the type, quantity and dates of production of Products the Licensee has (had) manufactured.
+
+5. Warranty and liability
+5.1 DISCLAIMER – The Documentation and any modified Documentation are provided "as is" and any express or implied warranties, including, but not limited to, implied warranties of merchantability, of satisfactory quality, and fitness for a particular purpose or use are disclaimed in respect of the Documentation, the modified Documentation or any Product. The Licensor makes no representation that the Documentation, modified Documentation, or any Product, does or will not infringe any patent, copyright, trade secret or other proprietary right. The entire risk as to the use, quality, and performance of a Product shall be with the Licensee and not the Licensor. This disclaimer of warranty is an essential part of this Licence and a condition for the grant of any rights granted under this Licence. The Licensee warrants that it does not act in a consumer capacity.
+5.2 LIMITATION OF LIABILITY – The Licensor shall have no liability for direct, indirect, special, incidental, consequential, exemplary, punitive or other damages of any character including, without limitation, procurement of substitute goods or services, loss of use, data or profits, or business interruption, however caused and on any
+theory of contract, warranty, tort (including negligence), product liability or otherwise, arising in any way in relation to the Documentation, modified Documentation and/or the use, manufacture or distribution of a Product, even if advised of the possibility of such damages, and the Licensee shall hold the Licensor(s) free and harmless
+from any liability, costs, damages, fees and expenses, including claims by third parties, in relation to such use.
+
+6. General
+6.1 The rights granted under this Licence do not imply or represent any transfer or assignment of intellectual property rights to the Licensee.
+6.2 The Licensee shall not use or make reference to any of the names, acronyms, images or logos under which the Licensor is known, save in so far as required to comply with section 3. Any such permitted use or reference shall be factual and shall in no event suggest any kind of endorsement by the Licensor or its personnel of the modified Documentation or any Product, or any kind of implication by the Licensor or its personnel in the preparation of the modified Documentation or Product.
+6.3 CERN may publish updated versions of this Licence which retain the same general provisions as this version, but differ in detail so far this is required and reasonable. New versions will be published with a unique version number.
+6.4 This Licence shall terminate with immediate effect, upon written notice and without involvement of a court if the Licensee fails to comply with any of its terms and conditions, or if the Licensee initiates legal action against Licensor in relation to this Licence. Section 5 shall continue to apply.
+6.5 Except as may be otherwise agreed with the Intergovernmental Organization, any dispute with respect to this Licence involving an Intergovernmental Organization shall, by virtue of the latter's Intergovernmental status, be settled by international arbitration. The arbitration proceedings shall be held at the place where the Intergovernmental Organization has its seat. The arbitral award shall be final and binding upon the parties, who hereby expressly agree to renounce any form of appeal or revision.
diff --git a/poky/meta/files/common-licenses/CERN-OHL-1.2 b/poky/meta/files/common-licenses/CERN-OHL-1.2
new file mode 100644
index 000000000..6a8f2ffa5
--- /dev/null
+++ b/poky/meta/files/common-licenses/CERN-OHL-1.2
@@ -0,0 +1,49 @@
+CERN OHL v1.2
+2013-09-06 - CERN, Geneva, Switzerland
+CERN Open Hardware Licence v1.2
+
+Preamble
+Through this CERN Open Hardware Licence ("CERN OHL") version 1.2, CERN wishes to provide a tool to foster collaboration and sharing among hardware designers. The CERN OHL is copyright CERN. Anyone is welcome to use the CERN OHL, in unmodified form only, for the distribution of their own Open Hardware designs. Any other right is reserved. Release of hardware designs under the CERN OHL does not constitute an endorsement of the licensor or its designs nor does it imply any involvement by CERN in the development of such designs.
+
+1. Definitions
+In this Licence, the following terms have the following meanings:
+“Licence” means this CERN OHL.
+“Documentation” means schematic diagrams, designs, circuit or circuit board layouts, mechanical drawings, flow charts and descriptive text, and other explanatory material that is explicitly stated as being made available under the conditions of this Licence. The Documentation may be in any medium, including but not limited to computer files and representations on paper, film, or any other media.
+“Documentation Location” means a location where the Licensor has placed Documentation, and which he believes will be publicly accessible for at least three years from the first communication to the public or distribution of Documentation.
+“Product” means either an entire, or any part of a, device built using the Documentation or the modified Documentation.
+“Licensee” means any natural or legal person exercising rights under this Licence.
+“Licensor” means any natural or legal person that creates or modifies Documentation and subsequently communicates to the public and/ or distributes the resulting Documentation under the terms and conditions of this Licence.
+A Licensee may at the same time be a Licensor, and vice versa.
+Use of the masculine gender includes the feminine and neuter genders and is employed solely to facilitate reading.
+
+2. Applicability
+2.1. This Licence governs the use, copying, modification, communication to the public and distribution of the Documentation, and the manufacture and distribution of Products. By exercising any right granted under this Licence, the Licensee irrevocably accepts these terms and conditions.
+2.2. This Licence is granted by the Licensor directly to the Licensee, and shall apply worldwide and without limitation in time. The Licensee may assign his licence rights or grant sub-licences.
+2.3. This Licence does not extend to software, firmware, or code loaded into programmable devices which may be used in conjunction with the Documentation, the modified Documentation or with Products, unless such software, firmware, or code is explicitly expressed to be subject to this Licence. The use of such software, firmware, or code is otherwise subject to the applicable licence terms and conditions.
+
+3. Copying, modification, communication to the public and distribution of the Documentation
+3.1. The Licensee shall keep intact all copyright and trademarks notices, all notices referring to Documentation Location, and all notices that refer to this Licence and to the disclaimer of warranties that are included in the Documentation. He shall include a copy thereof in every copy of the Documentation or, as the case may be, modified Documentation, that he communicates to the public or distributes.
+3.2. The Licensee may copy, communicate to the public and distribute verbatim copies of the Documentation, in any medium, subject to the requirements specified in section 3.1.
+3.3. The Licensee may modify the Documentation or any portion thereof provided that upon modification of the Documentation, the Licensee shall make the modified Documentation available from a Documentation Location such that it can be easily located by an original Licensor once the Licensee communicates to the public or distributes the modified Documentation under section 3.4, and, where required by section 4.1, by a recipient of a Product. However, the Licensor shall not assert his rights under the foregoing proviso unless or until a Product is distributed.
+3.4. The Licensee may communicate to the public and distribute the modified Documentation (thereby in addition to being a Licensee also becoming a Licensor), always provided that he shall:
+a) comply with section 3.1;
+b) cause the modified Documentation to carry prominent notices stating that the Licensee has modified the Documentation, with the date and description of the modifications;
+c) cause the modified Documentation to carry a new Documentation Location notice if the original Documentation provided for one;
+d) make available the modified Documentation at the same level of abstraction as that of the Documentation, in the preferred format for making modifications to it (e.g. the native format of the CAD tool as applicable), and in the event that format is proprietary, in a format viewable with a tool licensed under an OSI-approved license if the proprietary tool can create it; and
+e) license the modified Documentation under the terms and conditions of this Licence or, where applicable, a later version of this Licence as may be issued by CERN.
+3.5. The Licence includes a non-exclusive licence to those patents or registered designs that are held by, under the control of, or sub-licensable by the Licensor, to the extent necessary to make use of the rights granted under this Licence. The scope of this section 3.5 shall be strictly limited to the parts of the Documentation or modified Documentation created by the Licensor.
+
+4. Manufacture and distribution of Products
+4.1. The Licensee may manufacture or distribute Products always provided that, where such manufacture or distribution requires a licence under this Licence the Licensee provides to each recipient of such Products an easy means of accessing a copy of the Documentation or modified Documentation, as applicable, as set out in section 3.
+4.2. The Licensee is invited to inform any Licensor who has indicated his wish to receive this information about the type, quantity and dates of production of Products the Licensee has (had) manufactured
+
+5. Warranty and liability
+5.1. DISCLAIMER – The Documentation and any modified Documentation are provided "as is" and any express or implied warranties, including, but not limited to, implied warranties of merchantability, of satisfactory quality, non-infringement of third party rights, and fitness for a particular purpose or use are disclaimed in respect of the Documentation, the modified Documentation or any Product. The Licensor makes no representation that the Documentation, modified Documentation, or any Product, does or will not infringe any patent, copyright, trade secret or other proprietary right. The entire risk as to the use, quality, and performance of a Product shall be with the Licensee and not the Licensor. This disclaimer of warranty is an essential part of this Licence and a condition for the grant of any rights granted under this Licence. The Licensee warrants that it does not act in a consumer capacity.
+5.2. LIMITATION OF LIABILITY – The Licensor shall have no liability for direct, indirect, special, incidental, consequential, exemplary, punitive or other damages of any character including, without limitation, procurement of substitute goods or services, loss of use, data or profits, or business interruption, however caused and on any theory of contract, warranty, tort (including negligence), product liability or otherwise, arising in any way in relation to the Documentation, modified Documentation and/or the use, manufacture or distribution of a Product, even if advised of the possibility of such damages, and the Licensee shall hold the Licensor(s) free and harmless from any liability, costs, damages, fees and expenses, including claims by third parties, in relation to such use.
+
+6. General
+6.1. Except for the rights explicitly granted hereunder, this Licence does not imply or represent any transfer or assignment of intellectual property rights to the Licensee.
+6.2. The Licensee shall not use or make reference to any of the names (including acronyms and abbreviations), images, or logos under which the Licensor is known, save in so far as required to comply with section 3. Any such permitted use or reference shall be factual and shall in no event suggest any kind of endorsement by the Licensor or its personnel of the modified Documentation or any Product, or any kind of implication by the Licensor or its personnel in the preparation of the modified Documentation or Product.
+6.3. CERN may publish updated versions of this Licence which retain the same general provisions as this version, but differ in detail so far this is required and reasonable. New versions will be published with a unique version number.
+6.4. This Licence shall terminate with immediate effect, upon written notice and without involvement of a court if the Licensee fails to comply with any of its terms and conditions, or if the Licensee initiates legal action against Licensor in relation to this Licence. Section 5 shall continue to apply.
+
diff --git a/poky/meta/files/common-licenses/CERN-OHL-P-2.0 b/poky/meta/files/common-licenses/CERN-OHL-P-2.0
new file mode 100644
index 000000000..f19d2b7ad
--- /dev/null
+++ b/poky/meta/files/common-licenses/CERN-OHL-P-2.0
@@ -0,0 +1,199 @@
+CERN Open Hardware Licence Version 2 - Permissive
+
+
+Preamble
+
+CERN has developed this licence to promote collaboration among
+hardware designers and to provide a legal tool which supports the
+freedom to use, study, modify, share and distribute hardware designs
+and products based on those designs. Version 2 of the CERN Open
+Hardware Licence comes in three variants: this licence, CERN-OHL-P
+(permissive); and two reciprocal licences: CERN- OHL-W (weakly
+reciprocal) and CERN-OHL-S (strongly reciprocal).
+
+The CERN-OHL-P is copyright CERN 2020. Anyone is welcome to use it, in
+unmodified form only.
+
+Use of this Licence does not imply any endorsement by CERN of any
+Licensor or their designs nor does it imply any involvement by CERN in
+their development.
+
+
+1 Definitions
+
+ 1.1 'Licence' means this CERN-OHL-P.
+
+ 1.2 'Source' means information such as design materials or digital
+ code which can be applied to Make or test a Product or to
+ prepare a Product for use, Conveyance or sale, regardless of its
+ medium or how it is expressed. It may include Notices.
+
+ 1.3 'Covered Source' means Source that is explicitly made available
+ under this Licence.
+
+ 1.4 'Product' means any device, component, work or physical object,
+ whether in finished or intermediate form, arising from the use,
+ application or processing of Covered Source.
+
+ 1.5 'Make' means to create or configure something, whether by
+ manufacture, assembly, compiling, loading or applying Covered
+ Source or another Product or otherwise.
+
+ 1.6 'Notice' means copyright, acknowledgement and trademark notices,
+ references to the location of any Notices, modification notices
+ (subsection 3.3(b)) and all notices that refer to this Licence
+ and to the disclaimer of warranties that are included in the
+ Covered Source.
+
+ 1.7 'Licensee' or 'You' means any person exercising rights under
+ this Licence.
+
+ 1.8 'Licensor' means a person who creates Source or modifies Covered
+ Source and subsequently Conveys the resulting Covered Source
+ under the terms and conditions of this Licence. A person may be
+ a Licensee and a Licensor at the same time.
+
+ 1.9 'Convey' means to communicate to the public or distribute.
+
+
+2 Applicability
+
+ 2.1 This Licence governs the use, copying, modification, Conveying
+ of Covered Source and Products, and the Making of Products. By
+ exercising any right granted under this Licence, You irrevocably
+ accept these terms and conditions.
+
+ 2.2 This Licence is granted by the Licensor directly to You, and
+ shall apply worldwide and without limitation in time.
+
+ 2.3 You shall not attempt to restrict by contract or otherwise the
+ rights granted under this Licence to other Licensees.
+
+ 2.4 This Licence is not intended to restrict fair use, fair dealing,
+ or any other similar right.
+
+
+3 Copying, modifying and Conveying Covered Source
+
+ 3.1 You may copy and Convey verbatim copies of Covered Source, in
+ any medium, provided You retain all Notices.
+
+ 3.2 You may modify Covered Source, other than Notices.
+
+ You may only delete Notices if they are no longer applicable to
+ the corresponding Covered Source as modified by You and You may
+ add additional Notices applicable to Your modifications.
+
+ 3.3 You may Convey modified Covered Source (with the effect that You
+ shall also become a Licensor) provided that You:
+
+ a) retain Notices as required in subsection 3.2; and
+
+ b) add a Notice to the modified Covered Source stating that You
+ have modified it, with the date and brief description of how
+ You have modified it.
+
+ 3.4 You may Convey Covered Source or modified Covered Source under
+ licence terms which differ from the terms of this Licence
+ provided that:
+
+ a) You comply at all times with subsection 3.3; and
+
+ b) You provide a copy of this Licence to anyone to whom You
+ Convey Covered Source or modified Covered Source.
+
+
+4 Making and Conveying Products
+
+You may Make Products, and/or Convey them, provided that You ensure
+that the recipient of the Product has access to any Notices applicable
+to the Product.
+
+
+5 DISCLAIMER AND LIABILITY
+
+ 5.1 DISCLAIMER OF WARRANTY -- The Covered Source and any Products
+ are provided 'as is' and any express or implied warranties,
+ including, but not limited to, implied warranties of
+ merchantability, of satisfactory quality, non-infringement of
+ third party rights, and fitness for a particular purpose or use
+ are disclaimed in respect of any Source or Product to the
+ maximum extent permitted by law. The Licensor makes no
+ representation that any Source or Product does not or will not
+ infringe any patent, copyright, trade secret or other
+ proprietary right. The entire risk as to the use, quality, and
+ performance of any Source or Product shall be with You and not
+ the Licensor. This disclaimer of warranty is an essential part
+ of this Licence and a condition for the grant of any rights
+ granted under this Licence.
+
+ 5.2 EXCLUSION AND LIMITATION OF LIABILITY -- The Licensor shall, to
+ the maximum extent permitted by law, have no liability for
+ direct, indirect, special, incidental, consequential, exemplary,
+ punitive or other damages of any character including, without
+ limitation, procurement of substitute goods or services, loss of
+ use, data or profits, or business interruption, however caused
+ and on any theory of contract, warranty, tort (including
+ negligence), product liability or otherwise, arising in any way
+ in relation to the Covered Source, modified Covered Source
+ and/or the Making or Conveyance of a Product, even if advised of
+ the possibility of such damages, and You shall hold the
+ Licensor(s) free and harmless from any liability, costs,
+ damages, fees and expenses, including claims by third parties,
+ in relation to such use.
+
+
+6 Patents
+
+ 6.1 Subject to the terms and conditions of this Licence, each
+ Licensor hereby grants to You a perpetual, worldwide,
+ non-exclusive, no-charge, royalty-free, irrevocable (except as
+ stated in this section 6, or where terminated by the Licensor
+ for cause) patent license to Make, have Made, use, offer to
+ sell, sell, import, and otherwise transfer the Covered Source
+ and Products, where such licence applies only to those patent
+ claims licensable by such Licensor that are necessarily
+ infringed by exercising rights under the Covered Source as
+ Conveyed by that Licensor.
+
+ 6.2 If You institute patent litigation against any entity (including
+ a cross-claim or counterclaim in a lawsuit) alleging that the
+ Covered Source or a Product constitutes direct or contributory
+ patent infringement, or You seek any declaration that a patent
+ licensed to You under this Licence is invalid or unenforceable
+ then any rights granted to You under this Licence shall
+ terminate as of the date such process is initiated.
+
+
+7 General
+
+ 7.1 If any provisions of this Licence are or subsequently become
+ invalid or unenforceable for any reason, the remaining
+ provisions shall remain effective.
+
+ 7.2 You shall not use any of the name (including acronyms and
+ abbreviations), image, or logo by which the Licensor or CERN is
+ known, except where needed to comply with section 3, or where
+ the use is otherwise allowed by law. Any such permitted use
+ shall be factual and shall not be made so as to suggest any kind
+ of endorsement or implication of involvement by the Licensor or
+ its personnel.
+
+ 7.3 CERN may publish updated versions and variants of this Licence
+ which it considers to be in the spirit of this version, but may
+ differ in detail to address new problems or concerns. New
+ versions will be published with a unique version number and a
+ variant identifier specifying the variant. If the Licensor has
+ specified that a given variant applies to the Covered Source
+ without specifying a version, You may treat that Covered Source
+ as being released under any version of the CERN-OHL with that
+ variant. If no variant is specified, the Covered Source shall be
+ treated as being released under CERN-OHL-S. The Licensor may
+ also specify that the Covered Source is subject to a specific
+ version of the CERN-OHL or any later version in which case You
+ may apply this or any later version of CERN-OHL with the same
+ variant identifier published by CERN.
+
+ 7.4 This Licence shall not be enforceable except by a Licensor
+ acting as such, and third party beneficiary rights are
+ specifically excluded.
diff --git a/poky/meta/files/common-licenses/CERN-OHL-S-2.0 b/poky/meta/files/common-licenses/CERN-OHL-S-2.0
new file mode 100644
index 000000000..114486fd9
--- /dev/null
+++ b/poky/meta/files/common-licenses/CERN-OHL-S-2.0
@@ -0,0 +1,289 @@
+CERN Open Hardware Licence Version 2 - Strongly Reciprocal
+
+
+Preamble
+
+CERN has developed this licence to promote collaboration among
+hardware designers and to provide a legal tool which supports the
+freedom to use, study, modify, share and distribute hardware designs
+and products based on those designs. Version 2 of the CERN Open
+Hardware Licence comes in three variants: CERN-OHL-P (permissive); and
+two reciprocal licences: CERN-OHL-W (weakly reciprocal) and this
+licence, CERN-OHL-S (strongly reciprocal).
+
+The CERN-OHL-S is copyright CERN 2020. Anyone is welcome to use it, in
+unmodified form only.
+
+Use of this Licence does not imply any endorsement by CERN of any
+Licensor or their designs nor does it imply any involvement by CERN in
+their development.
+
+
+1 Definitions
+
+ 1.1 'Licence' means this CERN-OHL-S.
+
+ 1.2 'Compatible Licence' means
+
+ a) any earlier version of the CERN Open Hardware licence, or
+
+ b) any version of the CERN-OHL-S, or
+
+ c) any licence which permits You to treat the Source to which
+ it applies as licensed under CERN-OHL-S provided that on
+ Conveyance of any such Source, or any associated Product You
+ treat the Source in question as being licensed under
+ CERN-OHL-S.
+
+ 1.3 'Source' means information such as design materials or digital
+ code which can be applied to Make or test a Product or to
+ prepare a Product for use, Conveyance or sale, regardless of its
+ medium or how it is expressed. It may include Notices.
+
+ 1.4 'Covered Source' means Source that is explicitly made available
+ under this Licence.
+
+ 1.5 'Product' means any device, component, work or physical object,
+ whether in finished or intermediate form, arising from the use,
+ application or processing of Covered Source.
+
+ 1.6 'Make' means to create or configure something, whether by
+ manufacture, assembly, compiling, loading or applying Covered
+ Source or another Product or otherwise.
+
+ 1.7 'Available Component' means any part, sub-assembly, library or
+ code which:
+
+ a) is licensed to You as Complete Source under a Compatible
+ Licence; or
+
+ b) is available, at the time a Product or the Source containing
+ it is first Conveyed, to You and any other prospective
+ licensees
+
+ i) as a physical part with sufficient rights and
+ information (including any configuration and
+ programming files and information about its
+ characteristics and interfaces) to enable it either to
+ be Made itself, or to be sourced and used to Make the
+ Product; or
+ ii) as part of the normal distribution of a tool used to
+ design or Make the Product.
+
+ 1.8 'Complete Source' means the set of all Source necessary to Make
+ a Product, in the preferred form for making modifications,
+ including necessary installation and interfacing information
+ both for the Product, and for any included Available Components.
+ If the format is proprietary, it must also be made available in
+ a format (if the proprietary tool can create it) which is
+ viewable with a tool available to potential licensees and
+ licensed under a licence approved by the Free Software
+ Foundation or the Open Source Initiative. Complete Source need
+ not include the Source of any Available Component, provided that
+ You include in the Complete Source sufficient information to
+ enable a recipient to Make or source and use the Available
+ Component to Make the Product.
+
+ 1.9 'Source Location' means a location where a Licensor has placed
+ Covered Source, and which that Licensor reasonably believes will
+ remain easily accessible for at least three years for anyone to
+ obtain a digital copy.
+
+ 1.10 'Notice' means copyright, acknowledgement and trademark notices,
+ Source Location references, modification notices (subsection
+ 3.3(b)) and all notices that refer to this Licence and to the
+ disclaimer of warranties that are included in the Covered
+ Source.
+
+ 1.11 'Licensee' or 'You' means any person exercising rights under
+ this Licence.
+
+ 1.12 'Licensor' means a natural or legal person who creates or
+ modifies Covered Source. A person may be a Licensee and a
+ Licensor at the same time.
+
+ 1.13 'Convey' means to communicate to the public or distribute.
+
+
+2 Applicability
+
+ 2.1 This Licence governs the use, copying, modification, Conveying
+ of Covered Source and Products, and the Making of Products. By
+ exercising any right granted under this Licence, You irrevocably
+ accept these terms and conditions.
+
+ 2.2 This Licence is granted by the Licensor directly to You, and
+ shall apply worldwide and without limitation in time.
+
+ 2.3 You shall not attempt to restrict by contract or otherwise the
+ rights granted under this Licence to other Licensees.
+
+ 2.4 This Licence is not intended to restrict fair use, fair dealing,
+ or any other similar right.
+
+
+3 Copying, modifying and Conveying Covered Source
+
+ 3.1 You may copy and Convey verbatim copies of Covered Source, in
+ any medium, provided You retain all Notices.
+
+ 3.2 You may modify Covered Source, other than Notices, provided that
+ You irrevocably undertake to make that modified Covered Source
+ available from a Source Location should You Convey a Product in
+ circumstances where the recipient does not otherwise receive a
+ copy of the modified Covered Source. In each case subsection 3.3
+ shall apply.
+
+ You may only delete Notices if they are no longer applicable to
+ the corresponding Covered Source as modified by You and You may
+ add additional Notices applicable to Your modifications.
+ Including Covered Source in a larger work is modifying the
+ Covered Source, and the larger work becomes modified Covered
+ Source.
+
+ 3.3 You may Convey modified Covered Source (with the effect that You
+ shall also become a Licensor) provided that You:
+
+ a) retain Notices as required in subsection 3.2;
+
+ b) add a Notice to the modified Covered Source stating that You
+ have modified it, with the date and brief description of how
+ You have modified it;
+
+ c) add a Source Location Notice for the modified Covered Source
+ if You Convey in circumstances where the recipient does not
+ otherwise receive a copy of the modified Covered Source; and
+
+ d) license the modified Covered Source under the terms and
+ conditions of this Licence (or, as set out in subsection
+ 8.3, a later version, if permitted by the licence of the
+ original Covered Source). Such modified Covered Source must
+ be licensed as a whole, but excluding Available Components
+ contained in it, which remain licensed under their own
+ applicable licences.
+
+
+4 Making and Conveying Products
+
+You may Make Products, and/or Convey them, provided that You either
+provide each recipient with a copy of the Complete Source or ensure
+that each recipient is notified of the Source Location of the Complete
+Source. That Complete Source is Covered Source, and You must
+accordingly satisfy Your obligations set out in subsection 3.3. If
+specified in a Notice, the Product must visibly and securely display
+the Source Location on it or its packaging or documentation in the
+manner specified in that Notice.
+
+
+5 Research and Development
+
+You may Convey Covered Source, modified Covered Source or Products to
+a legal entity carrying out development, testing or quality assurance
+work on Your behalf provided that the work is performed on terms which
+prevent the entity from both using the Source or Products for its own
+internal purposes and Conveying the Source or Products or any
+modifications to them to any person other than You. Any modifications
+made by the entity shall be deemed to be made by You pursuant to
+subsection 3.2.
+
+
+6 DISCLAIMER AND LIABILITY
+
+ 6.1 DISCLAIMER OF WARRANTY -- The Covered Source and any Products
+ are provided 'as is' and any express or implied warranties,
+ including, but not limited to, implied warranties of
+ merchantability, of satisfactory quality, non-infringement of
+ third party rights, and fitness for a particular purpose or use
+ are disclaimed in respect of any Source or Product to the
+ maximum extent permitted by law. The Licensor makes no
+ representation that any Source or Product does not or will not
+ infringe any patent, copyright, trade secret or other
+ proprietary right. The entire risk as to the use, quality, and
+ performance of any Source or Product shall be with You and not
+ the Licensor. This disclaimer of warranty is an essential part
+ of this Licence and a condition for the grant of any rights
+ granted under this Licence.
+
+ 6.2 EXCLUSION AND LIMITATION OF LIABILITY -- The Licensor shall, to
+ the maximum extent permitted by law, have no liability for
+ direct, indirect, special, incidental, consequential, exemplary,
+ punitive or other damages of any character including, without
+ limitation, procurement of substitute goods or services, loss of
+ use, data or profits, or business interruption, however caused
+ and on any theory of contract, warranty, tort (including
+ negligence), product liability or otherwise, arising in any way
+ in relation to the Covered Source, modified Covered Source
+ and/or the Making or Conveyance of a Product, even if advised of
+ the possibility of such damages, and You shall hold the
+ Licensor(s) free and harmless from any liability, costs,
+ damages, fees and expenses, including claims by third parties,
+ in relation to such use.
+
+
+7 Patents
+
+ 7.1 Subject to the terms and conditions of this Licence, each
+ Licensor hereby grants to You a perpetual, worldwide,
+ non-exclusive, no-charge, royalty-free, irrevocable (except as
+ stated in subsections 7.2 and 8.4) patent license to Make, have
+ Made, use, offer to sell, sell, import, and otherwise transfer
+ the Covered Source and Products, where such licence applies only
+ to those patent claims licensable by such Licensor that are
+ necessarily infringed by exercising rights under the Covered
+ Source as Conveyed by that Licensor.
+
+ 7.2 If You institute patent litigation against any entity (including
+ a cross-claim or counterclaim in a lawsuit) alleging that the
+ Covered Source or a Product constitutes direct or contributory
+ patent infringement, or You seek any declaration that a patent
+ licensed to You under this Licence is invalid or unenforceable
+ then any rights granted to You under this Licence shall
+ terminate as of the date such process is initiated.
+
+
+8 General
+
+ 8.1 If any provisions of this Licence are or subsequently become
+ invalid or unenforceable for any reason, the remaining
+ provisions shall remain effective.
+
+ 8.2 You shall not use any of the name (including acronyms and
+ abbreviations), image, or logo by which the Licensor or CERN is
+ known, except where needed to comply with section 3, or where
+ the use is otherwise allowed by law. Any such permitted use
+ shall be factual and shall not be made so as to suggest any kind
+ of endorsement or implication of involvement by the Licensor or
+ its personnel.
+
+ 8.3 CERN may publish updated versions and variants of this Licence
+ which it considers to be in the spirit of this version, but may
+ differ in detail to address new problems or concerns. New
+ versions will be published with a unique version number and a
+ variant identifier specifying the variant. If the Licensor has
+ specified that a given variant applies to the Covered Source
+ without specifying a version, You may treat that Covered Source
+ as being released under any version of the CERN-OHL with that
+ variant. If no variant is specified, the Covered Source shall be
+ treated as being released under CERN-OHL-S. The Licensor may
+ also specify that the Covered Source is subject to a specific
+ version of the CERN-OHL or any later version in which case You
+ may apply this or any later version of CERN-OHL with the same
+ variant identifier published by CERN.
+
+ 8.4 This Licence shall terminate with immediate effect if You fail
+ to comply with any of its terms and conditions.
+
+ 8.5 However, if You cease all breaches of this Licence, then Your
+ Licence from any Licensor is reinstated unless such Licensor has
+ terminated this Licence by giving You, while You remain in
+ breach, a notice specifying the breach and requiring You to cure
+ it within 30 days, and You have failed to come into compliance
+ in all material respects by the end of the 30 day period. Should
+ You repeat the breach after receipt of a cure notice and
+ subsequent reinstatement, this Licence will terminate
+ immediately and permanently. Section 6 shall continue to apply
+ after any termination.
+
+ 8.6 This Licence shall not be enforceable except by a Licensor
+ acting as such, and third party beneficiary rights are
+ specifically excluded.
diff --git a/poky/meta/files/common-licenses/CERN-OHL-W-2.0 b/poky/meta/files/common-licenses/CERN-OHL-W-2.0
new file mode 100644
index 000000000..0f882860a
--- /dev/null
+++ b/poky/meta/files/common-licenses/CERN-OHL-W-2.0
@@ -0,0 +1,310 @@
+CERN Open Hardware Licence Version 2 - Weakly Reciprocal
+
+Preamble
+
+CERN has developed this licence to promote collaboration among
+hardware designers and to provide a legal tool which supports the
+freedom to use, study, modify, share and distribute hardware designs
+and products based on those designs. Version 2 of the CERN Open
+Hardware Licence comes in three variants: CERN-OHL-P (permissive); and
+two reciprocal licences: this licence, CERN- OHL-W (weakly reciprocal)
+and CERN-OHL-S (strongly reciprocal).
+
+The CERN-OHL-W is copyright CERN 2020. Anyone is welcome to use it, in
+unmodified form only.
+
+Use of this Licence does not imply any endorsement by CERN of any
+Licensor or their designs nor does it imply any involvement by CERN in
+their development.
+
+
+1 Definitions
+
+ 1.1 'Licence' means this CERN-OHL-W.
+
+ 1.2 'Compatible Licence' means
+
+ a) any earlier version of the CERN Open Hardware licence, or
+
+ b) any version of the CERN-OHL-S or the CERN-OHL-W, or
+
+ c) any licence which permits You to treat the Source to which
+ it applies as licensed under CERN-OHL-S or CERN-OHL-W
+ provided that on Conveyance of any such Source, or any
+ associated Product You treat the Source in question as being
+ licensed under CERN-OHL-S or CERN-OHL-W as appropriate.
+
+ 1.3 'Source' means information such as design materials or digital
+ code which can be applied to Make or test a Product or to
+ prepare a Product for use, Conveyance or sale, regardless of its
+ medium or how it is expressed. It may include Notices.
+
+ 1.4 'Covered Source' means Source that is explicitly made available
+ under this Licence.
+
+ 1.5 'Product' means any device, component, work or physical object,
+ whether in finished or intermediate form, arising from the use,
+ application or processing of Covered Source.
+
+ 1.6 'Make' means to create or configure something, whether by
+ manufacture, assembly, compiling, loading or applying Covered
+ Source or another Product or otherwise.
+
+ 1.7 'Available Component' means any part, sub-assembly, library or
+ code which:
+
+ a) is licensed to You as Complete Source under a Compatible
+ Licence; or
+
+ b) is available, at the time a Product or the Source containing
+ it is first Conveyed, to You and any other prospective
+ licensees
+
+ i) with sufficient rights and information (including any
+ configuration and programming files and information
+ about its characteristics and interfaces) to enable it
+ either to be Made itself, or to be sourced and used to
+ Make the Product; or
+ ii) as part of the normal distribution of a tool used to
+ design or Make the Product.
+
+ 1.8 'External Material' means anything (including Source) which:
+
+ a) is only combined with Covered Source in such a way that it
+ interfaces with the Covered Source using a documented
+ interface which is described in the Covered Source; and
+
+ b) is not a derivative of or contains Covered Source, or, if it
+ is, it is solely to the extent necessary to facilitate such
+ interfacing.
+
+ 1.9 'Complete Source' means the set of all Source necessary to Make
+ a Product, in the preferred form for making modifications,
+ including necessary installation and interfacing information
+ both for the Product, and for any included Available Components.
+ If the format is proprietary, it must also be made available in
+ a format (if the proprietary tool can create it) which is
+ viewable with a tool available to potential licensees and
+ licensed under a licence approved by the Free Software
+ Foundation or the Open Source Initiative. Complete Source need
+ not include the Source of any Available Component, provided that
+ You include in the Complete Source sufficient information to
+ enable a recipient to Make or source and use the Available
+ Component to Make the Product.
+
+ 1.10 'Source Location' means a location where a Licensor has placed
+ Covered Source, and which that Licensor reasonably believes will
+ remain easily accessible for at least three years for anyone to
+ obtain a digital copy.
+
+ 1.11 'Notice' means copyright, acknowledgement and trademark notices,
+ Source Location references, modification notices (subsection
+ 3.3(b)) and all notices that refer to this Licence and to the
+ disclaimer of warranties that are included in the Covered
+ Source.
+
+ 1.12 'Licensee' or 'You' means any person exercising rights under
+ this Licence.
+
+ 1.13 'Licensor' means a natural or legal person who creates or
+ modifies Covered Source. A person may be a Licensee and a
+ Licensor at the same time.
+
+ 1.14 'Convey' means to communicate to the public or distribute.
+
+
+2 Applicability
+
+ 2.1 This Licence governs the use, copying, modification, Conveying
+ of Covered Source and Products, and the Making of Products. By
+ exercising any right granted under this Licence, You irrevocably
+ accept these terms and conditions.
+
+ 2.2 This Licence is granted by the Licensor directly to You, and
+ shall apply worldwide and without limitation in time.
+
+ 2.3 You shall not attempt to restrict by contract or otherwise the
+ rights granted under this Licence to other Licensees.
+
+ 2.4 This Licence is not intended to restrict fair use, fair dealing,
+ or any other similar right.
+
+
+3 Copying, modifying and Conveying Covered Source
+
+ 3.1 You may copy and Convey verbatim copies of Covered Source, in
+ any medium, provided You retain all Notices.
+
+ 3.2 You may modify Covered Source, other than Notices, provided that
+ You irrevocably undertake to make that modified Covered Source
+ available from a Source Location should You Convey a Product in
+ circumstances where the recipient does not otherwise receive a
+ copy of the modified Covered Source. In each case subsection 3.3
+ shall apply.
+
+ You may only delete Notices if they are no longer applicable to
+ the corresponding Covered Source as modified by You and You may
+ add additional Notices applicable to Your modifications.
+
+ 3.3 You may Convey modified Covered Source (with the effect that You
+ shall also become a Licensor) provided that You:
+
+ a) retain Notices as required in subsection 3.2;
+
+ b) add a Notice to the modified Covered Source stating that You
+ have modified it, with the date and brief description of how
+ You have modified it;
+
+ c) add a Source Location Notice for the modified Covered Source
+ if You Convey in circumstances where the recipient does not
+ otherwise receive a copy of the modified Covered Source; and
+
+ d) license the modified Covered Source under the terms and
+ conditions of this Licence (or, as set out in subsection
+ 8.3, a later version, if permitted by the licence of the
+ original Covered Source). Such modified Covered Source must
+ be licensed as a whole, but excluding Available Components
+ contained in it or External Material to which it is
+ interfaced, which remain licensed under their own applicable
+ licences.
+
+
+4 Making and Conveying Products
+
+ 4.1 You may Make Products, and/or Convey them, provided that You
+ either provide each recipient with a copy of the Complete Source
+ or ensure that each recipient is notified of the Source Location
+ of the Complete Source. That Complete Source includes Covered
+ Source and You must accordingly satisfy Your obligations set out
+ in subsection 3.3. If specified in a Notice, the Product must
+ visibly and securely display the Source Location on it or its
+ packaging or documentation in the manner specified in that
+ Notice.
+
+ 4.2 Where You Convey a Product which incorporates External Material,
+ the Complete Source for that Product which You are required to
+ provide under subsection 4.1 need not include any Source for the
+ External Material.
+
+ 4.3 You may license Products under terms of Your choice, provided
+ that such terms do not restrict or attempt to restrict any
+ recipients' rights under this Licence to the Covered Source.
+
+
+5 Research and Development
+
+You may Convey Covered Source, modified Covered Source or Products to
+a legal entity carrying out development, testing or quality assurance
+work on Your behalf provided that the work is performed on terms which
+prevent the entity from both using the Source or Products for its own
+internal purposes and Conveying the Source or Products or any
+modifications to them to any person other than You. Any modifications
+made by the entity shall be deemed to be made by You pursuant to
+subsection 3.2.
+
+
+6 DISCLAIMER AND LIABILITY
+
+ 6.1 DISCLAIMER OF WARRANTY -- The Covered Source and any Products
+ are provided 'as is' and any express or implied warranties,
+ including, but not limited to, implied warranties of
+ merchantability, of satisfactory quality, non-infringement of
+ third party rights, and fitness for a particular purpose or use
+ are disclaimed in respect of any Source or Product to the
+ maximum extent permitted by law. The Licensor makes no
+ representation that any Source or Product does not or will not
+ infringe any patent, copyright, trade secret or other
+ proprietary right. The entire risk as to the use, quality, and
+ performance of any Source or Product shall be with You and not
+ the Licensor. This disclaimer of warranty is an essential part
+ of this Licence and a condition for the grant of any rights
+ granted under this Licence.
+
+ 6.2 EXCLUSION AND LIMITATION OF LIABILITY -- The Licensor shall, to
+ the maximum extent permitted by law, have no liability for
+ direct, indirect, special, incidental, consequential, exemplary,
+ punitive or other damages of any character including, without
+ limitation, procurement of substitute goods or services, loss of
+ use, data or profits, or business interruption, however caused
+ and on any theory of contract, warranty, tort (including
+ negligence), product liability or otherwise, arising in any way
+ in relation to the Covered Source, modified Covered Source
+ and/or the Making or Conveyance of a Product, even if advised of
+ the possibility of such damages, and You shall hold the
+ Licensor(s) free and harmless from any liability, costs,
+ damages, fees and expenses, including claims by third parties,
+ in relation to such use.
+
+
+7 Patents
+
+ 7.1 Subject to the terms and conditions of this Licence, each
+ Licensor hereby grants to You a perpetual, worldwide,
+ non-exclusive, no-charge, royalty-free, irrevocable (except as
+ stated in subsections 7.2 and 8.4) patent license to Make, have
+ Made, use, offer to sell, sell, import, and otherwise transfer
+ the Covered Source and Products, where such licence applies only
+ to those patent claims licensable by such Licensor that are
+ necessarily infringed by exercising rights under the Covered
+ Source as Conveyed by that Licensor.
+
+ 7.2 If You institute patent litigation against any entity (including
+ a cross-claim or counterclaim in a lawsuit) alleging that the
+ Covered Source or a Product constitutes direct or contributory
+ patent infringement, or You seek any declaration that a patent
+ licensed to You under this Licence is invalid or unenforceable
+ then any rights granted to You under this Licence shall
+ terminate as of the date such process is initiated.
+
+
+8 General
+
+ 8.1 If any provisions of this Licence are or subsequently become
+ invalid or unenforceable for any reason, the remaining
+ provisions shall remain effective.
+
+ 8.2 You shall not use any of the name (including acronyms and
+ abbreviations), image, or logo by which the Licensor or CERN is
+ known, except where needed to comply with section 3, or where
+ the use is otherwise allowed by law. Any such permitted use
+ shall be factual and shall not be made so as to suggest any kind
+ of endorsement or implication of involvement by the Licensor or
+ its personnel.
+
+ 8.3 CERN may publish updated versions and variants of this Licence
+ which it considers to be in the spirit of this version, but may
+ differ in detail to address new problems or concerns. New
+ versions will be published with a unique version number and a
+ variant identifier specifying the variant. If the Licensor has
+ specified that a given variant applies to the Covered Source
+ without specifying a version, You may treat that Covered Source
+ as being released under any version of the CERN-OHL with that
+ variant. If no variant is specified, the Covered Source shall be
+ treated as being released under CERN-OHL-S. The Licensor may
+ also specify that the Covered Source is subject to a specific
+ version of the CERN-OHL or any later version in which case You
+ may apply this or any later version of CERN-OHL with the same
+ variant identifier published by CERN.
+
+ You may treat Covered Source licensed under CERN-OHL-W as
+ licensed under CERN-OHL-S if and only if all Available
+ Components referenced in the Covered Source comply with the
+ corresponding definition of Available Component for CERN-OHL-S.
+
+ 8.4 This Licence shall terminate with immediate effect if You fail
+ to comply with any of its terms and conditions.
+
+ 8.5 However, if You cease all breaches of this Licence, then Your
+ Licence from any Licensor is reinstated unless such Licensor has
+ terminated this Licence by giving You, while You remain in
+ breach, a notice specifying the breach and requiring You to cure
+ it within 30 days, and You have failed to come into compliance
+ in all material respects by the end of the 30 day period. Should
+ You repeat the breach after receipt of a cure notice and
+ subsequent reinstatement, this Licence will terminate
+ immediately and permanently. Section 6 shall continue to apply
+ after any termination.
+
+ 8.6 This Licence shall not be enforceable except by a Licensor
+ acting as such, and third party beneficiary rights are
+ specifically excluded.
diff --git a/poky/meta/files/common-licenses/CNRI-Jython b/poky/meta/files/common-licenses/CNRI-Jython
new file mode 100644
index 000000000..0bfec82d0
--- /dev/null
+++ b/poky/meta/files/common-licenses/CNRI-Jython
@@ -0,0 +1,12 @@
+
+1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and using JPython version 1.1.x in source or binary form and its associated documentation as provided herein ("Software").
+
+2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, non-transferable, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use the Software alone or in any derivative version, provided, however, that CNRI's License Agreement and CNRI's notice of copyright, i.e., “Copyright (c) 1996-1999 Corporation for National Research Initiatives; All Rights Reserved” are both retained in the Software, alone or in any derivative version prepared by Licensee.
+Alternatively, in lieu of CNRI's License Agreement, Licensee may substitute the following text (omitting the quotes), provided, however, that such text is displayed prominently in the Software alone or in any derivative version prepared by Licensee: “JPython (Version 1.1.x) is made available subject to the terms and conditions in CNRI's License Agreement. This Agreement may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1006. The License may also be obtained from a proxy server on the Web using the following URL: http://hdl.handle.net/1895.22/1006.”
+3. In the event Licensee prepares a derivative work that is based on or incorporates the Software or any part thereof, and wants to make the derivative work available to the public as provided herein, then Licensee hereby agrees to indicate in any such work, in a prominently visible way, the nature of the modifications made to CNRI's Software.
+4. Licensee may not use CNRI trademarks or trade name, including JPython or CNRI, in a trademark sense to endorse or promote products or services of Licensee, or any third party. Licensee may use the mark JPython in connection with Licensee's derivative versions that are based on or incorporate the Software, but only in the form “JPython-based ___________________,” or equivalent.
+5. CNRI is making the Software available to Licensee on an “AS IS” basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER MAY NOT APPLY TO LICENSEE.
+7. This License Agreement may be terminated by CNRI (i) immediately upon written notice from CNRI of any material breach by the Licensee, if the nature of the breach is such that it cannot be promptly remedied; or (ii) sixty (60) days following notice from CNRI to Licensee of a material remediable breach, if Licensee has not remedied such breach within that sixty-day period.
+8. This License Agreement shall be governed by and interpreted in all respects by the law of the State of Virginia, excluding conflict of law provisions. Nothing in this Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee.
+9. By clicking on the "ACCEPT" button where indicated, or by installing, copying or otherwise using the Software, Licensee agrees to be bound by the terms and conditions of this License Agreement.
diff --git a/poky/meta/files/common-licenses/CNRI-Python b/poky/meta/files/common-licenses/CNRI-Python
new file mode 100644
index 000000000..64f1298e9
--- /dev/null
+++ b/poky/meta/files/common-licenses/CNRI-Python
@@ -0,0 +1,25 @@
+CNRI OPEN SOURCE LICENSE AGREEMENT
+
+IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY.
+
+BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1.6, beta 1 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT.
+
+1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 1.6, beta 1 software in source or binary form and its associated documentation, as released at the www.python.org Internet site on August 4, 2000 ("Python 1.6b1").
+
+2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee.
+
+Alternately, in lieu of CNRIs License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6, beta 1, is made available subject to the terms and conditions in CNRIs License Agreement. This Agreement may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1011. This Agreement may also be obtained from a proxy server on the Internet using the URL:http://hdl.handle.net/1895.22/1011".
+
+3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6b1 or any part thereof, and wants to make the derivative work available to the public as provided herein, then Licensee hereby agrees to indicate in any such work the nature of the modifications made to Python 1.6b1.
+
+4. CNRI is making Python 1.6b1 available to Licensee on an "AS IS" basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6b1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING PYTHON 1.6b1, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
+
+7. This License Agreement shall be governed by and interpreted in all respects by the law of the State of Virginia, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Python 1.6b1, Licensee agrees to be bound by the terms and conditions of this License Agreement.
+
+ACCEPT
diff --git a/poky/meta/files/common-licenses/CNRI-Python-GPL-Compatible b/poky/meta/files/common-licenses/CNRI-Python-GPL-Compatible
new file mode 100644
index 000000000..2754c70e8
--- /dev/null
+++ b/poky/meta/files/common-licenses/CNRI-Python-GPL-Compatible
@@ -0,0 +1,23 @@
+CNRI OPEN SOURCE GPL-COMPATIBLE LICENSE AGREEMENT
+
+IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY.
+
+BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1.6.1 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT.
+
+1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 1.6.1 software in source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6.1 alone or in any derivative version, provided, however, that CNRI's License Agreement and CNRI's notice of copyright, i.e., "Copyright © 1995-2001 Corporation for National Research Initiatives; All Rights Reserved" are retained in Python 1.6.1 alone or in any derivative version prepared by Licensee. Alternately, in lieu of CNRI's License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6.1 is made available subject to the terms and conditions in CNRI's License Agreement. This Agreement together with Python 1.6.1 may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1013. This Agreement may also be obtained from a proxy server on the Internet using the following URL: http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6.1 or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal intellectual property law of the United States, including without limitation the federal copyright law, and, to the extent such U.S. federal law does not apply, by the law of the Commonwealth of Virginia, excluding Virginia's conflict of law provisions. Notwithstanding the foregoing, with regard to derivative works based on Python 1.6.1 that incorporate non-separable material that was previously distributed under the GNU General Public License (GPL), the law of the Commonwealth of Virginia shall govern this License Agreement only as to issues arising under or with respect to Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Python 1.6.1, Licensee agrees to be bound by the terms and conditions of this License Agreement.
+
+ACCEPT
diff --git a/poky/meta/files/common-licenses/CPOL-1.02 b/poky/meta/files/common-licenses/CPOL-1.02
new file mode 100644
index 000000000..9857e0003
--- /dev/null
+++ b/poky/meta/files/common-licenses/CPOL-1.02
@@ -0,0 +1,98 @@
+The Code Project Open License (CPOL) 1.02
+
+Preamble
+
+This License governs Your use of the Work. This License is intended to allow developers to use the Source Code and Executable Files provided as part of the Work in any application in any form.
+
+The main points subject to the terms of the License are:
+- Source Code and Executable Files can be used in commercial applications;
+- Source Code and Executable Files can be redistributed; and
+- Source Code can be modified to create derivative works.
+- No claim of suitability, guarantee, or any warranty whatsoever is provided. The software is provided "as-is".
+- The Article accompanying the Work may not be distributed or republished without the Author's consent
+
+This License is entered between You, the individual or other entity reading or otherwise making use of the Work licensed pursuant to this License and the individual or other entity which offers the Work under the terms of this License ("Author").
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CODE PROJECT OPEN LICENSE ("LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HEREIN, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE AUTHOR GRANTS YOU THE RIGHTS CONTAINED HEREIN IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO ACCEPT AND BE BOUND BY THE TERMS OF THIS LICENSE, YOU CANNOT MAKE ANY USE OF THE WORK.
+
+1. Definitions.
+
+ a. "Articles" means, collectively, all articles written by Author which describes how the Source Code and Executable Files for the Work may be used by a user.
+
+ b. "Author" means the individual or entity that offers the Work under the terms of this License.
+
+ c. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works.
+
+ d. "Executable Files" refer to the executables, binary files, configuration and any required data files included in the Work.
+
+ e. "Publisher" means the provider of the website, magazine, CD-ROM, DVD or other medium from or by which the Work is obtained by You.
+
+ f. "Source Code" refers to the collection of source code and configuration files used to create the Executable Files.
+
+ g. "Standard Version" refers to such a Work if it has not been modified, or has been modified in accordance with the consent of the Author, such consent being in the full discretion of the Author.
+
+ h. "Work" refers to the collection of files distributed by the Publisher, including the Source Code, Executable Files, binaries, data files, documentation, whitepapers and the Articles.
+
+ i. "You" is you, an individual or entity wishing to use the Work and exercise your rights under this License.
+
+2. Fair Use/Fair Use Rights. Nothing in this License is intended to reduce, limit, or restrict any rights arising from fair use, fair dealing, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, the Author hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. You may use the standard version of the Source Code or Executable Files in Your own applications.
+
+ b. You may apply bug fixes, portability fixes and other modifications obtained from the Public Domain or from the Author. A Work modified in such a way shall still be considered the standard version and will be subject to this License.
+
+ c. You may otherwise modify Your copy of this Work (excluding the Articles) in any way to create a Derivative Work, provided that You insert a prominent notice in each changed file stating how, when and where You changed that file.
+
+ d. You may distribute the standard version of the Executable Files and Source Code or Derivative Work in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution.
+
+ e. The Articles discussing the Work published in any form by the author may not be distributed or republished without the Author's consent. The author retains copyright to any such Articles. You may use the Executable Files and Source Code pursuant to this License but you may not repost or republish or otherwise distribute or make available the Articles, without the prior written consent of the Author.
+
+Any subroutines or modules supplied by You and linked into the Source Code or Executable Files of this Work shall not be considered part of this Work and will not be subject to the terms of this License.
+
+4. Patent License. Subject to the terms and conditions of this License, each Author hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, import, and otherwise transfer the Work.
+
+5. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You agree not to remove any of the original copyright, patent, trademark, and attribution notices and associated disclaimers that may appear in the Source Code or Executable Files.
+
+ b. You agree not to advertise or in any way imply that this Work is a product of Your own.
+
+ c. The name of the Author may not be used to endorse or promote products derived from the Work without the prior written consent of the Author.
+
+ d. You agree not to sell, lease, or rent any part of the Work. This does not restrict you from including the Work or any part of the Work inside a larger software distribution that itself is being sold. The Work by itself, though, cannot be sold, leased or rented.
+
+ e. You may distribute the Executable Files and Source Code only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy of the Executable Files or Source Code You distribute and ensure that anyone receiving such Executable Files and Source Code agrees that the terms of this License apply to such Executable Files and/or Source Code. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute the Executable Files or Source Code with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License.
+
+ f. You agree not to use the Work for illegal, immoral or improper purposes, or on pages containing illegal, immoral or improper material. The Work is subject to applicable export laws. You agree to comply with all such laws and regulations that may apply to the Work after Your receipt of the Work.
+
+6. Representations, Warranties and Disclaimer. THIS WORK IS PROVIDED "AS IS", "WHERE IS" AND "AS AVAILABLE", WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES OR CONDITIONS OR GUARANTEES. YOU, THE USER, ASSUME ALL RISK IN ITS USE, INCLUDING COPYRIGHT INFRINGEMENT, PATENT INFRINGEMENT, SUITABILITY, ETC. AUTHOR EXPRESSLY DISCLAIMS ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES OR CONDITIONS, INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF MERCHANTABILITY, MERCHANTABLE QUALITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY WARRANTY OF TITLE OR NON-INFRINGEMENT, OR THAT THE WORK (OR ANY PORTION THEREOF) IS CORRECT, USEFUL, BUG-FREE OR FREE OF VIRUSES. YOU MUST PASS THIS DISCLAIMER ON WHENEVER YOU DISTRIBUTE THE WORK OR DERIVATIVE WORKS.
+
+7. Indemnity. You agree to defend, indemnify and hold harmless the Author and the Publisher from and against any claims, suits, losses, damages, liabilities, costs, and expenses (including reasonable legal or attorneys' fees) resulting from or relating to any use of the Work by You.
+
+8. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL THE AUTHOR OR THE PUBLISHER BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK OR OTHERWISE, EVEN IF THE AUTHOR OR THE PUBLISHER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+9. Termination.
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of any term of this License. Individuals or entities who have received Derivative Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 6, 7, 8, 9, 10 and 11 will survive any termination of this License.
+
+ b. If You bring a copyright, trademark, patent or any other infringement claim against any contributor over infringements You claim are made by the Work, your License from such contributor to the Work ends automatically.
+
+ c. Subject to the above terms and conditions, this License is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, the Author reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+10. Publisher. The parties hereby confirm that the Publisher shall not, under any circumstances, be responsible for and shall not have any liability in respect of the subject matter of this License. The Publisher makes no warranty whatsoever in connection with the Work and shall not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. The Publisher reserves the right to cease making the Work available to You at any time without notice
+
+11. Miscellaneous
+
+ a. This License shall be governed by the laws of the location of the head office of the Author or if the Author is an individual, the laws of location of the principal place of residence of the Author.
+
+ b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this License, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ d. This License constitutes the entire agreement between the parties with respect to the Work licensed herein. There are no understandings, agreements or representations with respect to the Work not specified herein. The Author shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Author and You.
diff --git a/poky/meta/files/common-licenses/Caldera b/poky/meta/files/common-licenses/Caldera
new file mode 100644
index 000000000..752ccc111
--- /dev/null
+++ b/poky/meta/files/common-licenses/Caldera
@@ -0,0 +1,25 @@
+Caldera International, Inc. hereby grants a fee free license that includes the rights use, modify and distribute this named source code, including creating derived binary products created from the source code. The source code for which Caldera International, Inc. grants rights are limited to the following UNIX Operating Systems that operate on the 16-Bit PDP-11 CPU and early versions of the 32-Bit UNIX Operating System, with specific exclusion of UNIX System III and UNIX System V and successor operating systems:
+
+ 32-bit 32V UNIX
+ 16 bit UNIX Versions 1, 2, 3, 4, 5, 6, 7
+
+Caldera International, Inc. makes no guarantees or commitments that any source code is available from Caldera
+International, Inc.
+
+The following copyright notice applies to the source code files for which this license is granted.
+
+Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code and documentation must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ All advertising materials mentioning features or use of this software must display the following acknowledgement:
+This product includes software developed or owned by Caldera International, Inc.
+
+ Neither the name of Caldera International, Inc. nor the names of other contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/Condor-1.1 b/poky/meta/files/common-licenses/Condor-1.1
new file mode 100644
index 000000000..c7a4f2cb5
--- /dev/null
+++ b/poky/meta/files/common-licenses/Condor-1.1
@@ -0,0 +1,40 @@
+Condor Public License
+
+Version 1.1, October 30, 2003
+
+Copyright © 1990-2006 Condor Team, Computer Sciences Department, University of Wisconsin-Madison, Madison, WI. All Rights Reserved. For more information contact: Condor Team, Attention: Professor Miron Livny, Dept of Computer Sciences, 1210 W. Dayton St., Madison, WI 53706-1685, (608) 262-0856 or miron@cs.wisc.edu.
+
+This software referred to as the Condor® Version 6.x software ("Software") was developed by the Condor Project, Condor Team, Computer Sciences Department, University of Wisconsin-Madison, under the authority of the Board of Regents of the University of Wisconsin System and includes voluntary contributions made to the Condor Project ("Copyright Holders and Contributors and the University"). For more information on the Condor Project, please see http://www.condorproject.org/.
+
+Installation, use, reproduction, display, modification and redistribution of this Software, with or without modification, in source and binary forms, are permitted. Any exercise of rights under this license including sublicenses by you is subject to the following conditions:
+
+1. Redistributions of this Software, with or without modification, must reproduce this Condor Public License in: (1) the Software, and (2) any user documentation or other similar material which is provided with the Software.
+
+2. Any user documentation included with a redistribution must include the following notice:
+``This product includes software from the Condor® Project (http://www.condorproject.org/)"
+Alternatively, if that is where third-party acknowledgments normally appear, this acknowledgment must be reproduced in the Software itself.
+3. Any academic report, publication, or other academic disclosure of results obtained with this Software will acknowledge this Software's use by an appropriate citation.
+
+4. The name Condor® is a registered trademark of the University of Wisconsin-Madison. The trademark may not be used to endorse or promote software, or products derived therefrom, and, other than as required by section 2 and 3 above, it may not be affixed to modified redistributions of this Software without the prior written approval, obtainable via email to condor-admin@cs.wisc.edu.
+
+5. To the extent that patent claims licensable by the University of Wisconsin-Madison are necessarily infringed by the use or sale of the Software, you are granted a non-exclusive, worldwide, royalty- free perpetual license under such patent claims, with the rights for you to make, use, sell, offer to sell, import and otherwise transfer the Software in source code and object code form and derivative works. This patent license shall apply to the combination of the Software with other software if, at the time the Software is added by you, such addition of the Software causes such combination to be covered by such patent claims. This patent license shall not apply to any other combinations which include the Software. No hardware per se is licensed hereunder.If you or any subsequent sub-licensee (a ``Recipient") institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Software infringes such Recipient's patent(s), then such Recipient's rights granted (directly or indirectly) under the patent license above shall terminate as of the date such litigation is filed. All sublicenses to the Software which have been properly granted prior to termination shall survive any termination of said patent license, if not otherwise terminated pursuant to this section.
+
+6. DISCLAIMER
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AND THE UNIVERSITY "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, OF SATISFACTORY QUALITY, AND FITNESS FOR A PARTICULAR PURPOSE OR USE ARE DISCLAIMED. THE COPYRIGHT HOLDERS AND CONTRIBUTORS AND THE UNIVERSITY MAKE NO REPRESENTATION THAT THE SOFTWARE, MODIFICATIONS, ENHANCEMENTS OR DERIVATIVE WORKS THEREOF, WILL NOT INFRINGE ANY PATENT, COPYRIGHT, TRADEMARK, TRADE SECRET OR OTHER PROPRIETARY RIGHT.
+7. LIMITATION OF LIABILITY
+THE COPYRIGHT HOLDERS AND CONTRIBUTORS AND ANY OTHER OFFICER, AGENT, OR EMPLOYEE OF THE UNIVERSITY SHALL HAVE NO LIABILITY TO LICENSEE OR OTHER PERSONS FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF USE, DATA OR PROFITS, OR BUSINESS INTERRUPTION, HOWEVER CAUSED AND ON ANY THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR OTHERWISE, ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+8. Certain uses and transfers of the Software or documentation, and/or items or software incorporating the Condor Software or documentation, may require a license under U.S. Export Control laws. Licensee represents and warrants that all uses and transfers of the Condor Software or documentation and/or any items or software incorporating Condor shall be in compliance with U.S. Export Control laws, and Licensee further understands that failure to comply with such export control laws may result in criminal liability to Licensee under U.S. laws.
+
+9. The Condor Team may publish revised and/or new versions of this Condor Public License (``this License") from time to time. Each version will be given a distinguishing version number. Once Software has been published under a particular version of this License, you may always continue to use it under the terms of that version. You may also choose to use such Software under the terms of any subsequent version of this License published by the Condor Team. No one other than the Condor Team has the right to modify the terms of this License.
+
+For more information:
+
+Condor Team
+Attention: Professor Miron Livny
+7367 Computer Sciences
+1210 W. Dayton St.
+Madison, WI 53706-1685
+miron@cs.wisc.edu
+http://pages.cs.wisc.edu/~miron/miron.html
+
+
diff --git a/poky/meta/files/common-licenses/Crossword b/poky/meta/files/common-licenses/Crossword
new file mode 100644
index 000000000..6be940c33
--- /dev/null
+++ b/poky/meta/files/common-licenses/Crossword
@@ -0,0 +1,5 @@
+Copyright (C) 1995-2009 Gerd Neugebauer
+
+cwpuzzle.dtx is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. No author or distributor accepts responsibility to anyone for the consequences of using it or for whether it serves any particular purpose or works at all, unless he says so in writing.
+.
+Everyone is granted permission to copy, modify and redistribute cwpuzzle.dtx, provided this copyright notice is preserved and any modifications are indicated.
diff --git a/poky/meta/files/common-licenses/CrystalStacker b/poky/meta/files/common-licenses/CrystalStacker
new file mode 100644
index 000000000..506361a95
--- /dev/null
+++ b/poky/meta/files/common-licenses/CrystalStacker
@@ -0,0 +1,7 @@
+Crystal Stacker is freeware. This means you can pass copies around freely provided you include this document in it's original form in your distribution. Please see the "Contacting Us" section of this document if you need to contact us for any reason.
+
+Disclaimer
+
+NewCreature Design makes no guarantees regarding the Crystal Stacker software. We are not responsible for damages caused by it, though the software is not known to cause any problems. If you have trouble with the software, see the "Contacting Us" section of this document.
+
+The source code is provided as-is and you may do with it whatsoever you please provided that you include this file in its unmodified form with any new distribution. NewCreature Design makes no gaurantees regarding the usability of the source but are willing to help with any problems you might run into. Please see the "Contacting Us" section of this document if you need to get in touch with us about any issues you have regarding the source.
diff --git a/poky/meta/files/common-licenses/Cube b/poky/meta/files/common-licenses/Cube
new file mode 100644
index 000000000..0a9ea66eb
--- /dev/null
+++ b/poky/meta/files/common-licenses/Cube
@@ -0,0 +1,17 @@
+Cube game engine source code, 20 dec 2003 release.
+
+Copyright (C) 2001-2003 Wouter van Oortmerssen.
+
+This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+
+ 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+
+ 3. This notice may not be removed or altered from any source distribution.
+
+additional clause specific to Cube:
+
+ 4. Source versions may not be "relicensed" under a different license without my explicitly written permission.
diff --git a/poky/meta/files/common-licenses/D-FSL-1.0 b/poky/meta/files/common-licenses/D-FSL-1.0
new file mode 100644
index 000000000..b64a259c4
--- /dev/null
+++ b/poky/meta/files/common-licenses/D-FSL-1.0
@@ -0,0 +1,147 @@
+Deutsche Freie Software Lizenz
+
+(c) Ministerium für Wissenschaft und Forschung Nordrhein-Westfalen 2004
+
+Erstellt von Axel Metzger und Till Jaeger, Institut für Rechtsfragen der Freien und Open Source Software - (http://www.ifross.de).
+
+Präambel
+
+Software ist mehr als ein Wirtschaftsgut. Sie ist die technische Grundlage der Informationsgesellschaft. Die Frage der Teilhabe der Allgemeinheit ist deswegen von besonderer Bedeutung. Herkömmlich lizenzierte Programme werden nur im Object Code vertrieben, der Nutzer darf das Programm weder verändern noch weitergeben. Das Lizenzmodell der Freien Software (synonym "Open Source Software") gewährt Ihnen dagegen umfassende Freiheiten im Umgang mit dem Programm. Die Deutsche Freie Software Lizenz folgt diesem Lizenzmodell. Sie gewährt Ihnen das Recht, das Programm in umfassender Weise zu nutzen. Es ist Ihnen gestattet, das Programm nach Ihren Vorstellungen zu verändern, in veränderter oder unveränderter Form zu vervielfältigen, zu verbreiten und öffentlich zugänglich zu machen. Diese Rechte werden unentgeltlich eingeräumt.
+
+Die Deutsche Freie Software Lizenz verbindet die Rechtseinräumung allerdings mit Pflichten, die dem Zweck dienen, das freie Zirkulieren des Programms und aller veröffentlichten Fortentwicklungen zu sichern. Wenn Sie das Programm verbreiten oder öffentlich zugänglich machen, dann müssen Sie jedem, der das Programm von Ihnen erhält, eine Kopie dieser Lizenz mitliefern und den Zugriff auf den Source Code ermöglichen. Eine weitere Pflicht betrifft Fortentwicklungen des Programms. Änderungen am Programm, die Sie öffentlich verbreiten oder zugänglich machen, müssen nach den Bestimmungen dieser Lizenz frei gegeben werden.
+
+Die Deutsche Freie Software Lizenz nimmt auf die besonderen Anforderungen des deutschen und europäischen Rechts Rücksicht. Sie ist zweisprachig gestaltet und damit auch auf den internationalen Vertrieb ausgerichtet.
+
+§ 0 Definitionen
+
+Dokumentation: Die Beschreibung des Aufbaus und/oder der Struktur der Programmierung und/oder der Funktionalitäten des Programms, unabhängig davon, ob sie im Source Code oder gesondert vorgenommen wird.
+
+Lizenz: Die zwischen dem Lizenzgeber und Ihnen geschlossene Vereinbarung mit dem Inhalt der "Deutschen Freien Software Lizenz" bzw. das Angebot hierzu.
+
+Lizenznehmer: Jede natürliche oder juristische Person, die die Lizenz angenommen hat.
+
+Programm: Jedes Computerprogramm, das von den Rechtsinhabern nach den Bestimmungen dieser Lizenz verbreitet oder öffentlich zugänglich gemacht worden ist.
+
+Object Code: Die maschinenlesbare, übersetzte Form des Programms.
+
+Öffentlich: Nicht nur an einen bestimmten Personenkreis gerichtet, der persönlich oder durch die Zugehörigkeit zu einer juristischen Person oder einem öffentlichen Träger miteinander verbunden ist.
+
+Öffentlich zugänglich machen: Die öffentliche Weitergabe des Programms in unkörperlicher Form, insbesondere das Bereithalten zum Download in Datennetzen.
+
+Rechtsinhaber: Der bzw. die Urheber oder sonstigen Inhaber der ausschließlichen Nutzungsrechte an dem Programm.
+
+Source Code: Die für Menschen lesbare, in Programmiersprache dargestellte Form des Programms.
+
+Verändern: Jede Erweiterung, Kürzung und Bearbeitung des Programms, insbesondere Weiterentwicklungen.
+
+Verbreiten: Die öffentliche Weitergabe körperlicher Vervielfältigungsstücke, insbesondere auf Datenträgern oder in Verbindung mit Hardware.
+
+Vollständiger Source Code: Der Source Code in der für die Erstellung bzw. die Bearbeitung benutzten Form zusammen mit den zur Übersetzung und Installation erforderlichen Konfigurationsdateien und Software-Werkzeugen, sofern diese in der benötigten Form nicht allgemein gebräuchlich (z.B. Standard-Kompiler) oder für jedermann lizenzgebührenfrei im Internet abrufbar sind.
+
+§ 1 Rechte
+
+(1) Sie dürfen das Programm in unveränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen.
+
+(2) Sie dürfen das Programm verändern und entsprechend veränderte Versionen vervielfältigen, verbreiten und öffentlich zugänglich machen. Gestattet ist auch die Kombination des Programms oder Teilen hiervon mit anderen Programmen.
+
+(3) Sie erhalten die Rechte unentgeltlich.
+
+§ 2 Pflichten beim Vertrieb
+
+(1) Wenn Sie das Programm verbreiten oder öffentlich zugänglich machen, sei es in unveränderter oder veränderter Form, sei es in einer Kombination mit anderen Programmen oder in Verbindung mit Hardware, dann müssen sie mitliefern:
+1. alle Vermerke im Source Code und/oder Object Code, die auf diese Lizenz hinweisen;
+2. alle Vermerke im Source Code und/oder Object Code, die über die Urheber des Programms Auskunft geben;
+3. einen für den Empfänger deutlich wahrnehmbaren Hinweis auf diese Lizenz und die Internetadresse http://www.d-fsl.de;
+4. den vollständigen Text dieser Lizenz in deutlich wahrnehmbarer Weise.
+
+(2) Wenn bei der Installation des Programms und/oder beim Programmstart Lizenz- und/oder Vertragsbedingungen angezeigt werden, dann müssen
+1. diese Lizenz,
+2. ein Hinweis auf diese Lizenz und
+3. ein Hinweis auf den oder die Rechtsinhaber an den ersten unter dieser Lizenz nutzbaren Programmbestandteilen
+ebenfalls angezeigt werden.
+
+(3) Sie dürfen die Nutzung des Programms nicht von Pflichten oder Bedingungen abhängig machen, die nicht in dieser Lizenz vorgesehen sind.
+
+(4) Sofern Sie mit dem Programm eine Dokumentation erhalten haben, muss diese Dokumentation entsprechend mitgeliefert werden, es sei denn, die freie Mitlieferung der Dokumentation ist Ihnen aufgrund der Lizenz für die Dokumentation nicht gestattet.
+
+§ 3 Weitere Pflichten beim Vertrieb veränderter Versionen
+
+(1) Veränderte Versionen des Programms dürfen Sie nur unter den Bedingungen dieser Lizenz verbreiten oder öffentlich zugänglich machen, so dass Dritte das veränderte Programm insgesamt unter dieser Lizenz nutzen können.
+
+(2) Wird das Programm oder ein Teil hiervon mit einem anderen Programm kombiniert, gilt auch die Kombination insgesamt als eine veränderte Version des Programms, es sei denn, das andere Programm ist formal und inhaltlich eigenständig. Ein anderes Programm ist dann als eigenständig anzusehen, wenn es die folgenden Voraussetzungen alle erfüllt:
+1. Der Source Code der kombinierten Programme muss jeweils in eigenen Dateien vorhanden sein, die keine Bestandteile des anderen Teils enthalten, die über die zur Programmkombination üblichen und erforderlichen Informationen über den anderen Teil hinausgehen, wobei der Source Code des anderen Programms nicht mitgeliefert werden muss.
+2. Der mit dem Programm kombinierte Teil muss auch dann sinnvoll nutzbar sein, wenn er nicht mit dem Programm kombiniert wird, und zwar entweder alleine oder mit sonstigen Programmen. Was als "sinnvoll nutzbar" anzusehen ist, richtet sich nach der Auffassung der betroffenen Fachkreise. Zu den betroffenen Fachkreisen gehören alle Personen, die das Programm oder Programme mit vergleichbarer Funktionalität entwickeln, benutzen, verbreiten oder öffentlich zugänglich machen.
+
+(3) Wenn Sie das Programm oder einen Teil hiervon - verändert oder unverändert - zusammen mit einem anderen Programm verbreiten oder öffentlich zugänglich machen, das unter der GNU General Public License (GPL) lizenziert wird, darf das Programm auch unter den Bedingungen der GPL genutzt werden, sofern es mit dem anderen Programm ein "derivative work" im Sinne der GPL bildet. Dabei sollen die Hinweise auf diese Lizenz entfernt und durch einen Hinweis auf die GPL ersetzt werden. Ob bei der Zusammenstellung ein "derivate work" im Sinne der GPL entsteht, beurteilt sich nach Ziffer 2 b) der GPL. Diese Bestimmung lautet: "You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License." Die GPL kann abgerufen werden unter http://www.fsf.org/licenses/gpl.
+
+(4) Wenn Sie das Programm in einer veränderten Form verbreiten oder öffentlich zugänglich machen, müssen Sie im Source Code einen Hinweis mit den Änderungen aufnehmen und mit dem Datum der Änderung versehen. Der Hinweis muss erkennen lassen, welche Änderungen vorgenommen wurden und bestehende Vermerke, die über die Urheber des Programms Auskunft geben, übernehmen. Dies gilt unabhängig davon, ob Sie einen eigenen Urhebervermerk hinzufügen. Anstelle eines Hinweises im Source Code können Sie auch ein Versionskontrollsystem verwenden oder weiterführen, sofern dieses mitverbreitet wird oder öffentlich zugänglich ist.
+
+(5) Sie dürfen von Dritten für die Einräumung eines einfachen Nutzungsrechts an veränderten Versionen des Programms kein Entgelt verlangen.
+
+(6) Wenn Sie an der veränderten Version des Programms ein anderes Schutzrecht als ein Urheberrecht erwerben, insbesondere ein Patent oder Gebrauchsmuster, lizenzieren Sie dieses Schutzrecht für veränderte und unveränderte Versionen des Programms in dem Umfang, der erforderlich ist, um die Rechte aus dieser Lizenz wahrnehmen zu können.
+
+§ 4 Weitere Pflichten beim Vertrieb im Object Code
+
+(1) Wenn Sie das Programm nur im Object Code verbreiten, dann müssen Sie zusätzlich zu den in § 2 und § 3 geregelten Pflichten entweder
+1. den vollständigen Source Code im Internet öffentlich zugänglich machen und bei der Verbreitung des Object Codes deutlich auf die vollständige Internetadresse hinweisen, unter der der Source Code abgerufen werden kann oder
+2. den vollständigen Source Code auf einem hierfür üblichen Datenträger unter Beachtung der §§ 2 und 3 mitverbreiten.
+
+(2) Wenn Sie das Programm im Object Code öffentlich zugänglich machen, dann müssen Sie zusätzlich zu den in § 2 und § 3 geregelten Pflichten den vollständigen Source Code im Internet öffentlich zugänglich machen und dabei deutlich auf die vollständige Internetadresse hinweisen.
+
+(3) Sofern Sie mit dem Programm eine Dokumentation erhalten haben, muss diese Dokumentation entsprechend der Absätze 1 und 2 mitgeliefert werden, es sei denn, die freie Mitlieferung der Dokumentation ist Ihnen aufgrund der Lizenz für die Dokumentation nicht gestattet.
+
+§ 5 Vertragsschluss
+
+(1) Mit dieser Lizenz wird Ihnen und jeder anderen Person ein Angebot auf Abschluss eines Vertrages über die Nutzung des Programms unter den Bedingungen der Deutschen Freien Softwarelizenz unterbreitet.
+
+(2) Sie dürfen das Programm nach den jeweils anwendbaren gesetzlichen Vorschriften bestimmungsgemäß benutzen, ohne dass es der Annahme dieser Lizenz bedarf. Dieses Recht umfasst in der Europäischen Union und in den meisten anderen Rechtsordnungen insbesondere die folgenden Befugnisse:
+1. das Programm ablaufen zu lassen sowie die Erstellung von hierfür erforderlichen Vervielfältigungen im Haupt- und Arbeitsspeicher;
+2. das Erstellen einer Sicherungskopie;
+3. die Fehlerberichtigung;
+4. die Weitergabe einer rechtmäßig erworbenen körperlichen Kopie des Programms.
+
+(3) Sie erklären Ihre Zustimmung zum Abschluss dieser Lizenz, indem Sie das Programm verbreiten, öffentlich zugänglich machen, verändern oder in einer Weise vervielfältigen, die über die bestimmungsgemäße Nutzung im Sinne von Absatz 2 hinausgeht. Ab diesem Zeitpunkt ist diese Lizenz als rechtlich verbindlicher Vertrag zwischen den Rechtsinhabern und Ihnen geschlossen, ohne dass es eines Zugangs der Annahmeerklärung bei den Rechtsinhabern bedarf.
+
+(4) Sie und jeder andere Lizenznehmer erhalten die Rechte aus dieser Lizenz direkt von den Rechtsinhabern. Eine Unterlizenzierung oder Übertragung der Rechte ist nicht gestattet.
+
+§ 6 Beendigung der Rechte bei Zuwiderhandlung
+
+(1) Jede Verletzung Ihrer Verpflichtungen aus dieser Lizenz führt zu einer automatischen Beendigung Ihrer Rechte aus dieser Lizenz.
+
+(2) Die Rechte Dritter, die das Programm oder Rechte an dem Programm von Ihnen erhalten haben, bleiben hiervon unberührt.
+
+§ 7 Haftung und Gewährleistung
+
+(1) Für entgegenstehende Rechte Dritter haften die Rechtsinhaber nur, sofern sie Kenntnis von diesen Rechten hatten, ohne Sie zu informieren.
+
+(2) Die Haftung für Fehler und sonstige Mängel des Programms richtet sich nach den außerhalb dieser Lizenz getroffenen Vereinbarungen zwischen Ihnen und den Rechtsinhabern oder, wenn eine solche Vereinbarung nicht existiert, nach den gesetzlichen Regelungen.
+
+§ 8 Verträge mit Dritten
+
+(1) Diese Lizenz regelt nur die Beziehung zwischen Ihnen und den Rechtsinhabern. Sie ist nicht Bestandteil der Verträge zwischen Ihnen und Dritten.
+
+(2) Die Lizenz beschränkt Sie nicht in der Freiheit, mit Dritten, die von Ihnen Kopien des Programms erhalten oder Leistungen in Anspruch nehmen, die im Zusammenhang mit dem Programm stehen, Verträge beliebigen Inhalts zu schließen, sofern Sie dabei Ihren Verpflichtungen aus dieser Lizenz nachkommen und die Rechte der Dritten aus dieser Lizenz nicht beeinträchtigt werden. Insbesondere dürfen Sie für die Überlassung des Programms oder sonstige Leistungen ein Entgelt verlangen.
+
+(3) Diese Lizenz verpflichtet Sie nicht, das Programm an Dritte weiterzugeben. Es steht Ihnen frei zu entscheiden, wem Sie das Programm zugänglich machen. Sie dürfen aber die weitere Nutzung durch Dritte nicht durch den Einsatz technischer Schutzmaßnahmen, insbesondere durch den Einsatz von Kopierschutzvorrichtungen jeglicher Art, verhindern oder erschweren. Eine passwortgeschützte Zugangsbeschränkung oder die Nutzung in einem Intranet wird nicht als technische Schutzmaßnahme angesehen.
+
+§ 9 Text der Lizenz
+
+(1) Diese Lizenz ist in deutscher und englischer Sprache abgefasst. Beide Fassungen sind gleich verbindlich. Es wird unterstellt, dass die in der Lizenz verwandten Begriffe in beiden Fassungen dieselbe Bedeutung haben. Ergeben sich dennoch Unterschiede, so ist die Bedeutung maßgeblich, welche die Fassungen unter Berücksichtigung des Ziels und Zwecks der Lizenz am besten miteinander in Einklang bringt.
+
+(2) Der Lizenzrat der Deutschen Freien Software Lizenz kann mit verbindlicher Wirkung neue Versionen der Lizenz in Kraft setzen, soweit dies erforderlich und zumutbar ist. Neue Versionen der Lizenz werden auf der Internetseite http://www.d-fsl.de mit einer eindeutigen Versionsnummer veröffentlicht. Die neue Version der Lizenz erlangt für Sie verbindliche Wirkung, wenn Sie von deren Veröffentlichung Kenntnis genommen haben. Gesetzliche Rechtsbehelfe gegen die Änderung der Lizenz werden durch die vorstehenden Bestimmungen nicht beschränkt.
+
+(3) Sie dürfen diese Lizenz in unveränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen.
+
+§ 10 Anwendbares Recht
+
+Auf diese Lizenz findet deutsches Recht Anwendung.
+
+
+Anhang: Wie unterstellen Sie ein Programm der Deutschen Freien Software Lizenz?
+Um jedermann den Abschluss dieser Lizenz zu ermöglichen, wird empfohlen, das Programm mit folgendem Hinweis auf die Lizenz zu versehen:
+
+"Copyright (C) 20[jj] [Name des Rechtsinhabers].
+
+Dieses Programm kann durch jedermann gemäß den Bestimmungen der Deutschen Freien Software Lizenz genutzt werden.
+
+Die Lizenz kann unter http://www.d-fsl.de abgerufen werden."
diff --git a/poky/meta/files/common-licenses/DOC b/poky/meta/files/common-licenses/DOC
new file mode 100644
index 000000000..07a684f0d
--- /dev/null
+++ b/poky/meta/files/common-licenses/DOC
@@ -0,0 +1,15 @@
+Copyright and Licensing Information for ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), and CoSMIC(TM)
+
+ACE(TM), TAO(TM), CIAO(TM), DAnCE>(TM), and CoSMIC(TM) (henceforth referred to as "DOC software") are copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright (c) 1993-2009, all rights reserved. Since DOC software is open-source, freely available software, you are free to use, modify, copy, and distribute--perpetually and irrevocably--the DOC software source code and object code produced from the source, as well as copy and distribute modified versions of this software. You must, however, include this copyright statement along with any code built using DOC software that you release. No copyright statement needs to be provided if you just ship binary executables of your software products.
+
+You can use DOC software in commercial and/or binary software releases and are under no obligation to redistribute any of your source code that is built using DOC software. Note, however, that you may not misappropriate the DOC software code, such as copyrighting it yourself or claiming authorship of the DOC software code, in a way that will prevent DOC software from being distributed freely using an open-source development model. You needn't inform anyone that you're using DOC software in your software, though we encourage you to let us know so we can promote your project in the DOC software success stories.
+
+The ACE, TAO, CIAO, DAnCE, and CoSMIC web sites are maintained by the DOC Group at the Institute for Software Integrated Systems (ISIS) and the Center for Distributed Object Computing of Washington University, St. Louis for the development of open-source software as part of the open-source software community. Submissions are provided by the submitter ``as is'' with no warranties whatsoever, including any warranty of merchantability, noninfringement of third party intellectual property, or fitness for any particular purpose. In no event shall the submitter be liable for any direct, indirect, special, exemplary, punitive, or consequential damages, including without limitation, lost profits, even if advised of the possibility of such damages. Likewise, DOC software is provided as is with no warranties of any kind, including the warranties of design, merchantability, and fitness for a particular purpose, noninfringement, or arising from a course of dealing, usage or trade practice. Washington University, UC Irvine, Vanderbilt University, their employees, and students shall have no liability with respect to the infringement of copyrights, trade secrets or any patents by DOC software or any part thereof. Moreover, in no event will Washington University, UC Irvine, or Vanderbilt University, their employees, or students be liable for any lost revenue or profits or other special, indirect and consequential damages.
+
+DOC software is provided with no support and without any obligation on the part of Washington University, UC Irvine, Vanderbilt University, their employees, or students to assist in its use, correction, modification, or enhancement. A number of companies around the world provide commercial support for DOC software, however. DOC software is Y2K-compliant, as long as the underlying OS platform is Y2K-compliant. Likewise, DOC software is compliant with the new US daylight savings rule passed by Congress as "The Energy Policy Act of 2005," which established new daylight savings times (DST) rules for the United States that expand DST as of March 2007. Since DOC software obtains time/date and calendaring information from operating systems users will not be affected by the new DST rules as long as they upgrade their operating systems accordingly.
+
+The names ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), CoSMIC(TM), Washington University, UC Irvine, and Vanderbilt University, may not be used to endorse or promote products or services derived from this source without express written permission from Washington University, UC Irvine, or Vanderbilt University. This license grants no permission to call products or services derived from this source ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), or CoSMIC(TM), nor does it grant permission for the name Washington University, UC Irvine, or Vanderbilt University to appear in their names.
+
+If you have any suggestions, additions, comments, or questions, please let me know.
+
+Douglas C. Schmidt
diff --git a/poky/meta/files/common-licenses/DRL-1.0 b/poky/meta/files/common-licenses/DRL-1.0
new file mode 100644
index 000000000..8bcb7148c
--- /dev/null
+++ b/poky/meta/files/common-licenses/DRL-1.0
@@ -0,0 +1,12 @@
+Detection Rule License (DRL) 1.0
+Permission is hereby granted, free of charge, to any person obtaining a copy of this rule set and associated documentation files (the "Rules"), to deal in the Rules without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Rules, and to permit persons to whom the Rules are furnished to do so, subject to the following conditions:
+
+If you share the Rules (including in modified form), you must retain the following if it is supplied within the Rules:
+
+identification of the authors(s) ("author" field) of the Rule and any others designated to receive attribution, in any reasonable manner requested by the Rule author (including by pseudonym if designated).
+
+a URI or hyperlink to the Rule set or explicit Rule to the extent reasonably practicable
+
+indicate the Rules are licensed under this Detection Rule License, and include the text of, or the URI or hyperlink to, this Detection Rule License to the extent reasonably practicable
+
+THE RULES ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE RULES OR THE USE OR OTHER DEALINGS IN THE RULES.
diff --git a/poky/meta/files/common-licenses/DSDP b/poky/meta/files/common-licenses/DSDP
new file mode 100644
index 000000000..1c4d42f4b
--- /dev/null
+++ b/poky/meta/files/common-licenses/DSDP
@@ -0,0 +1,18 @@
+COPYRIGHT NOTIFICATION
+
+(C) COPYRIGHT 2004 UNIVERSITY OF CHICAGO
+
+This program discloses material protectable under copyright laws of the United States. Permission to copy and modify this software and its documentation is hereby granted, provided that this notice is retained thereon and on all copies or modifications. The University of Chicago makes no representations as to the suitability and operability of this software for any purpose. It is provided "as is"; without express or implied warranty. Permission is hereby granted to use, reproduce, prepare derivative works, and to redistribute to others, so long as this original copyright notice is retained. Any publication resulting from research that made use of this software should cite this document.
+
+ This software was authored by:
+
+ Steven J. Benson Mathematics and Computer Science Division Argonne National Laboratory Argonne IL 60439
+
+ Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA U.S.A
+
+ Any questions or comments on the software may be directed to benson@mcs.anl.gov or yinyu-ye@stanford.edu
+
+Argonne National Laboratory with facilities in the states of Illinois and Idaho, is owned by The United States Government, and operated by the University of Chicago under provision of a contract with the Department of Energy.
+
+DISCLAIMER
+THIS PROGRAM WAS PREPARED AS AN ACCOUNT OF WORK SPONSORED BY AN AGENCY OF THE UNITED STATES GOVERNMENT. NEITHER THE UNITED STATES GOVERNMENT NOR ANY AGENCY THEREOF, NOR THE UNIVERSITY OF CHICAGO, NOR ANY OF THEIR EMPLOYEES OR OFFICERS, MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. REFERENCE HEREIN TO ANY SPECIFIC COMMERCIAL PRODUCT, PROCESS, OR SERVICE BY TRADE NAME, TRADEMARK, MANUFACTURER, OR OTHERWISE, DOES NOT NECESSARILY CONSTITUTE OR IMPLY ITS ENDORSEMENT, RECOMMENDATION, OR FAVORING BY THE UNITED STATES GOVERNMENT OR ANY AGENCY THEREOF. THE VIEW AND OPINIONS OF AUTHORS EXPRESSED HEREIN DO NOT NECESSARILY STATE OR REFLECT THOSE OF THE UNITED STATES GOVERNMENT OR ANY AGENCY THEREOF.
diff --git a/poky/meta/files/common-licenses/Dotseqn b/poky/meta/files/common-licenses/Dotseqn
new file mode 100644
index 000000000..9833407c0
--- /dev/null
+++ b/poky/meta/files/common-licenses/Dotseqn
@@ -0,0 +1,5 @@
+Copyright (C) 1995 by Donald Arseneau
+
+This file may be freely transmitted and reproduced, but it may not be changed unless the name is changed also (except that you may freely change the paper-size option for \documentclass).
+
+This notice must be left intact.
diff --git a/poky/meta/files/common-licenses/EPICS b/poky/meta/files/common-licenses/EPICS
new file mode 100644
index 000000000..f2f6b0e7a
--- /dev/null
+++ b/poky/meta/files/common-licenses/EPICS
@@ -0,0 +1,32 @@
+EPICS Open License Terms
+
+The following is the text of the EPICS Open software license agreement which now applies to EPICS Base and many of the unbundled EPICS extensions and support modules.
+
+Copyright © <YEAR> <HOLDERS>. All rights reserved.
+
+<PRODUCT> is distributed subject to the following license conditions:
+
+SOFTWARE LICENSE AGREEMENT
+
+Software: <PRODUCT>
+
+1. The "Software", below, refers to <PRODUCT> (in either source code, or binary form and accompanying documentation). Each licensee is addressed as "you" or "Licensee."
+
+2. The copyright holders shown above and their third-party licensors hereby grant Licensee a royalty-free nonexclusive license, subject to the limitations stated herein and U.S. Government license rights.
+
+3. You may modify and make a copy or copies of the Software for use within your organization, if you meet the following conditions:
+
+a. Copies in source code must include the copyright notice and this Software License Agreement.
+b. Copies in binary form must include the copyright notice and this Software License Agreement in the documentation and/or other materials provided with the copy.
+
+4. You may modify a copy or copies of the Software or any portion of it, thus forming a work based on the Software, and distribute copies of such work outside your organization, if you meet all of the following conditions:
+
+a. Copies in source code must include the copyright notice and this Software License Agreement;
+b. Copies in binary form must include the copyright notice and this Software License Agreement in the documentation and/or other materials provided with the copy;
+c. Modified copies and works based on the Software must carry prominent notices stating that you changed specified portions of the Software.
+
+5. Portions of the Software resulted from work developed under a U.S. Government contract and are subject to the following license: the Government is granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable worldwide license in this computer software to reproduce, prepare derivative works, and perform publicly and display publicly.
+
+6. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDERS, THEIR THIRD PARTY LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF THE SOFTWARE, (3) DO NOT REPTHAT USE OF THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4) DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL BE CORRECTED.
+
+7. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT HOLDERS, THEIR THIRD PARTY LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT (INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE, EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGES.
diff --git a/poky/meta/files/common-licenses/EUPL-1.2 b/poky/meta/files/common-licenses/EUPL-1.2
new file mode 100644
index 000000000..6d8cea430
--- /dev/null
+++ b/poky/meta/files/common-licenses/EUPL-1.2
@@ -0,0 +1,190 @@
+EUROPEAN UNION PUBLIC LICENCE v. 1.2
+EUPL © the European Union 2007, 2016
+
+This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined below) which is provided under the
+terms of this Licence. Any use of the Work, other than as authorised under this Licence is prohibited (to the extent such
+use is covered by a right of the copyright holder of the Work).
+The Work is provided under the terms of this Licence when the Licensor (as defined below) has placed the following
+notice immediately following the copyright notice for the Work:
+ Licensed under the EUPL
+or has expressed by any other means his willingness to license under the EUPL.
+
+1.Definitions
+In this Licence, the following terms have the following meaning:
+— ‘The Licence’:this Licence.
+— ‘The Original Work’:the work or software distributed or communicated by the Licensor under this Licence, available
+as Source Code and also as Executable Code as the case may be.
+— ‘Derivative Works’:the works or software that could be created by the Licensee, based upon the Original Work or
+modifications thereof. This Licence does not define the extent of modification or dependence on the Original Work
+required in order to classify a work as a Derivative Work; this extent is determined by copyright law applicable in
+the country mentioned in Article 15.
+— ‘The Work’:the Original Work or its Derivative Works.
+— ‘The Source Code’:the human-readable form of the Work which is the most convenient for people to study and
+modify.
+— ‘The Executable Code’:any code which has generally been compiled and which is meant to be interpreted by
+a computer as a program.
+— ‘The Licensor’:the natural or legal person that distributes or communicates the Work under the Licence.
+— ‘Contributor(s)’:any natural or legal person who modifies the Work under the Licence, or otherwise contributes to
+the creation of a Derivative Work.
+— ‘The Licensee’ or ‘You’:any natural or legal person who makes any usage of the Work under the terms of the
+Licence.
+— ‘Distribution’ or ‘Communication’:any act of selling, giving, lending, renting, distributing, communicating,
+transmitting, or otherwise making available, online or offline, copies of the Work or providing access to its essential
+functionalities at the disposal of any other natural or legal person.
+
+2.Scope of the rights granted by the Licence
+The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, sublicensable licence to do the following, for
+the duration of copyright vested in the Original Work:
+— use the Work in any circumstance and for all usage,
+— reproduce the Work,
+— modify the Work, and make Derivative Works based upon the Work,
+— communicate to the public, including the right to make available or display the Work or copies thereof to the public
+and perform publicly, as the case may be, the Work,
+— distribute the Work or copies thereof,
+— lend and rent the Work or copies thereof,
+— sublicense rights in the Work or copies thereof.
+Those rights can be exercised on any media, supports and formats, whether now known or later invented, as far as the
+applicable law permits so.
+In the countries where moral rights apply, the Licensor waives his right to exercise his moral right to the extent allowed
+by law in order to make effective the licence of the economic rights here above listed.
+The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to any patents held by the Licensor, to the
+extent necessary to make use of the rights granted on the Work under this Licence.
+
+3.Communication of the Source Code
+The Licensor may provide the Work either in its Source Code form, or as Executable Code. If the Work is provided as
+Executable Code, the Licensor provides in addition a machine-readable copy of the Source Code of the Work along with
+each copy of the Work that the Licensor distributes or indicates, in a notice following the copyright notice attached to
+the Work, a repository where the Source Code is easily and freely accessible for as long as the Licensor continues to
+distribute or communicate the Work.
+
+4.Limitations on copyright
+Nothing in this Licence is intended to deprive the Licensee of the benefits from any exception or limitation to the
+exclusive rights of the rights owners in the Work, of the exhaustion of those rights or of other applicable limitations
+thereto.
+
+5.Obligations of the Licensee
+The grant of the rights mentioned above is subject to some restrictions and obligations imposed on the Licensee. Those
+obligations are the following:
+
+Attribution right: The Licensee shall keep intact all copyright, patent or trademarks notices and all notices that refer to
+the Licence and to the disclaimer of warranties. The Licensee must include a copy of such notices and a copy of the
+Licence with every copy of the Work he/she distributes or communicates. The Licensee must cause any Derivative Work
+to carry prominent notices stating that the Work has been modified and the date of modification.
+
+Copyleft clause: If the Licensee distributes or communicates copies of the Original Works or Derivative Works, this
+Distribution or Communication will be done under the terms of this Licence or of a later version of this Licence unless
+the Original Work is expressly distributed only under this version of the Licence — for example by communicating
+‘EUPL v. 1.2 only’. The Licensee (becoming Licensor) cannot offer or impose any additional terms or conditions on the
+Work or Derivative Work that alter or restrict the terms of the Licence.
+
+Compatibility clause: If the Licensee Distributes or Communicates Derivative Works or copies thereof based upon both
+the Work and another work licensed under a Compatible Licence, this Distribution or Communication can be done
+under the terms of this Compatible Licence. For the sake of this clause, ‘Compatible Licence’ refers to the licences listed
+in the appendix attached to this Licence. Should the Licensee's obligations under the Compatible Licence conflict with
+his/her obligations under this Licence, the obligations of the Compatible Licence shall prevail.
+
+Provision of Source Code: When distributing or communicating copies of the Work, the Licensee will provide
+a machine-readable copy of the Source Code or indicate a repository where this Source will be easily and freely available
+for as long as the Licensee continues to distribute or communicate the Work.
+Legal Protection: This Licence does not grant permission to use the trade names, trademarks, service marks, or names
+of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and
+reproducing the content of the copyright notice.
+
+6.Chain of Authorship
+The original Licensor warrants that the copyright in the Original Work granted hereunder is owned by him/her or
+licensed to him/her and that he/she has the power and authority to grant the Licence.
+Each Contributor warrants that the copyright in the modifications he/she brings to the Work are owned by him/her or
+licensed to him/her and that he/she has the power and authority to grant the Licence.
+Each time You accept the Licence, the original Licensor and subsequent Contributors grant You a licence to their contributions
+to the Work, under the terms of this Licence.
+
+7.Disclaimer of Warranty
+The Work is a work in progress, which is continuously improved by numerous Contributors. It is not a finished work
+and may therefore contain defects or ‘bugs’ inherent to this type of development.
+For the above reason, the Work is provided under the Licence on an ‘as is’ basis and without warranties of any kind
+concerning the Work, including without limitation merchantability, fitness for a particular purpose, absence of defects or
+errors, accuracy, non-infringement of intellectual property rights other than copyright as stated in Article 6 of this
+Licence.
+This disclaimer of warranty is an essential part of the Licence and a condition for the grant of any rights to the Work.
+
+8.Disclaimer of Liability
+Except in the cases of wilful misconduct or damages directly caused to natural persons, the Licensor will in no event be
+liable for any direct or indirect, material or moral, damages of any kind, arising out of the Licence or of the use of the
+Work, including without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, loss
+of data or any commercial damage, even if the Licensor has been advised of the possibility of such damage. However,
+the Licensor will be liable under statutory product liability laws as far such laws apply to the Work.
+
+9.Additional agreements
+While distributing the Work, You may choose to conclude an additional agreement, defining obligations or services
+consistent with this Licence. However, if accepting obligations, You may act only on your own behalf and on your sole
+responsibility, not on behalf of the original Licensor or any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against such Contributor by
+the fact You have accepted any warranty or additional liability.
+
+10.Acceptance of the Licence
+The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ placed under the bottom of a window
+displaying the text of this Licence or by affirming consent in any other similar way, in accordance with the rules of
+applicable law. Clicking on that icon indicates your clear and irrevocable acceptance of this Licence and all of its terms
+and conditions.
+Similarly, you irrevocably accept this Licence and all of its terms and conditions by exercising any rights granted to You
+by Article 2 of this Licence, such as the use of the Work, the creation by You of a Derivative Work or the Distribution
+or Communication by You of the Work or copies thereof.
+
+11.Information to the public
+In case of any Distribution or Communication of the Work by means of electronic communication by You (for example,
+by offering to download the Work from a remote location) the distribution channel or media (for example, a website)
+must at least provide to the public the information requested by the applicable law regarding the Licensor, the Licence
+and the way it may be accessible, concluded, stored and reproduced by the Licensee.
+
+12.Termination of the Licence
+The Licence and the rights granted hereunder will terminate automatically upon any breach by the Licensee of the terms
+of the Licence.
+Such a termination will not terminate the licences of any person who has received the Work from the Licensee under
+the Licence, provided such persons remain in full compliance with the Licence.
+
+13.Miscellaneous
+Without prejudice of Article 9 above, the Licence represents the complete agreement between the Parties as to the
+Work.
+If any provision of the Licence is invalid or unenforceable under applicable law, this will not affect the validity or
+enforceability of the Licence as a whole. Such provision will be construed or reformed so as necessary to make it valid
+and enforceable.
+The European Commission may publish other linguistic versions or new versions of this Licence or updated versions of
+the Appendix, so far this is required and reasonable, without reducing the scope of the rights granted by the Licence.
+New versions of the Licence will be published with a unique version number.
+All linguistic versions of this Licence, approved by the European Commission, have identical value. Parties can take
+advantage of the linguistic version of their choice.
+
+14.Jurisdiction
+Without prejudice to specific agreement between parties,
+— any litigation resulting from the interpretation of this License, arising between the European Union institutions,
+bodies, offices or agencies, as a Licensor, and any Licensee, will be subject to the jurisdiction of the Court of Justice
+of the European Union, as laid down in article 272 of the Treaty on the Functioning of the European Union,
+— any litigation arising between other parties and resulting from the interpretation of this License, will be subject to
+the exclusive jurisdiction of the competent court where the Licensor resides or conducts its primary business.
+
+15.Applicable Law
+Without prejudice to specific agreement between parties,
+— this Licence shall be governed by the law of the European Union Member State where the Licensor has his seat,
+resides or has his registered office,
+— this licence shall be governed by Belgian law if the Licensor has no seat, residence or registered office inside
+a European Union Member State.
+
+
+ Appendix
+
+‘Compatible Licences’ according to Article 5 EUPL are:
+— GNU General Public License (GPL) v. 2, v. 3
+— GNU Affero General Public License (AGPL) v. 3
+— Open Software License (OSL) v. 2.1, v. 3.0
+— Eclipse Public License (EPL) v. 1.0
+— CeCILL v. 2.0, v. 2.1
+— Mozilla Public Licence (MPL) v. 2
+— GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3
+— Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for works other than software
+— European Union Public Licence (EUPL) v. 1.1, v. 1.2
+— Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong Reciprocity (LiLiQ-R+).
+
+The European Commission may update this Appendix to later versions of the above licences without producing
+a new version of the EUPL, as long as they provide the rights granted in Article 2 of this Licence and protect the
+covered Source Code from exclusive appropriation.
+All other changes or additions to this Appendix require the production of a new EUPL version.
diff --git a/poky/meta/files/common-licenses/Eurosym b/poky/meta/files/common-licenses/Eurosym
new file mode 100644
index 000000000..f6c255327
--- /dev/null
+++ b/poky/meta/files/common-licenses/Eurosym
@@ -0,0 +1,18 @@
+Copyright (c) 1999-2002 Henrik Theiling
+Licence Version 2
+
+This software is provided 'as-is', without warranty of any kind, express or implied. In no event will the authors or copyright holders be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated.
+
+ 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+
+ 3. You must not use any of the names of the authors or copyright holders of the original software for advertising or publicity pertaining to distribution without specific, written prior permission.
+
+ 4. If you change this software and redistribute parts or all of it in any form, you must make the source code of the altered version of this software available.
+
+ 5. This notice may not be removed or altered from any source distribution.
+
+This licence is governed by the Laws of Germany. Disputes shall be settled by Saarbruecken City Court.
diff --git a/poky/meta/files/common-licenses/FSFAP b/poky/meta/files/common-licenses/FSFAP
new file mode 100644
index 000000000..32bc8a889
--- /dev/null
+++ b/poky/meta/files/common-licenses/FSFAP
@@ -0,0 +1 @@
+Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.
diff --git a/poky/meta/files/common-licenses/FSFUL b/poky/meta/files/common-licenses/FSFUL
new file mode 100644
index 000000000..f976e3c9a
--- /dev/null
+++ b/poky/meta/files/common-licenses/FSFUL
@@ -0,0 +1,3 @@
+Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+
+This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it.
diff --git a/poky/meta/files/common-licenses/FSFULLR b/poky/meta/files/common-licenses/FSFULLR
new file mode 100644
index 000000000..2acb219e0
--- /dev/null
+++ b/poky/meta/files/common-licenses/FSFULLR
@@ -0,0 +1,3 @@
+Copyright 1996-2006 Free Software Foundation, Inc.
+
+This file is free software; the Free Software Foundation gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved.
diff --git a/poky/meta/files/common-licenses/FTL b/poky/meta/files/common-licenses/FTL
new file mode 100644
index 000000000..a47d94d10
--- /dev/null
+++ b/poky/meta/files/common-licenses/FTL
@@ -0,0 +1,79 @@
+The FreeType Project LICENSE
+
+2006-Jan-27
+
+Copyright 1996-2002, 2006 by David Turner, Robert Wilhelm, and Werner Lemberg
+
+Introduction
+
+The FreeType Project is distributed in several archive packages; some of them may contain, in addition to the FreeType font engine, various tools and contributions which rely on, or relate to, the FreeType Project.
+
+This license applies to all files found in such packages, and which do not fall under their own explicit license. The license affects thus the FreeType font engine, the test programs, documentation and makefiles, at the very least.
+
+This license was inspired by the BSD, Artistic, and IJG (Independent JPEG Group) licenses, which all encourage inclusion and use of free software in commercial and freeware products alike. As a consequence, its main points are that:
+
+ o We don't promise that this software works. However, we will be interested in any kind of bug reports. (`as is' distribution)
+
+ o You can use this software for whatever you want, in parts or full form, without having to pay us. (`royalty-free' usage)
+
+ o You may not pretend that you wrote this software. If you use it, or only parts of it, in a program, you must acknowledge somewhere in your documentation that you have used the FreeType code. (`credits')
+
+We specifically permit and encourage the inclusion of this software, with or without modifications, in commercial products. We disclaim all warranties covering The FreeType Project and assume no liability related to The FreeType Project.
+
+Finally, many people asked us for a preferred form for a credit/disclaimer to use in compliance with this license. We thus encourage you to use the following text:
+
+ """ Portions of this software are copyright © <year> The FreeType Project (www.freetype.org). All rights reserved. """
+
+Please replace <year> with the value from the FreeType version you actually use.
+
+Legal Terms
+
+0. Definitions
+
+Throughout this license, the terms `package', `FreeType Project', and `FreeType archive' refer to the set of files originally distributed by the authors (David Turner, Robert Wilhelm, and Werner Lemberg) as the `FreeType Project', be they named as alpha, beta or final release.
+
+`You' refers to the licensee, or person using the project, where `using' is a generic term including compiling the project's source code as well as linking it to form a `program' or `executable'. This program is referred to as `a program using the FreeType engine'.
+
+This license applies to all files distributed in the original FreeType Project, including all source code, binaries and documentation, unless otherwise stated in the file in its original, unmodified form as distributed in the original archive. If you are unsure whether or not a particular file is covered by this license, you must contact us to verify this.
+
+The FreeType Project is copyright (C) 1996-2000 by David Turner, Robert Wilhelm, and Werner Lemberg. All rights reserved except as specified below.
+
+1. No Warranty
+
+THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO USE, OF THE FREETYPE PROJECT.
+
+2. Redistribution
+
+This license grants a worldwide, royalty-free, perpetual and irrevocable right and license to use, execute, perform, compile, display, copy, create derivative works of, distribute and sublicense the FreeType Project (in both source and object code forms) and derivative works thereof for any purpose; and to authorize others to exercise some or all of the rights granted herein, subject to the following conditions:
+
+ o Redistribution of source code must retain this license file (`FTL.TXT') unaltered; any additions, deletions or changes to the original files must be clearly indicated in accompanying documentation. The copyright notices of the unaltered, original files must be preserved in all copies of source files.
+
+ o Redistribution in binary form must provide a disclaimer that states that the software is based in part of the work of the FreeType Team, in the distribution documentation. We also encourage you to put an URL to the FreeType web page in your documentation, though this isn't mandatory.
+
+These conditions apply to any software derived from or based on the FreeType Project, not just the unmodified files. If you use our work, you must acknowledge us. However, no fee need be paid to us.
+
+3. Advertising
+
+Neither the FreeType authors and contributors nor you shall use the name of the other for commercial, advertising, or promotional purposes without specific prior written permission.
+
+We suggest, but do not require, that you use one or more of the following phrases to refer to this software in your documentation or advertising materials: `FreeType Project', `FreeType Engine', `FreeType library', or `FreeType Distribution'.
+
+As you have not signed this license, you are not required to accept it. However, as the FreeType Project is copyrighted material, only this license, or another one contracted with the authors, grants you the right to use, distribute, and modify it. Therefore, by using, distributing, or modifying the FreeType Project, you indicate that you understand and accept all the terms of this license.
+
+4. Contacts
+
+There are two mailing lists related to FreeType:
+
+ o freetype@nongnu.org
+
+ Discusses general use and applications of FreeType, as well as future and wanted additions to the library and distribution. If you are looking for support, start in this list if you haven't found anything to help you in the documentation.
+
+ o freetype-devel@nongnu.org
+
+ Discusses bugs, as well as engine internals, design issues, specific licenses, porting, etc.
+
+Our home page can be found at
+
+ http://www.freetype.org
+
+--- end of FTL.TXT ---
diff --git a/poky/meta/files/common-licenses/FreeBSD-DOC b/poky/meta/files/common-licenses/FreeBSD-DOC
new file mode 100644
index 000000000..3023a2e94
--- /dev/null
+++ b/poky/meta/files/common-licenses/FreeBSD-DOC
@@ -0,0 +1,23 @@
+The FreeBSD Documentation License
+
+Copyright 1994-2021 The FreeBSD Project. All rights reserved.
+
+Redistribution and use in source (SGML DocBook) and 'compiled' forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code (SGML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.
+
+ 2. Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Manual Pages
+
+Some FreeBSD manual pages contain text from the IEEE Std 1003.1, 2004 Edition, Standard for Information Technology — Portable Operating System Interface (POSIX®) specification. These manual pages are subject to the following terms:
+
+ The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation.
+
+ In the following statement, the phrase "this text" refers to portions of the system documentation.
+
+ Portions of this text are reprinted and reproduced in electronic form in the FreeBSD manual pages, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology — Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright© 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at https://www.opengroup.org/membership/forums/platform/unix.
+
+ This notice shall appear on any product containing this material.
diff --git a/poky/meta/files/common-licenses/FreeImage b/poky/meta/files/common-licenses/FreeImage
new file mode 100644
index 000000000..1b800d062
--- /dev/null
+++ b/poky/meta/files/common-licenses/FreeImage
@@ -0,0 +1,117 @@
+FreeImage Public License - Version 1.0
+
+1. Definitions.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a
+Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+ 2.1. The Initial Developer Grant.
+ The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell ("Utilize") the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+ 2.2. Contributor Grant.
+ Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License.
+ The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code.
+ Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications.
+ You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+
+ (a) Third Party Claims.
+ If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs.
+ If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+
+ 3.5. Required Notices.
+ You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions.
+ You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You descr ibe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License,provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+ 3.7. Larger Works.
+ You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5. Application of this License.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions.
+ Floris van den Berg may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions.
+ Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Floris van den Berg
+No one other than Floris van den Berg has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works.
+ If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases "FreeImage", `FreeImage Public License", "FIPL", or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the FreeImage Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+9. LIMITATION OF LIABILITY.
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by Dutch law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the The Netherlands: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Almelo, The Netherlands; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the court of Almelo, The Netherlands with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis.
+
+EXHIBIT A.
+
+"The contents of this file are subject to the FreeImage Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://home.wxs.nl/~flvdberg/freeimage-license.txt
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
diff --git a/poky/meta/files/common-licenses/FreeType b/poky/meta/files/common-licenses/FreeType
deleted file mode 100644
index 3666649f3..000000000
--- a/poky/meta/files/common-licenses/FreeType
+++ /dev/null
@@ -1,170 +0,0 @@
- The FreeType Project LICENSE
- ----------------------------
-
- 2006-Jan-27
-
- Copyright 1996-2002, 2006 by
- David Turner, Robert Wilhelm, and Werner Lemberg
-
-
-
-Introduction
-============
-
- The FreeType Project is distributed in several archive packages;
- some of them may contain, in addition to the FreeType font engine,
- various tools and contributions which rely on, or relate to, the
- FreeType Project.
-
- This license applies to all files found in such packages, and
- which do not fall under their own explicit license. The license
- affects thus the FreeType font engine, the test programs,
- documentation and makefiles, at the very least.
-
- This license was inspired by the BSD, Artistic, and IJG
- (Independent JPEG Group) licenses, which all encourage inclusion
- and use of free software in commercial and freeware products
- alike. As a consequence, its main points are that:
-
- o We don't promise that this software works. However, we will be
- interested in any kind of bug reports. (`as is' distribution)
-
- o You can use this software for whatever you want, in parts or
- full form, without having to pay us. (`royalty-free' usage)
-
- o You may not pretend that you wrote this software. If you use
- it, or only parts of it, in a program, you must acknowledge
- somewhere in your documentation that you have used the
- FreeType code. (`credits')
-
- We specifically permit and encourage the inclusion of this
- software, with or without modifications, in commercial products.
- We disclaim all warranties covering The FreeType Project and
- assume no liability related to The FreeType Project.
-
-
- Finally, many people asked us for a preferred form for a
- credit/disclaimer to use in compliance with this license. We thus
- encourage you to use the following text:
-
- """
- Portions of this software are copyright © <year> The FreeType
- Project (www.freetype.org). All rights reserved.
- """
-
- Please replace <year> with the value from the FreeType version you
- actually use.
-
-
-Legal Terms
-===========
-
-0. Definitions
---------------
-
- Throughout this license, the terms `package', `FreeType Project',
- and `FreeType archive' refer to the set of files originally
- distributed by the authors (David Turner, Robert Wilhelm, and
- Werner Lemberg) as the `FreeType Project', be they named as alpha,
- beta or final release.
-
- `You' refers to the licensee, or person using the project, where
- `using' is a generic term including compiling the project's source
- code as well as linking it to form a `program' or `executable'.
- This program is referred to as `a program using the FreeType
- engine'.
-
- This license applies to all files distributed in the original
- FreeType Project, including all source code, binaries and
- documentation, unless otherwise stated in the file in its
- original, unmodified form as distributed in the original archive.
- If you are unsure whether or not a particular file is covered by
- this license, you must contact us to verify this.
-
- The FreeType Project is copyright (C) 1996-2000 by David Turner,
- Robert Wilhelm, and Werner Lemberg. All rights reserved except as
- specified below.
-
-1. No Warranty
---------------
-
- THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO
- USE, OF THE FREETYPE PROJECT.
-
-2. Redistribution
------------------
-
- This license grants a worldwide, royalty-free, perpetual and
- irrevocable right and license to use, execute, perform, compile,
- display, copy, create derivative works of, distribute and
- sublicense the FreeType Project (in both source and object code
- forms) and derivative works thereof for any purpose; and to
- authorize others to exercise some or all of the rights granted
- herein, subject to the following conditions:
-
- o Redistribution of source code must retain this license file
- (`FTL.TXT') unaltered; any additions, deletions or changes to
- the original files must be clearly indicated in accompanying
- documentation. The copyright notices of the unaltered,
- original files must be preserved in all copies of source
- files.
-
- o Redistribution in binary form must provide a disclaimer that
- states that the software is based in part of the work of the
- FreeType Team, in the distribution documentation. We also
- encourage you to put an URL to the FreeType web page in your
- documentation, though this isn't mandatory.
-
- These conditions apply to any software derived from or based on
- the FreeType Project, not just the unmodified files. If you use
- our work, you must acknowledge us. However, no fee need be paid
- to us.
-
-3. Advertising
---------------
-
- Neither the FreeType authors and contributors nor you shall use
- the name of the other for commercial, advertising, or promotional
- purposes without specific prior written permission.
-
- We suggest, but do not require, that you use one or more of the
- following phrases to refer to this software in your documentation
- or advertising materials: `FreeType Project', `FreeType Engine',
- `FreeType library', or `FreeType Distribution'.
-
- As you have not signed this license, you are not required to
- accept it. However, as the FreeType Project is copyrighted
- material, only this license, or another one contracted with the
- authors, grants you the right to use, distribute, and modify it.
- Therefore, by using, distributing, or modifying the FreeType
- Project, you indicate that you understand and accept all the terms
- of this license.
-
-4. Contacts
------------
-
- There are two mailing lists related to FreeType:
-
- o freetype@nongnu.org
-
- Discusses general use and applications of FreeType, as well as
- future and wanted additions to the library and distribution.
- If you are looking for support, start in this list if you
- haven't found anything to help you in the documentation.
-
- o freetype-devel@nongnu.org
-
- Discusses bugs, as well as engine internals, design issues,
- specific licenses, porting, etc.
-
- Our home page can be found at
-
- https://www.freetype.org
-
-
---- end of FTL.TXT ---
-
diff --git a/poky/meta/files/common-licenses/GD b/poky/meta/files/common-licenses/GD
new file mode 100644
index 000000000..534b5978c
--- /dev/null
+++ b/poky/meta/files/common-licenses/GD
@@ -0,0 +1,24 @@
+Credits and license terms
+
+In order to resolve any possible confusion regarding the authorship of gd, the following copyright statement covers all of the authors who have required such a statement.  If you are aware of any oversights in this copyright notice, please contact Pierre-A.  Joye who will be pleased to correct them.
+
+ • Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 by Cold Spring Harbor Laboratory.  Funded under Grant P41-RR02188 by the National Institutes of Health.
+ • Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 by Boutell.Com, Inc.
+ • Portions relating to GD2 format copyright 1999, 2000, 2001, 2002, 2003, 2004 Philip Warner.
+ • Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003, 2004 Greg Roelofs.
+ • Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002, 2003, 2004 John Ellson (ellson@graphviz.org).
+ • Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John Ellson (ellson@graphviz.org).
+ • Portions copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Pierre-Alain Joye (pierre@libgd.org).
+ • Portions relating to JPEG and to color quantization copyright 2000, 2001, 2002, 2003, 2004, Doug Becker and copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas G.  Lane.  This software is based in part on the work of the Independent JPEG Group.  See the file README-JPEG.TXT for more information.
+ • Portions relating to GIF compression copyright 1989 by Jef Poskanzer and David Rowley, with modifications for thread safety by Thomas Boutell.
+ • Portions relating to GIF decompression copyright 1990, 1991, 1993 by David Koblas, with modifications for thread safety by Thomas Boutell.
+ • Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004 Maurice Szmurlo and Johan Van den Brande.
+ • Portions relating to GIF animations copyright 2004 Jaakko Hyvätti (jaakko.hyvatti@iki.fi)
+
+Permission has been granted to copy, distribute and modify gd in any context without fee, including a commercial application, provided that this notice is present in user-accessible supporting documentation.
+
+This does not affect your ownership of the derived work itself, and the intent is to assure proper credit for the authors of gd, not to interfere with your productive use of gd.  If you have questions, ask.  “Derived works” includes all programs that utilize the library.  Credit must be given in user-accessible documentation.
+
+This software is provided “AS IS.”  The copyright holders disclaim all warranties, either express or implied, including but not limited to implied warranties of merchantability and fitness for a particular purpose, with respect to this code and accompanying documentation.
+
+Although their code does not appear in the current release, the authors wish to thank David Koblas, David Rowley, and Hutchison Avenue Software Corporation for their prior contributions.
diff --git a/poky/meta/files/common-licenses/GFDL-1.1-invariants-only b/poky/meta/files/common-licenses/GFDL-1.1-invariants-only
new file mode 100644
index 000000000..e60192009
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.1-invariants-only
@@ -0,0 +1,119 @@
+GNU Free Documentation License
+Version 1.1, March 2000
+
+Copyright (C) 2000 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you".
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.1-invariants-or-later b/poky/meta/files/common-licenses/GFDL-1.1-invariants-or-later
new file mode 100644
index 000000000..e60192009
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.1-invariants-or-later
@@ -0,0 +1,119 @@
+GNU Free Documentation License
+Version 1.1, March 2000
+
+Copyright (C) 2000 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you".
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.1-no-invariants-only b/poky/meta/files/common-licenses/GFDL-1.1-no-invariants-only
new file mode 100644
index 000000000..e60192009
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.1-no-invariants-only
@@ -0,0 +1,119 @@
+GNU Free Documentation License
+Version 1.1, March 2000
+
+Copyright (C) 2000 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you".
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.1-no-invariants-or-later b/poky/meta/files/common-licenses/GFDL-1.1-no-invariants-or-later
new file mode 100644
index 000000000..e60192009
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.1-no-invariants-or-later
@@ -0,0 +1,119 @@
+GNU Free Documentation License
+Version 1.1, March 2000
+
+Copyright (C) 2000 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you".
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.1-only b/poky/meta/files/common-licenses/GFDL-1.1-only
new file mode 100644
index 000000000..e60192009
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.1-only
@@ -0,0 +1,119 @@
+GNU Free Documentation License
+Version 1.1, March 2000
+
+Copyright (C) 2000 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you".
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.1-or-later b/poky/meta/files/common-licenses/GFDL-1.1-or-later
new file mode 100644
index 000000000..e60192009
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.1-or-later
@@ -0,0 +1,119 @@
+GNU Free Documentation License
+Version 1.1, March 2000
+
+Copyright (C) 2000 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you".
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.2-invariants-only b/poky/meta/files/common-licenses/GFDL-1.2-invariants-only
new file mode 100644
index 000000000..83c375aba
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.2-invariants-only
@@ -0,0 +1,130 @@
+GNU Free Documentation License
+Version 1.2, November 2002
+
+Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.2-invariants-or-later b/poky/meta/files/common-licenses/GFDL-1.2-invariants-or-later
new file mode 100644
index 000000000..83c375aba
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.2-invariants-or-later
@@ -0,0 +1,130 @@
+GNU Free Documentation License
+Version 1.2, November 2002
+
+Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.2-no-invariants-only b/poky/meta/files/common-licenses/GFDL-1.2-no-invariants-only
new file mode 100644
index 000000000..83c375aba
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.2-no-invariants-only
@@ -0,0 +1,130 @@
+GNU Free Documentation License
+Version 1.2, November 2002
+
+Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.2-no-invariants-or-later b/poky/meta/files/common-licenses/GFDL-1.2-no-invariants-or-later
new file mode 100644
index 000000000..83c375aba
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.2-no-invariants-or-later
@@ -0,0 +1,130 @@
+GNU Free Documentation License
+Version 1.2, November 2002
+
+Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.2-only b/poky/meta/files/common-licenses/GFDL-1.2-only
new file mode 100644
index 000000000..83c375aba
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.2-only
@@ -0,0 +1,130 @@
+GNU Free Documentation License
+Version 1.2, November 2002
+
+Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.2-or-later b/poky/meta/files/common-licenses/GFDL-1.2-or-later
new file mode 100644
index 000000000..83c375aba
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.2-or-later
@@ -0,0 +1,130 @@
+GNU Free Documentation License
+Version 1.2, November 2002
+
+Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.3-invariants-only b/poky/meta/files/common-licenses/GFDL-1.3-invariants-only
new file mode 100644
index 000000000..b51dc2ab1
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.3-invariants-only
@@ -0,0 +1,149 @@
+GNU Free Documentation License
+Version 1.3, 3 November 2008
+
+Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document.
+
+11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.3-invariants-or-later b/poky/meta/files/common-licenses/GFDL-1.3-invariants-or-later
new file mode 100644
index 000000000..b51dc2ab1
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.3-invariants-or-later
@@ -0,0 +1,149 @@
+GNU Free Documentation License
+Version 1.3, 3 November 2008
+
+Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document.
+
+11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.3-no-invariants-only b/poky/meta/files/common-licenses/GFDL-1.3-no-invariants-only
new file mode 100644
index 000000000..b51dc2ab1
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.3-no-invariants-only
@@ -0,0 +1,149 @@
+GNU Free Documentation License
+Version 1.3, 3 November 2008
+
+Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document.
+
+11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.3-no-invariants-or-later b/poky/meta/files/common-licenses/GFDL-1.3-no-invariants-or-later
new file mode 100644
index 000000000..b51dc2ab1
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.3-no-invariants-or-later
@@ -0,0 +1,149 @@
+GNU Free Documentation License
+Version 1.3, 3 November 2008
+
+Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document.
+
+11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.3-only b/poky/meta/files/common-licenses/GFDL-1.3-only
new file mode 100644
index 000000000..b51dc2ab1
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.3-only
@@ -0,0 +1,149 @@
+GNU Free Documentation License
+Version 1.3, 3 November 2008
+
+Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document.
+
+11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GFDL-1.3-or-later b/poky/meta/files/common-licenses/GFDL-1.3-or-later
new file mode 100644
index 000000000..b51dc2ab1
--- /dev/null
+++ b/poky/meta/files/common-licenses/GFDL-1.3-or-later
@@ -0,0 +1,149 @@
+GNU Free Documentation License
+Version 1.3, 3 November 2008
+
+Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
+
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
+
+A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
+
+If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
+
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document.
+
+11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
+
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
diff --git a/poky/meta/files/common-licenses/GL2PS b/poky/meta/files/common-licenses/GL2PS
new file mode 100644
index 000000000..ee2af779d
--- /dev/null
+++ b/poky/meta/files/common-licenses/GL2PS
@@ -0,0 +1,13 @@
+GL2PS LICENSE Version 2, November 2003
+
+Copyright (C) 2003, Christophe Geuzaine
+
+Permission to use, copy, and distribute this software and its documentation for any purpose with or without fee is hereby granted, provided that the copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.
+
+Permission to modify and distribute modified versions of this software is granted, provided that:
+
+1) the modifications are licensed under the same terms as this software;
+
+2) you make available the source code of any modifications that you distribute, either on the same media as you distribute any executable or other form of this software, or via a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+This software is provided "as is" without express or implied warranty.
diff --git a/poky/meta/files/common-licenses/GLWTPL b/poky/meta/files/common-licenses/GLWTPL
new file mode 100644
index 000000000..a0f7ec488
--- /dev/null
+++ b/poky/meta/files/common-licenses/GLWTPL
@@ -0,0 +1,25 @@
+ GLWT(Good Luck With That) Public License
+ Copyright (c) Everyone, except Author
+
+Everyone is permitted to copy, distribute, modify, merge, sell, publish,
+sublicense or whatever they want with this software but at their OWN RISK.
+
+ Preamble
+
+The author has absolutely no clue what the code in this project does.
+It might just work or not, there is no third option.
+
+
+ GOOD LUCK WITH THAT PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION, AND MODIFICATION
+
+ 0. You just DO WHATEVER YOU WANT TO as long as you NEVER LEAVE A
+TRACE TO TRACK THE AUTHOR of the original product to blame for or hold
+responsible.
+
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+Good luck and Godspeed.
diff --git a/poky/meta/files/common-licenses/Giftware b/poky/meta/files/common-licenses/Giftware
new file mode 100644
index 000000000..c22c5a6fb
--- /dev/null
+++ b/poky/meta/files/common-licenses/Giftware
@@ -0,0 +1,9 @@
+Allegro 4 (the giftware license)
+
+Allegro is gift-ware. It was created by a number of people working in cooperation, and is given to you freely as a gift. You may use, modify, redistribute, and generally hack it about in any way you like, and you do not have to give us anything in return.
+
+However, if you like this product you are encouraged to thank us by making a return gift to the Allegro community. This could be by writing an add-on package, providing a useful bug report, making an improvement to the library, or perhaps just releasing the sources of your program so that other people can learn from them. If you redistribute parts of this code or make a game using it, it would be nice if you mentioned Allegro somewhere in the credits, but you are not required to do this. We trust you not to abuse our generosity.
+
+By Shawn Hargreaves, 18 October 1998.
+
+DISCLAIMER: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/poky/meta/files/common-licenses/Glide b/poky/meta/files/common-licenses/Glide
new file mode 100644
index 000000000..23eae7c41
--- /dev/null
+++ b/poky/meta/files/common-licenses/Glide
@@ -0,0 +1,95 @@
+3DFX GLIDE Source Code General Public License
+
+1. PREAMBLE
+
+This license is for software that provides a 3D graphics application program interface (API).The license is intended to offer terms similar to some standard General Public Licenses designed to foster open standards and unrestricted accessibility to source code. Some of these licenses require that, as a condition of the license of the software, any derivative works (that is, new software which is a work containing the original program or a portion of it) must be available for general use, without restriction other than for a minor transfer fee, and that the source code for such derivative works must likewise be made available. The only restriction is that such derivative works must be subject to the same General Public License terms as the original work.
+
+This 3dfx GLIDE Source Code General Public License differs from the standard licenses of this type in that it does not require the entire derivative work to be made available under the terms of this license nor is the recipient required to make available the source code for the entire derivative work. Rather, the license is limited to only the identifiable portion of the derivative work that is derived from the licensed software. The precise terms and conditions for copying, distribution and modification follow.
+
+2. DEFINITIONS
+
+ 2.1 This License applies to any program (or other "work") which contains a notice placed by the copyright holder saying it may be distributed under the terms of this 3dfx GLIDE Source Code General Public License.
+
+ 2.2 The term "Program" as used in this Agreement refers to 3DFX's GLIDE source code and object code and any Derivative Work.
+
+ 2.3 "Derivative Work" means, for the purpose of the License, that portion of any work that contains the Program or the identifiable portion of a work that is derived from the Program, either verbatim or with modifications and/or translated into another language, and that performs 3D graphics API operations. It does not include any other portions of a work.
+
+ 2.4 "Modifications of the Program" means any work, which includes a Derivative Work, and includes the whole of such work.
+
+ 2.5 "License" means this 3dfx GLIDE Source Code General Public License.
+
+ 2.6 The "Source Code" for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, any associated interface definition files, and the scripts used to control compilation and installation of the executable work.
+
+ 2.7 "3dfx" means 3dfx Interactive, Inc.
+
+3. LICENSED ACTIVITIES
+
+ 3.1 COPYING - You may copy and distribute verbatim copies of the Program's Source Code as you receive it, in any medium, subject to the provision of section 3.3 and provided also that:
+
+ (a) you conspicuously and appropriately publish on each copy an appropriate copyright notice (3dfx Interactive, Inc. 1999), a notice that recipients who wish to copy, distribute or modify the Program can only do so subject to this License, and a disclaimer of warranty as set forth in section 5;
+
+ (b) keep intact all the notices that refer to this License and to the absence of any warranty; and
+
+ (c) do not make any use of the GLIDE trademark without the prior written permission of 3dfx, and
+
+ (d) give all recipients of the Program a copy of this License along with the Program or instructions on how to easily receive a copy of this License.
+
+ 3.2 MODIFICATION OF THE PROGRAM/DERIVATIVE WORKS - You may modify your copy or copies of the Program or any portion of it, and copy and distribute such modifications subject to the provisions of section 3.3 and provided that you also meet all of the following conditions:
+
+ (a) you conspicuously and appropriately publish on each copy of a Derivative Work an appropriate copyright notice, a notice that recipients who wish to copy, distribute or modify the Derivative Work can only do so subject to this License, and a disclaimer of warranty as set forth in section 5;
+
+ (b) keep intact all the notices that refer to this License and to the absence of any warranty; and (c) give all recipients of the Derivative Work a copy of this License along with the Derivative Work or instructions on how to easily receive a copy of this License.
+
+ (d) You must cause the modified files of the Derivative Work to carry prominent notices stating that you changed the files and the date of any change.
+
+ (e) You must cause any Derivative Work that you distribute or publish to be licensed at no charge to all third parties under the terms of this License.
+
+ (f) You do not make any use of the GLIDE trademark without the prior written permission of 3dfx.
+
+ (g) If the Derivative Work normally reads commands interactively when run, you must cause it, when started running for such interactive use, to print or display an announcement as follows:
+
+ "COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED THIS SOFTWARE IS FREE AND PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. THERE IS NO RIGHT TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX INTERACTIVE, INC. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A FULL TEXT OF THE DISTRIBUTION AND NON-WARRANTY PROVISIONS (REQUEST COPY FROM INFO@3DFX.COM)."
+
+ (h) The requirements of this section 3.2 do not apply to the modified work as a whole but only to the Derivative Work. It is not the intent of this License to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of Derivative Works.
+
+ 3.3 DISTRIBUTION
+
+ (a) All copies of the Program or Derivative Works which are distributed must include in the file headers the following language verbatim:
+
+ "THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC (info@3dfx.com). THIS PROGRAM. IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A FULL TEXT OF THE NON-WARRANTY PROVISIONS.
+
+ USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013, AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF THE UNITED STATES.
+
+ COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED"
+
+ (b) You may distribute the Program or a Derivative Work in object code or executable form under the terms of Sections 3.1 and 3.2 provided that you also do one of the following:
+
+ (1) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 3.1 and 3.2; or,
+
+ (2) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 3.1 and 3.2 on a medium customarily used for software interchange; or,
+
+ (3) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection 3.3(b)(2) above.)
+
+ (c) The source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable code.
+
+ (d) If distribution of executable code or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+ (e) Each time you redistribute the Program or any Derivative Work, the recipient automatically receives a license from 3dfx and successor licensors to copy, distribute or modify the Program and Derivative Works subject to the terms and conditions of the License. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+ (f) You may not make any use of the GLIDE trademark without the prior written permission of 3dfx.
+
+ (g) You may not copy, modify, sublicense, or distribute the Program or any Derivative Works except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program or any Derivative Works is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+4. MISCELLANEOUS
+
+ 4.1 Acceptance of this License is voluntary. By using, modifying or distributing the Program or any Derivative Work, you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. Nothing else grants you permission to modify or distribute the Program or Derivative Works and doing so without acceptance of this License is in violation of the U.S. and international copyright laws.
+
+ 4.2 If the distribution and/or use of the Program or Derivative Works is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+ 4.3 This License is to be construed according to the laws of the State of California and you consent to personal jurisdiction in the State of California in the event it is necessary to enforce the provisions of this License.
+
+5. NO WARRANTIES
+
+ 5.1 TO THE EXTENT PERMITTED BY APPLICABLE LAW, THERE IS NO WARRANTY FOR THE PROGRAM. OR DERIVATIVE WORKS THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM AND ANY DERIVATIVE WORKS"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM AND ANY DERIVATIVE WORK IS WITH YOU. SHOULD THE PROGRAM OR ANY DERIVATIVE WORK PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 5.2 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL 3DFX INTERACTIVE, INC., OR ANY OTHER COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM OR DERIVATIVE WORKS AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM OR DERIVATIVE WORKS (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM OR DERIVATIVE WORKS TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
diff --git a/poky/meta/files/common-licenses/Glulxe b/poky/meta/files/common-licenses/Glulxe
new file mode 100644
index 000000000..8bbb720e6
--- /dev/null
+++ b/poky/meta/files/common-licenses/Glulxe
@@ -0,0 +1,3 @@
+The source code in this package is copyright 1999-2010 by Andrew Plotkin.
+
+You may copy and distribute it freely, by any means and under any conditions, as long as the code and documentation is not changed. You may also incorporate this code into your own program and distribute that, or modify this code and use and distribute the modified version, as long as you retain a notice in your program or documentation which mentions my name and the URL shown above.
diff --git a/poky/meta/files/common-licenses/HPND-sell-variant b/poky/meta/files/common-licenses/HPND-sell-variant
new file mode 100644
index 000000000..cac53b237
--- /dev/null
+++ b/poky/meta/files/common-licenses/HPND-sell-variant
@@ -0,0 +1,19 @@
+Copyright 1993 by OpenVision Technologies, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appears in all copies and
+that both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of OpenVision not be used
+in advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. OpenVision makes no
+representations about the suitability of this software for any
+purpose. It is provided "as is" without express or implied warranty.
+
+OPENVISION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL OPENVISION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
diff --git a/poky/meta/files/common-licenses/HTMLTIDY b/poky/meta/files/common-licenses/HTMLTIDY
new file mode 100644
index 000000000..098dee8c0
--- /dev/null
+++ b/poky/meta/files/common-licenses/HTMLTIDY
@@ -0,0 +1,13 @@
+HTML Tidy License
+
+This software and documentation is provided "as is," and the copyright holders and contributing author(s) make no representations or warranties, express or implied, including but not limited to, warranties of merchantability or fitness for any particular purpose or that the use of the software or documentation will not infringe any third party patents, copyrights, trademarks or other rights.
+
+The copyright holders and contributing author(s) will not be held liable for any direct, indirect, special or consequential damages arising out of any use of the software or documentation, even if advised of the possibility of such damage.
+
+Permission is hereby granted to use, copy, modify, and distribute this source code, or portions hereof, documentation and executables, for any purpose, without fee, subject to the following restrictions:
+
+ 1. The origin of this source code must not be misrepresented.
+ 2. Altered versions must be plainly marked as such and must not be misrepresented as being the original source.
+ 3. This Copyright notice may not be removed or altered from any source or altered source distribution.
+
+The copyright holders and contributing author(s) specifically permit, without fee, and encourage the use of this source code as a component for supporting the Hypertext Markup Language in commercial products. If you use this source code in a product, acknowledgement is not required but would be appreciated.
diff --git a/poky/meta/files/common-licenses/HaskellReport b/poky/meta/files/common-licenses/HaskellReport
new file mode 100644
index 000000000..563b7056c
--- /dev/null
+++ b/poky/meta/files/common-licenses/HaskellReport
@@ -0,0 +1,6 @@
+Code derived from the document "Report on the Programming Language
+Haskell 2010", is distributed under the following license:
+
+Copyright (c) 2010 Simon Marlow
+
+The authors intend this Report to belong to the entire Haskell community, and so we grant permission to copy and distribute it for any purpose, provided that it is reproduced in its entirety, including this Notice. Modified versions of this Report may also be copied and distributed for any purpose, provided that the modified version is clearly presented as such, and that it does not claim to be a definition of the Haskell 2010 Language.
diff --git a/poky/meta/files/common-licenses/Hippocratic-2.1 b/poky/meta/files/common-licenses/Hippocratic-2.1
new file mode 100644
index 000000000..0395b52dd
--- /dev/null
+++ b/poky/meta/files/common-licenses/Hippocratic-2.1
@@ -0,0 +1,33 @@
+[SOFTWARE NAME] Copyright (YEAR) (COPYRIGHT HOLDER(S)/AUTHOR(S))(“Licensor”)
+
+Hippocratic License Version Number: 2.1.
+
+Purpose. The purpose of this License is for the Licensor named above to permit the Licensee (as defined below) broad permission, if consistent with Human Rights Laws and Human Rights Principles (as each is defined below), to use and work with the Software (as defined below) within the full scope of Licensor’s copyright and patent rights, if any, in the Software, while ensuring attribution and protecting the Licensor from liability.
+
+Permission and Conditions. The Licensor grants permission by this license (“License”), free of charge, to the extent of Licensor’s rights under applicable copyright and patent law, to any person or entity (the “Licensee”) obtaining a copy of this software and associated documentation files (the “Software”), to do everything with the Software that would otherwise infringe (i) the Licensor’s copyright in the Software or (ii) any patent claims to the Software that the Licensor can license or becomes able to license, subject to all of the following terms and conditions:
+
+* Acceptance. This License is automatically offered to every person and entity subject to its terms and conditions. Licensee accepts this License and agrees to its terms and conditions by taking any action with the Software that, absent this License, would infringe any intellectual property right held by Licensor.
+
+* Notice. Licensee must ensure that everyone who gets a copy of any part of this Software from Licensee, with or without changes, also receives the License and the above copyright notice (and if included by the Licensor, patent, trademark and attribution notice). Licensee must cause any modified versions of the Software to carry prominent notices stating that Licensee changed the Software. For clarity, although Licensee is free to create modifications of the Software and distribute only the modified portion created by Licensee with additional or different terms, the portion of the Software not modified must be distributed pursuant to this License. If anyone notifies Licensee in writing that Licensee has not complied with this Notice section, Licensee can keep this License by taking all practical steps to comply within 30 days after the notice. If Licensee does not do so, Licensee’s License (and all rights licensed hereunder) shall end immediately.
+
+* Compliance with Human Rights Principles and Human Rights Laws.
+
+ 1. Human Rights Principles.
+
+ (a) Licensee is advised to consult the articles of the United Nations Universal Declaration of Human Rights and the United Nations Global Compact that define recognized principles of international human rights (the “Human Rights Principles”). Licensee shall use the Software in a manner consistent with Human Rights Principles.
+
+ (b) Unless the Licensor and Licensee agree otherwise, any dispute, controversy, or claim arising out of or relating to (i) Section 1(a) regarding Human Rights Principles, including the breach of Section 1(a), termination of this License for breach of the Human Rights Principles, or invalidity of Section 1(a) or (ii) a determination of whether any Law is consistent or in conflict with Human Rights Principles pursuant to Section 2, below, shall be settled by arbitration in accordance with the Hague Rules on Business and Human Rights Arbitration (the “Rules”); provided, however, that Licensee may elect not to participate in such arbitration, in which event this License (and all rights licensed hereunder) shall end immediately. The number of arbitrators shall be one unless the Rules require otherwise.
+
+ Unless both the Licensor and Licensee agree to the contrary: (1) All documents and information concerning the arbitration shall be public and may be disclosed by any party; (2) The repository referred to under Article 43 of the Rules shall make available to the public in a timely manner all documents concerning the arbitration which are communicated to it, including all submissions of the parties, all evidence admitted into the record of the proceedings, all transcripts or other recordings of hearings and all orders, decisions and awards of the arbitral tribunal, subject only to the arbitral tribunal's powers to take such measures as may be necessary to safeguard the integrity of the arbitral process pursuant to Articles 18, 33, 41 and 42 of the Rules; and (3) Article 26(6) of the Rules shall not apply.
+
+ 2. Human Rights Laws. The Software shall not be used by any person or entity for any systems, activities, or other uses that violate any Human Rights Laws. “Human Rights Laws” means any applicable laws, regulations, or rules (collectively, “Laws”) that protect human, civil, labor, privacy, political, environmental, security, economic, due process, or similar rights; provided, however, that such Laws are consistent and not in conflict with Human Rights Principles (a dispute over the consistency or a conflict between Laws and Human Rights Principles shall be determined by arbitration as stated above). Where the Human Rights Laws of more than one jurisdiction are applicable or in conflict with respect to the use of the Software, the Human Rights Laws that are most protective of the individuals or groups harmed shall apply.
+
+ 3. Indemnity. Licensee shall hold harmless and indemnify Licensor (and any other contributor) against all losses, damages, liabilities, deficiencies, claims, actions, judgments, settlements, interest, awards, penalties, fines, costs, or expenses of whatever kind, including Licensor’s reasonable attorneys’ fees, arising out of or relating to Licensee’s use of the Software in violation of Human Rights Laws or Human Rights Principles.
+
+* Failure to Comply. Any failure of Licensee to act according to the terms and conditions of this License is both a breach of the License and an infringement of the intellectual property rights of the Licensor (subject to exceptions under Laws, e.g., fair use). In the event of a breach or infringement, the terms and conditions of this License may be enforced by Licensor under the Laws of any jurisdiction to which Licensee is subject. Licensee also agrees that the Licensor may enforce the terms and conditions of this License against Licensee through specific performance (or similar remedy under Laws) to the extent permitted by Laws. For clarity, except in the event of a breach of this License, infringement, or as otherwise stated in this License, Licensor may not terminate this License with Licensee.
+
+* Enforceability and Interpretation. If any term or provision of this License is determined to be invalid, illegal, or unenforceable by a court of competent jurisdiction, then such invalidity, illegality, or unenforceability shall not affect any other term or provision of this License or invalidate or render unenforceable such term or provision in any other jurisdiction; provided, however, subject to a court modification pursuant to the immediately following sentence, if any term or provision of this License pertaining to Human Rights Laws or Human Rights Principles is deemed invalid, illegal, or unenforceable against Licensee by a court of competent jurisdiction, all rights in the Software granted to Licensee shall be deemed null and void as between Licensor and Licensee. Upon a determination that any term or provision is invalid, illegal, or unenforceable, to the extent permitted by Laws, the court may modify this License to affect the original purpose that the Software be used in compliance with Human Rights Principles and Human Rights Laws as closely as possible. The language in this License shall be interpreted as to its fair meaning and not strictly for or against any party.
+
+* Disclaimer. TO THE FULL EXTENT ALLOWED BY LAW, THIS SOFTWARE COMES “AS IS,” WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED, AND LICENSOR AND ANY OTHER CONTRIBUTOR SHALL NOT BE LIABLE TO ANYONE FOR ANY DAMAGES OR OTHER LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THIS LICENSE, UNDER ANY KIND OF LEGAL CLAIM.
+
+This Hippocratic License is an Ethical Source license (https://ethicalsource.dev) and is offered for use by licensors and licensees at their own risk, on an “AS IS” basis, and with no warranties express or implied, to the maximum extent permitted by Laws.
diff --git a/poky/meta/files/common-licenses/IBM-pibs b/poky/meta/files/common-licenses/IBM-pibs
new file mode 100644
index 000000000..49454b8b1
--- /dev/null
+++ b/poky/meta/files/common-licenses/IBM-pibs
@@ -0,0 +1,8 @@
+This source code has been made available to you by IBM on an AS-IS basis. Anyone receiving this source is licensed under IBM copyrights to use it in any way he or she deems fit, including copying it, modifying it, compiling it, and redistributing it either with or without modifications. No license under IBM patents or patent applications is to be implied by the copyright license.
+
+Any user of this software should understand that IBM cannot provide technical support for this software and will not be responsible for any consequences resulting from the use of this software.
+
+Any person who transfers this source code or any derivative work must include the IBM copyright notice, this paragraph, and the preceding two paragraphs in the transferred software.
+
+COPYRIGHT   I B M   CORPORATION 2002
+LICENSED MATERIAL  -  PROGRAM PROPERTY OF I B M
diff --git a/poky/meta/files/common-licenses/IJG b/poky/meta/files/common-licenses/IJG
new file mode 100644
index 000000000..761071caa
--- /dev/null
+++ b/poky/meta/files/common-licenses/IJG
@@ -0,0 +1,38 @@
+Independent JPEG Group License
+
+LEGAL ISSUES
+
+In plain English:
+
+1. We don't promise that this software works. (But if you find any bugs, please let us know!)
+2. You can use this software for whatever you want. You don't have to pay us.
+3. You may not pretend that you wrote this software. If you use it in a program, you must acknowledge somewhere in your documentation that you've used the IJG code.
+
+In legalese:
+
+The authors make NO WARRANTY or representation, either express or implied, with respect to this software, its quality, accuracy, merchantability, or fitness for a particular purpose. This software is provided "AS IS", and you, its user, assume the entire risk as to its quality and accuracy.
+
+This software is copyright (C) 1991-1998, Thomas G. Lane. All Rights Reserved except as specified below.
+
+Permission is hereby granted to use, copy, modify, and distribute this software (or portions thereof) for any purpose, without fee, subject to these conditions:
+
+ (1) If any part of the source code for this software is distributed, then this README file must be included, with this copyright and no-warranty notice unaltered; and any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation.
+ (2) If only executable code is distributed, then the accompanying documentation must state that "this software is based in part on the work of the Independent JPEG Group".
+ (3) Permission for use of this software is granted only if the user accepts full responsibility for any undesirable consequences; the authors accept NO LIABILITY for damages of any kind.
+
+These conditions apply to any software derived from or based on the IJG code, not just to the unmodified library. If you use our work, you ought to acknowledge us.
+
+Permission is NOT granted for the use of any IJG author's name or company name in advertising or publicity relating to this software or products derived from it. This software may be referred to only as "the Independent JPEG Group's software".
+
+We specifically permit and encourage the use of this software as the basis of commercial products, provided that all warranty or liability claims are assumed by the product vendor.
+
+ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. ansi2knr.c is NOT covered by the above copyright and conditions, but instead by the usual distribution terms of the Free Software Foundation; principally, that you must include source code if you redistribute it. (See the file ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part of any program generated from the IJG code, this does not limit you more than the foregoing paragraphs do.
+
+The Unix configuration script "configure" was produced with GNU Autoconf. It is copyright by the Free Software Foundation but is freely distributable. The same holds for its supporting scripts (config.guess, config.sub, ltconfig, ltmain.sh). Another support script, install-sh, is copyright by M.I.T. but is also freely distributable.
+
+It appears that the arithmetic coding option of the JPEG spec is covered by patents owned by IBM, AT&T, and Mitsubishi. Hence arithmetic coding cannot legally be used without obtaining one or more licenses. For this reason, support for arithmetic coding has been removed from the free JPEG software. (Since arithmetic coding provides only a marginal gain over the unpatented Huffman mode, it is unlikely that very many implementations will support it.) So far as we are aware, there are no patent restrictions on the remaining code.
+
+The IJG distribution formerly included code to read and write GIF files. To avoid entanglement with the Unisys LZW patent, GIF reading support has been removed altogether, and the GIF writer has been simplified to produce "uncompressed GIFs". This technique does not use the LZW algorithm; the resulting GIF files are larger than usual, but are readable by all standard GIF decoders.
+
+We are required to state that
+ "The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated."
diff --git a/poky/meta/files/common-licenses/ImageMagick b/poky/meta/files/common-licenses/ImageMagick
new file mode 100644
index 000000000..e627fd7b4
--- /dev/null
+++ b/poky/meta/files/common-licenses/ImageMagick
@@ -0,0 +1,98 @@
+Before we get to the text of the license, lets just review what the license says in simple terms:
+
+It allows you to:
+
+ * freely download and use ImageMagick software, in whole or in part, for personal, company internal, or commercial purposes;
+ * use ImageMagick software in packages or distributions that you create;
+ * link against a library under a different license;
+ * link code under a different license against a library under this license;
+ * merge code into a work under a different license;
+ * extend patent grants to any code using code under this license;
+ * and extend patent protection.
+
+It forbids you to:
+
+ * redistribute any piece of ImageMagick-originated software without proper attribution;
+ * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that ImageMagick Studio LLC endorses your distribution;
+ * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that you created the ImageMagick software in question.
+
+It requires you to:
+
+ * include a copy of the license in any redistribution you may make that includes ImageMagick software;
+ * provide clear attribution to ImageMagick Studio LLC for any distributions that include ImageMagick software.
+
+It does not require you to:
+
+ * include the source of the ImageMagick software itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it;
+ * submit changes that you make to the software back to the ImageMagick Studio LLC (though such feedback is encouraged).
+
+A few other clarifications include:
+
+ * ImageMagick is freely available without charge;
+ * you may include ImageMagick on a DVD as long as you comply with the terms of the license;
+ * you can give modified code away for free or sell it under the terms of the ImageMagick license or distribute the result under a different license, but you need to acknowledge the use of the ImageMagick software;
+ * the license is compatible with the GPL V3.
+ * when exporting the ImageMagick software, review its export classification.
+
+Terms and Conditions for Use, Reproduction, and Distribution
+
+The legally binding and authoritative terms and conditions for use, reproduction, and distribution of ImageMagick follow:
+
+Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging solutions freely available.
+
+1. Definitions.
+
+License shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+Licensor shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+Legal Entity shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, control means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+You (or Your) shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+Source form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+Object form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+Work shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+Derivative Works shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+Contribution shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as Not a Contribution.
+
+Contributor shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+ a. You must give any other recipients of the Work or Derivative Works a copy of this License; and
+ b. You must cause any modified files to carry prominent notices stating that You changed the files; and
+ c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+ d. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
+
+You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+How to Apply the License to your Work
+
+To apply the ImageMagick License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information (don't include the brackets). The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the ImageMagick License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
+
+ http://www.imagemagick.org/script/license.php
+
+ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
diff --git a/poky/meta/files/common-licenses/Imlib2 b/poky/meta/files/common-licenses/Imlib2
new file mode 100644
index 000000000..9f9dfd212
--- /dev/null
+++ b/poky/meta/files/common-licenses/Imlib2
@@ -0,0 +1,9 @@
+Imlib2 License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies of the Software and its Copyright notices. In addition publicly documented acknowledgment must be given that this software has been used if no source code of this software is made available publicly. Making the source available publicly means including the source for this software with the distribution, or a method to get this software via some reasonable mechanism (electronic transfer via a network or media) as well as making an offer to supply the source on request. This Copyright notice serves as an offer to supply the source on on request as well. Instead of this, supplying acknowledgments of use of this software in either Copyright notices, Manuals, Publicity and Marketing documents or any documentation provided with any product containing this software. This License does not apply to any software that links to the libraries provided by this software (statically or dynamically), but only to the software provided.
+
+Please see the COPYING-PLAIN for a plain-english explanation of this notice and its intent.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/poky/meta/files/common-licenses/Info-ZIP b/poky/meta/files/common-licenses/Info-ZIP
new file mode 100644
index 000000000..9067701bb
--- /dev/null
+++ b/poky/meta/files/common-licenses/Info-ZIP
@@ -0,0 +1,16 @@
+Info-ZIP License
+
+Copyright (c) 1990-2009 Info-ZIP. All rights reserved.
+
+For the purposes of this copyright and license, "Info-ZIP" is defined as the following set of individuals:
+
+ Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois, Jean-loup Gailly, Hunter Goatley, Ed Gordon, Ian Gorman, Chris Herborth, Dirk Haase, Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz, David Kirschbaum, Johnny Lee, Onno van der Linden, Igor Mandrichenko, Steve P. Miller, Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs, Kai Uwe Rommel, Steve Salisbury, Dave Smith, Steven M. Schweda, Christian Spieler, Cosmin Truta, Antoine Verheijen, Paul von Behren, Rich Wales, Mike White.
+
+This software is provided "as is," without warranty of any kind, express or implied. In no event shall Info-ZIP or its contributors be held liable for any direct, indirect, incidental, special or consequential damages arising out of the use of or inability to use this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the above disclaimer and the following restrictions:
+
+ * Redistributions of source code (in whole or in part) must retain the above copyright notice, definition, disclaimer, and this list of conditions.
+ * Redistributions in binary form (compiled executables and libraries) must reproduce the above copyright notice, definition, disclaimer, and this list of conditions in documentation and/or other materials provided with the distribution. Additional documentation is not needed for executables where a command line license option provides these and a note regarding this option is in the executable's startup banner. The sole exception to this condition is redistribution of a standard UnZipSFX binary (including SFXWiz) as part of a self-extracting archive; that is permitted without inclusion of this license, as long as the normal SFX banner has not been removed from the binary or disabled.
+ * Altered versions--including, but not limited to, ports to new operating systems, existing ports with new graphical interfaces, versions with modified or added functionality, and dynamic, shared, or static library versions not from Info-ZIP--must be plainly marked as such and must not be misrepresented as being the original source or, if binaries, compiled from the original source. Such altered versions also must not be misrepresented as being Info-ZIP releases--including, but not limited to, labeling of the altered versions with the names "Info-ZIP" (or any variation thereof, including, but not limited to, different capitalizations), "Pocket UnZip," "WiZ" or "MacZip" without the explicit permission of Info-ZIP. Such altered versions are further prohibited from misrepresentative use of the Zip-Bugs or Info-ZIP e-mail addresses or the Info-ZIP URL(s), such as to imply Info-ZIP will provide support for the altered versions.
+ * Info-ZIP retains the right to use the names "Info-ZIP," "Zip," "UnZip," "UnZipSFX," "WiZ," "Pocket UnZip," "Pocket Zip," and "MacZip" for its own source and binary releases.
diff --git a/poky/meta/files/common-licenses/Intel-ACPI b/poky/meta/files/common-licenses/Intel-ACPI
new file mode 100644
index 000000000..e5cc5fd19
--- /dev/null
+++ b/poky/meta/files/common-licenses/Intel-ACPI
@@ -0,0 +1,34 @@
+ACPI - Software License Agreement
+Software License Agreement IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING.
+
+Do not use or load this software and any associated materials (collectively, the "Software") until you have carefully read the following terms and conditions. By loading or using the Software, you agree to the terms of this Agreement. If you do not wish to so agree, do not install or use the Software.
+
+1. COPYRIGHT NOTICE Some or all of this work - Copyright © 1999-2005, Intel Corp. All rights reserved.
+
+2. LICENSE
+
+ 2.1. This is your license from Intel Corp. under its intellectual property rights. You may have additional license terms from the party that provided you this software, covering your right to use that party's intellectual property rights.
+
+ 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a copy of the source code appearing in this file ("Covered Code") an irrevocable, perpetual, worldwide license under Intel's copyrights in the base code distributed originally by Intel ("Original Intel Code") to copy, make derivatives, distribute, use and display any portion of the Covered Code in any form, with the right to sublicense such rights; and
+
+ 2.3. Intel grants Licensee a non-exclusive and non-transferable patent license (with the right to sublicense), under only those claims of Intel patents that are infringed by the Original Intel Code, to make, use, sell, offer to sell, and import the Covered Code and derivative works thereof solely to the minimum extent necessary to exercise the above copyright license, and in no event shall the patent license extend to any additions to or modifications of the Original Intel Code. No other license or right is granted directly or by implication, estoppel or otherwise; The above copyright and patent license is granted only if the following conditions are met:
+
+3. CONDITIONS
+
+ 3.1. Redistribution of Source with Rights to Further Distribute Source. Redistribution of source code of any substantial portion of the Covered Code or modification with rights to further distribute source must include the above Copyright Notice, the above License, this list of Conditions, and the following Disclaimer and Export Compliance provision. In addition, Licensee must cause all Covered Code to which Licensee contributes to contain a file documenting the changes Licensee made to create that Covered Code and the date of any change. Licensee must include in that file the documentation of any changes made by any predecessor Licensee. Licensee must include a prominent statement that the modification is derived, directly or indirectly, from Original Intel Code.
+
+ 3.2. Redistribution of Source with no Rights to Further Distribute Source. Redistribution of source code of any substantial portion of the Covered Code or modification without rights to further distribute source must include the following Disclaimer and Export Compliance provision in the documentation and/or other materials provided with distribution. In addition, Licensee may not authorize further sublicense of source of any portion of the Covered Code, and must include terms to the effect that the license from Licensee to its licensee is limited to the intellectual property embodied in the software Licensee provides to its licensee, and not to intellectual property embodied in modifications its licensee may make.
+
+ 3.3. Redistribution of Executable. Redistribution in executable form of any substantial portion of the Covered Code or modification must reproduce the above Copyright Notice, and the following Disclaimer and Export Compliance provision in the documentation and/or other materials provided with the distribution.
+
+ 3.4. Intel retains all right, title, and interest in and to the Original Intel Code.
+
+ 3.5. Neither the name Intel nor any other trademark owned or controlled by Intel shall be used in advertising or otherwise to promote the sale, use or other dealings in products derived from or relating to the Covered Code without prior written authorization from Intel.
+
+4. DISCLAIMER AND EXPORT COMPLIANCE
+
+ 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+
+ 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.
+
+ 4.3. Licensee shall not export, either directly or indirectly, any of this software or system incorporating such software without first obtaining any required license or other approval from the U. S. Department of Commerce or any other agency or department of the United States Government. In the event Licensee exports any such software from the United States or re-exports any such software from a foreign destination, Licensee shall ensure that the distribution and export/re-export of the software is in compliance with all laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations. Licensee agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, software, or service, directly or indirectly, to any country for which the United States government or any agency thereof requires an export license, other governmental approval, or letter of assurance, without first obtaining such license, approval or letter.
diff --git a/poky/meta/files/common-licenses/Interbase-1.0 b/poky/meta/files/common-licenses/Interbase-1.0
new file mode 100644
index 000000000..5a73f24c3
--- /dev/null
+++ b/poky/meta/files/common-licenses/Interbase-1.0
@@ -0,0 +1,199 @@
+INTERBASE PUBLIC LICENSE
+Version 1.0
+
+1. Definitions.
+
+1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+
+1.1. ''Contributor'' means each entity that creates or contributes to the creation of Modifications.
+
+1.2. ''Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+1.3. ''Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+1.4. ''Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+1.5. ''Executable'' means Covered Code in any form other than Source Code.
+
+1.6. ''Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+1.7. ''Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+1.8. ''License'' means this document.
+
+1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+1.9. ''Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+B. Any new file that contains any part of the Original Code or previous Modifications.
+
+1.10. ''Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+1.11. ''Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+1.12. "You'' (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+2.1. The Initial Developer Grant.
+
+The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+
+2.2. Contributor Grant.
+
+Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+3.1. Application of License.
+
+The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+3.2. Availability of Source Code.
+
+Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+3.3. Description of Modifications.
+
+You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+3.4. Intellectual Property Matters
+
+ (a) Third Party Claims.
+
+ If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs.
+
+ If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+
+ (c) Representations.
+
+ Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+3.5. Required Notices.
+
+You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+3.6. Distribution of Executable Versions.
+
+You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+3.7. Larger Works.
+
+You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5. Application of this License.
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+6.1. New Versions.
+
+Borland Software Corporation (''Interbase'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+6.2. Effect of New Versions.
+
+Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Interbase. No one other than Interbase has the right to modify the terms applicable to Covered Code created under this License.
+
+6.3. Derivative Works.
+
+If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'', ''Netscape'', "MPL", ''NPL", "Interbase", "ISC", "IB'' or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+6.4 Origin of the Interbase Public License.
+
+The Interbase public license is based on the Mozilla Public License V 1.1 with the following changes:
+
+The license is published by Borland Software Corporation. Only Borland Software Corporation can modify the terms applicable to Covered Code.
+The license can be modified used for code which is not already governed by this license. Modified versions of the license must be renamed to avoid confusion with Netscape?s or Interbase Software?s license and must include a description of changes from the Interbase Public License.
+The name of the license in Exhibit A is the "Interbase Public License".
+The reference to an alternative license in Exhibit A has been removed.
+Amendments I, II, III, V, and VI have been deleted.
+Exhibit A, Netscape Public License has been deleted
+A new amendment (II) has been added, describing the required and restricted rights to use the trademarks of Borland Software Corporation
+7. DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
+
+ (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+ (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+The Covered Code is a ''commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' and ''commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+
+This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+EXHIBIT A - InterBase Public License.
+
+``The contents of this file are subject to the Interbase Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.Interbase.com/IPL.html
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code was created by InterBase Software Corp and its successors.
+
+Portions created by Borland/Inprise are Copyright (C) Borland/Inprise. All Rights Reserved.
+
+Contributor(s): ______________________________________.
+
+AMENDMENTS
+
+I. InterBase and logo. This License does not grant any rights to use the trademarks "Interbase'', "Java" or "JavaScript" even if such marks are included in the Original Code or Modifications.
+
+II. Trademark Usage.
+
+II.1. Advertising Materials. All advertising materials mentioning features or use of the covered Code must display the following acknowledgement: "This product includes software developed by Borland Software Corp. "
+
+II.2. Endorsements. The names "InterBase," "ISC," and "IB" must not be used to endorse or promote Contributor Versions or Larger Works without the prior written permission of Interbase.
+
+II.3. Product Names. Contributor Versions and Larger Works may not be called "InterBase" or "Interbase" nor may the word "InterBase" appear in their names without the prior written permission of Interbase.
diff --git a/poky/meta/files/common-licenses/JPNIC b/poky/meta/files/common-licenses/JPNIC
new file mode 100644
index 000000000..6cc1d094c
--- /dev/null
+++ b/poky/meta/files/common-licenses/JPNIC
@@ -0,0 +1,40 @@
+Copyright (c) 2000-2002 Japan Network Information Center. All rights reserved.
+
+By using this file, you agree to the terms and conditions set forth bellow.
+
+ LICENSE TERMS AND CONDITIONS
+
+The following License Terms and Conditions apply, unless a different
+license is obtained from Japan Network Information Center ("JPNIC"),
+a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
+Chiyoda-ku, Tokyo 101-0047, Japan.
+
+1. Use, Modification and Redistribution (including distribution of any
+ modified or derived work) in source and/or binary forms is permitted
+ under this License Terms and Conditions.
+
+2. Redistribution of source code must retain the copyright notices as they
+ appear in each source code file, this License Terms and Conditions.
+
+3. Redistribution in binary form must reproduce the Copyright Notice,
+ this License Terms and Conditions, in the documentation and/or other
+ materials provided with the distribution. For the purposes of binary
+ distribution the "Copyright Notice" refers to the following language:
+ "Copyright (c) 2000-2002 Japan Network Information Center. All rights
+ reserved."
+
+4. The name of JPNIC may not be used to endorse or promote products
+ derived from this Software without specific prior written approval of
+ JPNIC.
+
+5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JPNIC BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
diff --git a/poky/meta/files/common-licenses/JSON b/poky/meta/files/common-licenses/JSON
new file mode 100644
index 000000000..e29500b0e
--- /dev/null
+++ b/poky/meta/files/common-licenses/JSON
@@ -0,0 +1,11 @@
+JSON License
+
+Copyright (c) 2002 JSON.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+The Software shall be used for Good, not Evil.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/poky/meta/files/common-licenses/JasPer-2.0 b/poky/meta/files/common-licenses/JasPer-2.0
new file mode 100644
index 000000000..93d11287d
--- /dev/null
+++ b/poky/meta/files/common-licenses/JasPer-2.0
@@ -0,0 +1,17 @@
+JasPer License Version 2.0
+
+Copyright (c) 2001-2006 Michael David Adams
+Copyright (c) 1999-2000 Image Power, Inc.
+Copyright (c) 1999-2000 The University of British Columbia
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person (the "User") obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+1. The above copyright notices and this permission notice (which includes the disclaimer below) shall be included in all copies or substantial portions of the Software.
+
+2. The name of a copyright holder shall not be used to endorse or promote products derived from the Software without specific prior written permission.
+
+THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
+"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO
+EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
diff --git a/poky/meta/files/common-licenses/LAL-1.2 b/poky/meta/files/common-licenses/LAL-1.2
new file mode 100644
index 000000000..b8907ab6f
--- /dev/null
+++ b/poky/meta/files/common-licenses/LAL-1.2
@@ -0,0 +1,67 @@
+Licence Art Libre
+[ Copyleft Attitude ]
+
+Version 1.2
+
+Préambule :
+
+Avec cette Licence Art Libre, l’autorisation est donnée de copier, de diffuser et de transformer librement les oeuvres dans le respect des droits de l’auteur.
+
+Loin d’ignorer les droits de l’auteur, cette licence les reconnaît et les protège. Elle en reformule le principe en permettant au public de faire un usage créatif des oeuvres d’art.
+Alors que l’usage fait du droit de la propriété littéraire et artistique conduit à restreindre l’accès du public à l’oeuvre, la Licence Art Libre a pour but de le favoriser.
+L’intention est d’ouvrir l’accès et d’autoriser l’utilisation des ressources d’une oeuvre par le plus grand nombre. En avoir jouissance pour en multiplier les réjouissances, créer de nouvelles conditions de création pour amplifier les possibilités de création. Dans le respect des auteurs avec la reconnaissance et la défense de leur droit moral.
+
+En effet, avec la venue du numérique, l’invention de l’internet et des logiciels libres, un nouveau mode de création et de production est apparu. Il est aussi l’amplification de ce qui a été expérimenté par nombre d’artistes contemporains.
+Le savoir et la création sont des ressources qui doivent demeurer libres pour être encore véritablement du savoir et de la création. C’est à dire rester une recherche fondamentale qui ne soit pas directement liée à une application concrète. Créer c’est découvrir l’inconnu, c’est inventer le réel avant tout souci de réalisme.
+Ainsi, l’objet de l’art n’est pas confondu avec l’objet d’art fini et défini comme tel. C’est la raison essentielle de cette Licence Art Libre : promouvoir et protéger des pratiques artistiques libérées des seules règles de l’économie de marché.
+
+DÉFINITIONS
+
+– L’oeuvre :il s’agit d’une oeuvre commune qui comprend l’oeuvre originelle ainsi que toutes les contributions postérieures (les originaux conséquents et les copies). Elle est créée à l’initiative de l’auteur originel qui par cette licence définit les conditions selon lesquelles les contributions sont faites.
+
+– L’oeuvre originelle :c’est-à-dire l’oeuvre créée par l’initiateur de l’oeuvre commune dont les copies vont être modifiées par qui le souhaite.
+
+– Les oeuvres conséquentes :c’est-à-dire les propositions des auteurs qui contribuent à la formation de l’oeuvre en faisant usage des droits de reproduction, de diffusion et de modification que leur confère la licence.
+
+– Original (source ou ressource de l’oeuvre) :exemplaire daté de l’oeuvre, de sa définition, de sa partition ou de son programme que l’auteur présente comme référence pour toutes actualisations, interprétations, copies ou reproductions ultérieures.
+
+– Copie :toute reproduction d’un original au sens de cette licence.
+
+– Auteur de l’oeuvre originelle :c’est la personne qui a créé l’oeuvre à l’origine d’une arborescence de cette oeuvre modifiée. Par cette licence, l’auteur détermine les conditions dans lesquelles ce travail se fait.
+
+– Contributeur :toute personne qui contribue à la création de l’oeuvre. Il est l’auteur d’une oeuvre originale résultant de la modification d’une copie de l’oeuvre originelle ou de la modification d’une copie d’une oeuvre conséquente.
+
+1. OBJET
+Cette licence a pour objet de définir les conditions selon lesquelles vous pouvez jouir librement de cette oeuvre.
+
+2. L’ÉTENDUE DE LA JOUISSANCE
+Cette oeuvre est soumise au droit d’auteur, et l’auteur par cette licence vous indique quelles sont vos libertés pour la copier, la diffuser et la modifier:
+
+2.1 LA LIBERTÉ DE COPIER (OU DE REPRODUCTION)
+Vous avez la liberté de copier cette oeuvre pour un usage personnel, pour vos amis, ou toute autre personne et quelque soit la technique employée.
+
+2.2 LA LIBERTÉ DE DIFFUSER, D’INTERPRÉTER (OU DE REPRÉSENTATION)
+Vous pouvez diffuser librement les copies de ces oeuvres, modifiées ou non, quel que soit le support, quel que soit le lieu, à titre onéreux ou gratuit si vous respectez toutes les conditions suivantes:
+ – joindre aux copies, cette licence à l’identique, ou indiquer précisément où se trouve la licence, – indiquer au destinataire le nom de l’auteur des originaux, – indiquer au destinataire où il pourra avoir accès aux originaux (originels et/ou conséquents). L’auteur de l’original pourra, s’il le souhaite, vous autoriser à diffuser l’original dans les mêmes conditions que les copies.
+
+2.3 LA LIBERTÉ DE MODIFIER
+Vous avez la liberté de modifier les copies des originaux (originels et conséquents), qui peuvent être partielles ou non, dans le respect des conditions prévues à l’article 2.2 en cas de diffusion (ou représentation) de la copie modifiée. L’auteur de l’original pourra, s’il le souhaite, vous autoriser à modifier l’original dans les mêmes conditions que les copies.
+
+3. L’INCORPORATION DE L’OEUVRE
+Tous les éléments de cette oeuvre doivent demeurer libres, c’est pourquoi il ne vous est pas permis d’intégrer les originaux (originels et conséquents) dans une autre oeuvre qui ne serait pas soumise à cette licence.
+
+4. VOS DROITS D’AUTEUR
+Cette licence n’a pas pour objet de nier vos droits d’auteur sur votre contribution. En choisissant de contribuer à l’évolution de cette oeuvre, vous acceptez seulement d’offrir aux autres les mêmes droits sur votre contribution que ceux qui vous ont été accordés par cette licence.
+
+5. LA DURÉE DE LA LICENCE
+Cette licence prend effet dès votre acceptation de ses dispositions. Le fait de copier, de diffuser, ou de modifier l’oeuvre constitue une acception tacite. Cette licence a pour durée la durée des droits d’auteur attachés à l’oeuvre. Si vous ne respectez pas les termes de cette licence, vous perdez automatiquement les droits qu’elle vous confère. Si le régime juridique auquel vous êtes soumis ne vous permet pas de respecter les termes de cette licence, vous ne pouvez pas vous prévaloir des libertés qu’elle confère.
+
+6. LES DIFFÉRENTES VERSIONS DE LA LICENCE
+Cette licence pourra être modifiée régulièrement, en vue de son amélioration, par ses auteurs (les acteurs du mouvement « copyleft attitude ») sous la forme de nouvelles versions numérotées.
+Vous avez toujours le choix entre vous contenter des dispositions contenues dans la version sous laquelle la copie vous a été communiquée ou alors, vous prévaloir des dispositions d’une des versions ultérieures.
+
+7. LES SOUS-LICENCES
+Les sous licences ne sont pas autorisées par la présente. Toute personne qui souhaite bénéficier des libertés qu’elle confère sera liée directement à l’auteur de l’oeuvre originelle.
+
+8. LA LOI APPLICABLE AU CONTRAT
+Cette licence est soumise au droit français.
diff --git a/poky/meta/files/common-licenses/LAL-1.3 b/poky/meta/files/common-licenses/LAL-1.3
new file mode 100644
index 000000000..ca1a44734
--- /dev/null
+++ b/poky/meta/files/common-licenses/LAL-1.3
@@ -0,0 +1,88 @@
+Licence Art Libre 1.3 (LAL 1.3)
+
+Préambule :
+
+Avec la Licence Art Libre, l’autorisation est donnée de copier, de diffuser et de transformer librement les œuvres dans le respect des droits de l’auteur.
+
+Loin d’ignorer ces droits, la Licence Art Libre les reconnaît et les protège. Elle en reformule l’exercice en permettant à tout un chacun de faire un usage créatif des productions de l’esprit quels que soient leur genre et leur forme d’expression.
+
+Si, en règle générale, l’application du droit d’auteur conduit à restreindre l’accès aux œuvres de l’esprit, la Licence Art Libre, au contraire, le favorise. L’intention est d’autoriser l’utilisation des ressources d’une œuvre ; créer de nouvelles conditions de création pour amplifier les possibilités de création. La Licence Art Libre permet d’avoir jouissance des œuvres tout en reconnaissant les droits et les responsabilités de chacun.
+
+Avec le développement du numérique, l’invention d’internet et des logiciels libres, les modalités de création ont évolué : les productions de l’esprit s’offrent naturellement à la circulation, à l’échange et aux transformations. Elles se prêtent favorablement à la réalisation d’œuvres communes que chacun peut augmenter pour l’avantage de tous.
+
+C’est la raison essentielle de la Licence Art Libre : promouvoir et protéger ces productions de l’esprit selon les principes du copyleft : liberté d’usage, de copie, de diffusion, de transformation et interdiction d’appropriation exclusive.
+
+Définitions :
+
+Nous désignons par « œuvre », autant l’œuvre initiale, les œuvres conséquentes, que l’œuvre commune telles que définies ci-après :
+
+L’œuvre commune :Il s’agit d’une œuvre qui comprend l’œuvre initiale ainsi que toutes les contributions postérieures (les originaux conséquents et les copies). Elle est créée à l’initiative de l’auteur initial qui par cette licence définit les conditions selon lesquelles les contributions sont faites.
+
+L’œuvre initiale :C’est-à-dire l’œuvre créée par l’initiateur de l’œuvre commune dont les copies vont être modifiées par qui le souhaite.
+
+Les œuvres conséquentes :C’est-à-dire les contributions des auteurs qui participent à la formation de l’œuvre commune en faisant usage des droits de reproduction, de diffusion et de modification que leur confère la licence.
+
+Originaux (sources ou ressources de l’œuvre) :Chaque exemplaire daté de l’œuvre initiale ou conséquente que leurs auteurs présentent comme référence pour toutes actualisations, interprétations, copies ou reproductions ultérieures.
+
+Copie :Toute reproduction d’un original au sens de cette licence.
+
+1- OBJET.
+Cette licence a pour objet de définir les conditions selon lesquelles vous pouvez jouir librement de l’œuvre.
+
+2. L’ÉTENDUE DE LA JOUISSANCE.
+Cette œuvre est soumise au droit d’auteur, et l’auteur par cette licence vous indique quelles sont vos libertés pour la copier, la diffuser et la modifier.
+
+2.1 LA LIBERTÉ DE COPIER (OU DE REPRODUCTION).
+Vous avez la liberté de copier cette œuvre pour vous, vos amis ou toute autre personne, quelle que soit la technique employée.
+
+2.2 LA LIBERTÉ DE DIFFUSER (INTERPRÉTER, REPRÉSENTER, DISTRIBUER).
+Vous pouvez diffuser librement les copies de ces œuvres, modifiées ou non, quel que soit le support, quel que soit le lieu, à titre onéreux ou gratuit, si vous respectez toutes les conditions suivantes :
+
+ 1. joindre aux copies cette licence à l’identique ou indiquer précisément où se trouve la licence ;
+ 2. indiquer au destinataire le nom de chaque auteur des originaux, y compris le vôtre si vous avez modifié l’œuvre ;
+ 3. indiquer au destinataire où il pourrait avoir accès aux originaux (initiaux et/ou conséquents).
+
+Les auteurs des originaux pourront, s’ils le souhaitent, vous autoriser à diffuser l’original dans les mêmes conditions que les copies.
+
+2.3 LA LIBERTÉ DE MODIFIER.
+Vous avez la liberté de modifier les copies des originaux (initiaux et conséquents) dans le respect des conditions suivantes :
+
+ 1. celles prévues à l’article 2.2 en cas de diffusion de la copie modifiée ;
+ 2. indiquer qu’il s’agit d’une œuvre modifiée et, si possible, la nature de la modification ;
+ 3. diffuser cette œuvre conséquente avec la même licence ou avec toute licence compatible ;
+ 4. Les auteurs des originaux pourront, s’ils le souhaitent, vous autoriser à modifier l’original dans les mêmes conditions que les copies.
+
+3. DROITS CONNEXES.
+Les actes donnant lieu à des droits d’auteur ou des droits voisins ne doivent pas constituer un obstacle aux libertés conférées par cette licence. C’est pourquoi, par exemple, les interprétations doivent être soumises à la même licence ou une licence compatible. De même, l’intégration de l’œuvre à une base de données, une compilation ou une anthologie ne doit pas faire obstacle à la jouissance de l’œuvre telle que définie par cette licence.
+
+4. L’ INTÉGRATION DE L’ŒUVRE.
+Toute intégration de cette œuvre à un ensemble non soumis à la LAL doit assurer l’exercice des libertés conférées par cette licence.
+Si l’œuvre n’est plus accessible indépendamment de l’ensemble, alors l’intégration n’est possible qu’à condition que l’ensemble soit soumis à la LAL ou une licence compatible.
+
+5. CRITÈRES DE COMPATIBILITÉ.
+Une licence est compatible avec la LAL si et seulement si :
+
+ 1. elle accorde l’autorisation de copier, diffuser et modifier des copies de l’œuvre, y compris à des fins lucratives, et sans autres restrictions que celles qu’impose le respect des autres critères de compatibilité ;
+ 2. elle garantit la paternité de l’œuvre et l’accès aux versions antérieures de l’œuvre quand cet accès est possible ;
+ 3. elle reconnaît la LAL également compatible (réciprocité) ;
+ 4. elle impose que les modifications faites sur l’œuvre soient soumises à la même licence ou encore à une licence répondant aux critères de compatibilité posés par la LAL.
+
+6. VOS DROITS INTELLECTUELS.
+La LAL n’a pas pour objet de nier vos droits d’auteur sur votre contribution ni vos droits connexes. En choisissant de contribuer à l’évolution de cette œuvre commune, vous acceptez seulement d’offrir aux autres les mêmes autorisations sur votre contribution que celles qui vous ont été accordées par cette licence. Ces autorisations n’entraînent pas un dessaisissement de vos droits intellectuels.
+
+7. VOS RESPONSABILITÉS.
+La liberté de jouir de l’œuvre tel que permis par la LAL (liberté de copier, diffuser, modifier) implique pour chacun la responsabilité de ses propres faits.
+
+8. LA DURÉE DE LA LICENCE.
+Cette licence prend effet dès votre acceptation de ses dispositions. Le fait de copier, de diffuser, ou de modifier l’œuvre constitue une acceptation tacite.
+Cette licence a pour durée la durée des droits d’auteur attachés à l’œuvre. Si vous ne respectez pas les termes de cette licence, vous perdez automatiquement les droits qu’elle vous confère. Si le régime juridique auquel vous êtes soumis ne vous permet pas de respecter les termes de cette licence, vous ne pouvez pas vous prévaloir des libertés qu’elle confère.
+
+9. LES DIFFÉRENTES VERSIONS DE LA LICENCE.
+Cette licence pourra être modifiée régulièrement, en vue de son amélioration, par ses auteurs (les acteurs du mouvement Copyleft Attitude) sous la forme de nouvelles versions numérotées.
+Vous avez toujours le choix entre vous contenter des dispositions contenues dans la version de la LAL sous laquelle la copie vous a été communiquée ou alors, vous prévaloir des dispositions d’une des versions ultérieures.
+
+10. LES SOUS-LICENCES.
+Les sous-licences ne sont pas autorisées par la présente. Toute personne qui souhaite bénéficier des libertés qu’elle confère sera liée directement aux auteurs de l’œuvre commune.
+
+11. LE CONTEXTE JURIDIQUE.
+Cette licence est rédigée en référence au droit français et à la Convention de Berne relative au droit d’auteur.
diff --git a/poky/meta/files/common-licenses/LGPLLR b/poky/meta/files/common-licenses/LGPLLR
new file mode 100644
index 000000000..73d8040e9
--- /dev/null
+++ b/poky/meta/files/common-licenses/LGPLLR
@@ -0,0 +1,89 @@
+Lesser General Public License For Linguistic Resources
+
+Preamble
+
+The licenses for most data are designed to take away your freedom to share and change it. By contrast, this License is intended to guarantee your freedom to share and change free data--to make sure the data are free for all their users.
+
+This License, the Lesser General Public License for Linguistic Resources, applies to some specially designated linguistic resources -- typically lexicons and grammars.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License Agreement applies to any Linguistic Resource which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License for Linguistic Resources (also called "this License"). Each licensee is addressed as "you".
+
+A "linguistic resource" means a collection of data about language prepared so as to be used with application programs.
+
+The "Linguistic Resource", below, refers to any such work which has been distributed under these terms. A "work based on the Linguistic Resource" means either the Linguistic Resource or any derivative work under copyright law: that is to say, a work containing the Linguistic Resource or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
+
+"Legible form" for a linguistic resource means the preferred form of the resource for making modifications to it.
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Linguistic Resource is not restricted, and output from such a program is covered only if its contents constitute a work based on the Linguistic Resource (independent of the use of the Linguistic Resource in a tool for writing it). Whether that is true depends on what the program that uses the Linguistic Resource does.
+
+1. You may copy and distribute verbatim copies of the Linguistic Resource as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Linguistic Resource.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Linguistic Resource or any portion of it, thus forming a work based on the Linguistic Resource, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a linguistic resource.
+
+ b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Linguistic Resource, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Linguistic Resource, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Linguistic Resource.
+
+In addition, mere aggregation of another work not based on the Linguistic Resource with the Linguistic Resource (or with a work based on the Linguistic Resource) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. A program that contains no derivative of any portion of the Linguistic Resource, but is designed to work with the Linguistic Resource (or an encrypted form of the Linguistic Resource) by reading it or being compiled or linked with it, is called a "work that uses the Linguistic Resource". Such a work, in isolation, is not a derivative work of the Linguistic Resource, and therefore falls outside the scope of this License.
+
+However, combining a "work that uses the Linguistic Resource" with the Linguistic Resource (or an encrypted form of the Linguistic Resource) creates a package that is a derivative of the Linguistic Resource (because it contains portions of the Linguistic Resource), rather than a "work that uses the Linguistic Resource". If the package is a derivative of the Linguistic Resource, you may distribute the package under the terms of Section 4. Any works containing that package also fall under Section 4.
+
+4. As an exception to the Sections above, you may also combine a "work that uses the Linguistic Resource" with the Linguistic Resource (or an encrypted form of the Linguistic Resource) to produce a package containing portions of the Linguistic Resource, and distribute that package under terms of your choice, provided that the terms permit modification of the package for the customer's own use and reverse engineering for debugging such modifications.
+
+You must give prominent notice with each copy of the package that the Linguistic Resource is used in it and that the Linguistic Resource and its use are covered by this License. You must supply a copy of this License. If the package during execution displays copyright notices, you must include the copyright notice for the Linguistic Resource among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
+
+ a) Accompany the package with the complete corresponding machine-readable legible form of the Linguistic Resource including whatever changes were used in the package (which must be distributed under Sections 1 and 2 above); and, if the package contains an encrypted form of the Linguistic Resource, with the complete machine-readable "work that uses the Linguistic Resource", as object code and/or source code, so that the user can modify the Linguistic Resource and then encrypt it to produce a modified package containing the modified Linguistic Resource.
+
+ b) Use a suitable mechanism for combining with the Linguistic Resource. A suitable mechanism is one that will operate properly with a modified version of the Linguistic Resource, if the user installs one, as long as the modified version is interface-compatible with the version that the package was made with.
+
+ c) Accompany the package with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 4a, above, for a charge no more than the cost of performing this distribution.
+
+ d) If distribution of the package is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
+
+If the package includes an encrypted form of the Linguistic Resource, the required form of the "work that uses the Linguistic Resource" must include any data and utility programs needed for reproducing the package from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+It may happen that this requirement contradicts the license restrictions of proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Linguistic Resource together in a package that you distribute.
+
+5. You may not copy, modify, sublicense, link with, or distribute the Linguistic Resource except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Linguistic Resource is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+6. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Linguistic Resource or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Linguistic Resource (or any work based on the Linguistic Resource), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Linguistic Resource or works based on it.
+
+7. Each time you redistribute the Linguistic Resource (or any work based on the Linguistic Resource), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Linguistic Resource subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.
+
+8. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Linguistic Resource at all. For example, if a patent license would not permit royalty-free redistribution of the Linguistic Resource by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Linguistic Resource.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free resource distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of data distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute resources through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+9. If the distribution and/or use of the Linguistic Resource is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Linguistic Resource under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+10. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License for Linguistic Resources from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Linguistic Resource specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Linguistic Resource does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
+
+11. If you wish to incorporate parts of the Linguistic Resource into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission.
+
+ NO WARRANTY
+
+12. BECAUSE THE LINGUISTIC RESOURCE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LINGUISTIC RESOURCE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LINGUISTIC RESOURCE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LINGUISTIC RESOURCE IS WITH YOU. SHOULD THE LINGUISTIC RESOURCE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LINGUISTIC RESOURCE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LINGUISTIC RESOURCE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LINGUISTIC RESOURCE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
diff --git a/poky/meta/files/common-licenses/LPL-1.0 b/poky/meta/files/common-licenses/LPL-1.0
new file mode 100644
index 000000000..8546bc2a2
--- /dev/null
+++ b/poky/meta/files/common-licenses/LPL-1.0
@@ -0,0 +1,81 @@
+Lucent Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a. in the case of <ORGANIZATION> ("<OWNER>"), the Original Program, and
+ b. in the case of each Contributor,
+
+ i. changes to the Program, and
+ ii. additions to the Program; where such changes and/or additions to the Program originate from and are "Contributed" by that particular Contributor.
+
+ A Contribution is "Contributed" by a Contributor only (i) if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf, and (ii) the Contributor explicitly consents, in accordance with Section 3C, to characterization of the changes and/or additions as Contributions. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means <OWNER> and any other entity that has Contributed a Contribution to the Program.
+
+"Distributor" means a Recipient that distributes the Program, modifications to the Program, or any part thereof.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Original Program" means the original version of the software accompanying this Agreement as released by <OWNER>, including source code, object code and documentation, if any.
+
+"Program" means the Original Program and Contributions or any part thereof
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+ a. Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+ b. Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. The patent license granted by a Contributor shall also apply to the combination of the Contribution of that Contributor and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license granted by a Contributor shall not apply to (i) any other combinations which include the Contribution, nor to (ii) Contributions of other Contributors. No hardware per se is licensed hereunder.
+
+ c. Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+ d. Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+ A. Distributor may choose to distribute the Program in any form under this Agreement or under its own license agreement, provided that:
+
+ 1. it complies with the terms and conditions of this Agreement;
+ 2. if the Program is distributed in source code or other tangible form, a copy of this Agreement or Distributor's own license agreement is included with each copy of the Program; and
+ 3. if distributed under Distributor's own license agreement, such license agreement:
+
+ a. effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+ b. effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; and
+ c. states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party.
+
+ B. Each Distributor must include the following in a conspicuous location in the Program:
+
+ Copyright (C) <YEAR>, <ORGANIZATION> and others. All Rights Reserved.
+
+ C. In addition, each Contributor must identify itself as the originator of its Contribution, if any, and indicate its consent to characterization of its additions and/or changes as a Contribution, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. Once consent is granted, it may not thereafter be revoked.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Distributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for Contributors. Therefore, if a Distributor includes the Program in a commercial product offering, such Distributor ("Commercial Distributor") hereby agrees to defend and indemnify every Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Distributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Distributor in writing of such claim, and b) allow the Commercial Distributor to control, and cooperate with the Commercial Distributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Distributor might include the Program in a commercial product offering, Product X. That Distributor is then a Commercial Distributor. If that Commercial Distributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Distributor's responsibility alone. Under this section, the Commercial Distributor would have to defend claims against the Contributors related to those performance claims and warranties, and if a court requires any Contributor to pay any damages as a result, the Commercial Distributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+<OWNER> may publish new versions (including revisions) of this Agreement from time to time. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. No one other than <OWNER> has the right to modify this Agreement. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of <STATE> and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
diff --git a/poky/meta/files/common-licenses/LPPL-1.3a b/poky/meta/files/common-licenses/LPPL-1.3a
new file mode 100644
index 000000000..b159f90fd
--- /dev/null
+++ b/poky/meta/files/common-licenses/LPPL-1.3a
@@ -0,0 +1,175 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3a 2004-10-01
+
+Copyright 1999 2002-04 LaTeX3
+Project Everyone is allowed to distribute verbatim copies of this license document, but modification of it is not allowed.
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under which the the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright and which you wish to distribute. This license may be particularly suitable if your work is TeX-related (such as a LaTeX package), but you may use it with small modifications even if your work is unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', below, gives instructions, examples, and recommendations for authors who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed and modified, as well as conditions under which modified versions of that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you the freedom to make and distribute modified versions of your work that conform with whatever technical specifications you wish while maintaining the availability, integrity, and reliability of that work. If you do not see how to achieve your goal while meeting these conditions, then read the document `cfgguide.tex' and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+`Work' Any work being distributed under this License. `Derived Work' Any work that under any applicable law is derived from the Work.
+
+`Modification' Any procedure that produces a Derived Work under any applicable law -- for example, the production of a file containing an original file associated with the Work or a significant portion of such a file, either verbatim or with modifications and/or translated into another language.
+
+`Modify' To apply any procedure that produces a Derived Work under any applicable law. `Distribution' Making copies of the Work available from one person to another, in whole or in part. Distribution includes (but is not limited to) making any electronic components of the Work accessible by file transfer protocols such as FTP or HTTP or by shared file systems such as Sun's Network File System (NFS).
+
+`Compiled Work' A version of the Work that has been processed into a form where it is directly usable on a computer system. This processing may include using installation facilities provided by the Work, transformations of the Work, copying of components of the Work, or other activities. Note that modification of any installation facilities provided by the Work constitutes modification of the Work.
+
+`Current Maintainer' A person or persons nominated as such within the Work. If there is no such explicit nomination then it is the `Copyright Holder' under any applicable law.
+
+`Base Interpreter' A program or process that is normally needed for running or interpreting a part or the whole of the Work. A Base Interpreter may depend on external components but these are not considered part of the Base Interpreter provided that each external component clearly identifies itself whenever it is used interactively. Unless explicitly specified when applying the license to the Work, the only applicable Base Interpreter is a "LaTeX-Format".
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work are not covered by this license; they are outside its scope. In particular, the act of running the Work is not restricted and no requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you received it. Distribution of only part of the Work is considered modification of the Work, and no right to distribute such a Derived Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a complete, unmodified copy of the Work as distributed under Clause 2 above, as long as that Compiled Work is distributed in such a way that the recipients may install the Compiled Work on their system exactly as it would have been installed if they generated a Compiled Work directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without restriction, modify the Work, thus creating a Derived Work. You may also distribute the Derived Work without restriction, including Compiled Works generated from the Derived Work. Derived Works distributed in this manner by the Current Maintainer are considered to be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify your copy of the Work, thus creating a Derived Work based on the Work, and compile this Derived Work, thus creating a Compiled Work based on the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may distribute a Derived Work provided the following conditions are met for every component of the Work unless that component clearly states in the copyright notice that it is exempt from that condition. Only the Current Maintainer is allowed to add such statements of exemption to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement for a component of the Work when that component is used with the Base Interpreter, then, wherever this component of the Work identifies itself to the user when used interactively with that Base Interpreter, the replacement component of this Derived Work clearly and unambiguously identifies itself as a modified version of this component to the user when used interactively with that Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices detailing the nature of the changes to that component, or a prominent reference to another file that is distributed as part of the Derived Work and that contains a complete and accurate log of the changes.
+
+ c. No information in the Derived Work implies that any persons, including (but not limited to) the authors of the original version of the Work, provide any support, including (but not limited to) the reporting and handling of errors, to recipients of the Derived Work unless those persons have stated explicitly that they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work; if your distribution of a modified component is made by offering access to copy the modified component from a designated place, then offering equivalent access to copy the Work from the same or some similar place meets this condition, even though third parties are not compelled to copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete, unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may distribute a Compiled Work generated from a Derived Work, as long as the Derived Work is distributed to all recipients of the Compiled Work, and as long as the conditions of Clause 6, above, are met with regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not apply to, the modification, by any method, of any component so that it becomes identical to an updated version of that component of the Work as it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative format, where the Work or that Derived Work (in whole or in part) is then produced by applying some process to that format, does not relax or nullify any sections of this license as they pertain to the results of applying that process.
+
+10.
+ a. A Derived Work may be distributed under a different license provided that license itself honors the conditions listed in Clause 6 above, in regard to the Work, though it does not have to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under this license, that Derived Work must provide sufficient documentation as part of itself to allow each recipient of that Derived Work to honor the restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to the Work, nor does this license place any restrictions on aggregating such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent complete compliance by all parties with all applicable laws.
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in writing, the Copyright Holder provides the Work `as is', without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the Work is with you. Should the Work prove defective, you assume the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing will The Copyright Holder, or any author named in the components of the Work, or any other party who may distribute and/or modify the Work as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of any use of the Work or out of inability to use the Work (including, but not limited to, loss of data, data being rendered inaccurate, or losses sustained by anyone as a result of any failure of the Work to operate with any other programs), even if the Copyright Holder or said author or said other party has been advised of the possibility of such damages.
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder explicitly and prominently states near the primary copyright notice in the Work that the Work can only be maintained by the Copyright Holder or simply that is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer who has indicated in the Work that they are willing to receive error reports for the Work (for example, by supplying a valid e-mail address). It is not required for the Current Maintainer to acknowledge or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there is no Current Maintainer, or the person stated to be Current Maintainer of the work cannot be reached through the indicated means of communication for a period of six months, and there are no other significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and the Copyright Holder, if the two differ) through the means of an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active maintenance is taken by the Current Maintainer, then announce within the pertinent community your intention to take over maintenance. (If the Work is a LaTeX work, this could be done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass maintenance of the Work to you, then this takes effect immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright Holder agrees that maintenance of the Work be passed to you, then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above and after three months your intention is challenged neither by the Current Maintainer nor by the Copyright Holder nor by other people, then you may arrange for the Work to be changed so as to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes reachable once more within three months of a change completed under the terms of 3b) or 4), then that Current Maintainer must become or remain the Current Maintainer upon request provided they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should immediately provide, within the Work, a prominent and unambiguous statement of your status as Current Maintainer. You should also announce your new status to the same pertinent community as in 2b) above.
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and recommendations for authors who are considering distributing their works under this license. These authors are addressed as `you' in this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution* conditions that differ significantly from those in this license, then do not refer to this license anywhere in your work but, instead, distribute your work under a different license. You may use the text of this license as a model for your own license, but your license should not refer to the LPPL or otherwise give the impression that your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains the motivation behind the conditions of this license. It explains, for example, why distributing LaTeX under the GNU General Public License (GPL) was considered inappropriate. Even if your work is unrelated to LaTeX, the discussion in `modguide.tex' may still be relevant, and authors intending to distribute their works under any license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own personal use, without also meeting the above conditions for distributing the modified component. While you might intend that such modifications will never be distributed, often this will happen by accident -- you may forget that you have modified that component; or it may not occur to you when allowing others to access the modified version that you are thus distributing it and violating the conditions of this license in ways that could have legal implications and, worse, cause problems for the community. It is therefore usually in your best interest to keep your copy of the Work identical with the public one. Many works provide ways to control the behavior of that work without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both an explicit copyright notice including your name and the year the work was authored and/or last substantially modified. Include also a statement that the distribution and/or modification of that component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2003 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2003/12/01 or later.
+ %
+ % This work has the LPPL maintenance status "maintained".
+ %
+ % This Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions given in this license document would apply, with the `Work' referring to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' referring to any "LaTeX-Format", and both `Copyright Holder' and `Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your Work, change "maintained" above into "author-maintained". However, we recommend that you use "maintained" as the Maintenance section was added in order to ensure that your Work remains useful to the community even when you can no longer maintain and support it yourself.
+
+Important Recommendations
+-------------------------
+
+Defining What Constitutes the Work
+
+The LPPL requires that distributions of the Work contain all the files of the Work. It is therefore important that you provide a way for the licensee to determine which files constitute the Work. This could, for example, be achieved by explicitly listing all the files of the Work near the copyright notice of each file or by using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+in that place. In the absence of an unequivocal list it might be impossible for the licensee to determine what is considered by you to comprise the Work and, in such a case, the licensee would be entitled to make reasonable conjectures as to which files comprise the Work.
diff --git a/poky/meta/files/common-licenses/Latex2e b/poky/meta/files/common-licenses/Latex2e
new file mode 100644
index 000000000..2ce86bed0
--- /dev/null
+++ b/poky/meta/files/common-licenses/Latex2e
@@ -0,0 +1,9 @@
+Copyright (C) 2007, 2008, 2009, 2010 Karl Berry.
+Copyright (C) 1988, 1994, 2007 Stephen Gilmore.
+Copyright (C) 1994, 1995, 1996 Torsten Martinsen.
+
+Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
diff --git a/poky/meta/files/common-licenses/Leptonica b/poky/meta/files/common-licenses/Leptonica
new file mode 100644
index 000000000..9bc67e6ca
--- /dev/null
+++ b/poky/meta/files/common-licenses/Leptonica
@@ -0,0 +1,9 @@
+Copyright (C) 2001 Leptonica. All rights reserved.
+
+This software is distributed in the hope that it will be useful, but with NO WARRANTY OF ANY KIND.
+
+No author or distributor accepts responsibility to anyone for the consequences of using this software, or for whether it serves any particular purpose or works at all, unless he or she says so in writing. Everyone is granted permission to copy, modify and redistribute this source code, for commercial or non-commercial purposes, with the following restrictions:
+
+(1) the origin of this source code must not be misrepresented;
+(2) modified versions must be plainly marked as such; and
+(3) this notice may not be removed or altered from any source or modified source distribution.
diff --git a/poky/meta/files/common-licenses/LiLiQ-P-1.1 b/poky/meta/files/common-licenses/LiLiQ-P-1.1
new file mode 100644
index 000000000..594cc742e
--- /dev/null
+++ b/poky/meta/files/common-licenses/LiLiQ-P-1.1
@@ -0,0 +1,70 @@
+Licence Libre du Québec – Permissive (LiLiQ-P)
+
+Version 1.1
+
+1. Préambule
+Cette licence s'applique à tout logiciel distribué dont le titulaire du droit d'auteur précise qu'il est sujet aux termes de la Licence Libre du Québec – Permissive (LiLiQ-P) (ci-après appelée la « licence »).
+
+2. Définitions
+Dans la présente licence, à moins que le contexte n'indique un sens différent, on entend par:
+
+ « concédant » : le titulaire du droit d'auteur sur le logiciel, ou toute personne dûment autorisée par ce dernier à accorder la présente licence;
+ « contributeur » : le titulaire du droit d'auteur ou toute personne autorisée par ce dernier à soumettre au concédant une contribution. Un contributeur dont sa contribution est incorporée au logiciel est considéré comme un concédant en regard de sa contribution;
+ « contribution » : tout logiciel original, ou partie de logiciel original soumis et destiné à être incorporé dans le logiciel;
+ « distribution » : le fait de délivrer une copie du logiciel;
+ « licencié » : toute personne qui possède une copie du logiciel et qui exerce les droits concédés par la licence;
+ « logiciel » : une œuvre protégée par le droit d'auteur, telle qu'un programme d'ordinateur et sa documentation, pour laquelle le titulaire du droit d'auteur a précisé qu'elle est sujette aux termes de la présente licence;
+ « logiciel dérivé » : tout logiciel original réalisé par un licencié, autre que le logiciel ou un logiciel modifié, qui produit ou reproduit la totalité ou une partie importante du logiciel;
+ « logiciel modifié » : toute modification par un licencié de l'un des fichiers source du logiciel ou encore tout nouveau fichier source qui incorpore le logiciel ou une partie importante de ce dernier.
+
+3. Licence de droit d'auteur
+Sous réserve des termes de la licence, le concédant accorde au licencié une licence non exclusive et libre de redevances lui permettant d’exercer les droits suivants sur le logiciel :
+
+ 1 Produire ou reproduire la totalité ou une partie importante;
+ 2 Exécuter ou représenter la totalité ou une partie importante en public;
+ 3 Publier la totalité ou une partie importante;
+ 4 Sous-licencier sous une autre licence libre, approuvée ou certifiée par la Free Software Foundation ou l'Open Source Initiative.
+
+Cette licence est accordée sans limite territoriale et sans limite de temps.
+
+L'exercice complet de ces droits est sujet à la distribution par le concédant du code source du logiciel, lequel doit être sous une forme permettant d'y apporter des modifications. Le concédant peut aussi distribuer le logiciel accompagné d'une offre de distribuer le code source du logiciel, sans frais supplémentaires, autres que ceux raisonnables afin de permettre la livraison du code source. Cette offre doit être valide pendant une durée raisonnable.
+
+4. Distribution
+Le licencié peut distribuer des copies du logiciel, d'un logiciel modifié ou dérivé, sous réserve de respecter les conditions suivantes :
+
+ 1 Le logiciel doit être accompagné d'un exemplaire de cette licence;
+ 2 Si le logiciel a été modifié, le licencié doit en faire la mention, de préférence dans chacun des fichiers modifiés dont la nature permet une telle mention;
+ 3 Les étiquettes ou mentions faisant état des droits d'auteur, des marques de commerce, des garanties ou de la paternité concernant le logiciel ne doivent pas être modifiées ou supprimées, à moins que ces étiquettes ou mentions ne soient inapplicables à un logiciel modifié ou dérivé donné.
+
+5. Contributions
+Sous réserve d'une entente distincte, toute contribution soumise par un contributeur au concédant pour inclusion dans le logiciel sera soumise aux termes de cette licence.
+
+6. Marques de commerce
+La licence n'accorde aucune permission particulière qui permettrait d'utiliser les marques de commerce du concédant, autre que celle requise permettant d'identifier la provenance du logiciel.
+
+7. Garanties
+Sauf mention contraire, le concédant distribue le logiciel sans aucune garantie, aux risques et périls de l'acquéreur de la copie du logiciel, et ce, sans assurer que le logiciel puisse répondre à un besoin particulier ou puisse donner un résultat quelconque.
+
+Sans lier le concédant d'une quelconque manière, rien n'empêche un licencié d'offrir ou d'exclure des garanties ou du support.
+
+8. Responsabilité
+Le licencié est responsable de tout préjudice résultant de l'exercice des droits accordés par la licence.
+
+Le concédant ne saurait être tenu responsable de dommages subis par le licencié ou par des tiers, pour quelque cause que ce soit en lien avec la licence et les droits qui y sont accordés.
+
+9. Résiliation
+La présente licence est automatiquement résiliée dès que les droits qui y sont accordés ne sont pas exercés conformément aux termes qui y sont stipulés.
+
+Toutefois, si le défaut est corrigé dans un délai de 30 jours de sa prise de connaissance par la personne en défaut, et qu'il s'agit du premier défaut, la licence est accordée de nouveau.
+
+Pour tout défaut subséquent, le consentement exprès du concédant est nécessaire afin que la licence soit accordée de nouveau.
+
+10. Version de la licence
+Le Centre de services partagés du Québec, ses ayants cause ou toute personne qu'il désigne, peuvent diffuser des versions révisées ou modifiées de cette licence. Chaque version recevra un numéro unique. Si un logiciel est déjà soumis aux termes d'une version spécifique, c'est seulement cette version qui liera les parties à la licence.
+
+Le concédant peut aussi choisir de concéder la licence sous la version actuelle ou toute version ultérieure, auquel cas le licencié peut choisir sous quelle version la licence lui est accordée.
+
+11. Divers
+Dans la mesure où le concédant est un ministère, un organisme public ou une personne morale de droit public, créés en vertu d'une loi de l'Assemblée nationale du Québec, la licence est régie par le droit applicable au Québec et en cas de contestation, les tribunaux du Québec seront seuls compétents.
+
+La présente licence peut être distribuée sans conditions particulières. Toutefois, une version modifiée doit être distribuée sous un nom différent. Toute référence au Centre de services partagés du Québec, et, le cas échéant, ses ayant cause, doit être retirée, autre que celle permettant d'identifier la provenance de la licence.
diff --git a/poky/meta/files/common-licenses/LiLiQ-R-1.1 b/poky/meta/files/common-licenses/LiLiQ-R-1.1
new file mode 100644
index 000000000..449febd59
--- /dev/null
+++ b/poky/meta/files/common-licenses/LiLiQ-R-1.1
@@ -0,0 +1,94 @@
+Licence Libre du Québec – Réciprocité (LiLiQ-R)
+
+Version 1.1
+
+1. Préambule
+Cette licence s'applique à tout logiciel distribué dont le titulaire du droit d'auteur précise qu'il est sujet aux termes de la Licence Libre du Québec – Réciprocité (LiLiQ-R) (ci-après appelée la « licence »).
+
+2. Définitions
+Dans la présente licence, à moins que le contexte n'indique un sens différent, on entend par:
+
+ « concédant » : le titulaire du droit d'auteur sur le logiciel, ou toute personne dûment autorisée par ce dernier à accorder la présente licence;
+ « contributeur » : le titulaire du droit d'auteur ou toute personne autorisée par ce dernier à soumettre au concédant une contribution. Un contributeur dont sa contribution est incorporée au logiciel est considéré comme un concédant en regard de sa contribution;
+ « contribution » : tout logiciel original, ou partie de logiciel original soumis et destiné à être incorporé dans le logiciel;
+ « distribution » : le fait de délivrer une copie du logiciel;
+ « licencié » : toute personne qui possède une copie du logiciel et qui exerce les droits concédés par la licence;
+ « logiciel » : une œuvre protégée par le droit d'auteur, telle qu'un programme d'ordinateur et sa documentation, pour laquelle le titulaire du droit d'auteur a précisé qu'elle est sujette aux termes de la présente licence;
+ « logiciel dérivé » : tout logiciel original réalisé par un licencié, autre que le logiciel ou un logiciel modifié, qui produit ou reproduit la totalité ou une partie importante du logiciel;
+ « logiciel modifié » : toute modification par un licencié de l'un des fichiers source du logiciel ou encore tout nouveau fichier source qui incorpore le logiciel ou une partie importante de ce dernier.
+
+3. Licence de droit d'auteur
+Sous réserve des termes de la licence, le concédant accorde au licencié une licence non exclusive et libre de redevances lui permettant d’exercer les droits suivants sur le logiciel :
+
+ 1 Produire ou reproduire la totalité ou une partie importante;
+ 2 Exécuter ou représenter la totalité ou une partie importante en public;
+ 3 Publier la totalité ou une partie importante.
+
+Cette licence est accordée sans limite territoriale et sans limite de temps.
+
+L'exercice complet de ces droits est sujet à la distribution par le concédant du code source du logiciel, lequel doit être sous une forme permettant d'y apporter des modifications. Le concédant peut aussi distribuer le logiciel accompagné d'une offre de distribuer le code source du logiciel, sans frais supplémentaires, autres que ceux raisonnables afin de permettre la livraison du code source. Cette offre doit être valide pendant une durée raisonnable.
+
+4. Distribution
+Le licencié peut distribuer des copies du logiciel, d'un logiciel modifié ou dérivé, sous réserve de respecter les conditions suivantes :
+
+ 1 Le logiciel doit être accompagné d'un exemplaire de cette licence;
+ 2 Si le logiciel a été modifié, le licencié doit en faire la mention, de préférence dans chacun des fichiers modifiés dont la nature permet une telle mention;
+ 3 Les étiquettes ou mentions faisant état des droits d'auteur, des marques de commerce, des garanties ou de la paternité concernant le logiciel ne doivent pas être modifiées ou supprimées, à moins que ces étiquettes ou mentions ne soient inapplicables à un logiciel modifié ou dérivé donné.
+
+4.1. Réciprocité
+Chaque fois que le licencié distribue le logiciel, le concédant offre au récipiendaire une concession sur le logiciel selon les termes de la présente licence. Le licencié doit offrir une concession selon les termes de la présente licence pour tout logiciel modifié qu'il distribue.
+
+Chaque fois que le licencié distribue le logiciel ou un logiciel modifié, ce dernier doit assumer l'obligation d'en distribuer le code source, de la manière prévue au troisième alinéa de l'article 3.
+
+4.2. Compatibilité
+Dans la mesure où le licencié souhaite distribuer un logiciel modifié combiné à un logiciel assujetti à une licence compatible, mais dont il ne serait pas possible d'en respecter les termes, le concédant offre, en plus de la présente concession, une concession selon les termes de cette licence compatible.
+
+Un licencié qui est titulaire exclusif du droit d'auteur sur le logiciel assujetti à une licence compatible ne peut pas se prévaloir de cette offre. Il en est de même pour toute autre personne dûment autorisée à sous-licencier par le titulaire exclusif du droit d'auteur sur le logiciel assujetti à une licence compatible.
+
+Est considérée comme une licence compatible toute licence libre approuvée ou certifiée par la Free Software Foundation ou l'Open Source Initiative, dont le niveau de réciprocité est comparable ou supérieur à celui de la présente licence, sans toutefois être moindre, notamment :
+
+ 1 Common Development and Distribution License (CDDL-1.0)
+ 2 Common Public License Version 1.0 (CPL-1.0)
+ 3 Contrat de licence de logiciel libre CeCILL, version 2.1 (CECILL-2.1)
+ 4 Contrat de licence de logiciel libre CeCILL-C (CECILL-C)
+ 5 Eclipse Public License - v 1.0 (EPL-1.0)
+ 6 European Union Public License, version 1.1 (EUPL v. 1.1)
+ 7 Licence Libre du Québec – Réciprocité forte version 1.1 (LiLiQ-R+ 1.1)
+ 8 GNU General Public License Version 2 (GNU GPLv2)
+ 9 GNU General Public License Version 3 (GNU GPLv3)
+ 10 GNU Lesser General Public License Version 2.1 (GNU LGPLv2.1)
+ 11 GNU Lesser General Public License Version 3 (GNU LGPLv3)
+ 12 Mozilla Public License Version 2.0 (MPL-2.0)
+
+5. Contributions
+Sous réserve d'une entente distincte, toute contribution soumise par un contributeur au concédant pour inclusion dans le logiciel sera soumise aux termes de cette licence.
+
+6. Marques de commerce
+La licence n'accorde aucune permission particulière qui permettrait d'utiliser les marques de commerce du concédant, autre que celle requise permettant d'identifier la provenance du logiciel.
+
+7. Garanties
+Sauf mention contraire, le concédant distribue le logiciel sans aucune garantie, aux risques et périls de l'acquéreur de la copie du logiciel, et ce, sans assurer que le logiciel puisse répondre à un besoin particulier ou puisse donner un résultat quelconque.
+
+Sans lier le concédant d'une quelconque manière, rien n'empêche un licencié d'offrir ou d'exclure des garanties ou du support.
+
+8. Responsabilité
+Le licencié est responsable de tout préjudice résultant de l'exercice des droits accordés par la licence.
+
+Le concédant ne saurait être tenu responsable du préjudice subi par le licencié ou par des tiers, pour quelque cause que ce soit en lien avec la licence et les droits qui y sont accordés.
+
+9. Résiliation
+La présente licence est résiliée de plein droit dès que les droits qui y sont accordés ne sont pas exercés conformément aux termes qui y sont stipulés.
+
+Toutefois, si le défaut est corrigé dans un délai de 30 jours de sa prise de connaissance par la personne en défaut, et qu'il s'agit du premier défaut, la licence est accordée de nouveau.
+
+Pour tout défaut subséquent, le consentement exprès du concédant est nécessaire afin que la licence soit accordée de nouveau.
+
+10. Version de la licence
+Le Centre de services partagés du Québec, ses ayants cause ou toute personne qu'il désigne, peuvent diffuser des versions révisées ou modifiées de cette licence. Chaque version recevra un numéro unique. Si un logiciel est déjà soumis aux termes d'une version spécifique, c'est seulement cette version qui liera les parties à la licence.
+
+Le concédant peut aussi choisir de concéder la licence sous la version actuelle ou toute version ultérieure, auquel cas le licencié peut choisir sous quelle version la licence lui est accordée.
+
+11. Divers
+Dans la mesure où le concédant est un ministère, un organisme public ou une personne morale de droit public, créés en vertu d'une loi de l'Assemblée nationale du Québec, la licence est régie par le droit applicable au Québec et en cas de contestation, les tribunaux du Québec seront seuls compétents.
+
+La présente licence peut être distribuée sans conditions particulières. Toutefois, une version modifiée doit être distribuée sous un nom différent. Toute référence au Centre de services partagés du Québec, et, le cas échéant, ses ayant droit, doit être retirée, autre que celle permettant d'identifier la provenance de la licence.
diff --git a/poky/meta/files/common-licenses/LiLiQ-Rplus-1.1 b/poky/meta/files/common-licenses/LiLiQ-Rplus-1.1
new file mode 100644
index 000000000..58566cb1b
--- /dev/null
+++ b/poky/meta/files/common-licenses/LiLiQ-Rplus-1.1
@@ -0,0 +1,88 @@
+Licence Libre du Québec – Réciprocité forte (LiLiQ-R+)
+
+Version 1.1
+
+1. Préambule
+Cette licence s'applique à tout logiciel distribué dont le titulaire du droit d'auteur précise qu'il est sujet aux termes de la Licence Libre du Québec – Réciprocité forte (LiLiQ-R+) (ci-après appelée la « licence »).
+
+2. Définitions
+Dans la présente licence, à moins que le contexte n'indique un sens différent, on entend par:
+
+ « concédant » : le titulaire du droit d'auteur sur le logiciel, ou toute personne dûment autorisée par ce dernier à accorder la présente licence;
+ « contributeur » : le titulaire du droit d'auteur ou toute personne autorisée par ce dernier à soumettre au concédant une contribution. Un contributeur dont sa contribution est incorporée au logiciel est considéré comme un concédant en regard de sa contribution;
+ « contribution » : tout logiciel original, ou partie de logiciel original soumis et destiné à être incorporé dans le logiciel;
+ « distribution » : le fait de délivrer une copie du logiciel;
+ « licencié » : toute personne qui possède une copie du logiciel et qui exerce les droits concédés par la licence;
+ « logiciel » : une œuvre protégée par le droit d'auteur, telle qu'un programme d'ordinateur et sa documentation, pour laquelle le titulaire du droit d'auteur a précisé qu'elle est sujette aux termes de la présente licence;
+ « logiciel dérivé » : tout logiciel original réalisé par un licencié, autre que le logiciel ou un logiciel modifié, qui produit ou reproduit la totalité ou une partie importante du logiciel;
+ « logiciel modifié » : toute modification par un licencié de l'un des fichiers source du logiciel ou encore tout nouveau fichier source qui incorpore le logiciel ou une partie importante de ce dernier.
+
+3. Licence de droit d'auteur
+Sous réserve des termes de la licence, le concédant accorde au licencié une licence non exclusive et libre de redevances lui permettant d’exercer les droits suivants sur le logiciel :
+
+ 1 Produire ou reproduire la totalité ou une partie importante;
+ 2 Exécuter ou représenter la totalité ou une partie importante en public;
+ 3 Publier la totalité ou une partie importante.
+
+Cette licence est accordée sans limite territoriale et sans limite de temps.
+
+L'exercice complet de ces droits est sujet à la distribution par le concédant du code source du logiciel, lequel doit être sous une forme permettant d'y apporter des modifications. Le concédant peut aussi distribuer le logiciel accompagné d'une offre de distribuer le code source du logiciel, sans frais supplémentaires, autres que ceux raisonnables afin de permettre la livraison du code source. Cette offre doit être valide pendant une durée raisonnable.
+
+4. Distribution
+Le licencié peut distribuer des copies du logiciel, d'un logiciel modifié ou dérivé, sous réserve de respecter les conditions suivantes :
+
+ 1 Le logiciel doit être accompagné d'un exemplaire de cette licence;
+ 2 Si le logiciel a été modifié, le licencié doit en faire la mention, de préférence dans chacun des fichiers modifiés dont la nature permet une telle mention;
+ 3 Les étiquettes ou mentions faisant état des droits d'auteur, des marques de commerce, des garanties ou de la paternité concernant le logiciel ne doivent pas être modifiées ou supprimées, à moins que ces étiquettes ou mentions ne soient inapplicables à un logiciel modifié ou dérivé donné.
+
+4.1. Réciprocité
+Chaque fois que le licencié distribue le logiciel, le concédant offre au récipiendaire une concession sur le logiciel selon les termes de la présente licence. Le licencié doit offrir une concession selon les termes de la présente licence pour tout logiciel modifié ou dérivé qu'il distribue.
+
+Chaque fois que le licencié distribue le logiciel, un logiciel modifié, ou un logiciel dérivé, ce dernier doit assumer l'obligation d'en distribuer le code source, de la manière prévue au troisième alinéa de l'article 3.
+
+4.2. Compatibilité
+Dans la mesure où le licencié souhaite distribuer un logiciel modifié ou dérivé combiné à un logiciel assujetti à une licence compatible, mais dont il ne serait pas possible d'en respecter les termes, le concédant offre, en plus de la présente concession, une concession selon les termes de cette licence compatible.
+
+Un licencié qui est titulaire exclusif du droit d'auteur sur le logiciel assujetti à une licence compatible ne peut pas se prévaloir de cette offre. Il en est de même pour toute autre personne dûment autorisée à sous-licencier par le titulaire exclusif du droit d'auteur sur le logiciel assujetti à une licence compatible.
+
+Est considérée comme une licence compatible toute licence libre approuvée ou certifiée par la Free Software Foundation ou l'Open Source Initiative, dont le niveau de réciprocité est comparable à celui de la présente licence, sans toutefois être moindre, notamment :
+
+ 1 Common Public License Version 1.0 (CPL-1.0)
+ 2 Contrat de licence de logiciel libre CeCILL, version 2.1 (CECILL-2.1)
+ 3 Eclipse Public License - v 1.0 (EPL-1.0)
+ 4 European Union Public License, version 1.1 (EUPL v. 1.1)
+ 5 GNU General Public License Version 2 (GNU GPLv2)
+ 6 GNU General Public License Version 3 (GNU GPLv3)
+
+5. Contributions
+Sous réserve d'une entente distincte, toute contribution soumise par un contributeur au concédant pour inclusion dans le logiciel sera soumise aux termes de cette licence.
+
+6. Marques de commerce
+La licence n'accorde aucune permission particulière qui permettrait d'utiliser les marques de commerce du concédant, autre que celle requise permettant d'identifier la provenance du logiciel.
+
+7. Garanties
+Sauf mention contraire, le concédant distribue le logiciel sans aucune garantie, aux risques et périls de l'acquéreur de la copie du logiciel, et ce, sans assurer que le logiciel puisse répondre à un besoin particulier ou puisse donner un résultat quelconque.
+
+Sans lier le concédant d'une quelconque manière, rien n'empêche un licencié d'offrir ou d'exclure des garanties ou du support.
+
+8. Responsabilité
+Le licencié est responsable de tout préjudice résultant de l'exercice des droits accordés par la licence.
+
+Le concédant ne saurait être tenu responsable du préjudice subi par le licencié ou par des tiers, pour quelque cause que ce soit en lien avec la licence et les droits qui y sont accordés.
+
+9. Résiliation
+La présente licence est résiliée de plein droit dès que les droits qui y sont accordés ne sont pas exercés conformément aux termes qui y sont stipulés.
+
+Toutefois, si le défaut est corrigé dans un délai de 30 jours de sa prise de connaissance par la personne en défaut, et qu'il s'agit du premier défaut, la licence est accordée de nouveau.
+
+Pour tout défaut subséquent, le consentement exprès du concédant est nécessaire afin que la licence soit accordée de nouveau.
+
+10. Version de la licence
+Le Centre de services partagés du Québec, ses ayants cause ou toute personne qu'il désigne, peuvent diffuser des versions révisées ou modifiées de cette licence. Chaque version recevra un numéro unique. Si un logiciel est déjà soumis aux termes d'une version spécifique, c'est seulement cette version qui liera les parties à la licence.
+
+Le concédant peut aussi choisir de concéder la licence sous la version actuelle ou toute version ultérieure, auquel cas le licencié peut choisir sous quelle version la licence lui est accordée.
+
+11. Divers
+Dans la mesure où le concédant est un ministère, un organisme public ou une personne morale de droit public, créés en vertu d'une loi de l'Assemblée nationale du Québec, la licence est régie par le droit applicable au Québec et en cas de contestation, les tribunaux du Québec seront seuls compétents.
+
+La présente licence peut être distribuée sans conditions particulières. Toutefois, une version modifiée doit être distribuée sous un nom différent. Toute référence au Centre de services partagés du Québec, et, le cas échéant, ses ayant cause, doit être retirée, autre que celle permettant d'identifier la provenance de la licence.
diff --git a/poky/meta/files/common-licenses/Linux-OpenIB b/poky/meta/files/common-licenses/Linux-OpenIB
new file mode 100644
index 000000000..03ccf61cc
--- /dev/null
+++ b/poky/meta/files/common-licenses/Linux-OpenIB
@@ -0,0 +1,18 @@
+Redistribution and use in source and binary forms, with or
+without modification, are permitted provided that the following
+conditions are met:
+
+- Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/poky/meta/files/common-licenses/MIT-0 b/poky/meta/files/common-licenses/MIT-0
new file mode 100644
index 000000000..a4e9dc906
--- /dev/null
+++ b/poky/meta/files/common-licenses/MIT-0
@@ -0,0 +1,16 @@
+MIT No Attribution
+
+Copyright <YEAR> <COPYRIGHT HOLDER>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this
+software and associated documentation files (the "Software"), to deal in the Software
+without restriction, including without limitation the rights to use, copy, modify,
+merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/poky/meta/files/common-licenses/MIT-CMU b/poky/meta/files/common-licenses/MIT-CMU
new file mode 100644
index 000000000..2b11a7b08
--- /dev/null
+++ b/poky/meta/files/common-licenses/MIT-CMU
@@ -0,0 +1,7 @@
+<copyright notice>
+
+By obtaining, using, and/or copying this software and/or its associated documentation, you agree that you have read, understood, and will comply with the following terms and conditions:
+
+Permission to use, copy, modify, and distribute this software and its associated documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies, and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of the copyright holder not be used in advertising or publicity pertaining to distribution of the software without specific, written permission.
+
+THE COPYRIGHT HOLDER DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM THE LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/poky/meta/files/common-licenses/MIT-Modern-Variant b/poky/meta/files/common-licenses/MIT-Modern-Variant
new file mode 100644
index 000000000..d5075a3c9
--- /dev/null
+++ b/poky/meta/files/common-licenses/MIT-Modern-Variant
@@ -0,0 +1,17 @@
+Permission is hereby granted, without written agreement and without
+license or royalty fees, to use, copy, modify, and distribute this
+software and its documentation for any purpose, provided that the
+above copyright notice and the following two paragraphs appear in
+all copies of this software.
+
+IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+
+THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
diff --git a/poky/meta/files/common-licenses/MIT-advertising b/poky/meta/files/common-licenses/MIT-advertising
new file mode 100644
index 000000000..4a991a734
--- /dev/null
+++ b/poky/meta/files/common-licenses/MIT-advertising
@@ -0,0 +1,7 @@
+Copyright (C) 2000-2008 Carsten Haitzler, Geoff Harrison and various contributors Copyright (C) 2004-2008 Kim Woelders
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies of the Software, its documentation and marketing & publicity materials, and acknowledgment shall be given in the documentation, materials and software packages that this Software was used.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/poky/meta/files/common-licenses/MIT-enna b/poky/meta/files/common-licenses/MIT-enna
new file mode 100644
index 000000000..6d6dd6032
--- /dev/null
+++ b/poky/meta/files/common-licenses/MIT-enna
@@ -0,0 +1,9 @@
+Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies of the Software and its Copyright notices. In addition publicly documented acknowledgment must be given that this software has been used if no source code of this software is made available publicly. This includes acknowledgments in either Copyright notices, Manuals, Publicity and Marketing documents or any documentation provided with any product containing this software. This License does not apply to any software that links to the libraries provided by this software (statically or dynamically), but only to the software provided.
+
+Please see the COPYING.PLAIN for a plain-english explanation of this notice and it's intent.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/poky/meta/files/common-licenses/MIT-feh b/poky/meta/files/common-licenses/MIT-feh
new file mode 100644
index 000000000..33412bad7
--- /dev/null
+++ b/poky/meta/files/common-licenses/MIT-feh
@@ -0,0 +1,5 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies of the Software and its documentation and acknowledgment shall be given in the documentation and software packages that this Software was used.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/poky/meta/files/common-licenses/MIT-open-group b/poky/meta/files/common-licenses/MIT-open-group
new file mode 100644
index 000000000..ff185d30e
--- /dev/null
+++ b/poky/meta/files/common-licenses/MIT-open-group
@@ -0,0 +1,23 @@
+Copyright <yyyy, yyyy> The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and
+its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL BE LIABLE FOR ANY CLAIM, DAMAGES
+OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+from The Open Group.
diff --git a/poky/meta/files/common-licenses/MITNFA b/poky/meta/files/common-licenses/MITNFA
new file mode 100644
index 000000000..6d44edb3d
--- /dev/null
+++ b/poky/meta/files/common-licenses/MITNFA
@@ -0,0 +1,7 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+Distributions of all or part of the Software intended to be used by the recipients as they would use the unmodified Software, containing modifications that substantially alter, remove, or disable functionality of the Software, outside of the documented configuration mechanisms provided by the Software, shall be modified such that the Original Author's bug reporting email addresses and urls are either replaced with the contact information of the parties responsible for the changes, or removed entirely.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/poky/meta/files/common-licenses/MPL-2.0-no-copyleft-exception b/poky/meta/files/common-licenses/MPL-2.0-no-copyleft-exception
new file mode 100644
index 000000000..950a3e583
--- /dev/null
+++ b/poky/meta/files/common-licenses/MPL-2.0-no-copyleft-exception
@@ -0,0 +1,144 @@
+Mozilla Public License Version 2.0
+
+1. Definitions
+
+ 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software.
+
+ 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution.
+
+ 1.3. "Contribution" means Covered Software of a particular Contributor.
+
+ 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof.
+
+ 1.5. "Incompatible With Secondary Licenses" means
+
+ (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or
+
+ (b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License.
+
+ 1.6. "Executable Form" means any form of the work other than Source Code Form.
+
+ 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software.
+
+ 1.8. "License" means this document.
+
+ 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License.
+
+ 1.10. "Modifications" means any of the following:
+
+ (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or
+
+ (b) any new file in Source Code Form that contains any Covered Software.
+
+ 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version.
+
+ 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses.
+
+ 1.13. "Source Code Form" means the form of the work preferred for making modifications.
+
+ 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. License Grants and Conditions
+
+ 2.1. Grants
+ Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and
+
+ (b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version.
+
+ 2.2. Effective Date
+ The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution.
+
+ 2.3. Limitations on Grant Scope
+ The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor:
+
+ (a) for any code that a Contributor has removed from Covered Software; or
+
+ (b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or
+
+ (c) under Patent Claims infringed by Covered Software in the absence of its Contributions.
+
+ This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4).
+
+ 2.4. Subsequent Licenses
+ No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3).
+
+ 2.5. Representation
+ Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License.
+
+ 2.6. Fair Use
+ This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents.
+
+ 2.7. Conditions
+ Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1.
+
+3. Responsibilities
+
+ 3.1. Distribution of Source Form
+ All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form.
+
+ 3.2. Distribution of Executable Form
+ If You distribute Covered Software in Executable Form then:
+
+ (a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and
+
+ (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License.
+
+ 3.3. Distribution of a Larger Work
+ You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s).
+
+ 3.4. Notices
+ You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies.
+
+ 3.5. Application of Additional Terms
+ You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5. Termination
+
+ 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice.
+
+ 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate.
+
+ 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination.
+
+6. Disclaimer of Warranty
+Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer.
+
+7. Limitation of Liability
+Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
+
+8. Litigation
+Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims.
+
+9. Miscellaneous
+This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+
+ 10.1. New Versions
+ Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number.
+
+ 10.2. Effect of New Versions
+ You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward.
+
+ 10.3. Modified Versions
+ If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License).
+
+ 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses
+ If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+
+ This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+
+ This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0.
diff --git a/poky/meta/files/common-licenses/MTLL b/poky/meta/files/common-licenses/MTLL
new file mode 100644
index 000000000..0af2b318f
--- /dev/null
+++ b/poky/meta/files/common-licenses/MTLL
@@ -0,0 +1,24 @@
+Software License for MTL
+
+Copyright (c) 2007 The Trustees of Indiana University.
+ 2008 Dresden University of Technology and the Trustees of Indiana University.
+ 2010 SimuNova UG (haftungsbeschränkt), www.simunova.com.
+All rights reserved.
+Authors: Peter Gottschling and Andrew Lumsdaine
+
+This file is part of the Matrix Template Library
+
+Dresden University of Technology -- short TUD -- and Indiana University -- short IU -- have the exclusive rights to license this product under the following license.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ 1. All redistributions of source code must retain the above copyright notice, the list of authors in the original source code, this list of conditions and the disclaimer listed in this license;
+ 2. All redistributions in binary form must reproduce the above copyright notice, this list of conditions and the disclaimer listed in this license in the documentation and/or other materials provided with the distribution;
+ 3. Any documentation included with all redistributions must include the following acknowledgement:
+ "This product includes software developed at the University of Notre Dame, the Pervasive Technology Labs at Indiana University, and Dresden University of Technology. For technical information contact Andrew Lumsdaine at the Pervasive Technology Labs at Indiana University. For administrative and license questions contact the Advanced Research and Technology Institute at 1100 Waterway Blvd. Indianapolis, Indiana 46202, phone 317-274-5905, fax 317-274-5902."
+ Alternatively, this acknowledgement may appear in the software itself, and wherever such third-party acknowledgments normally appear.
+ 4. The name "MTL" shall not be used to endorse or promote products derived from this software without prior written permission from IU or TUD. For written permission, please contact Indiana University Advanced Research & Technology Institute.
+ 5. Products derived from this software may not be called "MTL", nor may "MTL" appear in their name, without prior written permission of Indiana University Advanced Research & Technology Institute.
+
+TUD and IU provide no reassurances that the source code provided does not infringe the patent or any other intellectual property rights of any other entity. TUD and IU disclaim any liability to any recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.
+
+LICENSEE UNDERSTANDS THAT SOFTWARE IS PROVIDED "AS IS" FOR WHICH NO WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. DRESDEN UNIVERSITY OF TECHNOLOGY AND INDIANA UNIVERSITY GIVE NO WARRANTIES AND MAKE NO REPRESENTATION THAT SOFTWARE IS FREE OF INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER PROPRIETARY RIGHTS. DRESDEN UNIVERSITY OF TECHNOLOGY AND INDIANA UNIVERSITY MAKE NO WARRANTIES THAT SOFTWARE IS FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS", OR OTHER HARMFUL CODE. LICENSEE ASSUMES THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF INFORMATION GENERATED USING SOFTWARE.
diff --git a/poky/meta/files/common-licenses/MakeIndex b/poky/meta/files/common-licenses/MakeIndex
new file mode 100644
index 000000000..c34538429
--- /dev/null
+++ b/poky/meta/files/common-licenses/MakeIndex
@@ -0,0 +1,19 @@
+MakeIndex Distribution Notice
+
+11/11/1989
+
+Copyright (C) 1989 by Chen & Harrison International Systems, Inc.
+Copyright (C) 1988 by Olivetti Research Center
+Copyright (C) 1987 by Regents of the University of California
+
+Author:
+ Pehong Chen (phc@renoir.berkeley.edu)
+ Chen & Harrison International Systems, Inc.
+ Palo Alto, California
+ USA
+
+Permission is hereby granted to make and distribute original copies of this program provided that the copyright notice and this permission notice are preserved and provided that the recipient is not asked to waive or limit his right to redistribute copies as allowed by this permission notice and provided that anyone who receives an executable form of this program is granted access to a machine-readable form of the source code for this program at a cost not greater than reasonable reproduction, shipping, and handling costs. Executable forms of this program distributed without the source code must be accompanied by a conspicuous copy of this permission notice and a statement that tells the recipient how to obtain the source code.
+
+Permission is granted to distribute modified versions of all or part of this program under the conditions above with the additional requirement that the entire modified work must be covered by a permission notice identical to this permission notice. Anything distributed with and usable only in conjunction with something derived from this program, whose useful purpose is to extend or adapt or add capabilities to this program, is to be considered a modified version of this program under the requirement above. Ports of this program to other systems not supported in the distribution are also considered modified versions. All modified versions should be reported back to the author.
+
+This program is distributed with no warranty of any sort. No contributor accepts responsibility for the consequences of using this program or for whether it serves any particular purpose.
diff --git a/poky/meta/files/common-licenses/MulanPSL-1.0 b/poky/meta/files/common-licenses/MulanPSL-1.0
new file mode 100644
index 000000000..8d8fae951
--- /dev/null
+++ b/poky/meta/files/common-licenses/MulanPSL-1.0
@@ -0,0 +1,116 @@
+木兰宽松许可证, 第1版
+
+木兰宽松许可证, 第1版
+
+2019年8月 http://license.coscl.org.cn/MulanPSL
+
+您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第1版(“本许可证”)的如下条款的约束:
+
+0. 定义
+
+“软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。
+
+“贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。
+
+“法人实体”是指提交贡献的机构及其“关联实体”。
+
+“关联实体”是指,对“本许可证”下的一方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。
+
+“贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。
+
+1. 授予版权许可
+
+每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。
+
+2. 授予专利许可
+
+每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括仅因您或他人修改“贡献”或其他结合而将必然会侵犯到的专利权利要求。如您或您的“关联实体”直接或间接地(包括通过代理、专利被许可人或受让人),就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。
+
+3. 无商标许可
+
+“本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。
+
+4. 分发限制
+
+您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。
+
+5. 免责声明与责任限制
+
+“软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。
+
+条款结束
+
+如何将木兰宽松许可证,第1版,应用到您的软件
+
+如果您希望将木兰宽松许可证,第1版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步:
+
+1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字;
+
+2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中;
+
+3, 请将如下声明文本放入每个源文件的头部注释中。
+
+Copyright (c) [2019] [name of copyright holder]
+[Software Name] is licensed under the Mulan PSL v1.
+You can use this software according to the terms and conditions of the Mulan PSL v1.
+You may obtain a copy of Mulan PSL v1 at:
+ http://license.coscl.org.cn/MulanPSL
+THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
+See the Mulan PSL v1 for more details.
+Mulan Permissive Software License,Version 1
+
+Mulan Permissive Software License,Version 1 (Mulan PSL v1)
+
+August 2019 http://license.coscl.org.cn/MulanPSL
+
+Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v1 (this License) with following terms and conditions:
+
+0. Definition
+
+Software means the program and related documents which are comprised of those Contribution and licensed under this License.
+
+Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License.
+
+Legal Entity means the entity making a Contribution and all its Affiliates.
+
+Affiliates means entities that control, or are controlled by, or are under common control with a party to this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity.
+
+Contribution means the copyrightable work licensed by a particular Contributor under this License.
+
+1. Grant of Copyright License
+
+Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not.
+
+2. Grant of Patent License
+
+Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed, excluding of any patent claims solely be infringed by your or others’ modification or other combinations. If you or your Affiliates directly or indirectly (including through an agent, patent licensee or assignee), institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken.
+
+3. No Trademark License
+
+No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in section 4.
+
+4. Distribution Restriction
+
+You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software.
+
+5. Disclaimer of Warranty and Limitation of Liability
+
+The Software and Contribution in it are provided without warranties of any kind, either express or implied. In no event shall any Contributor or copyright holder be liable to you for any damages, including, but not limited to any direct, or indirect, special or consequential damages arising from your use or inability to use the Software or the Contribution in it, no matter how it’s caused or based on which legal theory, even if advised of the possibility of such damages.
+
+End of the Terms and Conditions
+
+How to apply the Mulan Permissive Software License,Version 1 (Mulan PSL v1) to your software
+
+To apply the Mulan PSL v1 to your work, for easy identification by recipients, you are suggested to complete following three steps:
+
+i. Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner;
+ii. Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package;
+iii. Attach the statement to the appropriate annotated syntax at the beginning of each source file.
+
+Copyright (c) [2019] [name of copyright holder]
+[Software Name] is licensed under the Mulan PSL v1.
+You can use this software according to the terms and conditions of the Mulan PSL v1.
+You may obtain a copy of Mulan PSL v1 at:
+ http://license.coscl.org.cn/MulanPSL
+THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
+See the Mulan PSL v1 for more details.
diff --git a/poky/meta/files/common-licenses/MulanPSL-2.0 b/poky/meta/files/common-licenses/MulanPSL-2.0
new file mode 100644
index 000000000..4e4610129
--- /dev/null
+++ b/poky/meta/files/common-licenses/MulanPSL-2.0
@@ -0,0 +1,131 @@
+
+木兰宽松许可证, 第2版
+
+木兰宽松许可证, 第2版
+
+2020年1月 http://license.coscl.org.cn/MulanPSL2
+
+您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束:
+
+0. 定义
+
+“软件” 是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。
+
+“贡献” 是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。
+
+“贡献者” 是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。
+
+“法人实体” 是指提交贡献的机构及其“关联实体”。
+
+“关联实体” 是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。
+
+1. 授予版权许可
+
+每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。
+
+2. 授予专利许可
+
+每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。
+
+3. 无商标许可
+
+“本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。
+
+4. 分发限制
+
+您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。
+
+5. 免责声明与责任限制
+
+“软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。
+
+6. 语言
+
+“本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。
+
+条款结束
+
+如何将木兰宽松许可证,第2版,应用到您的软件
+
+如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步:
+
+1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字;
+
+2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中;
+
+3, 请将如下声明文本放入每个源文件的头部注释中。
+
+Copyright (c) [Year] [name of copyright holder]
+[Software Name] is licensed under Mulan PSL v2.
+You can use this software according to the terms and conditions of the Mulan PSL v2.
+You may obtain a copy of Mulan PSL v2 at:
+ http://license.coscl.org.cn/MulanPSL2
+THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
+MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
+See the Mulan PSL v2 for more details.
+
+Mulan Permissive Software License,Version 2
+
+Mulan Permissive Software License,Version 2 (Mulan PSL v2)
+
+January 2020 http://license.coscl.org.cn/MulanPSL2
+
+Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions:
+
+0. Definition
+
+Software means the program and related documents which are licensed under this License and comprise all Contribution(s).
+
+Contribution means the copyrightable work licensed by a particular Contributor under this License.
+
+Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License.
+
+Legal Entity means the entity making a Contribution and all its Affiliates.
+
+Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity.
+
+1. Grant of Copyright License
+
+Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not.
+
+2. Grant of Patent License
+
+Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken.
+
+3. No Trademark License
+
+No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in section 4.
+
+4. Distribution Restriction
+
+You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software.
+
+5. Disclaimer of Warranty and Limitation of Liability
+
+THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+6. Language
+
+THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL.
+
+END OF THE TERMS AND CONDITIONS
+
+How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software
+
+To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps:
+
+i. Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner;
+ii. Create a file named "LICENSE" which contains the whole context of this License in the first directory of your software package;
+iii. Attach the statement to the appropriate annotated syntax at the beginning of each source file.
+
+Copyright (c) [Year] [name of copyright holder]
+[Software Name] is licensed under Mulan PSL v2.
+You can use this software according to the terms and conditions of the Mulan PSL v2.
+You may obtain a copy of Mulan PSL v2 at:
+ http://license.coscl.org.cn/MulanPSL2
+THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
+EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
+MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
+See the Mulan PSL v2 for more details.
+
diff --git a/poky/meta/files/common-licenses/Mup b/poky/meta/files/common-licenses/Mup
new file mode 100644
index 000000000..57c163a40
--- /dev/null
+++ b/poky/meta/files/common-licenses/Mup
@@ -0,0 +1,13 @@
+Copyright (c) 1995-2012 by Arkkra Enterprises. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following DISCLAIMER.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following DISCLAIMER in the documentation and/or other materials provided with the distribution.
+
+3. Any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation. including the reasons for the changes, and the names of those who made the modifications.
+
+DISCLAIMER
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/NAIST-2003 b/poky/meta/files/common-licenses/NAIST-2003
new file mode 100644
index 000000000..40d27d328
--- /dev/null
+++ b/poky/meta/files/common-licenses/NAIST-2003
@@ -0,0 +1,70 @@
+Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
+and Technology. All Rights Reserved.
+
+Use, reproduction, and distribution of this software is permitted.
+Any copy of this software, whether in its original form or modified,
+must include both the above copyright notice and the following
+paragraphs.
+
+Nara Institute of Science and Technology (NAIST),
+the copyright holders, disclaims all warranties with regard to this
+software, including all implied warranties of merchantability and
+fitness, in no event shall NAIST be liable for
+any special, indirect or consequential damages or any damages
+whatsoever resulting from loss of use, data or profits, whether in an
+action of contract, negligence or other tortuous action, arising out
+of or in connection with the use or performance of this software.
+
+A large portion of the dictionary entries
+originate from ICOT Free Software. The following conditions for ICOT
+Free Software applies to the current dictionary as well.
+
+Each User may also freely distribute the Program, whether in its
+original form or modified, to any third party or parties, PROVIDED
+that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
+on, or be attached to, the Program, which is distributed substantially
+in the same form as set out herein and that such intended
+distribution, if actually made, will neither violate or otherwise
+contravene any of the laws and regulations of the countries having
+jurisdiction over the User or the intended distribution itself.
+
+NO WARRANTY
+
+The program was produced on an experimental basis in the course of the
+research and development conducted during the project and is provided
+to users as so produced on an experimental basis. Accordingly, the
+program is provided without any warranty whatsoever, whether express,
+implied, statutory or otherwise. The term "warranty" used herein
+includes, but is not limited to, any warranty of the quality,
+performance, merchantability and fitness for a particular purpose of
+the program and the nonexistence of any infringement or violation of
+any right of any third party.
+
+Each user of the program will agree and understand, and be deemed to
+have agreed and understood, that there is no warranty whatsoever for
+the program and, accordingly, the entire risk arising from or
+otherwise connected with the program is assumed by the user.
+
+Therefore, neither ICOT, the copyright holder, or any other
+organization that participated in or was otherwise related to the
+development of the program and their respective officials, directors,
+officers and other employees shall be held liable for any and all
+damages, including, without limitation, general, special, incidental
+and consequential damages, arising out of or otherwise in connection
+with the use or inability to use the program or any product, material
+or result produced or otherwise obtained by using the program,
+regardless of whether they have been advised of, or otherwise had
+knowledge of, the possibility of such damages at any time during the
+project or thereafter. Each user will be deemed to have agreed to the
+foregoing by his or her commencement of use of the program. The term
+"use" as used herein includes, but is not limited to, the use,
+modification, copying and distribution of the program and the
+production of secondary products from the program.
+
+In the case where the program, whether in its original form or
+modified, was distributed or delivered to or received by a user from
+any person, organization or entity other than ICOT, unless it makes or
+grants independently of ICOT any specific warranty to the user in
+writing, such person, organization or entity, will also be exempted
+from and not be held liable to the user for any such damages as noted
+above as far as the program is concerned.
diff --git a/poky/meta/files/common-licenses/NBPL-1.0 b/poky/meta/files/common-licenses/NBPL-1.0
new file mode 100644
index 000000000..f6bf87992
--- /dev/null
+++ b/poky/meta/files/common-licenses/NBPL-1.0
@@ -0,0 +1,59 @@
+The Net Boolean Public License
+
+Version 1, 22 August 1998 Copyright 1998, Net Boolean Incorporated, Redwood City, California, USA All Rights Reserved.
+
+Note: This license is derived from the "Artistic License" as distributed with the Perl Programming Language. Its terms are different from those of the "Artistic License."
+
+PREAMBLE
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C subroutines supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language.
+
+8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
diff --git a/poky/meta/files/common-licenses/NCGL-UK-2.0 b/poky/meta/files/common-licenses/NCGL-UK-2.0
new file mode 100644
index 000000000..31fbad6f8
--- /dev/null
+++ b/poky/meta/files/common-licenses/NCGL-UK-2.0
@@ -0,0 +1,67 @@
+Non-Commercial Government Licence
+for public sector information
+
+You are encouraged to use and re-use the Information that is available under this licence freely and flexibly, with only a few conditions.
+
+Using information under this licence
+
+Use of copyright and database right material expressly made available under this licence (the ‘Information’) indicates your acceptance of the terms and conditions below.
+
+The Licensor grants you a worldwide, royalty-free, perpetual, non-exclusive licence to use the Information for Non-Commercial purposes only subject to the conditions below.
+
+This licence does not affect your freedom under fair dealing or fair use or any other copyright or database right exceptions and limitations.
+
+You are free to:
+ copy, publish, distribute and transmit the Information;
+ adapt the Information;
+ exploit the Information for Non-Commercial purposes for example, by combining it with other information in your own product or application.
+
+You are not permitted to:
+ exercise any of the rights granted to you by this licence in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation.
+
+You must, where you do any of the above:
+ acknowledge the source of the Information by including any attribution statement specified by the Information Provider(s) and, where possible, provide a link to this licence;
+
+If the Information Provider does not provide a specific attribution statement, you must use the following:
+ Contains information licensed under the Non-Commercial Government Licence v2.0.
+
+If you are using Information from several Information Providers and listing multiple attributions is not practical in your product or application, you may include a URI or hyperlink to a resource that contains the required attribution statements.
+ ensure that any onward licensing of the Information – for example when combined with other information – is for Non-Commercial purposes only.
+
+These are important conditions of this licence and if you fail to comply with them or use the Information other than for Non-Commercial purposes the rights granted to you under this licence, or any similar licence granted by the Licensor, will end automatically.
+
+Exemptions
+
+This licence does not cover the use of:
+ • personal data in the Information;
+ • Information that has not been accessed by way of publication or disclosure under information access legislation (including the Freedom of Information Acts for the UK and Scotland) by or with the consent of the Information Provider;
+ • departmental or public sector organisation logos, crests, military insignia and the Royal Arms except where they form an integral part of a document or dataset;
+ • military insignia
+ • third party rights the Information Provider is not authorised to license;
+ • other intellectual property rights, including patents, trade marks, and design rights; and
+ • identity documents such as the British Passport.
+
+Non-endorsement
+This licence does not grant you any right to use the Information in a way that suggests any official status or that the Information Provider and/or Licensor endorse you or your use of the Information.
+
+No warranty
+The Information is licensed ‘as is’ and the Information Provider excludes all representations, warranties, obligations and liabilities in relation to the Information to the maximum extent permitted by law.
+The Information Provider is not liable for any errors or omissions in the Information and shall not be liable for any loss, injury or damage of any kind caused by its use. The Information Provider does not guarantee the continued supply of the Information.
+
+Governing Law
+This licence is governed by the laws of the jurisdiction in which the Information Provider has its principal place of business, unless otherwise specified by the Information Provider.
+
+Definitions
+In this licence the terms below have the following meanings:
+
+‘Information’ means information protected by copyright or by database right (for example, literary and artistic works, content, data and source code) offered for use under the terms of this licence.
+
+‘Information Provider’ means the person or organisation providing the Information under this licence.
+
+‘Licensor’ means any Information Provider which has the authority to offer Information under the terms of this licence or the Keeper of the Public Records, who has the authority to offer Information subject to Crown copyright and Crown database rights and Information subject to copyright and database right that has been assigned to or acquired by the Crown, under the terms of this licence.
+
+‘Non-Commercial purposes’ means not intended for or directed toward commercial advantage or private monetary compensation. For the purposes of this licence, ‘private monetary compensation’ does not include the exchange of the Information for other copyrighted works by means of digital file-sharing or otherwise provided there is no payment of any monetary compensation in connection with the exchange of the Information.
+
+‘Use’ as a verb, means doing any act which is restricted by copyright or database right, whether in the original medium or in any other medium, and includes without limitation distributing, copying, adapting, modifying as may be technically necessary to use it in a different mode or format.
+
+‘You’ means the natural or legal person, or body of persons corporate or incorporate, acquiring rights under this licence.
diff --git a/poky/meta/files/common-licenses/NIST-PD b/poky/meta/files/common-licenses/NIST-PD
new file mode 100644
index 000000000..e1a4e65ba
--- /dev/null
+++ b/poky/meta/files/common-licenses/NIST-PD
@@ -0,0 +1,15 @@
+Terms Of Use
+
+This software was developed by employees of the National Institute of Standards
+and Technology (NIST), and others. This software has been contributed to the
+public domain. Pursuant to title 15 Untied States Code Section 105, works of
+NIST employees are not subject to copyright protection in the United States and
+are considered to be in the public domain. As a result, a formal license is
+not needed to use this software.
+
+This software is provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS,
+IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND DATA
+ACCURACY. NIST does not warrant or make any representations regarding the use
+of the software or the results thereof, including but not limited to the
+correctness, accuracy, reliability or usefulness of this software.
diff --git a/poky/meta/files/common-licenses/NIST-PD-fallback b/poky/meta/files/common-licenses/NIST-PD-fallback
new file mode 100644
index 000000000..49f91bce1
--- /dev/null
+++ b/poky/meta/files/common-licenses/NIST-PD-fallback
@@ -0,0 +1,5 @@
+Conditions of Use
+
+This software was developed by employees of the National Institute of Standards and Technology (NIST), an agency of the Federal Government and is being made available as a public service. Pursuant to title 17 United States Code Section 105, works of NIST employees are not subject to copyright protection in the United States. This software may be subject to foreign copyright. Permission in the United States and in foreign countries, to the extent that NIST may hold copyright, to use, copy, modify, create derivative works, and distribute this software and its documentation without fee is hereby granted on a non-exclusive basis, provided that this notice and disclaimer of warranty appears in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND FREEDOM FROM INFRINGEMENT, AND ANY WARRANTY THAT THE DOCUMENTATION WILL CONFORM TO THE SOFTWARE, OR ANY WARRANTY THAT THE SOFTWARE WILL BE ERROR FREE. IN NO EVENT SHALL NIST BE LIABLE FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO, DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF, RESULTING FROM, OR IN ANY WAY CONNECTED WITH THIS SOFTWARE, WHETHER OR NOT BASED UPON WARRANTY, CONTRACT, TORT, OR OTHERWISE, WHETHER OR NOT INJURY WAS SUSTAINED BY PERSONS OR PROPERTY OR OTHERWISE, AND WHETHER OR NOT LOSS WAS SUSTAINED FROM, OR AROSE OUT OF THE RESULTS OF, OR USE OF, THE SOFTWARE OR SERVICES PROVIDED HEREUNDER.
diff --git a/poky/meta/files/common-licenses/NLOD-1.0 b/poky/meta/files/common-licenses/NLOD-1.0
new file mode 100644
index 000000000..b0b0767e3
--- /dev/null
+++ b/poky/meta/files/common-licenses/NLOD-1.0
@@ -0,0 +1,79 @@
+Norwegian Licence for Open Government Data (NLOD) 1.0
+
+Preface of licence
+
+This licence grants you the right to copy, use and distribute information, provided you acknowledge the contributors and comply with the terms and conditions stipulated in this licence. By using information made available under this licence, you accept the terms and conditions set forth in this licence. As set out in Section 7, the licensor disclaims any and all liability for the quality of the information and what the information is used for.
+
+This licence shall not impose any limitations on the rights or freedoms of the licensee under the Norwegian Freedom of Information Act or any other legislation granting the general public a right of access to public sector information, or that follow from exemptions or limitations stipulated in the Norwegian Copyright Act. Further, the licence shall not impose any limitations on the licensee's freedom of expression recognized by law.
+
+1. Definitions
+
+ «Database» shall mean a database or similar protected under Section 43 of the Norwegian Copyright Act.
+ «Information» shall mean texts, images, recordings, data sets or other works protected under Section 1 of the Norwegian Copyright Act, or which are protected under provisions addressing what is referred to as «neighbouring rights» in Chapter 5 of the Norwegian Copyright Act (including databases and photographs), and which are distributed under this licence.
+ «Copy» shall mean reproduction in any form.
+ «Licensee» and «you» shall mean natural or legal persons using information under this licence.
+ «Licensor» shall mean the natural or legal person that makes information available under this licence.
+ «Distribute» shall mean any actions whereby information is made available, including to distribute, transfer, communicate, disperse, show, perform, sell, lend and rent.
+ «Use» shall mean one or more actions relevant to copyright law requiring permission from the owner of the copyright.
+
+2. Licence
+The licensee, subject to the limitations that follow from this licence, may use the information for any purpose and in all contexts, by:
+
+ * copying the information and distributing the information to others,
+ * modifying the information and/or combining the information with other information, and
+ * copying and distributing such changed or combined information.
+ * This is a non-exclusive, free, perpetual and worldwide licence. The information may be used in any medium and format known today and/or which will become known in the future. The Licensee shall not sub-license or transfer this licence.
+
+3. Exemptions
+The licence does not apply to and therefore does not grant a right to use:
+
+ * information which contains personal data covered by the Norwegian Personal Data Act unless there is a legitimate basis for the disclosure and further processing of the personal data
+ * information distributed in violation of a statutory obligation to observe confidentiality
+ * information excluded from public disclosure pursuant to law, including information deemed sensitive under the Norwegian National Security Act
+ * information subject to third party rights which the licensor is not authorised to license to the licensee
+ * information protected by intellectual property rights other than copyright and neighbouring rights in accordance with Chapter 5 of the Norwegian Copyright Act, such as trademarks, patents and design rights, but this does not entail an impediment to use information where the licensor's logo has been permanently integrated into the information or to attribute the origin of the information in accordance with the article below relating to attribution.
+
+If the licensor has made available information not covered by the licence according to the above list, the licensee must cease all use of the information under the licence, and erase the information as soon as he or she becomes aware of or should have understood that the information is not covered by the licence.
+
+4. Effects of breach of the licence
+The licence is subject to the licensee's compliance with the terms and conditions of this licence. In the event that the licensee commits a breach of this licence, this will entail that the licensee's right to use the information will be revoked immediately without further notice. In case of such a breach, the licensee must immediately and without further notice take measures to cause the infringement to end. Because the right to use the information has been terminated, the licensee must cease all use of the information by virtue of the licence.
+
+5. Attribution
+The licensee shall attribute the licensor as specified by the licensor and include a reference to this licence. To the extent practically possible, the licensee shall provide a link to both this licence and the source of the information.
+
+If the licensor has not specified how attributions shall be made, the licensee shall normally state the following: «Contains data under the Norwegian licence for Open Government data (NLOD) distributed by [name of licensor]».
+
+If the licensor has specified that the information shall only be available under a specific version of this licence, cf. Section 10, the licensee shall also state this.
+
+If the information has been changed, the licensee must clearly indicate that changes have been made by the licensee.
+
+6. Proper use
+The licensee shall not use the information in a manner that appears misleading nor present the information in a distorted or incorrect manner.
+Neither the licensor's nor other contributors' names or trademarks must be used to support, recommend or market the licensee or any products or services using the information.
+
+7. Disclaimer of liability
+The information is licensed «as is». The information may contain errors and omissions. The licensor provides no warranties, including relating to the content and relevance of the information.
+
+The licensor disclaims any liability for errors and defects associated with the information to the maximum extent permitted by law.
+
+The licensor shall not be liable for direct or indirect losses as a result of use of the information or in connection with copying or further distribution of the information.
+
+8. Guarantees regarding data quality and accessibility
+This licence does not prevent the licensor from issuing supplementary statements regarding expected or intended data quality and accessibility. Such statements shall be regarded as indicative in nature and not binding on the part of the licensor. The disclaimers in Section 7 also apply in full for such indicative statements. Based on separate agreement, the licensor may provide guarantees and distribute the information on terms and conditions different from those set forth in this licence.
+
+9. Licence compatibility
+If the licensee is to distribute an adapted or combined work based on information covered by this licence and some other work licensed under a licence compatible by contract, such distribution may be based on an appropriate licence compatible by contract, cf. the list below.
+
+A licence compatible by contract shall mean the following licences:
+
+ * for all information: Open Government Licence (version 1.0),
+ * for those parts of the information which do not constitute databases: Creative Commons Attribution Licence (generic version 1.0, 2.0, 2.5 and unported version 3.0) and Creative Commons Navngivelse 3.0 Norge,
+ * for those parts of the information which constitute databases: Open Data Commons Attribution License (version 1.0).
+
+This provision does not prevent other licences from being compatible with this licence based on their content.
+
+10. New versions of the licence
+The licensee may choose to use the information covered by this licence under any new versions of the Norwegian licence for Open Government data (NLOD) issued by the responsible ministry (currently the Ministry of Government Administration, Reform and Church Affairs) when these versions are final and official, unless the licensor when making the information available under this licence specifically has stated that solely version 1.0 of this licence may be used.
+
+11. Governing law and legal venue
+This licence, including its formation, and any disputes and claims arising in connection with or relating to this licence, shall be regulated by Norwegian law. The legal venue shall be the licensor's ordinary legal venue. The licensor may, with regard to intellectual proprietary rights, choose to pursue a claim at other competent legal venues and/or based on the laws of the country where the intellectual property rights are sought enforced.
diff --git a/poky/meta/files/common-licenses/NLOD-2.0 b/poky/meta/files/common-licenses/NLOD-2.0
new file mode 100644
index 000000000..6233940c1
--- /dev/null
+++ b/poky/meta/files/common-licenses/NLOD-2.0
@@ -0,0 +1,80 @@
+Norwegian Licence for Open Government Data (NLOD) 2.0
+
+Preface of licence
+
+This licence grants you the right to copy, use and distribute information, provided you acknowledge the contributors and comply with the terms and conditions stipulated in this licence. By using information made available under this licence, you accept the terms and conditions set forth in this licence. As set out in Section 7, the licensor disclaims any and all liability for the quality of the information and what the information is used for.
+
+This licence shall not impose any limitations on the rights or freedoms of the licensee under the Norwegian Freedom of Information Act or any other legislation granting the general public a right of access to public sector information, or that follow from exemptions or limitations stipulated in the Norwegian Copyright Act. Further, the licence shall not impose any limitations on the licensee’s freedom of expression recognized by law.
+
+1. Definitions
+
+ «Database» shall mean a database or similar protected under Section 43 of the Norwegian Copyright Act.
+ «Information» shall mean texts, images, recordings, data sets or other works protected under Section 1 of the Norwegian Copyright Act, or which are protected under provisions addressing what is referred to as «neighbouring rights» in Chapter 5 of the Norwegian Copyright Act (including databases and photographs), and which are distributed under this licence.
+ «Copy» shall mean reproduction in any form.
+ «Licensee» and «you» shall mean natural or legal persons using information under this licence.
+ «Licensor» shall mean the natural or legal person that makes information available under this licence.
+ «Distribute» shall mean any actions whereby information is made available, including to distribute, transfer, communicate, disperse, show, perform, sell, lend and rent.
+ «Use» shall mean one or more actions relevant to copyright law requiring permission from the owner of the copyright.
+
+2. Licence
+The licensee, subject to the limitations that follow from this licence, may use the information for any purpose and in all contexts, by:
+
+ * copying the information and distributing the information to others,
+ * modifying the information and/or combining the information with other information, and
+ * copying and distributing such changed or combined information.
+
+This is a non-exclusive, free, perpetual and worldwide licence. The information may be used in any medium and format known today and/or which will become known in the future. The Licensee shall not sub-license or transfer this licence.
+
+3. Exemptions
+The licence does not apply to and therefore does not grant a right to use:
+
+ * information which contains personal data covered by the Norwegian Personal Data Act unless there is a legitimate basis for the disclosure and further processing of the personal data
+ * information distributed in violation of a statutory obligation to observe confidentiality
+ * information excluded from public disclosure pursuant to law, including information deemed sensitive under the Norwegian National Security Act
+ * information subject to third party rights which the licensor is not authorised to license to the licensee
+ * information protected by intellectual property rights other than copyright and neighbouring rights in accordance with Chapter 5 of the Norwegian Copyright Act, such as trademarks, patents and design rights, but this does not entail an impediment to use information where the licensor’s logo has been permanently integrated into the information or to attribute the origin of the information in accordance with the article below relating to attribution.
+
+If the licensor has made available information not covered by the licence according to the above list, the licensee must cease all use of the information under the licence, and erase the information as soon as he or she becomes aware of or should have understood that the information is not covered by the licence.
+
+4. Effects of breach of the licence
+The licence is subject to the licensee’s compliance with the terms and conditions of this licence. In the event that the licensee commits a breach of this licence, this will entail that the licensee’s right to use the information will be revoked immediately without further notice. In case of such a breach, the licensee must immediately and without further notice take measures to cause the infringement to end. Because the right to use the information has been terminated, the licensee must cease all use of the information by virtue of the licence.
+
+5. Attribution
+The licensee shall attribute the licensor as specified by the licensor and include a reference to this licence. To the extent practically possible, the licensee shall provide a link to both this licence and the source of the information.
+
+If the licensor has not specified how attributions shall be made, the licensee shall normally state the following: «Contains data under the Norwegian licence for Open Government data (NLOD) distributed by [name of licensor]».
+
+If the licensor has specified that the information shall only be available under a specific version of this licence, cf. Section 10, the licensee shall also state this.
+
+If the information has been changed, the licensee must clearly indicate that changes have been made by the licensee.
+
+6. Proper use
+The licensee shall not use the information in a manner that appears misleading nor present the information in a distorted or incorrect manner.
+Neither the licensor’s nor other contributors' names or trademarks must be used to support, recommend or market the licensee or any products or services using the information.
+
+7. Disclaimer of liability
+The information is licensed «as is». The information may contain errors and omissions. The licensor provides no warranties, including relating to the content and relevance of the information.
+
+The licensor disclaims any liability for errors and defects associated with the information to the maximum extent permitted by law.
+
+The licensor shall not be liable for direct or indirect losses as a result of use of the information or in connection with copying or further distribution of the information.
+
+8. Guarantees regarding data quality and accessibility
+This licence does not prevent the licensor from issuing supplementary statements regarding expected or intended data quality and accessibility. Such statements shall be regarded as indicative in nature and not binding on the part of the licensor. The disclaimers in Section 7 also apply in full for such indicative statements. Based on separate agreement, the licensor may provide guarantees and distribute the information on terms and conditions different from those set forth in this licence.
+
+9. Licence compatibility
+If the licensee is to distribute an adapted or combined work based on information covered by this licence and some other work licensed under a licence compatible by contract, such distribution may be based on an appropriate licence compatible by contract, cf. the list below.
+
+A licence compatible by contract shall mean the following licences:
+
+ * for all information: Open Government Licence (version 1.0, 2.0 and 3.0), Creative Commons Attribution Licence (international version 4.0 and norwegian version 4.0),
+ * for those parts of the information which do not constitute databases: Creative Commons Attribution Licence (generic version 1.0, 2.0, 2.5 and unported version 3.0) and Creative Commons Navngivelse 3.0 Norge,
+ * for those parts of the information which constitute databases: Open Data Commons Attribution License (version 1.0).
+
+This provision does not prevent other licences from being compatible with this licence based on their content.
+
+10. New versions of the licence
+The licensee may choose to use the information covered by this licence under any new versions of the Norwegian licence for Open Government data (NLOD) issued by the responsible ministry (currently the Ministry of Local Government and Modernisation) when these versions are final and official, unless the licensor when making the information available under this licence specifically has stated that solely version 2.0 of this licence may be used.
+
+11. Governing law and legal venue
+This licence, including its formation, and any disputes and claims arising in connection with or relating to this licence, shall be regulated by Norwegian law. The legal venue shall be the licensor’s ordinary legal venue. The licensor may, with regard to intellectual proprietary rights, choose to pursue a claim at other competent legal venues and/or based on the laws of the country where the intellectual property rights are sought enforced.
diff --git a/poky/meta/files/common-licenses/NLPL b/poky/meta/files/common-licenses/NLPL
new file mode 100644
index 000000000..79f83af89
--- /dev/null
+++ b/poky/meta/files/common-licenses/NLPL
@@ -0,0 +1,14 @@
+NO LIMIT PUBLIC LICENSE
+ Version 0, June 2012
+
+Gilles LAMIRAL
+La Billais
+35580 Baulon
+France
+
+NO LIMIT PUBLIC LICENSE
+
+Terms and conditions for copying, distribution, modification
+or anything else.
+
+ 0. No limit to do anything with this work and this license.
diff --git a/poky/meta/files/common-licenses/NOSL b/poky/meta/files/common-licenses/NOSL
new file mode 100644
index 000000000..ff16a148c
--- /dev/null
+++ b/poky/meta/files/common-licenses/NOSL
@@ -0,0 +1,150 @@
+NETIZEN OPEN SOURCE LICENSE
+Version 1.0
+
+1. Definitions.
+
+ 1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+ 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+
+ 2.2. Contributor Grant.
+ Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+ (a) Third Party Claims.
+ If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+ (b) Contributor APIs.
+ If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+ (c) Representations.
+ Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+ 3.5. Required Notices.
+ You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions.
+ You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+ 3.7. Larger Works.
+ You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single LEDs product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5. Application of this License.
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions.
+ Netizen Pty Ltd ("Netizen ") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions.
+ Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netizen. No one other than Netizen has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works.
+ If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Netizen", "NOSL" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Netizen Open Source License and Xen Open Source License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+ 7.1 To the extent permitted by law and except as expressly provided to the contrary in this Agreement, all warranties whether express, implied, statutory or otherwise, relating in any way to the subject matter of this Agreement or to this Agreement generally, are excluded. Where legislation implies in this Agreement any condition or warranty and that legislation avoids or prohibits provisions in a contract excluding or modifying the application of or the exercise of or liability under such term, such term shall be deemed to be included in this Agreement. However, the liability of Supplier for any breach of such term shall be limited, at the option of Supplier, to any one or more of the following: if the breach related to goods: the replacement of the goods or the supply of equivalent goods; the repair of such goods; the payment of the cost of replacing the goods or of acquiring equivalent goods; or the payment of the cost of having the goods repaired; and if the breach relates to services the supplying of the services again; or the payment of the cost of having the services supplied again.
+
+8. TERMINATION.
+
+ 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
+ (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+ (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+
+This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
+This Agreement shall be governed by and construed according to the law of the State of Victoria. The parties irrevocably submit to the exclusive jurisdiction of the Courts of Victoria and Australia and any Courts hearing appeals from such Courts. This Agreement is deemed to have been made in Victoria.
+The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+EXHIBIT A - Netizen Open Source License
+
+ ``The contents of this file are subject to the Netizen Open Source License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://netizen.com.au/licenses/NOPL/
+
+ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+ The Original Code is ______________________________________.
+
+ The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved.
+
+ Contributor(s): ______________________________________.
+
+ Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the NOSL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the NOSL or the [___] License."
+
+ [NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
diff --git a/poky/meta/files/common-licenses/NPL-1.0 b/poky/meta/files/common-licenses/NPL-1.0
new file mode 100644
index 000000000..7a5030e9f
--- /dev/null
+++ b/poky/meta/files/common-licenses/NPL-1.0
@@ -0,0 +1,102 @@
+NETSCAPE PUBLIC LICENSE Version 1.0
+
+1. Definitions.
+
+ 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+ 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+ 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.
+ 1.5. ``Executable'' means Covered Code in any form other than Source Code.
+ 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required byExhibit A.
+ 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+ 1.8. ``License'' means this document.
+ 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required byExhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+ 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+ 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+ 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+ a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and
+ (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+ 2.2. Contributor Grant. Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and
+ (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+ 3.3. Description of Modifications. You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+ 3.4. Intellectual Property Matters
+ (a) Third Party Claims. If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+ (b) Contributor APIs. If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+
+ 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+ 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+ 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5. Application of this License.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code.
+
+6. Versions of the License.
+ 6.1. New Versions. Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
+ 6.3. Derivative Works. If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+9. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+
+This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis.
+
+AMENDMENTS
+Additional Terms applicable to the Netscape Public License.
+
+ I. Effect. These additional terms described in this Netscape Public License -- Amendments shall apply to the Mozilla Communicator client code and to all Covered Code under this License.
+ II. ``Netscape's Branded Code'' means Covered Code that Netscape distributes and/or permits others to distribute under one or more trademark(s) which are controlled by Netscape but which are not licensed for use under this License.
+ III. Netscape and logo. This License does not grant any rights to use the trademark ``Netscape'', the ``Netscape N and horizon'' logo or the Netscape lighthouse logo, even if such marks are included in the Original Code.
+ IV. Inability to Comply Due to Contractual Obligation. Prior to licensing the Original Code under this License, Netscape has licensed third party code for use in Netscape's Branded Code. To the extent that Netscape is limited contractually from making such third party code available under this License, Netscape may choose to reintegrate such code into Covered Code without being required to distribute such code in
+Source Code form, even if such code would otherwise be considered ``Modifications'' under this License.
+ V. Use of Modifications and Covered Code by Initial Developer.
+ V.1. In General. The obligations of Section 3 apply to Netscape, except to the extent specified in this Amendment, Section V.2 and V.3. V.2. Other Products. Netscape may include Covered Code in products other than the Netscape's Branded Code which are released by Netscape during the two (2) years following the release date of the Original Code, without such additional products becoming subject to the terms of this License, and may license such additional products on different terms from those contained in this License. V.3. Alternative Licensing. Netscape may license the Source Code of Netscape's Branded Code, including Modifications incorporated therein, without such additional products becoming subject to the terms of this License, and may license such additional products on different terms from those contained in this License.
+
+ VI. Arbitration and Litigation. Notwithstanding the limitations of Section 11 above, the provisions regarding arbitration and litigation in Section 11(a), (b) and (c) of the License shall apply to all disputes relating to this License.
+
+EXHIBIT A.
+
+“The contents of this file are subject to the Netscape Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/NPL/
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+The Original Code is Mozilla Communicator client code, released March 31, 1998.
+The Initial Developer of the Original Code is Netscape Communications Corporation. Portions created by Netscape are Copyright (C) 1998 Netscape Communications Corporation. All Rights Reserved.
+Contributor(s): ______________________________________.”
+[NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. This is due to time constraints encountered in simultaneously finalizing the License and in preparing the Original Code for release. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
diff --git a/poky/meta/files/common-licenses/NPL-1.1 b/poky/meta/files/common-licenses/NPL-1.1
new file mode 100644
index 000000000..62c529640
--- /dev/null
+++ b/poky/meta/files/common-licenses/NPL-1.1
@@ -0,0 +1,186 @@
+Netscape Public LIcense version 1.1
+
+AMENDMENTS
+
+The Netscape Public License Version 1.1 ("NPL") consists of the Mozilla Public License Version 1.1 with the following Amendments, including Exhibit A-Netscape Public License.  Files identified with "Exhibit A-Netscape Public License" are governed by the Netscape Public License Version 1.1.
+
+Additional Terms applicable to the Netscape Public License.
+
+ I. Effect.
+ These additional terms described in this Netscape Public License -- Amendments shall apply to the Mozilla Communicator client code and to all Covered Code under this License.
+
+ II. "Netscape's Branded Code" means Covered Code that Netscape distributes and/or permits others to distribute under one or more trademark(s) which are controlled by Netscape but which are not licensed for use under this License.
+ III. Netscape and logo.
+ This License does not grant any rights to use the trademarks "Netscape", the "Netscape N and horizon" logo or the "Netscape lighthouse" logo, "Netcenter", "Gecko", "Java" or "JavaScript", "Smart Browsing" even if such marks are included in the Original Code or Modifications.
+ IV. Inability to Comply Due to Contractual Obligation.
+ Prior to licensing the Original Code under this License, Netscape has licensed third party code for use in Netscape's Branded Code. To the extent that Netscape is limited contractually from making such third party code available under this License, Netscape may choose to reintegrate such code into Covered Code without being required to distribute such code in Source Code form, even if such code would otherwise be considered "Modifications" under this License.
+ V. Use of Modifications and Covered Code by Initial Developer.
+ V.1. In General.
+ The obligations of Section 3 apply to Netscape, except to the extent specified in this Amendment, Section V.2 and V.3.
+
+ V.2. Other Products.
+ Netscape may include Covered Code in products other than the Netscape's Branded Code which are released by Netscape during the two (2) years following the release date of the Original Code, without such additional products becoming subject to the terms of this License, and may license such additional products on different terms from those contained in this License.
+
+ V.3. Alternative Licensing.
+ Netscape may license the Source Code of Netscape's Branded Code, including Modifications incorporated therein, without such Netscape Branded Code becoming subject to the terms of this License, and may license such Netscape Branded Code on different terms from those contained in this License.
+
+ VI. Litigation.
+ Notwithstanding the limitations of Section 11 above, the provisions regarding litigation in Section 11(a), (b) and (c) of the License shall apply to all disputes relating to this License.
+
+ EXHIBIT A-Netscape Public License.
+  
+"The contents of this file are subject to the Netscape Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/NPL/
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code is Mozilla Communicator client code, released March 31, 1998.
+
+The Initial Developer of the Original Code is Netscape Communications Corporation. Portions created by Netscape are Copyright (C) 1998-1999 Netscape Communications Corporation. All Rights Reserved.
+Contributor(s): ______________________________________.
+  
+Alternatively, the contents of this file may be used under the terms of the _____ license (the  "[___] License"), in which case the provisions of [______] License are applicable  instead of those above.  If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the NPL, indicate your decision by deleting  the provisions above and replace  them with the notice and other provisions required by the [___] License.  If you do not delete the provisions above, a recipient may use your version of this file under either the NPL or the [___] License."
+
+
+Mozilla Public License Version 1.1
+
+1. Definitions.
+
+ 1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+ 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ a. under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+ b. under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+ c. the licenses granted in this Section 2.1 (a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+ d. Notwithstanding Section 2.1 (b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+
+ 2.2. Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ a. under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+ b. under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+ c. the licenses granted in Sections 2.2 (a) and 2.2 (b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+ d. Notwithstanding Section 2.2 (b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+
+ (a) Third Party Claims
+ If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs
+ If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+
+ (c) Representations.
+ Contributor represents that, except as disclosed pursuant to Section 3.4 (a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+ 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Sections 3.1, 3.2, 3.3, 3.4 and 3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+ 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5. Application of this License.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions
+ Netscape Communications Corporation ("Netscape") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions
+ Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works
+ If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL", "NPL" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. Termination
+
+ 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
+
+ a. such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+ b. any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. government end users
+The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. Miscellaneous
+This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. Responsibility for claims
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. Multiple-licensed code
+Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the MPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+Exhibit A - Mozilla Public License.
+
+"The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code is ______________________________________.
+
+The Initial Developer of the Original Code is ________________________.
+Portions created by ______________________ are Copyright (C) ______
+_______________________. All Rights Reserved.
+
+Contributor(s): ______________________________________.
+
+Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License."
+
+NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.
diff --git a/poky/meta/files/common-licenses/NRL b/poky/meta/files/common-licenses/NRL
new file mode 100644
index 000000000..5e104730c
--- /dev/null
+++ b/poky/meta/files/common-licenses/NRL
@@ -0,0 +1,28 @@
+NRL License
+
+COPYRIGHT NOTICE
+
+All of the documentation and software included in this software distribution from the US Naval Research Laboratory (NRL) are copyrighted by their respective developers.
+
+Portions of the software are derived from the Net/2 and 4.4-Lite Berkeley Software Distributions (BSD) of the University of California at Berkeley and those portions are copyright by The Regents of the University of California. All Rights Reserved. The UC Berkeley Copyright and License agreement is binding on those portions of the software. In all cases, the NRL developers have retained the original UC Berkeley copyright and license notices in the respective files in accordance with the UC Berkeley copyrights and license.
+
+Portions of this software and documentation were developed at NRL by various people. Those developers have each copyrighted the portions that they developed at NRL and have assigned All Rights for those portions to NRL. Outside the USA, NRL has copyright on some of the software developed at NRL. The affected files all contain specific copyright notices and those notices must be retained in any derived work.
+
+NRL LICENSE
+
+NRL grants permission for redistribution and use in source and binary forms, with or without modification, of the software and documentation created at NRL provided that the following conditions are met:
+
+ 1. All terms of the UC Berkeley copyright and license must be followed.
+ 2. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ 3. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ 4. All advertising materials mentioning features or use of this software must display the following acknowledgements:
+
+ This product includes software developed by the University of California, Berkeley and its contributors.
+
+ This product includes software developed at the Information Technology Division, US Naval Research Laboratory.
+
+ 5. Neither the name of the NRL nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THE SOFTWARE PROVIDED BY NRL IS PROVIDED BY NRL AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NRL OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the US Naval Research Laboratory (NRL).
diff --git a/poky/meta/files/common-licenses/NTP-0 b/poky/meta/files/common-licenses/NTP-0
new file mode 100644
index 000000000..84a2bdf6e
--- /dev/null
+++ b/poky/meta/files/common-licenses/NTP-0
@@ -0,0 +1,5 @@
+NTP No Attribution (NTP-0)
+
+Copyright (4-digit-year) by (CopyrightHoldersName)
+
+Permission to use, copy, modify, and distribute this software and its documentation for any purpose is hereby granted, provided that the name of (TrademarkedName) not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. (TrademarkedName) make no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
diff --git a/poky/meta/files/common-licenses/Nauman b/poky/meta/files/common-licenses/Nauman
deleted file mode 100644
index 69ce785ff..000000000
--- a/poky/meta/files/common-licenses/Nauman
+++ /dev/null
@@ -1,50 +0,0 @@
-
-NAUMEN Public License
-This software is Copyright (c) NAUMEN (tm) and Contributors.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or
-without modification, are permitted provided that the following
-conditions are met:
-
-1. Redistributions in source code must retain the above
-copyright notice, this list of conditions, and the following
-disclaimer.
-
-2. Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions, and the following
-disclaimer in the documentation and/or other materials
-provided with the distribution.
-
-3. The name NAUMEN (tm) must not be used to
-endorse or promote products derived from this software without prior
-written permission from NAUMEN.
-
-4. The right to distribute this software or to use it for any
-purpose does not give you the right to use Servicemarks (sm)
-or Trademarks (tm) of NAUMEN.
-
-5. If any files originating from NAUMEN or Contributors are modified, you must
-cause the modified files to carry prominent notices stating
-that you changed the files and the date of any change.
-
-Disclaimer:
-
-THIS SOFTWARE IS PROVIDED BY NAUMEN "AS IS" AND ANY EXPRESSED
-OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NAUMEN
-OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
-
-This software consists of contributions made by NAUMEN
-and Contributors. Specific attributions are listed in the
-accompanying credits file.
-
diff --git a/poky/meta/files/common-licenses/Naumen b/poky/meta/files/common-licenses/Naumen
new file mode 100644
index 000000000..95411eece
--- /dev/null
+++ b/poky/meta/files/common-licenses/Naumen
@@ -0,0 +1,21 @@
+NAUMEN Public License
+
+This software is Copyright (c) NAUMEN (tm) and Contributors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions in source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name NAUMEN (tm) must not be used to endorse or promote products derived from this software without prior written permission from NAUMEN.
+
+4. The right to distribute this software or to use it for any purpose does not give you the right to use Servicemarks (sm) or Trademarks (tm) of NAUMEN.
+
+5. If any files originating from NAUMEN or Contributors are modified, you must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+Disclaimer:
+
+THIS SOFTWARE IS PROVIDED BY NAUMEN "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NAUMEN OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This software consists of contributions made by NAUMEN and Contributors. Specific attributions are listed in the accompanying credits file.
diff --git a/poky/meta/files/common-licenses/Net-SNMP b/poky/meta/files/common-licenses/Net-SNMP
new file mode 100644
index 000000000..9ec271072
--- /dev/null
+++ b/poky/meta/files/common-licenses/Net-SNMP
@@ -0,0 +1,107 @@
+ ---- Part 1: CMU/UCD copyright notice: (BSD like) -----
+
+ Copyright 1989, 1991, 1992 by Carnegie Mellon University
+
+ Derivative Work - 1996, 1998-2000 Copyright 1996, 1998-2000 The Regents of the University of California
+
+ All Rights Reserved
+
+Permission to use, copy, modify and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of CMU and The Regents of the University of California not be used in advertising or publicity pertaining to distribution of the software without specific written permission.
+
+CMU AND THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL CMU OR THE REGENTS OF THE UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM THE LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+---- Part 2: Networks Associates Technology, Inc copyright notice (BSD) -----
+
+Copyright (c) 2001-2003, Networks Associates Technology, Inc All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * Neither the name of the Networks Associates Technology, Inc nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 3: Cambridge Broadband Ltd. copyright notice (BSD) -----
+
+Portions of this code are copyright (c) 2001-2003, Cambridge Broadband Ltd. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * The name of Cambridge Broadband Ltd. may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 4: Sun Microsystems, Inc. copyright notice (BSD) -----
+
+Copyright © 2003 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved.
+
+Use is subject to license terms below.
+
+This distribution may include materials developed by third parties.
+
+Sun, Sun Microsystems, the Sun logo and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ * Neither the name of the Sun Microsystems, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 5: Sparta, Inc copyright notice (BSD) -----
+
+Copyright (c) 2003-2009, Sparta, Inc All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * Neither the name of Sparta, Inc nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 6: Cisco/BUPTNIC copyright notice (BSD) -----
+
+Copyright (c) 2004, Cisco, Inc and Information Network Center of Beijing University of Posts and Telecommunications. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * Neither the name of Cisco, Inc, Beijing University of Posts and Telecommunications, nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 7: Fabasoft R&D Software GmbH & Co KG copyright notice (BSD) -----
+
+Copyright (c) Fabasoft R&D Software GmbH & Co KG, 2003 oss@fabasoft.com Author: Bernhard Penz
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ * The name of Fabasoft R&D Software GmbH & Co KG or any of its subsidiaries, brand or product names may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 8: Apple Inc. copyright notice (BSD) -----
+
+Copyright (c) 2007 Apple Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ 3. Neither the name of Apple Inc. ("Apple") nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 9: ScienceLogic, LLC copyright notice (BSD) -----
+
+Copyright (c) 2009, ScienceLogic, LLC All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * Neither the name of ScienceLogic, LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/NetCDF b/poky/meta/files/common-licenses/NetCDF
new file mode 100644
index 000000000..1a5496528
--- /dev/null
+++ b/poky/meta/files/common-licenses/NetCDF
@@ -0,0 +1,7 @@
+Copyright 1993-2014 University Corporation for Atmospheric Research/Unidata
+
+Portions of this software were developed by the Unidata Program at the University Corporation for Atmospheric Research.
+
+Access and use of this software shall impose the following obligations and understandings on the user. The user is granted the right, without any fee or cost, to use, copy, modify, alter, enhance and distribute this software, and any derivative works thereof, and its supporting documentation for any purpose whatsoever, provided that this entire notice appears in all copies of the software, derivative works and supporting documentation. Further, UCAR requests that the user credit UCAR/Unidata in any publications that result from the use of this software or in any product that includes this software, although this is not an obligation. The names UCAR and/or Unidata, however, may not be used in any advertising or publicity to endorse or promote any products or commercial entity unless specific written permission is obtained from UCAR/Unidata. The user also understands that UCAR/Unidata is not obligated to provide the user with any support, consulting, training or assistance of any kind with regard to the use, operation and performance of this software nor to provide the user with any updates, revisions, new versions or "bug fixes."
+
+THIS SOFTWARE IS PROVIDED BY UCAR/UNIDATA "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UCAR/UNIDATA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/poky/meta/files/common-licenses/Newsletr b/poky/meta/files/common-licenses/Newsletr
new file mode 100644
index 000000000..e91de7bd0
--- /dev/null
+++ b/poky/meta/files/common-licenses/Newsletr
@@ -0,0 +1,7 @@
+Copyright 1989--2004 by Hunter Goatley.
+
+Permission is granted to anyone to use this software for any purpose on any computer system, and to redistribute it freely, subject to the following restrictions:
+
+1. This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+2. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software.
diff --git a/poky/meta/files/common-licenses/Noweb b/poky/meta/files/common-licenses/Noweb
new file mode 100644
index 000000000..8271989fb
--- /dev/null
+++ b/poky/meta/files/common-licenses/Noweb
@@ -0,0 +1,9 @@
+Noweb is copyright 1989-2000 by Norman Ramsey. All rights reserved.
+
+Noweb is protected by copyright. It is not public-domain software or shareware, and it is not protected by a ``copyleft'' agreement like the one used by the Free Software Foundation.
+
+Noweb is available free for any use in any field of endeavor. You may redistribute noweb in whole or in part provided you acknowledge its source and include this COPYRIGHT file. You may modify noweb and create derived works, provided you retain this copyright notice, but the result may not be called noweb without my written consent.
+
+You may sell noweb if you wish. For example, you may sell a CD-ROM including noweb.
+
+You may sell a derived work, provided that all source code for your derived work is available, at no additional charge, to anyone who buys your derived work in any form. You must give permisson for said source code to be used and modified under the terms of this license. You must state clearly that your work uses or is based on noweb and that noweb is available free of change. You must also request that bug reports on your work be reported to you.
diff --git a/poky/meta/files/common-licenses/O-UDA-1.0 b/poky/meta/files/common-licenses/O-UDA-1.0
new file mode 100644
index 000000000..cf4b2bc9a
--- /dev/null
+++ b/poky/meta/files/common-licenses/O-UDA-1.0
@@ -0,0 +1,47 @@
+Open Use of Data Agreement v1.0
+
+This is the Open Use of Data Agreement, Version 1.0 (the "O-UDA"). Capitalized terms are defined in Section 5. Data Provider and you agree as follows:
+
+1. Provision of the Data
+
+ 1.1. You may use, modify, and distribute the Data made available to you by the Data Provider under this O-UDA if you follow the O-UDA's terms.
+
+ 1.2. Data Provider will not sue you or any Downstream Recipient for any claim arising out of the use, modification, or distribution of the Data provided you meet the terms of the O-UDA.
+
+ 1.3 This O-UDA does not restrict your use, modification, or distribution of any portions of the Data that are in the public domain or that may be used, modified, or distributed under any other legal exception or limitation.
+
+2. No Restrictions on Use or Results
+
+ 2.1. The O-UDA does not impose any restriction with respect to:
+
+ 2.1.1. the use or modification of Data; or
+
+ 2.1.2. the use, modification, or distribution of Results.
+
+3. Redistribution of Data
+
+ 3.1. You may redistribute the Data under terms of your choice, so long as:
+
+ 3.1.1. You include with any Data you redistribute all credit or attribution information that you received with the Data, and your terms require any Downstream Recipient to do the same; and
+
+ 3.1.2. Your terms include a warranty disclaimer and limitation of liability for Upstream Data Providers at least as broad as those contained in Section 4.2 and 4.3 of the O-UDA.
+
+4. No Warranty, Limitation of Liability
+
+ 4.1. Data Provider does not represent or warrant that it has any rights whatsoever in the Data.
+
+ 4.2. THE DATA IS PROVIDED ON AN “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+ 4.3. NEITHER DATA PROVIDER NOR ANY UPSTREAM DATA PROVIDER SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE DATA OR RESULTS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+5. Definitions
+
+ 5.1. "Data" means the material you receive under the O-UDA in modified or unmodified form, but not including Results.
+
+ 5.2. "Data Provider" means the source from which you receive the Data and with whom you enter into the O-UDA.
+
+ 5.3. "Downstream Recipient" means any person or persons who receives the Data directly or indirectly from you in accordance with the O-UDA.
+
+ 5.4. "Result" means anything that you develop or improve from your use of Data that does not include more than a de minimis portion of the Data on which the use is based. Results may include de minimis portions of the Data necessary to report on or explain use that has been conducted with the Data, such as figures in scientific papers, but do not include more. Artificial intelligence models trained on Data (and which do not include more than a de minimis portion of Data) are Results.
+
+ 5.5. "Upstream Data Providers" means the source or sources from which the Data Provider directly or indirectly received, under the terms of the O-UDA, material that is included in the Data.
diff --git a/poky/meta/files/common-licenses/OCCT-PL b/poky/meta/files/common-licenses/OCCT-PL
new file mode 100644
index 000000000..85df3c73c
--- /dev/null
+++ b/poky/meta/files/common-licenses/OCCT-PL
@@ -0,0 +1,112 @@
+Open CASCADE Technology Public License
+Version 6.6, April 2013
+
+OPEN CASCADE releases and makes publicly available the source code of the software Open CASCADE Technology to the free software development community under the terms and conditions of this license.
+
+It is not the purpose of this license to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this license has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+Please read this license carefully and completely before downloading this software. By downloading, using, modifying, distributing and sublicensing this software, you indicate your acceptance to be bound by the terms and conditions of this license. If you do not want to accept or cannot accept for any reasons the terms and conditions of this license, please do not download or use in any manner this software.
+1. Definitions
+
+Unless there is something in the subject matter or in the context inconsistent therewith, the capitalized terms used in this License shall have the following meaning.
+
+"Applicable Intellectual Property Rights" means (a) with respect to the Initial Developer, any rights under patents or patents applications or other intellectual property rights that are now or hereafter acquired, owned by or assigned to the Initial Developer and that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce, modify, distribute or sublicense the Original Code without infringement; and (b) with respect to You or any Contributor, any rights under patents or patents applications or other intellectual property rights that are now or hereafter acquired, owned by or assigned to You or to such Contributor and that cover subject matter contained in Your Modifications or in such Contributor's Modifications, taken alone or in combination with Original Code.
+
+"Contributor" means each individual or legal entity that creates or contributes to the creation of any Modification, including the Initial Developer.
+
+"Derivative Program": means a new program combining the Software or portions thereof with other source code not governed by the terms of this License.
+
+"Initial Developer": means OPEN CASCADE, with main offices at 1, place des Frères Montgolfier, 78280, Guyancourt, France.
+
+"Modifications": mean any addition to, deletion from or change to the substance or the structure of the Software. When source code of the Software is released as a series of files, a Modification is: (a) any addition to, deletion from or change to the contents of a file containing the Software or (b) any new file or other representation of computer program statements that contains any part of the Software. By way of example, Modifications include any debug of, or improvement to, the Original Code or any of its components or portions as well as its next versions or releases thereof.
+
+"Original Code": means (a) the source code of the software Open CASCADE Technology originally made available by the Initial Developer under this License, including the source code of any updates or upgrades of the Original Code and (b) the object code compiled from such source code and originally made available by Initial Developer under this License.
+
+"Software": means the Original Code, the Modifications, the combination of Original Code and any Modifications or any respective portions thereof.
+
+"You" or "Your": means an individual or a legal entity exercising rights under this License
+2. Acceptance of license
+By using, reproducing, modifying, distributing or sublicensing the Software or any portion thereof, You expressly indicate Your acceptance of the terms and conditions of this License and undertake to act in accordance with all the provisions of this License applicable to You.
+3. Scope and purpose
+This License applies to the Software and You may not use, reproduce, modify, distribute, sublicense or circulate the Software, or any portion thereof, except as expressly provided under this License. Any attempt to otherwise use, reproduce, modify, distribute or sublicense the Software is void and will automatically terminate Your rights under this License.
+4. Contributor license
+Subject to the terms and conditions of this License, the Initial Developer and each of the Contributors hereby grant You a world-wide, royalty-free, irrevocable and non-exclusive license under the Applicable Intellectual Property Rights they own or control, to use, reproduce, modify, distribute and sublicense the Software provided that:
+
+ You reproduce in all copies of the Software the copyright and other proprietary notices and disclaimers of the Initial Developer as they appear in the Original Code and attached hereto as Schedule "A" and any other notices or disclaimers attached to the Software and keep intact all notices in the Original Code that refer to this License and to the absence of any warranty;
+
+ You include a copy of this License with every copy of the Software You distribute;
+
+ If you distribute or sublicense the Software (as modified by You or on Your behalf as the case may be), You cause such Software to be licensed as a whole, at no charge, to all third parties, under the terms and conditions of the License, making in particular available to all third parties the source code of the Software;
+
+ You document all Your Modifications, indicate the date of each such Modification, designate the version of the Software You used, prominently include a file carrying such information with respect to the Modifications and duplicate the copyright and other proprietary notices and disclaimers attached hereto as Schedule "B" or any other notices or disclaimers attached to the Software with your Modifications.
+
+For greater certainty, it is expressly understood that You may freely create Derivative Programs (without any obligation to publish such Derivative Program) and distribute same as a single product. In such case, You must ensure that all the requirements of this License are fulfilled for the Software or any portion thereof.
+
+5. Your license
+You hereby grant all Contributors and anyone who becomes a party under this License a world-wide, non-exclusive, royalty-free and irrevocable license under the Applicable Intellectual Property Rights owned or controlled by You, to use, reproduce, modify, distribute and sublicense all Your Modifications under the terms and conditions of this License.
+
+6. Software subject to license
+Your Modifications shall be governed by the terms and conditions of this License. You are not authorized to impose any other terms or conditions than those prevailing under this License when You distribute and/or sublicense the Software, save and except as permitted under Section 7 hereof.
+
+7. Additional terms
+You may choose to offer, on a non-exclusive basis, and to charge a fee for any warranty, support, maintenance, liability obligations or other rights consistent with the scope of this License with respect to the Software (the "Additional Terms") to the recipients of the Software. However, You may do so only on Your own behalf and on Your sole and exclusive responsibility. You must obtain the recipient's agreement that any such Additional Terms are offered by You alone, and You hereby agree to indemnify, defend and hold the Initial Developer and any Contributor harmless for any liability incurred by or claims asserted against the Initial Developer or any Contributors with respect to any such Additional Terms.
+
+8. Disclaimer of warranty
+The Software is provided under this License on an "as is" basis, without warranty of any kind, including without limitation, warranties that the Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Software is with You.
+
+9. Liability
+Under no circumstances shall You, the Initial Developer or any Contributor be liable to any person for any direct or indirect damages of any kind including, without limitation, damages for loss of goodwill, loss of data, work stoppage, computer failure or malfunction or any and all other commercial damages or losses resulting from or relating to this License or indirectly to the use of the Software.
+
+10. Trademark
+This License does not grant any rights to use the trademarks, trade names and domain names "MATRA", "EADS Matra Datavision", "CAS.CADE", "Open CASCADE", "opencascade.com" and "opencascade.org" or any other trademarks, trade names or domain names used or owned by the Initial Developer.
+
+11. Copyright
+The Initial Developer retains all rights, title and interest in and to the Original Code. You may not remove the copyright © notice which appears when You download the Software.
+
+12. Term
+This License is granted to You for a term equal to the remaining period of protection covered by the intellectual property rights applicable to the Original Code.
+
+13. Termination
+In case of termination, as provided in Section 3 above, You agree to immediately stop any further use, reproduction, modification, distribution and sublicensing of the Software and to destroy all copies of the Software that are in Your possession or control. All sublicenses of the Software which have been properly granted prior to termination shall survive any termination of this License. In addition, Sections 5, 8 to 11, 13.2 and 15.2 of this License, in reason of their nature, shall survive the termination of this License for a period of fifteen (15) years.
+
+14. Versions of the license
+The Initial Developer may publish new versions of this License from time to time. Once Original Code has been published under a particular version of this License, You may choose to continue to use it under the terms and conditions of that version or use the Original Code under the terms of any subsequent version of this License published by the Initial Developer.
+
+15. Miscellaneous
+ 15.1 Relationship of the Parties This License will not be construed as creating an agency, partnership, joint venture or any other form of legal association between You and the Initial Developer, and You will not represent to the contrary, whether expressly, by implication or otherwise.
+
+ 15.2 Independent Development Nothing in this License will impair the Initial Developer's right to acquire, license, develop, have others develop for it, market or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Modifications, Derivative Programs, technology or products that You may develop, produce, market or distribute.
+
+ 15.3 Severability If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License will be enforced to the maximum extent permissible so as to effect the economic benefits and intent of the parties, and the remainder of this License will continue in full force and extent.
+
+END OF THE TERMS AND CONDITIONS OF THIS LICENSE
+
+OPEN CASCADE is a French société par actions simplifiée having its registered head office at 1, place des Frères Montgolfier, 78280, Guyancourt, France and main offices at 1, place des Frères Montgolfier, 78280, Guyancourt, France. Its web site is located at the following address opencascade.com
+
+Open CASCADE Technology Public License
+Schedule "A"
+
+ The content of this file is subject to the Open CASCADE Technology Public License (the "License"). You may not use the content of this file except in compliance with the License. Please obtain a copy of the License at opencascade.com and read it completely before using this file.
+
+ The Initial Developer of the Original Code is OPEN CASCADE, with main offices at 1, place des Frères Montgolfier, 78280, Guyancourt, France. The Original Code is copyright © OPEN CASCADE SAS, 2001. All rights reserved. "The Original Code and all software distributed under the License are distributed on an "AS IS" basis, without warranty of any kind, and the Initial Developer hereby disclaims all such warranties, including without limitation, any warranties of merchantability, fitness for a particular purpose or non-infringement.
+
+ Please see the License for the specific terms and conditions governing rights and limitations under the License".
+ End of Schedule "A"
+
+Open CASCADE Technology Public License
+Schedule "B"
+
+ "The content of this file is subject to the Open CASCADE Technology Public License (the "License"). You may not use the content of this file except in compliance with the License. Please obtain a copy of the License at opencascade.com and read it completely before using this file.
+
+ The Initial Developer of the Original Code is OPEN CASCADE, with main offices at 1, place des Frères Montgolfier, 78280, Guyancourt, France. The Original Code is copyright © Open CASCADE SAS, 2001. All rights reserved.
+
+ Modifications to the Original Code have been made by ________________________. Modifications are copyright © [Year to be included]. All rights reserved.
+
+ The software Open CASCADE Technology and all software distributed under the License are distributed on an "AS IS" basis, without warranty of any kind, and the Initial Developer hereby disclaims all such warranties, including without limitation, any warranties of merchantability, fitness for a particular purpose or non-infringement.
+
+ Please see the License for the specific terms and conditions governing rights and limitations under the License"
+ End of Schedule "B"
diff --git a/poky/meta/files/common-licenses/ODC-By-1.0 b/poky/meta/files/common-licenses/ODC-By-1.0
new file mode 100644
index 000000000..15115ca9c
--- /dev/null
+++ b/poky/meta/files/common-licenses/ODC-By-1.0
@@ -0,0 +1,195 @@
+# ODC Attribution License (ODC-By)
+
+### Preamble
+
+The Open Data Commons Attribution License is a license agreement intended to allow users to freely share, modify, and use this Database subject only to the attribution requirements set out in Section 4.
+
+Databases can contain a wide variety of types of content (images, audiovisual material, and sounds all in the same database, for example), and so this license only governs the rights over the Database, and not the contents of the Database individually. Licensors may therefore wish to use this license together with another license for the contents.
+
+Sometimes the contents of a database, or the database itself, can be covered by other rights not addressed here (such as private contracts, trademark over the name, or privacy rights / data protection rights over information in the contents), and so you are advised that you may have to consult other documents or clear other rights before doing activities not covered by this License.
+
+------
+
+The Licensor (as defined below)
+
+and
+
+You (as defined below)
+
+agree as follows:
+
+### 1.0 Definitions of Capitalised Words
+
+"Collective Database" – Means this Database in unmodified form as part of a collection of independent databases in themselves that together are assembled into a collective whole. A work that constitutes a Collective Database will not be considered a Derivative Database.
+
+"Convey" – As a verb, means Using the Database, a Derivative Database, or the Database as part of a Collective Database in any way that enables a Person to make or receive copies of the Database or a Derivative Database. Conveying does not include interaction with a user through a computer network, or creating and Using a Produced Work, where no transfer of a copy of the Database or a Derivative Database occurs.
+
+"Contents" – The contents of this Database, which includes the information, independent works, or other material collected into the Database. For example, the contents of the Database could be factual data or works such as images, audiovisual material, text, or sounds.
+
+"Database" – A collection of material (the Contents) arranged in a systematic or methodical way and individually accessible by electronic or other means offered under the terms of this License.
+
+"Database Directive" – Means Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended or succeeded.
+
+"Database Right" – Means rights resulting from the Chapter III ("sui generis") rights in the Database Directive (as amended and as transposed by member states), which includes the Extraction and Re-utilisation of the whole or a Substantial part of the Contents, as well as any similar rights available in the relevant jurisdiction under Section 10.4.
+
+"Derivative Database" – Means a database based upon the Database, and includes any translation, adaptation, arrangement, modification, or any other alteration of the Database or of a Substantial part of the Contents. This includes, but is not limited to, Extracting or Re-utilising the whole or a Substantial part of the Contents in a new Database.
+
+"Extraction" – Means the permanent or temporary transfer of all or a Substantial part of the Contents to another medium by any means or in any form.
+
+"License" – Means this license agreement and is both a license of rights such as copyright and Database Rights and an agreement in contract.
+
+"Licensor" – Means the Person that offers the Database under the terms of this License.
+
+"Person" – Means a natural or legal person or a body of persons corporate or incorporate.
+
+"Produced Work" – a work (such as an image, audiovisual material, text, or sounds) resulting from using the whole or a Substantial part of the Contents (via a search or other query) from this Database, a Derivative Database, or this Database as part of a Collective Database.
+
+"Publicly" – means to Persons other than You or under Your control by either more than 50% ownership or by the power to direct their activities (such as contracting with an independent consultant).
+
+"Re-utilisation" – means any form of making available to the public all or a Substantial part of the Contents by the distribution of copies, by renting, by online or other forms of transmission.
+
+"Substantial" – Means substantial in terms of quantity or quality or a combination of both. The repeated and systematic Extraction or Re-utilisation of insubstantial parts of the Contents may amount to the Extraction or Re-utilisation of a Substantial part of the Contents.
+
+"Use" – As a verb, means doing any act that is restricted by copyright or Database Rights whether in the original medium or any other; and includes without limitation distributing, copying, publicly performing, publicly displaying, and preparing derivative works of the Database, as well as modifying the Database as may be technically necessary to use it in a different mode or format.
+
+"You" – Means a Person exercising rights under this License who has not previously violated the terms of this License with respect to the Database, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+Words in the singular include the plural and vice versa.
+
+### 2.0 What this License covers
+
+2.1. Legal effect of this document. This License is:
+
+ a. A license of applicable copyright and neighbouring rights;
+
+ b. A license of the Database Right; and
+
+ c. An agreement in contract between You and the Licensor.
+
+2.2 Legal rights covered. This License covers the legal rights in the Database, including:
+
+ a. Copyright. Any copyright or neighbouring rights in the Database. The copyright licensed includes any individual elements of the Database, but does not cover the copyright over the Contents independent of this Database. See Section 2.4 for details. Copyright law varies between jurisdictions, but is likely to cover: the Database model or schema, which is the structure, arrangement, and organisation of the Database, and can also include the Database tables and table indexes; the data entry and output sheets; and the Field names of Contents stored in the Database;
+
+ b. Database Rights. Database Rights only extend to the Extraction and Re-utilisation of the whole or a Substantial part of the Contents. Database Rights can apply even when there is no copyright over the Database. Database Rights can also apply when the Contents are removed from the Database and are selected and arranged in a way that would not infringe any applicable copyright; and
+
+ c. Contract. This is an agreement between You and the Licensor for access to the Database. In return you agree to certain conditions of use on this access as outlined in this License.
+
+2.3 Rights not covered.
+
+ a. This License does not apply to computer programs used in the making or operation of the Database;
+
+ b. This License does not cover any patents over the Contents or the Database; and
+
+ c. This License does not cover any trademarks associated with the Database.
+
+2.4 Relationship to Contents in the Database. The individual items of the Contents contained in this Database may be covered by other rights, including copyright, patent, data protection, privacy, or personality rights, and this License does not cover any rights (other than Database Rights or in contract) in individual Contents contained in the Database. For example, if used on a Database of images (the Contents), this License would not apply to copyright over individual images, which could have their own separate licenses, or one single license covering all of the rights over the images.
+
+### 3.0 Rights granted
+
+3.1 Subject to the terms and conditions of this License, the Licensor grants to You a worldwide, royalty-free, non-exclusive, terminable (but only under Section 9) license to Use the Database for the duration of any applicable copyright and Database Rights. These rights explicitly include commercial use, and do not exclude any field of endeavour. To the extent possible in the relevant jurisdiction, these rights may be exercised in all media and formats whether now known or created in the future.
+
+The rights granted cover, for example:
+
+ a. Extraction and Re-utilisation of the whole or a Substantial part of the Contents;
+
+ b. Creation of Derivative Databases;
+
+ c. Creation of Collective Databases;
+
+ d. Creation of temporary or permanent reproductions by any means and in any form, in whole or in part, including of any Derivative Databases or as a part of Collective Databases; and
+
+ e. Distribution, communication, display, lending, making available, or performance to the public by any means and in any form, in whole or in part, including of any Derivative Database or as a part of Collective Databases.
+
+3.2 Compulsory license schemes. For the avoidance of doubt:
+
+ a. Non-waivable compulsory license schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+
+ b. Waivable compulsory license schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
+
+ c. Voluntary license schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
+
+3.3 The right to release the Database under different terms, or to stop distributing or making available the Database, is reserved. Note that this Database may be multiple-licensed, and so You may have the choice of using alternative licenses for this Database. Subject to Section 10.4, all other rights not expressly granted by Licensor are reserved.
+
+### 4.0 Conditions of Use
+
+4.1 The rights granted in Section 3 above are expressly made subject to Your complying with the following conditions of use. These are important conditions of this License, and if You fail to follow them, You will be in material breach of its terms.
+
+4.2 Notices. If You Publicly Convey this Database, any Derivative Database, or the Database as part of a Collective Database, then You must:
+
+ a. Do so only under the terms of this License;
+
+ b. Include a copy of this License or its Uniform Resource Identifier (URI) with the Database or Derivative Database, including both in the Database or Derivative Database and in any relevant documentation;
+
+ c. Keep intact any copyright or Database Right notices and notices that refer to this License; and
+
+ d. If it is not possible to put the required notices in a particular file due to its structure, then You must include the notices in a location (such as a relevant directory) where users would be likely to look for it.
+
+4.3 Notice for using output (Contents). Creating and Using a Produced Work does not require the notice in Section 4.2. However, if you Publicly Use a Produced Work, You must include a notice associated with the Produced Work reasonably calculated to make any Person that uses, views, accesses, interacts with, or is otherwise exposed to the Produced Work aware that Content was obtained from the Database, Derivative Database, or the Database as part of a Collective Database, and that it is available under this License.
+
+ a. Example notice. The following text will satisfy notice under Section 4.3:
+
+ Contains information from DATABASE NAME which is made available under the ODC Attribution License.
+
+DATABASE NAME should be replaced with the name of the Database and a hyperlink to the location of the Database. "ODC Attribution License" should contain a hyperlink to the URI of the text of this License. If hyperlinks are not possible, You should include the plain text of the required URI's with the above notice.
+
+4.4 Licensing of others. You may not sublicense the Database. Each time You communicate the Database, the whole or Substantial part of the Contents, or any Derivative Database to anyone else in any way, the Licensor offers to the recipient a license to the Database on the same terms and conditions as this License. You are not responsible for enforcing compliance by third parties with this License, but You may enforce any rights that You have over a Derivative Database. You are solely responsible for any modifications of a Derivative Database made by You or another Person at Your direction. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License.
+
+### 5.0 Moral rights
+
+5.1 Moral rights. This section covers moral rights, including any rights to be identified as the author of the Database or to object to treatment that would otherwise prejudice the author's honour and reputation, or any other derogatory treatment:
+
+ a. For jurisdictions allowing waiver of moral rights, Licensor waives all moral rights that Licensor may have in the Database to the fullest extent possible by the law of the relevant jurisdiction under Section 10.4;
+
+ b. If waiver of moral rights under Section 5.1 a in the relevant jurisdiction is not possible, Licensor agrees not to assert any moral rights over the Database and waives all claims in moral rights to the fullest extent possible by the law of the relevant jurisdiction under Section 10.4; and
+
+ c. For jurisdictions not allowing waiver or an agreement not to assert moral rights under Section 5.1 a and b, the author may retain their moral rights over certain aspects of the Database.
+
+Please note that some jurisdictions do not allow for the waiver of moral rights, and so moral rights may still subsist over the Database in some jurisdictions.
+
+### 6.0 Fair dealing, Database exceptions, and other rights not affected
+
+6.1 This License does not affect any rights that You or anyone else may independently have under any applicable law to make any use of this Database, including without limitation:
+
+ a. Exceptions to the Database Right including: Extraction of Contents from non-electronic Databases for private purposes, Extraction for purposes of illustration for teaching or scientific research, and Extraction or Re-utilisation for public security or an administrative or judicial procedure.
+
+ b. Fair dealing, fair use, or any other legally recognised limitation or exception to infringement of copyright or other applicable laws.
+
+6.2 This License does not affect any rights of lawful users to Extract and Re-utilise insubstantial parts of the Contents, evaluated quantitatively or qualitatively, for any purposes whatsoever, including creating a Derivative Database (subject to other rights over the Contents, see Section 2.4). The repeated and systematic Extraction or Re-utilisation of insubstantial parts of the Contents may however amount to the Extraction or Re-utilisation of a Substantial part of the Contents.
+
+### 7.0 Warranties and Disclaimer
+
+7.1 The Database is licensed by the Licensor "as is" and without any warranty of any kind, either express, implied, or arising by statute, custom, course of dealing, or trade usage. Licensor specifically disclaims any and all implied warranties or conditions of title, non-infringement, accuracy or completeness, the presence or absence of errors, fitness for a particular purpose, merchantability, or otherwise. Some jurisdictions do not allow the exclusion of implied warranties, so this exclusion may not apply to You.
+
+### 8.0 Limitation of liability
+
+8.1 Subject to any liability that may not be excluded or limited by law, the Licensor is not liable for, and expressly excludes, all liability for loss or damage however and whenever caused to anyone by any use under this License, whether by You or by anyone else, and whether caused by any fault on the part of the Licensor or not. This exclusion of liability includes, but is not limited to, any special, incidental, consequential, punitive, or exemplary damages such as loss of revenue, data, anticipated profits, and lost business. This exclusion applies even if the Licensor has been advised of the possibility of such damages.
+
+8.2 If liability may not be excluded by law, it is limited to actual and direct financial loss to the extent it is caused by proved negligence on the part of the Licensor.
+
+### 9.0 Termination of Your rights under this License
+
+9.1 Any breach by You of the terms and conditions of this License automatically terminates this License with immediate effect and without notice to You. For the avoidance of doubt, Persons who have received the Database, the whole or a Substantial part of the Contents, Derivative Databases, or the Database as part of a Collective Database from You under this License will not have their licenses terminated provided their use is in full compliance with this License or a license granted under Section 4.8 of this License. Sections 1, 2, 7, 8, 9 and 10 will survive any termination of this License.
+
+9.2 If You are not in breach of the terms of this License, the Licensor will not terminate Your rights under it.
+
+9.3 Unless terminated under Section 9.1, this License is granted to You for the duration of applicable rights in the Database.
+
+9.4 Reinstatement of rights. If you cease any breach of the terms and conditions of this License, then your full rights under this License will be reinstated:
+
+ a. Provisionally and subject to permanent termination until the 60th day after cessation of breach;
+
+ b. Permanently on the 60th day after cessation of breach unless otherwise reasonably notified by the Licensor; or
+
+ c. Permanently if reasonably notified by the Licensor of the violation, this is the first time You have received notice of violation of this License from the Licensor, and You cure the violation prior to 30 days after your receipt of the notice.
+
+9.5 Notwithstanding the above, Licensor reserves the right to release the Database under different license terms or to stop distributing or making available the Database. Releasing the Database under different license terms or stopping the distribution of the Database will not withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+### 10.0 General
+
+10.1 If any provision of this License is held to be invalid or unenforceable, that must not affect the validity or enforceability of the remainder of the terms and conditions of this License and each remaining provision of this License shall be valid and enforced to the fullest extent permitted by law.
+
+10.2 This License is the entire agreement between the parties with respect to the rights granted here over the Database. It replaces any earlier understandings, agreements or representations with respect to the Database.
+
+10.3 If You are in breach of the terms of this License, You will not be entitled to rely on the terms of this License or to complain of any breach by the Licensor.
+
+10.4 Choice of law. This License takes effect in and will be governed by the laws of the relevant jurisdiction in which the License terms are sought to be enforced. If the standard suite of rights granted under applicable copyright law and Database Rights in the relevant jurisdiction includes additional rights not granted under this License, these additional rights are granted in this License in order to meet the terms of this License.
diff --git a/poky/meta/files/common-licenses/OFL-1.0 b/poky/meta/files/common-licenses/OFL-1.0
new file mode 100644
index 000000000..9673cd20f
--- /dev/null
+++ b/poky/meta/files/common-licenses/OFL-1.0
@@ -0,0 +1,49 @@
+SIL OPEN FONT LICENSE
+
+Version 1.0 - 22 November 2005
+
+PREAMBLE
+
+The goals of the Open Font License (OFL) are to stimulate worldwide development of cooperative font projects, to support the font creation efforts of academic and linguistic communities, and to provide an open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and sold with any software provided that the font names of derivative works are changed. The fonts and derivatives, however, cannot be released under any other type of license.
+
+DEFINITIONS
+
+"Font Software" refers to any and all of the following:
+
+ - font files
+ - data files
+ - source code
+ - build scripts
+ - documentation
+
+"Reserved Font Name" refers to the Font Software name as seen by users and any other names as specified after the copyright statement.
+
+"Standard Version" refers to the collection of Font Software components as distributed by the Copyright Holder.
+
+"Modified Version" refers to any derivative font software made by adding to, deleting, or substituting — in part or in whole -- any of the components of the Standard Version, by changing formats or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Standard or Modified Versions, may be sold by itself.
+
+2) Standard or Modified Versions of the Font Software may be bundled, redistributed and sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s), in part or in whole, unless explicit written permission is granted by the Copyright Holder. This restriction applies to all references stored in the Font Software, such as the font menu name and other font description fields, which are used to differentiate the font from others.
+
+4) The name(s) of the Copyright Holder or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed using this license, and may not be distributed under any other license.
+
+TERMINATION
+
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/poky/meta/files/common-licenses/OFL-1.0-RFN b/poky/meta/files/common-licenses/OFL-1.0-RFN
new file mode 100644
index 000000000..9673cd20f
--- /dev/null
+++ b/poky/meta/files/common-licenses/OFL-1.0-RFN
@@ -0,0 +1,49 @@
+SIL OPEN FONT LICENSE
+
+Version 1.0 - 22 November 2005
+
+PREAMBLE
+
+The goals of the Open Font License (OFL) are to stimulate worldwide development of cooperative font projects, to support the font creation efforts of academic and linguistic communities, and to provide an open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and sold with any software provided that the font names of derivative works are changed. The fonts and derivatives, however, cannot be released under any other type of license.
+
+DEFINITIONS
+
+"Font Software" refers to any and all of the following:
+
+ - font files
+ - data files
+ - source code
+ - build scripts
+ - documentation
+
+"Reserved Font Name" refers to the Font Software name as seen by users and any other names as specified after the copyright statement.
+
+"Standard Version" refers to the collection of Font Software components as distributed by the Copyright Holder.
+
+"Modified Version" refers to any derivative font software made by adding to, deleting, or substituting — in part or in whole -- any of the components of the Standard Version, by changing formats or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Standard or Modified Versions, may be sold by itself.
+
+2) Standard or Modified Versions of the Font Software may be bundled, redistributed and sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s), in part or in whole, unless explicit written permission is granted by the Copyright Holder. This restriction applies to all references stored in the Font Software, such as the font menu name and other font description fields, which are used to differentiate the font from others.
+
+4) The name(s) of the Copyright Holder or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed using this license, and may not be distributed under any other license.
+
+TERMINATION
+
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/poky/meta/files/common-licenses/OFL-1.0-no-RFN b/poky/meta/files/common-licenses/OFL-1.0-no-RFN
new file mode 100644
index 000000000..9673cd20f
--- /dev/null
+++ b/poky/meta/files/common-licenses/OFL-1.0-no-RFN
@@ -0,0 +1,49 @@
+SIL OPEN FONT LICENSE
+
+Version 1.0 - 22 November 2005
+
+PREAMBLE
+
+The goals of the Open Font License (OFL) are to stimulate worldwide development of cooperative font projects, to support the font creation efforts of academic and linguistic communities, and to provide an open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and sold with any software provided that the font names of derivative works are changed. The fonts and derivatives, however, cannot be released under any other type of license.
+
+DEFINITIONS
+
+"Font Software" refers to any and all of the following:
+
+ - font files
+ - data files
+ - source code
+ - build scripts
+ - documentation
+
+"Reserved Font Name" refers to the Font Software name as seen by users and any other names as specified after the copyright statement.
+
+"Standard Version" refers to the collection of Font Software components as distributed by the Copyright Holder.
+
+"Modified Version" refers to any derivative font software made by adding to, deleting, or substituting — in part or in whole -- any of the components of the Standard Version, by changing formats or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Standard or Modified Versions, may be sold by itself.
+
+2) Standard or Modified Versions of the Font Software may be bundled, redistributed and sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s), in part or in whole, unless explicit written permission is granted by the Copyright Holder. This restriction applies to all references stored in the Font Software, such as the font menu name and other font description fields, which are used to differentiate the font from others.
+
+4) The name(s) of the Copyright Holder or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed using this license, and may not be distributed under any other license.
+
+TERMINATION
+
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/poky/meta/files/common-licenses/OFL-1.1-RFN b/poky/meta/files/common-licenses/OFL-1.1-RFN
new file mode 100644
index 000000000..6fe84ee21
--- /dev/null
+++ b/poky/meta/files/common-licenses/OFL-1.1-RFN
@@ -0,0 +1,43 @@
+SIL OPEN FONT LICENSE
+
+Version 1.1 - 26 February 2007
+
+PREAMBLE
+
+The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+
+"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
+
+TERMINATION
+
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/poky/meta/files/common-licenses/OFL-1.1-no-RFN b/poky/meta/files/common-licenses/OFL-1.1-no-RFN
new file mode 100644
index 000000000..6fe84ee21
--- /dev/null
+++ b/poky/meta/files/common-licenses/OFL-1.1-no-RFN
@@ -0,0 +1,43 @@
+SIL OPEN FONT LICENSE
+
+Version 1.1 - 26 February 2007
+
+PREAMBLE
+
+The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+
+"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
+
+TERMINATION
+
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/poky/meta/files/common-licenses/OGC-1.0 b/poky/meta/files/common-licenses/OGC-1.0
new file mode 100644
index 000000000..1b60c1fc7
--- /dev/null
+++ b/poky/meta/files/common-licenses/OGC-1.0
@@ -0,0 +1,17 @@
+OGC Software License, Version 1.0
+
+This OGC work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
+
+Permission to use, copy, and modify this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make:
+
+1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+
+2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © [$date-of-document] Open Geospatial Consortium, Inc. All Rights Reserved. http://www.ogc.org/ogc/legal (Hypertext is preferred, but a textual representation is permitted.)
+
+3. Notice of any changes or modifications to the OGC files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
diff --git a/poky/meta/files/common-licenses/OGDL-Taiwan-1.0 b/poky/meta/files/common-licenses/OGDL-Taiwan-1.0
new file mode 100644
index 000000000..7f9e64b5c
--- /dev/null
+++ b/poky/meta/files/common-licenses/OGDL-Taiwan-1.0
@@ -0,0 +1,141 @@
+政府資料開放授權條款-第1版
+
+中華民國104年7月27日訂定
+
+為便利民眾共享及應用政府資料、促進及活化政府資料應用、結合民間創意提升政府資料品質及價值、優化政府服務品質,訂定本條款。
+
+一、定義
+
+(一)資料提供機關:指將職權範圍內取得或作成之各類電子資料,透過本條款釋出予公眾之政府機關(構)、公營事業機構、公立學校及行政法人。
+
+(二)使用者:指依本條款規定取得開放資料,並對其利用之自然人、法人或團體,包括依本條款授權使用者再轉授權利用之人或團體。
+
+(三)開放資料:指資料提供機關擁有完整著作財產權,或經授權得再轉授權第三人利用之資料,並以公開、可修改,且無不必要技術限制之格式提供者,包括但不限於下列著作:
+
+ 1. 編輯著作:選擇、編排具有創作性,而可受著作權法保護之資料庫或其他結構化資料組合。
+
+ 2. 素材:指開放資料集合物中,其他可受著作權法保護之獨立著作。
+
+(四)衍生物:指依本條款所提供之開放資料,進行後續重製、改作、編輯或為其他方式利用之修改物。
+
+(五)資訊:指不受著作權法保護之純粹紀錄,並隨同開放資料一併提供者。前揭資訊除本條款授與權利之規定外,比照有關開放資料之規定辦理。
+
+二、授與權利
+
+(一)各機關所提供之開放資料,授權使用者不限目的、時間及地域、非專屬、不可撤回、免授權金進行利用,利用之方式包括重製、散布、公開傳輸、公開播送、公開口述、公開上映、公開演出、編輯、改作,包括但不限於開發各種產品或服務型態之衍生物。
+
+(二)使用者得再轉授權他人為前項之利用。
+
+(三)使用者依本條款規定利用開放資料,無須另行取得各資料提供機關之書面或其他方式授權。
+
+(四)本條款之授權範圍不包括專利權及商標權。
+
+三、課予義務
+
+(一)使用者利用依本條款提供之開放資料,視為同意遵守本條款之各項規定,並應以尊重第三人著作人格權之方式利用之。
+
+(二)使用者利用依本條款提供之開放資料,及後續之衍生物,應以符合附件所示「顯名聲明」要求之方式,明確標示原資料提供機關之相關聲明;未盡顯名標示義務者,視為自始未取得開放資料之授權。
+
+四、版本更新及授權轉換
+
+(一)本條款如有修正,依舊條款提供之開放資料,於新條款公告時,使用者得選擇採用新條款利用。但原資料提供機關,於提供開放資料時,已訂明其使用之特定版本條款者,不在此限。
+
+(二)本條款與「創用CC授權 姓名標示 4.0 國際版本」相容,使用者依本條款利用開放資料,如後續以「創用CC授權 姓名標示 4.0 國際版本」規定之方式利用,視為符合本條款之規定。
+
+五、停止提供
+
+有下列情形之一者,各資料提供機關得停止全部或一部開放資料之提供,使用者不得向資料提供機關請求任何賠償或補償:
+
+ 1. 因情事變更或其他正當事由,致各資料提供機關評估繼續提供該開放資料供公眾使用,已不符合公共利益之要求。
+
+ 2. 所提供之開放資料,有侵害第三人智慧財產權、隱私權或其他法律上利益之虞。
+
+六、免責聲明
+
+(一)依本條款提供之開放資料,不構成任何資料提供機關申述、保證或暗示其推薦、同意、許可或核准之意思表示;各資料提供機關僅於知悉其所提供之開放資料有錯誤或遺漏時,負修正及補充之責。
+
+(二)使用者利用依本條款提供之開放資料,受有損害或損失,或致第三人受有損害或損失,而遭求償者,除法令另有規定外,各資料提供機關不負任何賠償或補償之責。
+
+(三)使用者利用依本條款提供之開放資料,因故意或過失,致資料提供機關遭受損害,或第三人因此向資料提供機關請求賠償損害,使用者應對各機關負賠償責任。
+
+七、準據法
+
+本條款之解釋、效力、履行及其他未盡事宜,以中華民國法律為準據法。
+
+附件:顯名聲明
+
+ 1. 提供機關/單位 [年份] [開放資料釋出名稱與版本號]
+
+ 2. 此開放資料依政府資料開放授權條款 (Open Government Data License) 進行公眾釋出,使用者於遵守本條款各項規定之前提下,得利用之。
+
+ 3. 政府資料開放授權條款:https://data.gov.tw/license
+
+Open Government Data License, version 1.0
+
+The Open Government Data License (the License) is intended to facilitate government data sharing and application among the public in outreaching and promotion method, and to advance government service efficacy and government data value and quality in collaboration with the creative private sector.
+
+1. Definition
+
+1.1. "Data Providing Organization" refers to government agency, government-owned business, public school and administrative legal entity that has various types of electronic data released to the public under the License when it is obtained or made in the scope of performance for public duties.
+
+1.2. "User" refers to individual, legal entity or group that receives and uses Open Data under the License, including individual, legal entity or group who is receiving and using Open Data as the recipient of the former Users under the sublicensing scenario.
+
+1.3. "Open Data" means data that the Data Providing Organization owns its copyright in whole or has full authority to provide it to third parties in sublicensing way, and provides it in an open and modifiable form such that there are no unnecessary technological obstacles to the performance of the licensed rights, including but not limited to the following creation protected by copyright:
+
+ a. "Compilation Work" means a work formed by the creative selection and arrangement of data, and can be protected by copyright law, such as database or other qualified structured data combination.
+
+ b. "Material" means a separate work, that is collected into the Open Data aggregation and can be protected by copyright law independently.
+
+1.4. "Derivative Work" means any adaptation based upon the Open Data provided under the License and in which the original data is reproduced, adapted, compiled, or otherwise modified.
+
+1.5. "Information" means the pure record that is not subject to copyright law and providing along with the Open Data. Accordingly, the granting of copyright license hereunder does not apply to such Information, however, other provisions of the License shall be applied to it as well as to the Open Data.
+
+2. Grant of Copyright License
+
+2.1. The Data Providing Organization grants User a perpetual, worldwide, non-exclusive, irrevocable, royalty-free copyright license to reproduce, distribute, publicly transmit, publicly broadcast, publicly recite, publicly present, publicly perform, compile, adapt to the Open Data provided for any purpose, including but not limited to making all kinds of Derivative Works either as products or services.
+
+2.2. User can sublicense the copyrights which he/she is granted through 2.1. to others.
+
+2.3. Any additional written offer or other formality for copyright license from the Data Providing Organization is not required, if User makes use of Open Data in compliance with the License.
+
+2.4. The License does not grant any rights in the patents and trademarks.
+
+3. Condition and Obligation
+
+3.1. By utilizing the Open Data provided under the License, User indicates his/her acceptance of this License and all its terms and conditions overall to do so, and shall make the reasonable efforts with respect to moral right protection of the third parties involved.
+
+3.2. When User makes use of the Open Data and its Derivative Work, he/she must make an explicit notice of statement as attribution requested in the Exhibit below by the Data Providing Organization. If User fails to comply with the attribution requirement, the rights granted under this License shall be deemed to have been void ab initio.
+
+4. License Version and Compatibility
+
+4.1. When a new version of the License has been updated and declared, if not the Data Providing Organization has already appointed a specific version of the License for the Open Data it provided, User may make use of the Open Data under the terms of the version of the License under which he/she originally received, or under the terms of any subsequent version published thereafter.
+
+4.2. The License is compatible with the Creative Commons Attribution License 4.0 International. This means that when the Open Data is provided under the License, User automatically satisfies the conditions of this License when he/she makes use of the Open Data in compliance with the Creative Commons Attribution License 4.0 International thereafter.
+
+5. Cessation of Data Providing
+
+5.1. Under the circumstances described hereunder, the Data Providing Organization may cease to provide all or part of a specific Open Data, and User shall not claim any damages or compensations on account of that to the provider:
+
+ a. It has been evaluated by the Data Providing Organization that continuously providing of a specific Open Data as not being met the requirement of public interest due to the change of circumstances unpredictable or for a legitimate cause.
+
+ b. A provided Open Data might jeopardize third parties' intellectual property rights, privacy rights, or other interests protected at law.
+
+6. Disclaimer
+
+6.1. The providing of Open Data under the License shall not be construed as any statement, warranty, or implication to the recommendation, permission, approval, or sanction of all kinds of authoritative declaration of intention made by the Data Providing Organization. And the Data Providing Organization shall only be liable to make the correcting and updating when the errors or omissions of Open Data provided by it has been acknowledged.
+
+6.2. The Data Providing Organization shall not be liable for damage or loss User encounters when he/she makes use of the Open Data provided under the License. This disclaimer applies as well when User has third parties encountered damage or loss and thus has been claimed for remedies. Unless otherwise specified according to law, the Data Providing Organization shall not be held responsible for any damages or compensations herein.
+
+6.3. User shall be liable for the damages to the Data Providing Organization, if he/she has used the Open Data provided wrongfully due to an intentional or negligent misconduct and caused damages to the Data Providing Organization. The same reimbursement rule for wrongful misconducting shall be applied to the User when the damaged one is a third party and the compensations have already been disbursed by the Data Providing Organization to the third party due to a legal claim.
+
+7. Governing Law
+
+7.1. The interpretation, validity, enforcement and matters not mentioned herein for the License is governed by the Laws of Republic of China (Taiwan).
+
+Exhibit - Attribution
+
+ a. Data Providing Organization/Agency [year] [distinguishing full name of the released Open Data and its version number]
+
+ b. The Open Data is made available to the public under the Open Government Data License, User can make use of it when complying to the condition and obligation of its terms.
+
+ c. Open Government Data License:https://data.gov.tw/license
diff --git a/poky/meta/files/common-licenses/OGL-Canada-2.0 b/poky/meta/files/common-licenses/OGL-Canada-2.0
new file mode 100644
index 000000000..d638334a1
--- /dev/null
+++ b/poky/meta/files/common-licenses/OGL-Canada-2.0
@@ -0,0 +1,51 @@
+Open Government Licence - Canada
+
+You are encouraged to use the Information that is available under this licence with only a few conditions.
+
+Using Information under this licence
+* Use of any Information indicates your acceptance of the terms below.
+* The Information Provider grants you a worldwide, royalty-free, perpetual, non-exclusive licence to use the Information, including for commercial purposes, subject to the terms below.
+
+You are free to:
+* Copy, modify, publish, translate, adapt, distribute or otherwise use the Information in any medium, mode or format for any lawful purpose.
+
+You must, where you do any of the above:
+* Acknowledge the source of the Information by including any attribution statement specified by the Information Provider(s) and, where possible, provide a link to this licence.
+* If the Information Provider does not provide a specific attribution statement, or if you are using Information from several information providers and multiple attributions are not practical for your product or application, you must use the following attribution statement:
+ Contains information licensed under the Open Government Licence – Canada.
+
+The terms of this licence are important, and if you fail to comply with any of them, the rights granted to you under this licence, or any similar licence granted by the Information Provider, will end automatically.
+
+Exemptions
+This licence does not grant you any right to use:
+* Personal Information;
+* third party rights the Information Provider is not authorized to license;
+* the names, crests, logos, or other official symbols of the Information Provider; and
+* Information subject to other intellectual property rights, including patents, trade-marks and official marks.
+
+Non-endorsement
+This licence does not grant you any right to use the Information in a way that suggests any official status or that the Information Provider endorses you or your use of the Information.
+
+No Warranty
+The Information is licensed “as is”, and the Information Provider excludes all representations, warranties, obligations, and liabilities, whether express or implied, to the maximum extent permitted by law.
+
+The Information Provider is not liable for any errors or omissions in the Information, and will not under any circumstances be liable for any direct, indirect, special, incidental, consequential, or other loss, injury or damage caused by its use or otherwise arising in connection with this licence or the Information, even if specifically advised of the possibility of such loss, injury or damage.
+
+Governing Law
+This licence is governed by the laws of the province of Ontario and the applicable laws of Canada.
+
+Legal proceedings related to this licence may only be brought in the courts of Ontario or the Federal Court of Canada.
+
+Definitions
+In this licence, the terms below have the following meanings:
+
+"Information" means information resources protected by copyright or other information that is offered for use under the terms of this licence.
+
+"Information Provider" means Her Majesty the Queen in right of Canada.
+
+“Personal Information” means “personal information” as defined in section 3 of the Privacy Act, R.S.C. 1985, c. P-21.
+
+"You" means the natural or legal person, or body of persons corporate or incorporate, acquiring rights under this licence.
+
+Versioning
+This is version 2.0 of the Open Government Licence – Canada. The Information Provider may make changes to the terms of this licence from time to time and issue a new version of the licence. Your use of the Information will be governed by the terms of the licence in force as of the date you accessed the information.
diff --git a/poky/meta/files/common-licenses/OGL-UK-1.0 b/poky/meta/files/common-licenses/OGL-UK-1.0
new file mode 100644
index 000000000..a761c9916
--- /dev/null
+++ b/poky/meta/files/common-licenses/OGL-UK-1.0
@@ -0,0 +1,69 @@
+Open Government Licence v1.0
+
+You are encouraged to use and re-use the Information that is available under this licence, the Open Government Licence, freely and flexibly, with only a few conditions.
+Using information under this licence
+
+Use of copyright and database right material expressly made available under this licence (the ‘Information’) indicates your acceptance of the terms and conditions below.
+
+The Licensor grants you a worldwide, royalty-free, perpetual, non-exclusive licence to use the Information subject to the conditions below.
+
+This licence does not affect your freedom under fair dealing or fair use or any other copyright or database right exceptions and limitations.
+
+You are free to:
+ copy, publish, distribute and transmit the Information;
+ adapt the Information;
+ exploit the Information commercially for example, by combining it with other Information, or by including it in your own product or application.
+
+You must, where you do any of the above:
+ acknowledge the source of the Information by including any attribution statement specified by the Information Provider(s) and, where possible, provide a link to this licence;
+  If the Information Provider does not provide a specific attribution statement, or if you are using Information from several Information Providers and multiple attributions are not practical in your product or application, you may consider using the following:
 Contains public sector information licensed under the Open Government Licence v1.0.
+ ensure that you do not use the Information in a way that suggests any official status or that the Information Provider endorses you or your use of the Information;
+ ensure that you do not mislead others or misrepresent the Information or its source;
+ ensure that your use of the Information does not breach the Data Protection Act 1998 or the Privacy and Electronic Communications (EC Directive) Regulations 2003.
+
+These are important conditions of this licence and if you fail to comply with them the rights granted to you under this licence, or any similar licence granted by the Licensor, will end automatically.
+
+ Exemptions
+
+This licence does not cover the use of:
+ - personal data in the Information;
+ - Information that has neither been published nor disclosed under information access legislation (including the Freedom of Information Acts for the UK and Scotland) by or with the consent of the Information Provider;
+ - departmental or public sector organisation logos, crests and the Royal Arms except where they form an integral part of a document or dataset;
+ - military insignia;
+ - third party rights the Information Provider is not authorised to license;
+ - Information subject to other intellectual property rights, including patents, trademarks, and design rights; and
+ - identity documents such as the British Passport.
+
+No warranty
+
+The Information is licensed ‘as is’ and the Information Provider excludes all representations, warranties, obligations and liabilities in relation to the Information to the maximum extent permitted by law.
+
+The Information Provider is not liable for any errors or omissions in the Information and shall not be liable for any loss, injury or damage of any kind caused by its use. The Information Provider does not guarantee the continued supply of the Information.
+
+Governing Law
+
+This licence is governed by the laws of the jurisdiction in which the Information Provider has its principal place of business, unless otherwise specified by the Information Provider.
+
+Definitions
+
+In this licence, the terms below have the following meanings:
+
+‘Information’
means information protected by copyright or by database right (for example, literary and artistic works, content, data and source code) offered for use under the terms of this licence.
+
+‘Information Provider’
means the person or organisation providing the Information under this licence.
+
+‘Licensor’
means any Information Provider which has the authority to offer Information under the terms of this licence or the Controller of Her Majesty’s Stationery Office, who has the authority to offer Information subject to Crown copyright and Crown database rights and Information subject to copyright and database right that has been assigned to or acquired by the Crown, under the terms of this licence.
+
+‘Use’
as a verb, means doing any act which is restricted by copyright or database right, whether in the original medium or in any other medium, and includes without limitation distributing, copying, adapting, modifying as may be technically necessary to use it in a different mode or format.
+
+‘You’
means the natural or legal person, or body of persons corporate or incorporate, acquiring rights under this licence.
+
+About the Open Government Licence
+The Controller of Her Majesty’s Stationery Office (HMSO) has developed this licence as a tool to enable Information Providers in the public sector to license the use and re-use of their Information under a common open licence. The Controller invites public sector bodies owning their own copyright and database rights to permit the use of their Information under this licence.
+
+The Controller of HMSO has authority to license Information subject to copyright and database right owned by the Crown. The extent of the Controller’s offer to license this Information under the terms of this licence is set out in the UK Government Licensing Framework.
+
+This is version 1.0 of the Open Government Licence. The Controller of HMSO may, from time to time, issue new versions of the Open Government Licence. However, you may continue to use Information licensed under this version should you wish to do so.
+These terms have been aligned to be interoperable with any Creative Commons Attribution Licence, which covers copyright, and Open Data Commons Attribution License, which covers database rights and applicable copyrights.
+
+Further context, best practice and guidance can be found in the UK Government Licensing Framework section on The National Archives website.
diff --git a/poky/meta/files/common-licenses/OGL-UK-2.0 b/poky/meta/files/common-licenses/OGL-UK-2.0
new file mode 100644
index 000000000..319c1b53a
--- /dev/null
+++ b/poky/meta/files/common-licenses/OGL-UK-2.0
@@ -0,0 +1,72 @@
+Open Government Licence v2.0
+
+You are encouraged to use and re-use the Information that is available under this licence freely and flexibly, with only a few conditions.
+
+Using Information under this licence
+Use of copyright and database right material expressly made available under this licence (the ‘Information’) indicates your acceptance of the terms and conditions below.
+
+The Licensor grants you a worldwide, royalty-free, perpetual, non-exclusive licence to use the Information subject to the conditions below.
+
+This licence does not affect your freedom under fair dealing or fair use or any other copyright or database right exceptions and limitations.
+
+You are free to:
+copy, publish, distribute and transmit the Information;
+adapt the Information;
+exploit the Information commercially and non-commercially for example, by combining it with other Information, or by including it in your own product or application.
+You must, where you do any of the above:
+acknowledge the source of the Information by including any attribution statement specified by the Information Provider(s) and, where possible, provide a link to this licence;
+ If the Information Provider does not provide a specific attribution statement, or if you are using Information from several Information Providers and multiple attributions are not practical in your product or application, you may use the following:
+
+ Contains public sector information licensed under the Open Government Licence v2.0.
+
+These are important conditions of this licence and if you fail to comply with them the rights granted to you under this licence, or any similar licence granted by the Licensor, will end automatically.
+
+ Exemptions
+This licence does not cover:
+
+personal data in the Information;
+information that has neither been published nor disclosed under information access legislation (including the Freedom of Information Acts for the UK and Scotland) by or with the consent of the Information Provider;
+departmental or public sector organisation logos, crests and the Royal Arms except where they form an integral part of a document or dataset;
+military insignia;
+third party rights the Information Provider is not authorised to license;
+other intellectual property rights, including patents, trade marks, and design rights; and
+identity documents such as the British Passport
+Non-endorsement
+This licence does not grant you any right to use the Information in a way that suggests any official status or that the Information Provider endorses you or your use of the Information.
+
+Non warranty
+The Information is licensed ‘as is’ and the Information Provider excludes all representations, warranties, obligations and liabilities in relation to the Information to the maximum extent permitted by law.
+
+The Information Provider is not liable for any errors or omissions in the Information and shall not be liable for any loss, injury or damage of any kind caused by its use. The Information Provider does not guarantee the continued supply of the Information.
+
+Governing Law
+This licence is governed by the laws of the jurisdiction in which the Information Provider has its principal place of business, unless otherwise specified by the Information Provider.
+
+Definitions
+In this licence, the terms below have the following meanings:
+
+‘Information’
+means information protected by copyright or by database right (for example, literary and artistic works, content, data and source code) offered for use under the terms of this licence.
+
+‘Information Provider’
+means the person or organisation providing the Information under this licence.
+
+‘Licensor’
+means any Information Provider who has the authority to offer Information under the terms of this licence. It includes the Controller of Her Majesty’s Stationery Office, who has the authority to offer Information subject to Crown copyright and Crown database rights, and Information subject to copyright and database rights which have been assigned to or acquired by the Crown, under the terms of this licence.
+
+‘Use’
+means doing any act which is restricted by copyright or database right, whether in the original medium or in any other medium, and includes without limitation distributing, copying, adapting, modifying as may be technically necessary to use it in a different mode or format.
+
+‘You’
+means the natural or legal person, or body of persons corporate or incorporate, acquiring rights under this licence.
+
+About the Open Government Licence
+The Controller of Her Majesty’s Stationery Office (HMSO) has developed this licence as a tool to enable Information Providers in the public sector to license the use and re-use of their Information under a common open licence. The Controller invites public sector bodies owning their own copyright and database rights to permit the use of their Information under this licence.
+
+The Controller of HMSO has authority to license Information subject to copyright and database right owned by the Crown. The extent of the Controller’s offer to license this Information under the terms of this licence is set out on The National Archives website.
+
+This is version 2.0 of the Open Government Licence. The Controller of HMSO may, from time to time, issue new versions of the Open Government Licence. If you are already using Information under a previous version of the Open Government Licence, the terms of that licence will continue to apply.
+
+These terms are compatible with the Creative Commons Attribution License 4.0 and the Open Data Commons Attribution License, both of which license copyright and database rights. This means that when the Information is adapted and licensed under either of those licences, you automatically satisfy the conditions of the OGL when you comply with the other licence. The OGLv2.0 is Open Definition compliant.
+
+Further context, best practice and guidance can be found in the UK Government Licensing Framework section on The National Archives website.
diff --git a/poky/meta/files/common-licenses/OGL-UK-3.0 b/poky/meta/files/common-licenses/OGL-UK-3.0
new file mode 100644
index 000000000..febac4164
--- /dev/null
+++ b/poky/meta/files/common-licenses/OGL-UK-3.0
@@ -0,0 +1,69 @@
+Open Government Licence v3.0
+
+You are encouraged to use and re-use the Information that is available under this licence freely and flexibly, with only a few conditions.
+
+Using Information under this licence
+Use of copyright and database right material expressly made available under this licence (the 'Information') indicates your acceptance of the terms and conditions below.
+
+The Licensor grants you a worldwide, royalty-free, perpetual, non-exclusive licence to use the Information subject to the conditions below.
+
+This licence does not affect your freedom under fair dealing or fair use or any other copyright or database right exceptions and limitations.
+
+You are free to:
+copy, publish, distribute and transmit the Information;
+adapt the Information;
+exploit the Information commercially and non-commercially for example, by combining it with other Information, or by including it in your own product or application.
+You must (where you do any of the above):
+acknowledge the source of the Information in your product or application by including or linking to any attribution statement specified by the Information Provider(s) and, where possible, provide a link to this licence;
+ If the Information Provider does not provide a specific attribution statement, you must use the following:
+
+ Contains public sector information licensed under the Open Government Licence v3.0.
+
+If you are using Information from several Information Providers and listing multiple attributions is not practical in your product or application, you may include a URI or hyperlink to a resource that contains the required attribution statements.
+
+These are important conditions of this licence and if you fail to comply with them the rights granted to you under this licence, or any similar licence granted by the Licensor, will end automatically.
+
+ Exemptions
+This licence does not cover:
+
+personal data in the Information;
+Information that has not been accessed by way of publication or disclosure under information access legislation (including the Freedom of Information Acts for the UK and Scotland) by or with the consent of the Information Provider;
+departmental or public sector organisation logos, crests and the Royal Arms except where they form an integral part of a document or dataset;
+military insignia;
+third party rights the Information Provider is not authorised to license;
+other intellectual property rights, including patents, trade marks, and design rights; and
+identity documents such as the British Passport
+Non-endorsement
+This licence does not grant you any right to use the Information in a way that suggests any official status or that the Information Provider and/or Licensor endorse you or your use of the Information.
+
+No warranty
+The Information is licensed 'as is' and the Information Provider and/or Licensor excludes all representations, warranties, obligations and liabilities in relation to the Information to the maximum extent permitted by law.
+
+The Information Provider and/or Licensor are not liable for any errors or omissions in the Information and shall not be liable for any loss, injury or damage of any kind caused by its use. The Information Provider does not guarantee the continued supply of the Information.
+
+Governing Law
+This licence is governed by the laws of the jurisdiction in which the Information Provider has its principal place of business, unless otherwise specified by the Information Provider.
+
+Definitions
+In this licence, the terms below have the following meanings:
+
+'Information' means information protected by copyright or by database right (for example, literary and artistic works, content, data and source code) offered for use under the terms of this licence.
+
+'Information Provider' means the person or organisation providing the Information under this licence.
+
+'Licensor' means any Information Provider which has the authority to offer Information under the terms of this licence or the Keeper of Public Records, who has the authority to offer Information subject to Crown copyright and Crown database rights and Information subject to copyright and database right that has been assigned to or acquired by the Crown, under the terms of this licence.
+
+'Use' means doing any act which is restricted by copyright or database right, whether in the original medium or in any other medium, and includes without limitation distributing, copying, adapting, modifying as may be technically necessary to use it in a different mode or format.
+
+'You', 'you' and 'your' means the natural or legal person, or body of persons corporate or incorporate, acquiring rights in the Information (whether the Information is obtained directly from the Licensor or otherwise) under this licence.
+
+About the Open Government Licence
+The National Archives has developed this licence as a tool to enable Information Providers in the public sector to license the use and re-use of their Information under a common open licence. The National Archives invites public sector bodies owning their own copyright and database rights to permit the use of their Information under this licence.
+
+The Keeper of the Public Records has authority to license Information subject to copyright and database right owned by the Crown. The extent of the offer to license this Information under the terms of this licence is set out in the UK Government Licensing Framework.
+
+This is version 3.0 of the Open Government Licence. The National Archives may, from time to time, issue new versions of the Open Government Licence. If you are already using Information under a previous version of the Open Government Licence, the terms of that licence will continue to apply.
+
+These terms are compatible with the Creative Commons Attribution License 4.0 and the Open Data Commons Attribution License, both of which license copyright and database rights. This means that when the Information is adapted and licensed under either of those licences, you automatically satisfy the conditions of the OGL when you comply with the other licence. The OGLv3.0 is Open Definition compliant.
+
+Further context, best practice and guidance can be found in the UK Government Licensing Framework section on The National Archives website.
diff --git a/poky/meta/files/common-licenses/OLDAP-1.1 b/poky/meta/files/common-licenses/OLDAP-1.1
new file mode 100644
index 000000000..f78dd0462
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-1.1
@@ -0,0 +1,60 @@
+The OpenLDAP Public License
+Version 1.1, 25 August 1998
+
+Copyright 1998, The OpenLDAP Foundation. All Rights Reserved.
+
+Note: This license is derived from the "Artistic License" as distributed with the Perl Programming Language. Its terms are different from those of the "Artistic License."
+
+PREAMBLE
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C subroutines supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language.
+
+8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
diff --git a/poky/meta/files/common-licenses/OLDAP-1.2 b/poky/meta/files/common-licenses/OLDAP-1.2
new file mode 100644
index 000000000..c61d6026e
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-1.2
@@ -0,0 +1,60 @@
+The OpenLDAP Public License
+Version 1.2, 1 September 1998
+
+Copyright 1998, The OpenLDAP Foundation. All Rights Reserved.
+
+Note: This license is derived from the "Artistic License" as distributed with the Perl Programming Language. As differences may exist, the complete license should be read.
+
+PREAMBLE
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C subroutines supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language.
+
+8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
diff --git a/poky/meta/files/common-licenses/OLDAP-1.3 b/poky/meta/files/common-licenses/OLDAP-1.3
new file mode 100644
index 000000000..f19e722f3
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-1.3
@@ -0,0 +1,62 @@
+The OpenLDAP Public License
+Version 1.3, 17 January 1999
+
+Copyright 1998-1999, The OpenLDAP Foundation. All Rights Reserved.
+
+Note: This license is derived from the "Artistic License" as distributed with the Perl Programming Language. As significant differences exist, the complete license should be read.
+
+PREAMBLE
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C subroutines supplied by you and linked into this Package in order to emulate subroutines and variables defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the behavior of the Package in any way that would cause it to fail the regression tests for the Package.
+
+8. Software supplied by you and linked with this Package in order to use subroutines and variables defined by this Package shall not be considered part of this Package and do not automatically fall under the copyright of this Package, and the executables produced by linking your software with this Package may be used and redistributed without restriction and may be sold commercially.
+
+9. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
diff --git a/poky/meta/files/common-licenses/OLDAP-1.4 b/poky/meta/files/common-licenses/OLDAP-1.4
new file mode 100644
index 000000000..4267f1421
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-1.4
@@ -0,0 +1,62 @@
+The OpenLDAP Public License
+Version 1.4, 18 January 1999
+
+Copyright 1998-1999, The OpenLDAP Foundation. All Rights Reserved.
+
+Note: This license is derived from the "Artistic License" as distributed with the Perl Programming Language. As significant differences exist, the complete license should be read.
+
+PREAMBLE
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C subroutines supplied by you and linked into this Package in order to emulate subroutines and variables defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the behavior of the Package in any way that would cause it to fail the regression tests for the Package.
+
+8. Software supplied by you and linked with this Package in order to use subroutines and variables defined by this Package shall not be considered part of this Package and do not automatically fall under the copyright of this Package. Executables produced by linking your software with this Package may be used and redistributed without restriction and may be sold commercially so long as the primary function of your software is different than the package itself.
+
+9. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
diff --git a/poky/meta/files/common-licenses/OLDAP-2.0 b/poky/meta/files/common-licenses/OLDAP-2.0
new file mode 100644
index 000000000..8c460cb78
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-2.0
@@ -0,0 +1,18 @@
+The OpenLDAP Public License
+Version 2.0, 7 June 1999
+
+Copyright 1999, The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation. For written permission, please contact foundation@openldap.org.
+
+4. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation. OpenLDAP is a registered trademark of the OpenLDAP Foundation.
+
+5. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/OLDAP-2.0.1 b/poky/meta/files/common-licenses/OLDAP-2.0.1
new file mode 100644
index 000000000..c04920e94
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-2.0.1
@@ -0,0 +1,18 @@
+The OpenLDAP Public License
+Version 2.0.1, 21 December 1999
+
+Copyright 1999, The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation. For written permission, please contact foundation@openldap.org.
+
+4. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation. OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+5. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/OLDAP-2.1 b/poky/meta/files/common-licenses/OLDAP-2.1
new file mode 100644
index 000000000..4f461fe86
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-2.1
@@ -0,0 +1,20 @@
+The OpenLDAP Public License
+Version 2.1, 29 February 2000
+
+Copyright 1999-2000, The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation. For written permission, please contact foundation@openldap.org.
+
+4. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation. OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+5. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+6. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent license revision.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/OLDAP-2.2 b/poky/meta/files/common-licenses/OLDAP-2.2
new file mode 100644
index 000000000..24446fd52
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-2.2
@@ -0,0 +1,22 @@
+The OpenLDAP Public License
+Version 2.2, 1 March 2000
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation.
+
+4. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation.
+
+5. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+6. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2000, The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
diff --git a/poky/meta/files/common-licenses/OLDAP-2.2.1 b/poky/meta/files/common-licenses/OLDAP-2.2.1
new file mode 100644
index 000000000..3fd04859b
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-2.2.1
@@ -0,0 +1,22 @@
+The OpenLDAP Public License
+Version 2.2.1, 1 March 2000
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation.
+
+4. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation.
+
+5. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+6. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2000 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
diff --git a/poky/meta/files/common-licenses/OLDAP-2.2.2 b/poky/meta/files/common-licenses/OLDAP-2.2.2
new file mode 100644
index 000000000..f466cdcc5
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-2.2.2
@@ -0,0 +1,24 @@
+The OpenLDAP Public License
+Version 2.2.2, 28 July 2000
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices.
+
+2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. Redistributions must contain a verbatim copy of this document.
+
+4. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation.
+
+5. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation.
+
+6. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+7. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2000 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
diff --git a/poky/meta/files/common-licenses/OLDAP-2.3 b/poky/meta/files/common-licenses/OLDAP-2.3
new file mode 100644
index 000000000..ebfc7f8ef
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-2.3
@@ -0,0 +1,24 @@
+The OpenLDAP Public License
+Version 2.3, 28 July 2000
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices.
+
+2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. Redistributions must contain a verbatim copy of this document.
+
+4. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation.
+
+5. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation.
+
+6. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+7. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2000 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
diff --git a/poky/meta/files/common-licenses/OLDAP-2.4 b/poky/meta/files/common-licenses/OLDAP-2.4
new file mode 100644
index 000000000..353a553f2
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-2.4
@@ -0,0 +1,22 @@
+The OpenLDAP Public License
+Version 2.4, 8 December 2000
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices.
+
+2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. Redistributions must contain a verbatim copy of this document.
+
+4. The names and trademarks of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission.
+
+5. Due credit should be given to the OpenLDAP Project.
+
+6. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2000 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
diff --git a/poky/meta/files/common-licenses/OLDAP-2.5 b/poky/meta/files/common-licenses/OLDAP-2.5
new file mode 100644
index 000000000..98e78e3c7
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-2.5
@@ -0,0 +1,22 @@
+The OpenLDAP Public License
+Version 2.5, 11 May 2001
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices.
+
+2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. Redistributions must contain a verbatim copy of this document.
+
+4. The names and trademarks of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission.
+
+5. Due credit should be given to the authors of the Software.
+
+6. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2001 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
diff --git a/poky/meta/files/common-licenses/OLDAP-2.6 b/poky/meta/files/common-licenses/OLDAP-2.6
new file mode 100644
index 000000000..576d81ce8
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-2.6
@@ -0,0 +1,20 @@
+The OpenLDAP Public License
+Version 2.6, 14 June 2001
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices.
+
+2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. Redistributions must contain a verbatim copy of this document.
+
+4. The names and trademarks of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission.
+
+5. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2001 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
diff --git a/poky/meta/files/common-licenses/OLDAP-2.7 b/poky/meta/files/common-licenses/OLDAP-2.7
new file mode 100644
index 000000000..9ecc91292
--- /dev/null
+++ b/poky/meta/files/common-licenses/OLDAP-2.7
@@ -0,0 +1,20 @@
+The OpenLDAP Public License
+Version 2.7, 7 September 2001
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices,
+
+2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution, and
+
+3. Redistributions must contain a verbatim copy of this document.
+
+The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use this Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The names of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission. Title to copyright in this Software shall at all times remain with copyright holders.
+
+OpenLDAP is a registered trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2001 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distribute verbatim copies of this document is granted.
diff --git a/poky/meta/files/common-licenses/OML b/poky/meta/files/common-licenses/OML
new file mode 100644
index 000000000..62b658971
--- /dev/null
+++ b/poky/meta/files/common-licenses/OML
@@ -0,0 +1,5 @@
+This FastCGI application library source and object code (the "Software") and its documentation (the "Documentation") are copyrighted by Open Market, Inc ("Open Market"). The following terms apply to all files associated with the Software and Documentation unless explicitly disclaimed in individual files.
+
+Open Market permits you to use, copy, modify, distribute, and license this Software and the Documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this Software and Documentation may be copyrighted by their authors and need not follow the licensing terms described here. If modifications to this Software and Documentation have new licensing terms, the new terms must be clearly indicated on the first page of each file where they apply.
+
+OPEN MARKET MAKES NO EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE SOFTWARE OR THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL OPEN MARKET BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DAMAGES ARISING FROM OR RELATING TO THIS SOFTWARE OR THE DOCUMENTATION, INCLUDING, WITHOUT LIMITATION, ANY INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES OR SIMILAR DAMAGES, INCLUDING LOST PROFITS OR LOST DATA, EVEN IF OPEN MARKET HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS". OPEN MARKET HAS NO LIABILITY IN CONTRACT, TORT, NEGLIGENCE OR OTHERWISE ARISING OUT OF THIS SOFTWARE OR THE DOCUMENTATION.
diff --git a/poky/meta/files/common-licenses/OPL-1.0 b/poky/meta/files/common-licenses/OPL-1.0
new file mode 100644
index 000000000..4d4fa3a6e
--- /dev/null
+++ b/poky/meta/files/common-licenses/OPL-1.0
@@ -0,0 +1,136 @@
+OPEN PUBLIC LICENSE
+Version 1.0
+
+1. Definitions.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work, which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document and the corresponding addendum described in section 6.4 below.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+ 1.13 "License Author" means Lutris Technologies, Inc.
+
+2. Source Code License.
+
+ 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a worldwide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) under intellectual property rights (other than patent or trademark) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``offer to sell and import'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+ 2.2. Contributor Grant. Each Contributor hereby grants You a worldwide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) under intellectual property rights (other than patent or trademark) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Contributor, to to make, have made, use and sell (``offer to sell and import'') the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations
+
+3. Distribution Obligations.
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available, prior to any use, except for internal development and practice, in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You shall notify the Initial Developer of the Modification and the location of the Source Code via the contact means provided for in the Developer Specific license. Initial Developer will be acting as maintainer of the Source Code and may provide an Electronic Distribution mechanism for the Modification to be made available.
+
+ 3.3. Description of Modifications. You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+
+ (a) Third Party Claims. If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+ 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. If you distribute executable versions containing Covered Code, you must reproduce the notice in Exhibit B in the documentation and/or other materials provided with the product.
+
+ 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) Cite all of the statutes or regulations that prohibit you from complying fully with this license. (c) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5. Application of this License.
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions. License Author may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number and shall be submitted to opensource.org for certification.
+
+ 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Initial Developer. No one other than Initial Developer has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works. If you create or use a modified version of this License, except in association with the required Developer Specific License described in section 6.4, (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Open'', ``OpenPL'', ``OPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Open Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+ 6.4. Required Additional Developer Specific License
+This license is a union of the following two parts that should be found as text files in the same place (directory), in the order of preeminence:
+
+ [1] A Developer specific license.
+
+ [2] The contents of this file OPL_1_0.TXT, stating the general licensing policy of the software.
+
+In case of conflicting dispositions in the parts of this license, the terms of the lower-numbered part will always be superseded by the terms of the higher numbered part.
+
+7. DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+ 8.1 Termination upon Breach
+This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code, which are properly granted, shall survive any termination of this License. Provisions that, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2. Termination Upon Litigation. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
+
+ (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+ (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+
+ his section was intentionally left blank. The contents of this section are found in the corresponding addendum described above.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute with Initial Developer responsibility on an equitable basis.
+
+EXHIBIT A.
+
+Text for this Exhibit A is found in the corresponding addendum, described in section 6.4 above, text file provided by the Initial Developer. This license is not valid or complete with out that file.
+
+EXHIBIT B.
+
+Text for this Exhibit B is found in the corresponding addendum, described in section 6.4 above, text file provided by the Initial Developer. This license is not valid or complete with out that file.
diff --git a/poky/meta/files/common-licenses/OPUBL-1.0 b/poky/meta/files/common-licenses/OPUBL-1.0
new file mode 100644
index 000000000..1386621e0
--- /dev/null
+++ b/poky/meta/files/common-licenses/OPUBL-1.0
@@ -0,0 +1,78 @@
+Open Publication License
+
+v1.0, 8 June 1999
+
+I. REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS
+
+The Open Publication works may be reproduced and distributed in whole or in part, in any medium physical or electronic, provided that the terms of this license are adhered to, and that this license or an incorporation of it by reference (with any options elected by the author(s) and/or publisher) is displayed in the reproduction.
+
+Proper form for an incorporation by reference is as follows:
+
+ Copyright (c) <year> by <author's name or designee>. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, vX.Y or later (the latest version is presently available at http://www.opencontent.org/openpub/).
+
+The reference must be immediately followed with any options elected by the author(s) and/or publisher of the document (see section VI).
+
+Commercial redistribution of Open Publication-licensed material is permitted.
+
+Any publication in standard (paper) book form shall require the citation of the original publisher and author. The publisher and author's names shall appear on all outer surfaces of the book. On all outer surfaces of the book the original publisher's name shall be as large as the title of the work and cited as possessive with respect to the title.
+
+II. COPYRIGHT
+
+The copyright to each Open Publication is owned by its author(s) or designee.
+
+III. SCOPE OF LICENSE
+
+The following license terms apply to all Open Publication works, unless otherwise explicitly stated in the document.
+
+Mere aggregation of Open Publication works or a portion of an Open Publication work with other works or programs on the same media shall not cause this license to apply to those other works. The aggregate work shall contain a notice specifying the inclusion of the Open Publication material and appropriate copyright notice.
+
+SEVERABILITY. If any part of this license is found to be unenforceable in any jurisdiction, the remaining portions of the license remain in force.
+
+NO WARRANTY. Open Publication works are licensed and provided "as is" without warranty of any kind, express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose or a warranty of non-infringement.
+
+IV. REQUIREMENTS ON MODIFIED WORKS
+
+All modified versions of documents covered by this license, including translations, anthologies, compilations and partial documents, must meet the following requirements:
+ 1. The modified version must be labeled as such.
+ 2. The person making the modifications must be identified and the modifications dated.
+ 3. Acknowledgement of the original author and publisher if applicable must be retained according to normal academic citation practices.
+ 4. The location of the original unmodified document must be identified.
+ 5. The original author's (or authors') name(s) may not be used to assert or imply endorsement of the resulting document without the original author's (or authors') permission.
+
+V. GOOD-PRACTICE RECOMMENDATIONS
+
+In addition to the requirements of this license, it is requested from and strongly recommended of redistributors that:
+ 1. If you are distributing Open Publication works on hardcopy or CD-ROM, you provide email notification to the authors of your intent to redistribute at least thirty days before your manuscript or media freeze, to give the authors time to provide updated documents. This notification should describe modifications, if any, made to the document.
+ 2. All substantive modifications (including deletions) be either clearly marked up in the document or else described in an attachment to the document.
+ 3. Finally, while it is not mandatory under this license, it is considered good form to offer a free copy of any hardcopy and CD-ROM expression of an Open Publication-licensed work to its author(s).
+
+VI. LICENSE OPTIONS
+
+The author(s) and/or publisher of an Open Publication-licensed document may elect certain options by appending language to the reference to or copy of the license. These options are considered part of the license instance and must be included with the license (or its incorporation by reference) in derived works.
+
+A. To prohibit distribution of substantively modified versions without the explicit permission of the author(s). "Substantive modification" is defined as a change to the semantic content of the document, and excludes mere changes in format or typographical corrections.
+
+To accomplish this, add the phrase `Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder.' to the license reference or copy.
+
+B. To prohibit any publication of this work or derivative works in whole or in part in standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from the copyright holder.
+
+To accomplish this, add the phrase 'Distribution of the work or derivative of the work in any standard (paper) book form is prohibited unless prior permission is obtained from the copyright holder.' to the license reference or copy.
+
+OPEN PUBLICATION POLICY APPENDIX:
+
+(This is not considered part of the license.)
+
+Open Publication works are available in source format via the Open Publication home page at http://works.opencontent.org/.
+
+Open Publication authors who want to include their own license on Open Publication works may do so, as long as their terms are not more restrictive than the Open Publication license.
+
+If you have questions about the Open Publication License, please contact David Wiley, and/or the Open Publication Authors' List at opal@opencontent.org, via email.
+
+To subscribe to the Open Publication Authors' List:
+Send E-mail to opal-request@opencontent.org with the word "subscribe" in the body.
+
+To post to the Open Publication Authors' List:
+Send E-mail to opal@opencontent.org or simply reply to a previous post.
+
+To unsubscribe from the Open Publication Authors' List:
+Send E-mail to opal-request@opencontent.org with the word "unsubscribe" in the body.
diff --git a/poky/meta/files/common-licenses/OSET-PL-2.1 b/poky/meta/files/common-licenses/OSET-PL-2.1
new file mode 100644
index 000000000..15f0c7758
--- /dev/null
+++ b/poky/meta/files/common-licenses/OSET-PL-2.1
@@ -0,0 +1,161 @@
+OSET Public License
+(c) 2015 ALL RIGHTS RESERVED VERSION 2.1
+
+THIS LICENSE DEFINES THE RIGHTS OF USE, REPRODUCTION, DISTRIBUTION, MODIFICATION, AND REDISTRIBUTION OF CERTAIN COVERED SOFTWARE (AS DEFINED BELOW) ORIGINALLY RELEASED BY THE OPEN SOURCE ELECTION TECHNOLOGY FOUNDATION (FORMERLY “THE OSDV FOUNDATION”). ANYONE WHO USES, REPRODUCES, DISTRIBUTES, MODIFIES, OR REDISTRIBUTES THE COVERED SOFTWARE, OR ANY PART THEREOF, IS BY THAT ACTION, ACCEPTING IN FULL THE TERMS CONTAINED IN THIS AGREEMENT. IF YOU DO NOT AGREE TO SUCH TERMS, YOU ARE NOT PERMITTED TO USE THE COVERED SOFTWARE.
+
+This license was prepared based on the Mozilla Public License (“MPL”), version 2.0. For annotation of the differences between this license and MPL 2.0, please see the OSET Foundation web site at www.OSETFoundation.org/public-license.
+
+The text of the license begins here:
+
+1. Definitions
+
+ 1.1 “Contributor” means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software.
+
+ 1.2 “Contributor Version” means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor’s Contribution.
+
+ 1.3 “Contribution” means Covered Software of a particular Contributor.
+
+ 1.4 “Covered Software” means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof.
+
+ 1.5 “Incompatible With Secondary Licenses” means:
+ a. That the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or
+ b. that the Covered Software was made available under the terms of version 1.x or earlier of the License, but not also under the terms of a Secondary License.
+
+ 1.6 “Executable Form” means any form of the work other than Source Code Form.
+
+ 1.7 “Larger Work” means a work that combines Covered Software with other material, in a separate file (or files) that is not Covered Software.
+
+ 1.8 “License” means this document.
+
+ 1.9 “Licensable” means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License.
+
+ 1.10 “Modifications” means any of the following:
+ a. any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or
+ b. any new file in Source Code Form that contains any Covered Software.
+
+ 1.11 “Patent Claims” of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version.
+
+ 1.12 “Secondary License” means one of: the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses.
+
+ 1.13 “Source Code Form” means the form of the work preferred for making modifications.
+
+ 1.14 “You” (or “Your”) means an individual or a legal entity exercising rights under this License. For legal entities, “You” includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means: (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. License Grants and Conditions
+
+ 2.1 Grants Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
+ a. under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and
+ b. under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version.
+
+ 2.2 Effective Date
+ The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution.
+
+ 2.3 Limitations on Grant Scope
+ The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor:
+ a. for any code that a Contributor has removed from Covered Software; or
+ b. for infringements caused by: (i) Your and any other third party’s modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or
+ c. under Patent Claims infringed by Covered Software in the absence of its Contributions.
+ This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4).
+
+ 2.4 Subsequent Licenses
+ No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3).
+
+ 2.5 Representation
+ Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License.
+
+ 2.6 Fair Use
+ This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents.
+
+ 2.7 Conditions
+ Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1.
+
+3. Responsibilities
+
+ 3.1 Distribution of Source Form
+ All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You must cause any of Your Modifications to carry prominent notices stating that You changed the files. You may not attempt to alter or restrict the recipients’ rights in the Source Code Form.
+
+ 3.2 Distribution of Executable Form
+ If You distribute Covered Software in Executable Form then:
+
+ a. such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and
+ b. You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License.
+
+ 3.3 Distribution of a Larger Work
+ You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s).
+
+ 3.4 Notices
+ You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies.
+
+ 3.5 Application of Additional Terms
+
+ 3.5.1 You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction.
+
+ 3.5.2 You may place additional conditions upon the rights granted in this License to the extent necessary due to statute, judicial order, regulation (including without limitation state and federal procurement regulation), national security, or public interest. Any such additional conditions must be clearly described in the notice provisions required under Section 3.4. Any alteration of the terms of this License will apply to all copies of the Covered Software distributed by You or by any downstream recipients that receive the Covered Software from You.
+
+4. Inability to Comply Due to Statute or Regulation
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation, then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the notices required under Section 3.4. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5. Termination
+
+ 5.1 Failure to Comply
+ The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60-days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30-days after Your receipt of the notice.
+
+ 5.2 Patent Infringement Claims
 If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate.
+
+ 5.3 Additional Compliance Terms
+ Notwithstanding the foregoing in this Section 5, for purposes of this Section, if You breach Section 3.1 (Distribution of Source Form), Section 3.2 (Distribution of Executable Form), Section 3.3 (Distribution of a Larger Work), or Section 3.4 (Notices), then becoming compliant as described in Section 5.1 must also include, no later than 30 days after receipt by You of notice of such violation by a Contributor, making the Covered Software available in Source Code Form as required by this License on a publicly available computer network for a period of no less than three (3) years.
+
+ 5.4 Contributor Remedies
+ If You fail to comply with the terms of this License and do not thereafter become compliant in accordance with Section 5.1 and, if applicable, Section 5.3, then each Contributor reserves its right, in addition to any other rights it may have in law or in equity, to bring an action seeking injunctive relief, or damages for willful copyright or patent infringement (including without limitation damages for unjust enrichment, where available under law), for all actions in violation of rights that would otherwise have been granted under the terms of this License.
+
+ 5.5 End User License Agreements
+ In the event of termination under this Section 5, all end user license agreements (excluding distributors and resellers), which have been validly granted by You or Your distributors under this License prior to termination shall survive termination.
+
+6. Disclaimer of Warranty
+Covered Software is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer.
+
+7. Limitation of Liability
+Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party’s negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
+
+8. Litigation
+Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party’s ability to bring cross-claims or counter-claims.
+
+9. Government Terms
+
+ 9.1 Commercial Item
+ The Covered Software is a “commercial item,” as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software” and “commercial computer software documentation,” as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein.
+
+ 9.2 No Sovereign Immunity
+ The U.S. federal government and states that use or distribute Covered Software hereby waive their sovereign immunity with respect to enforcement of the provisions of this License.
+
+ 9.3 Choice of Law and Venue
+
+ 9.3.1 If You are a government of a state of the United States, or Your use of the Covered Software is pursuant to a procurement contract with such a state government, this License shall be governed by the law of such state, excluding its conflict-of-law provisions, and the adjudication of disputes relating to this License will be subject to the exclusive jurisdiction of the state and federal courts located in such state.
+ 9.3.2 If You are an agency of the United States federal government, or Your use of the Covered Software is pursuant to a procurement contract with such an agency, this License shall be governed by federal law for all purposes, and the adjudication of disputes relating to this License will be subject to the exclusive jurisdiction of the federal courts located in Washington, D.C.
+ 9.3.3 You may alter the terms of this Section 9.3 for this License as described in Section 3.5.2.
+
+ 9.4 Supremacy
+ This Section 9 is in lieu of, and supersedes, any other Federal Acquisition Regulation, Defense Federal Acquisition Regulation, or other clause or provision that addresses government rights in computer software under this License.
+
+10. Miscellaneous
+This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation, which provides that the language of a contract shall be construed against the drafter, shall not be used to construe this License against a Contributor.
+
+11. Versions of the License
+
+ 11.1 New Versions The Open Source Election Technology Foundation (“OSET”) (formerly known as the Open Source Digital Voting Foundation) is the steward of this License. Except as provided in Section 11.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number.
+
+ 11.2 Effects of New Versions You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward.
+
+ 11.3 Modified Versions If You create software not governed by this License, and You want to create a new license for such software, You may create and use a modified version of this License if You rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License).
+
+ 11.4 Distributing Source Code Form That is Incompatible With Secondary Licenses If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached.
+
+EXHIBIT A – Source Code Form License Notice
+
+This Source Code Form is subject to the terms of the OSET Public License, v.2.1 (“OSET-PL-2.1”). If a copy of the OPL was not distributed with this file, You can obtain one at: www.OSETFoundation.org/public-license.
+
+If it is not possible or desirable to put the Notice in a particular file, then You may include the Notice in a location (e.g., such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. You may add additional accurate notices of copyright ownership.
+
+EXHIBIT B - “Incompatible With Secondary License” Notice
+
+This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the OSET Public License, v.2.1.
diff --git a/poky/meta/files/common-licenses/OSL-1.1 b/poky/meta/files/common-licenses/OSL-1.1
new file mode 100644
index 000000000..050f131fc
--- /dev/null
+++ b/poky/meta/files/common-licenses/OSL-1.1
@@ -0,0 +1,47 @@
+The Open Software License v. 1.1
+
+This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
+
+ Licensed under the Open Software License version 1.1
+
+1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license to do the following:
+
+ a) to reproduce the Original Work in copies;
+
+ b) to prepare derivative works ("Derivative Works") based upon the Original Work;
+
+ c) to distribute copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute shall be licensed under the Open Software License;
+
+ d) to perform the Original Work publicly; and
+
+ e) to display the Original Work publicly.
+
+2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor ("Licensed Claims") to make, use, sell and offer for sale the Original Work. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license under the Licensed Claims to make, use, sell and offer for sale Derivative Works.
+
+3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
+
+4) Exclusions From License Grant. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the Licensed Claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
+
+5) External Deployment. The term "External Deployment" means the use or distribution of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether the Original Work or Derivative Works are distributed to those persons or made available as an application intended for use over a computer network. As an express condition for the grants of license hereunder, You agree that any External Deployment by You of a Derivative Work shall be deemed a distribution and shall be licensed to all under the terms of this License, as prescribed in section 1(c) herein.
+
+6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
+
+7) Warranty and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work is owned by the Licensor or that the Original Work is distributed by Licensor under a valid current license from the copyright owner. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
+
+8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
+
+9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express and volitional assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Sections 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Sections 1 herein, You indicate Your acceptance of this License and all of its terms and conditions. This License shall terminate immediately and you may no longer exercise any of the rights granted to You by this License upon Your failure to honor the proviso in Section 1(c) herein.
+
+10) Mutual Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License if You file a lawsuit in any court alleging that any OSI Certified open source software that is licensed under any license containing this "Mutual Termination for Patent Action" clause infringes any patent claims that are essential to use that software.
+
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. å¤ 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
+
+12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+
+13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
+
+14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
+
+This license is Copyright (C) 2002 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
diff --git a/poky/meta/files/common-licenses/OSL-2.1 b/poky/meta/files/common-licenses/OSL-2.1
new file mode 100644
index 000000000..a2f08d176
--- /dev/null
+++ b/poky/meta/files/common-licenses/OSL-2.1
@@ -0,0 +1,47 @@
+The Open Software Licensev. 2.1
+
+This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
+
+ Licensed under the Open Software License version 2.1
+
+1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
+
+ a) to reproduce the Original Work in copies;
+
+ b) to prepare derivative works ("Derivative Works") based upon the Original Work;
+
+ c) to distribute copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute shall be licensed under the Open Software License;
+
+ d) to perform the Original Work publicly; and
+
+ e) to display the Original Work publicly.
+
+2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
+
+3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
+
+4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
+
+5) External Deployment. The term "External Deployment" means the use or distribution of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether the Original Work or Derivative Works are distributed to those persons or made available as an application intended for use over a computer network. As an express condition for the grants of license hereunder, You agree that any External Deployment by You of a Derivative Work shall be deemed a distribution and shall be licensed to all under the terms of this License, as prescribed in section 1(c) herein.
+
+6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
+
+7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
+
+8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
+
+9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions. This License shall terminate immediately and you may no longer exercise any of the rights granted to You by this License upon Your failure to honor the proviso in Section 1(c) herein.
+
+10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
+
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
+
+12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+
+13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
+
+14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
+
+This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
diff --git a/poky/meta/files/common-licenses/PDDL-1.0 b/poky/meta/files/common-licenses/PDDL-1.0
new file mode 100644
index 000000000..6a830d7df
--- /dev/null
+++ b/poky/meta/files/common-licenses/PDDL-1.0
@@ -0,0 +1,136 @@
+Open Data Commons Public Domain Dedication & License (PDDL)
+
+Preamble
+The Open Data Commons - Public Domain Dedication & Licence is a document intended to allow you to freely share, modify, and use this work for any purpose and without any restrictions. This licence is intended for use on databases or their contents ("data"), either together or individually.
+
+Many databases are covered by copyright. Some jurisdictions, mainly in Europe, have specific special rights that cover databases called the "sui generis" database right. Both of these sets of rights, as well as other legal rights used to protect databases and data, can create uncertainty or practical difficulty for those wishing to share databases and their underlying data but retain a limited amount of rights under a "some rights reserved" approach to licensing as outlined in the Science Commons Protocol for Implementing Open Access Data. As a result, this waiver and licence tries to the fullest extent possible to eliminate or fully license any rights that cover this database and data. Any Community Norms or similar statements of use of the database or data do not form a part of this document, and do not act as a contract for access or other terms of use for the database or data.
+
+The position of the recipient of the work
+
+Because this document places the database and its contents in or as close as possible within the public domain, there are no restrictions or requirements placed on the recipient by this document. Recipients may use this work commercially, use technical protection measures, combine this data or database with other databases or data, and share their changes and additions or keep them secret. It is not a requirement that recipients provide further users with a copy of this licence or attribute the original creator of the data or database as a source. The goal is to eliminate restrictions held by the original creator of the data and database on the use of it by others.
+
+The position of the dedicator of the work
+
+Copyright law, as with most other law under the banner of "intellectual property", is inherently national law. This means that there exists several differences in how copyright and other IP rights can be relinquished, waived or licensed in the many legal jurisdictions of the world. This is despite much harmonisation of minimum levels of protection. The internet and other communication technologies span these many disparate legal jurisdictions and thus pose special difficulties for a document relinquishing and waiving intellectual property rights, including copyright and database rights, for use by the global community. Because of this feature of intellectual property law, this document first relinquishes the rights and waives the relevant rights and claims. It then goes on to license these same rights for jurisdictions or areas of law that may make it difficult to relinquish or waive rights or claims.
+
+The purpose of this document is to enable rightsholders to place their work into the public domain. Unlike licences for free and open source software, free cultural works, or open content licences, rightsholders will not be able to "dual license" their work by releasing the same work under different licences. This is because they have allowed anyone to use the work in whatever way they choose. Rightsholders therefore can’t re-license it under copyright or database rights on different terms because they have nothing left to license. Doing so creates truly accessible data to build rich applications and advance the progress of science and the arts.
+
+This document can cover either or both of the database and its contents (the data). Because databases can have a wide variety of content - not just factual data - rightsholders should use the Open Data Commons - Public Domain Dedication & Licence for an entire database and its contents only if everything can be placed under the terms of this document. Because even factual data can sometimes have intellectual property rights, rightsholders should use this licence to cover both the database and its factual data when making material available under this document; even if it is likely that the data would not be covered by copyright or database rights.
+
+Rightsholders can also use this document to cover any copyright or database rights claims over only a database, and leave the contents to be covered by other licences or documents. They can do this because this document refers to the "Work", which can be either - or both - the database and its contents. As a result, rightsholders need to clearly state what they are dedicating under this document when they dedicate it.
+
+Just like any licence or other document dealing with intellectual property, rightsholders should be aware that one can only license what one owns. Please ensure that the rights have been cleared to make this material available under this document.
+
+This document permanently and irrevocably makes the Work available to the public for any use of any kind, and it should not be used unless the rightsholder is prepared for this to happen.
+
+Part I: Introduction
+
+The Rightsholder (the Person holding rights or claims over the Work) agrees as follows:
+
+1.0 Definitions of Capitalised Words
+
+"Copyright" - Includes rights under copyright and under neighbouring rights and similarly related sets of rights under the law of the relevant jurisdiction under Section 6.4.
+
+"Data" - The contents of the Database, which includes the information, independent works, or other material collected into the Database offered under the terms of this Document.
+
+"Database" - A collection of Data arranged in a systematic or methodical way and individually accessible by electronic or other means offered under the terms of this Document.
+
+"Database Right" - Means rights over Data resulting from the Chapter III ("sui generis") rights in the Database Directive (Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases) and any future updates as well as any similar rights available in the relevant jurisdiction under Section 6.4.
+
+"Document" - means this relinquishment and waiver of rights and claims and back up licence agreement.
+
+"Person" - Means a natural or legal person or a body of persons corporate or incorporate.
+
+"Use" - As a verb, means doing any act that is restricted by Copyright or Database Rights whether in the original medium or any other; and includes modifying the Work as may be technically necessary to use it in a different mode or format. This includes the right to sublicense the Work.
+
+"Work" - Means either or both of the Database and Data offered under the terms of this Document.
+
+"You" - the Person acquiring rights under the licence elements of this Document.
+
+Words in the singular include the plural and vice versa.
+
+2.0 What this document covers
+
+2.1. Legal effect of this Document. This Document is:
+
+ a. A dedication to the public domain and waiver of Copyright and Database Rights over the Work; and
+
+ b. A licence of Copyright and Database Rights over the Work in jurisdictions that do not allow for relinquishment or waiver.
+
+2.2. Legal rights covered.
+
+ a. Copyright. Any copyright or neighbouring rights in the Work. Copyright law varies between jurisdictions, but is likely to cover: the Database model or schema, which is the structure, arrangement, and organisation of the Database, and can also include the Database tables and table indexes; the data entry and output sheets; and the Field names of Data stored in the Database. Copyright may also cover the Data depending on the jurisdiction and type of Data; and
+
+ b. Database Rights. Database Rights only extend to the extraction and re-utilisation of the whole or a substantial part of the Data. Database Rights can apply even when there is no copyright over the Database. Database Rights can also apply when the Data is removed from the Database and is selected and arranged in a way that would not infringe any applicable copyright.
+
+2.2 Rights not covered.
+
+ a. This Document does not apply to computer programs used in the making or operation of the Database;
+
+ b. This Document does not cover any patents over the Data or the Database. Please see Section 4.2 later in this Document for further details; and
+
+ c. This Document does not cover any trade marks associated with the Database. Please see Section 4.3 later in this Document for further details.
+
+Users of this Database are cautioned that they may have to clear other rights or consult other licences.
+
+2.3 Facts are free. The Rightsholder takes the position that factual information is not covered by Copyright. This Document however covers the Work in jurisdictions that may protect the factual information in the Work by Copyright, and to cover any information protected by Copyright that is contained in the Work.
+
+Part II: Dedication to the public domain
+
+3.0 Dedication, waiver, and licence of Copyright and Database Rights
+
+3.1 Dedication of Copyright and Database Rights to the public domain. The Rightsholder by using this Document, dedicates the Work to the public domain for the benefit of the public and relinquishes all rights in Copyright and Database Rights over the Work.
+
+ a. The Rightsholder realises that once these rights are relinquished, that the Rightsholder has no further rights in Copyright and Database Rights over the Work, and that the Work is free and open for others to Use.
+
+ b. The Rightsholder intends for their relinquishment to cover all present and future rights in the Work under Copyright and Database Rights, whether they are vested or contingent rights, and that this relinquishment of rights covers all their heirs and successors.
+
+The above relinquishment of rights applies worldwide and includes media and formats now known or created in the future.
+
+3.2 Waiver of rights and claims in Copyright and Database Rights when Section 3.1 dedication inapplicable. If the dedication in Section 3.1 does not apply in the relevant jurisdiction under Section 6.4, the Rightsholder waives any rights and claims that the Rightsholder may have or acquire in the future over the Work in:
+
+ a. Copyright; and
+
+ b. Database Rights.
+
+To the extent possible in the relevant jurisdiction, the above waiver of rights and claims applies worldwide and includes media and formats now known or created in the future. The Rightsholder agrees not to assert the above rights and waives the right to enforce them over the Work.
+
+3.3 Licence of Copyright and Database Rights when Sections 3.1 and 3.2 inapplicable. If the dedication and waiver in Sections 3.1 and 3.2 does not apply in the relevant jurisdiction under Section 6.4, the Rightsholder and You agree as follows:
+
+ a. The Licensor grants to You a worldwide, royalty-free, non-exclusive, licence to Use the Work for the duration of any applicable Copyright and Database Rights. These rights explicitly include commercial use, and do not exclude any field of endeavour. To the extent possible in the relevant jurisdiction, these rights may be exercised in all media and formats whether now known or created in the future.
+
+3.4 Moral rights. This section covers moral rights, including the right to be identified as the author of the Work or to object to treatment that would otherwise prejudice the author’s honour and reputation, or any other derogatory treatment:
+
+ a. For jurisdictions allowing waiver of moral rights, Licensor waives all moral rights that Licensor may have in the Work to the fullest extent possible by the law of the relevant jurisdiction under Section 6.4;
+
+ b. If waiver of moral rights under Section 3.4 a in the relevant jurisdiction is not possible, Licensor agrees not to assert any moral rights over the Work and waives all claims in moral rights to the fullest extent possible by the law of the relevant jurisdiction under Section 6.4; and
+
+ c. For jurisdictions not allowing waiver or an agreement not to assert moral rights under Section 3.4 a and b, the author may retain their moral rights over the copyrighted aspects of the Work.
+
+Please note that some jurisdictions do not allow for the waiver of moral rights, and so moral rights may still subsist over the work in some jurisdictions.
+
+4.0 Relationship to other rights
+
+4.1 No other contractual conditions. The Rightsholder makes this Work available to You without any other contractual obligations, either express or implied. Any Community Norms statement associated with the Work is not a contract and does not form part of this Document.
+
+4.2 Relationship to patents. This Document does not grant You a licence for any patents that the Rightsholder may own. Users of this Database are cautioned that they may have to clear other rights or consult other licences.
+
+4.3 Relationship to trade marks. This Document does not grant You a licence for any trade marks that the Rightsholder may own or that the Rightsholder may use to cover the Work. Users of this Database are cautioned that they may have to clear other rights or consult other licences. Part III: General provisions
+
+5.0 Warranties, disclaimer, and limitation of liability
+
+5.1 The Work is provided by the Rightsholder "as is" and without any warranty of any kind, either express or implied, whether of title, of accuracy or completeness, of the presence of absence of errors, of fitness for purpose, or otherwise. Some jurisdictions do not allow the exclusion of implied warranties, so this exclusion may not apply to You.
+
+5.2 Subject to any liability that may not be excluded or limited by law, the Rightsholder is not liable for, and expressly excludes, all liability for loss or damage however and whenever caused to anyone by any use under this Document, whether by You or by anyone else, and whether caused by any fault on the part of the Rightsholder or not. This exclusion of liability includes, but is not limited to, any special, incidental, consequential, punitive, or exemplary damages. This exclusion applies even if the Rightsholder has been advised of the possibility of such damages.
+
+5.3 If liability may not be excluded by law, it is limited to actual and direct financial loss to the extent it is caused by proved negligence on the part of the Rightsholder.
+
+6.0 General
+
+6.1 If any provision of this Document is held to be invalid or unenforceable, that must not affect the cvalidity or enforceability of the remainder of the terms of this Document.
+
+6.2 This Document is the entire agreement between the parties with respect to the Work covered here. It replaces any earlier understandings, agreements or representations with respect to the Work not specified here.
+
+6.3 This Document does not affect any rights that You or anyone else may independently have under any applicable law to make any use of this Work, including (for jurisdictions where this Document is a licence) fair dealing, fair use, database exceptions, or any other legally recognised limitation or exception to infringement of copyright or other applicable laws.
+
+6.4 This Document takes effect in the relevant jurisdiction in which the Document terms are sought to be enforced. If the rights waived or granted under applicable law in the relevant jurisdiction includes additional rights not waived or granted under this Document, these additional rights are included in this Document in order to meet the intent of this Document.
diff --git a/poky/meta/files/common-licenses/PHP-3.01 b/poky/meta/files/common-licenses/PHP-3.01
new file mode 100644
index 000000000..6ffc95218
--- /dev/null
+++ b/poky/meta/files/common-licenses/PHP-3.01
@@ -0,0 +1,27 @@
+The PHP License, version 3.01
+
+Copyright (c) 1999 - 2012 The PHP Group. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, is permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "PHP" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact group@php.net.
+
+4. Products derived from this software may not be called "PHP", nor may "PHP" appear in their name, without prior written permission from group@php.net. You may indicate that your software works in conjunction with PHP by saying "Foo for PHP" instead of calling it "PHP Foo" or "phpfoo"
+
+5. The PHP Group may publish revised and/or new versions of the license from time to time. Each version will be given a distinguishing version number. Once covered code has been published under a particular version of the license, you may always continue to use it under the terms of that version. You may also choose to use such covered code under the terms of any subsequent version of the license published by the PHP Group. No one other than the PHP Group has the right to modify the terms applicable to covered code created under this License.
+
+6. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes PHP software, freely available from <http://www.php.net/software/>".
+
+THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This software consists of voluntary contributions made by many individuals on behalf of the PHP Group.
+
+The PHP Group can be contacted via Email at group@php.net.
+
+For more information on the PHP Group and the PHP project, please see <http://www.php.net>.
+
+PHP includes the Zend Engine, freely available at <http://www.zend.com>.
diff --git a/poky/meta/files/common-licenses/Parity-6.0.0 b/poky/meta/files/common-licenses/Parity-6.0.0
new file mode 100644
index 000000000..a3bb2a623
--- /dev/null
+++ b/poky/meta/files/common-licenses/Parity-6.0.0
@@ -0,0 +1,44 @@
+The Parity Public License 6.0.0
+
+Contributor: Example, Inc.
+
+Source Code: https://example.com/sourcecode
+
+This license lets you use and share this software for free, as
+long as you contribute software you make with it. Specifically:
+
+If you follow the rules below, you may do everything with this
+software that would otherwise infringe either the contributor's
+copyright in it, any patent claim the contributor can license,
+or both.
+
+1. Contribute changes and additions you make to this software.
+
+2. If you combine this software with other software, contribute
+ that other software.
+
+3. Contribute software you develop, deploy, monitor, or run with
+ this software.
+
+4. Ensure everyone who gets a copy of this software from you, in
+ source code or any other form, gets the text of this license
+ and the contributor and source code lines above.
+
+5. Do not make any legal claim against anyone accusing this
+ software, with or without changes, alone or with other
+ software, of infringing any patent claim.
+
+To contribute software, publish all its source code, in the
+preferred form for making changes, through a freely accessible
+distribution system widely used for similar source code, and
+license contributions not already licensed to the public on terms
+as permissive as this license accordingly.
+
+You are excused for unknowingly breaking 1, 2, or 3 if you
+contribute as required, or stop doing anything requiring this
+license, within 30 days of learning you broke the rule.
+
+**As far as the law allows, this software comes as is, without
+any warranty, and the contributor will not be liable to anyone
+for any damages related to this software or this license, for any
+kind of legal claim.**
diff --git a/poky/meta/files/common-licenses/Parity-7.0.0 b/poky/meta/files/common-licenses/Parity-7.0.0
new file mode 100644
index 000000000..e5e022061
--- /dev/null
+++ b/poky/meta/files/common-licenses/Parity-7.0.0
@@ -0,0 +1,71 @@
+# The Parity Public License 7.0.0
+
+Contributor: Artless Devices, LLC [US-CA]
+
+Source Code: https://github.com/licensezero/licensezero.com
+
+## Purpose
+
+This license allows you to use and share this software for free, but you have to share software that builds on it alike.
+
+## Agreement
+
+In order to receive this license, you have to agree to its rules. Those rules are both obligations under that agreement and conditions to your license. Don't do anything with this software that triggers a rule you can't or won't follow.
+
+## Notices
+
+Make sure everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license and the contributor and source code lines above.
+
+## Copyleft
+
+[Contribute](#contribute) software you develop, operate, or analyze with this software, including changes or additions to this software. When in doubt, [contribute](#contribute).
+
+## Prototypes
+
+You don't have to [contribute](#contribute) any change, addition, or other software that meets all these criteria:
+
+1. You don't use it for more than thirty days.
+
+2. You don't share it outside the team developing it, other than for non-production user testing.
+
+3. You don't develop, operate, or analyze other software with it for anyone outside the team developing it.
+
+## Reverse Engineering
+
+You may use this software to operate and analyze software you can't [contribute](#contribute) in order to develop alternatives you can and do [contribute](#contribute).
+
+## Contribute
+
+To [contribute](#contribute) software:
+
+1. Publish all source code for the software in the preferred form for making changes through a freely accessible distribution system widely used for similar source code so the contributor and others can find and copy it.
+
+2. Make sure every part of the source code is available under this license or another license that allows everything this license does, such as [the Blue Oak Model License 1.0.0](https://blueoakcouncil.org/license/1.0.0), [the Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html), [the MIT license](https://spdx.org/licenses/MIT.html), or [the two-clause BSD license](https://spdx.org/licenses/BSD-2-Clause.html).
+
+3. Take these steps within thirty days.
+
+4. Note that this license does _not_ allow you to change the license terms for this software. You must follow [Notices](#notices).
+
+## Excuse
+
+You're excused for unknowingly breaking [Copyleft](#copyleft) if you [contribute](#contribute) as required, or stop doing anything requiring this license, within thirty days of learning you broke the rule. You're excused for unknowingly breaking [Notices](#notices) if you take all practical steps to comply within thirty days of learning you broke the rule.
+
+## Defense
+
+Don't make any legal claim against anyone accusing this software, with or without changes, alone or with other technology, of infringing any patent.
+
+## Copyright
+
+The contributor licenses you to do everything with this software that would otherwise infringe their copyright in it.
+
+## Patent
+
+The contributor licenses you to do everything with this software that would otherwise infringe any patents they can license or become able to license.
+
+## Reliability
+
+The contributor can't revoke this license.
+
+## No Liability
+
+***As far as the law allows, this software comes as is, without any warranty or condition, and the contributor won't be liable to anyone for any damages related to this software or this license, under any kind of legal claim.***
diff --git a/poky/meta/files/common-licenses/Plexus b/poky/meta/files/common-licenses/Plexus
new file mode 100644
index 000000000..c92bc7245
--- /dev/null
+++ b/poky/meta/files/common-licenses/Plexus
@@ -0,0 +1,15 @@
+Copyright 2002 (C) The Codehaus. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "classworlds” must not be used to endorse or promote products derived from this Software without prior written permission of The Codehaus. For written permission, please contact bob@codehaus.org.
+
+4. Products derived from this Software may not be called "classworlds” nor may "classworlds” appear in their names without prior written permission of The Codehaus. "classworlds” is a registered trademark of The Codehaus.
+
+5. Due credit should be given to The Codehaus. (http://classworlds.codehaus.org/).
+
+THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CODEHAUS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/PolyForm-Noncommercial-1.0.0 b/poky/meta/files/common-licenses/PolyForm-Noncommercial-1.0.0
new file mode 100644
index 000000000..1a71cb643
--- /dev/null
+++ b/poky/meta/files/common-licenses/PolyForm-Noncommercial-1.0.0
@@ -0,0 +1,131 @@
+# PolyForm Noncommercial License 1.0.0
+
+<https://polyformproject.org/licenses/noncommercial/1.0.0>
+
+## Acceptance
+
+In order to get any license under these terms, you must agree
+to them as both strict obligations and conditions to all
+your licenses.
+
+## Copyright License
+
+The licensor grants you a copyright license for the
+software to do everything you might do with the software
+that would otherwise infringe the licensor's copyright
+in it for any permitted purpose. However, you may
+only distribute the software according to [Distribution
+License](#distribution-license) and make changes or new works
+based on the software according to [Changes and New Works
+License](#changes-and-new-works-license).
+
+## Distribution License
+
+The licensor grants you an additional copyright license
+to distribute copies of the software. Your license
+to distribute covers distributing the software with
+changes and new works permitted by [Changes and New Works
+License](#changes-and-new-works-license).
+
+## Notices
+
+You must ensure that anyone who gets a copy of any part of
+the software from you also gets a copy of these terms or the
+URL for them above, as well as copies of any plain-text lines
+beginning with `Required Notice:` that the licensor provided
+with the software. For example:
+
+> Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
+
+## Changes and New Works License
+
+The licensor grants you an additional copyright license to
+make changes and new works based on the software for any
+permitted purpose.
+
+## Patent License
+
+The licensor grants you a patent license for the software that
+covers patent claims the licensor can license, or becomes able
+to license, that you would infringe by using the software.
+
+## Noncommercial Purposes
+
+Any noncommercial purpose is a permitted purpose.
+
+## Personal Uses
+
+Personal use for research, experiment, and testing for
+the benefit of public knowledge, personal study, private
+entertainment, hobby projects, amateur pursuits, or religious
+observance, without any anticipated commercial application,
+is use for a permitted purpose.
+
+## Noncommercial Organizations
+
+Use by any charitable organization, educational institution,
+public research organization, public safety or health
+organization, environmental protection organization,
+or government institution is use for a permitted purpose
+regardless of the source of funding or obligations resulting
+from the funding.
+
+## Fair Use
+
+You may have "fair use" rights for the software under the
+law. These terms do not limit them.
+
+## No Other Rights
+
+These terms do not allow you to sublicense or transfer any of
+your licenses to anyone else, or prevent the licensor from
+granting licenses to anyone else. These terms do not imply
+any other licenses.
+
+## Patent Defense
+
+If you make any written claim that the software infringes or
+contributes to infringement of any patent, your patent license
+for the software granted under these terms ends immediately. If
+your company makes such a claim, your patent license ends
+immediately for work on behalf of your company.
+
+## Violations
+
+The first time you are notified in writing that you have
+violated any of these terms, or done anything with the software
+not covered by your licenses, your licenses can nonetheless
+continue if you come into full compliance with these terms,
+and take practical steps to correct past violations, within
+32 days of receiving notice. Otherwise, all your licenses
+end immediately.
+
+## No Liability
+
+***As far as the law allows, the software comes as is, without
+any warranty or condition, and the licensor will not be liable
+to you for any damages arising out of these terms or the use
+or nature of the software, under any kind of legal claim.***
+
+## Definitions
+
+The **licensor** is the individual or entity offering these
+terms, and the **software** is the software the licensor makes
+available under these terms.
+
+**You** refers to the individual or entity agreeing to these
+terms.
+
+**Your company** is any legal entity, sole proprietorship,
+or other kind of organization that you work for, plus all
+organizations that have control over, are under the control of,
+or are under common control with that organization. **Control**
+means ownership of substantially all the assets of an entity,
+or the power to direct its management and policies by vote,
+contract, or otherwise. Control can be direct or indirect.
+
+**Your licenses** are all the licenses granted to you for the
+software under these terms.
+
+**Use** means anything you do with the software requiring one
+of your licenses.
diff --git a/poky/meta/files/common-licenses/PolyForm-Small-Business-1.0.0 b/poky/meta/files/common-licenses/PolyForm-Small-Business-1.0.0
new file mode 100644
index 000000000..5b5790e04
--- /dev/null
+++ b/poky/meta/files/common-licenses/PolyForm-Small-Business-1.0.0
@@ -0,0 +1,121 @@
+# PolyForm Small Business License 1.0.0
+
+<https://polyformproject.org/licenses/small-business/1.0.0>
+
+## Acceptance
+
+In order to get any license under these terms, you must agree
+to them as both strict obligations and conditions to all
+your licenses.
+
+## Copyright License
+
+The licensor grants you a copyright license for the
+software to do everything you might do with the software
+that would otherwise infringe the licensor's copyright
+in it for any permitted purpose. However, you may
+only distribute the software according to [Distribution
+License](#distribution-license) and make changes or new works
+based on the software according to [Changes and New Works
+License](#changes-and-new-works-license).
+
+## Distribution License
+
+The licensor grants you an additional copyright license
+to distribute copies of the software. Your license
+to distribute covers distributing the software with
+changes and new works permitted by [Changes and New Works
+License](#changes-and-new-works-license).
+
+## Notices
+
+You must ensure that anyone who gets a copy of any part of
+the software from you also gets a copy of these terms or the
+URL for them above, as well as copies of any plain-text lines
+beginning with `Required Notice:` that the licensor provided
+with the software. For example:
+
+> Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
+
+## Changes and New Works License
+
+The licensor grants you an additional copyright license to
+make changes and new works based on the software for any
+permitted purpose.
+
+## Patent License
+
+The licensor grants you a patent license for the software that
+covers patent claims the licensor can license, or becomes able
+to license, that you would infringe by using the software.
+
+## Fair Use
+
+You may have "fair use" rights for the software under the
+law. These terms do not limit them.
+
+## Small Business
+
+Use of the software for the benefit of your company is use for
+a permitted purpose if your company has fewer than 100 total
+individuals working as employees and independent contractors,
+and less than 1,000,000 USD (2019) total revenue in the prior
+tax year. Adjust this revenue threshold for inflation according
+to the United States Bureau of Labor Statistics' consumer price
+index for all urban consumers, U.S. city average, for all items,
+not seasonally adjusted, with 1982–1984=100 reference base.
+
+## No Other Rights
+
+These terms do not allow you to sublicense or transfer any of
+your licenses to anyone else, or prevent the licensor from
+granting licenses to anyone else. These terms do not imply
+any other licenses.
+
+## Patent Defense
+
+If you make any written claim that the software infringes or
+contributes to infringement of any patent, your patent license
+for the software granted under these terms ends immediately. If
+your company makes such a claim, your patent license ends
+immediately for work on behalf of your company.
+
+## Violations
+
+The first time you are notified in writing that you have
+violated any of these terms, or done anything with the software
+not covered by your licenses, your licenses can nonetheless
+continue if you come into full compliance with these terms,
+and take practical steps to correct past violations, within
+32 days of receiving notice. Otherwise, all your licenses
+end immediately.
+
+## No Liability
+
+***As far as the law allows, the software comes as is, without
+any warranty or condition, and the licensor will not be liable
+to you for any damages arising out of these terms or the use
+or nature of the software, under any kind of legal claim.***
+
+## Definitions
+
+The **licensor** is the individual or entity offering these
+terms, and the **software** is the software the licensor makes
+available under these terms.
+
+**You** refers to the individual or entity agreeing to these
+terms.
+
+**Your company** is any legal entity, sole proprietorship,
+or other kind of organization that you work for, plus all
+organizations that have control over, are under the control of,
+or are under common control with that organization. **Control**
+means ownership of substantially all the assets of an entity,
+or the power to direct its management and policies by vote,
+contract, or otherwise. Control can be direct or indirect.
+
+**Your licenses** are all the licenses granted to you for the
+software under these terms.
+
+**Use** means anything you do with the software requiring one
+of your licenses.
diff --git a/poky/meta/files/common-licenses/Qhull b/poky/meta/files/common-licenses/Qhull
new file mode 100644
index 000000000..0c795af16
--- /dev/null
+++ b/poky/meta/files/common-licenses/Qhull
@@ -0,0 +1,17 @@
+Qhull, Copyright (c) 1993-2003
+
+The National Science and Technology Research Center for Computation and Visualization of Geometric Structures (The Geometry Center) University of Minnesota
+
+email: qhull@qhull.org
+
+This software includes Qhull from The Geometry Center. Qhull is copyrighted as noted above. Qhull is free software and may be obtained via http from www.qhull.org. It may be freely copied, modified, and redistributed under the following conditions:
+
+1. All copyright notices must remain intact in all files.
+
+2. A copy of this text file must be distributed along with any copies of Qhull that you redistribute; this includes copies that you have modified, or copies of programs or other software products that include Qhull.
+
+3. If you modify Qhull, you must include a notice giving the name of the person performing the modification, the date of modification, and the reason for such modification.
+
+4. When distributing modified versions of Qhull, or other software products that include Qhull, you must provide notice that the original source code may be obtained as noted above.
+
+5. There is no warranty or other guarantee of fitness for Qhull, it is provided solely "as is". Bug reports or fixes may be sent to qhull_bug@qhull.org; the authors may or may not act on them as they desire.
diff --git a/poky/meta/files/common-licenses/RPL-1.1 b/poky/meta/files/common-licenses/RPL-1.1
new file mode 100644
index 000000000..8db27a884
--- /dev/null
+++ b/poky/meta/files/common-licenses/RPL-1.1
@@ -0,0 +1,177 @@
+Reciprocal Public License, version 1.1
+
+Copyright (C) 2001-2002 Technical Pursuit Inc., All Rights Reserved.
+
+PREAMBLE
+
+This Preamble is intended to describe, in plain English, the nature, intent, and scope of this License. However, this Preamble is not a part of this License. The legal effect of this License is dependent only upon the terms of the License and not this Preamble.
+
+This License is based on the concept of reciprocity. In exchange for being granted certain rights under the terms of this License to Licensor's Software, whose Source Code You have access to, You are required to reciprocate by providing equal access and rights to all third parties to the Source Code of any Modifications, Derivative Works, and Required Components for execution of same (collectively defined as Extensions) that You Deploy by Deploying Your Extensions under the terms of this License. In this fashion the available Source Code related to the original Licensed Software is enlarged for the benefit of everyone.
+
+Under the terms of this License You may:
+
+a. Distribute the Licensed Software exactly as You received it under the terms of this License either alone or as a component of an aggregate software distribution containing programs from several different sources without payment of a royalty or other fee.
+
+b. Use the Licensed Software for any purpose consistent with the rights granted by this License, but the Licensor is not providing You any warranty whatsoever, nor is the Licensor accepting any liability in the event that the Licensed Software doesn't work properly or causes You any injury or damages.
+
+c. Create Extensions to the Licensed Software consistent with the rights granted by this License, provided that You make the Source Code to any Extensions You Deploy available to all third parties under the terms of this License, document Your Modifications clearly, and title all Extensions distinctly from the Licensed Software.
+
+d. Charge a fee for warranty or support, or for accepting indemnity or liability obligations for Your customers.
+
+Under the terms of this License You may not:
+
+a. Charge for the Source Code to the Licensed Software, or Your Extensions, other than a nominal fee not to exceed Your cost for reproduction and distribution where such reproduction and distribution involve physical media.
+
+b. Modify or delete any pre-existing copyright notices, change notices, or License text in the Licensed Software.
+
+c. Assert any patent claims against the Licensor or Contributors, or which would in any way restrict the ability of any third party to use the Licensed Software or portions thereof in any form under the terms of this License, or Your rights to the Licensed Software under this License automatically terminate.
+
+d. Represent either expressly or by implication, appearance, or otherwise that You represent Licensor or
+
+Contributors in any capacity or that You have any form of legal association by virtue of this License.
+
+Under the terms of this License You must:
+
+a. Document any Modifications You make to the Licensed Software including the nature of the change, the authors of the change, and the date of the change. This documentation must appear both in the Source Code and in a text file titled "CHANGES" distributed with the Licensed Software and Your Extensions.
+
+b. Make the Source Code for any Extensions You Deploy available in a timely fashion via an Electronic Distribution Mechanism such as FTP or HTTP download.
+
+c. Notify the Licensor of the availability of Source Code to Your Extensions in a timely fashion and include in such notice a brief description of the Extensions, the distinctive title used, and instructions on how to acquire the Source Code and future updates.
+
+d. Grant Licensor and all third parties a world-wide, non-exclusive, royalty-free license under any intellectual property rights owned or controlled by You to use, reproduce, display, perform, modify, sublicense, and distribute Your Extensions, in any form, under the terms of this License.
+
+LICENSE TERMS
+
+1.0 General; Applicability & Definitions. This Reciprocal Public License Version 1.1 ("License") applies to any programs or other works as well as any and all updates or maintenance releases of said programs or works ("Software") not already covered by this License which the Software copyright holder ("Licensor") makes publicly available containing a Notice (hereinafter defined) from the Licensor specifying or allowing use or distribution under the terms of this License. As used in this License and Preamble:
+
+ 1.1 "Contributor" means any person or entity who created or contributed to the creation of an Extension.
+
+ 1.2 "Deploy" means to use, Serve, sublicense or distribute Licensed Software other than for Your internal Research and/or Personal Use, and includes without limitation, any and all internal use or distribution of Licensed Software within Your business or organization other than for Research and/or Personal Use, as well as direct or indirect sublicensing or distribution of Licensed Software by You to any third party in any form or manner.
+
+ 1.3 "Derivative Works" as used in this License is defined under U.S. copyright law.
+
+ 1.4 "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data such as download from an FTP or web site, where such mechanism is publicly accessible.
+
+ 1.5 "Extensions" means any Modifications, Derivative Works, or Required Components as those terms are defined in this License.
+
+ 1.6 "License" means this Reciprocal Public License.
+
+ 1.7 "Licensed Software" means any Software licensed pursuant to this License. Licensed Software also includes all previous Extensions from any Contributor that You receive.
+
+ 1.8 "Licensor" means the copyright holder of any Software previously uncovered by this License who releases the Software under the terms of this License.
+
+ 1.9 "Modifications" means any additions to or deletions from the substance or structure of (i) a file or other storage containing Licensed Software, or (ii) any new file or storage that contains any part of Licensed Software, or (iii) any file or storage which replaces or otherwise alters the original functionality of Licensed Software at runtime.
+
+ 1.10 "Notice" means the notice contained in EXHIBIT A.
+
+ 1.11 "Personal Use" means use of Licensed Software by an individual solely for his or her personal, private and non-commercial purposes. An individual's use of Licensed Software in his or her capacity as an officer, employee, member, independent contractor or agent of a corporation, business or organization (commercial or non-commercial) does not qualify as Personal Use.
+
+ 1.12 "Required Components" means any text, programs, scripts, schema, interface definitions, control files, or other works created by You which are required by a third party of average skill to successfully install and run Licensed Software containing Your Modifications, or to install and run Your Derivative Works.
+
+ 1.13 "Research" means investigation or experimentation for the purpose of understanding the nature and limits of the Licensed Software and its potential uses.
+
+ 1.14 "Serve" means to deliver Licensed Software and/or Your Extensions by means of a computer network to one or more computers for purposes of execution of Licensed Software and/or Your Extensions.
+
+ 1.15 "Software" means any computer programs or other works as well as any updates or maintenance releases of those programs or works which are distributed publicly by Licensor.
+
+ 1.16 "Source Code" means the preferred form for making modifications to the Licensed Software and/or Your Extensions, including all modules contained therein, plus any associated text, interface definition files, scripts used to control compilation and installation of an executable program or other components required by a third party of average skill to build a running version of the Licensed Software or Your Extensions.
+
+ 1.17 "You" or "Your" means an individual or a legal entity exercising rights under this License. For legal entities, "You" or "Your" includes any entity which controls, is controlled by, or is under common control with, You, where "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2.0 Acceptance Of License. You are not required to accept this License since you have not signed it, however nothing else grants you permission to use, copy, distribute, modify, or create derivatives of either the Software or any Extensions created by a Contributor. These actions are prohibited by law if you do not accept this License. Therefore, by performing any of these actions You indicate Your acceptance of this License and Your agreement to be bound by all its terms and conditions. IF YOU DO NOT AGREE WITH ALL THE TERMS AND CONDITIONS OF THIS LICENSE DO NOT USE, MODIFY, CREATE DERIVATIVES, OR DISTRIBUTE THE SOFTWARE. IF IT IS IMPOSSIBLE FOR YOU TO COMPLY WITH ALL THE TERMS AND CONDITIONS OF THIS LICENSE THEN YOU CAN NOT USE, MODIFY, CREATE DERIVATIVES, OR DISTRIBUTE THE SOFTWARE.
+
+3.0 Grant of License From Licensor. Subject to the terms and conditions of this License, Licensor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to Licensor's intellectual property rights, and any third party intellectual property claims derived from the Licensed Software under this License, to do the following:
+
+ 3.1 Use, reproduce, modify, display, perform, sublicense and distribute Licensed Software and Your Extensions in both Source Code form or as an executable program.
+
+ 3.2 Create Derivative Works (as that term is defined under U.S. copyright law) of Licensed Software by adding to or deleting from the substance or structure of said Licensed Software.
+
+ 3.3 Under claims of patents now or hereafter owned or controlled by Licensor, to make, use, have made, and/or otherwise dispose of Licensed Software or portions thereof, but solely to the extent that any such claim is necessary to enable You to make, use, have made, and/or otherwise dispose of Licensed Software or portions thereof.
+
+ 3.4 Licensor reserves the right to release new versions of the Software with different features, specifications, capabilities, functions, licensing terms, general availability or other characteristics. Title, ownership rights, and intellectual property rights in and to the Licensed Software shall remain in Licensor and/or its Contributors.
+
+4.0 Grant of License From Contributor. By application of the provisions in Section 6 below, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to said Contributor's intellectual property rights, and any third party intellectual property claims derived from the Licensed Software under this License, to do the following:
+
+ 4.1 Use, reproduce, modify, display, perform, sublicense and distribute any Extensions Deployed by such Contributor or portions thereof, in both Source Code form or as an executable program, either on an unmodified basis or as part of Derivative Works.
+
+ 4.2 Under claims of patents now or hereafter owned or controlled by Contributor, to make, use, have made, and/or otherwise dispose of Extensions or portions thereof, but solely to the extent that any such claim is necessary to enable You to make, use, have made, and/or otherwise dispose of Contributor's Extensions or portions thereof.
+
+5.0 Exclusions From License Grant. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor or any Contributor except as expressly stated herein. Except as expressly stated in Sections 3 and 4, no other patent rights, express or implied, are granted herein. Your Extensions may require additional patent licenses from Licensor or Contributors which each may grant in its sole discretion. No right is granted to the trademarks of Licensor or any Contributor even if such marks are included in the Licensed Software. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any code that Licensor otherwise would have a right to license.
+
+ 5.1 You expressly acknowledge and agree that although Licensor and each Contributor grants the licenses to their respective portions of the Licensed Software set forth herein, no assurances are provided by Licensor or any Contributor that the Licensed Software does not infringe the patent or other intellectual property rights of any other entity. Licensor and each Contributor disclaim any liability to You for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, You hereby assume sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow You to distribute the Licensed Software, it is Your responsibility to acquire that license before distributing the Licensed Software.
+
+6.0 Your Obligations And Grants. In consideration of, and as an express condition to, the licenses granted to You under this License You hereby agree that any Modifications, Derivative Works, or Required Components (collectively Extensions) that You create or to which You contribute are governed by the terms of this License including, without limitation, Section 4. Any Extensions that You create or to which You contribute must be Deployed under the terms of this License or a future version of this License released under Section 7. You hereby grant to Licensor and all third parties a world-wide, non-exclusive, royalty-free license under those intellectual property rights You own or control to use, reproduce, display, perform, modify, create derivatives, sublicense, and distribute Your Extensions, in any form. Any Extensions You make and Deploy must have a distinct title so as to readily tell any subsequent user or Contributor that the Extensions are by You. You must include a copy of this License with every copy of the Extensions You distribute. You agree not to offer or impose any terms on any Source Code or executable version of the Licensed Software, or its Extensions that alter or restrict the applicable version of this License or the recipients' rights hereunder.
+
+ 6.1 Availability of Source Code. You must make available, under the terms of this License, the Source Code of the Licensed Software and any Extensions that You Deploy, either on the same media as You distribute any executable or other form of the Licensed Software, or via an Electronic Distribution Mechanism. The Source Code for any version of Licensed Software, or its Extensions that You Deploy must be made available at the time of Deployment and must remain available for as long as You Deploy the Extensions or at least twelve (12) months after the date You Deploy, whichever is longer. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. You may not charge a fee for the Source Code distributed under this Section in excess of Your actual cost of duplication and distribution where such duplication and distribution involve physical media.
+
+ 6.2 Description of Modifications. You must cause any Modifications that You create or to which You contribute, to update the file titled "CHANGES" distributed with Licensed Software documenting the additions, changes or deletions You made, the authors of such Modifications, and the dates of any such additions, changes or deletions. You must also cause a cross-reference to appear in the Source Code at the location of each change. You must include a prominent statement that the Modifications are derived, directly or indirectly, from the Licensed Software and include the names of the Licensor and any Contributor to the Licensed Software in (i) the Source Code and (ii) in any notice displayed by the Licensed Software You distribute or in related documentation in which You describe the origin or ownership of the Licensed Software. You may not modify or delete any pre-existing copyright notices, change notices or License text in the Licensed Software.
+
+ 6.3 Intellectual Property Matters.
+
+ a. Third Party Claims. If You have knowledge that a license to a third party's intellectual property right is required to exercise the rights granted by this License, You must include a text file with the Source Code distribution titled "LEGAL" that describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If You obtain such knowledge after You make any Extensions available as described in Section 6.1, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Licensed Software from You that new knowledge has been obtained.
+
+ b. Contributor APIs. If Your Extensions include an application programming interface ("API") and You have knowledge of patent licenses that are reasonably necessary to implement that API, You must also include this information in the LEGAL file.
+
+ c. Representations. You represent that, except as disclosed pursuant to 6.3(a) above, You believe that any Extensions You distribute are Your original creations and that You have sufficient rights to grant the rights conveyed by this License.
+
+ 6.4 Required Notices.
+
+ a. License Text. You must duplicate this License in any documentation You provide along with the Source Code of any Extensions You create or to which You contribute, wherever You describe recipients' rights relating to Licensed Software. You must duplicate the notice contained in EXHIBIT A (the "Notice") in each file of the Source Code of any copy You distribute of the Licensed Software and Your Extensions. If You create an Extension, You may add Your name as a Contributor to the text file titled "CONTRIB" distributed with the Licensed Software along with a description of the contribution. If it is not possible to put the Notice in a particular Source Code file due to its structure, then You must include such Notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice.
+
+ b. Source Code Availability. You must notify Licensor within one (1) month of the date You initially Deploy of the availability of Source Code to Your Extensions and include in such notification the name under which you Deployed Your Extensions, a description of the Extensions, and instructions on how to acquire the Source Code, including instructions on how to acquire updates over time. Should such instructions change you must provide Licensor with revised instructions within one (1) month of the date of change. Should you be unable to notify Licensor directly, you must provide notification by posting to appropriate news groups, mailing lists, or web sites where a search engine would reasonably be expected to index them.
+
+ 6.5 Additional Terms. You may choose to offer, and charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Licensed Software. However, You may do so only on Your own behalf, and not on behalf of the Licensor or any Contributor. You must make it clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Licensor and every Contributor for any liability plus attorney fees, costs, and related expenses due to any such action or claim incurred by the Licensor or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 6.6 Conflicts With Other Licenses. Where any portion of Your Extensions, by virtue of being Derivative Works of another product or similar circumstance, fall under the terms of another license, the terms of that license should be honored however You must also make Your Extensions available under this License. If the terms of this License continue to conflict with the terms of the other license you may write the Licensor for permission to resolve the conflict in a fashion that remains consistent with the intent of this License. Such permission will be granted at the sole discretion of the Licensor.
+
+7.0 Versions of This License. Licensor may publish from time to time revised and/or new versions of the License. Once Licensed Software has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Licensed Software under the terms of any subsequent version of the License published by Licensor. No one other than Licensor has the right to modify the terms applicable to Licensed Software created under this License.
+
+ 7.1 If You create or use a modified version of this License, which You may do only in order to apply it to software that is not already Licensed Software under this License, You must rename Your license so that it is not confusingly similar to this License, and must make it clear that Your license contains terms that differ from this License. In so naming Your license, You may not use any trademark of Licensor or of any Contributor. Should Your modifications to this License be limited to alteration of EXHIBIT A purely for purposes of adjusting the Notice You require of licensees, You may continue to refer to Your License as the Reciprocal Public License or simply the RPL.
+
+8.0 Disclaimer of Warranty. LICENSED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE LICENSED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. FURTHER THERE IS NO WARRANTY MADE AND ALL IMPLIED WARRANTIES ARE DISCLAIMED THAT THE LICENSED SOFTWARE MEETS OR COMPLIES WITH ANY DESCRIPTION OF PERFORMANCE OR OPERATION, SAID COMPATIBILITY AND SUITABILITY BEING YOUR RESPONSIBILITY. LICENSOR DISCLAIMS ANY WARRANTY, IMPLIED OR EXPRESSED, THAT ANY CONTRIBUTOR'S EXTENSIONS MEET ANY STANDARD OF COMPATIBILITY OR DESCRIPTION OF PERFORMANCE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LICENSED SOFTWARE IS WITH YOU. SHOULD LICENSED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (AND NOT THE LICENSOR OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. UNDER THE TERMS OF THIS LICENSOR WILL NOT SUPPORT THIS SOFTWARE AND IS UNDER NO OBLIGATION TO ISSUE UPDATES TO THIS SOFTWARE. LICENSOR HAS NO KNOWLEDGE OF ERRANT CODE OR VIRUS IN THIS SOFTWARE, BUT DOES NOT WARRANT THAT THE SOFTWARE IS FREE FROM SUCH ERRORS OR VIRUSES. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF LICENSED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9.0 Limitation of Liability. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE LICENSOR, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF LICENSED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10.0 High Risk Activities. THE LICENSED SOFTWARE IS NOT FAULT-TOLERANT AND IS NOT DESIGNED, MANUFACTURED, OR INTENDED FOR USE OR DISTRIBUTION AS ON-LINE CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATIONS SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE LICENSED SOFTWARE COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). LICENSOR AND CONTRIBUTORS SPECIFICALLY DISCLAIM ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
+
+11.0 Responsibility for Claims. As between Licensor and Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License which specifically disclaims warranties and limits any liability of the Licensor. This paragraph is to be used in conjunction with and controlled by the Disclaimer Of Warranties of Section 8, the Limitation Of Damages in Section 9, and the disclaimer against use for High Risk Activities in Section 10. The Licensor has thereby disclaimed all warranties and limited any damages that it is or may be liable for. You agree to work with Licensor and Contributors to distribute such responsibility on an equitable basis consistent with the terms of this License including Sections 8, 9, and 10. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+12.0 Termination. This License and all rights granted hereunder will terminate immediately in the event of the circumstances described in Section 13.6 or if applicable law prohibits or restricts You from fully and or specifically complying with Sections 3, 4 and/or 6, or prevents the enforceability of any of those Sections, and You must immediately discontinue any use of Licensed Software.
+
+ 12.1 Automatic Termination Upon Breach. This License and the rights granted hereunder will terminate automatically if You fail to comply with the terms herein and fail to cure such breach within thirty (30) days of becoming aware of the breach. All sublicenses to the Licensed Software that are properly granted shall survive any termination of this License. Provisions that, by their nature, must remain in effect beyond the termination of this License, shall survive.
+
+ 12.2 Termination Upon Assertion of Patent Infringement. If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Licensor or a Contributor (Licensor or Contributor against whom You file such an action is referred to herein as "Respondent") alleging that Licensed Software directly or indirectly infringes any patent, then any and all rights granted by such Respondent to You under Sections 3 or 4 of this License shall terminate prospectively upon sixty (60) days notice from Respondent (the "Notice Period") unless within that Notice Period You either agree in writing (i) to pay Respondent a mutually agreeable reasonably royalty for Your past or future use of Licensed Software made by such Respondent, or (ii) withdraw Your litigation claim with respect to Licensed Software against such Respondent. If within said Notice Period a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Licensor to You under Sections 3 and 4 automatically terminate at the expiration of said Notice Period.
+
+ 12.3 Reasonable Value of This License. If You assert a patent infringement claim against Respondent alleging that Licensed Software directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by said Respondent under Sections 3 and 4 shall be taken into account in determining the amount or value of any payment or license.
+
+ 12.4 No Retroactive Effect of Termination. In the event of termination under this Section all end user license agreements (excluding licenses to distributors and resellers) that have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+13.0 Miscellaneous.
+
+ 13.1 U.S. Government End Users. The Licensed Software is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Licensed Software with only those rights set forth herein.
+
+ 13.2 Relationship of Parties. This License will not be construed as creating an agency, partnership, joint venture, or any other form of legal association between or among You, Licensor, or any Contributor, and You will not represent to the contrary, whether expressly, by implication, appearance, or otherwise.
+
+ 13.3 Independent Development. Nothing in this License will impair Licensor's right to acquire, license, develop, subcontract, market, or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Extensions that You may develop, produce, market, or distribute.
+
+ 13.4 Consent To Breach Not Waiver. Failure by Licensor or Contributor to enforce any provision of this License will not be deemed a waiver of future enforcement of that or any other provision.
+
+ 13.5 Severability. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
+
+ 13.6 Inability to Comply Due to Statute or Regulation. If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Licensed Software due to statute, judicial order, or regulation, then You cannot use, modify, or distribute the software.
+
+ 13.7 Export Restrictions. You may be restricted with respect to downloading or otherwise acquiring, exporting, or reexporting the Licensed Software or any underlying information or technology by United States and other applicable laws and regulations. By downloading or by otherwise obtaining the Licensed Software, You are agreeing to be responsible for compliance with all applicable laws and regulations.
+
+ 13.8 Arbitration, Jurisdiction & Venue. This License shall be governed by Colorado law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. You expressly agree that any dispute relating to this License shall be submitted to binding arbitration under the rules then prevailing of the American Arbitration Association. You further agree that Adams County, Colorado USA is proper venue and grant such arbitration proceeding jurisdiction as may be appropriate for purposes of resolving any dispute under this License. Judgement upon any award made in arbitration may be entered and enforced in any court of competent jurisdiction. The arbitrator shall award attorney's fees and costs of arbitration to the prevailing party. Should either party find it necessary to enforce its arbitration award or seek specific performance of such award in a civil court of competent jurisdiction, the prevailing party shall be entitled to reasonable attorney's fees and costs. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. You and Licensor expressly waive any rights to a jury trial in any litigation concerning Licensed Software or this License. Any law or regulation that provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+ 13.9 Entire Agreement. This License constitutes the entire agreement between the parties with respect to the subject matter hereof.
+
+EXHIBIT A
+
+The Notice below must appear in each file of the Source Code of any copy You distribute of the Licensed Software or any Extensions thereto, except as may be modified as allowed under the terms of Section 7.1
+Copyright (C) 1999-2002 Technical Pursuit Inc., All Rights Reserved. Patent Pending, Technical Pursuit Inc.
+
+Unless explicitly acquired and licensed from Licensor under the Technical Pursuit License ("TPL") Version 1.0 or greater, the contents of this file are subject to the Reciprocal Public License ("RPL") Version 1.1, or subsequent versions as allowed by the RPL, and You may not copy or use this file in either source code or executable form, except in compliance with the terms and conditions of the RPL.
+You may obtain a copy of both the TPL and the RPL (the "Licenses") from Technical Pursuit Inc. at http://www.technicalpursuit.com.
+
+All software distributed under the Licenses is provided strictly on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND TECHNICAL PURSUIT INC. HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT, OR NON-INFRINGEMENT. See the Licenses for specific language governing rights and limitations under the Licenses.
diff --git a/poky/meta/files/common-licenses/RSA-MD b/poky/meta/files/common-licenses/RSA-MD
new file mode 100644
index 000000000..a8be92883
--- /dev/null
+++ b/poky/meta/files/common-licenses/RSA-MD
@@ -0,0 +1,9 @@
+Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.
+
+License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function.
+
+License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work.
+
+RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind.
+
+These notices must be retained in any copies of any part of this documentation and/or software.
diff --git a/poky/meta/files/common-licenses/Rdisc b/poky/meta/files/common-licenses/Rdisc
new file mode 100644
index 000000000..04104beca
--- /dev/null
+++ b/poky/meta/files/common-licenses/Rdisc
@@ -0,0 +1,13 @@
+Rdisc (this program) was developed by Sun Microsystems, Inc. and is provided for unrestricted use provided that this legend is included on all tape media and as a part of the software program in whole or part. Users may copy or modify Rdisc without charge, and they may freely distribute it.
+
+RDISC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
+
+Rdisc is provided with no support and without any obligation on the part of Sun Microsystems, Inc. to assist in its use, correction, modification or enhancement.
+
+SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY RDISC OR ANY PART THEREOF.
+
+In no event will Sun Microsystems, Inc. be liable for any lost revenue or profits or other special, indirect and consequential damages, even if Sun has been advised of the possibility of such damages.
+
+Sun Microsystems, Inc.
+2550 Garcia Avenue
+Mountain View, California 94043
diff --git a/poky/meta/files/common-licenses/SCEA b/poky/meta/files/common-licenses/SCEA
new file mode 100644
index 000000000..48892757e
--- /dev/null
+++ b/poky/meta/files/common-licenses/SCEA
@@ -0,0 +1,60 @@
+SCEA Shared Source License 1.0
+
+Terms and Conditions:
+
+1. Definitions:
+
+"Software" shall mean the software and related documentation, whether in Source or Object Form, made available under this SCEA Shared Source license ("License"), that is indicated by a copyright notice file included in the source files or attached or accompanying the source files.
+
+"Licensor" shall mean Sony Computer Entertainment America, Inc. (herein "SCEA")
+
+"Object Code" or "Object Form" shall mean any form that results from translation or transformation of Source Code, including but not limited to compiled object code or conversions to other forms intended for machine execution.
+"Source Code" or "Source Form" shall have the plain meaning generally accepted in the software industry, including but not limited to software source code, documentation source, header and configuration files.
+
+"You" or "Your" shall mean you as an individual or as a company, or whichever form under which you are exercising rights under this License.
+
+2. License Grant.
+
+Licensor hereby grants to You, free of charge subject to the terms and conditions of this License, an irrevocable, non-exclusive, worldwide, perpetual, and royalty-free license to use, modify, reproduce, distribute, publicly perform or display the Software in Object or Source Form .
+
+3. No Right to File for Patent.
+In exchange for the rights that are granted to You free of charge under this License, You agree that You will not file for any patent application, seek copyright protection or take any other action that might otherwise impair the ownership rights in and to the Software that may belong to SCEA or any of the other contributors/authors of the Software.
+
+4. Contributions.
+
+SCEA welcomes contributions in form of modifications, optimizations, tools or documentation designed to improve or expand the performance and scope of the Software (collectively "Contributions"). Per the terms of this License You are free to modify the Software and those modifications would belong to You. You may however wish to donate Your Contributions to SCEA for consideration for inclusion into the Software. For the avoidance of doubt, if You elect to send Your Contributions to SCEA, You are doing so voluntarily and are giving the Contributions to SCEA and its parent company Sony Computer Entertainment, Inc., free of charge, to use, modify or distribute in any form or in any manner. SCEA acknowledges that if You make a donation of Your Contributions to SCEA, such Contributions shall not exclusively belong to SCEA or its parent company and such donation shall not be to Your exclusion. SCEA, in its sole discretion, shall determine whether or not to include Your donated Contributions into the Software, in whole, in part, or as modified by SCEA. Should SCEA elect to include any such Contributions into the Software, it shall do so at its own risk and may elect to give credit or special thanks to any such contributors in the attached copyright notice. However, if any of Your contributions are included into the Software, they will become part of the Software and will be distributed under the terms and conditions of this License. Further, if Your donated Contributions are integrated into the Software then Sony Computer Entertainment, Inc. shall become the copyright owner of the Software now containing Your contributions and SCEA would be the Licensor.
+
+5. Redistribution in Source Form
+
+You may redistribute copies of the Software, modifications or derivatives thereof in Source Code Form, provided that You:
+
+ a. Include a copy of this License and any copyright notices with source
+
+ b. Identify modifications if any were made to the Software
+
+ c. Include a copy of all documentation accompanying the Software and modifications made by You
+
+6. Redistribution in Object Form
+
+If You redistribute copies of the Software, modifications or derivatives thereof in Object Form only (as incorporated into finished goods, i.e. end user applications) then You will not have a duty to include any copies of the code, this License, copyright notices, other attributions or documentation.
+
+7. No Warranty
+
+THE SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT ANY REPRESENTATIONS OR WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF USING, MODIFYING OR REDISTRIBUTING THE SOFTWARE AND ASSUME ANY RISKS ASSOCIATED WITH YOUR EXERCISE OF PERMISSIONS UNDER THIS LICENSE.
+
+8. Limitation of Liability
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY WILL EITHER PARTY BE LIABLE TO THE OTHER PARTY OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, SPECIAL, INCIDENTAL, OR EXEMPLARY DAMAGES WITH RESPECT TO ANY INJURY, LOSS, OR DAMAGE, ARISING UNDER OR IN CONNECTION WITH THIS LETTER AGREEMENT, WHETHER FORESEEABLE OR UNFORESEEABLE, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH INJURY, LOSS, OR DAMAGE. THE LIMITATIONS OF LIABILITY SET FORTH IN THIS SECTION SHALL APPLY TO THE FULLEST EXTENT PERMISSIBLE AT LAW OR ANY GOVERMENTAL REGULATIONS.
+
+9. Governing Law and Consent to Jurisdiction
+
+This Agreement shall be governed by and interpreted in accordance with the laws of the State of California, excluding that body of law related to choice of laws, and of the United States of America. Any action or proceeding brought to enforce the terms of this Agreement or to adjudicate any dispute arising hereunder shall be brought in the Superior Court of the County of San Mateo, State of California or the United States District Court for the Northern District of California. Each of the parties hereby submits itself to the exclusive jurisdiction and venue of such courts for purposes of any such action. In addition, each party hereby waives the right to a jury trial in any action or proceeding related to this Agreement.
+
+10. Copyright Notice for Redistribution of Source Code
+
+Copyright 2005 Sony Computer Entertainment Inc.
+
+Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:
+http://research.scea.com/scea_shared_source_license.html
+
+Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
diff --git a/poky/meta/files/common-licenses/SGI-B-1.0 b/poky/meta/files/common-licenses/SGI-B-1.0
new file mode 100644
index 000000000..0c0fcce29
--- /dev/null
+++ b/poky/meta/files/common-licenses/SGI-B-1.0
@@ -0,0 +1,82 @@
+SGI FREE SOFTWARE LICENSE B
+(Version 1.0 1/25/2000)
+
+1. Definitions.
+
+ 1.1 "Additional Notice Provisions" means such additional provisions as appear in the Notice in Original Code under the heading "Additional Notice Provisions."
+
+ 1.2 "API" means an application programming interface established by SGI in conjunction with the Original Code.
+
+ 1.3 "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4 "Hardware" means any physical device that accepts input, processes input, stores the results of processing, and/or provides output.
+
+ 1.5 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.6 "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.7 "License" means this document.
+
+ 1.8 "Modifications" means any addition to the substance or structure of the Original Code and/or any addition to or deletion from previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A. Any addition to the contents of a file containing Original Code and/or any addition to or deletion from previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.9 "Notice" means any notice in Original Code or Covered Code, as required by and in compliance with this License.
+
+ 1.10 "Original Code" means source code of computer software code which is described in the source code Notice required by Exhibit A as Original Code, and updates and error corrections specifically thereto.
+
+ 1.11 "Recipient" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 8. For legal entities, "Recipient" includes any entity which controls, is controlled by, or is under common control with Recipient. For purposes of this definition, "control" of an entity means (a) the power, direct or indirect, to direct or manage such entity, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+ 1.12 SGI" means Silicon Graphics, Inc.
+
+2. License Grant and Restrictions.
+
+ 2.1v License Grant. Subject to the provisions of this License and any third party intellectual property claims, for the duration of intellectual property protections inherent in the Original Code, SGI hereby grants Recipient a worldwide, royalty-free, non-exclusive license, to do the following: (i) under copyrights Licensable by SGI, to reproduce, distribute, create derivative works from, and, to the extent applicable, display and perform the Original Code alone and/or as part of a Larger Work; and (ii) under any patent claims Licensable by SGI and embodied in the Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code. Recipient accepts the terms and conditions of this License by undertaking any of the aforementioned actions.
+
+ 2.2 Restriction on Patent License. Notwithstanding the provisions of Section 2.1(ii), no patent license is granted: 1) separate from the Original Code; nor 2) for infringements caused by (i) modification of the Original Code, or (ii) the combination of the Original Code with other software or Hardware.
+
+ 2.3 No License For Hardware Implementations. The licenses granted in Section 2.1 are not applicable to implementation in Hardware of the algorithms embodied in the Original Code.
+
+ 2.4 Modifications License and API Compliance. Modifications are only licensed under Section 2.1(i) to the extent such Modifications are fully compliant with any API as may be identified in Additional Notice Provisions as appear in the Original Code.
+
+3. Redistributions.
+
+ A. Retention of Notice/Copy of License. The Notice set forth in Exhibit A, below, must be conspicuously retained or included in any and all redistributions of Covered Code. For distributions of the Covered Code in source code form, the Notice must appear in every file that can include a text comments field; in executable form, the Notice and a copy of this License must appear in related documentation or collateral where the Recipient’s rights relating to Covered Code are described. Any Additional Notice Provisions which actually appears in the Original Code must also be retained or included in any and all redistributions of Covered Code.
+
+ B. Alternative License. Provided that Recipient is in compliance with the terms of this License, Recipient may distribute the source code and/or executable version(s) of Covered Code under (1) this License; (2) a license identical to this License but for only such changes as are necessary in order to clarify Recipient’s role as licensor of Modifications, without derogation of any of SGI’s rights; and/or (3) a license of Recipient’s choosing, containing terms different from this License, provided that the license terms include this Section 3 and Sections 4, 6, 7, 10, 12, and 13, which terms may not be modified or superseded by any other terms of such license. If Recipient elects to use any license other than this License, Recipient must make it absolutely clear that any of its terms which differ from this License are offered by Recipient alone, and not by SGI.
+
+ C. Indemnity. Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as a result of any such alternative license terms Recipient offers.
+
+4. Termination. This License and the rights granted hereunder will terminate automatically if Recipient breaches any term herein and fails to cure such breach within 30 days thereof. Any sublicense to the Covered Code that is properly granted shall survive any termination of this License, absent termination by the terms of such sublicense. Provisions that, by their nature, must remain in effect beyond the termination of this License, shall survive.
+
+5. No Trademark Or Other Rights. This License does not grant any rights to: (i) any software apart from the Covered Code, nor shall any other rights or licenses not expressly granted hereunder arise by implication, estoppel or otherwise with respect to the Covered Code; (ii) any trade name, trademark or service mark whatsoever, including without limitation any related right for purposes of endorsement or promotion of products derived from the Covered Code, without prior written permission of SGI; or (iii) any title to or ownership of the Original Code, which shall at all times remains with SGI. All rights in the Original Code not expressly granted under this License are reserved.
+
+6. Compliance with Laws; Non-Infringement. Recipient hereby assures that it shall comply with all applicable laws, regulations, and executive orders, in connection with any and all dispositions of Covered Code, including but not limited to, all export, re-export, and import control laws, regulations, and executive orders, of the U.S. government and other countries. Recipient may not distribute Covered Code that (i) in any way infringes (directly or contributorily) the rights (including patent, copyright, trade secret, trademark or other intellectual property rights of any kind) of any other person or entity or (ii) breaches any representation or warranty, express, implied or statutory, to which, under any applicable law, it might be deemed to have been subject.
+
+7. Claims of Infringement. If Recipient learns of any third party claim that any disposition of Covered Code and/or functionality wholly or partially infringes the third party's intellectual property rights, Recipient will promptly notify SGI of such claim.
+
+8. Versions of the License. SGI may publish revised and/or new versions of the License from time to time, each with a distinguishing version number. Once Covered Code has been published under a particular version of the License, Recipient may, for the duration of the license, continue to use it under the terms of that version, or choose to use such Covered Code under the terms of any subsequent version published by SGI. Subject to the provisions of Sections 3 and 4 of this License, only SGI may modify the terms applicable to Covered Code created under this License.
+
+9. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED "AS IS." ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. SGI ASSUMES NO RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY IS AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT SUBJECT TO THIS DISCLAIMER.
+
+10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES NOR LEGAL THEORY, WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SGI's NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.
+
+11. Indemnity. Recipient shall be solely responsible for damages arising, directly or indirectly, out of its utilization of rights under this License. Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc. from and against any loss, liability, damages, costs or expenses (including the payment of reasonable attorneys fees) arising out of Recipient's use, modification, reproduction and distribution of the Covered Code or out of any representation or warranty made by Recipient.
+
+12. U.S. Government End Users. The Covered Code is a "commercial item" consisting of "commercial computer software" as such terms are defined in title 48 of the Code of Federal Regulations and all U.S. Government End Users acquire only the rights set forth in this License and are subject to the terms of this License.
+
+13. Miscellaneous. This License represents the complete agreement concerning the its subject matter. If any provision of this License is held to be unenforceable, such provision shall be reformed so as to achieve as nearly as possible the same legal and economic effect as the original provision and the remainder of this License will remain in effect. This License shall be governed by and construed in accordance with the laws of the United States and the State of California as applied to agreements entered into and to be performed entirely within California between California residents. Any litigation relating to this License shall be subject to the exclusive jurisdiction of the Federal Courts of the Northern District of California (or, absent subject matter jurisdiction in such courts, the courts of the State of California), with venue lying exclusively in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+Exhibit A
+
+License Applicability. Except to the extent portions of this file are made subject to an alternative license as permitted in the SGI Free Software License B, Version 1.0 (the "License"), the contents of this file are subject only to the provisions of the License. You may not use this file except in compliance with the License. You may obtain a copy of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 Ampitheatre Parkway, Mountain View, CA 94043-1351, or at:
+
+http://oss.sgi.com/projects/FreeB
+
+Note that, as provided in the License, the Software is distributed on an "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+
+Original Code. The Original Code is: [name of software, version number, and release date], developed by Silicon Graphics, Inc. The Original Code is Copyright (c) [dates of first publication, as appearing in the Notice in the Original Code] Silicon Graphics, Inc. Copyright in any portions created by third parties is as indicated elsewhere herein. All Rights Reserved.
+
+Additional Notice Provisions: [such additional provisions, if any, as appear in the Notice in the Original Code under the heading "Additional Notice Provisions"]
diff --git a/poky/meta/files/common-licenses/SGI-B-1.1 b/poky/meta/files/common-licenses/SGI-B-1.1
new file mode 100644
index 000000000..3f688177e
--- /dev/null
+++ b/poky/meta/files/common-licenses/SGI-B-1.1
@@ -0,0 +1,84 @@
+SGI FREE SOFTWARE LICENSE B
+(Version 1.1 02/22/2000)
+
+1. Definitions.
+
+ 1.1 "Additional Notice Provisions" means such additional provisions as appear in the Notice in Original Code under the heading "Additional Notice Provisions."
+
+ 1.2 "Covered Code" means the Original Code or Modifications, or any combination thereof.
+
+ 1.3 "Hardware" means any physical device that accepts input, processes input, stores the results of processing, and/or provides output.
+
+ 1.4 "Larger Work" means a work that combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.5 "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.6 "License" means this document.
+
+ 1.7 "Licensed Patents" means patent claims Licensable by SGI that are infringed by the use or sale of Original Code or any Modifications provided by SGI, or any combination thereof.
+
+ 1.8 "Modifications" means any addition to or deletion from the substance or structure of the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A. Any addition to the contents of a file containing Original Code and/or addition to or deletion from the contents of a file containing previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.9 "Notice" means any notice in Original Code or Covered Code, as required by and in compliance with this License.
+
+ 1.10 "Original Code" means source code of computer software code that is described in the source code Notice required by Exhibit A as Original Code, and updates and error corrections specifically thereto.
+
+ 1.11 "Recipient" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 8. For legal entities, "Recipient" includes any entity that controls, is controlled by, or is under common control with Recipient. For purposes of this definition, "control" of an entity means (a) the power, direct or indirect, to direct or manage such entity, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+ 1.12 "Recipient Patents" means patent claims Licensable by a Recipient that are infringed by the use or sale of Original Code or any Modifications provided by SGI, or any combination thereof.
+
+ 1.13 "SGI" means Silicon Graphics, Inc.
+
+ 1.14 "SGI Patents" means patent claims Licensable by SGI other than the Licensed Patents.
+
+2. License Grant and Restrictions.
+
+ 2.1 SGI License Grant. Subject to the terms of this License and any third party intellectual property claims, for the duration of intellectual property protections inherent in the Original Code, SGI hereby grants Recipient a worldwide, royalty-free, non-exclusive license, to do the following: (i) under copyrights Licensable by SGI, to reproduce, distribute, create derivative works from, and, to the extent applicable, display and perform the Original Code and/or any Modifications provided by SGI alone and/or as part of a Larger Work; and (ii) under any Licensable Patents, to make, have made, use, sell, offer for sale, import and/or otherwise transfer the Original Code and/or any Modifications provided by SGI. Recipient accepts the terms and conditions of this License by undertaking any of the aforementioned actions. The patent license shall apply to the Covered Code if, at the time any related Modification is added, such addition of the Modification causes such combination to be covered by the Licensed Patents. The patent license in Section 2.1(ii) shall not apply to any other combinations that include the Modification. No patent license is provided under SGI Patents for infringements of SGI Patents by Modifications not provided by SGI or combinations of Original Code and Modifications not provided by SGI.
+
+ 2.2 Recipient License Grant. Subject to the terms of this License and any third party intellectual property claims, Recipient hereby grants SGI and any other Recipients a worldwide, royalty-free, non-exclusive license, under any Recipient Patents, to make, have made, use, sell, offer for sale, import and/or otherwise transfer the Original Code and/or any Modifications provided by SGI.
+
+ 2.3 No License For Hardware Implementations. The licenses granted in Section 2.1 and 2.2 are not applicable to implementation in Hardware of the algorithms embodied in the Original Code or any Modifications provided by SGI .
+
+3. Redistributions.
+
+ 3.1 Retention of Notice/Copy of License. The Notice set forth in Exhibit A, below, must be conspicuously retained or included in any and all redistributions of Covered Code. For distributions of the Covered Code in source code form, the Notice must appear in every file that can include a text comments field; in executable form, the Notice and a copy of this License must appear in related documentation or collateral where the Recipient’s rights relating to Covered Code are described. Any Additional Notice Provisions which actually appears in the Original Code must also be retained or included in any and all redistributions of Covered Code.
+
+ 3.2 Alternative License. Provided that Recipient is in compliance with the terms of this License, Recipient may, so long as without derogation of any of SGI’s rights in and to the Original Code, distribute the source code and/or executable version(s) of Covered Code under (1) this License; (2) a license identical to this License but for only such changes as are necessary in order to clarify Recipient’s role as licensor of Modifications; and/or (3) a license of Recipient’s choosing, containing terms different from this License, provided that the license terms include this Section 3 and Sections 4, 6, 7, 10, 12, and 13, which terms may not be modified or superseded by any other terms of such license. If Recipient elects to use any license other than this License, Recipient must make it absolutely clear that any of its terms which differ from this License are offered by Recipient alone, and not by SGI. It is emphasized that this License is a limited license, and, regardless of the license form employed by Recipient in accordance with this Section 3.2, Recipient may relicense only such rights, in Original Code and Modifications by SGI, as it has actually been granted by SGI in this License.
+
+ 3.3 Indemnity. Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as a result of any such alternative license terms Recipient offers.
+
+4. Termination. This License and the rights granted hereunder will terminate automatically if Recipient breaches any term herein and fails to cure such breach within 30 days thereof. Any sublicense to the Covered Code that is properly granted shall survive any termination of this License, absent termination by the terms of such sublicense. Provisions that, by their nature, must remain in effect beyond the termination of this License, shall survive.
+
+5. No Trademark Or Other Rights. This License does not grant any rights to: (i) any software apart from the Covered Code, nor shall any other rights or licenses not expressly granted hereunder arise by implication, estoppel or otherwise with respect to the Covered Code; (ii) any trade name, trademark or service mark whatsoever, including without limitation any related right for purposes of endorsement or promotion of products derived from the Covered Code, without prior written permission of SGI; or (iii) any title to or ownership of the Original Code, which shall at all times remains with SGI. All rights in the Original Code not expressly granted under this License are reserved.
+
+6. Compliance with Laws; Non-Infringement. There are various worldwide laws, regulations, and executive orders applicable to dispositions of Covered Code, including without limitation export, re-export, and import control laws, regulations, and executive orders, of the U.S. government and other countries, and Recipient is reminded it is obliged to obey such laws, regulations, and executive orders. Recipient may not distribute Covered Code that (i) in any way infringes (directly or contributorily) any intellectual property rights of any kind of any other person or entity or (ii) breaches any representation or warranty, express, implied or statutory, to which, under any applicable law, it might be deemed to have been subject.
+
+7. Claims of Infringement. If Recipient learns of any third party claim that any disposition of Covered Code and/or functionality wholly or partially infringes the third party's intellectual property rights, Recipient will promptly notify SGI of such claim.
+
+8. Versions of the License. SGI may publish revised and/or new versions of the License from time to time, each with a distinguishing version number. Once Covered Code has been published under a particular version of the License, Recipient may, for the duration of the license, continue to use it under the terms of that version, or choose to use such Covered Code under the terms of any subsequent version published by SGI. Subject to the provisions of Sections 3 and 4 of this License, only SGI may modify the terms applicable to Covered Code created under this License.
+
+9. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED "AS IS." ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. SGI ASSUMES NO RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY IS AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT SUBJECT TO THIS DISCLAIMER.
+
+10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES NOR LEGAL THEORY, WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SGI's NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.
+
+11. Indemnity. Recipient shall be solely responsible for damages arising, directly or indirectly, out of its utilization of rights under this License. Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc. from and against any loss, liability, damages, costs or expenses (including the payment of reasonable attorneys fees) arising out of Recipient's use, modification, reproduction and distribution of the Covered Code or out of any representation or warranty made by Recipient.
+
+12. U.S. Government End Users. The Covered Code is a "commercial item" consisting of "commercial computer software" as such terms are defined in title 48 of the Code of Federal Regulations and all U.S. Government End Users acquire only the rights set forth in this License and are subject to the terms of this License.
+
+13. Miscellaneous. This License represents the complete agreement concerning the its subject matter. If any provision of this License is held to be unenforceable, such provision shall be reformed so as to achieve as nearly as possible the same legal and economic effect as the original provision and the remainder of this License will remain in effect. This License shall be governed by and construed in accordance with the laws of the United States and the State of California as applied to agreements entered into and to be performed entirely within California between California residents. Any litigation relating to this License shall be subject to the exclusive jurisdiction of the Federal Courts of the Northern District of California (or, absent subject matter jurisdiction in such courts, the courts of the State of California), with venue lying exclusively in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation that provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+Exhibit A
+
+License Applicability. Except to the extent portions of this file are made subject to an alternative license as permitted in the SGI Free Software License B, Version 1.1 (the "License"), the contents of this file are subject only to the provisions of the License. You may not use this file except in compliance with the License. You may obtain a copy of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+
+http://oss.sgi.com/projects/FreeB
+
+Note that, as provided in the License, the Software is distributed on an "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+
+Original Code. The Original Code is: [name of software, version number, and release date], developed by Silicon Graphics, Inc. The Original Code is Copyright (c) [dates of first publication, as appearing in the Notice in the Original Code] Silicon Graphics, Inc. Copyright in any portions created by third parties is as indicated elsewhere herein. All Rights Reserved.
+
+Additional Notice Provisions: [such additional provisions, if any, as appear in the Notice in the Original Code under the heading "Additional Notice Provisions"]
diff --git a/poky/meta/files/common-licenses/SGI-B-2.0 b/poky/meta/files/common-licenses/SGI-B-2.0
new file mode 100644
index 000000000..19a4a9e98
--- /dev/null
+++ b/poky/meta/files/common-licenses/SGI-B-2.0
@@ -0,0 +1,12 @@
+SGI FREE SOFTWARE LICENSE B
+(Version 2.0, Sept. 18, 2008)
+
+Copyright (C) [dates of first publication] Silicon Graphics, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice including the dates of first publication and either this permission notice or a reference to http://oss.sgi.com/projects/FreeB/ shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Silicon Graphics, Inc. shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Silicon Graphics, Inc.
diff --git a/poky/meta/files/common-licenses/SHL-0.5 b/poky/meta/files/common-licenses/SHL-0.5
new file mode 100644
index 000000000..52dee6fac
--- /dev/null
+++ b/poky/meta/files/common-licenses/SHL-0.5
@@ -0,0 +1,64 @@
+SOLDERPAD HARDWARE LICENSE version 0.5
+
+This license is based closely on the Apache License Version 2.0, but is not approved or endorsed by the Apache Foundation. A copy of the non-modified Apache License 2.0 can be found at http://www.apache.org/licenses/LICENSE-2.0.
+
+As this license is not currently OSI or FSF approved, the Licensor permits any Work licensed under this License, at the option of the Licensee, to be treated as licensed under the Apache License Version 2.0 (which is so approved).
+
+This License is licensed under the terms of this License and in particular clause 7 below (Disclaimer of Warranties) applies in relation to its use.
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the Rights owner or entity authorized by the Rights owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+“Rights” means copyright and any similar right including design right (whether registered or unregistered), semiconductor topography (mask) rights and database extraction rights (but excluding Patents and Trademarks).
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to source code, net lists, board layouts, CAD files, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, the instantiation of a hardware design and conversions to other media types, including intermediate forms such as bytecodes, FPGA bitstreams, artwork and semiconductor topographies (mask works).
+
+"Work" shall mean the work of authorship, whether in Source form or other Object form, made available under the License, as indicated by a Rights notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) or physically connect to or interoperate with the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any design or work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the Rights owner or by an individual or Legal Entity authorized to submit on behalf of the Rights owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the Rights owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable license under the Rights to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form and do anything in relation to the Work as if the Rights did not exist.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+You must give any other recipients of the Work or Derivative Works a copy of this License; and
+
+You must cause any modified files to carry prominent notices stating that You changed the files; and
+
+You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+
+If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply this license to your work
+To apply this license to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
+
+Copyright [yyyy] [name of copyright owner] Copyright and related rights are licensed under the Solderpad Hardware License, Version 0.5 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://solderpad.org/licenses/SHL-0.5. Unless required by applicable law or agreed to in writing, software, hardware and materials distributed under this License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
diff --git a/poky/meta/files/common-licenses/SHL-0.51 b/poky/meta/files/common-licenses/SHL-0.51
new file mode 100644
index 000000000..548639d16
--- /dev/null
+++ b/poky/meta/files/common-licenses/SHL-0.51
@@ -0,0 +1,65 @@
+SOLDERPAD HARDWARE LICENSE version 0.51
+
+This license is based closely on the Apache License Version 2.0, but is not approved or endorsed by the Apache Foundation. A copy of the non-modified Apache License 2.0 can be found at http://www.apache.org/licenses/LICENSE-2.0.
+
+As this license is not currently OSI or FSF approved, the Licensor permits any Work licensed under this License, at the option of the Licensee, to be treated as licensed under the Apache License Version 2.0 (which is so approved).
+
+This License is licensed under the terms of this License and in particular clause 7 below (Disclaimer of Warranties) applies in relation to its use.
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the Rights owner or entity authorized by the Rights owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+"Rights" means copyright and any similar right including design right (whether registered or unregistered), semiconductor topography (mask) rights and database rights (but excluding Patents and Trademarks).
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to source code, net lists, board layouts, CAD files, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, the instantiation of a hardware design and conversions to other media types, including intermediate forms such as bytecodes, FPGA bitstreams, artwork and semiconductor topographies (mask works).
+
+"Work" shall mean the work of authorship, whether in Source form or other Object form, made available under the License, as indicated by a Rights notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) or physically connect to or interoperate with the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any design or work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the Rights owner or by an individual or Legal Entity authorized to submit on behalf of the Rights owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the Rights owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable license under the Rights to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form and do anything in relation to the Work as if the Rights did not exist.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+ 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
+
+ 2. You must cause any modified files to carry prominent notices stating that You changed the files; and
+
+ 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+
+ 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply this license to your work
+
+To apply this license to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
+
+Copyright [yyyy] [name of copyright owner] Copyright and related rights are licensed under the Solderpad Hardware License, Version 0.51 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law or agreed to in writing, software, hardware and materials distributed under this License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
diff --git a/poky/meta/files/common-licenses/SISSL b/poky/meta/files/common-licenses/SISSL
new file mode 100644
index 000000000..7d6ad9d66
--- /dev/null
+++ b/poky/meta/files/common-licenses/SISSL
@@ -0,0 +1,116 @@
+Sun Industry Standards Source License - Version 1.1
+
+1.0 DEFINITIONS
+
+ 1.1 "Commercial Use" means distribution or otherwise making the Original Code available to a third party.
+
+ 1.2 "Contributor Version" means the combination of the Original Code, and the Modifications made by that particular Contributor.
+
+ 1.3 "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.4 "Executable" means Original Code in any form other than Source Code.
+
+ 1.5 "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.6 "Larger Work" means a work which combines Original Code or portions thereof with code not governed by the terms of this License.
+
+ 1.7 "License" means this document.
+
+ 1.8 "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9 "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. A Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10 "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code.
+
+ 1.11 "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.12 "Source Code" means the preferred form of the Original Code for making modifications to it, including all modules it contains, plus any associated interface definition files, or scripts used to control compilation and installation of an Executable.
+
+ 1.13 "Standards" means the standards identified in Exhibit B.
+
+ 1.14 "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2.0 SOURCE CODE LICENSE
+
+ 2.1 The Initial Developer Grant The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: 
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices, including but not limited to Modifications. 
+
+3.0 DISTRIBUTION OBLIGATIONS
+
+ 3.1 Application of License. The Source Code version of Original Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. Your license for shipment of the Contributor Version is conditioned upon Your full compliance with this Section. The Modifications which You create must comply with all requirements set out by the Standards body in effect one hundred twenty (120) days before You ship the Contributor Version. In the event that the Modifications do not meet such requirements, You agree to publish either (i) any deviation from the Standards protocol resulting from implementation of Your Modifications and a reference implementation of Your Modifications or (ii) Your Modifications in Source Code form, and to make any such deviation and reference implementation or Modifications available to all third parties under the same terms as this license on a royalty free basis within thirty (30) days of Your first customer shipment of Your Modifications.
+
+ 3.2 Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add Your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Initial Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Your version of the Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer for any liability incurred by the Initial Developer as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.3 Distribution of Executable Versions. You may distribute Original Code in Executable and Source form only if the requirements of Sections 3.1 and 3.2 have been met for that Original Code, and if You include a notice stating that the Source Code version of the Original Code is available under the terms of this License. The notice must be conspicuously included in any notice in an Executable or Source versions, related documentation or collateral in which You describe recipients' rights relating to the Original Code. You may distribute the Executable and Source versions of Your version of the Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License. If You distribute the Executable and Source versions under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer. You hereby agree to indemnify the Initial Developer for any liability incurred by the Initial Developer as a result of any such terms You offer.
+
+ 3.4 Larger Works. You may create a Larger Work by combining Original Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Original Code.
+
+4.0 INABILITY TO COMPLY DUE TO STATUTE OR REGULATION
+
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Original Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.2 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5.0 APPLICATION OF THIS LICENSE
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Modifications as set out in Section 3.1.
+
+6.0 VERSIONS OF THE LICENSE
+
+ 6.1 New Versions. Sun may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2 Effect of New Versions. Once Original Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Original Code under the terms of any subsequent version of the License published by Sun. No one other than Sun has the right to modify the terms applicable to Original Code.
+
+7.0 DISCLAIMER OF WARRANTY
+
+ORIGINAL CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE ORIGINAL CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ORIGINAL CODE IS WITH YOU. SHOULD ANY ORIGINAL CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY ORIGINAL CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8.0 TERMINATION
+
+ 8.1 This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Original Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2 In the event of termination under Section 8.1 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9.0 LIMIT OF LIABILITY
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF ORIGINAL CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10.0 U.S. GOVERNMENT END USERS
+
+U.S. Government: If this Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in the Software and accompanying documentation shall be only as set forth in this license; this is in accordance with 48 C.F.R. 227.7201 through 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48 C.F.R. 2.101 and 12.212 (for non-DoD acquisitions).
+
+11.0 MISCELLANEOUS
+
+This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+EXHIBIT A - Sun Standards License
+
+"The contents of this file are subject to the Sun Standards License Version 1.1 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at _______________________________.
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either 
+express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code is ______________________________________.
+
+The Initial Developer of the Original Code is: 
+Sun Microsystems, Inc..
+
+Portions created by: _______________________________________
+
+are Copyright (C): _______________________________________
+
+All Rights Reserved.
+
+Contributor(s): _______________________________________
+EXHIBIT B - Standards
+
+The Standard is defined as the following:
+OpenOffice.org XML File Format Specification, located at http://xml.openoffice.org
+OpenOffice.org Application Programming Interface Specification, located at http://api.openoffice.org
diff --git a/poky/meta/files/common-licenses/SISSL-1.2 b/poky/meta/files/common-licenses/SISSL-1.2
new file mode 100644
index 000000000..d10c18963
--- /dev/null
+++ b/poky/meta/files/common-licenses/SISSL-1.2
@@ -0,0 +1,114 @@
+SUN INDUSTRY STANDARDS SOURCE LICENSE
+Version 1.2
+1.0 DEFINITIONS
+
+ 1.1 Commercial Use means distribution or otherwise making the Original Code available to a third party.
+
+ 1.2 Contributor Version means the combination of the Original Code, and the Modifications made by that particular Contributor.
+
+ 1.3 Electronic Distribution Mechanism means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.4 Executable means Original Code in any form other than Source Code.
+
+ 1.5 Initial Developer means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.6 Larger Work means a work which combines Original Code or portions thereof with code not governed by the terms of this License.
+
+ 1.7 License means this document.
+
+ 1.8 Licensable means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9 Modifications means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. A Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10 Original Code means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code.
+
+ 1.11 Patent Claims means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.12 Source Code means the preferred form of the Original Code for making modifications to it, including all modules it contains, plus any associated interface definition files, or scripts used to control compilation and installation of an Executable.
+
+ 1.13 Standards means the standards identified in Exhibit B.
+
+ 1.14 You (or Your) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, You includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, control means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2.0 SOURCE CODE LICENSE
+
+ 2.1 The Initial Developer Grant The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a)under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices, including but not limited to Modifications.
+
+3.0 DISTRIBUTION OBLIGATIONS
+
+ 3.1 Application of License. The Source Code version of Original Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients rights hereunder. Your license for shipment of the Contributor Version is conditioned upon Your full compliance with this Section. The Modifications which You create must comply with all requirements set out by the Standards body in effect one hundred twenty (120) days before You ship the Contributor Version. In the event that the Modifications do not meet such requirements, You agree to publish either (i) any deviation from the Standards protocol resulting from implementation of Your Modifications and a reference implementation of Your Modifications or (ii) Your Modifications in Source Code form, and to make any such deviation and reference implementation or Modifications available to all third parties under the same terms a this license on a royalty free basis within thirty (30) days of Your first customer shipment of Your Modifications. Additionally, in the event that the Modifications you create do not meet the requirements set out in this Section, You agree to comply with the Standards requirements set out in Exhibit B.
+
+ 3.2 Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add Your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients rights or ownership rights relating to Initial Code.
+
+ You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Your version of the Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer for any liability incurred by the Initial Developer as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.3 Distribution of Executable Versions. You may distribute Original Code in Executable and Source form only if the requirements of Sections 3.1 and 3.2 have been met for that Original Code, and if You include a notice stating that the Source Code version of the Original Code is available under the terms of this License. The notice must be conspicuously included in any notice in an Executable or Source versions, related documentation or collateral in which You describe recipients rights relating to the Original Code. You may distribute the Executable and Source versions of Your version of the Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License. If You distribute the Executable and Source versions under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer. You hereby agree to indemnify the Initial Developer for any liability incurred by the Initial Developer as a result of any such terms You offer.
+
+ 3.4 Larger Works. You may create a Larger Work by combining Original Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Original Code.
+
+4.0 INABILITY TO COMPLY DUE TO STATUTE OR REGULATION
+
+If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Original Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.2 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5.0 APPLICATION OF THIS LICENSE
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Modifications as set out in Section 3.1.
+
+6.0 VERSIONS OF THE LICENSE
+
+ 6.1 New Versions. Sun may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2 Effect of New Versions. Once Original Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Original Code under the terms of any subsequent version of the License published by Sun. No one other than Sun has the right to modify the terms applicable to Original Code.
+
+7.0 DISCLAIMER OF WARRANTY
+
+ORIGINAL CODE IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE ORIGINAL CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ORIGINAL CODE IS WITH YOU. SHOULD ANY ORIGINAL CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY ORIGINAL CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8.0 TERMINATION
+
+ 8.1 This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Original Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. 8.2 In the event of termination under Section 8.1 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+
+EXHIBIT A - Sun Industry Standards Source License
+
+"The contents of this file are subject to the Sun Industry Standards Source License Version 1.2 (the License); You
+may not use this file except in compliance with the License."
+
+"You may obtain a copy of the License at gridengine.sunsource.net/license.html"
+
+"Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or
+implied. See the License for the specific language governing rights and limitations under the License."
+
+"The Original Code is Grid Engine."
+
+"The Initial Developer of the Original Code is:
+Sun Microsystems, Inc."
+
+"Portions created by: Sun Microsystems, Inc. are Copyright (C) 2001 Sun Microsystems, Inc."
+
+"All Rights Reserved."
+
+"Contributor(s):__________________________________"
+
+EXHIBIT B - Standards
+
+1.0 Requirements for project Standards. The requirements for project Standards are version-dependent and are defined at: Grid Engine standards.
+
+2.0 Additional requirements. The additional requirements pursuant to Section 3.1 are defined as:
+
+ 2.1 Naming Conventions. If any of your Modifications do not meet the requirements of the Standard, then you must change the product name so that Grid Engine, gridengine, gridengine.sunsource, and similar naming conventions are not used.
+
+ 2.2 Compliance Claims. If any of your Modifications do not meet the requirements of the Standards you may not claim, directly or indirectly, that your implementation of the Standards is compliant.
+
diff --git a/poky/meta/files/common-licenses/SMLNJ b/poky/meta/files/common-licenses/SMLNJ
new file mode 100644
index 000000000..8b49442a6
--- /dev/null
+++ b/poky/meta/files/common-licenses/SMLNJ
@@ -0,0 +1,7 @@
+STANDARD ML OF NEW JERSEY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
+
+Copyright (c) 2001-2011 by The Fellowship of SML/NJ Copyright (c) 1989-2001 by Lucent Technologies
+
+Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent Technologies, Bell Labs or any Lucent entity not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.
+
+Lucent disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall Lucent be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software.
diff --git a/poky/meta/files/common-licenses/SMPPL b/poky/meta/files/common-licenses/SMPPL
new file mode 100644
index 000000000..1780a306d
--- /dev/null
+++ b/poky/meta/files/common-licenses/SMPPL
@@ -0,0 +1,29 @@
+Secure Messaging Protocol (SMP) Libraries [ACL, CML, SFL]
+
+Distribution Rights
+
+All source code for the SMP is being provided at no cost and with no financial limitations regarding its use and distribution. Organizations can use the SMP without paying any royalties or licensing fees. The SMP was originally developed by the U.S. Government. BAE Systems is enhancing and supporting the SMP under contract to the U.S. Government. The U.S. Government is furnishing the SMP software at no cost to the vendor subject to the conditions of the SMP Public License provided with the SMP software.
+
+29 May 2002
+
+Secure Messaging Protocol (SMP) Public License
+
+The United States Government/Department of Defense/National Security Agency/Office of Network Security (collectively "the U.S. Government") hereby grants permission to any person obtaining a copy of the SMP source and object files (the "SMP Software") and associated documentation files (the "SMP Documentation"), or any portions thereof, to do the following, subject to the following license conditions:
+
+You may, free of charge and without additional permission from the U.S. Government, use, copy, modify, sublicense and otherwise distribute the SMP Software or components of the SMP Software, with or without modifications developed by you and/or by others.
+
+You may, free of charge and without additional permission from the U.S. Government, distribute copies of the SMP Documentation, with or without modifications developed by you and/or by others, at no charge or at a charge that covers the cost of reproducing such copies, provided that this SMP Public License is retained.
+
+Furthermore, if you distribute the SMP Software or parts of the SMP Software, with or without modifications developed by you and/or others, then you must either make available the source code to all portions of the SMP Software (exclusive of any modifications made by you and/or by others) upon request, or instead you may notify anyone requesting the SMP Software source code that it is freely available from the U.S. Government.
+
+Transmission of this SMP Public License must accompany whatever portions of the SMP Software you redistribute.
+
+The SMP Software is provided without warranty or guarantee of any nature, express or implied, including without limitation the warranties of merchantability and fitness for a particular purpose.
+
+The U.S. Government cannot be held liable for any damages either directly or indirectly caused by the use of the SMP Software.
+
+It is not permitted to copy, sublicense, distribute or transfer any of the SMP Software except as expressly indicated herein. Any attempts to do otherwise will be considered a violation of this License and your rights to the SMP Software will be voided.
+
+The SMP uses the Enhanced SNACC (eSNACC) Abstract Syntax Notation One (ASN.1) C++ Library to ASN.1 encode and decode security-related data objects. The eSNACC ASN.1 C++ Library is covered by the ENHANCED SNACC SOFTWARE PUBLIC LICENSE. None of the GNU public licenses apply to the eSNACC ASN.1 C++ Library. The eSNACC Compiler is not distributed as part of the SMP.
+
+Copyright © 1997-2002 National Security Agency
diff --git a/poky/meta/files/common-licenses/SNIA b/poky/meta/files/common-licenses/SNIA
new file mode 100644
index 000000000..285798e82
--- /dev/null
+++ b/poky/meta/files/common-licenses/SNIA
@@ -0,0 +1,122 @@
+STORAGE NETWORKING INDUSTRY ASSOCIATION
+PUBLIC LICENSE
+Version 1.1
+
+1. Definitions.
+
+1.1 "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+
+1.2 "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+1.3 "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+1.4 "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+1.5 "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+1.6 "Executable" means Covered Code in any form other than Source Code.
+
+1.7 "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+1.8 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+1.9 "License" means this document.
+
+1.10 "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+1.11 "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+1.12 "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+1.13 "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+1.14 "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+1.15 "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity
+
+2. Source Code License.
+
+2.1 The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+
+2.2 Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+3.1 Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+3.2 Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+3.3 Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+3.4 Intellectual Property Matters.
+ (a) Third Party Claims. If Contributor has actual knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter.
+ (b) Contributor API's. If Contributor's Modifications include an application programming interface and Contributor has actual knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+ (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+3.5 Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be most likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability (excluding any liability arising from intellectual property claims relating to the Covered Code) incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+3.6 Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligation of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability (excluding any liability arising from intellectual property claims relating to the Covered Code) incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+3.7 Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation. If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5. Application of this License. This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+6.1 New Versions. The Storage Networking Industry Association (the "SNIA") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+6.2 Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by the SNIA. No one other than the SNIA has the right to modify the terms applicable to Covered Code created under this License.
+
+6.3 Derivative Works. If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Storage Networking Industry Association," "SNIA," or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the SNIA Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+8.1 This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within a reasonable time after becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+8.2 If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that: o (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+8.3 If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+8.4 In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS. The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS. As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE. Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of this License or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+14. ACCEPTANCE. This License is accepted by You if You retain, use, or distribute the Covered Code for any purpose.
+
+EXHIBIT A The SNIA Public License.
+
+The contents of this file are subject to the SNIA Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
+
+www.snia.org/smi/developers/cim/
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code is .
+
+The Initial Developer of the Original Code is [COMPLETE THIS] .
+
+Contributor(s): ______________________________________.
+
+Read more about this license at http://www.snia.org/smi/developers/open_source/
diff --git a/poky/meta/files/common-licenses/SSH-OpenSSH b/poky/meta/files/common-licenses/SSH-OpenSSH
new file mode 100644
index 000000000..35a5c8c82
--- /dev/null
+++ b/poky/meta/files/common-licenses/SSH-OpenSSH
@@ -0,0 +1,67 @@
+* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
+* All rights reserved
+*
+* As far as I am concerned, the code I have written for this software
+* can be used freely for any purpose. Any derived versions of this
+* software must be clearly marked as such, and if the derived work is
+* incompatible with the protocol description in the RFC file, it must be
+* called by a name other than "ssh" or "Secure Shell".
+
+[Tatu continues]
+* However, I am not implying to give any licenses to any patents or
+* copyrights held by third parties, and the software includes parts that
+* are not under my direct control. As far as I know, all included
+* source code is used in accordance with the relevant license agreements
+* and can be used freely for any purpose (the GNU license being the most
+* restrictive); see below for details.
+
+[However, none of that term is relevant at this point in time. All of
+these restrictively licenced software components which he talks about
+have been removed from OpenSSH, i.e.,
+
+- RSA is no longer included, found in the OpenSSL library
+- IDEA is no longer included, its use is deprecated
+- DES is now external, in the OpenSSL library
+- GMP is no longer used, and instead we call BN code from OpenSSL
+- Zlib is now external, in a library
+- The make-ssh-known-hosts script is no longer included
+- TSS has been removed
+- MD5 is now external, in the OpenSSL library
+- RC4 support has been replaced with ARC4 support from OpenSSL
+- Blowfish is now external, in the OpenSSL library
+
+[The licence continues]
+
+Note that any information and cryptographic algorithms used in this
+software are publicly available on the Internet and at any major
+bookstore, scientific library, and patent office worldwide. More
+information can be found e.g. at "http://www.cs.hut.fi/crypto".
+
+The legal status of this program is some combination of all these
+permissions and restrictions. Use only at your own responsibility.
+You will be responsible for any legal consequences yourself; I am not
+making any claims whether possessing or using this is legal or not in
+your country, and I am not taking any responsibility on your behalf.
+
+
+ NO WARRANTY
+
+BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
diff --git a/poky/meta/files/common-licenses/SSH-short b/poky/meta/files/common-licenses/SSH-short
new file mode 100644
index 000000000..bf6f8a0e6
--- /dev/null
+++ b/poky/meta/files/common-licenses/SSH-short
@@ -0,0 +1,5 @@
+As far as I am concerned, the code I have written for this software
+can be used freely for any purpose. Any derived versions of this
+software must be clearly marked as such, and if the derived work is
+incompatible with the protocol description in the RFC file, it must be
+called by a name other than "ssh" or "Secure Shell".
diff --git a/poky/meta/files/common-licenses/SSPL-1.0 b/poky/meta/files/common-licenses/SSPL-1.0
new file mode 100644
index 000000000..ed242d9a0
--- /dev/null
+++ b/poky/meta/files/common-licenses/SSPL-1.0
@@ -0,0 +1,557 @@
+ Server Side Public License
+ VERSION 1, OCTOBER 16, 2018
+
+ Copyright © 2018 MongoDB, Inc.
+
+ Everyone is permitted to copy and distribute verbatim copies of this
+ license document, but changing it is not allowed.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ “This License” refers to Server Side Public License.
+
+ “Copyright” also means copyright-like laws that apply to other kinds of
+ works, such as semiconductor masks.
+
+ “The Program” refers to any copyrightable work licensed under this
+ License. Each licensee is addressed as “you”. “Licensees” and
+ “recipients” may be individuals or organizations.
+
+ To “modify” a work means to copy from or adapt all or part of the work in
+ a fashion requiring copyright permission, other than the making of an
+ exact copy. The resulting work is called a “modified version” of the
+ earlier work or a work “based on” the earlier work.
+
+ A “covered work” means either the unmodified Program or a work based on
+ the Program.
+
+ To “propagate” a work means to do anything with it that, without
+ permission, would make you directly or secondarily liable for
+ infringement under applicable copyright law, except executing it on a
+ computer or modifying a private copy. Propagation includes copying,
+ distribution (with or without modification), making available to the
+ public, and in some countries other activities as well.
+
+ To “convey” a work means any kind of propagation that enables other
+ parties to make or receive copies. Mere interaction with a user through a
+ computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays “Appropriate Legal Notices” to the
+ extent that it includes a convenient and prominently visible feature that
+ (1) displays an appropriate copyright notice, and (2) tells the user that
+ there is no warranty for the work (except to the extent that warranties
+ are provided), that licensees may convey the work under this License, and
+ how to view a copy of this License. If the interface presents a list of
+ user commands or options, such as a menu, a prominent item in the list
+ meets this criterion.
+
+ 1. Source Code.
+
+ The “source code” for a work means the preferred form of the work for
+ making modifications to it. “Object code” means any non-source form of a
+ work.
+
+ A “Standard Interface” means an interface that either is an official
+ standard defined by a recognized standards body, or, in the case of
+ interfaces specified for a particular programming language, one that is
+ widely used among developers working in that language. The “System
+ Libraries” of an executable work include anything, other than the work as
+ a whole, that (a) is included in the normal form of packaging a Major
+ Component, but which is not part of that Major Component, and (b) serves
+ only to enable use of the work with that Major Component, or to implement
+ a Standard Interface for which an implementation is available to the
+ public in source code form. A “Major Component”, in this context, means a
+ major essential component (kernel, window system, and so on) of the
+ specific operating system (if any) on which the executable work runs, or
+ a compiler used to produce the work, or an object code interpreter used
+ to run it.
+
+ The “Corresponding Source” for a work in object code form means all the
+ source code needed to generate, install, and (for an executable work) run
+ the object code and to modify the work, including scripts to control
+ those activities. However, it does not include the work's System
+ Libraries, or general-purpose tools or generally available free programs
+ which are used unmodified in performing those activities but which are
+ not part of the work. For example, Corresponding Source includes
+ interface definition files associated with source files for the work, and
+ the source code for shared libraries and dynamically linked subprograms
+ that the work is specifically designed to require, such as by intimate
+ data communication or control flow between those subprograms and other
+ parts of the work.
+
+ The Corresponding Source need not include anything that users can
+ regenerate automatically from other parts of the Corresponding Source.
+
+ The Corresponding Source for a work in source code form is that same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+ copyright on the Program, and are irrevocable provided the stated
+ conditions are met. This License explicitly affirms your unlimited
+ permission to run the unmodified Program, subject to section 13. The
+ output from running a covered work is covered by this License only if the
+ output, given its content, constitutes a covered work. This License
+ acknowledges your rights of fair use or other equivalent, as provided by
+ copyright law. Subject to section 13, you may make, run and propagate
+ covered works that you do not convey, without conditions so long as your
+ license otherwise remains in force. You may convey covered works to
+ others for the sole purpose of having them make modifications exclusively
+ for you, or provide you with facilities for running those works, provided
+ that you comply with the terms of this License in conveying all
+ material for which you do not control copyright. Those thus making or
+ running the covered works for you must do so exclusively on your
+ behalf, under your direction and control, on terms that prohibit them
+ from making any copies of your copyrighted material outside their
+ relationship with you.
+
+ Conveying under any other circumstances is permitted solely under the
+ conditions stated below. Sublicensing is not allowed; section 10 makes it
+ unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+ measure under any applicable law fulfilling obligations under article 11
+ of the WIPO copyright treaty adopted on 20 December 1996, or similar laws
+ prohibiting or restricting circumvention of such measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+ circumvention of technological measures to the extent such circumvention is
+ effected by exercising rights under this License with respect to the
+ covered work, and you disclaim any intention to limit operation or
+ modification of the work as a means of enforcing, against the work's users,
+ your or third parties' legal rights to forbid circumvention of
+ technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+ receive it, in any medium, provided that you conspicuously and
+ appropriately publish on each copy an appropriate copyright notice; keep
+ intact all notices stating that this License and any non-permissive terms
+ added in accord with section 7 apply to the code; keep intact all notices
+ of the absence of any warranty; and give all recipients a copy of this
+ License along with the Program. You may charge any price or no price for
+ each copy that you convey, and you may offer support or warranty
+ protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+ produce it from the Program, in the form of source code under the terms
+ of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified it,
+ and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is released
+ under this License and any conditions added under section 7. This
+ requirement modifies the requirement in section 4 to “keep intact all
+ notices”.
+
+ c) You must license the entire work, as a whole, under this License to
+ anyone who comes into possession of a copy. This License will therefore
+ apply, along with any applicable section 7 additional terms, to the
+ whole of the work, and all its parts, regardless of how they are
+ packaged. This License gives no permission to license the work in any
+ other way, but it does not invalidate such permission if you have
+ separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your work
+ need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+ works, which are not by their nature extensions of the covered work, and
+ which are not combined with it such as to form a larger program, in or on
+ a volume of a storage or distribution medium, is called an “aggregate” if
+ the compilation and its resulting copyright are not used to limit the
+ access or legal rights of the compilation's users beyond what the
+ individual works permit. Inclusion of a covered work in an aggregate does
+ not cause this License to apply to the other parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms of
+ sections 4 and 5, provided that you also convey the machine-readable
+ Corresponding Source under the terms of this License, in one of these
+ ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium customarily
+ used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a written
+ offer, valid for at least three years and valid for as long as you
+ offer spare parts or customer support for that product model, to give
+ anyone who possesses the object code either (1) a copy of the
+ Corresponding Source for all the software in the product that is
+ covered by this License, on a durable physical medium customarily used
+ for software interchange, for a price no more than your reasonable cost
+ of physically performing this conveying of source, or (2) access to
+ copy the Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This alternative is
+ allowed only occasionally and noncommercially, and only if you received
+ the object code with such an offer, in accord with subsection 6b.
+
+ d) Convey the object code by offering access from a designated place
+ (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to copy
+ the object code is a network server, the Corresponding Source may be on
+ a different server (operated by you or a third party) that supports
+ equivalent copying facilities, provided you maintain clear directions
+ next to the object code saying where to find the Corresponding Source.
+ Regardless of what server hosts the Corresponding Source, you remain
+ obligated to ensure that it is available for as long as needed to
+ satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided you
+ inform other peers where the object code and Corresponding Source of
+ the work are being offered to the general public at no charge under
+ subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+ from the Corresponding Source as a System Library, need not be included
+ in conveying the object code work.
+
+ A “User Product” is either (1) a “consumer product”, which means any
+ tangible personal property which is normally used for personal, family,
+ or household purposes, or (2) anything designed or sold for incorporation
+ into a dwelling. In determining whether a product is a consumer product,
+ doubtful cases shall be resolved in favor of coverage. For a particular
+ product received by a particular user, “normally used” refers to a
+ typical or common use of that class of product, regardless of the status
+ of the particular user or of the way in which the particular user
+ actually uses, or expects or is expected to use, the product. A product
+ is a consumer product regardless of whether the product has substantial
+ commercial, industrial or non-consumer uses, unless such uses represent
+ the only significant mode of use of the product.
+
+ “Installation Information” for a User Product means any methods,
+ procedures, authorization keys, or other information required to install
+ and execute modified versions of a covered work in that User Product from
+ a modified version of its Corresponding Source. The information must
+ suffice to ensure that the continued functioning of the modified object
+ code is in no case prevented or interfered with solely because
+ modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+ specifically for use in, a User Product, and the conveying occurs as part
+ of a transaction in which the right of possession and use of the User
+ Product is transferred to the recipient in perpetuity or for a fixed term
+ (regardless of how the transaction is characterized), the Corresponding
+ Source conveyed under this section must be accompanied by the
+ Installation Information. But this requirement does not apply if neither
+ you nor any third party retains the ability to install modified object
+ code on the User Product (for example, the work has been installed in
+ ROM).
+
+ The requirement to provide Installation Information does not include a
+ requirement to continue to provide support service, warranty, or updates
+ for a work that has been modified or installed by the recipient, or for
+ the User Product in which it has been modified or installed. Access
+ to a network may be denied when the modification itself materially
+ and adversely affects the operation of the network or violates the
+ rules and protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided, in
+ accord with this section must be in a format that is publicly documented
+ (and with an implementation available to the public in source code form),
+ and must require no special password or key for unpacking, reading or
+ copying.
+
+ 7. Additional Terms.
+
+ “Additional permissions” are terms that supplement the terms of this
+ License by making exceptions from one or more of its conditions.
+ Additional permissions that are applicable to the entire Program shall be
+ treated as though they were included in this License, to the extent that
+ they are valid under applicable law. If additional permissions apply only
+ to part of the Program, that part may be used separately under those
+ permissions, but the entire Program remains governed by this License
+ without regard to the additional permissions. When you convey a copy of
+ a covered work, you may at your option remove any additional permissions
+ from that copy, or from any part of it. (Additional permissions may be
+ written to require their own removal in certain cases when you modify the
+ work.) You may place additional permissions on material, added by you to
+ a covered work, for which you have or can give appropriate copyright
+ permission.
+
+ Notwithstanding any other provision of this License, for material you add
+ to a covered work, you may (if authorized by the copyright holders of
+ that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some trade
+ names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that material
+ by anyone who conveys the material (or modified versions of it) with
+ contractual assumptions of liability to the recipient, for any
+ liability that these contractual assumptions directly impose on those
+ licensors and authors.
+
+ All other non-permissive additional terms are considered “further
+ restrictions” within the meaning of section 10. If the Program as you
+ received it, or any part of it, contains a notice stating that it is
+ governed by this License along with a term that is a further restriction,
+ you may remove that term. If a license document contains a further
+ restriction but permits relicensing or conveying under this License, you
+ may add to a covered work material governed by the terms of that license
+ document, provided that the further restriction does not survive such
+ relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you must
+ place, in the relevant source files, a statement of the additional terms
+ that apply to those files, or a notice indicating where to find the
+ applicable terms. Additional terms, permissive or non-permissive, may be
+ stated in the form of a separately written license, or stated as
+ exceptions; the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+ provided under this License. Any attempt otherwise to propagate or modify
+ it is void, and will automatically terminate your rights under this
+ License (including any patent licenses granted under the third paragraph
+ of section 11).
+
+ However, if you cease all violation of this License, then your license
+ from a particular copyright holder is reinstated (a) provisionally,
+ unless and until the copyright holder explicitly and finally terminates
+ your license, and (b) permanently, if the copyright holder fails to
+ notify you of the violation by some reasonable means prior to 60 days
+ after the cessation.
+
+ Moreover, your license from a particular copyright holder is reinstated
+ permanently if the copyright holder notifies you of the violation by some
+ reasonable means, this is the first time you have received notice of
+ violation of this License (for any work) from that copyright holder, and
+ you cure the violation prior to 30 days after your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+ licenses of parties who have received copies or rights from you under
+ this License. If your rights have been terminated and not permanently
+ reinstated, you do not qualify to receive new licenses for the same
+ material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or run a
+ copy of the Program. Ancillary propagation of a covered work occurring
+ solely as a consequence of using peer-to-peer transmission to receive a
+ copy likewise does not require acceptance. However, nothing other than
+ this License grants you permission to propagate or modify any covered
+ work. These actions infringe copyright if you do not accept this License.
+ Therefore, by modifying or propagating a covered work, you indicate your
+ acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically receives
+ a license from the original licensors, to run, modify and propagate that
+ work, subject to this License. You are not responsible for enforcing
+ compliance by third parties with this License.
+
+ An “entity transaction” is a transaction transferring control of an
+ organization, or substantially all assets of one, or subdividing an
+ organization, or merging organizations. If propagation of a covered work
+ results from an entity transaction, each party to that transaction who
+ receives a copy of the work also receives whatever licenses to the work
+ the party's predecessor in interest had or could give under the previous
+ paragraph, plus a right to possession of the Corresponding Source of the
+ work from the predecessor in interest, if the predecessor has it or can
+ get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the rights
+ granted or affirmed under this License. For example, you may not impose a
+ license fee, royalty, or other charge for exercise of rights granted
+ under this License, and you may not initiate litigation (including a
+ cross-claim or counterclaim in a lawsuit) alleging that any patent claim
+ is infringed by making, using, selling, offering for sale, or importing
+ the Program or any portion of it.
+
+ 11. Patents.
+
+ A “contributor” is a copyright holder who authorizes use under this
+ License of the Program or a work on which the Program is based. The work
+ thus licensed is called the contributor's “contributor version”.
+
+ A contributor's “essential patent claims” are all patent claims owned or
+ controlled by the contributor, whether already acquired or hereafter
+ acquired, that would be infringed by some manner, permitted by this
+ License, of making, using, or selling its contributor version, but do not
+ include claims that would be infringed only as a consequence of further
+ modification of the contributor version. For purposes of this definition,
+ “control” includes the right to grant patent sublicenses in a manner
+ consistent with the requirements of this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+ patent license under the contributor's essential patent claims, to make,
+ use, sell, offer for sale, import and otherwise run, modify and propagate
+ the contents of its contributor version.
+
+ In the following three paragraphs, a “patent license” is any express
+ agreement or commitment, however denominated, not to enforce a patent
+ (such as an express permission to practice a patent or covenant not to
+ sue for patent infringement). To “grant” such a patent license to a party
+ means to make such an agreement or commitment not to enforce a patent
+ against the party.
+
+ If you convey a covered work, knowingly relying on a patent license, and
+ the Corresponding Source of the work is not available for anyone to copy,
+ free of charge and under the terms of this License, through a publicly
+ available network server or other readily accessible means, then you must
+ either (1) cause the Corresponding Source to be so available, or (2)
+ arrange to deprive yourself of the benefit of the patent license for this
+ particular work, or (3) arrange, in a manner consistent with the
+ requirements of this License, to extend the patent license to downstream
+ recipients. “Knowingly relying” means you have actual knowledge that, but
+ for the patent license, your conveying the covered work in a country, or
+ your recipient's use of the covered work in a country, would infringe
+ one or more identifiable patents in that country that you have reason
+ to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+ arrangement, you convey, or propagate by procuring conveyance of, a
+ covered work, and grant a patent license to some of the parties receiving
+ the covered work authorizing them to use, propagate, modify or convey a
+ specific copy of the covered work, then the patent license you grant is
+ automatically extended to all recipients of the covered work and works
+ based on it.
+
+ A patent license is “discriminatory” if it does not include within the
+ scope of its coverage, prohibits the exercise of, or is conditioned on
+ the non-exercise of one or more of the rights that are specifically
+ granted under this License. You may not convey a covered work if you are
+ a party to an arrangement with a third party that is in the business of
+ distributing software, under which you make payment to the third party
+ based on the extent of your activity of conveying the work, and under
+ which the third party grants, to any of the parties who would receive the
+ covered work from you, a discriminatory patent license (a) in connection
+ with copies of the covered work conveyed by you (or copies made from
+ those copies), or (b) primarily for and in connection with specific
+ products or compilations that contain the covered work, unless you
+ entered into that arrangement, or that patent license was granted, prior
+ to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting any
+ implied license or other defenses to infringement that may otherwise be
+ available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+ otherwise) that contradict the conditions of this License, they do not
+ excuse you from the conditions of this License. If you cannot use,
+ propagate or convey a covered work so as to satisfy simultaneously your
+ obligations under this License and any other pertinent obligations, then
+ as a consequence you may not use, propagate or convey it at all. For
+ example, if you agree to terms that obligate you to collect a royalty for
+ further conveying from those to whom you convey the Program, the only way
+ you could satisfy both those terms and this License would be to refrain
+ entirely from conveying the Program.
+
+ 13. Offering the Program as a Service.
+
+ If you make the functionality of the Program or a modified version
+ available to third parties as a service, you must make the Service Source
+ Code available via network download to everyone at no charge, under the
+ terms of this License. Making the functionality of the Program or
+ modified version available to third parties as a service includes,
+ without limitation, enabling third parties to interact with the
+ functionality of the Program or modified version remotely through a
+ computer network, offering a service the value of which entirely or
+ primarily derives from the value of the Program or modified version, or
+ offering a service that accomplishes for users the primary purpose of the
+ Program or modified version.
+
+ “Service Source Code” means the Corresponding Source for the Program or
+ the modified version, and the Corresponding Source for all programs that
+ you use to make the Program or modified version available as a service,
+ including, without limitation, management software, user interfaces,
+ application program interfaces, automation software, monitoring software,
+ backup software, storage software and hosting software, all such that a
+ user could run an instance of the service using the Service Source Code
+ you make available.
+
+ 14. Revised Versions of this License.
+
+ MongoDB, Inc. may publish revised and/or new versions of the Server Side
+ Public License from time to time. Such new versions will be similar in
+ spirit to the present version, but may differ in detail to address new
+ problems or concerns.
+
+ Each version is given a distinguishing version number. If the Program
+ specifies that a certain numbered version of the Server Side Public
+ License “or any later version” applies to it, you have the option of
+ following the terms and conditions either of that numbered version or of
+ any later version published by MongoDB, Inc. If the Program does not
+ specify a version number of the Server Side Public License, you may
+ choose any version ever published by MongoDB, Inc.
+
+ If the Program specifies that a proxy can decide which future versions of
+ the Server Side Public License can be used, that proxy's public statement
+ of acceptance of a version permanently authorizes you to choose that
+ version for the Program.
+
+ Later license versions may give you additional or different permissions.
+ However, no additional obligations are imposed on any author or copyright holder
+ as a result of your choosing to follow a later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+ APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
+ AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY
+ OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+ IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+ THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING
+ ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF
+ THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO
+ LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
+ OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided above
+ cannot be given local legal effect according to their terms, reviewing
+ courts shall apply local law that most closely approximates an absolute
+ waiver of all civil liability in connection with the Program, unless a
+ warranty or assumption of liability accompanies a copy of the Program in
+ return for a fee.
+
+ END OF TERMS AND CONDITIONS
diff --git a/poky/meta/files/common-licenses/SWL b/poky/meta/files/common-licenses/SWL
new file mode 100644
index 000000000..84c9c418a
--- /dev/null
+++ b/poky/meta/files/common-licenses/SWL
@@ -0,0 +1,7 @@
+The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply.
+
+IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license.
+
+BY INSTALLING THIS SOFTWARE, YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, THAT YOU UNDERSTAND IT, AND THAT YOU AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
diff --git a/poky/meta/files/common-licenses/Saxpath b/poky/meta/files/common-licenses/Saxpath
new file mode 100644
index 000000000..f985c2953
--- /dev/null
+++ b/poky/meta/files/common-licenses/Saxpath
@@ -0,0 +1,19 @@
+Copyright (C) 2000-2002 werken digital.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the disclaimer that follows these conditions in the documentation and/or other materials provided with the distribution.
+
+ 3. The name "SAXPath" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact license@saxpath.org.
+
+ 4. Products derived from this software may not be called "SAXPath", nor may "SAXPath" appear in their name, without prior written permission from the SAXPath Project Management (pm@saxpath.org).
+
+In addition, we request (but do not require) that you include in the end-user documentation provided with the redistribution and/or in the software itself an acknowledgement equivalent to the following:
+ "This product includes software developed by the SAXPath Project (http://www.saxpath.org/)."
+
+Alternatively, the acknowledgment may be graphical using the logos available at http://www.saxpath.org/
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE SAXPath AUTHORS OR THE PROJECT CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/Sendmail b/poky/meta/files/common-licenses/Sendmail
new file mode 100644
index 000000000..86eecd39c
--- /dev/null
+++ b/poky/meta/files/common-licenses/Sendmail
@@ -0,0 +1,36 @@
+SENDMAIL LICENSE
+
+The following license terms and conditions apply, unless a redistribution agreement or other license is obtained from Sendmail, Inc., 6475 Christie Ave, Third Floor, Emeryville, CA 94608, USA, or by electronic mail at license@sendmail.com.
+
+License Terms:
+
+Use, Modification and Redistribution (including distribution of any modified or derived work) in source and binary forms is permitted only if each of the following conditions is met:
+
+1. Redistributions qualify as "freeware" or "Open Source Software" under one of the following terms:
+
+ (a) Redistributions are made at no charge beyond the reasonable cost of materials and delivery.
+
+ (b) Redistributions are accompanied by a copy of the Source Code or by an irrevocable offer to provide a copy of the Source Code for up to three years at the cost of materials and delivery. Such redistributions must allow further use, modification, and redistribution of the Source Code under substantially the same terms as this license. For the purposes of redistribution "Source Code" means the complete compilable and linkable source code of sendmail including all modifications.
+
+2. Redistributions of Source Code must retain the copyright notices as they appear in each Source Code file, these license terms, and the disclaimer/limitation of liability set forth as paragraph 6 below.
+
+3. Redistributions in binary form must reproduce the Copyright Notice, these license terms, and the disclaimer/limitation of liability set forth as paragraph 6 below, in the documentation and/or other materials provided with the distribution. For the purposes of binary distribution the "Copyright Notice" refers to the following language:
+"Copyright (c) 1998-2010 Sendmail, Inc. All rights reserved."
+
+4. Neither the name of Sendmail, Inc. nor the University of California nor names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission. The name "sendmail" is a trademark of Sendmail, Inc.
+
+5. All redistributions must comply with the conditions imposed by the University of California on certain embedded code, which copyright Notice and conditions for redistribution are as follows:
+
+ (a) Copyright (c) 1988, 1993 The Regents of the University of California. All rights reserved.
+
+ (b) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ (i) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ (ii) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ (iii) Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+6. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY SENDMAIL, INC. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SENDMAIL, INC., THE REGENTS OF THE UNIVERSITY OF CALIFORNIA OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+$Revision: 8.16 $, Last updated $Date: 2010/10/25 23:11:19 $, Document 139848.1
diff --git a/poky/meta/files/common-licenses/Sendmail-8.23 b/poky/meta/files/common-licenses/Sendmail-8.23
new file mode 100644
index 000000000..e076ca3d7
--- /dev/null
+++ b/poky/meta/files/common-licenses/Sendmail-8.23
@@ -0,0 +1,36 @@
+SENDMAIL LICENSE
+
+The following license terms and conditions apply, unless a redistribution agreement or other license is obtained from Proofpoint, Inc., 892 Ross Street, Sunnyvale, CA, 94089, USA, or by electronic mail at sendmail-license@proofpoint.com.
+
+License Terms:
+
+Use, Modification and Redistribution (including distribution of any modified or derived work) in source and binary forms is permitted only if each of the following conditions is met:
+
+1. Redistributions qualify as "freeware" or "Open Source Software" under one of the following terms:
+
+ (a) Redistributions are made at no charge beyond the reasonable cost of materials and delivery.
+
+ (b) Redistributions are accompanied by a copy of the Source Code or by an irrevocable offer to provide a copy of the Source Code for up to three years at the cost of materials and delivery. Such redistributions must allow further use, modification, and redistribution of the Source Code under substantially the same terms as this license. For the purposes of redistribution "Source Code" means the complete compilable and linkable source code of sendmail and associated libraries and utilities in the sendmail distribution including all modifications.
+
+2. Redistributions of Source Code must retain the copyright notices as they appear in each Source Code file, these license terms, and the disclaimer/limitation of liability set forth as paragraph 6 below.
+
+3. Redistributions in binary form must reproduce the Copyright Notice, these license terms, and the disclaimer/limitation of liability set forth as paragraph 6 below, in the documentation and/or other materials provided with the distribution. For the purposes of binary distribution the "Copyright Notice" refers to the following language:
+"Copyright (c) 1998-2014 Proofpoint, Inc. All rights reserved."
+
+4. Neither the name of Proofpoint, Inc. nor the University of California nor names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission. The name "sendmail" is a trademark of Proofpoint, Inc.
+
+5. All redistributions must comply with the conditions imposed by the University of California on certain embedded code, which copyright Notice and conditions for redistribution are as follows:
+
+ (a) Copyright (c) 1988, 1993 The Regents of the University of California. All rights reserved.
+
+ (b) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ (i) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ (ii) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ (iii) Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+6. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY SENDMAIL, INC. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SENDMAIL, INC., THE REGENTS OF THE UNIVERSITY OF CALIFORNIA OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+$Revision: 8.23 $, Last updated $Date: 2014-01-26 20:10:01 $, Document 139848.1
diff --git a/poky/meta/files/common-licenses/SimPL-2.0 b/poky/meta/files/common-licenses/SimPL-2.0
new file mode 100644
index 000000000..0fde0fa08
--- /dev/null
+++ b/poky/meta/files/common-licenses/SimPL-2.0
@@ -0,0 +1,37 @@
+Simple Public License (SimPL)
+
+Preamble
+
+This Simple Public License 2.0 (SimPL 2.0 for short) is a plain language implementation of GPL 2.0. The words are different, but the goal is the same - to guarantee for all users the freedom to share and change software. If anyone wonders about the meaning of the SimPL, they should interpret it as consistent with GPL 2.0.
+
+Simple Public License (SimPL) 2.0
+
+The SimPL applies to the software's source and object code and comes with any rights that I have in it (other than trademarks). You agree to the SimPL by copying, distributing, or making a derivative work of the software.
+
+You get the royalty free right to:
+
+- Use the software for any purpose;
+- Make derivative works of it (this is called a "Derived Work");
+- Copy and distribute it and any Derived Work.
+
+If you distribute the software or a Derived Work, you must give back to the community by:
+
+- Prominently noting the date of any changes you make;
+- Leaving other people's copyright notices, warranty disclaimers, and license terms in place;
+- Providing the source code, build scripts, installation scripts, and interface definitions in a form that is easy to get and best to modify;
+- Licensing it to everyone under SimPL, or substantially similar terms (such as GPL 2.0), without adding further restrictions to the rights provided;
+- Conspicuously announcing that it is available under that license.
+
+There are some things that you must shoulder:
+
+- You get NO WARRANTIES. None of any kind;
+- If the software damages you in any way, you may only recover direct damages up to the amount you paid for it (that is zero if you did not pay anything). You may not recover any other damages, including those called "consequential damages." (The state or country where you live may not allow you to limit your liability in this way, so this may not apply to you);
+
+The SimPL continues perpetually, except that your license rights end automatically if:
+
+- You do not abide by the "give back to the community" terms (your licensees get to keep their rights if they abide);
+- Anyone prevents you from distributing the software under the terms of the SimPL.
+
+License for the License
+
+You may do anything that you want with the SimPL text; it's a license form to use in any way that you find helpful. To avoid confusion, however, if you change the terms in any way then you may not call your license the Simple Public License or the SimPL (but feel free to acknowledge that your license is "based on the Simple Public License").
diff --git a/poky/meta/files/common-licenses/Spencer-86 b/poky/meta/files/common-licenses/Spencer-86
new file mode 100644
index 000000000..8577e881c
--- /dev/null
+++ b/poky/meta/files/common-licenses/Spencer-86
@@ -0,0 +1,11 @@
+Copyright (c) 1986 by University of Toronto. Written by Henry Spencer. Not derived from licensed software.
+
+Permission is granted to anyone to use this software for any purpose on any computer system, and to redistribute it freely, subject to the following restrictions:
+
+1. The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from defects in it.
+
+2. The origin of this software must not be misrepresented, either by explicit claim or by omission.
+
+3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software.
+
+Beware that some of this code is subtly aware of the way operator precedence is structured in regular expressions. Serious changes in regular-expression syntax might require a total rethink.
diff --git a/poky/meta/files/common-licenses/Spencer-94 b/poky/meta/files/common-licenses/Spencer-94
new file mode 100644
index 000000000..75ba7f7d2
--- /dev/null
+++ b/poky/meta/files/common-licenses/Spencer-94
@@ -0,0 +1,12 @@
+Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved.
+This software is not subject to any license of the American Telephone and Telegraph Company or of the Regents of the University of California.
+
+Permission is granted to anyone to use this software for any purpose on any computer system, and to alter it and redistribute it, subject to the following restrictions:
+
+1. The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from flaws in it.
+
+2. The origin of this software must not be misrepresented, either by explicit claim or by omission. Since few users ever read sources, credits must appear in the documentation.
+
+3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software. Since few users ever read sources, credits must appear in the documentation.
+
+4. This notice may not be removed or altered.
diff --git a/poky/meta/files/common-licenses/Spencer-99 b/poky/meta/files/common-licenses/Spencer-99
new file mode 100644
index 000000000..ca7099033
--- /dev/null
+++ b/poky/meta/files/common-licenses/Spencer-99
@@ -0,0 +1,9 @@
+Copyright (c) 1998, 1999 Henry Spencer. All rights reserved.
+
+Development of this software was funded, in part, by Cray Research Inc., UUNET Communications Services Inc., Sun Microsystems Inc., and Scriptics Corporation, none of whom are responsible for the results. The author thanks all of them.
+
+Redistribution and use in source and binary forms - with or without modification - are permitted for any purpose, provided that redistributions in source form retain this entire copyright notice and indicate the origin and nature of any modifications.
+
+I'd appreciate being given credit for this package in the documentation of software which uses it, but that is not a requirement.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL HENRY SPENCER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/TAPR-OHL-1.0 b/poky/meta/files/common-licenses/TAPR-OHL-1.0
new file mode 100644
index 000000000..e20c23663
--- /dev/null
+++ b/poky/meta/files/common-licenses/TAPR-OHL-1.0
@@ -0,0 +1,266 @@
+The TAPR Open Hardware License
+Version 1.0 (May 25, 2007)
+Copyright 2007 TAPR - http://www.tapr.org/OHL
+
+PREAMBLE
+
+Open Hardware is a thing - a physical artifact, either electrical or
+mechanical - whose design information is available to, and usable by,
+the public in a way that allows anyone to make, modify, distribute, and
+use that thing. In this preface, design information is called
+"documentation" and things created from it are called "products."
+
+The TAPR Open Hardware License ("OHL") agreement provides a legal
+framework for Open Hardware projects. It may be used for any kind of
+product, be it a hammer or a computer motherboard, and is TAPR's
+contribution to the community; anyone may use the OHL for their Open
+Hardware project.
+
+Like the GNU General Public License, the OHL is designed to guarantee
+your freedom to share and to create. It forbids anyone who receives
+rights under the OHL to deny any other licensee those same rights to
+copy, modify, and distribute documentation, and to make, use and
+distribute products based on that documentation.
+
+Unlike the GPL, the OHL is not primarily a copyright license. While
+copyright protects documentation from unauthorized copying, modification,
+and distribution, it has little to do with your right to make, distribute,
+or use a product based on that documentation. For better or worse, patents
+play a significant role in those activities. Although it does not prohibit
+anyone from patenting inventions embodied in an Open Hardware design, and
+of course cannot prevent a third party from enforcing their patent rights,
+those who benefit from an OHL design may not bring lawsuits claiming that
+design infringes their patents or other intellectual property.
+
+The OHL addresses unique issues involved in the creation of tangible,
+physical things, but does not cover software, firmware, or code loaded
+into programmable devices. A copyright-oriented license such as the GPL
+better suits these creations.
+
+How can you use the OHL, or a design based upon it? While the terms and
+conditions below take precedence over this preamble, here is a summary:
+
+* You may modify the documentation and make products based upon it.
+
+* You may use products for any legal purpose without limitation.
+
+* You may distribute unmodified documentation, but you must include the
+complete package as you received it.
+
+* You may distribute products you make to third parties, if you either
+include the documentation on which the product is based, or make it
+available without charge for at least three years to anyone who requests
+it.
+
+* You may distribute modified documentation or products based on it, if
+you:
+ * License your modifications under the OHL.
+ * Include those modifications, following the requirements stated
+ below.
+ * Attempt to send the modified documentation by email to any of the
+ developers who have provided their email address. This is a good
+ faith obligation - if the email fails, you need do nothing more
+ and may go on with your distribution.
+
+* If you create a design that you want to license under the OHL, you
+should:
+ * Include this document in a file named LICENSE (with the appropriate
+ extension) that is included in the documentation package.
+ * If the file format allows, include a notice like "Licensed under
+ the TAPR Open Hardware License (www.tapr.org/OHL)" in each
+ documentation file. While not required, you should also include
+ this notice on printed circuit board artwork and the product
+ itself; if space is limited the notice can be shortened or
+ abbreviated.
+ * Include a copyright notice in each file and on printed circuit
+ board artwork.
+ * If you wish to be notified of modifications that others may make,
+ include your email address in a file named "CONTRIB.TXT" or
+ something similar.
+
+* Any time the OHL requires you to make documentation available to
+others, you must include all the materials you received from the
+upstream licensors. In addition, if you have modified the
+documentation:
+ * You must identify the modifications in a text file (preferably
+ named "CHANGES.TXT") that you include with the documentation.
+ That file must also include a statement like "These modifications
+ are licensed under the TAPR Open Hardware License."
+ * You must include any new files you created, including any
+ manufacturing files (such as Gerber files) you create in the
+ course of making products.
+ * You must include both "before" and "after" versions of all files
+ you modified.
+ * You may include files in proprietary formats, but you must also
+ include open format versions (such as Gerber, ASCII, Postscript,
+ or PDF) if your tools can create them.
+
+TERMS AND CONDITIONS
+
+1. Introduction
+1.1 This Agreement governs how you may use, copy, modify, and
+distribute Documentation, and how you may make, have made, and
+distribute Products based on that Documentation. As used in this
+Agreement, to "distribute" Documentation means to directly or indirectly
+make copies available to a third party, and to "distribute" Products
+means to directly or indirectly give, loan, sell or otherwise transfer
+them to a third party.
+
+1.2 "Documentation" includes:
+ (a) schematic diagrams;
+ (b) circuit or circuit board layouts, including Gerber and other
+ data files used for manufacture;
+ (c) mechanical drawings, including CAD, CAM, and other data files
+ used for manufacture;
+ (d) flow charts and descriptive text; and
+ (e) other explanatory material.
+Documentation may be in any tangible or intangible form of expression,
+including but not limited to computer files in open or proprietary
+formats and representations on paper, film, or other media.
+
+1.3 "Products" include:
+ (a) circuit boards, mechanical assemblies, and other physical parts
+ and components;
+ (b) assembled or partially assembled units (including components
+ and subassemblies); and
+ (c) parts and components combined into kits intended for assembly
+ by others;
+which are based in whole or in part on the Documentation.
+
+1.4 This Agreement applies to any Documentation which contains a
+notice stating it is subject to the TAPR Open Hardware License, and to
+all Products based in whole or in part on that Documentation. If
+Documentation is distributed in an archive (such as a "zip" file) which
+includes this document, all files in that archive are subject to this
+Agreement unless they are specifically excluded. Each person who
+contributes content to the Documentation is referred to in this
+Agreement as a "Licensor."
+
+1.5 By (a) using, copying, modifying, or distributing the
+Documentation, or (b) making or having Products made or distributing
+them, you accept this Agreement, agree to comply with its terms, and
+become a "Licensee." Any activity inconsistent with this Agreement will
+automatically terminate your rights under it (including the immunities
+from suit granted in Section 2), but the rights of others who have
+received Documentation, or have obtained Products, directly or
+indirectly from you will not be affected so long as they fully comply
+with it themselves.
+
+1.6 This Agreement does not apply to software, firmware, or code
+loaded into programmable devices which may be used in conjunction with
+Documentation or Products. Such software is subject to the license
+terms established by its copyright holder(s).
+
+2. Patents
+2.1 Each Licensor grants you, every other Licensee, and every
+possessor or user of Products a perpetual, worldwide, and royalty-free
+immunity from suit under any patent, patent application, or other
+intellectual property right which he or she controls, to the extent
+necessary to make, have made, possess, use, and distribute Products.
+This immunity does not extend to infringement arising from modifications
+subsequently made by others.
+
+2.2 If you make or have Products made, or distribute Documentation
+that you have modified, you grant every Licensor, every other Licensee,
+and every possessor or user of Products a perpetual, worldwide, and
+royalty-free immunity from suit under any patent, patent application, or
+other intellectual property right which you control, to the extent
+necessary to make, have made, possess, use, and distribute Products.
+This immunity does not extend to infringement arising from modifications
+subsequently made by others.
+
+2.3 To avoid doubt, providing Documentation to a third party for the
+sole purpose of having that party make Products on your behalf is not
+considered "distribution,"\" and a third party's act of making Products
+solely on your behalf does not cause that party to grant the immunity
+described in the preceding paragraph.
+
+2.4 These grants of immunity are a material part of this Agreement,
+and form a portion of the consideration given by each party to the
+other. If any court judgment or legal agreement prevents you from
+granting the immunity required by this Section, your rights under this
+Agreement will terminate and you may no longer use, copy, modify or
+distribute the Documentation, or make, have made, or distribute
+Products.
+
+3. Modifications
+You may modify the Documentation, and those modifications will become
+part of the Documentation. They are subject to this Agreement, as are
+Products based in whole or in part on them. If you distribute the
+modified Documentation, or Products based in whole or in part upon it,
+you must email the modified Documentation in a form compliant with
+Section 4 to each Licensor who has provided an email address with the
+Documentation. Attempting to send the email completes your obligations
+under this Section and you need take no further action if any address
+fails.
+
+4. Distributing Documentation
+4.1 You may distribute unmodified copies of the Documentation in its
+entirety in any medium, provided that you retain all copyright and other
+notices (including references to this Agreement) included by each
+Licensor, and include an unaltered copy of this Agreement.
+4.2 You may distribute modified copies of the Documentation if you
+comply with all the requirements of the preceding paragraph and:
+ (a) include a prominent notice in an ASCII or other open format
+ file identifying those elements of the Documentation that you
+ changed, and stating that the modifications are licensed under
+ the terms of this Agreement;
+ (b) include all new documentation files that you create, as well as
+ both the original and modified versions of each file you change
+ (files may be in your development tool's native file format,
+ but if reasonably possible, you must also include open format,
+ such as Gerber, ASCII, Postscript, or PDF, versions);
+ (c) do not change the terms of this Agreement with respect to
+ subsequent licensees; and
+ (d) if you make or have Products made, include in the Documentation
+ all elements reasonably required to permit others to make
+ Products, including Gerber, CAD/CAM and other files used for
+ manufacture.
+
+5. Making Products
+5.1 You may use the Documentation to make or have Products made,
+provided that each Product retains any notices included by the Licensor
+(including, but not limited to, copyright notices on circuit boards).
+5.2 You may distribute Products you make or have made, provided that
+you include with each unit a copy of the Documentation in a form
+consistent with Section 4. Alternatively, you may include either (i) an
+offer valid for at least three years to provide that Documentation, at
+no charge other than the reasonable cost of media and postage, to any
+person who requests it; or (ii) a URL where that Documentation may be
+downloaded, available for at least three years after you last distribute
+the Product.
+
+6. NEW LICENSE VERSIONS
+TAPR may publish updated versions of the OHL which retain the same
+general provisions as the present version, but differ in detail to
+address new problems or concerns, and carry a distinguishing version
+number. If the Documentation specifies a version number which applies
+to it and "any later version", you may choose either that version or any
+later version published by TAPR. If the Documentation does not specify
+a version number, you may choose any version ever published by TAPR.
+TAPR owns the copyright to the OHL, but grants permission to any person
+to copy, distribute, and use it in unmodified form.
+
+7. WARRANTY AND LIABILITY LIMITATIONS
+7.1 THE DOCUMENTATION IS PROVIDED ON AN"AS-IS" BASIS WITHOUT
+WARRANTY OF ANY KIND, TO THE EXTENT PERMITTED BY APPLICABLE LAW. ALL
+WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
+TITLE, ARE HEREBY EXPRESSLY DISCLAIMED.
+7.2 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ANY LICENSOR
+BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, CONSEQUENTIAL, PUNITIVE, OR EXEMPLARY DAMAGES ARISING OUT OF
+THE USE OF, OR INABILITY TO USE, THE DOCUMENTATION OR PRODUCTS,
+INCLUDING BUT NOT LIMITED TO CLAIMS OF INTELLECTUAL PROPERTY
+INFRINGEMENT OR LOSS OF DATA, EVEN IF THAT PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+7.3 You agree that the foregoing limitations are reasonable due to
+the non-financial nature of the transaction represented by this
+Agreement, and acknowledge that were it not for these limitations, the
+Licensor(s) would not be willing to make the Documentation available to
+you.
+7.4 You agree to defend, indemnify, and hold each Licensor harmless
+from any claim brought by a third party alleging any defect in the
+design, manufacture, or operation of any Product which you make, have
+made, or distribute pursuant to this Agreement.
+ ####
diff --git a/poky/meta/files/common-licenses/TCL b/poky/meta/files/common-licenses/TCL
new file mode 100644
index 000000000..4b9cdb48a
--- /dev/null
+++ b/poky/meta/files/common-licenses/TCL
@@ -0,0 +1,9 @@
+This software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState Corporation and other parties. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files.
+
+The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply.
+
+IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license.
diff --git a/poky/meta/files/common-licenses/TCP-wrappers b/poky/meta/files/common-licenses/TCP-wrappers
new file mode 100644
index 000000000..e13d4f532
--- /dev/null
+++ b/poky/meta/files/common-licenses/TCP-wrappers
@@ -0,0 +1,7 @@
+Copyright 1995 by Wietse Venema. All rights reserved. Some individual files may be covered by other copyrights.
+
+This material was originally written and compiled by Wietse Venema at Eindhoven University of Technology, The Netherlands, in 1990, 1991, 1992, 1993, 1994 and 1995.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that this entire copyright notice is duplicated in all such copies.
+
+This software is provided "as is" and without any expressed or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for any particular purpose.
diff --git a/poky/meta/files/common-licenses/TMate b/poky/meta/files/common-licenses/TMate
new file mode 100644
index 000000000..75fe4b42f
--- /dev/null
+++ b/poky/meta/files/common-licenses/TMate
@@ -0,0 +1,21 @@
+The TMate Open Source License.
+
+This license applies to all portions of TMate SVNKit library, which are not externally-maintained libraries (e.g. Ganymed SSH library).
+
+All the source code and compiled classes in package org.tigris.subversion.javahl except SvnClient class are covered by the license in JAVAHL-LICENSE file
+
+Copyright (c) 2004-2012 TMate Software. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ * Redistributions in any form must be accompanied by information on how to obtain complete source code for the software that uses SVNKit and any accompanying software that uses the software that uses SVNKit. The source code must either be included in the distribution or be available for no more than the cost of distribution plus a nominal fee, and must be freely redistributable under reasonable conditions. For an executable file, complete source code means the source code for all modules it contains. It does not include source code for modules or files that typically accompany the major components of the operating system on which the executable file runs.
+
+ * Redistribution in any form without redistributing source code for software that uses SVNKit is possible only when such redistribution is explictly permitted by TMate Software. Please, contact TMate Software at support@svnkit.com to get such permission.
+
+THIS SOFTWARE IS PROVIDED BY TMATE SOFTWARE ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED.
+
+IN NO EVENT SHALL TMATE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/TORQUE-1.1 b/poky/meta/files/common-licenses/TORQUE-1.1
new file mode 100644
index 000000000..52c884e8d
--- /dev/null
+++ b/poky/meta/files/common-licenses/TORQUE-1.1
@@ -0,0 +1,25 @@
+TORQUE v2.5+ Software License v1.1
+Copyright (c) 2010-2011 Adaptive Computing Enterprises, Inc. All rights reserved.
+
+Use this license to use or redistribute the TORQUE software v2.5+ and later versions. For free support for TORQUE users, questions should be emailed to the community of TORQUE users at torqueusers@supercluster.org. Users can also subscribe to the user mailing list at http://www.supercluster.org/mailman/listinfo/torqueusers. Customers using TORQUE that also are licensed users of Moab branded software from Adaptive Computing Inc. can get TORQUE support from Adaptive Computing via:
+Email: torque-support@adaptivecomputing.com.
+Phone: (801) 717-3700
+Web: www.adaptivecomputing.com www.clusterresources.com
+
+This license covers use of the TORQUE v2.5 software (the "Software") at your site or location, and, for certain users, redistribution of the Software to other sites and locations1. Later versions of TORQUE are also covered by this license. Use and redistribution of TORQUE v2.5 in source and binary forms, with or without modification, are permitted provided that all of the following conditions are met.
+
+1. Any Redistribution of source code must retain the above copyright notice and the acknowledgment contained in paragraph 5, this list of conditions and the disclaimer contained in paragraph 5.
+
+2. Any Redistribution in binary form must reproduce the above copyright notice and the acknowledgment contained in paragraph 4, this list of conditions and the disclaimer contained in paragraph 5 in the documentation and/or other materials provided with the distribution.
+
+3. Redistributions in any form must be accompanied by information on how to obtain complete source code for TORQUE and any modifications and/or additions to TORQUE. The source code must either be included in the distribution or be available for no more than the cost of distribution plus a nominal fee, and all modifications and additions to the Software must be freely redistributable by any party (including Licensor) without restriction.
+
+4. All advertising materials mentioning features or use of the Software must display the following acknowledgment:
+"TORQUE is a modification of OpenPBS which was developed by NASA Ames Research Center, Lawrence Livermore National Laboratory, and Veridian TORQUE Open Source License v1.1. 1 Information Solutions, Inc. Visit www.clusterresources.com/products/ for more information about TORQUE and to download TORQUE. For information about Moab branded products and so receive support from Adaptive Computing for TORQUE, see www.adaptivecomputing.com.”
+
+5. DISCLAIMER OF WARRANTY THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED. IN NO EVENT SHALL ADAPTIVE COMPUTING ENTERPRISES, INC. CORPORATION, ITS AFFILIATED COMPANIES, OR THE U.S. GOVERNMENT OR ANY OF ITS AGENCIES BE LIABLE FOR ANY DIRECT OR INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This license will be governed by the laws of Utah, without reference to its choice of law rules.
+
+Note 1: TORQUE is developed from an earlier version v2.3 of OpenPBS. TORQUE has been developed beyond OpenPBS v2.3. The OpenPBS v2.3 license and OpenPBS software can be obtained at:
+http://www.pbsworks.com/ResLibSearchResult.aspx?keywords=openpbs&industry=All&pro duct_service=All&category=Free%20Software%20Downloads&order_by=title. Users of TORQUE should comply with the TORQUE license as well as the OpenPBS license.
diff --git a/poky/meta/files/common-licenses/TOSL b/poky/meta/files/common-licenses/TOSL
new file mode 100644
index 000000000..efee67e57
--- /dev/null
+++ b/poky/meta/files/common-licenses/TOSL
@@ -0,0 +1,9 @@
+Trusster Open Source License version 1.0a (TRUST) copyright (c) 2006 Mike Mintz and Robert Ekendahl. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * Redistributions in any form must be accompanied by information on how to obtain complete source code for this software and any accompanying software that uses this software. The source code must either be included in the distribution or be available in a timely fashion for no more than the cost of distribution plus a nominal fee, and must be freely redistributable under reasonable and no more restrictive conditions. For an executable file, complete source code means the source code for all modules it contains. It does not include source code for modules or files that typically accompany the major components of the operating system on which the executable file runs.
+
+THIS SOFTWARE IS PROVIDED BY MIKE MINTZ AND ROBERT EKENDAHL ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL MIKE MINTZ AND ROBERT EKENDAHL OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/TU-Berlin-1.0 b/poky/meta/files/common-licenses/TU-Berlin-1.0
new file mode 100644
index 000000000..08f954e88
--- /dev/null
+++ b/poky/meta/files/common-licenses/TU-Berlin-1.0
@@ -0,0 +1,10 @@
+Copyright 1992 by Jutta Degener and Carsten Bormann,
+Technische Universitaet Berlin
+
+Any use of this software is permitted provided that this notice is not removed and that neither the authors nor the Technische Universitaet Berlin are deemed to have made any representations as to the suitability of this software for any purpose nor are held responsible for any defects of this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
+
+As a matter of courtesy, the authors request to be informed about uses this software has found, about bugs in this software, and about any improvements that may be of general interest.
+
+Berlin, 15.09.1992
+Jutta Degener
+Carsten Bormann
diff --git a/poky/meta/files/common-licenses/TU-Berlin-2.0 b/poky/meta/files/common-licenses/TU-Berlin-2.0
new file mode 100644
index 000000000..82897c187
--- /dev/null
+++ b/poky/meta/files/common-licenses/TU-Berlin-2.0
@@ -0,0 +1,20 @@
+Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann,
+Technische Universitaet Berlin
+
+Any use of this software is permitted provided that this notice is not removed and that neither the authors nor the Technische Universitaet Berlin are deemed to have made any representations as to the suitability of this software for any purpose nor are held responsible for any defects of this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
+
+As a matter of courtesy, the authors request to be informed about uses this software has found, about bugs in this software, and about any improvements that may be of general interest.
+
+Berlin, 28.11.1994
+Jutta Degener
+Carsten Bormann
+
+oOo
+
+Since the original terms of 15 years ago maybe do not make our intentions completely clear given today's refined usage of the legal terms, we append this additional permission:
+
+Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that this notice is not removed and that neither the authors nor the Technische Universitaet Berlin are deemed to have made any representations as to the suitability of this software for any purpose nor are held responsible for any defects of this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
+
+Berkeley/Bremen, 05.04.2009
+Jutta Degener
+Carsten Bormann
diff --git a/poky/meta/files/common-licenses/UCL-1.0 b/poky/meta/files/common-licenses/UCL-1.0
new file mode 100644
index 000000000..8915f82b4
--- /dev/null
+++ b/poky/meta/files/common-licenses/UCL-1.0
@@ -0,0 +1,48 @@
+Upstream Compatibility License v. 1.0 (UCL-1.0)
+
+This Upstream Compatibility License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work:
+
+ Licensed under the Upstream Compatibility License 1.0
+
+1) Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following:
+
+ a) to reproduce the Original Work in copies, either alone or as part of a collective work;
+
+ b) to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work;
+
+ c) to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work You distribute or communicate shall be licensed under this Upstream Compatibility License and all Derivative Work You distribute or communicate
+ shall be licensed under both this Upstream Compatibility License and the Apache License 2.0 or later;
+
+ d) to perform the Original Work publicly; and
+
+ e) to display the Original Work publicly.
+
+2) Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works.
+
+3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work.
+
+4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor’s trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license.
+
+5) External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c).
+
+6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
+
+7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer.
+
+8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation.
+
+9) Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including “fair use” or “fair dealing”). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c).
+
+10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
+
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License.
+
+12) Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+
+13) Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
+
+14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
+
+16) Modification of This License. This License is Copyright (c) 2005 Lawrence Rosen and Copyright (c) 2017 Nigel Tzeng. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" or the "Upstream Compatibility License" or "UCL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process.
diff --git a/poky/meta/files/common-licenses/UPL-1.0 b/poky/meta/files/common-licenses/UPL-1.0
new file mode 100644
index 000000000..491a5deb4
--- /dev/null
+++ b/poky/meta/files/common-licenses/UPL-1.0
@@ -0,0 +1,17 @@
+Copyright (c) [year] [copyright holders]
+
+The Universal Permissive License (UPL), Version 1.0
+
+Subject to the condition set forth below, permission is hereby granted to any person obtaining a copy of this software, associated documentation and/or data (collectively the "Software"), free of charge and under any and all copyright rights in the Software, and any and all patent rights owned or freely licensable by each licensor hereunder covering either (i) the unmodified Software as contributed to or provided by such licensor, or (ii) the Larger Works (as defined below), to deal in both
+
+(a) the Software, and
+
+(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if one is included with the Software (each a “Larger Work” to which the Software is contributed by such licensors),
+
+without restriction, including without limitation the rights to copy, create derivative works of, display, perform, and distribute the Software and make, use, sell, offer for sale, import, export, have made, and have sold the Software and the Larger Work(s), and to sublicense the foregoing rights on either these or other terms.
+
+This license is subject to the following condition:
+
+The above copyright notice and either this complete permission notice or at a minimum a reference to the UPL must be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/poky/meta/files/common-licenses/Unicode-DFS-2015 b/poky/meta/files/common-licenses/Unicode-DFS-2015
new file mode 100644
index 000000000..278eee1e5
--- /dev/null
+++ b/poky/meta/files/common-licenses/Unicode-DFS-2015
@@ -0,0 +1,19 @@
+UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
+
+Unicode Data Files include all data files under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/. Unicode Data Files do not include PDF online code charts under the directory http://www.unicode.org/Public/. Software includes any source code published in the Unicode Standard or under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/.
+
+NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright © 1991-2015 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that
+
+ (a) this copyright and permission notice appear with all copies of the Data Files or Software,
+ (b) this copyright and permission notice appear in associated documentation, and
+ (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.
diff --git a/poky/meta/files/common-licenses/Unicode-DFS-2016 b/poky/meta/files/common-licenses/Unicode-DFS-2016
new file mode 100644
index 000000000..71fd6ac5e
--- /dev/null
+++ b/poky/meta/files/common-licenses/Unicode-DFS-2016
@@ -0,0 +1,22 @@
+UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
+
+Unicode Data Files include all data files under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and http://www.unicode.org/utility/trac/browser/.
+
+Unicode Data Files do not include PDF online code charts under the directory http://www.unicode.org/Public/.
+
+Software includes any source code published in the Unicode Standard or under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and http://www.unicode.org/utility/trac/browser/.
+
+NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright © 1991-2016 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either
+
+ (a) this copyright and permission notice appear with all copies of the Data Files or Software, or
+ (b) this copyright and permission notice appear in associated Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.
diff --git a/poky/meta/files/common-licenses/Unicode-TOU b/poky/meta/files/common-licenses/Unicode-TOU
new file mode 100644
index 000000000..49e3eee7e
--- /dev/null
+++ b/poky/meta/files/common-licenses/Unicode-TOU
@@ -0,0 +1,51 @@
+Unicode Terms of Use
+
+For the general privacy policy governing access to this site, see the Unicode Privacy Policy. For trademark usage, see the Unicode® Consortium Name and Trademark Usage Policy.
+
+A. Unicode Copyright.
+
+ 1. Copyright © 1991-2014 Unicode, Inc. All rights reserved.
+
+ 2. Certain documents and files on this website contain a legend indicating that "Modification is permitted." Any person is hereby authorized, without fee, to modify such documents and files to create derivative works conforming to the Unicode® Standard, subject to Terms and Conditions herein.
+
+ 3. Any person is hereby authorized, without fee, to view, use, reproduce, and distribute all documents and files solely for informational purposes in the creation of products supporting the Unicode Standard, subject to the Terms and Conditions herein.
+
+ 4. Further specifications of rights and restrictions pertaining to the use of the particular set of data files known as the "Unicode Character Database" can be found in Exhibit 1.
+
+ 5. Each version of the Unicode Standard has further specifications of rights and restrictions of use. For the book editions (Unicode 5.0 and earlier), these are found on the back of the title page. The online code charts carry specific restrictions. All other files, including online documentation of the core specification for Unicode 6.0 and later, are covered under these general Terms of Use.
+
+ 6. No license is granted to "mirror" the Unicode website where a fee is charged for access to the "mirror" site.
+
+ 7. Modification is not permitted with respect to this document. All copies of this document must be verbatim.
+
+B. Restricted Rights Legend. Any technical data or software which is licensed to the United States of America, its agencies and/or instrumentalities under this Agreement is commercial technical data or commercial computer software developed exclusively at private expense as defined in FAR 2.101, or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use, duplication, or disclosure by the Government is subject to restrictions as set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov 1995) and this Agreement. For Software, in accordance with FAR 12-212 or DFARS 227-7202, as applicable, use, duplication or disclosure by the Government is subject to the restrictions set forth in this Agreement.
+
+C. Warranties and Disclaimers.
+
+ 1. This publication and/or website may include technical or typographical errors or other inaccuracies . Changes are periodically added to the information herein; these changes will be incorporated in new editions of the publication and/or website. Unicode may make improvements and/or changes in the product(s) and/or program(s) described in this publication and/or website at any time.
+
+ 2. If this file has been purchased on magnetic or optical media from Unicode, Inc. the sole and exclusive remedy for any claim will be exchange of the defective media within ninety (90) days of original purchase.
+
+ 3. EXCEPT AS PROVIDED IN SECTION C.2, THIS PUBLICATION AND/OR SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE.
+
+D. Waiver of Damages. In no event shall Unicode or its licensors be liable for any special, incidental, indirect or consequential damages of any kind, or any damages whatsoever, whether or not Unicode was advised of the possibility of the damage, including, without limitation, those resulting from the following: loss of use, data or profits, in connection with the use, modification or distribution of this information or its derivatives.
+
+E. Trademarks & Logos.
+
+ 1. The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of Unicode, Inc. Use of the information and materials found on this website indicates your acknowledgement of Unicode, Inc.’s exclusive worldwide rights in the Unicode Word Mark, the Unicode Logo, and the Unicode trade names.
+
+ 2. The Unicode Consortium Name and Trademark Usage Policy (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc.
+
+ 3. All third party trademarks referenced herein are the property of their respective owners.
+
+F. Miscellaneous.
+
+ 1. Jurisdiction and Venue. This server is operated from a location in the State of California, United States of America. Unicode makes no representation that the materials are appropriate for use in other locations. If you access this server from other locations, you are responsible for compliance with local laws. This Agreement, all use of this site and any claims and damages resulting from use of this site are governed solely by the laws of the State of California without regard to any principles which would apply the laws of a different jurisdiction. The user agrees that any disputes regarding this site shall be resolved solely in the courts located in Santa Clara County, California. The user agrees said courts have personal jurisdiction and agree to waive any right to transfer the dispute to any other forum.
+
+ 2. Modification by Unicode Unicode shall have the right to modify this Agreement at any time by posting it to this site. The user may not assign any part of this Agreement without Unicode’s prior written consent.
+
+ 3. Taxes. The user agrees to pay any taxes arising from access to this website or use of the information herein, except for those based on Unicode’s net income.
+
+ 4. Severability. If any provision of this Agreement is declared invalid or unenforceable, the remaining provisions of this Agreement shall remain in effect.
+
+ 5. Entire Agreement. This Agreement constitutes the entire agreement between the parties.
diff --git a/poky/meta/files/common-licenses/VOSTROM b/poky/meta/files/common-licenses/VOSTROM
new file mode 100644
index 000000000..efd0a6313
--- /dev/null
+++ b/poky/meta/files/common-licenses/VOSTROM
@@ -0,0 +1,27 @@
+VOSTROM Public License for Open Source
+
+Copyright (c) 2007 VOSTROM Holdings, Inc.
+
+This VOSTROM Holdings, Inc. (VOSTROM) Distribution (code and documentation) is made available to the open source community as a public service by VOSTROM. Contact VOSTROM at license@vostrom.com for information on other licensing arrangements (e.g. for use in proprietary applications).
+
+Under this license, this Distribution may be modified and the original version and modified versions may be copied, distributed, publicly displayed and performed provided that the following conditions are met:
+
+1. Modified versions are distributed with source code and documentation and with permission for others to use any code and documentation (whether in original or modified versions) as granted under this license;
+
+2. if modified, the source code, documentation, and user run-time elements should be clearly labeled by placing an identifier of origin (such as a name, initial, or other tag) after the version number;
+
+3. users, modifiers, distributors, and others coming into possession or using the Distribution in original or modified form accept the entire risk as to the possession, use, and performance of the Distribution;
+
+4. this copyright management information (software identifier and version number, copyright notice and license) shall be retained in all versions of the Distribution;
+
+5. VOSTROM may make modifications to the Distribution that are substantially similar to modified versions of the Distribution, and may make, use, sell, copy, distribute, publicly display, and perform such modifications, including making such modifications available under this or other licenses, without obligation or restriction;
+
+6. modifications incorporating code, libraries, and/or documentation subject to any other open source license may be made, and the resulting work may be distributed under the terms of such open source license if required by that open source license, but doing so will not affect this Distribution, other modifications made under this license or modifications made under other VOSTROM licensing arrangements;
+
+7. no permission is granted to distribute, publicly display, or publicly perform modifications to the Distribution made using proprietary materials that cannot be released in source format under conditions of this license;
+
+8. the name of VOSTROM may not be used in advertising or publicity pertaining to Distribution of the software without specific, prior written permission.
+
+This software is made available "as is", and
+
+VOSTROM DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN NO EVENT SHALL VOSTROM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/poky/meta/files/common-licenses/Vim b/poky/meta/files/common-licenses/Vim
new file mode 100644
index 000000000..84aaf416b
--- /dev/null
+++ b/poky/meta/files/common-licenses/Vim
@@ -0,0 +1,30 @@
+VIM LICENSE
+
+I) There are no restrictions on distributing unmodified copies of Vim except that they must include this license text. You can also distribute unmodified parts of Vim, likewise unrestricted except that they must include this license text. You are also allowed to include executables that you made from the unmodified Vim sources, plus your own usage examples and Vim scripts.
+
+II) It is allowed to distribute a modified (or extended) version of Vim, including executables and/or source code, when the following four conditions are met:
+
+ 1) This license text must be included unmodified.
+
+ 2) The modified Vim must be distributed in one of the following five ways:
+
+ a) If you make changes to Vim yourself, you must clearly describe in the distribution how to contact you. When the maintainer asks you (in any way) for a copy of the modified Vim you distributed, you must make your changes, including source code, available to the maintainer without fee. The maintainer reserves the right to include your changes in the official version of Vim. What the maintainer will do with your changes and under what license they will be distributed is negotiable. If there has been no negotiation then this license, or a later version, also applies to your changes. The current maintainer is Bram Moolenaar <Bram@vim.org>. If this changes it will be announced in appropriate places (most likely vim.sf.net, www.vim.org and/or comp.editors). When it is completely impossible to contact the maintainer, the obligation to send him your changes ceases. Once the maintainer has confirmed that he has received your changes they will not have to be sent again.
+
+ b) If you have received a modified Vim that was distributed as mentioned under a) you are allowed to further distribute it unmodified, as mentioned at I). If you make additional changes the text under a) applies to those changes.
+
+ c) Provide all the changes, including source code, with every copy of the modified Vim you distribute. This may be done in the form of a context diff. You can choose what license to use for new code you add. The changes and their license must not restrict others from making their own changes to the official version of Vim.
+
+ d) When you have a modified Vim which includes changes as mentioned under c), you can distribute it without the source code for the changes if the following three conditions are met:
+ - The license that applies to the changes permits you to distribute the changes to the Vim maintainer without fee or restriction, and permits the Vim maintainer to include the changes in the official version of Vim without fee or restriction.
+ - You keep the changes for at least three years after last distributing the corresponding modified Vim. When the maintainer or someone who you distributed the modified Vim to asks you (in any way) for the changes within this period, you must make them available to him.
+ - You clearly describe in the distribution how to contact you. This contact information must remain valid for at least three years after last distributing the corresponding modified Vim, or as long as possible.
+
+ e) When the GNU General Public License (GPL) applies to the changes, you can distribute the modified Vim under the GNU GPL version 2 or any later version.
+
+ 3) A message must be added, at least in the output of the ":version" command and in the intro screen, such that the user of the modified Vim is able to see that it was modified. When distributing as mentioned under 2)e) adding the message is only required for as far as this does not conflict with the license used for the changes.
+
+ 4) The contact information as required under 2)a) and 2)d) must not be removed or changed, except that the person himself can make corrections.
+
+III) If you distribute a modified version of Vim, you are encouraged to use the Vim license for your changes and make them available to the maintainer, including the source code. The preferred way to do this is by e-mail or by uploading the files to a server and e-mailing the URL. If the number of changes is small (e.g., a modified Makefile) e-mailing a context diff will do. The e-mail address to be used is <maintainer@vim.org>
+
+IV) It is not allowed to remove this license from the distribution of the Vim sources, parts of it or from a modified version. You may use this license for previous Vim releases instead of the license that they came with, at your option.
diff --git a/poky/meta/files/common-licenses/W3C-19980720 b/poky/meta/files/common-licenses/W3C-19980720
new file mode 100644
index 000000000..a8554039e
--- /dev/null
+++ b/poky/meta/files/common-licenses/W3C-19980720
@@ -0,0 +1,23 @@
+W3C® SOFTWARE NOTICE AND LICENSE
+
+Copyright (c) 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
+
+This W3C work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
+
+Permission to use, copy, modify, and distribute this software and its documentation, with or without modification,  for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make:
+
+ 1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+
+ 2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
+
+ 3. Notice of any changes or modifications to the W3C files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
+
+____________________________________
+
+This formulation of W3C's notice and license became active on August 14 1998 so as to improve compatibility with GPL. This version ensures that W3C software licensing terms are no more restrictive than GPL and consequently W3C software may be distributed in GPL packages. See the older formulation for the policy prior to this date. Please see our Copyright FAQ for common questions about using materials from our site, including specific terms and conditions for packages like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed to site-policy@w3.org.
diff --git a/poky/meta/files/common-licenses/W3C-20150513 b/poky/meta/files/common-licenses/W3C-20150513
new file mode 100644
index 000000000..abe1af9ae
--- /dev/null
+++ b/poky/meta/files/common-licenses/W3C-20150513
@@ -0,0 +1,17 @@
+This work is being provided by the copyright holders under the following license.
+
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+
+ • The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+ • Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+ • Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright (c) [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders.
diff --git a/poky/meta/files/common-licenses/WTFPL b/poky/meta/files/common-licenses/WTFPL
new file mode 100644
index 000000000..7a3094a82
--- /dev/null
+++ b/poky/meta/files/common-licenses/WTFPL
@@ -0,0 +1,11 @@
+DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+Version 2, December 2004
+
+Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
+
+Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed.
+
+DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
diff --git a/poky/meta/files/common-licenses/Wsuipa b/poky/meta/files/common-licenses/Wsuipa
new file mode 100644
index 000000000..8a37a28d6
--- /dev/null
+++ b/poky/meta/files/common-licenses/Wsuipa
@@ -0,0 +1,5 @@
+This file was added by Clea F. Rees on 2008/11/30 with the permission of Dean Guenther and pointers to this file were added to all source files.
+
+Unlimited copying and redistribution of each of the files is permitted as long as the file is not modified. Modifications, and redistribution of modified versions, are also permitted, but only if the resulting file is renamed.
+
+The copyright holder is Washington State University. The original author of the fonts is Janene Winter. The primary contact (as of 2008) is Dean Guenther.
diff --git a/poky/meta/files/common-licenses/X11 b/poky/meta/files/common-licenses/X11
new file mode 100644
index 000000000..6b41092f2
--- /dev/null
+++ b/poky/meta/files/common-licenses/X11
@@ -0,0 +1,13 @@
+X11 License
+
+Copyright (C) 1996 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the X Consortium.
+
+X Window System is a trademark of X Consortium, Inc.
diff --git a/poky/meta/files/common-licenses/XSkat b/poky/meta/files/common-licenses/XSkat
new file mode 100644
index 000000000..0b77a0787
--- /dev/null
+++ b/poky/meta/files/common-licenses/XSkat
@@ -0,0 +1,10 @@
+This program is free software; you can redistribute it freely.
+Use it at your own risk; there is NO WARRANTY.
+
+Redistribution of modified versions is permitted provided that the following conditions are met:
+
+1. All copyright & permission notices are preserved.
+
+2.a) Only changes required for packaging or porting are made.
+ or
+2.b) It is clearly stated who last changed the program. The program is renamed or the version number is of the form x.y.z, where x.y is the version of the original program and z is an arbitrary suffix.
diff --git a/poky/meta/files/common-licenses/Xerox b/poky/meta/files/common-licenses/Xerox
new file mode 100644
index 000000000..0667d0d21
--- /dev/null
+++ b/poky/meta/files/common-licenses/Xerox
@@ -0,0 +1,5 @@
+Copyright (c) 1995, 1996 Xerox Corporation. All Rights Reserved.
+
+Use and copying of this software and preparation of derivative works based upon this software are permitted. Any copy of this software or of any derivative work must include the above copyright notice of Xerox Corporation, this paragraph and the one after it. Any distribution of this software or derivative works must comply with all applicable United States export control laws.
+
+This software is made available AS IS, and XEROX CORPORATION DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND NOTWITHSTANDING ANY OTHER PROVISION CONTAINED HEREIN, ANY LIABILITY FOR DAMAGES RESULTING FROM THE SOFTWARE OR ITS USE IS EXPRESSLY DISCLAIMED, WHETHER ARISING IN CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, EVEN IF XEROX CORPORATION IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
diff --git a/poky/meta/files/common-licenses/YPL-1.0 b/poky/meta/files/common-licenses/YPL-1.0
new file mode 100644
index 000000000..cfbec9e2f
--- /dev/null
+++ b/poky/meta/files/common-licenses/YPL-1.0
@@ -0,0 +1,47 @@
+Yahoo! Public License, Version 1.0 (YPL)
+
+This Yahoo! Public License (this "Agreement") is a legal agreement that describes the terms under which Yahoo! Inc., a Delaware corporation having its principal place of business at 701 First Avenue, Sunnyvale, California 94089 ("Yahoo!") will provide software to you via download or otherwise ("Software"). By using the Software, you, an individual or an entity ("You") agree to the terms of this Agreement.
+
+In consideration of the mutual promises and upon the terms and conditions set forth below, the parties agree as follows:
+
+1. Grant of Copyright License
+
+ 1.1 - Subject to the terms and conditions of this Agreement, Yahoo! hereby grants to You, under any and all of its copyright interest in and to the Software, a royalty-free, non-exclusive, non-transferable license to copy, modify, compile, execute, and distribute the Software and Modifications. For the purposes of this Agreement, any change to, addition to, or abridgement of the Software made by You is a "Modification;" however, any file You add to the Software that does not contain any part of the Software is not a "Modification."
+
+ 1.2 - If You are an individual acting on behalf of a corporation or other entity, Your use of the Software or any Modification is subject to Your having the authority to bind such corporation or entity to this Agreement. Providing copies to persons within such corporation or entity is not considered distribution for purposes of this Agreement.
+
+ 1.3 - For the Software or any Modification You distribute in source code format, You must do so only under the terms of this Agreement, and You must include a complete copy of this Agreement with Your distribution. With respect to any Modification You distribute in source code format, the terms of this Agreement will apply to You in the same way those terms apply to Yahoo! with respect to the Software. In other words, when You are distributing Modifications under this Agreement, You "stand in the shoes" of Yahoo! in terms of the rights You grant and how the terms and conditions apply to You and the licensees of Your Modifications. Notwithstanding the foregoing, when You "stand in the shoes" of Yahoo!, You are not subject to the jurisdiction provision under Section 7, which requires all disputes under this Agreement to be subject to the jurisdiction of federal or state courts of northern California.
+
+ 1.4 - For the Software or any Modification You distribute in compiled or object code format, You must also provide recipients with access to the Software or Modification in source code format along with a complete copy of this Agreement. The distribution of the Software or Modifications in compiled or object code format may be under a license of Your choice, provided that You are in compliance with the terms of this Agreement. In addition, You must make absolutely clear that any license terms applying to such Software or Modification that differ from this Agreement are offered by You alone and not by Yahoo!, and that such license does not restrict recipients from exercising rights in the source code to the Software granted by Yahoo! under this Agreement or rights in the source code to any Modification granted by You as described in Section 1.3.
+
+ 1.5 - This Agreement does not limit Your right to distribute files that are entirely Your own work (i.e., which do not incorporate any portion of the Software and are not Modifications) under any terms You choose.
+
+2. Support
+Yahoo! has no obligation to provide technical support or updates to You. Nothing in this Agreement requires Yahoo! to enter into any license with You for any other edition of the Software.
+
+3. Intellectual Property Rights
+
+ 3.1 - Except for the license expressly granted under copyright in Section 1.1, no rights, licenses or forbearances are granted or may arise in relation to this Agreement whether expressly, by implication, exhaustion, estoppel or otherwise. All rights, including all intellectual property rights, that are not expressly granted under this Agreement are hereby reserved.
+
+ 3.2 - In any copy of the Software or in any Modification you create, You must retain and reproduce, any and all copyright, patent, trademark, and attribution notices that are included in the Software in the same form as they appear in the Software. This includes the preservation of attribution notices in the form of trademarks or logos that exist within a user interface of the Software.
+
+ 3.3 - This license does not grant You rights to use any party's name, logo, or trademarks, except solely as necessary to comply with Section 3.2.
+
+4. Disclaimer of Warranties
+THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND. YAHOO! MAKES NO WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY REGARDING OR RELATING TO THE SOFTWARE. SPECIFICALLY, YAHOO! DOES NOT WARRANT THAT THE SOFTWARE WILL BE ERROR FREE OR WILL PERFORM IN AN UNINTERRUPTED MANNER. TO THE GREATEST EXTENT ALLOWED BY LAW, YAHOO! SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (EVEN IF YAHOO! HAD BEEN INFORMED OF SUCH PURPOSE), AND NONINFRINGEMENT WITH RESPECT TO THE SOFTWARE, ANY MODIFICATIONS THERETO AND WITH RESPECT TO THE USE OF THE FOREGOING.
+
+5. Limitation of Liability
+IN NO EVENT WILL YAHOO! BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING WITHOUT LIMITATION LOSS OF PROFITS, LOSS OF USE, BUSINESS INTERRUPTION, LOSS OF DATA, COST OF COVER) IN CONNECTION WITH OR ARISING OUT OF OR RELATING TO THE FURNISHING, PERFORMANCE OR USE OF THE SOFTWARE OR ANY OTHER RIGHTS GRANTED HEREUNDER, WHETHER ALLEGED AS A BREACH OF CONTRACT OR TORTIOUS CONDUCT, INCLUDING NEGLIGENCE, AND EVEN IF YAHOO! HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+6. Term and Termination
+
+ 6.1 - This Agreement will continue in effect unless and until terminated earlier pursuant to this Section 6.
+
+ 6.2 - In the event Yahoo! determines that You have breached this Agreement, Yahoo! may terminate this Agreement.
+
+ 6.3 - All licenses granted hereunder shall terminate upon the termination of this Agreement. Termination will be in addition to any rights and remedies available to Yahoo! at law or equity or under this Agreement.
+
+ 6.4 - Termination of this Agreement will not affect the provisions regarding reservation of rights (Section 3.1), provisions disclaiming or limiting Yahoo!'s liability (Sections 4 and 5), Termination (Section 6) or Miscellaneous (Section 7), which provisions will survive termination of this Agreement.
+
+7. Miscellaneous
+This Agreement contains the entire agreement of the parties with respect to the subject matter of this Agreement and supersedes all previous communications, representations, understandings and agreements, either oral or written, between the parties with respect to said subject matter. The relationship of the parties hereunder is that of independent contractors, and this Agreement will not be construed as creating an agency, partnership, joint venture or any other form of legal association between the parties. If any term, condition, or provision in this Agreement is found to be invalid, unlawful or unenforceable to any extent, this Agreement will be construed in a manner that most closely effectuates the intent of this Agreement. Such invalid term, condition or provision will be severed from the remaining terms, conditions and provisions, which will continue to be valid and enforceable to the fullest extent permitted by law. This Agreement will be interpreted and construed in accordance with the laws of the State of California and the United States of America, without regard to conflict of law principles. The U.N. Convention on Contracts for the International Sale of Goods shall not apply to this Agreement. All disputes arising out of this Agreement involving Yahoo! or any of its subsidiaries shall be subject to the jurisdiction of the federal or state courts of northern California, with venue lying in Santa Clara County, California. No rights may be assigned, no obligations may be delegated, and this Agreement may not be transferred by You, in whole or in part, whether voluntary or by operation of law, including by way of sale of assets, merger or consolidation, without the prior written consent of Yahoo!, and any purported assignment, delegation or transfer without such consent shall be void ab initio. Any waiver of the provisions of this Agreement or of a party's rights or remedies under this Agreement must be in writing to be effective. Failure, neglect or delay by a party to enforce the provisions of this Agreement or its rights or remedies at any time, will not be construed or be deemed to be a waiver of such party's rights under this Agreement and will not in any way affect the validity of the whole or any part of this Agreement or prejudice such party's right to take subsequent action.
diff --git a/poky/meta/files/common-licenses/Zed b/poky/meta/files/common-licenses/Zed
new file mode 100644
index 000000000..5f7cd2cc0
--- /dev/null
+++ b/poky/meta/files/common-licenses/Zed
@@ -0,0 +1,3 @@
+(c) Jim Davies, January 1995
+You may copy and distribute this file freely. Any queries and complaints should be forwarded to Jim.Davies@comlab.ox.ac.uk.
+If you make any changes to this file, please do not distribute the results under the name `zed-csp.sty'.
diff --git a/poky/meta/files/common-licenses/Zend-2.0 b/poky/meta/files/common-licenses/Zend-2.0
new file mode 100644
index 000000000..c9b5144e1
--- /dev/null
+++ b/poky/meta/files/common-licenses/Zend-2.0
@@ -0,0 +1,18 @@
+The Zend Engine License, version 2.00
+Copyright (c) 1999-2002 Zend Technologies Ltd. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, is permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ 3. The names "Zend" and "Zend Engine" must not be used to endorse or promote products derived from this software without prior permission from Zend Technologies Ltd. For written permission, please contact license@zend.com.
+
+ 4. Zend Technologies Ltd. may publish revised and/or new versions of the license from time to time. Each version will be given a distinguishing version number. Once covered code has been published under a particular version of the license, you may always continue to use it under the terms of that version. You may also choose to use such covered code under the terms of any subsequent version of the license published by Zend Technologies Ltd. No one other than Zend Technologies Ltd. has the right to modify the terms applicable to covered code created under this License.
+
+ 5. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes the Zend Engine, freely available at http://www.zend.com"
+
+ 6. All advertising materials mentioning features or use of this software must display the following acknowledgment: "The Zend Engine is freely available at http://www.zend.com"
+
+THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZEND TECHNOLOGIES LTD. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/common-licenses/Zimbra-1.4 b/poky/meta/files/common-licenses/Zimbra-1.4
new file mode 100644
index 000000000..868e4d878
--- /dev/null
+++ b/poky/meta/files/common-licenses/Zimbra-1.4
@@ -0,0 +1,47 @@
+Zimbra Public License, Version 1.4 (ZPL)
+
+This Zimbra Public License (this “Agreement”) is a legal agreement that describes the terms under which Zimbra, Inc., a Texas corporation (“Zimbra”) will provide software to you via download or otherwise (“Software”). By using the Software, you, an individual or an entity (“You”) agree to the terms of this Agreement.
+
+In consideration of the mutual promises and upon the terms and conditions set forth below, the parties agree as follows:
+
+1. Grant of Copyright License
+
+ 1.1 - Subject to the terms and conditions of this Agreement, Zimbra hereby grants to You, under any and all of its copyright interest in and to the Software, a royalty-free, non-exclusive, non-transferable license to copy, modify, compile, execute, and distribute the Software and Modifications. For the purposes of this Agreement, any change to, addition to, or abridgement of the Software made by You is a “Modification;” however, any file You add to the Software that does not contain any part of the Software is not a “Modification.”
+
+ 1.2 - If You are an individual acting on behalf of a corporation or other entity, Your use of the Software or any Modification is subject to Your having the authority to bind such corporation or entity to this Agreement. Providing copies to persons within such corporation or entity is not considered distribution for purposes of this Agreement.
+
+ 1.3 - For the Software or any Modification You distribute in source code format, You must do so only under the terms of this Agreement, and You must include a complete copy of this Agreement with Your distribution. With respect to any Modification You distribute in source code format, the terms of this Agreement will apply to You in the same way those terms apply to Zimbra with respect to the Software. In other words, when You are distributing Modifications under this Agreement, You “stand in the shoes” of Zimbra in terms of the rights You grant and how the terms and conditions apply to You and the licensees of Your Modifications. Notwithstanding the foregoing, when You “stand in the shoes” of Zimbra, You are not subject to the jurisdiction provision under Section 7, which requires all disputes under this Agreement to be subject to the jurisdiction of federal or state courts of Northern Texas.
+
+ 1.4 - For the Software or any Modification You distribute in compiled or object code format, You must also provide recipients with access to the Software or Modification in source code format along with a complete copy of this Agreement. The distribution of the Software or Modifications in compiled or object code format may be under a license of Your choice, provided that You are in compliance with the terms of this Agreement. In addition, You must make absolutely clear that any license terms applying to such Software or Modification that differ from this Agreement are offered by You alone and not by Zimbra, and that such license does not restrict recipients from exercising rights in the source code to the Software granted by Zimbra under this Agreement or rights in the source code to any Modification granted by You as described in Section 1.3.
+
+ 1.5 - This Agreement does not limit Your right to distribute files that are entirely Your own work (i.e., which do not incorporate any portion of the Software and are not Modifications) under any terms You choose.
+
+2. Support
+Zimbra has no obligation to provide technical support or updates to You. Nothing in this Agreement requires Zimbra to enter into any license with You for any other edition of the Software.
+
+3. Intellectual Property Rights
+
+ 3.1 - Except for the license expressly granted under copyright in Section 1.1, no rights, licenses or forbearances are granted or may arise in relation to this Agreement whether expressly, by implication, exhaustion, estoppel or otherwise. All rights, including all intellectual property rights, that are not expressly granted under this Agreement are hereby reserved.
+
+ 3.2 - In any copy of the Software or in any Modification you create, You must retain and reproduce any and all copyright, patent, trademark, and attribution notices that are included in the Software in the same form as they appear in the Software. This includes the preservation of attribution notices in the form of trademarks or logos that exist within a user interface of the Software.
+
+ 3.3 - This license does not grant You rights to use any party’s name, logo, or trademarks, except solely as necessary to comply with Section 3.2.
+
+4. Disclaimer of Warranties
+THE SOFTWARE IS PROVIDED “AS IS” AND WITHOUT WARRANTY OF ANY KIND. ZIMBRA MAKES NO WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING OR RELATING TO THE SOFTWARE. SPECIFICALLY, ZIMBRA DOES NOT WARRANT THAT THE SOFTWARE WILL BE ERROR FREE OR WILL PERFORM IN AN UNINTERRUPTED MANNER. TO THE GREATEST EXTENT ALLOWED BY LAW, ZIMBRA SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (EVEN IF ZIMBRA HAD BEEN INFORMED OF SUCH PURPOSE), AND NONINFRINGEMENT WITH RESPECT TO THE SOFTWARE, ANY MODIFICATIONS THERETO, AND WITH RESPECT TO THE USE OF THE FOREGOING.
+
+5. Limitation of Liability
+IN NO EVENT WILL ZIMBRA BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING WITHOUT LIMITATION LOSS OF PROFITS, LOSS OF USE, BUSINESS INTERRUPTION, LOSS OF DATA, AND COST OF COVER) IN CONNECTION WITH OR ARISING OUT OF OR RELATING TO THE FURNISHING, PERFORMANCE, OR USE OF THE SOFTWARE OR ANY OTHER RIGHTS GRANTED HEREUNDER, WHETHER ALLEGED AS A BREACH OF CONTRACT OR TORTIOUS CONDUCT, INCLUDING NEGLIGENCE, AND EVEN IF ZIMBRA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+6. Term and Termination
+
+ 6.1 - This Agreement will continue in effect unless and until terminated earlier pursuant to this Section 6.
+
+ 6.2 - In the event You violate the terms of this Agreement, Zimbra may terminate this Agreement.
+
+ 6.3 - All licenses granted hereunder shall terminate upon the termination of this Agreement. Termination will be in addition to any rights and remedies available to Zimbra at law or equity or under this Agreement.
+
+ 6.4 - Termination of this Agreement will not affect the provisions regarding reservation of rights (Section 3.1), provisions disclaiming or limiting Zimbra’s liability (Sections 4 and 5), Termination (Section 6), or Miscellaneous (Section 7), which provisions will survive termination of this Agreement.
+
+7. Miscellaneous
+This Agreement contains the entire agreement of the parties with respect to the subject matter of this Agreement and supersedes all previous communications, representations, understandings, and agreements, either oral or written, between the parties with respect to said subject matter. The relationship of the parties hereunder is that of independent contractors, and this Agreement will not be construed as creating an agency, partnership, joint venture, or any other form of legal association between the parties. If any term, condition, or provision in this Agreement is found to be invalid, unlawful, or unenforceable to any extent, this Agreement will be construed in a manner that most closely effectuates the intent of this Agreement. Such invalid term, condition or provision will be severed from the remaining terms, conditions, and provisions, which will continue to be valid and enforceable to the fullest extent permitted by law. This Agreement will be interpreted and construed in accordance with the laws of the State of Delaware and the United States of America, without regard to conflict of law principles. The U.N. Convention on Contracts for the International Sale of Goods shall not apply to this Agreement. All disputes arising out of this Agreement involving Zimbra or any of its parents or subsidiaries shall be subject to the jurisdiction of the federal or state courts of Northern Texas, with venue lying in Dallas County, Texas. No rights may be assigned, no obligations may be delegated, and this Agreement may not be transferred by You, in whole or in part, whether voluntary or by operation of law, including by way of sale of assets, merger, or consolidation, without the prior written consent of Zimbra, and any purported assignment, delegation, or transfer without such consent shall be void ab initio. Any waiver of the provisions of this Agreement or of a party’s rights or remedies under this Agreement must be in writing to be effective. Failure, neglect, or delay by a party to enforce the provisions of this Agreement or its rights or remedies at any time will not be construed or be deemed to be a waiver of such party’s rights under this Agreement and will not in any way affect the validity of the whole or any part of this Agreement or prejudice such party’s right to take subsequent action.
diff --git a/poky/meta/files/common-licenses/blessing b/poky/meta/files/common-licenses/blessing
new file mode 100644
index 000000000..7a1b711a6
--- /dev/null
+++ b/poky/meta/files/common-licenses/blessing
@@ -0,0 +1,5 @@
+The author disclaims copyright to this source code. In place of a legal notice, here is a blessing:
+
+May you do good and not evil.
+May you find forgiveness for yourself and forgive others.
+May you share freely, never taking more than you give.
diff --git a/poky/meta/files/common-licenses/bzip2-1.0.5 b/poky/meta/files/common-licenses/bzip2-1.0.5
new file mode 100644
index 000000000..a6957df12
--- /dev/null
+++ b/poky/meta/files/common-licenses/bzip2-1.0.5
@@ -0,0 +1,18 @@
+Version 1.0.5 of 10 December 2007
+
+Copyright © 1996-2007 Julian Seward
+
+This program, bzip2, the associated library libbzip2, and all documentation, are copyright © 1996-2007 Julian Seward. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ • The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+
+ • Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+
+ • The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+PATENTS: To the best of my knowledge, bzip2 and libbzip2 do not use any patented algorithms. However, I do not have the resources to carry out a patent search. Therefore I cannot give any guarantee of the above statement.
diff --git a/poky/meta/files/common-licenses/copyleft-next-0.3.0 b/poky/meta/files/common-licenses/copyleft-next-0.3.0
new file mode 100644
index 000000000..a66d5bf5e
--- /dev/null
+++ b/poky/meta/files/common-licenses/copyleft-next-0.3.0
@@ -0,0 +1,219 @@
+ copyleft-next 0.3.0 ("this License")
+ Release date: 2013-05-16
+
+1. License Grants; No Trademark License
+
+ Subject to the terms of this License, I grant You:
+
+ a) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable
+ copyright license, to reproduce, Distribute, prepare derivative works
+ of, publicly perform and publicly display My Work.
+
+ b) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable
+ patent license under Licensed Patents to make, have made, use, sell,
+ offer for sale, and import Covered Works.
+
+ This License does not grant any rights in My name, trademarks, service
+ marks, or logos.
+
+2. Distribution: General Conditions
+
+ You may Distribute Covered Works, provided that You (i) inform
+ recipients how they can obtain a copy of this License; (ii) satisfy the
+ applicable conditions of sections 3 through 6; and (iii) preserve all
+ Legal Notices contained in My Work (to the extent they remain
+ pertinent). "Legal Notices" means copyright notices, license notices,
+ license texts, and author attributions, but does not include logos,
+ other graphical images, trademarks or trademark legends.
+
+3. Conditions for Distributing Derived Works; Outbound GPL Compatibility
+
+ If You Distribute a Derived Work, You must license the entire Derived
+ Work as a whole under this License, with prominent notice of such
+ licensing. This condition may not be avoided through such means as
+ separate Distribution of portions of the Derived Work. You may
+ additionally license the Derived Work under the GPL, so that the
+ recipient may further Distribute the Derived Work under either this
+ License or the GPL.
+
+4. Condition Against Further Restrictions; Inbound License Compatibility
+
+ When Distributing a Covered Work, You may not impose further
+ restrictions on the exercise of rights in the Covered Work granted under
+ this License. This condition is not excused merely because such
+ restrictions result from Your compliance with conditions or obligations
+ extrinsic to this License (such as a court order or an agreement with a
+ third party).
+
+ However, You may Distribute a Covered Work incorporating material
+ governed by a license that is both OSI-Approved and FSF-Free as of the
+ release date of this License, provided that Your Distribution complies
+ with such other license.
+
+5. Conditions for Distributing Object Code
+
+ You may Distribute an Object Code form of a Covered Work, provided that
+ you accompany the Object Code with a URL through which the Corresponding
+ Source is made available, at no charge, by some standard or customary
+ means of providing network access to source code.
+
+ If you Distribute the Object Code in a physical product or tangible
+ storage medium ("Product"), the Corresponding Source must be available
+ through such URL for two years from the date of Your most recent
+ Distribution of the Object Code in the Product. However, if the Product
+ itself contains or is accompanied by the Corresponding Source (made
+ available in a customarily accessible manner), You need not also comply
+ with the first paragraph of this section.
+
+ Each recipient of the Covered Work from You is an intended third-party
+ beneficiary of this License solely as to this section 5, with the right
+ to enforce its terms.
+
+6. Symmetrical Licensing Condition for Upstream Contributions
+
+ If You Distribute a work to Me specifically for inclusion in or
+ modification of a Covered Work (a "Patch"), and no explicit licensing
+ terms apply to the Patch, You license the Patch under this License, to
+ the extent of Your copyright in the Patch. This condition does not
+ negate the other conditions of this License, if applicable to the Patch.
+
+7. Nullification of Copyleft/Proprietary Dual Licensing
+
+ If I offer to license, for a fee, a Covered Work under terms other than
+ a license that is OSI-Approved or FSF-Free as of the release date of this
+ License or a numbered version of copyleft-next released by the
+ Copyleft-Next Project, then the license I grant You under section 1 is no
+ longer subject to the conditions in sections 2 through 5.
+
+8. Copyleft Sunset
+
+ The conditions in sections 2 through 5 no longer apply once fifteen
+ years have elapsed from the date of My first Distribution of My Work
+ under this License.
+
+9. Pass-Through
+
+ When You Distribute a Covered Work, the recipient automatically receives
+ a license to My Work from Me, subject to the terms of this License.
+
+10. Termination
+
+ Your license grants under section 1 are automatically terminated if You
+
+ a) fail to comply with the conditions of this License, unless You cure
+ such noncompliance within thirty days after becoming aware of it, or
+
+ b) initiate a patent infringement litigation claim (excluding
+ declaratory judgment actions, counterclaims, and cross-claims)
+ alleging that any part of My Work directly or indirectly infringes
+ any patent.
+
+ Termination of Your license grants extends to all copies of Covered
+ Works You subsequently obtain. Termination does not terminate the
+ rights of those who have received copies or rights from You subject to
+ this License.
+
+ To the extent permission to make copies of a Covered Work is necessary
+ merely for running it, such permission is not terminable.
+
+11. Later License Versions
+
+ The Copyleft-Next Project may release new versions of copyleft-next,
+ designated by a distinguishing version number ("Later Versions").
+ Unless I explicitly remove the option of Distributing Covered Works
+ under Later Versions, You may Distribute Covered Works under any Later
+ Version.
+
+** 12. No Warranty **
+** **
+** My Work is provided "as-is", without warranty. You bear the risk **
+** of using it. To the extent permitted by applicable law, each **
+** Distributor of My Work excludes the implied warranties of title, **
+** merchantability, fitness for a particular purpose and **
+** non-infringement. **
+
+** 13. Limitation of Liability **
+** **
+** To the extent permitted by applicable law, in no event will any **
+** Distributor of My Work be liable to You for any damages **
+** whatsoever, whether direct, indirect, special, incidental, or **
+** consequential damages, whether arising under contract, tort **
+** (including negligence), or otherwise, even where the Distributor **
+** knew or should have known about the possibility of such damages. **
+
+14. Severability
+
+ The invalidity or unenforceability of any provision of this License
+ does not affect the validity or enforceability of the remainder of
+ this License. Such provision is to be reformed to the minimum extent
+ necessary to make it valid and enforceable.
+
+15. Definitions
+
+ "Copyleft-Next Project" means the project that maintains the source
+ code repository at <https://gitorious.org/copyleft-next/> as of the
+ release date of this License.
+
+ "Corresponding Source" of a Covered Work in Object Code form means (i)
+ the Source Code form of the Covered Work; (ii) all scripts,
+ instructions and similar information that are reasonably necessary for
+ a skilled developer to generate such Object Code from the Source Code
+ provided under (i); and (iii) a list clearly identifying all Separate
+ Works (other than those provided in compliance with (ii)) that were
+ specifically used in building and (if applicable) installing the
+ Covered Work (for example, a specified proprietary compiler including
+ its version number). Corresponding Source must be machine-readable.
+
+ "Covered Work" means My Work or a Derived Work.
+
+ "Derived Work" means a work of authorship that copies from, modifies,
+ adapts, is based on, is a derivative work of, transforms, translates or
+ contains all or part of My Work, such that copyright permission is
+ required. The following are not Derived Works: (i) Mere Aggregation;
+ (ii) a mere reproduction of My Work; and (iii) if My Work fails to
+ explicitly state an expectation otherwise, a work that merely makes
+ reference to My Work.
+
+ "Distribute" means to distribute, transfer or make a copy available to
+ someone else, such that copyright permission is required.
+
+ "Distributor" means Me and anyone else who Distributes a Covered Work.
+
+ "FSF-Free" means classified as 'free' by the Free Software Foundation.
+
+ "GPL" means a version of the GNU General Public License or the GNU
+ Affero General Public License.
+
+ "I"/"Me"/"My" refers to the individual or legal entity that places My
+ Work under this License. "You"/"Your" refers to the individual or legal
+ entity exercising rights in My Work under this License. A legal entity
+ includes each entity that controls, is controlled by, or is under
+ common control with such legal entity. "Control" means (a) the power to
+ direct the actions of such legal entity, whether by contract or
+ otherwise, or (b) ownership of more than fifty percent of the
+ outstanding shares or beneficial ownership of such legal entity.
+
+ "Licensed Patents" means all patent claims licensable royalty-free by
+ Me, now or in the future, that are necessarily infringed by making,
+ using, or selling My Work, and excludes claims that would be infringed
+ only as a consequence of further modification of My Work.
+
+ "Mere Aggregation" means an aggregation of a Covered Work with a
+ Separate Work.
+
+ "My Work" means the particular work of authorship I license to You
+ under this License.
+
+ "Object Code" means any form of a work that is not Source Code.
+
+ "OSI-Approved" means approved as 'Open Source' by the Open Source
+ Initiative.
+
+ "Separate Work" means a work that is separate from and independent of a
+ particular Covered Work and is not by its nature an extension or
+ enhancement of the Covered Work, and/or a runtime library, standard
+ library or similar component that is used to generate an Object Code
+ form of a Covered Work.
+
+ "Source Code" means the preferred form of a work for making
+ modifications to it.
diff --git a/poky/meta/files/common-licenses/copyleft-next-0.3.1 b/poky/meta/files/common-licenses/copyleft-next-0.3.1
new file mode 100644
index 000000000..21c87270f
--- /dev/null
+++ b/poky/meta/files/common-licenses/copyleft-next-0.3.1
@@ -0,0 +1,220 @@
+ copyleft-next 0.3.1 ("this License")
+ Release date: 2016-04-29
+
+1. License Grants; No Trademark License
+
+ Subject to the terms of this License, I grant You:
+
+ a) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable
+ copyright license, to reproduce, Distribute, prepare derivative works
+ of, publicly perform and publicly display My Work.
+
+ b) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable
+ patent license under Licensed Patents to make, have made, use, sell,
+ offer for sale, and import Covered Works.
+
+ This License does not grant any rights in My name, trademarks, service
+ marks, or logos.
+
+2. Distribution: General Conditions
+
+ You may Distribute Covered Works, provided that You (i) inform
+ recipients how they can obtain a copy of this License; (ii) satisfy the
+ applicable conditions of sections 3 through 6; and (iii) preserve all
+ Legal Notices contained in My Work (to the extent they remain
+ pertinent). "Legal Notices" means copyright notices, license notices,
+ license texts, and author attributions, but does not include logos,
+ other graphical images, trademarks or trademark legends.
+
+3. Conditions for Distributing Derived Works; Outbound GPL Compatibility
+
+ If You Distribute a Derived Work, You must license the entire Derived
+ Work as a whole under this License, with prominent notice of such
+ licensing. This condition may not be avoided through such means as
+ separate Distribution of portions of the Derived Work.
+
+ If the Derived Work includes material licensed under the GPL, You may
+ instead license the Derived Work under the GPL.
+
+4. Condition Against Further Restrictions; Inbound License Compatibility
+
+ When Distributing a Covered Work, You may not impose further
+ restrictions on the exercise of rights in the Covered Work granted under
+ this License. This condition is not excused merely because such
+ restrictions result from Your compliance with conditions or obligations
+ extrinsic to this License (such as a court order or an agreement with a
+ third party).
+
+ However, You may Distribute a Covered Work incorporating material
+ governed by a license that is both OSI-Approved and FSF-Free as of the
+ release date of this License, provided that compliance with such
+ other license would not conflict with any conditions stated in other
+ sections of this License.
+
+5. Conditions for Distributing Object Code
+
+ You may Distribute an Object Code form of a Covered Work, provided that
+ you accompany the Object Code with a URL through which the Corresponding
+ Source is made available, at no charge, by some standard or customary
+ means of providing network access to source code.
+
+ If you Distribute the Object Code in a physical product or tangible
+ storage medium ("Product"), the Corresponding Source must be available
+ through such URL for two years from the date of Your most recent
+ Distribution of the Object Code in the Product. However, if the Product
+ itself contains or is accompanied by the Corresponding Source (made
+ available in a customarily accessible manner), You need not also comply
+ with the first paragraph of this section.
+
+ Each direct and indirect recipient of the Covered Work from You is an
+ intended third-party beneficiary of this License solely as to this
+ section 5, with the right to enforce its terms.
+
+6. Symmetrical Licensing Condition for Upstream Contributions
+
+ If You Distribute a work to Me specifically for inclusion in or
+ modification of a Covered Work (a "Patch"), and no explicit licensing
+ terms apply to the Patch, You license the Patch under this License, to
+ the extent of Your copyright in the Patch. This condition does not
+ negate the other conditions of this License, if applicable to the Patch.
+
+7. Nullification of Copyleft/Proprietary Dual Licensing
+
+ If I offer to license, for a fee, a Covered Work under terms other than
+ a license that is OSI-Approved or FSF-Free as of the release date of this
+ License or a numbered version of copyleft-next released by the
+ Copyleft-Next Project, then the license I grant You under section 1 is no
+ longer subject to the conditions in sections 3 through 5.
+
+8. Copyleft Sunset
+
+ The conditions in sections 3 through 5 no longer apply once fifteen
+ years have elapsed from the date of My first Distribution of My Work
+ under this License.
+
+9. Pass-Through
+
+ When You Distribute a Covered Work, the recipient automatically receives
+ a license to My Work from Me, subject to the terms of this License.
+
+10. Termination
+
+ Your license grants under section 1 are automatically terminated if You
+
+ a) fail to comply with the conditions of this License, unless You cure
+ such noncompliance within thirty days after becoming aware of it, or
+
+ b) initiate a patent infringement litigation claim (excluding
+ declaratory judgment actions, counterclaims, and cross-claims)
+ alleging that any part of My Work directly or indirectly infringes
+ any patent.
+
+ Termination of Your license grants extends to all copies of Covered
+ Works You subsequently obtain. Termination does not terminate the
+ rights of those who have received copies or rights from You subject to
+ this License.
+
+ To the extent permission to make copies of a Covered Work is necessary
+ merely for running it, such permission is not terminable.
+
+11. Later License Versions
+
+ The Copyleft-Next Project may release new versions of copyleft-next,
+ designated by a distinguishing version number ("Later Versions").
+ Unless I explicitly remove the option of Distributing Covered Works
+ under Later Versions, You may Distribute Covered Works under any Later
+ Version.
+
+** 12. No Warranty **
+** **
+** My Work is provided "as-is", without warranty. You bear the risk **
+** of using it. To the extent permitted by applicable law, each **
+** Distributor of My Work excludes the implied warranties of title, **
+** merchantability, fitness for a particular purpose and **
+** non-infringement. **
+
+** 13. Limitation of Liability **
+** **
+** To the extent permitted by applicable law, in no event will any **
+** Distributor of My Work be liable to You for any damages **
+** whatsoever, whether direct, indirect, special, incidental, or **
+** consequential damages, whether arising under contract, tort **
+** (including negligence), or otherwise, even where the Distributor **
+** knew or should have known about the possibility of such damages. **
+
+14. Severability
+
+ The invalidity or unenforceability of any provision of this License
+ does not affect the validity or enforceability of the remainder of
+ this License. Such provision is to be reformed to the minimum extent
+ necessary to make it valid and enforceable.
+
+15. Definitions
+
+ "Copyleft-Next Project" means the project that maintains the source
+ code repository at <https://github.com/copyleft-next/copyleft-next.git/>
+ as of the release date of this License.
+
+ "Corresponding Source" of a Covered Work in Object Code form means (i)
+ the Source Code form of the Covered Work; (ii) all scripts,
+ instructions and similar information that are reasonably necessary for
+ a skilled developer to generate such Object Code from the Source Code
+ provided under (i); and (iii) a list clearly identifying all Separate
+ Works (other than those provided in compliance with (ii)) that were
+ specifically used in building and (if applicable) installing the
+ Covered Work (for example, a specified proprietary compiler including
+ its version number). Corresponding Source must be machine-readable.
+
+ "Covered Work" means My Work or a Derived Work.
+
+ "Derived Work" means a work of authorship that copies from, modifies,
+ adapts, is based on, is a derivative work of, transforms, translates or
+ contains all or part of My Work, such that copyright permission is
+ required. The following are not Derived Works: (i) Mere Aggregation;
+ (ii) a mere reproduction of My Work; and (iii) if My Work fails to
+ explicitly state an expectation otherwise, a work that merely makes
+ reference to My Work.
+
+ "Distribute" means to distribute, transfer or make a copy available to
+ someone else, such that copyright permission is required.
+
+ "Distributor" means Me and anyone else who Distributes a Covered Work.
+
+ "FSF-Free" means classified as 'free' by the Free Software Foundation.
+
+ "GPL" means a version of the GNU General Public License or the GNU
+ Affero General Public License.
+
+ "I"/"Me"/"My" refers to the individual or legal entity that places My
+ Work under this License. "You"/"Your" refers to the individual or legal
+ entity exercising rights in My Work under this License. A legal entity
+ includes each entity that controls, is controlled by, or is under
+ common control with such legal entity. "Control" means (a) the power to
+ direct the actions of such legal entity, whether by contract or
+ otherwise, or (b) ownership of more than fifty percent of the
+ outstanding shares or beneficial ownership of such legal entity.
+
+ "Licensed Patents" means all patent claims licensable royalty-free by
+ Me, now or in the future, that are necessarily infringed by making,
+ using, or selling My Work, and excludes claims that would be infringed
+ only as a consequence of further modification of My Work.
+
+ "Mere Aggregation" means an aggregation of a Covered Work with a
+ Separate Work.
+
+ "My Work" means the particular work of authorship I license to You
+ under this License.
+
+ "Object Code" means any form of a work that is not Source Code.
+
+ "OSI-Approved" means approved as 'Open Source' by the Open Source
+ Initiative.
+
+ "Separate Work" means a work that is separate from and independent of a
+ particular Covered Work and is not by its nature an extension or
+ enhancement of the Covered Work, and/or a runtime library, standard
+ library or similar component that is used to generate an Object Code
+ form of a Covered Work.
+
+ "Source Code" means the preferred form of a work for making
+ modifications to it.
diff --git a/poky/meta/files/common-licenses/curl b/poky/meta/files/common-licenses/curl
new file mode 100644
index 000000000..dd333ab2e
--- /dev/null
+++ b/poky/meta/files/common-licenses/curl
@@ -0,0 +1,10 @@
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright (c) 1996 - 2015, Daniel Stenberg, <daniel@haxx.se>.
+All rights reserved.
+
+Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.
diff --git a/poky/meta/files/common-licenses/diffmark b/poky/meta/files/common-licenses/diffmark
new file mode 100644
index 000000000..02d3b5013
--- /dev/null
+++ b/poky/meta/files/common-licenses/diffmark
@@ -0,0 +1,2 @@
+1. you can do what you want with it
+2. I refuse any responsibility for the consequences
diff --git a/poky/meta/files/common-licenses/dvipdfm b/poky/meta/files/common-licenses/dvipdfm
new file mode 100644
index 000000000..b73cb48e4
--- /dev/null
+++ b/poky/meta/files/common-licenses/dvipdfm
@@ -0,0 +1 @@
+A modified version of this file may be distributed, but it should be distributed with a *different* name. Changed files must be distributed *together with a complete and unchanged* distribution of these files.
diff --git a/poky/meta/files/common-licenses/eGenix b/poky/meta/files/common-licenses/eGenix
new file mode 100644
index 000000000..9b4d30128
--- /dev/null
+++ b/poky/meta/files/common-licenses/eGenix
@@ -0,0 +1,40 @@
+EGENIX.COM PUBLIC LICENSE AGREEMENT
+Version 1.1.0
+
+This license agreement is based on the Python CNRI License Agreement, a widely accepted open- source license.
+
+1. Introduction
+This "License Agreement" is between eGenix.com Software, Skills and Services GmbH ("eGenix.com"), having an office at Pastor-Loeh-Str. 48, D-40764 Langenfeld, Germany, and the Individual or Organization ("Licensee") accessing and otherwise using this software in source or binary form and its associated documentation ("the Software").
+
+2. License
+Subject to the terms and conditions of this eGenix.com Public License Agreement, eGenix.com hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use the Software alone or in any derivative version, provided, however, that the eGenix.com Public License Agreement is retained in the Software, or in any derivative version of the Software prepared by Licensee.
+
+3. NO WARRANTY
+eGenix.com is making the Software available to Licensee on an "AS IS" basis. SUBJECT TO ANY STATUTORY WARRANTIES WHICH CAN NOT BE EXCLUDED, EGENIX.COM MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, EGENIX.COM MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. LIMITATION OF LIABILITY
+EGENIX.COM SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE EXCLUSION OR LIMITATION MAY NOT APPLY TO LICENSEE.
+
+5. Termination
+This License Agreement will automatically terminate upon a material breach of its terms and conditions.
+
+6. Third Party Rights
+Any software or documentation in source or binary form provided along with the Software that is associated with a separate license agreement is licensed to Licensee under the terms of that license agreement. This License Agreement does not apply to those portions of the Software. Copies of the third party licenses are included in the Software Distribution.
+
+7. General
+Nothing in this License Agreement affects any statutory rights of consumers that cannot be waived or limited by contract.
+
+Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between eGenix.com and Licensee.
+
+If any provision of this License Agreement shall be unlawful, void, or for any reason unenforceable, such provision shall be modified to the extent necessary to render it enforceable without losing its intent, or, if no such modification is possible, be severed from this License Agreement and shall not affect the validity and enforceability of the remaining provisions of this License Agreement.
+
+This License Agreement shall be governed by and interpreted in all respects by the law of Germany, excluding conflict of law provisions. It shall not be governed by the United Nations Convention on Contracts for International Sale of Goods. This License Agreement does not grant permission to use eGenix.com trademarks or trade names in a trademark sense to endorse or promote products or services of Licensee, or any third party.
+
+The controlling language of this License Agreement is English. If Licensee has received a translation into another language, it has been provided for Licensee's convenience only.
+
+8. Agreement
+By downloading, copying, installing or otherwise using the Software, Licensee agrees to be bound by the terms and conditions of this License Agreement. For question regarding this License Agreement, please write to:
+ eGenix.com Software, Skills and Services GmbH
+ Pastor-Loeh-Str. 48
+ D-40764 Langenfeld
+ Germany
diff --git a/poky/meta/files/common-licenses/etalab-2.0 b/poky/meta/files/common-licenses/etalab-2.0
new file mode 100644
index 000000000..2ba197835
--- /dev/null
+++ b/poky/meta/files/common-licenses/etalab-2.0
@@ -0,0 +1,179 @@
+LICENCE OUVERTE / OPEN LICENCE
+===================================================================
+
+- Version 2.0
+- Avril 2017
+
+
+« RÉUTILISATION » DE L’« INFORMATION » SOUS CETTE LICENCE
+-------------------------------------------------------------------
+
+Le « Concédant » concède au « Réutilisateur » un droit non exclusif et gratuit
+de libre « Réutilisation » de l’« Information » objet de la présente licence,
+à des fins commerciales ou non, dans le monde entier et pour une durée
+illimitée, dans les conditions exprimées ci-dessous.
+
+Le « Réutilisateur » est libre de réutiliser l’« Information » :
+
+- de la reproduire, la copier,
+- de l’adapter, la modifier, l’extraire et la transformer, pour créer des
+« Informations dérivées », des produits ou des services,
+- de la communiquer, la diffuser, la redistribuer, la publier et la transmettre,
+- de l’exploiter à titre commercial, par exemple en la combinant avec d’autres
+informations, ou en l’incluant dans son propre produit ou application.
+
+Sous réserve de :
+
+- mentionner la paternité de l’« Information » : sa source (au moins le nom du
+« Concédant ») et la date de dernière mise à jour de l’« Information »
+réutilisée.
+
+Le « Réutilisateur » peut notamment s’acquitter de cette condition en renvoyant,
+par un lien hypertexte, vers la source de « l’Information » et assurant une
+mention effective de sa paternité.
+
+Par exemple :
+
+« Ministère de xxx - Données originales téléchargées sur
+http://www.data.gouv.fr/fr/datasets/xxx/, mise à jour du 14 février 2017 ».
+
+Cette mention de paternité ne confère aucun caractère officiel à la
+« Réutilisation » de l’« Information », et ne doit pas suggérer une quelconque
+reconnaissance ou caution par le « Concédant », ou par toute autre entité
+publique, du « Réutilisateur » ou de sa « Réutilisation ».
+
+
+« DONNÉES À CARACTÈRE PERSONNEL »
+-------------------------------------------------------------------
+
+L’« Information » mise à disposition peut contenir des « Données à caractère
+personnel » pouvant faire l’objet d’une « Réutilisation ». Si tel est le cas,
+le « Concédant » informe le « Réutilisateur » de leur présence.
+
+L’« Information » peut être librement réutilisée, dans le cadre des droits
+accordés par la présente licence, à condition de respecter le cadre légal
+relatif à la protection des données à caractère personnel.
+
+
+« DROITS DE PROPRIÉTÉ INTELLECTUELLE »
+-------------------------------------------------------------------
+
+Il est garanti au « Réutilisateur » que les éventuels « Droits de propriété
+intellectuelle » détenus par des tiers ou par le « Concédant » sur
+l’« Information » ne font pas obstacle aux droits accordés par la présente
+licence.
+
+Lorsque le « Concédant » détient des « Droits de propriété intellectuelle »
+cessibles sur l’« Information », il les cède au « Réutilisateur » de façon non
+exclusive, à titre gracieux, pour le monde entier, pour toute la durée des
+« Droits de propriété intellectuelle », et le « Réutilisateur » peut faire tout
+usage de l’« Information » conformément aux libertés et aux conditions définies
+par la présente licence.
+
+
+RESPONSABILITÉ
+-------------------------------------------------------------------
+
+L’« Information » est mise à disposition telle que produite ou reçue par le
+« Concédant », sans autre garantie expresse ou tacite que celles prévues par la
+présente licence. L’absence de défauts ou d’erreurs éventuellement contenues
+dans l’« Information », comme la fourniture continue de l’« Information » n’est
+pas garantie par le « Concédant ». Il ne peut être tenu pour responsable de
+toute perte, préjudice ou dommage de quelque sorte causé à des tiers du fait de
+la « Réutilisation ».
+
+Le « Réutilisateur » est seul responsable de la « Réutilisation » de
+l’« Information ».
+
+La « Réutilisation » ne doit pas induire en erreur des tiers quant au contenu
+de l’« Information », sa source et sa date de mise à jour.
+
+
+DROIT APPLICABLE
+-------------------------------------------------------------------
+
+La présente licence est régie par le droit français.
+
+
+COMPATIBILITÉ DE LA PRÉSENTE LICENCE
+-------------------------------------------------------------------
+
+La présente licence a été conçue pour être compatible avec toute licence libre
+qui exige au moins la mention de paternité et notamment avec la version
+antérieure de la présente licence ainsi qu’avec les licences :
+
+- « Open Government Licence » (OGL) du Royaume-Uni,
+- « Creative Commons Attribution » (CC-BY) de Creative Commons et
+- « Open Data Commons Attribution » (ODC-BY) de l’Open Knowledge Foundation.
+
+
+DÉFINITIONS
+-------------------------------------------------------------------
+
+Sont considérés, au sens de la présente licence comme :
+
+Le « Concédant » : toute personne concédant un droit de « Réutilisation » sur
+l’« Information » dans les libertés et les conditions prévues par la présente
+licence
+
+L’« Information » :
+
+- toute information publique figurant dans des documents communiqués ou publiés
+par une administration mentionnée au premier alinéa de l’article L.300-2 du
+CRPA;
+- toute information mise à disposition par toute personne selon les termes et
+conditions de la présente licence.
+
+La « Réutilisation » : l’utilisation de l’« Information » à d’autres fins que
+celles pour lesquelles elle a été produite ou reçue.
+
+Le « Réutilisateur »: toute personne qui réutilise les « Informations »
+conformément aux conditions de la présente licence.
+
+Des « Données à caractère personnel » : toute information se rapportant à une
+personne physique identifiée ou identifiable, pouvant être identifiée
+directement ou indirectement. Leur « Réutilisation » est subordonnée au respect
+du cadre juridique en vigueur.
+
+Une « Information dérivée » : toute nouvelle donnée ou information créées
+directement à partir de l’« Information » ou à partir d’une combinaison de
+l’« Information » et d’autres données ou informations non soumises à cette
+licence.
+
+Les « Droits de propriété intellectuelle » : tous droits identifiés comme tels
+par le Code de la propriété intellectuelle (notamment le droit d’auteur, droits
+voisins au droit d’auteur, droit sui generis des producteurs de bases de
+données…).
+
+
+À PROPOS DE CETTE LICENCE
+-------------------------------------------------------------------
+
+La présente licence a vocation à être utilisée par les administrations pour la
+réutilisation de leurs informations publiques. Elle peut également être
+utilisée par toute personne souhaitant mettre à disposition de
+l’« Information » dans les conditions définies par la présente licence.
+
+La France est dotée d’un cadre juridique global visant à une diffusion
+spontanée par les administrations de leurs informations publiques afin d’en
+permettre la plus large réutilisation.
+
+Le droit de la « Réutilisation » de l’« Information » des administrations est
+régi par le code des relations entre le public et l’administration (CRPA).
+
+Cette licence facilite la réutilisation libre et gratuite des informations
+publiques et figure parmi les licences qui peuvent être utilisées par
+l’administration en vertu du décret pris en application de l’article L.323-2
+du CRPA.
+
+Etalab est la mission chargée, sous l’autorité du Premier ministre, d’ouvrir le
+plus grand nombre de données publiques des administrations de l’Etat et de ses
+établissements publics. Elle a réalisé la Licence Ouverte pour faciliter la
+réutilisation libre et gratuite de ces informations publiques, telles que
+définies par l’article L321-1 du CRPA.
+
+Cette licence est la version 2.0 de la Licence Ouverte.
+
+Etalab se réserve la faculté de proposer de nouvelles versions de la Licence
+Ouverte. Cependant, les « Réutilisateurs » pourront continuer à réutiliser les
+informations qu’ils ont obtenues sous cette licence s’ils le souhaitent.
diff --git a/poky/meta/files/common-licenses/gnuplot b/poky/meta/files/common-licenses/gnuplot
new file mode 100644
index 000000000..10bfbd424
--- /dev/null
+++ b/poky/meta/files/common-licenses/gnuplot
@@ -0,0 +1,14 @@
+Copyright 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley
+
+Permission to use, copy, and distribute this software and its documentation for any purpose with or without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.
+
+Permission to modify the software is granted, but not the right to distribute the complete modified source code. Modifications are to be distributed as patches to the released version. Permission to distribute binaries produced by compiling modified sources is granted, provided you
+
+ 1. distribute the corresponding source modifications from the released version in the form of a patch file along with the binaries,
+ 2. add special version identification to distinguish your version in addition to the base release version number,
+ 3. provide your name and address as the primary contact for the support of your modified version, and
+ 4. retain our contact information in regard to use of the base software.
+
+Permission to distribute the released version of the source code along with corresponding source modifications in the form of a patch file is granted with same provisions 2 through 4 for binary distributions.
+
+This software is provided "as is" without express or implied warranty to the extent permitted by applicable law.
diff --git a/poky/meta/files/common-licenses/iMatix b/poky/meta/files/common-licenses/iMatix
new file mode 100644
index 000000000..7689d97b3
--- /dev/null
+++ b/poky/meta/files/common-licenses/iMatix
@@ -0,0 +1,39 @@
+The SFL License Agreement
+
+This license agreement covers your use of the iMatix STANDARD FUNCTION LIBRARY (SFL), its source code, documentation, and executable files, hereinafter referred to as "the Product".
+
+The Product is Copyright (c) 1991-2000 iMatix Corporation. You may use it and distribute it according to this following License Agreement. If you do not agree with these terms, please remove the Product from your system. By incorporating the Product in your work or distributing the Product to others you implicitly agree to these license terms.
+
+Statement Of Copyright
+
+The Product is, and remains, Copyright © 1991-2000 iMatix Corporation, with exception of specific copyrights as noted in the individual source files.
+
+Conditions Of Use
+
+You do not need to provide the source code for the Product as part of your product. However, you must do one of these things to comply with the Product License Agreement:
+
+ 1. Provide the source code for Product modules that you use, or
+ 2. Make your product freely available according to a license similar to the GNU General Public License, or the Perl Artistic License, or
+ 3. Add this phrase to the documentation for your product: "This product uses parts of the iMatix SFL, Copyright © 1991-2000 iMatix Corporation <http://www.imatix.com>".
+
+Rights Of Usage
+
+You may freely and at no cost use the Product in any project, commercial, academic, military, or private, so long as you respect the License Agreement. The License Agreement does not affect any software except the Product. In particular, any application that uses the Product does not itself fall under the License Agreement.
+
+You may modify any part of the Product, including sources and documentation, except this License Agreement, which you may not modify.
+
+You must clearly indicate any modifications at the start of each source file. The user of any modified Product code must know that the source file is not original.
+
+At your discretion, you may rewrite or reuse any part of the Product so that your derived code is not obviously part of the Product. This derived code does not fall under the Product License Agreement directly, but you must include a credit at the start of each source file indicating the original authorship and source of the code, and a statement of copyright as follows:"Parts copyright (c) 1991-2000 iMatix Corporation."
+
+Rights Of Distribution
+
+You may freely distribute the Product, or any subset of the Product, by any means. The License, in the form of the file called "LICENSE.TXT" must accompany any such distribution.
+
+You may charge a fee for distributing the Product, for providing a warranty on the Product, for making modifications to the Product, or for any other service provided in relation to the Product. You are not required to ask our permission for any of these activities.
+
+At no time will iMatix associate itself with any distribution of the Product except that supplied from the Internet site http://www.imatix.com.
+
+Disclaimer Of Warranty
+
+The Product is provided as free software, in the hope that it will be useful. It is provided "as-is", without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the Product is with you. Should the Product prove defective, the full cost of repair, servicing, or correction lies with you.
diff --git a/poky/meta/files/common-licenses/libpng-2.0 b/poky/meta/files/common-licenses/libpng-2.0
new file mode 100644
index 000000000..1cc8b0deb
--- /dev/null
+++ b/poky/meta/files/common-licenses/libpng-2.0
@@ -0,0 +1,33 @@
+PNG Reference Library License version 2
+---------------------------------------
+
+ * Copyright (c) 1995-2018 The PNG Reference Library Authors.
+ * Copyright (c) 2018 Cosmin Truta.
+ * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
+ * Copyright (c) 1996-1997 Andreas Dilger.
+ * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
+
+The software is supplied "as is", without warranty of any kind,
+express or implied, including, without limitation, the warranties
+of merchantability, fitness for a particular purpose, title, and
+non-infringement. In no even shall the Copyright owners, or
+anyone distributing the software, be liable for any damages or
+other liability, whether in contract, tort or otherwise, arising
+from, out of, or in connection with the software, or the use or
+other dealings in the software, even if advised of the possibility
+of such damage.
+
+Permission is hereby granted to use, copy, modify, and distribute
+this software, or portions hereof, for any purpose, without fee,
+subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you
+ must not claim that you wrote the original software. If you
+ use this software in a product, an acknowledgment in the product
+ documentation would be appreciated, but is not required.
+
+ 2. Altered source versions must be plainly marked as such, and must
+ not be misrepresented as being the original software.
+
+ 3. This Copyright notice may not be removed or altered from any
+ source or altered source distribution.
diff --git a/poky/meta/files/common-licenses/libselinux-1.0 b/poky/meta/files/common-licenses/libselinux-1.0
new file mode 100644
index 000000000..d38626891
--- /dev/null
+++ b/poky/meta/files/common-licenses/libselinux-1.0
@@ -0,0 +1,21 @@
+This library (libselinux) is public domain software, i.e. not copyrighted.
+
+Warranty Exclusion
+------------------
+You agree that this software is a
+non-commercially developed program that may contain "bugs" (as that
+term is used in the industry) and that it may not function as intended.
+The software is licensed "as is". NSA makes no, and hereby expressly
+disclaims all, warranties, express, implied, statutory, or otherwise
+with respect to the software, including noninfringement and the implied
+warranties of merchantability and fitness for a particular purpose.
+
+Limitation of Liability
+-----------------------
+In no event will NSA be liable for any damages, including loss of data,
+lost profits, cost of cover, or other special, incidental,
+consequential, direct or indirect damages arising from the software or
+the use thereof, however caused and on any theory of liability. This
+limitation will apply even if NSA has been advised of the possibility
+of such damage. You acknowledge that this is a reasonable allocation of
+risk.
diff --git a/poky/meta/files/common-licenses/libtiff b/poky/meta/files/common-licenses/libtiff
new file mode 100644
index 000000000..b11996b67
--- /dev/null
+++ b/poky/meta/files/common-licenses/libtiff
@@ -0,0 +1,8 @@
+Copyright (c) 1988-1997 Sam Leffler
+Copyright (c) 1991-1997 Silicon Graphics, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the names of Sam Leffler and Silicon Graphics may not be used in any advertising or publicity relating to the software without the specific, prior written permission of Sam Leffler and Silicon Graphics.
+
+THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/poky/meta/files/common-licenses/mpich2 b/poky/meta/files/common-licenses/mpich2
new file mode 100644
index 000000000..5c32b0ec1
--- /dev/null
+++ b/poky/meta/files/common-licenses/mpich2
@@ -0,0 +1,18 @@
+COPYRIGHT
+
+The following is a notice of limited availability of the code, and disclaimer which must be included in the prologue of the code and in all source listings of the code.
+
+Copyright Notice
++ 2002 University of Chicago
+
+Permission is hereby granted to use, reproduce, prepare derivative works, and to redistribute to others. This software was authored by:
+
+Argonne National Laboratory Group W. Gropp: (630) 252-4318; FAX: (630) 252-5986; e-mail: gropp@mcs.anl.gov E. Lusk: (630) 252-7852; FAX: (630) 252-5986; e-mail: lusk@mcs.anl.gov Mathematics and Computer Science Division Argonne National Laboratory, Argonne IL 60439
+
+GOVERNMENT LICENSE
+
+Portions of this material resulted from work developed under a U.S. Government Contract and are subject to the following license: the Government is granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable worldwide license in this computer software to reproduce, prepare derivative works, and perform publicly and display publicly.
+
+DISCLAIMER
+
+This computer code material was prepared, in part, as an account of work sponsored by an agency of the United States Government. Neither the United States, nor the University of Chicago, nor any of their employees, makes any warranty express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights.
diff --git a/poky/meta/files/common-licenses/psfrag b/poky/meta/files/common-licenses/psfrag
new file mode 100644
index 000000000..c5c3a7773
--- /dev/null
+++ b/poky/meta/files/common-licenses/psfrag
@@ -0,0 +1,5 @@
+psfrag.dtx
+Copyright (C) 1996 Craig Barratt, Michael C. Grant, and David Carlisle.
+All rights are reserved.
+
+This system is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Don't come complaining to us if you modify this file and it doesn't work! If this file is modified by anyone but the authors, those changes and their authors must be explicitly stated HERE.
diff --git a/poky/meta/files/common-licenses/psutils b/poky/meta/files/common-licenses/psutils
new file mode 100644
index 000000000..a42074185
--- /dev/null
+++ b/poky/meta/files/common-licenses/psutils
@@ -0,0 +1,29 @@
+PS Utilities Package
+
+The constituent files of this package listed below are copyright (C) 1991-1995 Angus J. C. Duggan.
+
+LICENSE Makefile.msc Makefile.nt Makefile.os2
+Makefile.unix README config.h descrip.mms
+epsffit.c epsffit.man extractres.man extractres.pl
+fixdlsrps.man fixdlsrps.pl fixfmps.man fixfmps.pl
+fixmacps.man fixmacps.pl fixpsditps.man fixpsditps.pl
+fixpspps.man fixpspps.pl fixscribeps.man fixscribeps.pl
+fixtpps.man fixtpps.pl fixwfwps.man fixwfwps.pl
+fixwpps.man fixwpps.pl fixwwps.man fixwwps.pl
+getafm getafm.man includeres.man includeres.pl
+maketext patchlev.h psbook.c psbook.man
+pserror.c pserror.h psmerge.man psmerge.pl
+psnup.c psnup.man psresize.c psresize.man
+psselect.c psselect.man psspec.c psspec.h
+pstops.c pstops.man psutil.c psutil.h
+showchar
+
+They may be copied and used for any purpose (including distribution as part of a for-profit product), provided:
+
+1) The original attribution of the programs is clearly displayed in the product and/or documentation, even if the programs are modified and/or renamed as part of the product.
+
+2) The original source code of the programs is provided free of charge (except for reasonable distribution costs). For a definition of reasonable distribution costs, see the Gnu General Public License or Larry Wall's Artistic License (provided with the Perl 4 kit). The GPL and Artistic License in NO WAY affect this license; they are merely used as examples of the spirit in which it is intended.
+
+3) These programs are provided "as-is". No warranty or guarantee of their fitness for any particular task is provided. Use of these programs is completely at your own risk.
+
+Basically, I don't mind how you use the programs so long as you acknowledge the author, and give people the originals if they want them.
diff --git a/poky/meta/files/common-licenses/tcl b/poky/meta/files/common-licenses/tcl
deleted file mode 100644
index d8049cd9e..000000000
--- a/poky/meta/files/common-licenses/tcl
+++ /dev/null
@@ -1,40 +0,0 @@
-This software is copyrighted by the Regents of the University of
-California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState
-Corporation and other parties. The following terms apply to all files
-associated with the software unless explicitly disclaimed in
-individual files.
-
-The authors hereby grant permission to use, copy, modify, distribute,
-and license this software and its documentation for any purpose, provided
-that existing copyright notices are retained in all copies and that this
-notice is included verbatim in any distributions. No written agreement,
-license, or royalty fee is required for any of the authorized uses.
-Modifications to this software may be copyrighted by their authors
-and need not follow the licensing terms described here, provided that
-the new terms are clearly indicated on the first page of each file where
-they apply.
-
-IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
-FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
-DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE
-IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
-NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
-MODIFICATIONS.
-
-GOVERNMENT USE: If you are acquiring this software on behalf of the
-U.S. government, the Government shall have only "Restricted Rights"
-in the software and related documentation as defined in the Federal
-Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you
-are acquiring the software on behalf of the Department of Defense, the
-software shall be classified as "Commercial Computer Software" and the
-Government shall have only "Restricted Rights" as defined in Clause
-252.227-7014 (b) (3) of DFARs. Notwithstanding the foregoing, the
-authors grant the U.S. Government and others acting in its behalf
-permission to use and distribute the software in accordance with the
-terms specified in this license.
diff --git a/poky/meta/files/common-licenses/vim b/poky/meta/files/common-licenses/vim
deleted file mode 100644
index 4aa818eb2..000000000
--- a/poky/meta/files/common-licenses/vim
+++ /dev/null
@@ -1,81 +0,0 @@
-VIM LICENSE
-
-I) There are no restrictions on distributing unmodified copies of Vim except
- that they must include this license text. You can also distribute
- unmodified parts of Vim, likewise unrestricted except that they must
- include this license text. You are also allowed to include executables
- that you made from the unmodified Vim sources, plus your own usage
- examples and Vim scripts.
-
-II) It is allowed to distribute a modified (or extended) version of Vim,
- including executables and/or source code, when the following four
- conditions are met:
- 1) This license text must be included unmodified.
- 2) The modified Vim must be distributed in one of the following five ways:
- a) If you make changes to Vim yourself, you must clearly describe in
- the distribution how to contact you. When the maintainer asks you
- (in any way) for a copy of the modified Vim you distributed, you
- must make your changes, including source code, available to the
- maintainer without fee. The maintainer reserves the right to
- include your changes in the official version of Vim. What the
- maintainer will do with your changes and under what license they
- will be distributed is negotiable. If there has been no negotiation
- then this license, or a later version, also applies to your changes.
- The current maintainer is Bram Moolenaar <Bram@vim.org>. If this
- changes it will be announced in appropriate places (most likely
- vim.sf.net, www.vim.org and/or comp.editors). When it is completely
- impossible to contact the maintainer, the obligation to send him
- your changes ceases. Once the maintainer has confirmed that he has
- received your changes they will not have to be sent again.
- b) If you have received a modified Vim that was distributed as
- mentioned under a) you are allowed to further distribute it
- unmodified, as mentioned at I). If you make additional changes the
- text under a) applies to those changes.
- c) Provide all the changes, including source code, with every copy of
- the modified Vim you distribute. This may be done in the form of a
- context diff. You can choose what license to use for new code you
- add. The changes and their license must not restrict others from
- making their own changes to the official version of Vim.
- d) When you have a modified Vim which includes changes as mentioned
- under c), you can distribute it without the source code for the
- changes if the following three conditions are met:
- - The license that applies to the changes permits you to distribute
- the changes to the Vim maintainer without fee or restriction, and
- permits the Vim maintainer to include the changes in the official
- version of Vim without fee or restriction.
- - You keep the changes for at least three years after last
- distributing the corresponding modified Vim. When the maintainer
- or someone who you distributed the modified Vim to asks you (in
- any way) for the changes within this period, you must make them
- available to him.
- - You clearly describe in the distribution how to contact you. This
- contact information must remain valid for at least three years
- after last distributing the corresponding modified Vim, or as long
- as possible.
- e) When the GNU General Public License (GPL) applies to the changes,
- you can distribute the modified Vim under the GNU GPL version 2 or
- any later version.
- 3) A message must be added, at least in the output of the ":version"
- command and in the intro screen, such that the user of the modified Vim
- is able to see that it was modified. When distributing as mentioned
- under 2)e) adding the message is only required for as far as this does
- not conflict with the license used for the changes.
- 4) The contact information as required under 2)a) and 2)d) must not be
- removed or changed, except that the person himself can make
- corrections.
-
-III) If you distribute a modified version of Vim, you are encouraged to use
- the Vim license for your changes and make them available to the
- maintainer, including the source code. The preferred way to do this is
- by e-mail or by uploading the files to a server and e-mailing the URL.
- If the number of changes is small (e.g., a modified Makefile) e-mailing a
- context diff will do. The e-mail address to be used is
- <maintainer@vim.org>
-
-IV) It is not allowed to remove this license from the distribution of the Vim
- sources, parts of it or from a modified version. You may use this
- license for previous Vim releases instead of the license that they came
- with, at your option.
-
-===
-Read more about this license at http://vimdoc.sourceforge.net/htmldoc/uganda.html#license
diff --git a/poky/meta/files/common-licenses/xinetd b/poky/meta/files/common-licenses/xinetd
new file mode 100644
index 000000000..684e13ba3
--- /dev/null
+++ b/poky/meta/files/common-licenses/xinetd
@@ -0,0 +1,25 @@
+ORIGINAL LICENSE: This software is
+
+(c) Copyright 1992 by Panagiotis Tsirigotis
+
+The author (Panagiotis Tsirigotis) grants permission to use, copy, and distribute this software and its documentation for any purpose and without fee, provided that the above copyright notice extant in files in this distribution is not removed from files included in any redistribution and that this copyright notice is also included in any redistribution.
+
+Modifications to this software may be distributed, either by distributing the modified software or by distributing patches to the original software, under the following additional terms:
+
+1. The version number will be modified as follows:
+ a. The first 3 components of the version number (i.e <number>.<number>.<number>) will remain unchanged.
+ b. A new component will be appended to the version number to indicate the modification level. The form of this component is up to the author of the modifications.
+
+2. The author of the modifications will include his/her name by appending it along with the new version number to this file and will be responsible for any wrong behavior of the modified software.
+
+The author makes no representations about the suitability of this software for any purpose. It is provided "as is" without any express or implied warranty.
+
+Modifications: Version: 2.1.8.7-current Copyright 1998-2001 by Rob Braun
+
+Sensor Addition Version: 2.1.8.9pre14a Copyright 2001 by Steve Grubb
+
+This is an exerpt from an email I recieved from the original author, allowing xinetd as maintained by me (Rob Braun), to use the higher version numbers:
+
+I appreciate your maintaining the version string guidelines as specified in the copyright. But I did not mean them to last as long as they did.
+
+So, if you want, you may use any 2.N.* (N >= 3) version string for future xinetd versions that you release. Note that I am excluding the 2.2.* line; using that would only create confusion. Naming the next release 2.3.0 would put to rest the confusion about 2.2.1 and 2.1.8.*.
diff --git a/poky/meta/files/common-licenses/xpp b/poky/meta/files/common-licenses/xpp
new file mode 100644
index 000000000..c36660a72
--- /dev/null
+++ b/poky/meta/files/common-licenses/xpp
@@ -0,0 +1,21 @@
+LICENSE FOR THE Extreme! Lab PullParser
+
+Copyright (c) 2002 The Trustees of Indiana University. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1) All redistributions of source code must retain the above copyright notice, the list of authors in the original source code, this list of conditions and the disclaimer listed in this license;
+
+2) All redistributions in binary form must reproduce the above copyright notice, this list of conditions and the disclaimer listed in this license in the documentation and/or other materials provided with the distribution;
+
+3) Any documentation included with all redistributions must include the following acknowledgement:
+
+ "This product includes software developed by the Indiana University Extreme! Lab. For further information please visit http://www.extreme.indiana.edu/"
+
+Alternatively, this acknowledgment may appear in the software itself, and wherever such third-party acknowledgments normally appear.
+
+4) The name "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab" shall not be used to endorse or promote products derived from this software without prior written permission from Indiana University. For written permission, please contact http://www.extreme.indiana.edu/.
+
+5) Products derived from this software may not use "Indiana Univeristy" name nor may "Indiana Univeristy" appear in their name, without prior written permission of the Indiana University. Indiana University provides no reassurances that the source code provided does not infringe the patent or any other intellectual property rights of any other entity. Indiana University disclaims any liability to any recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.
+
+LICENSEE UNDERSTANDS THAT SOFTWARE IS PROVIDED "AS IS" FOR WHICH NO WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. INDIANA UNIVERSITY GIVES NO WARRANTIES AND MAKES NO REPRESENTATION THAT SOFTWARE IS FREE OF INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER PROPRIETARY RIGHTS. INDIANA UNIVERSITY MAKES NO WARRANTIES THAT SOFTWARE IS FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS", OR OTHER HARMFUL CODE. LICENSEE ASSUMES THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF INFORMATION GENERATED USING SOFTWARE.
diff --git a/poky/meta/files/common-licenses/zlib-acknowledgement b/poky/meta/files/common-licenses/zlib-acknowledgement
new file mode 100644
index 000000000..cf95431f2
--- /dev/null
+++ b/poky/meta/files/common-licenses/zlib-acknowledgement
@@ -0,0 +1,15 @@
+Copyright (c) 2002-2007 Charlie Poole
+Copyright (c) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov
+Copyright (c) 2000-2002 Philip A. Craig
+
+This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment (see the following) in the product documentation is required.
+
+ Portions Copyright (c) 2002-2007 Charlie Poole or Copyright (c) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright (c) 2000-2002 Philip A. Craig
+
+2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source distribution.
diff --git a/poky/meta/files/spdx-licenses.json b/poky/meta/files/spdx-licenses.json
new file mode 100644
index 000000000..ef926164e
--- /dev/null
+++ b/poky/meta/files/spdx-licenses.json
@@ -0,0 +1,5937 @@
+{
+ "licenseListVersion": "3.14",
+ "licenses": [
+ {
+ "reference": "https://spdx.org/licenses/GPL-1.0.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-1.0.json",
+ "referenceNumber": 0,
+ "name": "GNU General Public License v1.0 only",
+ "licenseId": "GPL-1.0",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/bzip2-1.0.6.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/bzip2-1.0.6.json",
+ "referenceNumber": 1,
+ "name": "bzip2 and libbzip2 License v1.0.6",
+ "licenseId": "bzip2-1.0.6",
+ "seeAlso": [
+ "https://sourceware.org/git/?p\u003dbzip2.git;a\u003dblob;f\u003dLICENSE;hb\u003dbzip2-1.0.6",
+ "http://bzip.org/1.0.5/bzip2-manual-1.0.5.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Intel-ACPI.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Intel-ACPI.json",
+ "referenceNumber": 2,
+ "name": "Intel ACPI Software License Agreement",
+ "licenseId": "Intel-ACPI",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Intel_ACPI_Software_License_Agreement"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/XSkat.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/XSkat.json",
+ "referenceNumber": 3,
+ "name": "XSkat License",
+ "licenseId": "XSkat",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/XSkat_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0.json",
+ "referenceNumber": 4,
+ "name": "Creative Commons Attribution Non Commercial Share Alike 2.0 Generic",
+ "licenseId": "CC-BY-NC-SA-2.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-sa/2.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Plexus.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Plexus.json",
+ "referenceNumber": 5,
+ "name": "Plexus Classworlds License",
+ "licenseId": "Plexus",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Plexus_Classworlds_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Giftware.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Giftware.json",
+ "referenceNumber": 6,
+ "name": "Giftware License",
+ "licenseId": "Giftware",
+ "seeAlso": [
+ "http://liballeg.org/license.html#allegro-4-the-giftware-license"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/BitTorrent-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BitTorrent-1.0.json",
+ "referenceNumber": 7,
+ "name": "BitTorrent Open Source License v1.0",
+ "licenseId": "BitTorrent-1.0",
+ "seeAlso": [
+ "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/licenses/BitTorrent?r1\u003d1.1\u0026r2\u003d1.1.1.1\u0026diff_format\u003ds"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/APSL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/APSL-1.1.json",
+ "referenceNumber": 8,
+ "name": "Apple Public Source License 1.1",
+ "licenseId": "APSL-1.1",
+ "seeAlso": [
+ "http://www.opensource.apple.com/source/IOSerialFamily/IOSerialFamily-7/APPLE_LICENSE"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.json",
+ "referenceNumber": 9,
+ "name": "GNU General Public License v2.0 w/GCC Runtime Library exception",
+ "licenseId": "GPL-2.0-with-GCC-exception",
+ "seeAlso": [
+ "https://gcc.gnu.org/git/?p\u003dgcc.git;a\u003dblob;f\u003dgcc/libgcc1.c;h\u003d762f5143fc6eed57b6797c82710f3538aa52b40b;hb\u003dcb143a3ce4fb417c68f5fa2691a1b1b1053dfba9#l10"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/UPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/UPL-1.0.json",
+ "referenceNumber": 10,
+ "name": "Universal Permissive License v1.0",
+ "licenseId": "UPL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/UPL"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/wxWindows.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/wxWindows.json",
+ "referenceNumber": 11,
+ "name": "wxWindows Library License",
+ "licenseId": "wxWindows",
+ "seeAlso": [
+ "https://opensource.org/licenses/WXwindows"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Caldera.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Caldera.json",
+ "referenceNumber": 12,
+ "name": "Caldera License",
+ "licenseId": "Caldera",
+ "seeAlso": [
+ "http://www.lemis.com/grog/UNIX/ancient-source-all.pdf"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Zend-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Zend-2.0.json",
+ "referenceNumber": 13,
+ "name": "Zend License v2.0",
+ "licenseId": "Zend-2.0",
+ "seeAlso": [
+ "https://web.archive.org/web/20130517195954/http://www.zend.com/license/2_00.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CUA-OPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CUA-OPL-1.0.json",
+ "referenceNumber": 14,
+ "name": "CUA Office Public License v1.0",
+ "licenseId": "CUA-OPL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/CUA-OPL-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/JPNIC.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/JPNIC.json",
+ "referenceNumber": 15,
+ "name": "Japan Network Information Center License",
+ "licenseId": "JPNIC",
+ "seeAlso": [
+ "https://gitlab.isc.org/isc-projects/bind9/blob/master/COPYRIGHT#L366"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SAX-PD.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SAX-PD.json",
+ "referenceNumber": 16,
+ "name": "Sax Public Domain Notice",
+ "licenseId": "SAX-PD",
+ "seeAlso": [
+ "http://www.saxproject.org/copying.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-ND-2.5.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-2.5.json",
+ "referenceNumber": 17,
+ "name": "Creative Commons Attribution No Derivatives 2.5 Generic",
+ "licenseId": "CC-BY-ND-2.5",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nd/2.5/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/eGenix.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/eGenix.json",
+ "referenceNumber": 18,
+ "name": "eGenix.com Public License 1.1.0",
+ "licenseId": "eGenix",
+ "seeAlso": [
+ "http://www.egenix.com/products/eGenix.com-Public-License-1.1.0.pdf",
+ "https://fedoraproject.org/wiki/Licensing/eGenix.com_Public_License_1.1.0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPLLR.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LGPLLR.json",
+ "referenceNumber": 19,
+ "name": "Lesser General Public License For Linguistic Resources",
+ "licenseId": "LGPLLR",
+ "seeAlso": [
+ "http://www-igm.univ-mlv.fr/~unitex/lgpllr.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.2.2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.2.json",
+ "referenceNumber": 20,
+ "name": "Open LDAP Public License 2.2.2",
+ "licenseId": "OLDAP-2.2.2",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003ddf2cc1e21eb7c160695f5b7cffd6296c151ba188"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.json",
+ "referenceNumber": 21,
+ "name": "Creative Commons Attribution No Derivatives 3.0 Germany",
+ "licenseId": "CC-BY-ND-3.0-DE",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nd/3.0/de/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/IPA.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/IPA.json",
+ "referenceNumber": 22,
+ "name": "IPA Font License",
+ "licenseId": "IPA",
+ "seeAlso": [
+ "https://opensource.org/licenses/IPA"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/NCSA.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NCSA.json",
+ "referenceNumber": 23,
+ "name": "University of Illinois/NCSA Open Source License",
+ "licenseId": "NCSA",
+ "seeAlso": [
+ "http://otm.illinois.edu/uiuc_openSource",
+ "https://opensource.org/licenses/NCSA"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/W3C.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/W3C.json",
+ "referenceNumber": 24,
+ "name": "W3C Software Notice and License (2002-12-31)",
+ "licenseId": "W3C",
+ "seeAlso": [
+ "http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html",
+ "https://opensource.org/licenses/W3C"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Adobe-2006.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Adobe-2006.json",
+ "referenceNumber": 25,
+ "name": "Adobe Systems Incorporated Source Code License Agreement",
+ "licenseId": "Adobe-2006",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/AdobeLicense"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Net-SNMP.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Net-SNMP.json",
+ "referenceNumber": 26,
+ "name": "Net-SNMP License",
+ "licenseId": "Net-SNMP",
+ "seeAlso": [
+ "http://net-snmp.sourceforge.net/about/license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-SA-4.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-4.0.json",
+ "referenceNumber": 27,
+ "name": "Creative Commons Attribution Share Alike 4.0 International",
+ "licenseId": "CC-BY-SA-4.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-sa/4.0/legalcode"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/YPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/YPL-1.0.json",
+ "referenceNumber": 28,
+ "name": "Yahoo! Public License v1.0",
+ "licenseId": "YPL-1.0",
+ "seeAlso": [
+ "http://www.zimbra.com/license/yahoo_public_license_1.0.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Nunit.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/Nunit.json",
+ "referenceNumber": 29,
+ "name": "Nunit License",
+ "licenseId": "Nunit",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Nunit"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/MITNFA.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MITNFA.json",
+ "referenceNumber": 30,
+ "name": "MIT +no-false-attribs license",
+ "licenseId": "MITNFA",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/MITNFA"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/PHP-3.01.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/PHP-3.01.json",
+ "referenceNumber": 31,
+ "name": "PHP License v3.01",
+ "licenseId": "PHP-3.01",
+ "seeAlso": [
+ "http://www.php.net/license/3_01.txt"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-Source-Code.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-Source-Code.json",
+ "referenceNumber": 32,
+ "name": "BSD Source Code Attribution",
+ "licenseId": "BSD-Source-Code",
+ "seeAlso": [
+ "https://github.com/robbiehanson/CocoaHTTPServer/blob/master/LICENSE.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-SA-2.5.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.5.json",
+ "referenceNumber": 33,
+ "name": "Creative Commons Attribution Share Alike 2.5 Generic",
+ "licenseId": "CC-BY-SA-2.5",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-sa/2.5/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Motosoto.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Motosoto.json",
+ "referenceNumber": 34,
+ "name": "Motosoto License",
+ "licenseId": "Motosoto",
+ "seeAlso": [
+ "https://opensource.org/licenses/Motosoto"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OSL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OSL-1.1.json",
+ "referenceNumber": 35,
+ "name": "Open Software License 1.1",
+ "licenseId": "OSL-1.1",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/OSL1.1"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/NGPL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NGPL.json",
+ "referenceNumber": 36,
+ "name": "Nethack General Public License",
+ "licenseId": "NGPL",
+ "seeAlso": [
+ "https://opensource.org/licenses/NGPL"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-2.5-AU.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-2.5-AU.json",
+ "referenceNumber": 37,
+ "name": "Creative Commons Attribution 2.5 Australia",
+ "licenseId": "CC-BY-2.5-AU",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by/2.5/au/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Unicode-TOU.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Unicode-TOU.json",
+ "referenceNumber": 38,
+ "name": "Unicode Terms of Use",
+ "licenseId": "Unicode-TOU",
+ "seeAlso": [
+ "http://www.unicode.org/copyright.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.json",
+ "referenceNumber": 39,
+ "name": "BSD 3-Clause No Nuclear License",
+ "licenseId": "BSD-3-Clause-No-Nuclear-License",
+ "seeAlso": [
+ "http://download.oracle.com/otn-pub/java/licenses/bsd.txt?AuthParam\u003d1467140197_43d516ce1776bd08a58235a7785be1cc"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OPUBL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OPUBL-1.0.json",
+ "referenceNumber": 40,
+ "name": "Open Publication License v1.0",
+ "licenseId": "OPUBL-1.0",
+ "seeAlso": [
+ "http://opencontent.org/openpub/",
+ "https://www.debian.org/opl",
+ "https://www.ctan.org/license/opl"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-UK.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-UK.json",
+ "referenceNumber": 41,
+ "name": "Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales",
+ "licenseId": "CC-BY-NC-SA-2.0-UK",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-sa/2.0/uk/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/NLOD-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NLOD-2.0.json",
+ "referenceNumber": 42,
+ "name": "Norwegian Licence for Open Government Data (NLOD) 2.0",
+ "licenseId": "NLOD-2.0",
+ "seeAlso": [
+ "http://data.norge.no/nlod/en/2.0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/gnuplot.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/gnuplot.json",
+ "referenceNumber": 43,
+ "name": "gnuplot License",
+ "licenseId": "gnuplot",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Gnuplot"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/EPICS.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/EPICS.json",
+ "referenceNumber": 44,
+ "name": "EPICS Open License",
+ "licenseId": "EPICS",
+ "seeAlso": [
+ "https://epics.anl.gov/license/open.php"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Info-ZIP.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Info-ZIP.json",
+ "referenceNumber": 45,
+ "name": "Info-ZIP License",
+ "licenseId": "Info-ZIP",
+ "seeAlso": [
+ "http://www.info-zip.org/license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.0.json",
+ "referenceNumber": 46,
+ "name": "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)",
+ "licenseId": "OLDAP-2.0",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dcbf50f4e1185a21abd4c0a54d3f4341fe28f36ea"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CERN-OHL-P-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CERN-OHL-P-2.0.json",
+ "referenceNumber": 47,
+ "name": "CERN Open Hardware Licence Version 2 - Permissive",
+ "licenseId": "CERN-OHL-P-2.0",
+ "seeAlso": [
+ "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.json",
+ "referenceNumber": 48,
+ "name": "BSD 3-Clause No Nuclear Warranty",
+ "licenseId": "BSD-3-Clause-No-Nuclear-Warranty",
+ "seeAlso": [
+ "https://jogamp.org/git/?p\u003dgluegen.git;a\u003dblob_plain;f\u003dLICENSE.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/AML.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AML.json",
+ "referenceNumber": 49,
+ "name": "Apple MIT License",
+ "licenseId": "AML",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Apple_MIT_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/MulanPSL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MulanPSL-1.0.json",
+ "referenceNumber": 50,
+ "name": "Mulan Permissive Software License, Version 1",
+ "licenseId": "MulanPSL-1.0",
+ "seeAlso": [
+ "https://license.coscl.org.cn/MulanPSL/",
+ "https://github.com/yuwenlong/longphp/blob/25dfb70cc2a466dc4bb55ba30901cbce08d164b5/LICENSE"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Multics.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Multics.json",
+ "referenceNumber": 51,
+ "name": "Multics License",
+ "licenseId": "Multics",
+ "seeAlso": [
+ "https://opensource.org/licenses/Multics"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/VSL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/VSL-1.0.json",
+ "referenceNumber": 52,
+ "name": "Vovida Software License v1.0",
+ "licenseId": "VSL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/VSL-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/RSA-MD.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/RSA-MD.json",
+ "referenceNumber": 53,
+ "name": "RSA Message-Digest License",
+ "licenseId": "RSA-MD",
+ "seeAlso": [
+ "http://www.faqs.org/rfcs/rfc1321.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-PDDC.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-PDDC.json",
+ "referenceNumber": 54,
+ "name": "Creative Commons Public Domain Dedication and Certification",
+ "licenseId": "CC-PDDC",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/publicdomain/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.json",
+ "referenceNumber": 55,
+ "name": "Creative Commons Attribution Share Alike 2.1 Japan",
+ "licenseId": "CC-BY-SA-2.1-JP",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-sa/2.1/jp/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LPPL-1.2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LPPL-1.2.json",
+ "referenceNumber": 56,
+ "name": "LaTeX Project Public License v1.2",
+ "licenseId": "LPPL-1.2",
+ "seeAlso": [
+ "http://www.latex-project.org/lppl/lppl-1-2.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Spencer-94.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Spencer-94.json",
+ "referenceNumber": 57,
+ "name": "Spencer License 94",
+ "licenseId": "Spencer-94",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-1.2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-1.2.json",
+ "referenceNumber": 58,
+ "name": "Open LDAP Public License v1.2",
+ "licenseId": "OLDAP-1.2",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d42b0383c50c299977b5893ee695cf4e486fb0dc7"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/O-UDA-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/O-UDA-1.0.json",
+ "referenceNumber": 59,
+ "name": "Open Use of Data Agreement v1.0",
+ "licenseId": "O-UDA-1.0",
+ "seeAlso": [
+ "https://github.com/microsoft/Open-Use-of-Data-Agreement/blob/v1.0/O-UDA-1.0.md",
+ "https://cdla.dev/open-use-of-data-agreement-v1-0/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.7.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.7.json",
+ "referenceNumber": 60,
+ "name": "Open LDAP Public License v2.7",
+ "licenseId": "OLDAP-2.7",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d47c2415c1df81556eeb39be6cad458ef87c534a2"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Glulxe.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Glulxe.json",
+ "referenceNumber": 61,
+ "name": "Glulxe License",
+ "licenseId": "Glulxe",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Glulxe"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/iMatix.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/iMatix.json",
+ "referenceNumber": 62,
+ "name": "iMatix Standard Function Library Agreement",
+ "licenseId": "iMatix",
+ "seeAlso": [
+ "http://legacy.imatix.com/html/sfl/sfl4.htm#license"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/TAPR-OHL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/TAPR-OHL-1.0.json",
+ "referenceNumber": 63,
+ "name": "TAPR Open Hardware License v1.0",
+ "licenseId": "TAPR-OHL-1.0",
+ "seeAlso": [
+ "https://www.tapr.org/OHL"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/NBPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NBPL-1.0.json",
+ "referenceNumber": 64,
+ "name": "Net Boolean Public License v1",
+ "licenseId": "NBPL-1.0",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d37b4b3f6cc4bf34e1d3dec61e69914b9819d8894"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LiLiQ-R-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LiLiQ-R-1.1.json",
+ "referenceNumber": 65,
+ "name": "Licence Libre du Québec – Réciprocité version 1.1",
+ "licenseId": "LiLiQ-R-1.1",
+ "seeAlso": [
+ "https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-liliq-r-v1-1/",
+ "http://opensource.org/licenses/LiLiQ-R-1.1"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Noweb.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Noweb.json",
+ "referenceNumber": 66,
+ "name": "Noweb License",
+ "licenseId": "Noweb",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Noweb"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC0-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC0-1.0.json",
+ "referenceNumber": 67,
+ "name": "Creative Commons Zero v1.0 Universal",
+ "licenseId": "CC0-1.0",
+ "seeAlso": [
+ "https://creativecommons.org/publicdomain/zero/1.0/legalcode"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-Protection.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-Protection.json",
+ "referenceNumber": 68,
+ "name": "BSD Protection License",
+ "licenseId": "BSD-Protection",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/BSD_Protection_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-2.5.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-2.5.json",
+ "referenceNumber": 69,
+ "name": "Creative Commons Attribution Non Commercial 2.5 Generic",
+ "licenseId": "CC-BY-NC-2.5",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc/2.5/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Zlib.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Zlib.json",
+ "referenceNumber": 70,
+ "name": "zlib License",
+ "licenseId": "Zlib",
+ "seeAlso": [
+ "http://www.zlib.net/zlib_license.html",
+ "https://opensource.org/licenses/Zlib"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.json",
+ "referenceNumber": 71,
+ "name": "GNU Free Documentation License v1.3 or later - invariants",
+ "licenseId": "GFDL-1.3-invariants-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-3.0-AT.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-AT.json",
+ "referenceNumber": 72,
+ "name": "Creative Commons Attribution 3.0 Austria",
+ "licenseId": "CC-BY-3.0-AT",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by/3.0/at/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LPPL-1.3c.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LPPL-1.3c.json",
+ "referenceNumber": 73,
+ "name": "LaTeX Project Public License v1.3c",
+ "licenseId": "LPPL-1.3c",
+ "seeAlso": [
+ "http://www.latex-project.org/lppl/lppl-1-3c.txt",
+ "https://opensource.org/licenses/LPPL-1.3c"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/EPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/EPL-1.0.json",
+ "referenceNumber": 74,
+ "name": "Eclipse Public License 1.0",
+ "licenseId": "EPL-1.0",
+ "seeAlso": [
+ "http://www.eclipse.org/legal/epl-v10.html",
+ "https://opensource.org/licenses/EPL-1.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.json",
+ "referenceNumber": 75,
+ "name": "GNU Free Documentation License v1.1 or later - invariants",
+ "licenseId": "GFDL-1.1-invariants-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/ANTLR-PD-fallback.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ANTLR-PD-fallback.json",
+ "referenceNumber": 76,
+ "name": "ANTLR Software Rights Notice with license fallback",
+ "licenseId": "ANTLR-PD-fallback",
+ "seeAlso": [
+ "http://www.antlr2.org/license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.4.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.4.json",
+ "referenceNumber": 77,
+ "name": "Open LDAP Public License v2.4",
+ "licenseId": "OLDAP-2.4",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dcd1284c4a91a8a380d904eee68d1583f989ed386"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.3.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.3.json",
+ "referenceNumber": 78,
+ "name": "Open LDAP Public License v2.3",
+ "licenseId": "OLDAP-2.3",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dd32cf54a32d581ab475d23c810b0a7fbaf8d63c3"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/ZPL-2.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ZPL-2.1.json",
+ "referenceNumber": 79,
+ "name": "Zope Public License 2.1",
+ "licenseId": "ZPL-2.1",
+ "seeAlso": [
+ "http://old.zope.org/Resources/ZPL/"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Apache-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Apache-2.0.json",
+ "referenceNumber": 80,
+ "name": "Apache License 2.0",
+ "licenseId": "Apache-2.0",
+ "seeAlso": [
+ "https://www.apache.org/licenses/LICENSE-2.0",
+ "https://opensource.org/licenses/Apache-2.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/SGI-B-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SGI-B-2.0.json",
+ "referenceNumber": 81,
+ "name": "SGI Free Software License B v2.0",
+ "licenseId": "SGI-B-2.0",
+ "seeAlso": [
+ "http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Hippocratic-2.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Hippocratic-2.1.json",
+ "referenceNumber": 82,
+ "name": "Hippocratic License 2.1",
+ "licenseId": "Hippocratic-2.1",
+ "seeAlso": [
+ "https://firstdonoharm.dev/version/2/1/license.html",
+ "https://github.com/EthicalSource/hippocratic-license/blob/58c0e646d64ff6fbee275bfe2b9492f914e3ab2a/LICENSE.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.json",
+ "referenceNumber": 83,
+ "name": "Creative Commons Attribution Share Alike 3.0 Germany",
+ "licenseId": "CC-BY-SA-3.0-DE",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-sa/3.0/de/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-SA-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-1.0.json",
+ "referenceNumber": 84,
+ "name": "Creative Commons Attribution Non Commercial Share Alike 1.0 Generic",
+ "licenseId": "CC-BY-NC-SA-1.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-sa/1.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-2.1-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-or-later.json",
+ "referenceNumber": 85,
+ "name": "GNU Lesser General Public License v2.1 or later",
+ "licenseId": "LGPL-2.1-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
+ "https://opensource.org/licenses/LGPL-2.1"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-3.0-US.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-US.json",
+ "referenceNumber": 86,
+ "name": "Creative Commons Attribution 3.0 United States",
+ "licenseId": "CC-BY-3.0-US",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by/3.0/us/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/TCP-wrappers.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/TCP-wrappers.json",
+ "referenceNumber": 87,
+ "name": "TCP Wrappers License",
+ "licenseId": "TCP-wrappers",
+ "seeAlso": [
+ "http://rc.quest.com/topics/openssh/license.php#tcpwrappers"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.2-invariants-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-invariants-or-later.json",
+ "referenceNumber": 88,
+ "name": "GNU Free Documentation License v1.2 or later - invariants",
+ "licenseId": "GFDL-1.2-invariants-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Eurosym.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Eurosym.json",
+ "referenceNumber": 89,
+ "name": "Eurosym License",
+ "licenseId": "Eurosym",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Eurosym"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.1.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.1.json",
+ "referenceNumber": 90,
+ "name": "GNU Free Documentation License v1.1",
+ "licenseId": "GFDL-1.1",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/LPPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LPPL-1.0.json",
+ "referenceNumber": 91,
+ "name": "LaTeX Project Public License v1.0",
+ "licenseId": "LPPL-1.0",
+ "seeAlso": [
+ "http://www.latex-project.org/lppl/lppl-1-0.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-2.0+.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.0+.json",
+ "referenceNumber": 92,
+ "name": "GNU Library General Public License v2 or later",
+ "licenseId": "LGPL-2.0+",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/SGI-B-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SGI-B-1.0.json",
+ "referenceNumber": 93,
+ "name": "SGI Free Software License B v1.0",
+ "licenseId": "SGI-B-1.0",
+ "seeAlso": [
+ "http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.1.0.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/APL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/APL-1.0.json",
+ "referenceNumber": 94,
+ "name": "Adaptive Public License 1.0",
+ "licenseId": "APL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/APL-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/libtiff.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/libtiff.json",
+ "referenceNumber": 95,
+ "name": "libtiff License",
+ "licenseId": "libtiff",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/libtiff"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/AFL-2.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AFL-2.1.json",
+ "referenceNumber": 96,
+ "name": "Academic Free License v2.1",
+ "licenseId": "AFL-2.1",
+ "seeAlso": [
+ "http://opensource.linux-mirror.org/licenses/afl-2.1.txt"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-1.0.json",
+ "referenceNumber": 97,
+ "name": "Creative Commons Attribution Non Commercial 1.0 Generic",
+ "licenseId": "CC-BY-NC-1.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc/1.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GD.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GD.json",
+ "referenceNumber": 98,
+ "name": "GD License",
+ "licenseId": "GD",
+ "seeAlso": [
+ "https://libgd.github.io/manuals/2.3.0/files/license-txt.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/AFL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AFL-1.1.json",
+ "referenceNumber": 99,
+ "name": "Academic Free License v1.1",
+ "licenseId": "AFL-1.1",
+ "seeAlso": [
+ "http://opensource.linux-mirror.org/licenses/afl-1.1.txt",
+ "http://wayback.archive.org/web/20021004124254/http://www.opensource.org/licenses/academic.php"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-IGO.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-IGO.json",
+ "referenceNumber": 100,
+ "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO",
+ "licenseId": "CC-BY-NC-ND-3.0-IGO",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-nd/3.0/igo/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Unicode-DFS-2015.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Unicode-DFS-2015.json",
+ "referenceNumber": 101,
+ "name": "Unicode License Agreement - Data Files and Software (2015)",
+ "licenseId": "Unicode-DFS-2015",
+ "seeAlso": [
+ "https://web.archive.org/web/20151224134844/http://unicode.org/copyright.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.2-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-only.json",
+ "referenceNumber": 102,
+ "name": "GNU Free Documentation License v1.2 only",
+ "licenseId": "GFDL-1.2-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MPL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MPL-1.1.json",
+ "referenceNumber": 103,
+ "name": "Mozilla Public License 1.1",
+ "licenseId": "MPL-1.1",
+ "seeAlso": [
+ "http://www.mozilla.org/MPL/MPL-1.1.html",
+ "https://opensource.org/licenses/MPL-1.1"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-2.0-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GPL-2.0-only.json",
+ "referenceNumber": 104,
+ "name": "GNU General Public License v2.0 only",
+ "licenseId": "GPL-2.0-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",
+ "https://opensource.org/licenses/GPL-2.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-4.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-4.0.json",
+ "referenceNumber": 105,
+ "name": "Creative Commons Attribution Non Commercial 4.0 International",
+ "licenseId": "CC-BY-NC-4.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc/4.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/FreeImage.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/FreeImage.json",
+ "referenceNumber": 106,
+ "name": "FreeImage Public License v1.0",
+ "licenseId": "FreeImage",
+ "seeAlso": [
+ "http://freeimage.sourceforge.net/freeimage-license.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SHL-0.51.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SHL-0.51.json",
+ "referenceNumber": 107,
+ "name": "Solderpad Hardware License, Version 0.51",
+ "licenseId": "SHL-0.51",
+ "seeAlso": [
+ "https://solderpad.org/licenses/SHL-0.51/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CNRI-Jython.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CNRI-Jython.json",
+ "referenceNumber": 108,
+ "name": "CNRI Jython License",
+ "licenseId": "CNRI-Jython",
+ "seeAlso": [
+ "http://www.jython.org/license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/ZPL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ZPL-1.1.json",
+ "referenceNumber": 109,
+ "name": "Zope Public License 1.1",
+ "licenseId": "ZPL-1.1",
+ "seeAlso": [
+ "http://old.zope.org/Resources/License/ZPL-1.1"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Afmparse.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Afmparse.json",
+ "referenceNumber": 110,
+ "name": "Afmparse License",
+ "licenseId": "Afmparse",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Afmparse"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.1.json",
+ "referenceNumber": 111,
+ "name": "Open LDAP Public License v2.1",
+ "licenseId": "OLDAP-2.1",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003db0d176738e96a0d3b9f85cb51e140a86f21be715"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Rdisc.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Rdisc.json",
+ "referenceNumber": 112,
+ "name": "Rdisc License",
+ "licenseId": "Rdisc",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Rdisc_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Imlib2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Imlib2.json",
+ "referenceNumber": 113,
+ "name": "Imlib2 License",
+ "licenseId": "Imlib2",
+ "seeAlso": [
+ "http://trac.enlightenment.org/e/browser/trunk/imlib2/COPYING",
+ "https://git.enlightenment.org/legacy/imlib2.git/tree/COPYING"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-4-Clause-Shortened.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause-Shortened.json",
+ "referenceNumber": 114,
+ "name": "BSD 4 Clause Shortened",
+ "licenseId": "BSD-4-Clause-Shortened",
+ "seeAlso": [
+ "https://metadata.ftp-master.debian.org/changelogs//main/a/arpwatch/arpwatch_2.1a15-7_copyright"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Sendmail.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Sendmail.json",
+ "referenceNumber": 115,
+ "name": "Sendmail License",
+ "licenseId": "Sendmail",
+ "seeAlso": [
+ "http://www.sendmail.com/pdfs/open_source/sendmail_license.pdf",
+ "https://web.archive.org/web/20160322142305/https://www.sendmail.com/pdfs/open_source/sendmail_license.pdf"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-2.5.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-2.5.json",
+ "referenceNumber": 116,
+ "name": "Creative Commons Attribution 2.5 Generic",
+ "licenseId": "CC-BY-2.5",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by/2.5/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/AAL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AAL.json",
+ "referenceNumber": 117,
+ "name": "Attribution Assurance License",
+ "licenseId": "AAL",
+ "seeAlso": [
+ "https://opensource.org/licenses/attribution"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.json",
+ "referenceNumber": 118,
+ "name": "Mozilla Public License 2.0 (no copyleft exception)",
+ "licenseId": "MPL-2.0-no-copyleft-exception",
+ "seeAlso": [
+ "http://www.mozilla.org/MPL/2.0/",
+ "https://opensource.org/licenses/MPL-2.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.json",
+ "referenceNumber": 119,
+ "name": "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic",
+ "licenseId": "CC-BY-NC-ND-2.5",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-nd/2.5/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-3.0-NL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-NL.json",
+ "referenceNumber": 120,
+ "name": "Creative Commons Attribution 3.0 Netherlands",
+ "licenseId": "CC-BY-3.0-NL",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by/3.0/nl/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LPL-1.02.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LPL-1.02.json",
+ "referenceNumber": 121,
+ "name": "Lucent Public License v1.02",
+ "licenseId": "LPL-1.02",
+ "seeAlso": [
+ "http://plan9.bell-labs.com/plan9/license.html",
+ "https://opensource.org/licenses/LPL-1.02"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/ECL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ECL-1.0.json",
+ "referenceNumber": 122,
+ "name": "Educational Community License v1.0",
+ "licenseId": "ECL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/ECL-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OFL-1.0-no-RFN.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OFL-1.0-no-RFN.json",
+ "referenceNumber": 123,
+ "name": "SIL Open Font License 1.0 with no Reserved Font Name",
+ "licenseId": "OFL-1.0-no-RFN",
+ "seeAlso": [
+ "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-DE.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-DE.json",
+ "referenceNumber": 124,
+ "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 Germany",
+ "licenseId": "CC-BY-NC-SA-3.0-DE",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-sa/3.0/de/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-SA-3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0.json",
+ "referenceNumber": 125,
+ "name": "Creative Commons Attribution Share Alike 3.0 Unported",
+ "licenseId": "CC-BY-SA-3.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-sa/3.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/NTP.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NTP.json",
+ "referenceNumber": 126,
+ "name": "NTP License",
+ "licenseId": "NTP",
+ "seeAlso": [
+ "https://opensource.org/licenses/NTP"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MPL-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MPL-2.0.json",
+ "referenceNumber": 127,
+ "name": "Mozilla Public License 2.0",
+ "licenseId": "MPL-2.0",
+ "seeAlso": [
+ "https://www.mozilla.org/MPL/2.0/",
+ "https://opensource.org/licenses/MPL-2.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/APSL-1.2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/APSL-1.2.json",
+ "referenceNumber": 128,
+ "name": "Apple Public Source License 1.2",
+ "licenseId": "APSL-1.2",
+ "seeAlso": [
+ "http://www.samurajdata.se/opensource/mirror/licenses/apsl.php"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.json",
+ "referenceNumber": 129,
+ "name": "GNU Free Documentation License v1.2 only - no invariants",
+ "licenseId": "GFDL-1.2-no-invariants-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Artistic-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Artistic-2.0.json",
+ "referenceNumber": 130,
+ "name": "Artistic License 2.0",
+ "licenseId": "Artistic-2.0",
+ "seeAlso": [
+ "http://www.perlfoundation.org/artistic_license_2_0",
+ "https://www.perlfoundation.org/artistic-license-20.html",
+ "https://opensource.org/licenses/artistic-license-2.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-2.0.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-2.0.json",
+ "referenceNumber": 131,
+ "name": "GNU General Public License v2.0 only",
+ "licenseId": "GPL-2.0",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",
+ "https://opensource.org/licenses/GPL-2.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/RSCPL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/RSCPL.json",
+ "referenceNumber": 132,
+ "name": "Ricoh Source Code Public License",
+ "licenseId": "RSCPL",
+ "seeAlso": [
+ "http://wayback.archive.org/web/20060715140826/http://www.risource.org/RPL/RPL-1.0A.shtml",
+ "https://opensource.org/licenses/RSCPL"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Sleepycat.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Sleepycat.json",
+ "referenceNumber": 133,
+ "name": "Sleepycat License",
+ "licenseId": "Sleepycat",
+ "seeAlso": [
+ "https://opensource.org/licenses/Sleepycat"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/xpp.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/xpp.json",
+ "referenceNumber": 134,
+ "name": "XPP License",
+ "licenseId": "xpp",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/xpp"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CDLA-Sharing-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CDLA-Sharing-1.0.json",
+ "referenceNumber": 135,
+ "name": "Community Data License Agreement Sharing 1.0",
+ "licenseId": "CDLA-Sharing-1.0",
+ "seeAlso": [
+ "https://cdla.io/sharing-1-0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/ClArtistic.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ClArtistic.json",
+ "referenceNumber": 136,
+ "name": "Clarified Artistic License",
+ "licenseId": "ClArtistic",
+ "seeAlso": [
+ "http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/",
+ "http://www.ncftp.com/ncftp/doc/LICENSE.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/AGPL-1.0-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-only.json",
+ "referenceNumber": 137,
+ "name": "Affero General Public License v1.0 only",
+ "licenseId": "AGPL-1.0-only",
+ "seeAlso": [
+ "http://www.affero.org/oagpl.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-3.0-DE.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-DE.json",
+ "referenceNumber": 138,
+ "name": "Creative Commons Attribution 3.0 Germany",
+ "licenseId": "CC-BY-3.0-DE",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by/3.0/de/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/AFL-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AFL-2.0.json",
+ "referenceNumber": 139,
+ "name": "Academic Free License v2.0",
+ "licenseId": "AFL-2.0",
+ "seeAlso": [
+ "http://wayback.archive.org/web/20060924134533/http://www.opensource.org/licenses/afl-2.0.txt"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Intel.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Intel.json",
+ "referenceNumber": 140,
+ "name": "Intel Open Source License",
+ "licenseId": "Intel",
+ "seeAlso": [
+ "https://opensource.org/licenses/Intel"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.1-no-invariants-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-no-invariants-or-later.json",
+ "referenceNumber": 141,
+ "name": "GNU Free Documentation License v1.1 or later - no invariants",
+ "licenseId": "GFDL-1.1-no-invariants-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/APAFML.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/APAFML.json",
+ "referenceNumber": 142,
+ "name": "Adobe Postscript AFM License",
+ "licenseId": "APAFML",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/AdobePostscriptAFM"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.2.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.2.json",
+ "referenceNumber": 143,
+ "name": "GNU Free Documentation License v1.2",
+ "licenseId": "GFDL-1.2",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/SISSL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SISSL.json",
+ "referenceNumber": 144,
+ "name": "Sun Industry Standards Source License v1.1",
+ "licenseId": "SISSL",
+ "seeAlso": [
+ "http://www.openoffice.org/licenses/sissl_license.html",
+ "https://opensource.org/licenses/SISSL"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Naumen.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Naumen.json",
+ "referenceNumber": 145,
+ "name": "Naumen Public License",
+ "licenseId": "Naumen",
+ "seeAlso": [
+ "https://opensource.org/licenses/Naumen"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/HTMLTIDY.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/HTMLTIDY.json",
+ "referenceNumber": 146,
+ "name": "HTML Tidy License",
+ "licenseId": "HTMLTIDY",
+ "seeAlso": [
+ "https://github.com/htacg/tidy-html5/blob/next/README/LICENSE.md"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.8.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.8.json",
+ "referenceNumber": 147,
+ "name": "Open LDAP Public License v2.8",
+ "licenseId": "OLDAP-2.8",
+ "seeAlso": [
+ "http://www.openldap.org/software/release/license.html"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/blessing.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/blessing.json",
+ "referenceNumber": 148,
+ "name": "SQLite Blessing",
+ "licenseId": "blessing",
+ "seeAlso": [
+ "https://www.sqlite.org/src/artifact/e33a4df7e32d742a?ln\u003d4-9",
+ "https://sqlite.org/src/artifact/df5091916dbb40e6"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-ND-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-2.0.json",
+ "referenceNumber": 149,
+ "name": "Creative Commons Attribution No Derivatives 2.0 Generic",
+ "licenseId": "CC-BY-ND-2.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nd/2.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OGTSL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OGTSL.json",
+ "referenceNumber": 150,
+ "name": "Open Group Test Suite License",
+ "licenseId": "OGTSL",
+ "seeAlso": [
+ "http://www.opengroup.org/testing/downloads/The_Open_Group_TSL.txt",
+ "https://opensource.org/licenses/OGTSL"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-2.0-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.0-or-later.json",
+ "referenceNumber": 151,
+ "name": "GNU Library General Public License v2 or later",
+ "licenseId": "LGPL-2.0-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Parity-7.0.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Parity-7.0.0.json",
+ "referenceNumber": 152,
+ "name": "The Parity Public License 7.0.0",
+ "licenseId": "Parity-7.0.0",
+ "seeAlso": [
+ "https://paritylicense.com/versions/7.0.0.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-ND-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-1.0.json",
+ "referenceNumber": 153,
+ "name": "Creative Commons Attribution No Derivatives 1.0 Generic",
+ "licenseId": "CC-BY-ND-1.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nd/1.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/dvipdfm.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/dvipdfm.json",
+ "referenceNumber": 154,
+ "name": "dvipdfm License",
+ "licenseId": "dvipdfm",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/dvipdfm"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CNRI-Python.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CNRI-Python.json",
+ "referenceNumber": 155,
+ "name": "CNRI Python License",
+ "licenseId": "CNRI-Python",
+ "seeAlso": [
+ "https://opensource.org/licenses/CNRI-Python"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-4-Clause-UC.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause-UC.json",
+ "referenceNumber": 156,
+ "name": "BSD-4-Clause (University of California-Specific)",
+ "licenseId": "BSD-4-Clause-UC",
+ "seeAlso": [
+ "http://www.freebsd.org/copyright/license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/NLOD-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NLOD-1.0.json",
+ "referenceNumber": 157,
+ "name": "Norwegian Licence for Open Government Data (NLOD) 1.0",
+ "licenseId": "NLOD-1.0",
+ "seeAlso": [
+ "http://data.norge.no/nlod/en/1.0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/MS-RL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MS-RL.json",
+ "referenceNumber": 158,
+ "name": "Microsoft Reciprocal License",
+ "licenseId": "MS-RL",
+ "seeAlso": [
+ "http://www.microsoft.com/opensource/licenses.mspx",
+ "https://opensource.org/licenses/MS-RL"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.json",
+ "referenceNumber": 159,
+ "name": "Creative Commons Attribution Non Commercial Share Alike 4.0 International",
+ "licenseId": "CC-BY-NC-SA-4.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/HaskellReport.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/HaskellReport.json",
+ "referenceNumber": 160,
+ "name": "Haskell Language Report License",
+ "licenseId": "HaskellReport",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Haskell_Language_Report_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-1.0.json",
+ "referenceNumber": 161,
+ "name": "Creative Commons Attribution 1.0 Generic",
+ "licenseId": "CC-BY-1.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by/1.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/UCL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/UCL-1.0.json",
+ "referenceNumber": 162,
+ "name": "Upstream Compatibility License v1.0",
+ "licenseId": "UCL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/UCL-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Mup.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Mup.json",
+ "referenceNumber": 163,
+ "name": "Mup License",
+ "licenseId": "Mup",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Mup"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SMPPL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SMPPL.json",
+ "referenceNumber": 164,
+ "name": "Secure Messaging Protocol Public License",
+ "licenseId": "SMPPL",
+ "seeAlso": [
+ "https://github.com/dcblake/SMP/blob/master/Documentation/License.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/PHP-3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/PHP-3.0.json",
+ "referenceNumber": 165,
+ "name": "PHP License v3.0",
+ "licenseId": "PHP-3.0",
+ "seeAlso": [
+ "http://www.php.net/license/3_0.txt",
+ "https://opensource.org/licenses/PHP-3.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GL2PS.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GL2PS.json",
+ "referenceNumber": 166,
+ "name": "GL2PS License",
+ "licenseId": "GL2PS",
+ "seeAlso": [
+ "http://www.geuz.org/gl2ps/COPYING.GL2PS"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CrystalStacker.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CrystalStacker.json",
+ "referenceNumber": 167,
+ "name": "CrystalStacker License",
+ "licenseId": "CrystalStacker",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing:CrystalStacker?rd\u003dLicensing/CrystalStacker"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/W3C-20150513.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/W3C-20150513.json",
+ "referenceNumber": 168,
+ "name": "W3C Software Notice and Document License (2015-05-13)",
+ "licenseId": "W3C-20150513",
+ "seeAlso": [
+ "https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/NIST-PD-fallback.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NIST-PD-fallback.json",
+ "referenceNumber": 169,
+ "name": "NIST Public Domain Notice with license fallback",
+ "licenseId": "NIST-PD-fallback",
+ "seeAlso": [
+ "https://github.com/usnistgov/jsip/blob/59700e6926cbe96c5cdae897d9a7d2656b42abe3/LICENSE",
+ "https://github.com/usnistgov/fipy/blob/86aaa5c2ba2c6f1be19593c5986071cf6568cc34/LICENSE.rst"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OGL-UK-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OGL-UK-1.0.json",
+ "referenceNumber": 170,
+ "name": "Open Government Licence v1.0",
+ "licenseId": "OGL-UK-1.0",
+ "seeAlso": [
+ "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/1/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CPL-1.0.json",
+ "referenceNumber": 171,
+ "name": "Common Public License 1.0",
+ "licenseId": "CPL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/CPL-1.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-2.1-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-only.json",
+ "referenceNumber": 172,
+ "name": "GNU Lesser General Public License v2.1 only",
+ "licenseId": "LGPL-2.1-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
+ "https://opensource.org/licenses/LGPL-2.1"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/ZPL-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ZPL-2.0.json",
+ "referenceNumber": 173,
+ "name": "Zope Public License 2.0",
+ "licenseId": "ZPL-2.0",
+ "seeAlso": [
+ "http://old.zope.org/Resources/License/ZPL-2.0",
+ "https://opensource.org/licenses/ZPL-2.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Frameworx-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Frameworx-1.0.json",
+ "referenceNumber": 174,
+ "name": "Frameworx Open License 1.0",
+ "licenseId": "Frameworx-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/Frameworx-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/AGPL-3.0-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AGPL-3.0-only.json",
+ "referenceNumber": 175,
+ "name": "GNU Affero General Public License v3.0 only",
+ "licenseId": "AGPL-3.0-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/agpl.txt",
+ "https://opensource.org/licenses/AGPL-3.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/DRL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/DRL-1.0.json",
+ "referenceNumber": 176,
+ "name": "Detection Rule License 1.0",
+ "licenseId": "DRL-1.0",
+ "seeAlso": [
+ "https://github.com/Neo23x0/sigma/blob/master/LICENSE.Detection.Rules.md"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/EFL-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/EFL-2.0.json",
+ "referenceNumber": 177,
+ "name": "Eiffel Forum License v2.0",
+ "licenseId": "EFL-2.0",
+ "seeAlso": [
+ "http://www.eiffel-nice.org/license/eiffel-forum-license-2.html",
+ "https://opensource.org/licenses/EFL-2.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Spencer-99.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Spencer-99.json",
+ "referenceNumber": 178,
+ "name": "Spencer License 99",
+ "licenseId": "Spencer-99",
+ "seeAlso": [
+ "http://www.opensource.apple.com/source/tcl/tcl-5/tcl/generic/regfronts.c"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.json",
+ "referenceNumber": 179,
+ "name": "Cryptographic Autonomy License 1.0 (Combined Work Exception)",
+ "licenseId": "CAL-1.0-Combined-Work-Exception",
+ "seeAlso": [
+ "http://cryptographicautonomylicense.com/license-text.html",
+ "https://opensource.org/licenses/CAL-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.1-invariants-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-invariants-only.json",
+ "referenceNumber": 180,
+ "name": "GNU Free Documentation License v1.1 only - invariants",
+ "licenseId": "GFDL-1.1-invariants-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/TCL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/TCL.json",
+ "referenceNumber": 181,
+ "name": "TCL/TK License",
+ "licenseId": "TCL",
+ "seeAlso": [
+ "http://www.tcl.tk/software/tcltk/license.html",
+ "https://fedoraproject.org/wiki/Licensing/TCL"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SHL-0.5.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SHL-0.5.json",
+ "referenceNumber": 182,
+ "name": "Solderpad Hardware License v0.5",
+ "licenseId": "SHL-0.5",
+ "seeAlso": [
+ "https://solderpad.org/licenses/SHL-0.5/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OFL-1.0-RFN.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OFL-1.0-RFN.json",
+ "referenceNumber": 183,
+ "name": "SIL Open Font License 1.0 with Reserved Font Name",
+ "licenseId": "OFL-1.0-RFN",
+ "seeAlso": [
+ "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-2.0.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.0.json",
+ "referenceNumber": 184,
+ "name": "GNU Library General Public License v2 only",
+ "licenseId": "LGPL-2.0",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CERN-OHL-W-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CERN-OHL-W-2.0.json",
+ "referenceNumber": 185,
+ "name": "CERN Open Hardware Licence Version 2 - Weakly Reciprocal",
+ "licenseId": "CERN-OHL-W-2.0",
+ "seeAlso": [
+ "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Glide.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Glide.json",
+ "referenceNumber": 186,
+ "name": "3dfx Glide License",
+ "licenseId": "Glide",
+ "seeAlso": [
+ "http://www.users.on.net/~triforce/glidexp/COPYING.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/mpich2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/mpich2.json",
+ "referenceNumber": 187,
+ "name": "mpich2 License",
+ "licenseId": "mpich2",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/MIT"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/psutils.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/psutils.json",
+ "referenceNumber": 188,
+ "name": "psutils License",
+ "licenseId": "psutils",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/psutils"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SPL-1.0.json",
+ "referenceNumber": 189,
+ "name": "Sun Public License v1.0",
+ "licenseId": "SPL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/SPL-1.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Apache-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Apache-1.1.json",
+ "referenceNumber": 190,
+ "name": "Apache License 1.1",
+ "licenseId": "Apache-1.1",
+ "seeAlso": [
+ "http://apache.org/licenses/LICENSE-1.1",
+ "https://opensource.org/licenses/Apache-1.1"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-ND-4.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-4.0.json",
+ "referenceNumber": 191,
+ "name": "Creative Commons Attribution No Derivatives 4.0 International",
+ "licenseId": "CC-BY-ND-4.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nd/4.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/FreeBSD-DOC.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/FreeBSD-DOC.json",
+ "referenceNumber": 192,
+ "name": "FreeBSD Documentation License",
+ "licenseId": "FreeBSD-DOC",
+ "seeAlso": [
+ "https://www.freebsd.org/copyright/freebsd-doc-license/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SCEA.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SCEA.json",
+ "referenceNumber": 193,
+ "name": "SCEA Shared Source License",
+ "licenseId": "SCEA",
+ "seeAlso": [
+ "http://research.scea.com/scea_shared_source_license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Latex2e.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Latex2e.json",
+ "referenceNumber": 194,
+ "name": "Latex2e License",
+ "licenseId": "Latex2e",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Latex2e"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Artistic-1.0-cl8.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Artistic-1.0-cl8.json",
+ "referenceNumber": 195,
+ "name": "Artistic License 1.0 w/clause 8",
+ "licenseId": "Artistic-1.0-cl8",
+ "seeAlso": [
+ "https://opensource.org/licenses/Artistic-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/SGI-B-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SGI-B-1.1.json",
+ "referenceNumber": 196,
+ "name": "SGI Free Software License B v1.1",
+ "licenseId": "SGI-B-1.1",
+ "seeAlso": [
+ "http://oss.sgi.com/projects/FreeB/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/NRL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NRL.json",
+ "referenceNumber": 197,
+ "name": "NRL License",
+ "licenseId": "NRL",
+ "seeAlso": [
+ "http://web.mit.edu/network/isakmp/nrllicense.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SWL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SWL.json",
+ "referenceNumber": 198,
+ "name": "Scheme Widget Library (SWL) Software License Agreement",
+ "licenseId": "SWL",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/SWL"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Zed.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Zed.json",
+ "referenceNumber": 199,
+ "name": "Zed License",
+ "licenseId": "Zed",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Zed"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CERN-OHL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.1.json",
+ "referenceNumber": 200,
+ "name": "CERN Open Hardware Licence v1.1",
+ "licenseId": "CERN-OHL-1.1",
+ "seeAlso": [
+ "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.1"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/RHeCos-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/RHeCos-1.1.json",
+ "referenceNumber": 201,
+ "name": "Red Hat eCos Public License v1.1",
+ "licenseId": "RHeCos-1.1",
+ "seeAlso": [
+ "http://ecos.sourceware.org/old-license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/JasPer-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/JasPer-2.0.json",
+ "referenceNumber": 202,
+ "name": "JasPer License",
+ "licenseId": "JasPer-2.0",
+ "seeAlso": [
+ "http://www.ece.uvic.ca/~mdadams/jasper/LICENSE"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SSPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SSPL-1.0.json",
+ "referenceNumber": 203,
+ "name": "Server Side Public License, v 1",
+ "licenseId": "SSPL-1.0",
+ "seeAlso": [
+ "https://www.mongodb.com/licensing/server-side-public-license"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-2.0+.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-2.0+.json",
+ "referenceNumber": 204,
+ "name": "GNU General Public License v2.0 or later",
+ "licenseId": "GPL-2.0+",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",
+ "https://opensource.org/licenses/GPL-2.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-1.4.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-1.4.json",
+ "referenceNumber": 205,
+ "name": "Open LDAP Public License v1.4",
+ "licenseId": "OLDAP-1.4",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dc9f95c2f3f2ffb5e0ae55fe7388af75547660941"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/libpng-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/libpng-2.0.json",
+ "referenceNumber": 206,
+ "name": "PNG Reference Library version 2",
+ "licenseId": "libpng-2.0",
+ "seeAlso": [
+ "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CNRI-Python-GPL-Compatible.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CNRI-Python-GPL-Compatible.json",
+ "referenceNumber": 207,
+ "name": "CNRI Python Open Source GPL Compatible License Agreement",
+ "licenseId": "CNRI-Python-GPL-Compatible",
+ "seeAlso": [
+ "http://www.python.org/download/releases/1.6.1/download_win/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Aladdin.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Aladdin.json",
+ "referenceNumber": 208,
+ "name": "Aladdin Free Public License",
+ "licenseId": "Aladdin",
+ "seeAlso": [
+ "http://pages.cs.wisc.edu/~ghost/doc/AFPL/6.01/Public.htm"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CECILL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CECILL-1.0.json",
+ "referenceNumber": 209,
+ "name": "CeCILL Free Software License Agreement v1.0",
+ "licenseId": "CECILL-1.0",
+ "seeAlso": [
+ "http://www.cecill.info/licences/Licence_CeCILL_V1-fr.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Ruby.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Ruby.json",
+ "referenceNumber": 210,
+ "name": "Ruby License",
+ "licenseId": "Ruby",
+ "seeAlso": [
+ "http://www.ruby-lang.org/en/LICENSE.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/NPL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NPL-1.1.json",
+ "referenceNumber": 211,
+ "name": "Netscape Public License v1.1",
+ "licenseId": "NPL-1.1",
+ "seeAlso": [
+ "http://www.mozilla.org/MPL/NPL/1.1/"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/ImageMagick.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ImageMagick.json",
+ "referenceNumber": 212,
+ "name": "ImageMagick License",
+ "licenseId": "ImageMagick",
+ "seeAlso": [
+ "http://www.imagemagick.org/script/license.php"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Cube.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Cube.json",
+ "referenceNumber": 213,
+ "name": "Cube License",
+ "licenseId": "Cube",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Cube"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.1-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-only.json",
+ "referenceNumber": 214,
+ "name": "GNU Free Documentation License v1.1 only",
+ "licenseId": "GFDL-1.1-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-2.0.json",
+ "referenceNumber": 215,
+ "name": "Creative Commons Attribution 2.0 Generic",
+ "licenseId": "CC-BY-2.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by/2.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/AFL-1.2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AFL-1.2.json",
+ "referenceNumber": 216,
+ "name": "Academic Free License v1.2",
+ "licenseId": "AFL-1.2",
+ "seeAlso": [
+ "http://opensource.linux-mirror.org/licenses/afl-1.2.txt",
+ "http://wayback.archive.org/web/20021204204652/http://www.opensource.org/licenses/academic.php"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-SA-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.0.json",
+ "referenceNumber": 217,
+ "name": "Creative Commons Attribution Share Alike 2.0 Generic",
+ "licenseId": "CC-BY-SA-2.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-sa/2.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CECILL-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CECILL-2.0.json",
+ "referenceNumber": 218,
+ "name": "CeCILL Free Software License Agreement v2.0",
+ "licenseId": "CECILL-2.0",
+ "seeAlso": [
+ "http://www.cecill.info/licences/Licence_CeCILL_V2-en.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MIT-advertising.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MIT-advertising.json",
+ "referenceNumber": 219,
+ "name": "Enlightenment License (e16)",
+ "licenseId": "MIT-advertising",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/MIT_With_Advertising"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.5.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.5.json",
+ "referenceNumber": 220,
+ "name": "Creative Commons Attribution Non Commercial Share Alike 2.5 Generic",
+ "licenseId": "CC-BY-NC-SA-2.5",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-sa/2.5/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Artistic-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Artistic-1.0.json",
+ "referenceNumber": 221,
+ "name": "Artistic License 1.0",
+ "licenseId": "Artistic-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/Artistic-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OSL-3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OSL-3.0.json",
+ "referenceNumber": 222,
+ "name": "Open Software License 3.0",
+ "licenseId": "OSL-3.0",
+ "seeAlso": [
+ "https://web.archive.org/web/20120101081418/http://rosenlaw.com:80/OSL3.0.htm",
+ "https://opensource.org/licenses/OSL-3.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/X11.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/X11.json",
+ "referenceNumber": 223,
+ "name": "X11 License",
+ "licenseId": "X11",
+ "seeAlso": [
+ "http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Bahyph.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Bahyph.json",
+ "referenceNumber": 224,
+ "name": "Bahyph License",
+ "licenseId": "Bahyph",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Bahyph"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.0.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.0.1.json",
+ "referenceNumber": 225,
+ "name": "Open LDAP Public License v2.0.1",
+ "licenseId": "OLDAP-2.0.1",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003db6d68acd14e51ca3aab4428bf26522aa74873f0e"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/EUDatagrid.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/EUDatagrid.json",
+ "referenceNumber": 226,
+ "name": "EU DataGrid Software License",
+ "licenseId": "EUDatagrid",
+ "seeAlso": [
+ "http://eu-datagrid.web.cern.ch/eu-datagrid/license.html",
+ "https://opensource.org/licenses/EUDatagrid"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MTLL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MTLL.json",
+ "referenceNumber": 227,
+ "name": "Matrix Template Library License",
+ "licenseId": "MTLL",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Matrix_Template_Library_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.2-invariants-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-invariants-only.json",
+ "referenceNumber": 228,
+ "name": "GNU Free Documentation License v1.2 only - invariants",
+ "licenseId": "GFDL-1.2-invariants-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.json",
+ "referenceNumber": 229,
+ "name": "GNU Free Documentation License v1.3 or later - no invariants",
+ "licenseId": "GFDL-1.3-no-invariants-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/curl.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/curl.json",
+ "referenceNumber": 230,
+ "name": "curl License",
+ "licenseId": "curl",
+ "seeAlso": [
+ "https://github.com/bagder/curl/blob/master/COPYING"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LAL-1.3.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LAL-1.3.json",
+ "referenceNumber": 231,
+ "name": "Licence Art Libre 1.3",
+ "licenseId": "LAL-1.3",
+ "seeAlso": [
+ "https://artlibre.org/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/DSDP.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/DSDP.json",
+ "referenceNumber": 232,
+ "name": "DSDP License",
+ "licenseId": "DSDP",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/DSDP"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CERN-OHL-1.2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.2.json",
+ "referenceNumber": 233,
+ "name": "CERN Open Hardware Licence v1.2",
+ "licenseId": "CERN-OHL-1.2",
+ "seeAlso": [
+ "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.2"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/TOSL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/TOSL.json",
+ "referenceNumber": 234,
+ "name": "Trusster Open Source License",
+ "licenseId": "TOSL",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/TOSL"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.json",
+ "referenceNumber": 235,
+ "name": "GNU General Public License v3.0 w/Autoconf exception",
+ "licenseId": "GPL-3.0-with-autoconf-exception",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/autoconf-exception-3.0.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0.json",
+ "referenceNumber": 236,
+ "name": "Creative Commons Attribution 3.0 Unported",
+ "licenseId": "CC-BY-3.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by/3.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Qhull.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Qhull.json",
+ "referenceNumber": 237,
+ "name": "Qhull License",
+ "licenseId": "Qhull",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Qhull"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.json",
+ "referenceNumber": 238,
+ "name": "GNU Free Documentation License v1.3 only - no invariants",
+ "licenseId": "GFDL-1.3-no-invariants-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/TORQUE-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/TORQUE-1.1.json",
+ "referenceNumber": 239,
+ "name": "TORQUE v2.5+ Software License v1.1",
+ "licenseId": "TORQUE-1.1",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/TORQUEv1.1"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/MS-PL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MS-PL.json",
+ "referenceNumber": 240,
+ "name": "Microsoft Public License",
+ "licenseId": "MS-PL",
+ "seeAlso": [
+ "http://www.microsoft.com/opensource/licenses.mspx",
+ "https://opensource.org/licenses/MS-PL"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Apache-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Apache-1.0.json",
+ "referenceNumber": 241,
+ "name": "Apache License 1.0",
+ "licenseId": "Apache-1.0",
+ "seeAlso": [
+ "http://www.apache.org/licenses/LICENSE-1.0"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/copyleft-next-0.3.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/copyleft-next-0.3.1.json",
+ "referenceNumber": 242,
+ "name": "copyleft-next 0.3.1",
+ "licenseId": "copyleft-next-0.3.1",
+ "seeAlso": [
+ "https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.1"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.2-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-or-later.json",
+ "referenceNumber": 243,
+ "name": "GNU Free Documentation License v1.2 or later",
+ "licenseId": "GFDL-1.2-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-3.0+.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-3.0+.json",
+ "referenceNumber": 244,
+ "name": "GNU General Public License v3.0 or later",
+ "licenseId": "GPL-3.0+",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/gpl-3.0-standalone.html",
+ "https://opensource.org/licenses/GPL-3.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MulanPSL-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MulanPSL-2.0.json",
+ "referenceNumber": 245,
+ "name": "Mulan Permissive Software License, Version 2",
+ "licenseId": "MulanPSL-2.0",
+ "seeAlso": [
+ "https://license.coscl.org.cn/MulanPSL2/"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/FSFAP.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/FSFAP.json",
+ "referenceNumber": 246,
+ "name": "FSF All Permissive License",
+ "licenseId": "FSFAP",
+ "seeAlso": [
+ "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Xerox.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Xerox.json",
+ "referenceNumber": 247,
+ "name": "Xerox License",
+ "licenseId": "Xerox",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Xerox"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CDDL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CDDL-1.0.json",
+ "referenceNumber": 248,
+ "name": "Common Development and Distribution License 1.0",
+ "licenseId": "CDDL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/cddl1"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.3-invariants-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-invariants-only.json",
+ "referenceNumber": 249,
+ "name": "GNU Free Documentation License v1.3 only - invariants",
+ "licenseId": "GFDL-1.3-invariants-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/etalab-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/etalab-2.0.json",
+ "referenceNumber": 250,
+ "name": "Etalab Open License 2.0",
+ "licenseId": "etalab-2.0",
+ "seeAlso": [
+ "https://github.com/DISIC/politique-de-contribution-open-source/blob/master/LICENSE.pdf",
+ "https://raw.githubusercontent.com/DISIC/politique-de-contribution-open-source/master/LICENSE"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/XFree86-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/XFree86-1.1.json",
+ "referenceNumber": 251,
+ "name": "XFree86 License 1.1",
+ "licenseId": "XFree86-1.1",
+ "seeAlso": [
+ "http://www.xfree86.org/current/LICENSE4.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/SNIA.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SNIA.json",
+ "referenceNumber": 252,
+ "name": "SNIA Public License 1.1",
+ "licenseId": "SNIA",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/SNIA_Public_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LPPL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LPPL-1.1.json",
+ "referenceNumber": 253,
+ "name": "LaTeX Project Public License v1.1",
+ "licenseId": "LPPL-1.1",
+ "seeAlso": [
+ "http://www.latex-project.org/lppl/lppl-1-1.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CATOSL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CATOSL-1.1.json",
+ "referenceNumber": 254,
+ "name": "Computer Associates Trusted Open Source License 1.1",
+ "licenseId": "CATOSL-1.1",
+ "seeAlso": [
+ "https://opensource.org/licenses/CATOSL-1.1"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/TU-Berlin-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/TU-Berlin-2.0.json",
+ "referenceNumber": 255,
+ "name": "Technische Universitaet Berlin License 2.0",
+ "licenseId": "TU-Berlin-2.0",
+ "seeAlso": [
+ "https://github.com/CorsixTH/deps/blob/fd339a9f526d1d9c9f01ccf39e438a015da50035/licences/libgsm.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.3.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3.json",
+ "referenceNumber": 256,
+ "name": "GNU Free Documentation License v1.3",
+ "licenseId": "GFDL-1.3",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.3-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-or-later.json",
+ "referenceNumber": 257,
+ "name": "GNU Free Documentation License v1.3 or later",
+ "licenseId": "GFDL-1.3-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/LAL-1.2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LAL-1.2.json",
+ "referenceNumber": 258,
+ "name": "Licence Art Libre 1.2",
+ "licenseId": "LAL-1.2",
+ "seeAlso": [
+ "http://artlibre.org/licence/lal/licence-art-libre-12/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/ICU.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ICU.json",
+ "referenceNumber": 259,
+ "name": "ICU License",
+ "licenseId": "ICU",
+ "seeAlso": [
+ "http://source.icu-project.org/repos/icu/icu/trunk/license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/FTL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/FTL.json",
+ "referenceNumber": 260,
+ "name": "Freetype Project License",
+ "licenseId": "FTL",
+ "seeAlso": [
+ "http://freetype.fis.uniroma2.it/FTL.TXT",
+ "http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT",
+ "http://gitlab.freedesktop.org/freetype/freetype/-/raw/master/docs/FTL.TXT"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MirOS.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MirOS.json",
+ "referenceNumber": 261,
+ "name": "The MirOS Licence",
+ "licenseId": "MirOS",
+ "seeAlso": [
+ "https://opensource.org/licenses/MirOS"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-2-Clause-NetBSD.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-NetBSD.json",
+ "referenceNumber": 262,
+ "name": "BSD 2-Clause NetBSD License",
+ "licenseId": "BSD-2-Clause-NetBSD",
+ "seeAlso": [
+ "http://www.netbsd.org/about/redistribution.html#default"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0.json",
+ "referenceNumber": 263,
+ "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported",
+ "licenseId": "CC-BY-NC-ND-3.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OSET-PL-2.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OSET-PL-2.1.json",
+ "referenceNumber": 264,
+ "name": "OSET Public License version 2.1",
+ "licenseId": "OSET-PL-2.1",
+ "seeAlso": [
+ "http://www.osetfoundation.org/public-license",
+ "https://opensource.org/licenses/OPL-2.1"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-ND-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-2.0.json",
+ "referenceNumber": 265,
+ "name": "Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic",
+ "licenseId": "CC-BY-NC-ND-2.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-nd/2.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SISSL-1.2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SISSL-1.2.json",
+ "referenceNumber": 266,
+ "name": "Sun Industry Standards Source License v1.2",
+ "licenseId": "SISSL-1.2",
+ "seeAlso": [
+ "http://gridscheduler.sourceforge.net/Gridengine_SISSL_license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Wsuipa.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Wsuipa.json",
+ "referenceNumber": 267,
+ "name": "Wsuipa License",
+ "licenseId": "Wsuipa",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Wsuipa"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Zimbra-1.4.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Zimbra-1.4.json",
+ "referenceNumber": 268,
+ "name": "Zimbra Public License v1.4",
+ "licenseId": "Zimbra-1.4",
+ "seeAlso": [
+ "http://www.zimbra.com/legal/zimbra-public-license-1-4"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Linux-OpenIB.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Linux-OpenIB.json",
+ "referenceNumber": 269,
+ "name": "Linux Kernel Variant of OpenIB.org license",
+ "licenseId": "Linux-OpenIB",
+ "seeAlso": [
+ "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/infiniband/core/sa.h"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-3.0.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-3.0.json",
+ "referenceNumber": 270,
+ "name": "GNU Lesser General Public License v3.0 only",
+ "licenseId": "LGPL-3.0",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/lgpl-3.0-standalone.html",
+ "https://opensource.org/licenses/LGPL-3.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.5.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.5.json",
+ "referenceNumber": 271,
+ "name": "Open LDAP Public License v2.5",
+ "licenseId": "OLDAP-2.5",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d6852b9d90022e8593c98205413380536b1b5a7cf"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/AMPAS.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AMPAS.json",
+ "referenceNumber": 272,
+ "name": "Academy of Motion Picture Arts and Sciences BSD",
+ "licenseId": "AMPAS",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/BSD#AMPASBSD"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-1.0-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GPL-1.0-or-later.json",
+ "referenceNumber": 273,
+ "name": "GNU General Public License v1.0 or later",
+ "licenseId": "GPL-1.0-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/BUSL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BUSL-1.1.json",
+ "referenceNumber": 274,
+ "name": "Business Source License 1.1",
+ "licenseId": "BUSL-1.1",
+ "seeAlso": [
+ "https://mariadb.com/bsl11/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Adobe-Glyph.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Adobe-Glyph.json",
+ "referenceNumber": 275,
+ "name": "Adobe Glyph List License",
+ "licenseId": "Adobe-Glyph",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/MIT#AdobeGlyph"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/0BSD.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/0BSD.json",
+ "referenceNumber": 276,
+ "name": "BSD Zero Clause License",
+ "licenseId": "0BSD",
+ "seeAlso": [
+ "http://landley.net/toybox/license.html"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/W3C-19980720.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/W3C-19980720.json",
+ "referenceNumber": 277,
+ "name": "W3C Software Notice and License (1998-07-20)",
+ "licenseId": "W3C-19980720",
+ "seeAlso": [
+ "http://www.w3.org/Consortium/Legal/copyright-software-19980720.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/FSFUL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/FSFUL.json",
+ "referenceNumber": 278,
+ "name": "FSF Unlimited License",
+ "licenseId": "FSFUL",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.json",
+ "referenceNumber": 279,
+ "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported",
+ "licenseId": "CC-BY-NC-SA-3.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/DOC.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/DOC.json",
+ "referenceNumber": 280,
+ "name": "DOC License",
+ "licenseId": "DOC",
+ "seeAlso": [
+ "http://www.cs.wustl.edu/~schmidt/ACE-copying.html",
+ "https://www.dre.vanderbilt.edu/~schmidt/ACE-copying.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/TMate.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/TMate.json",
+ "referenceNumber": 281,
+ "name": "TMate Open Source License",
+ "licenseId": "TMate",
+ "seeAlso": [
+ "http://svnkit.com/license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/MIT-open-group.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MIT-open-group.json",
+ "referenceNumber": 282,
+ "name": "MIT Open Group variant",
+ "licenseId": "MIT-open-group",
+ "seeAlso": [
+ "https://gitlab.freedesktop.org/xorg/app/iceauth/-/blob/master/COPYING",
+ "https://gitlab.freedesktop.org/xorg/app/xvinfo/-/blob/master/COPYING",
+ "https://gitlab.freedesktop.org/xorg/app/xsetroot/-/blob/master/COPYING",
+ "https://gitlab.freedesktop.org/xorg/app/xauth/-/blob/master/COPYING"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/AMDPLPA.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AMDPLPA.json",
+ "referenceNumber": 283,
+ "name": "AMD\u0027s plpa_map.c License",
+ "licenseId": "AMDPLPA",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/AMD_plpa_map_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Condor-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Condor-1.1.json",
+ "referenceNumber": 284,
+ "name": "Condor Public License v1.1",
+ "licenseId": "Condor-1.1",
+ "seeAlso": [
+ "http://research.cs.wisc.edu/condor/license.html#condor",
+ "http://web.archive.org/web/20111123062036/http://research.cs.wisc.edu/condor/license.html#condor"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.json",
+ "referenceNumber": 285,
+ "name": "PolyForm Noncommercial License 1.0.0",
+ "licenseId": "PolyForm-Noncommercial-1.0.0",
+ "seeAlso": [
+ "https://polyformproject.org/licenses/noncommercial/1.0.0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Military-License.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Military-License.json",
+ "referenceNumber": 286,
+ "name": "BSD 3-Clause No Military License",
+ "licenseId": "BSD-3-Clause-No-Military-License",
+ "seeAlso": [
+ "https://gitlab.syncad.com/hive/dhive/-/blob/master/LICENSE",
+ "https://github.com/greymass/swift-eosio/blob/master/LICENSE"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-4.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-4.0.json",
+ "referenceNumber": 287,
+ "name": "Creative Commons Attribution 4.0 International",
+ "licenseId": "CC-BY-4.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by/4.0/legalcode"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OGL-Canada-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OGL-Canada-2.0.json",
+ "referenceNumber": 288,
+ "name": "Open Government Licence - Canada",
+ "licenseId": "OGL-Canada-2.0",
+ "seeAlso": [
+ "https://open.canada.ca/en/open-government-licence-canada"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-IGO.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-IGO.json",
+ "referenceNumber": 289,
+ "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 IGO",
+ "licenseId": "CC-BY-NC-SA-3.0-IGO",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-sa/3.0/igo/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/EFL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/EFL-1.0.json",
+ "referenceNumber": 290,
+ "name": "Eiffel Forum License v1.0",
+ "licenseId": "EFL-1.0",
+ "seeAlso": [
+ "http://www.eiffel-nice.org/license/forum.txt",
+ "https://opensource.org/licenses/EFL-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Newsletr.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Newsletr.json",
+ "referenceNumber": 291,
+ "name": "Newsletr License",
+ "licenseId": "Newsletr",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Newsletr"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/copyleft-next-0.3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/copyleft-next-0.3.0.json",
+ "referenceNumber": 292,
+ "name": "copyleft-next 0.3.0",
+ "licenseId": "copyleft-next-0.3.0",
+ "seeAlso": [
+ "https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-3.0-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GPL-3.0-or-later.json",
+ "referenceNumber": 293,
+ "name": "GNU General Public License v3.0 or later",
+ "licenseId": "GPL-3.0-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/gpl-3.0-standalone.html",
+ "https://opensource.org/licenses/GPL-3.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CDLA-Permissive-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CDLA-Permissive-2.0.json",
+ "referenceNumber": 294,
+ "name": "Community Data License Agreement Permissive 2.0",
+ "licenseId": "CDLA-Permissive-2.0",
+ "seeAlso": [
+ "https://cdla.dev/permissive-2-0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-ND-3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-3.0.json",
+ "referenceNumber": 295,
+ "name": "Creative Commons Attribution No Derivatives 3.0 Unported",
+ "licenseId": "CC-BY-ND-3.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nd/3.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/C-UDA-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/C-UDA-1.0.json",
+ "referenceNumber": 296,
+ "name": "Computational Use of Data Agreement v1.0",
+ "licenseId": "C-UDA-1.0",
+ "seeAlso": [
+ "https://github.com/microsoft/Computational-Use-of-Data-Agreement/blob/master/C-UDA-1.0.md",
+ "https://cdla.dev/computational-use-of-data-agreement-v1-0/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Barr.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Barr.json",
+ "referenceNumber": 297,
+ "name": "Barr License",
+ "licenseId": "Barr",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Barr"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Vim.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Vim.json",
+ "referenceNumber": 298,
+ "name": "Vim License",
+ "licenseId": "Vim",
+ "seeAlso": [
+ "http://vimdoc.sourceforge.net/htmldoc/uganda.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.json",
+ "referenceNumber": 299,
+ "name": "GNU General Public License v2.0 w/Classpath exception",
+ "licenseId": "GPL-2.0-with-classpath-exception",
+ "seeAlso": [
+ "https://www.gnu.org/software/classpath/license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/BitTorrent-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BitTorrent-1.1.json",
+ "referenceNumber": 300,
+ "name": "BitTorrent Open Source License v1.1",
+ "licenseId": "BitTorrent-1.1",
+ "seeAlso": [
+ "http://directory.fsf.org/wiki/License:BitTorrentOSL1.1"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CDL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CDL-1.0.json",
+ "referenceNumber": 301,
+ "name": "Common Documentation License 1.0",
+ "licenseId": "CDL-1.0",
+ "seeAlso": [
+ "http://www.opensource.apple.com/cdl/",
+ "https://fedoraproject.org/wiki/Licensing/Common_Documentation_License",
+ "https://www.gnu.org/licenses/license-list.html#ACDL"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-SA-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-1.0.json",
+ "referenceNumber": 302,
+ "name": "Creative Commons Attribution Share Alike 1.0 Generic",
+ "licenseId": "CC-BY-SA-1.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-sa/1.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/ADSL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ADSL.json",
+ "referenceNumber": 303,
+ "name": "Amazon Digital Services License",
+ "licenseId": "ADSL",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/AmazonDigitalServicesLicense"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/PostgreSQL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/PostgreSQL.json",
+ "referenceNumber": 304,
+ "name": "PostgreSQL License",
+ "licenseId": "PostgreSQL",
+ "seeAlso": [
+ "http://www.postgresql.org/about/licence",
+ "https://opensource.org/licenses/PostgreSQL"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OFL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OFL-1.1.json",
+ "referenceNumber": 305,
+ "name": "SIL Open Font License 1.1",
+ "licenseId": "OFL-1.1",
+ "seeAlso": [
+ "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web",
+ "https://opensource.org/licenses/OFL-1.1"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/NPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NPL-1.0.json",
+ "referenceNumber": 306,
+ "name": "Netscape Public License v1.0",
+ "licenseId": "NPL-1.0",
+ "seeAlso": [
+ "http://www.mozilla.org/MPL/NPL/1.0/"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/xinetd.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/xinetd.json",
+ "referenceNumber": 307,
+ "name": "xinetd License",
+ "licenseId": "xinetd",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Xinetd_License"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-2.0-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.0-only.json",
+ "referenceNumber": 308,
+ "name": "GNU Library General Public License v2 only",
+ "licenseId": "LGPL-2.0-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/zlib-acknowledgement.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/zlib-acknowledgement.json",
+ "referenceNumber": 309,
+ "name": "zlib/libpng License with Acknowledgement",
+ "licenseId": "zlib-acknowledgement",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/ZlibWithAcknowledgement"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.2.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.1.json",
+ "referenceNumber": 310,
+ "name": "Open LDAP Public License v2.2.1",
+ "licenseId": "OLDAP-2.2.1",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d4bc786f34b50aa301be6f5600f58a980070f481e"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/APSL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/APSL-1.0.json",
+ "referenceNumber": 311,
+ "name": "Apple Public Source License 1.0",
+ "licenseId": "APSL-1.0",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Apple_Public_Source_License_1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-3-Clause-LBNL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-LBNL.json",
+ "referenceNumber": 312,
+ "name": "Lawrence Berkeley National Labs BSD variant license",
+ "licenseId": "BSD-3-Clause-LBNL",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/LBNLBSD"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GLWTPL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GLWTPL.json",
+ "referenceNumber": 313,
+ "name": "Good Luck With That Public License",
+ "licenseId": "GLWTPL",
+ "seeAlso": [
+ "https://github.com/me-shaon/GLWTPL/commit/da5f6bc734095efbacb442c0b31e33a65b9d6e85"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-3.0-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-3.0-only.json",
+ "referenceNumber": 314,
+ "name": "GNU Lesser General Public License v3.0 only",
+ "licenseId": "LGPL-3.0-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/lgpl-3.0-standalone.html",
+ "https://opensource.org/licenses/LGPL-3.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OGC-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OGC-1.0.json",
+ "referenceNumber": 315,
+ "name": "OGC Software License, Version 1.0",
+ "licenseId": "OGC-1.0",
+ "seeAlso": [
+ "https://www.ogc.org/ogc/software/1.0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Dotseqn.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Dotseqn.json",
+ "referenceNumber": 316,
+ "name": "Dotseqn License",
+ "licenseId": "Dotseqn",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Dotseqn"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/MakeIndex.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MakeIndex.json",
+ "referenceNumber": 317,
+ "name": "MakeIndex License",
+ "licenseId": "MakeIndex",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/MakeIndex"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-3.0-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GPL-3.0-only.json",
+ "referenceNumber": 318,
+ "name": "GNU General Public License v3.0 only",
+ "licenseId": "GPL-3.0-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/gpl-3.0-standalone.html",
+ "https://opensource.org/licenses/GPL-3.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.json",
+ "referenceNumber": 319,
+ "name": "BSD 3-Clause No Nuclear License 2014",
+ "licenseId": "BSD-3-Clause-No-Nuclear-License-2014",
+ "seeAlso": [
+ "https://java.net/projects/javaeetutorial/pages/BerkeleyLicense"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-1.0-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GPL-1.0-only.json",
+ "referenceNumber": 320,
+ "name": "GNU General Public License v1.0 only",
+ "licenseId": "GPL-1.0-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/IJG.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/IJG.json",
+ "referenceNumber": 321,
+ "name": "Independent JPEG Group License",
+ "licenseId": "IJG",
+ "seeAlso": [
+ "http://dev.w3.org/cvsweb/Amaya/libjpeg/Attic/README?rev\u003d1.2"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/AGPL-1.0-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-or-later.json",
+ "referenceNumber": 322,
+ "name": "Affero General Public License v1.0 or later",
+ "licenseId": "AGPL-1.0-or-later",
+ "seeAlso": [
+ "http://www.affero.org/oagpl.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OFL-1.1-no-RFN.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OFL-1.1-no-RFN.json",
+ "referenceNumber": 323,
+ "name": "SIL Open Font License 1.1 with no Reserved Font Name",
+ "licenseId": "OFL-1.1-no-RFN",
+ "seeAlso": [
+ "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web",
+ "https://opensource.org/licenses/OFL-1.1"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSL-1.0.json",
+ "referenceNumber": 324,
+ "name": "Boost Software License 1.0",
+ "licenseId": "BSL-1.0",
+ "seeAlso": [
+ "http://www.boost.org/LICENSE_1_0.txt",
+ "https://opensource.org/licenses/BSL-1.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Libpng.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Libpng.json",
+ "referenceNumber": 325,
+ "name": "libpng License",
+ "licenseId": "Libpng",
+ "seeAlso": [
+ "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-3.0.json",
+ "referenceNumber": 326,
+ "name": "Creative Commons Attribution Non Commercial 3.0 Unported",
+ "licenseId": "CC-BY-NC-3.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc/3.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-2.0.json",
+ "referenceNumber": 327,
+ "name": "Creative Commons Attribution Non Commercial 2.0 Generic",
+ "licenseId": "CC-BY-NC-2.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc/2.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Unlicense.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Unlicense.json",
+ "referenceNumber": 328,
+ "name": "The Unlicense",
+ "licenseId": "Unlicense",
+ "seeAlso": [
+ "https://unlicense.org/"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/LPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LPL-1.0.json",
+ "referenceNumber": 329,
+ "name": "Lucent Public License Version 1.0",
+ "licenseId": "LPL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/LPL-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/bzip2-1.0.5.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/bzip2-1.0.5.json",
+ "referenceNumber": 330,
+ "name": "bzip2 and libbzip2 License v1.0.5",
+ "licenseId": "bzip2-1.0.5",
+ "seeAlso": [
+ "https://sourceware.org/bzip2/1.0.5/bzip2-manual-1.0.5.html",
+ "http://bzip.org/1.0.5/bzip2-manual-1.0.5.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Entessa.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Entessa.json",
+ "referenceNumber": 331,
+ "name": "Entessa Public License v1.0",
+ "licenseId": "Entessa",
+ "seeAlso": [
+ "https://opensource.org/licenses/Entessa"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-2-Clause-Patent.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-Patent.json",
+ "referenceNumber": 332,
+ "name": "BSD-2-Clause Plus Patent License",
+ "licenseId": "BSD-2-Clause-Patent",
+ "seeAlso": [
+ "https://opensource.org/licenses/BSDplusPatent"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/ECL-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ECL-2.0.json",
+ "referenceNumber": 333,
+ "name": "Educational Community License v2.0",
+ "licenseId": "ECL-2.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/ECL-2.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Crossword.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Crossword.json",
+ "referenceNumber": 334,
+ "name": "Crossword License",
+ "licenseId": "Crossword",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Crossword"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-ND-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-1.0.json",
+ "referenceNumber": 335,
+ "name": "Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic",
+ "licenseId": "CC-BY-NC-ND-1.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nd-nc/1.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OCLC-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OCLC-2.0.json",
+ "referenceNumber": 336,
+ "name": "OCLC Research Public License 2.0",
+ "licenseId": "OCLC-2.0",
+ "seeAlso": [
+ "http://www.oclc.org/research/activities/software/license/v2final.htm",
+ "https://opensource.org/licenses/OCLC-2.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CECILL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CECILL-1.1.json",
+ "referenceNumber": 337,
+ "name": "CeCILL Free Software License Agreement v1.1",
+ "licenseId": "CECILL-1.1",
+ "seeAlso": [
+ "http://www.cecill.info/licences/Licence_CeCILL_V1.1-US.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CECILL-2.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CECILL-2.1.json",
+ "referenceNumber": 338,
+ "name": "CeCILL Free Software License Agreement v2.1",
+ "licenseId": "CECILL-2.1",
+ "seeAlso": [
+ "http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.html"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OGDL-Taiwan-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OGDL-Taiwan-1.0.json",
+ "referenceNumber": 339,
+ "name": "Taiwan Open Government Data License, version 1.0",
+ "licenseId": "OGDL-Taiwan-1.0",
+ "seeAlso": [
+ "https://data.gov.tw/license"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Abstyles.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Abstyles.json",
+ "referenceNumber": 340,
+ "name": "Abstyles License",
+ "licenseId": "Abstyles",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Abstyles"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/libselinux-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/libselinux-1.0.json",
+ "referenceNumber": 341,
+ "name": "libselinux public domain notice",
+ "licenseId": "libselinux-1.0",
+ "seeAlso": [
+ "https://github.com/SELinuxProject/selinux/blob/master/libselinux/LICENSE"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/ANTLR-PD.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ANTLR-PD.json",
+ "referenceNumber": 342,
+ "name": "ANTLR Software Rights Notice",
+ "licenseId": "ANTLR-PD",
+ "seeAlso": [
+ "http://www.antlr2.org/license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-2.0-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GPL-2.0-or-later.json",
+ "referenceNumber": 343,
+ "name": "GNU General Public License v2.0 or later",
+ "licenseId": "GPL-2.0-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",
+ "https://opensource.org/licenses/GPL-2.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/IPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/IPL-1.0.json",
+ "referenceNumber": 344,
+ "name": "IBM Public License v1.0",
+ "licenseId": "IPL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/IPL-1.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MIT-enna.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MIT-enna.json",
+ "referenceNumber": 345,
+ "name": "enna License",
+ "licenseId": "MIT-enna",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/MIT#enna"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CPOL-1.02.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CPOL-1.02.json",
+ "referenceNumber": 346,
+ "name": "Code Project Open License 1.02",
+ "licenseId": "CPOL-1.02",
+ "seeAlso": [
+ "http://www.codeproject.com/info/cpol10.aspx"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.json",
+ "referenceNumber": 347,
+ "name": "Creative Commons Attribution Share Alike 3.0 Austria",
+ "licenseId": "CC-BY-SA-3.0-AT",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-sa/3.0/at/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.json",
+ "referenceNumber": 348,
+ "name": "GNU General Public License v3.0 w/GCC Runtime Library exception",
+ "licenseId": "GPL-3.0-with-GCC-exception",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/gcc-exception-3.1.html"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-1-Clause.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-1-Clause.json",
+ "referenceNumber": 349,
+ "name": "BSD 1-Clause License",
+ "licenseId": "BSD-1-Clause",
+ "seeAlso": [
+ "https://svnweb.freebsd.org/base/head/include/ifaddrs.h?revision\u003d326823"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/NTP-0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NTP-0.json",
+ "referenceNumber": 350,
+ "name": "NTP No Attribution",
+ "licenseId": "NTP-0",
+ "seeAlso": [
+ "https://github.com/tytso/e2fsprogs/blob/master/lib/et/et_name.c"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SugarCRM-1.1.3.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SugarCRM-1.1.3.json",
+ "referenceNumber": 351,
+ "name": "SugarCRM Public License v1.1.3",
+ "licenseId": "SugarCRM-1.1.3",
+ "seeAlso": [
+ "http://www.sugarcrm.com/crm/SPL"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/MIT.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MIT.json",
+ "referenceNumber": 352,
+ "name": "MIT License",
+ "licenseId": "MIT",
+ "seeAlso": [
+ "https://opensource.org/licenses/MIT"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OFL-1.1-RFN.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OFL-1.1-RFN.json",
+ "referenceNumber": 353,
+ "name": "SIL Open Font License 1.1 with Reserved Font Name",
+ "licenseId": "OFL-1.1-RFN",
+ "seeAlso": [
+ "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web",
+ "https://opensource.org/licenses/OFL-1.1"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Watcom-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Watcom-1.0.json",
+ "referenceNumber": 354,
+ "name": "Sybase Open Watcom Public License 1.0",
+ "licenseId": "Watcom-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/Watcom-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-FR.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-FR.json",
+ "referenceNumber": 355,
+ "name": "Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France",
+ "licenseId": "CC-BY-NC-SA-2.0-FR",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-sa/2.0/fr/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/ODbL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ODbL-1.0.json",
+ "referenceNumber": 356,
+ "name": "Open Data Commons Open Database License v1.0",
+ "licenseId": "ODbL-1.0",
+ "seeAlso": [
+ "http://www.opendatacommons.org/licenses/odbl/1.0/",
+ "https://opendatacommons.org/licenses/odbl/1-0/"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/FSFULLR.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/FSFULLR.json",
+ "referenceNumber": 357,
+ "name": "FSF Unlimited License (with License Retention)",
+ "licenseId": "FSFULLR",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License#License_Retention_Variant"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-1.3.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-1.3.json",
+ "referenceNumber": 358,
+ "name": "Open LDAP Public License v1.3",
+ "licenseId": "OLDAP-1.3",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003de5f8117f0ce088d0bd7a8e18ddf37eaa40eb09b1"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SSH-OpenSSH.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SSH-OpenSSH.json",
+ "referenceNumber": 359,
+ "name": "SSH OpenSSH license",
+ "licenseId": "SSH-OpenSSH",
+ "seeAlso": [
+ "https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/LICENCE#L10"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-2-Clause.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause.json",
+ "referenceNumber": 360,
+ "name": "BSD 2-Clause \"Simplified\" License",
+ "licenseId": "BSD-2-Clause",
+ "seeAlso": [
+ "https://opensource.org/licenses/BSD-2-Clause"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/HPND.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/HPND.json",
+ "referenceNumber": 361,
+ "name": "Historical Permission Notice and Disclaimer",
+ "licenseId": "HPND",
+ "seeAlso": [
+ "https://opensource.org/licenses/HPND"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Zimbra-1.3.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Zimbra-1.3.json",
+ "referenceNumber": 362,
+ "name": "Zimbra Public License v1.3",
+ "licenseId": "Zimbra-1.3",
+ "seeAlso": [
+ "http://web.archive.org/web/20100302225219/http://www.zimbra.com/license/zimbra-public-license-1-3.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Borceux.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Borceux.json",
+ "referenceNumber": 363,
+ "name": "Borceux license",
+ "licenseId": "Borceux",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Borceux"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-1.1.json",
+ "referenceNumber": 364,
+ "name": "Open LDAP Public License v1.1",
+ "licenseId": "OLDAP-1.1",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d806557a5ad59804ef3a44d5abfbe91d706b0791f"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OFL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OFL-1.0.json",
+ "referenceNumber": 365,
+ "name": "SIL Open Font License 1.0",
+ "licenseId": "OFL-1.0",
+ "seeAlso": [
+ "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/NASA-1.3.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NASA-1.3.json",
+ "referenceNumber": 366,
+ "name": "NASA Open Source Agreement 1.3",
+ "licenseId": "NASA-1.3",
+ "seeAlso": [
+ "http://ti.arc.nasa.gov/opensource/nosa/",
+ "https://opensource.org/licenses/NASA-1.3"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/VOSTROM.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/VOSTROM.json",
+ "referenceNumber": 367,
+ "name": "VOSTROM Public License for Open Source",
+ "licenseId": "VOSTROM",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/VOSTROM"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/MIT-0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MIT-0.json",
+ "referenceNumber": 368,
+ "name": "MIT No Attribution",
+ "licenseId": "MIT-0",
+ "seeAlso": [
+ "https://github.com/aws/mit-0",
+ "https://romanrm.net/mit-zero",
+ "https://github.com/awsdocs/aws-cloud9-user-guide/blob/master/LICENSE-SAMPLECODE"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/ISC.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ISC.json",
+ "referenceNumber": 369,
+ "name": "ISC License",
+ "licenseId": "ISC",
+ "seeAlso": [
+ "https://www.isc.org/licenses/",
+ "https://www.isc.org/downloads/software-support-policy/isc-license/",
+ "https://opensource.org/licenses/ISC"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Unicode-DFS-2016.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Unicode-DFS-2016.json",
+ "referenceNumber": 370,
+ "name": "Unicode License Agreement - Data Files and Software (2016)",
+ "licenseId": "Unicode-DFS-2016",
+ "seeAlso": [
+ "http://www.unicode.org/copyright.html"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BlueOak-1.0.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BlueOak-1.0.0.json",
+ "referenceNumber": 371,
+ "name": "Blue Oak Model License 1.0.0",
+ "licenseId": "BlueOak-1.0.0",
+ "seeAlso": [
+ "https://blueoakcouncil.org/license/1.0.0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LiLiQ-Rplus-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LiLiQ-Rplus-1.1.json",
+ "referenceNumber": 372,
+ "name": "Licence Libre du Québec – Réciprocité forte version 1.1",
+ "licenseId": "LiLiQ-Rplus-1.1",
+ "seeAlso": [
+ "https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-forte-liliq-r-v1-1/",
+ "http://opensource.org/licenses/LiLiQ-Rplus-1.1"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/NOSL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NOSL.json",
+ "referenceNumber": 373,
+ "name": "Netizen Open Source License",
+ "licenseId": "NOSL",
+ "seeAlso": [
+ "http://bits.netizen.com.au/licenses/NOSL/nosl.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/SMLNJ.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SMLNJ.json",
+ "referenceNumber": 374,
+ "name": "Standard ML of New Jersey License",
+ "licenseId": "SMLNJ",
+ "seeAlso": [
+ "https://www.smlnj.org/license.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-3.0+.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-3.0+.json",
+ "referenceNumber": 375,
+ "name": "GNU Lesser General Public License v3.0 or later",
+ "licenseId": "LGPL-3.0+",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/lgpl-3.0-standalone.html",
+ "https://opensource.org/licenses/LGPL-3.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CPAL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CPAL-1.0.json",
+ "referenceNumber": 376,
+ "name": "Common Public Attribution License 1.0",
+ "licenseId": "CPAL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/CPAL-1.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/PSF-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/PSF-2.0.json",
+ "referenceNumber": 377,
+ "name": "Python Software Foundation License 2.0",
+ "licenseId": "PSF-2.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/Python-2.0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/RPL-1.5.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/RPL-1.5.json",
+ "referenceNumber": 378,
+ "name": "Reciprocal Public License 1.5",
+ "licenseId": "RPL-1.5",
+ "seeAlso": [
+ "https://opensource.org/licenses/RPL-1.5"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.json",
+ "referenceNumber": 379,
+ "name": "BSD 2-Clause FreeBSD License",
+ "licenseId": "BSD-2-Clause-FreeBSD",
+ "seeAlso": [
+ "http://www.freebsd.org/copyright/freebsd-license.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MIT-Modern-Variant.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MIT-Modern-Variant.json",
+ "referenceNumber": 380,
+ "name": "MIT License Modern Variant",
+ "licenseId": "MIT-Modern-Variant",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing:MIT#Modern_Variants",
+ "https://ptolemy.berkeley.edu/copyright.htm",
+ "https://pirlwww.lpl.arizona.edu/resources/guide/software/PerlTk/Tixlic.html"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Nokia.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Nokia.json",
+ "referenceNumber": 381,
+ "name": "Nokia Open Source License",
+ "licenseId": "Nokia",
+ "seeAlso": [
+ "https://opensource.org/licenses/nokia"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.1-no-invariants-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-no-invariants-only.json",
+ "referenceNumber": 382,
+ "name": "GNU Free Documentation License v1.1 only - no invariants",
+ "licenseId": "GFDL-1.1-no-invariants-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/PDDL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/PDDL-1.0.json",
+ "referenceNumber": 383,
+ "name": "Open Data Commons Public Domain Dedication \u0026 License 1.0",
+ "licenseId": "PDDL-1.0",
+ "seeAlso": [
+ "http://opendatacommons.org/licenses/pddl/1.0/",
+ "https://opendatacommons.org/licenses/pddl/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/EUPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/EUPL-1.0.json",
+ "referenceNumber": 384,
+ "name": "European Union Public License 1.0",
+ "licenseId": "EUPL-1.0",
+ "seeAlso": [
+ "http://ec.europa.eu/idabc/en/document/7330.html",
+ "http://ec.europa.eu/idabc/servlets/Doc027f.pdf?id\u003d31096"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CDDL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CDDL-1.1.json",
+ "referenceNumber": 385,
+ "name": "Common Development and Distribution License 1.1",
+ "licenseId": "CDDL-1.1",
+ "seeAlso": [
+ "http://glassfish.java.net/public/CDDL+GPL_1_1.html",
+ "https://javaee.github.io/glassfish/LICENSE"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.3-only.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-only.json",
+ "referenceNumber": 386,
+ "name": "GNU Free Documentation License v1.3 only",
+ "licenseId": "GFDL-1.3-only",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.6.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.6.json",
+ "referenceNumber": 387,
+ "name": "Open LDAP Public License v2.6",
+ "licenseId": "OLDAP-2.6",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d1cae062821881f41b73012ba816434897abf4205"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/JSON.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/JSON.json",
+ "referenceNumber": 388,
+ "name": "JSON License",
+ "licenseId": "JSON",
+ "seeAlso": [
+ "http://www.json.org/license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-3.0-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-3.0-or-later.json",
+ "referenceNumber": 389,
+ "name": "GNU Lesser General Public License v3.0 or later",
+ "licenseId": "LGPL-3.0-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/lgpl-3.0-standalone.html",
+ "https://opensource.org/licenses/LGPL-3.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-3.0.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-3.0.json",
+ "referenceNumber": 390,
+ "name": "GNU General Public License v3.0 only",
+ "licenseId": "GPL-3.0",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/gpl-3.0-standalone.html",
+ "https://opensource.org/licenses/GPL-3.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Fair.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Fair.json",
+ "referenceNumber": 391,
+ "name": "Fair License",
+ "licenseId": "Fair",
+ "seeAlso": [
+ "http://fairlicense.org/",
+ "https://opensource.org/licenses/Fair"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-2.0-with-font-exception.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-font-exception.json",
+ "referenceNumber": 392,
+ "name": "GNU General Public License v2.0 w/Font exception",
+ "licenseId": "GPL-2.0-with-font-exception",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/gpl-faq.html#FontException"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OSL-2.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OSL-2.1.json",
+ "referenceNumber": 393,
+ "name": "Open Software License 2.1",
+ "licenseId": "OSL-2.1",
+ "seeAlso": [
+ "http://web.archive.org/web/20050212003940/http://www.rosenlaw.com/osl21.htm",
+ "https://opensource.org/licenses/OSL-2.1"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/LPPL-1.3a.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LPPL-1.3a.json",
+ "referenceNumber": 394,
+ "name": "LaTeX Project Public License v1.3a",
+ "licenseId": "LPPL-1.3a",
+ "seeAlso": [
+ "http://www.latex-project.org/lppl/lppl-1-3a.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/NAIST-2003.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NAIST-2003.json",
+ "referenceNumber": 395,
+ "name": "Nara Institute of Science and Technology License (2003)",
+ "licenseId": "NAIST-2003",
+ "seeAlso": [
+ "https://enterprise.dejacode.com/licenses/public/naist-2003/#license-text",
+ "https://github.com/nodejs/node/blob/4a19cc8947b1bba2b2d27816ec3d0edf9b28e503/LICENSE#L343"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-ND-4.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-4.0.json",
+ "referenceNumber": 396,
+ "name": "Creative Commons Attribution Non Commercial No Derivatives 4.0 International",
+ "licenseId": "CC-BY-NC-ND-4.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-3.0-DE.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-3.0-DE.json",
+ "referenceNumber": 397,
+ "name": "Creative Commons Attribution Non Commercial 3.0 Germany",
+ "licenseId": "CC-BY-NC-3.0-DE",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc/3.0/de/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-2.1+.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.1+.json",
+ "referenceNumber": 398,
+ "name": "GNU Library General Public License v2.1 or later",
+ "licenseId": "LGPL-2.1+",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
+ "https://opensource.org/licenses/LGPL-2.1"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OPL-1.0.json",
+ "referenceNumber": 399,
+ "name": "Open Public License v1.0",
+ "licenseId": "OPL-1.0",
+ "seeAlso": [
+ "http://old.koalateam.com/jackaroo/OPL_1_0.TXT",
+ "https://fedoraproject.org/wiki/Licensing/Open_Public_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/HPND-sell-variant.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/HPND-sell-variant.json",
+ "referenceNumber": 400,
+ "name": "Historical Permission Notice and Disclaimer - sell variant",
+ "licenseId": "HPND-sell-variant",
+ "seeAlso": [
+ "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/sunrpc/auth_gss/gss_generic_token.c?h\u003dv4.19"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/QPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/QPL-1.0.json",
+ "referenceNumber": 401,
+ "name": "Q Public License 1.0",
+ "licenseId": "QPL-1.0",
+ "seeAlso": [
+ "http://doc.qt.nokia.com/3.3/license.html",
+ "https://opensource.org/licenses/QPL-1.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/EUPL-1.2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/EUPL-1.2.json",
+ "referenceNumber": 402,
+ "name": "European Union Public License 1.2",
+ "licenseId": "EUPL-1.2",
+ "seeAlso": [
+ "https://joinup.ec.europa.eu/page/eupl-text-11-12",
+ "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/eupl_v1.2_en.pdf",
+ "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/2020-03/EUPL-1.2%20EN.txt",
+ "https://joinup.ec.europa.eu/sites/default/files/inline-files/EUPL%20v1_2%20EN(1).txt",
+ "http://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri\u003dCELEX:32017D0863",
+ "https://opensource.org/licenses/EUPL-1.2"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.json",
+ "referenceNumber": 403,
+ "name": "GNU Free Documentation License v1.2 or later - no invariants",
+ "licenseId": "GFDL-1.2-no-invariants-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/eCos-2.0.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/eCos-2.0.json",
+ "referenceNumber": 404,
+ "name": "eCos license version 2.0",
+ "licenseId": "eCos-2.0",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/ecos-license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/NCGL-UK-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NCGL-UK-2.0.json",
+ "referenceNumber": 405,
+ "name": "Non-Commercial Government Licence",
+ "licenseId": "NCGL-UK-2.0",
+ "seeAlso": [
+ "http://www.nationalarchives.gov.uk/doc/non-commercial-government-licence/version/2/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Beerware.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Beerware.json",
+ "referenceNumber": 406,
+ "name": "Beerware License",
+ "licenseId": "Beerware",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Beerware",
+ "https://people.freebsd.org/~phk/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.json",
+ "referenceNumber": 407,
+ "name": "BSD 3-Clause Open MPI variant",
+ "licenseId": "BSD-3-Clause-Open-MPI",
+ "seeAlso": [
+ "https://www.open-mpi.org/community/license.php",
+ "http://www.netlib.org/lapack/LICENSE.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.json",
+ "referenceNumber": 408,
+ "name": "GNU General Public License v2.0 w/Bison exception",
+ "licenseId": "GPL-2.0-with-bison-exception",
+ "seeAlso": [
+ "http://git.savannah.gnu.org/cgit/bison.git/tree/data/yacc.c?id\u003d193d7c7054ba7197b0789e14965b739162319b5e#n141"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CECILL-B.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CECILL-B.json",
+ "referenceNumber": 409,
+ "name": "CeCILL-B Free Software License Agreement",
+ "licenseId": "CECILL-B",
+ "seeAlso": [
+ "http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.json",
+ "referenceNumber": 410,
+ "name": "GNU General Public License v2.0 w/Autoconf exception",
+ "licenseId": "GPL-2.0-with-autoconf-exception",
+ "seeAlso": [
+ "http://ac-archive.sourceforge.net/doc/copyright.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/EPL-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/EPL-2.0.json",
+ "referenceNumber": 411,
+ "name": "Eclipse Public License 2.0",
+ "licenseId": "EPL-2.0",
+ "seeAlso": [
+ "https://www.eclipse.org/legal/epl-2.0",
+ "https://www.opensource.org/licenses/EPL-2.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MIT-feh.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MIT-feh.json",
+ "referenceNumber": 412,
+ "name": "feh License",
+ "licenseId": "MIT-feh",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/MIT#feh"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/RPL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/RPL-1.1.json",
+ "referenceNumber": 413,
+ "name": "Reciprocal Public License 1.1",
+ "licenseId": "RPL-1.1",
+ "seeAlso": [
+ "https://opensource.org/licenses/RPL-1.1"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CDLA-Permissive-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CDLA-Permissive-1.0.json",
+ "referenceNumber": 414,
+ "name": "Community Data License Agreement Permissive 1.0",
+ "licenseId": "CDLA-Permissive-1.0",
+ "seeAlso": [
+ "https://cdla.io/permissive-1-0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Python-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Python-2.0.json",
+ "referenceNumber": 415,
+ "name": "Python License 2.0",
+ "licenseId": "Python-2.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/Python-2.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MPL-1.0.json",
+ "referenceNumber": 416,
+ "name": "Mozilla Public License 1.0",
+ "licenseId": "MPL-1.0",
+ "seeAlso": [
+ "http://www.mozilla.org/MPL/MPL-1.0.html",
+ "https://opensource.org/licenses/MPL-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/GFDL-1.1-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-or-later.json",
+ "referenceNumber": 417,
+ "name": "GNU Free Documentation License v1.1 or later",
+ "licenseId": "GFDL-1.1-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/diffmark.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/diffmark.json",
+ "referenceNumber": 418,
+ "name": "diffmark license",
+ "licenseId": "diffmark",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/diffmark"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/GPL-1.0+.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-1.0+.json",
+ "referenceNumber": 419,
+ "name": "GNU General Public License v1.0 or later",
+ "licenseId": "GPL-1.0+",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OpenSSL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OpenSSL.json",
+ "referenceNumber": 420,
+ "name": "OpenSSL License",
+ "licenseId": "OpenSSL",
+ "seeAlso": [
+ "http://www.openssl.org/source/license.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OSL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OSL-1.0.json",
+ "referenceNumber": 421,
+ "name": "Open Software License 1.0",
+ "licenseId": "OSL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/OSL-1.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Parity-6.0.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Parity-6.0.0.json",
+ "referenceNumber": 422,
+ "name": "The Parity Public License 6.0.0",
+ "licenseId": "Parity-6.0.0",
+ "seeAlso": [
+ "https://paritylicense.com/versions/6.0.0.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/AGPL-1.0.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/AGPL-1.0.json",
+ "referenceNumber": 423,
+ "name": "Affero General Public License v1.0",
+ "licenseId": "AGPL-1.0",
+ "seeAlso": [
+ "http://www.affero.org/oagpl.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/YPL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/YPL-1.1.json",
+ "referenceNumber": 424,
+ "name": "Yahoo! Public License v1.1",
+ "licenseId": "YPL-1.1",
+ "seeAlso": [
+ "http://www.zimbra.com/license/yahoo_public_license_1.1.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/SSH-short.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SSH-short.json",
+ "referenceNumber": 425,
+ "name": "SSH short notice",
+ "licenseId": "SSH-short",
+ "seeAlso": [
+ "https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/pathnames.h",
+ "http://web.mit.edu/kolya/.f/root/athena.mit.edu/sipb.mit.edu/project/openssh/OldFiles/src/openssh-2.9.9p2/ssh-add.1",
+ "https://joinup.ec.europa.eu/svn/lesoll/trunk/italc/lib/src/dsa_key.cpp"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/IBM-pibs.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/IBM-pibs.json",
+ "referenceNumber": 426,
+ "name": "IBM PowerPC Initialization and Boot Software",
+ "licenseId": "IBM-pibs",
+ "seeAlso": [
+ "http://git.denx.de/?p\u003du-boot.git;a\u003dblob;f\u003darch/powerpc/cpu/ppc4xx/miiphy.c;h\u003d297155fdafa064b955e53e9832de93bfb0cfb85b;hb\u003d9fab4bf4cc077c21e43941866f3f2c196f28670d"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Xnet.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Xnet.json",
+ "referenceNumber": 427,
+ "name": "X.Net License",
+ "licenseId": "Xnet",
+ "seeAlso": [
+ "https://opensource.org/licenses/Xnet"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/TU-Berlin-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/TU-Berlin-1.0.json",
+ "referenceNumber": 428,
+ "name": "Technische Universitaet Berlin License 1.0",
+ "licenseId": "TU-Berlin-1.0",
+ "seeAlso": [
+ "https://github.com/swh/ladspa/blob/7bf6f3799fdba70fda297c2d8fd9f526803d9680/gsm/COPYRIGHT"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/AGPL-3.0.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/AGPL-3.0.json",
+ "referenceNumber": 429,
+ "name": "GNU Affero General Public License v3.0",
+ "licenseId": "AGPL-3.0",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/agpl.txt",
+ "https://opensource.org/licenses/AGPL-3.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CAL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CAL-1.0.json",
+ "referenceNumber": 430,
+ "name": "Cryptographic Autonomy License 1.0",
+ "licenseId": "CAL-1.0",
+ "seeAlso": [
+ "http://cryptographicautonomylicense.com/license-text.html",
+ "https://opensource.org/licenses/CAL-1.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/AFL-3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AFL-3.0.json",
+ "referenceNumber": 431,
+ "name": "Academic Free License v3.0",
+ "licenseId": "AFL-3.0",
+ "seeAlso": [
+ "http://www.rosenlaw.com/AFL3.0.htm",
+ "https://opensource.org/licenses/afl-3.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CECILL-C.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CECILL-C.json",
+ "referenceNumber": 432,
+ "name": "CeCILL-C Free Software License Agreement",
+ "licenseId": "CECILL-C",
+ "seeAlso": [
+ "http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OGL-UK-3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OGL-UK-3.0.json",
+ "referenceNumber": 433,
+ "name": "Open Government Licence v3.0",
+ "licenseId": "OGL-UK-3.0",
+ "seeAlso": [
+ "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-3-Clause-Clear.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Clear.json",
+ "referenceNumber": 434,
+ "name": "BSD 3-Clause Clear License",
+ "licenseId": "BSD-3-Clause-Clear",
+ "seeAlso": [
+ "http://labs.metacarta.com/license-explanation.html#license"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-3-Clause-Modification.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Modification.json",
+ "referenceNumber": 435,
+ "name": "BSD 3-Clause Modification",
+ "licenseId": "BSD-3-Clause-Modification",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing:BSD#Modification_Variant"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-SA-2.0-UK.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.0-UK.json",
+ "referenceNumber": 436,
+ "name": "Creative Commons Attribution Share Alike 2.0 England and Wales",
+ "licenseId": "CC-BY-SA-2.0-UK",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-sa/2.0/uk/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Saxpath.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Saxpath.json",
+ "referenceNumber": 437,
+ "name": "Saxpath License",
+ "licenseId": "Saxpath",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Saxpath_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/NLPL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NLPL.json",
+ "referenceNumber": 438,
+ "name": "No Limit Public License",
+ "licenseId": "NLPL",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/NLPL"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/SimPL-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SimPL-2.0.json",
+ "referenceNumber": 439,
+ "name": "Simple Public License 2.0",
+ "licenseId": "SimPL-2.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/SimPL-2.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/psfrag.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/psfrag.json",
+ "referenceNumber": 440,
+ "name": "psfrag License",
+ "licenseId": "psfrag",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/psfrag"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Spencer-86.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Spencer-86.json",
+ "referenceNumber": 441,
+ "name": "Spencer License 86",
+ "licenseId": "Spencer-86",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OCCT-PL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OCCT-PL.json",
+ "referenceNumber": 442,
+ "name": "Open CASCADE Technology Public License",
+ "licenseId": "OCCT-PL",
+ "seeAlso": [
+ "http://www.opencascade.com/content/occt-public-license"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CERN-OHL-S-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CERN-OHL-S-2.0.json",
+ "referenceNumber": 443,
+ "name": "CERN Open Hardware Licence Version 2 - Strongly Reciprocal",
+ "licenseId": "CERN-OHL-S-2.0",
+ "seeAlso": [
+ "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/ErlPL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ErlPL-1.1.json",
+ "referenceNumber": 444,
+ "name": "Erlang Public License v1.1",
+ "licenseId": "ErlPL-1.1",
+ "seeAlso": [
+ "http://www.erlang.org/EPLICENSE"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/MIT-CMU.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MIT-CMU.json",
+ "referenceNumber": 445,
+ "name": "CMU License",
+ "licenseId": "MIT-CMU",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing:MIT?rd\u003dLicensing/MIT#CMU_Style",
+ "https://github.com/python-pillow/Pillow/blob/fffb426092c8db24a5f4b6df243a8a3c01fb63cd/LICENSE"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/NIST-PD.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NIST-PD.json",
+ "referenceNumber": 446,
+ "name": "NIST Public Domain Notice",
+ "licenseId": "NIST-PD",
+ "seeAlso": [
+ "https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt",
+ "https://github.com/tcheneau/Routing/blob/f09f46fcfe636107f22f2c98348188a65a135d98/README.md"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OSL-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OSL-2.0.json",
+ "referenceNumber": 447,
+ "name": "Open Software License 2.0",
+ "licenseId": "OSL-2.0",
+ "seeAlso": [
+ "http://web.archive.org/web/20041020171434/http://www.rosenlaw.com/osl2.0.html"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/APSL-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/APSL-2.0.json",
+ "referenceNumber": 448,
+ "name": "Apple Public Source License 2.0",
+ "licenseId": "APSL-2.0",
+ "seeAlso": [
+ "http://www.opensource.apple.com/license/apsl/"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Leptonica.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Leptonica.json",
+ "referenceNumber": 449,
+ "name": "Leptonica License",
+ "licenseId": "Leptonica",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Leptonica"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/PolyForm-Small-Business-1.0.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/PolyForm-Small-Business-1.0.0.json",
+ "referenceNumber": 450,
+ "name": "PolyForm Small Business License 1.0.0",
+ "licenseId": "PolyForm-Small-Business-1.0.0",
+ "seeAlso": [
+ "https://polyformproject.org/licenses/small-business/1.0.0"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/LiLiQ-P-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LiLiQ-P-1.1.json",
+ "referenceNumber": 451,
+ "name": "Licence Libre du Québec – Permissive version 1.1",
+ "licenseId": "LiLiQ-P-1.1",
+ "seeAlso": [
+ "https://forge.gouv.qc.ca/licence/fr/liliq-v1-1/",
+ "http://opensource.org/licenses/LiLiQ-P-1.1"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/NetCDF.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NetCDF.json",
+ "referenceNumber": 452,
+ "name": "NetCDF license",
+ "licenseId": "NetCDF",
+ "seeAlso": [
+ "http://www.unidata.ucar.edu/software/netcdf/copyright.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/OML.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OML.json",
+ "referenceNumber": 453,
+ "name": "Open Market License",
+ "licenseId": "OML",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Open_Market_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/AGPL-3.0-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AGPL-3.0-or-later.json",
+ "referenceNumber": 454,
+ "name": "GNU Affero General Public License v3.0 or later",
+ "licenseId": "AGPL-3.0-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/agpl.txt",
+ "https://opensource.org/licenses/AGPL-3.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OLDAP-2.2.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.json",
+ "referenceNumber": 455,
+ "name": "Open LDAP Public License v2.2",
+ "licenseId": "OLDAP-2.2",
+ "seeAlso": [
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d470b0c18ec67621c85881b2733057fecf4a1acc3"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-3-Clause.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause.json",
+ "referenceNumber": 456,
+ "name": "BSD 3-Clause \"New\" or \"Revised\" License",
+ "licenseId": "BSD-3-Clause",
+ "seeAlso": [
+ "https://opensource.org/licenses/BSD-3-Clause"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/WTFPL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/WTFPL.json",
+ "referenceNumber": 457,
+ "name": "Do What The F*ck You Want To Public License",
+ "licenseId": "WTFPL",
+ "seeAlso": [
+ "http://www.wtfpl.net/about/",
+ "http://sam.zoy.org/wtfpl/COPYING"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/OGL-UK-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/OGL-UK-2.0.json",
+ "referenceNumber": 458,
+ "name": "Open Government Licence v2.0",
+ "licenseId": "OGL-UK-2.0",
+ "seeAlso": [
+ "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/2/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-3-Clause-Attribution.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Attribution.json",
+ "referenceNumber": 459,
+ "name": "BSD with attribution",
+ "licenseId": "BSD-3-Clause-Attribution",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/BSD_with_Attribution"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/RPSL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/RPSL-1.0.json",
+ "referenceNumber": 460,
+ "name": "RealNetworks Public Source License v1.0",
+ "licenseId": "RPSL-1.0",
+ "seeAlso": [
+ "https://helixcommunity.org/content/rpsl",
+ "https://opensource.org/licenses/RPSL-1.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-DE.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-DE.json",
+ "referenceNumber": 461,
+ "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany",
+ "licenseId": "CC-BY-NC-ND-3.0-DE",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc-nd/3.0/de/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/EUPL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/EUPL-1.1.json",
+ "referenceNumber": 462,
+ "name": "European Union Public License 1.1",
+ "licenseId": "EUPL-1.1",
+ "seeAlso": [
+ "https://joinup.ec.europa.eu/software/page/eupl/licence-eupl",
+ "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/eupl1.1.-licence-en_0.pdf",
+ "https://opensource.org/licenses/EUPL-1.1"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/Sendmail-8.23.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Sendmail-8.23.json",
+ "referenceNumber": 463,
+ "name": "Sendmail License 8.23",
+ "licenseId": "Sendmail-8.23",
+ "seeAlso": [
+ "https://www.proofpoint.com/sites/default/files/sendmail-license.pdf",
+ "https://web.archive.org/web/20181003101040/https://www.proofpoint.com/sites/default/files/sendmail-license.pdf"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/ODC-By-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ODC-By-1.0.json",
+ "referenceNumber": 464,
+ "name": "Open Data Commons Attribution License v1.0",
+ "licenseId": "ODC-By-1.0",
+ "seeAlso": [
+ "https://opendatacommons.org/licenses/by/1.0/"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/D-FSL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/D-FSL-1.0.json",
+ "referenceNumber": 465,
+ "name": "Deutsche Freie Software Lizenz",
+ "licenseId": "D-FSL-1.0",
+ "seeAlso": [
+ "http://www.dipp.nrw.de/d-fsl/lizenzen/",
+ "http://www.dipp.nrw.de/d-fsl/index_html/lizenzen/de/D-FSL-1_0_de.txt",
+ "http://www.dipp.nrw.de/d-fsl/index_html/lizenzen/en/D-FSL-1_0_en.txt",
+ "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl",
+ "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/deutsche-freie-software-lizenz",
+ "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/german-free-software-license",
+ "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/D-FSL-1_0_de.txt/at_download/file",
+ "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/D-FSL-1_0_en.txt/at_download/file"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-4-Clause.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause.json",
+ "referenceNumber": 466,
+ "name": "BSD 4-Clause \"Original\" or \"Old\" License",
+ "licenseId": "BSD-4-Clause",
+ "seeAlso": [
+ "http://directory.fsf.org/wiki/License:BSD_4Clause"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/LGPL-2.1.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.1.json",
+ "referenceNumber": 467,
+ "name": "GNU Lesser General Public License v2.1 only",
+ "licenseId": "LGPL-2.1",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
+ "https://opensource.org/licenses/LGPL-2.1"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/BSD-2-Clause-Views.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-Views.json",
+ "referenceNumber": 468,
+ "name": "BSD 2-Clause with views sentence",
+ "licenseId": "BSD-2-Clause-Views",
+ "seeAlso": [
+ "http://www.freebsd.org/copyright/freebsd-license.html",
+ "https://people.freebsd.org/~ivoras/wine/patch-wine-nvidia.sh",
+ "https://github.com/protegeproject/protege/blob/master/license.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Artistic-1.0-Perl.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Artistic-1.0-Perl.json",
+ "referenceNumber": 469,
+ "name": "Artistic License 1.0 (Perl)",
+ "licenseId": "Artistic-1.0-Perl",
+ "seeAlso": [
+ "http://dev.perl.org/licenses/artistic.html"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/NPOSL-3.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NPOSL-3.0.json",
+ "referenceNumber": 470,
+ "name": "Non-Profit Open Software License 3.0",
+ "licenseId": "NPOSL-3.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/NOSL3.0"
+ ],
+ "isOsiApproved": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/gSOAP-1.3b.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/gSOAP-1.3b.json",
+ "referenceNumber": 471,
+ "name": "gSOAP Public License v1.3b",
+ "licenseId": "gSOAP-1.3b",
+ "seeAlso": [
+ "http://www.cs.fsu.edu/~engelen/license.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/Interbase-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Interbase-1.0.json",
+ "referenceNumber": 472,
+ "name": "Interbase Public License v1.0",
+ "licenseId": "Interbase-1.0",
+ "seeAlso": [
+ "https://web.archive.org/web/20060319014854/http://info.borland.com/devsupport/interbase/opensource/IPL.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/StandardML-NJ.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/StandardML-NJ.json",
+ "referenceNumber": 473,
+ "name": "Standard ML of New Jersey License",
+ "licenseId": "StandardML-NJ",
+ "seeAlso": [
+ "http://www.smlnj.org//license.html"
+ ],
+ "isOsiApproved": false
+ }
+ ],
+ "releaseDate": "2021-08-08"
+} \ No newline at end of file
diff --git a/poky/meta/lib/buildstats.py b/poky/meta/lib/buildstats.py
index 8627ed3c3..c52b6c3b7 100644
--- a/poky/meta/lib/buildstats.py
+++ b/poky/meta/lib/buildstats.py
@@ -43,8 +43,8 @@ class SystemStats:
# depends on the heartbeat event, which fires less often.
self.min_seconds = 1
- self.meminfo_regex = re.compile(b'^(MemTotal|MemFree|Buffers|Cached|SwapTotal|SwapFree):\s*(\d+)')
- self.diskstats_regex = re.compile(b'^([hsv]d.|mtdblock\d|mmcblk\d|cciss/c\d+d\d+.*)$')
+ self.meminfo_regex = re.compile(rb'^(MemTotal|MemFree|Buffers|Cached|SwapTotal|SwapFree):\s*(\d+)')
+ self.diskstats_regex = re.compile(rb'^([hsv]d.|mtdblock\d|mmcblk\d|cciss/c\d+d\d+.*)$')
self.diskstats_ltime = None
self.diskstats_data = None
self.stat_ltimes = None
diff --git a/poky/meta/lib/oe/maketype.py b/poky/meta/lib/oe/maketype.py
index d929c8b3e..d36082c53 100644
--- a/poky/meta/lib/oe/maketype.py
+++ b/poky/meta/lib/oe/maketype.py
@@ -10,12 +10,7 @@ the arguments of the type's factory for details.
import inspect
import oe.types as types
-try:
- # Python 3.7+
- from collections.abc import Callable
-except ImportError:
- # Python < 3.7
- from collections import Callable
+from collections.abc import Callable
available_types = {}
diff --git a/poky/meta/lib/oe/packagedata.py b/poky/meta/lib/oe/packagedata.py
index 0b17897e4..02c81e5a5 100644
--- a/poky/meta/lib/oe/packagedata.py
+++ b/poky/meta/lib/oe/packagedata.py
@@ -57,6 +57,18 @@ def read_subpkgdata_dict(pkg, d):
ret[newvar] = subd[var]
return ret
+def read_subpkgdata_extended(pkg, d):
+ import json
+ import bb.compress.zstd
+
+ fn = d.expand("${PKGDATA_DIR}/extended/%s.json.zstd" % pkg)
+ try:
+ num_threads = int(d.getVar("BB_NUMBER_THREADS"))
+ with bb.compress.zstd.open(fn, "rt", encoding="utf-8", num_threads=num_threads) as f:
+ return json.load(f)
+ except FileNotFoundError:
+ return None
+
def _pkgmap(d):
"""Return a dictionary mapping package to recipe name."""
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index 4ea5adb9f..b0dd62553 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -253,7 +253,7 @@ class Rootfs(object, metaclass=ABCMeta):
# Remove the run-postinsts package if no delayed postinsts are found
delayed_postinsts = self._get_delayed_postinsts()
if delayed_postinsts is None:
- if os.path.exists(self.d.expand("${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts")) or os.path.exists(self.d.expand("${IMAGE_ROOTFS}${systemd_unitdir}/system/run-postinsts.service")):
+ if os.path.exists(self.d.expand("${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts")) or os.path.exists(self.d.expand("${IMAGE_ROOTFS}${systemd_system_unitdir}/run-postinsts.service")):
self.pm.remove(["run-postinsts"])
image_rorfs = bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs",
diff --git a/poky/meta/lib/oe/sbom.py b/poky/meta/lib/oe/sbom.py
new file mode 100644
index 000000000..848812c0b
--- /dev/null
+++ b/poky/meta/lib/oe/sbom.py
@@ -0,0 +1,74 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import collections
+
+DepRecipe = collections.namedtuple("DepRecipe", ("doc", "doc_sha1", "recipe"))
+DepSource = collections.namedtuple("DepSource", ("doc", "doc_sha1", "recipe", "file"))
+
+
+def get_recipe_spdxid(d):
+ return "SPDXRef-%s-%s" % ("Recipe", d.getVar("PN"))
+
+
+def get_package_spdxid(pkg):
+ return "SPDXRef-Package-%s" % pkg
+
+
+def get_source_file_spdxid(d, idx):
+ return "SPDXRef-SourceFile-%s-%d" % (d.getVar("PN"), idx)
+
+
+def get_packaged_file_spdxid(pkg, idx):
+ return "SPDXRef-PackagedFile-%s-%d" % (pkg, idx)
+
+
+def get_image_spdxid(img):
+ return "SPDXRef-Image-%s" % img
+
+
+def write_doc(d, spdx_doc, subdir, spdx_deploy=None):
+ from pathlib import Path
+
+ if spdx_deploy is None:
+ spdx_deploy = Path(d.getVar("SPDXDEPLOY"))
+
+ dest = spdx_deploy / subdir / (spdx_doc.name + ".spdx.json")
+ dest.parent.mkdir(exist_ok=True, parents=True)
+ with dest.open("wb") as f:
+ doc_sha1 = spdx_doc.to_json(f, sort_keys=True)
+
+ l = spdx_deploy / "by-namespace" / spdx_doc.documentNamespace.replace("/", "_")
+ l.parent.mkdir(exist_ok=True, parents=True)
+ l.symlink_to(os.path.relpath(dest, l.parent))
+
+ return doc_sha1
+
+
+def read_doc(fn):
+ import hashlib
+ import oe.spdx
+ import io
+ import contextlib
+
+ @contextlib.contextmanager
+ def get_file():
+ if isinstance(fn, io.IOBase):
+ yield fn
+ else:
+ with fn.open("rb") as f:
+ yield f
+
+ with get_file() as f:
+ sha1 = hashlib.sha1()
+ while True:
+ chunk = f.read(4096)
+ if not chunk:
+ break
+ sha1.update(chunk)
+
+ f.seek(0)
+ doc = oe.spdx.SPDXDocument.from_json(f)
+
+ return (doc, sha1.hexdigest())
diff --git a/poky/meta/lib/oe/spdx.py b/poky/meta/lib/oe/spdx.py
new file mode 100644
index 000000000..4416194e0
--- /dev/null
+++ b/poky/meta/lib/oe/spdx.py
@@ -0,0 +1,335 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+#
+# This library is intended to capture the JSON SPDX specification in a type
+# safe manner. It is not intended to encode any particular OE specific
+# behaviors, see the sbom.py for that.
+#
+# The documented SPDX spec document doesn't cover the JSON syntax for
+# particular configuration, which can make it hard to determine what the JSON
+# syntax should be. I've found it is actually much simpler to read the official
+# SPDX JSON schema which can be found here: https://github.com/spdx/spdx-spec
+# in schemas/spdx-schema.json
+#
+
+import hashlib
+import itertools
+import json
+
+SPDX_VERSION = "2.2"
+
+
+#
+# The following are the support classes that are used to implement SPDX object
+#
+
+class _Property(object):
+ """
+ A generic SPDX object property. The different types will derive from this
+ class
+ """
+
+ def __init__(self, *, default=None):
+ self.default = default
+
+ def setdefault(self, dest, name):
+ if self.default is not None:
+ dest.setdefault(name, self.default)
+
+
+class _String(_Property):
+ """
+ A scalar string property for an SPDX object
+ """
+
+ def __init__(self, **kwargs):
+ super().__init__(**kwargs)
+
+ def set_property(self, attrs, name):
+ def get_helper(obj):
+ return obj._spdx[name]
+
+ def set_helper(obj, value):
+ obj._spdx[name] = value
+
+ def del_helper(obj):
+ del obj._spdx[name]
+
+ attrs[name] = property(get_helper, set_helper, del_helper)
+
+ def init(self, source):
+ return source
+
+
+class _Object(_Property):
+ """
+ A scalar SPDX object property of a SPDX object
+ """
+
+ def __init__(self, cls, **kwargs):
+ super().__init__(**kwargs)
+ self.cls = cls
+
+ def set_property(self, attrs, name):
+ def get_helper(obj):
+ if not name in obj._spdx:
+ obj._spdx[name] = self.cls()
+ return obj._spdx[name]
+
+ def set_helper(obj, value):
+ obj._spdx[name] = value
+
+ def del_helper(obj):
+ del obj._spdx[name]
+
+ attrs[name] = property(get_helper, set_helper)
+
+ def init(self, source):
+ return self.cls(**source)
+
+
+class _ListProperty(_Property):
+ """
+ A list of SPDX properties
+ """
+
+ def __init__(self, prop, **kwargs):
+ super().__init__(**kwargs)
+ self.prop = prop
+
+ def set_property(self, attrs, name):
+ def get_helper(obj):
+ if not name in obj._spdx:
+ obj._spdx[name] = []
+ return obj._spdx[name]
+
+ def del_helper(obj):
+ del obj._spdx[name]
+
+ attrs[name] = property(get_helper, None, del_helper)
+
+ def init(self, source):
+ return [self.prop.init(o) for o in source]
+
+
+class _StringList(_ListProperty):
+ """
+ A list of strings as a property for an SPDX object
+ """
+
+ def __init__(self, **kwargs):
+ super().__init__(_String(), **kwargs)
+
+
+class _ObjectList(_ListProperty):
+ """
+ A list of SPDX objects as a property for an SPDX object
+ """
+
+ def __init__(self, cls, **kwargs):
+ super().__init__(_Object(cls), **kwargs)
+
+
+class MetaSPDXObject(type):
+ """
+ A metaclass that allows properties (anything derived from a _Property
+ class) to be defined for a SPDX object
+ """
+ def __new__(mcls, name, bases, attrs):
+ attrs["_properties"] = {}
+
+ for key in attrs.keys():
+ if isinstance(attrs[key], _Property):
+ prop = attrs[key]
+ attrs["_properties"][key] = prop
+ prop.set_property(attrs, key)
+
+ return super().__new__(mcls, name, bases, attrs)
+
+
+class SPDXObject(metaclass=MetaSPDXObject):
+ """
+ The base SPDX object; all SPDX spec classes must derive from this class
+ """
+ def __init__(self, **d):
+ self._spdx = {}
+
+ for name, prop in self._properties.items():
+ prop.setdefault(self._spdx, name)
+ if name in d:
+ self._spdx[name] = prop.init(d[name])
+
+ def serializer(self):
+ return self._spdx
+
+ def __setattr__(self, name, value):
+ if name in self._properties or name == "_spdx":
+ super().__setattr__(name, value)
+ return
+ raise KeyError("%r is not a valid SPDX property" % name)
+
+#
+# These are the SPDX objects implemented from the spec. The *only* properties
+# that can be added to these objects are ones directly specified in the SPDX
+# spec, however you may add helper functions to make operations easier.
+#
+# Defaults should *only* be specified if the SPDX spec says there is a certain
+# required value for a field (e.g. dataLicense), or if the field is mandatory
+# and has some sane "this field is unknown" (e.g. "NOASSERTION")
+#
+
+class SPDXAnnotation(SPDXObject):
+ annotationDate = _String()
+ annotationType = _String()
+ annotator = _String()
+ comment = _String()
+
+class SPDXChecksum(SPDXObject):
+ algorithm = _String()
+ checksumValue = _String()
+
+
+class SPDXRelationship(SPDXObject):
+ spdxElementId = _String()
+ relatedSpdxElement = _String()
+ relationshipType = _String()
+ comment = _String()
+
+
+class SPDXExternalReference(SPDXObject):
+ referenceCategory = _String()
+ referenceType = _String()
+ referenceLocator = _String()
+
+
+class SPDXPackageVerificationCode(SPDXObject):
+ packageVerificationCodeValue = _String()
+ packageVerificationCodeExcludedFiles = _StringList()
+
+
+class SPDXPackage(SPDXObject):
+ name = _String()
+ SPDXID = _String()
+ versionInfo = _String()
+ downloadLocation = _String(default="NOASSERTION")
+ packageSupplier = _String(default="NOASSERTION")
+ homepage = _String()
+ licenseConcluded = _String(default="NOASSERTION")
+ licenseDeclared = _String(default="NOASSERTION")
+ summary = _String()
+ description = _String()
+ sourceInfo = _String()
+ copyrightText = _String(default="NOASSERTION")
+ licenseInfoFromFiles = _StringList(default=["NOASSERTION"])
+ externalRefs = _ObjectList(SPDXExternalReference)
+ packageVerificationCode = _Object(SPDXPackageVerificationCode)
+ hasFiles = _StringList()
+ packageFileName = _String()
+ annotations = _ObjectList(SPDXAnnotation)
+
+
+class SPDXFile(SPDXObject):
+ SPDXID = _String()
+ fileName = _String()
+ licenseConcluded = _String(default="NOASSERTION")
+ copyrightText = _String(default="NOASSERTION")
+ licenseInfoInFiles = _StringList(default=["NOASSERTION"])
+ checksums = _ObjectList(SPDXChecksum)
+ fileTypes = _StringList()
+
+
+class SPDXCreationInfo(SPDXObject):
+ created = _String()
+ licenseListVersion = _String()
+ comment = _String()
+ creators = _StringList()
+
+
+class SPDXExternalDocumentRef(SPDXObject):
+ externalDocumentId = _String()
+ spdxDocument = _String()
+ checksum = _Object(SPDXChecksum)
+
+
+class SPDXExtractedLicensingInfo(SPDXObject):
+ name = _String()
+ comment = _String()
+ licenseId = _String()
+ extractedText = _String()
+
+
+class SPDXDocument(SPDXObject):
+ spdxVersion = _String(default="SPDX-" + SPDX_VERSION)
+ dataLicense = _String(default="CC0-1.0")
+ SPDXID = _String(default="SPDXRef-DOCUMENT")
+ name = _String()
+ documentNamespace = _String()
+ creationInfo = _Object(SPDXCreationInfo)
+ packages = _ObjectList(SPDXPackage)
+ files = _ObjectList(SPDXFile)
+ relationships = _ObjectList(SPDXRelationship)
+ externalDocumentRefs = _ObjectList(SPDXExternalDocumentRef)
+ hasExtractedLicensingInfos = _ObjectList(SPDXExtractedLicensingInfo)
+
+ def __init__(self, **d):
+ super().__init__(**d)
+
+ def to_json(self, f, *, sort_keys=False, indent=None, separators=None):
+ class Encoder(json.JSONEncoder):
+ def default(self, o):
+ if isinstance(o, SPDXObject):
+ return o.serializer()
+
+ return super().default(o)
+
+ sha1 = hashlib.sha1()
+ for chunk in Encoder(
+ sort_keys=sort_keys,
+ indent=indent,
+ separators=separators,
+ ).iterencode(self):
+ chunk = chunk.encode("utf-8")
+ f.write(chunk)
+ sha1.update(chunk)
+
+ return sha1.hexdigest()
+
+ @classmethod
+ def from_json(cls, f):
+ return cls(**json.load(f))
+
+ def add_relationship(self, _from, relationship, _to, *, comment=None):
+ if isinstance(_from, SPDXObject):
+ from_spdxid = _from.SPDXID
+ else:
+ from_spdxid = _from
+
+ if isinstance(_to, SPDXObject):
+ to_spdxid = _to.SPDXID
+ else:
+ to_spdxid = _to
+
+ r = SPDXRelationship(
+ spdxElementId=from_spdxid,
+ relatedSpdxElement=to_spdxid,
+ relationshipType=relationship,
+ )
+
+ if comment is not None:
+ r.comment = comment
+
+ self.relationships.append(r)
+
+ def find_by_spdxid(self, spdxid):
+ for o in itertools.chain(self.packages, self.files):
+ if o.SPDXID == spdxid:
+ return o
+ return None
+
+ def find_external_document_ref(self, namespace):
+ for r in self.externalDocumentRefs:
+ if r.spdxDocument == namespace:
+ return r
+ return None
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index 78cdf878f..0c3b4589c 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -108,7 +108,6 @@ class SignatureGeneratorOEBasicHashMixIn(object):
self.unlockedrecipes = (data.getVar("SIGGEN_UNLOCKED_RECIPES") or
"").split()
self.unlockedrecipes = { k: "" for k in self.unlockedrecipes }
- self.buildarch = data.getVar('BUILD_ARCH')
self._internal = False
pass
@@ -147,13 +146,6 @@ class SignatureGeneratorOEBasicHashMixIn(object):
self.dump_lockedsigs(sigfile)
return super(bb.siggen.SignatureGeneratorBasicHash, self).dump_sigs(dataCache, options)
- def prep_taskhash(self, tid, deps, dataCaches):
- super().prep_taskhash(tid, deps, dataCaches)
- if hasattr(self, "extramethod"):
- (mc, _, _, fn) = bb.runqueue.split_tid_mcfn(tid)
- inherits = " ".join(dataCaches[mc].inherits[fn])
- if inherits.find("/native.bbclass") != -1 or inherits.find("/cross.bbclass") != -1:
- self.extramethod[tid] = ":" + self.buildarch
def get_taskhash(self, tid, deps, dataCaches):
if tid in self.lockedhashes:
@@ -478,6 +470,8 @@ def OEOuthashBasic(path, sigfile, task, d):
import stat
import pwd
import grp
+ import re
+ import fnmatch
def update_hash(s):
s = s.encode('utf-8')
@@ -487,16 +481,29 @@ def OEOuthashBasic(path, sigfile, task, d):
h = hashlib.sha256()
prev_dir = os.getcwd()
+ corebase = d.getVar("COREBASE")
+ tmpdir = d.getVar("TMPDIR")
include_owners = os.environ.get('PSEUDO_DISABLED') == '0'
if "package_write_" in task or task == "package_qa":
include_owners = False
include_timestamps = False
+ include_root = True
if task == "package":
include_timestamps = d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1'
+ include_root = False
extra_content = d.getVar('HASHEQUIV_HASH_VERSION')
+ filemaps = {}
+ for m in (d.getVar('SSTATE_HASHEQUIV_FILEMAP') or '').split():
+ entry = m.split(":")
+ if len(entry) != 3 or entry[0] != task:
+ continue
+ filemaps.setdefault(entry[1], [])
+ filemaps[entry[1]].append(entry[2])
+
try:
os.chdir(path)
+ basepath = os.path.normpath(path)
update_hash("OEOuthashBasic\n")
if extra_content:
@@ -578,8 +585,13 @@ def OEOuthashBasic(path, sigfile, task, d):
else:
update_hash(" " * 9)
+ filterfile = False
+ for entry in filemaps:
+ if fnmatch.fnmatch(path, entry):
+ filterfile = True
+
update_hash(" ")
- if stat.S_ISREG(s.st_mode):
+ if stat.S_ISREG(s.st_mode) and not filterfile:
update_hash("%10d" % s.st_size)
else:
update_hash(" " * 10)
@@ -588,9 +600,24 @@ def OEOuthashBasic(path, sigfile, task, d):
fh = hashlib.sha256()
if stat.S_ISREG(s.st_mode):
# Hash file contents
- with open(path, 'rb') as d:
- for chunk in iter(lambda: d.read(4096), b""):
+ if filterfile:
+ # Need to ignore paths in crossscripts and postinst-useradd files.
+ with open(path, 'rb') as d:
+ chunk = d.read()
+ chunk = chunk.replace(bytes(basepath, encoding='utf8'), b'')
+ for entry in filemaps:
+ if not fnmatch.fnmatch(path, entry):
+ continue
+ for r in filemaps[entry]:
+ if r.startswith("regex-"):
+ chunk = re.sub(bytes(r[6:], encoding='utf8'), b'', chunk)
+ else:
+ chunk = chunk.replace(bytes(r, encoding='utf8'), b'')
fh.update(chunk)
+ else:
+ with open(path, 'rb') as d:
+ for chunk in iter(lambda: d.read(4096), b""):
+ fh.update(chunk)
update_hash(fh.hexdigest())
else:
update_hash(" " * len(fh.hexdigest()))
@@ -603,7 +630,8 @@ def OEOuthashBasic(path, sigfile, task, d):
update_hash("\n")
# Process this directory and all its child files
- process(root)
+ if include_root or root != ".":
+ process(root)
for f in files:
if f == 'fixmepath':
continue
diff --git a/poky/meta/lib/oeqa/core/target/ssh.py b/poky/meta/lib/oeqa/core/target/ssh.py
index 923a223b2..f956a7744 100644
--- a/poky/meta/lib/oeqa/core/target/ssh.py
+++ b/poky/meta/lib/oeqa/core/target/ssh.py
@@ -44,6 +44,7 @@ class OESSHTarget(OETarget):
self.ssh = self.ssh + [ '-p', port ]
self.scp = self.scp + [ '-P', port ]
self._monitor_dumper = None
+ self.target_dumper = None
def start(self, **kwargs):
pass
@@ -102,7 +103,8 @@ class OESSHTarget(OETarget):
if self.monitor_dumper:
self.monitor_dumper.dump_monitor()
if status == 255:
- self.target_dumper.dump_target()
+ if self.target_dumper:
+ self.target_dumper.dump_target()
if self.monitor_dumper:
self.monitor_dumper.dump_monitor()
return (status, output)
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index 5db021659..2b8893d84 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -91,6 +91,7 @@ qemux86_common = [
"glamor initialization failed",
"blk_update_request: I/O error, dev fd0, sector 0 op 0x0:(READ)",
"floppy: error",
+ 'failed to IDENTIFY (I/O error, err_mask=0x4)',
] + common_errors
ignore_errors = {
@@ -98,7 +99,6 @@ ignore_errors = {
'qemux86' : [
'Failed to access perfctr msr (MSR',
'pci 0000:00:00.0: [Firmware Bug]: reg 0x..: invalid BAR (can\'t size)',
- 'failed to IDENTIFY (I/O error, err_mask=0x4)',
] + qemux86_common,
'qemux86-64' : qemux86_common,
'qemumips' : [
diff --git a/poky/meta/lib/oeqa/selftest/cases/bblogging.py b/poky/meta/lib/oeqa/selftest/cases/bblogging.py
new file mode 100644
index 000000000..ea6c3c8c7
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/bblogging.py
@@ -0,0 +1,104 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake
+
+class BitBakeLogging(OESelftestTestCase):
+
+ def assertCount(self, item, entry, count):
+ self.assertEqual(item.count(entry), count, msg="Output:\n'''\n%s\n'''\ndoesn't contain %d copies of:\n'''\n%s\n'''\n" % (item, count, entry))
+
+ def test_shell_logging(self):
+ # no logs, no verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c shelltest -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ self.assertNotIn("This is shell stdout", result.output)
+ self.assertNotIn("This is shell stderr", result.output)
+
+ # logs, no verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c shelltest -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ self.assertCount(result.output, "This is shell stdout", 1)
+ self.assertCount(result.output, "This is shell stderr", 1)
+
+ # no logs, verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c shelltest -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # two copies due to set +x
+ self.assertCount(result.output, "This is shell stdout", 2)
+ self.assertCount(result.output, "This is shell stderr", 2)
+
+ # logs, verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c shelltest -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # two copies due to set +x
+ self.assertCount(result.output, "This is shell stdout", 2)
+ self.assertCount(result.output, "This is shell stderr", 2)
+
+ def test_python_exit_logging(self):
+ # no logs, no verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_exit -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ self.assertNotIn("This is python stdout", result.output)
+
+ # logs, no verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_exit -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # A sys.exit() should include the output
+ self.assertCount(result.output, "This is python stdout", 1)
+
+ # no logs, verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_exit -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # python tasks don't log output with -v currently
+ #self.assertCount(result.output, "This is python stdout", 1)
+
+ # logs, verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_exit -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # python tasks don't log output with -v currently
+ #self.assertCount(result.output, "This is python stdout", 1)
+
+ def test_python_fatal_logging(self):
+ # no logs, no verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_fatal -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ self.assertNotIn("This is python fatal test stdout", result.output)
+ self.assertCount(result.output, "This is a fatal error", 1)
+
+ # logs, no verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_fatal -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # A bb.fatal() should not include the output
+ self.assertNotIn("This is python fatal test stdout", result.output)
+ self.assertCount(result.output, "This is a fatal error", 1)
+
+ # no logs, verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_fatal -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # python tasks don't log output with -v currently
+ #self.assertCount(result.output, "This is python fatal test stdout", 1)
+ self.assertCount(result.output, "This is a fatal error", 1)
+
+ # logs, verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_fatal -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # python tasks don't log output with -v currently
+ #self.assertCount(result.output, "This is python fatal test stdout", 1)
+ self.assertCount(result.output, "This is a fatal error", 1)
+
diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
index 8831de606..656236407 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -83,8 +83,10 @@ class BitbakeTests(OESelftestTestCase):
def test_force_task_1(self):
# test 1 from bug 5875
+ import uuid
test_recipe = 'zlib'
- test_data = "Microsoft Made No Profit From Anyone's Zunes Yo"
+ # Need to use uuid otherwise hash equivlance would change the workflow
+ test_data = "Microsoft Made No Profit From Anyone's Zunes Yo %s" % uuid.uuid1()
bb_vars = get_bb_vars(['D', 'PKGDEST', 'mandir'], test_recipe)
image_dir = bb_vars['D']
pkgsplit_dir = bb_vars['PKGDEST']
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index 6d9cd46bf..f495e84c7 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -649,7 +649,7 @@ class DevtoolModifyTests(DevtoolBase):
self.track_for_cleanup(self.workspacedir)
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
- testrecipes = 'perf kernel-devsrc package-index core-image-minimal meta-toolchain packagegroup-core-sdk meta-ide-support'.split()
+ testrecipes = 'perf kernel-devsrc package-index core-image-minimal meta-toolchain packagegroup-core-sdk'.split()
# Find actual name of gcc-source since it now includes the version - crude, but good enough for this purpose
result = runCmd('bitbake-layers show-recipes gcc-source*')
for line in result.output.splitlines():
diff --git a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
index 4fc3605f4..c809d7c9b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
+++ b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
@@ -43,6 +43,12 @@ class oeGoToolchainSelfTest(OESelftestTestCase):
@classmethod
def tearDownClass(cls):
+ # Go creates file which are readonly
+ for dirpath, dirnames, filenames in os.walk(cls.tmpdir_SDKQA):
+ for filename in filenames + dirnames:
+ f = os.path.join(dirpath, filename)
+ if not os.path.islink(f):
+ os.chmod(f, 0o775)
shutil.rmtree(cls.tmpdir_SDKQA, ignore_errors=True)
super(oeGoToolchainSelfTest, cls).tearDownClass()
diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
index 8a10ff357..1decce39e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -150,7 +150,7 @@ class OEListPackageconfigTests(OEScriptTests):
expected_endlines = []
expected_endlines.append("RECIPE NAME PACKAGECONFIG FLAGS")
expected_endlines.append("pinentry gtk2 libcap ncurses qt secret")
- expected_endlines.append("tar acl")
+ expected_endlines.append("tar acl selinux")
self.check_endlines(results, expected_endlines)
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index 6f531dfa3..c2a53815d 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -481,7 +481,7 @@ class RecipetoolTests(RecipetoolBase):
result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
self.assertTrue(os.path.isfile(recipefile))
checkvars = {}
- checkvars['LICENSE'] = set(['PSF', '&', 'BSD', 'GPL'])
+ checkvars['LICENSE'] = set(['PSF', '&', 'BSD-3-Clause', 'GPL'])
checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING.txt;md5=35a23d42b615470583563132872c97d6'
checkvars['SRC_URI'] = 'https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-${PV}.tar.gz'
checkvars['SRC_URI[md5sum]'] = 'c53768d63db3873b7d452833553469de'
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipeutils.py b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
index 97edad88b..f1dd63f65 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
@@ -40,7 +40,7 @@ class RecipeUtilsTests(OESelftestTestCase):
SUMMARY = "Python framework to process interdependent tasks in a pool of workers"
HOMEPAGE = "http://github.com/gitpython-developers/async"
SECTION = "devel/python"
--LICENSE = "BSD"
+-LICENSE = "BSD-3-Clause"
+LICENSE = "something"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e"
diff --git a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
index 51092805d..8fd48bb05 100644
--- a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
+++ b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
@@ -94,14 +94,13 @@ class TinfoilTests(OESelftestTestCase):
pass
pattern = 'conf'
- res = tinfoil.run_command('findFilesMatchingInDir', pattern, 'conf/machine')
+ res = tinfoil.run_command('testCookerCommandEvent', pattern)
self.assertTrue(res)
eventreceived = False
commandcomplete = False
start = time.time()
# Wait for maximum 60s in total so we'd detect spurious heartbeat events for example
- # The test is IO load sensitive too
while (not (eventreceived == True and commandcomplete == True)
and (time.time() - start < 60)):
# if we received both events (on let's say a good day), we are done
@@ -111,7 +110,8 @@ class TinfoilTests(OESelftestTestCase):
commandcomplete = True
elif isinstance(event, bb.event.FilesMatchingFound):
self.assertEqual(pattern, event._pattern)
- self.assertIn('qemuarm.conf', event._matches)
+ self.assertIn('A', event._matches)
+ self.assertIn('B', event._matches)
eventreceived = True
elif isinstance(event, logging.LogRecord):
continue
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index 3b4143414..5fc8e6514 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -744,6 +744,17 @@ part /etc --source rootfs --fstype=ext4 --change-directory=etc
% (wks_file, self.resultdir), ignore_status=True).status)
os.remove(wks_file)
+ def test_extra_space(self):
+ """Test --extra-space wks option."""
+ extraspace = 1024**3
+ runCmd("wic create wictestdisk "
+ "--image-name core-image-minimal "
+ "--extra-space %i -o %s" % (extraspace ,self.resultdir))
+ wicout = glob(self.resultdir + "wictestdisk-*.direct")
+ self.assertEqual(1, len(wicout))
+ size = os.path.getsize(wicout[0])
+ self.assertTrue(size > extraspace)
+
class Wic2(WicTestCase):
def test_bmap_short(self):
@@ -1147,6 +1158,35 @@ class Wic2(WicTestCase):
out = glob(self.resultdir + "%s-*.direct" % wksname)
self.assertEqual(1, len(out))
+ @only_for_arch(['i586', 'i686', 'x86_64'])
+ def test_efi_plugin_unified_kernel_image_qemu(self):
+ """Test efi plugin's Unified Kernel Image feature in qemu"""
+ config = 'IMAGE_FSTYPES = "wic"\n'\
+ 'INITRAMFS_IMAGE = "core-image-minimal-initramfs"\n'\
+ 'WKS_FILE = "test_efi_plugin.wks"\n'\
+ 'MACHINE_FEATURES:append = " efi"\n'
+ self.append_config(config)
+ self.assertEqual(0, bitbake('core-image-minimal core-image-minimal-initramfs ovmf').status)
+ self.remove_config(config)
+
+ with runqemu('core-image-minimal', ssh=False,
+ runqemuparams='ovmf', image_fstype='wic') as qemu:
+ # Check that /boot has EFI bootx64.efi (required for EFI)
+ cmd = "ls /boot/EFI/BOOT/bootx64.efi | wc -l"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '1')
+ # Check that /boot has EFI/Linux/linux.efi (required for Unified Kernel Images auto detection)
+ cmd = "ls /boot/EFI/Linux/linux.efi | wc -l"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '1')
+ # Check that /boot doesn't have loader/entries/boot.conf (Unified Kernel Images are auto detected by the bootloader)
+ cmd = "ls /boot/loader/entries/boot.conf 2&>/dev/null | wc -l"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '0')
+
def test_fs_types(self):
"""Test filesystem types for empty and not empty partitions"""
img = 'core-image-minimal'
diff --git a/poky/meta/lib/oeqa/utils/buildproject.py b/poky/meta/lib/oeqa/utils/buildproject.py
index e6d80cc8d..dfb966186 100644
--- a/poky/meta/lib/oeqa/utils/buildproject.py
+++ b/poky/meta/lib/oeqa/utils/buildproject.py
@@ -18,6 +18,7 @@ class BuildProject(metaclass=ABCMeta):
def __init__(self, uri, foldername=None, tmpdir=None, dl_dir=None):
self.uri = uri
self.archive = os.path.basename(uri)
+ self.tempdirobj = None
if not tmpdir:
self.tempdirobj = tempfile.TemporaryDirectory(prefix='buildproject-')
tmpdir = self.tempdirobj.name
@@ -57,6 +58,8 @@ class BuildProject(metaclass=ABCMeta):
return self._run('cd %s; make install %s' % (self.targetdir, install_args))
def clean(self):
+ if self.tempdirobj:
+ self.tempdirobj.cleanup()
if not self.needclean:
return
self._run('rm -rf %s' % self.targetdir)
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index d55248c49..d961a9a21 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -265,7 +265,7 @@ class QemuRunner:
r = os.fdopen(r)
x = r.read()
os.killpg(os.getpgid(self.runqemu.pid), signal.SIGTERM)
- sys.exit(0)
+ os._exit(0)
self.logger.debug("runqemu started, pid is %s" % self.runqemu.pid)
self.logger.debug("waiting at most %s seconds for qemu pid (%s)" %
diff --git a/poky/meta/lib/oeqa/utils/targetbuild.py b/poky/meta/lib/oeqa/utils/targetbuild.py
index 1055810ca..09738add1 100644
--- a/poky/meta/lib/oeqa/utils/targetbuild.py
+++ b/poky/meta/lib/oeqa/utils/targetbuild.py
@@ -19,6 +19,7 @@ class BuildProject(metaclass=ABCMeta):
self.d = d
self.uri = uri
self.archive = os.path.basename(uri)
+ self.tempdirobj = None
if not tmpdir:
tmpdir = self.d.getVar('WORKDIR')
if not tmpdir:
@@ -71,9 +72,10 @@ class BuildProject(metaclass=ABCMeta):
return self._run('cd %s; make install %s' % (self.targetdir, install_args))
def clean(self):
+ if self.tempdirobj:
+ self.tempdirobj.cleanup()
self._run('rm -rf %s' % self.targetdir)
subprocess.check_call('rm -f %s' % self.localarchive, shell=True)
- pass
class TargetBuildProject(BuildProject):
diff --git a/poky/meta/recipes-bsp/acpid/acpid.inc b/poky/meta/recipes-bsp/acpid/acpid.inc
index f48e51908..d39828e1c 100644
--- a/poky/meta/recipes-bsp/acpid/acpid.inc
+++ b/poky/meta/recipes-bsp/acpid/acpid.inc
@@ -32,7 +32,7 @@ do_install:append () {
install -d ${D}${sysconfdir}/acpi
install -d ${D}${sysconfdir}/acpi/events
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/acpid.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/acpid.service
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/acpid.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/acpid.service
}
diff --git a/poky/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb b/poky/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
index 5368abfda..da17e5a23 100644
--- a/poky/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
+++ b/poky/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
@@ -73,10 +73,10 @@ do_install() {
sed -e 's,/usr/sbin,${sbindir},g; s,/etc,${sysconfdir},g;' ${WORKDIR}/init > ${D}${sysconfdir}/init.d/apmd
chmod 755 ${D}${sysconfdir}/init.d/apmd
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/apmd.service ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/apmd.service ${D}${systemd_system_unitdir}/
sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apmd.service
+ -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/apmd.service
}
PACKAGES =+ "libapm apm"
diff --git a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
index 934044d5d..4b15d11b6 100644
--- a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -35,7 +35,7 @@ SRC_URI[sha256sum] = "060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de79
# Issue only affects Debian/SUSE, not us
CVE_CHECK_WHITELIST += "CVE-2021-26720"
-DEPENDS = "expat libcap libdaemon glib-2.0 intltool-native"
+DEPENDS = "expat libcap libdaemon glib-2.0"
# For gtk related PACKAGECONFIGs: gtk, gtk3
AVAHI_GTK ?= ""
@@ -67,7 +67,7 @@ EXTRA_OECONF = "--with-avahi-priv-access-group=adm \
# The distro choice determines what init scripts are installed
EXTRA_OECONF_SYSVINIT = "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','--with-distro=debian','--with-distro=none',d)}"
-EXTRA_OECONF_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES','systemd','--with-systemdsystemunitdir=${systemd_unitdir}/system/','--without-systemdsystemunitdir',d)}"
+EXTRA_OECONF_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES','systemd','--with-systemdsystemunitdir=${systemd_system_unitdir}/','--without-systemdsystemunitdir',d)}"
do_configure:prepend() {
# This m4 file will get in the way of our introspection.m4 with special cross-compilation fixes
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.16.20.bb b/poky/meta/recipes-connectivity/bind/bind_9.16.20.bb
index f7d041685..ddf323fb9 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.16.20.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.16.20.bb
@@ -77,11 +77,11 @@ do_install:append() {
# Install systemd related files
install -d ${D}${sbindir}
install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir}
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/named.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/named.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/named.service
+ ${D}${systemd_system_unitdir}/named.service
install -d ${D}${sysconfdir}/default
install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default
diff --git a/poky/meta/recipes-connectivity/connman/connman.inc b/poky/meta/recipes-connectivity/connman/connman.inc
index 856bb9ee1..748eefa74 100644
--- a/poky/meta/recipes-connectivity/connman/connman.inc
+++ b/poky/meta/recipes-connectivity/connman/connman.inc
@@ -15,6 +15,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
inherit autotools pkgconfig systemd update-rc.d update-alternatives
+CVE_PRODUCT = "connman connection_manager"
+
DEPENDS = "dbus glib-2.0 ppp"
EXTRA_OECONF += "\
@@ -36,7 +38,7 @@ PACKAGECONFIG ??= "wispr iptables client\
# local.conf or distro config
# PACKAGECONFIG:append:pn-connman = " openvpn vpnc l2tp pptp"
-PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/ --with-tmpfilesdir=${sysconfdir}/tmpfiles.d/,--with-systemdunitdir='' --with-tmpfilesdir=''"
+PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_system_unitdir}/ --with-tmpfilesdir=${sysconfdir}/tmpfiles.d/,--with-systemdunitdir='' --with-tmpfilesdir=''"
PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant, wpa-supplicant"
PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5, bluez5"
PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono, ofono"
@@ -173,13 +175,13 @@ VPN technogies are implemented using plug-ins."
FILES:${PN}-vpn += "${sbindir}/connman-vpnd \
${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
${datadir}/dbus-1/system-services/net.connman.vpn.service \
- ${systemd_unitdir}/system/connman-vpn.service"
+ ${systemd_system_unitdir}/connman-vpn.service"
SUMMARY:${PN}-wait-online = "A program that will return once ConnMan has connected to a network"
DESCRIPTION:${PN}-wait-online = "A service that can be enabled so that \
the system waits until a network connection is established."
FILES:${PN}-wait-online += "${sbindir}/connmand-wait-online \
- ${systemd_unitdir}/system/connman-wait-online.service"
+ ${systemd_system_unitdir}/connman-wait-online.service"
SUMMARY:${PN}-plugin-vpn-openvpn = "An OpenVPN plugin for ConnMan VPN"
DESCRIPTION:${PN}-plugin-vpn-openvpn = "The ConnMan OpenVPN plugin uses openvpn client \
diff --git a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
index 4e9a367d9..dbad8c872 100644
--- a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
+++ b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
@@ -48,8 +48,8 @@ USERADD_PARAM:${PN} = "--system -d ${localstatedir}/lib/${BPN} -M -s /bin/false
do_install:append () {
# install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dhcpcd*.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/dhcpcd*.service ${D}${systemd_system_unitdir}
chmod 700 ${D}${localstatedir}/lib/${BPN}
chown dhcpcd:dhcpcd ${D}${localstatedir}/lib/${BPN}
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils/CVE-2021-40491.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/CVE-2021-40491.patch
new file mode 100644
index 000000000..202488f75
--- /dev/null
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/CVE-2021-40491.patch
@@ -0,0 +1,88 @@
+From 98ccabf68e5b3f0a177bd1925581753d10041448 Mon Sep 17 00:00:00 2001
+From: Simon Josefsson <simon@josefsson.org>
+Date: Wed, 1 Sep 2021 09:09:50 +0200
+Subject: [PATCH] ftp: check that PASV/LSPV addresses match.
+
+* NEWS: Mention change.
+* ftp/ftp.c (initconn): Validate returned addresses.
+
+CVE: CVE-2021-40491
+
+Upstream-Status: Backport
+[https://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=58cb043b190fd04effdaea7c9403416b436e50dd]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ NEWS | 9 +++++++++
+ ftp/ftp.c | 21 +++++++++++++++++++++
+ 2 files changed, 30 insertions(+)
+
+diff --git a/NEWS b/NEWS
+index 7c5e62c..bd9a4da 100644
+--- a/NEWS
++++ b/NEWS
+@@ -4,6 +4,15 @@ GNU inetutils NEWS -- history of user-visible changes.
+
+ ** ftp
+
++The ftp client now validate addresses returned by PASV/LSPV responses,
++to make sure they match the server address. Reported by ZeddYu Lu in
++<https://lists.gnu.org/archive/html/bug-inetutils/2021-06/msg00002.html>.
++
++Thanks to Luke Mewburn <lukem@netbsd.org> for discussion and fix to
++NetBSD code, we used a similar solution.
++
++** ftp
++
+ Disable use of readline when environment variable TERM is unset or set
+ to "dumb" (caused problems with Emacs AngeFTP on MacOS). Thanks to
+ Alex Bochannek for report, debugging and patch.
+diff --git a/ftp/ftp.c b/ftp/ftp.c
+index d21dbdd..7513539 100644
+--- a/ftp/ftp.c
++++ b/ftp/ftp.c
+@@ -1365,6 +1365,13 @@ initconn (void)
+ uint32_t *pu32 = (uint32_t *) &data_addr_sa4->sin_addr.s_addr;
+ pu32[0] = htonl ( (h[0] << 24) | (h[1] << 16) | (h[2] << 8) | h[3]);
+ }
++ if (data_addr_sa4->sin_addr.s_addr
++ != ((struct sockaddr_in *) &hisctladdr)->sin_addr.s_addr)
++ {
++ printf ("Passive mode address mismatch.\n");
++ (void) command ("ABOR"); /* Cancel any open connection. */
++ goto bad;
++ }
+ } /* LPSV IPv4 */
+ else /* IPv6 */
+ {
+@@ -1395,6 +1402,13 @@ initconn (void)
+ pu32[2] = htonl ( (h[8] << 24) | (h[9] << 16) | (h[10] << 8) | h[11]);
+ pu32[3] = htonl ( (h[12] << 24) | (h[13] << 16) | (h[14] << 8) | h[15]);
+ }
++ if (data_addr_sa6->sin6_addr.s6_addr
++ != ((struct sockaddr_in6 *) &hisctladdr)->sin6_addr.s6_addr)
++ {
++ printf ("Passive mode address mismatch.\n");
++ (void) command ("ABOR"); /* Cancel any open connection. */
++ goto bad;
++ }
+ } /* LPSV IPv6 */
+ }
+ else /* !EPSV && !LPSV */
+@@ -1415,6 +1429,13 @@ initconn (void)
+ | ((a2 & 0xff) << 8) | (a3 & 0xff) );
+ data_addr_sa4->sin_port =
+ htons (((p0 & 0xff) << 8) | (p1 & 0xff));
++ if (data_addr_sa4->sin_addr.s_addr
++ != ((struct sockaddr_in *) &hisctladdr)->sin_addr.s_addr)
++ {
++ printf ("Passive mode address mismatch.\n");
++ (void) command ("ABOR"); /* Cancel any open connection. */
++ goto bad;
++ }
+ } /* PASV */
+ else
+ {
+--
+2.17.1
+
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb b/poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb
index 0cf73cdb2..45b88b1d7 100644
--- a/poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb
@@ -21,6 +21,7 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.xz \
file://tftpd.xinetd.inetutils \
file://inetutils-1.9-PATH_PROCNET_DEV.patch \
file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \
+ file://CVE-2021-40491.patch \
"
inherit autotools gettext update-alternatives texinfo
diff --git a/poky/meta/recipes-connectivity/neard/neard_0.16.bb b/poky/meta/recipes-connectivity/neard/neard_0.16.bb
index d55cf6a37..b6cc1d6ce 100644
--- a/poky/meta/recipes-connectivity/neard/neard_0.16.bb
+++ b/poky/meta/recipes-connectivity/neard/neard_0.16.bb
@@ -22,7 +22,7 @@ inherit autotools pkgconfig systemd update-rc.d
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/ --with-systemduserunitdir=${systemd_unitdir}/user/,--disable-systemd"
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}/ --with-systemduserunitdir=${systemd_unitdir}/user/,--disable-systemd"
EXTRA_OECONF += "--enable-tools"
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb
index 495ce4e54..459f68f05 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb
@@ -4,7 +4,7 @@ NFS server and related tools."
HOMEPAGE = "http://nfs.sourceforge.net/"
SECTION = "console/network"
-LICENSE = "MIT & GPLv2+ & BSD"
+LICENSE = "MIT & GPLv2+ & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
# util-linux for libblkid
@@ -85,7 +85,7 @@ FILES:${PN}-client = "${sbindir}/*statd \
${sysconfdir}/nfs-utils.conf \
${sysconfdir}/nfsmount.conf \
${sysconfdir}/init.d/nfscommon \
- ${systemd_unitdir}/system/nfs-statd.service"
+ ${systemd_system_unitdir}/nfs-statd.service"
RDEPENDS:${PN}-client = "${PN}-mount rpcbind"
FILES:${PN}-mount = "${base_sbindir}/*mount.nfs*"
@@ -119,18 +119,18 @@ do_install:append () {
install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir}
install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir}
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_system_unitdir}/
+ install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_system_unitdir}/
+ install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_system_unitdir}/
sed -i -e 's,@SBINDIR@,${sbindir},g' \
-e 's,@SYSCONFDIR@,${sysconfdir},g' \
-e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \
- ${D}${systemd_unitdir}/system/*.service
+ ${D}${systemd_system_unitdir}/*.service
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/
- install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
- ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount
+ install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/
+ install -d ${D}${systemd_system_unitdir}/sysinit.target.wants/
+ ln -sf ../proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/sysinit.target.wants/proc-fs-nfsd.mount
fi
# kernel code as of 3.8 hard-codes this path as a default
diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.32.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.32.bb
index c3db52d94..61424c746 100644
--- a/poky/meta/recipes-connectivity/ofono/ofono_1.32.bb
+++ b/poky/meta/recipes-connectivity/ofono/ofono_1.32.bb
@@ -25,7 +25,7 @@ PACKAGECONFIG ??= "\
${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
"
-PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir="
+PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_system_unitdir}/,--with-systemdunitdir="
PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5"
EXTRA_OECONF += "--enable-test --enable-external-ell"
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.7p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.7p1.bb
index c4a08f71d..07cd6b74c 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_8.7p1.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_8.7p1.bb
@@ -5,7 +5,7 @@ Ssh (Secure Shell) is a program for logging into a remote machine \
and for executing commands on a remote machine."
HOMEPAGE = "http://www.openssh.com/"
SECTION = "console/network"
-LICENSE = "BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & BSD & ISC & MIT"
+LICENSE = "BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & ISC & MIT"
LIC_FILES_CHKSUM = "file://LICENCE;md5=d9d2753bdef9f19466dc7bc959114b11"
DEPENDS = "zlib openssl virtual/crypt"
@@ -126,15 +126,15 @@ do_install:append () {
echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
- install -d ${D}${systemd_unitdir}/system
- install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system
- install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system
- install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_system_unitdir}
+ install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_system_unitdir}
+ install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
-e 's,@BINDIR@,${bindir},g' \
-e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
- ${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service
+ ${D}${systemd_system_unitdir}/sshd.socket ${D}${systemd_system_unitdir}/*.service
sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
${D}${sysconfdir}/init.d/sshd
@@ -152,7 +152,7 @@ ALLOW_EMPTY:${PN} = "1"
PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server"
FILES:${PN}-scp = "${bindir}/scp.${BPN}"
FILES:${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
-FILES:${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system"
+FILES:${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_system_unitdir}"
FILES:${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
FILES:${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys"
FILES:${PN}-sftp = "${bindir}/sftp"
diff --git a/poky/meta/recipes-connectivity/ppp/ppp_2.4.9.bb b/poky/meta/recipes-connectivity/ppp/ppp_2.4.9.bb
index 6e5cfc8f9..235595ff7 100644
--- a/poky/meta/recipes-connectivity/ppp/ppp_2.4.9.bb
+++ b/poky/meta/recipes-connectivity/ppp/ppp_2.4.9.bb
@@ -5,7 +5,7 @@ SECTION = "console/network"
HOMEPAGE = "http://samba.org/ppp/"
BUGTRACKER = "http://ppp.samba.org/cgi-bin/ppp-bugs"
DEPENDS = "libpcap openssl virtual/crypt"
-LICENSE = "BSD & GPLv2+ & LGPLv2+ & PD"
+LICENSE = "BSD-3-Clause & BSD-3-Clause-Attribution & GPLv2+ & LGPLv2+ & PD"
LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77d87dc9c290a424dea \
file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \
file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \
@@ -60,10 +60,10 @@ do_install:append () {
install -m 0755 ${WORKDIR}/pap ${D}${sysconfdir}/chatscripts
install -m 0755 ${WORKDIR}/ppp_on_boot ${D}${sysconfdir}/ppp/ppp_on_boot
install -m 0755 ${WORKDIR}/provider ${D}${sysconfdir}/ppp/peers/provider
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/ppp@.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/ppp@.service ${D}${systemd_system_unitdir}
sed -i -e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/ppp@.service
+ ${D}${systemd_system_unitdir}/ppp@.service
rm -rf ${D}/${mandir}/man8/man8
chmod u+s ${D}${sbindir}/pppd
}
@@ -74,7 +74,7 @@ do_install:append:libc-musl () {
CONFFILES:${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
PACKAGES =+ "${PN}-oa ${PN}-oe ${PN}-radius ${PN}-winbind ${PN}-minconn ${PN}-password ${PN}-l2tp ${PN}-tools"
-FILES:${PN} = "${sysconfdir} ${bindir} ${sbindir}/chat ${sbindir}/pppd ${systemd_unitdir}/system/ppp@.service"
+FILES:${PN} = "${sysconfdir} ${bindir} ${sbindir}/chat ${sbindir}/pppd ${systemd_system_unitdir}/ppp@.service"
FILES:${PN}-oa = "${libdir}/pppd/${PV}/pppoatm.so"
FILES:${PN}-oe = "${sbindir}/pppoe-discovery ${libdir}/pppd/${PV}/*pppoe.so"
FILES:${PN}-radius = "${libdir}/pppd/${PV}/radius.so ${libdir}/pppd/${PV}/radattr.so ${libdir}/pppd/${PV}/radrealms.so"
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
index 309bb4aea..33b1495bb 100644
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
@@ -100,8 +100,8 @@ do_install () {
install -m 644 ${S}/wpa_supplicant/dbus/*.service ${D}/${datadir}/dbus-1/system-services
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_unitdir}/system
+ install -d ${D}/${systemd_system_unitdir}
+ install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_system_unitdir}
fi
install -d ${D}/etc/default/volatiles
diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc
index d85e2a3d7..808c3dc70 100644
--- a/poky/meta/recipes-core/busybox/busybox.inc
+++ b/poky/meta/recipes-core/busybox/busybox.inc
@@ -24,7 +24,7 @@ EXTRA_OEMAKE = "CC='${CC}' LD='${CCLD}' V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${
PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev ${PN}-hwclock"
FILES:${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
-FILES:${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_unitdir}/system/syslog.service ${sysconfdir}/default/busybox-syslog"
+FILES:${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_system_unitdir}/syslog.service ${sysconfdir}/default/busybox-syslog"
FILES:${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf ${sysconfdir}/mdev/*"
FILES:${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
FILES:${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc"
@@ -317,17 +317,17 @@ do_install () {
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
if grep -q "CONFIG_KLOGD=y" ${B}/.config; then
- install -d ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \
- > ${D}${systemd_unitdir}/system/busybox-klogd.service
+ > ${D}${systemd_system_unitdir}/busybox-klogd.service
fi
if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then
- install -d ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \
- > ${D}${systemd_unitdir}/system/busybox-syslog.service
- if [ ! -e ${D}${systemd_unitdir}/system/busybox-klogd.service ] ; then
- sed -i '/klog/d' ${D}${systemd_unitdir}/system/busybox-syslog.service
+ > ${D}${systemd_system_unitdir}/busybox-syslog.service
+ if [ ! -e ${D}${systemd_system_unitdir}/busybox-klogd.service ] ; then
+ sed -i '/klog/d' ${D}${systemd_system_unitdir}/busybox-syslog.service
fi
if [ -f ${WORKDIR}/busybox-syslog.default ] ; then
install -d ${D}${sysconfdir}/default
diff --git a/poky/meta/recipes-core/coreutils/coreutils_8.32.bb b/poky/meta/recipes-core/coreutils/coreutils_8.32.bb
index f82572ed5..01acf9a87 100644
--- a/poky/meta/recipes-core/coreutils/coreutils_8.32.bb
+++ b/poky/meta/recipes-core/coreutils/coreutils_8.32.bb
@@ -52,6 +52,7 @@ PACKAGECONFIG:class-nativesdk ??= "xattr"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
PACKAGECONFIG[single-binary] = "--enable-single-binary,--disable-single-binary,,"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
# [ df mktemp nice printenv base64 gets a special treatment and is not included in this
bindir_progs = "arch basename chcon cksum comm csplit cut dir dircolors dirname du \
diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc
index f2a490c47..78f9f9adb 100644
--- a/poky/meta/recipes-core/dropbear/dropbear.inc
+++ b/poky/meta/recipes-core/dropbear/dropbear.inc
@@ -97,14 +97,14 @@ do_install() {
fi
# deal with systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dropbearkey.service ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dropbear@.service ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dropbear.socket ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/dropbearkey.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/dropbear@.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/dropbear.socket ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@BINDIR@,${bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/dropbear.socket ${D}${systemd_unitdir}/system/*.service
+ ${D}${systemd_system_unitdir}/dropbear.socket ${D}${systemd_system_unitdir}/*.service
}
inherit update-alternatives
diff --git a/poky/meta/recipes-core/expat/expat_2.4.1.bb b/poky/meta/recipes-core/expat/expat_2.4.1.bb
index 555dd0d60..14e5aca9e 100644
--- a/poky/meta/recipes-core/expat/expat_2.4.1.bb
+++ b/poky/meta/recipes-core/expat/expat_2.4.1.bb
@@ -6,11 +6,15 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9"
-SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \
+VERSION_TAG = "${@d.getVar('PV').replace('.', '_')}"
+
+SRC_URI = "https://github.com/libexpat/libexpat/releases/download/R_${VERSION_TAG}/expat-${PV}.tar.bz2 \
file://libtool-tag.patch \
file://run-ptest \
"
+UPSTREAM_CHECK_URI = "https://github.com/libexpat/libexpat/releases/"
+
SRC_URI[sha256sum] = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40"
EXTRA_OECMAKE:class-native += "-DEXPAT_BUILD_DOCS=OFF"
diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc
index e25561d9b..601dedb9f 100644
--- a/poky/meta/recipes-core/glibc/glibc-package.inc
+++ b/poky/meta/recipes-core/glibc/glibc-package.inc
@@ -42,7 +42,7 @@ FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}"
FILES:${PN}-dev += "${libdir}/libpthread.a ${libdir}/libdl.a ${libdir}/libutil.a ${libdir}/libanl.a ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
RDEPENDS:${PN}-dev = "linux-libc-headers-dev"
FILES:${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a"
-FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_unitdir}/system/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \
+FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_system_unitdir}/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \
${sysconfdir}/nscd.conf ${sysconfdir}/default/volatiles/98_nscd ${localstatedir}/db/nscd"
FILES:${PN}-mtrace = "${bindir}/mtrace"
FILES:tzcode = "${bindir}/tzselect ${sbindir}/zic ${bindir}/zdump"
@@ -107,8 +107,8 @@ do_install() {
sed -i "s%daemon%start-stop-daemon --start --exec%g" ${D}${sysconfdir}/init.d/nscd
sed -i "s|\(enable-cache\t\+netgroup\t\+\)yes|\1no|" ${D}${sysconfdir}/nscd.conf
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/nscd/nscd.service ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/nscd/nscd.service ${D}${systemd_system_unitdir}/
# The dynamic loader will have been installed into
# ${base_libdir}. However, if that isn't going to end up being
diff --git a/poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig.patch b/poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig.patch
index 52986e61c..d1835c7a1 100644
--- a/poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig.patch
+++ b/poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig.patch
@@ -400,7 +400,7 @@ Index: ldconfig-native-2.12.1/ldconfig.c
return 0;
}
-+#define REPORT_BUGS_TO "mailing list : poky@yoctoproject.org"
++#define REPORT_BUGS_TO "mailing list : poky@lists.yoctoproject.org"
/* Print bug-reporting information in the help message. */
static char *
more_help (int key, const char *text, void *input)
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index 17e06a056..86dc69129 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -24,7 +24,7 @@ IMAGE_FSTYPES = "wic.vmdk wic.vhd wic.vhdx"
inherit core-image setuptools3
-SRCREV ?= "75f491e5e20bd0aade764ea5bd15f547fafb7684"
+SRCREV ?= "98dcd17a5c6c3c6ac3f542b47e358c714f88af6a"
SRC_URI = "git://git.yoctoproject.org/poky \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \
diff --git a/poky/meta/recipes-core/images/core-image-ptest-all.bb b/poky/meta/recipes-core/images/core-image-ptest-all.bb
index c1d6aa28a..147245167 100644
--- a/poky/meta/recipes-core/images/core-image-ptest-all.bb
+++ b/poky/meta/recipes-core/images/core-image-ptest-all.bb
@@ -18,8 +18,8 @@ IMAGE_OVERHEAD_FACTOR = "1.0"
IMAGE_ROOTFS_EXTRA_SPACE = "1124288"
# ptests need more memory than standard to avoid the OOM killer
-# also lttng-tools needs /tmp that has at least 1G
-QB_MEM = "-m 2048"
+# also lttng-tools needs /tmp that has at least 2G
+QB_MEM = "-m 4096"
# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places
PTEST_EXPECT_FAILURE = "1"
diff --git a/poky/meta/recipes-core/meta/buildtools-tarball.bb b/poky/meta/recipes-core/meta/buildtools-tarball.bb
index 6e96cf6c3..fb2893065 100644
--- a/poky/meta/recipes-core/meta/buildtools-tarball.bb
+++ b/poky/meta/recipes-core/meta/buildtools-tarball.bb
@@ -49,7 +49,6 @@ RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
EXCLUDE_FROM_WORLD = "1"
-inherit meta
inherit populate_sdk
inherit toolchain-scripts-base
inherit nopackages
diff --git a/poky/meta/recipes-core/meta/meta-environment.bb b/poky/meta/recipes-core/meta/meta-environment.bb
index 27f010366..7118fb2ae 100644
--- a/poky/meta/recipes-core/meta/meta-environment.bb
+++ b/poky/meta/recipes-core/meta/meta-environment.bb
@@ -47,6 +47,11 @@ python do_generate_content() {
}
addtask generate_content before do_install after do_compile
+python () {
+ sitefiles, searched = siteinfo_get_files(d, sysrootcache=False)
+ d.appendVarFlag("do_generate_content", "file-checksums", " " + " ".join(searched))
+}
+
create_sdk_files() {
# Setup site file for external use
toolchain_create_sdk_siteconfig ${SDK_OUTPUT}/${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS}
diff --git a/poky/meta/recipes-core/meta/meta-ide-support.bb b/poky/meta/recipes-core/meta/meta-ide-support.bb
index 768f6f4bb..39317d50e 100644
--- a/poky/meta/recipes-core/meta/meta-ide-support.bb
+++ b/poky/meta/recipes-core/meta/meta-ide-support.bb
@@ -6,10 +6,16 @@ DEPENDS = "virtual/libc gdb-cross-${TARGET_ARCH} qemu-native qemu-helper-native
PR = "r3"
RM_WORK_EXCLUDE += "${PN}"
-inherit meta toolchain-scripts nopackages
+inherit toolchain-scripts nopackages
do_populate_ide_support () {
toolchain_create_tree_env_script
}
+python () {
+ sitefiles, searched = siteinfo_get_files(d, sysrootcache=False)
+ d.setVar("CONFIG_SITE", " ".join(sitefiles))
+ d.appendVarFlag("do_populate_ide_support", "file-checksums", " " + " ".join(searched))
+}
+
addtask populate_ide_support before do_build after do_install
diff --git a/poky/meta/recipes-core/meta/testexport-tarball.bb b/poky/meta/recipes-core/meta/testexport-tarball.bb
index de7663b38..7cb84a010 100644
--- a/poky/meta/recipes-core/meta/testexport-tarball.bb
+++ b/poky/meta/recipes-core/meta/testexport-tarball.bb
@@ -26,7 +26,6 @@ RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
EXCLUDE_FROM_WORLD = "1"
-inherit meta
inherit populate_sdk
inherit toolchain-scripts-base
inherit nopackages
diff --git a/poky/meta/recipes-core/meta/uninative-tarball.bb b/poky/meta/recipes-core/meta/uninative-tarball.bb
index bbdaebad9..a21d08b59 100644
--- a/poky/meta/recipes-core/meta/uninative-tarball.bb
+++ b/poky/meta/recipes-core/meta/uninative-tarball.bb
@@ -36,7 +36,6 @@ RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
EXCLUDE_FROM_WORLD = "1"
-inherit meta
inherit populate_sdk
inherit nopackages
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index 145240e77..5d54bad47 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -2,15 +2,18 @@ SUMMARY = "OVMF - UEFI firmware for Qemu and KVM"
DESCRIPTION = "OVMF is an EDK II based project to enable UEFI support for \
Virtual Machines. OVMF contains sample UEFI firmware for QEMU and KVM"
HOMEPAGE = "https://github.com/tianocore/tianocore.github.io/wiki/OVMF"
-LICENSE = "BSD-2-Clause"
-LICENSE:class-target = "${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'BSD & OpenSSL', 'BSD', d)}"
+LICENSE = "BSD-2-Clause-Patent"
+LICENSE:class-target = "${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'BSD-2-Clause-Patent & OpenSSL', 'BSD-2-Clause-Patent', d)}"
LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=06357ddc23f46577c2aeaeaf7b776d65"
# Enabling Secure Boot adds a dependency on OpenSSL and implies
# compiling OVMF twice, so it is disabled by default. Distros
# may change that default.
PACKAGECONFIG ??= ""
+PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'tpm', '', d)}"
+PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'tpm', '', d)}"
PACKAGECONFIG[secureboot] = ",,,"
+PACKAGECONFIG[tpm] = "-D TPM_ENABLE=TRUE,-D TPM_ENABLE=FALSE,,"
SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \
file://0001-ovmf-update-path-to-native-BaseTools.patch \
@@ -186,7 +189,7 @@ do_compile:class-target() {
bbnote "Building without Secure Boot."
rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX
- ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER}
+ ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${PACKAGECONFIG_CONFARGS}
ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.fd
ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.code.fd
ln ${build_dir}/FV/OVMF_VARS.fd ${WORKDIR}/ovmf/ovmf.vars.fd
@@ -196,7 +199,7 @@ do_compile:class-target() {
# Repeat build with the Secure Boot flags.
bbnote "Building with Secure Boot."
rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX
- ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${OVMF_SECURE_BOOT_FLAGS}
+ ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${PACKAGECONFIG_CONFARGS} ${OVMF_SECURE_BOOT_FLAGS}
ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.secboot.fd
ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.secboot.code.fd
ln ${build_dir}/${OVMF_ARCH}/EnrollDefaultKeys.efi ${WORKDIR}/ovmf/
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
index 663a9cd57..84eb46b9c 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
@@ -36,6 +36,7 @@ SYSTEMTAP = "systemtap"
SYSTEMTAP:libc-musl = ""
SYSTEMTAP:nios2 = ""
SYSTEMTAP:riscv64 = ""
+SYSTEMTAP:riscv32 = ""
LTTNGTOOLS = "lttng-tools"
LTTNGTOOLS:arc = ""
diff --git a/poky/meta/recipes-core/psplash/psplash_git.bb b/poky/meta/recipes-core/psplash/psplash_git.bb
index e9789c4ce..1be7ece79 100644
--- a/poky/meta/recipes-core/psplash/psplash_git.bb
+++ b/poky/meta/recipes-core/psplash/psplash_git.bb
@@ -109,9 +109,9 @@ do_install:append() {
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/psplash-start.service ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/psplash-systemd.service ${D}/${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 644 ${WORKDIR}/psplash-start.service ${D}/${systemd_system_unitdir}
+ install -m 644 ${WORKDIR}/psplash-systemd.service ${D}/${systemd_system_unitdir}
fi
install -d ${D}${bindir}
diff --git a/poky/meta/recipes-core/readline/readline.inc b/poky/meta/recipes-core/readline/readline.inc
index 7f7f5ad2e..569e4ff6e 100644
--- a/poky/meta/recipes-core/readline/readline.inc
+++ b/poky/meta/recipes-core/readline/readline.inc
@@ -18,6 +18,7 @@ SRC_URI += "file://inputrc"
inherit autotools texinfo
EXTRA_AUTORECONF += "--exclude=autoheader"
+EXTRA_OECONF += "bash_cv_termcap_lib=ncurses"
LEAD_SONAME = "libreadline.so"
diff --git a/poky/meta/recipes-core/systemd/systemd-compat-units.bb b/poky/meta/recipes-core/systemd/systemd-compat-units.bb
index f7505f1eb..55ebf9911 100644
--- a/poky/meta/recipes-core/systemd/systemd-compat-units.bb
+++ b/poky/meta/recipes-core/systemd/systemd-compat-units.bb
@@ -38,7 +38,7 @@ pkg_postinst:${PN} () {
fi
for i in ${SYSTEMD_DISABLED_SYSV_SERVICES} ; do
- if [ -e $i -o -e $i.sh ] && ! [ -e $D${sysconfdir}/systemd/system/$i.service -o -e $D${systemd_unitdir}/system/$i.service ] ; then
+ if [ -e $i -o -e $i.sh ] && ! [ -e $D${sysconfdir}/systemd/system/$i.service -o -e $D${systemd_system_unitdir}/$i.service ] ; then
echo -n "$i: "
systemctl $OPTS mask $i.service
fi
diff --git a/poky/meta/recipes-core/systemd/systemd-conf_1.0.bb b/poky/meta/recipes-core/systemd/systemd-conf_1.0.bb
index 61ce7939d..53af7c616 100644
--- a/poky/meta/recipes-core/systemd/systemd-conf_1.0.bb
+++ b/poky/meta/recipes-core/systemd/systemd-conf_1.0.bb
@@ -21,7 +21,7 @@ SRC_URI = "\
do_install() {
install -D -m0644 ${WORKDIR}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf
install -D -m0644 ${WORKDIR}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf
- install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf
+ install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_system_unitdir}.conf.d/00-${PN}.conf
if ${@bb.utils.contains('PACKAGECONFIG', 'dhcp-ethernet', 'true', 'false', d)}; then
install -D -m0644 ${WORKDIR}/wired.network ${D}${systemd_unitdir}/network/80-wired.network
@@ -30,7 +30,7 @@ do_install() {
# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52
do_install:append:qemuall() {
- install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf
+ install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_system_unitdir}.conf.d/01-${PN}.conf
}
PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -38,6 +38,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
FILES:${PN} = "\
${systemd_unitdir}/journald.conf.d/ \
${systemd_unitdir}/logind.conf.d/ \
- ${systemd_unitdir}/system.conf.d/ \
+ ${systemd_system_unitdir}.conf.d/ \
${systemd_unitdir}/network/ \
"
diff --git a/poky/meta/recipes-core/systemd/systemd-serialgetty.bb b/poky/meta/recipes-core/systemd/systemd-serialgetty.bb
index 92d35ebcf..7ca951cdb 100644
--- a/poky/meta/recipes-core/systemd/systemd-serialgetty.bb
+++ b/poky/meta/recipes-core/systemd/systemd-serialgetty.bb
@@ -19,11 +19,11 @@ REQUIRED_DISTRO_FEATURES = "systemd"
do_install() {
if [ ! -z "${SERIAL_CONSOLES}" ] ; then
default_baudrate=`echo "${SERIAL_CONSOLES}" | sed 's/\;.*//'`
- install -d ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_system_unitdir}/
install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/
- install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_unitdir}/system/
- sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_unitdir}/system/serial-getty@.service
- sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_unitdir}/system/serial-getty@.service
+ install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_system_unitdir}/
+ sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_system_unitdir}/serial-getty@.service
+ sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_system_unitdir}/serial-getty@.service
tmp="${SERIAL_CONSOLES}"
for entry in $tmp ; do
@@ -31,14 +31,14 @@ do_install() {
ttydev=`echo $entry | sed -e 's/^[0-9]*\;//' -e 's/\;.*//'`
if [ "$baudrate" = "$default_baudrate" ] ; then
# enable the service
- ln -sf ${systemd_unitdir}/system/serial-getty@.service \
+ ln -sf ${systemd_system_unitdir}/serial-getty@.service \
${D}${sysconfdir}/systemd/system/getty.target.wants/serial-getty@$ttydev.service
else
# install custom service file for the non-default baudrate
- install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_unitdir}/system/serial-getty$baudrate@.service
- sed -i -e "s/\@BAUDRATE\@/$baudrate/g" ${D}${systemd_unitdir}/system/serial-getty$baudrate@.service
+ install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service
+ sed -i -e "s/\@BAUDRATE\@/$baudrate/g" ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service
# enable the service
- ln -sf ${systemd_unitdir}/system/serial-getty$baudrate@.service \
+ ln -sf ${systemd_system_unitdir}/serial-getty$baudrate@.service \
${D}${sysconfdir}/systemd/system/getty.target.wants/serial-getty$baudrate@$ttydev.service
fi
done
@@ -46,7 +46,7 @@ do_install() {
}
# This is a machine specific file
-FILES:${PN} = "${systemd_unitdir}/system/*.service ${sysconfdir}"
+FILES:${PN} = "${systemd_system_unitdir}/*.service ${sysconfdir}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
ALLOW_EMPTY:${PN} = "1"
diff --git a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
index e8c3d2d1e..6324319a4 100755
--- a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
+++ b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
@@ -191,7 +191,7 @@ class SystemdUnit():
except KeyError:
pass
- def enable(self):
+ def enable(self, caller_unit=None):
# if we're enabling an instance, first extract the actual instance
# then figure out what the template unit is
template = re.match(r"[^@]+@(?P<instance>[^\.]*)\.", self.unit)
@@ -227,7 +227,8 @@ class SystemdUnit():
try:
for also in config.get('Install', 'Also'):
try:
- SystemdUnit(self.root, also).enable()
+ if caller_unit != also:
+ SystemdUnit(self.root, also).enable(unit)
except SystemdUnitNotFoundError as e:
sys.exit("Error: Systemctl also enable issue with %s (%s)" % (service, e.unit))
diff --git a/poky/meta/recipes-core/systemd/systemd_249.3.bb b/poky/meta/recipes-core/systemd/systemd_249.3.bb
index c2d4343f1..f8c85dabf 100644
--- a/poky/meta/recipes-core/systemd/systemd_249.3.bb
+++ b/poky/meta/recipes-core/systemd/systemd_249.3.bb
@@ -93,6 +93,7 @@ PACKAGECONFIG ??= " \
userdb \
utmp \
vconsole \
+ wheel-group \
zstd \
"
@@ -127,12 +128,14 @@ PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2"
PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid"
PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false"
PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup,,cryptsetup"
+PACKAGECONFIG[tpm2] = "-Dtpm2=true,-Dtpm2=false,tpm2-tss,tpm2-tss libtss2 libtss2-tcti-device"
PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus"
PACKAGECONFIG[efi] = "-Defi=true,-Defi=false"
PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi"
PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils"
PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
PACKAGECONFIG[repart] = "-Drepart=true,-Drepart=false"
+PACKAGECONFIG[homed] = "-Dhomed=true,-Dhomed=false"
# Sign the journal for anti-tampering
PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt"
PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
@@ -195,6 +198,7 @@ PACKAGECONFIG[userdb] = "-Duserdb=true,-Duserdb=false"
PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false"
PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind"
PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup"
+PACKAGECONFIG[wheel-group] = "-Dwheel-group=true, -Dwheel-group=false"
PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false"
# Verify keymaps on locale change
PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon"
@@ -240,7 +244,7 @@ do_install() {
install -d ${D}/${base_sbindir}
if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then
# Provided by a separate recipe
- rm ${D}${systemd_unitdir}/system/serial-getty* -f
+ rm ${D}${systemd_system_unitdir}/serial-getty* -f
fi
# Provide support for initramfs
@@ -259,7 +263,7 @@ do_install() {
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd
sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd
- install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install
+ install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_system_unitdir}d-sysv-install
fi
chown root:systemd-journal ${D}/${localstatedir}/log/journal
@@ -270,19 +274,19 @@ do_install() {
# journal-remote creates this at start
rm -rf ${D}/${localstatedir}/log/journal/remote
- install -d ${D}${systemd_unitdir}/system/graphical.target.wants
- install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
- install -d ${D}${systemd_unitdir}/system/poweroff.target.wants
- install -d ${D}${systemd_unitdir}/system/reboot.target.wants
- install -d ${D}${systemd_unitdir}/system/rescue.target.wants
+ install -d ${D}${systemd_system_unitdir}/graphical.target.wants
+ install -d ${D}${systemd_system_unitdir}/multi-user.target.wants
+ install -d ${D}${systemd_system_unitdir}/poweroff.target.wants
+ install -d ${D}${systemd_system_unitdir}/reboot.target.wants
+ install -d ${D}${systemd_system_unitdir}/rescue.target.wants
# Create symlinks for systemd-update-utmp-runlevel.service
if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/poweroff.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/reboot.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service
fi
# this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
@@ -315,8 +319,8 @@ do_install() {
# If polkit is not available and a fallback was requested, install a drop-in that allows networkd to
# request hostname changes via DBUS without elevating its privileges
if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/
- install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/
+ install -d ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/
+ install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/
install -d ${D}${datadir}/dbus-1/system.d/
install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/
fi
@@ -330,7 +334,7 @@ do_install() {
# install default policy for presets
# https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
- install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
+ install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_system_unitdir}-preset/99-default.preset
# add a profile fragment to disable systemd pager with busybox less
install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh
@@ -405,8 +409,8 @@ RDEPENDS:${PN}-initramfs = "${PN}"
FILES:${PN}-gui = "${bindir}/systemadm"
FILES:${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
- ${systemd_unitdir}/system/systemd-vconsole-setup.service \
- ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service"
+ ${systemd_system_unitdir}/systemd-vconsole-setup.service \
+ ${systemd_system_unitdir}/sysinit.target.wants/systemd-vconsole-setup.service"
RDEPENDS:${PN}-kernel-install += "bash"
FILES:${PN}-kernel-install = "${bindir}/kernel-install \
@@ -421,8 +425,8 @@ FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions"
FILES:${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
${exec_prefix}/lib/binfmt.d \
${rootlibexecdir}/systemd/systemd-binfmt \
- ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
- ${systemd_unitdir}/system/systemd-binfmt.service"
+ ${systemd_system_unitdir}/proc-sys-fs-binfmt_misc.* \
+ ${systemd_system_unitdir}/systemd-binfmt.service"
RRECOMMENDS:${PN}-binfmt = "kernel-module-binfmt-misc"
RRECOMMENDS:${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
@@ -511,31 +515,31 @@ FILES:${PN}-extra-utils = "\
${bindir}/systemd-sysext \
${base_bindir}/systemd-ask-password \
${base_bindir}/systemd-tty-ask-password-agent \
- ${systemd_unitdir}/system/systemd-ask-password-console.path \
- ${systemd_unitdir}/system/systemd-ask-password-console.service \
- ${systemd_unitdir}/system/systemd-ask-password-wall.path \
- ${systemd_unitdir}/system/systemd-ask-password-wall.service \
- ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \
- ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-wall.path \
- ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \
+ ${systemd_system_unitdir}/systemd-ask-password-console.path \
+ ${systemd_system_unitdir}/systemd-ask-password-console.service \
+ ${systemd_system_unitdir}/systemd-ask-password-wall.path \
+ ${systemd_system_unitdir}/systemd-ask-password-wall.service \
+ ${systemd_system_unitdir}/sysinit.target.wants/systemd-ask-password-console.path \
+ ${systemd_system_unitdir}/sysinit.target.wants/systemd-ask-password-wall.path \
+ ${systemd_system_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path \
${rootlibexecdir}/systemd/systemd-resolve-host \
${rootlibexecdir}/systemd/systemd-ac-power \
${rootlibexecdir}/systemd/systemd-activate \
${rootlibexecdir}/systemd/systemd-bus-proxyd \
- ${systemd_unitdir}/system/systemd-bus-proxyd.service \
- ${systemd_unitdir}/system/systemd-bus-proxyd.socket \
+ ${systemd_system_unitdir}/systemd-bus-proxyd.service \
+ ${systemd_system_unitdir}/systemd-bus-proxyd.socket \
${rootlibexecdir}/systemd/systemd-socket-proxyd \
${rootlibexecdir}/systemd/systemd-reply-password \
${rootlibexecdir}/systemd/systemd-sleep \
${rootlibexecdir}/systemd/system-sleep \
- ${systemd_unitdir}/system/systemd-hibernate.service \
- ${systemd_unitdir}/system/systemd-hybrid-sleep.service \
- ${systemd_unitdir}/system/systemd-suspend.service \
- ${systemd_unitdir}/system/sleep.target \
+ ${systemd_system_unitdir}/systemd-hibernate.service \
+ ${systemd_system_unitdir}/systemd-hybrid-sleep.service \
+ ${systemd_system_unitdir}/systemd-suspend.service \
+ ${systemd_system_unitdir}/sleep.target \
${rootlibexecdir}/systemd/systemd-initctl \
- ${systemd_unitdir}/system/systemd-initctl.service \
- ${systemd_unitdir}/system/systemd-initctl.socket \
- ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \
+ ${systemd_system_unitdir}/systemd-initctl.service \
+ ${systemd_system_unitdir}/systemd-initctl.socket \
+ ${systemd_system_unitdir}/sockets.target.wants/systemd-initctl.socket \
${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \
${rootlibexecdir}/systemd/systemd-cgroups-agent \
"
@@ -619,6 +623,7 @@ FILES:${PN} = " ${base_bindir}/* \
${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \
${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \
${datadir}/dbus-1/system.d/org.freedesktop.oom1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.home1.conf \
"
FILES:${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
@@ -692,14 +697,14 @@ FILES:udev += "${base_sbindir}/udevd \
${rootlibexecdir}/udev/rules.d/README \
${sysconfdir}/udev \
${sysconfdir}/init.d/systemd-udevd \
- ${systemd_unitdir}/system/*udev* \
- ${systemd_unitdir}/system/*.wants/*udev* \
+ ${systemd_system_unitdir}/*udev* \
+ ${systemd_system_unitdir}/*.wants/*udev* \
${base_bindir}/systemd-hwdb \
${base_bindir}/udevadm \
${base_sbindir}/udevadm \
${libexecdir}/${MLPREFIX}udevadm \
${datadir}/bash-completion/completions/udevadm \
- ${systemd_unitdir}/system/systemd-hwdb-update.service \
+ ${systemd_system_unitdir}/systemd-hwdb-update.service \
"
FILES:udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \
@@ -717,6 +722,9 @@ python __anonymous() {
if bb.utils.contains('PACKAGECONFIG', 'repart', True, False, d) and not bb.utils.contains('PACKAGECONFIG', 'openssl', True, False, d):
bb.error("PACKAGECONFIG[repart] requires PACKAGECONFIG[openssl]")
+
+ if bb.utils.contains('PACKAGECONFIG', 'homed', True, False, d) and not bb.utils.contains('PACKAGECONFIG', 'userdb openssl cryptsetup', True, False, d):
+ bb.error("PACKAGECONFIG[homed] requires PACKAGECONFIG[userdb], PACKAGECONFIG[openssl] and PACKAGECONFIG[cryptsetup]")
}
python do_warn_musl() {
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb b/poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb
index 935159514..d609c3006 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb
@@ -37,12 +37,13 @@ python util_linux_binpackages () {
continue
pkg = os.path.basename(os.readlink(file))
- extras[pkg] = extras.get(pkg, '') + ' ' + file.replace(dvar, '', 1)
+ extras.setdefault(pkg, [])
+ extras[pkg].append(file.replace(dvar, '', 1))
pn = d.getVar('PN')
for pkg, links in extras.items():
of = d.getVar('FILES:' + pn + '-' + pkg)
- links = of + links
+ links = of + " " + " ".join(sorted(links))
d.setVar('FILES:' + pn + '-' + pkg, links)
}
@@ -73,7 +74,7 @@ EXTRA_OECONF = "\
\
--disable-bfs --disable-login \
--disable-makeinstall-chown --disable-minix --disable-newgrp \
- --disable-use-tty-group --disable-vipw \
+ --disable-use-tty-group --disable-vipw --disable-raw \
\
--without-udev \
\
diff --git a/poky/meta/recipes-core/volatile-binds/volatile-binds.bb b/poky/meta/recipes-core/volatile-binds/volatile-binds.bb
index b693c24c4..d5c5538cd 100644
--- a/poky/meta/recipes-core/volatile-binds/volatile-binds.bb
+++ b/poky/meta/recipes-core/volatile-binds/volatile-binds.bb
@@ -35,7 +35,7 @@ def volatile_systemd_services(d):
SYSTEMD_SERVICE:${PN} = "${@volatile_systemd_services(d)}"
-FILES:${PN} += "${systemd_unitdir}/system/*.service ${servicedir}"
+FILES:${PN} += "${systemd_system_unitdir}/*.service ${servicedir}"
do_compile () {
while read spec mountpoint; do
@@ -67,9 +67,9 @@ do_install () {
install -d ${D}${servicedir}
install -m 0755 mount-copybind ${D}${base_sbindir}/
- install -d ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
for service in ${SYSTEMD_SERVICE:${PN}}; do
- install -m 0644 $service ${D}${systemd_unitdir}/system/
+ install -m 0644 $service ${D}${systemd_system_unitdir}/
done
# Suppress attempts to process some tmpfiles that are not temporary.
diff --git a/poky/meta/recipes-devtools/binutils/binutils.inc b/poky/meta/recipes-devtools/binutils/binutils.inc
index 7d5149fa1..2f65ae547 100644
--- a/poky/meta/recipes-devtools/binutils/binutils.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils.inc
@@ -13,7 +13,7 @@ LICENSE = "GPLv3"
DEPENDS = "flex-native bison-native zlib-native gnu-config-native autoconf-native"
-inherit autotools gettext multilib_header texinfo
+inherit autotools gettext multilib_header pkgconfig texinfo
FILES:${PN} = " \
${bindir}/${TARGET_PREFIX}* \
diff --git a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
index b1d359ec3..974faa3b3 100644
--- a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
+++ b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
@@ -129,7 +129,7 @@ do_install () {
export DESTDIR="${D}"
export LIBDIR="${base_libdir}"
export PKGLIBDIR="${base_libdir}/bootchart"
- export SYSTEMD_UNIT_DIR="${systemd_unitdir}/system"
+ export SYSTEMD_UNIT_DIR="${systemd_system_unitdir}"
oe_runmake install
install -d ${D}${sysconfdir}/init.d
diff --git a/poky/meta/recipes-devtools/cargo/cargo.inc b/poky/meta/recipes-devtools/cargo/cargo.inc
index 1cf7dd621..71e1c64f7 100644
--- a/poky/meta/recipes-devtools/cargo/cargo.inc
+++ b/poky/meta/recipes-devtools/cargo/cargo.inc
@@ -16,7 +16,7 @@ S = "${RUSTSRC}/src/tools/cargo"
CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"
EXCLUDE_FROM_WORLD = "1"
-inherit cargo
+inherit cargo pkgconfig
do_cargo_setup_snapshot () {
${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig
diff --git a/poky/meta/recipes-devtools/distcc/distcc_3.4.bb b/poky/meta/recipes-devtools/distcc/distcc_3.4.bb
index d4fc0356e..7adf8a8ff 100644
--- a/poky/meta/recipes-devtools/distcc/distcc_3.4.bb
+++ b/poky/meta/recipes-devtools/distcc/distcc_3.4.bb
@@ -52,9 +52,9 @@ do_install() {
install -d ${D}${sysconfdir}/default
install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/distcc.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_unitdir}/system/distcc.service
+ install -d ${D}${systemd_system_unitdir}/
+ install -m 0644 ${WORKDIR}/distcc.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/distcc.service
}
FILES:${PN}-server = "${sysconfdir} \
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb
index 9ea4de8e4..f4769e363 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb
@@ -34,7 +34,6 @@ SRC_URI[sha256sum] = "dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2a
# remove at next version upgrade or when output changes
PR = "r1"
-HASHEQUIV_HASH_VERSION .= ".2"
inherit autotools gettext ptest pkgconfig
diff --git a/poky/meta/recipes-devtools/flex/flex_2.6.4.bb b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb
index 56f5b742e..6a47ef1bd 100644
--- a/poky/meta/recipes-devtools/flex/flex_2.6.4.bb
+++ b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb
@@ -28,6 +28,11 @@ SRC_URI[sha256sum] = "e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c4
UPSTREAM_CHECK_URI = "https://github.com/westes/flex/releases"
UPSTREAM_CHECK_REGEX = "flex-(?P<pver>\d+(\.\d+)+)\.tar"
+# Disputed - yes there is stack exhaustion but no bug and it is building the
+# parser, not running it, effectively similar to a compiler ICE. Upstream no plans to address
+# https://github.com/westes/flex/issues/414
+CVE_CHECK_WHITELIST += "CVE-2019-6293"
+
inherit autotools gettext texinfo ptest
M4 = "${bindir}/m4"
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
index 670534fb5..dfacba29a 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
@@ -1,5 +1,6 @@
inherit cross-canadian
inherit python3-dir
+inherit pkgconfig
SUMMARY = "GNU debugger (cross-canadian gdb for ${TARGET_ARCH} target)"
PN = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}"
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross.inc b/poky/meta/recipes-devtools/gdb/gdb-cross.inc
index 6ba3eae6f..4e50cd5ab 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-cross.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-cross.inc
@@ -2,7 +2,7 @@ require gdb-common.inc
DEPENDS = "expat-native ncurses-native flex-native bison-native"
-inherit python3native
+inherit python3native pkgconfig
# Overrides PACKAGECONFIG variables in gdb-common.inc
PACKAGECONFIG ??= "python readline ${@bb.utils.filter('DISTRO_FEATURES', 'debuginfod', d)}"
diff --git a/poky/meta/recipes-devtools/gdb/gdb.inc b/poky/meta/recipes-devtools/gdb/gdb.inc
index 2b0ae1655..2c95ed3ca 100644
--- a/poky/meta/recipes-devtools/gdb/gdb.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb.inc
@@ -1,6 +1,6 @@
require gdb-common.inc
-inherit gettext
+inherit gettext pkgconfig
#LDFLAGS:append = " -s"
#export CFLAGS:append=" -L${STAGING_LIBDIR}"
diff --git a/poky/meta/recipes-devtools/go/go-1.16.5.inc b/poky/meta/recipes-devtools/go/go-1.16.7.inc
index 545aa0c82..02a926877 100644
--- a/poky/meta/recipes-devtools/go/go-1.16.5.inc
+++ b/poky/meta/recipes-devtools/go/go-1.16.7.inc
@@ -1,7 +1,7 @@
require go-common.inc
GO_BASEVERSION = "1.16"
-PV = "1.16.5"
+PV = "1.16.7"
FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
@@ -17,4 +17,9 @@ SRC_URI += "\
file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
file://0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch \
"
-SRC_URI[main.sha256sum] = "7bfa7e5908c7cc9e75da5ddf3066d7cbcf3fd9fa51945851325eebc17f50ba80"
+SRC_URI[main.sha256sum] = "1a9f2894d3d878729f7045072f30becebe243524cf2fce4e0a7b248b1e0654ac"
+
+# Upstream don't believe it is a signifiant real world issue and will only
+# fix in 1.17 onwards where we can drop this.
+# https://github.com/golang/go/issues/30999#issuecomment-910470358
+CVE_CHECK_WHITELIST += "CVE-2021-29923"
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.16.5.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.16.7.bb
index b3e2b6a60..cb54c2868 100644
--- a/poky/meta/recipes-devtools/go/go-binary-native_1.16.5.bb
+++ b/poky/meta/recipes-devtools/go/go-binary-native_1.16.7.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
PROVIDES = "go-native"
SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "b12c23023b68de22f74c0524f10b753e7b08b1504cb7e417eccebdd3fae49061"
-SRC_URI[go_linux_arm64.sha256sum] = "d5446b46ef6f36fdffa852f73dfbbe78c1ddf010b99fa4964944b9ae8b4d6799"
+SRC_URI[go_linux_amd64.sha256sum] = "7fe7a73f55ba3e2285da36f8b085e5c0159e9564ef5f63ee0ed6b818ade8ef04"
+SRC_URI[go_linux_arm64.sha256sum] = "63d6b53ecbd2b05c1f0e9903c92042663f2f68afdbb67f4d0d12700156869bac"
UPSTREAM_CHECK_URI = "https://golang.org/dl/"
UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.5.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.7.bb
index 7ac9449e4..7ac9449e4 100644
--- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.5.bb
+++ b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.7.bb
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.16.5.bb b/poky/meta/recipes-devtools/go/go-cross_1.16.7.bb
index 80b5a03f6..80b5a03f6 100644
--- a/poky/meta/recipes-devtools/go/go-cross_1.16.5.bb
+++ b/poky/meta/recipes-devtools/go/go-cross_1.16.7.bb
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.5.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.7.bb
index 1857c8a57..1857c8a57 100644
--- a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.5.bb
+++ b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.7.bb
diff --git a/poky/meta/recipes-devtools/go/go-native_1.16.5.bb b/poky/meta/recipes-devtools/go/go-native_1.16.7.bb
index ffe4ef352..ffe4ef352 100644
--- a/poky/meta/recipes-devtools/go/go-native_1.16.5.bb
+++ b/poky/meta/recipes-devtools/go/go-native_1.16.7.bb
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.16.5.bb b/poky/meta/recipes-devtools/go/go-runtime_1.16.7.bb
index 63464a150..63464a150 100644
--- a/poky/meta/recipes-devtools/go/go-runtime_1.16.5.bb
+++ b/poky/meta/recipes-devtools/go/go-runtime_1.16.7.bb
diff --git a/poky/meta/recipes-devtools/go/go_1.16.5.bb b/poky/meta/recipes-devtools/go/go_1.16.7.bb
index 34dc89bb0..34dc89bb0 100644
--- a/poky/meta/recipes-devtools/go/go_1.16.5.bb
+++ b/poky/meta/recipes-devtools/go/go_1.16.7.bb
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
index 963e881d6..ee8ce4d6a 100644
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
@@ -11,7 +11,7 @@ SRCREV = "1a032da198333ee77bdbe4be65e60eb4115ea73f"
S = "${WORKDIR}/git"
-inherit meson gobject-introspection
+inherit meson gobject-introspection pkgconfig
EXTRA_OEMESON = "-Dwith_py3=false -Dwith_docs=false -Drpmio=disabled -Dlibmagic=disabled -Dwith_manpages=disabled -Dgobject_overrides_dir_py3=${PYTHON_SITEPACKAGES_DIR}/gi/overrides"
diff --git a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc
index 6748d7468..7104c98c2 100644
--- a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc
+++ b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc
@@ -24,6 +24,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
file://0001-Makefile.am-make-sure-autoheader-run-before-autoconf.patch \
file://0001-Makefile.am-make-sure-autoheader-run-before-automake.patch \
file://lto-prefix.patch \
+ file://debian-no_hostname.patch \
"
SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e"
diff --git a/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb b/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb
index 95bbc875f..fb40ce731 100644
--- a/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb
+++ b/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb
@@ -1,6 +1,6 @@
require libtool-${PV}.inc
-SRC_URI += "file://multilib.patch file://debian-no_hostname.patch"
+SRC_URI += "file://multilib.patch"
RDEPENDS:${PN} += "bash"
diff --git a/poky/meta/recipes-devtools/perl/files/CVE-2021-36770.patch b/poky/meta/recipes-devtools/perl/files/CVE-2021-36770.patch
new file mode 100644
index 000000000..1ef548b30
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/files/CVE-2021-36770.patch
@@ -0,0 +1,40 @@
+Backport patch to fix CVE-2021-36770. And drop the section of code which
+updates version.
+
+Upstream-Status: Backport [https://github.com/Perl/perl5/commit/c1a937f]
+CVE: CVE-2021-36770
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From c1a937fef07c061600a0078f4cb53fe9c2136bb9 Mon Sep 17 00:00:00 2001
+From: Ricardo Signes <rjbs@semiotic.systems>
+Date: Mon, 9 Aug 2021 08:14:05 -0400
+Subject: [PATCH] Encode.pm: apply a local patch for CVE-2021-36770
+
+I expect Encode to see a new release today.
+
+Without this fix, Encode::ConfigLocal can be loaded from a path relative
+to the current directory, because the || operator will evaluate @INC in
+scalar context, putting an integer as the only value in @INC.
+---
+ cpan/Encode/Encode.pm | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cpan/Encode/Encode.pm b/cpan/Encode/Encode.pm
+index a56a99947f..b96a850416 100644
+--- a/cpan/Encode/Encode.pm
++++ b/cpan/Encode/Encode.pm
+@@ -65,8 +66,8 @@ require Encode::Config;
+ eval {
+ local $SIG{__DIE__};
+ local $SIG{__WARN__};
+- local @INC = @INC || ();
+- pop @INC if $INC[-1] eq '.';
++ local @INC = @INC;
++ pop @INC if @INC && $INC[-1] eq '.';
+ require Encode::ConfigLocal;
+ };
+
+--
+2.33.0
+
diff --git a/poky/meta/recipes-devtools/perl/perl_5.34.0.bb b/poky/meta/recipes-devtools/perl/perl_5.34.0.bb
index ab19a8d0b..175db4ee3 100644
--- a/poky/meta/recipes-devtools/perl/perl_5.34.0.bb
+++ b/poky/meta/recipes-devtools/perl/perl_5.34.0.bb
@@ -17,6 +17,7 @@ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
file://perl-dynloader.patch \
file://0002-Constant-Fix-up-shebang.patch \
file://determinism.patch \
+ file://CVE-2021-36770.patch \
"
SRC_URI:append:class-native = " \
file://perl-configpm-switch.patch \
@@ -384,3 +385,10 @@ EOF
chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl
cat ${SYSROOT_DESTDIR}${bindir}/nativeperl
}
+
+SSTATE_HASHEQUIV_FILEMAP = " \
+ populate_sysroot:*/lib*/perl5/*/*/Config_heavy.pl:${TMPDIR} \
+ populate_sysroot:*/lib*/perl5/*/*/Config_heavy.pl:${COREBASE} \
+ populate_sysroot:*/lib*/perl5/config.sh:${TMPDIR} \
+ populate_sysroot:*/lib*/perl5/config.sh:${COREBASE} \
+ "
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
index 328177c9b..7acb1d64d 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -13,7 +13,7 @@ SRC_URI:append:class-nativesdk = " \
file://older-glibc-symbols.patch"
SRC_URI[prebuilt.sha256sum] = "ed9f456856e9d86359f169f46a70ad7be4190d6040282b84c8d97b99072485aa"
-SRCREV = "b988b0a6b8afd8d459bc9a2528e834f63a3d59b2"
+SRCREV = "0cda3ba5f94aed8d50652a99ee9c502975aa2926"
S = "${WORKDIR}/git"
PV = "1.9.0+git${SRCPV}"
diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.2.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.2.bb
index 2d4c62af8..8e0958571 100644
--- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.2.bb
+++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.2.bb
@@ -2,7 +2,7 @@ SUMMARY = "A sophisticated Numeric Processing Package for Python"
HOMEPAGE = "https://numpy.org/"
DESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python."
SECTION = "devel/python"
-LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD & MIT"
+LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b076ad374a7d311ba3126a22b2d52596"
SRCNAME = "numpy"
diff --git a/poky/meta/recipes-devtools/python/python3-packaging_21.0.bb b/poky/meta/recipes-devtools/python/python3-packaging_21.0.bb
index eacc48e56..201b583de 100644
--- a/poky/meta/recipes-devtools/python/python3-packaging_21.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-packaging_21.0.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Core utilities for Python packages"
HOMEPAGE = "https://github.com/pypa/packaging"
-LICENSE = "Apache-2.0 & BSD"
+LICENSE = "Apache-2.0 | BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91"
SRC_URI[sha256sum] = "7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7"
diff --git a/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py b/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py
index c4164313e..5e2b12879 100644
--- a/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py
+++ b/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py
@@ -16,6 +16,6 @@ with open(sys.argv[1], 'r') as f:
with open(sys.argv[1], 'w') as f:
for k in sorted(l.keys()):
f.write('%s = ' % k)
- pprint.pprint(l[k], stream=f, width=sys.maxsize)
+ pprint.pprint(l[k], stream=f, width=1)
f.write('\n')
diff --git a/poky/meta/recipes-devtools/python/python3_3.9.6.bb b/poky/meta/recipes-devtools/python/python3_3.9.6.bb
index 34500642d..8a638b142 100644
--- a/poky/meta/recipes-devtools/python/python3_3.9.6.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.9.6.bb
@@ -161,6 +161,11 @@ do_install:append:class-native() {
}
do_install:append() {
+ for c in ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do
+ python3 ${WORKDIR}/reformat_sysconfig.py $c
+ done
+ rm ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.cpython*
+
mkdir -p ${D}${libdir}/python-sysconfigdata
sysconfigfile=`find ${D} -name _sysconfig*.py`
cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
@@ -191,6 +196,14 @@ do_install:append:class-nativesdk () {
}
SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py"
+SSTATE_HASHEQUIV_FILEMAP = " \
+ populate_sysroot:*/lib*/python3*/_sysconfigdata*.py:${TMPDIR} \
+ populate_sysroot:*/lib*/python3*/_sysconfigdata*.py:${COREBASE} \
+ populate_sysroot:*/lib*/python3*/config-*/Makefile:${TMPDIR} \
+ populate_sysroot:*/lib*/python3*/config-*/Makefile:${COREBASE} \
+ populate_sysroot:*/lib*/python-sysconfigdata/_sysconfigdata.py:${TMPDIR} \
+ populate_sysroot:*/lib*/python-sysconfigdata/_sysconfigdata.py:${COREBASE} \
+ "
PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"
py_package_preprocess () {
@@ -374,8 +387,8 @@ RDEPENDS:libpython3:append:libc-glibc = " libgcc"
RDEPENDS:${PN}-ctypes:append:libc-glibc = " ${MLPREFIX}ldconfig"
RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev unzip bzip2 libgcc tzdata-europe coreutils sed"
RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr.iso-8859-9"
-RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}"
-RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter tcl', '', d)}"
+RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}"
+RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}"
RDEPENDS:${PN}-dev = ""
RDEPENDS:${PN}-pydoc += "${PN}-io"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb
index d9ef15556..a94dc0b61 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb
@@ -1,6 +1,6 @@
BPN = "qemu"
-DEPENDS = "glib-2.0-native zlib-native"
+DEPENDS = "glib-2.0-native zlib-native ninja-native meson-native"
require qemu-native.inc
diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb
index 1c12eb7cf..f98c0b772 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb
@@ -7,7 +7,7 @@ require qemu-native.inc
# As some of the files installed by qemu-native and qemu-system-native
# are the same, we depend on qemu-native to get the full installation set
# and avoid file clashes
-DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native"
+DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native meson-native ninja-native"
EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}"
diff --git a/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb b/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb
index a0448a180..97b44ad2e 100644
--- a/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb
@@ -18,6 +18,7 @@ do_install () {
cat >> ${D}${bindir_crossscripts}/${MLPREFIX}qemuwrapper << EOF
#!/bin/sh
+# Wrapper script to run binaries under qemu user-mode emulation
set -x
if [ ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d)} = False -a "${PN}" != "nativesdk-qemuwrapper-cross" ]; then
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch b/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch
new file mode 100644
index 000000000..79b168257
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch
@@ -0,0 +1,28 @@
+From 2d351c666f09cc1b9e368422653fb42ac8b86249 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 31 Aug 2021 10:37:05 +0200
+Subject: [PATCH] build/pack.c: do not insert payloadflags into .rpm metadata
+
+The flags look like '19T56' where 19 is the compression level
+(deterministic), and 56 is the amount of threads (varies from one
+host to the next and breaks reproducibility for .rpm).
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ build/pack.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/pack.c b/build/pack.c
+index 932cb213e..b45d0726f 100644
+--- a/build/pack.c
++++ b/build/pack.c
+@@ -328,7 +328,7 @@ static char *getIOFlags(Package pkg)
+ headerPutString(pkg->header, RPMTAG_PAYLOADCOMPRESSOR, compr);
+ buf = xstrdup(rpmio_flags);
+ buf[s - rpmio_flags] = '\0';
+- headerPutString(pkg->header, RPMTAG_PAYLOADFLAGS, buf+1);
++ headerPutString(pkg->header, RPMTAG_PAYLOADFLAGS, "");
+ free(buf);
+ }
+ exit:
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch b/poky/meta/recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch
index 645478525..dc3f74fec 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch
@@ -11,36 +11,39 @@ CPU thread.
Upstream-Status: Pending [merge of multithreading patches to upstream]
Signed-off-by: Peter Bergin <peter@berginkonsult.se>
+Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
---
- rpmio/rpmio.c | 34 ++++++++++++++++++++++++++++++++++
- 1 file changed, 34 insertions(+)
+ rpmio/rpmio.c | 36 ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
diff --git a/rpmio/rpmio.c b/rpmio/rpmio.c
index e051c98..b3c56b6 100644
--- a/rpmio/rpmio.c
+++ b/rpmio/rpmio.c
-@@ -845,6 +845,40 @@ static LZFILE *lzopen_internal(const char *mode, int fd, int xz)
+@@ -845,6 +845,42 @@ static LZFILE *lzopen_internal(const char *mode, int fd, int xz)
}
#endif
-+ struct rlimit virtual_memory;
-+ getrlimit(RLIMIT_AS, &virtual_memory);
-+ if (virtual_memory.rlim_cur != RLIM_INFINITY) {
++ struct rlimit virtual_memory = {RLIM_INFINITY , RLIM_INFINITY};
++ int status = getrlimit(RLIMIT_AS, &virtual_memory);
++ if ((status != -1) && (virtual_memory.rlim_cur != RLIM_INFINITY)) {
+ const uint64_t virtual_memlimit = virtual_memory.rlim_cur;
++ uint32_t threads_max = lzma_cputhreads();
+ const uint64_t virtual_memlimit_per_cpu_thread =
-+ virtual_memlimit / lzma_cputhreads();
-+ uint64_t memory_usage_virt;
++ virtual_memlimit / ((threads_max == 0) ? 1 : threads_max);
+ rpmlog(RPMLOG_NOTICE, "XZ: virtual memory restricted to %lu and "
+ "per CPU thread %lu\n", virtual_memlimit, virtual_memlimit_per_cpu_thread);
++ uint64_t memory_usage_virt;
+ /* keep reducing the number of compression threads until memory
+ usage falls below the limit per CPU thread*/
+ while ((memory_usage_virt = lzma_stream_encoder_mt_memusage(&mt_options)) >
+ virtual_memlimit_per_cpu_thread) {
-+ /* If number of threads goes down to zero lzma_stream_encoder will
-+ * will return UINT64_MAX. We must check here to avoid an infinite loop.
++ /* If number of threads goes down to zero or in case of any other error
++ * lzma_stream_encoder_mt_memusage will return UINT64_MAX. We must check
++ * for both the cases here to avoid an infinite loop.
+ * If we get into situation that one thread requires more virtual memory
+ * than available we set one thread, print error message and try anyway. */
-+ if (--mt_options.threads == 0) {
++ if ((--mt_options.threads == 0) || (memory_usage_virt == UINT64_MAX)) {
+ mt_options.threads = 1;
+ rpmlog(RPMLOG_WARNING,
+ "XZ: Could not adjust number of threads to get below "
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb b/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
index 189da9243..2ff9c2b11 100644
--- a/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
+++ b/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
@@ -40,6 +40,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.16.x \
file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \
file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \
file://0001-tools-Add-error.h-for-non-glibc-case.patch \
+ file://0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch \
"
PE = "1"
@@ -194,3 +195,8 @@ rpm_package_preprocess () {
sed -i -e 's:--sysroot[^ ]*::g' \
${PKGD}/${libdir}/rpm/macros
}
+
+SSTATE_HASHEQUIV_FILEMAP = " \
+ populate_sysroot:*/rpm/macros:${TMPDIR} \
+ populate_sysroot:*/rpm/macros:${COREBASE} \
+ "
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch b/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch
new file mode 100644
index 000000000..f92f0e1ba
--- /dev/null
+++ b/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch
@@ -0,0 +1,35 @@
+From: Christian Hofstaedtler <zeha@debian.org>
+Date: Tue, 10 Oct 2017 15:04:34 -0300
+Subject: rdoc: build reproducible documentation
+
+- provide a fixed timestamp to the gzip compression
+
+Upstream-Status: Backport [debian]
+
+Signed-off-by: Antonio Terceiro <terceiro@debian.org>
+Signed-off-by: Christian Hofstaedtler <zeha@debian.org>
+---
+ lib/rdoc/generator/json_index.rb | 4 ++--
+ lib/rdoc/rdoc.rb | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+--- a/lib/rdoc/generator/json_index.rb
++++ b/lib/rdoc/generator/json_index.rb
+@@ -178,7 +178,7 @@
+ debug_msg "Writing gzipped search index to %s" % outfile
+
+ Zlib::GzipWriter.open(outfile) do |gz|
+- gz.mtime = File.mtime(search_index_file)
++ gz.mtime = -1
+ gz.orig_name = search_index_file.basename.to_s
+ gz.write search_index
+ gz.close
+@@ -196,7 +196,7 @@
+ debug_msg "Writing gzipped file to %s" % outfile
+
+ Zlib::GzipWriter.open(outfile) do |gz|
+- gz.mtime = File.mtime(dest)
++ gz.mtime = -1
+ gz.orig_name = dest.basename.to_s
+ gz.write data
+ gz.close
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch b/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch
new file mode 100644
index 000000000..e0aca0dcf
--- /dev/null
+++ b/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch
@@ -0,0 +1,28 @@
+From: Reiner Herrmann <reiner@reiner-h.de>
+Date: Tue, 10 Oct 2017 15:06:13 -0300
+Subject: lib/mkmf.rb: sort list of object files in generated Makefile
+
+Without sorting the list explicitly, its order is indeterministic,
+because readdir() is also not deterministic.
+When the list of object files varies between builds, they are linked
+in a different order, which results in an unreproducible build.
+
+Upstream-Status: Backport [debian]
+
+Signed-off-by: Antonio Terceiro <terceiro@debian.org>
+Signed-off-by: Reiner Herrmann <reiner@reiner-h.de>
+---
+ lib/mkmf.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/lib/mkmf.rb
++++ b/lib/mkmf.rb
+@@ -2315,7 +2315,7 @@
+ LIBS = #{$LIBRUBYARG} #{$libs} #{$LIBS}
+ ORIG_SRCS = #{orig_srcs.collect(&File.method(:basename)).join(' ')}
+ SRCS = $(ORIG_SRCS) #{(srcs - orig_srcs).collect(&File.method(:basename)).join(' ')}
+-OBJS = #{$objs.join(" ")}
++OBJS = #{$objs.sort.join(" ")}
+ HDRS = #{hdrs.map{|h| '$(srcdir)/' + File.basename(h)}.join(' ')}
+ LOCAL_HDRS = #{$headers.join(' ')}
+ TARGET = #{target}
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch b/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
new file mode 100644
index 000000000..b7faa5865
--- /dev/null
+++ b/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
@@ -0,0 +1,28 @@
+From: Christian Hofstaedtler <zeha@debian.org>
+Date: Tue, 10 Oct 2017 15:07:11 -0300
+Subject: Mark Gemspec-reproducible change fixing #784225, too
+
+I think the UTC date change will fix the Multi-Arch not-same file issue,
+too.
+
+Upstream-Status: Backport [debian]
+
+Signed-off-by: Antonio Terceiro <terceiro@debian.org>
+Signed-off-by: Christian Hofstaedtler <zeha@debian.org>
+---
+ lib/rubygems/specification.rb | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/lib/rubygems/specification.rb
++++ b/lib/rubygems/specification.rb
+@@ -1695,7 +1695,9 @@
+ raise(Gem::InvalidSpecificationException,
+ "invalid date format in specification: #{date.inspect}")
+ end
+- when Time, DateLike then
++ when Time then
++ Time.utc(date.utc.year, date.utc.month, date.utc.day)
++ when DateLike then
+ Time.utc(date.year, date.month, date.day)
+ else
+ TODAY
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch b/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch
new file mode 100644
index 000000000..504893b4b
--- /dev/null
+++ b/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch
@@ -0,0 +1,67 @@
+From: Lucas Kanashiro <kanashiro@debian.org>
+Date: Fri, 1 Nov 2019 15:25:17 -0300
+Subject: Make gemspecs reproducible
+
+Without an explicit date, they will get the current date and make the
+build unreproducible
+
+Upstream-Status: Backport [debian]
+
+---
+ ext/bigdecimal/bigdecimal.gemspec | 1 +
+ ext/fiddle/fiddle.gemspec | 1 +
+ ext/io/console/io-console.gemspec | 2 +-
+ lib/ipaddr.gemspec | 1 +
+ lib/rdoc/rdoc.gemspec | 1 +
+ 5 files changed, 5 insertions(+), 1 deletion(-)
+
+--- a/ext/bigdecimal/bigdecimal.gemspec
++++ b/ext/bigdecimal/bigdecimal.gemspec
+@@ -6,6 +6,7 @@
+ s.name = "bigdecimal"
+ s.version = bigdecimal_version
+ s.authors = ["Kenta Murata", "Zachary Scott", "Shigeo Kobayashi"]
++ s.date = RUBY_RELEASE_DATE
+ s.email = ["mrkn@mrkn.jp"]
+
+ s.summary = "Arbitrary-precision decimal floating-point number library."
+--- a/ext/fiddle/fiddle.gemspec
++++ b/ext/fiddle/fiddle.gemspec
+@@ -8,6 +8,7 @@
+ Gem::Specification.new do |spec|
+ spec.name = "fiddle"
+ spec.version = version_module::Fiddle::VERSION
++ spec.date = RUBY_RELEASE_DATE
+ spec.authors = ["Aaron Patterson", "SHIBATA Hiroshi"]
+ spec.email = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org"]
+
+--- a/ext/io/console/io-console.gemspec
++++ b/ext/io/console/io-console.gemspec
+@@ -4,6 +4,7 @@
+ Gem::Specification.new do |s|
+ s.name = "io-console"
+ s.version = _VERSION
++ s.date = RUBY_RELEASE_DATE
+ s.summary = "Console interface"
+ s.email = "nobu@ruby-lang.org"
+ s.description = "add console capabilities to IO instances."
+--- a/lib/ipaddr.gemspec
++++ b/lib/ipaddr.gemspec
+@@ -6,6 +6,7 @@
+ Gem::Specification.new do |spec|
+ spec.name = "ipaddr"
+ spec.version = "1.2.2"
++ spec.date = RUBY_RELEASE_DATE
+ spec.authors = ["Akinori MUSHA", "Hajimu UMEMOTO"]
+ spec.email = ["knu@idaemons.org", "ume@mahoroba.org"]
+
+--- a/lib/rdoc/rdoc.gemspec
++++ b/lib/rdoc/rdoc.gemspec
+@@ -7,6 +7,7 @@
+
+ Gem::Specification.new do |s|
+ s.name = "rdoc"
++ s.date = RUBY_RELEASE_DATE
+ s.version = RDoc::VERSION
+
+ s.authors = [
diff --git a/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb b/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb
index 38e594a59..2abf504d9 100644
--- a/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb
+++ b/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb
@@ -7,6 +7,10 @@ SRC_URI += " \
file://run-ptest \
file://0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch \
file://0002-template-Makefile.in-filter-out-f-prefix-map.patch \
+ file://0003-rdoc-build-reproducible-documentation.patch \
+ file://0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch \
+ file://0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch \
+ file://0006-Make-gemspecs-reproducible.patch \
"
SRC_URI[sha256sum] = "5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1"
diff --git a/poky/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb b/poky/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
index deddf11f4..db353d607 100644
--- a/poky/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
+++ b/poky/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
@@ -33,13 +33,13 @@ do_install() {
install -d ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/run-postinsts.init ${D}${sysconfdir}/init.d/run-postinsts
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/run-postinsts.service ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_system_unitdir}/
+ install -m 0644 ${WORKDIR}/run-postinsts.service ${D}${systemd_system_unitdir}/
sed -i -e 's:#SYSCONFDIR#:${sysconfdir}:g' \
-e 's:#SBINDIR#:${sbindir}:g' \
-e 's:#BASE_BINDIR#:${base_bindir}:g' \
-e 's:#LOCALSTATEDIR#:${localstatedir}:g' \
${D}${sbindir}/run-postinsts \
- ${D}${systemd_unitdir}/system/run-postinsts.service
+ ${D}${systemd_system_unitdir}/run-postinsts.service
}
diff --git a/poky/meta/recipes-devtools/strace/strace_5.13.bb b/poky/meta/recipes-devtools/strace/strace_5.14.bb
index 7d93f2da9..02a4843ed 100644
--- a/poky/meta/recipes-devtools/strace/strace_5.13.bb
+++ b/poky/meta/recipes-devtools/strace/strace_5.14.bb
@@ -15,7 +15,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
file://uintptr_t.patch \
file://0001-strace-fix-reproducibilty-issues.patch \
"
-SRC_URI[sha256sum] = "5acc34888b9d510ad6ac915d4a8df08f51cf1ae920ea24649f6a4bb984d0b656"
+SRC_URI[sha256sum] = "901bee6db5e17debad4530dd9ffb4dc9a96c4a656edbe1c3141b7cb307b11e73"
inherit autotools ptest
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
index 0dd18d7a0..62aa1b0e8 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
+++ b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
@@ -28,7 +28,6 @@ SRC_URI[sha256sum] = "4441a5d593f85bb6e8d578cf6653fb4ec30f9e8f4a2315a3d8f2d0a8b3
# remove at next version upgrade or when output changes
PR = "r1"
-HASHEQUIV_HASH_VERSION .= ".1"
RECIPE_NO_UPDATE_REASON = "6.04-pre3 is broken"
UPSTREAM_CHECK_URI = "https://www.zytor.com/pub/syslinux/"
diff --git a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb
index fd6f17b65..30dbbcc05 100644
--- a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb
+++ b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb
@@ -38,7 +38,7 @@ do_configure:prepend() {
rm -f ${S}/m4/intltool.m4
}
-FILES:${PN} += "${systemd_unitdir}/systemd-bootchart"
+FILES:${PN} += "${systemd_system_unitdir}d-bootchart"
EXTRA_OECONF = " --with-rootprefix=${root_prefix} \
--with-rootlibdir=${base_libdir}"
diff --git a/poky/meta/recipes-devtools/tcf-agent/tcf-agent/0001-Fixed-copyright-messages.patch b/poky/meta/recipes-devtools/tcf-agent/tcf-agent/0001-Fixed-copyright-messages.patch
deleted file mode 100644
index ed73808e9..000000000
--- a/poky/meta/recipes-devtools/tcf-agent/tcf-agent/0001-Fixed-copyright-messages.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 20ac1f939a8a97b03abec55d865050fdaa0f343a Mon Sep 17 00:00:00 2001
-From: Eugene Tarassov <eugenet@xilinx.com>
-Date: Tue, 8 Jan 2019 21:56:16 -0800
-Subject: [oe-core][PATCH 1/1] Fixed copyright messages
-
-Upstream-Status: Backport [https://git.eclipse.org/c/tcf/org.eclipse.tcf.agent.git/commit/?id=20ac1f939a8a97b03abec55d865050fdaa0f343a]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- agent/tcf/framework/channel_lws.c | 2 +-
- agent/tcf/framework/cpudefs-mdep-mux.h | 19 +++++++++++++------
- 2 files changed, 14 insertions(+), 7 deletions(-)
-
-diff --git a/agent/tcf/framework/channel_lws.c b/agent/tcf/framework/channel_lws.c
-index 0cb9585..d9352f3 100644
---- a/tcf/framework/channel_lws.c
-+++ b/tcf/framework/channel_lws.c
-@@ -1,5 +1,5 @@
- /*******************************************************************************
-- * Copyright (c) 2016-2017 Wind River Systems, Inc.
-+ * Copyright (c) 2016-2018 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * and Eclipse Distribution License v1.0 which accompany this distribution.
-diff --git a/agent/tcf/framework/cpudefs-mdep-mux.h b/agent/tcf/framework/cpudefs-mdep-mux.h
-index c9e0db7..0397a6a 100644
---- a/tcf/framework/cpudefs-mdep-mux.h
-+++ b/tcf/framework/cpudefs-mdep-mux.h
-@@ -1,10 +1,17 @@
--/*
-- * Copyright (c) 2013 Wind River Systems, Inc.
-+/*******************************************************************************
-+ * Copyright (c) 2013 Wind River Systems, Inc. and others.
-+ * All rights reserved. This program and the accompanying materials
-+ * are made available under the terms of the Eclipse Public License v1.0
-+ * and Eclipse Distribution License v1.0 which accompany this distribution.
-+ * The Eclipse Public License is available at
-+ * http://www.eclipse.org/legal/epl-v10.html
-+ * and the Eclipse Distribution License is available at
-+ * http://www.eclipse.org/org/documents/edl-v10.php.
-+ * You may elect to redistribute this code under either of these licenses.
- *
-- * The right to copy, distribute, modify or otherwise make use
-- * of this software may be licensed only pursuant to the terms
-- * of an applicable Wind River license agreement.
-- */
-+ * Contributors:
-+ * Wind River Systems - initial API and implementation
-+ *******************************************************************************/
-
- #include <tcf/config.h>
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
index c186db681..e67eccc75 100644
--- a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
+++ b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
@@ -6,7 +6,7 @@ BUGTRACKER = "https://bugs.eclipse.org/bugs/"
LICENSE = "EPL-1.0 | EDL-1.0"
LIC_FILES_CHKSUM = "file://edl-v10.html;md5=522a390a83dc186513f0500543ad3679"
-SRCREV = "a022ef2f1acfd9209a1bf792dda14ae4b0d1b60f"
+SRCREV = "2735e3d6b7eccb05ab232825c618c837d27a5010"
PV = "1.7.0+git${SRCPV}"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
@@ -15,7 +15,6 @@ SRC_URI = "git://git.eclipse.org/r/tcf/org.eclipse.tcf.agent.git;protocol=https
file://ldflags.patch \
file://tcf-agent.init \
file://tcf-agent.service \
- file://0001-Fixed-copyright-messages.patch \
"
DEPENDS = "util-linux openssl"
@@ -56,8 +55,8 @@ do_install() {
oe_runmake install INSTALLROOT=${D}
install -d ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/tcf-agent.init ${D}${sysconfdir}/init.d/tcf-agent
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/tcf-agent.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/tcf-agent.service
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/tcf-agent.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/tcf-agent.service
}
diff --git a/poky/meta/recipes-devtools/tcltk/tcl_8.6.11.bb b/poky/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
index 1e91f0827..cb9e48669 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
+++ b/poky/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
@@ -29,6 +29,10 @@ SRC_URI[sha256sum] = "cfb49aab82bd179651e23eeeb69606f51b0ddc575ca55c3d35e2457469
SRC_URI:class-native = "${BASE_SRC_URI}"
+# Upstream don't believe this is an exploitable issue
+# https://core.tcl-lang.org/tcl/info/7079e4f91601e9c7
+CVE_CHECK_WHITELIST += "CVE-2021-35331"
+
UPSTREAM_CHECK_REGEX = "tcl(?P<pver>\d+(\.\d+)+)-src"
S = "${WORKDIR}/${BPN}${PV}"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb
index 2805ad0eb..3fa483d8b 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "Valgrind memory debugger and instrumentation framework"
HOMEPAGE = "http://valgrind.org/"
DESCRIPTION = "Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail."
BUGTRACKER = "http://valgrind.org/support/bug_reports.html"
-LICENSE = "GPLv2 & GPLv2+ & BSD"
+LICENSE = "GPLv2 & GPLv2+ & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://include/pub_tool_basics.h;beginline=6;endline=29;md5=41c410e8d3f305aee7aaa666b2e4f366 \
file://include/valgrind.h;beginline=1;endline=56;md5=ad3b317f3286b6b704575d9efe6ca5df \
diff --git a/poky/meta/recipes-extended/acpica/acpica_20210730.bb b/poky/meta/recipes-extended/acpica/acpica_20210730.bb
index 490e81243..b66e605f8 100644
--- a/poky/meta/recipes-extended/acpica/acpica_20210730.bb
+++ b/poky/meta/recipes-extended/acpica/acpica_20210730.bb
@@ -9,7 +9,7 @@ ACPI tables."
HOMEPAGE = "http://www.acpica.org/"
SECTION = "console/tools"
-LICENSE = "Intel | BSD | GPLv2"
+LICENSE = "Intel | BSD-3-Clause | GPLv2"
LIC_FILES_CHKSUM = "file://source/compiler/aslcompile.c;beginline=7;endline=150;md5=c33ce358fdcd142684e41e336b7992e8"
COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
diff --git a/poky/meta/recipes-extended/at/at_3.2.2.bb b/poky/meta/recipes-extended/at/at_3.2.2.bb
index efe569479..14b9dace2 100644
--- a/poky/meta/recipes-extended/at/at_3.2.2.bb
+++ b/poky/meta/recipes-extended/at/at_3.2.2.bb
@@ -65,9 +65,9 @@ do_install () {
install -m 0755 ${WORKDIR}/atd.init ${D}${sysconfdir}/init.d/atd
# install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/atd.service
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/atd.service
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
install -D -m 0644 ${WORKDIR}/${BP}/pam.conf ${D}${sysconfdir}/pam.d/atd
diff --git a/poky/meta/recipes-extended/bash/bash.inc b/poky/meta/recipes-extended/bash/bash.inc
index ca788e167..18874a0e2 100644
--- a/poky/meta/recipes-extended/bash/bash.inc
+++ b/poky/meta/recipes-extended/bash/bash.inc
@@ -62,6 +62,11 @@ do_compile_ptest () {
oe_runmake buildtest
}
+do_install:prepend () {
+ # Ensure determinism as this counter increases for each make call
+ rm -f ${B}/.build
+}
+
do_install:append () {
# Move /usr/bin/bash to /bin/bash, if need
if [ "${base_bindir}" != "${bindir}" ]; then
diff --git a/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am b/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am
index 7338df03e..d12d3a45e 100644
--- a/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am
+++ b/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am
@@ -1,6 +1,6 @@
lib_LTLIBRARIES = libbz2.la
-libbz2_la_LDFLAGS = -version-info 1:6:0
+libbz2_la_LDFLAGS = -version-info 1:8:0
libbz2_la_SOURCES = blocksort.c \
huffman.c \
diff --git a/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb b/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb
index 2cbae591b..72a45089f 100644
--- a/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb
+++ b/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb
@@ -50,11 +50,11 @@ do_install:append () {
install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond
# install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/crond.service
+ ${D}${systemd_system_unitdir}/crond.service
# below are necessary for a complete cron environment
install -d ${D}${localstatedir}/spool/cron
diff --git a/poky/meta/recipes-extended/findutils/findutils_4.8.0.bb b/poky/meta/recipes-extended/findutils/findutils_4.8.0.bb
index 675e53c0d..d8ccf4b8e 100644
--- a/poky/meta/recipes-extended/findutils/findutils_4.8.0.bb
+++ b/poky/meta/recipes-extended/findutils/findutils_4.8.0.bb
@@ -8,6 +8,7 @@ DEPENDS = "bison-native"
SRC_URI[sha256sum] = "57127b7e97d91282c6ace556378d5455a9509898297e46e10443016ea1387164"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
# http://savannah.gnu.org/bugs/?27299
CACHED_CONFIGUREVARS += "gl_cv_func_wcwidth_works=yes"
diff --git a/poky/meta/recipes-extended/hdparm/hdparm_9.62.bb b/poky/meta/recipes-extended/hdparm/hdparm_9.62.bb
index 3d4081c2b..61bb44ff3 100644
--- a/poky/meta/recipes-extended/hdparm/hdparm_9.62.bb
+++ b/poky/meta/recipes-extended/hdparm/hdparm_9.62.bb
@@ -4,10 +4,11 @@ DESCRIPTION = "hdparm is a Linux shell utility for viewing \
and manipulating various IDE drive and driver parameters."
SECTION = "console/utils"
-LICENSE = "BSD & GPLv2"
-LICENSE:${PN} = "BSD"
-LICENSE:${PN}-dbg = "BSD"
+LICENSE = "BSD-2-Clause & GPLv2 & hdparm"
+LICENSE:${PN} = "BSD-2-Clause & hdparm"
+LICENSE:${PN}-dbg = "BSD-2-Clause & hdparm"
LICENSE:wiper = "GPLv2"
+NO_GENERIC_LICENSE[hdparm] = "LICENSE.TXT"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \
diff --git a/poky/meta/recipes-extended/iputils/iputils_20210722.bb b/poky/meta/recipes-extended/iputils/iputils_20210722.bb
index 2e8d9032e..e1940b77b 100644
--- a/poky/meta/recipes-extended/iputils/iputils_20210722.bb
+++ b/poky/meta/recipes-extended/iputils/iputils_20210722.bb
@@ -4,7 +4,7 @@ tracepath, tracepath6, ping, ping6 and arping."
HOMEPAGE = "https://github.com/iputils/iputils"
SECTION = "console/network"
-LICENSE = "BSD & GPLv2+"
+LICENSE = "BSD-3-Clause & GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=55aa8c9fcad0691cef0ecd420361e390"
@@ -32,12 +32,12 @@ PACKAGECONFIG[libidn] = "-DUSE_IDN=true, -DUSE_IDN=false, libidn2"
PACKAGECONFIG[gettext] = "-DUSE_GETTEXT=true, -DUSE_GETTEXT=false, gettext"
PACKAGECONFIG[ninfod] = "-DBUILD_NINFOD=true,-DBUILD_NINFOD=false,"
PACKAGECONFIG[rarpd] = "-DBUILD_RARPD=true,-DBUILD_RARPD=false,"
-PACKAGECONFIG[systemd] = "-Dsystemdunitdir=${systemd_unitdir}/system,,systemd"
+PACKAGECONFIG[systemd] = "-Dsystemdunitdir=${systemd_system_unitdir},,systemd"
PACKAGECONFIG[tftpd] = "-DBUILD_TFTPD=true, -DBUILD_TFTPD=false,"
PACKAGECONFIG[traceroute6] = "-DBUILD_TRACEROUTE6=true,-DBUILD_TRACEROUTE6=false,"
PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MANS=false -DBUILD_MANS=false, libxslt"
-inherit meson systemd update-alternatives
+inherit meson systemd update-alternatives pkgconfig
EXTRA_OEMESON += "--prefix=${root_prefix}/ -DSKIP_TESTS=true"
@@ -62,7 +62,7 @@ FILES:${PN}-tracepath = "${base_bindir}/tracepath"
FILES:${PN}-traceroute6 = "${base_bindir}/traceroute6"
FILES:${PN}-clockdiff = "${base_bindir}/clockdiff"
FILES:${PN}-tftpd = "${base_bindir}/tftpd ${sysconfdir}/xinetd.d/tftp"
-FILES:${PN}-rarpd = "${base_sbindir}/rarpd ${systemd_unitdir}/system/rarpd@.service"
+FILES:${PN}-rarpd = "${base_sbindir}/rarpd ${systemd_system_unitdir}/rarpd@.service"
FILES:${PN}-rdisc = "${base_sbindir}/rdisc"
FILES:${PN}-ninfod = "${base_sbindir}/ninfod ${sysconfdir}/init.d/ninfod.sh"
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
index f74016f83..8cb3a9a18 100644
--- a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
+++ b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
@@ -58,12 +58,12 @@ do_install:append() {
install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd
install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/doc/systemd/lighttpd.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/doc/systemd/lighttpd.service ${D}${systemd_system_unitdir}
sed -i -e 's,@SBINDIR@,${sbindir},g' \
-e 's,@SYSCONFDIR@,${sysconfdir},g' \
-e 's,@BASE_BINDIR@,${base_bindir},g' \
- ${D}${systemd_unitdir}/system/lighttpd.service
+ ${D}${systemd_system_unitdir}/lighttpd.service
#For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
ln -sf ${localstatedir}/log ${D}/www/logs
ln -sf ${localstatedir}/tmp ${D}/www/var
diff --git a/poky/meta/recipes-extended/lsof/lsof_4.91.bb b/poky/meta/recipes-extended/lsof/lsof_4.91.bb
index b3adfd57a..d7428ea2c 100644
--- a/poky/meta/recipes-extended/lsof/lsof_4.91.bb
+++ b/poky/meta/recipes-extended/lsof/lsof_4.91.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \
Its name stands for LiSt Open Files, and it does just that."
HOMEPAGE = "http://people.freebsd.org/~abe/"
SECTION = "devel"
-LICENSE = "BSD"
+LICENSE = "Spencer-94"
LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a"
# Upstream lsof releases are hosted on an ftp server which times out download
@@ -18,6 +18,9 @@ SRC_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/uni
SRC_URI[md5sum] = "148ed410cb52e08c2adc0c60f480f11f"
SRC_URI[sha256sum] = "c9da946a525fbf82ff80090b6d1879c38df090556f3fe0e6d782cb44172450a3"
+UPSTREAM_CHECK_URI = "https://github.com/lsof-org/lsof/releases/"
+UPSTREAM_CHECK_REGEX = "lsof_(?P<pver>.*)\.linux\.tar"
+
LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar"
S = "${WORKDIR}/lsof_${PV}_src"
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb b/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb
index b068af95d..f97974abb 100644
--- a/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb
+++ b/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb
@@ -23,7 +23,7 @@ USE_NLS:libc-musl = "no"
inherit gettext pkgconfig autotools systemd
-EXTRA_OECONF = "--with-pager=less --with-systemdsystemunitdir=${systemd_unitdir}/system"
+EXTRA_OECONF = "--with-pager=less --with-systemdsystemunitdir=${systemd_system_unitdir}"
EXTRA_AUTORECONF += "-I ${S}/gl/m4"
PACKAGECONFIG[bzip2] = "--with-bzip2=bzip2,ac_cv_prog_have_bzip2='',bzip2"
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
index 062797afe..35535aef8 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
@@ -44,7 +44,7 @@ CFLAGS:append:powerpc64 = ' -D__SANE_USERSPACE_TYPES__'
CFLAGS:append:mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__'
CFLAGS:append:mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
-EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_unitdir}/system \
+EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_system_unitdir} \
BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev"'
DEBUG_OPTIMIZATION:append = " -Wno-error"
diff --git a/poky/meta/recipes-extended/quota/quota_4.06.bb b/poky/meta/recipes-extended/quota/quota_4.06.bb
index 5115cb389..e32bdd4c3 100644
--- a/poky/meta/recipes-extended/quota/quota_4.06.bb
+++ b/poky/meta/recipes-extended/quota/quota_4.06.bb
@@ -3,7 +3,7 @@ SECTION = "base"
HOMEPAGE = "http://sourceforge.net/projects/linuxquota/"
DESCRIPTION = "Tools and patches for the Linux Diskquota system as part of the Linux kernel"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=18136&atid=118136"
-LICENSE = "BSD & GPLv2+ & LGPLv2.1+"
+LICENSE = "GPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \
file://svc_socket.c;beginline=1;endline=17;md5=24d5a8792da45910786eeac750be8ceb"
diff --git a/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb b/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
index e58214d55..344faa37a 100644
--- a/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
+++ b/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
@@ -35,7 +35,7 @@ USERADD_PARAM:${PN} = "--system --no-create-home --home-dir / \
--shell /bin/false --user-group rpc"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/, \
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}/, \
--without-systemdsystemunitdir, \
systemd \
"
diff --git a/poky/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb b/poky/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
index 1f6232e43..e05fa237a 100644
--- a/poky/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
+++ b/poky/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
@@ -2,7 +2,7 @@ SUMMARY = "Shadow utils requirements for useradd.bbclass"
HOMEPAGE = "http://github.com/shadow-maint/shadow"
BUGTRACKER = "http://github.com/shadow-maint/shadow/issues"
SECTION = "base utils"
-LICENSE = "BSD | Artistic-1.0"
+LICENSE = "BSD-3-Clause | Artistic-1.0"
LIC_FILES_CHKSUM = "file://login.defs_shadow-sysroot;md5=25e2f2de4dfc8f966ac5cdfce45cd7d5"
DEPENDS = "base-passwd"
diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc
index 14c6f0778..8345c1e3d 100644
--- a/poky/meta/recipes-extended/sysstat/sysstat.inc
+++ b/poky/meta/recipes-extended/sysstat/sysstat.inc
@@ -51,9 +51,9 @@ do_install() {
# Unless both cron and systemd are enabled, install our own
# systemd unit file. Otherwise the package will install one.
if ${@bb.utils.contains('PACKAGECONFIG', 'cron systemd', 'false', 'true', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_unitdir}/system
- sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_unitdir}/system/sysstat.service
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_system_unitdir}
+ sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_system_unitdir}/sysstat.service
fi
fi
}
diff --git a/poky/meta/recipes-extended/tar/tar_1.34.bb b/poky/meta/recipes-extended/tar/tar_1.34.bb
index 98755a11c..3488a6c95 100644
--- a/poky/meta/recipes-extended/tar/tar_1.34.bb
+++ b/poky/meta/recipes-extended/tar/tar_1.34.bb
@@ -16,6 +16,7 @@ PACKAGECONFIG ??= ""
PACKAGECONFIG:append:class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
@@ -64,3 +65,4 @@ BBCLASSEXTEND = "native nativesdk"
# These are both specific to the NPM package node-tar
CVE_CHECK_WHITELIST += "CVE-2021-32803 CVE-2021-32804"
+CVE_CHECK_WHITELIST += "CVE-2021-37701 CVE-2021-37712 CVE-2021-37713"
diff --git a/poky/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch b/poky/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch
new file mode 100644
index 000000000..948b9e22e
--- /dev/null
+++ b/poky/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch
@@ -0,0 +1,58 @@
+From 1f199813e0eb0246f63b54e9e154970e609575af Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Tue, 18 Aug 2020 16:52:24 +0100
+Subject: [PATCH] xdg-email: remove attachment handling from mailto
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This allows attacker to extract secrets from users:
+
+mailto:sid@evil.com?attach=/.gnupg/secring.gpg
+
+See also https://bugzilla.mozilla.org/show_bug.cgi?id=1613425
+and https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues/177
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ scripts/xdg-email.in | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+Upstream-Status: Backport
+CVE: CVE-2020-27748
+
+diff --git a/scripts/xdg-email.in b/scripts/xdg-email.in
+index 6db58ad..5d2f4f3 100644
+--- a/scripts/xdg-email.in
++++ b/scripts/xdg-email.in
+@@ -32,7 +32,7 @@ _USAGE
+
+ run_thunderbird()
+ {
+- local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY ATTACH
++ local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY
+ THUNDERBIRD="$1"
+ MAILTO=$(echo "$2" | sed 's/^mailto://')
+ echo "$MAILTO" | grep -qs "^?"
+@@ -48,7 +48,6 @@ run_thunderbird()
+ BCC=$(/bin/echo -e $(echo "$MAILTO" | grep '^bcc=' | sed 's/^bcc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
+ SUBJECT=$(echo "$MAILTO" | grep '^subject=' | tail -n 1)
+ BODY=$(echo "$MAILTO" | grep '^body=' | tail -n 1)
+- ATTACH=$(/bin/echo -e $(echo "$MAILTO" | grep '^attach=' | sed 's/^attach=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }' | sed 's/,$//'))
+
+ if [ -z "$TO" ] ; then
+ NEWMAILTO=
+@@ -68,10 +67,6 @@ run_thunderbird()
+ NEWMAILTO="${NEWMAILTO},$BODY"
+ fi
+
+- if [ -n "$ATTACH" ] ; then
+- NEWMAILTO="${NEWMAILTO},attachment='${ATTACH}'"
+- fi
+-
+ NEWMAILTO=$(echo "$NEWMAILTO" | sed 's/^,//')
+ DEBUG 1 "Running $THUNDERBIRD -compose \"$NEWMAILTO\""
+ "$THUNDERBIRD" -compose "$NEWMAILTO"
+--
+GitLab
+
diff --git a/poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb b/poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
index 108e7b8c4..73acf6b74 100644
--- a/poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
+++ b/poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
@@ -20,6 +20,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a5367a90934098d6b05af3b746405014"
SRC_URI = "https://portland.freedesktop.org/download/${BPN}-${PV}.tar.gz \
file://0001-Reinstate-xdg-terminal.patch \
file://0001-Don-t-build-the-in-script-manual.patch \
+ file://1f199813e0eb0246f63b54e9e154970e609575af.patch \
"
SRC_URI[md5sum] = "902042508b626027a3709d105f0b63ff"
diff --git a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
index e6ef5cf8b..da051c119 100644
--- a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
+++ b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
@@ -2,9 +2,7 @@ SUMMARY = "Socket-based service activation daemon"
HOMEPAGE = "https://github.com/xinetd-org/xinetd"
DESCRIPTION = "xinetd is a powerful replacement for inetd, xinetd has access control mechanisms, extensive logging capabilities, the ability to make services available based on time, can place limits on the number of servers that can be started, and has deployable defence mechanisms to protect against port scanners, among other things."
-# xinetd is a BSD-like license
-# Apple and Gentoo say BSD here.
-LICENSE = "BSD"
+LICENSE = "xinetd"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=55c5fdf02cfcca3fc9621b6f2ceae10f"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
@@ -41,11 +39,11 @@ do_install:append() {
install -m 644 "${WORKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd"
# Install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/xinetd.service
+ ${D}${systemd_system_unitdir}/xinetd.service
}
RDEPENDS:${PN} += "perl"
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb
index cf1349f83..b1d3d8abd 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb
@@ -93,7 +93,7 @@ EOF
# from the target sysroot.
cat > ${B}/g-ir-scanner-wrapper << EOF
#!/bin/sh
-# This prevents g-ir-scanner from writing cache data to $HOME
+# This prevents g-ir-scanner from writing cache data to user's HOME dir
export GI_SCANNER_DISABLE_CACHE=1
g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 --add-include-path=${STAGING_LIBDIR}/gir-1.0 "\$@"
diff --git a/poky/meta/recipes-graphics/glew/glew/notempdir.patch b/poky/meta/recipes-graphics/glew/glew/notempdir.patch
new file mode 100644
index 000000000..8d79ce0cd
--- /dev/null
+++ b/poky/meta/recipes-graphics/glew/glew/notempdir.patch
@@ -0,0 +1,19 @@
+We don't use the dist-* targets and hence DIST_DIR isn't used. The current code
+creates a new temp directory in /tmp/ for every invocation of make. Lets
+not do that.
+
+Upstream-Status: Pending [a revised version would be needed for upstream]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: glew-2.2.0/Makefile
+===================================================================
+--- glew-2.2.0.orig/Makefile
++++ glew-2.2.0/Makefile
+@@ -56,7 +56,6 @@ DIST_SRC_ZIP ?= $(shell pwd)/$(DIST_NAME
+ DIST_SRC_TGZ ?= $(shell pwd)/$(DIST_NAME).tgz
+ DIST_WIN32 ?= $(shell pwd)/$(DIST_NAME)-win32.zip
+
+-DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME)
+
+ # To disable stripping of linked binaries either:
+ # - use STRIP= on gmake command-line
diff --git a/poky/meta/recipes-graphics/glew/glew_2.2.0.bb b/poky/meta/recipes-graphics/glew/glew_2.2.0.bb
index 92b608364..d7a26a343 100644
--- a/poky/meta/recipes-graphics/glew/glew_2.2.0.bb
+++ b/poky/meta/recipes-graphics/glew/glew_2.2.0.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ac251558de685c6b9478d89be3149c2"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \
file://0001-Fix-build-race-in-Makefile.patch \
+ file://notempdir.patch \
file://no-strip.patch"
SRC_URI[md5sum] = "3579164bccaef09e36c0af7f4fd5c7c7"
diff --git a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb
index 79fab7a28..1a00eca7d 100644
--- a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb
+++ b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=67bfee4df38fa6ecbe3a675c552d4c08"
LICENSE = "MIT"
-inherit meson
+inherit meson pkgconfig
SRCREV = "203def046b466fb2da67f9f15552d84e1c0b41f2"
PV = "1.26"
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 0a7a3ca7b..282671d30 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -257,7 +257,7 @@ python mesa_populate_packages() {
import re
dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri")
if os.path.isdir(dri_drivers_root):
- dri_pkgs = os.listdir(dri_drivers_root)
+ dri_pkgs = sorted(os.listdir(dri_drivers_root))
lib_name = d.expand("${MLPREFIX}mesa-megadriver")
for p in dri_pkgs:
m = re.match(r'^(.*)_dri\.so$', p)
diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2021.1.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2021.1.bb
index e15b5794e..ad3f62ce1 100644
--- a/poky/meta/recipes-graphics/shaderc/shaderc_2021.1.bb
+++ b/poky/meta/recipes-graphics/shaderc/shaderc_2021.1.bb
@@ -14,7 +14,7 @@ SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
S = "${WORKDIR}/git"
-inherit cmake python3native
+inherit cmake python3native pkgconfig
DEPENDS = "spirv-headers spirv-tools glslang"
diff --git a/poky/meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch b/poky/meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch
deleted file mode 100644
index 1078148d6..000000000
--- a/poky/meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
-Date: Fri, 13 Aug 2021 16:42:48 +0530
-Subject: [PATCH] assimp: remove shared lib from _IMPORT_CHECK_TARGETS
-
-In the target assimp::assimp shared library verification removed
-as it is giving configuration error when used by 3rd part component to
-configure itself using assimp::assimp target
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
----
- assimpTargets-release.cmake.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in
-index cd2fac7e0..52edc7990 100644
---- a/assimpTargets-release.cmake.in
-+++ b/assimpTargets-release.cmake.in
-@@ -72,8 +72,8 @@ else()
- IMPORTED_SONAME_RELEASE "${sharedLibraryName}"
- IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}"
- )
-- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}" )
-+ #list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-+ #list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}" )
- else()
- set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
- set_target_properties(assimp::assimp PROPERTIES
---
-2.17.1
diff --git a/poky/meta/recipes-graphics/vulkan/assimp/0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch b/poky/meta/recipes-graphics/vulkan/assimp/0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch
deleted file mode 100644
index 87a165871..000000000
--- a/poky/meta/recipes-graphics/vulkan/assimp/0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch
+++ /dev/null
@@ -1,1664 +0,0 @@
-From 7fc220b2350d78942fb3935cad0b1564418ebe8f Mon Sep 17 00:00:00 2001
-From: Kim Kulling <kim.kulling@googlemail.com>
-Date: Tue, 19 Nov 2019 20:30:40 +0100
-Subject: [PATCH] closes https://github.com/assimp/assimp/issues/2733: update
- of zlip to fix gcc build for v9.2.0 32 bit
-
-Upstream-Status: Backport [https://github.com/assimp/assimp/commit/f78446b14aff46db2ef27d062a275b6a01fd68b1]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- contrib/zip/.gitignore | 2 +
- contrib/zip/CMakeLists.txt | 83 +++++-
- contrib/zip/README.md | 12 +-
- contrib/zip/appveyor.yml | 2 +-
- contrib/zip/src/miniz.h | 457 ++++++++++++++++++++++++++++----
- contrib/zip/src/zip.c | 62 +++--
- contrib/zip/src/zip.h | 457 ++++++++++++++++----------------
- contrib/zip/test/CMakeLists.txt | 27 +-
- contrib/zip/test/test.c | 38 ++-
- contrib/zip/test/test_miniz.c | 25 +-
- 10 files changed, 821 insertions(+), 344 deletions(-)
-
-diff --git a/contrib/zip/.gitignore b/contrib/zip/.gitignore
-index a7904a1e..49b2cb2f 100644
---- a/contrib/zip/.gitignore
-+++ b/contrib/zip/.gitignore
-@@ -1,6 +1,7 @@
- /build/
- /test/build/
- /xcodeproj/
-+.vscode/
-
- # Object files
- *.o
-@@ -54,3 +55,4 @@ zip.dir/
- test/test.exe.vcxproj.filters
- test/test.exe.vcxproj
- test/test.exe.dir/
-+
-diff --git a/contrib/zip/CMakeLists.txt b/contrib/zip/CMakeLists.txt
-index b46dbb1d..77916d2e 100644
---- a/contrib/zip/CMakeLists.txt
-+++ b/contrib/zip/CMakeLists.txt
-@@ -1,10 +1,14 @@
--cmake_minimum_required(VERSION 2.8)
--project(zip)
--enable_language(C)
-+cmake_minimum_required(VERSION 3.0)
-+
-+project(zip
-+ LANGUAGES C
-+ VERSION "0.1.15")
- set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
-
-+option(CMAKE_DISABLE_TESTING "Disable test creation" OFF)
-+
- if (MSVC)
-- # Use secure functions by defaualt and suppress warnings about "deprecated" functions
-+ # Use secure functions by default and suppress warnings about "deprecated" functions
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_NONSTDC_NO_WARNINGS=1 /D _CRT_SECURE_NO_WARNINGS=1")
-@@ -12,28 +16,80 @@ elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR
- "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR
- "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall -Wextra -Werror -pedantic")
-+ if(ENABLE_COVERAGE)
-+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
-+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
-+ endif()
- endif (MSVC)
-
- # zip
- set(SRC src/miniz.h src/zip.h src/zip.c)
- add_library(${PROJECT_NAME} ${SRC})
--target_include_directories(${PROJECT_NAME} INTERFACE src)
-+target_include_directories(${PROJECT_NAME} PUBLIC
-+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
-+ $<INSTALL_INTERFACE:include>
-+)
-
- # test
- if (NOT CMAKE_DISABLE_TESTING)
- enable_testing()
- add_subdirectory(test)
- find_package(Sanitizers)
-- add_sanitizers(${PROJECT_NAME} test.exe)
-- add_sanitizers(${PROJECT_NAME} test_miniz.exe)
-+ add_sanitizers(${PROJECT_NAME} ${test_out} ${test_miniz_out})
- endif()
-
-+####
-+# Installation (https://github.com/forexample/package-example) {
-+
-+set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}")
-+set(INCLUDE_INSTALL_DIR "include")
-+
-+set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
-+
-+# Configuration
-+set(VERSION_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake")
-+set(PROJECT_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}Config.cmake")
-+set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
-+set(NAMESPACE "${PROJECT_NAME}::")
-+
-+# Include module with fuction 'write_basic_package_version_file'
-+include(CMakePackageConfigHelpers)
-+
-+# Note: PROJECT_VERSION is used as a VERSION
-+write_basic_package_version_file(
-+ "${VERSION_CONFIG}" COMPATIBILITY SameMajorVersion
-+)
-+
-+# Use variables:
-+# * TARGETS_EXPORT_NAME
-+# * PROJECT_NAME
-+configure_package_config_file(
-+ "cmake/Config.cmake.in"
-+ "${PROJECT_CONFIG}"
-+ INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}"
-+)
-+
-+install(
-+ FILES "${PROJECT_CONFIG}" "${VERSION_CONFIG}"
-+ DESTINATION "${CONFIG_INSTALL_DIR}"
-+)
-+
-+install(
-+ EXPORT "${TARGETS_EXPORT_NAME}"
-+ NAMESPACE "${NAMESPACE}"
-+ DESTINATION "${CONFIG_INSTALL_DIR}"
-+)
-+
-+# }
-+
- install(TARGETS ${PROJECT_NAME}
-+ EXPORT ${TARGETS_EXPORT_NAME}
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
-- COMPONENT library)
--install(FILES ${PROJECT_SOURCE_DIR}/src/zip.h DESTINATION include)
-+ INCLUDES DESTINATION ${INCLUDE_INSTALL_DIR}
-+)
-+install(FILES ${PROJECT_SOURCE_DIR}/src/zip.h DESTINATION ${INCLUDE_INSTALL_DIR}/zip)
-
- # uninstall target (https://gitlab.kitware.com/cmake/community/wikis/FAQ#can-i-do-make-uninstall-with-cmake)
- if(NOT TARGET uninstall)
-@@ -45,3 +101,12 @@ if(NOT TARGET uninstall)
- add_custom_target(uninstall
- COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake_uninstall.cmake)
- endif()
-+
-+find_package(Doxygen)
-+if(DOXYGEN_FOUND)
-+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
-+ add_custom_target(doc
-+ ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
-+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMENT "Generating API documentation with Doxygen" VERBATIM)
-+endif()
-diff --git a/contrib/zip/README.md b/contrib/zip/README.md
-index d5fb8cd2..14eb9a34 100644
---- a/contrib/zip/README.md
-+++ b/contrib/zip/README.md
-@@ -71,7 +71,7 @@ int arg = 2;
- zip_extract("foo.zip", "/tmp", on_extract_entry, &arg);
- ```
-
--* Extract a zip entry into memory.
-+* Extract a zip entry into memory.
- ```c
- void *buf = NULL;
- size_t bufsize;
-@@ -89,7 +89,7 @@ zip_close(zip);
- free(buf);
- ```
-
--* Extract a zip entry into memory (no internal allocation).
-+* Extract a zip entry into memory (no internal allocation).
- ```c
- unsigned char *buf;
- size_t bufsize;
-@@ -110,7 +110,7 @@ zip_close(zip);
- free(buf);
- ```
-
--* Extract a zip entry into memory using callback.
-+* Extract a zip entry into memory using callback.
- ```c
- struct buffer_t {
- char *data;
-@@ -144,7 +144,7 @@ free(buf.data);
- ```
-
-
--* Extract a zip entry into a file.
-+* Extract a zip entry into a file.
- ```c
- struct zip_t *zip = zip_open("foo.zip", 0, 'r');
- {
-@@ -157,7 +157,7 @@ struct zip_t *zip = zip_open("foo.zip", 0, 'r');
- zip_close(zip);
- ```
-
--* List of all zip entries
-+* List of all zip entries
- ```c
- struct zip_t *zip = zip_open("foo.zip", 0, 'r');
- int i, n = zip_total_entries(zip);
-@@ -174,7 +174,7 @@ for (i = 0; i < n; ++i) {
- zip_close(zip);
- ```
-
--## Bindings
-+# Bindings
- Compile zip library as a dynamic library.
- ```shell
- $ mkdir build
-diff --git a/contrib/zip/appveyor.yml b/contrib/zip/appveyor.yml
-index 0be6373c..ea17f5de 100644
---- a/contrib/zip/appveyor.yml
-+++ b/contrib/zip/appveyor.yml
-@@ -1,4 +1,4 @@
--version: zip-0.1.9.{build}
-+version: zip-0.1.15.{build}
- build_script:
- - cmd: >-
- cd c:\projects\zip
-diff --git a/contrib/zip/src/miniz.h b/contrib/zip/src/miniz.h
-index 2c27a94d..c4fcfb83 100644
---- a/contrib/zip/src/miniz.h
-+++ b/contrib/zip/src/miniz.h
-@@ -221,6 +221,7 @@
- #ifndef MINIZ_HEADER_INCLUDED
- #define MINIZ_HEADER_INCLUDED
-
-+#include <stdint.h>
- #include <stdlib.h>
-
- // Defines to completely disable specific portions of miniz.c:
-@@ -284,7 +285,8 @@
- /* Set MINIZ_USE_UNALIGNED_LOADS_AND_STORES only if not set */
- #if !defined(MINIZ_USE_UNALIGNED_LOADS_AND_STORES)
- #if MINIZ_X86_OR_X64_CPU
--/* Set MINIZ_USE_UNALIGNED_LOADS_AND_STORES to 1 on CPU's that permit efficient integer loads and stores from unaligned addresses. */
-+/* Set MINIZ_USE_UNALIGNED_LOADS_AND_STORES to 1 on CPU's that permit efficient
-+ * integer loads and stores from unaligned addresses. */
- #define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 1
- #define MINIZ_UNALIGNED_USE_MEMCPY
- #else
-@@ -354,6 +356,44 @@ enum {
- MZ_FIXED = 4
- };
-
-+/* miniz error codes. Be sure to update mz_zip_get_error_string() if you add or
-+ * modify this enum. */
-+typedef enum {
-+ MZ_ZIP_NO_ERROR = 0,
-+ MZ_ZIP_UNDEFINED_ERROR,
-+ MZ_ZIP_TOO_MANY_FILES,
-+ MZ_ZIP_FILE_TOO_LARGE,
-+ MZ_ZIP_UNSUPPORTED_METHOD,
-+ MZ_ZIP_UNSUPPORTED_ENCRYPTION,
-+ MZ_ZIP_UNSUPPORTED_FEATURE,
-+ MZ_ZIP_FAILED_FINDING_CENTRAL_DIR,
-+ MZ_ZIP_NOT_AN_ARCHIVE,
-+ MZ_ZIP_INVALID_HEADER_OR_CORRUPTED,
-+ MZ_ZIP_UNSUPPORTED_MULTIDISK,
-+ MZ_ZIP_DECOMPRESSION_FAILED,
-+ MZ_ZIP_COMPRESSION_FAILED,
-+ MZ_ZIP_UNEXPECTED_DECOMPRESSED_SIZE,
-+ MZ_ZIP_CRC_CHECK_FAILED,
-+ MZ_ZIP_UNSUPPORTED_CDIR_SIZE,
-+ MZ_ZIP_ALLOC_FAILED,
-+ MZ_ZIP_FILE_OPEN_FAILED,
-+ MZ_ZIP_FILE_CREATE_FAILED,
-+ MZ_ZIP_FILE_WRITE_FAILED,
-+ MZ_ZIP_FILE_READ_FAILED,
-+ MZ_ZIP_FILE_CLOSE_FAILED,
-+ MZ_ZIP_FILE_SEEK_FAILED,
-+ MZ_ZIP_FILE_STAT_FAILED,
-+ MZ_ZIP_INVALID_PARAMETER,
-+ MZ_ZIP_INVALID_FILENAME,
-+ MZ_ZIP_BUF_TOO_SMALL,
-+ MZ_ZIP_INTERNAL_ERROR,
-+ MZ_ZIP_FILE_NOT_FOUND,
-+ MZ_ZIP_ARCHIVE_TOO_LARGE,
-+ MZ_ZIP_VALIDATION_FAILED,
-+ MZ_ZIP_WRITE_CALLBACK_FAILED,
-+ MZ_ZIP_TOTAL_ERRORS
-+} mz_zip_error;
-+
- // Method
- #define MZ_DEFLATED 8
-
-@@ -696,6 +736,7 @@ typedef size_t (*mz_file_read_func)(void *pOpaque, mz_uint64 file_ofs,
- void *pBuf, size_t n);
- typedef size_t (*mz_file_write_func)(void *pOpaque, mz_uint64 file_ofs,
- const void *pBuf, size_t n);
-+typedef mz_bool (*mz_file_needs_keepalive)(void *pOpaque);
-
- struct mz_zip_internal_state_tag;
- typedef struct mz_zip_internal_state_tag mz_zip_internal_state;
-@@ -707,13 +748,27 @@ typedef enum {
- MZ_ZIP_MODE_WRITING_HAS_BEEN_FINALIZED = 3
- } mz_zip_mode;
-
--typedef struct mz_zip_archive_tag {
-+typedef enum {
-+ MZ_ZIP_TYPE_INVALID = 0,
-+ MZ_ZIP_TYPE_USER,
-+ MZ_ZIP_TYPE_MEMORY,
-+ MZ_ZIP_TYPE_HEAP,
-+ MZ_ZIP_TYPE_FILE,
-+ MZ_ZIP_TYPE_CFILE,
-+ MZ_ZIP_TOTAL_TYPES
-+} mz_zip_type;
-+
-+typedef struct {
- mz_uint64 m_archive_size;
- mz_uint64 m_central_directory_file_ofs;
-- mz_uint m_total_files;
-+
-+ /* We only support up to UINT32_MAX files in zip64 mode. */
-+ mz_uint32 m_total_files;
- mz_zip_mode m_zip_mode;
-+ mz_zip_type m_zip_type;
-+ mz_zip_error m_last_error;
-
-- mz_uint m_file_offset_alignment;
-+ mz_uint64 m_file_offset_alignment;
-
- mz_alloc_func m_pAlloc;
- mz_free_func m_pFree;
-@@ -722,6 +777,7 @@ typedef struct mz_zip_archive_tag {
-
- mz_file_read_func m_pRead;
- mz_file_write_func m_pWrite;
-+ mz_file_needs_keepalive m_pNeeds_keepalive;
- void *m_pIO_opaque;
-
- mz_zip_internal_state *m_pState;
-@@ -1263,6 +1319,9 @@ mz_uint tdefl_create_comp_flags_from_zip_params(int level, int window_bits,
- int strategy);
- #endif // #ifndef MINIZ_NO_ZLIB_APIS
-
-+#define MZ_UINT16_MAX (0xFFFFU)
-+#define MZ_UINT32_MAX (0xFFFFFFFFU)
-+
- #ifdef __cplusplus
- }
- #endif
-@@ -1311,6 +1370,11 @@ typedef unsigned char mz_validate_uint64[sizeof(mz_uint64) == 8 ? 1 : -1];
- ((mz_uint32)(((const mz_uint8 *)(p))[3]) << 24U))
- #endif
-
-+#define MZ_READ_LE64(p) \
-+ (((mz_uint64)MZ_READ_LE32(p)) | \
-+ (((mz_uint64)MZ_READ_LE32((const mz_uint8 *)(p) + sizeof(mz_uint32))) \
-+ << 32U))
-+
- #ifdef _MSC_VER
- #define MZ_FORCEINLINE __forceinline
- #elif defined(__GNUC__)
-@@ -4160,6 +4224,17 @@ enum {
- MZ_ZIP_LOCAL_DIR_HEADER_SIZE = 30,
- MZ_ZIP_CENTRAL_DIR_HEADER_SIZE = 46,
- MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE = 22,
-+
-+ /* ZIP64 archive identifier and record sizes */
-+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIG = 0x06064b50,
-+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIG = 0x07064b50,
-+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE = 56,
-+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE = 20,
-+ MZ_ZIP64_EXTENDED_INFORMATION_FIELD_HEADER_ID = 0x0001,
-+ MZ_ZIP_DATA_DESCRIPTOR_ID = 0x08074b50,
-+ MZ_ZIP_DATA_DESCRIPTER_SIZE64 = 24,
-+ MZ_ZIP_DATA_DESCRIPTER_SIZE32 = 16,
-+
- // Central directory header record offsets
- MZ_ZIP_CDH_SIG_OFS = 0,
- MZ_ZIP_CDH_VERSION_MADE_BY_OFS = 4,
-@@ -4199,6 +4274,31 @@ enum {
- MZ_ZIP_ECDH_CDIR_SIZE_OFS = 12,
- MZ_ZIP_ECDH_CDIR_OFS_OFS = 16,
- MZ_ZIP_ECDH_COMMENT_SIZE_OFS = 20,
-+
-+ /* ZIP64 End of central directory locator offsets */
-+ MZ_ZIP64_ECDL_SIG_OFS = 0, /* 4 bytes */
-+ MZ_ZIP64_ECDL_NUM_DISK_CDIR_OFS = 4, /* 4 bytes */
-+ MZ_ZIP64_ECDL_REL_OFS_TO_ZIP64_ECDR_OFS = 8, /* 8 bytes */
-+ MZ_ZIP64_ECDL_TOTAL_NUMBER_OF_DISKS_OFS = 16, /* 4 bytes */
-+
-+ /* ZIP64 End of central directory header offsets */
-+ MZ_ZIP64_ECDH_SIG_OFS = 0, /* 4 bytes */
-+ MZ_ZIP64_ECDH_SIZE_OF_RECORD_OFS = 4, /* 8 bytes */
-+ MZ_ZIP64_ECDH_VERSION_MADE_BY_OFS = 12, /* 2 bytes */
-+ MZ_ZIP64_ECDH_VERSION_NEEDED_OFS = 14, /* 2 bytes */
-+ MZ_ZIP64_ECDH_NUM_THIS_DISK_OFS = 16, /* 4 bytes */
-+ MZ_ZIP64_ECDH_NUM_DISK_CDIR_OFS = 20, /* 4 bytes */
-+ MZ_ZIP64_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS = 24, /* 8 bytes */
-+ MZ_ZIP64_ECDH_CDIR_TOTAL_ENTRIES_OFS = 32, /* 8 bytes */
-+ MZ_ZIP64_ECDH_CDIR_SIZE_OFS = 40, /* 8 bytes */
-+ MZ_ZIP64_ECDH_CDIR_OFS_OFS = 48, /* 8 bytes */
-+ MZ_ZIP_VERSION_MADE_BY_DOS_FILESYSTEM_ID = 0,
-+ MZ_ZIP_DOS_DIR_ATTRIBUTE_BITFLAG = 0x10,
-+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_IS_ENCRYPTED = 1,
-+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_COMPRESSED_PATCH_FLAG = 32,
-+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_USES_STRONG_ENCRYPTION = 64,
-+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_LOCAL_DIR_IS_MASKED = 8192,
-+ MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_UTF8 = 1 << 11
- };
-
- typedef struct {
-@@ -4211,7 +4311,24 @@ struct mz_zip_internal_state_tag {
- mz_zip_array m_central_dir;
- mz_zip_array m_central_dir_offsets;
- mz_zip_array m_sorted_central_dir_offsets;
-+
-+ /* The flags passed in when the archive is initially opened. */
-+ uint32_t m_init_flags;
-+
-+ /* MZ_TRUE if the archive has a zip64 end of central directory headers, etc.
-+ */
-+ mz_bool m_zip64;
-+
-+ /* MZ_TRUE if we found zip64 extended info in the central directory (m_zip64
-+ * will also be slammed to true too, even if we didn't find a zip64 end of
-+ * central dir header, etc.) */
-+ mz_bool m_zip64_has_extended_info_fields;
-+
-+ /* These fields are used by the file, FILE, memory, and memory/heap read/write
-+ * helpers. */
- MZ_FILE *m_pFile;
-+ mz_uint64 m_file_archive_start_ofs;
-+
- void *m_pMem;
- size_t m_mem_size;
- size_t m_mem_capacity;
-@@ -4363,6 +4480,13 @@ static mz_bool mz_zip_set_file_times(const char *pFilename, time_t access_time,
- #endif /* #ifndef MINIZ_NO_STDIO */
- #endif /* #ifndef MINIZ_NO_TIME */
-
-+static MZ_FORCEINLINE mz_bool mz_zip_set_error(mz_zip_archive *pZip,
-+ mz_zip_error err_num) {
-+ if (pZip)
-+ pZip->m_last_error = err_num;
-+ return MZ_FALSE;
-+}
-+
- static mz_bool mz_zip_reader_init_internal(mz_zip_archive *pZip,
- mz_uint32 flags) {
- (void)flags;
-@@ -4480,127 +4604,346 @@ mz_zip_reader_sort_central_dir_offsets_by_filename(mz_zip_archive *pZip) {
- }
- }
-
--static mz_bool mz_zip_reader_read_central_dir(mz_zip_archive *pZip,
-- mz_uint32 flags) {
-- mz_uint cdir_size, num_this_disk, cdir_disk_index;
-- mz_uint64 cdir_ofs;
-+static mz_bool mz_zip_reader_locate_header_sig(mz_zip_archive *pZip,
-+ mz_uint32 record_sig,
-+ mz_uint32 record_size,
-+ mz_int64 *pOfs) {
- mz_int64 cur_file_ofs;
-- const mz_uint8 *p;
- mz_uint32 buf_u32[4096 / sizeof(mz_uint32)];
- mz_uint8 *pBuf = (mz_uint8 *)buf_u32;
-- mz_bool sort_central_dir =
-- ((flags & MZ_ZIP_FLAG_DO_NOT_SORT_CENTRAL_DIRECTORY) == 0);
-- // Basic sanity checks - reject files which are too small, and check the first
-- // 4 bytes of the file to make sure a local header is there.
-- if (pZip->m_archive_size < MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)
-+
-+ /* Basic sanity checks - reject files which are too small */
-+ if (pZip->m_archive_size < record_size)
- return MZ_FALSE;
-- // Find the end of central directory record by scanning the file from the end
-- // towards the beginning.
-+
-+ /* Find the record by scanning the file from the end towards the beginning. */
- cur_file_ofs =
- MZ_MAX((mz_int64)pZip->m_archive_size - (mz_int64)sizeof(buf_u32), 0);
- for (;;) {
- int i,
- n = (int)MZ_MIN(sizeof(buf_u32), pZip->m_archive_size - cur_file_ofs);
-+
- if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pBuf, n) != (mz_uint)n)
- return MZ_FALSE;
-- for (i = n - 4; i >= 0; --i)
-- if (MZ_READ_LE32(pBuf + i) == MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG)
-- break;
-+
-+ for (i = n - 4; i >= 0; --i) {
-+ mz_uint s = MZ_READ_LE32(pBuf + i);
-+ if (s == record_sig) {
-+ if ((pZip->m_archive_size - (cur_file_ofs + i)) >= record_size)
-+ break;
-+ }
-+ }
-+
- if (i >= 0) {
- cur_file_ofs += i;
- break;
- }
-+
-+ /* Give up if we've searched the entire file, or we've gone back "too far"
-+ * (~64kb) */
- if ((!cur_file_ofs) || ((pZip->m_archive_size - cur_file_ofs) >=
-- (0xFFFF + MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)))
-+ (MZ_UINT16_MAX + record_size)))
- return MZ_FALSE;
-+
- cur_file_ofs = MZ_MAX(cur_file_ofs - (sizeof(buf_u32) - 3), 0);
- }
-- // Read and verify the end of central directory record.
-+
-+ *pOfs = cur_file_ofs;
-+ return MZ_TRUE;
-+}
-+
-+static mz_bool mz_zip_reader_read_central_dir(mz_zip_archive *pZip,
-+ mz_uint flags) {
-+ mz_uint cdir_size = 0, cdir_entries_on_this_disk = 0, num_this_disk = 0,
-+ cdir_disk_index = 0;
-+ mz_uint64 cdir_ofs = 0;
-+ mz_int64 cur_file_ofs = 0;
-+ const mz_uint8 *p;
-+
-+ mz_uint32 buf_u32[4096 / sizeof(mz_uint32)];
-+ mz_uint8 *pBuf = (mz_uint8 *)buf_u32;
-+ mz_bool sort_central_dir =
-+ ((flags & MZ_ZIP_FLAG_DO_NOT_SORT_CENTRAL_DIRECTORY) == 0);
-+ mz_uint32 zip64_end_of_central_dir_locator_u32
-+ [(MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE + sizeof(mz_uint32) - 1) /
-+ sizeof(mz_uint32)];
-+ mz_uint8 *pZip64_locator = (mz_uint8 *)zip64_end_of_central_dir_locator_u32;
-+
-+ mz_uint32 zip64_end_of_central_dir_header_u32
-+ [(MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE + sizeof(mz_uint32) - 1) /
-+ sizeof(mz_uint32)];
-+ mz_uint8 *pZip64_end_of_central_dir =
-+ (mz_uint8 *)zip64_end_of_central_dir_header_u32;
-+
-+ mz_uint64 zip64_end_of_central_dir_ofs = 0;
-+
-+ /* Basic sanity checks - reject files which are too small, and check the first
-+ * 4 bytes of the file to make sure a local header is there. */
-+ if (pZip->m_archive_size < MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)
-+ return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
-+
-+ if (!mz_zip_reader_locate_header_sig(
-+ pZip, MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG,
-+ MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE, &cur_file_ofs))
-+ return mz_zip_set_error(pZip, MZ_ZIP_FAILED_FINDING_CENTRAL_DIR);
-+
-+ /* Read and verify the end of central directory record. */
- if (pZip->m_pRead(pZip->m_pIO_opaque, cur_file_ofs, pBuf,
- MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE) !=
- MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIZE)
-- return MZ_FALSE;
-- if ((MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_SIG_OFS) !=
-- MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG) ||
-- ((pZip->m_total_files =
-- MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_TOTAL_ENTRIES_OFS)) !=
-- MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS)))
-- return MZ_FALSE;
-+ return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
-+
-+ if (MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_SIG_OFS) !=
-+ MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG)
-+ return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
-+
-+ if (cur_file_ofs >= (MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE +
-+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE)) {
-+ if (pZip->m_pRead(pZip->m_pIO_opaque,
-+ cur_file_ofs - MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE,
-+ pZip64_locator,
-+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE) ==
-+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIZE) {
-+ if (MZ_READ_LE32(pZip64_locator + MZ_ZIP64_ECDL_SIG_OFS) ==
-+ MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIG) {
-+ zip64_end_of_central_dir_ofs = MZ_READ_LE64(
-+ pZip64_locator + MZ_ZIP64_ECDL_REL_OFS_TO_ZIP64_ECDR_OFS);
-+ if (zip64_end_of_central_dir_ofs >
-+ (pZip->m_archive_size - MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE))
-+ return mz_zip_set_error(pZip, MZ_ZIP_NOT_AN_ARCHIVE);
-+
-+ if (pZip->m_pRead(pZip->m_pIO_opaque, zip64_end_of_central_dir_ofs,
-+ pZip64_end_of_central_dir,
-+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE) ==
-+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE) {
-+ if (MZ_READ_LE32(pZip64_end_of_central_dir + MZ_ZIP64_ECDH_SIG_OFS) ==
-+ MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIG) {
-+ pZip->m_pState->m_zip64 = MZ_TRUE;
-+ }
-+ }
-+ }
-+ }
-+ }
-
-+ pZip->m_total_files = MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_TOTAL_ENTRIES_OFS);
-+ cdir_entries_on_this_disk =
-+ MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS);
- num_this_disk = MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_NUM_THIS_DISK_OFS);
- cdir_disk_index = MZ_READ_LE16(pBuf + MZ_ZIP_ECDH_NUM_DISK_CDIR_OFS);
-+ cdir_size = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_SIZE_OFS);
-+ cdir_ofs = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_OFS_OFS);
-+
-+ if (pZip->m_pState->m_zip64) {
-+ mz_uint32 zip64_total_num_of_disks =
-+ MZ_READ_LE32(pZip64_locator + MZ_ZIP64_ECDL_TOTAL_NUMBER_OF_DISKS_OFS);
-+ mz_uint64 zip64_cdir_total_entries = MZ_READ_LE64(
-+ pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_TOTAL_ENTRIES_OFS);
-+ mz_uint64 zip64_cdir_total_entries_on_this_disk = MZ_READ_LE64(
-+ pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS);
-+ mz_uint64 zip64_size_of_end_of_central_dir_record = MZ_READ_LE64(
-+ pZip64_end_of_central_dir + MZ_ZIP64_ECDH_SIZE_OF_RECORD_OFS);
-+ mz_uint64 zip64_size_of_central_directory =
-+ MZ_READ_LE64(pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_SIZE_OFS);
-+
-+ if (zip64_size_of_end_of_central_dir_record <
-+ (MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE - 12))
-+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
-+
-+ if (zip64_total_num_of_disks != 1U)
-+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
-+
-+ /* Check for miniz's practical limits */
-+ if (zip64_cdir_total_entries > MZ_UINT32_MAX)
-+ return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
-+
-+ pZip->m_total_files = (mz_uint32)zip64_cdir_total_entries;
-+
-+ if (zip64_cdir_total_entries_on_this_disk > MZ_UINT32_MAX)
-+ return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES);
-+
-+ cdir_entries_on_this_disk =
-+ (mz_uint32)zip64_cdir_total_entries_on_this_disk;
-+
-+ /* Check for miniz's current practical limits (sorry, this should be enough
-+ * for millions of files) */
-+ if (zip64_size_of_central_directory > MZ_UINT32_MAX)
-+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_CDIR_SIZE);
-+
-+ cdir_size = (mz_uint32)zip64_size_of_central_directory;
-+
-+ num_this_disk = MZ_READ_LE32(pZip64_end_of_central_dir +
-+ MZ_ZIP64_ECDH_NUM_THIS_DISK_OFS);
-+
-+ cdir_disk_index = MZ_READ_LE32(pZip64_end_of_central_dir +
-+ MZ_ZIP64_ECDH_NUM_DISK_CDIR_OFS);
-+
-+ cdir_ofs =
-+ MZ_READ_LE64(pZip64_end_of_central_dir + MZ_ZIP64_ECDH_CDIR_OFS_OFS);
-+ }
-+
-+ if (pZip->m_total_files != cdir_entries_on_this_disk)
-+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
-+
- if (((num_this_disk | cdir_disk_index) != 0) &&
- ((num_this_disk != 1) || (cdir_disk_index != 1)))
-- return MZ_FALSE;
-+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
-
-- if ((cdir_size = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_SIZE_OFS)) <
-- pZip->m_total_files * MZ_ZIP_CENTRAL_DIR_HEADER_SIZE)
-- return MZ_FALSE;
-+ if (cdir_size < pZip->m_total_files * MZ_ZIP_CENTRAL_DIR_HEADER_SIZE)
-+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
-
-- cdir_ofs = MZ_READ_LE32(pBuf + MZ_ZIP_ECDH_CDIR_OFS_OFS);
- if ((cdir_ofs + (mz_uint64)cdir_size) > pZip->m_archive_size)
-- return MZ_FALSE;
-+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
-
- pZip->m_central_directory_file_ofs = cdir_ofs;
-
- if (pZip->m_total_files) {
- mz_uint i, n;
--
-- // Read the entire central directory into a heap block, and allocate another
-- // heap block to hold the unsorted central dir file record offsets, and
-- // another to hold the sorted indices.
-+ /* Read the entire central directory into a heap block, and allocate another
-+ * heap block to hold the unsorted central dir file record offsets, and
-+ * possibly another to hold the sorted indices. */
- if ((!mz_zip_array_resize(pZip, &pZip->m_pState->m_central_dir, cdir_size,
- MZ_FALSE)) ||
- (!mz_zip_array_resize(pZip, &pZip->m_pState->m_central_dir_offsets,
- pZip->m_total_files, MZ_FALSE)))
-- return MZ_FALSE;
-+ return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
-
- if (sort_central_dir) {
- if (!mz_zip_array_resize(pZip,
- &pZip->m_pState->m_sorted_central_dir_offsets,
- pZip->m_total_files, MZ_FALSE))
-- return MZ_FALSE;
-+ return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
- }
-
- if (pZip->m_pRead(pZip->m_pIO_opaque, cdir_ofs,
- pZip->m_pState->m_central_dir.m_p,
- cdir_size) != cdir_size)
-- return MZ_FALSE;
-+ return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
-
-- // Now create an index into the central directory file records, do some
-- // basic sanity checking on each record, and check for zip64 entries (which
-- // are not yet supported).
-+ /* Now create an index into the central directory file records, do some
-+ * basic sanity checking on each record */
- p = (const mz_uint8 *)pZip->m_pState->m_central_dir.m_p;
- for (n = cdir_size, i = 0; i < pZip->m_total_files; ++i) {
-- mz_uint total_header_size, comp_size, decomp_size, disk_index;
-+ mz_uint total_header_size, disk_index, bit_flags, filename_size,
-+ ext_data_size;
-+ mz_uint64 comp_size, decomp_size, local_header_ofs;
-+
- if ((n < MZ_ZIP_CENTRAL_DIR_HEADER_SIZE) ||
- (MZ_READ_LE32(p) != MZ_ZIP_CENTRAL_DIR_HEADER_SIG))
-- return MZ_FALSE;
-+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
-+
- MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_central_dir_offsets, mz_uint32,
- i) =
- (mz_uint32)(p - (const mz_uint8 *)pZip->m_pState->m_central_dir.m_p);
-+
- if (sort_central_dir)
- MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_sorted_central_dir_offsets,
- mz_uint32, i) = i;
-+
- comp_size = MZ_READ_LE32(p + MZ_ZIP_CDH_COMPRESSED_SIZE_OFS);
- decomp_size = MZ_READ_LE32(p + MZ_ZIP_CDH_DECOMPRESSED_SIZE_OFS);
-- if (((!MZ_READ_LE32(p + MZ_ZIP_CDH_METHOD_OFS)) &&
-- (decomp_size != comp_size)) ||
-- (decomp_size && !comp_size) || (decomp_size == 0xFFFFFFFF) ||
-- (comp_size == 0xFFFFFFFF))
-- return MZ_FALSE;
-+ local_header_ofs = MZ_READ_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS);
-+ filename_size = MZ_READ_LE16(p + MZ_ZIP_CDH_FILENAME_LEN_OFS);
-+ ext_data_size = MZ_READ_LE16(p + MZ_ZIP_CDH_EXTRA_LEN_OFS);
-+
-+ if ((!pZip->m_pState->m_zip64_has_extended_info_fields) &&
-+ (ext_data_size) &&
-+ (MZ_MAX(MZ_MAX(comp_size, decomp_size), local_header_ofs) ==
-+ MZ_UINT32_MAX)) {
-+ /* Attempt to find zip64 extended information field in the entry's extra
-+ * data */
-+ mz_uint32 extra_size_remaining = ext_data_size;
-+
-+ if (extra_size_remaining) {
-+ const mz_uint8 *pExtra_data;
-+ void *buf = NULL;
-+
-+ if (MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + filename_size + ext_data_size >
-+ n) {
-+ buf = MZ_MALLOC(ext_data_size);
-+ if (buf == NULL)
-+ return mz_zip_set_error(pZip, MZ_ZIP_ALLOC_FAILED);
-+
-+ if (pZip->m_pRead(pZip->m_pIO_opaque,
-+ cdir_ofs + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE +
-+ filename_size,
-+ buf, ext_data_size) != ext_data_size) {
-+ MZ_FREE(buf);
-+ return mz_zip_set_error(pZip, MZ_ZIP_FILE_READ_FAILED);
-+ }
-+
-+ pExtra_data = (mz_uint8 *)buf;
-+ } else {
-+ pExtra_data = p + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + filename_size;
-+ }
-+
-+ do {
-+ mz_uint32 field_id;
-+ mz_uint32 field_data_size;
-+
-+ if (extra_size_remaining < (sizeof(mz_uint16) * 2)) {
-+ MZ_FREE(buf);
-+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
-+ }
-+
-+ field_id = MZ_READ_LE16(pExtra_data);
-+ field_data_size = MZ_READ_LE16(pExtra_data + sizeof(mz_uint16));
-+
-+ if ((field_data_size + sizeof(mz_uint16) * 2) >
-+ extra_size_remaining) {
-+ MZ_FREE(buf);
-+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
-+ }
-+
-+ if (field_id == MZ_ZIP64_EXTENDED_INFORMATION_FIELD_HEADER_ID) {
-+ /* Ok, the archive didn't have any zip64 headers but it uses a
-+ * zip64 extended information field so mark it as zip64 anyway
-+ * (this can occur with infozip's zip util when it reads
-+ * compresses files from stdin). */
-+ pZip->m_pState->m_zip64 = MZ_TRUE;
-+ pZip->m_pState->m_zip64_has_extended_info_fields = MZ_TRUE;
-+ break;
-+ }
-+
-+ pExtra_data += sizeof(mz_uint16) * 2 + field_data_size;
-+ extra_size_remaining =
-+ extra_size_remaining - sizeof(mz_uint16) * 2 - field_data_size;
-+ } while (extra_size_remaining);
-+
-+ MZ_FREE(buf);
-+ }
-+ }
-+
-+ /* I've seen archives that aren't marked as zip64 that uses zip64 ext
-+ * data, argh */
-+ if ((comp_size != MZ_UINT32_MAX) && (decomp_size != MZ_UINT32_MAX)) {
-+ if (((!MZ_READ_LE32(p + MZ_ZIP_CDH_METHOD_OFS)) &&
-+ (decomp_size != comp_size)) ||
-+ (decomp_size && !comp_size))
-+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
-+ }
-+
- disk_index = MZ_READ_LE16(p + MZ_ZIP_CDH_DISK_START_OFS);
-- if ((disk_index != num_this_disk) && (disk_index != 1))
-- return MZ_FALSE;
-- if (((mz_uint64)MZ_READ_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS) +
-- MZ_ZIP_LOCAL_DIR_HEADER_SIZE + comp_size) > pZip->m_archive_size)
-- return MZ_FALSE;
-+ if ((disk_index == MZ_UINT16_MAX) ||
-+ ((disk_index != num_this_disk) && (disk_index != 1)))
-+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_MULTIDISK);
-+
-+ if (comp_size != MZ_UINT32_MAX) {
-+ if (((mz_uint64)MZ_READ_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS) +
-+ MZ_ZIP_LOCAL_DIR_HEADER_SIZE + comp_size) > pZip->m_archive_size)
-+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
-+ }
-+
-+ bit_flags = MZ_READ_LE16(p + MZ_ZIP_CDH_BIT_FLAG_OFS);
-+ if (bit_flags & MZ_ZIP_GENERAL_PURPOSE_BIT_FLAG_LOCAL_DIR_IS_MASKED)
-+ return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_ENCRYPTION);
-+
- if ((total_header_size = MZ_ZIP_CENTRAL_DIR_HEADER_SIZE +
- MZ_READ_LE16(p + MZ_ZIP_CDH_FILENAME_LEN_OFS) +
- MZ_READ_LE16(p + MZ_ZIP_CDH_EXTRA_LEN_OFS) +
- MZ_READ_LE16(p + MZ_ZIP_CDH_COMMENT_LEN_OFS)) >
- n)
-- return MZ_FALSE;
-+ return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);
-+
- n -= total_header_size;
- p += total_header_size;
- }
-diff --git a/contrib/zip/src/zip.c b/contrib/zip/src/zip.c
-index ff3a8fe1..1abcfd8f 100644
---- a/contrib/zip/src/zip.c
-+++ b/contrib/zip/src/zip.c
-@@ -24,7 +24,6 @@
- ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) && \
- (P)[1] == ':')
- #define FILESYSTEM_PREFIX_LEN(P) (HAS_DEVICE(P) ? 2 : 0)
--#define ISSLASH(C) ((C) == '/' || (C) == '\\')
-
- #else
-
-@@ -48,7 +47,7 @@ int symlink(const char *target, const char *linkpath); // needed on Linux
- #endif
-
- #ifndef ISSLASH
--#define ISSLASH(C) ((C) == '/')
-+#define ISSLASH(C) ((C) == '/' || (C) == '\\')
- #endif
-
- #define CLEANUP(ptr) \
-@@ -78,26 +77,34 @@ static const char *base_name(const char *name) {
- return base;
- }
-
--static int mkpath(const char *path) {
-- char const *p;
-+static int mkpath(char *path) {
-+ char *p;
- char npath[MAX_PATH + 1];
- int len = 0;
- int has_device = HAS_DEVICE(path);
-
- memset(npath, 0, MAX_PATH + 1);
--
--#ifdef _WIN32
-- // only on windows fix the path
-- npath[0] = path[0];
-- npath[1] = path[1];
-- len = 2;
--#endif // _WIN32
--
-+ if (has_device) {
-+ // only on windows
-+ npath[0] = path[0];
-+ npath[1] = path[1];
-+ len = 2;
-+ }
- for (p = path + len; *p && len < MAX_PATH; p++) {
- if (ISSLASH(*p) && ((!has_device && len > 0) || (has_device && len > 2))) {
-- if (MKDIR(npath) == -1)
-- if (errno != EEXIST)
-+#if defined(_WIN32) || defined(__WIN32__) || defined(_MSC_VER) || \
-+ defined(__MINGW32__)
-+#else
-+ if ('\\' == *p) {
-+ *p = '/';
-+ }
-+#endif
-+
-+ if (MKDIR(npath) == -1) {
-+ if (errno != EEXIST) {
- return -1;
-+ }
-+ }
- }
- npath[len++] = *p;
- }
-@@ -279,7 +286,14 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) {
- zip->entry.header_offset = zip->archive.m_archive_size;
- memset(zip->entry.header, 0, MZ_ZIP_LOCAL_DIR_HEADER_SIZE * sizeof(mz_uint8));
- zip->entry.method = 0;
-+
-+ // UNIX or APPLE
-+#if MZ_PLATFORM == 3 || MZ_PLATFORM == 19
-+ // regular file with rw-r--r-- persmissions
-+ zip->entry.external_attr = (mz_uint32)(0100644) << 16;
-+#else
- zip->entry.external_attr = 0;
-+#endif
-
- num_alignment_padding_bytes =
- mz_zip_writer_compute_padding_needed_for_file_alignment(pzip);
-@@ -660,7 +674,7 @@ ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, size_t bufsize) {
- }
-
- if (!mz_zip_reader_extract_to_mem_no_alloc(pzip, (mz_uint)zip->entry.index,
-- buf, bufsize, 0, NULL, 0)) {
-+ buf, bufsize, 0, NULL, 0)) {
- return -1;
- }
-
-@@ -670,10 +684,7 @@ ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, size_t bufsize) {
- int zip_entry_fread(struct zip_t *zip, const char *filename) {
- mz_zip_archive *pzip = NULL;
- mz_uint idx;
--#if defined(_MSC_VER)
--#else
- mz_uint32 xattr = 0;
--#endif
- mz_zip_archive_file_stat info;
-
- if (!zip) {
-@@ -875,12 +886,19 @@ int zip_extract(const char *zipname, const char *dir,
- goto out;
- }
-
-- if ((((info.m_version_made_by >> 8) == 3) || ((info.m_version_made_by >> 8) == 19)) // if zip is produced on Unix or macOS (3 and 19 from section 4.4.2.2 of zip standard)
-- && info.m_external_attr & (0x20 << 24)) { // and has sym link attribute (0x80 is file, 0x40 is directory)
-+ if ((((info.m_version_made_by >> 8) == 3) ||
-+ ((info.m_version_made_by >> 8) ==
-+ 19)) // if zip is produced on Unix or macOS (3 and 19 from
-+ // section 4.4.2.2 of zip standard)
-+ && info.m_external_attr &
-+ (0x20 << 24)) { // and has sym link attribute (0x80 is file, 0x40
-+ // is directory)
- #if defined(_WIN32) || defined(__WIN32__) || defined(_MSC_VER) || \
- defined(__MINGW32__)
--#else
-- if (info.m_uncomp_size > MAX_PATH || !mz_zip_reader_extract_to_mem_no_alloc(&zip_archive, i, symlink_to, MAX_PATH, 0, NULL, 0)) {
-+#else
-+ if (info.m_uncomp_size > MAX_PATH ||
-+ !mz_zip_reader_extract_to_mem_no_alloc(&zip_archive, i, symlink_to,
-+ MAX_PATH, 0, NULL, 0)) {
- goto out;
- }
- symlink_to[info.m_uncomp_size] = '\0';
-diff --git a/contrib/zip/src/zip.h b/contrib/zip/src/zip.h
-index 5f39df50..a48d64d6 100644
---- a/contrib/zip/src/zip.h
-+++ b/contrib/zip/src/zip.h
-@@ -20,241 +20,240 @@ extern "C" {
- #endif
-
- #if !defined(_SSIZE_T_DEFINED) && !defined(_SSIZE_T_DEFINED_) && \
-- !defined(_SSIZE_T) && !defined(_SSIZE_T_) && !defined(__ssize_t_defined)
--#define _SSIZE_T
-+ !defined(__DEFINED_ssize_t) && !defined(__ssize_t_defined) && \
-+ !defined(_SSIZE_T) && !defined(_SSIZE_T_)
-+
- // 64-bit Windows is the only mainstream platform
- // where sizeof(long) != sizeof(void*)
- #ifdef _WIN64
--typedef long long ssize_t; /* byte count or error */
-+typedef long long ssize_t; /* byte count or error */
- #else
--typedef long ssize_t; /* byte count or error */
-+typedef long ssize_t; /* byte count or error */
- #endif
-+
-+#define _SSIZE_T_DEFINED
-+#define _SSIZE_T_DEFINED_
-+#define __DEFINED_ssize_t
-+#define __ssize_t_defined
-+#define _SSIZE_T
-+#define _SSIZE_T_
-+
- #endif
-
- #ifndef MAX_PATH
- #define MAX_PATH 32767 /* # chars in a path name including NULL */
- #endif
-
-+/**
-+ * @mainpage
-+ *
-+ * Documenation for @ref zip.
-+ */
-+
-+/**
-+ * @addtogroup zip
-+ * @{
-+ */
-+
-+/**
-+ * Default zip compression level.
-+ */
-+
- #define ZIP_DEFAULT_COMPRESSION_LEVEL 6
-
--/*
-- This data structure is used throughout the library to represent zip archive
-- - forward declaration.
--*/
-+/**
-+ * @struct zip_t
-+ *
-+ * This data structure is used throughout the library to represent zip archive -
-+ * forward declaration.
-+ */
- struct zip_t;
-
--/*
-- Opens zip archive with compression level using the given mode.
--
-- Args:
-- zipname: zip archive file name.
-- level: compression level (0-9 are the standard zlib-style levels).
-- mode: file access mode.
-- 'r': opens a file for reading/extracting (the file must exists).
-- 'w': creates an empty file for writing.
-- 'a': appends to an existing archive.
--
-- Returns:
-- The zip archive handler or NULL on error
--*/
-+/**
-+ * Opens zip archive with compression level using the given mode.
-+ *
-+ * @param zipname zip archive file name.
-+ * @param level compression level (0-9 are the standard zlib-style levels).
-+ * @param mode file access mode.
-+ * - 'r': opens a file for reading/extracting (the file must exists).
-+ * - 'w': creates an empty file for writing.
-+ * - 'a': appends to an existing archive.
-+ *
-+ * @return the zip archive handler or NULL on error
-+ */
- extern struct zip_t *zip_open(const char *zipname, int level, char mode);
-
--/*
-- Closes the zip archive, releases resources - always finalize.
--
-- Args:
-- zip: zip archive handler.
--*/
-+/**
-+ * Closes the zip archive, releases resources - always finalize.
-+ *
-+ * @param zip zip archive handler.
-+ */
- extern void zip_close(struct zip_t *zip);
-
--/*
-- Opens an entry by name in the zip archive.
-- For zip archive opened in 'w' or 'a' mode the function will append
-- a new entry. In readonly mode the function tries to locate the entry
-- in global dictionary.
--
-- Args:
-- zip: zip archive handler.
-- entryname: an entry name in local dictionary.
--
-- Returns:
-- The return code - 0 on success, negative number (< 0) on error.
--*/
-+/**
-+ * Opens an entry by name in the zip archive.
-+ *
-+ * For zip archive opened in 'w' or 'a' mode the function will append
-+ * a new entry. In readonly mode the function tries to locate the entry
-+ * in global dictionary.
-+ *
-+ * @param zip zip archive handler.
-+ * @param entryname an entry name in local dictionary.
-+ *
-+ * @return the return code - 0 on success, negative number (< 0) on error.
-+ */
- extern int zip_entry_open(struct zip_t *zip, const char *entryname);
-
--/*
-- Opens a new entry by index in the zip archive.
-- This function is only valid if zip archive was opened in 'r' (readonly) mode.
--
-- Args:
-- zip: zip archive handler.
-- index: index in local dictionary.
--
-- Returns:
-- The return code - 0 on success, negative number (< 0) on error.
--*/
-+/**
-+ * Opens a new entry by index in the zip archive.
-+ *
-+ * This function is only valid if zip archive was opened in 'r' (readonly) mode.
-+ *
-+ * @param zip zip archive handler.
-+ * @param index index in local dictionary.
-+ *
-+ * @return the return code - 0 on success, negative number (< 0) on error.
-+ */
- extern int zip_entry_openbyindex(struct zip_t *zip, int index);
-
--/*
-- Closes a zip entry, flushes buffer and releases resources.
--
-- Args:
-- zip: zip archive handler.
--
-- Returns:
-- The return code - 0 on success, negative number (< 0) on error.
--*/
-+/**
-+ * Closes a zip entry, flushes buffer and releases resources.
-+ *
-+ * @param zip zip archive handler.
-+ *
-+ * @return the return code - 0 on success, negative number (< 0) on error.
-+ */
- extern int zip_entry_close(struct zip_t *zip);
-
--/*
-- Returns a local name of the current zip entry.
-- The main difference between user's entry name and local entry name
-- is optional relative path.
-- Following .ZIP File Format Specification - the path stored MUST not contain
-- a drive or device letter, or a leading slash.
-- All slashes MUST be forward slashes '/' as opposed to backwards slashes '\'
-- for compatibility with Amiga and UNIX file systems etc.
--
-- Args:
-- zip: zip archive handler.
--
-- Returns:
-- The pointer to the current zip entry name, or NULL on error.
--*/
-+/**
-+ * Returns a local name of the current zip entry.
-+ *
-+ * The main difference between user's entry name and local entry name
-+ * is optional relative path.
-+ * Following .ZIP File Format Specification - the path stored MUST not contain
-+ * a drive or device letter, or a leading slash.
-+ * All slashes MUST be forward slashes '/' as opposed to backwards slashes '\'
-+ * for compatibility with Amiga and UNIX file systems etc.
-+ *
-+ * @param zip: zip archive handler.
-+ *
-+ * @return the pointer to the current zip entry name, or NULL on error.
-+ */
- extern const char *zip_entry_name(struct zip_t *zip);
-
--/*
-- Returns an index of the current zip entry.
--
-- Args:
-- zip: zip archive handler.
--
-- Returns:
-- The index on success, negative number (< 0) on error.
--*/
-+/**
-+ * Returns an index of the current zip entry.
-+ *
-+ * @param zip zip archive handler.
-+ *
-+ * @return the index on success, negative number (< 0) on error.
-+ */
- extern int zip_entry_index(struct zip_t *zip);
-
--/*
-- Determines if the current zip entry is a directory entry.
--
-- Args:
-- zip: zip archive handler.
--
-- Returns:
-- The return code - 1 (true), 0 (false), negative number (< 0) on error.
--*/
-+/**
-+ * Determines if the current zip entry is a directory entry.
-+ *
-+ * @param zip zip archive handler.
-+ *
-+ * @return the return code - 1 (true), 0 (false), negative number (< 0) on
-+ * error.
-+ */
- extern int zip_entry_isdir(struct zip_t *zip);
-
--/*
-- Returns an uncompressed size of the current zip entry.
--
-- Args:
-- zip: zip archive handler.
--
-- Returns:
-- The uncompressed size in bytes.
--*/
-+/**
-+ * Returns an uncompressed size of the current zip entry.
-+ *
-+ * @param zip zip archive handler.
-+ *
-+ * @return the uncompressed size in bytes.
-+ */
- extern unsigned long long zip_entry_size(struct zip_t *zip);
-
--/*
-- Returns CRC-32 checksum of the current zip entry.
--
-- Args:
-- zip: zip archive handler.
--
-- Returns:
-- The CRC-32 checksum.
--*/
-+/**
-+ * Returns CRC-32 checksum of the current zip entry.
-+ *
-+ * @param zip zip archive handler.
-+ *
-+ * @return the CRC-32 checksum.
-+ */
- extern unsigned int zip_entry_crc32(struct zip_t *zip);
-
--/*
-- Compresses an input buffer for the current zip entry.
--
-- Args:
-- zip: zip archive handler.
-- buf: input buffer.
-- bufsize: input buffer size (in bytes).
--
-- Returns:
-- The return code - 0 on success, negative number (< 0) on error.
--*/
-+/**
-+ * Compresses an input buffer for the current zip entry.
-+ *
-+ * @param zip zip archive handler.
-+ * @param buf input buffer.
-+ * @param bufsize input buffer size (in bytes).
-+ *
-+ * @return the return code - 0 on success, negative number (< 0) on error.
-+ */
- extern int zip_entry_write(struct zip_t *zip, const void *buf, size_t bufsize);
-
--/*
-- Compresses a file for the current zip entry.
--
-- Args:
-- zip: zip archive handler.
-- filename: input file.
--
-- Returns:
-- The return code - 0 on success, negative number (< 0) on error.
--*/
-+/**
-+ * Compresses a file for the current zip entry.
-+ *
-+ * @param zip zip archive handler.
-+ * @param filename input file.
-+ *
-+ * @return the return code - 0 on success, negative number (< 0) on error.
-+ */
- extern int zip_entry_fwrite(struct zip_t *zip, const char *filename);
-
--/*
-- Extracts the current zip entry into output buffer.
-- The function allocates sufficient memory for a output buffer.
--
-- Args:
-- zip: zip archive handler.
-- buf: output buffer.
-- bufsize: output buffer size (in bytes).
--
-- Note:
-- - remember to release memory allocated for a output buffer.
-- - for large entries, please take a look at zip_entry_extract function.
--
-- Returns:
-- The return code - the number of bytes actually read on success.
-- Otherwise a -1 on error.
--*/
-+/**
-+ * Extracts the current zip entry into output buffer.
-+ *
-+ * The function allocates sufficient memory for a output buffer.
-+ *
-+ * @param zip zip archive handler.
-+ * @param buf output buffer.
-+ * @param bufsize output buffer size (in bytes).
-+ *
-+ * @note remember to release memory allocated for a output buffer.
-+ * for large entries, please take a look at zip_entry_extract function.
-+ *
-+ * @return the return code - the number of bytes actually read on success.
-+ * Otherwise a -1 on error.
-+ */
- extern ssize_t zip_entry_read(struct zip_t *zip, void **buf, size_t *bufsize);
-
--/*
-- Extracts the current zip entry into a memory buffer using no memory
-- allocation.
--
-- Args:
-- zip: zip archive handler.
-- buf: preallocated output buffer.
-- bufsize: output buffer size (in bytes).
--
-- Note:
-- - ensure supplied output buffer is large enough.
-- - zip_entry_size function (returns uncompressed size for the current entry)
-- can be handy to estimate how big buffer is needed.
-- - for large entries, please take a look at zip_entry_extract function.
--
-- Returns:
-- The return code - the number of bytes actually read on success.
-- Otherwise a -1 on error (e.g. bufsize is not large enough).
--*/
--extern ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, size_t bufsize);
--
--/*
-- Extracts the current zip entry into output file.
--
-- Args:
-- zip: zip archive handler.
-- filename: output file.
--
-- Returns:
-- The return code - 0 on success, negative number (< 0) on error.
--*/
-+/**
-+ * Extracts the current zip entry into a memory buffer using no memory
-+ * allocation.
-+ *
-+ * @param zip zip archive handler.
-+ * @param buf preallocated output buffer.
-+ * @param bufsize output buffer size (in bytes).
-+ *
-+ * @note ensure supplied output buffer is large enough.
-+ * zip_entry_size function (returns uncompressed size for the current
-+ * entry) can be handy to estimate how big buffer is needed. for large
-+ * entries, please take a look at zip_entry_extract function.
-+ *
-+ * @return the return code - the number of bytes actually read on success.
-+ * Otherwise a -1 on error (e.g. bufsize is not large enough).
-+ */
-+extern ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf,
-+ size_t bufsize);
-+
-+/**
-+ * Extracts the current zip entry into output file.
-+ *
-+ * @param zip zip archive handler.
-+ * @param filename output file.
-+ *
-+ * @return the return code - 0 on success, negative number (< 0) on error.
-+ */
- extern int zip_entry_fread(struct zip_t *zip, const char *filename);
-
--/*
-- Extracts the current zip entry using a callback function (on_extract).
--
-- Args:
-- zip: zip archive handler.
-- on_extract: callback function.
-- arg: opaque pointer (optional argument,
-- which you can pass to the on_extract callback)
--
-- Returns:
-- The return code - 0 on success, negative number (< 0) on error.
-+/**
-+ * Extracts the current zip entry using a callback function (on_extract).
-+ *
-+ * @param zip zip archive handler.
-+ * @param on_extract callback function.
-+ * @param arg opaque pointer (optional argument, which you can pass to the
-+ * on_extract callback)
-+ *
-+ * @return the return code - 0 on success, negative number (< 0) on error.
- */
- extern int
- zip_entry_extract(struct zip_t *zip,
-@@ -262,53 +261,49 @@ zip_entry_extract(struct zip_t *zip,
- const void *data, size_t size),
- void *arg);
-
--/*
-- Returns the number of all entries (files and directories) in the zip archive.
--
-- Args:
-- zip: zip archive handler.
--
-- Returns:
-- The return code - the number of entries on success,
-- negative number (< 0) on error.
--*/
-+/**
-+ * Returns the number of all entries (files and directories) in the zip archive.
-+ *
-+ * @param zip zip archive handler.
-+ *
-+ * @return the return code - the number of entries on success, negative number
-+ * (< 0) on error.
-+ */
- extern int zip_total_entries(struct zip_t *zip);
-
--/*
-- Creates a new archive and puts files into a single zip archive.
--
-- Args:
-- zipname: zip archive file.
-- filenames: input files.
-- len: number of input files.
--
-- Returns:
-- The return code - 0 on success, negative number (< 0) on error.
--*/
-+/**
-+ * Creates a new archive and puts files into a single zip archive.
-+ *
-+ * @param zipname zip archive file.
-+ * @param filenames input files.
-+ * @param len: number of input files.
-+ *
-+ * @return the return code - 0 on success, negative number (< 0) on error.
-+ */
- extern int zip_create(const char *zipname, const char *filenames[], size_t len);
-
--/*
-- Extracts a zip archive file into directory.
--
-- If on_extract_entry is not NULL, the callback will be called after
-- successfully extracted each zip entry.
-- Returning a negative value from the callback will cause abort and return an
-- error. The last argument (void *arg) is optional, which you can use to pass
-- data to the on_extract_entry callback.
--
-- Args:
-- zipname: zip archive file.
-- dir: output directory.
-- on_extract_entry: on extract callback.
-- arg: opaque pointer.
--
-- Returns:
-- The return code - 0 on success, negative number (< 0) on error.
--*/
-+/**
-+ * Extracts a zip archive file into directory.
-+ *
-+ * If on_extract_entry is not NULL, the callback will be called after
-+ * successfully extracted each zip entry.
-+ * Returning a negative value from the callback will cause abort and return an
-+ * error. The last argument (void *arg) is optional, which you can use to pass
-+ * data to the on_extract_entry callback.
-+ *
-+ * @param zipname zip archive file.
-+ * @param dir output directory.
-+ * @param on_extract_entry on extract callback.
-+ * @param arg opaque pointer.
-+ *
-+ * @return the return code - 0 on success, negative number (< 0) on error.
-+ */
- extern int zip_extract(const char *zipname, const char *dir,
- int (*on_extract_entry)(const char *filename, void *arg),
- void *arg);
-
-+/** @} */
-+
- #ifdef __cplusplus
- }
- #endif
-diff --git a/contrib/zip/test/CMakeLists.txt b/contrib/zip/test/CMakeLists.txt
-index 9b2a8db1..cc060b00 100644
---- a/contrib/zip/test/CMakeLists.txt
-+++ b/contrib/zip/test/CMakeLists.txt
-@@ -1,19 +1,16 @@
- cmake_minimum_required(VERSION 2.8)
-
--if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang")
-- if(ENABLE_COVERAGE)
-- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g ")
-- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0")
-- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs")
-- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftest-coverage")
-- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
-- endif()
--endif ()
--
- # test
--include_directories(../src)
--add_executable(test.exe test.c ../src/zip.c)
--add_executable(test_miniz.exe test_miniz.c)
-+set(test_out test.out)
-+set(test_miniz_out test_miniz.out)
-+
-+add_executable(${test_out} test.c)
-+target_link_libraries(${test_out} zip)
-+add_executable(${test_miniz_out} test_miniz.c)
-+target_link_libraries(${test_miniz_out} zip)
-+
-+add_test(NAME ${test_out} COMMAND ${test_out})
-+add_test(NAME ${test_miniz_out} COMMAND ${test_miniz_out})
-
--add_test(NAME test COMMAND test.exe)
--add_test(NAME test_miniz COMMAND test_miniz.exe)
-+set(test_out ${test_out} PARENT_SCOPE)
-+set(test_miniz_out ${test_miniz_out} PARENT_SCOPE)
-diff --git a/contrib/zip/test/test.c b/contrib/zip/test/test.c
-index 45443053..a9b2ddab 100644
---- a/contrib/zip/test/test.c
-+++ b/contrib/zip/test/test.c
-@@ -29,6 +29,8 @@
- #define XFILE "7.txt\0"
- #define XMODE 0100777
-
-+#define UNIXMODE 0100644
-+
- #define UNUSED(x) (void)x
-
- static int total_entries = 0;
-@@ -102,7 +104,8 @@ static void test_read(void) {
- assert(0 == zip_entry_close(zip));
- free(buf);
- buf = NULL;
--
-+ bufsize = 0;
-+
- assert(0 == zip_entry_open(zip, "test/test-2.txt"));
- assert(strlen(TESTDATA2) == zip_entry_size(zip));
- assert(CRC32DATA2 == zip_entry_crc32(zip));
-@@ -131,7 +134,8 @@ static void test_read(void) {
- assert(0 == zip_entry_close(zip));
- free(buf);
- buf = NULL;
--
-+ bufsize = 0;
-+
- buftmp = strlen(TESTDATA1);
- buf = calloc(buftmp, sizeof(char));
- assert(0 == zip_entry_open(zip, "test/test-1.txt"));
-@@ -433,6 +437,35 @@ static void test_mtime(void) {
- remove(ZIPNAME);
- }
-
-+static void test_unix_permissions(void) {
-+#if defined(_WIN64) || defined(_WIN32) || defined(__WIN32__)
-+#else
-+ // UNIX or APPLE
-+ struct MZ_FILE_STAT_STRUCT file_stats;
-+
-+ remove(ZIPNAME);
-+
-+ struct zip_t *zip = zip_open(ZIPNAME, ZIP_DEFAULT_COMPRESSION_LEVEL, 'w');
-+ assert(zip != NULL);
-+
-+ assert(0 == zip_entry_open(zip, RFILE));
-+ assert(0 == zip_entry_write(zip, TESTDATA1, strlen(TESTDATA1)));
-+ assert(0 == zip_entry_close(zip));
-+
-+ zip_close(zip);
-+
-+ remove(RFILE);
-+
-+ assert(0 == zip_extract(ZIPNAME, ".", NULL, NULL));
-+
-+ assert(0 == MZ_FILE_STAT(RFILE, &file_stats));
-+ assert(UNIXMODE == file_stats.st_mode);
-+
-+ remove(RFILE);
-+ remove(ZIPNAME);
-+#endif
-+}
-+
- int main(int argc, char *argv[]) {
- UNUSED(argc);
- UNUSED(argv);
-@@ -453,6 +486,7 @@ int main(int argc, char *argv[]) {
- test_write_permissions();
- test_exe_permissions();
- test_mtime();
-+ test_unix_permissions();
-
- remove(ZIPNAME);
- return 0;
-diff --git a/contrib/zip/test/test_miniz.c b/contrib/zip/test/test_miniz.c
-index ebc0564d..babcaecd 100644
---- a/contrib/zip/test/test_miniz.c
-+++ b/contrib/zip/test/test_miniz.c
-@@ -23,16 +23,39 @@ int main(int argc, char *argv[]) {
- uint step = 0;
- int cmp_status;
- uLong src_len = (uLong)strlen(s_pStr);
-- uLong cmp_len = compressBound(src_len);
- uLong uncomp_len = src_len;
-+ uLong cmp_len;
- uint8 *pCmp, *pUncomp;
-+ size_t sz;
- uint total_succeeded = 0;
- (void)argc, (void)argv;
-
- printf("miniz.c version: %s\n", MZ_VERSION);
-
- do {
-+ pCmp = (uint8 *)tdefl_compress_mem_to_heap(s_pStr, src_len, &cmp_len, 0);
-+ if (!pCmp) {
-+ printf("tdefl_compress_mem_to_heap failed\n");
-+ return EXIT_FAILURE;
-+ }
-+ if (src_len <= cmp_len) {
-+ printf("tdefl_compress_mem_to_heap failed: from %u to %u bytes\n",
-+ (mz_uint32)uncomp_len, (mz_uint32)cmp_len);
-+ free(pCmp);
-+ return EXIT_FAILURE;
-+ }
-+
-+ sz = tdefl_compress_mem_to_mem(pCmp, cmp_len, s_pStr, src_len, 0);
-+ if (sz != cmp_len) {
-+ printf("tdefl_compress_mem_to_mem failed: expected %u, got %u\n",
-+ (mz_uint32)cmp_len, (mz_uint32)sz);
-+ free(pCmp);
-+ return EXIT_FAILURE;
-+ }
-+
- // Allocate buffers to hold compressed and uncompressed data.
-+ free(pCmp);
-+ cmp_len = compressBound(src_len);
- pCmp = (mz_uint8 *)malloc((size_t)cmp_len);
- pUncomp = (mz_uint8 *)malloc((size_t)src_len);
- if ((!pCmp) || (!pUncomp)) {
diff --git a/poky/meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch b/poky/meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch
deleted file mode 100644
index e4f5b9ccb..000000000
--- a/poky/meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch
+++ /dev/null
@@ -1,257 +0,0 @@
-From cbf94fd62ff831879d10f99aa7766d391ae8a9b7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Victor=20Matar=C3=A9?= <matare@fh-aachen.de>
-Date: Tue, 31 Mar 2020 21:30:07 +0200
-Subject: [PATCH] use GNUInstallDirs where possible
-
-Emulate the CMAKE_INSTALL_FULL_* variables on non-Unix systems and
-disable redefining FHS-mandated install locations via user-editable
-ASSIMP_*_INSTALL_DIR variables. Instead, if it REALLY proves necessary,
-Unix users can edit the advanced, canonical CMAKE_INSTALL_* variables.
----
- CMakeLists.txt | 36 ++++++++++++++++++++++------------
- assimp.pc.in | 6 ++----
- assimpTargets-debug.cmake.in | 20 +++++++++----------
- assimpTargets-release.cmake.in | 18 ++++++++---------
- assimpTargets.cmake.in | 15 +-------------
- 5 files changed, 45 insertions(+), 50 deletions(-)
-
-Upstream-Status: Backport
-Comment: Additionally remove setting of ASSIMP_LIBRARY_DIRS, ASSIMP_INCLUDE_DIRS
- and INTERFACE_INCLUDE_DIRECTORIES as default cross compile paths are enough
- and setting them manually adds non-existing paths to CMake modules
-
-Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dcafb649f5..c23c0df33e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -230,11 +230,6 @@ SET(LIBASSIMP-DEV_COMPONENT "libassimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_M
- SET(CPACK_COMPONENTS_ALL assimp-bin ${LIBASSIMP_COMPONENT} ${LIBASSIMP-DEV_COMPONENT} assimp-dev)
- SET(ASSIMP_LIBRARY_SUFFIX "" CACHE STRING "Suffix to append to library names")
-
--IF( UNIX )
-- # Use GNUInstallDirs for Unix predefined directories
-- INCLUDE(GNUInstallDirs)
--ENDIF( UNIX )
--
- # Grouped compiler settings
- IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT CMAKE_COMPILER_IS_MINGW)
- IF(NOT HUNTER_ENABLED)
-@@ -329,14 +324,6 @@ IF ( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
- SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/bin" )
- ENDIF ( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
-
--# Cache these to allow the user to override them manually.
--SET( ASSIMP_LIB_INSTALL_DIR "lib" CACHE STRING
-- "Path the built library files are installed to." )
--SET( ASSIMP_INCLUDE_INSTALL_DIR "include" CACHE STRING
-- "Path the header files are installed to." )
--SET( ASSIMP_BIN_INSTALL_DIR "bin" CACHE STRING
-- "Path the tool executables are installed to." )
--
- get_cmake_property(is_multi_config GENERATOR_IS_MULTI_CONFIG)
-
- IF (INJECT_DEBUG_POSTFIX AND (is_multi_config OR CMAKE_BUILD_TYPE STREQUAL "Debug"))
-@@ -391,6 +378,29 @@ IF(HUNTER_ENABLED)
- )
- ELSE(HUNTER_ENABLED)
- # cmake configuration files
-+
-+ IF( UNIX )
-+ # Use GNUInstallDirs for Unix predefined directories
-+ INCLUDE(GNUInstallDirs)
-+
-+ SET( ASSIMP_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
-+ SET( ASSIMP_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
-+ SET( ASSIMP_BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
-+ ELSE( UNIX )
-+ # Cache these to allow the user to override them on non-Unix platforms
-+ SET( ASSIMP_LIB_INSTALL_DIR "lib" CACHE STRING
-+ "Path the built library files are installed to." )
-+ SET( ASSIMP_INCLUDE_INSTALL_DIR "include" CACHE STRING
-+ "Path the header files are installed to." )
-+ SET( ASSIMP_BIN_INSTALL_DIR "bin" CACHE STRING
-+ "Path the tool executables are installed to." )
-+
-+ SET(CMAKE_INSTALL_FULL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_INCLUDE_INSTALL_DIR})
-+ SET(CMAKE_INSTALL_FULL_LIBDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_LIB_INSTALL_DIR})
-+ SET(CMAKE_INSTALL_FULL_BINDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_BIN_INSTALL_DIR})
-+ ENDIF( UNIX )
-+
-+
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake" @ONLY IMMEDIATE)
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake" @ONLY IMMEDIATE)
- IF (is_multi_config)
-diff --git a/assimp.pc.in b/assimp.pc.in
-index c659e19f2c..555a3a1d3b 100644
---- a/assimp.pc.in
-+++ b/assimp.pc.in
-@@ -1,7 +1,5 @@
--prefix=@CMAKE_INSTALL_PREFIX@
--exec_prefix=@CMAKE_INSTALL_PREFIX@/
--libdir=@CMAKE_INSTALL_PREFIX@/@ASSIMP_LIB_INSTALL_DIR@
--includedir=@CMAKE_INSTALL_PREFIX@/../include/@ASSIMP_INCLUDE_INSTALL_DIR@
-+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
-+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
-
- Name: @CMAKE_PROJECT_NAME@
- Description: Import various well-known 3D model formats in an uniform manner.
-diff --git a/assimpTargets-debug.cmake.in b/assimpTargets-debug.cmake.in
-index 1ebe2a6081..f5034c9349 100644
---- a/assimpTargets-debug.cmake.in
-+++ b/assimpTargets-debug.cmake.in
-@@ -42,22 +42,22 @@ if(MSVC)
- # Import target "assimp::assimp" for configuration "Debug"
- set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- set_target_properties(assimp::assimp PROPERTIES
-- IMPORTED_IMPLIB_DEBUG "${_IMPORT_PREFIX}/lib/${importLibraryName}"
-- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/${sharedLibraryName}"
-+ IMPORTED_IMPLIB_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}"
-+ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}")
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" )
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}")
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}" )
- else()
- set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_STATIC_LIBRARY_SUFFIX@")
-
- # Import target "assimp::assimp" for configuration "Debug"
- set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- set_target_properties(assimp::assimp PROPERTIES
-- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
-+ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}")
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}")
- endif()
-
- else()
-@@ -66,17 +66,17 @@ else()
- set(sharedLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@.@ASSIMP_VERSION_MAJOR@")
- set_target_properties(assimp::assimp PROPERTIES
- IMPORTED_SONAME_DEBUG "${sharedLibraryName}"
-- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${sharedLibraryName}"
-+ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" )
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}" )
- else()
- set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_STATIC_LIBRARY_SUFFIX@")
- set_target_properties(assimp::assimp PROPERTIES
-- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
-+ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" )
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}" )
- endif()
- endif()
-
-diff --git a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in
-index f3db8f12cd..a416e8899b 100644
---- a/assimpTargets-release.cmake.in
-+++ b/assimpTargets-release.cmake.in
-@@ -42,12 +42,12 @@ if(MSVC)
- # Import target "assimp::assimp" for configuration "Release"
- set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- set_target_properties(assimp::assimp PROPERTIES
-- IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/${importLibraryName}"
-- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/${sharedLibraryName}"
-+ IMPORTED_IMPLIB_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}"
-+ IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}")
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" )
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}")
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}" )
- else()
- set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
-
-@@ -57,7 +57,7 @@ if(MSVC)
- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}")
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}")
- endif()
-
- else()
-@@ -70,17 +70,17 @@ else()
- endif()
- set_target_properties(assimp::assimp PROPERTIES
- IMPORTED_SONAME_RELEASE "${sharedLibraryName}"
-- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${sharedLibraryName}"
-+ IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" )
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}" )
- else()
- set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
- set_target_properties(assimp::assimp PROPERTIES
-- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
-+ IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" )
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}" )
- endif()
- endif()
-
-@@ -91,8 +91,6 @@ get_filename_component(ASSIMP_ROOT_DIR "@CMAKE_INSTALL_PREFIX@" REALPATH)
-
- set( ASSIMP_CXX_FLAGS ) # dynamically linked library
- set( ASSIMP_LINK_FLAGS "" )
--set( ASSIMP_LIBRARY_DIRS "${ASSIMP_ROOT_DIR}/@ASSIMP_LIB_INSTALL_DIR@")
--set( ASSIMP_INCLUDE_DIRS "${ASSIMP_ROOT_DIR}/@ASSIMP_INCLUDE_INSTALL_DIR@")
- if(ASSIMP_BUILD_SHARED_LIBS)
- set( ASSIMP_LIBRARIES ${sharedLibraryName})
- else()
-
-diff --git a/assimpTargets.cmake.in b/assimpTargets.cmake.in
-index ab1a8d2c7b..ef90c834a6 100644
---- a/assimpTargets.cmake.in
-+++ b/assimpTargets.cmake.in
-@@ -40,16 +40,6 @@ unset(_targetsDefined)
- unset(_targetsNotDefined)
- unset(_expectedTargets)
-
--
--# Compute the installation prefix relative to this file.
--get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
--get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
--get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
--get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
--if(_IMPORT_PREFIX STREQUAL "/")
-- set(_IMPORT_PREFIX "")
--endif()
--
- # Create imported target assimp::assimp
- if(@BUILD_SHARED_LIBS@)
- add_library(assimp::assimp SHARED IMPORTED)
-@@ -60,7 +50,7 @@ endif()
- set_target_properties(assimp::assimp PROPERTIES
- COMPATIBLE_INTERFACE_STRING "assimp_MAJOR_VERSION"
- INTERFACE_assimp_MAJOR_VERSION "1"
-- INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include"
-+ #INTERFACE_INCLUDE_DIRECTORIES "@CMAKE_INSTALL_FULL_INCLUDEDIR@"
- #INTERFACE_LINK_LIBRARIES "TxtUtils::TxtUtils;MealyMachine::MealyMachine"
- )
-
-@@ -75,9 +65,6 @@ foreach(f ${CONFIG_FILES})
- include(${f})
- endforeach()
-
--# Cleanup temporary variables.
--set(_IMPORT_PREFIX)
--
- # Loop over all imported files and verify that they actually exist
- foreach(target ${_IMPORT_CHECK_TARGETS} )
- foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
-
diff --git a/poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb b/poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb
deleted file mode 100644
index 89c555f08..000000000
--- a/poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION = "Open Asset Import Library is a portable Open Source library to import \
- various well-known 3D model formats in a uniform manner."
-HOMEPAGE = "http://www.assimp.org/"
-SECTION = "devel"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2119edef0916b0bd511cb3c731076271"
-
-DEPENDS = "zlib"
-
-SRC_URI = "git://github.com/assimp/assimp.git;branch=assimp_5.0_release \
- file://0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch \
- file://use-GNUInstallDirs-where-possible.patch \
- file://0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch \
- "
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))"
-
-SRCREV = "8f0c6b04b2257a520aaab38421b2e090204b69df"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF -DASSIMP_LIB_INSTALL_DIR=${baselib}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/waffle/waffle_1.6.1.bb b/poky/meta/recipes-graphics/waffle/waffle_1.6.1.bb
index fa5efc12c..395494018 100644
--- a/poky/meta/recipes-graphics/waffle/waffle_1.6.1.bb
+++ b/poky/meta/recipes-graphics/waffle/waffle_1.6.1.bb
@@ -15,7 +15,7 @@ SRC_URI[sha256sum] = "31565649ff0e2d8dff1b8f7f2264ab7a78452063c7e04adfc4ce03e64b
UPSTREAM_CHECK_URI = "http://www.waffle-gl.org/releases.html"
-inherit meson features_check lib_package bash-completion
+inherit meson features_check lib_package bash-completion pkgconfig
DEPENDS:append = " python3"
diff --git a/poky/meta/recipes-graphics/wayland/weston-init.bb b/poky/meta/recipes-graphics/wayland/weston-init.bb
index fecf926fb..e02da0c35 100644
--- a/poky/meta/recipes-graphics/wayland/weston-init.bb
+++ b/poky/meta/recipes-graphics/wayland/weston-init.bb
@@ -44,7 +44,7 @@ do_install() {
sed -i -e s:/etc:${sysconfdir}:g \
-e s:/usr/bin:${bindir}:g \
-e s:/var:${localstatedir}:g \
- ${D}${systemd_unitdir}/system/weston.service
+ ${D}${systemd_system_unitdir}/weston.service
# Install weston-start script
install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
diff --git a/poky/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb
index 3f20ad4fc..573ab7b93 100644
--- a/poky/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb
+++ b/poky/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb
@@ -52,9 +52,9 @@ do_install() {
sed -i "s:@NO_CURSOR_ARG@:${NO_CURSOR_ARG}:" ${D}${sysconfdir}/default/xserver-nodm
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/xserver-nodm.service.in ${D}${systemd_unitdir}/system/xserver-nodm.service
- sed -i "s:@USER@:${XUSER}:" ${D}${systemd_unitdir}/system/xserver-nodm.service
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/xserver-nodm.service.in ${D}${systemd_system_unitdir}/xserver-nodm.service
+ sed -i "s:@USER@:${XUSER}:" ${D}${systemd_system_unitdir}/xserver-nodm.service
fi
if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
index 7519b4c01..e53ccc6ae 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
@@ -8,7 +8,7 @@ python () {
require xorg-lib-common.inc
-LICENSE = "MIT & MIT-style & BSD"
+LICENSE = "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7"
SRC_URI[md5sum] = "c5fa5a86a20e3591bed6c046498d4b8f"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb
index 94c6c66e8..f04780cf0 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb
@@ -6,7 +6,7 @@ such as freetype)."
require xorg-lib-common.inc
-LICENSE = "MIT & MIT-style & BSD"
+LICENSE = "MIT & MIT-style & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c"
DEPENDS += "freetype xtrans xorgproto libfontenc zlib"
diff --git a/poky/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb b/poky/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb
index 3df6fd1ff..6aba65935 100644
--- a/poky/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb
+++ b/poky/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb
@@ -14,7 +14,7 @@ SRC_URI[sha256sum] = "b81cbdd5ad60b8b7ad8c3ecc7ec2a28c9bf021448670735cebb501f08b
UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar"
-inherit meson features_check
+inherit meson features_check pkgconfig
REQUIRED_DISTRO_FEATURES = "x11 opengl"
DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy"
diff --git a/poky/meta/recipes-kernel/dtc/dtc.inc b/poky/meta/recipes-kernel/dtc/dtc.inc
index 12508b235..bfdc9f863 100644
--- a/poky/meta/recipes-kernel/dtc/dtc.inc
+++ b/poky/meta/recipes-kernel/dtc/dtc.inc
@@ -2,7 +2,7 @@ SUMMARY = "Device Tree Compiler"
HOMEPAGE = "https://devicetree.org/"
DESCRIPTION = "The Device Tree Compiler is a tool used to manipulate the Open-Firmware-like device tree used by PowerPC kernels."
SECTION = "bootloader"
-LICENSE = "GPLv2 | BSD"
+LICENSE = "GPLv2 | BSD-2-Clause"
DEPENDS = "flex-native bison-native"
SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git \
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb
index d12ad4e6f..95ff5e6ef 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb
@@ -54,8 +54,8 @@ do_install:append () {
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper
- install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_unitdir}/system/kdump.service
- sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_unitdir}/system/kdump.service
+ install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_system_unitdir}/kdump.service
+ sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_system_unitdir}/kdump.service
fi
}
@@ -69,7 +69,7 @@ FILES:kdump = "${sbindir}/kdump \
${sysconfdir}/sysconfig/kdump.conf \
${sysconfdir}/init.d/kdump \
${libexecdir}/kdump-helper \
- ${systemd_unitdir}/system/kdump.service \
+ ${systemd_system_unitdir}/kdump.service \
"
FILES:vmcore-dmesg = "${sbindir}/vmcore-dmesg"
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.14.bb
index 556ca07f2..282c04d79 100644
--- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb
+++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.14.bb
@@ -14,5 +14,7 @@ SRC_URI:append = "\
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-SRC_URI[md5sum] = "76c60fb304510a7bbd9c838790bc5fe4"
-SRC_URI[sha256sum] = "3f6baa97f37518439f51df2e4f3d65a822ca5ff016aa8e60d2cc53b95a6c89d9"
+SRC_URI[md5sum] = "a082ef5748b813abca0649dab8be5f52"
+SRC_URI[sha256sum] = "7e068b5e0d26a62b10e5320b25dce57588cbbc6f781c090442138c9c9c3271b2"
+
+
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index 091178700..f58b5ab0b 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
-LINUX_VERSION ?= "5.14+"
+LINUX_VERSION ?= "5.15+"
LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
index d1100817d..097dd7b5f 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "c8efa3efd890f35f8037a8c3533ba52e6de83fdf"
+SRCREV_machine ?= "31e2870ebfd892708e8c5f3aced96565e2456ed9"
SRCREV_meta ?= "bce2813b162bb472c137fb503951295a931c25b6"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
-LINUX_VERSION ?= "5.10.60"
+LINUX_VERSION ?= "5.10.63"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.14.bb
index e59536cc3..a147e632e 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.14.bb
@@ -1,4 +1,4 @@
-KBRANCH ?= "v5.13/standard/preempt-rt/base"
+KBRANCH ?= "v5.14/standard/preempt-rt/base"
require recipes-kernel/linux/linux-yocto.inc
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "1c1c5e42a518434b8c24d511aae442ac19386977"
-SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3"
+SRCREV_machine ?= "7630ebb9fd510cf7aa31b6f1dd472f3b0442afb3"
+SRCREV_meta ?= "42d2cf670ed06f4dddd2a035611a519ea68e2d26"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}"
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.14;destsuffix=${KMETA}"
-LINUX_VERSION ?= "5.13.12"
+LINUX_VERSION ?= "5.14.6"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
index b2af273aa..0693a5761 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
@@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "5.10.60"
+LINUX_VERSION ?= "5.10.63"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,8 +15,8 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine:qemuarm ?= "ffaf70463da1502399f192470dae2d2fbdc7cfbc"
-SRCREV_machine ?= "f92b026dba8bd4e55a5cc88b6231f9118a6ac26b"
+SRCREV_machine:qemuarm ?= "96ec3026283d29493f757a077f9c51e6d698c634"
+SRCREV_machine ?= "29ff88e6cdf170fbf71e27de32c09e4f6db95078"
SRCREV_meta ?= "bce2813b162bb472c137fb503951295a931c25b6"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.14.bb
index 201f7efcb..20ff40d26 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.14.bb
@@ -1,12 +1,12 @@
-KBRANCH ?= "v5.13/standard/tiny/base"
-KBRANCH:qemuarm ?= "v5.13/standard/tiny/arm-versatile-926ejs"
+KBRANCH ?= "v5.14/standard/tiny/base"
+KBRANCH:qemuarm ?= "v5.14/standard/tiny/arm-versatile-926ejs"
LINUX_KERNEL_TYPE = "tiny"
KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "5.13.12"
+LINUX_VERSION ?= "5.14.6"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,14 +15,14 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine:qemuarm ?= "c0183d7ce4d9aa263ec9c8f8b7dc8f6df4302095"
-SRCREV_machine ?= "a4458dd292e90a28566ef9283a15c435c11bca2d"
-SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3"
+SRCREV_machine:qemuarm ?= "ee2ccc84e65ade5ba0f8e1a700fba29a755746a1"
+SRCREV_machine ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+SRCREV_meta ?= "42d2cf670ed06f4dddd2a035611a519ea68e2d26"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}"
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.14;destsuffix=${KMETA}"
COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
index f1fe87abd..7c163436f 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
@@ -13,16 +13,16 @@ KBRANCH:qemux86 ?= "v5.10/standard/base"
KBRANCH:qemux86-64 ?= "v5.10/standard/base"
KBRANCH:qemumips64 ?= "v5.10/standard/mti-malta64"
-SRCREV_machine:qemuarm ?= "1d02041bcc6eb8969d832e89b5c893d717b7ed04"
-SRCREV_machine:qemuarm64 ?= "2675ef4d9aefc588d16d085718866a33c62c10e6"
-SRCREV_machine:qemumips ?= "b503b2da9b2487453a9d9b0fa99654f00e1ad311"
-SRCREV_machine:qemuppc ?= "4ef9462af524cbbfcb719304a923e51f88cc3e68"
-SRCREV_machine:qemuriscv64 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b"
-SRCREV_machine:qemuriscv32 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b"
-SRCREV_machine:qemux86 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b"
-SRCREV_machine:qemux86-64 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b"
-SRCREV_machine:qemumips64 ?= "2d0707a62d33b1626329fde6ed9e906f5aba3022"
-SRCREV_machine ?= "65ba2a0d8428c23b7b4375994d417157a35a251b"
+SRCREV_machine:qemuarm ?= "36e0cc294f77cf72b01a1f9ea62bb13d1ab0693e"
+SRCREV_machine:qemuarm64 ?= "a1c9c936088b6cf4ec56f5180672d6f0e8e3b955"
+SRCREV_machine:qemumips ?= "4962920baaee3235448b48e992a3da0259dcfa57"
+SRCREV_machine:qemuppc ?= "57b30ad7f8a6c3be0ad8eac742476da3f97c23f3"
+SRCREV_machine:qemuriscv64 ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4"
+SRCREV_machine:qemuriscv32 ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4"
+SRCREV_machine:qemux86 ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4"
+SRCREV_machine:qemux86-64 ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4"
+SRCREV_machine:qemumips64 ?= "a615aa60bc10bea5262f2d65da7ddff4ba32146e"
+SRCREV_machine ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4"
SRCREV_meta ?= "bce2813b162bb472c137fb503951295a931c25b6"
# remap qemuarm to qemuarma15 for the 5.8 kernel
@@ -32,7 +32,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.10.60"
+LINUX_VERSION ?= "5.10.63"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.14.bb
index f20d7b18b..0c6fbff75 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.14.bb
@@ -1,29 +1,29 @@
-KBRANCH ?= "v5.13/standard/base"
+KBRANCH ?= "v5.14/standard/base"
require recipes-kernel/linux/linux-yocto.inc
# board specific branches
-KBRANCH:qemuarm ?= "v5.13/standard/arm-versatile-926ejs"
-KBRANCH:qemuarm64 ?= "v5.13/standard/qemuarm64"
-KBRANCH:qemumips ?= "v5.13/standard/mti-malta32"
-KBRANCH:qemuppc ?= "v5.13/standard/qemuppc"
-KBRANCH:qemuriscv64 ?= "v5.13/standard/base"
-KBRANCH:qemuriscv32 ?= "v5.13/standard/base"
-KBRANCH:qemux86 ?= "v5.13/standard/base"
-KBRANCH:qemux86-64 ?= "v5.13/standard/base"
-KBRANCH:qemumips64 ?= "v5.13/standard/mti-malta64"
+KBRANCH:qemuarm ?= "v5.14/standard/arm-versatile-926ejs"
+KBRANCH:qemuarm64 ?= "v5.14/standard/qemuarm64"
+KBRANCH:qemumips ?= "v5.14/standard/mti-malta32"
+KBRANCH:qemuppc ?= "v5.14/standard/qemuppc"
+KBRANCH:qemuriscv64 ?= "v5.14/standard/base"
+KBRANCH:qemuriscv32 ?= "v5.14/standard/base"
+KBRANCH:qemux86 ?= "v5.14/standard/base"
+KBRANCH:qemux86-64 ?= "v5.14/standard/base"
+KBRANCH:qemumips64 ?= "v5.14/standard/mti-malta64"
-SRCREV_machine:qemuarm ?= "7bf87cf7827b03e8eca31063b118ebc11d5c5ee5"
-SRCREV_machine:qemuarm64 ?= "448966e7f96755f3b735a43c3d3895cb29c0e76e"
-SRCREV_machine:qemumips ?= "6fd77ca515af94b780f49d6403a0bafdee1c60c2"
-SRCREV_machine:qemuppc ?= "14ecf9f266afdcfd8ca9308ed90f4a7a5a2adcd0"
-SRCREV_machine:qemuriscv64 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124"
-SRCREV_machine:qemuriscv32 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124"
-SRCREV_machine:qemux86 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124"
-SRCREV_machine:qemux86-64 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124"
-SRCREV_machine:qemumips64 ?= "95713ce4053b8acd170fc99503f9b076e5f3cec3"
-SRCREV_machine ?= "49ec738aa7f6a59d11b46f61dea82965018f3124"
-SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3"
+SRCREV_machine:qemuarm ?= "8226a3a65df2dbae0fe71e9ff54cba70a9ba85e5"
+SRCREV_machine:qemuarm64 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+SRCREV_machine:qemumips ?= "b5389debd85300e24b877f25c2e90381f1df7678"
+SRCREV_machine:qemuppc ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+SRCREV_machine:qemuriscv64 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+SRCREV_machine:qemuriscv32 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+SRCREV_machine:qemux86 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+SRCREV_machine:qemux86-64 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+SRCREV_machine:qemumips64 ?= "56cc67b699194944809832f4c8f58b9828f02bf9"
+SRCREV_machine ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818"
+SRCREV_meta ?= "42d2cf670ed06f4dddd2a035611a519ea68e2d26"
# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
# get the <version>/base branch, which is pure upstream -stable, and the same
@@ -31,18 +31,18 @@ SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3"
# normal PREFERRED_VERSION settings.
BBCLASSEXTEND = "devupstream:target"
DEFAULT_PREFERENCE:class-devupstream = "-1"
-SRCREV_machine:class-devupstream ?= "f428e49b8cb1fbd9b4b4b29ea31b6991d2ff7de1"
+SRCREV_machine:class-devupstream ?= "6a7ababc0268063d0798c46d5859a90ee996612f"
PN:class-devupstream = "linux-yocto-upstream"
-KBRANCH:class-devupstream = "v5.13/base"
+KBRANCH:class-devupstream = "v5.14/base"
# remap qemuarm to qemuarma15 for the 5.8 kernel
# KMACHINE:qemuarm ?= "qemuarma15"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}"
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.14;destsuffix=${KMETA}"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.13.12"
+LINUX_VERSION ?= "5.14.6"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch
new file mode 100644
index 000000000..4e52e5f12
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch
@@ -0,0 +1,394 @@
+From 8be4c8a38ee1e297578e094a6e4c143ec5259aba Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Mon, 13 Sep 2021 12:00:38 -0400
+Subject: [PATCH 1/2] fix: cpu/hotplug: Remove deprecated CPU-hotplug
+ functions. (v5.15)
+
+The CPU-hotplug functions get|put_online_cpus() were deprecated in v4.13
+and removed in v5.15.
+
+See upstream commits :
+
+commit 8c854303ce0e38e5bbedd725ff39da7e235865d8
+Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+Date: Tue Aug 3 16:16:21 2021 +0200
+
+ cpu/hotplug: Remove deprecated CPU-hotplug functions.
+
+ No users in tree use the deprecated CPU-hotplug functions anymore.
+
+ Remove them.
+
+Introduced in v4.13 :
+
+ commit 8f553c498e1772cccb39a114da4a498d22992758
+ Author: Thomas Gleixner <tglx@linutronix.de>
+ Date: Wed May 24 10:15:12 2017 +0200
+
+ cpu/hotplug: Provide cpus_read|write_[un]lock()
+
+ The counting 'rwsem' hackery of get|put_online_cpus() is going to be
+ replaced by percpu rwsem.
+
+ Rename the functions to make it clear that it's locking and not some
+ refcount style interface. These new functions will be used for the
+ preparatory patches which make the code ready for the percpu rwsem
+ conversion.
+
+ Rename all instances in the cpu hotplug code while at it.
+
+Upstream-Status: backport [https://git.lttng.org/?p=lttng-modules.git;a=commit;h=ffcc873470121ef1ebb110df3d9038a38d9cb7cb]
+
+Change-Id: I5a37cf5afc075a402b7347989fac637dfa60a1ed
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ include/wrapper/cpu.h | 44 +++++++++++++++++++++++
+ src/lib/ringbuffer/ring_buffer_backend.c | 8 ++---
+ src/lib/ringbuffer/ring_buffer_frontend.c | 17 ++++-----
+ src/lib/ringbuffer/ring_buffer_iterator.c | 15 ++++----
+ src/lttng-context-perf-counters.c | 11 +++---
+ src/lttng-statedump-impl.c | 6 ++--
+ 6 files changed, 74 insertions(+), 27 deletions(-)
+ create mode 100644 include/wrapper/cpu.h
+
+diff --git a/include/wrapper/cpu.h b/include/wrapper/cpu.h
+new file mode 100644
+index 00000000..cbee1962
+--- /dev/null
++++ b/include/wrapper/cpu.h
+@@ -0,0 +1,44 @@
++/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
++ *
++ * wrapper/cpu.h
++ *
++ * Copyright (C) 2021 Michael Jeanson <mjeanson@efficios.com>
++ */
++
++#ifndef _LTTNG_WRAPPER_CPU_H
++#define _LTTNG_WRAPPER_CPU_H
++
++#include <linux/cpu.h>
++#include <lttng/kernel-version.h>
++
++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0))
++
++static inline
++void lttng_cpus_read_lock(void)
++{
++ cpus_read_lock();
++}
++
++static inline
++void lttng_cpus_read_unlock(void)
++{
++ cpus_read_unlock();
++}
++
++#else /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0) */
++
++static inline
++void lttng_cpus_read_lock(void)
++{
++ get_online_cpus();
++}
++
++static inline
++void lttng_cpus_read_unlock(void)
++{
++ put_online_cpus();
++}
++
++#endif /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0) */
++
++#endif /* _LTTNG_WRAPPER_CPU_H */
+diff --git a/src/lib/ringbuffer/ring_buffer_backend.c b/src/lib/ringbuffer/ring_buffer_backend.c
+index 26efb2bc..9a339be0 100644
+--- a/src/lib/ringbuffer/ring_buffer_backend.c
++++ b/src/lib/ringbuffer/ring_buffer_backend.c
+@@ -12,10 +12,10 @@
+ #include <linux/delay.h>
+ #include <linux/errno.h>
+ #include <linux/slab.h>
+-#include <linux/cpu.h>
+ #include <linux/mm.h>
+ #include <linux/vmalloc.h>
+
++#include <wrapper/cpu.h>
+ #include <wrapper/mm.h>
+ #include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */
+ #include <ringbuffer/config.h>
+@@ -445,14 +445,14 @@ int channel_backend_init(struct channel_backend *chanb,
+ chanb->cpu_hp_notifier.priority = 5;
+ register_hotcpu_notifier(&chanb->cpu_hp_notifier);
+
+- get_online_cpus();
++ lttng_cpus_read_lock();
+ for_each_online_cpu(i) {
+ ret = lib_ring_buffer_create(per_cpu_ptr(chanb->buf, i),
+ chanb, i);
+ if (ret)
+ goto free_bufs; /* cpu hotplug locked */
+ }
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ #else
+ for_each_possible_cpu(i) {
+ ret = lib_ring_buffer_create(per_cpu_ptr(chanb->buf, i),
+@@ -485,7 +485,7 @@ free_bufs:
+ */
+ #else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
+ #ifdef CONFIG_HOTPLUG_CPU
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ unregister_hotcpu_notifier(&chanb->cpu_hp_notifier);
+ #endif
+ #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
+diff --git a/src/lib/ringbuffer/ring_buffer_frontend.c b/src/lib/ringbuffer/ring_buffer_frontend.c
+index e9056118..87a575d0 100644
+--- a/src/lib/ringbuffer/ring_buffer_frontend.c
++++ b/src/lib/ringbuffer/ring_buffer_frontend.c
+@@ -48,6 +48,7 @@
+ #include <ringbuffer/iterator.h>
+ #include <ringbuffer/nohz.h>
+ #include <wrapper/atomic.h>
++#include <wrapper/cpu.h>
+ #include <wrapper/kref.h>
+ #include <wrapper/percpu-defs.h>
+ #include <wrapper/timer.h>
+@@ -724,7 +725,7 @@ static void channel_unregister_notifiers(struct lttng_kernel_ring_buffer_channel
+ int cpu;
+
+ #ifdef CONFIG_HOTPLUG_CPU
+- get_online_cpus();
++ lttng_cpus_read_lock();
+ chan->cpu_hp_enable = 0;
+ for_each_online_cpu(cpu) {
+ struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf,
+@@ -732,7 +733,7 @@ static void channel_unregister_notifiers(struct lttng_kernel_ring_buffer_channel
+ lib_ring_buffer_stop_switch_timer(buf);
+ lib_ring_buffer_stop_read_timer(buf);
+ }
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ unregister_cpu_notifier(&chan->cpu_hp_notifier);
+ #else
+ for_each_possible_cpu(cpu) {
+@@ -772,14 +773,14 @@ void lib_ring_buffer_set_quiescent_channel(struct lttng_kernel_ring_buffer_chann
+ const struct lttng_kernel_ring_buffer_config *config = &chan->backend.config;
+
+ if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) {
+- get_online_cpus();
++ lttng_cpus_read_lock();
+ for_each_channel_cpu(cpu, chan) {
+ struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf,
+ cpu);
+
+ lib_ring_buffer_set_quiescent(buf);
+ }
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ } else {
+ struct lttng_kernel_ring_buffer *buf = chan->backend.buf;
+
+@@ -794,14 +795,14 @@ void lib_ring_buffer_clear_quiescent_channel(struct lttng_kernel_ring_buffer_cha
+ const struct lttng_kernel_ring_buffer_config *config = &chan->backend.config;
+
+ if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) {
+- get_online_cpus();
++ lttng_cpus_read_lock();
+ for_each_channel_cpu(cpu, chan) {
+ struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf,
+ cpu);
+
+ lib_ring_buffer_clear_quiescent(buf);
+ }
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ } else {
+ struct lttng_kernel_ring_buffer *buf = chan->backend.buf;
+
+@@ -899,7 +900,7 @@ struct lttng_kernel_ring_buffer_channel *channel_create(const struct lttng_kerne
+ chan->cpu_hp_notifier.priority = 6;
+ register_cpu_notifier(&chan->cpu_hp_notifier);
+
+- get_online_cpus();
++ lttng_cpus_read_lock();
+ for_each_online_cpu(cpu) {
+ struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf,
+ cpu);
+@@ -909,7 +910,7 @@ struct lttng_kernel_ring_buffer_channel *channel_create(const struct lttng_kerne
+ spin_unlock(&per_cpu(ring_buffer_nohz_lock, cpu));
+ }
+ chan->cpu_hp_enable = 1;
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ #else
+ for_each_possible_cpu(cpu) {
+ struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf,
+diff --git a/src/lib/ringbuffer/ring_buffer_iterator.c b/src/lib/ringbuffer/ring_buffer_iterator.c
+index 25839af6..60c95ca6 100644
+--- a/src/lib/ringbuffer/ring_buffer_iterator.c
++++ b/src/lib/ringbuffer/ring_buffer_iterator.c
+@@ -10,6 +10,7 @@
+ */
+
+ #include <ringbuffer/iterator.h>
++#include <wrapper/cpu.h>
+ #include <wrapper/file.h>
+ #include <wrapper/uaccess.h>
+ #include <linux/jiffies.h>
+@@ -440,13 +441,13 @@ int channel_iterator_init(struct lttng_kernel_ring_buffer_channel *chan)
+ chan->hp_iter_notifier.priority = 10;
+ register_cpu_notifier(&chan->hp_iter_notifier);
+
+- get_online_cpus();
++ lttng_cpus_read_lock();
+ for_each_online_cpu(cpu) {
+ buf = per_cpu_ptr(chan->backend.buf, cpu);
+ lib_ring_buffer_iterator_init(chan, buf);
+ }
+ chan->hp_iter_enable = 1;
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ #else
+ for_each_possible_cpu(cpu) {
+ buf = per_cpu_ptr(chan->backend.buf, cpu);
+@@ -519,7 +520,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan)
+ CHAN_WARN_ON(chan, config->output != RING_BUFFER_ITERATOR);
+
+ if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) {
+- get_online_cpus();
++ lttng_cpus_read_lock();
+ /* Allow CPU hotplug to keep track of opened reader */
+ chan->iter.read_open = 1;
+ for_each_channel_cpu(cpu, chan) {
+@@ -529,7 +530,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan)
+ goto error;
+ buf->iter.read_open = 1;
+ }
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ } else {
+ buf = channel_get_ring_buffer(config, chan, 0);
+ ret = lib_ring_buffer_iterator_open(buf);
+@@ -538,7 +539,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan)
+ error:
+ /* Error should always happen on CPU 0, hence no close is required. */
+ CHAN_WARN_ON(chan, cpu != 0);
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ return ret;
+ }
+ EXPORT_SYMBOL_GPL(channel_iterator_open);
+@@ -550,7 +551,7 @@ void channel_iterator_release(struct lttng_kernel_ring_buffer_channel *chan)
+ int cpu;
+
+ if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) {
+- get_online_cpus();
++ lttng_cpus_read_lock();
+ for_each_channel_cpu(cpu, chan) {
+ buf = channel_get_ring_buffer(config, chan, cpu);
+ if (buf->iter.read_open) {
+@@ -559,7 +560,7 @@ void channel_iterator_release(struct lttng_kernel_ring_buffer_channel *chan)
+ }
+ }
+ chan->iter.read_open = 0;
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ } else {
+ buf = channel_get_ring_buffer(config, chan, 0);
+ lib_ring_buffer_iterator_release(buf);
+diff --git a/src/lttng-context-perf-counters.c b/src/lttng-context-perf-counters.c
+index b0227d47..372f05e0 100644
+--- a/src/lttng-context-perf-counters.c
++++ b/src/lttng-context-perf-counters.c
+@@ -16,6 +16,7 @@
+ #include <lttng/events.h>
+ #include <lttng/events-internal.h>
+ #include <ringbuffer/frontend_types.h>
++#include <wrapper/cpu.h>
+ #include <wrapper/vmalloc.h>
+ #include <wrapper/perf.h>
+ #include <lttng/tracer.h>
+@@ -97,10 +98,10 @@ void lttng_destroy_perf_counter_ctx_field(void *priv)
+ {
+ int cpu;
+
+- get_online_cpus();
++ lttng_cpus_read_lock();
+ for_each_online_cpu(cpu)
+ perf_event_release_kernel(events[cpu]);
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ #ifdef CONFIG_HOTPLUG_CPU
+ unregister_cpu_notifier(&perf_field->nb);
+ #endif
+@@ -304,7 +305,7 @@ int lttng_add_perf_counter_to_ctx(uint32_t type,
+ perf_field->nb.priority = 0;
+ register_cpu_notifier(&perf_field->nb);
+ #endif
+- get_online_cpus();
++ lttng_cpus_read_lock();
+ for_each_online_cpu(cpu) {
+ events[cpu] = wrapper_perf_event_create_kernel_counter(attr,
+ cpu, NULL, overflow_callback);
+@@ -317,7 +318,7 @@ int lttng_add_perf_counter_to_ctx(uint32_t type,
+ goto counter_busy;
+ }
+ }
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ perf_field->hp_enable = 1;
+ }
+ #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
+@@ -351,7 +352,7 @@ counter_error:
+ if (events[cpu] && !IS_ERR(events[cpu]))
+ perf_event_release_kernel(events[cpu]);
+ }
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ #ifdef CONFIG_HOTPLUG_CPU
+ unregister_cpu_notifier(&perf_field->nb);
+ #endif
+diff --git a/src/lttng-statedump-impl.c b/src/lttng-statedump-impl.c
+index 4dfbca0b..2b42783a 100644
+--- a/src/lttng-statedump-impl.c
++++ b/src/lttng-statedump-impl.c
+@@ -23,7 +23,6 @@
+ #include <linux/file.h>
+ #include <linux/interrupt.h>
+ #include <linux/irqnr.h>
+-#include <linux/cpu.h>
+ #include <linux/netdevice.h>
+ #include <linux/inetdevice.h>
+ #include <linux/mm.h>
+@@ -34,6 +33,7 @@
+
+ #include <lttng/events.h>
+ #include <lttng/tracer.h>
++#include <wrapper/cpu.h>
+ #include <wrapper/irqdesc.h>
+ #include <wrapper/fdtable.h>
+ #include <wrapper/namespace.h>
+@@ -770,7 +770,7 @@ int do_lttng_statedump(struct lttng_kernel_session *session)
+ * is to guarantee that each CPU has been in a state where is was in
+ * syscall mode (i.e. not in a trap, an IRQ or a soft IRQ).
+ */
+- get_online_cpus();
++ lttng_cpus_read_lock();
+ atomic_set(&kernel_threads_to_run, num_online_cpus());
+ for_each_online_cpu(cpu) {
+ INIT_DELAYED_WORK(&cpu_work[cpu], lttng_statedump_work_func);
+@@ -778,7 +778,7 @@ int do_lttng_statedump(struct lttng_kernel_session *session)
+ }
+ /* Wait for all threads to run */
+ __wait_event(statedump_wq, (atomic_read(&kernel_threads_to_run) == 0));
+- put_online_cpus();
++ lttng_cpus_read_unlock();
+ /* Our work is done */
+ trace_lttng_statedump_end(session);
+ return 0;
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch
new file mode 100644
index 000000000..5b5edc531
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch
@@ -0,0 +1,829 @@
+From c570be0da77e963d77bac099d468bc0cd5f1bd63 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Mon, 13 Sep 2021 14:16:22 -0400
+Subject: [PATCH 2/2] fix: Revert "Makefile: Enable -Wimplicit-fallthrough for
+ Clang" (v5.15)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Starting with v5.15, "-Wimplicit-fallthrough=5" was added to the build
+flags which requires the use of "__attribute__((__fallthrough__))" to
+annotate fallthrough case statements.
+
+See upstream commit by the man himself:
+
+ commit d936eb23874433caa3e3d841cfa16f5434b85dcf
+ Author: Linus Torvalds <torvalds@linux-foundation.org>
+ Date: Thu Jul 15 18:05:31 2021 -0700
+
+ Revert "Makefile: Enable -Wimplicit-fallthrough for Clang"
+
+ This reverts commit b7eb335e26a9c7f258c96b3962c283c379d3ede0.
+
+ It turns out that the problem with the clang -Wimplicit-fallthrough
+ warning is not about the kernel source code, but about clang itself, and
+ that the warning is unusable until clang fixes its broken ways.
+
+ In particular, when you enable this warning for clang, you not only get
+ warnings about implicit fallthroughs. You also get this:
+
+ warning: fallthrough annotation in unreachable code [-Wimplicit-fallthrough]
+
+ which is completely broken becasue it
+
+ (a) doesn't even tell you where the problem is (seriously: no line
+ numbers, no filename, no nothing).
+
+ (b) is fundamentally broken anyway, because there are perfectly valid
+ reasons to have a fallthrough statement even if it turns out that
+ it can perhaps not be reached.
+
+ In the kernel, an example of that second case is code in the scheduler:
+
+ switch (state) {
+ case cpuset:
+ if (IS_ENABLED(CONFIG_CPUSETS)) {
+ cpuset_cpus_allowed_fallback(p);
+ state = possible;
+ break;
+ }
+ fallthrough;
+ case possible:
+
+ where if CONFIG_CPUSETS is enabled you actually never hit the
+ fallthrough case at all. But that in no way makes the fallthrough
+ wrong.
+
+ So the warning is completely broken, and enabling it for clang is a very
+ bad idea.
+
+ In the meantime, we can keep the gcc option enabled, and make the gcc
+ build use
+
+ -Wimplicit-fallthrough=5
+
+ which means that we will at least continue to require a proper
+ fallthrough statement, and that gcc won't silently accept the magic
+ comment versions. Because gcc does this all correctly, and while the odd
+ "=5" part is kind of obscure, it's documented in [1]:
+
+ "-Wimplicit-fallthrough=5 doesn’t recognize any comments as
+ fallthrough comments, only attributes disable the warning"
+
+ so if clang ever fixes its bad behavior we can try enabling it there again.
+
+Upstream-Status: backport [https://git.lttng.org/?p=lttng-modules.git;a=commit;h=c190d76e8c7b44d62b3651ab845b765c1b1f8104]
+
+Change-Id: Iea69849592fb69ac04fb9bb28efcd6b8dce8ba88
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ include/counter/counter-api.h | 4 +-
+ include/lttng/events-internal.h | 11 ++-
+ include/wrapper/compiler_attributes.h | 34 +++++++
+ src/lib/counter/counter.c | 13 ++-
+ src/lttng-abi.c | 91 ++++++++++++------
+ src/lttng-bytecode-interpreter.c | 4 +-
+ src/lttng-bytecode-specialize.c | 5 +-
+ src/lttng-events.c | 129 +++++++++++++++++---------
+ src/lttng-string-utils.c | 3 +-
+ src/probes/lttng-kretprobes.c | 7 +-
+ 10 files changed, 215 insertions(+), 86 deletions(-)
+ create mode 100644 include/wrapper/compiler_attributes.h
+
+diff --git a/include/counter/counter-api.h b/include/counter/counter-api.h
+index fbc65818..c9f2b141 100644
+--- a/include/counter/counter-api.h
++++ b/include/counter/counter-api.h
+@@ -15,6 +15,7 @@
+ #include <linux/bitops.h>
+ #include <counter/counter.h>
+ #include <counter/counter-internal.h>
++#include <wrapper/compiler_attributes.h>
+ #include <wrapper/limits.h>
+
+ /*
+@@ -256,7 +257,8 @@ static __always_inline int lttng_counter_add(const struct lib_counter_config *co
+ const size_t *dimension_indexes, int64_t v)
+ {
+ switch (config->alloc) {
+- case COUNTER_ALLOC_PER_CPU: /* Fallthrough */
++ case COUNTER_ALLOC_PER_CPU:
++ lttng_fallthrough;
+ case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL:
+ return __lttng_counter_add_percpu(config, counter, dimension_indexes, v);
+ case COUNTER_ALLOC_GLOBAL:
+diff --git a/include/lttng/events-internal.h b/include/lttng/events-internal.h
+index cd560de8..ca2190c4 100644
+--- a/include/lttng/events-internal.h
++++ b/include/lttng/events-internal.h
+@@ -8,6 +8,8 @@
+ #ifndef _LTTNG_EVENTS_INTERNAL_H
+ #define _LTTNG_EVENTS_INTERNAL_H
+
++#include <wrapper/compiler_attributes.h>
++
+ #include <lttng/events.h>
+
+ struct lttng_syscall_filter;
+@@ -561,9 +563,12 @@ static inline bool lttng_kernel_type_is_bytewise_integer(const struct lttng_kern
+ if (!type_integer)
+ return false;
+ switch (type_integer->size) {
+- case 8: /* Fall-through. */
+- case 16: /* Fall-through. */
+- case 32: /* Fall-through. */
++ case 8:
++ lttng_fallthrough;
++ case 16:
++ lttng_fallthrough;
++ case 32:
++ lttng_fallthrough;
+ case 64:
+ break;
+ default:
+diff --git a/include/wrapper/compiler_attributes.h b/include/wrapper/compiler_attributes.h
+new file mode 100644
+index 00000000..c2c96e76
+--- /dev/null
++++ b/include/wrapper/compiler_attributes.h
+@@ -0,0 +1,34 @@
++/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
++ *
++ * wrapper/compiler_attributes.h
++ *
++ * Copyright (C) 2021 Michael Jeanson <mjeanson@efficios.com>
++ */
++
++#ifndef _LTTNG_WRAPPER_COMPILER_ATTRIBUTES_H
++#define _LTTNG_WRAPPER_COMPILER_ATTRIBUTES_H
++
++#include <lttng/kernel-version.h>
++
++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0))
++#include <linux/compiler_attributes.h>
++#endif
++
++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,4,0))
++
++/*
++ * Use the kernel provided fallthrough attribute macro.
++ */
++#define lttng_fallthrough fallthrough
++
++#else /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,4,0) */
++
++/*
++ * Fallback to the comment for kernels pre 5.15 that don't build with
++ * '-Wimplicit-fallthrough=5'.
++ */
++#define lttng_fallthrough do {} while (0) /* fallthrough */
++
++#endif /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,4,0) */
++
++#endif /* _LTTNG_WRAPPER_COMPILER_ATTRIBUTES_H */
+diff --git a/src/lib/counter/counter.c b/src/lib/counter/counter.c
+index a4500a0e..bf038aac 100644
+--- a/src/lib/counter/counter.c
++++ b/src/lib/counter/counter.c
+@@ -11,6 +11,7 @@
+ #include <linux/cpumask.h>
+ #include <counter/counter.h>
+ #include <counter/counter-internal.h>
++#include <wrapper/compiler_attributes.h>
+ #include <wrapper/vmalloc.h>
+ #include <wrapper/limits.h>
+
+@@ -324,7 +325,8 @@ int lttng_counter_aggregate(const struct lib_counter_config *config,
+ *underflow = false;
+
+ switch (config->alloc) {
+- case COUNTER_ALLOC_GLOBAL: /* Fallthrough */
++ case COUNTER_ALLOC_GLOBAL:
++ lttng_fallthrough;
+ case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL:
+ /* Read global counter. */
+ ret = lttng_counter_read(config, counter, dimension_indexes,
+@@ -342,7 +344,8 @@ int lttng_counter_aggregate(const struct lib_counter_config *config,
+ switch (config->alloc) {
+ case COUNTER_ALLOC_GLOBAL:
+ break;
+- case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: /* Fallthrough */
++ case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL:
++ lttng_fallthrough;
+ case COUNTER_ALLOC_PER_CPU:
+ //TODO: integrate with CPU hotplug and online cpus
+ for (cpu = 0; cpu < num_possible_cpus(); cpu++) {
+@@ -448,7 +451,8 @@ int lttng_counter_clear(const struct lib_counter_config *config,
+ int cpu, ret;
+
+ switch (config->alloc) {
+- case COUNTER_ALLOC_GLOBAL: /* Fallthrough */
++ case COUNTER_ALLOC_GLOBAL:
++ lttng_fallthrough;
+ case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL:
+ /* Clear global counter. */
+ ret = lttng_counter_clear_cpu(config, counter, dimension_indexes, -1);
+@@ -462,7 +466,8 @@ int lttng_counter_clear(const struct lib_counter_config *config,
+ switch (config->alloc) {
+ case COUNTER_ALLOC_GLOBAL:
+ break;
+- case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: /* Fallthrough */
++ case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL:
++ lttng_fallthrough;
+ case COUNTER_ALLOC_PER_CPU:
+ //TODO: integrate with CPU hotplug and online cpus
+ for (cpu = 0; cpu < num_possible_cpus(); cpu++) {
+diff --git a/src/lttng-abi.c b/src/lttng-abi.c
+index cc453894..eac1afd1 100644
+--- a/src/lttng-abi.c
++++ b/src/lttng-abi.c
+@@ -34,6 +34,7 @@
+ #include <ringbuffer/vfs.h>
+ #include <ringbuffer/backend.h>
+ #include <ringbuffer/frontend.h>
++#include <wrapper/compiler_attributes.h>
+ #include <wrapper/poll.h>
+ #include <wrapper/file.h>
+ #include <wrapper/kref.h>
+@@ -1332,7 +1333,8 @@ long lttng_metadata_ring_buffer_ioctl(struct file *filp,
+ */
+ return -ENOSYS;
+ }
+- case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY: /* Fall-through. */
++ case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH:
+ {
+ struct lttng_metadata_stream *stream = filp->private_data;
+@@ -1441,7 +1443,8 @@ long lttng_metadata_ring_buffer_compat_ioctl(struct file *filp,
+ */
+ return -ENOSYS;
+ }
+- case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY: /* Fall-through. */
++ case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH:
+ {
+ struct lttng_metadata_stream *stream = filp->private_data;
+@@ -1758,8 +1761,10 @@ int lttng_abi_validate_event_param(struct lttng_kernel_abi_event *event_param)
+ switch (event_param->instrumentation) {
+ case LTTNG_KERNEL_ABI_SYSCALL:
+ switch (event_param->u.syscall.entryexit) {
+- case LTTNG_KERNEL_ABI_SYSCALL_ENTRY: /* Fall-through */
+- case LTTNG_KERNEL_ABI_SYSCALL_EXIT: /* Fall-through */
++ case LTTNG_KERNEL_ABI_SYSCALL_ENTRY:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_SYSCALL_EXIT:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_SYSCALL_ENTRYEXIT:
+ break;
+ default:
+@@ -1783,20 +1788,26 @@ int lttng_abi_validate_event_param(struct lttng_kernel_abi_event *event_param)
+ switch (event_param->u.kretprobe.entryexit) {
+ case LTTNG_KERNEL_ABI_SYSCALL_ENTRYEXIT:
+ break;
+- case LTTNG_KERNEL_ABI_SYSCALL_ENTRY: /* Fall-through */
+- case LTTNG_KERNEL_ABI_SYSCALL_EXIT: /* Fall-through */
++ case LTTNG_KERNEL_ABI_SYSCALL_ENTRY:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_SYSCALL_EXIT:
++ lttng_fallthrough;
+ default:
+ return -EINVAL;
+ }
+ break;
+
+- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */
+- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */
++ case LTTNG_KERNEL_ABI_TRACEPOINT:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_KPROBE:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_UPROBE:
+ break;
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ return -EINVAL;
+ }
+@@ -1830,18 +1841,23 @@ int lttng_abi_create_event(struct file *channel_file,
+ }
+
+ switch (event_param->instrumentation) {
+- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */
++ case LTTNG_KERNEL_ABI_TRACEPOINT:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_SYSCALL:
+ fops = &lttng_event_recorder_enabler_fops;
+ break;
+- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_KRETPROBE:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_UPROBE:
+ fops = &lttng_event_recorder_event_fops;
+ break;
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ return -EINVAL;
+ }
+@@ -1867,7 +1883,8 @@ int lttng_abi_create_event(struct file *channel_file,
+ goto event_error;
+
+ switch (event_param->instrumentation) {
+- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */
++ case LTTNG_KERNEL_ABI_TRACEPOINT:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_SYSCALL:
+ {
+ struct lttng_event_enabler *event_enabler;
+@@ -1887,8 +1904,10 @@ int lttng_abi_create_event(struct file *channel_file,
+ break;
+ }
+
+- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_KRETPROBE:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_UPROBE:
+ {
+ struct lttng_kernel_event_recorder *event;
+@@ -1908,8 +1927,10 @@ int lttng_abi_create_event(struct file *channel_file,
+ break;
+ }
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ ret = -EINVAL;
+ goto event_error;
+@@ -2043,18 +2064,23 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file,
+ }
+
+ switch (event_notifier_param->event.instrumentation) {
+- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */
++ case LTTNG_KERNEL_ABI_TRACEPOINT:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_SYSCALL:
+ fops = &lttng_event_notifier_enabler_fops;
+ break;
+- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_KRETPROBE:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_UPROBE:
+ fops = &lttng_event_notifier_event_fops;
+ break;
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ ret = -EINVAL;
+ goto inval_instr;
+@@ -2086,7 +2112,8 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file,
+ goto event_notifier_error;
+
+ switch (event_notifier_param->event.instrumentation) {
+- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */
++ case LTTNG_KERNEL_ABI_TRACEPOINT:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_SYSCALL:
+ {
+ struct lttng_event_notifier_enabler *enabler;
+@@ -2110,8 +2137,10 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file,
+ break;
+ }
+
+- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_KRETPROBE:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_UPROBE:
+ {
+ struct lttng_kernel_event_notifier *event_notifier;
+@@ -2135,8 +2164,10 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file,
+ break;
+ }
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ ret = -EINVAL;
+ goto event_notifier_error;
+diff --git a/src/lttng-bytecode-interpreter.c b/src/lttng-bytecode-interpreter.c
+index b46a23b7..a2a932c6 100644
+--- a/src/lttng-bytecode-interpreter.c
++++ b/src/lttng-bytecode-interpreter.c
+@@ -7,6 +7,7 @@
+ * Copyright (C) 2010-2016 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ */
+
++#include <wrapper/compiler_attributes.h>
+ #include <wrapper/uaccess.h>
+ #include <wrapper/objtool.h>
+ #include <wrapper/types.h>
+@@ -421,7 +422,8 @@ static int dynamic_get_index(struct lttng_kernel_probe_ctx *lttng_probe_ctx,
+ }
+ break;
+ case LOAD_ROOT_CONTEXT:
+- case LOAD_ROOT_APP_CONTEXT: /* Fall-through */
++ lttng_fallthrough;
++ case LOAD_ROOT_APP_CONTEXT:
+ {
+ ret = context_get_index(lttng_probe_ctx,
+ &stack_top->u.ptr,
+diff --git a/src/lttng-bytecode-specialize.c b/src/lttng-bytecode-specialize.c
+index c4b9d04b..f8b5f19d 100644
+--- a/src/lttng-bytecode-specialize.c
++++ b/src/lttng-bytecode-specialize.c
+@@ -8,6 +8,8 @@
+ */
+
+ #include <linux/slab.h>
++#include <wrapper/compiler_attributes.h>
++
+ #include <lttng/lttng-bytecode.h>
+ #include <lttng/align.h>
+ #include <lttng/events-internal.h>
+@@ -271,7 +273,8 @@ static int specialize_get_index(struct bytecode_runtime *runtime,
+ }
+ case OBJECT_TYPE_STRUCT:
+ /* Only generated by the specialize phase. */
+- case OBJECT_TYPE_VARIANT: /* Fall-through */
++ case OBJECT_TYPE_VARIANT:
++ lttng_fallthrough;
+ default:
+ printk(KERN_WARNING "LTTng: bytecode: Unexpected get index type %d",
+ (int) stack_top->load.object_type);
+diff --git a/src/lttng-events.c b/src/lttng-events.c
+index e785fe4d..230e3934 100644
+--- a/src/lttng-events.c
++++ b/src/lttng-events.c
+@@ -28,6 +28,7 @@
+ #include <linux/vmalloc.h>
+ #include <linux/dmi.h>
+
++#include <wrapper/compiler_attributes.h>
+ #include <wrapper/uuid.h>
+ #include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */
+ #include <wrapper/random.h>
+@@ -659,12 +660,14 @@ int lttng_event_enable(struct lttng_kernel_event_common *event)
+ goto end;
+ }
+ switch (event->priv->instrumentation) {
+- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */
++ case LTTNG_KERNEL_ABI_TRACEPOINT:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_SYSCALL:
+ ret = -EINVAL;
+ break;
+
+- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KPROBE:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_UPROBE:
+ WRITE_ONCE(event->enabled, 1);
+ break;
+@@ -673,8 +676,10 @@ int lttng_event_enable(struct lttng_kernel_event_common *event)
+ ret = lttng_kretprobes_event_enable_state(event, 1);
+ break;
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ ret = -EINVAL;
+@@ -719,12 +724,14 @@ int lttng_event_disable(struct lttng_kernel_event_common *event)
+ goto end;
+ }
+ switch (event->priv->instrumentation) {
+- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */
++ case LTTNG_KERNEL_ABI_TRACEPOINT:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_SYSCALL:
+ ret = -EINVAL;
+ break;
+
+- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KPROBE:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_UPROBE:
+ WRITE_ONCE(event->enabled, 0);
+ break;
+@@ -733,8 +740,10 @@ int lttng_event_disable(struct lttng_kernel_event_common *event)
+ ret = lttng_kretprobes_event_enable_state(event, 0);
+ break;
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ ret = -EINVAL;
+@@ -873,15 +882,20 @@ struct lttng_kernel_event_recorder *_lttng_kernel_event_recorder_create(struct l
+ event_name = event_desc->event_name;
+ break;
+
+- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_UPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_UPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_KRETPROBE:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_SYSCALL:
+ event_name = event_param->name;
+ break;
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ ret = -EINVAL;
+@@ -1093,8 +1107,10 @@ struct lttng_kernel_event_recorder *_lttng_kernel_event_recorder_create(struct l
+ WARN_ON_ONCE(!ret);
+ break;
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ ret = -EINVAL;
+@@ -1141,15 +1157,20 @@ struct lttng_kernel_event_notifier *_lttng_event_notifier_create(
+ event_name = event_desc->event_name;
+ break;
+
+- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_UPROBE: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_UPROBE:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_SYSCALL:
+ event_name = event_notifier_param->event.name;
+ break;
+
+- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KRETPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ ret = -EINVAL;
+@@ -1296,9 +1317,12 @@ struct lttng_kernel_event_notifier *_lttng_event_notifier_create(
+ WARN_ON_ONCE(!ret);
+ break;
+
+- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KRETPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ ret = -EINVAL;
+@@ -1423,14 +1447,18 @@ void register_event(struct lttng_kernel_event_recorder *event_recorder)
+ ret = lttng_syscall_filter_enable_event(event_recorder->chan, event_recorder);
+ break;
+
+- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_UPROBE: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_UPROBE:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_KRETPROBE:
+ ret = 0;
+ break;
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ }
+@@ -1481,7 +1509,8 @@ int _lttng_event_unregister(struct lttng_kernel_event_recorder *event_recorder)
+ ret = 0;
+ break;
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ }
+@@ -1512,14 +1541,18 @@ void register_event_notifier(struct lttng_kernel_event_notifier *event_notifier)
+ ret = lttng_syscall_filter_enable_event_notifier(event_notifier);
+ break;
+
+- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KPROBE:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_UPROBE:
+ ret = 0;
+ break;
+
+- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KRETPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ }
+@@ -1559,9 +1592,12 @@ int _lttng_event_notifier_unregister(
+ ret = lttng_syscall_filter_disable_event_notifier(event_notifier);
+ break;
+
+- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KRETPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ }
+@@ -1614,8 +1650,10 @@ void _lttng_event_destroy(struct lttng_kernel_event_common *event)
+ lttng_uprobes_destroy_event_private(event_recorder);
+ break;
+
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ }
+@@ -1647,9 +1685,12 @@ void _lttng_event_destroy(struct lttng_kernel_event_common *event)
+ lttng_uprobes_destroy_event_notifier_private(event_notifier);
+ break;
+
+- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */
+- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */
+- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */
++ case LTTNG_KERNEL_ABI_KRETPROBE:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_FUNCTION:
++ lttng_fallthrough;
++ case LTTNG_KERNEL_ABI_NOOP:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ }
+@@ -2713,7 +2754,8 @@ void lttng_session_sync_event_enablers(struct lttng_kernel_session *session)
+ int nr_filters = 0;
+
+ switch (event_recorder_priv->parent.instrumentation) {
+- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */
++ case LTTNG_KERNEL_ABI_TRACEPOINT:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_SYSCALL:
+ /* Enable events */
+ list_for_each_entry(enabler_ref,
+@@ -2807,7 +2849,8 @@ void lttng_event_notifier_group_sync_enablers(struct lttng_event_notifier_group
+ int nr_filters = 0, nr_captures = 0;
+
+ switch (event_notifier_priv->parent.instrumentation) {
+- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */
++ case LTTNG_KERNEL_ABI_TRACEPOINT:
++ lttng_fallthrough;
+ case LTTNG_KERNEL_ABI_SYSCALL:
+ /* Enable event_notifiers */
+ list_for_each_entry(enabler_ref,
+@@ -3877,7 +3920,7 @@ int print_escaped_ctf_string(struct lttng_kernel_session *session, const char *s
+ if (ret)
+ goto error;
+ /* We still print the current char */
+- /* Fallthrough */
++ lttng_fallthrough;
+ default:
+ ret = lttng_metadata_printf(session, "%c", cur);
+ break;
+diff --git a/src/lttng-string-utils.c b/src/lttng-string-utils.c
+index d9447903..65946193 100644
+--- a/src/lttng-string-utils.c
++++ b/src/lttng-string-utils.c
+@@ -4,6 +4,7 @@
+ */
+
+ #include <linux/types.h>
++#include <wrapper/compiler_attributes.h>
+
+ #include <lttng/string-utils.h>
+
+@@ -302,7 +303,7 @@ retry:
+ p = pattern_get_char_at_cb(p_at,
+ pattern_get_char_at_cb_data);
+
+- /* Fall-through. */
++ lttng_fallthrough;
+ default:
+ /*
+ * Default case which will compare the escaped
+diff --git a/src/probes/lttng-kretprobes.c b/src/probes/lttng-kretprobes.c
+index 0fa6a1bf..1d0a5ecb 100644
+--- a/src/probes/lttng-kretprobes.c
++++ b/src/probes/lttng-kretprobes.c
+@@ -14,6 +14,7 @@
+ #include <lttng/events.h>
+ #include <lttng/events-internal.h>
+ #include <ringbuffer/frontend_types.h>
++#include <wrapper/compiler_attributes.h>
+ #include <wrapper/vmalloc.h>
+ #include <wrapper/irqflags.h>
+ #include <lttng/tracer.h>
+@@ -61,7 +62,8 @@ int _lttng_kretprobes_handler(struct kretprobe_instance *krpi,
+ return 0;
+ break;
+ }
+- case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER: /* Fall-through. */
++ case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ }
+@@ -90,7 +92,8 @@ int _lttng_kretprobes_handler(struct kretprobe_instance *krpi,
+ chan->ops->event_commit(&ctx);
+ break;
+ }
+- case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER: /* Fall-through. */
++ case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER:
++ lttng_fallthrough;
+ default:
+ WARN_ON_ONCE(1);
+ }
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb
index 72d912eaf..6dfde8dca 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb
@@ -9,7 +9,10 @@ inherit module
include lttng-platforms.inc
-SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2"
+SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch \
+ file://0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch \
+ "
# Use :append here so that the patch is applied also when using devupstream
SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch"
@@ -38,7 +41,7 @@ LIC_FILES_CHKSUM:class-devupstream = "file://LICENSE;md5=0464cff101a009c403cd2ed
DEFAULT_PREFERENCE:class-devupstream = "-1"
SRC_URI:class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13"
-SRCREV:class-devupstream = "f982b51a98a29cb4aaf607cb9bbf2b509d8e6933"
-PV:class-devupstream = "2.13.0-rc2+git${SRCPV}"
+SRCREV:class-devupstream = "c570be0da77e963d77bac099d468bc0cd5f1bd63"
+PV:class-devupstream = "2.13.0+git${SRCPV}"
S:class-devupstream = "${WORKDIR}/git"
SRCREV_FORMAT ?= "lttng_git"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-src-common-correct-header-location.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-src-common-correct-header-location.patch
new file mode 100644
index 000000000..925b51c3c
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-src-common-correct-header-location.patch
@@ -0,0 +1,41 @@
+From 790ef313364d1f1efb6f283705bb324eea2979ba Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Sun, 5 Sep 2021 10:13:08 +0200
+Subject: [PATCH] src/common: correct header location
+
+sys/unistd.h is not guaranteed to exist, and does not with
+e.g. musl C library.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ src/common/kernel-probe.c | 2 +-
+ src/common/userspace-probe.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/common/kernel-probe.c b/src/common/kernel-probe.c
+index 2beb53f..44100bc 100644
+--- a/src/common/kernel-probe.c
++++ b/src/common/kernel-probe.c
+@@ -20,7 +20,7 @@
+ #include <lttng/kernel-probe.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+-#include <sys/unistd.h>
++#include <unistd.h>
+
+ static
+ int lttng_kernel_probe_location_address_serialize(
+diff --git a/src/common/userspace-probe.c b/src/common/userspace-probe.c
+index 67b0ee6..66afc6f 100644
+--- a/src/common/userspace-probe.c
++++ b/src/common/userspace-probe.c
+@@ -20,7 +20,7 @@
+ #include <lttng/userspace-probe-internal.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+-#include <sys/unistd.h>
++#include <unistd.h>
+
+ static
+ int lttng_userspace_probe_location_function_set_binary_fd_handle(
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch
deleted file mode 100644
index 08c142331..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From de9fc501e775cae05f1f87534b4237cd78e8d9a8 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 24 Jan 2020 18:03:25 +0100
-Subject: [PATCH] tests/regression: disable the tools/live tests
-
-They have been found to sporadically fail; the issue has been
-reported upstream and they will work to investigate and fix:
-https://bugs.lttng.org/issues/1217
-
-Upstream-Status: Inappropriate [upstream is working on a real fix]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- tests/regression/Makefile.am | 10 +---------
- 1 file changed, 1 insertion(+), 9 deletions(-)
-
-diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am
-index cbac90d..d467886 100644
---- a/tests/regression/Makefile.am
-+++ b/tests/regression/Makefile.am
-@@ -11,16 +11,10 @@ TESTS = tools/filtering/test_invalid_filter \
- tools/filtering/test_valid_filter \
- tools/streaming/test_ust \
- tools/health/test_thread_ok \
-- tools/live/test_ust \
-- tools/live/test_ust_tracefile_count \
-- tools/live/test_lttng_ust \
- tools/tracefile-limits/test_tracefile_count \
- tools/tracefile-limits/test_tracefile_size \
-- tools/exclusion/test_exclusion \
- tools/snapshots/test_ust_fast \
-- tools/snapshots/test_ust_streaming \
- tools/save-load/test_save \
-- tools/save-load/test_load \
- tools/save-load/test_autoload \
- tools/mi/test_mi \
- tools/wildcard/test_event_wildcard \
-@@ -38,8 +32,7 @@ TESTS = tools/filtering/test_invalid_filter \
- tools/working-directory/test_relayd_working_directory \
- tools/notification/test_notification_multi_app \
- tools/clear/test_ust \
-- tools/clear/test_kernel \
-- tools/tracker/test_event_tracker
-+ tools/clear/test_kernel
-
- if HAVE_LIBLTTNG_UST_CTL
- SUBDIRS += ust
-@@ -60,7 +53,6 @@ TESTS += ust/before-after/test_before_after \
- ust/multi-lib/test_multi_lib \
- ust/rotation-destroy-flush/test_rotation_destroy_flush \
- ust/namespaces/test_ns_contexts \
-- ust/namespaces/test_ns_contexts_change \
- tools/metadata/test_ust \
- tools/relayd-grouping/test_ust
- endif # HAVE_LIBLTTNG_UST_CTL
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-wait-some-more-before-analysing-traces-or-star.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-wait-some-more-before-analysing-traces-or-star.patch
new file mode 100644
index 000000000..c4cac9cc5
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-wait-some-more-before-analysing-traces-or-star.patch
@@ -0,0 +1,88 @@
+From 8d9daede0882d239b0a47b0f7a6db68ba4934a7d Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Sat, 4 Sep 2021 13:57:39 +0200
+Subject: [PATCH] tests: wait some more before analysing traces or starting
+ tracing
+
+Otherwise, there are sporadic race failures where lttng tracing
+is stopped before all expected events are collected or is started too soon, e.g.:
+
+PASS: tools/tracker/test_event_tracker 205 - Traced application stopped.
+PASS: tools/tracker/test_event_tracker 206 - Stop lttng tracing for session
+PASS: tools/tracker/test_event_tracker 207 - Destroy session tracker
+FAIL: tools/tracker/test_event_tracker 208 - Validate empty trace
+
+PASS: ust/namespaces/test_ns_contexts_change 42 - Stop lttng tracing for session mnt_ns
+PASS: ust/namespaces/test_ns_contexts_change 43 - Destroy session mnt_ns
+PASS: ust/namespaces/test_ns_contexts_change 44 - Wait after kill session daemon
+PASS: ust/namespaces/test_ns_contexts_change 45 - Validate trace for event mnt_ns = 4026531840, 1000 events
+PASS: ust/namespaces/test_ns_contexts_change 46 - Read a total of 1000 events, expected 1000
+PASS: ust/namespaces/test_ns_contexts_change 47 - Validate trace for event mnt_ns = 4026532303, 233 events
+FAIL: ust/namespaces/test_ns_contexts_change 48 - Read a total of 233 events, expected 1000
+
+This is a hack; issue should be fixed upstream with explicit syncs.
+It has been reported here: https://bugs.lttng.org/issues/1217
+
+Upstream-Status: Inappropriate [needs a real fix]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ tests/regression/tools/tracker/test_event_tracker | 8 ++++++++
+ tests/regression/ust/namespaces/test_ns_contexts_change | 2 ++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/tests/regression/tools/tracker/test_event_tracker b/tests/regression/tools/tracker/test_event_tracker
+index feb3787..a0f2257 100755
+--- a/tests/regression/tools/tracker/test_event_tracker
++++ b/tests/regression/tools/tracker/test_event_tracker
+@@ -130,6 +130,8 @@ function test_event_vpid_tracker()
+
+ prepare_"$domain"_app
+
++sleep 5
++
+ start_lttng_tracing_ok
+
+ if [ "$expect_event" -eq 1 ]; then
+@@ -173,6 +175,8 @@ function test_event_pid_tracker()
+
+ prepare_"$domain"_app
+
++sleep 5
++
+ start_lttng_tracing_ok
+
+ if [ "$expect_event" -eq 1 ]; then
+@@ -275,6 +279,8 @@ function test_event_vpid_track_untrack()
+
+ prepare_"$domain"_app
+
++sleep 5
++
+ start_lttng_tracing_ok
+
+ lttng_track_"$domain"_ok "--vpid ${CHILD_PID}"
+@@ -315,6 +321,8 @@ function test_event_pid_track_untrack()
+
+ prepare_"$domain"_app
+
++sleep 5
++
+ start_lttng_tracing_ok
+
+ lttng_track_"$domain"_ok "--pid ${CHILD_PID}"
+diff --git a/tests/regression/ust/namespaces/test_ns_contexts_change b/tests/regression/ust/namespaces/test_ns_contexts_change
+index c0af15e..b111bfe 100755
+--- a/tests/regression/ust/namespaces/test_ns_contexts_change
++++ b/tests/regression/ust/namespaces/test_ns_contexts_change
+@@ -79,6 +79,8 @@ function test_ns()
+
+ touch "$file_sync_before_last"
+
++sleep 5
++
+ # stop and destroy
+ stop_lttng_tracing_ok "$session_name"
+ destroy_lttng_session_ok "$session_name"
+--
+2.20.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
index eaa2e7b29..c4dbe50f2 100755
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
@@ -1,6 +1,7 @@
#!/bin/sh
# Without --ignore-exit, the tap harness causes any FAILs within a
# test plan to raise ERRORs; this is just noise.
+export LD_LIBRARY_PATH=FIXMEPTESTPATH/tests/utils/testapp/userspace-probe-elf-binary/.libs
makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=$PWD top_builddir=$PWD"
make -k -t all >/dev/null 2>&1
exec make -k -s $makeargs check 2>/dev/null | sed -e 's#/tmp/tmp\...........#/tmp/tmp.XXXXXXXXXX#g'
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.0.bb
index dc2e1f324..47cab42fc 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.0.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \
include lttng-platforms.inc
-DEPENDS = "liburcu popt libxml2 util-linux"
+DEPENDS = "liburcu popt libxml2 util-linux bison-native"
RDEPENDS:${PN} = "libgcc"
RRECOMMENDS:${PN} += "${LTTNGMODULES}"
RDEPENDS:${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core grep"
@@ -25,7 +25,7 @@ PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
"
-PACKAGECONFIG ??= "${LTTNGUST}"
+PACKAGECONFIG ??= "${LTTNGUST} kmod"
PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native"
PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust"
PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod"
@@ -35,14 +35,17 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
file://0001-tests-do-not-strip-a-helper-library.patch \
file://run-ptest \
file://lttng-sessiond.service \
- file://0001-tests-regression-disable-the-tools-live-tests.patch \
file://determinism.patch \
+ file://0001-src-common-correct-header-location.patch \
+ file://0001-tests-wait-some-more-before-analysing-traces-or-star.patch \
"
-SRC_URI[sha256sum] = "d729f8c2373a41194f171aeb0da0a9bb35ac181f31afa7e260786d19a500dea1"
+SRC_URI[sha256sum] = "8dc894f9a7a840e943c1c344345c75f001a9529daa9157f1a0e6175c081c29e6"
inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
+CACHED_CONFIGUREVARS = "PGREP=/usr/bin/pgrep"
+
SYSTEMD_SERVICE:${PN} = "lttng-sessiond.service"
SYSTEMD_AUTO_ENABLE = "disable"
@@ -64,22 +67,26 @@ PRIVATE_LIBS:${PN}-ptest = "libfoo.so"
do_install:append () {
# install systemd unit file
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_system_unitdir}
}
do_install_ptest () {
for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/*.lttng \
tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh \
tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh \
+ tests/regression/tools/notification/util_event_generator.sh \
tests/regression/tools/base-path/*.lttng; do
install -D "${B}/$f" "${D}${PTEST_PATH}/$f"
done
- for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.0.xsd; do
+ for f in tests/utils/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.1.xsd; do
install -D "${S}/$f" "${D}${PTEST_PATH}/$f"
done
+ # Patch in the correct path for the custom libraries a helper executable needs
+ sed -i -e 's!FIXMEPTESTPATH!${PTEST_PATH}!' "${D}${PTEST_PATH}/run-ptest"
+
# Prevent 'make check' from recursing into non-test subdirectories.
sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile"
@@ -107,7 +114,7 @@ do_install_ptest () {
for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
case $f in
- *.so)
+ *.so|userspace-probe-elf-binary)
install -d ${D}${PTEST_PATH}/tests/$d/
ln -s ../$f ${D}${PTEST_PATH}/tests/$d/$f
# Remove any rpath/runpath to pass QA check.
@@ -175,3 +182,8 @@ do_install_ptest () {
esac
done
}
+
+INHIBIT_PACKAGE_STRIP_FILES = "\
+ ${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary \
+ ${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/.libs/userspace-probe-elf-binary \
+ "
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch
new file mode 100644
index 000000000..cbbf1df81
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch
@@ -0,0 +1,35 @@
+From 06279f50e924d1d55b43eb3b299f6633ecb1f7a4 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Wed, 22 Sep 2021 16:33:10 +0800
+Subject: [PATCH] Makefile.am: update rpath link
+
+since commit 6339062 Move liblttng-ust to 'src/lib/',
+liblttng-ust.so/liblttng-ust-common.so/liblttng-ust-tracepoint.so
+'s location changed from one dir to multiple dirs. which make below
+error:
+ld: warning: liblttng-ust-common.so.1, needed by ../../../src/lib/lttng-ust/.libs/liblttng-ust.so, not found (try using -rpath or -rpath-link)
+ld: warning: liblttng-ust-tracepoint.so.1, needed by ../../../src/lib/lttng-ust/.libs/liblttng-ust.so, not found (try using -rpath or -rpath-link)
+
+Upstream-Status: Submitted [https://github.com/lttng/lttng-ust/pull/61]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ doc/examples/Makefile.am | 2 +-
+ 1 file changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
+index 8ee0564..20d246c 100644
+--- a/doc/examples/Makefile.am
++++ b/doc/examples/Makefile.am
+@@ -142,7 +142,7 @@ all-local:
+ CFLAGS='$(CFLAGS)' \
+ AM_CFLAGS='$(AM_CFLAGS)' \
+ LDFLAGS="$(LDFLAGS)" \
+- AM_LDFLAGS='$(AM_LDFLAGS) -L../../../src/lib/lttng-ust/.libs -Wl,-rpath="$(PWD)/../../src/lib/lttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../src/lib/lttng-ust/.libs/"' \
++ AM_LDFLAGS='$(AM_LDFLAGS) -L../../../src/lib/lttng-ust/.libs -Wl,-rpath="$(PWD)/../../src/lib/lttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../src/lib/lttng-ust/.libs/:$(PWD)/../../src/lib/lttng-ust-tracepoint/.libs:$(PWD)/../../src/lib/lttng-ust-common/.libs/"' \
+ LTTNG_GEN_TP_PATH="$$rel_src_subdir$(top_srcdir)/tools/" \
+ AM_V_P="$(AM_V_P)" \
+ AM_V_at="$(AM_V_at)" \
+--
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch
new file mode 100644
index 000000000..2d61dfa52
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch
@@ -0,0 +1,25 @@
+From 2058584b7e87d6bd9d1765577766e0df7752232c Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Sun, 5 Sep 2021 10:44:19 +0200
+Subject: [PATCH] lttng-ust-common: link with liburcu explicitly
+
+Otherwise linking errors are seen on x86-32.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ src/lib/lttng-ust-common/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/lib/lttng-ust-common/Makefile.am b/src/lib/lttng-ust-common/Makefile.am
+index caeea2b..30febf0 100644
+--- a/src/lib/lttng-ust-common/Makefile.am
++++ b/src/lib/lttng-ust-common/Makefile.am
+@@ -15,6 +15,7 @@ liblttng_ust_common_la_SOURCES = \
+
+ liblttng_ust_common_la_LIBADD = \
+ $(top_builddir)/src/common/libcommon.la \
++ $(URCU_LIBS) \
+ $(DL_LIBS)
+
+ liblttng_ust_common_la_LDFLAGS = -no-undefined -version-info $(LTTNG_UST_LIBRARY_VERSION)
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch
index c2028d0e1..fd9b6ea7f 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch
@@ -1,4 +1,4 @@
-From f79dac30af9adda12996da7f6aa6667d3b580537 Mon Sep 17 00:00:00 2001
+From dd1fdc841d069dbd4e284f430a88af79de951124 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Thu, 26 Sep 2019 17:54:00 +0800
Subject: [PATCH] python-lttngust/Makefile.am: Add --install-lib to setup.py
@@ -9,23 +9,21 @@ building.
Upstream-Status: Submitted [https://github.com/lttng/lttng-ust/pull/59]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
---
- python-lttngust/Makefile.am | 2 +-
+ src/python-lttngust/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/python-lttngust/Makefile.am b/python-lttngust/Makefile.am
-index 6c0d20d..38b51b8 100644
---- a/python-lttngust/Makefile.am
-+++ b/python-lttngust/Makefile.am
-@@ -9,7 +9,7 @@ install-exec-local:
+diff --git a/src/python-lttngust/Makefile.am b/src/python-lttngust/Makefile.am
+index f95482d..f76d95b 100644
+--- a/src/python-lttngust/Makefile.am
++++ b/src/python-lttngust/Makefile.am
+@@ -32,7 +32,7 @@ install-exec-local: build-python-bindings.stamp
if [ "$(DESTDIR)" != "" ]; then \
opts="$$opts --root=$(DESTDIR)"; \
fi; \
-- $(PYTHON) setup.py install $$opts;
-+ $(PYTHON) setup.py install $$opts --install-lib=$(pythondir);
+- $(PYTHON) $(builddir)/setup.py install $$opts;
++ $(PYTHON) $(builddir)/setup.py install $$opts --install-lib=$(pythondir);
clean-local:
rm -rf $(builddir)/build
---
-2.7.4
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.0.bb
index 54a473d2c..4ec92c068 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.0.bb
@@ -4,16 +4,14 @@ HOMEPAGE = "http://lttng.org/ust"
BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust"
LICENSE = "LGPLv2.1+ & MIT & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \
- file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \
- file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a46577a38ad0c36ff6ff43ccf40c480f"
PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
"
-inherit autotools lib_package manpages python3native
+inherit autotools lib_package manpages python3native pkgconfig
include lttng-platforms.inc
@@ -31,9 +29,11 @@ PE = "2"
SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \
file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \
+ file://0001-lttng-ust-common-link-with-liburcu-explicitly.patch \
+ file://0001-Makefile.am-update-rpath-link.patch \
"
-SRC_URI[sha256sum] = "bcd0f064b6ca88c72d84e760eac3472ae5c828411c634435922bee9fce359fc7"
+SRC_URI[sha256sum] = "54e4c933679cf6a07971dc5861ce57fc4876ab740ab612407b30b5fc85371750"
CVE_PRODUCT = "ust"
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch b/poky/meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch
deleted file mode 100644
index 4d044de7e..000000000
--- a/poky/meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470 Mon Sep 17 00:00:00 2001
-From: Du Zhe <duzhe0211+sourceware@gmail.com>
-Date: Tue, 13 Jul 2021 19:11:55 -0400
-Subject: [PATCH] runtime: fix unintended compile error with
- autoconf-x86-uniregs.c
-
-Adding a #include <linux/sched.h> restores this test on the gentoo
-linux-5.10.47-gentoo kernel.
-
-Upstream-Status: Backport
----
- runtime/linux/autoconf-x86-uniregs.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/runtime/linux/autoconf-x86-uniregs.c b/runtime/linux/autoconf-x86-uniregs.c
-index 25729c220..232c18670 100644
---- a/runtime/linux/autoconf-x86-uniregs.c
-+++ b/runtime/linux/autoconf-x86-uniregs.c
-@@ -1,3 +1,4 @@
-+#include <linux/sched.h>
- #include <asm/ptrace.h>
-
- #if defined (__i386__) || defined (__x86_64__)
---
-2.27.0
-
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
index 8161a448c..8f0de5f0f 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
+++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -35,7 +35,7 @@ inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'distutils3-base
PACKAGES =+ "${PN}-exporter"
FILES:${PN}-exporter = "${sysconfdir}/stap-exporter/* \
${sysconfdir}/sysconfig/stap-exporter \
- ${systemd_unitdir}/system/stap-exporter.service \
+ ${systemd_system_unitdir}/stap-exporter.service \
${sbindir}/stap-exporter"
RDEPENDS:${PN}-exporter = "${PN} python3-core python3-netclient"
SYSTEMD_SERVICE:${PN}-exporter = "stap-exporter.service"
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
index 97d4435f8..b6ff98f0f 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -1,13 +1,12 @@
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRCREV = "0eba8a46bc99c66e5dd274a9a4d661fe08ac4b8a"
+SRCREV = "7f6992539fb22c93c21ac30c94508bf655d496a7"
PV = "4.5"
SRC_URI = "git://sourceware.org/git/systemtap.git \
file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \
file://0001-Install-python-modules-to-correct-library-dir.patch \
file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \
- file://ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch \
"
COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips).*-linux'
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/fix-CVE-2021-38171.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/fix-CVE-2021-38171.patch
new file mode 100644
index 000000000..d82f3a4b6
--- /dev/null
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/fix-CVE-2021-38171.patch
@@ -0,0 +1,42 @@
+CVE: CVE-2021-38171
+Upstream-Status: Backport
+Signed-off-by: Kiran Surendran <kiran.surendran@windriver.com>
+
+From fb993619d1035fa9646506925ea70fb122038999 Mon Sep 17 00:00:00 2001
+From: maryam ebrahimzadeh <me22bee@outlook.com>
+Date: Wed, 4 Aug 2021 16:15:18 -0400
+Subject: [PATCH] avformat/adtsenc: return value check for init_get_bits in
+ adts_decode_extradata
+
+As the second argument for init_get_bits (buf) can be crafted, a return value check for this function call is necessary.
+'buf' is part of 'AVPacket pkt'.
+replace init_get_bits with init_get_bits8.
+
+Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
+(cherry picked from commit 9ffa49496d1aae4cbbb387aac28a9e061a6ab0a6)
+Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
+---
+ libavformat/adtsenc.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/libavformat/adtsenc.c b/libavformat/adtsenc.c
+index 3595cb3bb2..c35a12a628 100644
+--- a/libavformat/adtsenc.c
++++ b/libavformat/adtsenc.c
+@@ -51,9 +51,11 @@ static int adts_decode_extradata(AVFormatContext *s, ADTSContext *adts, const ui
+ GetBitContext gb;
+ PutBitContext pb;
+ MPEG4AudioConfig m4ac;
+- int off;
++ int off, ret;
+
+- init_get_bits(&gb, buf, size * 8);
++ ret = init_get_bits8(&gb, buf, size);
++ if (ret < 0)
++ return ret;
+ off = avpriv_mpeg4audio_get_config2(&m4ac, buf, size, 1, s);
+ if (off < 0)
+ return off;
+--
+2.31.1
+
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb
index e19077541..0c6af6549 100644
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb
@@ -5,7 +5,7 @@ DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encod
HOMEPAGE = "https://www.ffmpeg.org/"
SECTION = "libs"
-LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT"
+LICENSE = "GPLv2+ & LGPLv2.1+ & ISC & MIT & BSD-2-Clause & BSD-3-Clause & IJG"
LICENSE:${PN} = "GPLv2+"
LICENSE:libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
LICENSE:libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
@@ -31,7 +31,8 @@ SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
file://fix-CVE-2020-22021.patch \
file://fix-CVE-2020-22033-CVE-2020-22019.patch \
file://fix-CVE-2021-33815.patch \
- "
+ file://fix-CVE-2021-38171.patch \
+ "
SRC_URI[sha256sum] = "06b10a183ce5371f915c6bb15b7b1fffbe046e8275099c96affc29e17645d909"
# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
diff --git a/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0/shared_version_info.patch b/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0/shared_version_info.patch
new file mode 100644
index 000000000..b42d564b4
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0/shared_version_info.patch
@@ -0,0 +1,13 @@
+Index: libsamplerate-0.1.8/configure.ac
+===================================================================
+--- libsamplerate-0.1.8.orig/configure.ac
++++ libsamplerate-0.1.8/configure.ac
+@@ -53,7 +53,7 @@ AC_PROG_LN_S
+ # 6. If any interfaces have been removed since the last public release, then set age
+ # to 0.
+
+-SHARED_VERSION_INFO="1:8:1"
++SHARED_VERSION_INFO="1:9:1"
+
+
+
diff --git a/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb b/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb
index 6dfc42b43..8345d6880 100644
--- a/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb
+++ b/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb
@@ -10,6 +10,7 @@ PR = "r1"
SRC_URI = "http://www.mega-nerd.com/SRC/libsamplerate-${PV}.tar.gz \
file://0001-configure.ac-improve-alsa-handling.patch \
+ file://shared_version_info.patch \
"
SRC_URI[md5sum] = "2b78ae9fe63b36b9fbb6267fad93f259"
diff --git a/poky/meta/recipes-sato/images/core-image-sato.bb b/poky/meta/recipes-sato/images/core-image-sato.bb
index 35d066773..e63a229d1 100644
--- a/poky/meta/recipes-sato/images/core-image-sato.bb
+++ b/poky/meta/recipes-sato/images/core-image-sato.bb
@@ -13,4 +13,5 @@ TOOLCHAIN_HOST_TASK:append = " nativesdk-intltool nativesdk-glib-2.0"
TOOLCHAIN_HOST_TASK:remove:task-populate-sdk-ext = " nativesdk-intltool nativesdk-glib-2.0"
QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}'
+QB_MEM:qemuarmv5 = "-m 256"
QB_MEM:qemumips = "-m 256"
diff --git a/poky/meta/recipes-sato/webkit/libwpe_1.10.1.bb b/poky/meta/recipes-sato/webkit/libwpe_1.10.1.bb
index 6f2fe1df4..68214ffba 100644
--- a/poky/meta/recipes-sato/webkit/libwpe_1.10.1.bb
+++ b/poky/meta/recipes-sato/webkit/libwpe_1.10.1.bb
@@ -2,11 +2,11 @@ SUMMARY = "General-purpose library specifically developed for the WPE-flavored p
HOMEPAGE = "https://github.com/WebPlatformForEmbedded/libwpe"
BUGTRACKER = "https://github.com/WebPlatformForEmbedded/libwpe/issues"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=371a616eb4903c6cb79e9893a5f615cc"
DEPENDS = "virtual/egl libxkbcommon"
-inherit cmake features_check
+inherit cmake features_check pkgconfig
REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb
index c30bdf342..1f3f7a9c0 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb
@@ -2,7 +2,7 @@ SUMMARY = "WebKit web rendering engine for the GTK+ platform"
HOMEPAGE = "https://www.webkitgtk.org/"
BUGTRACKER = "https://bugs.webkit.org/"
-LICENSE = "BSD & LGPLv2+"
+LICENSE = "BSD-2-Clause & LGPLv2+"
LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
diff --git a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb
index 4588ee10e..f2d640f07 100644
--- a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb
+++ b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb
@@ -2,13 +2,13 @@ SUMMARY = "WPE's backend based on a freedesktop.org stack."
HOMEPAGE = "https://github.com/Igalia/WPEBackend-fdo"
BUGTRACKER = "https://github.com/Igalia/WPEBackend-fdo/issues"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=1f62cef2e3645e3e74eb05fd389d7a66"
DEPENDS = "glib-2.0 libxkbcommon wayland virtual/egl libwpe libepoxy"
DEPENDS:append:class-target = " wayland-native"
-inherit meson features_check
+inherit meson features_check pkgconfig
REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/poky/meta/recipes-support/apr/apr/CVE-2021-35940.patch b/poky/meta/recipes-support/apr/apr/CVE-2021-35940.patch
new file mode 100644
index 000000000..00befdace
--- /dev/null
+++ b/poky/meta/recipes-support/apr/apr/CVE-2021-35940.patch
@@ -0,0 +1,58 @@
+
+SECURITY: CVE-2021-35940 (cve.mitre.org)
+
+Restore fix for CVE-2017-12613 which was missing in 1.7.x branch, though
+was addressed in 1.6.x in 1.6.3 and later via r1807976.
+
+The fix was merged back to 1.7.x in r1891198.
+
+Since this was a regression in 1.7.0, a new CVE name has been assigned
+to track this, CVE-2021-35940.
+
+Thanks to Iveta Cesalova <icesalov redhat.com> for reporting this issue.
+
+https://svn.apache.org/viewvc?view=revision&revision=1891198
+
+Upstream-Status: Backport
+CVE: CVE-2021-35940
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+
+Index: time/unix/time.c
+===================================================================
+--- a/time/unix/time.c (revision 1891197)
++++ b/time/unix/time.c (revision 1891198)
+@@ -142,6 +142,9 @@
+ static const int dayoffset[12] =
+ {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275};
+
++ if (xt->tm_mon < 0 || xt->tm_mon >= 12)
++ return APR_EBADDATE;
++
+ /* shift new year to 1st March in order to make leap year calc easy */
+
+ if (xt->tm_mon < 2)
+Index: time/win32/time.c
+===================================================================
+--- a/time/win32/time.c (revision 1891197)
++++ b/time/win32/time.c (revision 1891198)
+@@ -54,6 +54,9 @@
+ static const int dayoffset[12] =
+ {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
+
++ if (tm->wMonth < 1 || tm->wMonth > 12)
++ return APR_EBADDATE;
++
+ /* Note; the caller is responsible for filling in detailed tm_usec,
+ * tm_gmtoff and tm_isdst data when applicable.
+ */
+@@ -228,6 +231,9 @@
+ static const int dayoffset[12] =
+ {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275};
+
++ if (xt->tm_mon < 0 || xt->tm_mon >= 12)
++ return APR_EBADDATE;
++
+ /* shift new year to 1st March in order to make leap year calc easy */
+
+ if (xt->tm_mon < 2)
diff --git a/poky/meta/recipes-support/apr/apr_1.7.0.bb b/poky/meta/recipes-support/apr/apr_1.7.0.bb
index 08d9edf3c..5f8fd6a46 100644
--- a/poky/meta/recipes-support/apr/apr_1.7.0.bb
+++ b/poky/meta/recipes-support/apr/apr_1.7.0.bb
@@ -24,6 +24,7 @@ SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \
file://libtoolize_check.patch \
file://0001-Add-option-to-disable-timed-dependant-tests.patch \
file://autoconf270.patch \
+ file://CVE-2021-35940.patch \
"
SRC_URI[md5sum] = "7a14a83d664e87599ea25ff4432e48a7"
diff --git a/poky/meta/recipes-support/consolekit/consolekit_0.4.6.bb b/poky/meta/recipes-support/consolekit/consolekit_0.4.6.bb
index 3d28ba2a2..95ce97ef3 100644
--- a/poky/meta/recipes-support/consolekit/consolekit_0.4.6.bb
+++ b/poky/meta/recipes-support/consolekit/consolekit_0.4.6.bb
@@ -29,7 +29,7 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd polkit', d
PACKAGECONFIG[pam] = "--enable-pam-module --with-pam-module-dir=${base_libdir}/security,--disable-pam-module,libpam"
PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--with-systemdsystemunitdir="
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}/,--with-systemdsystemunitdir="
FILES:${PN} += "${exec_prefix}/lib/ConsoleKit \
${libdir}/ConsoleKit ${systemd_unitdir} ${base_libdir} \
diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb b/poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb
index b8b0314d2..411ea9579 100644
--- a/poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb
+++ b/poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb
@@ -31,6 +31,7 @@ EXTRA_OECONF = "--disable-ldap \
--with-zlib=${STAGING_LIBDIR}/.. \
--with-bzip2=${STAGING_LIBDIR}/.. \
--with-readline=${STAGING_LIBDIR}/.. \
+ --with-mailprog=${sbindir}/sendmail \
--enable-gpg-is-gpg2 \
"
diff --git a/poky/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch b/poky/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch
new file mode 100644
index 000000000..8a2c78983
--- /dev/null
+++ b/poky/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch
@@ -0,0 +1,28 @@
+From d01a57a998798da977c470f3b8d6a457c1adb144 Mon Sep 17 00:00:00 2001
+From: Azat Khuzhin <azat@libevent.org>
+Date: Sun, 19 Sep 2021 00:57:31 +0300
+Subject: [PATCH] test: mark util/monotonic_prc_fallback as retriable
+
+Refs: #1193
+
+Upstream-status: Backported
+---
+ test/regress_util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/regress_util.c b/test/regress_util.c
+index 45caa2700a40..a9e80db20149 100644
+--- a/test/regress_util.c
++++ b/test/regress_util.c
+@@ -1672,7 +1672,7 @@ struct testcase_t util_testcases[] = {
+ { "monotonic_res_fallback", test_evutil_monotonic_res, TT_OFF_BY_DEFAULT, &basic_setup, (void*)"fallback" },
+ { "monotonic_prc", test_evutil_monotonic_prc, 0, &basic_setup, (void*)"" },
+ { "monotonic_prc_precise", test_evutil_monotonic_prc, TT_RETRIABLE, &basic_setup, (void*)"precise" },
+- { "monotonic_prc_fallback", test_evutil_monotonic_prc, 0, &basic_setup, (void*)"fallback" },
++ { "monotonic_prc_fallback", test_evutil_monotonic_prc, TT_RETRIABLE, &basic_setup, (void*)"fallback" },
+ { "date_rfc1123", test_evutil_date_rfc1123, 0, NULL, NULL },
+ { "evutil_v4addr_is_local", test_evutil_v4addr_is_local, 0, NULL, NULL },
+ { "evutil_v6addr_is_local", test_evutil_v6addr_is_local, 0, NULL, NULL },
+--
+2.31.1
+
diff --git a/poky/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch b/poky/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch
new file mode 100644
index 000000000..ae7db0b7a
--- /dev/null
+++ b/poky/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch
@@ -0,0 +1,81 @@
+From 36ebd92fa53c0097f1e2f9ec5aa5b5c6ec1b411d Mon Sep 17 00:00:00 2001
+From: Thomas Perrot <thomas.perrot@bootlin.com>
+Date: Wed, 29 Sep 2021 13:50:35 +0200
+Subject: [PATCH] test: retriable tests are marked failed only when all
+ attempts have failed
+
+Fixes: #1193
+
+Upstream-status: Pending
+
+Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
+---
+ test/tinytest.c | 13 ++++++-------
+ test/tinytest.h | 2 +-
+ 2 files changed, 7 insertions(+), 8 deletions(-)
+
+diff --git a/test/tinytest.c b/test/tinytest.c
+index 85dfe74a720e..bf2882418eb6 100644
+--- a/test/tinytest.c
++++ b/test/tinytest.c
+@@ -310,7 +310,8 @@ testcase_run_forked_(const struct testgroup_t *group,
+
+ int
+ testcase_run_one(const struct testgroup_t *group,
+- const struct testcase_t *testcase)
++ const struct testcase_t *testcase,
++ const int test_attempts)
+ {
+ enum outcome outcome;
+
+@@ -348,7 +349,7 @@ testcase_run_one(const struct testgroup_t *group,
+ if (opt_verbosity>0 && !opt_forked)
+ puts("SKIPPED");
+ } else {
+- if (!opt_forked)
++ if (!opt_forked && (testcase->flags & TT_RETRIABLE) && !test_attempts)
+ printf("\n [%s FAILED]\n", testcase->name);
+ }
+
+@@ -525,22 +526,20 @@ tinytest_main(int c, const char **v, struct testgroup_t *groups)
+ struct testgroup_t *group = &groups[i];
+ for (j = 0; group->cases[j].name; ++j) {
+ struct testcase_t *testcase = &group->cases[j];
+- int test_attempts = 3;
++ int test_attempts = (testcase->flags & TT_RETRIABLE) ? 3: 1;
+ int test_ret_err;
+
+ if (!(testcase->flags & TT_ENABLED_))
+ continue;
+
+ for (;;) {
+- test_ret_err = testcase_run_one(group, testcase);
++ test_ret_err = testcase_run_one(group, testcase, test_attempts);
+
+ if (test_ret_err == OK)
+ break;
+- if (!(testcase->flags & TT_RETRIABLE))
++ if (!--test_attempts)
+ break;
+ printf("\n [RETRYING %s (%i)]\n", testcase->name, test_attempts);
+- if (!test_attempts--)
+- break;
+ }
+
+ switch (test_ret_err) {
+diff --git a/test/tinytest.h b/test/tinytest.h
+index d321dd467542..c276b5339331 100644
+--- a/test/tinytest.h
++++ b/test/tinytest.h
+@@ -92,7 +92,7 @@ char *tinytest_format_hex_(const void *, unsigned long);
+ tinytest_set_flag_(groups, named, 1, TT_SKIP)
+
+ /** Run a single testcase in a single group. */
+-int testcase_run_one(const struct testgroup_t *,const struct testcase_t *);
++int testcase_run_one(const struct testgroup_t *,const struct testcase_t *, const int test_attempts);
+
+ void tinytest_set_aliases(const struct testlist_alias_t *aliases);
+
+--
+2.31.1
+
diff --git a/poky/meta/recipes-support/libevent/libevent/run-ptest b/poky/meta/recipes-support/libevent/libevent/run-ptest
index d3b5e793c..ef4260d1c 100644
--- a/poky/meta/recipes-support/libevent/libevent/run-ptest
+++ b/poky/meta/recipes-support/libevent/libevent/run-ptest
@@ -1,14 +1,14 @@
#!/bin/sh
# run-ptest - 'ptest' test infrastructure shell script that
-# wraps the libevent test scripts
+# wraps the libevent test scripts
#
# Trevor Gamblin <trevor.gamblin@windriver.com>
###############################################################
LIBEVENTLIB=@libdir@/libevent
LOG="${LIBEVENTLIB}/ptest/libevent_ptest_$(date +%Y%m%d-%H%M%S).log"
-cd ${LIBEVENTLIB}/ptest
+cd ${LIBEVENTLIB}/ptest
# Run only the libevent "regress" test. All other test scripts in the
# libevent "test" folder are related to performance, e.g. read/write
@@ -16,9 +16,9 @@ cd ${LIBEVENTLIB}/ptest
# in the ptest log.
./test/regress 2>&1| sed -e '/TESTS/d' -e '/tests/d' -e '/OK/ s/^/PASS: / ; /FAILED/ s/^/FAIL: / ; /SKIPPED/ s/^/SKIP: / ; /DISABLED/ s/^/SKIP: /' | cut -f1,2 -d ':' | tee -a ${LOG}
-passed=`grep PASS ${LOG}|wc -l`
-failed=`grep FAIL ${LOG}|wc -l`
-skipped=`grep -E SKIP ${LOG}|wc -l`
+passed=`grep PASS: ${LOG}|wc -l`
+failed=`grep FAIL: ${LOG}|wc -l`
+skipped=`grep -E SKIP: ${LOG}|wc -l`
all=$((passed + failed + skipped))
( echo "=== Test Summary ==="
diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.12.bb b/poky/meta/recipes-support/libevent/libevent_2.1.12.bb
index 2a562fe2e..e26e8a9b5 100644
--- a/poky/meta/recipes-support/libevent/libevent_2.1.12.bb
+++ b/poky/meta/recipes-support/libevent/libevent_2.1.12.bb
@@ -8,7 +8,7 @@ HOMEPAGE = "http://libevent.org/"
BUGTRACKER = "https://github.com/libevent/libevent/issues"
SECTION = "libs"
-LICENSE = "BSD & MIT"
+LICENSE = "BSD-3-Clause & MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=17f20574c0b154d12236d5fbe964f549"
SRC_URI = "https://github.com/libevent/libevent/releases/download/release-${PV}-stable/${BP}-stable.tar.gz \
@@ -16,6 +16,8 @@ SRC_URI = "https://github.com/libevent/libevent/releases/download/release-${PV}-
file://run-ptest \
file://0001-test-regress_dns.c-patch-out-tests-that-require-a-wo.patch \
file://0002-test-regress.h-Increase-default-timeval-tolerance-50.patch \
+ file://0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch \
+ file://0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch \
"
SRC_URI[sha256sum] = "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb"
@@ -56,7 +58,7 @@ do_install_ptest() {
do
install -m 0755 $file ${D}${PTEST_PATH}/test
done
-
+
# handle multilib
sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
}
diff --git a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.4.bb
index dee936dbc..4bc1dd851 100644
--- a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb
+++ b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.4.bb
@@ -27,7 +27,7 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \
file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \
file://0001-Makefile.am-add-a-missing-space.patch \
"
-SRC_URI[sha256sum] = "97ebe4f94e2f7e35b752194ce15a0f3c66324e0ff6af26659bbfb5ff2ec328fd"
+SRC_URI[sha256sum] = "ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7"
# Below whitelisted CVEs are disputed and not affecting crypto libraries for any distro.
CVE_CHECK_WHITELIST += "CVE-2018-12433 CVE-2018-12438"
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb
index 314989646..e888202b7 100644
--- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb
@@ -7,7 +7,7 @@ SECTION = "x11/gnome/libs"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 intltool-native libpsl"
+DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 libpsl"
SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.3.bb b/poky/meta/recipes-support/lz4/lz4_1.9.3.bb
index 74f6743b9..b22eea315 100644
--- a/poky/meta/recipes-support/lz4/lz4_1.9.3.bb
+++ b/poky/meta/recipes-support/lz4/lz4_1.9.3.bb
@@ -2,7 +2,7 @@ SUMMARY = "Extremely Fast Compression algorithm"
DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems."
HOMEPAGE = "https://github.com/lz4/lz4"
-LICENSE = "BSD | BSD-2-Clause | GPL-2.0"
+LICENSE = "BSD-2-Clause | GPL-2.0"
LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \
file://programs/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE;md5=d57c0d21cb917fb4e0af2454aa48b956 \
diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb
index c6a1ab178..1d3c24a17 100644
--- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb
+++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-SRCREV = "cce0edb4282ee081d043030bfdf29f3e4052f86c"
+SRCREV = "bcb82804daa8f725b6add259dcef2067e61a75aa"
PV .= "+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service
index 0559b9799..568686e80 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service
@@ -3,6 +3,7 @@ Description=Hardware RNG Entropy Gatherer Daemon
DefaultDependencies=no
After=systemd-udev-settle.service
Before=sysinit.target shutdown.target
+Wants=systemd-udev-settle.service
Conflicts=shutdown.target
[Service]
diff --git a/poky/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb b/poky/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb
index 714aca62f..b2b830cc1 100644
--- a/poky/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb
+++ b/poky/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb
@@ -1,5 +1,5 @@
SUMMARY = "Shared MIME type database and specification"
-DESCRIPTION = "The shared-mime-info package contains the core database of common types and the update-mime-database command used to extend it. It requires glib2 to be installed for building the update command. Additionally, it uses intltool for translations, though this is only a dependency for the maintainers."
+DESCRIPTION = "The shared-mime-info package contains the core database of common types."
HOMEPAGE = "http://freedesktop.org/wiki/Software/shared-mime-info"
SECTION = "base"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.36.0.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.36.0.bb
index f5d75e8e4..30c9445be 100644
--- a/poky/meta/recipes-support/sqlite/sqlite3_3.36.0.bb
+++ b/poky/meta/recipes-support/sqlite/sqlite3_3.36.0.bb
@@ -10,3 +10,5 @@ SRC_URI[sha256sum] = "bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b6
CVE_CHECK_WHITELIST += "CVE-2019-19242"
# This is believed to be iOS specific (https://groups.google.com/g/sqlite-dev/c/U7OjAbZO6LA)
CVE_CHECK_WHITELIST += "CVE-2015-3717"
+# Issue in an experimental extension we don't have/use. Fixed by https://sqlite.org/src/info/b1e0c22ec981cf5f
+CVE_CHECK_WHITELIST += "CVE-2021-36690"
diff --git a/poky/meta/recipes-support/vim/files/CVE-2021-3778.patch b/poky/meta/recipes-support/vim/files/CVE-2021-3778.patch
new file mode 100644
index 000000000..769a7a07a
--- /dev/null
+++ b/poky/meta/recipes-support/vim/files/CVE-2021-3778.patch
@@ -0,0 +1,46 @@
+From eb41373c8c88b0789e5cf04669d6116f9a199264 Mon Sep 17 00:00:00 2001
+From: Minjae Kim <flowergom@gmail.com>
+Date: Sun, 26 Sep 2021 23:48:00 +0000
+Subject: [PATCH] patch 8.2.3409: reading beyond end of line with invalid utf-8
+ character
+
+Problem: Reading beyond end of line with invalid utf-8 character.
+Solution: Check for NUL when advancing.
+
+Upstream-Status: Accepted [https://github.com/vim/vim/commit/65b605665997fad54ef39a93199e305af2fe4d7f]
+CVE: CVE-2021-3778
+Signed-off-by: Minjae Kim <flowergom@gmail.com>
+---
+ src/regexp_nfa.c | 3 ++-
+ src/testdir/test_regexp_utf8.vim | 7 +++++++
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+Index: git/src/regexp_nfa.c
+===================================================================
+--- git.orig/src/regexp_nfa.c
++++ git/src/regexp_nfa.c
+@@ -5455,7 +5455,8 @@ find_match_text(colnr_T startcol, int re
+ match = FALSE;
+ break;
+ }
+- len2 += MB_CHAR2LEN(c2);
++ len2 += enc_utf8 ? utf_ptr2len(rex.line + col + len2)
++ : MB_CHAR2LEN(c2);
+ }
+ if (match
+ // check that no composing char follows
+Index: git/src/testdir/test_regexp_utf8.vim
+===================================================================
+--- git.orig/src/testdir/test_regexp_utf8.vim
++++ git/src/testdir/test_regexp_utf8.vim
+@@ -215,3 +215,10 @@ func Test_optmatch_toolong()
+ set re=0
+ endfunc
+
++func Test_match_invalid_byte()
++ call writefile(0z630a.765d30aa0a.2e0a.790a.4030, 'Xinvalid')
++ new
++ source Xinvalid
++ bwipe!
++ call delete('Xinvalid')
++endfunc
diff --git a/poky/meta/recipes-support/vim/files/b7081e135a16091c93f6f5f7525a5c58fb7ca9f9.patch b/poky/meta/recipes-support/vim/files/b7081e135a16091c93f6f5f7525a5c58fb7ca9f9.patch
new file mode 100644
index 000000000..1cee75950
--- /dev/null
+++ b/poky/meta/recipes-support/vim/files/b7081e135a16091c93f6f5f7525a5c58fb7ca9f9.patch
@@ -0,0 +1,207 @@
+From b7081e135a16091c93f6f5f7525a5c58fb7ca9f9 Mon Sep 17 00:00:00 2001
+From: Bram Moolenaar <Bram@vim.org>
+Date: Sat, 4 Sep 2021 18:47:28 +0200
+Subject: [PATCH] patch 8.2.3402: invalid memory access when using :retab with
+ large value
+
+Problem: Invalid memory access when using :retab with large value.
+Solution: Check the number is positive.
+
+CVE: CVE-2021-3770
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Upstream-Status: Backport [https://github.com/vim/vim/commit/b7081e135a16091c93f6f5f7525a5c58fb7ca9f9]
+---
+ src/indent.c | 34 +++++++++++++++++++++-------------
+ src/option.c | 12 ++++++------
+ src/optionstr.c | 4 ++--
+ src/testdir/test_retab.vim | 3 +++
+ src/version.c | 2 ++
+ 5 files changed, 34 insertions(+), 21 deletions(-)
+
+Index: git/src/indent.c
+===================================================================
+--- git.orig/src/indent.c
++++ git/src/indent.c
+@@ -18,18 +18,19 @@
+ /*
+ * Set the integer values corresponding to the string setting of 'vartabstop'.
+ * "array" will be set, caller must free it if needed.
++ * Return FAIL for an error.
+ */
+ int
+ tabstop_set(char_u *var, int **array)
+ {
+- int valcount = 1;
+- int t;
+- char_u *cp;
++ int valcount = 1;
++ int t;
++ char_u *cp;
+
+ if (var[0] == NUL || (var[0] == '0' && var[1] == NUL))
+ {
+ *array = NULL;
+- return TRUE;
++ return OK;
+ }
+
+ for (cp = var; *cp != NUL; ++cp)
+@@ -43,8 +44,8 @@ tabstop_set(char_u *var, int **array)
+ if (cp != end)
+ emsg(_(e_positive));
+ else
+- emsg(_(e_invarg));
+- return FALSE;
++ semsg(_(e_invarg2), cp);
++ return FAIL;
+ }
+ }
+
+@@ -55,26 +56,33 @@ tabstop_set(char_u *var, int **array)
+ ++valcount;
+ continue;
+ }
+- emsg(_(e_invarg));
+- return FALSE;
++ semsg(_(e_invarg2), var);
++ return FAIL;
+ }
+
+ *array = ALLOC_MULT(int, valcount + 1);
+ if (*array == NULL)
+- return FALSE;
++ return FAIL;
+ (*array)[0] = valcount;
+
+ t = 1;
+ for (cp = var; *cp != NUL;)
+ {
+- (*array)[t++] = atoi((char *)cp);
+- while (*cp != NUL && *cp != ',')
++ int n = atoi((char *)cp);
++
++ if (n < 0 || n > 9999)
++ {
++ semsg(_(e_invarg2), cp);
++ return FAIL;
++ }
++ (*array)[t++] = n;
++ while (*cp != NUL && *cp != ',')
+ ++cp;
+ if (*cp != NUL)
+ ++cp;
+ }
+
+- return TRUE;
++ return OK;
+ }
+
+ /*
+@@ -1556,7 +1564,7 @@ ex_retab(exarg_T *eap)
+
+ #ifdef FEAT_VARTABS
+ new_ts_str = eap->arg;
+- if (!tabstop_set(eap->arg, &new_vts_array))
++ if (tabstop_set(eap->arg, &new_vts_array) == FAIL)
+ return;
+ while (vim_isdigit(*(eap->arg)) || *(eap->arg) == ',')
+ ++(eap->arg);
+Index: git/src/option.c
+===================================================================
+--- git.orig/src/option.c
++++ git/src/option.c
+@@ -2292,9 +2292,9 @@ didset_options2(void)
+ #endif
+ #ifdef FEAT_VARTABS
+ vim_free(curbuf->b_p_vsts_array);
+- tabstop_set(curbuf->b_p_vsts, &curbuf->b_p_vsts_array);
++ (void)tabstop_set(curbuf->b_p_vsts, &curbuf->b_p_vsts_array);
+ vim_free(curbuf->b_p_vts_array);
+- tabstop_set(curbuf->b_p_vts, &curbuf->b_p_vts_array);
++ (void)tabstop_set(curbuf->b_p_vts, &curbuf->b_p_vts_array);
+ #endif
+ }
+
+@@ -5756,7 +5756,7 @@ buf_copy_options(buf_T *buf, int flags)
+ buf->b_p_vsts = vim_strsave(p_vsts);
+ COPY_OPT_SCTX(buf, BV_VSTS);
+ if (p_vsts && p_vsts != empty_option)
+- tabstop_set(p_vsts, &buf->b_p_vsts_array);
++ (void)tabstop_set(p_vsts, &buf->b_p_vsts_array);
+ else
+ buf->b_p_vsts_array = 0;
+ buf->b_p_vsts_nopaste = p_vsts_nopaste
+@@ -5914,7 +5914,7 @@ buf_copy_options(buf_T *buf, int flags)
+ buf->b_p_isk = save_p_isk;
+ #ifdef FEAT_VARTABS
+ if (p_vts && p_vts != empty_option && !buf->b_p_vts_array)
+- tabstop_set(p_vts, &buf->b_p_vts_array);
++ (void)tabstop_set(p_vts, &buf->b_p_vts_array);
+ else
+ buf->b_p_vts_array = NULL;
+ #endif
+@@ -5929,7 +5929,7 @@ buf_copy_options(buf_T *buf, int flags)
+ buf->b_p_vts = vim_strsave(p_vts);
+ COPY_OPT_SCTX(buf, BV_VTS);
+ if (p_vts && p_vts != empty_option && !buf->b_p_vts_array)
+- tabstop_set(p_vts, &buf->b_p_vts_array);
++ (void)tabstop_set(p_vts, &buf->b_p_vts_array);
+ else
+ buf->b_p_vts_array = NULL;
+ #endif
+@@ -6634,7 +6634,7 @@ paste_option_changed(void)
+ if (buf->b_p_vsts_array)
+ vim_free(buf->b_p_vsts_array);
+ if (buf->b_p_vsts && buf->b_p_vsts != empty_option)
+- tabstop_set(buf->b_p_vsts, &buf->b_p_vsts_array);
++ (void)tabstop_set(buf->b_p_vsts, &buf->b_p_vsts_array);
+ else
+ buf->b_p_vsts_array = 0;
+ #endif
+Index: git/src/optionstr.c
+===================================================================
+--- git.orig/src/optionstr.c
++++ git/src/optionstr.c
+@@ -2166,7 +2166,7 @@ did_set_string_option(
+ if (errmsg == NULL)
+ {
+ int *oldarray = curbuf->b_p_vsts_array;
+- if (tabstop_set(*varp, &(curbuf->b_p_vsts_array)))
++ if (tabstop_set(*varp, &(curbuf->b_p_vsts_array)) == OK)
+ {
+ if (oldarray)
+ vim_free(oldarray);
+@@ -2205,7 +2205,7 @@ did_set_string_option(
+ {
+ int *oldarray = curbuf->b_p_vts_array;
+
+- if (tabstop_set(*varp, &(curbuf->b_p_vts_array)))
++ if (tabstop_set(*varp, &(curbuf->b_p_vts_array)) == OK)
+ {
+ vim_free(oldarray);
+ #ifdef FEAT_FOLDING
+Index: git/src/testdir/test_retab.vim
+===================================================================
+--- git.orig/src/testdir/test_retab.vim
++++ git/src/testdir/test_retab.vim
+@@ -74,4 +74,7 @@ endfunc
+ func Test_retab_error()
+ call assert_fails('retab -1', 'E487:')
+ call assert_fails('retab! -1', 'E487:')
++ call assert_fails('ret -1000', 'E487:')
++ call assert_fails('ret 10000', 'E475:')
++ call assert_fails('ret 80000000000000000000', 'E475:')
+ endfunc
+Index: git/src/version.c
+===================================================================
+--- git.orig/src/version.c
++++ git/src/version.c
+@@ -743,6 +743,8 @@ static char *(features[]) =
+ static int included_patches[] =
+ { /* Add new patch number below this line */
+ /**/
++ 3402,
++/**/
+ 0
+ };
+
diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc
index 860fd2486..db1e9caf4 100644
--- a/poky/meta/recipes-support/vim/vim.inc
+++ b/poky/meta/recipes-support/vim/vim.inc
@@ -17,7 +17,10 @@ SRC_URI = "git://github.com/vim/vim.git \
file://0001-src-Makefile-improve-reproducibility.patch \
file://no-path-adjust.patch \
file://racefix.patch \
+ file://b7081e135a16091c93f6f5f7525a5c58fb7ca9f9.patch \
+ file://CVE-2021-3778.patch \
"
+
SRCREV = "98056533b96b6b5d8849641de93185dd7bcadc44"
# Do not consider .z in x.y.z, as that is updated with every commit
@@ -69,6 +72,7 @@ PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
PACKAGECONFIG[nls] = "--enable-nls,--disable-nls,,"
+PACKAGECONFIG[sound] = "--enable-canberra,--disable-canberra,canberra,"
EXTRA_OECONF = " \
--disable-gpm \
diff --git a/poky/meta/site/arm-32 b/poky/meta/site/arm-32
index 81fd8d310..60ada2e97 100644
--- a/poky/meta/site/arm-32
+++ b/poky/meta/site/arm-32
@@ -22,20 +22,6 @@ ac_cv_alignof_unsigned_long=4
# jikes
ac_cv_sizeof_wchar_t=4
-# ORBit2
-ac_cv_alignof_CORBA_boolean=1
-ac_cv_alignof_CORBA_char=1
-ac_cv_alignof_CORBA_double=8
-ac_cv_alignof_CORBA_float=4
-ac_cv_alignof_CORBA_long=4
-ac_cv_alignof_CORBA_long_double=8
-ac_cv_alignof_CORBA_long_long=8
-ac_cv_alignof_CORBA_octet=1
-ac_cv_alignof_CORBA_pointer=4
-ac_cv_alignof_CORBA_short=2
-ac_cv_alignof_CORBA_struct=1
-ac_cv_alignof_CORBA_wchar=2
-
# at-spi2-core
ac_cv_alignof_char=1
ac_cv_alignof_dbind_pointer=4
diff --git a/poky/meta/site/arm-64 b/poky/meta/site/arm-64
index 90c09b2d5..40763fb05 100644
--- a/poky/meta/site/arm-64
+++ b/poky/meta/site/arm-64
@@ -22,20 +22,6 @@ ac_cv_alignof_guint32=4
ac_cv_alignof_guint64=8
ac_cv_alignof_unsigned_long=8
-# ORBit2 (should be in meta-gnome/site/arm-64)
-#ac_cv_alignof_CORBA_boolean=1
-#ac_cv_alignof_CORBA_char=1
-#ac_cv_alignof_CORBA_double=8
-#ac_cv_alignof_CORBA_float=4
-#ac_cv_alignof_CORBA_long=4
-#ac_cv_alignof_CORBA_long_double=8
-#ac_cv_alignof_CORBA_long_long=8
-#ac_cv_alignof_CORBA_octet=1
-#ac_cv_alignof_CORBA_pointer=4
-#ac_cv_alignof_CORBA_short=2
-#ac_cv_alignof_CORBA_struct=1
-#ac_cv_alignof_CORBA_wchar=2
-
# at-spi2-core
ac_cv_alignof_dbind_pointer=8
ac_cv_alignof_dbind_struct=1
diff --git a/poky/meta/site/arm-common b/poky/meta/site/arm-common
index 8c37f3fc2..4c25c82be 100644
--- a/poky/meta/site/arm-common
+++ b/poky/meta/site/arm-common
@@ -73,9 +73,6 @@ lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
# libesmtp
acx_working_snprintf=${acx_working_snprintf=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
# libnet
ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}
diff --git a/poky/meta/site/ix86-common b/poky/meta/site/ix86-common
index a2384372d..d98ae5265 100644
--- a/poky/meta/site/ix86-common
+++ b/poky/meta/site/ix86-common
@@ -107,9 +107,6 @@ ac_cv_sizeof_wchar_t=4
ac_cv_need_trio=${ac_cv_need_trio=no}
lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
# libnet
ac_cv_lbl_unaligned_fail=${ac_cv_lbl_unaligned_fail=no}
ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}
@@ -121,20 +118,6 @@ with_broken_putenv=${with_broken_putenv=no}
mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=yes}
mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=yes}
-# ORBit2
-ac_cv_alignof_CORBA_boolean=1
-ac_cv_alignof_CORBA_char=1
-ac_cv_alignof_CORBA_double=4
-ac_cv_alignof_CORBA_float=4
-ac_cv_alignof_CORBA_long=4
-ac_cv_alignof_CORBA_long_double=4
-ac_cv_alignof_CORBA_long_long=4
-ac_cv_alignof_CORBA_octet=1
-ac_cv_alignof_CORBA_pointer=4
-ac_cv_alignof_CORBA_short=2
-ac_cv_alignof_CORBA_struct=4
-ac_cv_alignof_CORBA_wchar=2
-
# php
ac_cv_pread=${ac_cv_pread=no}
ac_cv_pwrite=${ac_cv_pwrite=no}
diff --git a/poky/meta/site/mips-common b/poky/meta/site/mips-common
index 5858dfb15..892817b10 100644
--- a/poky/meta/site/mips-common
+++ b/poky/meta/site/mips-common
@@ -15,20 +15,6 @@ screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
-# ORBit2
-ac_cv_alignof_CORBA_octet=1
-ac_cv_alignof_CORBA_boolean=1
-ac_cv_alignof_CORBA_char=1
-ac_cv_alignof_CORBA_wchar=2
-ac_cv_alignof_CORBA_short=2
-ac_cv_alignof_CORBA_long=4
-ac_cv_alignof_CORBA_long_long=8
-ac_cv_alignof_CORBA_float=4
-ac_cv_alignof_CORBA_double=8
-ac_cv_alignof_CORBA_long_double=8
-ac_cv_alignof_CORBA_pointer=4
-ac_cv_alignof_CORBA_struct=1
-
# apache
ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
diff --git a/poky/meta/site/mips-linux b/poky/meta/site/mips-linux
index 72a54f95e..b2f15eee1 100644
--- a/poky/meta/site/mips-linux
+++ b/poky/meta/site/mips-linux
@@ -39,9 +39,6 @@ ac_cv_linux_vers=${ac_cv_linux_vers=2}
# startup-notification
lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
# ncftp
wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
diff --git a/poky/meta/site/mips64-linux b/poky/meta/site/mips64-linux
index ed0fbbe65..e7c16405e 100644
--- a/poky/meta/site/mips64-linux
+++ b/poky/meta/site/mips64-linux
@@ -43,9 +43,6 @@ ac_cv_linux_vers=${ac_cv_linux_vers=2}
# startup-notification
lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
# ncftp
wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
diff --git a/poky/meta/site/mips64el-linux b/poky/meta/site/mips64el-linux
index 680171d5e..406ffd66c 100644
--- a/poky/meta/site/mips64el-linux
+++ b/poky/meta/site/mips64el-linux
@@ -43,9 +43,6 @@ ac_cv_linux_vers=${ac_cv_linux_vers=2}
# startup-notification
lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
# ncftp
wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
diff --git a/poky/meta/site/mipsel-linux b/poky/meta/site/mipsel-linux
index 696b1beeb..e9cf193ce 100644
--- a/poky/meta/site/mipsel-linux
+++ b/poky/meta/site/mipsel-linux
@@ -39,9 +39,6 @@ ac_cv_linux_vers=${ac_cv_linux_vers=2}
# startup-notification
lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
# ncftp
wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
diff --git a/poky/meta/site/mipsisa32r6-linux b/poky/meta/site/mipsisa32r6-linux
index 72a54f95e..b2f15eee1 100644
--- a/poky/meta/site/mipsisa32r6-linux
+++ b/poky/meta/site/mipsisa32r6-linux
@@ -39,9 +39,6 @@ ac_cv_linux_vers=${ac_cv_linux_vers=2}
# startup-notification
lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
# ncftp
wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
diff --git a/poky/meta/site/mipsisa32r6el-linux b/poky/meta/site/mipsisa32r6el-linux
index 696b1beeb..e9cf193ce 100644
--- a/poky/meta/site/mipsisa32r6el-linux
+++ b/poky/meta/site/mipsisa32r6el-linux
@@ -39,9 +39,6 @@ ac_cv_linux_vers=${ac_cv_linux_vers=2}
# startup-notification
lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
# ncftp
wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
diff --git a/poky/meta/site/mipsisa64r6-linux b/poky/meta/site/mipsisa64r6-linux
index ed0fbbe65..e7c16405e 100644
--- a/poky/meta/site/mipsisa64r6-linux
+++ b/poky/meta/site/mipsisa64r6-linux
@@ -43,9 +43,6 @@ ac_cv_linux_vers=${ac_cv_linux_vers=2}
# startup-notification
lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
# ncftp
wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
diff --git a/poky/meta/site/mipsisa64r6el-linux b/poky/meta/site/mipsisa64r6el-linux
index 680171d5e..406ffd66c 100644
--- a/poky/meta/site/mipsisa64r6el-linux
+++ b/poky/meta/site/mipsisa64r6el-linux
@@ -43,9 +43,6 @@ ac_cv_linux_vers=${ac_cv_linux_vers=2}
# startup-notification
lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
# ncftp
wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
diff --git a/poky/meta/site/nios2-linux b/poky/meta/site/nios2-linux
index 8ac198a0c..656da9fde 100644
--- a/poky/meta/site/nios2-linux
+++ b/poky/meta/site/nios2-linux
@@ -110,9 +110,6 @@ lftp_cv___va_copy=${lftp_cv___va_copy=yes}
# libesmtp
acx_working_snprintf=${acx_working_snprintf=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
# libnet
ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}
@@ -137,21 +134,6 @@ mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}
ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no}
nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
-# ORBit2
-ac_cv_alignof_CORBA_boolean=1
-ac_cv_alignof_CORBA_char=1
-ac_cv_alignof_CORBA_double=8
-ac_cv_alignof_CORBA_float=4
-ac_cv_alignof_CORBA_long=4
-ac_cv_alignof_CORBA_long_double=8
-ac_cv_alignof_CORBA_long_long=8
-ac_cv_alignof_CORBA_octet=1
-ac_cv_alignof_CORBA_pointer=4
-ac_cv_alignof_CORBA_short=2
-ac_cv_alignof_CORBA_struct=1
-ac_cv_alignof_CORBA_wchar=2
-ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
-
# php
ac_cv_pread=${ac_cv_pread=no}
ac_cv_pwrite=${ac_cv_pwrite=no}
diff --git a/poky/meta/site/powerpc32-linux b/poky/meta/site/powerpc32-linux
index 172a06cc4..accd048a6 100644
--- a/poky/meta/site/powerpc32-linux
+++ b/poky/meta/site/powerpc32-linux
@@ -151,23 +151,6 @@ compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no}
# slrn
slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
-# ORBit2
-ac_cv_alignof_CORBA_boolean=1
-ac_cv_alignof_CORBA_char=1
-ac_cv_alignof_CORBA_double=4
-ac_cv_alignof_CORBA_float=4
-ac_cv_alignof_CORBA_long=4
-ac_cv_alignof_CORBA_long_double=4
-ac_cv_alignof_CORBA_long_long=4
-ac_cv_alignof_CORBA_octet=1
-ac_cv_alignof_CORBA_pointer=4
-ac_cv_alignof_CORBA_short=2
-ac_cv_alignof_CORBA_struct=4
-ac_cv_alignof_CORBA_wchar=2
-
# cvs
cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
diff --git a/poky/meta/site/sh-common b/poky/meta/site/sh-common
index 6bda1c237..d269a17db 100644
--- a/poky/meta/site/sh-common
+++ b/poky/meta/site/sh-common
@@ -169,23 +169,6 @@ slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
# startup-notification
lf_cv_sane_realloc=yes
-# libidl
-libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
-
-# ORBit2
-ac_cv_alignof_CORBA_boolean=1
-ac_cv_alignof_CORBA_char=1
-ac_cv_alignof_CORBA_double=4
-ac_cv_alignof_CORBA_float=4
-ac_cv_alignof_CORBA_long=4
-ac_cv_alignof_CORBA_long_double=4
-ac_cv_alignof_CORBA_long_long=4
-ac_cv_alignof_CORBA_octet=1
-ac_cv_alignof_CORBA_pointer=4
-ac_cv_alignof_CORBA_short=2
-ac_cv_alignof_CORBA_struct=4
-ac_cv_alignof_CORBA_wchar=2
-
# cvs
cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
diff --git a/poky/meta/site/x86_64-linux b/poky/meta/site/x86_64-linux
index 778e2c53e..ea3176da9 100644
--- a/poky/meta/site/x86_64-linux
+++ b/poky/meta/site/x86_64-linux
@@ -73,26 +73,9 @@ am_cv_func_working_getline=${am_cv_func_working_getline=yes}
#gcc
ac_cv_lib_m_sin=${ac_cv_lib_m_sin=yes}
-#orbit
-libIDL_cv_long_long_format=ll
-
# bash
bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present}
-# ORBit2
-ac_cv_alignof_CORBA_boolean=1
-ac_cv_alignof_CORBA_char=1
-ac_cv_alignof_CORBA_double=8
-ac_cv_alignof_CORBA_float=4
-ac_cv_alignof_CORBA_long=4
-ac_cv_alignof_CORBA_long_double=8
-ac_cv_alignof_CORBA_long_long=8
-ac_cv_alignof_CORBA_octet=1
-ac_cv_alignof_CORBA_pointer=8
-ac_cv_alignof_CORBA_short=2
-ac_cv_alignof_CORBA_struct=1
-ac_cv_alignof_CORBA_wchar=2
-
lf_cv_sane_realloc=yes
as_cv_unaligned_access=${as_cv_unaligned_access=yes}
diff --git a/poky/scripts/lib/build_perf/report.py b/poky/scripts/lib/build_perf/report.py
index 4e8e2a8a9..ab77424cc 100644
--- a/poky/scripts/lib/build_perf/report.py
+++ b/poky/scripts/lib/build_perf/report.py
@@ -4,7 +4,8 @@
# SPDX-License-Identifier: GPL-2.0-only
#
"""Handling of build perf test reports"""
-from collections import OrderedDict, Mapping, namedtuple
+from collections import OrderedDict, namedtuple
+from collections.abc import Mapping
from datetime import datetime, timezone
from numbers import Number
from statistics import mean, stdev, variance
diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py
index b74a60d00..01fb5ad96 100644
--- a/poky/scripts/lib/devtool/standard.py
+++ b/poky/scripts/lib/devtool/standard.py
@@ -318,10 +318,6 @@ def _check_compatible_recipe(pn, d):
raise DevtoolError("The %s recipe is a packagegroup, and therefore is "
"not supported by this tool" % pn, 4)
- if bb.data.inherits_class('meta', d):
- raise DevtoolError("The %s recipe is a meta-recipe, and therefore is "
- "not supported by this tool" % pn, 4)
-
if bb.data.inherits_class('externalsrc', d) and d.getVar('EXTERNALSRC'):
# Not an incompatibility error per se, so we don't pass the error code
raise DevtoolError("externalsrc is currently enabled for the %s "
diff --git a/poky/scripts/lib/recipetool/create_buildsys_python.py b/poky/scripts/lib/recipetool/create_buildsys_python.py
index 8aa44650d..0b6b042ed 100644
--- a/poky/scripts/lib/recipetool/create_buildsys_python.py
+++ b/poky/scripts/lib/recipetool/create_buildsys_python.py
@@ -101,7 +101,7 @@ class PythonRecipeHandler(RecipeHandler):
'License :: OSI Approved :: Apple Public Source License': 'APSL',
'License :: OSI Approved :: Artistic License': 'Artistic',
'License :: OSI Approved :: Attribution Assurance License': 'AAL',
- 'License :: OSI Approved :: BSD License': 'BSD',
+ 'License :: OSI Approved :: BSD License': 'BSD-3-Clause',
'License :: OSI Approved :: Common Public License': 'CPL',
'License :: OSI Approved :: Eiffel Forum License': 'EFL',
'License :: OSI Approved :: European Union Public Licence 1.0 (EUPL 1.0)': 'EUPL-1.0',
diff --git a/poky/scripts/lib/scriptutils.py b/poky/scripts/lib/scriptutils.py
index f92255d8d..3164171eb 100644
--- a/poky/scripts/lib/scriptutils.py
+++ b/poky/scripts/lib/scriptutils.py
@@ -215,7 +215,8 @@ def fetch_url(tinfoil, srcuri, srcrev, destdir, logger, preserve_tmp=False, mirr
pathvars = ['T', 'RECIPE_SYSROOT', 'RECIPE_SYSROOT_NATIVE']
for pathvar in pathvars:
path = rd.getVar(pathvar)
- shutil.rmtree(path)
+ if os.path.exists(path):
+ shutil.rmtree(path)
finally:
if fetchrecipe:
try:
diff --git a/poky/scripts/lib/wic/partition.py b/poky/scripts/lib/wic/partition.py
index ab304f1b2..a25834048 100644
--- a/poky/scripts/lib/wic/partition.py
+++ b/poky/scripts/lib/wic/partition.py
@@ -105,7 +105,7 @@ class Partition():
extra_blocks = self.extra_space
rootfs_size = actual_rootfs_size + extra_blocks
- rootfs_size *= self.overhead_factor
+ rootfs_size = int(rootfs_size * self.overhead_factor)
logger.debug("Added %d extra blocks to %s to get to %d total blocks",
extra_blocks, self.mountpoint, rootfs_size)
diff --git a/poky/scripts/lib/wic/plugins/imager/direct.py b/poky/scripts/lib/wic/plugins/imager/direct.py
index 96168aadb..495518fac 100644
--- a/poky/scripts/lib/wic/plugins/imager/direct.py
+++ b/poky/scripts/lib/wic/plugins/imager/direct.py
@@ -77,7 +77,8 @@ class DirectPlugin(ImagerPlugin):
image_path = self._full_path(self.workdir, self.parts[0].disk, "direct")
self._image = PartitionedImage(image_path, self.ptable_format,
- self.parts, self.native_sysroot)
+ self.parts, self.native_sysroot,
+ options.extra_space)
def setup_workdir(self, workdir):
if workdir:
@@ -116,7 +117,7 @@ class DirectPlugin(ImagerPlugin):
updated = False
for part in self.parts:
if not part.realnum or not part.mountpoint \
- or part.mountpoint == "/":
+ or part.mountpoint == "/" or not part.mountpoint.startswith('/'):
continue
if part.use_uuid:
@@ -293,7 +294,7 @@ class PartitionedImage():
Partitioned image in a file.
"""
- def __init__(self, path, ptable_format, partitions, native_sysroot=None):
+ def __init__(self, path, ptable_format, partitions, native_sysroot=None, extra_space=0):
self.path = path # Path to the image file
self.numpart = 0 # Number of allocated partitions
self.realpart = 0 # Number of partitions in the partition table
@@ -314,6 +315,7 @@ class PartitionedImage():
self.sector_size = SECTOR_SIZE
self.native_sysroot = native_sysroot
num_real_partitions = len([p for p in self.partitions if not p.no_table])
+ self.extra_space = extra_space
# calculate the real partition number, accounting for partitions not
# in the partition table and logical partitions
@@ -483,6 +485,7 @@ class PartitionedImage():
self.min_size += GPT_OVERHEAD
self.min_size *= self.sector_size
+ self.min_size += self.extra_space
def _create_partition(self, device, parttype, fstype, start, size):
""" Create a partition on an image described by the 'device' object. """
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
index cdc72543c..0391aebdc 100644
--- a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
@@ -12,6 +12,7 @@
import logging
import os
+import tempfile
import shutil
import re
@@ -119,12 +120,13 @@ class BootimgEFIPlugin(SourcePlugin):
bootloader = creator.ks.bootloader
loader_conf = ""
- loader_conf += "default boot\n"
+ if source_params.get('create-unified-kernel-image') != "true":
+ loader_conf += "default boot\n"
loader_conf += "timeout %d\n" % bootloader.timeout
initrd = source_params.get('initrd')
- if initrd:
+ if initrd and source_params.get('create-unified-kernel-image') != "true":
# obviously we need to have a common common deploy var
bootimg_dir = get_bitbake_var("DEPLOY_DIR_IMAGE")
if not bootimg_dir:
@@ -183,11 +185,12 @@ class BootimgEFIPlugin(SourcePlugin):
for rd in initrds:
boot_conf += "initrd /%s\n" % rd
- logger.debug("Writing systemd-boot config "
- "%s/hdd/boot/loader/entries/boot.conf", cr_workdir)
- cfg = open("%s/hdd/boot/loader/entries/boot.conf" % cr_workdir, "w")
- cfg.write(boot_conf)
- cfg.close()
+ if source_params.get('create-unified-kernel-image') != "true":
+ logger.debug("Writing systemd-boot config "
+ "%s/hdd/boot/loader/entries/boot.conf", cr_workdir)
+ cfg = open("%s/hdd/boot/loader/entries/boot.conf" % cr_workdir, "w")
+ cfg.write(boot_conf)
+ cfg.close()
@classmethod
@@ -288,9 +291,60 @@ class BootimgEFIPlugin(SourcePlugin):
kernel = "%s-%s.bin" % \
(get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
- install_cmd = "install -m 0644 %s/%s %s/%s" % \
- (staging_kernel_dir, kernel, hdddir, kernel)
- exec_cmd(install_cmd)
+ if source_params.get('create-unified-kernel-image') == "true":
+ initrd = source_params.get('initrd')
+ if not initrd:
+ raise WicError("initrd= must be specified when create-unified-kernel-image=true, exiting")
+
+ deploy_dir = get_bitbake_var("DEPLOY_DIR_IMAGE")
+ efi_stub = glob("%s/%s" % (deploy_dir, "linux*.efi.stub"))
+ if len(efi_stub) == 0:
+ raise WicError("Unified Kernel Image EFI stub not found, exiting")
+ efi_stub = efi_stub[0]
+
+ with tempfile.TemporaryDirectory() as tmp_dir:
+ label = source_params.get('label')
+ label_conf = "root=%s" % creator.rootdev
+ if label:
+ label_conf = "LABEL=%s" % label
+
+ bootloader = creator.ks.bootloader
+ cmdline = open("%s/cmdline" % tmp_dir, "w")
+ cmdline.write("%s %s" % (label_conf, bootloader.append))
+ cmdline.close()
+
+ initrds = initrd.split(';')
+ initrd = open("%s/initrd" % tmp_dir, "wb")
+ for f in initrds:
+ with open("%s/%s" % (deploy_dir, f), 'rb') as in_file:
+ shutil.copyfileobj(in_file, initrd)
+ initrd.close()
+
+ # Searched by systemd-boot:
+ # https://systemd.io/BOOT_LOADER_SPECIFICATION/#type-2-efi-unified-kernel-images
+ install_cmd = "install -d %s/EFI/Linux" % hdddir
+ exec_cmd(install_cmd)
+
+ staging_dir_host = get_bitbake_var("STAGING_DIR_HOST")
+
+ # https://www.freedesktop.org/software/systemd/man/systemd-stub.html
+ objcopy_cmd = "objcopy \
+ --add-section .osrel=%s --change-section-vma .osrel=0x20000 \
+ --add-section .cmdline=%s --change-section-vma .cmdline=0x30000 \
+ --add-section .linux=%s --change-section-vma .linux=0x2000000 \
+ --add-section .initrd=%s --change-section-vma .initrd=0x3000000 \
+ %s %s" % \
+ ("%s/usr/lib/os-release" % staging_dir_host,
+ cmdline.name,
+ "%s/%s" % (staging_kernel_dir, kernel),
+ initrd.name,
+ efi_stub,
+ "%s/EFI/Linux/linux.efi" % hdddir)
+ exec_cmd(objcopy_cmd)
+ else:
+ install_cmd = "install -m 0644 %s/%s %s/%s" % \
+ (staging_kernel_dir, kernel, hdddir, kernel)
+ exec_cmd(install_cmd)
if get_bitbake_var("IMAGE_EFI_BOOT_FILES"):
for src_path, dst_path in cls.install_task:
diff --git a/poky/scripts/oe-publish-sdk b/poky/scripts/oe-publish-sdk
index deb8ae180..b8a652e47 100755
--- a/poky/scripts/oe-publish-sdk
+++ b/poky/scripts/oe-publish-sdk
@@ -107,9 +107,9 @@ def publish(args):
# Setting up the git repo
if not is_remote:
- cmd = 'set -e; mkdir -p %s/layers; cd %s/layers; if [ ! -e .git ]; then git init .; cp .git/hooks/post-update.sample .git/hooks/post-commit; echo "*.pyc\n*.pyo\npyshtables.py" > .gitignore; fi; git add -A .; git config user.email "oe@oe.oe" && git config user.name "OE" && git commit -q -m "init repo" || true' % (destination, destination)
+ cmd = 'set -e; mkdir -p %s/layers; cd %s/layers; if [ ! -e .git ]; then git init .; cp .git/hooks/post-update.sample .git/hooks/post-commit; echo "*.pyc\n*.pyo\npyshtables.py" > .gitignore; fi; git config gc.auto 0; git add -A .; git config user.email "oe@oe.oe" && git config user.name "OE" && git commit -q -m "init repo" || true' % (destination, destination)
else:
- cmd = "ssh %s 'set -e; mkdir -p %s/layers; cd %s/layers; if [ ! -e .git ]; then git init .; cp .git/hooks/post-update.sample .git/hooks/post-commit; echo '*.pyc' > .gitignore; echo '*.pyo' >> .gitignore; echo 'pyshtables.py' >> .gitignore; fi; git add -A .; git config user.email 'oe@oe.oe' && git config user.name 'OE' && git commit -q -m \"init repo\" || true'" % (host, destdir, destdir)
+ cmd = "ssh %s 'set -e; mkdir -p %s/layers; cd %s/layers; if [ ! -e .git ]; then git init .; cp .git/hooks/post-update.sample .git/hooks/post-commit; echo '*.pyc' > .gitignore; echo '*.pyo' >> .gitignore; echo 'pyshtables.py' >> .gitignore; fi; git config gc.auto 0; git add -A .; git config user.email 'oe@oe.oe' && git config user.name 'OE' && git commit -q -m \"init repo\" || true'" % (host, destdir, destdir)
ret = subprocess.call(cmd, shell=True)
if ret == 0:
logger.info('SDK published successfully')
diff --git a/poky/scripts/pybootchartgui/pybootchartgui/draw.py b/poky/scripts/pybootchartgui/pybootchartgui/draw.py
index 29eb7505b..fc708b55c 100644
--- a/poky/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/poky/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -267,7 +267,10 @@ def draw_chart(ctx, color, fill, chart_bounds, data, proc_tree, data_range):
# avoid divide by zero
if max_y == 0:
max_y = 1.0
- xscale = float (chart_bounds[2]) / (max_x - x_shift)
+ if (max_x - x_shift):
+ xscale = float (chart_bounds[2]) / (max_x - x_shift)
+ else:
+ xscale = float (chart_bounds[2])
# If data_range is given, scale the chart so that the value range in
# data_range matches the chart bounds exactly.
# Otherwise, scale so that the actual data matches the chart bounds.
diff --git a/poky/scripts/wic b/poky/scripts/wic
index a741aed36..57197c204 100755
--- a/poky/scripts/wic
+++ b/poky/scripts/wic
@@ -346,6 +346,8 @@ def wic_init_parser_create(subparser):
default=False, help="output debug information")
subparser.add_argument("-i", "--imager", dest="imager",
default="direct", help="the wic imager plugin")
+ subparser.add_argument("--extra-space", type=int, dest="extra_space",
+ default=0, help="additional free disk space to add to the image")
return
diff --git a/setup b/setup
index 976e8615f..3b54c0c82 100755
--- a/setup
+++ b/setup
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
#
# Copyright (c) 2018, YADRO
# Author: Alexander Amelkin <a.amelkin@yadro.com>
@@ -49,10 +49,10 @@ machine() {
tmpl=${cfg%/machine/*.conf}
# Skip any machines that don't support meta-phosphor.
- if [ ! -e $tmpl/bblayers.conf.sample ]; then
+ if [ ! -e "$tmpl/bblayers.conf.sample" ]; then
continue
fi
- if ! grep -q "##OEROOT##/meta-phosphor" $tmpl/bblayers.conf.sample; then
+ if ! grep -q "##OEROOT##/meta-phosphor" "$tmpl/bblayers.conf.sample"; then
continue
fi
@@ -61,9 +61,9 @@ machine() {
if [ -n "$target" ]; then
if [ "${name}" = "${target}" ]; then
echo "Machine ${target} found in ${tmpl%/conf}"
- mkdir -p ${build_dir}
+ mkdir -p "${build_dir}"
TEMPLATECONF="${tmpl}" source \
- oe-init-build-env ${build_dir}
+ oe-init-build-env "${build_dir}"
if [ "$(cat conf/templateconf.cfg)" = "${tmpl}" ]; then
sed "s/^\(MACHINE\s*[?:]*\s*=\s*\).*$/\1\"${target}\"/" \
@@ -90,6 +90,6 @@ else
if [ -z "$2" ]; then
bld_dir="build/$1"
fi
- machine $1 $bld_dir
+ machine "$1" "$bld_dir"
fi